From f8144d149fc4b33b3e4aaec036b5491cb102e1d3 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Sun, 24 Nov 2024 01:28:34 +0800 Subject: [PATCH 001/107] =?UTF-8?q?=E8=A7=A3=E5=86=B3=20lib=20=E7=9A=84?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 1 + images/icon.svg | 43 +++++++++++++++++++++++++++++++++++- l10n/bundle.l10n.de.json | 3 ++- l10n/bundle.l10n.en.json | 3 ++- l10n/bundle.l10n.ja.json | 3 ++- l10n/bundle.l10n.zh-cn.json | 3 ++- l10n/bundle.l10n.zh-tw.json | 3 ++- resources/dide-viewer.zip | Bin 0 -> 2663198 bytes src/global/util.ts | 2 +- src/hdlFs/file.ts | 4 +++- src/manager/PL/xilinx.ts | 1 - src/manager/prj.ts | 6 +++-- src/monitor/event.ts | 26 ++++++++++++++-------- 13 files changed, 78 insertions(+), 20 deletions(-) create mode 100644 resources/dide-viewer.zip diff --git a/.vscode/settings.json b/.vscode/settings.json index 811da37..8a3043b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,5 +10,6 @@ "typescript.tsc.autoDetect": "off", "i18n-haru.root": "l10n", "i18n-haru.main": "zh-cn", + "i18n-haru.display": "zh-cn", "i18n-haru.line-hint-max-length": 20 } \ No newline at end of file diff --git a/images/icon.svg b/images/icon.svg index a203b5d..28ba1ed 100644 --- a/images/icon.svg +++ b/images/icon.svg @@ -1 +1,42 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 0e0f3c3..2f8ea39 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -60,5 +60,6 @@ "info.dide-doc.no-dep-info": "Keine Abhängigkeitsinformationen", "info.dide-doc.source.cannot-find": "Nicht gefunden", "info.command.instantiation.pick-title": "Select a Module", - "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!" + "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", + "info.monitor.ppy.impl-change-to-project": "Änderungen werden auf das {0}-Projekt angewendet" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 207a78a..834d8dc 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -60,5 +60,6 @@ "info.dide-doc.no-dep-info": "No dependency information", "info.dide-doc.source.cannot-find": "Cannot find", "info.command.instantiation.pick-title": "Select a Module", - "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!" + "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", + "info.monitor.ppy.impl-change-to-project": "Applying changes to the {0} project" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 6f2b335..f0e233f 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -60,5 +60,6 @@ "info.dide-doc.no-dep-info": "依存情報がありません", "info.dide-doc.source.cannot-find": "見つかりません", "info.command.instantiation.pick-title": "Select a Module", - "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!" + "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", + "info.monitor.ppy.impl-change-to-project": "{0} プロジェクトに変更を適用しています" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 8501c65..151b742 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -60,5 +60,6 @@ "info.dide-doc.no-dep-info": "没有依赖信息", "info.dide-doc.source.cannot-find": "无法找到", "info.command.instantiation.pick-title": "选择一个模块", - "warn.command.clean.prjPath-is-workspace": "arch.prjPath 和当前的工作区目录相同, clean 功能可能会删除整个项目,请检查你的 arch.prjPath !" + "warn.command.clean.prjPath-is-workspace": "arch.prjPath 和当前的工作区目录相同, clean 功能可能会删除整个项目,请检查你的 arch.prjPath !", + "info.monitor.ppy.impl-change-to-project": "正在将修改应用于 {0} 项目中" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 7e1dd85..735d963 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -60,5 +60,6 @@ "info.dide-doc.no-dep-info": "沒有依賴信息", "info.dide-doc.source.cannot-find": "無法找到", "info.command.instantiation.pick-title": "Select a Module", - "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!" + "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", + "info.monitor.ppy.impl-change-to-project": "正在將修改應用於 {0} 專案中" } \ No newline at end of file diff --git a/resources/dide-viewer.zip b/resources/dide-viewer.zip new file mode 100644 index 0000000000000000000000000000000000000000..fe9ee8da08c09551a68cd9555ec6c5aacf806bc7 GIT binary patch literal 2663198 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�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 z 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%0A=+6xO83BFHF>L{eKQa`$lMGIbrwkE+mj0y2 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%0A=+6xO83BFHF>L{e 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%0DgeY#uE+DS7JMOhlN*a0`Lk=Mo7p( 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%0DVe+<}pew?)^>12&&_p% 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

oEk$Ue8*QIHT2%Ut5YI)767n6AKy0b*fg- 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

x@34Yw{LIKLA|`N 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㰺O{F7g-TuYoY&>F-R&Ep<40J+tP!lL!7^6IWjvu}tc}Z9 zozrqokIh-Zoa9(VWS%)Zv&cD{%E@4ILKR+(#+zijzrX8p6#UiV*WDEwG zezHXdR{B^~E>LJED~sH@zM>39w;6Z}ScEqQ)*1{105FS-VX5j*z<(2FT(WEahP}^ zlp_yhPqS9?t$`|>YLb_itvX4oP#Le(t9wO9R8+-^GV?3c1HAemGe^}qw&h};3|Oyq z@!Yv{j5h|(5u~b$RiCbn%X0#RH>*B3gL!ZQ^K(@}ysTN0RSoq)rlvIy^&~SHh*{!N)dFcKwBgxj%kBXut-4pU)UsBKaS?LJE;=w=&o(Ls zPA72lrc;vNtfFTT`Lf6}dgZ9U8u3cyr;?-QB(i%>7*T{v52Qv?LzPUDq!kA7w+NsM z8Cv-nYT|R>#`%esO4WL`p`loJsXzGwz)Aq~Guf)Uki;eereO)cx8S>3or0ym;#{d? zUbhrjkW_3KI>iSC#;u0X0 zX|wP*##$ia{vC@vaV(-Zz#EdVOFnR=TrN`re`5UO6Zy)Xf@V_klq`vQIJ+WO#IaW> z2`1M_g?J=vk_g}9r!Lg)*^pGH7k@5<11f>^;Ku>IcKsrLHjd0kqD~;Ad&?pvLGApXBTTSBFEnI5Y zp7>gaKgB9;4u&XP_0bn!Ftu+38i7m>{z2IHpaT|Z+xYCjb3?#U%L=(Jdw07Yk)3+K zydxm4&)0ikktBzkpQFL%UMlLt70C>is;G0v$?D@2QUOW$%ASyIJgo6PE8oWQeO10a zTz*8?q>j_ebjvGmF93N<%KK2>Q{_E1G>MsHVMIy{6J=M<(N_*oJ*tNS`>#j%5a0N0qc{1jNFHC$WwH7N04m*XLj{r5s9NT!- zAz-H1Au~{b_Z$ffTbS7O`&6!QET@>yb&YjKO$F6X{$lN!O%dC@$^JYg=LSZ;4L#VA zQ=9EYppfCN=lb+{8pa^LL;%ZOC)!Z2u0}JjB{WltRKA2P4)UzsgfF*2L5u6%qNpeVRGrh989hz#B8rngrMyelNPJi zXXkLoUc$5xepH%c-!NB_trC~n6u>rGZIYaHxsmWIf|Sp``toZy?rR9?7N9E$bB-M5 zvc0l0O=bul)8dKkG&_QwCN=g8BW~&krW6l2mn9G}2yEIEMzy^XHv#gtS9~NX+bcn{ z;qb;n=u61@5{kZD!n~`n3jlk14 z10(XGZ6YC$O4Yr+gpRxAtibK#F|w^_hqn~gnIS^g**1X*MjH|J(NP~=A9&(Wo>T8a z=I0#`r{4APL7((zHC}F-vvG1dRYUB-S;fgF>KS_`@IRHD5w#a94T)E)QwVS+C5*)O zVlZjOu>FeRU{@54wW5$!HeH)S`8HLSPJ%q9b^PWqY8?kL0Q4NbV8(#(y8cG(4A1<6 z8`4NX4(ti19J#MkA}7t2lhzv8r%etF9*I!idKOjy#STEs8~|cSPn7t*6eGBT#T;0D zoHR#_IwLhm$Z8LPfrs*8-;7WSghH+;GdsZA!VISmq;WK-A1h4S68x29BqaQ|2Fg%D zLinamr8)rForQIP?2fkeRyqjO9cXABnNxTL8r4Ap4FWd8wxd1<;tQrmwn>p`4e?J8 zPr+e9nJ{c3G7J=qb*xRrym>%}BE`H#ig`?OIQco!oa^Sw<`Cx^r8(C~a-N4b9F zOX%ZIhI8Hdv{=)fPt2OG!HCw_h}QHGttr-YZHP791lDv-u%?((v8HQztSQSe%$lx_ zXHB6LXHD_p@mSMRH5o{nGlf3H`F)@xXzfm#)~;&U^TK~C>?uLEhalU*KkK!Ja}0mm$wCBF}CLdCHH0_`;Frrofmmludy!VK@S* zz$7E0=^#>S^c1uJFYA#$+gC7Az&^^i>D1e7>TMq005A6!J4?AWO%LTJD-P-8yiK#3 z>V3rN`E|{XsjHe-*AZ%|j;Upq)snk|dg&e1kz4#}o9zaBQE{s)#tnlQ7vSGz__qQ7 z;J+^X`~Us}{`l~(2md^wSL~++$RD@O3b5d6wZ>IryxwZ2HQ9ws7yG@o6Vppr77v}6+Mm^AUorU^KvD|<{3i=QZKli) z&-QaexdB&d80D79IN#&tWC(kE$Bvh=vjU?uUS)6gv5I0(yR_VkVrY*k5XDB`-3F8x z!6;%9Lp#hirS1|qtLMRYZ-fxr14la&aI;AKH0v` zS_Trm)@s+ofgJ--Y1YdoE&0||U`?uX8ZSrmdF~T5sg2*m=7DBRg_A+imkl~egS?4n z7`ngg^vFvI=!hhXP@0n%XA-YdJkCPHVG_ts%a&<;rbL0EhaJ1HCtByi|^m zd=Ljm!=7V&_JwINWsd+nv1tm-LKoOso9wg4`Yg#v3}hr;fFi=QxLAxW6p1N_?7Bb} zClxqy(8orNnl+K)Re(RiZuQtPeN3trd1;6+z9b3bOXW6&zF{ReM)4At-8Rtp^!uPE zWN%vnKm;=1Y_dWwg?*Xc4zS?mmPeh?w6cnhm&zM-Co*$7l`NlMifAKPtV~P<3#Ni+ zeqy?}H*EC}+!!r8?Y0;I9w_M2C(H*^R^VdzHt?-BRZM$>Gn)QFz~-B-_)RA1@&g~1 z5;PYeVb`~Vh+CPi1xo>IDl+lu^>JjDlK0swk}~)O21V}mutXPW zDOloV0;|p+l>V-rx4C=T4z5U3?hYNcCDR$$cF^i~(O-odZJ+ZfzL`eL@i(2wK#T27 zmu|^p>NBuPZ9vD+6>j`Md4Wipg|B(Rs^eV>f{lL97Utc&E<5CJ9EfaRym|dK*N^N# zS;8=;@eGIubQ}7yMOW9nnn8AZA?^0P*oA#X+o!zVx`TAl;SYdLK%8(q*NHH-O?&Y= zqpJK|pH+fP0IoVe4tISwz7_^+q0NDTY=-*HHt{|H;L{Xg?;@{*3*m6ptN`rqkEUxMvosWNpe2Gc#$h=7w zte4Tok=5c?$i;11M`q)nA)jUxJ$^`6WeMmE&v_~aMshXNPgW(f?;e#&d^XU}Nm-7M zY+K6%CDx$UfpTpa=+LJGqM_|aVqmx#{Ur)V_>yNp1hoSgJ*3<;G{J6#fa$?$$D^&d z9Blc|BAoz;TX+1mK+=me%TLoRe>k*DPVZbi3wW#%Gcq0!q%z_$%#|W=v&BQ(52#6| z&a81&Y69^1o{b+5lzIR0oMLwaC>QVuOn0RoXahX$#$qk_ z5pp9>CK@V_#LL*Et&i2@^R)GGn#{{3gppKMfqMqo(Pb=D(-np3I$&Dmp}vIM%o#3F zkaP_QnHPQKw*=o)HD*40!0W@-fvMn1m&-xh@t)XWNUjYyEr&@{N(ZkeCMy= zo%e@HFNfFMAxL|hFl!iiEn@+AGh^y^A!7$uxF&Z@Yt%BTp6EMA*c%UzA|&GMJ-v2m zN{M9BQ&~r>zjMg?JLA_sg7uH2OV~xf*N-(^nB*&;zIEf=_1o9ZE#E$O=^Xkk5P>OD zOaVg`YhJ@IZ?b9P==+ox}yKYwnS$(ZF; z_KERmna?47MQ_84XKtTeKJ^0d9K2Ufpqdfu$5xJ225sqSs)QJO7Lb(+_ObdMjqkTN z+;28tkJWEcVnn|I|3&l(0w+0)#ymc_g=4|ZORSmx4l;imkV!k#u3~8IdW3h@aYb+`S zzSi({)$3FCHjQsgV8(v4-d%>J(VH+u8^w;*IAYafNE%&iZ~obAUucKPJ&q**Q1Ci8MliJC2< zbVI8_d#4=5J08=*UJHXB3}(kPN~O(KyTq5P)N|Tx*IzTBl{n}@m7*s`Z`+WQ+_qaH z;72K)3tm@)SiO=SWaN$+>o~~3HF?u@alM1lvw#!TjcFB!m zrj|6YyX$VdO?@Myzv8OZXj}pAH`mPvIXk4ULHRfXa?5h$JFFO!D_Bd$F$v2S>TT0T z7X5O^^^lh|sl90M73UoI^Q@PABlysOWvx`24LUJFO^>vQt0}*?&nKrPTF0Lkf&*8SOIwZvld?(y&6%F$<@{zD)h$FzU{dxm zH+`bgvTIYl$xf+?_WAj^tu$S+rfOsha<(VUwNiJImikt)npyooKpEMRHZ^GO$CdCF z+R^0l2iqzOS+*njc->xSd7#7B6N?vWm#33Pr?F8@WeCzQJ7r}nI64;#G-Ih#26hHv zg*w9#lr?1_Sw+B2eNEVraESYI6Rt7D8Z{9 ziWD0+qN3{Q)EcP*IN+wGb)Xg=QjEllO(i9oS~LM#qjpD< zuT6H0>XuJgAkTKSgVtSOSOIhOJsQ=4FA%-uDN>KFa{+Z>VL^tthq^S}$Y&a~+WA~? zuCKm3Ajqw+I^lJum!)kicnNAx+8RBF*+zvek%--b#zrU+GNU69IQkJjB{nJeQmNxX z!8R}GvyYI%%vb!r2fK+;cI+nK8g{*&F)6sEQ#j; z##b`_sdSq~6GOQLEtB!L076rYdk;W^VUJ;U3A0&ox#wU#HXRTEuNPG3O~pxb(NKMW zRiUvy)spenyOpyb0-pEw4$H??Q@ex2Y~ZjGVqZwb`%2v8#yXOqwHMR&>0efqSIu}@3{+80Gw6r!!oekGL^HCGA(3j zKm{%UZe><6&{2SRsnf#IWC#a0R8VMfm1+kW9$GG5kAo1V3|AE=-ZWrlV-&TmMjY-a z4EoIVt5?d*-CbLIbnh1-CU}ap#@wPdwuHEIOBWr^xOu9!EvoyR(Umi9v!PpO1FMc{ zuHsM+0s7GD(9bK~^KL+$J)INg4hM z`8OFI%*hYwT6TQH+?+t><>v~Mqy&E-Fba!?r+H&xU$lYn_d#<2o84Y9a4djQcvlSB zf+4as$!!K1YF}PmeHFJ7Gq=+=CTdpuAbOe-gd}noCSfBivw{_jC+gWoz^c_4o?xZg zT*5y_(q_v@9O;Q+&4=*qsAV6NlJh%t8G+B_ipP zvjYrE{dwSa^=S#}w`Iy11*T`H?AZ$mHo~4ELYy*RZWk@{<*lMMrABZ$y>inhD!}U3 z&{FXnO|L@$cth~SD3m1MRr6@&QubJPalLjs@IjC+pPK*yK?PFDH#mP5yVTjPSLrlS zd$x{ymgxG@dbK<|=@VUNDv~4;iWL$9Y$veKED&at0qW&Bk{~_En#dR|w-h6=fRrDw zObThmBtZzF0yt$QYI|gtdI2Cq!R>j-SBB6UTZFiRwmFr(y$TU93Lpn08HBQ3#!?p)em%%I*RoT0ec zam1FOy}~ga4IgM20;P?t0dEfYwTX!rC{u-qcP?NhrxM7uuTcOdkRyl`IdOg|AnqdsQ;dBo8 zI97GaG~l%BJhd-Va)V-2_}c88MNXk{k8j=px!@|Mo~X{Bw8&YWdKFS%#MG1XwRwwN zoq#Kg|5Ai?vi;J`W5W^qqv(s~Y zU0o=Nc!0lTHFR4WsLB{1L3f&Eo*Gtph?+Q9v$kU0WIcBNKvy^?b zNv|*j#^V*7pwkUn&ve60f){|a9YI6f1t??Akm;@BIvnKxJk)Ll>4vGri31)hmwT-d zA6-CRac~n@EqVC_H0}W$+@fX((1l^YTr|LCQD{mfi*Jwu9VEg2SNf#g%ycoZ%7Ai1 zm!i{%lKp~}c9ZE9+Rd`t-Ub0gX&naSxgjV~!XIZy07`rq>S@GNHLJvaD@cxBqbkOa zot`JPk}A5QWpO7UD=*{_+pwitqlK74lJy9qN#I0h%-?`zNI)~?Q_{DQuy>^!ggLcP zE-p?H<9~hs%LaPmf>2-pjWI2=LNrX?nhY(g*{DvmCMMc^W33n=vh768grK4!df;*y zq}M71?Ka387HOgL4J}11Qqtm#RtuM#q}a0N^bE3Htplfrf3|Bl#kG0`>rh3|qarE7 z_QrM>c61L$WIzHMZvjO%$WC1wLkQa)%0ez*FI)mq0c4^iYN3vQTsab zd_aSVQ827#Zbd<_1?Us1iUB_*WloAB@HfBxs0(HK%_h=+fx6T#S7VmTq78^a87;>s zeW=wC_41Q-hV+*B347gu@5NUE9{GWLGQ#OOVag8(PAnqY+XIqZ3Ktiv_0TF!!&Hi- zYSF}0t6n8W+lieLaKmdb?V>dhNXzB2w^*wztz=e;H>{f4u6t883@S7?Afj-y30Ry< zW+L)ZTe(rYoYp);?dK$|c}d@vA{H=N0jh%(G){Jq1KdfL(sT3>lc>oF5+b%m+ZUT9 zupPVu1h#Y}+GqaeAxO?N&Y>7w=Sp@HY=C%Gkqtm-AcI4d)M@Y3Bhm*N#?19?cW1}w#~~r6BCYJ)=SDdNm*8+M>@Prgt05MGEPz^ z%9L3rYl4^2^v*%znIDM-z*?={l@94O?UztG=%Cx=${JZ`?+#hRARlsg44%=vjz6^# zXVOwkHf?v3MT(|~L}L6C;h!Gh>uAxgE}82~tqfA?xSm%x`k`k&^%*w%6Kw9EvJ3%# z+CBoYR)GB`0HyW;IL@7VX%lcy{qXw#@e?&b`T&&me$fWp186uP{l(czMV+;QIKYnI zM^CwvOt~{Ot@`ddx|P?fmCAsG_*TW&nb`pe@NIe;-sa$K2jB3vp!zK2Tw^(Fm~|dL zw%F^*iuk&UueB;>p2t{f?DYiuIxEDqFt&qOdj7>DnFUEAbsuS^P?c(qD6JrI)5?(+ z@}qs*p9I7U(-oH7Qmdg{IGEZo8fFrO$L%CrfnKo1VjP#z53$6g<}_7_Spdn%4uSLI z=5inig&>HNmi@|l!mRoW(${cpu;Ui|r+(dCfX}UNUVEzjC=yDIDMJ4+>u4 zM4>cO*o2?gp<%18WjVeZlz^tljHPr=u}B@x>EQilG2o$!MnShRh6wNSbh2U`-apgn zbPU3c+Bo!o#;1XQ!3(xZMo~;w(Xdc2n_-ZunYv*3%1ySP9^~;|2fOcL_h+Ev>o^GL zJ?k>=Y}hX_LBl25Y``;^eZ7z^GMpXerwh3&tQmN~pBY}mOuFzu>e8Lq_9UQ3F%vYU z0{2+rU&QWAOV0UXTk^Ql<+`do_)Jsh` z54L<@qKqYgn7k}_TwZd!J=(^TQ_Q(-G?RFrQz!N+c+Fl}T`%Ft&g9i5ZGC~xiT&@! zb|j~z6$5OwX(vK<5BH-JUcd<6Aap=AOc#&%(m-xBf~^jT!r9Z9u6!1FSxhW3(<)$Q zVY@ka=Nu`p-6sAPDgwkZ6`VY31?6e1pgFdOoMe8?e$IZvZnE;_*(3DwA0NA$v!AS& zv-zC_wpW+%!r02<;h166rh+VvN5o)sJR;D~JkZS2G!CpoFF5@uavlG)*AE$jZJ(u^ zEGN^{_ruB98E4PhnR9d9MfESI}OR>Cp%f{yG(ERXmPGtdR5w1nJNkF!ZF>Uw5- z%0o->vnY}?K6>3Y!&2Xx@)|NUT{`MlFCF!(wbEtW4n;j~ z@V2?&FKyO+jG7adSh-;FM1t^Ap`?m2Y!5t@=>ZGf7ol<+Lh+7%?SrIcetE)KKMnUs9A={{Em>3_K-}2E_@!JZlVsZ_auw$_!noex@;)DXN z4_yq>;b>MZ4xZA43spMT2=#shTsv*?TLapG56I4!Mx-os(9<_AUy_2B2<#(ml-3xh z%tJMk84Tpi{$H)6|C>$zt5x`a%@zGT%>p?r^-eb9Cm!1=}!Un+O*A1sb@{Ck*=)^qZK|b zFIcNq0FPN@!(NNc&8e<6*(Ey~;_XdsSd$xMl_w!16Pg{CrdDvv-f3(t*sG1LqP>xc zXv{maHRVit#mH*t>ebx=$!epw+9kA+DdEI1wKPSIG)0Ycz!;*mCOVTHGuBPF2vngq zAXm&S*d0eJ6qL+XDOIegK)gL5-NQ8uJn$PMPi#|)pyHeC5+CAoi|GVx*^cpqjJE-7 zkQ8Qi;wNnWmf6D!fQTOCcg)!`;|7g~bFJ62VP8_G})tv}pS%SxNs z^%MU+$dGGa*Jkl=RB#6$4SO`pb!C*MnWy<=LwhMg%f~8wCRby7M?*eau^u-pnaRZ7 zPDT;b<}xv!aWu0UoXw>F{$jKg)!7a13(k^*Pe2MhWfaIw^;3^_dEMJyC(L)wv3Mo~~5}d(3PU%>#Y!&Qs`_P6ykMS z=s8g=>sP$!a;8>gdfS{7Y7x1f$(ktBj3R~u9FUN0?h&na`cRra*>+33-F{Ct8u3Q^ zJ=xBxHh*FdlrFL+hwO>j+_i%(KT{bdjj66UraHdO&cJ%`x-eQ`{dUa4e-fUw%;pTz z*yM@Cn>|eF_r&X2>=YzmPk4MT$Z$R8kL=^~fNcYq1?VMq?pPI?PHt?C^{WDslUH_W znJ*om#b$3)FLqvpjm;izp)EnkqYk&?(0i8dBoqsEpN8m;QFj*Q8}`Vk8_*%6fzc(( z9Usv8#DqV}PzkT~3F#&v-Lu^K&`cySap6N=!*WJd+iE_aSnCyzr-V=)1ul;-aM@|4 zvZpX!BVG@Kt-?8GIBeX1@6ChnynFEV&pr6z7Z1Mu=KXs=e(=Y;5AOc-uOEEQ;GE}; z*ghXOa)#xbwd!0=b2K`ov(=KBkzY*^(RgZgpXCN?qCw!ktoU-32ITxmM{KEJP|3s>3#D z9Elt-&W&^imLfii?qxE_RGukzqD&1eg@0s#mHsNAO=OTxW~nSPk!R^S=m{HVGbPD9 zTSy%*or9$$9~m#6%D~*6qu2TlFtak>TDFcgH%c0b`n{gFQ#q^}o~?RVwxjeY4&5VU zas2iXas}ZLG7U{ZZm!A^@*Fz;ts``sxg;Kz=kS5?TWr(0M4F2KC^Tuw{i7)onMA+j z`%nqjOsCG&mwS7r&rC@#1zXaTlu&l@ua<&J5!Y{deGpAdSr4^i<-f2ZEwZV_RDf7N zswKHQzOO>LW6j+2mV^@%HCtV9BJ}xO0SpKv3Fq!7(Zl0KyV59?V*P%Q7?t%`MR>qh z7SMpOz?4Ten=$mqDIDJo2gc&U6n>5EUPFt+P)*W)IF^?-2HR*w^N9CVe|Za$6EVR~d3TDpXHJjYAMwo#Ak zQu9ui{3S?R0@}#ZMWoi`>csTf7b@F*el`?nijU;_*u6dWBj%AcR@D<;#8U!)rP9Qk zrr2+-Y1L1&RK)pCwBxr5$z^my=alROA+cKL77mFni`^}uKqY&y$=%)?naIQ$O_&zN zbcLT(H5=!0Ixdnn}dp5R( z%fGoIC?nzYk0g|iNXkk$VQX6Cre2QIuEaT-Xyl1-8blImBVDN_*&vEC5JO}@{7xha zCjv_oiHHfuwS=Qn!Z9Y1e%f0st3YE-jZeA2ph}GYS#h|{(N?moPwSa(j>vQ+hXK^| z;kDV>Nro&kX|Xc(O43wV+gC6YpNV*c9N+cukAr`Lf%Qt#@bNeuy`OVt%1ZYyxXs$dCq4#otfDRE+IUfXvwGcJbyY_q4Xqss#IFEjcY7#5`m}Ie0BE3 zEP@fv7&cs(J4p%^_^&*7!r~uzI@%PXc?mJrqfK+R$_z(H;p7RCxsv9L$oOx1cBIeO*u!tr?%E-}JonWs|A)Vr49IIVPbw{dRyO*8U zB;-$36@UMDb)lH2Dmv&3n4&8cO<Y!oU9?ir_=Hz~Kxb3uf;fH1SScdXjTINly=o9XMe znZj*6+gTnI5KkCJWEi?}%}*>Xd66L-%fWz6l5eAqpdoMSQ8Uf7vS^X!YY|;l_=MN` zG~D5V;ezm#=b1)Xi_W|iV(^vFknw^|XoV`{7+(wb%N+?4(=`_4f{SHtXU9}l7qJSJ zl!?XxTP+ngBTB{1z{n8E1$}Jsa?mU+BLF52IN7)7sktjduGG)r<#?$eF@(oj(Z29l zF(ef-qrS2cll7Q{KB5Gg3P}^o3+`GfA`OW-G6qb^_9_pX9@?ffA(93!hWG-A7Rpdh z4^{zq^Bj^QjIcv7GK{gcPASONHyAD#twQzW3|bkf6&)@Ibe^C3Ka*EdySI?d>r2uQ ze945z6wZ-!(yHU91hK31fp5;tRi=Tan)9=BbNG8=zE)M&4EVMIQwO+(nbJ?a>TEhd zklkKvG%`w|7K0~rYuSa#+;Dr>0fAo)U04k*U~oU8r@demwkvb0JVq0(qEVlkGAy+7 zRY~INK~F?xF9)nTMJA~Vl;>>9Q)^WElvM-p&?1!FJuonxmJ$NUD zr;hJ>YpjvZ1RYun~9Cz^>yEaIwslSJHhjpz48P zz0xH7U=G?rjx}NjQ++^d=1gt6ri{t(QaNtS$0JUP`*?ehe*3oYz2oeL>_ItLq3NK>GW1`>_@M0Z z%sI>CQN&mn%oUb+X+tKqePR@f1)~V*eZRbU+cIU8A5yiLIS%RgEK<#k+FRA&tcpp6>=t3uv3%s(q{g<)P|nm8#=Vge7u1psom@&ZeJVpw-rqw*eEZ9b@VSSRD$PR7|z zrn?b0j?n3JClgMTv-Bf7m5_jRn|MIGn@-{YlVxGXRGzIs*>WGcPL(6AQ+mkaQrl15 z=_7QmaTv-Ss&xOAu2!nuasfwt4^>HinU?Twg=>VG> ztflMPdhEJ@o64(+p}uX6YH+r?)J4~|F*GBUO;U_q;A{tod!2H0(qflcYq#oxNTuG6 zRkTBjNJFDzmYcglaHvV77U2+)l~ZWC$_$+PcpjrX^bGXHpbQX`IB(_DbzH!BYaE_B zkKFXj2_k1+mu~0C?uOEj59FX>zrt8|AzU)WDD6}-NTNLTSQU6tnWds9bEBc0PZbP! z!kmtk-LA{Y{aOt`iF&0t2=K~ayqq=t0Uct4(rQ1B0}OKB&-==B4vBa5NTR>t3zENj z-ZJ}S7vPC<;k+(7O^m?5$>f82^3kX}Ad7*VgFm>>3yOp?OWjxvU{1SunB#1fL|q0$M5DU0;{y*wZr7^=a)PWFvP{#G$zsM+ zL#uvDLrdeUPdKvGk2A8`r!_JSdw#-kZ5=wU)OQW$fprz2&2nS7M!s<`Y5eZ?D1KMb zJ<0Db`}QTt?_Siz369uNliiBV`b7=~@u(lvh#v4Yi3t{ws2Oi|BmDX>=M_J42>kZN*7yO{P9gw=t42NM%QD zy-iy=jZc$N1#!M$eJ$1Y%*d>LUuAx*E_LvjI;T^!BU@T`ypGnTxse$~)hg%w$eit< zzlwK`W7h{(asi_XcE6%qF}VK~3<4{4UI6&xF$jW><(HKW{x! zQKvVWu&7RB5K-0buzdbm&S!I+c+oN=V$vKH$P1g6>5$zGx+4SHiESgp+dYA%X<2Od z(OvLl7x-kPy1;|P%Wpz{K=Q=C%0TW01|_#hwRXZ1M68D4J*I0a<4}gjpmNV^RPOpH zDo1H&wz@jkQdI7?Z$IxRnBt2$WRq9*!zr5{!PS(zFDI_ekqEvAEOcC= z=;*8B>-lBfBemf!+O3HR)3sat9tHjW1YaErs3+Tn-f`_X9z?@(saKp&*u<(67GV~I zx*|H!X`l1c7?kV25v85MJx5cWL_b#D^6Q0hg}WkDfbi=prK?KSbJ@?{s<;p{o5mO< zZwwv)kLdfVIUVRN1M-y03KDDm7#)N(bvd4|pIx%33_hCBB0iVD;*dg`(H_XW# z7S5-Bvz2eBfJhkJUgcU(6)&8w1kFZZhlq-7+h2kS2})Ih^Dj*$tvV*AlVprHRvwR_ z&R~ReGv+g1j8ij?!9(KIRZ%zoyH4T@N0~%4Ll)B*YK2SHB{Q^PuEJtw0)cN7Fo_qj zjmkpNG!!p`ID^xD*jx^sCZ5vgG~MfvnmW*5&726*JcHQ)B=b-kn>gnU7KF7qth*Lf zm!*Ww1xVNhXi5xb!%~oAFdGyxc51^%gV}fqnyJI^2P)7o&vrHu0OY|C@V_r6scjd9 zA7J4FJgDPh!L{^ZLllH1Re0=aLn`M{!~tMUw4+?~uaT2QUQ${>O4VbJDvd`wN%a+@ zGf;;Tn*JjirT@q%Mt~myAPI+=nNcbcK6gi8a?a{ZPV`uEsyfb#gAzAs{)BRB<{(CC z6=T{hq*aToIiFo$3>=i_wl=cb8P(%+zJIX}4iwJv8JkUs?ieTL$g}l$XA1MYz4@%FK(a>S0!B&EK?ICp9O;R7dyyf7+Z*Wc z0kg>2rb8z2#f*xBE0KDk+jYVnoyN@ZUe2*z2IG|z_)5_pL)lNHdW-AhhF!xF<`hx` zjgN;eJwI=hiiW)E4}n6(8R@MLD+JgqXS4yYYubQoBeelF$8kE9L>qA0w_o?kv%Y@& z)Kk04huRQV)S@pHQ@}wI*Tk_Tc0*<<`NG}{JOg}J&>^pwtQ(g^61vi;XgH;a2lpw3 zI0=v|36xV1aeoSz=qA&vj4D;aXf|j##GJB?8|yTr1qc5X;s7fOI)&N78uXB`Ks|UW zPeb;|6Bky)sm08fuCwO59buMM*jlH40bMo<#X=W|H7zj9yTa>1&}ANTTHnx`Ja0G{ zI45r`N&b-o;k_@g$gillVsV*pXyw9<;Q^_9+Q>X7ToYNMnDz=>VBqFB@RfGrg5$Rf zEJjZu@?2!)3Mi?fj+zB*;^-cbMpR|4YA*214OIGvE!3~t-zK;cJc*1 z2;j52YZkJg2XjHYem2RBTNmR`@ZG`Qk|uD6YFmfBs;?p(YKglta|@8Vah9hR_^q}D zzC{aoyKPd^58`#+_46)__=r;9x*aI#fUY%UHfe{+C%%W2+kW@93X#ZRg z8E6|JNHBTh%5iN6l;*$Va`Lsn8*camVb(b^HnkuT1@?~p#*ccQvX4g(AR4<^2PU&S zBz!<7qUoWm=&qe)?FO(>V&JVu6v{+dPYU9PLh?Z`BZIdmnPmzv1}vB~(xznPuF5n+ znvG~5`56tm|H^BM`E@|yP4C?D^$n zl#aY+8M;e-xLd+;N_Py zrb~?YKq?HgSQwkL-zy=qV|fp2y5-1)z$^H5T$wH@>P+>x%x%!0Sih6r@$6IMvojyI zBUSt)rY?5^SQq}^oPZ4Ar1^++$!&Hrb2KPNPU~+rB+;>CDD1re%s6c9?SixIBE#zi zPMae+`9!#kwH=oLarA|8yExme8~nAvUo%sTrHY+#G zWyFZNdPR~S&&gGCJay)*3OI;bk%JOy5m7^wt%4^rXFEe$wiMV~enynvl8o#vKcl3^ zBBvyBd0E@Emt=$&#KwMWC!3qiDJ(BgK15UeA%CWM*6bvX$x6FD#sOXlc&>=?vf>ED z+bKAkj_V<<$S>Z<8B>tJ-VzuXYbuAVAb%ob4bOnpVh;uL5=*y+^K0f@T5d?y^K#x& zuJ;wb(3y|?+#7@eDXNaMLaH05@rR7H7J^aI7Eo4iOg?UB1I#Y_B_oW8IM+(s!x@z6 z5D;tmNOG-yfG35Yf?1sd4$d0RlQ)mgtJtm2uS^m)0_Jb0?;)SD-W&WJMvC5)a)NQZB z0~C=B!7y0L;RW#q$#g-MGNK@V;Z!eq1}+|FsVpXF2wnEXI%aYSsfv+PMIJ-y!TJEK z3M!i}!%?*=!V!12h>$+YiJVzxwJ3VY-W0ja$quXw>XLZB87G4*y&OhP0c0Ljc6=F^ zIobiqrK_^@*P#MZUnYsYg4bI?|K+D(v^+!uz>>_#xA&UoM(a5u49pU+DO_|$k7O!X z1*YJvt0!V)=pxfF_Hepy;15y$aGNxY`0kScFH^AI-cBgQc2w4=cj@j`h=NYMg`{zn zB3l(<=NFs;Iw&HmwjRg5s6I6X6m7k~inMM@khjvgv!@^ffN8i!W6XPd6=q-q9u{Sm zi)YU*OgW2%UKpTfVIihYw_JFEdQcC2td^#W;7`9$pL6u258wUm!?*8@*ODH*{jdAq{MLgH{^!AWK74fN zr~B{!`sn)6`|sV^|I+Ude*D$h`|thh!PkF&|K6K_{ow2T;o+aZ_UPY!0Iy7v77EWt zAN=g#XJ0wE`@@I#-r-FieE-i6e)z@xJ8wSt##eZeF)C2rS17*!wYT&7I#M}!^p5WT z<=6Xf{qf-Lx1foGKmKC>-Y=kskG}t>hxh)3AuN9Tt4H7c2uke#@;4(jm=E6nkKtY( zuE0EcAMd~Swfpb=(-HePq=n>QGgb?^|MmCx-}o|=-~ZiP`(OU&AtfZQ0zvhIw}!Ql z{OiN7e_{Vee>zMHx&PL`?*IO~4}SUngE#)1fPPl{c<_gx!@L}P^~3!)es}-w-TU{x zn{0}dCQ>D*m5`ZDmFORNegI6BV_5(A=*|xxeCO>^>c{q_2d4V-{lSS?4y;B`@j6*$c#e@N0_QdKe&5v z=W{uk6HVj6kN@?-Pk*K7%F{IR$TN9r#)J3%aPZS_XVi?3e(}ZO^vrHmdG>$z<@@(O z+W+wT{FQI`gCG5A|D%6{{d)i2mk)mM?)?vbxc}zQ0E!;{;wJzw`(OUj{%?Q4(aoZcfUAR zPX@K^f9Y5IfB6Ft6`*rD*)w{w`yah?@SXoucrag2w*SV@9{uw#6$Ls}O~&&B8irmx zy7N^STz=WKevIb*CGEwO}_c(DHts%Sr;ZGj^$M^QX z^v4H(ynBdpZ2ztA9sK!?{OQdo$M{T)%PN&)`}e-R|J64+JFx%OyMV)xc^p$Ptri1n zvHz`mFnOxTA)2v+@BVK8x8FZhF$Prh;Gcf_*AL!!^n*Vi{Nmlee(=>pbYrT(!PkE9 z;Qf!%1=0#KwbUb2WcznMI9x%t|I_y${QS zn4mF=GFYVt|Nd(Z)1!4|2jBnMs9Zu>w*ThW9{k}$08W@OrZP)USVn0E{D{iUG-tWF zmF{f+t*@)>On;Wno~J?MDE8r3{)m+Jmwy_oKT~-h+y!3Y!z1a?0LJ$}yaO~3WCGv- z_TT!!{@1?;kdAEOA3i#gE=^YPwIf%N)u-*h@gu;cfKj0o@}NKa%8@i`2k(7Jp|ztH zOLP>-3H|(?{da!&@YkQyYf^pK|K|7q`oT{hL#f75hQM%t`NRH?-#+-Qz%`tnR8_dNf6o_%e*uqw)2A z@T2$k-~G@1pL`QafINAKB8?;Y;WCG6(s-8?MLk@V#n__@m;qxvrO>(Bb+_4WEqe=y+Yi%Md+$1PvJTLRnfZK~0Za&*B@@H2#0|_5UU|ixJ+Jy^gs$N&EtsKe3GXd;(Uv}N zD-5+|@yX@D(EOkj?c zN)vr4skrT!r&t5#51;kNi<7HI%jGgfKdZzK@C?S-GJW9==MTBV`NBo~RcRbO61K90 zNArn$?*E4MM(5s0ULP%1e4+J87d#|h?rIl{1E^gs_Tu9%w(I|`7MpPj+G0P0i@oVf zCp_hrh)bMc1b_iZ&=HCB?*ptvOVwg*eU@Fpi(BUy zM*5CF{eC?+)UTID_KPo=A1F6f9%zQourVM(_6xfQdq6@+$6yDQ0nlUqSmi#gPLTMt zrYall(3)=Z2;Qt!bp4Mq!8J`0aX?H*(dca(7y&dL1qJ6nS&f#-0WL*wIWUPR)>**i zF=9rA4d*@JAyf!+KjGKFi0}{NgJ=)5j`g9d$y?iGz0BD`c7+UeKW{URq6Pf4)i*^% z0T#6yLz!EN!}Un44|tq8uj4G}*Kkctv@n_r0C|3&5xHhIdF7BzUdi9&J+YT;JNJrm ze!qjq0EyZPEOLGHGWeJVD4q*l>G_^rcGMpdcZw3hW*MBTL^ zTN;xO1muw@Y3<`R%|(tQw9QO{v#qCs+6q{6#)ipjjR}*Nbr^U3UjHaTar|H?V6GNL zcQ{gx^36K#TO)kneD1mJ>z>>0NmgR%xbldrV>5um;vEoWc8%2_L^UIhsgJ^6wOpfJ zV{n9EY|c@`?LDT$SxWbqc5WlXjaNUF#+hC;>sXiXnR3v&a^SmE7 zLd%Q<;15QIQ&c^@G?nM;kk_B69_NP449!j;L4P%{%-lsf^3uKP^F<=F)f)6{B`7-= zNXj=AfWN7nN=LSrDuQ#BgO```17P!N!r(B-N>qQW%T|3{bzW|DY!MUM1?+3lC`_dy zY#%lV)^vKhs>9PY5~6i4VGi7_^&p5eN9uNcXfAVU;ND)gU49w!VFMU6)kYZ(oSSrS z9U)b^-TK@m-p{(k(;(%(O%APfEnVvjuQlTo9;a(h{pYS7*hkzM*47wjUKXzXty3jpCgE~03uh$*WOh%>}MJWm-4D zMOq8QEsjhKSlSHAIVEk#wWjVKvg$lK6SAJ83e@T&KFkW{a6|7bf(GgbxmYn>sgUh@ zh3w$vLc9vpEX(lv8vC1*Bu7fz2(Q54@<$RL|JX4W0$eLFF_BGSgA^mo+#F+(onS~D zL*BH$5tO%?C`RI-hi^MMg4t>y1Djn8KqgB#P~9)XPmHo&ckWN`)IBJClLXDAjc{KGaXCrJt}MmdeqHoMcs>xcPurEMW2V= zTC`&=6q>w;oktmEs0w{TQWuU%Gq#v^4edsiRWJ+4kD1GI4|7V}?`C*-n<0fG2y0Ca;g!$rn>Q`C|S~ zex3maEvqZj%JPCV`&eFTvXZw`AT@n7h=L`7PLF}DM&}>MJU6;0z*m?KY70q^w?G6{EhqDt1EL$wm?!nXN|rn168I{Z;901?RpF=>}&lw zr%hzciac_aC==dT7l+J5fpF za&}=^>I$n(KXXZ*m5>GvNuI|#ALkB}RuaWHpK9^o#ad_LRA*p7T0eMgHv)TQSKL^S*T2?YX(>+}c)G>4{Emna+vT)@t6D z*6azVliP#&=~k9JjQM>YfFsA-*6+uVptN@4G2KKj$+w(#qIdO!~kH$$wUE^L8Ea~ zR98)1x_B)}7{^yuoz@0!FTc%AKI(#R5_%ekq);$Bngl)tA#;h@uFPDu%_e7^J_u_ zye3qxCa~KynM(b>P(QgZl*A*yyoh@WC9@RI5ri-knv9Vi{j>j_Mn8IJBj)7@8GVWHiasi9&{}!?MBixQ>kL zXRc`a8PZE!gG}yj=YUqn=*hc6WXhx(>fH0lTub5p6*uBazp`&h+ z6YjD6`>1;z;&epyLF%YSlQB@JFe)fsNWB5Ks!%e9Ix&ilrUc6@YewJiX!`!Vx^k`n zhPU{nVu#B zR=bYtmpV?H9u|QzPZ|Gozz43YrXx}Y{=HA%HbE}#w%lILbD zb{dgr@{R}g6|Tv9HL#Bd;PU1G&?;}?71f;Vkd0PGeXmnz2_vkITCyok*nxxVg)|b4L5^gi{g&sOS*5p{xAIaKb9vJeipbTx9yTZ;9CdWLYg|tQF z?SLVV1p$-b`gPzHanjCs0kRSm((ZGwx_X7(QG6IX6Km{Dtg$ok6TdwDaOx^ZQaF;R zhNFn8Kua{tzw>Z*m7biRJ2~pk!#Gr=M;ioz8{FGw=sH6uOsFH>b|VQv331Fd(P?B!re0QC#>YneTIBje1dl9lG0^0Y zNNRL^J2nqs8`+yuIAcCR#+h!`x-pUt?EwwLmIh{t?Jmdfqbx!_S;nC-f)| zSrSLqR|8Ag+$@c|>qgpgDO#sjK}>OP(YRh?1+fH6u4`jT+@Y@HyjVIlbJ^9qD?yk( z1Nyu=0~&n-9kIHqoW%HHayL$WOjkpgAulB6W7s9MM)|2p$neO*og_gBq?c)hm1Kq) z1JZe7t*nn}W$k0OlEt57b4(-MkJ*UkZK}1jF{Y)RkJ(bnQB`Yebxd1ZdRyzE0CH7y zTac5A+_$SvmUEIz+}(IUF6NiHKCaC3`DJd8D|05l%(-!8 zUO;-xnCYi)T)t#9*_OK;4qeQc+GYU%K`*NB4hZeKafHqpf(DXZOaTIz5JP_~G0dxe zz_JM?qw$&Z=PU3(z!0CQo;rJCdIq1Sr_aqzPvg`1^D}4X&)`$1Gc(Kcbvh?n@~J(~ zpH5aNJ;|Obl@@JRS$&Yw>EKgqzB+qi7N1U3svVv--*RTB0S~3F6jqcr;TeqL)i`xI zkE^q_APCDd5-La~w|ezfw8zSg&!A@Bfy>vUTOG6+am#9mu4Y^lu6m*Q$@dM@Csn3B?SKv(%A}!h|JNLck7SSJKgL4lXbMlJDRx=<#pN7wc(C# z9<8IPCj3w}kTU>fQAS}bD!D0w1V3s+fGbqhEPM4vqK&x<+Z zzy4U`X8}VF9sfAv%V^|C#@TQlbuzGj94QWu{`s8I-+rvo^B^c=hJS<}qEag#ZJ){M z-?_)?A4Xou@7=EATkG!V1yF|IFNFLC8os-qn}&J}0#bid6H(8H_T`ZAz&Aqsyc9c6 zjZlEiPoFs1>U35|D8R0U+C7KqfMlFAKO1K6M;B7Yi=#eV%l#lFo7eNd@)aJC)A^s3 zD?KxsPE>WzhW4oudb5|8XF5L>7#2;%*gvS}0)dch3ro>nN+p;6l zl){Wjts+Gu=#7$addW(5M%)2^d!s;F~zhZ2A^6(dK|NbhJ$j9%GId zGwLaRH6?bHf_et0RT8oWApuyiJ%sJSp9k0WXI-g?<)kKf^IYJEHf6 ztDKtBeh^v0b#{0_FAgVN3&;2iWl*As{3$SbLIL|pkARh&R;;8@XE&RNYkY;jJXg9W zWH{X^*5TKWuui*aBre0#$yRV9ECMU5kD;ZFVLIc)6RUAFb6J?v(4}X?giG&?x{0u@ z2FhVsyJ`^m_m6+i;7y$&$+R+bhn#GH4F&)wai4iw({EoGrQcROgVb+d3GJsPqj5Z; zqrx&bt=)b#)ZA-&rI4<<>_+8V*>dd6hWmRC$ZNy3;{J<-0XXD%E`2KZ%yNVtp^+G;(J1kYl?cx}IbDw3L&UJ!=Cv zv{G*Q!iI6Q6T%_2N~(wb$KL1U<~GBJ)M2C3c$Q%}!hp~hf*m4iyn*hbl6wjE$Mi%# zK8&qi9ZtFxrrlFR+NtZRg^NJA(zedPb7?-T(IMA&rY@b1lIuI!iN3t7%+Q=v_4}Gl z-AT1|Bq!B8B>7sXo8%0iRi=${)X;AndQd5L7eA@Y9!sivt_5h1!wu7vK@Mj@h7T(|SPjj(%E-q}pZlg-OSV?k*Xr0N6la{cJMDl}?QaJ~U{dc^_H!&GnXC--%>A9@%fmB&_YCR}l zK4oQRN!Ya+I#m{J$ZsR4bDtyezChxcLP(`q6Ln*=)h>xx@q9^D#Q1u3wt}^nxYLy; zf8IotON_PkAc{+@$A*&T+M%;n(!T(Q|NmEarO9n0OZqA{o<;#Y7im(PZL0AU-uI;~ z?`nn(k`M_C1ZV)1L`(cVH<(+@|2fdaoMSR;$5J3E$>W}gZi^@Yg<7(*GP5$j#G

    P=#$s{%+;5qnxnO#!h0SmEJb~+TO`?PGVL)krF|@r zrzRd@D=2yg(^2RzRW(QR&_n}M(r-1*U8$g6H*&ac(S<1pm5P^!1{F_kibBQfhi(v( zX=p}2Sk7}0Ib?(39vIyQS?Z0>w>6mdCT3&C+}}P+0X(0aelsxR2{6eZ8uIrzD}KWY zC(XZk+x;aFqLQNOgdGQqn zzg3*ikH<(OPsijei#ry>4l;!Els!18_}H=HDO%ZA^5=M$l=*_3iCLVp)X?X&A+d`G zBsqT%=kL?WB&_M={*s-1THQ(g5PcB3Q)WV#gzi9?5Dr6E-$>XwROB5)7e@J8(wq#c zhaaM|v*A7uESr;K-CkVUvvBn%amcFE4!94NeusJ<^Ry@p6vD8;LT?_lR*%D4bNNxI z8`qUUG7A}a1qq2qB+x;iSxVm}zK`s$fb+P|(|6?o9`E+zrEIE)VX5Pzu!_wENS>3I zG*?{O37gc|(o{tnwWz`Z(+Qh=Am89P3hw@ths0I!AcJ33`y!Q14V7&ytgLLT8^RbJ zhcMS<`JJusjntldaf+K#(YQ3CmF`TzukJGZ-kb?o~8H9M)Rak|y8k zRb|0WiGT0o^W6e89njWMm^b+HkhET&BV@2p=teasC;2-(5u#f3r3+;ec zA!^1YCRS}c!3{bPh7%ge$vTmfjCjAgW#OmFOHm)&sj#}Ux&NRD2MM`>l+1y@HNyQ0 zPw@c~qqYr$2IF!+l(6Fub9)W>80Mop$jh)0D_O`jIwy~oJ$fxhNiwfF&BjqeIA7Ap z!CKUdPwUJa2_J!N3caO_3ze1xW%Ia-JS6({!%)DB>7~?c-q@ZOP}YT4S6W0K=V;x2 z0fSq{WV2eS_KxAsX%2kUMI4^eqtKw@Qwp0w#vG&QiTLZE&`FYNq63^hX@UF{`3@jN5j5qY*lDd@Kn>`)a zf)<$%l3a@pDb}#QUYHc50C($lt5JMX2N*;Ak2y3uj!KQD&?RXF$i9y+$xI=4GhkB` zGQH~1J*Yf%FQS5L`^Lf@;zOC=f7KZq@J#BIGm1md50&Ks&mr^ayPf<2e7_bsx^x8J zuYrs1W7#7-U(TJw)Ax#t1RuQ@PLtwUaCznFx{=mJix|HQ2U|P5>GoV##r$wXDt3FW(3Mm|6r_CHs<>Ri!gm^3f$KwGwrRQ<^tcR}*^-)DVPT%17icAK zl~7&{cSH9bGfBJ--Mhjh@jwY)T$r1aPhlbamns6&9+k}0a(Pp>IB?;Nua=D#6I!Ku z@Kece{E>F6^>3CAA$M<~MPSUOe~epL$gLlgx%HVL?2v1Vcz$9_2cM$$CTWr#poX00 zs4~r9XkNte5xTuF;$|X64L#R+?1~ijnKu+r9+eTDwltoyR8-g({}gH(y!0ZPxe#Aj zU#}`4V@rob+N+5Sz7&kbn;(x*ZdwnMq1zZFA>$Y33*oPguq5AY*_B|Zl;5Was5UN2C6T40;MSs1fC^^ zY$$;QRvPZ^xGp#(l&HqNp1UO4m8cga;EGZ=_uihxe$g)#K1_X48AB7(k)eo~c48t~ zQzs$%oOe8;vz-pA>G~S#yw21P@LoH)e@;*C*&&8S?uFu<{&DEO7kk5#T2s)gdQ;F^ zUJd_VS(ko5#S)0oMtly70aB^8D4;1_oFGhBdntTW6@1XOx^Nz@sc7U#wUkIn<4QG2 z-7`E#XSOGgALv-TLbr#;&ji;Tcq ziPK4Bro*t5`O9~{Wc);(=uLC8T^+QK9?5^n#F2a+fH?OaHxXzr1CKI&BllRPGj)1# z1+Ey+N(-NuMKi9fIX5g@-)vO!FmAE9VL3G3_myVeON-_`(-KGQGftd@YvE7u|m#Cm6W`G@(pFB5O93l8%8uVKcF;zB`MD8~w^7F5zmsR<$uXs=>m zWXKRb98h0nC|8?wF9)?^Evz)1DxUo#bU!nx{m;<-5t3(e2iKTTKORrw2nHQCa&cJo zI3(Qc-T5;ld3$>2bvPFrzjnTLH%YwNe37w|?@;V@pstR#!+g{RXIdR$&8P0K_^F5WpZZwysh3NBN{sHK@>&xM^qpt2`v_TwK1obg zpu6?GcwN(r2P^jClergfF4>Ep_2hT2j{Kh2bn(5B=RB?-w$bfUZXT(>V=~gfV(`7qIn29@Uu-3Pm)Wf{M&`+mm~ILzL$P z>>x~gP(<9Zn)kCfL8A(Mo01mA^K$Y3D$sb0wkI^TSSNTZpVqql=nRoQy%}>;)N0nm?Pj6N|J&lecOy}#&yJQ&B0I`?eq;s%Aw#gQ0cSY_g z1`^Mb&b1ieGxY6MhIYsa2WP%bsF5pQxX~gTTcy(W4kAw!OScG$(}cp!W4`P;Kk-{U zq=r|7|=x?>7~3 z9Pp+icH@D}UVuptK&9yJqK8_HXW@EwgH3VYAra3I_4oy?&`!u1D|qRpM=0Qa{m4(Ks|WYuEnu6`DpRj) z1qwVZdb>|)HMk#?%lBPwbrLzvXSk&H?mA69hy*dq(4dK4$YPmISxR_%q<&llT6 zPZ_RRx#37W?oh^1o-h%HG7~OUYh&QUh7j-#QtMz}gK<(HJTi~}6ZwUG_JOxpzi}FJ z9!*PBgtK8`U`+#k5isNq7;X@Os6F;hJKHr=GcHZdQN`5ER+}2!L$7#VRF%JCQr<%C z^)s@~W@Ni=Mr17)pN?K>I!-F4<8+DXIHt+Mu5dCcD!jU>_`oY?LzvV|#15N?o$^GK z>bUSUK%-xjCgSZ%f|^oK>*cDa71O(K+yR9CfYt+{I21O4nR$>a)C=P<-(tgjt31pV zwctRjfo->1N-C4Dj+WamXc#Jel@ZT}(mZ^v7_s{cM@-kaDCR?R&;xQ7=9Y#2JDB)DSNg0~%`NViyzDORQ;w{~w z-eTDWuf$KHzm%S&DMM0AqJK$FgVHzwQ;-N(n3h$P-g$}`PmAMUXR0&JM4PLh?UtB} znp)I0SNiyCvFvT|v7KyhYlJW-q0N(nbwI ze=-yFbQOYb3nhl!n()DIm^IUMVKzl>XMNKWgl%%_O1Xv`wdn-v- zA{?krvU*;zOx}A7YDB{_R4W72R#35vp>4*A;5v4@Ldh=Fv67PgxHP6uDn{Vdq7e}L zE(e^Bqi~f$D24Kwhk@(3?Jc96q-t4dAl6C)@x5XoJ}(-Gl9Z_7shas?t{+LIF0R8=k_u;R4np;2_ptn(P8 zF;Ujs7=luGd^%|$Zm|S3N$Oe_{$I8XjTsyUKs3&)Yg~G%#`Uu#lx<^CHaDu!Fn`IQ z2X+1GU#ef!oBp?TY?>A#>dM_4TyEOpF;qABZ5^DX1yF@@2M>QEUHU&LzsbFRbA`bP zB21&r`#P$l(&6uL33(fu&1ns+|(Y|b$9&xyGxC|m+Ww!y&k2tK5?_O*7L7d z|Mp30!s#l4YhCLFLp>wJY3d%Fq+RktO~|pIqybGLA)NBwrbdr?@vz#KtyXiZ*|HdP zPkpoZQ|Z#j<=T#Q7^3T*^?jOV!Qo7EM~CnBeHdEA3a2izX(7X|^f>vN=8=FFc`Nv7 zIk9=VK#a`irU#pz8h=w?4+8h793zn`!1HS^6=^Mz;0R>swA8fWZ{nGPs&<)&}!W;5&y` z^qpcYBdB}$%W3WyzB0brS?eN?1U?A7ju@C3&uzn9{tbDE~V?P&2s%CN6cgSwx(x~ntQoPfnoiY(;Ryfif`rL@EwPyiN<0DCou7n)PEXfcE&4gVNhp#2c3ya z_cjnF1@9&0ds}3O-V+NT0m>hCV$$m*^LeQ!=w*zZ=_~jH5B+{`;*Gy-`>(+bhy0cP zv-*eqR}(MyoWGo#)Pq`coK_7xXk!Q{hNo*~8>~$4+`%R-Qw{f_;Sn@EhB>4W*j3Fp zwcgnHU*A?0_3%1n(eIi2(#uBBx>J}}_7eyIkKQwl2C|z_^3RR!ZTOUY2ruacl`^6K z$&JXtnKwT%q)&u3PxSB!)%X}1pFrcoIcKpCbOb#-SwM6NzU1EEdDPPZFa=OXKBd*k zg8crSTbmpGEkm-PH%hb@dzG+c!*v=bRJkKR7e2-`IC4)tNb{KYB?$POJWt(EX?n-J1D(lu3S1Ra}!60HPw2 zG2c*itTBUZ9K+nO6HN!LjMSQ|KM!IMzkWp>%jX2MTNH|dLB60S_mkGh8t{yYp<)`aH$*&58p&L`(l;bW_y!!vUW3gH8hQ=?4*B2S-1)|l9vBL@+gg?wjz{$I z;Wd@!F+F$nsbf9JUkj3Qk;KTTsoDS~NbnNH^9xN_tUsZ}E1}dOKH2B7d7)o; zT0yIZ*^A z{pJK=ynJk9Ea4TP9aLTH_;WXg{p*JvIq)Wyy9vqIxxD+zP6*9bsbx4hri7pmUK?7? z0a$SGRK(4yb5u9N83=J-#AkB1$QM3l*m&5&NyGtWSP8v`#hcjzmc;)f!zChTyp^AB zyv%ivlkZp~Ukr*v++P`)qo?M9bvbU%Si(8F>c-8}8yl^PRX0Qa2zOx$PYJvOe`iHd zoPpmw@@MGfKk!*c3C4Kx3rekcpqHaxHCsKHtp`%>=h6bBaVQqcSsMzdSD#B&(+Sjc zy$wXm--G#(HM9#gsFt-AlnxG4`av-B!c&rFjF7Ne<`sztyK5pT1R3%MgNK;9<3*5W z82W=Cez5m|EJKblc9!taE?XX8`z(bw?fBjz@S0W;dNb#EKCzt=)@IHR`p_P?NAf=h|G3L89($CL#|N2`e# z_i@O!L(EkRfs+~2%Qa7n*@et`K;wF^T&$6~h_)U}Wc#?>rYFm`iEDgRFRE{utzmdoHWJTt zm;@+4_#kCTZsuLbl$ZB}_2E^y4{J;IfhRxLxXH*V(J}S!X?m4 zY2o^;S-8HZhLnX;H5WFoAF2B}C4Xv49dkKlm|Ie*()LtMwbCA))BP=v!nU;I&lhKD z3^yO>A0>{eL^eNC!u3yCa|~>hI}G8A%>DC}U7Rw-lK!T$94M8tdM!Q%eQ$|$E;^-w zf@AcR3j9Qvk8m?T_}lsi%C{+Tj&qSSqs3IQaLDIKz4DYHlvENK>r19xMafm{U| z(xeW+@C%jp8ihR9gq71Vt4zc3(uyp9%cRKam4?-dEGRjRIFKTBDUq_&6WN2p%;ZziKrD{ znW$w*38|eR{?0KlOGt6Ggw(Cs9>PFv4@qFy9yWHo-mUG;zT6(XzzqX|^|~B`3YKM1 z{lML9(XUK329-miS;?v=&(7Y$z*E41#r$MVTl%Kt=pAbVn8m>m+kG14j4*)6*&#YHF+q zHB+3p7Pgy^#13JtbpJ%S-9E>wp89wd9NM0;r_mD$uLs(1!)u;`X8lKd162Gqso__d z{5&A%`~l+F2f9ss4k{F@sT zpohvv{RPqu*Y+}j0&xXuv{@rhub!_-nQP6t5-y)!8JG7AiGRx)UhwxA7Bk~74@xfK zVOg{3iX^NQQ(vX-)OLfZX*byNceZv8Z>jv|lfWGW+46@izlH~{aYNwY zUPCMOnB`ojoKrF-YtLFa*S0o*W@=i5ffCzXuhdi6kF+U1G)?hl&-ZTa+-b=v9tQ3x zAjjGiTMyR$JHc+ zHPL;vl7isw83#XO6*IUquCiDiP66L3s+nkoC|#4FX5ul;8NgebHnTi!W;$(BVvO9- zW)vFHuKXtQj2Don(LI`S!Mar4RczEl65r->t|IcWM&!pPB5$`hTZebH6_FnW?l>Sb zjmQ%}^f1pUv(lL9IR9K;@~ov`fs04!EeEV!V%bX^1@Mt9wz@EmnKnbK8)Y)TCK_uf zvSt#-@8w%QH(>d>L~2w{&qap`o6S)mfT#Exn^)fCON}LoGAlVfjT~ksa_F~q+IQ~w zo+O8p!0iR(G%y3U%4Lj5n?K-h z=iT!h*s2tl=S4!L1{?0;Cdo7?C`h}NM`eQDaOtt;(95nm^*R~(XefJ^(Qgo?jf{PA zACuhs_0l#yhb|mSJ`+QECJv#WQ7X%v-N{*{Pcp7@$owT91%Eb-r^l&MzjmsGpZ&tND`9(n_RrEK<-K#S7QgP+GecwLMXNF_T^hg4MbG)l6cY9CME`0>TON_;Mwt4dY#WtgCmVu zo6En7xD)uQZ1m33uU-@@JD-GLSlk$$^YhhrPU(s0op?cZjoW9@MEs#Yc!asiQD0^^ z`;pD>pTxV6x8nw0w*mVhW1cQJiug-Fb51A#cxvM*&#)M8NMZ$gU@n2vbx zn~gk0wMdJK2#6#!O&QHi8EHA-MW%5yGmL3$MK(>{g#SRvoyU+t8UK~DEI_gRjW-Z7 z1pe-o@PD>fg`dgoMsqAM?fi6nKv_CkBeERK~<%b%c0N4FLvg5$`YqYSz!~t zG7cgb0-L6NcPjiMDiv_$wj_nv!&ujpW%1jfvUn2e#qUz03yFFsG#OtNA{GkS(S_mt zz5z;5!GhWs?gT{)JcDT_5 zLJV2nUc600qJBq?x|m1JvFj7j5}P%HrkjkKuU%Q5k(hw;L=AV>d1F1deX~VLWa_qd zr+@gI2zRG9Za8PL>mN+JNO%eR)$Rg2p}#g*wpgqqMHN4Q*MmPqhSuExUbnBe*TeI3 z?_Vyai)F@hruag$oTd+JaAw=Gc`BPH+&=KTc6<d7Z;o}`N8l>%X>=aMb!aqDv z**&P7uK3hBlfK|n`WzkOzKfX(Fvq1M2Q@Fm1H4zyAt% zp`ETEif>f*wRkE8UGtpU$x;#I}{p*pa z(b8^N4yK-mI!f5d~_<&53IE%4Lba8%t5{aQxbMG)ALGsjo5_4N!`+iw34 zPppeREbh?t4*FffCQjDug$K((apsWT_BoBHA5fpy~dCZO)zA5Ehp zj-l}tu}-tZ>-$!Bxu?$0fyKp5XyrqX9&z+wdYPFH^9!+z)vjL5idX^cMsu4niP**V z@$i|0?bcS8*yWWM+1p!psACg*9(GE{c6R?4P)i30lR@6aWYS z2mo-VB3S?c000000086L0RSTaAOK`(WMwUOX=Qh1axZpiWp^)Xb1z|Va4tDBGB7nZ zV>vErb5&Fg00-2x)n+Vy7-!tH)n;{g3jhHG000001ONa40PMYam)pjbDE?I_L}>$J zkxjBUiEMNq?N+SKEy=dr=E!KW$c7sPXaMZR-JGNBP9~0%mvypCmXpPAW@2ZX#ADgc zIlqtcp1LLdm9Ox-w>A_&klnK7%)IxKSWTc%d)>NQ-FwUI4E$E?2EJ+S8iR-yqBwM0 zvC-Ic!UDB-XHL$ZtgAef#KgCD@mpZ~=3I5AVv*1`eRH;2owbN>&M(ZLv@GJl*Xk^! zc$f_;u}H+8YEZz%r&DuQ!#5XZ=NGWp?7~b9e^1RVu=n}e$qN21oT|>S-;9*)~cbj@E4m7k($9<{)qhE$Ebo*MzG-*}PNk>aekL0rmWm&H{@p?H7 z27cSDRw^ebEEFB4X0N5W$4M{!|budY@I`+t+Lr`p^cslxMI zmDFb7bw1|}A0Y+)!?$W}mMko&g7{k*^TwYlq&%1Uq`hk2s(%)=GKV!c6Ub}>Wbz53_9~&vBn=Ac${fAXt_U#)=i%TBqWYC{HXP%D=OElq1Xa+ z$SdgEKHVx@@B$~Eshti(XUBx0SPhTHg^oQad(`j7>tgNKM>8`BsA~U8sXtANY}!>i zOS<+P>DlE?Pi=U`=O`G2Ex<9up0hzsD&ZowX&Lsf6Vn^( zPMbpMRaF$~r{#zx-(aQ9Sg#9kL%9|7`mQI-#&YlbP-~aQJo&m4Iz1ZWcPMf8+Lh~< zE}y@1+kJh(ZHjK_e^8|^&jrvd+)*T?(P4}Kiz-#y@F9x-6|S|2S512 zgCF00_?6%9|MOe>zxdt5KmPKs?|;^?NIVqK`kaEu#lvVp?%a6# z^ttmZ26_2Yn>37YSI$%_1sc8N_e0upSxS$#-9fKk=-}EkUh-YP;BL}ZtK@uR?0wm2AHt)0oF9;!N;JdIPd%O}XdHaHcYovW*bw+^aX*MzFbRrt3Q?Wg$ z`dZGXS^gKUD*H0dk=ngcmIq3cK?Gn_J8={{%7BO z@aubzzWnB2-~SrS`u+F5ba40A4?q6_yh7&-`)~g1{r7*m|HWS(eCLk`-}x=1KKjw! zhrjwPEXV$jzj5%>FF*X_Payrlw}1EWonP+XegELiZ`}Xzhnb!*I&p({=alFU^yI;} z-@5X3y<#p^uc?7*?;>3td;fWCI2O#(YT)D0vl4;eaXi{$+!x(9G_T?@-|L@ z%Cr?h4!vEOZAZ%{<_~g;d6b!6Q%26fD=`pTDd|7%}7_@{rr|L#{Feg3We z*T3}F_kRHEfAIRB5AOY7|Eq5ueD6>DZ+`Q^w|{~l@Wr?Ge|Hza6H5K>yPxGlefai= z4?cLCgNe$i<@q|_QH6u=0kr-BNB{F5@BiYvJcr(UzQ=HYfmk$HfUSuAFpw&5H%9Z{ zPV(>Y{5vZDj#`+mcjtN#xs2+MfDD_~6TF+OHPI82%5qy}*-=?;YgwxLa{?H{mo0Ku z;=Bthr!QVPfAyxqddA~ny$niISPmY}inN@~DZk>#RoS7TvFPV@BGdy?G6+Lp#BaD= z-|rMnEG=2st45Z*!!yok4XlU5BjT8bHAHTfmcmsL?(2f&Z zlE~@#lnk{<)v49LxJUa%kHA+U^FeIzRN-cZ!8viXib@*2d%8>`Mr&%lc)=(8rHOb4%R=uQE zsEk+Y)SaRyDym{dnfVp!0bYHOnWO4F+j22a2CUb*bpHH##v23Y2vSwWs?XFW5)1xc!07~T-t44NoYN(P)lC;7g{uTjrAww%aLrr`h*f>AYa;aLcHZ&CL zE)PyT53mxz{G4djT}WaR0n@OI-&^qAtWLwyUv;k5F|S(+EJ!N0rbBBe5b%XD0?<)# z?~rZ-0J{F^=qe*3I$0Wna^oYS+#@2~qoUg*Bio~++M^=cqoUcPBH1IOSPj7j8iH-4 zQHR2*h+z@NQi#=GHUY5)S;QJxM1gENrgBhY?27yed zlloYzOQe&kVK$X%wl2{KW~yXcQF}dA#e(=e1e%MB6zuKc>IP3nD##NFSi1naA%C(( z3IKql@5$_*ld}uWaAqI(Cwm1U4{1C|x)KC=U$$B5woIKLQV%9YFYjyRX>NI%Esq5t z@fZxFygfBVSy`w74-iCy__%W{)gyRZf<%yC78<+)JE`DUQo*sLg7lCeVTtkzas;Ip zMnF$&e?U4ysf}>hvMY_&V$diSTQV!Ety@jv*)3dZ*q-=Whd;$CZVrYhT=mfxUodrG z0~&!$9{xetcc23nY1{bh!E-~vQOgRsE_-*o9+92;pu8g>Zot=jXptm`o1de>=3Xl5 z!&S))ma3?8$H^Mt6jA|6_{yG;Z9J^;0W06e@&i@AJz9QD*QAcq$#lypZ!ZFQOUnCD z-cjWpH8hEtWMM=~3=?Hn&eK;8XQ2h{kQg7DK$=6oYJn~HN<#s9Fg2yCbNOcy@vfn2 z4B(3)xd5J6zlfe{2E|$H(MmU@oHDICBs(&rOalUjU0$>2 z#Gcu*52Hu}Yt5c*NW{Oz=u>PZAhpHlQ=CVisG?76HkI(n%Wd1MJ+e-A$Oh??Zj)TL zSF5B(W`Mt(Ckx5sQkY!2I1iJn2{GHN6d`DP)uhF$_33%sv6nF|gddgW**DGAWUItw zHU+Sa)|wzNKGB6?^+9ne6s8rqCOX#>;&I;T> z#v6{UXos^L)|nwf&)GJC2}TU zI#omL!CAw}Ch8e`Ch$L%oDsE`Dh-KOtJ4T@B_)i+_EK=djA8o~!{M$d8f!%%t8BV9 zjq+`(EIk48nAY)Iqo{Qf!~oE9_<|V&!t44QwX;0)^KM8Z0XeWIymI8eMv0s>S58`M zXuoE1U~ou;^42r30w{I>V&(u4Lwcgb@242SRV?Pg>f@w&V$>O_K|)r01PmOM4+mz1 zQXmv^MVYxF))rF;J8rddArZvPreLMw+1!cmpiO4WeFxIiUig|N@ z4n>N2ixl&i7l^RZdeO&HN8 z8_}jdqD{q`ZjP{~U0_W&1#5~q6>GYg$C|Pnqpa!LWY!c)an=+c9*;FGRg;0FIaBCE zoZkmJhSu(+Y3-VZJ)iz>g*_$6_7P+|_-8#ArFK6uN?rdiMyV2DdjPP##WnzJPe-0T zM4mkqbs6&PA@b~{kf;0@h%X#@b_K?Sp>zepgy9IJ0+Wo0rh`bS(O1v{ysSe8Y+u1d z0sAQ5W>Rl+ska4q1H3#~>MZBhG&7Q$ta_xA^ESh3st*vS=hrnip{{CPT}P;;I-!<1 zR!i;<>Zf;5M{eu#hK0PDVoF+ZtSj-X^Z64&AT+t{P#jt2Z z#*i5uU$rj^kUwsl6=2t&S+~qx4%x=1&Yn40J$Kq5p0h^1I&{#ZC>s*7?{B(2$|S~M ztA4CPAccmvA{t(IH-or-tg7-k8`S5C9D9*==ycEf&YDLd8_>d6w8m9qyxwZ2HQ9ws z7YF^e6VuCB77v}6+Mm^AUp4s|KvD|<{3i=QZKli)&-Sw;xdB&d80EIfIN#&tWC(kE z$Bvh=vjU?uUSV(cv5I0(d$in-VrY*k5XDB`-3F8x!6;%9Lp#hirS1|qtLMRs~LNcr14la&aI;AKH0v(S_Tr`ZMEy+(2fD9H0x!PmV9eE zuuiCR8Yf5edG=#8sg2*k=7DBRhbMxfFB|ld26+>oVd(yf(2!4SnvfZJ!cbn6XkM(e9Pc?8YS|CAOsLVunSdpPIZ(rb z4SUsOc-H~2fbs3(r#dC5SajO}0UYW>4)o5j@nShb@$4;yF_4jX5sC=Y;$ktjP$Z@xvg-m_oK)b+K_448YSu)GR{{P6yVYmM z^f9SgNlCB%MW~5O3++{gk9ebl5?J*%?83gH?bBX=-9ftO@CO(+h!c+IIuWL}X+K_PRF$9Wvr3Q&z*XnR;jZt-*TbM2 zIz8ZOdE+TI2Bs9mPMwp%lxWC{qtQF2(`{3fKJ)FY{tX2aSx<}!gNP>Y3bHvv z6xEp_{w;2REvFQ!H27!3;;QcP`S@qZmzea9&6{MwdKqmTTP=QtT->I0Y&QNG@@YoV zlZSLomVnOioTp=8B-b+iWK}Zz?s1vKX9NA5l;!x?wzWJ^q6@VSm21OLhdw0`jch*> z1H;YeFHtzcmplU^s2#xQA?2o_33e+4Ob<>w9&N?tV9S37=>$OBy5n~PNiWhYKTWgz z;m9sIvvcVj;IT%`$ap}I%817>SBk*R7LRN{peC6*v&L1a3BcofHhw%%=KaTWiro#M zT)<~+Ih%~x3YaxR?W1~k!5<~P9A0yWAnk3!tYP5wj0NDW zjH%z#89TVbb-80&9tE!N+gqx$~tEKy+hXDo4o!JtbZh3 z!Y=v!L9F4zBwzW=?VIOs+_`>!<<9xb=h1J02uzV;3K**BdJVt4$)<^;?@QMM*JqAq zWkB(y1~}^yR4{jf5_A?GmsenVGNa|MonR=BGHLlatsEZ>YhZE)QLDvx0x>Hi=r3YFAFJQd;o5J$h!8SiZ+pnxI#9qA=krPyv*Fzay+lnUBC&2E+iukam1Qo z!R(2U2Y^81t#a61a}aa)VUs|~khTdt7OVKuWl<^cwT7>2-hi^V8GK^`GxnSH?g}i8 z-h?UID0ZyI5vv{!1AW?jecHHvJM%oVlna`*OKrNhw~I_w9i*aOFYt|_QmE}nhU&Bw ziKnIvhv{n!b|{JE8i}?oPkIJM!|_|xQ&n6*k8v|MZzADpx(bPv(rXmj0b(pChhOq? zsS}BE$r5qxl=Gb$wl5f~SAF!lcnE@7#!KALpy>Mt#rO z;au+1ES^R&w>~IyZV>O-Xq~%BX`VTXYdUX z4#WnTPE=sGMV*`WOr_F@(bGYnRDe~tU1mzK%Wf1iwWNXFU3c4U>KhsT6<4iBlL~OZ zxn4fV*&%%u%EuXyTahE*Va1qS!CEqoNm#Z}Z<{u<7?eA%hrFao?InY+IOo8hW4+`X z!G{JcYqipB(5WeEI;2HhP5Heg&wZ7#&s&n?P*^T_K1SPZS4!fu7qK}7%O(| zgg@OUH|*Yt?df(SOb|5?9)9ewLT;daHfk~ZcvgUsJ^G}LXZzIk)kI1D%J{Gw4}9{Kx#K}!4+3@hcl?K2XW_K@;i*kZ&;1z zgpr4(O#Vd*h#kkcZALc?27Oip5U%I+BWh)0wV=v|Yikn}&s&Vgwn!5*5pMhWTyk2X zb^JLYIB-R|wB<-JDXSFFoasnj&Tp1c-9oekCS@OU(LGFdXrQE9B@-_Bl_@{Y;_En z%bE796ydZL;Y?9XTTx7%1ly7XYxL6=^iw08wji8jXDo{p(q6DhGh7mzik%63QeLUy zIBsaD9S5(|PdH-7I#3G_DMsSOrjim(Et&vrQoAF`SC<{5y5-Xr$g@4|pmi4*R=`{X zk4AOi3q)^uiqxa)TtHn|SdbC!p)L(K@|gy$c0L!J>#Oe$33BUePI!aqWoa7=UWVF} zw#Lt4wozeABx1Lqu@Opy%;*RNjzNS^iA@T=RO)z8u+0nl>?5Qw^A&&Kd4yAT>?YqD zb=YO_g8Pv7M9vZyY2=$QgsBoF$f;S)?nd1#iRS>uS2F&obelyJL%9Vllkv9zLQ{-; z4?u%qk5P6BvsrPu?_fPP9TEVq=T+xT#YuC~PJ?~Zho&ss{O-W%0zkdC4x*wH(HqpqphlZ+yu;4!Im36IEy6Xx z-ddv01=eSvH^9EP)?vk=x+pNj`;8XJr}b513pR&AjF5s%YM^eu3;3a#t_wNfBtMWi z$nbO!x~~CC>v%XFFd!a)v#Nbq0hU{)au!mig)9xIz(v5V%qj*t3J@=KS~!{v;oyb} z3N5Zt?I6QL%f%aU5WS)iQH;*VZ20`$dQeo+7O= zx2TORA@1DLMTfI)o~mt&>ON<5^{m@$=+@c5s$&{#JLzFYm9-}~_faa!T{h44fJjrg zP+|awqZChKIX-<6S_8UvP;^dsC#ntKR&>?}>aE0vQcz+U$~ARPo;c(9Xfq8|ID($~ zc2vTkus-x0?T@KWc&Q@1>Pc)DW-5A_+S`&&tN@a+m(V_23{u(l1q%GNp)q<4V`D>% z(nE9!P_N654>-OxM1DhPJFpi*+u@hy=2Rfm+6l8&tXU_##$d6s9NLw7xHLdNbbEkk zPqc1_O6x)ei*UvDS)j;eZpT`^<}hRD_=cNk=-eR*x|72Hb9+)mq= zs97C==xIt2lE__{gpIMx3RW?msAC%et5#!pg4Jqs8UFwUmaXV*JC@>ocMUdNrbk*1 zGfFRqzgzVXDGxt{9H5CJaX{?1h8Q#i&GSMM19k_pB$c;k)t(1tjWvZXXk`TlWvAZ< z)W>YdFfM4*vUto-@!euzcOF1Z9Ab+x2lX42h@{KT4lpeB=YZSQrzNQ0ktt^tn4YDw zXU`|t2z!PIaoT*TU9`-Xwu;uY8o`zH%FUdt0IOd^OU3gvy$%834Z#zmP?CIC&7+k| z*<;=_&~!DC~ag7d2_(8 zO-(&dnJPrQa{((kl|Zf?#H#>UN{2|H^Ey8SKzk~lzz%Bgfr-v2bH*Bn3M35HMSoYO zvX>}2^?0nA6^hexZ7rhVrcgd7#?#_B3h5jNUMe9MPyN{@hS^<#8EAz3++Oz06h}Sc z5NC)Oq~VnV-j10%Wq_^3^kWiZv^i=5-B*C6!;Og*(wTd>G=p8A4Xg)<6$#3v->EGhhD?x9B`E-UUN^!$}%by8sNZ%)t`^!Lc6axSx9p%$+&~n7_I(qgoE27eUf;04>LMTx52UAqI0h zjfUD&7zG_RZ863t>4xP0L;Mf^($d^N#PG-Z^vpb8*H@^0T*Az44l^>~ljNIWW0J@Q znZafAngm2~f!%|TrJDGHx$vd~NKV9MNJr@ye(c?#Uw6wvpEywu9^fxo3*FWRsxpR1 z(7k4vCkUrmJY51fl|C6Ua_5fg0Xq)-A$e7HS7%&6*5CDji$EEWxzGSp6|^>>WDu{@ zFsOUT+@=J2c^crr4(>Fw(I%s827ZR%+83!Ap=DVjwhRzI>D-QIS*u3B1$VZEA)9 zT^RPuMFU(Gg{D-p_y#G^VG`_rbwJw9Ocw*I3@A5rDLRcP*)LdaH<@0c-7LH9Z4f|| z)?rAV9f1-h{Bec^pu~rvzJ_?JW|i1)19Q^y&vp%`xK^)V9jXX=R3t^%-q`NJj_$*V3`juZEuhE-*{N$| z2w}TJS;*z{^qwI^`Ok4*+lv;P?y@}YRqz3v;i?FqvaT-549SiUVgI9klr#sVXqtTz4!{i zBR_CYMmRGsO!)!9iA6+vdq9%Q;nGsI9$KXtm`agUEt;5W)vLs4JF!y&Znz86E?NVD zv|KJbOSQ`KYG$Q)!>Xz6x-(tFphELQA__N~fW^6FCL%Ajl^eCoY0YP-{j8)lFY4P; z!~!O(Ky{FU#>o!yfIG=jdX64q5;ZwNLd3RY`(m>Mwug6sz?P0g`^?`w1j(7kITVBI zT*+>N4G^y?vH=JUWN@gGI_;f$LSvYn2?M(#P#q%{nrB2F5eblp zAfL+0ws~1^YRc2gI!ReCDa%UqNr#t-Fm{Dj#!JdXnKJ8SQ}8mH-Z@A-^CPhUSgW{US;S9dw&q-6ZSm-6NYAZ}dK0e1X8e#*UM%Ds^(pD@K9o8oA6iaj~S z9-HDrCm?s^o*H?SH}dF6BToV;FbojKHihjM<6T$_r)Je*LTvAD)pys?t-M~XRE8wP zw<^BQ&J9U`Z!G zb3#lDV>^hY=U+UQS&$@B_mNf#RjKBP(h3qctsH3~KRU4e6J9BT=?Y73snt*}98B#P zjWUVCHNmi_X2&PUfQQkCiU2xTp}G;pVX#3`yTyrn>{ z_yFGrOYLQ(dCfX}UN-xy)n>VEzkH=oDIDJ&3=3Z2WT7-$*o2?gpkb@7WjVeZlz^tl zjHPr=u}B@x>EQilG2o$!MnShRh6wNSOtNAe-apmpbPU3c+Bo!o%BO*U(F?XpMo~;w z(Xdc2n_-ZunYv*3%1w5V9^~;|54-PT0FXd$zxQXMvFEi#%N=BEd_E36rKz@J%O!)&_nQ0mgX*mfkKM==vLr2_X@;$Ot>OiRxBVq5aK z(&f6UJorph1$AJ%7>1>yU644D9+|`;0eo4p6c`Ih@Hzv3!wKdQX#!bo>Z+(7vY0)3h(&NO$0C^8Fsr>$;)a$i&!4O5Yk|84~R6K@NRMH;Sdbv8s8wZ{aUG9Mw_Zqa0ss{|Eg0Y%g7@DnZGbUR3 z;Pq`6b?TZ5zS;;D?Ut^CSAu#AL+FD11~PWjcJ}sGMd$-|U2K=v+(}33@ua#Bo(Bwk z+Drb_RCmdjDp6*kZnhU)NL_R_6PU^#?SZEBM$FPAJg&$i*NXj%L;3;3-YGSf%rgQ13^; zwbK^AHJ}~%fb4u}M9M-3J$>`aWhrQhz&_GOX_IlvJXAB8#X!#N|J6$Rzq#bUT801D zT-DFhERe%e@1z?i2mQO5W9<==kw~4osS+OGdFr_RQ0bH6Wh3)aRlGaIAmq0YD4FXF zJE^0H4y$BShnDpd{xo2(u5EToeQSD?^lV)it?+SqLAP1~JZ6y%down>(>?1%kL+lO zw?DmMo!B62JP8?@(Cn}@wSrsrPGf7)UTbU>?Tt)CW8RsqY43znjI4&PUfms%tTuY9 zT|yg~5>6abOHv6-9nM~~MWE4SdE)(M!Pcy5**-ZNHFGb5y zo!#KR=q-Er1f;-GMuFT!PM-J^Wi;n&=5k>P7?{9b3IRkgTvg<;o18uzI-)Im&?X>SaKAb^LybeMi(*pRK^x zlNI<{ov*;>nObE?Zp3Ib6}9Tdi$TyUxPF1}i;j;**myk1dn<=<;&QwS%v-*xD+cx? z&!ua`YdR-aIeloAcc4lZx>8hpqZI;E3Z0FELcC53eJ6@#{fZY|$<(S$Z<{BCT12jA zvL?zjqln=Eha_a1drYgH0hFdsw%rnMchHxOM!eBMU$(QR&7arW3z|bXiE_C zsKc!|^q!$Rn$a}gr6{^%)V(G7hCMRs26V`1V04Lc#|N}NHRX>pRKjb0Lb?e^_Z+uA zG!qF-T=|{O=_3u z9t}$H-0=Sd7#Ue3=kGA`v0>!O-!aMGq2y2~xe({vEahyvUDUjm`<@e{M=J*fW~&@M z@5bw<@w|)CA7p4&dnrY?Mzddb{lRvsz?I1bt~jk!_7uiz#Oq-(QIIOlmYwlBnuoMHK9tvX-R9F0!vY_()& zo{X(*7&5Y*h<(Ar+ZjFP zvuDV=TU}V3Qjhk6aHrH-cLB;-t~J_)g-B&Wb=U@tBas8fxslGmQp88my-Ws~$}`1I zl&OKG@Q)0z(q9F%i44-oER{tj@+^G^Jz?W)rX-nX3#sF!bFh@;Bjd$W8JN3s^y)6wX6xv>QPM~>==Z&y%3;;;Y}LcE9i>Nc=pG@9E-ahf26+I(4SL+}ksKW=eWF*pjBC zgtCi&wG>o}xPHqUfM{aMdZ-;M|Akd)kxeb80>t`JEy>;SeHF?bYv!J}B%GS6+3JE5 zq0i?EU_c;AICnpZ9v&~*l}4!)>-U4isI0#x!UMj%hz5iOraZFQjG;eH;rMPiG?o^p z@#E4I^`m~{_%83{@a0BOv>n2%dQ5nHYO(EZ${O0VUvdB^Z((UjUwTS~v0aaQ9ybxJ z2ZW=xdYqW!psTcY^J$z8(<8&s(q+8kIbJrlje1;{ns>VFFGJcg&_Tt+u? zPRULX603D?;gIOE*xeEeRI&$~-0i)QiA44c_XX4X`iw@g7cq+nE$@>N}QvKMxF?#K_sCz(v@104WcLmF+>K$??j?-BCs@(h?sC(OE@|u9Agscr@h6p z3N+T#_>`v^REhCFBM!GY+Dex7qMqs2m`qo57(h)QUYnac!H`8JEmo#pNtz04`!a^& zGZBxF>nfLHhI$HSqz%_37y|BAo}(XCK7v@T;>;Ybdb`@AfNbp7W_rXLhcF zO9)RVTk@&Bz@JW4C_TlVDwP&(;~LAGMBu5lP@OwDhhT&=h7A|yPmw|e{wvR)wD<>} zjy8p8UP6rZXw#glGQ$y4ICWAaIVQ_7i)pi1evW_e%<9Riv@)4l__Roc)+(oz@yYzB zvBbiRm2_%h!D#03%*mBES?Z~TMZjo=&7ydt{mL@n0VOaBd4(u(B~L!F>PATwXPy+A zh9jkK-HQ~a96JT~@-w%q6D<`c_fiQ-)K>*jbcxtCV}7xUu>iQRVgqcH0a(vFfE!S( ziKUQ@2Z`J?bTZ|_*Ok@2fN)b!HVO)rI4c($`V<{us)jL9%^p_-ox6+lB?#G_`KDP7Uv%+~_8s^|!>4rsW;vm7DCdV#SmWrk3t#h>9HsPZ=Od=g8_6X27WQN)+q(i`6ffv zqE)D#oJAudwW6ctfQ<7){mzQKkY z73@Olz44MSvUS|;OY95gF$bY%73`&gY!BW^;i==hPWhF<^;v^O_%nQp_XDbV$hXY*;=0{Fq~EzCT&p>rE{O~nNO90d*fuN3!CkSWg?lEWM($b8^UquSII713 z+UJGH#D`QZW^F?{J_|%Mt2WrWj~(y$7-h8Ylhsw@&YcM35MDx!81oO`EX_D4 zt8vC6hVH#m}V;q}`tLgUX1!RXv9CW)Ly$Cl&SWi>r^??I;Dp!?yUXTojyY68i%0_JpP$HfJrrok>m_=NP0et zAj$B_vo7KjzVAD9ey--M)eLqjCehFHdW8bh+<+dZG-vIH@ugJr1GE_P7J zy)a8{AgQtAK@AM6m8yu!*B-Yr4>kg@pAN9OK{s93)??QN+*Dpo4E1emRD-kCr5<{w zO`sX6Y?5N^0%to!-0PL2Qx?0cTDvqCL@M=mtfHMkL>d~Mu-x3sfkRCqwFrNQteisA zRc7GS$Kw{|fM=kq1!aJkgmEjUZrcLJTjTK5abwpnCy1OmRl1!cdlO1GJ&=P&-3DXb zLvYy?qqI}WAc^wSV^!cqWtNJb%x!{lK2*7)7+ar~~Ldy?N>@$Ji!-@T-X6CAOlCc%k?RB>aJ zKCt=E(rys$l-E$X4Yi3l{i||& zi{N|48T1KPJ42>kYsE=wO{P9gw=qyLNM%QDy-iy=jn9yA1#!M$eJ$1Y?AWXWUuAx* zE_Lt}I;T@}V_RBxypGnT`LP*A)hg%0*qrTPu!dKPW7mgPa=)UAWxuK$DY*X?3<4{4 zK>+yUF$jW><#&+{|2FJ`)?J-l(311nh1z&_p*G4cBym>@PMYp>a5B)EBPU%l1X*5! z-+_DtM&XjqD6}4fQHVLC5I+v1faV^oOqG>!QKvVau&7RBj8N6>uzcYe&S!I+c*!y& zV$vKH$n%?)>5<(Hx+CM&iESgJ*FAxzX<2Od@m+9a7x-kPy1-+=%Wpz{K=Q=C$~f%? z#vHduwRX}HM68Ct2$WRq9)!zr5{!IPAGCnuiEk%+AaEOcC==*O$V=lNyb;k4l{*{!K5)3satngsoN z1YaErs3+Tn-f`_Xo-@O8saKp&*u<(67GVa0x*|H!X`lDg7?kV25v85QJx5cWL^oC4 zugnU7KJf6th*L8m!*WwMM&5MXiDs1!%~oA4;vIQG-|^~ zd)RmxnyJI^hboRR&vq^m0OY|C@V_r4scjd9A7J4FJgDPh!S(cELllH1Re0iQLn`M{ z!~tMUw4+>fpOKSAUQ}8@O4VbZDvd`wN%a+@GgOBXn*Jjir~k+(Mt~myAPGmAnQ=i_wl=cb8P((S zzJIlsW? zob#%+PZH!X2+x0udG&b^mnSi&Gki{G(sO$AG3WG?1LvNzK@%GCUoz|Mc1c9$krRGQ z_4yTxi5KZPo#k^no1W9te;YVuMDV|M##k4|!RL!s4iwJu8JkOq?idE<$g}l$X9^3v zy@jl*K(a>Senm;qK?ICp9O;R7`;j4I*Bj{10kg>2rb8z2g^Y@WE0Ox4+jGJloyN@b zUe2>#29uQ&_)5_pL)lNHdW-AhhCRa)<`hx`jgN;eJwI=hiiW)E4}n6(8R@N$Dg@Xp zXS4xlG;P53vD$!|<2ap4q78V>x6kZx7jB5jBpXwg-QDc~T9YvNcEy8yG4 zd|~eeo&mlq=#V!^){V;|2|Z<0u$xlEWA~IooCL^~#K9?uus(&$bd%{-#+52zuo^TR zVm{Z#&2<{mf`k7Gaex&Cox)t93q2$(4iBEn(~v###KpC6dMWdz=X8CyBh1nYTkF&> zphrfbSm*(l+%2=M4wr;^d7b$v<`=y!Qnb*cBC5EbI~vtz5V{ zIv|x#8=2>XU6CbGAX+_69G?Vi1-2ZrlP~BX0H4)WvXBKGlndJJvPov#x)@%9?+*5s zG=V!*+dAx3eHGD8OWaeLTY%J!b3C=cFRd-`En2|KYm<_G5U=yDUvOc>SH-K`#*cphy~@0SBL-2jD4NHMkI zv(AyBrv-^9uy^b?e$?}neLQ*q(b&a0FqvHu;R7-eO^;+nZ|o#%FMy2_18+U1P$r0a zQV>5Bk`Ho^!rf)v&UG5;Rpci7ax<%dpz$ME2|pm3>E*a-$9EJUwAfKr8ZC(`Dw zS}9yS!|l1S5Gib7LuiTstzpRmzs?3=&o3vVbmT3{&|T^y&!%-R`A7_)4zPCqfYHTU z@KU(K-}Fx`09uKm+YhVebWC#$jV`7o2Su8D1}N+8oKrC&Fc{?YIPpV<3#%#o2D%;I9S# zn#qcW`YI#76nO4-es-=+QCA%BS59WKS-D{@BSy^CE0X+pPOg&UsWWF)z(LfC9F$Ot zh#I176+D?a+ZocbrNG|uGot*KWMpso86`CqIVF+H%i5;>BqO{aHuhUP+1zYSVR?b_ zA)4Y3`7_P4W+!n%R@&<`4)AKgb484o6-OZ6PQlr9Tn}kQe(?d$n1TfMmcYP7Q#oV> z`4gFFcm}K%dnlNfS-LfvUo+>@azm<~m-Ci#y|40x&V1zO-XIJ}QFW3PQr$R%KV+h{ z5R8(xfU6oIr>RcARF0|N(6;G=wL3HA1@+#dbTz5BvIIm1bTL*P^d6)O`RUPvle z0Kj2?B99jhLN-GzpF(?mR$pOx1O+=jh*c$qxI@4+PMjcmzS#w$EVzIIJa*wtp(Pym zm?VN``6FA~4@&$77mh+!_;dcoDvN4Sx4jMzP((Ha!(b_g7sLx9(*;?|n1cL;Q@!LF zxOkkUvY4O|blDf{n8_uiDn?Efc?_us>jSVVsBF3nN7bqbN8H&WLi#8ta%P#;qUa@i zQ{*xyJFqUOOXB@zoD8z`au_)UkaHfb2~ z-6sKFreMAOoluDFsH{=%(%q{N1)X>cN#hztwkpETFFFNuP()U3J&yZPeR>)w+WKG( zY2CCSZ>96+PD2I&)38fp%zI}IW?%yzmSmPo=gu!qJ4=Or7@%iiA*N2RTzH;(P!D~q zmZr5Tu?4&z7OO6!J0-a_R#kfN*3b5T{5@S$djBs!+kf-VIf~MQZ~W-NAAhbs=jcfv zzVn-hZ{3}&B|UiSU-!T9%?I!Q&x3D&_~`CW_TT%}(eq?e)-_u4<3H-HgEFadw+WHgD>pg zedEE`zs!qFP=WHkLh=2tzLnS4vC6@tcXa>HzuJHE4+r`RF@;ffD<_`1M!~=7abCW3-otD=?4V$NTSo_5Qp6bi_W6XdyY+Ow>Z| zf9<{f*S`ei_ka85{+IrFLA>@BRnhNj61F6RDEZO32KnO7xFBKLDo6F{*!j zboU1jzWvrX_2d38zWeakpBt-s^n!&I|8Kazx~0{6psgAxx4?nf8pca|Hc~`4dkPH-+%b_FL>`C{rpD{zw-O> z>c{;zzQY^l*~cp%_kZz&u^C4cjxbe^zJKrF?q_o{Cz{5CAN}itpZrqKm8WUsfo1a4 zj0f-j{@^Fy%BUG1{rn4~>6zWC^6dZiOZPwc%l?Po%q70Wp#tAmce7 z{O;cVzx>l78ZuGo+aGY^G+sk?|HB_Y{EzSMfAJ3w{&4RQ<=Fn4-#z%#>-p20QI7GM zn3Pp2$M!$?*8W%C;OxNuo9_S)L*{Wp!L(WosKx#_KY+EP$@{Pq2>9HJXj1rEOY{Ri*;C0!t`AX7^{Mn$%N_x-~aWcxpP z@4?UR9;zbSf8(+2Ha4BF^D1|)ePrrO5joQJxUsP!AsKpW;1#&_^dwc)wA3XfkXZ4y?ANIfT zy}!QylgCi1ag-r2+@F8H|D(4Kej{)Vrzd$DGz7_e-vZ9;=o&Pr`@y|8K|tX!asRz9 z9bJj0%5oT)P*&HY3HhH5VvHV5(ImbM6ZL3(y&wGW-Tim|bN|QRfD#~29->I&NPe`; zp_(+_B}GvWSEcc7q(*X>Dh(*Z!RvpXls%(N<54F^3XD~zAs5b84OsnyH-64FE%)Dj z@4?%5?|<+uSd@eBetDE}fAr-yfHNPfOXHxgtJ3%cC#tlAH@^WQVXiWb1NwunyngVb zf6r*rAm!l)@7%xlC;a;3&+mWmKc2kG?9tEu^T7|_hF!%sEROx(fBx_si(Yo>4xH9)FDLyVS2g z$m*jkee@F^zEm8YImcQp+N@{lxov zSK1UC1`)fDE9zMnk)6KgCkeb7@xIy=H?*T=`3)M^MMQkU{eCWi5V(y&C^d(kS9NbH zjIWh;sUp68+b@eAmE+LunO4rd1>=J&wS@m&;=2|!iIaP+I&-oP(21G(e3=1E2%04m z!?45!%Mspa#hpE``DTQ!;Vmtgp=$~6EqBS5K5(lP1Ijk-Xw}7r(F-nQ_d$5lS2Mt9 zJm}e_R|Sm|EP|o-Y}=ojqQ?>^uu^G=Elf>ej@3#NeJQE9%$TQGL*@^k^~Z~on?=jz zGDSbD#1HT+#@I4_;ST4IxWoCvMf??M96c7cvV=$TiF@|{hV@40-bmgKEmnN7^>G(G zBu?&X7mGuvT`l&~<1V)A|E(6AaSGaEe+C!3>q{p*<(7y`oL~fi0Z7mhiS+LStVB!I zVr+ey-LQ*y$Wm)JUD}pNk;gzDX6st@n++a&!AxCO^5PTdTe12{^o#~PTrJ+=c32EG ze$(5?mXU6@B98fSv4}jBd7)BAtg8h8FI4NF@ed8;9e?uudUm8=FOKaOUobyVZmK-c z44+|RNP_GacFpyWgpiKG4k|<9h{r1TY4w7{r!`gCc!$<>n@8|wt)lCHlnJhBiiiVZ zI*LYr+rS8*=_n{T|H*2!Ob&1fiV zsC8@rT}|HFChKL+4zep`r2BcBaU3m(^X@F-*KFw*XH8AD%$Q-@{B9t=%1>xPKxXhXI%As@)RW3kNUM{Al(5l3j7S@~vLPsOPfbP%>aclFrGq$fgW4otViRI(U$*qpf09uN7Kswnq)`Ac< zhd8DI%5&9njrNS;5#p|7)%cT)iVrt%XV+g_>&&Q%UxUe1qc&8rE6!yqfs=CLkY^-0w^xz({n zOlTKyq(!4JoeG+L*dSQb>FKJDPS;q7)*XL2aJSZjAkuuJ+x3yT%%y>Qd)apR^~r|~ zVAxa}Wi%FU(!F(rROw0Ub1!#4>*Y>^lt(r>wARgZt+Tw=jGuR$uC>X$mlKE9C`cSy zyq2{Nt-7$5IJCNf9R*SzO_*H)T&1<3y(5CP3^c~pMKIAg+JwCa!h2i<#!^92 zGVHFXn>q0x8q_`8A!#2PqCfK$R3tH^k)=^Fo2e`zYy}!B-1J3b=-q4-{@2~l7YvOM ztW5rVXY%LQCVzGVbde@AHH<$mX1^cUgMiI+C$RegSr2UATsXC$LiTS4wumD{x`D20 z6D&2Cq4M-&y#NSI343FdG^?<|4_ zs{FX5FjJ|J?Rtgm;C(^73RD)$i1`}(o0B9*O56x@Y$S8IIB!R_{%Q2=sGSiub zHiE!#cmTPlgJ8qnV#CC1CbBn=Uk=#S<0ukjFQOHNw2)R@?M?!FJ1~7FX9bCZFDT=g z;SF~Utuy5X8JAS&*iA!Xe3{gD|HE5f8@T1&jxWTU`!zt%%CreAflf6Te zH^%JbOR1fFDSszF#{h$t)h%dcdFPpZEH5=#$vY{KnmHOo!ID6yC%{&6H4kgM)Pm_a z5@4NW-QkyWS4eUj7`5Uel;L23Q6h<-yx$D^?DB8^#$D*uCATG8AgR97r7y_Xld06( zB6WAW9>WUzT7S+f6sfRKRiQbB6GHnAA|`hAp1eAHyG~hMHVi4W8kZPaErvQ|1Byj# zu){G{KB|zI4<6HSG&MDnRPMn3i!gG32AMsN+cg-Ei=##Nz%BS-9eVRm8$D!?!B`T(x4&93s~plTuahQ0u$#`Egp|p>r9;L3=Bx? z2e0jBV6X0q3kW~ecG@jkF$ge%ZFUEt`m)e+D(zEwU+B!q*@brAmrlDqKR=UO+u9mE z*~u-_Il0za%lp!rJLzNV&4jbBy;b+G0EfU)~j8j98 z)9p{Vs1a%QqP*chxdq>cjyD2ritVb33L9h@zoH?Oh>ej?c1VJRX4#qhJYV3vzm>k# zGf-D2ezXfj38zNvDy;B{+$Ks8=?*o_pa(4`=Tb);ujxybLkb${2Cr#)-)Z#Y zhc;$jjzB&}g&rg)W3GISCtvv*AL+_ho~wzs4t%5~xrIwI0!$+)zTv80y3*I+_wJv#c3? zzo+T@^Xkfp>L2rH{`rRtyftwx1L2|l*-GWKhWL7AQ*0#z6uCn;sTaGEW(QG2jE&)zeC^+6}B+*g~F$^{Ls^ZzHJ9T1`@| zk*86I2g&oZ7CVhdG8nY+St z5hlkxqS3QO-wedI7Q$71ADXN4a{1T|0ajI}>Z{Osugp@e{uf z{c!3kNK!bKsD|T+sz6IL%)iEPrq-HYSm>M_bB$pfD$*kl7>C3UQ{*Xts>8>*Ly#|8 z>K?){6xK5mQ7{J>b(1V{9=8qdKr?bfp%*69k#4(@grI~t=33n}vLsV4t1aVWqkb(I z{UL%!mbVyca!4dKI=&s7hj|65%Z2qS@jG5fZf6rMqFqbwvKy_jtLeb^N1$2h$<9y- zKXXK#5TQ6^NgP983oK=5vpng}8flZI2%KI8F~$8ulX{I6#1a;{f{kfzN4k!aVd*5y zWmo8~24VW(=X2`dXZ*2q#OkVYy5fh)9XIs}T@7J|oRFB0VT{lk=Wix05}FxG7KPfG zVmR(1WQj@CnPO;1p*&LzwTt0$wA4c~NOE9`cEUF#?a&^#>sel0ni6jN3}YHa}u3S)>W%XM7{QkJyOjHLA6=F`=cMkJwVm;Z$pDZ9-dH zdRyzE0CH7yThNe-+_!5^E*_OK!j$E*q+GYU%K|iYR4hikKafD75g7A@DOaZEw zP(Xho1EKgqp*nYR4xdg|svVxT&~oNxYDP14HLxPD z38P>Xuf?fLc3hp81?g8Fj8H)zxfScwR4mymlAN+MIQ=yYO=gahn|OjHyV59?G_g5G zu{pF^7l>oOtoxKFeLTJ!4vnS7Y5cf^YykFT_;SN9+71cu+G`UYpIQW3Aj`ICpW7#5 zIY?i6N|I~nUn-{_Ekj&WqwL6*o+|o9gI54MEg|@akj_>(Lc|B7Nuzr_Wziw1Y5K}N zMZ>NL3z*gRDBbIac~sBOQaypQ1;Ha9t#_%*{Zv~QWbZnoy<2~r-s#@+AFrb|-qFm( zCTCWHjXwtjU2MUkzAF8l=VuTFaZ1<^pC8XU^YOZM#gd#6F3?n*f;g-ebH{{<4pD( zpS!vA+^vkC?0H^bezZU`**l|?y>>)c(m8@pY`R|w4x8?k3DXVGy%i=|HxiW*itWo2 z(Bk$e4!j(WD$rJrHdlIx3~j3N?OexP+mY!!m-dQA!8FqKwOHi+aq>jA7OtnL>Sk{i zh(38XpOSSR5I8q!P{c|~^zw=n5=fO-S4F3o{ zL`_yc+CH1pzw?jPKa8M~-@9GKx7OY93!tpOpAY#>GJJPGI|KC?1f>3^CZb*l?JFVU zfp3QP1u1r(9;5YIm^pc>)#^5TQ2x87-cCipI$3j#p3w62f**D?#a_Jt}7u^$BHmET^YD?q*Lfz zk#;VeFtj7OT)4`UDee4_C0yr52lT>d()DnHlTZdFiU^(plP45#kn{*x$r;5;3Uzj~ zdAP<`_`P#YdqRfOonjq6bA)x;O(Ss`W=^((8(|4pS$zyGZ45IR&z)F}qnXRXyaru* zCQP{W&bS)|+iIX3mbEJbk$?Z__XXb48InvZBX_~c2H0Q#a1x)Hi<*A>>2dmP#WP6# z_SMk7C>f382^|&YxM}V7E1~97(=Uaz>$01XZ)eM~gBtGSIV7)+){6Tt5?0@kClPSTb0ch!I%BoD8TBoXiZr4sj*nV_P;q1{U=!;*38#@Wn}?j$jnMTR zd#B}`wCn*Jz@e3LuNQ`k<2?@!sZ~-v>_7HCCpR|~KBNvCJ;k#O!x09A4iN0*P~#1B zzm(j|tUsdr@$pe?^~z|{?J(_=8q!W(S1nuu!j(2~2A)fET#XL7hBI|}bd+4f$&T^m zrDKNXnX2ErZ0eq=ts{A+<{`;fL){K%^sF*%iKB*o^U#AzvAg(5W%gK7)pI>SBOGpx zrmS!{3o?3Wc_9XKM@ zaq=bL%E{{dsgv~77zx;OY{&U{HXW=h(FiI(vdmbSBo1nIY0@Aiqb3-MF~wPi)nm?t zW^g0vIbqlJ&#()O>l@sc;fxbrf)=i@PuxL>hcn>WR*)fIVSx>DYh_x>WurVtG1OfJ zhs}$lbIqg@GyUyC6nG$V8O8kWLUqi3gp67n9<7NA^yu(rSQDcGW{x&j*`PBt>mMT@ zyFPbFwU%{{k9raoMG%`7863^lWRksxH`df7!)c*A)mTFnwdV(%#^8?~YkU4VhIW}C z#xnD*j5`^MRCy6eW6m9inbixQ56~o&7bh)Y5Q*dmBc5^&7W?lxk8ff!vd&8KAT#q> z;RC6%>ePBrzH-{i&XO=@Gjysf+K}JIQ0Dtv4 z>RbhDFL6&RP5!)vD3=)B^&pB%tjC6u=GvjtE$Lr?!~g%QyVB&gktKZ^GIPS>SMhk z$ySqTpOY!;V}U#k@d#VNAUn8@!hY$h1%!to8rYI|>uK&O1@)?x!}W?TOaav@UP>)0 zp4t?piZ`HMK*@~SArDq_7eo%(_bQQKL ze{)k62{uzya@nU9%l?34I4ix2 z-IVLBg!js^UQj#C^MwPEK7Ki8=u=}8N=qx?w9Gip%0vFJi!e*kcJZ$zR5e0lZ-^adS&6K%1hB4 z+nKbw^SOVo2?q(eiIgk=ybZ$r3{QyxlB2c@g9hVrk1F`^2f4k5e4zR04)TH)0wfDL zLl@-XszPm|U;sT=EF92_=Kx|$sYVRz@In5!CdI-K#dK4N|d`bf{s6b;B zJrPIU*woQIO5{j!<}xP>^IrqC#hYW=!PGy{X>SSjw8tAq^m-MAa}o5Cl~OPAKv z8^j7Jed%!rE10kfT)jZIBpBLm6;Qp^2GhoEnWL*V_S!52z3LN%ppe25cG}AER59*G zOi0KBa6%D)Q+ggp-!?{Rbq0mHAc}i*9bbz42i6Yz)*`TDvvUa`T`o_!w{sG$@X}%l z9~-#{aaCOyx%%x2VPAX6`>msF5+1;=6OF4$MHmyM$2>)^i#A9VIT@!ej{F6T?ZfpP z6bd4UjviMbGdoIiD=f_K-wU*ow@PTQhC9@I%S{rmsCP%2B<^d$O9*od@&_%1|1w2j z)@PELUM{c876&1miPf^z=0dAd5AJIDO+3LYjY7v+S=^x`3mU8R+Wo~_L z2|J`*Tg3AdM>+TuwKqkR;s90998;z__RRA*K1R0}PTX9isG;XNk6oFHKBHra-%%OS z=_unVPbr0c@z0>9;R_nE421Z~=4MqXf5R}$uBI#JD&iM!>6mG-h61|+Q2Sp-d@f~) zM4w1i*r94g|5XejQYZB$q`rLKIEshoS!rr;MYW^Y$>t9ro7c3cz}#JnY4Y#dnWa#$ zq*ldk8B264?p3T1$_D4YdSb{5D)TK940Q1`Yt;-hZ&5ngX@MzTONf&>$RNqJW3guq4_R#@)y zUS=YO3H?S62C6T40%ds*B#0%3Y-oW5RvPZ^xGn?^l&r?Pn!6;%m8=&e;EGZ&_ulOW z|HZyk_%QQD# z@{P)K`p49JC-;U&wWgq#^`@YWyc+(cvM%$0iYEeNjrd550a9sWSwK^|Jkgh__A<<< zD$JlOb>TchQ!&VqX(^GG# z%H)xJ9(6ePo-h#@F9VOVeIxf+r89MUaRsgz&&moPQLAVslr{HS!!b7-oiR*UEUqBDZ{0}}I$ta^ zR*D^pzYf&ZHFlU!#t!o|x5FH$9mWs6PjZLJ!WAv8M}AliZVB}+f%nB>is+YQ^xP*} zD14?*v=KX%dq%E49wyjWR0%`-RjKLX^&%Wm{)=sKUYT0Kx|LZ={az!^D+?<_w@5=( z*2ww3hh7wN-}lgqC6XpEWfjTCPhJf@Ff88`$9x!}Q@$wyPz%bU)D{E%hCnx!62~B{ zP#^hAv(Sh$$2{xJQ5MK22wb$D>MF+-~PZgh+9iG%T z;CSr@%-3u{zrF#dYd7F*%?3OVYvs>3byWGJX3`Hh&0hRr@5SpM?8V)B^7~dt ze$Q&U_|D369@mfCqnb)zS}WbCuk=ezr5~-8ek~8XAYm@agmy3RqH;GxS0nN1oQ6lj z7`?g+*m^Q~>f8r~A{x&?MdrKh>0PlQs&fK<5N13mBkp+32U(n;Q3bxuOoFoi4f6Eh z)yr1OgoR)h`HQ)kgdttd_=AawSF45dw(aJA-1xHO*Js(SJWRzWkEO#LB7@EK2US3Nz8jw8(B z>n?h*m$3k`7j)V^+#Fy=Au^+KHZEgw=b$t{#^Xo4MYP2v+I`)P0zTSm9yrCI7HrB}9U zUrFaFnnC1COGa!%MBBx_Alfgyptlh21d8AX{6;D%URn@j`Qe~d{!))*-iE{i(fMCo z<83jDme(1;$k@+5D9C>Y56=fJO&o`!>4@EUs8SYSrUOtZdi&_17UNmCnbKfe-gikP z(n39Y&MI^ga?T50(DWDue6**bSnN;PRe=x8EW;wp4`)^Vk}18bZmNXX8!}2fpX6Ik zRlaZBx?y3AI)QwdH1-Xn5`XFl zPxeRlll^I4+Y-ByOA0tM67`XsIzL~hfCC@Kz4x?r!^XJ-Lb?fHI(dzIad2`9p zR{e43*pK{#xq1jM-U7B6t1_)XoeQj0%1yk!&Vkw4k@QC>y(`UhTDubGEzoO(jo|`v>2e{1&nY5eUNZ2aGrf;o-p^t#bOa zqd4Grk8`m@@e;&|oHI(S5hsdMBNi-SvS;4iCJUzMBq~Hu1V)Cz<#vH3odD}nsvoO-xq z&*pO&7FX4@Vx^9(4G}S0%001&P&%m&F#|EX7&B?5ooe)miWJ2?!l8_#JYn_=Z6;i)*5=TM4IvO4q|w2F z0pp}Ucx)g4$Lb3Q`~z>We(N;kJepRh2xp^#fi+F^MZl0dV7Ng9qV|NIb$4r~W>T7( zt|$_&&Y1wjHp^JJ{|qibevX9$Jq+gal$f$UE*X^ zRCsw)@m^HUhcKy`h&?_Ld*z8J)p6lzfJQ$rO~jkE1U0Rm*2`5-DyH|qTC3C_(0U*h zhr%W>w-0iKdSM;r8+@2=l!v*Z7940ju$^{WOJ(ZSqt*5c7KX}R<;3&8G!LIEM(p0w z5i>O|hPhB2x6>8JO(C*chwdgHx|>UePE}O3mDW4;LUa2{Gv#2i0@i0aaA6J0u#S}p z^Q`16QqdLxP5W~jqwsI@(q4@q{h&ldA1a9Gg_Veuv95XzKP>1*1|3zIc&vnTixbW* zMmSY(GKOY)K5?FwFH*;+c*}ICZ}60Ym*OWeSV>PZlp&=hvA-mzK^dHYD@a5rOsgtN zZ$nLtXT|ZaGu7E!^ILVhxF7pu6$y@oKdX@L> zPKkD3RnYGJrP_;OFJ*?(W(`6AVJGO>It1O3N*>qpW`Apvp8c&z`n8p$>&>k8xe#W7 z&X$~unp%D;N%!ywut;*>){?GdI8dEr^{irkL9El+Qj4LdWgwSmh*L%UT1mQ5uLZ6$9~c zDRC90L<3LN&L4CAFybHW;~+H4PK9b|yst-qFEuimAx8}TGPnFy3{*A!8L)+=JXCT| z$v0QwnB)SDdH1s#Q^&r0t|gS{Y3TjVoy0zc-c#u$=BLUZfFclw;UbplTX-@$q0x*Y zs!3E;E+eqwwCJHxbjz&s7-TU~jfFJ?rSSM{+CwhWCK0tP@fF05-@ z`a_KyWJ##n#-nVmRiR=2ltB;b`Zf5Welc(QU)Hf%T8OACcW?M((-u#ly5TSD;503O zDwI1o`h|4qe`Wk8_xklU1}BIxced#3Q5}_@{7Ncixhk71k@f|9%4^6??YOSHlV9Im zX6*gJ4(HkHaa!vWH&1Il|N8ZBpQbjPt|GYBm3}ZbGeVrD-r;H5BhU4OocKu^up|=F zDep~c^{AH*>utHwZtb+%4G!H?-|T}_x%3ISw%Ztm=(^YVGE1{yG&kJQ;kyGLh8D5H znTu>%$grzCPClo3B%o#93VvEnY@ROBxflYEA$C*>!=Nx9#%X07h_$Ac-kOEWMN3YE z1@1n9uh4bBB6#hJp9tX->AIgd!vjNqS=9klJ-Fo7#~9R*A$)Et&1jOPAA;=2X}q9= zhFb?^6(>OT4DG&hE?OfGlUddMSz4+5_v7G@@L+X$C` zOCI95HIB0w7HyVI)9&@_!2gbB{T2u_*Y68v_~8DX26|PTmBF~4r=;2gqRJ}II;fKI zaZboj5*ge(!{tg@&z_X}bdXwc5<#h*^T|+s)mRh!oAL?cXz_i@v9C~rx|e#Ut25J_ zq(8KKt{5c(`JbN#5zI;p6lrvZYkcm9G&*ibkGaf?=t(f9S)8avMM~MnMfesDJd56n zhnhZVb`XLdpjonWnVOWjb59!K* zXgo)u@OqRug5AS&1)W!xiNjDlhL!>AbIQBC<{3UM+9{X2<2E}YSlk!U;sw+||8}{w z+3A)GeI5FJMZ_2zqsd~7vx>^gH5aRe1*;$wWrdz*R>Q@w59 zNkuwCKgYHI0V|3DgCkymaL{)5w=oJ?VOu#FTz~+9Vf_uaHK9|6Z{=U}U6-Ya#$pX8 zFr`WAKZ!CY6BV{GsI#+&&cvmATL_ba_mc9x9kR#n$pw%A<&V2D>35UGqSO=gGRDpf zH2eWYzu)V4<4?!=b9l`qf2RMe{^9)D!pqz4pYC<$L2Wor>xLb6Fa#9C(~Yt%US@Xg zaGRCshWpU)2pS&49I^=Ps^;5TZ*Ba~Z>x@ac$M<#_sn}ivmx!S=hp5nd`dlpm+XQ`nb7~_TIAx)+n*S-Cuq$ReSAVUK8D68(0IBKEcU*Mpob?5 zh%O99`k_$0bh`3srN@(pO{GJK4Su2 z`4f7#VgDXul3!9C*JK2M=!j&@H&h*K%pn^mFgN@})5W-2X3aI92Qf%ozhsW(3xe4# z3Pr&%Ur>|#$!KH^ct%BXUQ7_%3WmVgr{btkGY!}qB9SJIWFA}Tnj`!L9LU*#%?uiP z1^P;K?Z3WJ7M*Z|Sig@uvk?M!A-b;6o#W z4Ph#R2NCUqYK~Ah9J^6Ma>gJ=1kqchlC~M?ab#d|j#}a+uf)3oq77>6TdY@ z7%m^%7%O-LXa`gGy8gn8VgLE+L@vCE88#laU=j&{7+%7zVRy+K2`l3Nmf;dnGv3ZmH(utu zS4Hg^*-(iydAr93d1KHU;`*wH95eL}tlM#G&J)V9RXJ{*UE69`tV$-M!(Eu-GXn3x z-+2-AX6Uz${W*H^4}Crm1Yu*=c6p3OPT=6xmC3u%C_0VtNs-54sU*PLrz zQy*%&+5w^#@4)T)vx>rd-M5h(f(X&!@Byag zcpjt~hV~#xAM7n4tB@0njU^&<%TWi^K2OojI(~Z@I8D0ZQ}McF)B%rJ)Nf-h7jFltZgJBO|9Z?o-b!oB$3qtRJmz7ate@z ztVJsCo^H_HUpbhw=^8`%6LP^^09Dtd^+7&WbfF6qD*=DAkGU3`wI*VVrc%rTwrPh8 z4h)>~Sz0>Ud6(L}VAy(XiJlaazLJYIG8dRO=lN(Km)rDc)iw#mjj1>FEprSguF6K@ z(F_*^)d%mVJXg)4=i1Wi_IV#(miw@=Vjn~fbE69k{nJFPRc{Z0^^e7N$Bo5n?7q+N~`r*&~=(|pd{x~K4hgX@&~20 z+W%J@B*5Psr5y1ni|^mXSp_={QBeOnl0StiMF!zI`Ogo2T-2i0ohl1{NIHlrq=W2I zM6LMJL@i5ZN8=#ySB`;QLW-*;q+ZSTKm)x!B!Ojn*xIB08@t;BwLOG^M*|7jx*CHD zR%K9wz}s%KugnYvl>?Mn%Q&Zwz}~>XGu(jX{A9ye`nDYB-NqI$iy=*qeB>4zwK>ae zENG*i1(}rw)huX(A8rqV3jKXxo&zdoL#j+R_t+dr!;N8}iHW$^O%`4TjPNUFnbm00 z%w|Ci8-=`al>|lZRLCI}~tus)df9q_4Ca-KA zm9~%&$T@!wIPrmQ6Q6?QPl}9~EfIzmY_kVxI2VhK4#WtndXU3rS;ENo2hO<|^R9n= zi{b1r*=Vptx)Iu5CczvoL5;TOxJ@sguPK>p!@U$PpI#c54=wq7%Nkzr_ZSvC<1Y_N zE^lF3v+2oPstg)mXW%q;gPCnN*zxyv_C_~!n(}Gj4FfVVxHT#@0_IrAl8h${Sy15R z*T{nU{Uw5+kixiTWjR}j9d_z2tbv->lZq^bxoO;# zu(nswSUusX(;4SfOsR3Zv3AOAV*u^cv<%85c7$GOW}-hbrg&tV;_bdqZ|vP_t0_JS zyrY1OjVZ=|ht2Xtvl-6m05$VmtYl5GpE|DCKN%eeA)&!sC$I(Z5z4zN@2N(nu# zCLyee?W2_x1b5E`h8eGzqm~JkrO_1>@P&bs$yUhH4TVi6A2ZJM!%hP6N(k3Iu z$fFLY(1>;A7m;VYggmWY&WsDzW!$b}qal*`u8?yzkxvXFAKQq$)7fs1ZtZF!KMuS} zK;{OKCw@pVT`9NH*y%X`Twe05rC(Ois@Qc}bhiaUk)d#2Q;v-V{rX=X$a$Iemj1<~DK|wD&r< zZuwM^!)f6419BGFaaYwcM!?Lw@DKS2|Km5~&~JtD*lDoSmxh@t!mm6v^YN5P^Mwcz zICETLmBa5v4mnjH5EjXmnQer>nj+SqpeF5Co{LGQBV@>$6E3Ifi0kyoM|0WRjD3S> zon+#Zdzi7_ua~*mp>*K{@~Irkb9o~Dl+jw|?ne$kK6Y0Wwx!@$KFeb{@T$tqqn80c zdKm~$-OM;-n@!Q(U<;okxS*^2JQ8Y3mv0C`?Y!`vcpD0I(eCG;4hqUmuDeOeyBQbacati%qu#9U2*6`eS=wgmp!n0g`*&p4T0vlPa2V;jNzS9;qJGek!FwO$wV(-i1njqTN6 zMXU&XRW*8V?qj7eDwRTfn5ThJl|lOrMg<|EIL zDAJ<70U`-YEynUmMn>LtnH?N$3KJF&k04PFA83F7&a&8L2KtmOTTl-g*;c)od3p?(Z^PlN*}?w)i|#|cF81Ez zh5PLHAsf}+VgU=mn1iSld1l|RZdktPF8lejpNhoL#tUlZ6*^RJ(XF_zXe4S4VNTC^ zHjJ$N{h{%F47QRzjIRXHZ(yAFz_{azPq*4 zZ7*;kw!RokQPq!O4*p@*;}JwzZnX-2g2)J7jH@t(Kd=M?__Ng`16*<=2ekEg;u{Oe zsQjv^+;#c%Cph&foBEU_FyF8gCx=PTOW_~3i~^T0g20K~1-_DPZf3yR_6NU(a$O8y zaZ@im9Q0uSLdwDQ?H|$}{})<{(QNPw8mO1FGjkUt_EJ9_9X3w={uI=mdq=bASm0iK zMtssNp##6sTkWau-+{%&EokKf%FZ+TFumLwhdF_GmTAu{=0&^!cB6&EnMCYi`$Wjh z;ck1UN1XD?gYDwx&Q0dV#9x4|(skVZ{{>J>2MAsIs`FQa0086L0RT`-0|XQR2mlBG zCXQBF0000000000aa95UBLE-(WNBn&Ep};TcV%)fc4=jIFKTlyVQ_FRIbk_uHe_O9 zE^2dCR1E+J7jNwr-Uu3l%+ukv$ ziNwijyL-F)CUfD+-q|r(02l4nK3t`A)ohq7gsX%0K2+<&)!xpYZL%p`?Kk$}%ENl? z-93{H;A&^L(KOiv%j^a`9Z|hDygS3E`;C^#hIrN9ftJVEUISj8JAUoB&pb9@6E4%4a`VeEQ1 zHj|yW{nKF*Pb05mB*POI+T9ZWS$n3jqFKuJGz(=_PgtUYTIr`cmaO<^vzg_|Vq{H^I=;3u7! z@wT7Fan>pHh9ygO9QUA0%k{hmGe6261!?9-(6KS*tr@Hqsjn3~k>$CW%MvHHU_=k2 zK@6uVw$fl2x#4sA@ZCY2)Wp}_iU(V;4}-){t&`ZBo0*mG6>Bn0N3eyv!2p)`!y{O2 zH=CwTA}$ye&io{Wvkj%!@dWD#-F?~ zEPx+g&>y+cFm_x9->GkX^^i7{_2jw(V2s2pin(y54tuTmAVUKAY!3X#2v%o)teoSp)V_aChQIpT3w6?Li z^ekw997M1fFbCR^PhsB`-etbk591UnEb*+HOze|Qn*s*BfY!#=rzU(tdpU8X}IeQHbI z={`F)@^65eu4y** zb_KE-0)iPjwJMxq(mvGj3Vd|`T*EAKid%@8VYyRlwj;i3Xie`TnkgOik@fVxb?VR4 znrYHCv;_-v&4y7}=b4p`;xp%(4Iui{19daD)Ptq!GJ`JjJNQbA(E2PE^{{`q=}(gc zcIPwq)Q_G7vp92Rao}w=^7rP&_v|HYn#p58S$xW4H;CXM!^9IqVYV}Y*`As;I@~Kr ztbo7HEW&qPe=C3jH|qPa5br*F{OCdGk70N>Zq)pWlXN!n{m|g><&zWM6C21fJUbsZCEa z?I}ze&{%rhV4>AqpPy+@ts5bnb1LR@H$ARU(!%A=B2JQ7Us5S*4 zm)`}J{}$8t?7;PWV~JGRz@3I!hiabgip^OuO@xv(F#6NBn^hzEEaoG*apPL4)B`H% zLFArn%_YXK!wf7N5 zdJ2{zRJGd&I|x+)M#8Z}G8})LNdZt!5KvA8R2VshBM=NnSv_)R@DXN(Cvpn)i5tOJ zUjlHhd>l{k2cC}|TE$1FRYwi_&XPFfjj59*H}X~93E+0i3x+}F!j0!s0RX!mtJ{br z@`grFW_Fb8Saf%mU>nN zMYQ7r=T={f=nCYBJcL^?~jKCvJcu%eL6iUG_Zl(yy`h(fFL^&6I&c{MQJuz49Ifrc_XUm-cEUx zr5za^R*b=gi2(BM7)G)A6dtd(f4t^o8$cW2?>(&EGsOmL!s*6;`|J!5yvgk5zG)KN zE&%5d0_Twg&dt{Tn-jBeh+Kry1h@%ELm3CsoM=TL-D>T$ia;7=B>sTl?Mow z2S~mOI5E+o6wBdse-r~#vxUnufQ6%rIxjSqMQBEtx;}vxa96AaQiW<7oI36iB^>%0 zEQ8%mZim*F*99Bc-QG@eMi3tyCq0%qFLGfZHnJkZ)v`O zkrQ*bAbP!%ur!;8ekWU+I{6Hv2ex`@4cc-y9s#A)&wK&>fV2dHTs-<10JI!q71ktC0-aR#IruVN)WRDbR#8OnGf@tjkPupyUH zz(7m>;A26^kZ7r6G$z28AaT{9v7H58Hrh6z5b0M*o&)QCHF!|^*tB|dexD^~E#|}` zoypCdtb$Mxp`tYinRh0TJ;56|u=ok84t;4XzC{IaR94%n2T{anY!163q?$$33ZT3` z>8OovR7pCf0!IwmX5~f$e9Q->=*H%f*$p`MJpfB=f`uk=<2_a;9w!K&CIUX$ja~co ziN_o+5j08_4C2Hi05gJ1TsTZ{X>V^I;SxZjl!a`Hq$0m?yaHJA5G;8DBn*%T;VbyV z0Jnsjx%FASec~Sg@7^?krE`3_t-i=`hxtg3%3YHadZPkxn>hnqORlU1Y5RTm9Xl)Oizt zNGkw@CP#qYIk>0*zW`w^>JG)4ocmk8$YH97FC&Q093Vsy75nE|9a#J+f6JQUxW#}a zRNB&;#OF6|)H0`BXtFHtXCN@o)cR--WosHsQoAO|P6p7=w~1&>N^(OC+j$uui) z*s@7Pgel>fI3XTehmzxsOzphXnBvGoI4RK9nR7MR*GE}jxB_F@=@sAiVECE8@_rG3 zRxIHqaFmrnqNv%|{LGWbL01kPCA-~xq*5`=EOTFZQ52FU_&7M1k@ zOkSlOhh&)DB8+j_1Q&xf5LPc4 zX++yOTL|H$#)f}-VDedf05gAxJp&m(j$t2>;;kb{R|Y5HqX}xiI{8DR)8_)%z7W91 zQYZ>QAovPCh#&`%qI}<?%dm$yY8-tiT#*v4&>EUdkgldrZz{r?BNz>rcs2iOT=^jGPt$roNcy1< z&pA`y5gh>WD^TpRz?uV^85a3+HZCvJe65JDIM_ZHjQ53LT$`!;1uPKG;%qIVN+qIl zHz6tx=p?3MR~%N0535xk)(3$Y*6C{wi^ESjEd2j+J@#zc`>pSUd*FDqXgtztw{|)9 z+&kElqUXK6hA?($8jqv^lTdqMP{0Ph-Mkmb7lo>J40+c6WDfG&1p3D?cIZY z|6mQLF?NQp$469QDZT@QG#HiELJs`l$rpg9uPO-E+R`P#Y?boQDfoMYtRibx0qEJ- zO@=}AR-9$=xD#4mykn(-=fCA9Xz=lv9ulj-PU6J#6JGHt%9)?KUNB87+YQ}G>K__b z8-@w&2Tq*7{s@_n4R5q2=UZtU2HuvjT|HoEj@TBqDh#<=7Y!KE<=s#hgOx6>x>`lX zYKC8OqN{i(x{7yXjjfTJLZw5z~;fNuTQCYqoc;!w;tj4FovTTI9wVsY+C5TBqWcUAIj`5^?(6(5bjRHM)-*DJdq5uJXnW!QSRH57!`Y5F6m15OGw+k4G2DZmMZ z8QF}Y279PThOr_P<~XSKE-Gk&V#v)$hir~?L$Sa)D^L$-NIjfww)`nFmf;!!9U_MM ziJNSa&W(ITq@5Snfwcl$f);j1XsP!ul`kjfFV>*C37~}_8mc!17J9;q)r)7V^1#H6 z(m|YzJ1^)mguV1>?fRll&CEX>3}Bk@zWIXD^MIht)O!DIp^dmJLC>K98=zLND_B%- zr6$0RX#_2B6n(k|f0l=xBTqTzi6Dt|h3uQ?!kg zNRbe@hN(5&{^60S>-AEunM3Kw8vGq`(kBu!gDW+aV|C4PS;y_ms~~spA1HFa+G@Up zaYAXI;0kTnET@tOu5U_Iv}JduexQALH>S1*sfW)D}gnd7dfjLuJ>87ynQuI@~q1fPCeEnsVKxbzoQy6JCP}a)ac4<+GgcL_Km%0Ef+b;5mPAzvu#qidl@>(TpPV_XFXFa>I;U@{ zkCXL%oWEKhD{7#l^<6xAwJyGhgNlBhuJ7mhtMx<9FFseY={?hIa@{Wf0hH|zl~+v~gSRudp{r4>dlXEwHLX!7uIpWKOxfDRF>yh!la=*4MU4)7wZYkZaCUic;n`Zf)5+BbS9ilu7#_Ul zIGcQ&CAHniI+JR<^ObQPU1gm8#CMfh!K)2X^Sg<-9xp2E@g~-j$DEv6@x+Oaclawi zRj-VIu;BB1v@*Y^SDBxN1!;EdiWKO}64xsh?`gqVhR;TDZv~Q)A#L{>3*P3d*Di11 z2f^9}-{r6DR=tuh`16$ozk8((rIQ2S*^+ygFFBvjx+RBQ{-ItM`5KKqKimKsAFcqx z&sTN-Z(n7tIN&B+pf6QfQ^Olajm~PDD*m~6hsgukt z!>qE>c(6MCdoMA4M9G&=ztXNEAiIiq!#vE~l47kI?9#Qs5lXv(^5h?{j_>1_m^|5@ zZkqj7#)l?3)u8*?>ge8oiO~TKvSw@xMZ9)qo0eZO+xNLg2|wCDY(YZ?yVh9YrwiH` zdvAaL@68N@^US&tqtu@u_q=;x?{MzMb2DT$ovYtwMPCCV_jW-R#l#J%2f~f-dt+zul`hgiKESkVk#h=JIOqb2i1`3NRmbV6hR!m!P@<*5u-1u{1S7?Zri`-6@0f<%(g3oFm1E zKs3<2r^&6!AzYw`ZY5jRCvHer+&s!zxGk=FLMiLT1sAp=^g1+*4!^3~+eW8hW~i&t{&qdV574kizb>dfx#_SLfVw<9LvPiaD(?`Y53f*dj<=LUSta+ z_1&aDS{>HJ`l@ZBOBv9XsDC{2vrW@0535Xd@KMYF?sN4@(T|c{$~UhXYo4+7j#MQe z$v3Zr>NRP^^E4j~BY#Oj4ht<{uXmXhka#^e{wb?a^3k4N`h^xnknVDSwvOxr55XOv z#I^B1(#GGy*Z>+yAE`O?DoL;t#r+~{&}R#OFaQt_nA1&84Mv1bly#n~Ir2>m(6&!8 zH^{fZfKBb5)kS54OwKp*BYFQv`7}y>2ycyCVS7;9M=m&i^r#pVbI>vnQcek^naO8h%>jz>L> z{1JW@mw9Pyc-q})y;8>bgCO*kOtc!`OVdhW@fnJcG>68)0U3CbooCV6G`pI9H}AZx z%Z)CzAvnpRTw;`Qu^awyV|-G4=!EhwdHY_b!WErOh5yPi=14OGZh`7&> z5Bh1%Nc$7-X4;+2op!De;C zkiu~?!PyiJgk)$`A(|!OgD#z-=R-8<&6vOL3={@>)niaP0J?dik-p)>F!=jE422cp z=V7vX9tu832M4=*|9KyX%Z|c->T~ePKll8yf|yS}l%_s0CxYgw(ee?VqY zd#xSYs~!{rl&`sEbQiiwG!B&v;jq@xcx5QA?1;-(=nDdhls@}H;&Dp+0`3o#Z|ec z#|blwzDmEUe3dw(ad+eM^pfY{CC`z)=y7G>20mb?)qaz46gVtS6)X;wl0lE7fcp-1 z9Bk-mVXIAXt4%f4g10VkOtak@?D=a{3wg)|3b5e4jBjT@9*@yRjz$ksHRtVoS4^YzcO4RXdf+1K?0$;Fn7Lc{M2ls1BRJqrNtTLkhpU*3fX!RKr0j z#lYf*k|O4jhf-s5h!74MC>LwwGH4;Z)7&vK4A$zG8!ZLa%9z20%8&U}BeUz@xRGv( zu$7t1RFAO5b%coztAekjgfo}Y{wU6 z4kbb_p==jWwtEGXT~g?v^P!uq(R6d=x~Os~&MMU2jJiTXR!xDrLWR1hw#&+^iyEPWS<<7E$a z`jvb4{C-8}Ew=7OTrb#Ars{iVZPjU{D!Z9{s|7N=0uR{FPnEcP6J7h3fClS_ z;L0KJ#V8Dcr%IB~G&eSxF<>SFX_dScDTHdPsVera;?8(gth={s+kY=UZ`HPXQhX`x z@&*b`Ph`{sGS$NfNs}v>>M4(KLZ#fGq!^W-9-v~18{vrkC&8)}Y#oo$@ zd%DVV+Ra8)7z8pglSi>4@Xm;*X7Q{L-q8%S&Tvqk^;NrMBtyY=gt-Jg=0ki+l>{cF z8F0H1hBZ6<1;)q1(FD&y#SLl2E?#e6MX&et_|&I`^e!hgG1kIhxTB8KU=`C4VF9`l z4^b6CgIZYi#yau&(6F`K@hc`{q zIN?!|8)8H7&vI+8UjJLSCL*R!GU<^FkfQ_=mJWi#?50E2DikaiA^z@gKag@ z_~uPYJT5oM*I8$NNcd=tf(6*C$Ru8=@7$r}QueyH!QYExCE67gp-qCy&?aQ6v+nbw z6{dhPYqx>Tw?WAvukfxz;npamY2Nygsf8lVxW63!@OWx66zS+np-6FX)Vv7gP+p+n z26N47mz6c&&a>`EBAB#p@K{LfLMNbCZH}pTS$YZAs{&phZVHDwzGQnvah-#BzPZ+g zyylI~E9d(a5Bx7t+qR9aO1HS-cxB~^IZ)rl6|<{WZ0*jjNzb8UvByQ44>*dF8>v{$ zO8m%;*o$4?xN)^_ahaVlALAok-Zx+!1u0vs1a*r^RM>c(Xg@W{FTN zC5qW(wYtC8er0_wr{$3iIM_w?Eb;++EhOQI4MO@nIj~^ z9D(D~1%DmzHaspYULO~)FBh-T{`-nPSLyfE-fs)PClY>=@u3In>|G(Lj`CTh<>4XP z3t=26#@6(NzD4dWG+Qwy5s00$4@MJnH7qrg65zy&HS9*?`%t6Eca24|EcxB|{VPS7 zl}(kx%SIM|&?UM$h=3O4v^C!!K;~-!)nF-CqN;6WJjX2&xX*wDOU%Q8jF#4+()*ub zsUAd45ujtrRauq!H8z<}>hs|^SuxF}pz1LM+(1C18#kubh}RIhKl%Zcn zKd%OJU#tm8Fs`Yn>GH=h4u@j`5vvSbRMdvR%~PY(ht3 zhPbXW{YzzthnfoaRkJM1H!+_keSctmMS?UcFB+I%=1+1~+5;Lw+Jx!&%P+Jj9JM_1 z9XhFL%VsWLl(DCZp-a?B$?7RHwK%y5EVY~`icnj>2SzIONRh0pdZR*;ILL#>Nvb<$ z63Y2JQC*R?orYX8$de}t@=4K8XX=yy-L&eXyIgO^yR+B&F4FB+YEGT-2VgOCi@FntxlyfJQ z)P-dUWB+O~S@~#A;`2>WSrakyHikXdqM%j=Jk0~NifsQ<&kTD>xVUm6xPvh}(aP+@ zC@;{dWFF!uzkd*RxDRNdl){_W+sie2thg-a6VfohB;Sgy!r(BVD0T+?t=^e~`m&X( zXk1dNmFM~sD~$o)y?Li!^eP*erx{FtI55| z8BTR1O;&CJsDxq>?g(dRzfmvOv|@_p`!Ujul)Jt!^Td{hOBKTcd0o9sx3nhSi%z#P<+;eT)f!8pQ-a8&l2AUowMFi6F@n%xQj- z(xb9;C^4c$VWSjdrEVY^_xHZ*F#AL+t`l^SS{RAO-TkI5GrYH(!sK6gI8R?H!@IyB zGQ8t#qqlOIWUOdN5Ae*D%~kec08~J$zv-nmVd<(mIn~w4L6Jy1?k%fBFK%5aR>y<~ zr zV!`=jiyyw1zo;PJXvv-rE6OKJ_Q|B8e6VDRUr|0pL88Q794)!Z6_ae9T6---U%4%D zT0lQ3qMuX~Ve}mp6zMF8y!gy=`y|tTp56nR`0gY)G(7)gijvU;NxjtPF_YpD_}_Sl z-;AvB>-ceS*ZIj7MR3?Mw)-Z5;_2mm@Cu!Bc@1%_?YGLV{{#6=R8S{ML;`nWu+UXM zMb0}0Io?^3J2pLwffYB8fPz!8P9u8lh zNURV41*F}NXMXZt8b_*3t(gD-YgVXKo2|CEc?GqhUUm6aO4M?S-{rC#RU2VJq(p>^ zr3_%E;2c2G1jSPBG>ebmql&z|T-jy;QUIV|%TPT9D@3+o&w{ZZPtjVAMGnxh^1c+# z4)Fr|Zf966S#{cuo$7_{!bf5;dTXQCqbW_whR&?!ncWeyn`2k#Uke|X8kM|Nvk5A2UP_sz)`Gyc5T-wt`+}x~qfI3KG zV{P5APTL_Juk?JKft!~Lk+qEo=T2_ZPP}ydt{#^UNOE-@i#@MIhbZJs*T;CtUMj{* z*R4KDv2a^_hBT?5xQ1rUEd_M}f~50)%Fs3=dDY=CC`kS(Kk4`Gy|r)OziUYM9=Jf6eS--a7>_;Np=Uep2a;fY1l#0E zFpEhkAnUoOe#8p}tA*K`9z-MuxFJY?Of7LX z>aNK((pp;xU*v1hrc`rd`_6Qwb}|2W$gOh&E1$^4#kGJ(;1UNY6)yjcZjN|i6HZVG zOXpAR+w*&5R|RJj^X8?PHxCm*Ab{+nMRH*va8^=FpDjRFRY3F5fI(k}My2i})jiLZ z*U8v9IcpTpU2) z__vaq@pjf#hd^~H9rF-IJ$5JP({RvQcQUVM)g=E9cdAe9)B6?Wr%U$Hent5hSPi?H z)%Y~2KKWi13vvSG^J-S+^u20G5q?#9^4U16WM$Zw{fhFlC7aJG%4fLkbpc*1g>{Jv zyx}U~5-8w;qP$k~U{699I)*VFaPhH(g>$KFS}Z&AGvr0c4u?N@3jC@}MWP+Zi69(9 z!IBrTSmfM?{bxlORA0vMJ=&$jA3&EAl98K^gCY!JK|Cf52q4?QSzraA$j)KI1|FPL z4y95Kq^8Smi0*Ol%D_Z-P4pzdOHZXM@hmvuNFi~Fg?~FTH6%uKugqQ&IgM^~+Y^G9 z?)G+sES7g1^|TneTTzM3gDTh7&3+_e+v+G01~dr~pGPRwQEzHtbcMfMnCEeZsYxN4 z6?i5)E#9UUhkzKeAdoPN;Qm7o$qc9js94rQP3?*F@;8_2Qc-)&cF}4IE%OS14wyUX zs*sBdeH0gl7>FmWRZM5)^Jn#8m-4v8w>g!-ffbMMesLjKXVL?3{Ue%NkyMc899id1 zw$yF3NRY}?(ljvMbDoKYYk9NVF?}unIKvMbnVg=ZlDKyp3Kp3Y3vUYK=js_$vqd#Y zmSx-VojZ2dKTdjgqC=phJDHQHG&3a!p?ncgrXw}!k=!P5Z_~Y6MYPZC;X2CQ7AOW{ zUh|lUl#K7xZBvOkafLmYRc=6scK|8iXWQ;c0G`zSJAOSrpi;jtJ(p38c&|DdOc;u4D3e`V4n6+xB{il$ML>4AT3WX|tA#!nUy^X03|c;LXS@q(|Z=-F1IAHGA^ zs(209XDv{AM^p4vS8sNz%iBv>ti8ScSKQ!F9#<1SAMIU*peV{zb2m~-<-o}ZTgGl^ z+6P=CNP0jXZi$D!!yl(AfP+$@4VF%7-L-~ceBy?B;8k&Igoc7_nJD`X-?gF`J-8W9 zu~RCy3yi^tga5K8y~+}gm^>@TEhpSa-;gg7ungkDUXvj$z+}prCZfpBYjB;9$J9dj zlTjITRa=a?K&mq+CjxS#D9(5q!o;8WZl?UsxWE3Hn?wi{FtA7vA?t@Lb`Lpoyz!<9 z&-x3;vzt#{c%ABL9Z269X&$JNNQw`87_RYW$y7G@j(mZ%0V?l@L3g%e7a;OvuegD_^O(r2_IH7G~roA z`Q0TuuV&Pi8{q{vDj;|PV4uSaf)ah@S5ELE1ZWXn8tY}Cqf z2<{#!*wFS?MUldcg+vQVRe$Z8j{We38#l@&5@4(*gnbxtnjEQ^8X zwC0umoDcT&~f?m$I?Z&nsg1HX*6L>OrFuHO8WBRmSe*USV{*n!T)+@Oix&upF zPhk89`n2K54WvAU+r#t$grP`!8iuHa0>+~70>^9_I};qkyK#K#%s4b;DN`zfxZaP zX{MWeUR-2ix6!TSat5470|L<(oWuML;d5@=T{{1zQ?I^e>6~jHlpLNp{=((v#+Fo; z?@79c9#5-}?wNjc&nl1Z32q4AQfShWNYS}gRjP*=&~{SmY8&a|0>`^yOXXRQsOx$k zR^m$g=}76SfNjPx$P}>AHoU@j1G4=r%kQ7X6Uqb2@3=j+$`@3ZYVQdUIiGNGBg+b< zpNi7Oc_)HztMl=XBtVp4$5voX!GOd$htrQMkSMWc$ESvzBXs&YLlC;1=zAH!DIESe zL8eN$Ac5SORopn}hEps75~M#(QQljESx;-)unQ0npd^lIPzly?SOD7V?GikHr9qi` zcBULc7GN}ni>ig1X%z;I9`>mJ*%ci-}$gw(EUMBO{cnFRMWvHUNzm>|GbhfWs^y@!2IlsN`e1IK9;ku z1l`xi@v zkxl^{oazGcQ+b?E9PjwFXHh%d!SPAYIbCY3eV{_+t=O5Ei-`(^)2)Ie)m);@Jd6@KNC@KUdk~;Dz#81(h)k87BwaCKxDtSKLA&`y4d?e0FfA_g4BLhfOmtTsISGq%;>RgT4rT=I&7$}qzEo0C5i5%% z6(Up?Cuyy`WuZJ6wZXaQ!IIzEyTN zfUrY&-7gFo#);NIngvVc%S@QF;M!bV*u1S+nh)HJn9v&6i>()$_S6>=*!?!1K(s_- z{+*02Gq}|4+jQ_WCNC7kF|1%)12CvCv_jflje(DfrU3zei&Fo`NL8Rw6UOkx^Co{+ zypk~TiwRF3*)=Z3&wsmH9*4FZmQ@+B$+0=qdmsqGni(yUW3|B@@ zX!E&EE-&lkvHB+faOqoPcS7jUhhbqJky`?4xlRMeTQ|Z|g1Wn6i~+l3J3wQM1it5;=n%T;xQ@S6+T$g|yhQ7eQ}%lH3TT~x5p>rze?O`= zdka6V=BA_fs=4VepH_3_U$rZ7VujgQj?*|ME9h?!eG8OE2#@qPl)Aq!b-+rM3#h2C zRJqL4g6j(Ze112r4(%vzgwO2cO$EFtgi!4W<29y5%quDR^{o%DW9pUS{s#avSs&|` z0#U_R5qY@tS7KdH^l+Q7GbUBx8qk~(y}2Xv`=pA=uAypXQFs?HAcveX3U#ri ztXFOubZ>) zd{DFUpvLP4wPY9%aveP|szBHAa+%v~3e>e^7-L~wE0fDwS>)dGLO}}S+TGb*rBl=z z#=?xbsF(g8U}>Qj^o6VhphJt>Oi7t%1UG2ToYeqCCW7tMiJo;5Ly20lwxpY5<+dM1N~CY_88J25-y00Fl$6ZD8OOkI#PCNah> zeDI@M?ML3W$$pgHtiGuI$imx0^GD{bqSD;g26k+t>ovkMt*pt*^vNB!s4O424+GC& z;P4SSM5`M9y3wy4{C7Xr{0JtTGte-5gDD7aHyUX9p|(JD3rcP_+imDcRl-}%+r_t% z?aagvzrMzhYPcI}oM4T7>@kczfw8;V$XzX3hkwh#Cj8ru)o2|w_YeJBcGEg&cBs)w zdYd zqX$O@W6C2)a>cfZk^hpB+>2vkZD>Vo&PeV6(t>#4de`-)QG)pn9be(Jn-l7UuZ*UNV zave`XH#${~3S9h3Ezy@K50B?)sE^RO_ARAIyL$T^!`I`eH2YWi%zPPNeXjavD9!c_ zwDnpe8;X{2nK5?EE4Rd(38F!~a#mkw!{yDs)AUoV ztm$&b1~}h)@pv)?g8c})sHtw{g@|*Bc-2QnSq^~ITsVqcua2xTrw3g?_u-OD?%r*X z7LcyJ_skl`;tb8h08MOa1w4KwtTv-WpJ|rFr@jIv-}AhJj3IrUwpy*0fmyZ@>#jrI z@4sEG{`&B!nnrkXzuL*>i+47;N+A`{K4=RGBFaSRrzO9i@Ugjz#!VuJ9!d3zK{X7c zBC3W#_LVX}z_IdV;w2S^+^G`qt;kP0(&wjI9jvvkYe+i_Af49mjJhy!O>V<-r@~hr z0B4Gh7zPCxp?UHU;51{U+QXX$R0o=wzsMcYp@g)6WUtFl89JzPUa~yVqg*8} zK9P4qpJ=nyIQza9M+l`lnxQ+dapQ(B1IZUd;safqt6In=Lq?s~?i?8b%NLPz`R`T$ zd&Q0VnDmhnL73%8b3C|zB&<{&*y<~d()G4s8Qc8Xk^wCESS>}qd1>(Z8d0)>LJm!N zkhDowrLN@8xfd6g)#E^aE zvq4+;EjM|>u|>yLB@Z)y{Mb$4ymguk@Cxr-)@$ytxllbfmMUqthyoD}r|6wze1(DK zih-0-{=O1KSu50Ge5WPDPCv%@SVkHfOpDdrIX2GVpkYR2AJJS8W&RLT3>Di#JB7SH z;-7aRMudpBO&_MhxZ7oB%nKxnktsJNobgi@0rVBSgZ) zB9dEK2H}}HeIAQ@svR5;56)A6fPl-2&oG-)3KjD4pd>c8SR=DvC~;7($MzfRqp1wn zdtL7AVkn-hw%6X>#oztCrk!tl!=0daJFVNTFWi}%_LE?e8D&F25*j#gU>1>;o(2_SAH(M;f_Do=#B_i>#m zW;icMEabEZi6K<~=;MKcpvEr#4MObIZB2CHsSWw)KPSi$Dm^pu=tWv-|-c2Q>4esN4|>(c!(68Y&J$ zJ|e-K*0pIuOD{-`5IQd?1lILMyksx7{Rj!)kDflfC$s+4(rs7mPJ~aP10%Kii4WL@ zhpNJn;|%ay)s9~jhhSV^giFJG(PKQ7OibbKLll0P&%<&#U+tU4Sk9;Yt1 zu#HcP<`2{kmh60ve3e+m z2siMiA|#Zg=T;75VU)n@rkglfvI|Lz`v(ql?lYoNs$F&&?OXSSotp~_(hTi2@k~$hnC`|44_1@zzh7Q2#RFra1ou|4a1W8|4GrH zQ0b9jI}&9|h9}&3P}vNY{Z@P@Llai6r4Fn?5N0s3T7=1X5Yr%rqv!&~FdfR)kgQsA z!^%Yr=sl0fDNY@w%Mn6}#LP_+uaTW3<{^arBbtP1pcI287{PCQy8zK*l{smREATPq zHgY$*Nuo(dDGYQj7?JI3MP2R-m5CM1IYCoqE0V$*@D7Kidw8Lv@w{}IQd*B-Fy}6w1t;Jl(I@%W{N_07-MH~q3@6A1 z4gv1;7M|)0yI7+8^Th@H%I$_d7_ce1AAELkK?Ss*5jG1VArB&%71L1?Fj~P#)yQhC z^oN6192P+Rb9oQQYy>BXR1)ZsEu5mrmnmkPZ0baCl8Uf4VuBCImV`*IDZQQ!~q8}ii}duuY(WKIcet9Y`JaxfCA2PmKmSgV3mG?h|OFYtVW zW#wp`kvj{9E>yNAp_{?J9Crb919Ls7nR!BCG9I7a$27ZKH5hkX>+@%pFv%18!kC5b z9B^3S*&`|vLf$9g6u9WLbL?7=cA?4n=WNoW@L9Mzk#`Tl2b=*BoDwYu-5~N4^pGSY zEpp-$?t0vBDsfaac17KZCz!PZIIb|x8$x36!HfW2n)y&rGtNf7ABy}Z6b@B(Prbk( zuP3Ianq6(+lqdB!L;|aIO_bx+%fvmtd037Pk(5&Ogpw~@dA80?5M2+}Nt?$Tq|K|I z3<|X@q=Qf{;F|bvqYE#~;^8p#pTNB)oENdF`8#EZM-O=eW`u^X45s%irY2-0MgCa1 zoin~z$~bGI{VA_Yt>QbID~pxol~y!YhN2HBF_7+vw~&G2W_~@6!nv^&DV^oCF%vi5 z>kCAKqK;)WTwN_^UOv=l%}}HAP>Vx}x>p){aj0rfE{Jd6G_-vC7W*ZW=wcDyKxOLT z5(EFz!V1n{d4;dmxZ+nUPF>i8zk#7&X^7p+4XP=8?!AUN+8K* zJL_WC3E3w>sUK>7nWR{I=tAx&mAro`> z7VaC7okL{a?ubeh>2~ao<78e3T7F{i1RWKwO%vAS{)t2c(gg5u#q1_sUG8uABo3-{>Bgj zS^OwI^OJin3WZ2yR4Boa14^tc+wq-97oo`Da^&TJ?W28AM)7=9tPM>V#gZF0nz@Wl zh}lRy=m7l4BlqW0yl!;IX>{xLNEZ@D7!92a^8@F_ZOr|*MWOQ?LreIVER8$2Z{fo` zH~c7_bgwV?7?&@)@wOANh}1Q3`GebDFq18K{-o|ENqmNHL;0N_NH%JbXRhtUj03h# z1ei^7vKWF;GZ!pGC@@Zf%%FJPO%z&^s~%>M_xrpwJA|@Bqr=OEt4}c?g$#~Io`V@X z4I+;xAu0&gPzHK&(a=Pp)R(Onq_vo3z$l{Y2>mvDW@n0p2<%H*%GKm2+=xw6_K~(U z*5po<>P2moVzh@_(qoNc5miSzDd#?o*U9EE(xuCzqI45^<%FauSQc`r@Q)#t7E#&5 zoo8JIHdOgTDd+a&w#&)W;{=`Cvs~aDAG^KV4t`_D%_YfhJ*jYRPqtljZpUB+cd|p* z@jHnl18xQm?G|VszX<&{duE=gh1c>_ru<`pFd0XSEJuJ$B3#DtT@MWs^4B;<%gwWx zhO`*ROf1Ji(wIvk6Q=M5GeiZ1`b+|LCSW&{;F)m<%s7x`9F8(+DRxFx1#s(?vye#I zO2ls`SXPoPNb;t-%1lB<`PGF3(jbgsb2Z!To4#^6%F7~zDWx)H!tjE!aUp17*B37S z3Gh$6G+(TVEUVnRe(7bs)2`pjt;h~xs+gKibNMoFp?}jb@%^Y%@cZHqPB5u`!S{=o zyWwQy@&|8+v5Sv(dgf9B96s!^bBv+scG?a6b{M3tFR#2kes$3B{R6scH2S`WA6KT6 zfvf(W-QI8G{=xOaez$fHL;|zjeUm@n<#rQGv1pXeYHb@z8c=euFN)k6)!4zZ9elsd zAA~h~pI81q+iLB7Uz9>`jRRTS-u*tMOlz6>p!W8R-jeOMUp2PmUAvkAc>kn2*3nn} zbuo&{Q4e`2%AyUDj8K#(u(&iM>OzPl5D={dq$=jMS$!@f6>GFssZw(=zi2>E(lfkT z4I=wL}H(g#W`idaJu-bfya{u42XDt_ugYeu0Y-TV*(~%SJ8y zzXOu2XM8!hm>sBtsZvB0$wfUDH&?$z7&=Y*_oHD{9v3YFG$|DnCTRrXJRk+qgy>}+ z)bfyOnDU96m8&3Y%E>sW;c>$pgrBboVJ3nBWE7HuS1(KF)@^M)P~-HfUrG0yMcRW~7SCYeK217CA{IA7czhv^aUm9&?IRJjE0;g#lG% zxx8eFc{ogD^1gw!x*R%qlMks3F#YG_tes-C5 zQzT@{w78e%Jn%zrYt>AMqCH{Eur(Dn=^ptj6{!Q(1oy>UZUuCcA3kBUqVA84XMn5T zfq#$TACh)R(!sy~=l_I1NZ(D6+=G8E{QC<2&5a(59ebx9p-0bge5-ZQz=$Bnh(~Ss zuXh}Oza_Iq)%=^TNqinEb2u|oGq(*iMAr}yNs?(6W*2BRCHv0}5A^}UD@<4w= zi|*?I|9qv7Q&+;Pgr*w+{~=ADfTtml$!DlEda?2m(dIQj%KS+u$muRc_v_O}Cro&9v*?ZX5zH)k*GPqPoQK(0fSq?j$O< zjW1M+kAuju8Vz6#MS#U+anf|Kkc!#yQJ6ctJdZN9-?|I%YOkY|x7kZ*igx@cL zlAQv`z^NGAHiUd$c?X85)nlHc2R0R|dCKgkd8z==^rk=t)a2%on9mo<=cIy?`w9q^ zEU>^0iYaBp)GP`!kPkzi9k`T3{L{&kW$S&rd4!RLL6hZ@kc6i}K>a7tqb|QUI~WTn zyPE;bI+-Gs#9ZK|DHbZ?ASYqb(nP1NWuAS8pY)pG_KA$qRJEE)m>V2XR9K}GrVTf7 z79}M#9E^hMxie*jC5bzpD7dHg=Rl5Wq@YhEIYVLqYd<>MHgBn+&kA3xwU4PBnkbx@ z6qi3n({*u)9D{tUdgcKgX`IMMEKoKk9J(@*ipOp=cNjm={92q!_q=2KEvC+B2hS)v zc)sN(q6ymq=9rztS-D7=5h$R8u|YYsY45Q4{b@GuSi3BTa8MO)KGkaDt$YEm`!u7~QUyt)BGF3Wz_JE5+TcK#H^0<<%hvg!k;Mi2P#0a#%JYac1-`UmAg2mc z=JW18oMbm{jIge}6;YFN?=AmqE3xjvc8XZaWaM^XZh=N_yg<=j)(Oy_l(Am(+XRe7 zUq&xc@jSy?Dx;-6^>JN3Ji%1yXaI_5LDA4$i%qDF?_XbT-fZbaG8oiTSOVlokadVk z`b?LL%9aQ^x_v9={nQG+-Ef!?@F-ZJ<;`KM<$UksWK{&+CC67oXU4{qa}Vu<=4jtp z8)IUethP_KM5k1AhN(G$V%cl%ne3d3PUPYrNstlUln8QL5dqZ6Bj-reeOe?aH|C_4 zheZ#wb1SZAl$e^2{<-s1u~Rqi>N4oUA(W6L#zfPJ^Sp*)WB^vrYcZO>Q|MG-%a6ao zZOLVJgY9jzpiDdtdKVY?7emlFiIAb)&(5Yn)CGmP?$=htA!6E)P|f925|C zj{*4f9A8>zB~G3X%606noA>Nu&zTc5`HCx*AT|$xdPf-~Cyrn(mP=WK7sNu$_BjE0 z&KR~24gkd4dwKq#7zPpN9mmjdJHjhT+crngKei8#Va7y_cr8LNeQ#$A=^KC^qmnsmLf(d^J za52-_!6||uostPm^Vpd5f#e#-MlYvoB=8K5r#*~O3{0jwo`eAQ9@bQ6S>73H+(Zq^ zfQC7Gg=(Vj?E9^*-zkkE%%ed@Jtu{Jc$lyf(_9*?A}j(V?NH+}jEf!nCPx4aS7p*) z^DrbO;zwwA$W?}9gb$nGK`nuum9h~2?{i5|zg`z+^;?*(N;xh~nb#|gFg7(Wrrh5C z*z1u$z1On>@7$SceueCDd50)wj?)~lLo%4?BY;dzvyMMx+j&pC1=B1pk@|)oOvfhx z&oN^FcQZk2Phnuoze}Ur=clyZ?Di2lNTi(}_c0P_Afi*RiE6DYiKejFa8_VLOhOk( z@msg8?K`)a@gINp*A2?wZVU}JubDC;8wc9`n~7=my7rAeW+SKbbZjI@i!-$f0z)R0 zO_p--fu6z5|&$P<{50R@Rq*cRr|(dLlADTjAaS*yQX2l^k_9HtZ*K1Q&EJtqVg_O1zZ zk9S0tn|6~KTZY-IY$%?fC$xd~n(-um=Rmvyf2;dX$MDXy*F)ScAeK7bYR=-TX!F4x z=35zZ6zW@uRt+9G93kBymxp%@c)tC%bl%9Pht9?_w}AM9sOAE|c$nO|V|Nm>-hy=$ zMfP?LOU;hW40Hmo1D!jBH5Z)$gK1fod#BkrJT84EA(mHZ3_9+uCbVnsE}3|_*8|AS zd99Go+Ed2GAxADBJCDUSex@Bpj>#f+3}~iDP9Ey$1VDn6aXNJR zC*ZC)PAWP-#<0c-u)*(Fpa>p)?I#of>eQBN(U z49A=%m^uvs-3U8qvhOOa5d+pBCpm8H-B97_wO8Hz)gXVB-Wae6e+M1Z^ml^%owW4M zh|LQAl9BFU2kVrI<;Pad#qk6k(Vqc5KS5dj@r;e|Hej2*qLrS7)8?qdT)BC-DsG(L7s?Lymq;Re7S@2 za<5(AfYvu%UEe^iZ$RsN>Fg_~9jIxiRntzdH0`Cjrc;04d7piS5vBGHRCN7MoW)sZ zF#;43cI-xD$r8M?@ph-ZWHH{gT5z`ucXPZ08aC{-q2`ckHnHj+JnYl$K|?$}!P};d zmG|IwMz{O)v@Q6pC(b8g6mP912_!Pqn0hG*4V1hhElN7VqLibL6z9~*ZU*%f)+won z^}b3pW|7P=U8MtkPB-0DF-UDp1Tmh5S>07;2NHqc(DB4QIre#=F<@|>SZBZ@zd-Hx z^+jrpmW&kLcpWakZ@ypypb;i6hKpO!I~_v=BI9%4vM1-=EnbAar~M`0ptl2fRF+TW`0Y|Y^3E9ltlXjQH+;yPdt zS+QQMsj|is=KRXaGJrb`4O5cJO5};ozZT!*-y5Kb0e21MTmE~IA4l(m@mby27E85l zm?%&!kwJE;EttJji{O+G3lj)%^dXLZ2gW_ZIl$m)#CVqBkihz^zTwe)cd+_stNhAp zby%J;)NW8WaDhKNyoH_O%S$N%f5&-?eI&Cwh^733I7umjy{1I4+%RjQX~iWy%Vqh1 z=g{_-;?-b;dX(!7;LsR`sq{r~tC&RME#x*oR8+({94bNGOrz5XeN~psIE1ZJRRyim z>%n;9d+2qIHP4Nn5(6c-_AeS3c14O(d=|*TRJGQR$72-c0Dco7;8W)d(b{#`VV*xo zk+#Dl=_c1e!Wq)s|N{WuFlOpG0TuR zLZI4Hn~DPyF%=z{2pF^n*s|WjX$|~$+-aHyZuC|-O$f+(_x)MG¿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
      s`QM$UKfIm{yAcwK(|ZJ(xUI8M;n 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㰺O{F7g-TuYoY&>F-R+y9<40J+tP!lL!7^4SWjv{6tWC;To!4^C zOw3uqoa9(VWS%`dv&cD@%E@4IOb6yC<($z+zc4B1{4CGerX6SC#UiV*Yz&8)ezHXd zR{B^~E>LJED~sH@zM>39w;6Z}ScEqQ)*1{105D5SVX5j*!GBX`T(WEai4!5`v4Lv` z8TAGT-+os>eW?l+0^<}&R>$@wqz8f#^XwSF)+iZu!;q{NE4A#^Yy7w9)Zt$-C`TU1 zo@TA&TSHYi)g&)3TlJDwp)y{nQ+JAPcoY5VORkss++eXv4G5mfZnPT6M2xsb#Ge9uEa}wEoCyXeB7Yu83!^QWBi# zk_vH1*d!6Y$H}{Eulo9X3*VFca*#Jok3_^JEh}m9+6Xyatv1!rCubL$;mkhnPxcBz9@2P_bR`J#zHGD9ZJ9bh zq#jI)Uf$Qr)7m+1c@NOEHropc2dEy zq=I8f1?eF{!V={bq5&>~3=H$O*%&An9AhpUnqELBnGj*~UODWn3D@RdCw+jv;x16IC`kp`0;aE;FpX(ayjG79no&3exGn*o|dz1ZnTFwoOd>eYOBd0do zi$Ed6UC;IDb2N-We2D;-drq{WUR{l5UQcMI6sdd(Sq?&$r$bf*6CEvvFwv37zY1iH z44SsT8Z}`%M>w6Z_k%hlh`ryp#dfF=re&*FhGZSn+Uc}SnGdF!C(aH@Pi9n!b3?Kr zbIP>pknG5eG7ShAc6rU76MJUMK8zv_tTlVKArb!;qffDwfYcVFPjMc7qKZDP*;K+O zFSl*4_Q*QfAseJmHk;(Ky;>zTG6VeOJXuI4m%`-I#d(-qO^DfEr3gXWt0pa0txwP6 zj=hX&A^fN`&%SA{CR-&gvnhaWwALg!>2f3CR|F}aef8znaMITh(k(z&66QQP%oTfe zb%x9mJf_7H+ZlEQJ40&h7e?IF4@@Z@aIQ!oVi4H0DU51+HEsgrZLj)BQnptE;EH%- zA@n6=eF;ThE@R#`*ad(+;U9i-)F+>Rir`bkK1J$Nz&?%HEKYi}c-m$;lh)}S22TD6 z0QnMtgv^rzMw*gyIrRoxWR#Y_o-nS~E)y1rr#N^;*Ij;433)>+LnR^&X##W0mVpuZ z&^D2fN2TiCUP8y+a#r95GTv}(MLV43u+9t-dd{{9OfcGrsE?ld==#7Dhw_|y7cxKR zcsTX0j}Q8!Kcn$-Gn|c+)2SL_56&7+Hc`*mGlBo9$8bz&>AO?V*!xzjL5MI~csGa4RpLatV z3CMvx;guuzbxP!V7=>usT&*{eslePqZB^e0`|E-}iRFDw9 zsZ*&AKz3(w9U!}-ZN1eF0(A!(T1Vy-UV%n+kU)cgjj-*hkAe7tsgZ3`WLiV~)5lYA zSWqSmn}`ep1!Em+Q!#H2(4j~%Z;@gilN?@tjx^`Gxw<*RxkhQuHIkg?;f+VEyo=={ zRo)#fKc;JvujysF)dS8IIL4%W0OfnCd@sYfZrHLgkZj;D)<#!uBfWB)s~yg{ZsHR9 z_>9kO>5UQ?D_P6E9@yjwvQm&!9VM{D0TBAqtx~P zVw5TYwg&*)TWkZs_H^XgL*&^*QI{dl9wN_P3VF(pf%w9a=cd4zFqBP!Fkv_XslX&7 zqUj(~YV;Mf059v10ozwFQNTXRx0%%2TG^fdO{lAySJx40sZOY6j@6R8gZk+m)R9~KqRn=Ly`;F+RpX{XjEnH^3jEuEfAC)q z{{4Ud0e^h>*N1-{_~*dC*WurefmpUWTY_~15D2Dc_A0pGtJMnh5KSXjgHO*$HK$2W zI2NISruJtw*;h?|29VT30RPDXP@5^U!?XSD zNN&KD8b*21WSsBuax#Ryy<^AA*ja&58n3c9`&dP>r#)KkM=`X=6o_IY?`{K1j9?To ziJ={4n^O0OAa(`zYbcexs&~T<$g5?2l)jZDuu*8(`n8NbNYZ$$8s}C~b)RhCU@ZfQ z?zYRGRg&NlU&p9atySIgOJe`aJtFn$*VcVDmsTro$6K(U%Q+NrSwJ&oFd< z#p#om63`Jz7NImJG0r63pm>~xhQlO~pH?i>_*9jis&qQKc}>WSJYgs=Ni;83T8{S| z47KbBTPDEGya+{vX>qX_TPPA!5ZQHsEKVx$ zE%MR`VSGsv#+S-%3Vp*$aE#(5F1u}@@#*(rU&!9J z1b_%+zPV(DTnhU#y&Yh|%Po&Op=o6m9WRwP=uTwjbShaszZB6%uvD3v3KmTT&-}!6 zZ*SDUG|IUZDsoUbg%V;sWu^>6^bxl*T?>{1)>LHT)9d5NEG6%=S0rWd3k-_f>tTs5(NeI? z%LG=PKPdfOJ8yIMwH;iMrraGmYD=awu8Gz;%~!J6Y;4uXwA-xlWGye>QBZybnhU%YvPuIop3pe$h+ z(|8ud1G)|U*rID)uV#?len@)*FLq&H(e`PtzwRJiboc`d8^j66bDaoN+q56AGpfqZ z^;spz1mLRk<8aq^2Z8v|1cVyDi@U`jOP#nI>;)9JP;+Q^i(Jt8uu zDzGD>ng@jGm|_|o-|ey9J?;2ykA^})HPpMAV`DEr;W9aK?6lUUsut>5Ls*;kw*0t#Qk!dZOzmEf)aEV9+y{OdNQNsubp5hk1}cbIjtNY z4QpU>22rcUcmgpiBj_)0P$U>#-~<~sbbF#aPDV%tN5N5kKHjJKERvA!q_;u_*Nd;p zcs!icISH@XI>c8G)#r?1Iy2~WC`vBz)3m49>Fd4JF#y&9~ zE%P~qujp-f>Fn)uE2p0ao`d(w2~;y;{n*N}%AhShO_dO1&jPYi!9G^MqsjetM*Gd? z>#_PRN{s0@;J=7ILEt2Z(U`{vw{Rl3If*sX-$CYY12Tyyv^$71a;X!Ea>){L?Ue3>v}|(&z{+jYGfsFZroAgp*mZqfUxKH9 zy27NjS?M8ji+2LI7(=47wF}FS_b8Zmt*yU4mC(LT8b|Np=w5Zu4N;k9? zw0Fu;yyGz~?Da6{!(etyqg2{#wM%@tN`0r@cKxmat;9hesuVpj`rC$_?r1p}*SDbU;&#_+ejo?EAmbF@GHt5t8H679-uBQCnlIOn4SZD?pom%2AAO!gY z&lLX>{vN}drX}4rHPp3b#<0MF*M5N=U%)dz$FN98`^J?f_>n(hFb?(gMfG(@e(h;r z5%!3J!ENme!mfm2z8EWZ?SwzwCpYZgiS6ljBTNuA5FUQ)utIL2eKu+_`*>D>kv;mP zjcHsp9+uBuyL@d$(7fAcF5Q%i_8cCJ+_s(3!~3i@-I1au`zqE7TC}9Kmq2PaalsW= zbel7%um^GHUh+GP$ZuGU=Y)}mrA+=s3Wy!YxNSx^3khHGmR z6wh0X$F@ilGZAk4`CM{ZqILW^AvkbFxwPd-Fe$4P(46T=Ue0fpQQbnc1SVx4bJHg( zExR_|KhY^w(LO&Px0Plp)^v?*LC*FGvs>z&prwITtY%g}5Ku<8q)iQ)`*9__g?2Q# z{K2-$LRRcZKHjj`Ssv){jl|-G+U1#~(HU%1QyGHv%T8I@3Xadk0?klUh8hK4}z} z{tsA;;m|;QQwn@>c2r^F@&Un+GxDA?u& zefAMjnE8r7@I1mPJ9d+AjXLZyc)@+hdm?9vi!}007{XKu66DmZW_P1*mc(-a<0~2e zRJzTgiJ{zrmdW^A0HGHgH%8u`i_JeKl@!V_6d)Z66)_heL~Oq@Wv?ldS~j zvg)-85whWRF4@(qDkYH?>oo!!pSLda)nLXiTkEjmP+b%l;{8So7v6~H&4~JMRlJux_Z`aHgxN3VAU}Vww?4a zqsrQooBJpgPSu^gYi2(1BKJ19CQyc5-iZ!0?M1NBy7Ln$b+ z4CR_SCr_Mle6*PcDjY#ieLE^)P*@*&j`qh?C%jYn(Bq3!TXb8{*XYVCyCD%PwM zUSqIWSq|+=JzN@~AG$q2v?p4(L#1`0fWuQMj|STEWs-(Xf~-bfxlLpalQR4j@^3Oa zn3EsUwe0wYxjBK%%g+@iNeTWwWE2(+PxHpYzGwsC@5AO0HoLuQ;8*~q@U9rL1w&+O zlG_Y2)V{p7_9|{AW^Si#Ow_CnK=d>v2ub8FOv1)kW(BJlPt>uEfK{t8Ji%(Uxr~2+ z0?StPwjE3HzPkn+F4H3|hZ&`p!{4oXh?IvPLJrVGkvJgsTSE*Qg64T4i2=IeCX`Z_AXk3QW&Z*|X;pY=k{Sgg9-!+%8(?%UeZjT8-dJdgW$LR)E#7p{3$^ znqG$h@P^=tQ7B2itLD+lrR=fp;(G0N;DaDtJ~sgZf(oRPZ*cxBcB!*nuhJQ!_G}&Z zEYbC)^=f(UgimyxsYsGYC{{=au${m@b3m9;2B??kNrLnsYa(N?+)|9d0#bg!GAX1L zlLR4z3gDELsO^wl>IHxd1-IuQUl~GcY!TuL+U8XD_9{fcD1aQ0WDv@B8Al0U;YZ^@ zW6hLUVAWV)vAw;MM9D*`RE1aLl!A^s+yFz1ec&jWS3lHA>NxV-hG{_kafae%#}QkC z_6o;zG<=|82$VLmhP*l8*QTbPr%V+h-noF4oJt_q-lYIcF>#0#IdOg|AnqdsQ(R2>@I97Ga zG~~4F0=2JDa+6|I_}bjOMNXq}k8j=tx!@Y6o~$mMvdB4}dJR%vz|>O z9SR$3ESW8~JHDJFitV`6YZtsB6Spr?`)O@JSDB#4pbSlu8mlq$yvLIb7JW$emj#}x zHk_n!2OIb8fXE_FQy7w0S*OA!WkMd>ybHhp%N#r*5FG1qj{CW%z}%@*fcdKnGpgkP zdJ!Zo2hehC$3u~ZXZFc;o*0Lh8C4CyEx!;ifi^y_Xp z=o2UE!2|pyYoXiPKvl*N3A)!T^912Ei>FHfr_v`QM(*5kJz&RyKP0co?&^#S$ojh; za1kg2G8YBz5BeX0_#Fhc# zC!O2zENj*1w}3C}21YaCd?a4=RtHTy#qi6K)9d32-c@w8kf#$#bIekeXDRz=lV0Hn zjKwQBNoN|gp6Q001TO$-JA#I|3sAnMWHE`EWSYsbeIJDUmcKkGtWlB`DXpCu@6{2DC)``%vnvLpIYig>^H`b~VBHK>XOb99(q6aRQLHeyy z&~AggVUZR(-_TOTA|)-&YPE2=Ns299r*Dw$Y8^N|{IgxdDX!HkScfWt9u-Luwl}tW zu%r7hA_Ef8cnc`9L3Zle7(&?YP!@9edf^g?3Lq0DArC2rCQPCNR_85XjoLSm=K~r{ zjDle`b1Mq^EkK`8RSftkDRW8`fxr3fM?EMrXf~1l3)H1{xf-)v7HvQb%4j)8=|ioC zsF$CtGo-i7PuS}Qd@sHV@W>C`lM&9$3sZhTaAFbB-X4(Ta=5fqt%p`=2BuOZRf{I3 zTJn)=XMQ9W0Bf~&S39KNv|mE$po4Cct6j3r-aXRAARlsg44%=vjz6^#XVOwk zHf{F=ixf=}iNyFP!ase$*U^$)T{hR3TN$L(aXqhY3_{O*>Qij?r`X&-Wf=ngw0#6( ztpNK?07~rxaGX2!(k9@Z`r-Be*$EG+MonlW;vB#$P&d$yv@Vg4!!}4>(%EVXP4!yVb%rs*kZ4z zD&p%JzSgRkc>!aovDcIA>zokN!q^UC>G>CrWfmlf)P1CtLRG3cqO^jMx#uk@VGs}R-hkju^7i?^g}E$sX0wmVirI$vP0nfxVan% zLLms^q-DRd9(m^R-Ke}i1UgyyG{I+Y_-X4E4B%n(p(20|R;X@7aTsjS5+8n{+TU&z zcv8J!6k9_Mt&5etJ#Q(HD?Y&Y!BTq}X;#hxbo)Ivs;> zqc#rxpYmzoU-W{ll2H_sRWvNr%Vrp)YNjq2zH*Ztqz8F?*Te3+*!@}P_&N>(de6Fy zI~(>3OweeFHXHCPW?wI4i;QN6`RPIK3Tp-)@Mo6SFqvm8_gu%=k&?F3SP5UR@X~-vNL(LNn2l_b7KFyu^q{2 zX~h6rZQ6;D-NXIpgcmV_HwYb24b#OVzBG^NOa-ToT0waRD`-yaAt#w1v7d7vvzx4ZdF}|k{Kv=c=G@2Yid@G(;|)TFVB6>DrpwP= zXNc?94Sp3F^C&lf(~Qu0&T!T+KO0?#UhsmT4TX&kKFC1{j2>$kJr)>U*0SA^Rh$ia zeZ0E|MK){{zChzO*$_dCYP>+QZn!?q$`HlIBu+v630unK_%-_ZevQe!gV{cfSh)bI z8puXPuo=*PNxbW7+( z1rgDYW;p}lq}c{9%{F8YYLSa*ps&?H&LH z?{W*-W>oe{6EDWazy{-=H?2&g>&1Sfmne(^Y_@1t_PQ1eLK^Jt0g*=f%k~pe@DP_Z zn3^)qU3v+3R>1qTnN>riv_odEWUiOGRFcM2wjlhK*ny`&feat2z|h=i{0ck zchZr1JgM%3=K%ws_L4s}wYlU=l_;}NH`|LYq%OLe2~1@V^193Ix{E>~ylpP}%bRr{ zqvpgVRxVgNnIODWD5+u$+XGK!`oKaDM5x?`P`smG`><_qf^@MC0!vo`abyh{3=cDL z@ziwmbQLGtC}?1%kL+lOw?DmMo!B62JP8?@(Cn}@wSrsrPGf7)UTbU>?Tt)CW8RsqY43zn zjI4&PUfms%tTuY9T|yg~5>6abOHiGQ<`;MrsK3jpWCoAx^I$wd$GquW)+=$U=Dr(h@mx7>IaQy<`7abpsu<>}1_f`(! z#N~Jun74dWR}Ab)o=ew=*K|&?%KhYpQ#L!CRA6PP#xc9XJI{fT^KE}emiF2KM7A-VRHs)Z1P0ntv;p< z`r`E*b_x=(CpaYzOMRYmBXsx*{X+SJ4%n@&^ z*33O`NjNoCv(*JBLZ8nSz<@xKaPEE*Jv?5rD~(bq*6#<2QCWXYga>?O5e*0nOnGFp z8AE@Z!tvd3Xe=#GPP*?@m=1@;VX@xXgh>i^_cMZ)MDG+lr^+zzvKW;-onz5 zzVws|W4j*rJZ>Ub4+uwX^*AxdL04(*=F>PGrbmXMrOSB7bG&S98}+y@HScuUUxu`0 zpp7hDL~2d0PE4PDp|aiQXG4Le_(-mg-P>b7VjfvzRXyPaJSFf~D^0vEhA5W>rWC^sTd`(*d)=&cvq=7ag{F@Kl5yX{z}2!K%~5oBek~+ezZn zJEd?WK0UR=qJ#12k)>JkmmQndLz@oe!3zfoXaFaj{lcUtw?Oc0&&0NH`8QVuWh9*b zk%ZC_Nm&UeY)y;Y(#vt$l{iNejXV)fgGfScq${-~8$?kCVu%cg--$%wL||zm5i#Mo zmT+`RIL0K>PkW1H6=(kR`L^= z-tAY>Jm*uL&g@(Tmk^##w&YWLfj^z9Pz-Y zpCW|{{8yeoY4Hy{9c>EHyo4C*(WW_9Wric9aO$K;a!i(E7Sm?2{2c$_nbnh3X=O6A z@M)0>tyNAb{N@(NMn zN}haT)s2!W&O9kJ5%Xv@SVR*cW#nkAPO#Ufkxp?jj@7QDx+7Ju-OJ8v67r|2iobuf zx=_qh6&-cTMrz^WxT@#qQRj8hvMQa3T{G&_(}soit}01f!RLtx<>i1? zr^p3W0ppx4$Bhde%2e+duZAZCWp>LN%DlMCZmnEKKl1gEcGv}mv1veyXap7X&E#f; zSNOwiw}%0hZ?NG;1-p=XZ@lb_Y#n#|68nOA%t7c`1$(I=+kGFBLsvzBAMUJxUB@BdVwtP2r2AkT-;IWb^-7cQ11e|-Ik$)% z(6j)pnX|Q-nw-!9UarQC+IZweaW8Ef(r@1uKFA#DmP7`OI5_AdY?~Eib*@;_6g-nr zql+x(`R6TuZqwtD-}7Qg@({#UBVAw@gB~bHBQ&8iS%$$27$=iGo;`1wJen2@2f4}; zFK@`ifdF?vh`&#aLa|^JA-(07H*Z^}jCMn+7BfpBeV;{anN=IC<73DBK8E9L`($<1 zxP3dqfPI%xb;KO0H%l|l$?BZrI7YL{V@R$0c1P~2E=(iLZj5770Vv%*y?}fJiGyy} zqu1d*dzG3jll9l-QTSN}7OHiI1klFKfK?%H-Q}N^)&3~a9Xt1e0F#7A8=E!3R-^GJ z4Hf9rz#B*tj3!P@li0XJ5eQ!nS6<|(PmInDp^^QBP9@kiT`Qge?xvIYT4W=sPpCXw zfif39bP6g*nu7F@#l5K?yVFPLT;s6ah({2U2QaAyF_N4?4#}p^q8PHR`mBpvm2asI zou8{YYc+$N%*Y-7YK)s5fiA&W#*l3I_NLF#M6&180UOkb3p=dho`9t`P^;MSpazC8 zN>#*?JC9qL2O9x6I|q2ppqs91?Xl|uMkTK%hE=vSgv@!{QV+eOCZOX~Hi?XPfoU8f zTJy@$DU02gtXV=(^Y2R)JK)Saso5Z z+@CT)OhSp3Q#U>VPpdIc>d33>mlGVx9Q)kPkv-a^t5`fWHR`$+>t1ThrWmE2N(O0& zryi>Un&Zu>?tz#CA_V^6K9?he z9o%*!ylJjo7h?rU;4F&Gv>pwK48T}tjc&{f9w6yMi|n#e^~w=4yJVMkIsm10z%F<~ z)#Ab8>I}|Ts=x=pKye}gp37{nlrtE@A}sC>iUW0HEr2=g;dz0xRT6a>3=xg%%7zc@ z1-V_X4#`QfYREE8OD2mMPYtd52@NfcuRi9;c0S6;YM<1|H0=2?$F+9oxKiIWmKSYJ!EJv%n*z*m_ct4kd`3C-!$+}M`Z z9j~KxX?|=*QMJmsFg9m97_8y7*4Xu-mE7^C;;FCd2j%X61%tp!T@V2NcnpHzWBGkp z!@mu?pmkSg7qsMjcA++&U8s$+3rXzHf|I8E9GncaD9A~d3_+Hc;P>zzfl*k|8HLtk zFbXke6ynEW6wu^=m8r5aE~?AM6BgBJj8mz)9hNUV!})BE6E9h2L`<5aU3h-eGCi`p zL3d=#G_h@D1hps7G%btmKE4Z%>;j*RR2O(0a`{cj4@jQaR~akZz_`~Isn$+ff{4{H zg2YTsWgN-y7*y_tM&&MzqjHpX=BjJ+Ek)&?^X(gcf=Ohiu|K8;SUCz(U6*ioT>OgqvU1ogN$RlHHn`GF`jHL-p$+`hBHuS5LMJz2k~! zJnMwzQm;6lu!&VCEW(V`bRBP^EM>> z{7Y**tB#53BpF7GmB-Va+Zcq~jQNZg zLmTEQEM_JU_(lPfc-PmsEEKH|@xFoEINgWM<;X$ZO?^(&y$-3V1N~_~dv$+~O=bX+ zd8my|oHYiE!k`(}T?^dGQo`mUB1z|}Qo~X!AwS>akCi#-p92`ijvRDt*7E|A@xvKQf9D;70&R!ck^soJxex-4U3aYdVt?J(irR zPRin-#I0sOrkt8N<4{_~nDz>3)go)oXE)>m2j#h~jjVP?_4urBAunZ(5rN4Q7(CFv zzunNGvCO!ueB9OaxX&MT+%9y=#V~>F=CV!U;%p3`$kd?WP>Er0`pHZYKmR&A3*uYe zY%#ZjlIVyV;BnusVD{=rY}5cS8u7$q0}KoPKiP+;cW)LPP#bX1(1miRdtL!jGvwziKh@B0Z%utre96jz!Z|);b1BgsLy;VLwjS?HVS%@|kX02()=1p(Cn-9J zfH90CJ@IZoGGzR81APi$7CGB=$RwW2s5rP1sUNyMC*09#%slVqJnLmJSvi5P6ipqJ zX+o;ExIS*!Gb~}LAT`kVc<9pe^G2y?$gBPkC{&!0-ukFQfX#A78*p9I2D~s<8&Go` zr&CF^0cU*sx=&vB^$U)k+Es44hPVY4-F27(4wASgjwP{67)!|)_Fmu_;Jbnjd5dA) zxGa*;TSEn0DMdVfOew@kfLuu|mVyW^Q@BhwnOc0i`~+XWT|rVx29vT_BKR8dFGVghmWuIN^Jm@@uMdXPDJ|I3Cr=(7Q$ zLE*&lNx)WM%ON}Yf=24_SzTueSR*784$%e{IU3i2u+&Sz4mk)2}E!@N) z09t0zDHlkpnn^T5E{F`YjSwW5yh-J_wgXD@-$^<7THqxr{DCm*92x#tkca|%$A05S zJx|%kqX!U;U91C>*);_|AQRE_NLKU+PO|m_*eEgZ)?*4~0(mC|@k1f`pqG*H!IR7~ z1sDSsuNY}lvU1mCnjy_bw2%CZ20cvWO}PBVnQ$aMg9on5bha&Bz#+)f7Lv4%gCPw_ zVQmoe?=gOdO$}Ur=oEMy362X2mpX-=U=YGW^!fuRRakc-ZSJa-!o@S(o(l_+!WK4! zrU=j)mMriqRRH$mi<{b1(i0oM2!`OTz2#?=)L7({L@qCDoA#58@PgRbZ|!7rvpI$31P^VU?QDSA zWxr&M5fSHFX?rw-G93b9Egwm))erEb@KZ3W^T5GbqnT1YDVQ_0{A|M92gb%83g-N5 zCgbS&1+wITU*n)~COKdjtMX5BpZD8i^67e7VAli8eHGFQ-0Y)pzTKr`it4I!S@gQl zVjosKt*QjkiKEG@bgOXP-3;QqG8t_h6vBkUX+Tx1Omui5sayd7hy95>UNi{V46%F) z?e$rGh2;?x?D!y7l^Eg<0n<2fg6R2X7l^Xp0t)chr7MM&@QGuR2%6=OY;8X%@moYV z3R&UL`5UV&szu%QIy^uT*$@nar5s)mFDXnHWGQ0`@)u6^l4s!JahA$rf=19~U#w#$ zmyoI$IaTB_q#mpfz^b6K=`tKut0Ek6XNw5wqnyZ@Wmb!#m+VcE%be`Mx}YwJ_nUDt z$kNMUWL1o96NtvS^kX(8yJAWN1AoXRE*eiH_F&Mo36pWTf0RUK%Ir;YPdTz9y zBf`Ke0h_`_XY|~qf>mG&&boRcMusjj4Pzgt`zHPn+SD^LTpE6 zje3`!RD~$$#9K%j*C?`85q5sjDWLBkvTEyb+>h$h(?HSI2Wv>{rUiK`oj-RPG60x{ zT^eKF+iNfb8}P6svs^lNesS7aD)hquo%RYbb$aE(^VEZS=wr1styPIF;2ot{bs0Ss z$unbBr3Y{SZ2!mK(>0~{|MIi_xBi@?C_VVbj~@K-=jwBgp7i0nzj^rfoyl6#gSY>6 z{~ONzy{$`RIe69{lvn2X}w)@ZLMT$%F6x>A?@auz%;x2Veg(FET*|%KHk% z_rLmfUSG#52an#-{XhR||E)h9-2Emraqx$q@8A15^zhO5{`m0TA2CY8Z+`jcJAZ)^ z`@i`0SPkZb_y1$Gmxn7bkKV`o?|t?Dd;fIAK8|Q1IoM3pLhgU<{rxw-1m*XC`_}%K z{&_?R$*Vw6{ot)pEhPW?@N1vn|KT4G(?agQ^{@NC`_6-3y#L^hKP8}_)jl5l{%0^R z2VePc|Bc_?zkB!oz3(KOBBhB`$!R5IW>Y2lN1h)5Q{@=dKR&wig9qP!dz|`l{}_{=~b4?g?uk@SuLDf{o- zJDTG0;463bfA=qZ-22~nGoyigbocuY-}wda{iC1%=;2p>KVJQ~|K@ji!#w+V<>US@ zelRxUh{6%3>e2V_9^CnCPUb|@c<`fteejcC>bdeXjXbzXo|^ICz26`FQ>e~;#eK)I1gdRh09=`j>gYSR+2`dvn z0Zk&ucMpDj7Y1{<6730f^>3g%d(w(CPP_8v=@ZtNJt=jW&WofJW&2BD>X?!Wh& zLsVr4-~BCYk_UIcFi}qiwe5fLm-~PIJrEV3b2-^Fdb0a}dFSBU|Ecg`zMgFVjh{aH z=U*rabf}t)=La+ly?AuzD=@hHvT6Mo&jSei!LNTiSwY5gKKR|;{eStVLo{Tf(s%B0 z;xt}EcK^d4Km3pH?tk$Q5B_lX5arnZTi-qS(;NBIn^BJOnV6JSD#!NkeQW(X2 zyMO)QD~IUDRDpx9e*eMye@PceE6CJRk5Q5B-}&Hh1=;>j-hc43JBO;s_TT*M!@vA+ z|BXK#K}mM-AMZT)+<(FZO;D7-?zez5JGur9>V9zdEf7#ROx%C}OGj6tsj?hKCY06nXhQyH zgBYVnQ#6S$!$dtAU+)J$d~g5V|J?uaH=qQ_lZPnMIFcVNbEqbbcS%vy!&PZ~8>x{T zrb+|KaPY>TCuPql(|F{=kpg3tX~>1MRRdQ4;LV?NP0RiF-hc4Uo%{E`1&ea<-7k+a z?vK9wCUE9sb!i;*byXUl;6#;n@YXj#B+ON&aX^3Yl{XH4^zRu>8l*hD_wN0>f5NXn z{`~&E|MBEiW{-aMpAUZc4(uwvVR7vL{_}@_`TECKnW3CBd`kLj-SW9J%la+L-1TVJ zY3jv3!LjUQw=Ut&u1Z#(%d;Bq~?^3`1x=&tTuRr4thunPeY2Uu( zD{q;L{?LBfFL%9Q&GE=p&0VHyk>lFyMc+JZlUf#e)la;ycco3SVGyzVxT2nQ5!vZ$ zev-he5$~%_aZ5N_mfxUpT|{Lk-0$ZS2!Y!e2vKwBc~SSK!q8P|mn!1huli-tqjDU& zJ=4mGoj*RfQcL*XCBADxlQ_9odow5N0G*hb&zBj%grHe6F$_yw@*Cl;O5EA=v~Nb} z8s5_41iF^+-g1|0=>xY)F{o+Nj#gc47`@;^b|--+eKiA&#)F<+dR5Rk!6F#N&bIxj zDS9k%0xOk<*uvBl=2)#X(U+2n3w3#lHDvzqS%17Zx!tl{E>rZgO8fwC`({i`U%12h zBkpj%a1lQ)jiblHR+jK+K5?)8->}~3+#AUoip7dAwm$BHhs4QU?P75VwX4Nmdfdf! z{lC>>GfqKU>}PSYyS{Y7Q*Md4#0f?~81TzFB9Z=mfR$*eT8ynvvs+&A9#d-Vrc2ur zDe^eH!)#rvezU=2FPNz-Gd}YK`c|xd5ac2Di)E4 z(=Jr%h;_9f)P-vOS^v;r(lq$Q`}NvLzdkdzUjoPj<)+F5&F~qMl(@{`x{*%>c znH=C!1eXJoh@_kaTplB4T>*!L}Ryv zaLOJ#SIjMc?1YWmP=oA#YRd$Z)&zaclFrGq$fgW4otViRG)x$*qpf09uN7Kswnq)`AciBZPFK$XKl#xY$hiGGfOe+fI4)ZD?eXLwL@sHDa#sWlO}gYv6D%uEp= z2}Tc@l`*}0(<;0=Y3lfJ`Cm7?bs z6{swh!RR&iHz!Gsl(-RI7{Nt~B$)iMV=St-R$yu>o5BVuMwq&hWeC8z5sXM!$eRLL zEN?UE3V5wPzU}15T04P^Rkjky{XnoJv;_#ZQWO_daMOkt@Y9Zsk%nC8+KZ)Zh8NX+ z6=Ri9adr$=qo)=IXVs2Ll7QuGyo6Onu>&9pEQVZ;G3}9=&MdSM1ct){$UPkd8}=F- zCf?wXz5RMSVAo%xNRYh@RTR=fT5+{I3GA)F^qHI$BnrNujAw>7+%>e$ly^_8sLowP zep!q!lX}((+vh!;R=mCCDsU1J;0JQ7A}|x6DAlR0Ko6u@t*F~{@#>yNvFP(iT1$4U zMK_bTck{rZ3{|0(Hf<^eS$vl{|EiK>}(`GuvKURVHrm>#=akIorw767Xd2(B!2tJ9#CwlUMS0@(l(U zw5)F8D$9Gf>|=SU$x1$#0;!p!K@=MpZ{Ds`R+kM!3a!QpL#xG5hipKxhz)i)#>z((67#`h8jhx> zMv}@M*nbg5?$02z^SE7;0i^LGU{TgNMlwc`KICrL+J?dr(m$U1= zQWrjT{mk8KRzeyyBzXnve4J}ZT1jBye5%Fc5o?`^Q=NeUY5m}}T?p*eU2zHCr`k@t zMJomYMzGE9!BbxrT27^XD(?%OIXSz~&im47x98_)a%)>#qbEDLWjZIS+`kc)irKn zkWKrnD<sCehu3fpMuF=sNgMPN z$WcZSdm*sc<#lM`(3TjDzu`uR#jqr*8xnwg9mTToiaXVTi2=ZhlZgT-gGS?~sIHp2 z%kPCCVH{ssb6Oj?z5F(};;0vn@6usIyS4iI_`QWuQAZi4h90NepKw_q((FZb!N0nR z9q;UK1lknaRTULB$TEIKLnsj&BcJS$1PRTuGj~d!zF9IT%j+aR+9j5RQzLfE zRQN=0v?PdhhZ<(kgBFu(sUwav`cmbPf<`)m`iLYzCaf05f%V0~K#&d@&u^a$@b*c$ zn!s+;WGeM*DE;IbN)nI#at`+tN@gjZBM4z8G#Mj3`q%$Ejeh*l#>~qR$j7MAgXCn) zwWIOmYe(ZFT|3HiHSyMgkF+GuFoq!uufpU9NSh(_Kt_{1ohW3uIxHIxkL$>|e&(X4 zpJAOS^`RD~7##OWaE!_-laCS#ybVN_7Oka`1dD4}Ewbz&49O$nA+){MU2)Aap$b>&3$k9joz z{6hxbnz)vM@X-EjrSkNo+0LL0yyGR25B17Qt}hgLT;Ul5GB8Emsnd#}OwSMjt3Ai{ zOC6_84+|=pr;L9(-~-py(@L+}4Xj+)LY{{8soB(TBdE<@ zysLqIk!$jf2lmx~yc)2p8>^?1qx}~H&Gb$bd+kYy*a=(ntkAS%uP#yO7WplIgh>F_ ziK9ZHCaE+=^(CK43AY*fLXQR?YjUjUk7VsI4-EO$pbTx9yTWu4CdWLY(X&P5g?}Lr z?*NnF`gPzHanjCu0kRSm(jIU}xq5}&=zADD6Km{Dtg$ok6Tg%DaOx^ZQaF~VhU18; zyw*I(zs7K;)|y{f=$ssLjUf#c>5&JFLlTE6^5lp1OTpvZA;=dkbq`?>3hNn(D3}9` zx}=qakJ|=!pc%QL&W%XM7`@AF&b5YgB8gH=(7CkJwVm;Z$pDXF^+RdRyzE0CH7yOVE&t z+_!5^l zg7hm7MyQ~V+=_K-DwgaONlsZBoc>&H=^Vi)Hr>aA!>0T4gy{z8UJH|~y+mb%V*Bz0w74~j1GmFb1={7K z&6OS^Lz}96JJ&JSc4RuwrM;q2FpYG5Ef#ryoIH`Oh3hG*y4jlrqEDX9=St4_FFn@y zS>TUD$3My9G8#LQNrsz8oeb0hIOk`H6%2#+u&g6eqF7eD# zI?>O)9@;mu1L)X?Ym?R15YXewFZrY%$ zSI1=<9(n;hpa0~D%1kNTcBsVMH&kovZV=5{O70rrN%xqgMKn1q?%8z2`A#wScnSma zvA4H7v^2f?-kztuB^C^6_dI$OgBfwmnJd%8S>HZQ(Jsx)G>cxt5J&W-YSE}y4Bh{Z zAG?iMI)a$)JJzVgGC9g+4E zW=v`oDH=g<20Gz~U=4nm8eQTV4Tk#B1zkM;ZpO%cq)r5`; zbKJCc`*^7N)bvXs?Yit{yrq$ zZ# zlzY7}TpaIta7e9^>S6z}_c^(_q3|Jf*yt&qWf+byAasCWCx;qup!=odUS|Cf-H)%1 zVyok$Nw0=!pVW|c>bh!S1qfH#z?oV4D96?4kZU+omq$m*HJt1iUtT(9Xr8J1z00QV znc6y%XKEgjd@s1&=4pHya#B~?8y1ZafAtV`Y*!sMV!OgOrS#U?j#AXBk$HITM<}jil#HE7iDwESm1a%Ujm=iOBx1hvB~_8%>(#jm)?VVCR+{|z z45D0Obk~C@F0mdPN}6kjPPe3g0S+IN^0H|kCded5rtaC9G3nt}NTas+M+xw8F(e$h zQU$6hSaWks<`Kdol*gJ`kj)3v9S){!j2ZCM*dy!(3)#VC6!w%8sdy8U^rNgh_3-sm617-uBxQNr6VYuE1)xw%R#s+K=9fkecT{#^N@=d*h18(psZCL;cmefN zO8V3cd9a$hAackS2RktO3i1>h-M=k)6Rh|( zFI2AuRnNqPMkyjgcmHBPLm1hQ_QrV&Dw*?OO?cb+i?F*aUvzgaz1{D~6?of%QLR6bL58mfHRNt_D6dRoH9kR{)MI+<|w~hjKn6VCle6_NVgTmhd)+F886#kA} zZv*odQ#w>w8MPW+Ahxm{)WHbBj$-m=uHOqxjvnTU^8G=A z=aqJe#sA}NVwHikSEtgNBdjJu=}Q@>cK2D3nnU$vyUpx^yG>NuZ6d-^CN8?w=m<`F zplTJt340Y#*{kw5jtbyLrJ63VpW!PU$*Me?A5M@$o=nJj7I!TU!()hysrp4Qp{#4g zGqhc=G+V=F}VQAbNYg1QcJtkWhM+aFVd(bFDx+~>WYDUjpHbJ`x6me zR>On(25+U#MJk&aD%)CGS=9tKhA|pZm}|27zE=81>a&SY*V)U=^h>xQRPH|@MwGjR z<#;r{{2Z-eFffwsc1<(n5vXOYXh^MJRTilI`1c+@e^f$w1KOI3&A%lg& zHmU{b74L{Nf%&38t-UXO=8HFl03kilpEs}bH}zjeImXf;7oNyvk0|w_T=r?rvOnO+ z$V!`GH|093pr~>L71X(keBnSOWna!2=2Y8+(#i_xRT;-=wdjm$)|c4LY?=9#dqzE{ zL|f}p2efYPos2Dop(<3omdtK(1FdV9A!x=GCRT5fzzsT(<_H!P$vaVyj6}bVs=`m5 z@1H)lGil4_bAON%4ia(;DOtc`YlQnAo)QBjM{O4d4aVg&RiNDW3VRKCK#MUGZdGhujxUvm8|LzgILJ@D}yrvnJy~B1T}Bp;+ZAd#!$+TM{lKONV~_ zAe2a5dMPtTw{{mL407o!m6mb21@N_Bg0oiP&Ae9B-C5*tTEOx25YnddC^V@2R1R~X z!go>hM09d(Q%9#Gk$J?P%S+tXEMu7oj9sC9y){ zW$rYdLa%YN9?Um4`Co-rBQEvm-Yk#ql>vI*{S4S>!r7>^A8u}*_%25DDBw9sexb8q z#54FPeb$O2^B~MI=0-kTGDnTO^Ctsa(jxclQESm50U9pwNpIS?l*!kR}QxO4am!VEPIHjwuRGe_Fj3B;G=iLSyDb>t*$&> zH`2Oj5hGCZrF-+QV8AMI^%C8ZU|_mc!pc?~OdGdlj#+B$wOL?y-6u++7NvvX)GhE- zG45KVMaaWiLJ`(dc^*gKG)8HCUV^63gwJ#x4~60f)()o5MPS=xEVYjMEgI{Q<`I z#d^p7B@rZ#$yR|VJ4$maEzIxVOSDq7O60x*Z>jf?nIhlv}^5 za_e(LFdyaGBA!av%5A2sy(yX$$C85Pm@>@~U7pABF*=iQ;^rbn13fqS!O8^h868Pf zjM_L!TNzJzq9*K%e+D%TUeJi;^}|;-H|t9I8=7HuHC?$-5x;m#M@)m&6xbEu&;Qb* zUMWk@`9!M1HdQP7uX13HI{(&z>gDs=0XIC)N>hz1svX5lHur&S{-9+A=Ji@klYiID zEQNw4wJL7QSfX2TUtPrtYUjZp00*ds%`9-`f1?ujPpu;1l_Q$LJ#rQ$g@wVx@hA2f z3~i7V=-bY6Ed{iLSfYsWGK#oE853!p$C*u?+X5kyI^9Qjy}235f}9Z~pe-nQR_TPm zMi~NE;qzXm<8TT6Mh*t5FGT`n*#smsBnCp{0tu`%+}&|q2y`V`jd!(hNwh0jFG#>O zrC#B^+ZO-DzEt`!^YG*hO-={Gb`R2SOcZPCCPbg}Zb)>t(?vC1UqjtjS-t~2)6T=c zvGZ_#h+&btRGxmnquw*QH#}}M1wCpu1-&e);TyGe>Bmz%y;e>DUzQq))|A}K;eo91 zam7|6rE}++W$WBU0&3=}t58+1Sq=-Ie5BcR(z0F0)c3R{c5~};j60<^t|6;wautk2 zJQ{@p0nheLyJ2+}EyNhD*#|Wt&slvp35=jl`vG#JGQywvTE^M&5{8+Nrcc zhFjdO866dw!K}qPSz&9rh4LPM#ukAYT=INLYprXHpMO;RT+F+M_Q6?rZgTPq4)a-! zDTtwy72y|!8Kx<4OvagUC0^syOo7joqKe5nbFCF2GzI)x3dE<=TbD+)Osz0R-H1S! z8kpTzjoE!HFuN~`+5JwvuarDhgQzvWA5W%n1Wkppl;=P1C=r(A?(dWoP1M~xbRoxH zJ2JYHBy_%5X8#jRpT7?4wX5~xlh%)?g?>Cy{qRHYlVsXixT5iL?1z;oj3~@)mv~>C zPl$d=I^oW{LWk0wceNm&!ZVVu@pv|CQ72#Q*X2-)*9*l%kt#L?Bq`$4TA8`(_Zk67 zSy&rmL@ZUAr7K=>=tUtL-X!#53HeCFJPMZ|W@@TcSiLDu&M=gudQ&2Gmh>;FfCc#* z0)|s=;{C8jBjYd4LMKe7e^}l}{Qb{b03rbaq8M-Zu}#=Y~(+ zTk}&7nm_fS;ZrYG{FEHsht;(v7wFs2WJ-}zBzuyW3@dkaYtE=8{Zkc2~Abr;7vh z-VvWJG zl}+~FB2N!qy>wG1ECj>3J;!)&b;c9t*^jSw3ixgg$ojl-Iy`Zpm$w)4peUDj`Ov1_ zLz!%pgtX^}T~PiI_nU>mxKW%;Ky2>?8OrN2Gibw;aH&1HRrll=RzWM6O#K0dnrTmO z*F8Opjw4Jq>nx67_hXSvFX*&;xJ7o!4(S}p%t#!OGa!%goVYvAlfgy;AkOE=oP{D`HfUkygb#G<%fN@`Xx|* zybTFjktZr~w71158eV5e7$ZOXps?v}Jdf_XIdL3{rX$GUp~BWjNPbW$j`q>%E5_qx z9eaOU-gihO@)tdN&MLGMa?T50(DWDud^Ay^SnN;PRf!MG48tPJ4`+4#lDVhrZmP`9 z8#0`^n2lOaRk3`l`=#`FDP6PP2f<_p4a96=uoIf6y4Hhe6b32c^T>PO#`4~O|JQ&1 z&wu>8wJ2!OLs%^8Y@MCzGcJxi@HJ>vev-{?tJNy|Ya^Be-!v^!#;D=pAuQf5&vafT zjeRXo0e@49m_oXy^HQ^^zL{=v5<-$nKyA}e^HycSv@ zoF>?#b$)baxB(pRlR_{~yaXDd;NKDF&#rNoa+Na5gNARcYbzKE|*C!wn)3wI}qf zyW21|lgiW_*G$cPy{W-H^pfW#ukvS1${VP?c}8~mjO;eeh^pn{)6uI;$7#)UoUJe& zCoGlKB~C_7g_k!K??vT&2$P11*y9tiSDlDT9T%PkX!P^SM7&u`P|MZRX1VG~&Ga4^ zYnA!~S`Vb+P}&6M=0UDeFO0){gAenK>M+;Tf&-loY^UAMr84#Ec(wh4MRu}RIq|%& z%){rJ5xci^#B_~|fdiDs?R3R)Q_!Ktp}Wb4?&gxAQx(;1rOke_(A=KVOgZYQz@J%; zu-CvcjANza5i9wM)U-ulsQ%o>D4^D&wAUa=Kd2DVhZ-V!VI(4DtgBzc4@K&899!^bq1jl9cLZ}q2qRTjB-+5%UT1m zQ5lFYH3RW+DRGsh#Js+*X8u^{hZa(39tWXWc4|~h?frZN_);U28FIwXuX4*@#Xwcl zp8;D~%0nghlzej)j!7=in0G&`F-`3I$T39cJPp0yxs%wZ(0eMK#QaqG15m`a&|Ji_ z{1%>!PG~fv2ow_4mCK-}I4yfJb(9{TO6rk2tF%a)-r zLqyig#)VCdOMj?w{VWMp+j!v0wK~|wpEBq{Q@{E@)UR|L46|R>u~}LQQmb}v@MF^! zPoTQNFYDkmE#VYYJ2?D>bm@O({HE~w^)&`3h%m{s=8{5_k+P9o0On@1*WpFv&Y>bbe!gq$3^qq1oW2k%d(`oJmzB0MoSvx`=349QE z9WgL7k%UFK{2LPH#_lN2Vpz0UHch+NuLJ)Z&w4HhGuQ76X87R#9SglG&Z_uU&r?$G z0a0g_XB|{o<2WbeCy5M~967?9l=bXMrB4T`5qc1m+Bu&L)z=)pfqzpzp&c#0PdS_v zYEbu5Pj_`@nvWiAc9$OL6JshIO}sSq|vb@J?1hmq9?(KW^tkx6{)1j z7U5es@GN>OBJx>1kn2I32Xfs@^+2xAsSM=$ka`bN@4Lr?d+j5apm3?B9Gv`qQ(|^|gu>W-N^0xD*bDeomYmU=-!wx$bGK=Y; zw6ZN;rg!deo0a7a_o3ktG(3hm^uyG@QrCP_>y3^7`EAXk9$qoA4;GF0f@WiA-5Ja) z{|N+uNAHwAEbuQY=y-HfL;W~{I zrreRcOCRGJ9Ql?%$P#Y%6{_}vJWIVl(&h|0d6I6XkJKedD`eCm?@Hfe?}`+%kALuc z^ejk=UwhQ>wUArkq#NanGX zo^yo1fCJeZu$e(aui)R2_}g1Jf63_lNG12F$qP|Vmn2dU7*aWC$%d?5EuD}|%*OA( zjihnhq}n8;znWx#6hV0;-{z|b!Bz?40}vpclOhTO8>(qlj3 zPYa03YAqeXhlUy(LTvvB5$%C$j_5HQ4pE|9#vn!n(OaaFwjSv**5ECNu6PN#|5Y2d z6DY?c_IP*&sO{gKCTrl7BXeE;sd zXZx9Z=H(xs`0f;ut$b`_tl$x#9ZcOr%!(NHpRac0z?)d^B_!kL>fTE`AuKJTmhxl7 z2tgmb4zyZi3Bke3BWBi}qoxtgKnVLJKU26xK8Z2I#={m&U`Sc?6)$1eu)Aco1Zwer z%W#RP8E+S-8!wC9tE2XeY^V&6yxk`nd1KHULglK696d)2tlJZJ&NH8}Re9o`UE6Bc ztV$-M!(Eu-GXn3x-?;|+lp*ZXz;}=RIePIAd_E8aV>rbHqh>s?E6{g7n{$}W`%11C z(g0rrP%M|bHdIirKG%6oJ*eqw2Z&m{2lJ(B=#*;6TLxRyLNlMG?&GK@jOT~4DCVOJJ?%5Rv{ydjU^&<%T@=}KF=l1I(~Z@+)ulV zR#|W?AJ|R>p0eQQJhdw+&U6P{TLIF+v&XhyPGqK^XvoddoQgoY7YjMem^o)=%y#p- z!P+2%JzR_;^?gGco!s~laVF%DU5A*fmU1JviJSATsH{8Yypw7eLUflgwvmW@s*1aL zzMM&s?KBUdDooSZE};Oj7O4brd4ul$%E6pX*BHv5kY42iK(#up_lr4=OI?^43HY0N z%yY3h*F;RwREk-^Hf?jkf#E$qODjh^?^2T&3|p_R=t(I%DY;l93xR2Ko;dY!wM~y! zZIe*kn0nLPGFwA5t8FA6&2T|beeiy&QtO-YzyMJ|uD|wpA6{1bu(4tvM6zwI3k*ZArsQ``H{+h896C$s zM%vb?X-L|m3$~3F;ptZP-}&UM3~uKG{i9$}m*VAXN`xAzYL0=83cnwGk$Z8T@ryIA zAF|&}qyybhRj-A)pbITgK0;?K-fw~~kHJ9855wNfQwd2AqTDMe^?pyeS5WFbO{JU> zsALCOu#$Bn3Rbjk#DTZ9%dx5gEscSWqwo`T?*_fP(1f+q|K^!(%S)hng- z`Yh-=tvFDUb0u-FQWyDy(pv5Rs|^z1Z?;m7c$CHW@8Yb2orWm%{5+CBg(^j=+a~$X z4}M(KqQ;#n3w}sCh-##R>{3Ln_|ilzL#jmWAn;d?fmuR|>m{V4hV6j{`Sy?mhV5Z% zkM?ftZuiyp5C$F%WDeHV7*wz-gX#y~cAI@=rZK1jpv+pvIduf~1_qwt1}x_%8`{!0 zCFAZ|Tfi&^G#&fMEjAjHYnxcmMl%c2D-G&d&;~!;?guscdtW~XRLq9dnQZQ{Igo}M z%|H_qaj%;!ybKuOS37a`bAV=Mv!I%dLS9P~4kfWecq_f%5dgX`kep{eUIjxt%*|@- zV1f2P$!&%187R=db+$m0SGJB?TSy4xTs#My_&~RbPeJl0Wk$@F2!7UR56a#SIw*xyfK|=rNTw%cX!B|}7-+k}%(NTq_lWwaJCTJ?9^RY19M(eu{$DTWFSid z!Yj(3{R)$KhO*^XTYU}BP2-k?wY`GI>Iu*B%{ZrGO4e;_?HttF0Gg?38I(zE3%ycL znLgI0cxam9?Ve9>?A>asDINvhI3Oq56yv{xR&}D;3>S2OhIuYmvZmNiZAa{%j1Gj5 zU@_MTY{6}7Ya7S`cIsUzp~v+kgf+2!w3dS4?zzA);}vt%GNH0qT|og~7&w`1g)H4r z*ktlC?My#hnKrW`ZDu-cGGdH8YI6#WSXX`#dB#h~)9B^QxL{KX>pC_XB8l$`IX5Tr ziALlnCL-^2w%fy7yE%~`2i_zgbB)LoKctuelv`=cbXvZg+x$JGmzCm)GWa5*1m;~N$mbuxXbm;{0sT|64c_RIk(OTy0V}=71 zw4D`&Z7Dcb&+=GWxw>-w=%vq(Ui!jQH`5N;W>dJ^;di;IKGN>;GrB%EllO(0Jgl72 z^|=kYFH_Fp142It%KAaU1R4ev6X+MUbuz1+UM|g{g)-Pt8qJ?IS=7HMSuElw@Dka!ywzd(> zf2FrIF+(JYU+Z--KP`a{W^J$jDq=<8tE$m^E5CYCeCuN3fKhp4biRLIf9K3yA5UqJ zT@l7uv%`~#b{nI!(_LJ8%8{>H&?vNi?34)~a{h#Ih%Ag+5d$|I_ z1je9`n;>kiinOe6fJnmfv#}J7k(LTwCfr7w!i2>`WV6&u#19nE zMcfyZiC+aX0u-y?cmrWhplrZpdN*t11MTnM+w5x8A3#I#kE{eQ@sNEYuytcEBp|vt zL}iB5ZTaH-MsI&P^*ZyHRkuMBN6U%GwjPAQ5qac{8wSxaP)c0_%1l?+VjMobN~e%Y zo{wMbEbvGrPLZ;x3tyQ85e$LNvY$IOP7t-)cJ8C3#Mf!8tHrALO;B4rpnCD!l;}dD z-U&^V&kGU1gzV|U@Il}`;ll9yz&i-Y=fI2X?Y+GYs#ZIln>U%f8@msNj{QDxFoT2r zIO2al2cT|a;^GKK_aC4wVfss$jPr$_fi8B=nJRrB%$esKHHKeFS);0P)1b}aq6 zgI0@loUWbX@frOM)A)x_Ia~3mbFTcqXY4sP#(fX73#ggsvjDVye#(|Ds0WQ~tKQ7K zd<>Xx!{Mye!T$b>?nAu}_TJ-#`|S528`Y!50v3Wc2ay|jdf%{aSia~k`}wn0mgQi&2o~Dr8@|N1DESqBg)Oc$IxdZtctZ@xG>Nkqt3+!_b7Lr!^RZ+R)@aa!*>QgrLDM?_yVJS`ylOr#Mf7mh#9KHww zJ8~BIO18O~0c+du{}#%1(TBxNz3{Mq1p60K4z6$ikRI`Wp`{qj2EU+z`I5G0&Vs~V z>W9Na>(uW}LEX7Go<+w3_u@0+lV%C+`_|EFPksLmEG~ATl@BO8&*;JQa%&vs1mcOC zJ-wJ0@dDV57B*)Rv4`ywAv1@&?VTfHS65zS-`eVQm>Uy+0k%rVcJ}`lP)i30%~ea- zh=KqB5ZM6$P)h>@6aWYS2mq9gUs(VE000000018Q0stcbAOK`(WMwUOX=Qh1axZpi zWp^)Xb1z|Va4usrWHvWsIA$(tb5&Fg00)UtBWJ2nBWH?HBWHDZ3jhHG000001ONa4 z0PMZ{m)lr+Aoj16Fq#@dbqVoNtOqHmj$YlZZmC4`IvxvIYA#aCfy-f6TTE;H zr`TQtUOl$G+R=cyY|4gg%tq|AZ}tiW_OX?Yz3`ysoH>5FactJi?lB9kJNDv>FG6SH zb&WgIslgI2olR?=xfn!Yk}lG2xU_2x=3B`=ywZb9$2z-f)@n7=zMWVfykj!DTm;d; z2@caJc1E5BtvpP(jFW^Iv1)5noJ3%sOz)MuwoFrzD|8^bW;kVcby0;8c1M&sbEcy{QWZ3NZ_35+E^ z^#@)JM|c7~vD7<Y8G6IC?%+n}JySd?E z34>M-qgg!gy2B+qiuy2K%W>TYr(T#o@{`mHVbsQiw`{Ols6KUMhnDN44s+}X2lp@> zMsOq}EAdC66MRCurZqk#*9#-FS) zEPx+gFc>@GD6(S)A9-NCe2BX-v7X$wya{}GSew+T<8GN7ESv>_$#U}wyl|9`Z#PVJ zLiEQ+jXn!)kJiH)`aue-UGwbQo)!4v32acUBiJoo{nYo)pdV9P*a#O^Z`9=TD6DN{ zE?w9!@x%{dF<=g~ou9&{&ArP!YY;>UR9GUQFqzmh>ox@pcmb`QTF*`Rg!mG|b$|*r zf)umQOx~Si-FpD1$9m@jS}Ar!WykNBHG(})n`X_m?wF!(u6$fkKFya8tvgHyU;5OR zywg2)WMqX#-|VxUZJ6qkMKI@qgGX*|E+Y7|#3f+6jaK7T5!O0H)oeF7qH47oI~-B% z?jce_M77h}Z*WAlzti65hziQ~IilhS4H4CDYroAA)$R^nA);zGcUl5b?X%^NU zHPfVPXbTqTS`$WLou^hZj?V0BO@Qyu_tnj*r5-F*mjK}w*&TePMPhv(iF(*S+ze)M z47>B0bK-?h{L?74Pb1&mXk_ml=ih5CY12#}1HR)^o;ZF82N@x&yu4U0iiXCPUT_DK1GP1BC!r<@>47%x~D=wq%{C0DIQzc?DFgeRcF_5 z{ZoT22v>0=#uu!97CX}^EFAOQ^71HrjDrMF5_SXFZWk9d{IOxUu%%4-d^UxrP5!h= zPgCtFOd3#HaMa=zT2vv@Dg>T$>OqAzuh6Cn$52fE`1zL@duut+O&#~PRfoN^qt00z#CI1OK#+=yyL^|hU<^~)PWnGNSNa;15oWelLeCvISt%IGQG19R)9lyuE`YDICJDW z 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

      M#eg`x1q9Uk{}o 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�>U^0%kD#l}!nmOz%?&QfXO0_%`Z5By>8~ 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

      _qB6XKwxuvJoL6i;2Pr5DER+z! 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

      PVCt9#NnEsJ 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

      7A>i7)!0 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

      Y$6HcUL+tF!mafHjtS_ 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 z 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

      Nr++ZhrT;@(4 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%0A0ksUG;}aVfVqd@iyn8hd{MT9FUkU6l&#Je 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 DTq*QI literal 0 HcmV?d00001 diff --git a/src/global/util.ts b/src/global/util.ts index 64eb46e..23741b2 100644 --- a/src/global/util.ts +++ b/src/global/util.ts @@ -19,7 +19,7 @@ export class PathSet { } /** - * tell if two set are element-wise equal + * @description 判断两个集合是否逐元素相同 * @param setA * @param setB */ diff --git a/src/hdlFs/file.ts b/src/hdlFs/file.ts index df54414..fe116c7 100644 --- a/src/hdlFs/file.ts +++ b/src/hdlFs/file.ts @@ -75,8 +75,10 @@ function isHDLFile(path: AbsPath): boolean { function getHDLFiles(path: AbsPath | AbsPath[] | Set, ignores?: AbsPath[]): AbsPath[] { - return pickFileRecursive(path, ignores, + const allFiles = pickFileRecursive(path, ignores, filePath => isHDLFile(filePath)); + const pathSet = new Set(allFiles); + return [...pathSet]; } diff --git a/src/manager/PL/xilinx.ts b/src/manager/PL/xilinx.ts index 02aefa1..5863610 100644 --- a/src/manager/PL/xilinx.ts +++ b/src/manager/PL/xilinx.ts @@ -192,7 +192,6 @@ class XilinxOperation { return Promise.resolve(undefined); } // 执行 cmd 启动 - console.log('spawn process in ', opeParam.workspacePath); const vivadoProcess = spawn(cmd, [], { shell: true, stdio: 'pipe', cwd: opeParam.workspacePath }); vivadoProcess.on('close', () => { diff --git a/src/manager/prj.ts b/src/manager/prj.ts index 40dc8d4..91aefdf 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -17,6 +17,7 @@ import { hdlMonitor } from '../monitor'; import { NotificationType } from 'vscode-jsonrpc'; import { refreshArchTree } from '../function/treeView'; import { Fast } from '../hdlParser/common'; +import { t } from '../i18n'; interface RefreshPrjConfig { mkdir: boolean @@ -123,7 +124,7 @@ class PrjManage { searchPathSet.checkAdd(prjInfo.getLibraryCommonPaths()); searchPathSet.checkAdd(prjInfo.getLibraryCustomPaths()); } - + MainOutput.report(' search folders: ', ReportType.Debug); searchPathSet.files.forEach(p => MainOutput.report(p, ReportType.Debug)); @@ -132,7 +133,8 @@ class PrjManage { // do search const searchPaths = searchPathSet.files; - const hdlFiles = hdlFile.getHDLFiles(searchPaths, ignores); + const hdlFiles = hdlFile.getHDLFiles(searchPaths, ignores); + return hdlFiles; } diff --git a/src/monitor/event.ts b/src/monitor/event.ts index 2e481c5..7f910a9 100644 --- a/src/monitor/event.ts +++ b/src/monitor/event.ts @@ -249,7 +249,6 @@ class PpyAction extends BaseAction { const fileChange = await libManage.processLibFiles(opeParam.prjInfo.library); MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, ReportType.Info); } - } else { // update hdl monitor await this.refreshHdlMonitor(m, originalHdlFiles); @@ -284,15 +283,22 @@ class PpyAction extends BaseAction { m.remakeHdlMonitor(); const newFiles = await prjManage.getPrjHardwareFiles(); const { addFiles, delFiles } = this.diffNewOld(newFiles, originalHdlFiles); + + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: t('info.monitor.ppy.impl-change-to-project', opeParam.prjInfo.toolChain) + }, async () => { + await this.updateHdlParam(addFiles, delFiles); - const options: vscode.ProgressOptions = { location: vscode.ProgressLocation.Notification }; - options.title = t('info.monitor.update-hdlparam'); - await vscode.window.withProgress(options, async () => await this.updateHdlParam(addFiles, delFiles)); - - if (opeParam.prjInfo.toolChain === ToolChainType.Xilinx) { - options.title = t('info.monitor.update-pl'); - await vscode.window.withProgress(options, async () => await this.updatePL(addFiles, delFiles)); - } + switch (opeParam.prjInfo.toolChain) { + case ToolChainType.Xilinx: + await this.updatePL(addFiles, delFiles); + break; + + default: + break; + } + }); } public async updateHdlParam(addFiles: AbsPath[], delFiles: AbsPath[]) { @@ -302,6 +308,8 @@ class PpyAction extends BaseAction { for (const path of delFiles) { hdlParam.deleteHdlFile(path); } + + // TODO: 增加解决 instance 的地方 } public async updatePL(addFiles: AbsPath[], delFiles: AbsPath[]) { From 70088a0a248d700d55e737a7a7791f5b7145e78b Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Mon, 25 Nov 2024 22:48:44 +0800 Subject: [PATCH 002/107] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20unsolved=20instanc?= =?UTF-8?q?e=20=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 10 ++- l10n/bundle.l10n.en.json | 10 ++- l10n/bundle.l10n.ja.json | 10 ++- l10n/bundle.l10n.zh-cn.json | 10 ++- l10n/bundle.l10n.zh-tw.json | 10 ++- src/extension.ts | 6 +- src/function/lsp/completion/tcl.ts | 2 - src/hdlParser/core.ts | 106 +++++++++++++++++------------ src/manager/prj.ts | 14 ++-- src/monitor/event.ts | 23 ++++++- src/monitor/index.ts | 6 +- 11 files changed, 140 insertions(+), 67 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 2f8ea39..cef3074 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -61,5 +61,13 @@ "info.dide-doc.source.cannot-find": "Nicht gefunden", "info.command.instantiation.pick-title": "Select a Module", "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", - "info.monitor.ppy.impl-change-to-project": "Änderungen werden auf das {0}-Projekt angewendet" + "info.monitor.ppy.impl-change-to-project": "Änderungen werden auf das {0}-Projekt angewendet", + "info.initialise.report.title": "Analyse von {0} HDL-Dateien abgeschlossen, {1} ungelöste Instanzmodule gefunden", + "info.launch.following-folder-tracked": "Die Dateien im folgenden Ordner werden kontinuierlich analysiert und vollständige LSP-Dienste bereitgestellt.", + "info.launch.search-and-parse": "Suche und analysiere HDL-Dateien aus dem untenstehenden Pfad", + "info.launch.digital-ide-current-version": "Digital-IDE wurde gestartet, aktuelle Version:", + "info.pl.xilinx.update-addfiles": "Datei zu Xilinx-Projekt hinzufügen", + "info.pl.xilinx.update-delfiles": "Löschen Sie die folgenden Dateien aus dem Xilinx-Projekt.", + "info.pl.xilinx.no-need-add-files": "Keine Dateien zum Hinzufügen zum Xilinx-Projekt", + "info.pl.xilinx.no-need-del-files": "Es müssen keine Dateien aus Xilinx gelöscht werden." } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 834d8dc..1632f95 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -61,5 +61,13 @@ "info.dide-doc.source.cannot-find": "Cannot find", "info.command.instantiation.pick-title": "Select a Module", "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", - "info.monitor.ppy.impl-change-to-project": "Applying changes to the {0} project" + "info.monitor.ppy.impl-change-to-project": "Applying changes to the {0} project", + "info.initialise.report.title": "Completed parsing {0} HDL files, found {1} unresolved instantiation modules", + "info.launch.following-folder-tracked": "The files in the folder below will be continuously parsed and full LSP services will be provided.", + "info.launch.search-and-parse": "Search and parse HDL files from the path below", + "info.launch.digital-ide-current-version": "Digital-IDE has been launched, current version:", + "info.pl.xilinx.update-addfiles": "Add file to Xilinx project", + "info.pl.xilinx.update-delfiles": "Delete the following files from the Xilinx project.", + "info.pl.xilinx.no-need-add-files": "No files need to be added to the Xilinx project", + "info.pl.xilinx.no-need-del-files": "There are no files to be deleted from Xilinx." } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index f0e233f..4c4ad8d 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -61,5 +61,13 @@ "info.dide-doc.source.cannot-find": "見つかりません", "info.command.instantiation.pick-title": "Select a Module", "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", - "info.monitor.ppy.impl-change-to-project": "{0} プロジェクトに変更を適用しています" + "info.monitor.ppy.impl-change-to-project": "{0} プロジェクトに変更を適用しています", + "info.initialise.report.title": "{0} 個のHDLファイルの解析が完了し、{1} 個の未解決のインスタンスモジュールが見つかりました", + "info.launch.following-folder-tracked": "以下のフォルダ内のファイルは継続的に解析され、完全なLSPサービスが提供されます。", + "info.launch.search-and-parse": "以下のパスからHDLファイルを検索して解析します", + "info.launch.digital-ide-current-version": "Digital-IDEが起動しました、現在のバージョン:", + "info.pl.xilinx.update-addfiles": "ファイルを Xilinx プロジェクトに追加", + "info.pl.xilinx.update-delfiles": "以下のファイルをXilinxプロジェクトから削除してください。", + "info.pl.xilinx.no-need-add-files": "Xilinx プロジェクトに追加するファイルはありません", + "info.pl.xilinx.no-need-del-files": "Xilinx から削除するファイルはありません。" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 151b742..48a6b93 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -61,5 +61,13 @@ "info.dide-doc.source.cannot-find": "无法找到", "info.command.instantiation.pick-title": "选择一个模块", "warn.command.clean.prjPath-is-workspace": "arch.prjPath 和当前的工作区目录相同, clean 功能可能会删除整个项目,请检查你的 arch.prjPath !", - "info.monitor.ppy.impl-change-to-project": "正在将修改应用于 {0} 项目中" + "info.monitor.ppy.impl-change-to-project": "正在将修改应用于 {0} 项目中", + "info.initialise.report.title": "完成 {0} 个 HDL 文件的解析,发现 {1} 个未解决的例化模块", + "info.launch.following-folder-tracked": "下方文件夹中的文件将被持续解析并提供完整的 LSP 服务", + "info.launch.search-and-parse": "从下方路径中搜索并解析 HDL 文件", + "info.launch.digital-ide-current-version": "Digital-IDE 已经启动,当前版本:", + "info.pl.xilinx.update-addfiles": "添加文件到 Xilinx 工程", + "info.pl.xilinx.update-delfiles": "将下方文件从 Xilinx 工程中删除", + "info.pl.xilinx.no-need-add-files": "没有需要添加到 Xilinx 工程的文件", + "info.pl.xilinx.no-need-del-files": "没有需要从 Xilinx 中删除的文件" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 735d963..40f6f5b 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -61,5 +61,13 @@ "info.dide-doc.source.cannot-find": "無法找到", "info.command.instantiation.pick-title": "Select a Module", "warn.command.clean.prjPath-is-workspace": "arch.prjPath is the same as the workspace path, the clean will delete the project, please check your arch.prjPath!", - "info.monitor.ppy.impl-change-to-project": "正在將修改應用於 {0} 專案中" + "info.monitor.ppy.impl-change-to-project": "正在將修改應用於 {0} 專案中", + "info.initialise.report.title": "完成 {0} 個 HDL 檔案的解析,發現 {1} 個未解決的例化模組", + "info.launch.following-folder-tracked": "下方資料夾中的檔案將被持續解析並提供完整的LSP服務。", + "info.launch.search-and-parse": "從下方路徑中搜尋並解析 HDL 檔案", + "info.launch.digital-ide-current-version": "Digital-IDE 已啟動,目前版本:", + "info.pl.xilinx.update-addfiles": "將檔案新增到 Xilinx 專案", + "info.pl.xilinx.update-delfiles": "從 Xilinx 專案中刪除以下檔案。", + "info.pl.xilinx.no-need-add-files": "沒有需要添加到 Xilinx 工程的文件", + "info.pl.xilinx.no-need-del-files": "沒有需要從 Xilinx 中刪除的檔案。" } \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index e2d7adc..e536ed7 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -39,8 +39,10 @@ async function launch(context: vscode.ExtensionContext) { initialiseI18n(context); console.log(t('info.welcome.title')); - console.log(t('info.welcome.join-qq-group') + ' https://qm.qq.com/q/1M655h3GsA'); + console.log(t('info.welcome.join-qq-group') + ' https://qm.qq.com/q/1M655h3GsA'); + const packageJson = readPackageJson(context); + MainOutput.report(t('info.launch.digital-ide-current-version') + packageJson.version, ReportType.Launch); if (packageJson === undefined) { return; @@ -60,7 +62,6 @@ async function launch(context: vscode.ExtensionContext) { // 初始化 OpeParam // 包含基本的插件的文件系统信息、用户配置文件和系统配置文件的合并数据结构 const refreshPrjConfig = await manager.prjManage.initOpeParam(context); - MainOutput.report('finish initialise opeParam', ReportType.Info); manager.prjManage.refreshPrjFolder(refreshPrjConfig); }); @@ -88,7 +89,6 @@ async function launch(context: vscode.ExtensionContext) { }); - MainOutput.report('Digital-IDE 已经启动,当前版本:' + packageJson.version, ReportType.Launch); console.log(hdlParam); // show welcome information (if first install) diff --git a/src/function/lsp/completion/tcl.ts b/src/function/lsp/completion/tcl.ts index 3447fec..24fbf7f 100644 --- a/src/function/lsp/completion/tcl.ts +++ b/src/function/lsp/completion/tcl.ts @@ -8,7 +8,6 @@ class TCLCompletionProvider implements vscode.CompletionItemProvider { keywordsCompletionItems: vscode.CompletionItem[] | undefined; constructor() { this.keywordsCompletionItems = this.provideKeywords(); - MainOutput.report('lsp for tcl is ready'); } public provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): vscode.ProviderResult> { try { @@ -28,7 +27,6 @@ class TCLCompletionProvider implements vscode.CompletionItemProvider { keywords.push(item); } this.keywordsCompletionItems = keywords; - MainOutput.report('tcl lsp is ready'); } return this.keywordsCompletionItems; diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 2fad1a2..f1c1b05 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -196,13 +196,33 @@ class HdlParam { return this.unhandleInstances.size; } - public getUnhandleInstanceByType(typeName: string): HdlInstance | undefined { + /** + * @description 获取所有 scope 内存在 unhandle instance 的 module + */ + public getAllUnhandleInstanceBelongedModule(): HdlModule[] { + const modules = new Set(); + for (const instance of this.unhandleInstances) { + modules.add(instance.parentMod); + } + return [...modules]; + } + + /** + * @description 输入 moduleName,找到这个 module 的所有置于 unhandleInstances 中的例化,并去 solve 它们 + * 因为一个 module 对应的 unsolved instance 可能不止一个。比如现在项目中,有两个地方存在 AGC 模块的例化, + * 但是当前项目并没有引入 AGC 的 module 申明,那么当引入 AGC 后,外部就应该调用 getUnhandleInstancesByModuleName("AGC") + * 并返回两个 AGC 的例化模块,然后去 solve 它们 + * @param moduleName + * @returns + */ + public getUnhandleInstancesByModuleName(moduleName: string): HdlInstance[] { + const unsolvedInstances = []; for (const inst of this.unhandleInstances) { - if (inst.type === typeName) { - return inst; + if (inst.type === moduleName) { + unsolvedInstances.push(inst); } } - return undefined; + return unsolvedInstances; } public addUnhandleInstance(inst: HdlInstance) { @@ -213,21 +233,6 @@ class HdlParam { this.unhandleInstances.delete(inst); } - /** - * vlog -> HdlLangID.Verilog - * svlog -> HdlLangID.SystemVerilog - * vhdl -> HdlLangID.Vhdl - * @param langID - */ - private alignLanguageId(langID: string) : HdlLangID { - switch (langID) { - case 'vhdl': return HdlLangID.Vhdl; - case 'vlog': return HdlLangID.Verilog; - case 'svlog': return HdlLangID.SystemVerilog; - default: return HdlLangID.Unknown; - } - } - private async doHdlFast(path: AbsPath, fileType: DoFastFileType) { try { const fast = await HdlSymbol.fast(path, fileType); @@ -383,15 +388,21 @@ class HdlParam { } } + /** + * @description 往 hdlparam 中添加路径中的若干模块 + * @param path + */ public async addHdlFile(path: AbsPath) { path = hdlPath.toSlash(path); + // 解析并构建 await this.doHdlFast(path, 'common'); + // 初始化 const moduleFile = this.getHdlFile(path); if (!moduleFile) { MainOutput.report('error happen when create moduleFile ' + path, ReportType.Warn); } else { moduleFile.makeInstance(); - for (const module of moduleFile.getAllHdlModules()) { + for (const module of moduleFile.getAllHdlModules()) { module.solveUnhandleInstance(); } } @@ -480,10 +491,11 @@ class HdlInstance { // add refer for module this.module?.addGlobalReferedInstance(this); // if module and parent module share the same source (e.g both in src folder) - if (this.isSameSource()) { + if (this.isSameSourceInstantiation()) { + // 增加当前 instance 的引用,并从对应类型的顶层模块中剔除 this.module?.addLocalReferedInstance(this); } - } else { + } else { doPrimitivesJudgeApi(instModName).then(isPrimitive => { if (isPrimitive) { // 构造 fake hdlfile @@ -497,15 +509,18 @@ class HdlInstance { } } + /** - * judge if the instance is a cross source reference - * e.g. this.module is from src, this.parentMod is from sim, then - * isSameSource will return false, meaning that the instance is a cross source reference + * @description 判断当前的 `instance` 对应的例化行为是否为一个同源例化 (SSI, same source instantiation) * - * a cross source reference won't affect the top module reference of this.module, - * meaning that a top module in one source can have its instance in other source + * 对于标准项目结构,也就是 src + sim ,如果在 moduleA 中完成了 moduleB 的例化,且 moduleA 和 moduleB 都是 src 文件夹下的, + * 那么这个例化就是一个同源例化;如果 moduleB 在 sim 下, moduleA 在 src 下,那么当前的例化就是一个非同源例化。 + * + * 同源例化造成的引用为 local ref,非同源例化 + 同源例化造成的引用为 global ref。在模块树下, src 文件夹下的只有 local ref 为空的 module 才是顶层模块 + * 换句话说,非同源例化一定不会造成顶层模块的变化,但是同源例化有可能会。 + * @returns */ - public isSameSource(): boolean { + public isSameSourceInstantiation(): boolean { const parentMod = this.parentMod; const instMod = this.module; if (instMod) { @@ -692,7 +707,7 @@ class HdlModule { const instMod = inst.module; if (instMod) { instMod.deleteGlobalReferedInstance(inst); - if (inst.isSameSource()) { + if (inst.isSameSourceInstantiation()) { instMod.deleteLocalReferedInstance(inst); } } @@ -796,7 +811,9 @@ class HdlModule { } public solveInstModPathStatus(): common.InstModPathStatus { - const inst = hdlParam.getUnhandleInstanceByType(this.name); + // TODO: 修改这套系统,因为现在只是拿第一个例化来判断的,这是不合理的 + // 应该把 common.InstModPathStatus 修改成一个可以通过析取来表示的变量 + const inst = hdlParam.getUnhandleInstancesByModuleName(this.name)[0]; if (!inst) { return common.InstModPathStatus.Unknown; } @@ -815,24 +832,25 @@ class HdlModule { } } + /** + * @description 从全局寻找这个 module 的例化,并尝试修改它的状态 + */ public solveUnhandleInstance() { - const inst = hdlParam.getUnhandleInstanceByType(this.name); + const instances = hdlParam.getUnhandleInstancesByModuleName(this.name); - if (inst) { - const userModule = inst.parentMod; - // match a inst with the same type name of the module - // remove from unhandle list - hdlParam.deleteUnhandleInstance(inst); - userModule.deleteUnhandleInstance(inst); + for (const instance of instances) { + const belongScopeModule = instance.parentMod; + // 先从 unsolved 堆中删除当前的 instance + hdlParam.deleteUnhandleInstance(instance); + belongScopeModule.deleteUnhandleInstance(instance); - // assign instModPath - inst.instModPath = this.path; + // 解决 + instance.instModPath = this.path; + instance.instModPathStatus = this.solveInstModPathStatus(); - // judge the type of instModPathStatus - inst.instModPathStatus = this.solveInstModPathStatus(); - - // assign module in the instance - inst.locateHdlModule(); + // 找寻这个 instance 对应的真正的 module(也有可能是原语) + // 并将这个 instance 加入这个 module 的计数器中 + instance.locateHdlModule(); } } diff --git a/src/manager/prj.ts b/src/manager/prj.ts index 91aefdf..0b5303e 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -113,8 +113,8 @@ class PrjManage { // 如果是单文件模式,需要的操作 } else { // 先处理 lib 文件 - const fileChange = await libManage.processLibFiles(prjInfo.library); - MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, ReportType.Info); + // const fileChange = await libManage.processLibFiles(prjInfo.library); + // MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, ReportType.Info); // 默认搜索路径包括: // src, sim, lib @@ -125,8 +125,8 @@ class PrjManage { searchPathSet.checkAdd(prjInfo.getLibraryCustomPaths()); } - MainOutput.report(' search folders: ', ReportType.Debug); - searchPathSet.files.forEach(p => MainOutput.report(p, ReportType.Debug)); + const reportMsg = ['', ... searchPathSet.files].join('\n\t'); + MainOutput.report(t('info.launch.search-and-parse') + reportMsg, ReportType.Run); // TODO : make something like .gitignore const ignores = hdlIgnore.getIgnoreFiles(); @@ -199,15 +199,13 @@ class PrjManage { // 分析依赖关系错位情况 const unhandleNum = hdlParam.getUnhandleInstanceNumber(); - MainOutput.report(`finish analyse ${hdlFiles.length} hdl files, find ${unhandleNum} unsolved instances`, ReportType.Info); - + const reportMsg = t('info.initialise.report.title', hdlFiles.length.toString(), unhandleNum.toString()); + MainOutput.report(reportMsg, ReportType.Launch); this.pl = new PlManage(); // TODO : finish it later // this.ps = new PsManage(); - MainOutput.report('create pl', ReportType.Info); - if (countTimeCost) { console.timeLog('launch'); } diff --git a/src/monitor/event.ts b/src/monitor/event.ts index 7f910a9..2f53416 100644 --- a/src/monitor/event.ts +++ b/src/monitor/event.ts @@ -309,14 +309,31 @@ class PpyAction extends BaseAction { hdlParam.deleteHdlFile(path); } - // TODO: 增加解决 instance 的地方 + // 判断新加入的 module 是否还是顶层模块 } + public async updatePL(addFiles: AbsPath[], delFiles: AbsPath[]) { // current only support xilinx if (prjManage.pl) { - await prjManage.pl.addFiles(addFiles); - await prjManage.pl.delFiles(delFiles); + const addfileActionTag = '(add files) '; + const delfileActionTag = '(del files) '; + if (addFiles.length > 0) { + const reportMsg = ['', ...addFiles].join('\n\t'); + MainOutput.report(addfileActionTag + t('info.pl.xilinx.update-addfiles') + reportMsg, ReportType.Run); + await prjManage.pl.addFiles(addFiles); + } else { + MainOutput.report(addfileActionTag + t('info.pl.xilinx.no-need-add-files')); + } + + if (delFiles.length > 0) { + const reportMsg = ['', ...delFiles].join('\n\t'); + MainOutput.report(delfileActionTag + t('info.pl.xilinx.update-delfiles') + reportMsg, ReportType.Run); + await prjManage.pl.delFiles(delFiles); + } else { + MainOutput.report(delfileActionTag + t('info.pl.xilinx.no-need-del-files')); + } + } else { MainOutput.report('PL is not registered', ReportType.Warn); } diff --git a/src/monitor/index.ts b/src/monitor/index.ts index 96bbb76..c389986 100644 --- a/src/monitor/index.ts +++ b/src/monitor/index.ts @@ -5,6 +5,7 @@ import { PathSet } from '../global/util'; import { hdlPath } from '../hdlFs'; import * as Event from './event'; +import { t } from '../i18n'; class HdlMonitor{ private monitorConfig: chokidar.WatchOptions; @@ -53,8 +54,9 @@ class HdlMonitor{ const globPath = hdlPath.join(folder, hdlExtsGlob); monitorFoldersWithGlob.push(globPath); } - MainOutput.report('Following folders are tracked: '); - monitorPathSet.files.forEach(p => MainOutput.report(p)); + + const reportString = ['', ...monitorPathSet.files].join('\n\t'); + MainOutput.report(t('info.launch.following-folder-tracked') + reportString, ReportType.Launch); return this.makeMonitor(monitorFoldersWithGlob); } From 951f831f63ee277fab8be0062b482b364bea316a Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 26 Nov 2024 21:38:23 +0800 Subject: [PATCH 003/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=20SSI=20=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=80=BB=E8=BE=91=E4=BF=AE=E5=A4=8D=20|=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20TCL=20=E5=88=B7=E6=96=B0=20XPR=20=E7=9A=84=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=BA=90=E6=B7=BB=E5=8A=A0=E9=80=BB=E8=BE=91=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 4 +- l10n/bundle.l10n.en.json | 4 +- l10n/bundle.l10n.ja.json | 4 +- l10n/bundle.l10n.zh-cn.json | 4 +- l10n/bundle.l10n.zh-tw.json | 4 +- .../dide-lsp/static/xilinx/primitive.bin | Bin 3736879 -> 3736879 bytes snippets/sdc.json | 11 + snippets/svlog.json | 293 ++++-------------- snippets/tcl.json | 18 ++ snippets/vhdl.json | 20 ++ src/function/dide-viewer/index.ts | 4 +- src/function/hdlDoc/markdown.ts | 6 +- src/function/lsp/linter/vivado.ts | 27 +- src/function/netlist/index.ts | 2 + src/function/sim/simulate.ts | 66 ++-- src/function/treeView/index.ts | 8 +- src/function/treeView/tree.ts | 6 +- src/global/outputChannel.ts | 57 +++- src/global/prjInfo.ts | 35 +++ src/hdlFs/file.ts | 21 +- src/hdlParser/common.ts | 18 +- src/hdlParser/core.ts | 143 +++++++-- src/manager/PL/index.ts | 22 +- src/manager/PL/xilinx.ts | 104 +++++-- src/manager/index.ts | 4 +- src/monitor/event.ts | 34 +- 26 files changed, 526 insertions(+), 393 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index cef3074..19c82ec 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -69,5 +69,7 @@ "info.pl.xilinx.update-addfiles": "Datei zu Xilinx-Projekt hinzufügen", "info.pl.xilinx.update-delfiles": "Löschen Sie die folgenden Dateien aus dem Xilinx-Projekt.", "info.pl.xilinx.no-need-add-files": "Keine Dateien zum Hinzufügen zum Xilinx-Projekt", - "info.pl.xilinx.no-need-del-files": "Es müssen keine Dateien aus Xilinx gelöscht werden." + "info.pl.xilinx.no-need-del-files": "Es müssen keine Dateien aus Xilinx gelöscht werden.", + "error.pl.launch.not-valid-vivado-path": "Fehler beim Starten des Vivado TCL-Skriptinterpreters: {0}. Bitte überprüfen Sie, ob der Startpfad für Vivado korrekt ist. Derzeit eingestellter Startordnerpfad für Vivado: {1}", + "info.pl.launch.set-vivado-path": "Zur Einstellung des Vivado-Installationspfads gehen" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 1632f95..ac91e50 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -69,5 +69,7 @@ "info.pl.xilinx.update-addfiles": "Add file to Xilinx project", "info.pl.xilinx.update-delfiles": "Delete the following files from the Xilinx project.", "info.pl.xilinx.no-need-add-files": "No files need to be added to the Xilinx project", - "info.pl.xilinx.no-need-del-files": "There are no files to be deleted from Xilinx." + "info.pl.xilinx.no-need-del-files": "There are no files to be deleted from Xilinx.", + "error.pl.launch.not-valid-vivado-path": "Error encountered while starting the Vivado TCL script interpreter: {0}. Please check if your Vivado startup path is correct. Currently set Vivado startup folder path: {1}", + "info.pl.launch.set-vivado-path": "Go to set the Vivado installation path" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 4c4ad8d..a30cc52 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -69,5 +69,7 @@ "info.pl.xilinx.update-addfiles": "ファイルを Xilinx プロジェクトに追加", "info.pl.xilinx.update-delfiles": "以下のファイルをXilinxプロジェクトから削除してください。", "info.pl.xilinx.no-need-add-files": "Xilinx プロジェクトに追加するファイルはありません", - "info.pl.xilinx.no-need-del-files": "Xilinx から削除するファイルはありません。" + "info.pl.xilinx.no-need-del-files": "Xilinx から削除するファイルはありません。", + "error.pl.launch.not-valid-vivado-path": "Vivado TCL スクリプトインタプリタの起動中にエラーが発生しました:{0}。Vivado の起動パスが正しいか確認してください。現在設定されている Vivado 起動フォルダパス:{1}", + "info.pl.launch.set-vivado-path": "Vivado インストールパスの設定に移動" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 48a6b93..02418ba 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -69,5 +69,7 @@ "info.pl.xilinx.update-addfiles": "添加文件到 Xilinx 工程", "info.pl.xilinx.update-delfiles": "将下方文件从 Xilinx 工程中删除", "info.pl.xilinx.no-need-add-files": "没有需要添加到 Xilinx 工程的文件", - "info.pl.xilinx.no-need-del-files": "没有需要从 Xilinx 中删除的文件" + "info.pl.xilinx.no-need-del-files": "没有需要从 Xilinx 中删除的文件", + "error.pl.launch.not-valid-vivado-path": "启动 Vivado TCL 脚本解释器遇到错误:{0} 。请检查你的 Vivado 启动路径是否正确,当前设置的 Vivado 启动文件夹路径:{1}", + "info.pl.launch.set-vivado-path": "前往设置 Vivado 安装路径" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 40f6f5b..1783f64 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -69,5 +69,7 @@ "info.pl.xilinx.update-addfiles": "將檔案新增到 Xilinx 專案", "info.pl.xilinx.update-delfiles": "從 Xilinx 專案中刪除以下檔案。", "info.pl.xilinx.no-need-add-files": "沒有需要添加到 Xilinx 工程的文件", - "info.pl.xilinx.no-need-del-files": "沒有需要從 Xilinx 中刪除的檔案。" + "info.pl.xilinx.no-need-del-files": "沒有需要從 Xilinx 中刪除的檔案。", + "error.pl.launch.not-valid-vivado-path": "啟動 Vivado TCL 腳本解釋器遇到錯誤:{0} 。請檢查你的 Vivado 啟動路徑是否正確,目前設定的 Vivado 啟動資料夾路徑:{1}", + "info.pl.launch.set-vivado-path": "前往設定 Vivado 安裝路徑" } \ No newline at end of file diff --git a/resources/dide-lsp/static/xilinx/primitive.bin b/resources/dide-lsp/static/xilinx/primitive.bin index 53f05f265ce5eded2b515e763f325182da8d8afd..4bd7e11b4c61551dd61d4b55ff9203c942c78340 100644 GIT binary patch delta 4287 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 NU*t?NfG3gB^uMI&cryS1 delta 4354 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 PBMV$Vi>N*>O(OpX6g9&~ diff --git a/snippets/sdc.json b/snippets/sdc.json index 497a4f1..55b8f50 100644 --- a/snippets/sdc.json +++ b/snippets/sdc.json @@ -1,4 +1,13 @@ { + "clock": { + "prefix": "create_pll", + "body": [ + "create_clock -period 20.000 [get_ports clock]", + "set_input_jitter [get_clocks -of_objects [get_ports clock]] 0.200", + "set_property PHASESHIFT_MODE WAVEFORM [get_cells -hierarchical *adv*]" + ] + }, + "ILA_CORE": { "prefix": "create_ILA_CORE", "body": [ @@ -8,6 +17,7 @@ "connect_debug_port dbg_hub/clk [get_nets [list CLK_Global_u/clk_out${2:3}]]" ] }, + "Debug_CORE": { "prefix": "create_Debug_CORE", "body": [ @@ -24,6 +34,7 @@ "connect_debug_port u_ila_$1/clk [get_nets [list CLK_Global_u/clk_out${3:3}]]" ] }, + "Debug_add_port": { "prefix": "add_port", "body": [ diff --git a/snippets/svlog.json b/snippets/svlog.json index 04947e9..18f2510 100644 --- a/snippets/svlog.json +++ b/snippets/svlog.json @@ -1,210 +1,18 @@ -{ - "IDDR": { - "prefix": "iddr", - "body" : [ - "IDDR #(", - " // \"OPPOSITE_EDGE\", \"SAME_EDGE\" or \"SAME_EDGE_PIPELINED\" ", - " .DDR_CLK_EDGE(\"SAME_EDGE\"), ", - " .INIT_Q1(1'b0), // Initial value of Q1: 1'b0 or 1'b1", - " .INIT_Q2(1'b0), // Initial value of Q2: 1'b0 or 1'b1", - " .SRTYPE(\"SYNC\")) // Set/Reset type: \"SYNC\" or \"ASYNC\" ", - "IDDR_inst (", - "IDDR #(", - " .Q1(rx_data_pos), // 1-bit output for positive edge of clock ", - " .Q2(rx_data_neg), // 1-bit output for negative edge of clock", - " .C(data_clk), // 1-bit clock input", - " .CE(1'b1), // 1-bit clock enable input", - " .D(rx_data_dly), // 1-bit DDR data input", - " .R(1'b0), // 1-bit reset", - " .S(1'b0) // 1-bit set", - ");" - ] - }, - - "ODDR": { - "prefix": "oddr", - "body" : [ - "ODDR #(", - " .DDR_CLK_EDGE(\"SAME_EDGE\"), // \"OPPOSITE_EDGE\" or \"SAME_EDGE\" ", - " .INIT(1'b0), // Initial value of Q: 1'b0 or 1'b1", - " .SRTYPE(\"SYNC\")) // Set/Reset type: \"SYNC\" or \"ASYNC\" ", - "ODDR_inst (", - " .Q(odata), // 1-bit DDR output", - " .C(data_clk), // 1-bit clock input", - " .CE(1'b1), // 1-bit clock enable input", - " .D1(data_p), // 1-bit data input (positive edge)", - " .D2(data_n), // 1-bit data input (negative edge)", - " .R(1'b0), // 1-bit reset", - " .S(1'b0) // 1-bit set", - ");" - ] - }, - - "OBUFDS": { - "prefix": "obuf", - "body" : [ - "OBUFDS #(", - " .IOSTANDARD(\"LVDS18\"), // Specify the output I/O standard", - " .SLEW(\"SLOW\")) // Specify the output slew rate", - "OBUFDS_inst (", - " .O(tx_frame_p), // Diff_p output (connect directly to top-level port)", - " .OB(tx_frame_n), // Diff_n output (connect directly to top-level port)", - " .I(tx_frame) // Buffer input ", - ");" - ] - }, - - "IBUFDS": { - "prefix": "ibuf", - "body" : [ - "IBUFDS #(", - " .DIFF_TERM(\"FALSE\"), // Differential Termination", - " .IBUF_LOW_PWR(\"TRUE\"), // Low power=\"TRUE\", Highest performance=\"FALSE\" ", - " .IOSTANDARD(\"DEFAULT\")) // Specify the input I/O standard", - "IBUFDS_inst (", - " .O(data_clk_tmp), // Buffer output", - " .I(data_clk_p), // Diff_p buffer input (connect directly to top-level port)", - " .IB(data_clk_n) // Diff_n buffer input (connect directly to top-level port)", - ");" - ] - }, - - "OSERDESE2": { - "prefix": "oserd", - "body" : [ - "OSERDESE2 #(", - " .DATA_RATE_OQ(\"DDR\"), // DDR, SDR", - " .DATA_RATE_TQ(\"DDR\"), // DDR, BUF, SDR", - " .DATA_WIDTH(4), // Parallel data width (2-8,10,14)", - " .INIT_OQ(1'b0), // Initial value of OQ output (1'b0,1'b1)", - " .INIT_TQ(1'b0), // Initial value of TQ output (1'b0,1'b1)", - " .SERDES_MODE(\"MASTER\"), // MASTER, SLAVE", - " .SRVAL_OQ(1'b0), // OQ output value when SR is used (1'b0,1'b1)", - " .SRVAL_TQ(1'b0), // TQ output value when SR is used (1'b0,1'b1)", - " .TBYTE_CTL(\"FALSE\"), // Enable tristate byte operation (FALSE, TRUE)", - " .TBYTE_SRC(\"FALSE\"), // Tristate byte source (FALSE, TRUE)", - " .TRISTATE_WIDTH(4) // 3-state converter width (1,4)", - ")", - "OSERDESE2_inst (", - " .OFB(OFB), // 1-bit output: Feedback path for data", - " .OQ(OQ), // 1-bit output: Data path output", - " // SHIFTOUT1 / SHIFTOUT2: 1-bit (each) output: Data output expansion (1-bit each)", - " .SHIFTOUT1(SHIFTOUT1),", - " .SHIFTOUT2(SHIFTOUT2),", - " .TBYTEOUT(TBYTEOUT), // 1-bit output: Byte group tristate", - " .TFB(TFB), // 1-bit output: 3-state control", - " .TQ(TQ), // 1-bit output: 3-state control", - " .CLK(CLK), // 1-bit input: High speed clock", - " .CLKDIV(CLKDIV), // 1-bit input: Divided clock", - " // D1 - D8: 1-bit (each) input: Parallel data inputs (1-bit each)", - " .D1(D1),", - " .D2(D2),", - " .D3(D3),", - " .D4(D4),", - " .D5(D5),", - " .D6(D6),", - " .D7(D7),", - " .D8(D8),", - " .OCE(OCE), // 1-bit input: Output data clock enable", - " .RST(RST), // 1-bit input: Reset", - " // SHIFTIN1 / SHIFTIN2: 1-bit (each) input: Data input expansion (1-bit each)", - " .SHIFTIN1(SHIFTIN1),", - " .SHIFTIN2(SHIFTIN2),", - " // T1 - T4: 1-bit (each) input: Parallel 3-state inputs", - " .T1(T1),", - " .T2(T2),", - " .T3(T3),", - " .T4(T4),", - " .TBYTEIN(TBYTEIN), // 1-bit input: Byte group tristate", - " .TCE(TCE) // 1-bit input: 3-state clock enable", - ");" - ] - }, - - "ISERDESE2": { - "prefix": "iserd", - "body" : [ - "ISERDESE2 #(", - " .DATA_RATE(\"DDR\"), // DDR, SDR", - " .DATA_WIDTH(4), // Parallel data width (2-8,10,14)", - " .DYN_CLKDIV_INV_EN(\"FALSE\"), // Enable DYNCLKDIVINVSEL inversion (FALSE, TRUE)", - " .DYN_CLK_INV_EN(\"FALSE\"), // Enable DYNCLKINVSEL inversion (FALSE, TRUE)", - " // INIT_Q1 - INIT_Q4: Initial value on the Q outputs (0/1)", - " .INIT_Q1(1'b0),", - " .INIT_Q2(1'b0),", - " .INIT_Q3(1'b0),", - " .INIT_Q4(1'b0),", - " .INTERFACE_TYPE(\"MEMORY\"), // MEMORY, MEMORY_DDR3, MEMORY_QDR, NETWORKING, OVERSAMPLE", - " .IOBDELAY(\"NONE\"), // NONE, BOTH, IBUF, IFD", - " .NUM_CE(2), // Number of clock enables (1,2)", - " .OFB_USED(\"FALSE\"), // Select OFB path (FALSE, TRUE)", - " .SERDES_MODE(\"MASTER\"), // MASTER, SLAVE", - " // SRVAL_Q1 - SRVAL_Q4: Q output values when SR is used (0/1)", - " .SRVAL_Q1(1'b0),", - " .SRVAL_Q2(1'b0),", - " .SRVAL_Q3(1'b0),", - " .SRVAL_Q4(1'b0))", - "ISERDESE2_inst (", - " .O(O), // 1-bit output: Combinatorial output", - " // Q1 - Q8: 1-bit (each) output: Registered data outputs", - " .Q1(Q1),", - " .Q2(Q2),", - " .Q3(Q3),", - " .Q4(Q4),", - " .Q5(Q5),", - " .Q6(Q6),", - " .Q7(Q7),", - " .Q8(Q8),", - " // SHIFTOUT1, SHIFTOUT2: 1-bit (each) output: Data width expansion output ports", - " .SHIFTOUT1(SHIFTOUT1),", - " .SHIFTOUT2(SHIFTOUT2),", - "\n", - " // 1-bit input: The BITSLIP pin performs a Bitslip operation synchronous to", - " // CLKDIV when asserted (active High). Subsequently, the data seen on the Q1", - " // to Q8 output ports will shift, as in a barrel-shifter operation, one", - " // position every time Bitslip is invoked (DDR operation is different from", - " // SDR).", - " .BITSLIP(BITSLIP), ", - "\n", - " // CE1, CE2: 1-bit (each) input: Data register clock enable inputs", - " .CE1(CE1),", - " .CE2(CE2),", - " .CLKDIVP(CLKDIVP), // 1-bit input: TBD", - " // Clocks: 1-bit (each) input: ISERDESE2 clock input ports", - " .CLK(CLK), // 1-bit input: High-speed clock", - " .CLKB(CLKB), // 1-bit input: High-speed secondary clock", - " .CLKDIV(CLKDIV), // 1-bit input: Divided clock", - " .OCLK(OCLK), // 1-bit input: High speed output clock used when INTERFACE_TYPE=\"MEMORY\" ", - " // Dynamic Clock Inversions: 1-bit (each) input: Dynamic clock inversion pins to switch clock polarity", - " .DYNCLKDIVSEL(DYNCLKDIVSEL), // 1-bit input: Dynamic CLKDIV inversion", - " .DYNCLKSEL(DYNCLKSEL), // 1-bit input: Dynamic CLK/CLKB inversion", - " // Input Data: 1-bit (each) input: ISERDESE2 data input ports", - " .D(D), // 1-bit input: Data input", - " .DDLY(DDLY), // 1-bit input: Serial data from IDELAYE2", - " .OFB(OFB), // 1-bit input: Data feedback from OSERDESE2", - " .OCLKB(OCLKB), // 1-bit input: High speed negative edge output clock", - " .RST(RST), // 1-bit input: Active high asynchronous reset", - " // SHIFTIN1, SHIFTIN2: 1-bit (each) input: Data width expansion input ports", - " .SHIFTIN1(SHIFTIN1),", - " .SHIFTIN2(SHIFTIN2)", - ");" - ] - }, - - "count": { - "prefix": "count", +{ + "counter": { + "prefix": "counter", "body": [ "//define the time counter", - "reg [${1:32}:0] cnt$2 = 0;", - "reg ${3:impulse};", "parameter SET_TIME = $1'd$4;", - "always@(posedge clk) begin", - " if (cnt$2 == SET_TIME) begin", - " cnt$2 <= $1'd0;", + "reg [${1:32}:0] count$2;", + "reg ${3:impulse};", + "always@(posedge clock) begin", + " if (count$2 == SET_TIME) begin", + " count$2 <= $1'd0;", " $3 <= 1'd1;", " end", " else begin", - " cnt$2 <= cnt$2 + 1'd1;", + " count$2 <= count$2 + 1'd1;", " $3 <= 1'd0;", " end", "end" @@ -214,15 +22,15 @@ "divclk": { "prefix": "div", "body": [ - "reg [${1:3}:0] cnt$2 = 0;", - "reg clk_div$2;", - "always@(posedge ${3:clk}) begin", - " if (cnt$2 == ${4:3}) begin", - " cnt$2 <= $1'd0;", + "reg [${1:3}:0] count$2;", + "reg clk_div$2;", + "always@(posedge ${3:clock}) begin", + " if (count$2 == ${4:3}) begin", + " count$2 <= $1'd0;", " clk_div$2 <= ~clk_div$2;", " end", " else begin", - " cnt$2 <= cnt$2 + 1'd1;", + " count$2 <= count$2 + 1'd1;", " end", "end" ] @@ -234,10 +42,10 @@ "reg gate$2;", "reg gate$2_buf;", - "wire gate$2_pose = gate$2 & ~gate$2_buf;", - "wire gate$2_nege = ~gate$2 & gate$2_buf;", + "wire gate$2_pos = gate$2 & ~gate$2_buf;", + "wire gate$2_neg = ~gate$2 & gate$2_buf;", - "always@(posedge clk) begin", + "always@(posedge clock) begin", " gate$2 <= ${1:signal};", " gate$2_buf <= gate$2;", "end" @@ -262,9 +70,9 @@ "prefix": "resetn", "body": [ "reg rst_n_s1, rst_n_s2;", - "wire rst_n", - "always @ (posedge clk or negedge sys_rst_n) begin", - " if (sys_rst_n) begin", + "wire sys_rstn", + "always @ (posedge clock or negedge rstn) begin", + " if (rstn) begin", " rst_n_s2 <= 1'b0;", " rst_n_s1 <= 1'b0;", " end", @@ -272,18 +80,18 @@ " rst_n_s2 <= rst_n_s1;", " end", "end", - "assign rst_n = rst_n_s2;" + "assign sys_rstn = rst_n_s2;" ], - "description" : "Asynchronous sys_rst_n synchronous release (intel device)" + "description" : "Asynchronous sys_rstn synchronous release (intel device)" }, "reset": { "prefix": "reset", "body": [ "reg rst_s1, rst_s2;", - "wire rst", - "always @ (posedge clk or posedge sys_rst) begin", - " if (sys_rst) begin", + "wire sys_rst", + "always @ (posedge clock or posedge reset) begin", + " if (reset) begin", " rst_s2 <= 1'b0;", " rst_s1 <= 1'b0;", " end", @@ -291,9 +99,9 @@ " rst_s2 <= rst_s1;", " end", "end", - "assign rst = rst_s2;" + "assign sys_rst = rst_s2;" ], - "description" : "Asynchronous sys_rst synchronous release (xilinx device)" + "description" : "Asynchronous reset synchronous release (xilinx device)" }, "initial sim": { @@ -369,18 +177,18 @@ "alwaysposclk": { "prefix": "alclk", "body": [ - "always @(posedge clk) begin", + "always @(posedge clock) begin", " $1;", "end" ], - "description": "always @(posedge clk) directly" + "description": "always @(posedge clock) directly" }, "alwayssyncrst": { "prefix": "alsync", "body": [ - "always @(posedge clk) begin", - " if(rst) begin", + "always @(posedge clock) begin", + " if(reset) begin", " $1 <= 0;", " end", " else begin", @@ -394,8 +202,8 @@ "alwaysasyncrst": { "prefix": "alasync", "body": [ - "always @(posedge clk or posedge rst) begin", - " if(rst) begin", + "always @(posedge clock or posedge reset) begin", + " if(reset) begin", " $1 <= 0;", " end", " else begin", @@ -409,8 +217,8 @@ "alwayssyncrstn": { "prefix": "alsyncn", "body": [ - "always @(posedge clk) begin", - " if(!rst_n) begin", + "always @(posedge clock) begin", + " if(!rstn) begin", " $1 <= 0;", " end", " else begin", @@ -418,14 +226,14 @@ " end", "end" ], - "description": "synchronous rst_n (intel device)" + "description": "synchronous rstn (intel device)" }, "alwaysasyncrstn": { "prefix": "alasyncn", "body": [ - "always @(posedge clk or negedge rst_n) begin", - " if(!rst_n) begin", + "always @(posedge clock or negedge rstn) begin", + " if(!rstn) begin", " $1 <= 0;", " end", " else begin", @@ -433,7 +241,7 @@ " end", "end" ], - "description": "asynchronous rst_n (intel device)" + "description": "asynchronous rstn (intel device)" }, "beginend": { @@ -461,13 +269,13 @@ "prefix": "modp", "body": [ "module ${1:name} #(", - " parameter INPUT_WIDTH = ${2:12},", - " parameter OUTPUT_WIDTH = $2", + " parameter IWIDTH = ${2:12},", + " parameter OWIDTH = $2", ") (", - " input clk,", - " input RST,", - " input [INPUT_WIDTH - 1 : 0] ${3:data_i},", - " output [OUTPUT_WIDTH - 1 : 0] ${4:data_o}", + " input clock,", + " input reset,", + " input [IWIDTH - 1 : 0] ${3:data_i},", + " output [OWIDTH - 1 : 0] ${4:data_o}", ");", " $5", "endmodule //$1\n" @@ -479,8 +287,8 @@ "prefix": "mod", "body": [ "module ${1:moduleName} (", - " input clk,", - " input rst,", + " input clock,", + " input reset,", " $2", ");", " $3", @@ -488,6 +296,7 @@ ], "description": "Insert a module without parameter" }, + "simple module": { "prefix": "module", "body": [ @@ -497,6 +306,7 @@ ], "description": "Insert a common module" }, + "generate_for": { "prefix": "genfor", "body": [ @@ -903,18 +713,21 @@ "*/" ] }, + "dumpfile": { "prefix": "$dumpfile", "body": [ "\\$dumpfile(\"$1\");" ] }, + "dumpvars": { "prefix": "$dumpvars", "body": [ "\\$dumpvars;" ] }, + "finish": { "prefix": "$finish", "body": [ diff --git a/snippets/tcl.json b/snippets/tcl.json index d9ff82f..673c8f0 100644 --- a/snippets/tcl.json +++ b/snippets/tcl.json @@ -8,6 +8,7 @@ ], "description": "For Loop" }, + "foreach": { "prefix": "foreach", "body": [ @@ -17,6 +18,7 @@ ], "description": "Foreach Loop" }, + "if": { "prefix": "if", "body": [ @@ -26,6 +28,7 @@ ], "description": "If Condition" }, + "elseif": { "prefix": "elseif", "body": [ @@ -35,6 +38,7 @@ ], "description": "ElseIf Condition" }, + "else": { "prefix": "else", "body": [ @@ -44,6 +48,7 @@ ], "description": "Else Block" }, + "proc": { "prefix": "proc", "body": [ @@ -53,6 +58,7 @@ ], "description": "Proc Block" }, + "while": { "prefix": "while", "body": [ @@ -62,6 +68,7 @@ ], "description": "While Loop" }, + "catch": { "prefix": "catch", "body": [ @@ -69,6 +76,7 @@ ], "description": "Catch Block" }, + "try": { "prefix": "try", "body": [ @@ -80,6 +88,7 @@ ], "description": "Try Block" }, + "switch": { "prefix": "switch", "body": [ @@ -90,6 +99,7 @@ ], "description": "Switch Block" }, + "oo::class create": { "prefix": "oo::class create", "body": [ @@ -105,6 +115,7 @@ ], "description": "Class Create" }, + "tk_chooseDirectory": { "prefix": "tk_chooseDirectory", "body": [ @@ -112,6 +123,7 @@ ], "description": "Choose Directory" }, + "tk_getOpenFile": { "prefix": "tk_getOpenFile", "body": [ @@ -122,6 +134,7 @@ ], "description": "Open File Dialog" }, + "tk_getSaveFile": { "prefix": "tk_getSaveFile", "body": [ @@ -132,6 +145,7 @@ ], "description": "Save File Dialog" }, + "tk_messageBox": { "prefix": "tk_messageBox", "body": [ @@ -139,6 +153,7 @@ ], "description": "Message Box" }, + "set_property": { "prefix": "set_property", "body": [ @@ -146,18 +161,21 @@ ], "description": "set property" }, + "create_clock": { "prefix": "create_clock", "body": [ "create_clock ${1:signal_name} ${2:clock_name} ${3:frequency} ${4:uncertainty}" ] }, + "set_initial_state": { "prefix": "set_initial_state", "body": [ "set_initial_5state ${1:initial_state}" ] }, + "connect_port": { "prefix": "connect_port", "body": [ diff --git a/snippets/vhdl.json b/snippets/vhdl.json index 4bc6f96..1fe2c03 100644 --- a/snippets/vhdl.json +++ b/snippets/vhdl.json @@ -5,120 +5,140 @@ "description": "asynchronous process", "scope": "source.vhdl" }, + "arch": { "prefix": "arch", "body": "architecture ${1:arch} of ${2:ent} is\n\n\tsignal $0\n\nbegin\n\nend ${1:arch} ; -- ${1:arch}", "description": "architecture", "scope": "source.vhdl" }, + "case": { "prefix": "case", "body": "case( ${1:signal_name} ) is\n\n\twhen ${2:IDLE} =>\n\t\t$0\n\n\twhen others =>\n\nend case ;", "description": "case", "scope": "source.vhdl" }, + "else": { "prefix": "else", "body": "else\n\t$0", "description": "else", "scope": "source.vhdl" }, + "elsif": { "prefix": "elsif", "body": "elsif ${1:expression} then\n\t$0", "description": "elsif", "scope": "source.vhdl" }, + "ent": { "prefix": "ent", "body": "entity ${1:ent} is\n port (\n\t${0:clock}\n ) ;\nend ${1:ent};", "description": "entity", "scope": "source.vhdl" }, + "entarch": { "prefix": "entarch", "body": "entity ${1:ent} is\n port (\n\t${0:clock}\n ) ;\nend ${1:ent} ;\n\narchitecture ${2:arch} of ${1:ent} is\n\n\n\nbegin\n\n\n\nend architecture ; -- ${2:arch}", "description": "entity architecture", "scope": "source.vhdl" }, + "for": { "prefix": "for", "body": "${1:identifier} : for ${2:i} in ${3:0} to ${4:10} loop\n\t$0\nend loop ; -- ${1:identifier}", "description": "for loop", "scope": "source.vhdl" }, + "forg": { "prefix": "forg", "body": "${1:identifier} : for ${2:i} in ${3:x} to ${4:y} generate\n\t$0\nend generate ; -- ${1:identifier}", "description": "for generate", "scope": "source.vhdl" }, + "if": { "prefix": "if", "body": "if ${1:expression} then\n\t$0\nend if ;", "description": "if", "scope": "source.vhdl" }, + "pack": { "prefix": "pack", "body": "package ${1:pkg} is\n\t$0\nend package ;", "description": "package", "scope": "source.vhdl" }, + "pro": { "prefix": "pro", "body": "${1:identifier} : process( ${2:sensitivity_list} )\nbegin\n\t$0\nend process ; -- ${1:identifier}", "description": "process", "scope": "source.vhdl" }, + "s": { "prefix": "s", "body": "signed(${1:x} downto ${2:0}) ;$0", "description": "signed downto", "scope": "source.vhdl" }, + "sr": { "prefix": "sr", "body": "signed(${1:signal}'range) ;$0", "description": "signed range", "scope": "source.vhdl" }, + "spro": { "prefix": "spro", "body": "${1:identifier} : process( ${2:clock} )\nbegin\n\tif( rising_edge(${2:clock}) ) then\n\t\t$0\n\tend if ;\nend process ; -- ${1:identifier}", "description": "synchronous process", "scope": "source.vhdl" }, + "slv": { "prefix": "slv", "body": "std_logic_vector(${1:x} downto ${2:0}) ;$0", "description": "std_logic_vector downto", "scope": "source.vhdl" }, + "slvr": { "prefix": "slvr", "body": "std_logic_vector(${1:signal}'range) ;$0", "description": "std_logic_vector range", "scope": "source.vhdl" }, + "u": { "prefix": "u", "body": "unsigned(${1:x} downto ${2:0}) ;$0", "description": "unsigned downto", "scope": "source.vhdl" }, + "ur": { "prefix": "ur", "body": "unsigned(${1:signal}'range) ;$0", "description": "unsigned range", "scope": "source.vhdl" }, + "vhdl": { "prefix": "vhdl", "body": "library ieee ;\n\tuse ieee.std_logic_1164.all ;\n\tuse ieee.numeric_std.all ;\n\nentity ${1:ent} is\n port (\n\t${0:clock}\n ) ;\nend ${1:ent} ; \n\narchitecture ${2:arch} of ${1:ent} is\n\nbegin\n\nend architecture ;", "description": "vhdl template", "scope": "source.vhdl" }, + "while": { "prefix": "while", "body": "${1:identifier} : while ${2:expression} loop\n\t$0\nend loop ; -- ${1:identifier}", diff --git a/src/function/dide-viewer/index.ts b/src/function/dide-viewer/index.ts index 183216e..8f0cee0 100644 --- a/src/function/dide-viewer/index.ts +++ b/src/function/dide-viewer/index.ts @@ -71,7 +71,7 @@ class WaveViewer { this.panel.iconPath = getIconConfig('view'); registerMessageEvent(this.panel, uri); } else { - WaveViewOutput.report('preview html in is empty', ReportType.Warn); + WaveViewOutput.report('preview html in is empty', { level: ReportType.Warn }); } } @@ -138,7 +138,7 @@ class VcdViewerProvider implements vscode.CustomEditorProvider { webviewPanel.webview.html = preprocessHtml; webviewPanel.iconPath = getIconConfig('view'); } else { - WaveViewOutput.report('preview html in is empty', ReportType.Warn); + WaveViewOutput.report('preview html in is empty', { level: ReportType.Warn }); } } diff --git a/src/function/hdlDoc/markdown.ts b/src/function/hdlDoc/markdown.ts index 1dd1010..2696ee1 100644 --- a/src/function/hdlDoc/markdown.ts +++ b/src/function/hdlDoc/markdown.ts @@ -4,7 +4,7 @@ import * as fspath from 'path'; import { AbsPath, opeParam, MainOutput, ReportType } from '../../global'; import { hdlParam, HdlModule, HdlFile, HdlInstance } from '../../hdlParser/core'; -import { HdlModulePort, HdlModuleParam, InstModPathStatus } from '../../hdlParser/common'; +import { HdlModulePort, HdlModuleParam, InstModPathStatus, HdlFileProjectType } from '../../hdlParser/common'; import { MarkdownString, RenderString, RenderType, mergeSortByLine, getWavedromsFromFile, Count, WavedromString } from './common'; @@ -43,7 +43,7 @@ function selectFieldValue(obj: any, subName: string, ws: string, name: string, i if (fs.existsSync(value)) { // 判断 类型 const hdlFile = hdlParam.getHdlFile(value); - if (hdlFile && hdlFile.type === 'remote_lib') { + if (hdlFile && hdlFile.projectType === HdlFileProjectType.RemoteLib) { // 如果是 库 文件,做出更加自定义的字面量 const libRelPath = value.replace(`${opeParam.extensionPath}/library/`, ''); value = `library [${libRelPath}](file://${value})`; @@ -277,10 +277,12 @@ async function getDocsFromFile(path: AbsPath): Promise line: ${errorLine}, info: ${syntaxInfo}`, ReportType.Run); + LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + level: ReportType.Run + }); const range = this.makeCorrectRange(document, errorLine, syntaxInfo); const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Error); @@ -136,8 +141,13 @@ class VivadoLinter implements BaseLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.bat' : executorName; if (vivadoInstallPath.trim() === '' || !fs.existsSync(vivadoInstallPath)) { - LspOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid. Use ${executorName} in default.`, ReportType.Warn); - LspOutput.report('If you have doubts, check prj.vivado.install.path in setting', ReportType.Warn); + LspOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid. Use ${executorName} in default.`, { + level: ReportType.Warn + }); + LspOutput.report('If you have doubts, check prj.vivado.install.path in setting', { + level: ReportType.Warn + }); + return executorName; } else { LspOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid`); @@ -161,11 +171,16 @@ class VivadoLinter implements BaseLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from vivado is ready to go!`, ReportType.Launch); + LspOutput.report(`success to verify ${executorPath}, linter from vivado is ready to go!`, { + level: ReportType.Launch + }); return true; } else { this.executableInvokeNameMap.set(langID, undefined); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, ReportType.Error, true); + LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + level: ReportType.Error, + notify: true + }); return false; } } diff --git a/src/function/netlist/index.ts b/src/function/netlist/index.ts index 546d30e..acb4a2e 100644 --- a/src/function/netlist/index.ts +++ b/src/function/netlist/index.ts @@ -31,10 +31,12 @@ class Netlist { const standardPath = hdlPath.toSlash(path); const response = await doFastApi(standardPath, 'common'); const langID = hdlFile.getLanguageId(standardPath); + const projectType = hdlParam.getHdlFileProjectType(standardPath, 'common'); moduleFile = new HdlFile( standardPath, langID, response?.macro || defaultMacro, response?.content || [], + projectType, 'common' ); // 从 hdlParam 中去除,避免干扰全局 diff --git a/src/function/sim/simulate.ts b/src/function/sim/simulate.ts index 855da58..4c4e511 100644 --- a/src/function/sim/simulate.ts +++ b/src/function/sim/simulate.ts @@ -73,7 +73,10 @@ class Simulate { }; let code = hdlFile.readFile(path); if (!code) { - MainOutput.report('error when read ' + path, ReportType.Error, true); + MainOutput.report('error when read ' + path, { + level: ReportType.Error, + notify: true + }); return; } @@ -95,7 +98,9 @@ class Simulate { if (!hdlFile.isDir(simConfig.simulationHome)) { - MainOutput.report('create dir ' + simConfig.simulationHome, ReportType.Info); + MainOutput.report('create dir ' + simConfig.simulationHome, { + level: ReportType.Info + }); hdlDir.mkdir(simConfig.simulationHome); } @@ -113,7 +118,10 @@ class Simulate { simConfig.installPath = setting.get('digital-ide.function.simulate.icarus.installPath', ''); if (simConfig.installPath !== '' && !hdlFile.isDir(simConfig.installPath)) { - MainOutput.report(`install path ${simConfig.installPath} is illegal`, ReportType.Error, true); + MainOutput.report(`install path ${simConfig.installPath} is illegal`, { + level: ReportType.Error, + notify: true + }); return; } @@ -252,7 +260,9 @@ class IcarusSimulate extends Simulate { // console.log(thirdLibraryFileArgs); const cmd = `${iverilogPath} ${argu} -o ${outVvpPath} -s ${name} ${macroIncludeArgs} ${thirdLibraryDirArgs} ${mainPath} ${dependenceArgs} ${thirdLibraryFileArgs}`; - MainOutput.report(cmd, ReportType.Run); + MainOutput.report(cmd, { + level: ReportType.Run + }); return cmd; } @@ -287,26 +297,42 @@ class IcarusSimulate extends Simulate { } child_process.exec(command, { cwd }, (error, stdout, stderr) => { if (error) { - MainOutput.report('Error took place when run ' + command, ReportType.Error); - MainOutput.report('Reason: ' + stderr, ReportType.Error); + MainOutput.report('Error took place when run ' + command, { + level: ReportType.Error + }); + MainOutput.report('Reason: ' + stderr, { + level: ReportType.Error + }); } else { - MainOutput.report(stdout, ReportType.Info); + MainOutput.report(stdout, { + level: ReportType.Info + }); const vvpOutFile = hdlPath.join(simConfig.simulationHome, 'out.vvp'); - MainOutput.report("Create vvp to " + vvpOutFile, ReportType.Run); + MainOutput.report("Create vvp to " + vvpOutFile, { + level: ReportType.Run + }); const outVvpPath = hdlPath.join(simConfig.simulationHome, 'out.vvp'); const vvpPath = simConfig.vvpPath; // run vvp to interrupt script const vvpCommand = `${vvpPath} ${outVvpPath}`; - MainOutput.report(vvpCommand, ReportType.Run); + MainOutput.report(vvpCommand, { + level: ReportType.Run + }); child_process.exec(vvpCommand, { cwd }, (error, stdout, stderr) => { if (error) { - MainOutput.report('Error took place when run ' + vvpCommand, ReportType.Error); - MainOutput.report('Reason: ' + stderr, ReportType.Error); + MainOutput.report('Error took place when run ' + vvpCommand, { + level: ReportType.Error + }); + MainOutput.report('Reason: ' + stderr, { + level: ReportType.Error + }); } else { - MainOutput.report(stdout, ReportType.Info); + MainOutput.report(stdout, { + level: ReportType.Info + }); } }); } @@ -355,7 +381,10 @@ class IcarusSimulate extends Simulate { this.exec(simulationCommand, cwd); } else { const errorMsg = 'Fail to generate command'; - MainOutput.report(errorMsg, ReportType.Error, true); + MainOutput.report(errorMsg, { + level: ReportType.Error, + notify: true + }); return; } } @@ -386,15 +415,13 @@ class IcarusSimulate extends Simulate { } const standardPath = hdlPath.toSlash(path); - console.log('enter [doFastApi]'); const response = await doFastApi(standardPath, 'common'); - console.log('response result: '); - console.log(response); - + const projectType = hdlParam.getHdlFileProjectType(standardPath, 'common'); const moduleFile = new HdlFile( standardPath, langID, response?.macro || defaultMacro, response?.content || [], + projectType, 'common' ); // 从 hdlParam 中去除,避免干扰全局 @@ -418,7 +445,10 @@ class IcarusSimulate extends Simulate { if (targetModule !== undefined) { this.simulateByHdlModule(targetModule); } else { - MainOutput.report('There is no module named ' + view.name + ' in ' + view.path, ReportType.Error, true); + MainOutput.report('There is no module named ' + view.name + ' in ' + view.path, { + level: ReportType.Error, + notify: true + }); return; } } diff --git a/src/function/treeView/index.ts b/src/function/treeView/index.ts index 50b472d..5dac4de 100644 --- a/src/function/treeView/index.ts +++ b/src/function/treeView/index.ts @@ -49,7 +49,9 @@ function openFileByUri(path: string, range: Range, element: ModuleDataItem) { } } } - MainOutput.report("invalid jump uri triggered in treeview, el: " + JSON.stringify(element, null, ' '), ReportType.Error); + MainOutput.report("invalid jump uri triggered in treeview, el: " + JSON.stringify(element, null, ' '), { + level: ReportType.Error + }); } function gotoXilinxIPDefinition(element: ModuleDataItem) { @@ -63,7 +65,9 @@ function gotoXilinxIPDefinition(element: ModuleDataItem) { vscode.window.showInformationMessage(t('info.treeview.ip-no-active.message')); } } else { - MainOutput.report("[gotoXilinxIPDefinition] path is undefined", ReportType.Error); + MainOutput.report("[gotoXilinxIPDefinition] path is undefined", { + level: ReportType.Error + }); } } diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index e0f9ee6..40e8ed6 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -3,7 +3,7 @@ import * as vscode from 'vscode'; import { AbsPath, MainOutput, opeParam, ReportType } from '../../global'; import { SimPath, SrcPath } from '../../global/prjInfo'; import { HdlInstance, hdlParam } from '../../hdlParser/core'; -import { HdlFileType, Range } from '../../hdlParser/common'; +import { HdlFileProjectType, Range } from '../../hdlParser/common'; import { hdlFile, hdlPath } from '../../hdlFs'; import { xilinx, itemModes, otherModes } from './common'; import { getIconConfig } from '../../hdlFs/icons'; @@ -71,7 +71,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { this.srcRootItem = { icon: 'src', - type: HdlFileType.Src, + type: HdlFileProjectType.Src, doFastFileType: undefined, name: 'src', range: undefined, @@ -81,7 +81,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { this.simRootItem = { icon: 'sim', - type: HdlFileType.Sim, + type: HdlFileProjectType.Sim, doFastFileType: undefined, name: 'sim', range: undefined, diff --git a/src/global/outputChannel.ts b/src/global/outputChannel.ts index c3d018b..93cd4d2 100644 --- a/src/global/outputChannel.ts +++ b/src/global/outputChannel.ts @@ -2,16 +2,53 @@ import * as vscode from 'vscode'; enum ReportType { + /** + * debug + */ Debug = 'Debug', + /** + * 某些模块或者子进程启动函数中的输出,用来判断子模块是否正常启动 + */ Launch = 'Launch', + /** + * 测量性能相关的输出 + */ Performance = 'Performance', + /** + * debug 查看路径有效性相关的输出 + */ PathCheck = 'Path Check', + /** + * 普通消息的信息 + */ Info = 'Info', + /** + * warn 等级的信息 + */ Warn = 'Warn', + /** + * error 等级的信息 + */ Error = 'Error', + /** + * 某些功能或者子进程在运行中产出的信息 + */ Run = 'Run' }; +interface ReportOption { + /** + * 汇报的等级,类似于日志系统中的 level,详见 + * [ReportType](https://github.com/Digital-EDA/Digital-IDE/blob/main/src/global/outputChannel.ts#L4) + */ + level?: ReportType, + /** + * 用于控制是否同时也在窗口右下角展示信息。如果为 true,则同时会 + * 调用 vscode.window.showInformationMessage 在右下角展示信息。默认为 false + */ + notify?: boolean +} + class Output { private _output: vscode.OutputChannel; private _ignoreTypes: ReportType[]; @@ -51,19 +88,21 @@ class Output { } /** - * + * @description 信息汇报函数,用于将字符串显示在 Output 窗口中,也可可以同时显示右下角的窗口中 * @param message message - * @param type report type - * @param reportInWindows whether use vscode.windows. to show info + * @param option 汇报的选项 */ - public report(message: string | unknown, type: ReportType = ReportType.Info, reportInWindows: boolean = false) { - if (!this.skipMessage(type) && message) { - // this._output.show(true); + public report(message: string | unknown, option?: ReportOption) { + option = option || { level: ReportType.Info, notify: false } as ReportOption; + const level = option.level || ReportType.Info; + const notify = option.notify || false; + + if (!this.skipMessage(level) && message) { const currentTime = this.getCurrentTime(); - this._output.appendLine('[' + type + ' - ' + currentTime + '] ' + message); + this._output.appendLine('[' + level + ' - ' + currentTime + '] ' + message); - if (reportInWindows) { - this.showInWindows('' + message, type); + if (notify) { + this.showInWindows('' + message, level); } } } diff --git a/src/global/prjInfo.ts b/src/global/prjInfo.ts index 0cefc3a..f19bbec 100644 --- a/src/global/prjInfo.ts +++ b/src/global/prjInfo.ts @@ -233,6 +233,7 @@ class PrjInfo implements PrjInfoMeta { const psname = this.prjName.PS; // TODO : packaging the replacer + // TODO : 支持路径的正则表达式 return path.replace(/\$\{workspace\}/g, workspacePath) .replace(/\$\{plname\}/g, plname) .replace(/\$\{psname\}/g, psname); @@ -593,6 +594,11 @@ class PrjInfo implements PrjInfoMeta { return libPath; } + /** + * @description 代表当前的 arch.hardware.sim 的值 + * 标准结构下应为 user/sim 的绝对路径 + * 空则返回默认值 workspace path + */ public get hardwareSimPath(): AbsPath { const simPath = this._arch.hardware.sim; const workspace = this._workspacePath; @@ -604,6 +610,11 @@ class PrjInfo implements PrjInfoMeta { return hdlPath.join(workspace, simPath); } + /** + * @description 代表当前的 arch.hardware.src 的值 + * 标准结构下应为 user/src 的绝对路径 + * 空则返回默认值 workspace path + */ public get hardwareSrcPath(): AbsPath { const srcPath = this._arch.hardware.src; const workspace = this._workspacePath; @@ -617,6 +628,30 @@ class PrjInfo implements PrjInfoMeta { return hdlPath.join(workspace, srcPath); } + /** + * @description user/ip 的绝对路径 + */ + public get ipPath(): AbsPath { + const workspace = this._workspacePath; + return hdlPath.join(workspace, 'user', 'ip'); + } + + /** + * @description user/src/lib 绝对路径 + */ + public get localLibPath(): AbsPath { + const workspace = this._workspacePath; + return hdlPath.join(workspace, 'user', 'src', 'lib'); + } + + /** + * @description ${extensionPath}/library 绝对路径 + */ + public get remoteLibPath(): AbsPath { + const extensionPath = this._extensionPath; + return hdlPath.join(extensionPath, 'library'); + } + public json(): RawPrjInfo { return { toolChain: this._toolChain, diff --git a/src/hdlFs/file.ts b/src/hdlFs/file.ts index fe116c7..75b3523 100644 --- a/src/hdlFs/file.ts +++ b/src/hdlFs/file.ts @@ -5,7 +5,7 @@ import { AbsPath, RelPath } from '../global'; import { HdlLangID } from '../global/enum'; import { verilogExts, vhdlExts, systemVerilogExts, hdlExts } from '../global/lang'; import * as hdlPath from './path'; -import { HdlFileType } from '../hdlParser/common'; +import { HdlFileProjectType } from '../hdlParser/common'; import { opeParam } from '../global'; /** @@ -139,24 +139,6 @@ function getLanguageId(path: AbsPath | RelPath): HdlLangID { } -function getHdlFileType(path: AbsPath) : HdlFileType { - const uniformPath = hdlPath.toSlash(path); - const arch = opeParam.prjInfo.arch; - const srcPath: AbsPath = arch.hardware.src; - const simPath: AbsPath = arch.hardware.sim; - const wsPath: AbsPath = opeParam.workspacePath; - if (uniformPath.includes(srcPath)) { - return HdlFileType.Src; - } else if (uniformPath.includes(simPath)) { - return HdlFileType.Sim; - } else if (uniformPath.includes(wsPath)) { - return HdlFileType.LocalLib; - } else { - return HdlFileType.RemoteLib; - } -} - - function readFile(path: AbsPath): string | undefined { try { const content = fs.readFileSync(path, 'utf-8'); @@ -376,7 +358,6 @@ export { readJSON, writeJSON, rmSync, - getHdlFileType, pickFileRecursive, isHasAttr, isHasValue, diff --git a/src/hdlParser/common.ts b/src/hdlParser/common.ts index 8ff47ac..f1a48d2 100644 --- a/src/hdlParser/common.ts +++ b/src/hdlParser/common.ts @@ -32,11 +32,23 @@ enum HdlModulePortType { enum HdlModuleParamType {LocalParam, Parameter, Unknown}; -enum HdlFileType { +/** + * @description 用于描述当前的这个 HDL 文件是会被系统视为哪一种进行处理 + * - Src: src 目录文件 + * - Sim: sim 目录文件 + * - LocalLib: 局部库文件 + * - RemoteLib: 全局库文件 + * - IP: IP 核 + * - Primitive: 原语 + */ +enum HdlFileProjectType { Src = 'src', Sim = 'sim', LocalLib = 'local_lib', - RemoteLib = 'remote_lib' + RemoteLib = 'remote_lib', + IP = 'ip', + Primitive = 'primitive', + Unknown = 'unknown' }; enum InstModPathStatus {Current, Include, Others, Unknown}; @@ -214,7 +226,7 @@ export { InstRange, HdlModulePortType, HdlModuleParamType, - HdlFileType, + HdlFileProjectType, InstModPathStatus, Error, Define, diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index f1c1b05..0c46a77 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -58,7 +58,9 @@ class HdlParam { await this.doHdlFast(path, 'common'); const hdlFile = this.getHdlFile(path); if (!hdlFile) { - MainOutput.report('error happen when we attempt to add file by path: ' + path, ReportType.Error); + MainOutput.report('error happen when we attempt to add file by path: ' + path, { + level: ReportType.Error + }); } else { hdlFile.makeInstance(); // when a new file is added, retry the solution of dependency @@ -134,11 +136,11 @@ class HdlParam { } public selectTopModuleSourceByFileType(hdlModule: HdlModule): Set { - switch (hdlModule.file.type) { - case common.HdlFileType.Src: return this.srcTopModules; - case common.HdlFileType.Sim: return this.simTopModules; - case common.HdlFileType.LocalLib: return this.srcTopModules; - case common.HdlFileType.RemoteLib: return this.srcTopModules; + switch (hdlModule.file.projectType) { + case common.HdlFileProjectType.Src: return this.srcTopModules; + case common.HdlFileProjectType.Sim: return this.simTopModules; + case common.HdlFileProjectType.LocalLib: return this.srcTopModules; + case common.HdlFileProjectType.RemoteLib: return this.srcTopModules; default: return this.srcTopModules; } } @@ -152,6 +154,10 @@ class HdlParam { topModuleSource.add(hdlModule); } + /** + * @description 根据输入的 module 把它从所属的 src 或者 sim 的 topmodules 中去除 + * @param hdlModule + */ public deleteTopModuleToSource(hdlModule: HdlModule) { const topModuleSource = this.selectTopModuleSourceByFileType(hdlModule); topModuleSource.delete(hdlModule); @@ -238,15 +244,21 @@ class HdlParam { const fast = await HdlSymbol.fast(path, fileType); if (fast) { const languageId = this.getRealLanguageId(path, fast.fileType); + const fileProjectType = this.getHdlFileProjectType(path, fast.fileType); new HdlFile(path, languageId, fast.macro, fast.content, + fileProjectType, fast.fileType); } } catch (error) { - MainOutput.report('Error happen when parse ' + path, ReportType.Error); - MainOutput.report('Reason: ' + error, ReportType.Error); + MainOutput.report('Error happen when parse ' + path, { + level: ReportType.Error + }); + MainOutput.report('Reason: ' + error, { + level: ReportType.Error + }); } } @@ -257,6 +269,32 @@ class HdlParam { return hdlFile.getLanguageId(path); } + public getHdlFileProjectType(path: string, fileType: DoFastFileType): common.HdlFileProjectType { + switch (fileType) { + case 'common': + // 根据前缀来判断对应的类型 + path = hdlPath.toSlash(path); + const prjInfo = opeParam.prjInfo; + + if (path.startsWith(prjInfo.hardwareSrcPath)) { + return common.HdlFileProjectType.Src; + } else if (path.startsWith(prjInfo.hardwareSimPath)) { + return common.HdlFileProjectType.Sim; + } else if (path.startsWith(prjInfo.ipPath)) { + return common.HdlFileProjectType.IP; + } else if (path.startsWith(prjInfo.localLibPath)) { + return common.HdlFileProjectType.LocalLib; + } else if (path.startsWith(prjInfo.remoteLibPath)) { + return common.HdlFileProjectType.RemoteLib; + } else { + return common.HdlFileProjectType.Unknown; + } + case 'ip': + return common.HdlFileProjectType.IP; + case 'primitives': + return common.HdlFileProjectType.Primitive; + } + } public async initializeHdlFiles(hdlFiles: AbsPath[], progress: vscode.Progress) { let count: number = 0; @@ -343,8 +381,8 @@ class HdlParam { } switch (type) { - case common.HdlFileType.Src: return this.getSrcTopModules(); - case common.HdlFileType.Sim: return this.getSimTopModules(); + case common.HdlFileProjectType.Src: return this.getSrcTopModules(); + case common.HdlFileProjectType.Sim: return this.getSimTopModules(); default: return []; } } @@ -399,7 +437,9 @@ class HdlParam { // 初始化 const moduleFile = this.getHdlFile(path); if (!moduleFile) { - MainOutput.report('error happen when create moduleFile ' + path, ReportType.Warn); + MainOutput.report('error happen when create moduleFile ' + path, { + level: ReportType.Warn + }); } else { moduleFile.makeInstance(); for (const module of moduleFile.getAllHdlModules()) { @@ -481,19 +521,25 @@ class HdlInstance { this.locateHdlModule(); } + /** + * @description 定位出当前 instance 的模块是什么,并将模块对应的 HdlModule (普通 HDL、IP、原语) 赋值到 this.module 上 + * 对于存在于结构树中的 HdlModule (普通 HDL & IP),改变这些 HdlModule 的 ref 并修改顶层模块相关的属性 + */ public locateHdlModule() { const instModPath = this.instModPath; const instModName = this.type; if (instModPath) { - this.module = hdlParam.getHdlModule(instModPath, instModName); - - // add refer for module - this.module?.addGlobalReferedInstance(this); - // if module and parent module share the same source (e.g both in src folder) - if (this.isSameSourceInstantiation()) { - // 增加当前 instance 的引用,并从对应类型的顶层模块中剔除 - this.module?.addLocalReferedInstance(this); + const module = hdlParam.getHdlModule(instModPath, instModName); + if (module) { + this.module = module; + // 增加当前模块的 global ref + this.module.addGlobalReferedInstance(this); + // 如果当前 instance 对应的例化是同源例化,则 + // 增加当前 instance 的 local ref,并从对应类型的顶层模块中剔除 + if (this.isSameSourceInstantiation()) { + this.module?.addLocalReferedInstance(this); + } } } else { doPrimitivesJudgeApi(instModName).then(isPrimitive => { @@ -503,6 +549,9 @@ class HdlInstance { const fakeModule = new HdlModule( XilinxPrimitivesHdlFile, instModName, defaultRange, [], [], []); this.module = fakeModule; + // 原语在任何情况下都不是顶层模块 + hdlParam.deleteTopModule(fakeModule); + hdlParam.deleteTopModuleToSource(fakeModule); } } }); @@ -513,24 +562,37 @@ class HdlInstance { /** * @description 判断当前的 `instance` 对应的例化行为是否为一个同源例化 (SSI, same source instantiation) * - * 对于标准项目结构,也就是 src + sim ,如果在 moduleA 中完成了 moduleB 的例化,且 moduleA 和 moduleB 都是 src 文件夹下的, + * - 对于标准项目结构,也就是 src + sim ,如果在 moduleA 中完成了 moduleB 的例化,且 moduleA 和 moduleB 都是 src 文件夹下的, * 那么这个例化就是一个同源例化;如果 moduleB 在 sim 下, moduleA 在 src 下,那么当前的例化就是一个非同源例化。 - * - * 同源例化造成的引用为 local ref,非同源例化 + 同源例化造成的引用为 global ref。在模块树下, src 文件夹下的只有 local ref 为空的 module 才是顶层模块 + * - 对于 library 和 IP 这两种类型的 module,对于它们的例化一律视为同源引用。 + * - 同源例化造成的引用为 local ref,非同源例化 + 同源例化造成的引用为 global ref。在模块树下, src 文件夹下的只有 local ref 为空的 module 才是顶层模块 * 换句话说,非同源例化一定不会造成顶层模块的变化,但是同源例化有可能会。 * @returns */ public isSameSourceInstantiation(): boolean { - const parentMod = this.parentMod; - const instMod = this.module; - if (instMod) { - return parentMod.file.type === instMod.file.type; + const parentModule = this.parentMod; + const belongModule = this.module; + + // 当前 instance 仍然是 unsolved 状态,返回 false 不参与后续的 ref 计算 + if (!belongModule) { + return false; } - return false; + + // instance 模块本身是 library / IP / 原语,一律视为 SSI + if (belongModule.file.projectType === common.HdlFileProjectType.IP || + belongModule.file.projectType === common.HdlFileProjectType.Primitive || + belongModule.file.projectType === common.HdlFileProjectType.LocalLib || + belongModule.file.projectType === common.HdlFileProjectType.RemoteLib + ) { + return true; + } + + // 剩余情况下,一律根据 type 判断 + return parentModule.file.projectType === belongModule.file.projectType; } /** - * @description update Instance of each time + * @description 更新当前的 instance * @param newInstance */ public update(newInstance: common.RawHdlInstance) { @@ -685,8 +747,9 @@ class HdlModule { } // this.rawInstances = undefined; } else { - MainOutput.report('call makeNameToInstances but this.rawInstances is undefined', - ReportType.Warn); + MainOutput.report('call makeNameToInstances but this.rawInstances is undefined', { + level: ReportType.Warn + }); } } @@ -885,23 +948,30 @@ class HdlModule { }; export class HdlFile { + // 标准化的文件绝对路径 public path: string; + // 对应的 HDL 语言 ID public languageId: HdlLangID; - public type: common.HdlFileType; + // 文件的项目类型 + public projectType: common.HdlFileProjectType; + // 文件的解析模式 public doFastType: DoFastFileType; + // 当前文件的宏 public macro: common.Macro; + // 维护当前文件内部 module 的 map private readonly nameToModule: Map; constructor(path: string, languageId: HdlLangID, macro: common.Macro, modules: common.RawHdlModule[], + projectType: common.HdlFileProjectType, doFastType: DoFastFileType) { this.path = path; this.languageId = languageId; this.macro = macro; - this.type = hdlFile.getHdlFileType(path); + this.projectType = projectType; this.doFastType = doFastType; // add to global hdlParam @@ -987,8 +1057,13 @@ export class HdlFile { } } -export const XilinxPrimitivesHdlFile = new HdlFile('xilinx-primitives', HdlLangID.Verilog, defaultMacro, [], 'primitives'); - +export const XilinxPrimitivesHdlFile = new HdlFile( + 'xilinx-primitives', + HdlLangID.Verilog, + defaultMacro, + [], + common.HdlFileProjectType.Primitive, + 'primitives'); export { diff --git a/src/manager/PL/index.ts b/src/manager/PL/index.ts index 5379993..d4215a7 100644 --- a/src/manager/PL/index.ts +++ b/src/manager/PL/index.ts @@ -10,7 +10,7 @@ import { opeParam } from '../../global'; import { ToolChainType } from '../../global/enum'; import { hdlFile, hdlPath } from '../../hdlFs'; import { moduleTreeProvider, ModuleDataItem } from '../../function/treeView/tree'; -import { HdlFileType } from '../../hdlParser/common'; +import { HdlFileProjectType } from '../../hdlParser/common'; import { PropertySchema } from '../../global/propertySchema'; import { HardwareOutput, ReportType } from '../../global/outputChannel'; import { t } from '../../i18n'; @@ -31,15 +31,7 @@ class PlManage extends BaseManage { const curToolChain = this.context.tool; if (curToolChain === ToolChainType.Xilinx) { - const vivadoPath = vscode.workspace.getConfiguration('digital-ide.prj.vivado.install').get('path', ''); - if (hdlFile.isDir(vivadoPath)) { - this.context.path = hdlPath.join(hdlPath.toSlash(vivadoPath), 'vivado'); - if (opeParam.os === 'win32') { - this.context.path += '.bat'; - } - } else { - this.context.path = 'vivado'; - } + this.context.path = this.context.ope.updateVivadoPath(); } } @@ -104,7 +96,7 @@ class PlManage extends BaseManage { HardwareOutput.show(); this.context.process.stdin.write('exit\n'); - HardwareOutput.report(t('info.pl.exit.title'), ReportType.Info); + HardwareOutput.report(t('info.pl.exit.title')); this.context.process = undefined; } @@ -112,8 +104,8 @@ class PlManage extends BaseManage { public setSrcTop(item: ModuleDataItem) { this.context.ope.setSrcTop(item.name, this.context); const type = moduleTreeProvider.getItemType(item); - if (type === HdlFileType.Src) { - moduleTreeProvider.setFirstTop(HdlFileType.Src, item.name, item.path); + if (type === HdlFileProjectType.Src) { + moduleTreeProvider.setFirstTop(HdlFileProjectType.Src, item.name, item.path); moduleTreeProvider.refreshSrc(); } } @@ -121,8 +113,8 @@ class PlManage extends BaseManage { public setSimTop(item: ModuleDataItem) { this.context.ope.setSimTop(item.name, this.context); const type = moduleTreeProvider.getItemType(item); - if (type === HdlFileType.Sim) { - moduleTreeProvider.setFirstTop(HdlFileType.Sim, item.name, item.path); + if (type === HdlFileProjectType.Sim) { + moduleTreeProvider.setFirstTop(HdlFileProjectType.Sim, item.name, item.path); moduleTreeProvider.refreshSim(); } } diff --git a/src/manager/PL/xilinx.ts b/src/manager/PL/xilinx.ts index 5863610..a842ae1 100644 --- a/src/manager/PL/xilinx.ts +++ b/src/manager/PL/xilinx.ts @@ -13,6 +13,7 @@ import { XilinxIP } from '../../global/enum'; import { HardwareOutput, MainOutput, ReportType } from '../../global/outputChannel'; import { debounce } from '../../global/util'; import { t } from '../../i18n'; +import { HdlFileProjectType } from '../../hdlParser/common'; interface XilinxCustom { ipRepo: AbsPath, @@ -172,14 +173,14 @@ class XilinxOperation { } const tclPath = hdlPath.join(this.xilinxPath, 'launch.tcl'); - scripts.push(this.getRefreshCmd()); + scripts.push(this.getRefreshXprDesignSourceCommand()); scripts.push(`file delete ${tclPath} -force`); const tclCommands = scripts.join('\n') + '\n'; hdlFile.writeFile(tclPath, tclCommands); const argu = `-notrace -nolog -nojournal`; + context.path = this.updateVivadoPath(); const cmd = `${context.path} -mode tcl -s ${tclPath} ${argu}`; - const _this = this; @@ -193,6 +194,7 @@ class XilinxOperation { } // 执行 cmd 启动 const vivadoProcess = spawn(cmd, [], { shell: true, stdio: 'pipe', cwd: opeParam.workspacePath }); + let status: 'pending' | 'fulfilled' = 'pending'; vivadoProcess.on('close', () => { onVivadoClose(); @@ -204,13 +206,6 @@ class XilinxOperation { onVivadoClose(); }); - vivadoProcess.stderr.on('data', data => { - HardwareOutput.report(data.toString(), ReportType.Error); - HardwareOutput.show(); - }); - - let status: 'pending' | 'fulfilled' = 'pending'; - return new Promise(resolve => { vivadoProcess.stdout.on('data', data => { const message: string = _this.handleMessage(data.toString(), status); @@ -219,15 +214,42 @@ class XilinxOperation { HardwareOutput.show(); resolve(vivadoProcess); } - HardwareOutput.report(message, ReportType.Info); + HardwareOutput.report(message, { + level: ReportType.Info + }); status = 'fulfilled'; }); + + vivadoProcess.stderr.on('data', async data => { + HardwareOutput.report(data.toString(), { + level: ReportType.Error + }); + HardwareOutput.show(); + if (status === 'pending') { + // pending 阶段就出现 stderr 说明启动失败 + resolve(undefined); + + const vivadoInstallPath = vscode.workspace.getConfiguration('digital-ide').get('prj.vivado.install.path') || ''; + + const res = await vscode.window.showErrorMessage( + t('error.pl.launch.not-valid-vivado-path', data.toString(), vivadoInstallPath.toString()), + { + title: t('info.pl.launch.set-vivado-path'), + value: true + } + ); + if (res?.value) { + await vscode.commands.executeCommand('workbench.action.openSettings', 'digital-ide.prj.vivado.install.path'); + } + } + }); }); } const process = await vscode.window.withProgress({ title: t('info.pl.launch.progress.launch-tcl.title'), - location: vscode.ProgressLocation.Notification + location: vscode.ProgressLocation.Notification, + cancellable: true }, async () => { return await launchScript(); }); @@ -280,7 +302,11 @@ class XilinxOperation { scripts.push(`open_project ${path} -quiet`); } - private getRefreshCmd(): string { + /** + * @description 更新 xpr 设计源的命令 + * @returns + */ + private getRefreshXprDesignSourceCommand(): string { const scripts: string[] = []; // 清除所有源文件 scripts.push(`remove_files -quiet [get_files]`); @@ -358,13 +384,25 @@ class XilinxOperation { }); // 导入非本地的设计源文件 - const HDLFiles = hdlParam.getAllHdlFiles(); - for (const file of HDLFiles) { - // TODO: 新增library的add_files - if (file.type === "src") { - scripts.push(`add_files ${file.path} -quiet`); + for (const hdlFile of hdlParam.getAllHdlFiles()) { + switch (hdlFile.projectType) { + case HdlFileProjectType.Src: + case HdlFileProjectType.LocalLib: + case HdlFileProjectType.RemoteLib: + // src 和 library 加入 source_1 设计源 + scripts.push(`add_file ${hdlFile.path} -quiet`); + break; + case HdlFileProjectType.Sim: + // sim 加入 sim_1 设计源 + scripts.push(`add_file -fileset sim_1 ${hdlFile.path} -quiet`); + break; + case HdlFileProjectType.IP: + case HdlFileProjectType.Primitive: + // IP 和 原语不用管 + break; + default: + break; } - scripts.push(`add_files -fileset sim_1 ${file.path} -quiet`); } scripts.push(`add_files -fileset constrs_1 ${this.datPath} -quiet`); @@ -389,8 +427,12 @@ class XilinxOperation { return cmd; } + /** + * @description 【Xilinx Vivado 操作】更新 xpr 文件 + * @param context + */ public refresh(context: PLContext) { - const cmd = this.getRefreshCmd(); + const cmd = this.getRefreshXprDesignSourceCommand(); context.process?.stdin.write(cmd + '\n'); } @@ -590,7 +632,9 @@ file delete ${scriptPath} -force\n`; if (context.process) { context.process.stdin.write('start_gui -quiet\n'); - HardwareOutput.report(t('info.pl.gui.report-title'), ReportType.Info); + HardwareOutput.report(t('info.pl.gui.report-title'), { + level: ReportType.Info + }); HardwareOutput.show(); this.guiLaunched = true; } @@ -600,7 +644,7 @@ file delete ${scriptPath} -force\n`; if (!this.guiLaunched && files.length > 0) { const filesString = files.join("\n"); HardwareOutput.report(t('info.pl.add-files.title') + '\n' + filesString); - this.processFileInPrj(files, context, "add_file"); + this.execCommandToFilesInTclInterpreter(files, context, "add_file"); } } @@ -608,7 +652,7 @@ file delete ${scriptPath} -force\n`; if (!this.guiLaunched && files.length > 0) { const filesString = files.join("\n"); HardwareOutput.report(t('info.pl.del-files.title') + '\n' + filesString); - this.processFileInPrj(files, context, "remove_files"); + this.execCommandToFilesInTclInterpreter(files, context, "remove_files"); } } @@ -638,7 +682,7 @@ file delete ${scriptPath} -force\n`; * @param context * @param command */ - public processFileInPrj(files: string[], context: PLContext, command: string) { + public execCommandToFilesInTclInterpreter(files: string[], context: PLContext, command: string) { if (context.process === undefined) { return; } @@ -681,6 +725,20 @@ file delete ${scriptPath} -force\n`; MainOutput.report(log); } + + public updateVivadoPath(): string { + const vivadoBinFolder = vscode.workspace.getConfiguration('digital-ide.prj.vivado.install').get('path') || ''; + if (hdlFile.isDir(vivadoBinFolder)) { + let vivadoPath = hdlPath.join(hdlPath.toSlash(vivadoBinFolder), 'vivado'); + if (opeParam.os === 'win32') { + vivadoPath += '.bat'; + } + return vivadoPath; + } else { + // 没有设置 vivado bin 文件夹,就认为用户已经把对应的路径加入环境变量了 + return 'vivado'; + } + } } class XilinxBd { diff --git a/src/manager/index.ts b/src/manager/index.ts index 36f7208..19e7fba 100644 --- a/src/manager/index.ts +++ b/src/manager/index.ts @@ -13,7 +13,9 @@ function registerManagerCommands(context: vscode.ExtensionContext) { // const psManage = prjManage.ps; vscode.commands.registerCommand('digital-ide.property-json.generate', prjManage.generatePropertyJson); - vscode.commands.registerCommand('digital-ide.property-json.overwrite', prjManage.overwritePropertyJson); + + // 丢弃原因:插件更新后,用户修改的部分会被覆盖,没有存在必要了 + // vscode.commands.registerCommand('digital-ide.property-json.overwrite', prjManage.overwritePropertyJson); // libpick vscode.commands.registerCommand('digital-ide.pickLibrary', pickLibrary); diff --git a/src/monitor/event.ts b/src/monitor/event.ts index 2f53416..0de6e24 100644 --- a/src/monitor/event.ts +++ b/src/monitor/event.ts @@ -33,7 +33,9 @@ abstract class BaseAction { public listenChange(m: HdlMonitor) { const fSWatcher = this.selectFSWatcher(m); if (!fSWatcher) { - MainOutput.report("FSWatcher hasn't been made!", ReportType.Error); + MainOutput.report("FSWatcher hasn't been made!", { + level: ReportType.Error + }); return; } fSWatcher.on(Event.Change, path => this.change(path, m)); @@ -42,7 +44,9 @@ abstract class BaseAction { public listenAdd(m: HdlMonitor) { const fSWatcher = this.selectFSWatcher(m); if (!fSWatcher) { - MainOutput.report("FSWatcher hasn't been made!", ReportType.Error); + MainOutput.report("FSWatcher hasn't been made!", { + level: ReportType.Error + }); return; } fSWatcher.on(Event.Add, path => this.add(path, m)); @@ -51,7 +55,9 @@ abstract class BaseAction { public listenUnlink(m: HdlMonitor) { const fSWatcher = this.selectFSWatcher(m); if (!fSWatcher) { - MainOutput.report("FSWatcher hasn't been made!", ReportType.Error); + MainOutput.report("FSWatcher hasn't been made!", { + level: ReportType.Error + }); return; } fSWatcher.on(Event.Unlink, path => this.unlink(path, m)); @@ -75,7 +81,9 @@ class HdlAction extends BaseAction { // check if it has been created if (hdlParam.hasHdlFile(path)) { - MainOutput.report(' HdlFile ' + path + ' has been created', ReportType.Warn); + MainOutput.report(' HdlFile ' + path + ' has been created', { + level: ReportType.Warn + }); return; } @@ -247,7 +255,9 @@ class PpyAction extends BaseAction { // skip hdl remake if (originalLibState !== currentLibState) { const fileChange = await libManage.processLibFiles(opeParam.prjInfo.library); - MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, ReportType.Info); + MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, { + level: ReportType.Info + }); } } else { // update hdl monitor @@ -308,8 +318,6 @@ class PpyAction extends BaseAction { for (const path of delFiles) { hdlParam.deleteHdlFile(path); } - - // 判断新加入的 module 是否还是顶层模块 } @@ -320,7 +328,9 @@ class PpyAction extends BaseAction { const delfileActionTag = '(del files) '; if (addFiles.length > 0) { const reportMsg = ['', ...addFiles].join('\n\t'); - MainOutput.report(addfileActionTag + t('info.pl.xilinx.update-addfiles') + reportMsg, ReportType.Run); + MainOutput.report(addfileActionTag + t('info.pl.xilinx.update-addfiles') + reportMsg, { + level: ReportType.Run + }); await prjManage.pl.addFiles(addFiles); } else { MainOutput.report(addfileActionTag + t('info.pl.xilinx.no-need-add-files')); @@ -328,14 +338,18 @@ class PpyAction extends BaseAction { if (delFiles.length > 0) { const reportMsg = ['', ...delFiles].join('\n\t'); - MainOutput.report(delfileActionTag + t('info.pl.xilinx.update-delfiles') + reportMsg, ReportType.Run); + MainOutput.report(delfileActionTag + t('info.pl.xilinx.update-delfiles') + reportMsg, { + level: ReportType.Run + }); await prjManage.pl.delFiles(delFiles); } else { MainOutput.report(delfileActionTag + t('info.pl.xilinx.no-need-del-files')); } } else { - MainOutput.report('PL is not registered', ReportType.Warn); + MainOutput.report('PL is not registered', { + level: ReportType.Warn + }); } } } From a2eef0a7aae032940a8a67828a931aa0454e86f5 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 26 Nov 2024 21:47:48 +0800 Subject: [PATCH 004/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=20SSI=20=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=80=BB=E8=BE=91=E4=BF=AE=E5=A4=8D=20|=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20TCL=20=E5=88=B7=E6=96=B0=20XPR=20=E7=9A=84=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=BA=90=E6=B7=BB=E5=8A=A0=E9=80=BB=E8=BE=91=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/extension.ts | 4 +++- src/function/hdlDoc/common.ts | 16 +++++++++++---- src/function/hdlDoc/pdf.ts | 4 +++- src/function/lsp/hover/vlog.ts | 4 ++-- src/function/lsp/linter/modelsim.ts | 30 +++++++++++++++++++++------- src/function/lsp/linter/svlog.ts | 26 ++++++++++++++++-------- src/function/lsp/linter/verilator.ts | 22 +++++++++++++++----- src/function/lsp/linter/vhdl.ts | 26 ++++++++++++++++-------- src/function/lsp/linter/vlog.ts | 26 ++++++++++++++++-------- src/function/netlist/index.ts | 12 ++++++++--- src/function/treeView/tree.ts | 4 +++- src/manager/prj.ts | 10 +++++++--- src/monitor/index.ts | 4 +++- 13 files changed, 136 insertions(+), 52 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index e536ed7..e23624e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -42,7 +42,9 @@ async function launch(context: vscode.ExtensionContext) { console.log(t('info.welcome.join-qq-group') + ' https://qm.qq.com/q/1M655h3GsA'); const packageJson = readPackageJson(context); - MainOutput.report(t('info.launch.digital-ide-current-version') + packageJson.version, ReportType.Launch); + MainOutput.report(t('info.launch.digital-ide-current-version') + packageJson.version, { + level: ReportType.Launch + }); if (packageJson === undefined) { return; diff --git a/src/function/hdlDoc/common.ts b/src/function/hdlDoc/common.ts index a1a2119..3fc0657 100644 --- a/src/function/hdlDoc/common.ts +++ b/src/function/hdlDoc/common.ts @@ -300,8 +300,12 @@ function parseJson5(text: string): any { try { json = JSON5.parse(text); } catch (error) { - MainOutput.report('error happen when parse json ', ReportType.Error); - MainOutput.report(error, ReportType.Error); + MainOutput.report('error happen when parse json ', { + level: ReportType.Error + }); + MainOutput.report(error, { + level: ReportType.Error + }); } return json; } @@ -317,8 +321,12 @@ function makeWaveDromSVG(wavedromComment: string, style: ThemeType): string { Count.svgMakeTimes += 1; return svgString; } catch (error) { - MainOutput.report('error happen when render ' + wavedromComment, ReportType.Error); - MainOutput.report(error, ReportType.Error); + MainOutput.report('error happen when render ' + wavedromComment, { + level: ReportType.Error + }); + MainOutput.report(error, { + level: ReportType.Error + }); return ''; } } diff --git a/src/function/hdlDoc/pdf.ts b/src/function/hdlDoc/pdf.ts index 69b2a17..e027119 100644 --- a/src/function/hdlDoc/pdf.ts +++ b/src/function/hdlDoc/pdf.ts @@ -104,7 +104,9 @@ async function exportCurrentFileDocAsPDF(uri: vscode.Uri) { vscode.window.showInformationMessage('pdf generated at ' + pdfPath); } catch (error) { - MainOutput.report("error happen in export pdf: " + error, ReportType.Error); + MainOutput.report("error happen in export pdf: " + error, { + level: ReportType.Error + }); } }); } diff --git a/src/function/lsp/hover/vlog.ts b/src/function/lsp/hover/vlog.ts index 612253c..a1a1299 100644 --- a/src/function/lsp/hover/vlog.ts +++ b/src/function/lsp/hover/vlog.ts @@ -148,7 +148,7 @@ import { HdlLangID } from '../../../global/enum'; // const paramResult = util.matchParams(targetWord, currentModule); // if (paramResult) { -// LspOutput.report(' get param info ' + paramResult?.name, ReportType.Info); +// LspOutput.report(' get param info ' + paramResult?.name; // const paramComment = await util.searchCommentAround(filePath, paramResult.range); // const paramDesc = util.makeParamDesc(paramResult); // content.appendCodeblock(paramDesc, HdlLangID.Verilog); @@ -162,7 +162,7 @@ import { HdlLangID } from '../../../global/enum'; // const portResult = util.matchPorts(targetWord, currentModule); // if (portResult) { -// LspOutput.report(' get port info ' + portResult?.name, ReportType.Info); +// LspOutput.report(' get port info ' + portResult?.name; // const portComment = await util.searchCommentAround(filePath, portResult.range); // const portDesc = util.makePortDesc(portResult); diff --git a/src/function/lsp/linter/modelsim.ts b/src/function/lsp/linter/modelsim.ts index 6156623..91cfb8f 100644 --- a/src/function/lsp/linter/modelsim.ts +++ b/src/function/lsp/linter/modelsim.ts @@ -50,7 +50,10 @@ class ModelsimLinter implements BaseLinter { this.diagnostic.set(document.uri, diagnostics); } } else { - LspOutput.report('modelsim linter is not available, please check prj.modelsim.install.path in your setting!', ReportType.Error, true); + LspOutput.report('modelsim linter is not available, please check prj.modelsim.install.path in your setting!', { + level: ReportType.Error, + notify: true + }); } } @@ -72,7 +75,9 @@ class ModelsimLinter implements BaseLinter { if (headerInfo === 'Error') { const errorLine = parseInt(tokens[2]) - 1; const syntaxInfo = tokens[5]; - LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, ReportType.Run); + LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + level: ReportType.Run + }); const range = this.makeCorrectRange(document, errorLine, syntaxInfo); const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Error); @@ -80,7 +85,9 @@ class ModelsimLinter implements BaseLinter { } else if (headerInfo === 'Warning') { const errorLine = parseInt(tokens[2]) - 1; const syntaxInfo = tokens[5]; - LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, ReportType.Run); + LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + level: ReportType.Run + }); const range = this.makeCorrectRange(document, errorLine, syntaxInfo); const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Warning); @@ -137,8 +144,12 @@ class ModelsimLinter implements BaseLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; if (modelsimInstallPath.trim() === '' || !fs.existsSync(modelsimInstallPath)) { - LspOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid. Use ${executorName} in default.`, ReportType.Warn); - LspOutput.report('If you have doubts, check prj.modelsim.install.path in setting', ReportType.Warn); + LspOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid. Use ${executorName} in default.`, { + level: ReportType.Warn + }); + LspOutput.report('If you have doubts, check prj.modelsim.install.path in setting', { + level: ReportType.Warn + }); return executorName; } else { LspOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid`); @@ -162,11 +173,16 @@ class ModelsimLinter implements BaseLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from modelsim is ready to go!`, ReportType.Launch); + LspOutput.report(`success to verify ${executorPath}, linter from modelsim is ready to go!`, { + level: ReportType.Launch + }); return true; } else { this.executableInvokeNameMap.set(langID, undefined); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, ReportType.Error, true); + LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + level: ReportType.Error, + notify: true + }); return false; } } diff --git a/src/function/lsp/linter/svlog.ts b/src/function/lsp/linter/svlog.ts index b2dc942..4ff1307 100644 --- a/src/function/lsp/linter/svlog.ts +++ b/src/function/lsp/linter/svlog.ts @@ -56,7 +56,9 @@ class SvlogLinterManager implements BaseManager { await this.lint(doc); } } - LspOutput.report(' finish initialization of svlog linter. Linter name: ' + this.activateLinterName, ReportType.Launch); + LspOutput.report(' finish initialization of svlog linter. Linter name: ' + this.activateLinterName, { + level: ReportType.Launch + }); // hide it if current window is not verilog const editor = vscode.window.activeTextEditor; @@ -92,7 +94,9 @@ class SvlogLinterManager implements BaseManager { // no need for update return true; } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, ReportType.Launch); + LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { + level: ReportType.Launch + }); let launch = false; switch (diagnostorName) { @@ -121,13 +125,15 @@ class SvlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - LspOutput.report(' vivado linter has been activated', ReportType.Info); + LspOutput.report(' vivado linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch vivado linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - LspOutput.report(' Fail to launch vivado linter', ReportType.Error); + LspOutput.report(' Fail to launch vivado linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -145,13 +151,15 @@ class SvlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - LspOutput.report(' modelsim linter has been activated', ReportType.Info); + LspOutput.report(' modelsim linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - LspOutput.report(' Fail to launch modelsim linter', ReportType.Error); + LspOutput.report(' Fail to launch modelsim linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -168,13 +176,15 @@ class SvlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - LspOutput.report(' default build-in linter has been activated', ReportType.Info); + LspOutput.report(' default build-in linter has been activated'); } else { this.statusBarItem.backgroundColor = undefined; this.statusBarItem.tooltip = 'Fail to launch default linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - LspOutput.report(' Fail to launch default linter', ReportType.Error); + LspOutput.report(' Fail to launch default linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; diff --git a/src/function/lsp/linter/verilator.ts b/src/function/lsp/linter/verilator.ts index 917faac..84a32eb 100644 --- a/src/function/lsp/linter/verilator.ts +++ b/src/function/lsp/linter/verilator.ts @@ -50,7 +50,10 @@ class VerilatorLinter implements BaseLinter { this.diagnostic.set(document.uri, diagnostics); } } else { - LspOutput.report('verilator linter is not available, please check prj.verilator.install.path in your setting', ReportType.Error, true); + LspOutput.report('verilator linter is not available, please check prj.verilator.install.path in your setting', { + level: ReportType.Error, + notify: true + }); } } @@ -118,8 +121,12 @@ class VerilatorLinter implements BaseLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; if (verilatorInstallPath.trim() === '' || !fs.existsSync(verilatorInstallPath)) { - LspOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid. Use ${executorName} in default.`, ReportType.Warn); - LspOutput.report('If you have doubts, check prj.verilator.install.path in setting', ReportType.Warn); + LspOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid. Use ${executorName} in default.`, { + level: ReportType.Warn + }); + LspOutput.report('If you have doubts, check prj.verilator.install.path in setting', { + level: ReportType.Warn + }); return executorName; } else { LspOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid`); @@ -143,13 +150,18 @@ class VerilatorLinter implements BaseLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from verilator is ready to go!`, ReportType.Launch); + LspOutput.report(`success to verify ${executorPath}, linter from verilator is ready to go!`, { + level: ReportType.Launch + }); return true; } else { this.executableInvokeNameMap.set(langID, undefined); console.log(stderr); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, ReportType.Error, true); + LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + level: ReportType.Error, + notify: true + }); return false; } diff --git a/src/function/lsp/linter/vhdl.ts b/src/function/lsp/linter/vhdl.ts index 05d886c..612a2b5 100644 --- a/src/function/lsp/linter/vhdl.ts +++ b/src/function/lsp/linter/vhdl.ts @@ -56,7 +56,9 @@ class VhdlLinterManager implements BaseManager { await this.lint(doc); } } - LspOutput.report(' finish initialization of vhdl linter. Linter name: ' + this.activateLinterName, ReportType.Launch); + LspOutput.report(' finish initialization of vhdl linter. Linter name: ' + this.activateLinterName, { + level: ReportType.Launch + }); // hide it if current window is not vhdl const editor = vscode.window.activeTextEditor; @@ -92,7 +94,9 @@ class VhdlLinterManager implements BaseManager { // no need for update return true; } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, ReportType.Launch); + LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { + level: ReportType.Launch + }); let launch = false; switch (diagnostorName) { @@ -121,13 +125,15 @@ class VhdlLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - LspOutput.report(' vivado linter has been activated', ReportType.Info); + LspOutput.report(' vivado linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch vivado linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - LspOutput.report(' Fail to launch vivado linter', ReportType.Error); + LspOutput.report(' Fail to launch vivado linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -145,13 +151,15 @@ class VhdlLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - LspOutput.report(' modelsim linter has been activated', ReportType.Info); + LspOutput.report(' modelsim linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - LspOutput.report(' Fail to launch modelsim linter', ReportType.Error); + LspOutput.report(' Fail to launch modelsim linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -168,13 +176,15 @@ class VhdlLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - LspOutput.report(' default build-in linter has been activated', ReportType.Info); + LspOutput.report(' default build-in linter has been activated'); } else { this.statusBarItem.backgroundColor = undefined; this.statusBarItem.tooltip = 'Fail to launch default linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - LspOutput.report(' Fail to launch default linter', ReportType.Error); + LspOutput.report(' Fail to launch default linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; diff --git a/src/function/lsp/linter/vlog.ts b/src/function/lsp/linter/vlog.ts index 66a18d7..18500cb 100644 --- a/src/function/lsp/linter/vlog.ts +++ b/src/function/lsp/linter/vlog.ts @@ -56,7 +56,9 @@ class VlogLinterManager implements BaseManager { await this.lint(doc); } } - LspOutput.report(' finish initialization of vlog linter. Linter name: ' + this.activateLinterName, ReportType.Launch); + LspOutput.report(' finish initialization of vlog linter. Linter name: ' + this.activateLinterName, { + level: ReportType.Launch + }); // hide it if current window is not verilog const editor = vscode.window.activeTextEditor; @@ -92,7 +94,9 @@ class VlogLinterManager implements BaseManager { // no need for update return true; } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, ReportType.Launch); + LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { + level: ReportType.Launch + }); let launch = false; switch (diagnostorName) { @@ -121,13 +125,15 @@ class VlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - LspOutput.report(' vivado linter has been activated', ReportType.Info); + LspOutput.report(' vivado linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch vivado linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - LspOutput.report(' Fail to launch vivado linter', ReportType.Error); + LspOutput.report(' Fail to launch vivado linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -145,13 +151,15 @@ class VlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - LspOutput.report(' modelsim linter has been activated', ReportType.Info); + LspOutput.report(' modelsim linter has been activated'); } else { this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - LspOutput.report(' Fail to launch modelsim linter', ReportType.Error); + LspOutput.report(' Fail to launch modelsim linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; @@ -168,13 +176,15 @@ class VlogLinterManager implements BaseManager { if (launch) { this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - LspOutput.report(' default build-in linter has been activated', ReportType.Info); + LspOutput.report(' default build-in linter has been activated'); } else { this.statusBarItem.backgroundColor = undefined; this.statusBarItem.tooltip = 'Fail to launch default linter'; this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - LspOutput.report(' Fail to launch default linter', ReportType.Error); + LspOutput.report(' Fail to launch default linter', { + level: ReportType.Error + }); } this.currentLinter = selectedLinter; diff --git a/src/function/netlist/index.ts b/src/function/netlist/index.ts index acb4a2e..7166f8d 100644 --- a/src/function/netlist/index.ts +++ b/src/function/netlist/index.ts @@ -69,11 +69,15 @@ class Netlist { } if (type === "error") { vscode.window.showErrorMessage('type: ' + type + ', ' + message); - YosysOutput.report('type: ' + type + ', ' + message, ReportType.Error); + YosysOutput.report('type: ' + type + ', ' + message, { + level: ReportType.Error + }); } }); - prjFiles.forEach(file => YosysOutput.report('feed file: ' + file, ReportType.Debug)); + prjFiles.forEach(file => YosysOutput.report('feed file: ' + file, { + level: ReportType.Debug + })); this.kernel.load(prjFiles); this.create(); } @@ -115,7 +119,9 @@ class Netlist { if (this.panel && previewHtml) { this.panel.webview.html = previewHtml; } else { - YosysOutput.report('preview html in is empty', ReportType.Warn); + YosysOutput.report('preview html in is empty', { + level: ReportType.Warn + }); } } diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index 40e8ed6..c1fad06 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -263,7 +263,9 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { moduleDataItemList.push(item); } } else { - MainOutput.report(`cannot find ${element} in hdlParam when constructing treeView`, ReportType.Error); + MainOutput.report(`cannot find ${element} in hdlParam when constructing treeView`, { + level: ReportType.Error + }); } return moduleDataItemList; diff --git a/src/manager/prj.ts b/src/manager/prj.ts index 0b5303e..b9e91b3 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -114,7 +114,7 @@ class PrjManage { } else { // 先处理 lib 文件 // const fileChange = await libManage.processLibFiles(prjInfo.library); - // MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, ReportType.Info); + // MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`; // 默认搜索路径包括: // src, sim, lib @@ -126,7 +126,9 @@ class PrjManage { } const reportMsg = ['', ... searchPathSet.files].join('\n\t'); - MainOutput.report(t('info.launch.search-and-parse') + reportMsg, ReportType.Run); + MainOutput.report(t('info.launch.search-and-parse') + reportMsg, { + level: ReportType.Run + }); // TODO : make something like .gitignore const ignores = hdlIgnore.getIgnoreFiles(); @@ -200,7 +202,9 @@ class PrjManage { // 分析依赖关系错位情况 const unhandleNum = hdlParam.getUnhandleInstanceNumber(); const reportMsg = t('info.initialise.report.title', hdlFiles.length.toString(), unhandleNum.toString()); - MainOutput.report(reportMsg, ReportType.Launch); + MainOutput.report(reportMsg, { + level: ReportType.Launch + }); this.pl = new PlManage(); // TODO : finish it later diff --git a/src/monitor/index.ts b/src/monitor/index.ts index c389986..b4e1540 100644 --- a/src/monitor/index.ts +++ b/src/monitor/index.ts @@ -56,7 +56,9 @@ class HdlMonitor{ } const reportString = ['', ...monitorPathSet.files].join('\n\t'); - MainOutput.report(t('info.launch.following-folder-tracked') + reportString, ReportType.Launch); + MainOutput.report(t('info.launch.following-folder-tracked') + reportString, { + level: ReportType.Launch + }); return this.makeMonitor(monitorFoldersWithGlob); } From bf97b231ffb739ef046916b1978b1a54053bbd7d Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Wed, 27 Nov 2024 21:43:02 +0800 Subject: [PATCH 005/107] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?.dideignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/ignore.configuration.json | 16 + images/svg/dark/view.svg | 10 +- images/svg/light/view.svg | 10 +- package-lock.json | 508 ++++++++++++++++++----------- package.json | 23 +- src/function/lsp/linter/default.ts | 8 +- src/function/treeView/command.ts | 10 +- src/function/treeView/tree.ts | 10 +- src/global/opeParam.ts | 9 + src/hdlFs/file.ts | 135 +++++--- src/hdlFs/path.ts | 10 +- src/hdlParser/core.ts | 9 + src/manager/PL/index.ts | 32 +- src/manager/PL/xilinx.ts | 14 +- src/manager/PS/xilinx.ts | 2 +- src/manager/ignore.ts | 59 +++- src/manager/lib.ts | 6 +- src/manager/prj.ts | 22 +- src/monitor/base.ts | 0 src/monitor/event.ts | 314 +----------------- src/monitor/hdl.ts | 180 ++++++++++ src/monitor/ignore.ts | 70 ++++ src/monitor/index.ts | 67 ++-- src/monitor/propery.ts | 110 +++++++ syntaxes/ignore.json | 11 + 25 files changed, 1018 insertions(+), 627 deletions(-) create mode 100644 config/ignore.configuration.json create mode 100644 src/monitor/base.ts create mode 100644 src/monitor/hdl.ts create mode 100644 src/monitor/ignore.ts create mode 100644 src/monitor/propery.ts create mode 100644 syntaxes/ignore.json diff --git a/config/ignore.configuration.json b/config/ignore.configuration.json new file mode 100644 index 0000000..5e14c1d --- /dev/null +++ b/config/ignore.configuration.json @@ -0,0 +1,16 @@ +{ + "comments": { + "lineComment": "#" + }, + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + "autoClosingPairs": [ + {"open":"(", "close":")", "notIn":["string", "comment"]}, + {"open":"[", "close":"]", "notIn":["string", "comment"]}, + {"open":"{", "close":"}", "notIn":["string", "comment"]}, + {"open":"\"", "close":"\"", "notIn":["string", "comment"]} + ] +} \ No newline at end of file diff --git a/images/svg/dark/view.svg b/images/svg/dark/view.svg index 7ccda0f..69ae3cf 100644 --- a/images/svg/dark/view.svg +++ b/images/svg/dark/view.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/images/svg/light/view.svg b/images/svg/light/view.svg index 7ccda0f..69ae3cf 100644 --- a/images/svg/light/view.svg +++ b/images/svg/light/view.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 956b9a7..0867dbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "dependencies": { "axios": "^1.7.7", "bson": "^6.8.0", - "chokidar": "^3.5.3", + "chokidar": "^4.0.1", + "minimatch": "^10.0.1", "puppeteer-core": "^19.4.1", "showdown": "^2.1.0", "state-machine-cat": "^9.2.5", @@ -23,7 +24,6 @@ "zlib": "^1.0.5" }, "devDependencies": { - "@types/glob": "^8.0.0", "@types/mocha": "^10.0.0", "@types/node": "16.x", "@types/showdown": "^2.0.0", @@ -32,7 +32,6 @@ "@typescript-eslint/parser": "^5.42.0", "@vscode/test-electron": "^2.2.0", "eslint": "^8.26.0", - "glob": "^8.0.3", "mocha": "^10.1.0", "typescript": "^4.8.4", "webpack-cli": "^5.1.4" @@ -70,6 +69,18 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -84,6 +95,18 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -345,28 +368,12 @@ "dev": true, "peer": true }, - "node_modules/@types/glob": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@types/glob/-/glob-8.0.0.tgz", - "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, "node_modules/@types/mocha": { "version": "10.0.1", "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.1.tgz", @@ -889,8 +896,9 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -962,11 +970,15 @@ } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bit-field": { @@ -1063,6 +1075,7 @@ "version": "3.0.2", "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -1224,34 +1237,17 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/chownr": { @@ -1649,6 +1645,18 @@ "node": ">=4.0" } }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/espree": { "version": "9.4.1", "resolved": "https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz", @@ -1850,6 +1858,7 @@ "version": "7.0.1", "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1969,9 +1978,10 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2013,6 +2023,18 @@ "node": "*" } }, + "node_modules/fstream/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/fstream/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", @@ -2053,22 +2075,6 @@ "node": ">=8" } }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2088,27 +2094,6 @@ "dev": true, "peer": true }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/globals": { "version": "13.19.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz", @@ -2312,8 +2297,9 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -2337,6 +2323,7 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2353,6 +2340,7 @@ "version": "4.0.3", "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -2364,6 +2352,7 @@ "version": "7.0.0", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } @@ -2691,14 +2680,25 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/minimist": { @@ -2833,6 +2833,33 @@ "node": ">= 14.0.0" } }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/mocha/node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz", @@ -2850,6 +2877,18 @@ "node": "*" } }, + "node_modules/mocha/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/mocha/node_modules/glob/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", @@ -2889,6 +2928,18 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", @@ -2963,8 +3014,9 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3128,6 +3180,7 @@ "version": "2.3.1", "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" } @@ -3290,14 +3343,15 @@ "dev": true }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/rechoir": { @@ -3421,6 +3475,17 @@ "node": "*" } }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", @@ -3924,6 +3989,17 @@ "node": "*" } }, + "node_modules/temp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", @@ -4021,6 +4097,7 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -4631,6 +4708,17 @@ "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "@humanwhocodes/config-array": { @@ -4642,6 +4730,17 @@ "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.5" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "@humanwhocodes/module-importer": { @@ -4844,28 +4943,12 @@ "dev": true, "peer": true }, - "@types/glob": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@types/glob/-/glob-8.0.0.tgz", - "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, "@types/mocha": { "version": "10.0.1", "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.1.tgz", @@ -5281,8 +5364,9 @@ }, "anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5342,9 +5426,10 @@ } }, "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true }, "bit-field": { "version": "1.7.0", @@ -5429,6 +5514,7 @@ "version": "3.0.2", "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -5529,28 +5615,11 @@ } }, "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } + "readdirp": "^4.0.1" } }, "chownr": { @@ -5833,6 +5902,15 @@ "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } } } }, @@ -6029,6 +6107,7 @@ "version": "7.0.1", "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -6110,9 +6189,10 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "optional": true }, "fstream": { @@ -6141,6 +6221,15 @@ "path-is-absolute": "^1.0.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", @@ -6171,39 +6260,6 @@ "pump": "^3.0.0" } }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", @@ -6370,8 +6426,9 @@ }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -6388,7 +6445,8 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -6399,6 +6457,7 @@ "version": "4.0.3", "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -6406,7 +6465,8 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-path-inside": { "version": "3.0.3", @@ -6668,11 +6728,21 @@ } }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + } } }, "minimist": { @@ -6775,6 +6845,22 @@ "yargs-unparser": "2.0.0" }, "dependencies": { + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz", @@ -6800,6 +6886,15 @@ } } }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "minimatch": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.0.1.tgz", @@ -6826,6 +6921,15 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", @@ -6882,8 +6986,9 @@ }, "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "once": { "version": "1.4.0", @@ -7012,7 +7117,8 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true }, "pkg-dir": { "version": "4.2.0", @@ -7149,12 +7255,9 @@ } }, "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==" }, "rechoir": { "version": "0.8.0", @@ -7241,6 +7344,14 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } } } }, @@ -7626,6 +7737,14 @@ "path-is-absolute": "^1.0.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", @@ -7699,6 +7818,7 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } diff --git a/package.json b/package.json index bf71743..8d64fa8 100644 --- a/package.json +++ b/package.json @@ -990,6 +990,17 @@ "light": "./images/svg/light/view.svg" } }, + { + "id": "dideignore", + "filenames": [ + ".dideignore" + ], + "icon": { + "dark": "./images/icon.svg", + "light": "./images/icon.svg" + }, + "configuration": "./config/ignore.configuration.json" + }, { "id": "digital-ide-output", "mimetypes": [ @@ -1043,6 +1054,11 @@ "language": "digital-ide-output", "scopeName": "digital-ide.output", "path": "./syntaxes/digital-ide-output.json" + }, + { + "language": "dideignore", + "scopeName": "source.dideignore", + "path": "./syntaxes/ignore.json" } ], "snippets": [ @@ -1201,7 +1217,6 @@ "test": "node ./out/test/runTest.js" }, "devDependencies": { - "@types/glob": "^8.0.0", "@types/mocha": "^10.0.0", "@types/node": "16.x", "@types/showdown": "^2.0.0", @@ -1210,7 +1225,6 @@ "@typescript-eslint/parser": "^5.42.0", "@vscode/test-electron": "^2.2.0", "eslint": "^8.26.0", - "glob": "^8.0.3", "mocha": "^10.1.0", "typescript": "^4.8.4", "webpack-cli": "^5.1.4" @@ -1218,7 +1232,8 @@ "dependencies": { "axios": "^1.7.7", "bson": "^6.8.0", - "chokidar": "^3.5.3", + "chokidar": "^4.0.1", + "minimatch": "^10.0.1", "puppeteer-core": "^19.4.1", "showdown": "^2.1.0", "state-machine-cat": "^9.2.5", @@ -1230,4 +1245,4 @@ "wavedrom": "^2.9.1", "zlib": "^1.0.5" } -} \ No newline at end of file +} diff --git a/src/function/lsp/linter/default.ts b/src/function/lsp/linter/default.ts index 678c118..d9556cf 100644 --- a/src/function/lsp/linter/default.ts +++ b/src/function/lsp/linter/default.ts @@ -26,7 +26,9 @@ class DefaultVlogLinter implements BaseLinter { const diagnostics: vscode.Diagnostic[] = []; if (all.error && all.error.length > 0) { for (const hdlError of all.error) { - LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, ReportType.Run); + LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, { + level: ReportType.Run + }); const syntaxInfo = hdlError.message.replace(/\\r\\n/g, '\n'); const range = this.makeCorrectRange(document, hdlError.range); const diag = new vscode.Diagnostic(range, syntaxInfo, hdlError.severity); @@ -99,7 +101,9 @@ class DefaultVhdlLinter implements BaseLinter { const diagnostics: vscode.Diagnostic[] = []; if (all.error && all.error.length > 0) { for (const hdlError of all.error) { - LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, ReportType.Run); + LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, { + level: ReportType.Run + }); const range = this.makeCorrectRange(document, hdlError.range); const diag = new vscode.Diagnostic(range, hdlError.message, hdlError.severity); diff --git a/src/function/treeView/command.ts b/src/function/treeView/command.ts index 69240f6..3643028 100644 --- a/src/function/treeView/command.ts +++ b/src/function/treeView/command.ts @@ -221,14 +221,13 @@ class ToolTreeProvider extends BaseCommandTreeProvider { vscode.window.showWarningMessage(t('warn.command.clean.prjPath-is-workspace')); } - const ignores = hdlIgnore.getIgnoreFiles(); - const strFiles = hdlFile.pickFileRecursive(workspacePath, ignores, p => p.endsWith('.str')); + const strFiles = hdlFile.pickFileRecursive(workspacePath, p => p.endsWith('.str')); for (const path of strFiles) { hdlFile.removeFile(path); MainOutput.report("remove file " + path); } - const logFiles = hdlFile.pickFileRecursive(workspacePath, ignores, p => p.endsWith('.log')); + const logFiles = hdlFile.pickFileRecursive(workspacePath, p => p.endsWith('.log')); for (const path of logFiles) { hdlFile.readFile(path); } @@ -265,14 +264,13 @@ export async function clean() { vscode.window.showWarningMessage(t('warn.command.clean.prjPath-is-workspace')); } - const ignores = hdlIgnore.getIgnoreFiles(); - const strFiles = hdlFile.pickFileRecursive(workspacePath, ignores, p => p.endsWith('.str')); + const strFiles = hdlFile.pickFileRecursive(workspacePath, p => p.endsWith('.str')); for (const path of strFiles) { hdlFile.removeFile(path); MainOutput.report("remove file " + path); } - const logFiles = hdlFile.pickFileRecursive(workspacePath, ignores, p => p.endsWith('.log')); + const logFiles = hdlFile.pickFileRecursive(workspacePath, p => p.endsWith('.log')); for (const path of logFiles) { hdlFile.readFile(path); } diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index c1fad06..cedf004 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -189,6 +189,9 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { parent: element, })); + // 根据字母序列进行排序 + topModuleItemList.sort((a, b) => a.name.localeCompare(b.name)); + if (topModuleItemList.length > 0) { const type = moduleType as keyof FirstTop; @@ -241,7 +244,10 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const targetModule = hdlParam.getHdlModule(element.path, element.name); if (targetModule) { - for (const instance of targetModule.getAllInstances()) { + const allInstances = targetModule.getAllInstances(); + // 根据出现次序进行排序 + allInstances.sort((a, b) => a.range.start.line - b.range.start.line); + for (const instance of allInstances) { // 所有的例化模块都定向到它的定义文件上 const item: ModuleDataItem = { icon: 'file', @@ -267,7 +273,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { level: ReportType.Error }); } - + return moduleDataItemList; } diff --git a/src/global/opeParam.ts b/src/global/opeParam.ts index 79d56b5..49040b0 100644 --- a/src/global/opeParam.ts +++ b/src/global/opeParam.ts @@ -2,6 +2,7 @@ import * as assert from 'assert'; import * as fs from 'fs'; import { Arch, PrjInfo, RawPrjInfo, resolve } from './prjInfo'; +import { hdlPath } from '../hdlFs'; type AbsPath = string; type RelPath = string; @@ -78,6 +79,14 @@ class OpeParam { return this._propertyJsonPath; } + /** + * .dideignore 的路径 + */ + public get dideignorePath(): AbsPath { + const workspace = this._workspacePath; + return hdlPath.join(workspace, '.dideignore'); + } + /** * path of property-schema.json */ diff --git a/src/hdlFs/file.ts b/src/hdlFs/file.ts index 75b3523..7d2d7d3 100644 --- a/src/hdlFs/file.ts +++ b/src/hdlFs/file.ts @@ -7,13 +7,14 @@ import { verilogExts, vhdlExts, systemVerilogExts, hdlExts } from '../global/lan import * as hdlPath from './path'; import { HdlFileProjectType } from '../hdlParser/common'; import { opeParam } from '../global'; +import { hdlIgnore } from '../manager/ignore'; /** * judge if the path represent a file * @param path * @returns */ -function isFile(path: AbsPath): boolean { +export function isFile(path: AbsPath): boolean { if (!fs.existsSync(path)) { return false; } @@ -29,7 +30,7 @@ function isFile(path: AbsPath): boolean { * @param path * @returns */ -function isDir(path: AbsPath): boolean { +export function isDir(path: AbsPath): boolean { if (!fs.existsSync(path)) { return false; } @@ -41,7 +42,7 @@ function isDir(path: AbsPath): boolean { return false; } -function isVerilogFile(path: AbsPath): boolean { +export function isVerilogFile(path: AbsPath): boolean { if (!isFile(path)) { return false; } @@ -49,7 +50,7 @@ function isVerilogFile(path: AbsPath): boolean { return verilogExts.includes(ext); } -function isVhdlFile(path: AbsPath): boolean { +export function isVhdlFile(path: AbsPath): boolean { if (!isFile(path)) { return false; } @@ -57,7 +58,7 @@ function isVhdlFile(path: AbsPath): boolean { return vhdlExts.includes(ext); } -function isSystemVerilogFile(path: AbsPath): boolean { +export function isSystemVerilogFile(path: AbsPath): boolean { if (!isFile(path)) { return false; } @@ -65,7 +66,7 @@ function isSystemVerilogFile(path: AbsPath): boolean { return systemVerilogExts.includes(ext); } -function isHDLFile(path: AbsPath): boolean { +export function isHDLFile(path: AbsPath): boolean { if (!isFile(path)) { return false; } @@ -73,34 +74,47 @@ function isHDLFile(path: AbsPath): boolean { return hdlExts.includes(ext); } - -function getHDLFiles(path: AbsPath | AbsPath[] | Set, ignores?: AbsPath[]): AbsPath[] { - const allFiles = pickFileRecursive(path, ignores, - filePath => isHDLFile(filePath)); +/** + * @description 获取 path 下所有的 hdl 类型的文件 + * @param path + * @returns + */ +export function getHDLFiles(path: AbsPath | AbsPath[] | Set): AbsPath[] { + const allFiles = pickFileRecursive(path, filePath => { + // 判断是否在 ignore 里面 + if (hdlIgnore.isignore(filePath)) { + return false; + } + // 判断是否为 hdl 文件 + return isHDLFile(filePath); + }); const pathSet = new Set(allFiles); return [...pathSet]; } - -function pickFileRecursive(path: AbsPath | AbsPath[] | Set, ignores?: AbsPath[], condition?: (filePath: string) => boolean | undefined | void): AbsPath[] { +/** + * @description 从 path 下递归地获取所有文件 + * @param path + * @param condition 条件函数,判定为 true 的文件才会出现了返回文件中 + * @returns + */ +export function pickFileRecursive( + path: AbsPath | AbsPath[] | Set, + condition?: (filePath: string) => boolean | undefined | void +): AbsPath[] { if ((path instanceof Array) || (path instanceof Set)) { const hdlFiles: AbsPath[] = []; - path.forEach(p => hdlFiles.push(...pickFileRecursive(p, ignores, condition))); + path.forEach(p => hdlFiles.push(...pickFileRecursive(p, condition))); return hdlFiles; } if (isDir(path)) { - // return if ignore have path - if (ignores?.includes(path)) { - return []; - } - const hdlFiles = []; for (const file of fs.readdirSync(path)) { const filePath = hdlPath.join(path, file); if (isDir(filePath)) { - const subHdlFiles = pickFileRecursive(filePath, ignores, condition); + const subHdlFiles = pickFileRecursive(filePath, condition); if (subHdlFiles.length > 0) { hdlFiles.push(...subHdlFiles); } @@ -122,7 +136,7 @@ function pickFileRecursive(path: AbsPath | AbsPath[] | Set, ignores?: A * @param path * @returns */ -function getLanguageId(path: AbsPath | RelPath): HdlLangID { +export function getLanguageId(path: AbsPath | RelPath): HdlLangID { if (!isFile(path)) { return HdlLangID.Unknown; } @@ -139,7 +153,7 @@ function getLanguageId(path: AbsPath | RelPath): HdlLangID { } -function readFile(path: AbsPath): string | undefined { +export function readFile(path: AbsPath): string | undefined { try { const content = fs.readFileSync(path, 'utf-8'); return content; @@ -149,7 +163,7 @@ function readFile(path: AbsPath): string | undefined { } } -function writeFile(path: AbsPath, content: string): boolean { +export function writeFile(path: AbsPath, content: string): boolean { try { const parent = fspath.dirname(path); fs.mkdirSync(parent, {recursive: true}); @@ -161,7 +175,7 @@ function writeFile(path: AbsPath, content: string): boolean { } } -function readJSON(path: AbsPath): object { +export function readJSON(path: AbsPath): object { try { const context = fs.readFileSync(path, 'utf-8'); return JSON.parse(context); @@ -171,7 +185,7 @@ function readJSON(path: AbsPath): object { return {}; } -function writeJSON(path: AbsPath, obj: object): boolean { +export function writeJSON(path: AbsPath, obj: object): boolean { try { const jsonString = JSON.stringify(obj, null, '\t'); return writeFile(path, jsonString); @@ -181,7 +195,7 @@ function writeJSON(path: AbsPath, obj: object): boolean { return false; } -function removeFile(path: AbsPath): boolean { +export function removeFile(path: AbsPath): boolean { if (!isFile(path)) { return false; } @@ -195,7 +209,7 @@ function removeFile(path: AbsPath): boolean { return false; } -function moveFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { +export function moveFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { if (src === dest) { return false; } @@ -218,7 +232,7 @@ function moveFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { return false; } -function copyFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { +export function copyFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { if (src === dest) { return false; } @@ -248,7 +262,7 @@ function copyFile(src: AbsPath, dest: AbsPath, cover: boolean = true): boolean { * remove folder or file by path * @param path */ -function rmSync(path: AbsPath): void { +export function rmSync(path: AbsPath): void { if (fs.existsSync(path)) { if (fs.statSync(path).isDirectory()) { const files = fs.readdirSync(path); @@ -273,7 +287,7 @@ function rmSync(path: AbsPath): void { * @param attr attribution or attributions, split by '.' * @returns */ -function isHasAttr(obj: any, attr: string): boolean{ +export function isHasAttr(obj: any, attr: string): boolean{ if (!obj) { return false; } @@ -297,7 +311,7 @@ function isHasAttr(obj: any, attr: string): boolean{ } -function isHasValue(obj: any, attr: string, value: any): boolean{ +export function isHasValue(obj: any, attr: string, value: any): boolean{ if (!obj) { return false; } @@ -323,7 +337,7 @@ function isHasValue(obj: any, attr: string, value: any): boolean{ return true; } -function* walk(path: AbsPath | RelPath, condition?: (filePath: AbsPath) => boolean): Generator { +export function* walk(path: AbsPath | RelPath, condition?: (filePath: AbsPath) => boolean): Generator { if (isFile(path)) { if (!condition || condition(path)) { yield path; @@ -344,25 +358,40 @@ function* walk(path: AbsPath | RelPath, condition?: (filePath: AbsPath) => boole } } -export { - isFile, - isDir, - isVerilogFile, - isVhdlFile, - isSystemVerilogFile, - isHDLFile, - getHDLFiles, - getLanguageId, - readFile, - writeFile, - readJSON, - writeJSON, - rmSync, - pickFileRecursive, - isHasAttr, - isHasValue, - copyFile, - removeFile, - moveFile, - walk -}; \ No newline at end of file +interface DiffResult { + /** + * @description 新文件布局和老的相比,新增了哪些文件 + */ + addFiles: AbsPath[], + /** + * @description 新文件布局和老的相比,少了哪些文件 + */ + delFiles: AbsPath[] +} + +/** + * @description 比较新老文件布局,并返回有哪些新增,哪些减少 + * @param newFiles + * @param oldFiles + * @returns + */ +export function diffFiles(newFiles: AbsPath[], oldFiles: AbsPath[]): DiffResult { + const uncheckHdlFileSet = new Set(oldFiles); + const addFiles: AbsPath[] = []; + const delFiles: AbsPath[] = []; + + for (const path of newFiles) { + if (!uncheckHdlFileSet.has(path)) { + addFiles.push(path); + } else { + uncheckHdlFileSet.delete(path); + } + } + + for (const path of uncheckHdlFileSet) { + delFiles.push(path); + } + return { + addFiles, delFiles + }; +} \ No newline at end of file diff --git a/src/hdlFs/path.ts b/src/hdlFs/path.ts index 46d2983..020a1c7 100644 --- a/src/hdlFs/path.ts +++ b/src/hdlFs/path.ts @@ -102,6 +102,13 @@ function toEscapePath(path: AbsPath): AbsPath { } } +function toPureRelativePath(path: RelPath): RelPath { + if (path.startsWith('./') || path.startsWith('.\\')) { + return path.slice(2); + } + return path; +} + export { toSlash, rel2abs, @@ -112,5 +119,6 @@ export { extname, basename, exist, - toEscapePath + toEscapePath, + toPureRelativePath }; \ No newline at end of file diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 0c46a77..cffd5d8 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -483,6 +483,15 @@ class HdlParam { moduleFile.deleteHdlModule(moduleName); } } + + public async updateByMonitor(addFiles: AbsPath[], delFiles: AbsPath[]) { + for (const path of addFiles) { + await this.addHdlFile(path); + } + for (const path of delFiles) { + this.deleteHdlFile(path); + } + } }; const hdlParam = new HdlParam(); diff --git a/src/manager/PL/index.ts b/src/manager/PL/index.ts index d4215a7..857fc34 100644 --- a/src/manager/PL/index.ts +++ b/src/manager/PL/index.ts @@ -12,7 +12,8 @@ import { hdlFile, hdlPath } from '../../hdlFs'; import { moduleTreeProvider, ModuleDataItem } from '../../function/treeView/tree'; import { HdlFileProjectType } from '../../hdlParser/common'; import { PropertySchema } from '../../global/propertySchema'; -import { HardwareOutput, ReportType } from '../../global/outputChannel'; +import { HardwareOutput, MainOutput, ReportType } from '../../global/outputChannel'; +import { AbsPath } from '../../global'; import { t } from '../../i18n'; class PlManage extends BaseManage { @@ -118,7 +119,36 @@ class PlManage extends BaseManage { moduleTreeProvider.refreshSim(); } } + + /** + * @description 因发生文件布局变动而进行更新 + * @param addFiles + * @param delFiles + */ + public async updateByMonitor(addFiles: AbsPath[], delFiles: AbsPath[]) { + // 目前只支持 Xilinx + const addfileActionTag = '(add files) '; + const delfileActionTag = '(del files) '; + if (addFiles.length > 0) { + const reportMsg = ['', ...addFiles].join('\n\t'); + MainOutput.report(addfileActionTag + t('info.pl.xilinx.update-addfiles') + reportMsg, { + level: ReportType.Run + }); + await this.addFiles(addFiles); + } else { + MainOutput.report(addfileActionTag + t('info.pl.xilinx.no-need-add-files')); + } + if (delFiles.length > 0) { + const reportMsg = ['', ...delFiles].join('\n\t'); + MainOutput.report(delfileActionTag + t('info.pl.xilinx.update-delfiles') + reportMsg, { + level: ReportType.Run + }); + await this.delFiles(delFiles); + } else { + MainOutput.report(delfileActionTag + t('info.pl.xilinx.no-need-del-files')); + } + } async addFiles(files: string[]) { this.context.ope.addFiles(files, this.context); diff --git a/src/manager/PL/xilinx.ts b/src/manager/PL/xilinx.ts index a842ae1..269f60a 100644 --- a/src/manager/PL/xilinx.ts +++ b/src/manager/PL/xilinx.ts @@ -146,7 +146,7 @@ class XilinxOperation { let prjFilePath = this.prjPath as AbsPath; // 找到所有的 xilinx 工程文件 - const prjFiles = hdlFile.pickFileRecursive(prjFilePath, [], + const prjFiles = hdlFile.pickFileRecursive(prjFilePath, filePath => filePath.endsWith('.xpr') ); @@ -349,7 +349,7 @@ class XilinxOperation { hdlPath.join(this.prjInfo.path, this.prjInfo.name + '.src', 'sources_1', 'bd') ]; - hdlFile.pickFileRecursive(bdPaths, [], (filePath) => { + hdlFile.pickFileRecursive(bdPaths, filePath => { if (filePath.endsWith('.bd')) { scripts.push(`add_files ${filePath} -quiet`); scripts.push(`add_files ${fspath.dirname(filePath)}/hdl -quiet`); @@ -365,7 +365,7 @@ class XilinxOperation { } const mrefPath = hdlPath.join(this.HWPath, 'bd', 'mref'); - hdlFile.pickFileRecursive(mrefPath, [], filePath => { + hdlFile.pickFileRecursive(mrefPath, filePath => { if (filePath.endsWith('.tcl')) { scripts.push(`source ${filePath}`); } @@ -377,7 +377,7 @@ class XilinxOperation { hdlPath.join(this.prjInfo.path, this.prjInfo.name + '.src', 'sources_1', 'ip') ]; - hdlFile.pickFileRecursive(ipPaths, [], filePath => { + hdlFile.pickFileRecursive(ipPaths, filePath => { if (filePath.endsWith('.xci')) { scripts.push(`add_files ${filePath} -quiet`); } @@ -925,7 +925,7 @@ const tools = { }, async getfsblPath(outsidePath: AbsPath, insidePath: AbsPath): Promise { - const paths: AbsPath[] = hdlFile.pickFileRecursive(outsidePath, [], + const paths: AbsPath[] = hdlFile.pickFileRecursive(outsidePath, filePath => filePath.endsWith('fsbl.elf')); if (paths.length) { @@ -944,7 +944,7 @@ const tools = { }, async getBitPath(bitPath: AbsPath): Promise { - let bitList = hdlFile.pickFileRecursive(bitPath, [], + let bitList = hdlFile.pickFileRecursive(bitPath, filePath => filePath.endsWith('.bit')); if (bitList.length === 0) { @@ -999,7 +999,7 @@ const tools = { }, pickElfFile(path: AbsPath): AbsPath[] { - return hdlFile.pickFileRecursive(path, [], + return hdlFile.pickFileRecursive(path, filePath => filePath.endsWith('.elf') && !filePath.endsWith('fsbl.elf')); } }; diff --git a/src/manager/PS/xilinx.ts b/src/manager/PS/xilinx.ts index 34f40ec..bc3518c 100644 --- a/src/manager/PS/xilinx.ts +++ b/src/manager/PS/xilinx.ts @@ -43,7 +43,7 @@ class XilinxOperation { } launch(config: PSConfig) { - const hdfs = hdlFile.pickFileRecursive(this.config.dat, [], + const hdfs = hdlFile.pickFileRecursive(this.config.dat, p => p.endsWith('.hdf')); if (hdfs.length) { diff --git a/src/manager/ignore.ts b/src/manager/ignore.ts index 990dcc2..d934d0e 100644 --- a/src/manager/ignore.ts +++ b/src/manager/ignore.ts @@ -1,18 +1,67 @@ import * as vscode from 'vscode'; -import { AbsPath } from '../global'; +import { AbsPath, opeParam } from '../global'; +import { hdlPath } from '../hdlFs'; +import * as fs from 'fs'; +import { minimatch } from 'minimatch'; class HdlIgnore { + // 用于进行 glob 匹配的模式 + public patterns: string[] constructor() { - + this.patterns = []; } - public getIgnoreFiles(): AbsPath[] { - return []; + /** + * @description 判断输入的路径是否为 ignore + */ + public isignore(path: AbsPath): boolean { + const workspace = opeParam.workspacePath; + // 转换成相对于 ws 的相对路径,形如 ./src/test.py + let relativePath = hdlPath.toPureRelativePath(hdlPath.relative(workspace, path)); + console.log('current path:', relativePath); + + for (const pattern of this.patterns.map(p => hdlPath.toPureRelativePath(p))) { + const matched = minimatch(relativePath, pattern); + if (matched) { + return true; + } + } + return false; + } + + + public updatePatterns() { + // ignore 文件一般不会很大,直接全量解析即可 + const ignorePath = opeParam.dideignorePath; + + if (fs.existsSync(ignorePath)) { + const validGlobStrings = new Set(); + const ignoreContent = fs.readFileSync(ignorePath, { encoding: 'utf-8' }); + for (const line of ignoreContent.split('\n')) { + const lineText = line.trim(); + // 如果是空行或者 # 注释,则跳过 + if (lineText.length === 0 || lineText.startsWith('#')) { + continue; + } + + const commentTagIndex = lineText.indexOf('#'); + if (commentTagIndex > -1) { + // 存在注释, # 往后都是注释 + validGlobStrings.add(lineText.slice(0, commentTagIndex)); + } else { + // index 为 -1 说明本行没有注释,直接加入即可 + validGlobStrings.add(lineText); + } + } + this.patterns = [...validGlobStrings]; + } else { + // .dideignore 不存在直接赋值为空 + this.patterns = []; + } } } - const hdlIgnore = new HdlIgnore(); export { diff --git a/src/manager/lib.ts b/src/manager/lib.ts index 42d349d..1f0da6a 100644 --- a/src/manager/lib.ts +++ b/src/manager/lib.ts @@ -144,8 +144,7 @@ class LibManage { libPathSet.checkAdd(path); } - const ignores = hdlIgnore.getIgnoreFiles(); - const libPathList = hdlFile.getHDLFiles(libPathSet.files, ignores); + const libPathList = hdlFile.getHDLFiles(libPathSet.files); return libPathList; } @@ -169,8 +168,7 @@ class LibManage { } public deleteLocalLib() { - const ignores = hdlIgnore.getIgnoreFiles(); - const hdlFileList = hdlFile.getHDLFiles([this.localLibPath], ignores); + const hdlFileList = hdlFile.getHDLFiles([this.localLibPath]); for (const path of hdlFileList) { hdlParam.deleteHdlFile(path); } diff --git a/src/manager/prj.ts b/src/manager/prj.ts index b9e91b3..fd52ec0 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -12,12 +12,12 @@ import { hdlParam } from '../hdlParser'; import { PlManage } from './PL'; import { PsManage } from './PS'; import { hdlIgnore } from './ignore'; -import { ppyAction } from '../monitor/event'; import { hdlMonitor } from '../monitor'; import { NotificationType } from 'vscode-jsonrpc'; import { refreshArchTree } from '../function/treeView'; import { Fast } from '../hdlParser/common'; import { t } from '../i18n'; +import { PpyAction } from '../monitor/propery'; interface RefreshPrjConfig { mkdir: boolean @@ -36,8 +36,9 @@ class PrjManage { const template = hdlFile.readJSON(opeParam.propertyInitPath) as RawPrjInfo; hdlFile.writeJSON(opeParam.propertyJsonPath, template); - // TODO : this is a bug, that monitor cannot sense the add event of ppy - // so we need to do manually here + // 当创建 property.json 时,monitor 似乎无法获取到 ppy 的 add 事件 + // 所以此处需要手动调用 + const ppyAction = new PpyAction(); await ppyAction.add(opeParam.propertyJsonPath, hdlMonitor); } @@ -130,12 +131,8 @@ class PrjManage { level: ReportType.Run }); - // TODO : make something like .gitignore - const ignores = hdlIgnore.getIgnoreFiles(); - - // do search - const searchPaths = searchPathSet.files; - const hdlFiles = hdlFile.getHDLFiles(searchPaths, ignores); + // 根据搜索路径获取所有 HDL 文件(出现在 .dideignore 中的文件不会被搜索到) + const hdlFiles = hdlFile.getHDLFiles(searchPathSet.files); return hdlFiles; } @@ -184,6 +181,8 @@ class PrjManage { console.time('launch'); } + // 初始化 ignore + hdlIgnore.updatePatterns(); // 解析 hdl 文件,构建 hdlParam const hdlFiles = await this.getPrjHardwareFiles(); @@ -191,10 +190,7 @@ class PrjManage { // 根据 toolchain 解析合法的 IP,构建 hdlParam const IPsPath = await this.getPrjIPs(); - await hdlParam.initializeIPsPath(IPsPath, progress); - - // TODO: 解析原语并构建,向后端索要原语缓存 - + await hdlParam.initializeIPsPath(IPsPath, progress); // 构建 instance 解析 await hdlParam.makeAllInstance(); diff --git a/src/monitor/base.ts b/src/monitor/base.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/monitor/event.ts b/src/monitor/event.ts index 0de6e24..9695e56 100644 --- a/src/monitor/event.ts +++ b/src/monitor/event.ts @@ -1,27 +1,14 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import assert = require('assert'); import * as chokidar from 'chokidar'; -import * as vscode from 'vscode'; -import * as fs from 'fs'; - -import { refreshArchTree } from '../function/treeView'; import { AbsPath, MainOutput, opeParam, PrjInfoDefaults, RelPath, ReportType } from '../global'; -import { isSameSet } from '../global/util'; -import { hdlFile, hdlPath } from '../hdlFs'; -import { hdlParam, HdlSymbol } from '../hdlParser'; -import { prjManage } from '../manager'; -import { libManage } from '../manager/lib'; import type { HdlMonitor } from './index'; -import { HdlLangID, ToolChainType } from '../global/enum'; -import { vlogLinterManager, vhdlLinterManager, svlogLinterManager } from '../function/lsp/linter'; -import { t } from '../i18n'; -enum Event { +export enum Event { Add = 'add', // emit when add file AddDir = 'addDir', // emit when add folder Unlink = 'unlink', // emit when delete file UnlinkDir = 'unlinkDir', // emit when delete folder Change = 'change', // emit when file changed + Move = 'move', All = 'all', // all the change above Ready = 'ready', Raw = 'raw', @@ -29,7 +16,7 @@ enum Event { }; -abstract class BaseAction { +export abstract class BaseAction { public listenChange(m: HdlMonitor) { const fSWatcher = this.selectFSWatcher(m); if (!fSWatcher) { @@ -62,302 +49,9 @@ abstract class BaseAction { } fSWatcher.on(Event.Unlink, path => this.unlink(path, m)); } + abstract selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined; abstract change(path: AbsPath, m: HdlMonitor): Promise; abstract add(path: AbsPath, m: HdlMonitor): Promise; abstract unlink(path: AbsPath, m: HdlMonitor): Promise; } - -class HdlAction extends BaseAction { - selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { - return m.hdlMonitor; - } - - async add(path: string, m: HdlMonitor): Promise { - console.log('HdlAction add', path); - - path = hdlPath.toSlash(path); - this.updateLinter(path); - - // check if it has been created - if (hdlParam.hasHdlFile(path)) { - MainOutput.report(' HdlFile ' + path + ' has been created', { - level: ReportType.Warn - }); - return; - } - - // create corresponding moduleFile - await hdlParam.addHdlFile(path); - - refreshArchTree(); - } - - async unlink(path: string, m: HdlMonitor): Promise { - console.log('HdlAction unlink', path); - - // operation to process unlink of hdl files can be deleted in - path = hdlPath.toSlash(path); - hdlParam.deleteHdlFile(path); - - refreshArchTree(); - - const uri = vscode.Uri.file(path); - const langID = hdlFile.getLanguageId(path); - if (langID === HdlLangID.Verilog) { - vlogLinterManager.remove(uri); - } else if (langID === HdlLangID.Vhdl) { - vhdlLinterManager.remove(uri); - } else if (langID === HdlLangID.SystemVerilog) { - svlogLinterManager.remove(uri); - } - } - - async unlinkDir(path: string, m: HdlMonitor): Promise { - console.log('HdlAction unlinkDir', path); - - } - - async addDir(path: string, m: HdlMonitor): Promise { - console.log('HdlAction addDir', path); - - } - - async change(path: string, m: HdlMonitor): Promise { - console.log('HdlAction change'); - path = hdlPath.toSlash(path); - - await this.updateHdlParam(path); - await this.updateLinter(path); - - refreshArchTree(); - } - - // 下一个版本丢弃,完全由后端承担这部分功能 - async updateLinter(path: string) { - const uri = vscode.Uri.file(path); - const document = await vscode.workspace.openTextDocument(uri); - const langID = hdlFile.getLanguageId(path); - - if (langID === HdlLangID.Verilog) { - vlogLinterManager.lint(document); - } else if (langID === HdlLangID.Vhdl) { - vhdlLinterManager.lint(document); - } else if (langID === HdlLangID.SystemVerilog) { - svlogLinterManager.lint(document); - } - } - - async updateHdlParam(path: string) { - const moduleFile = hdlParam.getHdlFile(path); - - if (!moduleFile) { - return; - } - - const fast = await HdlSymbol.fast(path, 'common'); - console.log('update fast: ' + path); - - if (!fast) { - // vscode.window.showErrorMessage('error happen when parse ' + path + '\nFail to update'); - return; - } - - // 1. update marco directly - moduleFile.updateMacro(fast.macro); - - // 2. update modules one by one - const uncheckedModuleNames = new Set(); - for (const name of moduleFile.getAllModuleNames()) { - uncheckedModuleNames.add(name); - } - - for (const rawHdlModule of fast.content) { - const moduleName = rawHdlModule.name; - if (uncheckedModuleNames.has(moduleName)) { - // match the same module, check then - const originalModule = moduleFile.getHdlModule(moduleName); - uncheckedModuleNames.delete(moduleName); - originalModule?.update(rawHdlModule); - } else { - // no matched, create it - const newModule = moduleFile.createHdlModule(rawHdlModule); - newModule.makeNameToInstances(); - newModule.solveUnhandleInstance(); - } - } - - // 3. delete module not visited yet - for (const moduleName of uncheckedModuleNames) { - moduleFile.deleteHdlModule(moduleName); - } - } -} - - -class PpyAction extends BaseAction { - selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { - return m.ppyMonitor; - } - - async add(path: string, m: HdlMonitor): Promise { - console.log('PpyAction add'); - assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); - await this.updateProperty(Event.Add, m); - } - - async unlink(path: string, m: HdlMonitor): Promise { - console.log('PpyAction unlink'); - assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); - await this.updateProperty(Event.Unlink, m); - } - - async change(path: string, m: HdlMonitor): Promise { - console.log('PpyAction change'); - assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); - await this.updateProperty(Event.Change, m); - console.log(hdlParam); - } - - // get path set from opeParam that used to tell if need to remake HdlMonitor - private getImportantPathSet(): Set { - const pathSet = new Set(); - pathSet.add(opeParam.prjInfo.hardwareSimPath); - pathSet.add(opeParam.prjInfo.hardwareSrcPath); - for (const path of opeParam.prjInfo.getLibraryCommonPaths()) { - pathSet.add(path); - } - for (const path of opeParam.prjInfo.getLibraryCustomPaths()) { - pathSet.add(path); - } - return pathSet; - } - - public async updateProperty(e: Event, m: HdlMonitor) { - const originalPathSet = this.getImportantPathSet(); - const originalHdlFiles = await prjManage.getPrjHardwareFiles(); - const originalLibState = opeParam.prjInfo.library.state; - - const rawPrjInfo = opeParam.getRawUserPrjInfo(); - // when delete, make ws path to be main parse path - if (e === Event.Unlink) { - console.log('unlink ppy, PrjInfoDefaults.arch:', PrjInfoDefaults.arch); - rawPrjInfo.arch = PrjInfoDefaults.arch; - } - - opeParam.mergePrjInfo(rawPrjInfo); - await prjManage.refreshPrjFolder(); - - const currentPathSet = this.getImportantPathSet(); - const currentLibState = opeParam.prjInfo.library.state; - - if (isSameSet(originalPathSet, currentPathSet)) { - // skip hdl remake - if (originalLibState !== currentLibState) { - const fileChange = await libManage.processLibFiles(opeParam.prjInfo.library); - MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, { - level: ReportType.Info - }); - } - } else { - // update hdl monitor - await this.refreshHdlMonitor(m, originalHdlFiles); - } - - refreshArchTree(); - } - - public diffNewOld(newFiles: AbsPath[], oldFiles: AbsPath[]) { - const uncheckHdlFileSet = new Set(oldFiles); - const addFiles: AbsPath[] = []; - const delFiles: AbsPath[] = []; - - for (const path of newFiles) { - if (!uncheckHdlFileSet.has(path)) { - addFiles.push(path); - } else { - uncheckHdlFileSet.delete(path); - } - } - - for (const path of uncheckHdlFileSet) { - hdlParam.deleteHdlFile(path); - delFiles.push(path); - } - return { - addFiles, delFiles - }; - } - - public async refreshHdlMonitor(m: HdlMonitor, originalHdlFiles: AbsPath[]) { - m.remakeHdlMonitor(); - const newFiles = await prjManage.getPrjHardwareFiles(); - const { addFiles, delFiles } = this.diffNewOld(newFiles, originalHdlFiles); - - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Notification, - title: t('info.monitor.ppy.impl-change-to-project', opeParam.prjInfo.toolChain) - }, async () => { - await this.updateHdlParam(addFiles, delFiles); - - switch (opeParam.prjInfo.toolChain) { - case ToolChainType.Xilinx: - await this.updatePL(addFiles, delFiles); - break; - - default: - break; - } - }); - } - - public async updateHdlParam(addFiles: AbsPath[], delFiles: AbsPath[]) { - for (const path of addFiles) { - await hdlParam.addHdlFile(path); - } - for (const path of delFiles) { - hdlParam.deleteHdlFile(path); - } - } - - - public async updatePL(addFiles: AbsPath[], delFiles: AbsPath[]) { - // current only support xilinx - if (prjManage.pl) { - const addfileActionTag = '(add files) '; - const delfileActionTag = '(del files) '; - if (addFiles.length > 0) { - const reportMsg = ['', ...addFiles].join('\n\t'); - MainOutput.report(addfileActionTag + t('info.pl.xilinx.update-addfiles') + reportMsg, { - level: ReportType.Run - }); - await prjManage.pl.addFiles(addFiles); - } else { - MainOutput.report(addfileActionTag + t('info.pl.xilinx.no-need-add-files')); - } - - if (delFiles.length > 0) { - const reportMsg = ['', ...delFiles].join('\n\t'); - MainOutput.report(delfileActionTag + t('info.pl.xilinx.update-delfiles') + reportMsg, { - level: ReportType.Run - }); - await prjManage.pl.delFiles(delFiles); - } else { - MainOutput.report(delfileActionTag + t('info.pl.xilinx.no-need-del-files')); - } - - } else { - MainOutput.report('PL is not registered', { - level: ReportType.Warn - }); - } - } -} - -const hdlAction = new HdlAction(); -const ppyAction = new PpyAction(); - -export { - hdlAction, - ppyAction -}; \ No newline at end of file diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts new file mode 100644 index 0000000..33b70b8 --- /dev/null +++ b/src/monitor/hdl.ts @@ -0,0 +1,180 @@ +import * as chokidar from 'chokidar'; +import * as vscode from 'vscode'; + +import { refreshArchTree } from '../function/treeView'; +import { AbsPath, MainOutput, opeParam, ReportType } from '../global'; +import { hdlFile, hdlPath } from '../hdlFs'; +import { hdlParam, HdlSymbol } from '../hdlParser'; +import type { HdlMonitor } from './index'; +import { HdlLangID } from '../global/enum'; +import { vlogLinterManager, vhdlLinterManager, svlogLinterManager } from '../function/lsp/linter'; +import { BaseAction, Event } from './event'; +import { hdlIgnore } from '../manager/ignore'; + + +export class HdlAction extends BaseAction { + selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { + return m.hdlMonitor; + } + + /** + * @description 用户新建了 hdl 文件 + * @param path + * @param m + * @returns + */ + async add(path: string, m: HdlMonitor): Promise { + console.log('HdlAction add', path); + + path = hdlPath.toSlash(path); + + // 如果不是 src 或者 sim 下的直接不管 + if (!this.isvalid(path)) { + return; + } + + this.updateLinter(path); + + // check if it has been created + if (hdlParam.hasHdlFile(path)) { + MainOutput.report(' HdlFile ' + path + ' has been created', { + level: ReportType.Warn + }); + return; + } + + // create corresponding moduleFile + await hdlParam.addHdlFile(path); + + refreshArchTree(); + } + + /** + * @description 用户删除了 hdl 文件 + * @param path + * @param m + */ + async unlink(path: string, m: HdlMonitor): Promise { + console.log('HdlAction unlink', path); + + // operation to process unlink of hdl files can be deleted in + path = hdlPath.toSlash(path); + + // 如果不是 src 或者 sim 下的直接不管 + if (!this.isvalid(path)) { + return; + } + + hdlParam.deleteHdlFile(path); + + refreshArchTree(); + + const uri = vscode.Uri.file(path); + const langID = hdlFile.getLanguageId(path); + if (langID === HdlLangID.Verilog) { + vlogLinterManager.remove(uri); + } else if (langID === HdlLangID.Vhdl) { + vhdlLinterManager.remove(uri); + } else if (langID === HdlLangID.SystemVerilog) { + svlogLinterManager.remove(uri); + } + } + + /** + * @description 用户删除了文件夹(文件夹下的所有文件会自动触发 unlink 事件,不需要额外处理) + * @param path + * @param m + */ + async unlinkDir(path: string, m: HdlMonitor): Promise { + console.log('HdlAction unlinkDir', path); + } + + /** + * @description 用户增加了文件夹(文件夹下的所有文件会自动触发 add 事件,不需要额外处理) + * @param path + * @param m + */ + async addDir(path: string, m: HdlMonitor): Promise { + console.log('HdlAction addDir', path); + } + + /** + * @description 用户修改了 hdl 文件 + * @param path + * @param m + */ + async change(path: string, m: HdlMonitor): Promise { + console.log('HdlAction change'); + path = hdlPath.toSlash(path); + + // 如果不是 src 或者 sim 下的直接不管 + if (!this.isvalid(path)) { + return; + } + + // 更新 hdl 文件 + const fast = await HdlSymbol.fast(path, 'common'); + if (fast) { + hdlParam.updateFast(path, fast); + } + + // 更新 linter + await this.updateLinter(path); + + refreshArchTree(); + } + + public listenAddDir(m: HdlMonitor) { + const fSWatcher = this.selectFSWatcher(m); + if (!fSWatcher) { + MainOutput.report("FSWatcher hasn't been made!", { + level: ReportType.Error + }); + return; + } + fSWatcher.on(Event.AddDir, path => this.addDir(path, m)); + } + + + public listenUnlinkDir(m: HdlMonitor) { + const fSWatcher = this.selectFSWatcher(m); + if (!fSWatcher) { + MainOutput.report("FSWatcher hasn't been made!", { + level: ReportType.Error + }); + return; + } + fSWatcher.on(Event.UnlinkDir, path => this.unlinkDir(path, m)); + } + + /** + * @description 是否为有效的工作区文件(必须在 src/sim 下且不被 ignore 包含) + * @param path + */ + private isvalid(path: AbsPath): boolean { + const prjInfo = opeParam.prjInfo; + if (path.startsWith(prjInfo.hardwareSrcPath) || path.startsWith(prjInfo.hardwareSimPath)) { + if (!hdlIgnore.isignore(path)) { + return true; + } + } + + return false; + } + + // 下一个版本丢弃,完全由后端承担这部分功能 + async updateLinter(path: string) { + const uri = vscode.Uri.file(path); + const document = await vscode.workspace.openTextDocument(uri); + const langID = hdlFile.getLanguageId(path); + + if (langID === HdlLangID.Verilog) { + vlogLinterManager.lint(document); + } else if (langID === HdlLangID.Vhdl) { + vhdlLinterManager.lint(document); + } else if (langID === HdlLangID.SystemVerilog) { + svlogLinterManager.lint(document); + } + } +} + diff --git a/src/monitor/ignore.ts b/src/monitor/ignore.ts new file mode 100644 index 0000000..9bfe729 --- /dev/null +++ b/src/monitor/ignore.ts @@ -0,0 +1,70 @@ +import * as vscode from 'vscode'; +import { FSWatcher } from "chokidar"; +import { HdlMonitor } from "."; +import { BaseAction } from "./event"; +import { AbsPath, MainOutput, opeParam } from "../global"; +import { hdlIgnore } from "../manager/ignore"; +import { prjManage } from "../manager"; +import { diffFiles } from "../hdlFs/file"; +import { t } from '../i18n'; +import { hdlParam } from '../hdlParser'; +import { ToolChainType } from '../global/enum'; +import { refreshArchTree } from '../function/treeView'; + +export class IgnoreAction extends BaseAction { + selectFSWatcher(m: HdlMonitor): FSWatcher | undefined { + return m.ignoreMonitor; + } + + // 用户新建了 .dideignore + async add(path: AbsPath, m: HdlMonitor): Promise { + const oldFiles = await prjManage.getPrjHardwareFiles(); + hdlIgnore.updatePatterns(); + await this.update(oldFiles); + + refreshArchTree(); + } + + // 用户删除了 .dideignore + async unlink(path: AbsPath, m: HdlMonitor): Promise { + const oldFiles = await prjManage.getPrjHardwareFiles(); + hdlIgnore.updatePatterns(); + await this.update(oldFiles); + + refreshArchTree(); + } + + // 用户修改了 .dideignore 中的内容 + async change(path: AbsPath, m: HdlMonitor): Promise { + const oldFiles = await prjManage.getPrjHardwareFiles(); + hdlIgnore.updatePatterns(); + await this.update(oldFiles); + + refreshArchTree(); + } + + async update(oldFiles: AbsPath[]) { + const newFiles = await prjManage.getPrjHardwareFiles(); + const { addFiles, delFiles } = diffFiles(newFiles, oldFiles); + + if (addFiles.length + delFiles.length === 0) { + return; + } + + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: t('info.monitor.ppy.impl-change-to-project', opeParam.prjInfo.toolChain) + }, async () => { + await hdlParam.updateByMonitor(addFiles, delFiles); + switch (opeParam.prjInfo.toolChain) { + case ToolChainType.Xilinx: + await prjManage.pl?.updateByMonitor(addFiles, delFiles); + break; + + default: + break; + } + }); + } + +} \ No newline at end of file diff --git a/src/monitor/index.ts b/src/monitor/index.ts index b4e1540..b133bdf 100644 --- a/src/monitor/index.ts +++ b/src/monitor/index.ts @@ -4,13 +4,16 @@ import { hdlExts } from '../global/lang'; import { PathSet } from '../global/util'; import { hdlPath } from '../hdlFs'; -import * as Event from './event'; import { t } from '../i18n'; +import { HdlAction } from './hdl'; +import { PpyAction } from './propery'; +import { IgnoreAction } from './ignore'; class HdlMonitor{ - private monitorConfig: chokidar.WatchOptions; + private monitorConfig: chokidar.ChokidarOptions; public hdlMonitor?: chokidar.FSWatcher; public ppyMonitor?: chokidar.FSWatcher; + public ignoreMonitor?: chokidar.FSWatcher; constructor() { // public config for monitor @@ -21,7 +24,7 @@ class HdlMonitor{ }; } - public makeMonitor(paths: string | string[], config?: chokidar.WatchOptions): chokidar.FSWatcher { + public makeMonitor(paths: string | string[], config?: chokidar.ChokidarOptions): chokidar.FSWatcher { if (!config) { config = this.monitorConfig; } @@ -40,27 +43,27 @@ class HdlMonitor{ * @description get monitor for HDLParam update */ public getHdlMonitor() { - const hdlExtsGlob = `**/*.{${hdlExts.join(',')}}`; const prjInfo = opeParam.prjInfo; const monitorPathSet = new PathSet(); + + // 在输出中展示当前的监视路径 + monitorPathSet.checkAdd(opeParam.workspacePath); monitorPathSet.checkAdd(prjInfo.hardwareSimPath); monitorPathSet.checkAdd(prjInfo.hardwareSrcPath); monitorPathSet.checkAdd(prjInfo.libCommonPath); - monitorPathSet.checkAdd(prjInfo.libCustomPath); - - const monitorFoldersWithGlob = []; - for (const folder of monitorPathSet.files) { - const globPath = hdlPath.join(folder, hdlExtsGlob); - monitorFoldersWithGlob.push(globPath); - } - const reportString = ['', ...monitorPathSet.files].join('\n\t'); MainOutput.report(t('info.launch.following-folder-tracked') + reportString, { level: ReportType.Launch }); - return this.makeMonitor(monitorFoldersWithGlob); + // chokidar 4.0.0 开始不支持 glob,需要在每一个入口自己判断 + return this.makeMonitor([opeParam.workspacePath, prjInfo.libCommonPath]); + } + + public getIgnoreMonitor() { + const watcherPath = opeParam.dideignorePath; + return this.makeMonitor(watcherPath); } public close() { @@ -72,9 +75,11 @@ class HdlMonitor{ // make monitor this.hdlMonitor = this.getHdlMonitor(); this.ppyMonitor = this.getPpyMonitor(); + this.ignoreMonitor = this.getIgnoreMonitor(); this.registerHdlMonitorListener(); this.registerPpyMonitorListener(); + this.registerIgnoreMonitorListener(); } public remakeHdlMonitor() { @@ -93,19 +98,37 @@ class HdlMonitor{ } } - public registerHdlMonitorListener() { - Event.hdlAction.listenAdd(this); - Event.hdlAction.listenChange(this); - Event.hdlAction.listenUnlink(this); + public remakeIgnoreMonitor() { + if (this.ignoreMonitor) { + this.ignoreMonitor.close(); + this.ignoreMonitor = this.getIgnoreMonitor(); + this.registerIgnoreMonitorListener(); + } + } - // Event.hdlAction.listenAddDir(this); - // Event.hdlAction.listenUnlinkDir(this); + public registerHdlMonitorListener() { + // 不需要实现 addDir 和 unlinkDir 事件 + // 因为删除文件夹时,下级各个文件会自动触发 add 和 unlink 事件 + // 因此,monitor 只需要实现对文件的监听即可 + + const hdlAction = new HdlAction(); + hdlAction.listenAdd(this); + hdlAction.listenChange(this); + hdlAction.listenUnlink(this); } public registerPpyMonitorListener() { - Event.ppyAction.listenAdd(this); - Event.ppyAction.listenChange(this); - Event.ppyAction.listenUnlink(this); + const ppyAction = new PpyAction(); + ppyAction.listenAdd(this); + ppyAction.listenChange(this); + ppyAction.listenUnlink(this); + } + + public registerIgnoreMonitorListener() { + const ignoreAction = new IgnoreAction(); + ignoreAction.listenAdd(this); + ignoreAction.listenChange(this); + ignoreAction.listenUnlink(this); } }; diff --git a/src/monitor/propery.ts b/src/monitor/propery.ts new file mode 100644 index 0000000..f313efa --- /dev/null +++ b/src/monitor/propery.ts @@ -0,0 +1,110 @@ +import assert = require('assert'); +import * as chokidar from 'chokidar'; +import * as vscode from 'vscode'; + +import { refreshArchTree } from '../function/treeView'; +import { AbsPath, MainOutput, opeParam, PrjInfoDefaults, RelPath, ReportType } from '../global'; +import { isSameSet } from '../global/util'; +import { hdlPath } from '../hdlFs'; +import { hdlParam } from '../hdlParser'; +import { prjManage } from '../manager'; +import { libManage } from '../manager/lib'; +import type { HdlMonitor } from './index'; +import { ToolChainType } from '../global/enum'; +import { t } from '../i18n'; +import { BaseAction, Event } from './event'; +import { diffFiles } from '../hdlFs/file'; + +export class PpyAction extends BaseAction { + selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { + return m.ppyMonitor; + } + + async add(path: string, m: HdlMonitor): Promise { + console.log('PpyAction add'); + assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); + await this.updateProperty(Event.Add, m); + } + + async unlink(path: string, m: HdlMonitor): Promise { + console.log('PpyAction unlink'); + assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); + await this.updateProperty(Event.Unlink, m); + } + + async change(path: string, m: HdlMonitor): Promise { + console.log('PpyAction change'); + assert.equal(hdlPath.toSlash(path), opeParam.propertyJsonPath); + await this.updateProperty(Event.Change, m); + } + + // get path set from opeParam that used to tell if need to remake HdlMonitor + private getImportantPathSet(): Set { + const pathSet = new Set(); + pathSet.add(opeParam.prjInfo.hardwareSimPath); + pathSet.add(opeParam.prjInfo.hardwareSrcPath); + for (const path of opeParam.prjInfo.getLibraryCommonPaths()) { + pathSet.add(path); + } + for (const path of opeParam.prjInfo.getLibraryCustomPaths()) { + pathSet.add(path); + } + return pathSet; + } + + public async updateProperty(e: Event, m: HdlMonitor) { + const originalPathSet = this.getImportantPathSet(); + const originalHdlFiles = await prjManage.getPrjHardwareFiles(); + const originalLibState = opeParam.prjInfo.library.state; + + const rawPrjInfo = opeParam.getRawUserPrjInfo(); + // when delete, make ws path to be main parse path + if (e === Event.Unlink) { + console.log('unlink ppy, PrjInfoDefaults.arch:', PrjInfoDefaults.arch); + rawPrjInfo.arch = PrjInfoDefaults.arch; + } + + opeParam.mergePrjInfo(rawPrjInfo); + await prjManage.refreshPrjFolder(); + + const currentPathSet = this.getImportantPathSet(); + const currentLibState = opeParam.prjInfo.library.state; + + if (isSameSet(originalPathSet, currentPathSet)) { + // skip hdl remake + if (originalLibState !== currentLibState) { + const fileChange = await libManage.processLibFiles(opeParam.prjInfo.library); + MainOutput.report(`libManage finish process, add ${fileChange.add.length} files, del ${fileChange.del.length} files`, { + level: ReportType.Info + }); + } + } else { + // update hdl monitor + await this.refreshHdlMonitor(m, originalHdlFiles); + } + + refreshArchTree(); + } + + public async refreshHdlMonitor(m: HdlMonitor, originalHdlFiles: AbsPath[]) { + // 获取布局更新后的新的文件 + const newFiles = await prjManage.getPrjHardwareFiles(); + const { addFiles, delFiles } = diffFiles(newFiles, originalHdlFiles); + + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: t('info.monitor.ppy.impl-change-to-project', opeParam.prjInfo.toolChain) + }, async () => { + await hdlParam.updateByMonitor(addFiles, delFiles); + + switch (opeParam.prjInfo.toolChain) { + case ToolChainType.Xilinx: + await prjManage.pl?.updateByMonitor(addFiles, delFiles); + break; + + default: + break; + } + }); + } +} \ No newline at end of file diff --git a/syntaxes/ignore.json b/syntaxes/ignore.json new file mode 100644 index 0000000..7ff57df --- /dev/null +++ b/syntaxes/ignore.json @@ -0,0 +1,11 @@ +{ + "name": "dideignore", + "scopeName": "source.dideignore", + "patterns": [ + { + "match": "^\\s*#.*$", + "name": "comment.line.number-sign.gitignore" + } + ], + "uuid": "12345678-1234-1234-1234-123456789012" +} \ No newline at end of file From 5524921da946a47c34c22b3f22bfcca4fa25aedb Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Wed, 27 Nov 2024 22:22:19 +0800 Subject: [PATCH 006/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20windows=20?= =?UTF-8?q?=E4=B8=8A=E5=BF=AB=E9=80=9F=E4=BB=BF=E7=9C=9F=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/sim/simulate.ts | 3 ++- src/global/prjInfo.ts | 11 +++++++++++ src/monitor/hdl.ts | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/function/sim/simulate.ts b/src/function/sim/simulate.ts index 4c4e511..47d4d26 100644 --- a/src/function/sim/simulate.ts +++ b/src/function/sim/simulate.ts @@ -90,7 +90,8 @@ class Simulate { const setting = vscode.workspace.getConfiguration(); // make simulation dir - const defaultSimulationDir = hdlPath.join(opeParam.prjInfo.arch.prjPath, 'icarus'); + const defaultSimulationDir = hdlPath.join(opeParam.prjInfo.prjPath, 'icarus'); + simConfig.simulationHome = setting.get('digital-ide.function.simulate.simulationHome', ''); if (!fs.existsSync(simConfig.simulationHome)) { simConfig.simulationHome = defaultSimulationDir; diff --git a/src/global/prjInfo.ts b/src/global/prjInfo.ts index f19bbec..98dbe46 100644 --- a/src/global/prjInfo.ts +++ b/src/global/prjInfo.ts @@ -652,6 +652,17 @@ class PrjInfo implements PrjInfoMeta { return hdlPath.join(extensionPath, 'library'); } + /** + * @description 获取 prjPath + */ + public get prjPath(): AbsPath { + const prjPath = this.arch.prjPath; + if (prjPath === undefined || prjPath.length === 0) { + return this._workspacePath; + } + return prjPath; + } + public json(): RawPrjInfo { return { toolChain: this._toolChain, diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts index 33b70b8..66093c5 100644 --- a/src/monitor/hdl.ts +++ b/src/monitor/hdl.ts @@ -154,7 +154,7 @@ export class HdlAction extends BaseAction { private isvalid(path: AbsPath): boolean { const prjInfo = opeParam.prjInfo; if (path.startsWith(prjInfo.hardwareSrcPath) || path.startsWith(prjInfo.hardwareSimPath)) { - if (!hdlIgnore.isignore(path)) { + if (!hdlIgnore.isignore(path) && hdlFile.isHDLFile(path)) { return true; } } From a141f5f53cec46657ecbd66323298c05c392d516 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Sat, 30 Nov 2024 00:32:00 +0800 Subject: [PATCH 007/107] update --- .gitignore | 1 + .vscodeignore | 3 ++- resources/dide-viewer.zip | Bin 2663198 -> 0 bytes 3 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 resources/dide-viewer.zip diff --git a/.gitignore b/.gitignore index 431fed4..ffccfbd 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ parser_stuck.v out-js/ *.pyc *.pyd +*.zip resources/hdlParser/parser.js resources/hdlParser/parser.wasm resources/dide-viewer/view/* diff --git a/.vscodeignore b/.vscodeignore index feb3459..f6021d6 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -17,4 +17,5 @@ resources/dide-lsp/server tsconfig.json design lib -*.vcd \ No newline at end of file +*.vcd +*.zip \ No newline at end of file diff --git a/resources/dide-viewer.zip b/resources/dide-viewer.zip deleted file mode 100644 index fe9ee8da08c09551a68cd9555ec6c5aacf806bc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2663198 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�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 z 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%0A=+6xO83BFHF>L{eKQa`$lMGIbrwkE+mj0y2 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%0A=+6xO83BFHF>L{e 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%0DgeY#uE+DS7JMOhlN*a0`Lk=Mo7p( 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%0DVe+<}pew?)^>12&&_p% zAnojkRis09i$ysWHjelAz376+d ztnIoII%_p?)`kvQO&qfFsjcx-TRL(zcH~NDt;Wt;bvu=}a*cIo!-%j~WHPoVFjz^Y zMrmx+NU}w^apX>8(J{0|0%?i21R^QW3DbaATO$>p)1*B}?R-7iVL|6sn!}&ai_<09 z?aL95TC#c!#w{f#7((h&AY@9iOAX_6@l5H|DWhSWf{&9q_y&Gb#C0e4*k=45TgztI zY^y^`e40QDBlcUr~aiTUp5r6n+u3mT{r=e4qZ z{J2ZS0=y&?0cJ9yb$to&gMUnZ9yfF&TQK?S0oXu4jR(tv4#f#)+ zJ&+!BC#p0mQ#-Hn&ncUN+q>cRsts%(jY_A>c*$l6_y}r)2g#+g$aeZ za89_PX$|!xG8sr&U~&}@6I>0xeHP!(2)b7e^r)p1_6dJUtbs=Y$z_XKoK6EO_wqbX zIYAf-`r|YOgf$wrJX$Hw%6no?EKLN4BG0$VXd)IQNrg))bVNabVKP9OWp^~3AL~rM z)DX7L#7^-{=eQ2I;=ueIA2!g)i%bMe!x{202l8{Jld$wp=}$EfwvDbEbEOl*llaV! z5@0XIaltIKcNDdYi(U-GNv=I3$(@nl&Pr})CbqMa+F1$htYmgpB0DpQl?bdO5!j_L z=@2v(DJh)6D5&WYsKcop_5z@q+?<~lmp8#@n^49{PVb@(3lDd^?Z8jnVYObQK77gJ z9_fWq)CDQ+aA_qnh_aAiR zA4oC{NvNkv{Xp(C9qqKwt4VZ^8F8oSb9b6L@zpTJou<#7bu#EZxYM)?XElAKR?4N~ zUVNi@vc{=aS*W6qGbxJyS9h}OPG@Lg#M~?7!@~erMCAlYRQE)Z4Bc%5Gb3`y?+gWi zd`q``L%nC@J;TRP*#L5xB|&aq_#V%D)SG(VMg1Q@1#ZbR%+Y%0GAyw*p;R7Shr1@x zg+UEB`-W>|bo@W#J6Ms^&D1hI=%Gp+qoZ!maLFf4Jk@efo{r?K>pk1-n$#vBv)MQ7 z4AP6tiOjk)1gwS>!^%AGIO~8fp}rv!Ck+RElqZcPfKMF=?R{pzTpW4C89olJkhvKj zkbsj$X6bH^fq1?#$WUe!XNKg$rqAehCqvw!XFwvyyZsF6#)&gAw8EybF|r%X<9c|Q z+z)$rkO{C~+7O2WGC*|ZK5={;u?5;v%nou;euHcq+utz#Z2&=!s+k*7k^o-E*v}32 zD?@$-O|+eXA#EM{OaiRgMus;X1H~r>0qD8|8^!PI zc1od0fXkpDW@Lg4xeSk+836MXHA{o}!7h_l?kZ1%d}az1WYSv+$Pp%hH1fI|OOMcj zYdoE7OA}}aT7_nUw5|?&8c20(=+k^3^I=mPTfVDj)(x1OZAuF=%iYYjGjucPGZQ@m zXZpG)&0VROdEy+IPEttCY+^%bqXw;E$qc=m0o=0-!6=0Z5OkNCc}v|3GSw_PTwd4h zAvqVHh98+L^p~7Pf>GoNxy@6)r{J4D*O3*g0x0@3Lw`m-`j6=tw5DbOm96{0*|{{Sd5xZ}i~6EwnI_Mk9L; z|D;282wR@JSqIi4@5@gpMgnkOrGUq9Ix!CC$DMeA|5-kc0+=dCncv^8}>+<{;icXYF zK4olXu9+K-pHzle?1l6J&2d>dTyokzm~h zu_{jpH@*4^2tD2Gj8JAwAORMMM^4<8>#&cAB!YKVv8`=8c^YDyl9224J9%RjShaar zfj)dd5#A6CgQQF^2>r3b1xZRuLHdK9dcikv@iIZnm#=o%KR z58x_0Wy57CsTM^j;f@wz(nleXGYg~^abA*N;$A@ApT7#Dr8nzn}dI_fZT|_c-wQwch~ngO5K+gU6l<;P*crfA`mEkopjC7^?@!M=$N#D16OZtgf$X1$lYC0g^j)KiEM?#K2VUdk zNjQ1?!xo;&C)qKazj)y+0Kj%~dxnp&t1VcmHTXEqL6$FEJatk(of){!bHH3>d_!L^ zWNsT4)MM0!DdiU;RW$x~~zZ?JHhYvsf-@8Bl?D5@Sj6eC!>}uQxAKx8+_rG@E zdb#%CweEjb-_A#a`rD!uzSvvmS zC*zl1fb!!%zBYd0f5mjAvemX2Th-T1$L^6*!mJbdY+ z0QI9v(%lb!3G=f1@@M0h{`lbDy$APy5^Rc)!c-)Ob)}I_6{txmJRqikh^t8--^E}I zX!j+wY`mNa^xCy8rIuZ~qA6F8t@46dfk1NFRLm+ee@Mb@%Pp=*&PLcfbAq zOzKgLTJqlg+4Q5kFW(*i*MHD)kALuLL{a+q-kXo!`xWi|<9FVA^zsMkTGH{WKcNj% z@N^yN_*Xwo1&rxMVX7X#d2jdbw-bN^h3M{EzkB$LU&~NQ3Q>ADm!u8d{rH33U;HSd z4SoF1zs1udyH&u9|M_^P_+JA`C_E{> z!!RkYygOajcSv3R0#tm5t>2?(SJFHkv10GAw0bfx64K|5UwQk{{re9-{=*cF-tOyv z#7J59{%xW<4{8GjcKnwQ;81~cE&)8E&U^6rd%HjWtDu9)>b&twZ)4;jegaL^=23Vc z!_bSzcVC9VC6^7W@hA)s?1#Vo<77P^g``o#rYQ1QrSILRhf}&D@4;t3fAr_qF^15e z?oH9*jbD3x_oJ7Rr#GU*qcbrHlQ&UqZxF0yMKP~;dlND6Es1e2dnh(_rIYy zovzZ`edFykD5ldJzxv9<4?Y9rgc&26z3_xZbbG*$2xy|dp_m>aGZ@s(w2S#h?d6J~)LzKMtBjC(tSM)*M5AVGO0t&^6 z2cNt!yRJ`^r8qL7tgP;1@;@0win>pnNpu+|s{2@!$)9~Ze*dp5eBu2Mr|A1Ak&l;| zs_>&-5+~|(jUU}cVkFZvel&dEB=CsNj~ed93Z&}%kP9cP2CV+>tM5=v%Y%e*ey+&%b|g%^u2Qqpt?;&2mN6 zDfFLKayypM)7#tVIT}qlqDCPh4_8LK9kcob<@vyN=|8b=-);qBfQvEa&F!Duj z*lV45<>BiConAs4T@%BFv!0pCjsySDo|P8r<-J($UXU$!>+^LMow!=Ai04YWwnN0E zMpkb*LqEUiB1v+yBUl8UBT4EbSdn;g-UP}8c@{;n%WFz5+c7t?sy(zUwHYL$Se8|J z1qsp{8fec3&ZIafu%hNm#NB>szlL96zXCB`bgeU?Yu$r%4JBjIGvhWugNU4+wWkN1 z@WF&p^$#*CY8v%r4QoT&Su;p@&a}bx4zy$-(dod4e_6v@r^73y4{!U+!${*>gvNx5 zpWMULnD)>UBi)>UpKD(te(J94Y{I(if1I?2(6Y8B40h{FA1uwGAvc zNTNuBM(RbanKfO6@EKrS=*peH$md9x(TSv( za!S9t+8pk!i4%ZT1dhfJ$RRBkO8&`%oH*R#?G($UmtI%_NCpSf| z%%aS3Ha4QG@v}oZQINcchZdE%73D-W^MCGsCzHiJzf6X-8g1lKjH2)X3i&)3r66Gq z+Mtl&6-J*I)Qe>5h(E3?;u+&@Z3mUwNZWy^69EXQ4$!(mPI5p%yqa&CHY`fP85k&d zF>yYthzM=*SEA~UkKXZN6jut~BD!v6!8ma08-@zGDu->@=q}+VbgWdambh&8Bo@92 za%=9k+H7X|gP8LxD^#kxpglQK7mBro{YtB~a;3zi)rEy(@sOp}`SN0AFVgDv1ZkBh z2TIi{)eTV1fyW)7p^N3*{K5i}0-=9UjC{K>;RKz;OX_8rkw-E7Q?EGziR|h?MH3 zl)|Uojcg4{dX8m=3#t_4rZY%`AXTr&szxG8yG_VxpE!U<*d;lzY~V4-Lsxe6g}zE+ zyjUhI$TN5D7=fcrJURiea*0m$+BjOn2Z^(aP2|?Hcxil@bx@V-)B`ayP_eRYUr_fBV$4u zs&Jid2I(Y=`ljp%|J{10a}giKquWKaID(o{(8L!yS#>*bq%SQ6y{)}-hml4?gl`i+ zLfg3=wnPo%WO+pBfeIAB!_`ke=7A7&8*nS^^$-x&Yiu)e##yDTFgbv3x=L=H zR;9#i>ZTtsY`-HK<>{?vv|3+OD~>v{ZLgOUvXTnL7)7lqYI-Z2ickqB)<{n@Le8*i z0&@|Y4*DQDQqe}VB3ez$QF3v%^6z0%fCHL!O4M2jPKRdGEa*?D$3%Obf~k=01ZU-n zfCEGXLKi+{33ck>w%)))c6F7Qr7fdjd`E}9wUO^uOQm|ZvykQI?zXl*QWxu$#l4(v ztI4MuIn#7;rkUc@Vw&#~WV17no^$lXYh!M`yofQ0=+Q?{JbLzZ1c%ebv??|>h@66b z!&?Ci~WcCHIJytN^6D!zSii59BQ zPKy+gnUp{c2NlM{Dg$=k7)a-etPcu`5|aj02OXp_a`hN$s+Hc<)}fEo~{xrs8gZfCJp3GG4LoN%YbNT!_tO&g&RZzo^J2(UnLt?+Fr@xVkBqEYz zcESmxJuyYVNZW*w?odV=c>u0r7F@*+iSA~0&`C|9Ghl>5oQ440Eqtx0@K7X*YST2Y ztibLq7ddjfaP=oi&N!Ma_zF(e_bZ0r&GCC4p7 zftfJ@ zk?bY?BF7nddP{UDl=hK59DG%&`8vg!NmEqPmSZtzL=kRv$L^`NB5Yrz+XH=L=gW z%Eg3@dmBkE88=h?F+a!mw09J*9+tf_|1nKy5O0-Ys!v zMBxNt3Bd@Egdx$n?PV73hncu@p#y}t6ug_8Gtwk0eA9VRVSefNH??0gIX3U0Opd>|GHb-vXs(RD77Ei93a?G2oB zaui{6+p#;=&0uXrF&lCd4K`EmG-m8$nf9?v`UvL%c4#fuq1J32l5ImLcZ*bazN+M! z$sNRdQp!Gx_6A&CFj`Th0aWM!Dr5jp(gAG625@7h0myc$wEt?EV{)^pqxwQx#_Jap z8c+&P0MubXk<~_NgdZ!oZxxEA->5)CSv-kBrn(+cZ4hDMI&xZr<4d@)H$u7OgJ0W6glPy@vlXIZ;SW_(p!9;ubm-VFQJWMvXjA-O`Uq>DQf zldF8lRS8uq$ttAKRSCI1=>$uUh)OL;xUPV#Fq7l2w(vE2M2>f5dhIh^PIsh$=;HfYckeP@(deeHlZ=E@Qtbz(#8)d1cp>XDQv->4}QnH zg0t)7jU|EjZ7RJGX-J4ZLOG9a_Zet_#BPAZu8hRo_%fJnadzktt!k5$jo!KvK%_lR zj**or(Q|eq#9%vbpzBW*$TP@;gC?CfQf)F8<&;+!IRx$-S zqPmbyPGNUX1Z~(&8;MXro|&D=mMefVjcmEbFo!N}9OJMia{H8mXOO?cBU8{IoFqI2 z^TmH>wK5X6bOH@}qQI(wguzN3NcD@@5-wl$6Kz;E1k0 zJ@{o7i7myZz=iD;Txb{TrNu=<7r3ydZI0A>d2vs7K7(l%4K#imzci++CY#t#x@56t zyku!>F%7Q1TqhNOWsM9PrXCF5VjBF zVtja57vp~N#duJS^`#9z^$L8LtPNR7ln6T!Ca_Cy(SYy`QwZPU!s24JTMsU~2U>Te z)=I_FevQmZaHKLLvq}l?qz~1|tXx{y6G?`%6^ISHS)b9`jNGJ$t<8W{u2T`JQY%&X z^bS)Eyu;VHeZv|^m$;-GlIVrmpp`%zR!V z$b#U884VG5kqo6*hM@olhHrm;bC6Y*l1;(!tasHNquT|sumQ;Au4Pr;YrDX{q+Z$u z@vUZEeN!@0pP-5xay?XM_*~`o1RT7XzRpk1)Q3`y_2I(A8F)UuooDve&b5i{oJ()#iP_rWbNX~_Pw{Q| zTs z$ck-DoG{-=uhdDc)SXJ=t`ki}tpa<*bId=AOZjxE~hCnrzNo&91J1%;NfcBR`#LDqG$g0G} zCyoAScDHj_heAXSiG88A=Xez!QiU`YVxMWJU{?!D>OP1vv!&915ocn{0&lW z)8Ecz^Z6u~rp(Q%N~kjfppma=WGbRNiae%>V9S!hBNy_=WnF_}r{yTQ4w|YKB^{9& zEMYq=vau6S;g+&Io%#C{4~2MoYv}s~zGH+ln2RAr9YiuHLSPHg49moqYS2U^!?XuO zKW`J|AY}I<+3mj3UTZm9L0{I>AgDJjMcs}9AQ}OQX|ItMHlsZwZz?gmSDGXn=+%0X z?Z~E~3ifJoVWU6ITqMQ9BmNLN$6qX<#X!{8Z{n-y?fCP{&6N6L9=H=LT$9Gx=LRyd zqN=!&iDsY=W{bq{Xo%K*Ma??)(}XTH0)TA8q!vmhdx%O3n2T88jGzt;`tr@OX z7HTxQifHtKVgp&t*aPny@jZGur4uoC$Dz<#{^G^GUOuP!G;?Ft4RzF<{C>;qHv*1@?)Sr5JP}I%m(v z=j@p&a~6+Q5t+I5*=G&|0h4&jsgt)rCvRcuSzN z+AI>ZNi0gpnRt@m>pe=*!b#!|7PAO-?>iP*i5pa+KMX0!noUZQL?Iy~QCsSe{3HA3(Cw~g2mOjPNmtwxE-pQWN$k4g0eCyj0m`Z}F_*MNyOZHb;(h0Ye= z>LjLoDiIWg=?I^VV%=Bb`1`df@=JqMk}Dix{QdqV0G7xJi-*Z%uP>-OIlT7N4Q zt*0qr)7OJ(21;eI9+T=hVzh=aelv=BU*7|p6^Rj+h{@lGZxq9rTwg4**q&rS}SG^=!UcDIOgP%vTl`+ud$!Itl<_0!?Ek)!d+(KXqZ<1;nW>?&-yAZ;Jc0 z;Ki$Cu3bm}XyF&H^qs444$5XEh|nMcN8t;~6ysZFR4lB)n905L0O-%)!3 z;E~uZe=o(5U_IH6VCuztC(L&x8 zei~eAdm6ms$&L0u-z)~L+3DZR*8nAwt&d`&bQlS4Y(SLlL3&H{HGZ+D7 z;Em30n3l_?z2+5AOprZRMC=2kX?Hth+9{)3K1#fk0|$PYQ;YpLv}uiApYv($)b}>6 zM~BqmV2NMG#CJOEkzIm+l{Ox0F$XL0`*1$5H^2FXplc*nY3T34=*T?;qoc0G4D==#9fj_X2QwQT>2be3hiG(^Q2UIL zM`t!Z!oUIj$TLsEsr8Y;AEdDNhF+~1RU`2A(bG1dnfY>kFHCuNW{>@p0rxn2&iWZV zVaI3D7`sVrYl(9idMYVBWEX)RqfUy#Y_%7Pz!2riBb8A1MgC;(L(v#Y@#n&!2cQH6 zkP7TXo`UwAVKz`FnnW3h{kZ|%!GN42c~`3wII>_b_>}GRWfRNf%C%z?GQ+RIryA2G z#NMP@)i&8VLMPVIhGY@DS_fpuYJK1Ouu7%ECE;TIux0dx+G2IzYMOZ(%`%Y34Q(|8R;$jyIKJ@d#I^ zUanOajBafPRb0KYZ)B?%OBHr#R~G6x2pCvtp}HUq%)^1{&ms`7Uru5q%YOt{1NVt`Go`S z-^$+EnAy7rr|<#EGfL1$*S~tDe8A;iRzhdzS*LS{NI$-}$z&%3lYQAVy8l@GeU zN6GzF=MTudpg4P!%X?tvrC3Uhi~LMN2RajOS(q5Ei;ENtPvpCXK>&3?iob6%R5O&Z z?sSHhA^A7-lCtqVR>;3F=CQY0+*ek6q7$)UVymWWc-fKcR*H;W?WkRKpd?ry-Gp)A zO~egi938Phx*?WG_{*PKE1YiCCGxr^;Lx--Cs!!X&K7 z)dEta>=+oataGX~H8NIrK3HgijBe zas+jQS=R?rVTZ&-Kop~K4YLjjH6jg?LO4xhh2w)mf)NrjOjk|Unk!2>3;+=hlf%6; zoAwGUwVTrwyzC8U`9T&XyCxziYsrLG!xM&psyP}Vq$fdoAxKo(dDyC>dUyydIR$w( zfT(!1=hl)3bDy(d01EVIC<_IM2lhkXjvu=8ZJWv&8qodhC zjxnIXQXktNsQu^=ELiiLrKnx8l!gLOS#oq`SEL$Y6u6F}X|1oC;iV%xcd4!E@PkcW z{6K3*mfRowM|wr#M5?G@6hmoiKkq$@XK<3S6=*VSlTem}fkfK@QyV_gzp z&ro2pyBMMm#|+4S46q)OTtr;JZQ_E>MdV$Ib{d+sVJ3lGjTFgkJJ2TgjMp%8G0ZZ~ zbaH)yT}oq^8^9rs_Z=A3d2Y^vJy#@A-~nZUDgqUb(ILQSr*JhG3?7}Xs*|}p#)zh= zl};8(JjWr7et61YcEU@;6DNSj(2VAA1vwL!ew9{`k-@L>3MoaA_*fAR|KgH$%IC!` zD4si3n$z#xF;8nc%o+^MQp7d#KpHqx(1yriqQb>i#Z^U_?yFg z3CDX{UxIoS9KA*pm&kXM%<4*X4V;1g3Okx8KpiJDZQt&zLZ7#VI(560kJK@Y5ilY?bKCOyRr^^3)x}9DJA@>2Zo2q%0wO&BG?c?>l#J8(-ozW~HpGA{b^P zr6n3Mfww|`VUJ^-b|SOIO0Wq59>{mFN~8i;H*G#Olvlt4@o5Mjl-Z$8XSI_(7CCK$ zv_2&Cc8Q|5Olufz2lmO-(6k7RxsZTZ@Ta^20zq+!#4_@n^(b{_l^muTM z1aUppMM@0300>o@M@6aWYS2msKYUs(VE00000002e%0stcbAOK`( zWMwUOX=Qh1axZpiWp^)Xb1z|Va4s}tF)?K^IXNzBb5&Fg00;SRBWK^THD~{CBWHDZ z3jhHG000001ONa40PMZ{m)lr+Aoj16Fq#@dbqVoNtOqHmj$YlZZmC4` zIvxvIYA#aCfy-f6TTE;Hr`TQtUOl$G+R=cyY|4gg%tq|AZ}tiW_OX?Yz3`ysoH>5FactJi z?lB9kJNDv>FG6SHb&WgIslgI2olR?=xfn!Yk}lG2xU_2x=3B`=ywZb9$2z-f)@n7= zzMWVfykj!DTm;d;2@caJc1E5BtvpP(jFW^Iv1)5noJ3%sOz)MuwoFrzD|8^bW;kVcby0;8c1M&sbE zcy{QWZ3NZ_35+E^^#@)JM|c7~vD7<Y8 zG6V@ee zKS{k18Z;)nC4<#MwId=sv|J~3m}5schlk-Xf|DCri9ZUR;1k+hyct7b4=5E^yg2n?fUrqC zc%ZKNBN!o;;*Y4?z)Fpai-x!#4O|#B{$!0|0sQcS!Pp5$ksUMG3j^!rL)^59_2jq(44t^jTw*b4^mj|nrGkktiTUX zU>|E8!KU)+r@nUv{g~RqM!2wgqb8q6VQnLG>B6>(C-Avb*!qli{ZrW6xp$do4T30v z3QL41CKH=(-KKy6FQBzk>$wS^5MM&@55S{F0A==>$-8r`dk^4{S?_#6E5(ke?D!qC zMj+~G)2zAH9aGfJm5(dRr}^@sb%*ItPM_M6ce=-pjI7Y;n|-#k4O3mR2MyMwQ^NUYBzQ4jlvo53uOVRt@rPQ37me;TFsY2>>bjqJVS{CmwM zZJOz0K#P3J6UPtXAj8CCLt)Rkz@AUd8XfKxM47{pbBl0l&)e{!zzGK)EW~@y9zS{z zcoP`j=4Q<+IZ0<@&kGC=Up_nLJ+Ubs;weHukFMd__1MJoS#lI3pvNZBsXUC?rwH*= zB-Y_feu{;p3aAk9Z4H1)ipLfo3eqQxSp{@%5Uh*g0xFD zPjqqBl$eyBiY=%Rw#9W5_=Fj$AJfVU7@3a+EMYxGjwYi5d(p9h&p=z_Uzl~58U}VCkNb2K{Jhp)t3OAOCLv5{DJ4EHm%~Lld_`*eW!60 z@W#~1k{kId@Az=L;rb&#b>PPJr~rUnpVga)C9;Obv7v1dd^)#}j3~Sp_=6Lp-^(G3 zYysFbj;2XhN5KoCg6|*+3WxBk8PI<&@+Zp-xfCI>wxALY1Cb;^?}m#c5o`;+TY`F1 z%aeHEA)+taw!MRu!g{m2QsxP`m#&9<>hdHtj+D|+>Jqa|h zhTOdBIbwhyyCD->9C1ZqHdqYEvhutURdjE=ILg9~3=c}i;J`!xd3OyX-+Tg(SKB|T zIN1i!2KajqtM^T@!CG*-@!uYs1A;eMv$bcM1h;d*d5pk$EP->Yz4!J+IUFMAp)>(* z0@6^%fix#t5lFY&+wDA%MtKYX=79}sszc=|LgguvuL4dCbtuI$I6W9gz|?Hu@(f|& z=%UUGjb$F15vHzBp#|I(l|U+2O@mWMeWHW|FNI}j_MBUZ_0@I32KKhLoQx5~2S-ky zrS^+VU{dGg#|DW_t}i^8+LGaKQ~b8XZ@a%VU%<$Txmysu-gQ`#&I7NTE=`?$hS39C zJ+p=#xf>6GQW~V5fPO$)0zobweF^|tjxn^0Plzw=&8#>edOl9V-kwWpDQ;e`7mr}q$Oa9wYzOQ25xidUSrD#bzzy#3G%^^_;ANP$8kB3WUr%6Ud(64IEhf z1Z9W5Fc#0E0yrwGZPooSD#WPwSmyZy$K~mH{lC?a6KR zWr{n@LvmE^nvBpJ=YZSDo{ED}jxUTnutV@NHI|B?Gf`Bqz)jecd&-+k(|Mf>+=v)` zr4H!rTnBl$>YW3>Duz)d79Z$haShn&@8%`j>i|Sh0w6Rw0`$(oMG5!?2y0PyDAwfM z-||HUQ(b%+L40ZhA&RKjJ5TGt;?MY7)(poj1}ve{hTbGT-`uRFcCpZ8Y1WU#JTvR# zU6ie{KogxT6|lP^zn=dBdH9lQur3e1hE(E9iuTM@GR=c^lpAfW#xh5|X^mWoXyYWA z7(I=B_gxr%>aDz=2cRWOcnKV3MG!edVXHvR?_zVG_}K@Xmkf$06P!@*hmUR;pqD>;e!Zr5Gl$JygA8i2V5$P zKU{zP;sPF7!;^-rvKKe`Nih@-~Qhr$&B;R>yx z=@jW|`t+tEtT}?waEV*|BcBj3=vFGmot`t4*?ly#h%66y86?z=EqC&6P zL}QeZW`m+xpY-if4%?0p+l~abos@GLjlJg1{+_pA!D*b@lQ-id%CHpQ0YVy#N^2np z{^Sl3=z<`DYaTJwjHYby@=G*~E!Qet0)Z(`eF7tS{fS65sXiIx!lR zJf?@lDzM`ycDt0yp0OH{zF1fB4s{jp*qT^lCxJ=_c*##L z+;#EJaS7TA6q*19ekI0c9cxg@*A&P|Cw42DA_dCE9C6~09ny*6Wc|?cUm`BS#pRp` zhfxTk;H4&iiKEWIx_=#(IRE;?1Z79O0hS2S4dT^l?4hogV^+y$yaGeB^1(Tei5w0B zrdpY--xoy2V^m+{S841AF3?hjPHTuR?2*yaf${)x2Y*>1MJ3$;cG z0l=B&fkOK;MHIMpO`84)>VT61teS5qqu~&y z3GbUP7(Mq1%FL_}-Vxe}I}-F97_b3q^}2#Z^>$(c?3jhn0!Ptj75K9_>uf|r81%9A zasXeFV_o8syTJ0Ari1#*iwpco4*-*rs>wkr@*3c4Z*x->^-ekR#^EGrYUl-tw{a>^ zeP|w>W~e?iyP`H~Q`OYZYwM^6d;{1j2lYdW7k>qvFRndoPu(7g1IhDh!oc;DY2eK3 z0zar%Uzx%vG=%(%%;33ORR7TmC=%be$r1* zaict(pwUm)K%;I$C(;5<{VJ)J`Y?_rbzEE`sk=rrOY464O7?tHoO@w+XdmP8XE~`H zRn!(mt9hO(>qBMNhZp})COTO^(c{yrPW1VH=|qc0F=t3Uo=NI)Z+H7U@NeQ|q)t87 zB&jIK$f9`+CmzYuX}>LO825H|gdmA4smDr%Gs-zLfA?ar?28_yd3g!w6n|pjyQONg{l)T3S#2 zG{DZ@DShMKnl~PozVYdrH}03d@odc-FYP0PY;w@{zi2J1QGuBrPe@9a41ImbJ5MlR zY=I@fePx_jdI=}C+B|o-<4%A_#`oTNrvd*1toFU;o%?(3ZM8jBfcy5#0gOcG8uLir#&Rz$v_8QG0FWVhBopuW# za;X(YCTBLbYH0HCaF5)H@`6Rp%P~2@z9i+;7+*rdf zlyM&VuW>_$db1bZwi~^AJ<5#p!lS6q99tU*fbAEz@aSyNcek_gUSBv%g9kb|m1MNJv>>u0$Vo$#7degcS$I%(S2j#baAo&^?Wv-?q262<6Q52;9 zRIwtrf3THq8N305rB~*RCM*2KX(jWLoo|g4RqC-7ra;*rH-u{Ectt=t=a@LB*GY?d zoxDbez24xOd~nU;;DWPCz0=9n2UmB3Ko}mp;W%4-oCUSr*gBJHyYrQC9$safgV=MF zS;6ZKQS-YAxgIYp>hXrwlgFH#TJgjQkGAaBn%1k|AyP1`FQdtJf)R;0J!?g75HGcFJDK7W~f2f`4+Q4W*L< z-`SG8moGV=Pt}scF8@fci+qj7o*%3MjSp7<;e%D({})$TD-O5`7wAh>)YS0CQKPfk z=E}&q_GZi2s2TYN2f$Kgs-H`nA+}z%Kuspg8%*tK<9h6(&!%r|V{amGPlTPC4klzdE{SuP{2GK`O?! zP{eC@v~Kwov;C5Ll<=ed!!|TzuxpJKembX(Y3}ar{k@rCaGqH=VwCz5^Dk#8{V? z&&$d)PPyzM-U`;MA7E4nT)LvXf+MO~uU#=Kt$T?Ds2t)&|dz##u9Kr>9=#{c%1LB5s#m%FP zh1=k&CzP^YTySA4LazhE=<=(2bIa&9jO^v7!Z|5>(G=Ypy;mOUMtBekeotAJs-Etw z%wD>vXz@ypJaore*C9nHNzE(>ig&g#wcJn8dz7ZgjLhIal1@z_Yc(W;2ZPFaDT$^A zd23R^>RrK}G((uNFhtB9Bx#3O%hV|olhks2C#^{PnQ*L?PKmWl&4KXWPYz*e`J#y? zOki;Hm5??iJI5k1HCf|5Sr|Sy>^_ABL@%<1k$6r#7_Sa%Xua&1=u!r>CF&m!y>#95 zio+^W9eflcfcsp%lJ}!zm-5Z4#+q|h?MPJsl6><@s9uvsJWsRHF!Glaj z_tLadSbQcTB+Y@bzfT69WapW8HchXl-_1HN>T<(NZ3vFjFq0UiTgPeb11i-rFa$sNME<)8zYqcYm+V_y2Zhza@md+ikJ` z+uJ*PoZ{jkHm8a&B8JCja2&WNyS%(w*f*5Uph**&skIW=p|Al( zr?~wt-yy}3R_PcEn?uB6lpCkXpEb)j&WfvYO^*|1=6#iZRrxA$M&r)f=fNe zd(r30z%_ipcDwU7<0x=g94J_vC?$g)M*;U8>^Ruav)opj;Z~bzss*@q%URg+nFt=q!&-;g2H~Ap@EN>O6wj?=CqZ(9M;lDK zM-rHbfY`=eE)Et4QI>u*NVC$GEPW4%<7FRq`jvZky+KLmZC3Rnt`}@5Q}w-FS#=hw z%C9t}VGzMbSRGWSvZt{V47DNcR8|yCtD3u&HQi_iCx;JxDRZ7|%)}>0Q*YhUda6+? z{&zvG_!ZO&z4wmT*2Gv7|ahJx(~a|wFPhxn8#2~0>c;C3SnYj*hyjE{w*37+SQ8`6qhTy0-P zulM!%)MvT$E+;iH*4$vYqmJERCDRaL0eTV-Q58XhT50T0a=B?j9`ayV5%NGwk5Xv^ z7LtmQo0w%5e4e?vIVa>btW`|_5h@?vEKZ`BM@4Rk4Z)XpX|KGDJ9wG}N6LpxfZot- zPG4|7Qv5O(7x=7XLBx1Wl~SQ{!O1Xh&8jD7K0yuZtEa+-VKD$|aih_N@7g<#J?ErH z1ERYet4>{o)L>T0-)zD=tk1$(LWz$8=M3NJcJ5?P6{~EH#HT3{d_9Vy`gVKx= zU$b*EoV!Zzq#!8vpED;B8}apJ6m0f-;VDNe65c|tu0b)Rgv{La)l;*AK+x?~q*sc+ zFWx!G*4PHRfKsS&^O%LfEpcdKGmPfYv|4C<^EM?Omz(74tTR6(e6&W+0_=5U60g;F z=1_7ed);5-@5Qka?TV7nCVpvX6EfAQ`uu2xDWFW{HfZu~P;ki0y=zmrH415(wSH)7 zp-5BiFNZ%oo|+6rI=)gUQXCvLFG4vK7ihA^T(jI|rQ+MU*8NZflhzF$bBSH(1oX?z zG4(DBFX4KX!0Ur`;ZRR6*Q_|TDfEn z)OUWxnq@0ixwC81bLdFyagpW&j-up7N>;NJKXN1XeAk5q6~50ML93jdip@UFH@nT7-7Ypugkm94%sQ*pz1_}h>vK6Rk8HsH4ytF757=!Z z2~T_gF$oDt+L+G*RLSxSAZ>K2K0&HJ;UUX}S~SaxIfy3HD1^_LbQdz`l5gE%oCHm} z0bDZtiYq)*n3tvkz-tW}h+YFTBD;0SXBj!PH(b->&3IJbBMT)cr?yhi8mEBaii z-&1F=BmAC7_({fxF08YAg`_&lXO)(RhiK1*aiADmvt#-enYYkr#h64OcFsN+EzH%h z)J#f%6U*0VHX7fD8hO5JB9djv@5b+6E5fX7st{f_wD^M_(bawkv>>Og`ThVhUkj)P zOSuwNZ6oD5Zi&Es1|*nc9!zDlv@Vt2{~Sy8AZm&LJ*8ZgWtm?ilj)>BAC8^o(_9Lw z9z(!Q1vJ{+oLOUXivSK~kfpZtd17eq9KeVRt96V@WV(6gj3|*50ZZ8odh%q3!KpKX zGe>!`V7rd}#FFjU*K)T^yOZr=P=wV|JNMp!!LO*NLdPb{SH<}uhm@LKycEIaxcR5c z1%|kexQq|z9Vt50?6@__TclCXYQLcj{WAJ_HJJONA|SzOO+_8AW!^7%lH@>z3r|fN z;{an|+qEo@h8A{=?}UT=>xq!Z7}?HsjsiZGRUj{Y&zVWC2q-^2!Ig;%WY03uP(bDI{=pJ)e@qHX<~s(K#I>J{l>> zUon|TF0PM~3rZ{~dI%!`P2uPj@`n_2Cl%C%MG52JYB5>)XpW=vbx~PkG4l?FJ=db3 zmIge{0<`jALJO&9hP@bm-BlpZe(>4#+@r7=A(yfggpzT!cFcS2D_DAfssn%K~G^ zVIW08`Q#<$7q>v5JaFKE*C_h72$7`Jh9cC_U4Te%lo=3E%r|?^=H?)yLxdt)Zb!%D zIkes9QlXq*sRx0r%w$JiDso`ooj-JIa&K~mQyoc@6%NExHj0OY}ZVe?Yz^YTZ!{A|iHY|{XA zBUCBIPJNnSDUZZj~#<~bPuawp& z-~KBng{!UP+#RgM;^o;U1Vd-8p^$SKUN6y;f6Zc<;1?$-nS$p1o3rcY#4}*gPkex0GKiXElfhe#*>%vDOcWKgx*MK3vpzT$f#q3#cy`D|IV#C88R1ZU z5uv_DH!4Pb@qJ00>W#orUDsowGScVM70V@MbS;P#P1Zw%N}3^KVICAz(jTuvXcRRW zg4U>&Isi$c!rU@y8oR8Kfq zhdi@&sc>fX3~LgaqyqhzSC`DJ#ua&G$%j`Z@5qZgR^x$`Dt)UZH!|4ALCM0XxFD3& zUiHaSwYEt}v4Z-_kxR~H2SNEOBNq$KCtLjR{p>{r`Nm83$*81!xMZJAOUkE97JDV- z6BHx@w%Xs_M-R2;&hB1@%{ZEhm1`#1K(%+Xa8x+xD!`K>_ z1e#};_rWW4i{&-MxlONK3ZMNFt`X$wdTDqRgWig009`#U31Q$yguS|h80Gtj=p`2M79l{qA zX?VGA%>o<%FusmWK0??O(=joodj&E~MZ zOo^SrcA(y8OFMuqISQgN*vBU#Uw`9_m+zgPFZjIG8FRlnO6_XGp&CYmEQm z6ym=C%PYgb=m1&HSIscQ87kxjJHA$RlFem>@*myLOZFmdwmWXgZW}Dw;Z8~U49aJv zyOVt$m6ZESmh6|52TL})Q&OJDT^^}jPW*VQqiJ!(*YtCW07_T-y?b}}n)mM*(%T0v zP=w!Lf+R+;0C(uAqp9ka;ha?aY02;jv>%vBxqE431nA)4?_sGl&&LO7JOE8Td9Yg@212j+$^nutB z3oL!M0DV;f%|koz10CWNx(`+NJat|-W#^Q_uN$#+G;q7l64>6@ehjC^qJsD-96(w;g5s!Qpohj8ezGesAN{dU#Kyq=bG z06*L=Ke12mmz19^*~fb&<)^@TG|M@U=W+STcgr}E6DXgTb2caMmqUu+W$DRhleCnx zVP6eO%I8ZqKP@RA2~J4K^CBs`b5tCTSOFJb0T)D^?biOTgf3+I9MJ(6A4?cK7s_V& zvO_OLR)oxQ_=BgwzRJub+JPJjB2jYac}x}B_hJ88A;#F3A$<>bC=W8*&qmUoom2MtY5vr$RZ zzXb)0)Q*I61u}E>6sk2vHL2iDx1!s(n?3Ky>E8|yfYR=!wxhDn6#Rv{NQSLThF&M`+mx;j1_)fiPDyb)~unV)w?CJ0hAO-wvHTx2PJ9Y22 zSC0<(3lR{{bm2%_wzCqraFQK=*eeV{OBI~=OTd_;6G9r%<78be3gm{^x7|8LzioE* zw_lU}@Jb0bjs4&XjaW|=heJeg3Ot7c%L&8ub3BKSJcqBzlXLDJ8Fmos#l+$>N}DS7F}gX1ii{iT%rBZJ$X` zIxaMpi=|VSKCYP~RGs9~cMw}8uK|0l#ZB*OdY|&@t!{aFX9D21 z-K!83c?LZ5Dy7U0I{yt1Tg`p0ASAUQkG{ks;o*;67SBQPWZFc@ zc=)ar#puw@c*dPVc{9ftj784pf@8f(8jqMfEru~C+(_S$FA}f};-XoRFwMu@%9>&# z&$4T9osY-VBKnh!8FW=!Ot|o=J1yn~a>6i5c~-*Mn|e;F+|aoD{+Sbp2ox~Rh#w;B zhbwjuxo^C2XE9F#49ByVORBF0{TXTwsiDY`4|^D{@n^|Ya`>(?&=SlaU66qY z<&Vfx!6JVsdgXdjiM*VmXQh_gH{uSAcTi0x9BE-kS_u(J(N+_-t@NafSe&!KN;3T!d#r@ zcD<6yp*OX(^#sO$s!tn^+*Ha_xOvO~Kp2XwXF-5UC}1pdFL2D3vbo?G-ix9Wd&Hq3 zTM=mkdjZRbrh!H6!$`N2NMYKk6T<`mT1?P!1nF~Ktr7whJ@k)ZMk7h?&gHPkGhIwB zUwF@n-3Ng!VC9FA>!JA`1Dvyp2PQfmXf{*|OyD+pz$B5-Hl(%1ZT!1KLh%Uu`2@T;O=u zY^f{>5_Mf4z)D4Y2AL5y+=5s5Za}u5rP=+nXi8~e`5iZ}R_TN4QtLeh zBIh$MZe(e$^tmWqoOj_!c6C1fkpzem>@*cvQ!v1>&*Ajr3OGuv+4ZO)`w)G=<_JQ! z9DOeXIEBMMC&*L^7bK9ITltNHUOD*^AVCJR1m(R2nDw-#4Lb(`0ZQVSrlnvVhXtU$ z-YLNI*BX?mCu_A7@=0EKOs)HXl@2 z7*UuX5lkx^Oa-Oa?zDGalhS)sDv2&7e0V;1Jy0$8w$-DA4M=EKh!q-J$F7+R8;Yti zVZcT$*k!gWtU@h|<9J=V_N<&9efOhsLHCD#Ii2c!SxyHZyXAD};EPheluf7Q0`s#k zO9lRG`B=`r<_ukl8coy(8}JVnu!Oru$n52VX#>uQs=2B zy91};?w39B+I!o(ZrPKe>+bBdOItfW_V$LQ?+o{j2ghYk2Aw@;SUQ5;_F&+aw>EIx zU2Q%n?q4hwMmj@mpbNy$;s1#Q@hr3+Jok`E-XsHWc%bI1_f}EY)%K z^vLVyRM?re0KgY23Pf8?IHbKi<;WX-k!j<3YPRmi^@X?Wy~xvd5^BcZKC>aDO*!zA(g`5dy%%jc2fz{q9V_*WeCAUZ{?BguqY#b?1JQAMBv`ciw~kp zB^4#1vq(}QB4=^32GLE|c`ITI4z52x!2n=OT5yTe^H6=v!FjR*&NZ!s{xP5LuaF+S zd}PHH?vh$4D4J}jLYl&=pNuRz6?qCbifN@_f^wxUUz_naP;K zJEd8Qh|+lHdASPy+2`dH!sj29n*_K!|BcFEB_c0 zj_>TZb9O0W;-o8;R6E`1CM2GaigS@x%%m|!AdN8+Zj3R|j4@_QJ0-JX*ADC6&B2XC z$;whmb`yuwb8p*I#6$M9jy80_$_K9Czo6>52=kR+#%b=FJuh(MdtGCHeo) ziqG;Z9+$7U53mB)JT`lQ_IAB_Pz!9g7Hk#Pnu$@;woc7%Wi9V0;42KAP0hb_iG?~e zALUfeaAo9#Ha}^S2TYYbR{sP5Ei^dr7EuZ9E4s4aY zF@|&Gb7KtHn3*w#UyoOeF<_T$`Dl#c!1ufz9zZwU*!Gr6d%R?rrl<-zrEg}hfYu2Z zP`9f2`(e4+TkvT)HyyrT&P{*yw45t{*(t?|C1zt8PUDy?r@uk;El?UEJksA#CjWud z0qf?~1EtDkt`=)oxa;$~S$U*KaU)!4hi@zXMJ}RhR~WA`Er4D@$**sHcpWpbbeMno7cek|w!Lc@~;{Q|?h zFOF-9^98hk1Y$=Rio)sJvm+N)%SJHf92nY}G8HbRqJ%>Dt^(AMo3&1ya~|YKLUTbS(9DA8m_!aJ4-V7P6_}O^ zkE5wDU8~w~P5`5I=k+wIkKw||fwO;vy8vmznUvOueQ;~~rrW>)^i{S8wzihgy4nJ_ zUv&%k;ot8TNF6`Wx4?v?w3C(4*F!z}ChUx1S@Z@pXGG`j(EL8BV$y4hT(7?KqNHP}GM>gEob1Ft-5VN?x#=Bz&3W;^su#tx0UDI0YocH9L5Ze=Fu^<HM`2<1uk)GtGQR#? z_0Le4?OSN;jYc*SE#Wd_D4Ex8i8tei!)WEKzR8Bmnth{#urj*6Hy<4e?&>5guk(OC z&}17!(p~9o3@O5SvHBFqZ!-0Mh1aE>AMs51=G9-739i+kcdq=Zkl3hDKDeH;8Al7k z$!XH}=m}ZVWsD7QzW1WZbOr?bA$Czy-O39Q_7d@`hm5iu0I9if6q#NfS!GTS#(?gV zC70a2*B~t*UAym_H4M#}mg5Ay7)D7%5`*k3Wx9YP<;lcLN({LZCE#0;pLC_qPq{i+YhBlnb{9Z8Rq%|uFtH-l zVX;%;D-VD(K}QUOf{D;Pc|>rUu~O~fO#`X}&CFlqj_6QAT0pW`<$@y|CWj1NR5>qM zmiJMv5*MGyJE2c(vemHro)$(3r8=6SJFl_1>B+eA`3U(y*Ji2~vdNG^=(Rgr2E_72 zAYJ~u;lo~W!U5)hq`VMjG4LFZ^&bi=RU5YYN~3hWWmv`*f3{=*3qDm#k!@ZYe6~iE zyC9cRQywI3l4Y3yQ$Vc0EV*;;#l>ayxDWC|VNFsx2p_{u$#u*$mOpxp$n)Acd z8)3$wd|POzkkv=L)@SblAbA;usT1I8zP^_ry3t-G& zYk8Yv?E)XH%TPUt<+?YQXQR6(J5U$ zDyBdY#d#;`dUILa^kfLCgMj=_>~Z7N=p=8skcw)dW4QAbIN3UGvcP&ahVj&U@E6Z4eEqe615zv0C(nxq1HU3G3a)dMW>5lxV!)|;oW zgax&2 zY0@Z5&5BR7M`=hkJwt(P@`|xOJfb%!@%M;dUR=m4Tg6idSLh%Nbf;8g8EE$rw1>JK z3faJ-3o_4;+$*M;pGEmW(NjQVw5d#4E}d(3Fr)hwbrS z%|nMDlwMTQWR!1`*R-R|#KN-*2dn3lG~?u(DZFAk8C&96xf7Y;!I<96J+$LoGF{E= zR4iYn{5=}5S)VeQ1B8!#FBk6Q1eSPU_5k4cT2SNol7#6Lw}#ua&d>%g9|GCz=8o;q z@q>*t+7OZCDDLP|4>BV@S2n14jXii+W{pqI^Mz(2d&PgAhrG;ivSk!jB0|&JqJ=o0 z=u&?5T!qY(n@oZ5YiH0xdc*5JMG9z;66u5=-HImdg7x~cz=5P$w1CVla%IkGe!{2( zTbbes<)7s?x=Uf!o~n3@sV&Y=wj+T$$cKfDb%VEzypqQz7gQ*Mv$e`z72UKVU4@i# z3kRT{+}^+nUW&*`2H_TQ&Yd7ASk9m1ZSj-}7PceNrDU_g?e3JhUD4&kvs1MGWD2r;eu=`x`N8UAoi-jR9# z**wuFS-DG7^xgtRSHfxXvJXx)IXQ^fXv2ll1Q45&dhrH{fKe0sT;yc%EQ`_ z2|gfQ5+apTqIno*F7-kIWvs!h+4(#~5+Eu?B}K$Re$AI*M)e&X6w_7Ux-!Iha9+z{ zOjDu4ZnP50O~Zy>$v8_~T0Dj5R@RquR$hL631;f+TfN0KbZDBrmF79GR%o6B==I-^ za39(GAQk6HRJYoLU;qnU6kz-Mz5sox9yG|a+ER)AK``(`fiOcrjY z%&(WQnsBHAOxs&Aj-PUyvTLrkv}?j^Xj(g!f{lV{kS~s>*4V8`0+ZT>&8}j!hRSJ2 zi1VR^^3) zPdvfI7{H1JQPvPri4RT*5+GCCoDtX#PnUo2(twAQAR*QHkRo%NN)%JNDp+8{#_4wQRGcWztA z;A^K|Jqm-lu@qU8<+L%`HQwtBM1!J^WrSH>)n#5j)UaZxVR5MWp@h9F4Lv_pwI>(E z(61X>wte&cl9_S7h;N`GS#gQcd|_b)%dot{S8H7HtL3LIY^>kH(62Pa-sMKh6cYE6 ziL7r$%&BC$=n(}-voccm7v+IC?mj5DC%9kX#{0l4cYS)eS8jjs!+E(K!?RYo+wZ3p zvHOot$|(-_ygYJv5S0Q+cDh{^4<^%Xw3<7uA`mT_#FDIhB`t_$Sx6`qQhuapEV>dO z&EvJ-Xx0Wbs+Mm22X5p>;c-&S2~WJ z!HEY{G_L^%;v`>zO2k7kxs=7qe1R1)W^$U%53OA(}7{&J~j~-G?FB(+|?J#;|%p;BT z9C>9Yq(WHc@{{n7A+;G{(QBM1HU&0R`4}mOapzXd$~OW&s50`21$q2E^D%(9>GTCPe)e}C=?GY)|n z2eORAQ6{ag&Zw#YZvA3r4@p~znCJw{3bF-B-j!DwNvJ5lx^U_l1`%woR;P2rQ*Jz2 zS%@&DP^N4fUQiY*1TF0PBE~;H{)v|6i;8Hi%4O=8Ue)94`pwKT>j0+ec5`l2=1ue& z8pWO$c5}W|{J}BijnDa0@p31ajvfBsogi}X(RSZlN`S+MeQF*Up~FAMo;K3rn$RoSfD= zO(FyKD59 zY^U?O@fzR_fcRC#hyk8jQOG9iW|lRookF_py{ z3js|^1%*i(fhY^|fHWa`Zu_+?Oc|z8;-=avaG7%4^=o+Cm}3pTs0a%t9PCpH^T4YY zrE^tVTMvFXyXu$H!yu=(!Yt^dPB73EQAV|z$w9KfWuE|T@$y-oqT-rRx~D}(63NFH z7ZFWSUa`lFA{9?DElX}dxzJQsTOzqUGM`cQJ#k@*BP3n*R+hgltACK<0A&9+rh5N1 zQudmb57Y=n;=8!WC7Mq!Q+tXeN2wM|(wzHV;BKti4^adqjKft?VVzQvzfuy8zan5R z=10q+o9yrjYZi5XWIO|0^)CE-4F8a{Ly`{u{XhRF{6YF|isT;rbKu`g_%}EDEV7&1 z^$@*ej-s3Giv~v7I6^$yg#Y?S(f8Xj6I0E*5u3#4p)!XvGc|L|Kns;EBQch}(7Iz| zB!E_RY`xk2a$()|vb1+&fa_m8E0?A{DhsX`!3*;;ap3z)_E{O09eLKBOM(yOeTKxE z3%*!}xe%f8A{83Xk-D##`^NZ84+YWrtI5SS@uL zGIw=2xWH!LMhhii$paodPpH>DJ&2yC^l|D+cxupeec(T&EfnxH1Ty&yl}0a8eiz!j z=7*^_?FM{)Nq&9<7S1M*oX|@!^o!RMk?w4adB?r%?6ltLs943V8@1V1%e)cv+*^$U z;HA3GZA|{=*e-hHh~8~S#f$NTO7XED+E$|htf45d<6F~%DGU!W6-gr_Q%p3mgN)Kq zTDR^|F26lxvsVud%-&ZhTK0j~fZ~$($R{p)hu=c|Q}X00sZTb+syg0bZSLY#R-c|| zZ}5AbOAAwimd%BpXcOW0OQ2+D05WhY1~(cZKT_U-A!_xRYwN*6g=(I% zEN`*`uW?UE5?pDXlcAP4v|t-?aj{1;S}j$OG|UsN6k;oFV51EVgn9Ez-CwK9w~H(; z&@Vaf&Q+X8s44KJ6$5!&pfaC#_t7-n+#F+Fc`G6jWgb!9*@k1?f$bEsfXQg+!rTI_ z-*|zdy{u!PJt<4P<_ifJi@uCrqGDtwwLnH7d+Oo3d~}Q{#?dkq&w`?%xfYvH8{fa4 z+`Q@14rPF)r?3Rbks#|37WA187nLm$bo2&R#QUk`{H5VAA>dK4Ld!+NR?GR`$H}Uw zv`db!CiaM(QXV_B4?0G}&)O*_n@MYXWJ`2LMRQDd2^7n2Yu9AwRCFR2|4@RA@Pj&K*JtNg_<%?AUi| zC`JZgb*C1gO+1Ao6-NH}>)(=GX3yW+GIPqrBfo!ffqyZqo9zf0D!y5KZBhMREMDVu zy1!iFTt2ct$>#DWb(UjiIhJC(*^9HDW9&J#BPL&or4ppcgNoi( zmdcJTSc~OS*5Cz^5VJiXAkP`Y&i+1t_~vewlP7{fL|MlXbR62@7IM^1d@pjnJD5my z6NP9%h;4;m%?94Z{P0xQV4&{@3(jO=lsHcAoj^ScBV37u_T6lIG_Or;!bEm zGXXyuro+Q}OFY3^K&d9mvKLhvP>vo6@MABcX*aQ=DRYtuT)?^x&MK~8K5SW4qe*|zb)!D%rf*_re@lEr{m=1vC8bwAwqiQ7Z^p9qJjQa~r zrZbra0QMf%RA*_{8EV`_4azEpd2fYkVqoui?Vi^yj3UV*EQWnMfPQ%Btpd|r7_1^J zd?f8q<1vcz9eXB601Q`UI;eP}I7XI&XNzkBP7xwlW zm;y?9G|iaXFN`oUHTR~>5dX;SlaIRFw|w{9o@ow;>~V32C}xh+9I!)DnCK&bOf9pH zKV;i^PrL=w%rBAph9Ax*$6icP___ZHT6+ouTmD@dy#YU^^;U0y&_N;XqX9q1jL10LSGV~H#F&)$+*98^=kS^*$y*iAy-t6Dr)>`4LkmN*0&eUM% zP0Wdgf6iODysd5n+fc8dBXjl&9g6cw&`qW=Ap;6xkFc%5=3Q+L4xDm$7nQa8%XOgt zfz4q`k>O!fIM{PSaM9c`f$nh+$#S#VV#bDH_DdUzrsyDTpuJ`^&EDA;ufX5({*wv3 zGwb&ew+o1+j<=e#_$u0baEEzTiX4Ud7NS*yN8?6FcfjT0T?3wPeIdO%vgx50vW(X+ zz96c(05Bdnw{JJQj#+QRI*Ov^Rt-zdZj%}48(s%GcLZxLIs*pNvaI-at8s8t_)J19 zuTlea67<|Iyyd( zAVr+cVFHkteU5<;nB7(y*U0v{kB%LP&W|uuumf!Hvl0}+!+Nkq1_BV2Dm(!&4ESlE zQIys$Cg{VEJy9>Q6Vy{nDZ>$`31)UfKsUk;n(Vs_YeaxG$a{_(dpA_bckR_Ud)3cg zr8lN*$lpQFHT@kwdnYKoGiIZlBW0+2-oZKrV)?OEb8$385B2*%&ks>ne>7ray!F{A zi_-5Ayu^f?bm5XBsvfe5o!oFJLka>8vZ4s^4`zS}Zrja++W25l07MvHt!vEUp!S3B z(ZX-ivj4y|#J1B85AXqEw@+X%Y7c;@oOkOJfH&RC+yCV^>VVB)J9cMVHb$m&f!>?l z?lc-^W{}5K6xGY^XUpvum%DO(eOljOb$xxgzCNw*rL!-cwy&lglubLh(zKWAnoj*o z`x*NHqcrXAtBCcV*^9I8VhkuE=r$XTC5!Q{iMQLGC5!N`-G;jzxSQi0(6B+b12sof zvxQZ6;o*R8_Z#BrG2XVCSa}z2Pw94#o^}Mk^~C;6jN)!3Ng$D-#?(tmsITM|L0;04 zWs%Gq2q~r za^&&gUBKWxvCe=+eu3KW>x;k|FBvJi@j6(3-+aNQKqE{Y48gXbce;iM?#1W6(VU+5 zHh2*_r4E*SgWhUfT==(@tK$ssXSdx0L~Z>pJU*yRkD7hUwO>5mXlz_x%$6I$#@KiW2cN?pZH;S*UR)^)8K|L2DK`iBm#7RmK z>@_8V<%U@cO)D5JcqWwD06uiqrRhDX9$PJFifQ{f?LHT5^o{5`GKM$&f!oA z>Sh+6gy^fXWX1t(ow6!um0tHJQ_n?rY^-^1^pzOMxw&`Iz<4ZDl;Sa84yLTNK{T15 zFbD9P00AG{ABxuAgB|92!vtwNJd#fQZtS=|nLsT_mX5H}K+-dT(+-6^YirkNH@;7% zNzqh<#p`n860%L<#wGkOny%1JD>Sfw)ds9KHqc)?LXIn6bDW(w945VwRyUW9@|RzE zn4LEpWv6_QK<4V)+!M11i9-aceYL4LFcDMHfr)@YyMQh0ZJgH7d)JvIiSLAWgIP>K z*1hkY`aD)woB3haIE-fTz`KKXR))wB(lwl8tWR?rqTyBK!pjC)n7MLF0;-1^R1XDI zm#v%+WfK(UDe+U}&ahK>0-d*HM+`$eqSIa1@IzdaC31*L>;HV!qO;QJnMiPHH>COf zXRhr=NH9gy{K&KWIC7mJ^KaJ*B^9BWxL#iw)QWu!fU4)BQ_}O7j7Jzg5L?AP>badP z>;?FNl^nt)SJvxQ4TD!R460%nnT^DauX47xLg1+|iKG`Y3L-~01bMolsAA=0M9s@- z1sG;8%_z&`QUlmkvxj5d>_M?7*K5bCrVTUY^d{rJ&vZfD>S~zmT9dk1O)hR0>?Dp? zLYagx2(NMwDk_j`*P@D`t@U;TGjB|R&ZJuYoFCHuntZt(DS+|W>R${*d(3H=k`|_)_K2Zga0`XnUsB%27HyKx1)a#bSogCGcCDi zxlxGTo+5C9<%gjczxV9%BgtDyuTARyhvdfJQ9j0=hjj8$gEd);ZNvXN^#5if|6eEj z4>(c!uYaU#$xL9ya`!CsGKKx3pr9_Gj7VcUbqga@%lTSb&P&)&5Aa5FM+$`(lt23p zkE1js4V;Hyu?g@{8|nB)dJ~xaiCr7kr{+ymP3pX8gU>36M$JZTVxqp%^J!Ik`L(y|YxUD7I=%8OHRQ8(i zUT0I;QLL?@I0*Hb=yN43HLV}U7%4Qz!;VxoxV5%He%{9LRd{Qd=D9mWea|puyyz({ z+)zZz6ons8v1B$CxA$>aL&W@NAtSU26gsjUbsK7yS8RdOXpjA23d50U<)}H~j(-O|Tk%U6U20u^n5#9fWuxOQ z(FfF;;`guD*2hz=p{p+0N-MNhSvyx>x=XVCIsfIO|L6D7E2{u46MlM(4r+#Rti2sg#TVe?x$^DhukNj|Up4E?l+EewTlKPLGL9TYJ*G|W< z92*bFrq}q{U;WlMzw_tc{N}HG`+NW7oB!^&e)c#2=G%Y&({F$Jhky6izd~7k+MQ;* z3LQTDv?3bLS!tFY_Q@yZPOrza@~Azd`{hx4Mt*r>@^MfeJtsOYkMi@?^@^xEW$n-M zQFV5=cXlarz;3&Rzx$nCy5DK-HR$<%lP90pYcx%r7%&$|=XiF5g|>{TIzYc{)U2tE zGfTYq&Irwmb3ry%V%UooT<_E$cu)LukJE$)Ue%NCFJqVv*8|G1W=s;_Gt7ff)cWlH zlZO=KJsKf-#&2tAvywf(nR{$@iz5Nz+~Yjs=4SC3F|6WQ&0Brr=1M)_-l(c32f(bH z9=cvEbE_x#P6i9i@(+kM#&Q)#;^?Ts8eBq0S7;R5gzHX|wc2pIQ*wuwPy+wqU9+{# zc6Zf__}i$s<5vx4b#jliTkTnM8*iH{cg^i>7|b5SU(sk|hoSE}-oenQg6Ofi5BwdB zv)vYB-DB-$_7sNR-083mw%pHW$&_N3)sUc$9zmngzsd8WVq^gxC&0#70(2SM7(PIS zSQXmfTv9kdBKr-wU6%a2^DiCF52K^ZE@$Y$a}z(4|_&*T3=mU;p$c-~Pog9aU1PMW5Y{+6asZL@Tp|tx&CZ2-5BB~>HR450cW3jgVx40O0wHF zW^ze^;({U++(6Ox#_1QN#fG9;=p%i^8^Jf9zvJL%(jHNpMD7*~xxznRiv2;;AC)}X z=8uviw5I8=^nk>1ayt zAI`oQ4vgg6-}%#@{p4SK^KbvjFMj+--~Qx3eEnyCgRRndeiZ&FBxH;EVQc2b;zuFA zl+A0ymh%%|!#c+WP?gRSsG;{OtIf4)V*Q||SVvjurK4oU zAO2i@IQX0}9RB%!@vr~*XFvTDZF};D)u#OnW=uCVeCyoo6`nuOJ)fH!H}hK^E32{c zPx|$5{@OSH{D1q|U;VRR{OX^6{TsjjcYpnR@cqB}jsN?bpZ?z0|Mj1K^Sl4o*T4PW zeEU0ph+E*-{`Bj=_%Uoxc7(1~ZjTrIBFG_S{Xh{z-A zES3>K9WH~|Xmn$HF{c0|6vn5u)VTPKCVwg)wsQ|#UHWMkTG-B2+UAuyyi%jsi{$Y0 zP3$hSP;F>8<6K;zZHx1^Orpx{p{QqId}4lOixN|rQ^$n}?JO-uSta93YfkY^=28;S z;A1(b(sNn5qs)4;kbv6zUg`T@@%;rU+|M!pjdhL|0CRGpqpV?~L%f_{%Z&&wZ$sfh zv%AYR_UCriz_qM_Ygq&NDM0~h7_fm7E3xrvAU{s@V8oMt!ImKEZEZQ4>jYYM00)6t zV(QHUyzRoDttOrmAI(Mv>R~FLVCl@R`52ckz(2VAeKO5sWQ{?24IY_BGHx-(G!)?okq5)Ynpu?EmhU9IrK^jJ%R8UZ`!2pe zQ}4U0?^g^hqc-!y@~!h*DLTf;_fvS^SMU33Y7$P#m&uoo4fHREem1jP0erccsjb4S zj)4*Jg3|3A&G4&5wmd7Dt7^2lsT0=1zb}!=FU}e4FA3=)7V@F7!h>40wQYWXPd=8p zhk3RvQAitDoa?IQ)Ah|OC~(>2$!hBVYwyjwo4Aty;kVN0nTM|w+KMFaaug0*GR#1d z0VbIl|9tqhrMBI%+|smKUgG#1Z!BR6*+|HQB#D;&!2C!4eT)qRbG~ok zsj7Q>-{ghKk%zQLC~s;i^G#M*2*Lg|;du<$ELRFDRxEWF^-peM%{NJ=F2CySr0;JYs8yFMcy5SzVh z7y%2PXEa|nj(~~Ia~ki`BVexcjK(|I)Ue9~IV0dsZ%&TbqsobaT!VQcua^Y{wjDm} zr5#K4+p%PG#~R4V2A8sOgSqy8v0EGxJH;NcuS49KYsceM^bm4UeOD@{OL zoAEu^E+Z2Sw#Vgl>BRrrgll*wzSH23`L39&#@iihMrE!JSW*KWqJNUHs4xTamTqLw zjSN~u1`U$vmR-(&MPta@a_#N)cw7uYL|DJ|1lZM!8Tt#O@9^9*waxmLQKvuwFv3BM zTdcqz9XFgoJXu#{je#YFmzA*YXuLZ+G5Y{p7a(EbKb}D`Gw5ap(BI)do}pr9C>a?7 zmXhLJO2rXJ7*l7Iz;I^MJ?y0$?8O5h`!E?D*?SG_WJzD|c!CAw-TV9P-Z;`XMaA~< zzPY8K6_8IB{={zabAG9fvNdmgG*5G*;)mK&E}qBpsCDW0--j1`u~(AvV7Ult{)P(w zat3z(HZ5mvH`;nBYaUk8pgoviGf^=U!A?LwkTD04`E99~)$lTK{Gr(B-f2_+>Y3)} zI6Q|9(GRH;=`EVSv1fdnkj;;Da<8V$8ywRw13_|iX*1+g?$y#uaTV6*I%#B>7gcRV z>(b_zikX+uo#7}ezof3yM;!Omx@B(|(*U6ui{V$L0e9!AXw(&1lpKR-RfA~dkz9YA z@q;2(@U&wm5V^_@ftx&_Vk|ayAFa*`B!Y=y&qbmm52dXJ;^IR)46c6ibOIFQ*wVm~P_1yuxzKe0vB^0cv(hi_Xi~6q4 z^j(F5op5D%fbVdIzFWz~WmI)F{AUPJOg!WZqr~4DcTX~Xx7Sqp6xgdOrpi|_RZc5M z(LaY%-|cPh_2|15r@mV;^wsFbD^xy@s$_{XL1ZhNr`?Y31?XoE&)DztfzLfZ=p zZJsN%nA22f^L`2~%%flC!d9VG^~Mi&3#aKT(Q`WkZw!o#R}K8^Y81V4$~kn|uShup)LDODzrN ziD-XO?|#wfe$kBI55r`>+P6Na)_T7(VtY~S3w%*ewPw3uxWV-{M%J4SsJG@C(~&hc zQjNZAuiLryhS+x_7>cdAsnzs14!Zq~&RYcnB4ft#lG-m-V(3-G(40nCpH2MpIAm;c z^6>zU6~lGeT`YA<#cichZ?&A`E=X2aPGV0yw4u(QSQNfo$&7F-;Tpggkoe_HY(Vbp zE@oola9NWv*nmf_`XoM=ksKL0t z+1-1Js_1WNrEX2?i)+Tgc{_QxOJ$dZfp3ZkJ0t(N~_q@P}Car zsQ98I2fN}Iw@|AD6+*Hp31f$JWr)^nyNr0{m zqCm+CJ|uUD!}N);B+_@78U{|nk5~CEN0RRVon66jk>&t5DmtGH88%1r!j*{f=)y6+ zBwccoZ_D}RH0hU%Us&qM%B9bUdvvsUQ=E6W@kC#MNQo&8@0= z#s|_JHM)|~0|ko*NU_8EIDgfEAK%~rvR`lj**`cyg)W#hd-s~^-Fz9p`VPUz8_5I4 zoBl_B($sJ{^5+4|bI1!AD<&T_jb=~mD@SARyrZDcrO_`DfyU)DGi$*7D-rXrgwKBw z=D%VbT-vJQbsW|_TKSS2|GsO>&fRZq*|B@ewk_yd7rCTxs0Ab{x{GakvY*Jr1o+ms zN_gFrhSx5aDq;p?)>f#X@g*69{siXbvL5t7D}UxC5_z&Jbr!k&V&&LqsDbbdyw(J1 z1)M4#@#i-vm~77kThh=G;L%T);YLXI;;FiUWJ_V4Gx*hA z2TxUUhK9Sb+SP?;>tUiX%rk$~lN)yI*zot=8~^&+Yg=}R3Qj~PC6SiqN(N0fiD%-r zZrZ(h$A)+CVp-~yR5F|4^G7pBl|ftfcV-Dbb~huNHszA~T@3HH=IuApYf1g)B?9_A zf-y2zkvYYvJ!a|bCWW$_VGIbrv&?^rWh`T8I7})^}`aX*@S#87?B)@re<3>Hh26=#Z6D zNAc+k(iZySx<}IHOlf#YW8Y1nQ#*+l)v?Q#I;*f`DEwGKWKZkT_)J&r8E-Q92JhH2 zUex0YvZQes)YI)SWA^6ayglZRYg=kdcoVseuDX-1L;*ASyb(GrF)U-aVIKG12$j}m zopS;MtppNWwB(N1%Ue5*`SbMAh)7f#cO!}IqsX+vW0D^hOzHBCs08o zuZWT0JbG2dcNY`$zS|duX|$s(BE=bc_jS6&e50h{T?*SJty@v;*b1U^c5tPwz#<~# zft zSt=Cp`b=oY9-d)ctUMUA0xcGdAP&x4@MsU>Aof5;_Tf1qpxq$z*o{9uAd&cuKV7`e zzFd7O)rR+HIf%>RSUB%*p&M&@ltMvPV=lzY2;&k`fPMGT@6UQUP5vj8*IlePXpFp* zijf^cEn#RSeotsTCH5x&+LDO798l#X3kOH>;$m#}d8{pVuMRB>3e-&3E@Et)cu_2f z)x?O`&1m{k>v8hs1pgQ0h4Bl1%lNOzo>h3#?G6B<cGh!3rJ$zgchu^mkfmJQ_y9 z2o->UvYGmKGj+&F?YE^;%ny?j2W%by}5($l)E=>-DON2_mmaAZVdNPi(*7v zG}$LEnws0e)LL&?vTbHqGUMb7f0N=t(B$wSXzYR#PY^Vjx2OiTC|hnbc6Mf)bw8l3 zL=-;H$Pv zCzJJ7oAq7B(OM%I4F2Dk!oXbgEf>|CrcRC^>^*qy5Wu2>D!(7oqTL+UB6{*Yemq$aWvlcfBXCTV0Oh61Xt zq!x#)Eqd+RvUN#2-(nNCO?Hsqa%_s1?nF0UQ)sa}*duk_qVB8bt~U>6sW115cxwWR zfdP~^`m4FL8S>muwe3$h_S&4e*E%-YoVm%`ckP_9YumQm9N%(ndu@*IwPI(WZl%e6 zrGD9^UJ)@mLli8(QX@fX)QIgY!p;{SG!_Fx7wIA`^IHP*m4ykj3$F%8MEsm4=!4Y4 zpZo(B6y6RB_~ZEEw9Ov&8$)}YJK{ZSLCex3jBCE z4!=R4H1BmMKepoaW9MQq{_$)VwT2f<<#5nUQD^%9Mx~o>kvGju@?(S5W*V9vW8A9E zK;d;a3eW123d-OvO;RgZBA%f*qAqyeFJp@>VxEI=ord4Ub%`a0Z$_4nT|8Q&-8bob?3N=^l~ zjn&1nv6$iMpi=9VY=-?^r)A+kFtgch<(WDY)K*+gvhqf&iq$Gq#wyja+B$_-l*Wo& z^mTn>J!8>EA*l9#NKc@iXutQsdP5EN)pS|>Tk>gb7!7${kQxCt;5q#XR#`Tc&f)xC^` zqo&uX>-08r4vKV`J7vCc?KtRsbjJ-o^?!W>mQE38r@sjg_!q>?i)hN926 zGI&JHdSxq|7NH{v%uw~ukm1RN9MY$BAgIkEdUTseeOyBa3bvxai5EGI|jTWSFKUx)+lgm z6}L4D+uB8Kt%9~zFGBVB4Ic!<4BgVUfoif>mE12f1s3s4k@h=_te8cl-{r{fOcKQ;3~10+6i&00dsR28@ePmZ z3a6Q14 z45h-N7bLYHP&jk}EOPYi3y6(VFflxZ&F;pC_4A19&S4sH*qwv)$@{Afv0A19Vlem6 z@fnP5vMu9mD+TR0NLI1^enlUGEErK$*lBxZX70ngpR@c)peL(|e5owkmJU6dsoVov z2kR2#8}m?PW1HDq;VpVAuq7(IiHT-OwFLGNb^SF3M*IeUG?uYZ6 zoGBQ1$#uMWynS9)Weu05NwwG68%UGNU@2+n&9EhJFkeCrW2oecVaGji<RH?CMD6eE$|F-0Xc}@JQ7xp*~?Ix{SC{><^nGhXFo*p9vL?Sa)X_R zwu63SqCHPiMWCcuho35B=`~%jrpkiRv?nWmVqj(ME5Sn1dn7fWkn4g=s~{!_R)W2Z zac`!T*?1$y*kyjO%4{?DrtuEa`B5M%k$EK`#XJJYZeG_s?_F}>E#o~cO9f;Io(dJL zcU=;!X%N+&Rh^~lm=23t9@I5S=#zmqLrfM3Tf2mzQdJW$W+p}i7J8(Ljdtmj@cKp~ zClwNf0c;4*s6lI3Qee&*;5{{IjnX^<1l?uFylvgH62%w>T<(+9D(#DZg$H3fd$K3d zWfXNJZtIxdlhhTRme(tI8N5KaUGD$T|6&R#FkP@)2>7FpHXxn?!(AstmZ+BNQ1F>$ zqPmiojEO;?on3Z1OY(YGID*LRRtK$7zZ^Yk(zBODrzQ3)oUAV5xM=F!a-AgySscQe z$%%@|3dXr|4&oiQhR8xfO2rbajX^;gR8VIumZSoc6UHz0VI3^tI#_#Eek8e$PB}p? z_9(DNSJrn+ifU%W2Z7}-_-Ci{N3wZ|D|=*;+MN~5L|KUw$wxo@Db2FFi5QYq?kkfL^+t*1s*pO!o!!MDLF$*3B8pr8;#H)W z$qDpi@qk_`6=C~N_Th1(Bs+!-npL-=lW^Y5f4MUjr2>=qz`&%f&<`QLjov4``9XE` z$qjGqd6{}<%=a5?qFssXuqf!$^w&yeE*6*pUG9cGE7^&cQDkEq@lSBB0%;GM&vc{NRTtLsd1i{MGpB$pBOTtEcR+;?q%MXjdmV1j@2*`)m zL)I}-f*NlLbH4%agiTDmY$p z?pKBmy*div3tDd35`DmbO}|W4BZ@5we5*_Fq^@UTq!BKo9(YB1S_n z40;n?5c*Se7Nj=;1=$1J^{n5Z2qTq}oIoCNS?2TT%Eb*6+D^^wQIm@>KftSemvxq5 zqS`FN1h=~gSKyPDsg|T#%>9y{%i_v47%g*711}jl+4Al#DwQ4|D*&hjY6`PH@mROaRfR4^ z>qA=dUt-L)FCr@_WhD15{3GHu?=stT(ZIzs>5%s5-q-UNjy*ZOcmAup3!m?MbnBWY zr&KXA&mZ{#GC!KR8I&J;YG%H4dw$RNK{=%=@Gw>nIiKu1H-F#^>j{p7EyFqyA0K`N7u`h?8`61?%PxC z#C`c?z7^MP*}Q>gf@P(3%eql!cPGqRFMoK|$i8*+mRDYuUKPq(3Gdw(bXn?43h&58 zs8e2Y%P-riHCoyU-M}W2v62754^;!e(uFf8=fD2Kj+H*TcXIy7bswm7;iKb^uYPAH z`yi!HE?szXW;7fpT{v@Y{-ci{-#)wW+1;n3-_GCsp>~Ay(ah-lo}U(uf6(}7=G?-e zlaKBk{@>e&*pDaI4m|zw7(9|K%^}aHw@)mb*tc-&Ur+8_WKAx7aSa2;j~;&f;XYOX zc|eB0Bm@LyeP!|H{rVaR57yq%`RhN-AGxw{>thUQf91RRJKsSMpMG)m$(^f+pI`X? z>Ct;oV*b?WKn(No&1r8hqan=N`}k<)z@wRiHTKbiLo&7r#UbYp-JIXQ7s}619hu+z zr3Z#&RUoV0KH|k8S?ZHR6Z2nPjlv=4kDQzT>FDEAHy`i6X0g5-e_XhH66mt zGf&4p#VZYdJjU1|41Iib_wv3oA!m&$_ZvSik@Co1|cBRGq-aW8UGI8_6_`)~G7sk)v1v#HhKbicP zCBoW!bo0Y>3Pi!{C1pKSt<>f~_{G z0`Wk$clpsN6bSSM0sj*N@t}QnUBrR&%^x`NePC=%sk`9TarFP@Hm0E6={>xB1M z9uU}%Pfvy8dn_lrkShY<CxfOx!%^&%E;o5$G^184+ zMv1Vj2DUeU=hOKQ4l{LN{>UYeVW>QY6m+6`uv^T3d2^1s5 z&q**B<_G$SnVWz=-`pnjH-F@inVsN2XLdgTkcrqQ`>xxpN6B$JDPU=I?xB!`&j$J{!_!qI_P2@9D`KkH5MI ztDgxLoTKyKJ-PQ`?JYUcJqy`GdknEXB@Ej;dBBD3J^Aw6Fl>({`(b6&i;t{ z^vuN-VSDqV2Nym)$l)mZ5s2-b`Eudb-6yxtu_hP39A5&qM}39j^9PSE6WfdGsD8v3{_Z13=>h3#GXaaq{j<4cqC z#}6+R+heTn#r8h&Vtag1xUoI<+KcVk7L^0rgZv!Zqa4e^_C}+yy<3NtfbGqXU41%! zVB!4avar2N=a+!(ooD0r$M()0=GflJBjMQI=NDPSHDY_d8H2FBJqK&S_H4OU1KT_C zQ8cz^VZ_jBzZ13q;x1Q|zfhEG)TloBTIt8MDV|(+X zAESzJVG31*&kxQY{WcKWW68XG2ai5J`eOjLckbM84BI<+^mlBp7HrQ=r{4;;XVXPI z*xv0AYR2}amxk?4*NE*Iaxe(nJICxOwgc6G?VYo*y|EdF?fI1TV0(}U0iQEJMPhr9 z^XbWNYQpxg(o5%S!S=3Pefq`mNB72S#`dP8vAuH~+nbKS_8uR-M%dmbZftLQ>Dbw!F`}D+xNNkVtKA!$)IoKX(08cI+ zV89%zh0DP9YOBJ7?R_xq!1m63xh!n2mSRq9@4K6U*xs2h=fC)HY1keU8C=5IvAyXK zY!6v-`lBUdd)Gb%1BLO#lCeE1%Xnlpu|2*gv1tg$_GrElr<*#AINg~q!Je!c+jEww z3EMmKrMaWlhV30ZYL28PZ0}lFb{}kS`X^6;C~WWAr-F5o;vyT$ItB8 zo&noi9LwzP1~@&3ny0<+bafPdvg=t&5h5@O?*E$aeHp!$5<@~_*lZ+ z_$LdeIBesG^PL$528>0W;am9p2B_C_V;2_=o&*DPsc2v0+}J5Bd~q7ooVl?>b7SLk z;|JzO$ILfiv(Jr9&W+ug8#@c{?a1HU#5Z%}Kg^Ban49=&Zu}IZz}(nrvp0`F+-KBq zWNz#n);xB1ZtTlg=utm&NLcgurMZauQ4tvKN1S|d!IofEHad~597Wj)8s~4U;6%9`!II<5E^SQAz z^HWFo@9|IQNaFWiw32GX#fRPdzz48AWdN36U5)}QpZsvnwTy8(#_l~id4>sQ4|vH} z@YtazKO7|DA2h}f3*l2*0x%F?ER)J%?H)waw-2$9!;4GRC!<7i6 zb8ce)+{9U&bzq3Gi^NMuBk<0-@oAC>AIwdBguNU4kr9*e(Za-@`4d0Y1b@y=d`kSb zfBwdvC4ivcxM<@=L+2*;%}pGg8$XMrh7kh$Gh8?P$m20YJ8$fXf<>R4+P83Y%HH`} z@X@)6BS z2ynyP_0V!kM^TzJpRG_fg9KpCfUYd)t*7QH+EqD;OV*XF{|ky zNY-ayZnVc`e1=RP4EYMO|^Xfg9Bh;*Mj#x9h+G=@D1DSNlL*Y2kCV&qN;$Sov|9u zbh4r5g?UAEey5o1&pK$if@(?G*N^s?`%Pd^kHgdHmJN2el> zin0@+k8Z)rJ{*oHQ${v@HG;~f`W10(^q37=4liRJ9vwYw1DFE}`N7Qdd-gv)alyVN z1jEb=$A6rkx*L_(2{SL8KZ$D2sSgku9={P)*aI-vT-XgQTcRBm*W-*HcF`UUGutJo zs}{0FK?r=e6yUj*`l!!8%#DweMtYbJ0S!1PdvJ-c^pU&s$In>ef9w*~a+(ysPkpwo zkA6f6Hhze@IBD9?zUVbU*B3;ovJwZReJT>tc1@1CJ%nQ0 zbovyQ;Aw_X+gU9P-u4#rZe@{Bx1+;j7ncTj+Y8qKd(Tb$K<30X;+v?VE(jd05Dwa$ z2q+u~hcg5c2=sXB#?{ABt%j<_}( z%K@4{Id|9&ntLaSqvvxIpO6){KL|i4;mlwFF!xWA_Vgoiivec`f$9DQVFV;Hyv6O< zdQhW=ZT~eT?O#6NZipI=uOQTc#-;|qakaVX>>Ro*D@fWyW&YT4?wfcxW znf@0@YdTG`cK_VO7>)S^^3Kc@LNvD7UolWGpqYK)(nbTAcS_m$89r7=%3!scvpzk5}FhmBGWf?9D(rlk_KUP86Gtn#?E|?rsz6$y^nW8RxuT$IKWTT+}?xE zz~oe9L4`j8UKv*rsu(*>&i7F4nvkfZyq)r)Xu*X65$Kv0pYQp{7 zkhxnfX$2MZg9-~1Do82}wAM_Vc@Pw@ z)E8#ofXvY+Qz&2mfTh(+MP|YyAY3W3gllFi<*F8o4q2)(ND`)9VZ5;uI6_uo;wl(U z&Z1j1+`duKJ2fm_8`h3N$dGkiQ>HRXRa}re$ZEA9X@voEfL)T-84}`jivoQw!f&fY zFyy{n?$Nq{H-oc#@b*8JdZ6!H*_-zQN?9=bU)4^z7u0_s>OZO#98ASgW|`qmc|a!{ z*8X-$W53l9blu7XYZ4Y{QLd^=w=NW2W8TLq6t9E_o{-_ zi*f`z9T5H0>|LFCZ=bD@8y(*W%8~w_tbuk~=&X_i`7cMv-|&iIn4$r>TULKZ%Y)JK zH~jWyf5QDnuyb4R_6pPXnD%I*=i4NCsxjKM+Z4&`QRY}CTID~EiV`;-_Y3u^yp@apSPDTu$<`4lzTzy>_k=$ zDr1t9&ruK^oai`Hc(@$y#O;{Rv04ihjvJZEHZoQ!w(6lycWE-zyM$1u%Ccjfz5_aV ztd>xxN+lK@>-4>vW1TAU{cn4LPErWG4V(0Pv}ppxd!#O1)CqLQ-4VVO$PPirBvkxy-_x+F!Ekm zV`c3EIvVgMacGrxEdH8N?wxo^!%hVQO`~!qq5@c<7gA95Lf`#sWW+5c$m(X$D?v-E z;_$fC7Qny|$gtDtz74QvF%qXorr3dOlw86VuoXI0$9jxFvN!TpB!kgv$FFTgk?Cr| ztjR(Ka-FJn>A|qIZQgAY7YbVMFe0aJAcNh`E@7axtC)RDiNva{UK-X`G*G<}mq3vz z`&RiHz-mKTmm&(eVCtRp=vycdo<nbn_w1YkoF+<;{7=JBm(sW z$TX(YfZ;;sifO!T?NJe#vBB4ZDp%2%p}UuiU6rHL8$q)I3yK@n=BB^FHY-*D*Wd`Q z8&q7ex=`U}l^TLYd-9T5p#{OuM)o4tFMUDg4e%SSFJ#<`Y22y4c=HBh;lJ%0$#pX> ze5k_+-P$ep+`p!QEh_h|KDPW8#%k@=F;uHacX{+u(A||E_GTek^FeU&vvX&jeY)R{ z7cU+>@%-3~4_?d?gkLU?F4EytAG~<+^O?oZuZF|Lzf6rjJ9%7q{^ikUhen0Py@#J2 znXDZgZhUs|%r93ap%P*7oBfN&Z$CRbB?{KdXL~ za6WsB7)X$!js=0ei(k(Cay2-B1fSIB2WFmq^X1~# z#~1@#jX-)A$InA1p!l`&fUSJ2{ zbxsTcyYR!L3)uZ-X6o6M8IxHjJ^%&|MsG)W?FO<9>xa;O;M1 zPAq;i`TVon&ki3WVdgDkLA#4b4;k!)O9~g@#Br;LAF{jn&Bu#h?D2zjpPe}L?C@vL zPLH`@U7W!aFmS(Qm&kBuUHp2~df>7LR|4al#nYp>bQZ6DM&jh`XE<3uoTsG%75(e% z^P^|k5@F)y*45{qo_RhwWo5;3cu*SW7Y4uhHEv#aK%9d7KfXBm)AKJspnHB<{)e3wr!(eTTS zLrVc_pC6lC{N_BD&tw(?6)utZweKasyf(q(2i5*^dFq!dx4q080o5AKIe6!rJ)Wi_ zU|U{|jhCY8up_wK2xVJx0Dfysn<2qNkz3eP355CX5Ei?3)MAq`;MQBp*jgfSTaz2P zH5HB8GH&OrR0CMcwk0(5!-}||TAbDcr=IUQ?kyAu)iSJ$%#l+c|1y069t6ZQE?>n( z$~2YdpIiKxv?H-(=73N*c$~9TxFKS}w4kVg9b-pmP2zKS_W7Z)AaM5C^(i#}z|IHr zdUWxd??b>@D=*0$Pj)*pYpeI!wf)b&J->MD6q6Xf7%fZ=ZAwO+USyW9_GgzTLG-y` zS)$M0L(e}$S-<$z8K67D4OH95zg#)jAIiI z4nb3QF-4fYJv#+C_fx`8&>bi_dl`P;f!{}J2ZLvi^7a~q2NS%KJG0ZXH$>sVKKOfE zn7#bq;Di0M(^mR4^yiRBkO4IB$U}oT{9y9IBy?jh^d9q$NAy;hy@w+eh>q7F=QtFc z5jgCORRVRVfz~)|YG@_|U0w<$Z?LBC&fa`53d0+Rk~1~J(5pnapKx#w4zYaup=(!6 zYPfp_)V+%ghZT=vX{?VPi9mNA9K@eMDSRQY1gv8Up92AGFS($f&?e5o&1h0Zqul?k zgkrXYsndU*n9FIPU_H?ke^idV}=EdS`I9Z##vf8+Eq} zNhIhUBs)Icfa-Am4tiks+3)NPk2!>_6NY!>boays%iBAG;=(D^y%0T;^T7uwnu1{Z z*-vmZz+`tAB`(9CtAVKf>?gpzAe&II2rzb9OE9rF9UK<{;?Ev~Op{a=Mde;57B4fl zze#I?EkTl*FjKVnqH+D%GbC(hkURoO-f`lZ8t{GS(rxI3FN2tSkU{DrF64jq2U=g_ zjx~1=r+tD--GbG^r2mJ(4gr{{tJL+okQ)Yoz1eRckDa;!ZUSHjzGd>!*Itjub70Ig z5dhXL3}_m92;+datX`ukBC?-DVfJe%gIf`jXN>xD7bV&llfUrq5n{V(XRrJm4M3iI zD8m@P5JPxe4kTpm;ELpMBWxQEQs9U0^s$3@q=K^h>P^1^yV@eqh+h zF5WyMN|n3BJSavX`6uKz#$2%4NF3fGR=xE5N}h^Jpi*jR+SGv?@>+$DF%L zIwj10I{UG$;OvY@8VBnZ&N|ylkmuRP1ut(s_>hZ!kj*IY?*{liK&-fO(+V&b{D(fH zCq8nxLS|1u9C{Mf!YP#i8G0#AqPqe^G3fJ~OsiHJJ0JmxEj$B{#W4c+cryLS=(*lVm(# zA($8xsb(FuIG1KWh9RH{ahtRguIgArnTqx_fkHU*V3H3RRM|*})9golTA1>7nN*0l zISjNg_R(U5_fcLb|GJQ%%o1e^O0a8+v1YJq3U~u)vd@sY(S9mmj4_f~mzi-L>9Lyq zjAR5UC8!N!hihZAZQ5ed-ZXFR zq*7q*2dRan)$jJWxp&$-=8C1=eG~zn2ctE);b4{RWB7|}r?OQ<+fvP5IWz&$hP}*5 z0E~+;7IKd8U=M)+WQPdENs&!2#eD~x-860%gk9WlY+cx+YaD;UUNC!|sTh}q2Zssq z@u(Dju06hE(Acgs5QXFfR&cp?S0C(H)E@`)PuK3_vy~^#2Zd(37Vn+|tPAk&xpz}1 zQ-%8a+^l(*+3z?NZsQY0$e{=)pjSJnp~6W2pas3yM#iDSC{G~?#F^P^2A44wa#ASD zd&ot*+Y)skixKs?T#JbC(Mm$ec*jo^M0y%&-P+{Q3<{6rry&2^GbXa4{>YUv>3i{q<+RVpn zJ+yQ)ud~!9TRDn{;(3g>VRxOHRgZFhm=;WfdWw4_NGM;WZjv|4@K9hAN_Bhxmb!u_+H(e=QA1v=oCKdQ1+akq}+_&@(6 z4Z@JY$}DMek-sY8cf0pb2;CBWBPr|nP|!*+2x_1kM0+973mGt0BXdoT#{b|rWmV__ zfrF#O7#>o^F+`6K(d6_{7vfHQ>Qst~e*Y{I5BLRgRb-Fn5Y`w`O7m80_>I4x)i=3m48+lC4fF`bqm}z%r$V(MLB7(w9 z0E0>J40VA5t6`-&^-!+KjkgVDKI=^<#TTn31`|l4Le(>Ob}!wg5+q@@oUI`fEdm&O zuvhL)zR-)jPi(e=J#g;)ePC%Q<)R$!YcopWGLr>Jxqp@=`McGO?Dx;=k}fDJs8wn; z78H63DNpkg3kbecb$Q9&((a$F)7%Lz`LhiOXyy~7d>&-Y{WCb%xK#07p9I1mx>mst zQ#ot(-9Ot`QXp5QS}qsi0j5cUXBOs75kLio#FAD}REaoJVqy(SWAvpG{xIqg1+@f8 z{rC^8d5l4!7LX0OG|S_+;#z=vY6DB9jArlHBt?j><)DC>;!S5DSen(wv_8g*N#<8 zFOhOoVTD1xt)T9dN3y}@S_yaN@Xg1+U8fUg7yLmv6Pnkv5k}O_d^X6nAiZ$ks6=>b zHo$&SWW-`q;y3Fqzl?*#{uA%?$1pXCPdRSkB~|Gx%C)#)UT1|Ws6?oxzG#Qb8&%j9 zG`=<05}OIL3i11AVO1B4HAZM+Ws2wo2#M0<=&s9k^0vgeI66#|9O)#1`OeoErs-`( z>qfl@o^@P!a)=`YRZh}pgWVr*l$iSKmyNqTHp_iV9V!TU1yKj`c7R4z3GsF81ih!o zvUJ6K+@_d1oLTmw#T6maVB(P+F;4qx9t(dmK4-9K;9``%KfupmW(C?Q}v-0tp$SVo7gY**0sl5usP(a$VxFV z64Mq{1Ibv?HO4Mz$}2Kkr?jmGA>)p65@tr^uMz})Gc_}!2|K>MQv!+AEolXeYsG>! zv3=f)Z1cEGTmo=i!-BK7Auxf;dj&xNj(JFkj_8W4swh`s5gQr{ZYrgBLFHe4z`7Hf z>xXg5tA$XPgAnSU_dmSw@Y2Jxc8vPr_Ybc=JpJ$|_SS_{KRo^Om;kk#0gr6s%M|&Qg7O30jeja;xgIX~&e(;bTk+m{jhOC#c zrW+40{XFUE;u%PWq7N?uB~Smn$3VLw_j$;8)~Nk75c^69#O)@*o`*k0kRTBKeIetA z@m+@@g!WIMA{QVVdk@u(KRkzT;XS-PPki7Hdxwty1{J?V6o^K@|MTNF`&SzUJgB&} zu0mmP$Z!R@4I1YCxIq7&_2A;r)HOabcfAHU3pBb8>Ephc{4sHupPwFH;{#)&gO&d2 z;SbO!)-Pm*hu8g}aioC&d4PDFY!82Al)3>)9|*uk2P}~S^X0+KEqP-#<|W_qu3!f+Jgi! z$cD2313bWXAkG$-@PcCYC_X(GYTwlt~NNGSa44`8@S+g8p2-3z*&*gK$~+k z+t;Ye0Z6-5=!`LZYvuybcAqkPpe>N%xSaWjIh%#R?^ZQ8sQU*@nGOtgnr7x~02FWU z0bi-Y!-#KXBfZER#%n`62WcKe%9e8>5)w?aa^PA((wY30$z3;Xm8~ zaRwb?+L#K+KJoM3pZ8&A6r=m_h463+r7*2DSajELu912qUf~6#f;c92J?F@KnyTA_ zObqlpX9(GgK!j-^CD#0J+<%FT(5G}tfW7trvOey{C}B|2?}ftCxJJ$}IS;i>{=6>$ z^0%@Wtb7Hh)*!_>n7^N(&9fxRO^Q1l0jM3A6|nsTl>(9=|KzhiHtJ~ z4_9E~CV%${1p5SB^rIEaL_MtyWQ#rU-`?M(TOeE~w_F6Y{(dqxC7=e4c{0LZ@bG(B z|F|KaM45P=L?+3X^Qcd82_Ni1;G4)^*gp1<`VI9F=i2LHau_uCE71ANPL9h{YD?*uHFaU5o(Zvr|CX3fJHT4Qmj97Y@En{br@8z$H}!IqM% z(=Hzc(Rdui*~7EZo(kMLn7tC|uK?PS8e4pe~L2?p{MIq3U~y-k>6Uj%>e6LR6CvmvT$9 zQ^ebl24>*fc2k1C;63WjlguOq?wA5gz(*SU`BhwEcrVG_A0D2s-NEARK_H_?I9&W| z^5yqH2aHn*GEkKO4~$)XFqtjN1>;nh7}NxBu5g<_%oF3 zv8^e)RaJwJ#=aW8_Eog6#$A3dY>KBHWdmI{xaA>pj$@Ze1iN%Z1h^gYXBw4#8&Uve zt~|W{@T|)${hszOT1Mw!N^g?&805!cOCJ}z-H~HWspZSTJ&IP*g&=PZ%=_5G8G*2c zF~I>M1UYhe5xdzx!O92uax4=dydk?ghlv`irE^4k+~W`U`gFLYn#RR$Nc#)sE@F4@ zK&|7rw;Qv6mF@O>h?luxKZYw8A&)(zjG%_R+U_0V0HDByhi4GV7+obFPa7Vk)P=5G zJSCQrJ%3Hahl_Hzlpo5jNsG9t6y`t%$v)Y+lr=*{ay3WecLDWy>QYiMD=86MAx8BVxKC)s*e3 zs&ptSE{m$DCx-Q;1V7_aWk}5n_C!e1hK8|lDW}I9)Agx@D8aAhR8w<8)aX}pLqb&G zSAA1cIw2NwaXsFUZfQw~a=cyYNF>^%Tpa9~9$8%ypkAJ;U5@UVnoE=)I6q=H6|QM zLnhUNBY|GG);FXaz1AGP*09$a_L@(kl7mjSsmTpFMJ$;;Qxd}^_=oi@-O`lt=~*GJ zio+YMgv78W>s3t^-ZSP3$=%f4)WXQ!kg3lYtfS?I2`b3Oq|Q=RuN%-%mTIvPm;@um z26v6XjCfzyDIjtot-|V!QPcp^2DiRN#YP#6}WgZP_`J0R=k5 zx-?!+6Wp)rf3RN`jAeGM5Yn~sO1g&Vkl8c&9mp-L6JoXYbcF=(3K><;N=8M<-mf;S z?%Z&%Jd{m|frIN?(Uh@+9KYJ|`q}W(!NcqP^*B=gC&?H`@t2oC8bz&E%#jX-@aMp< z$e)s?l?Gs5mOoBbgJW8ILk2tes}B}s;!20>6sbFHW9roSkmw&w-DXSe@ucnuExW-@ zEu&K$x~o$PavkqugiTDl5I2aM#O;PYLA|K{4HOqPbDOppG}7$sL~j)Po1P5sG`y0M z{ks$K4M|YLYc$&zI?bW3<5#S68sJ|e#mzP$* z%MTM!Zk2F`WCP=-^mT569i>D2z4@mVqyhkT^VdB zQx?i`IWat-s4ywXQdvgBiyQh-KeM9LoGSGz-I89?%ylFV>sfsSMfdh(r4_ikjY-jA zBz;yEAyqW;X4Mgp#+#vI=}be~u+4U1;mu&T#@`X!+xhW@n7FBtF?{Az7PXrO|~K}!o+flxHl z*n%>5VZqWv38c-`dS4tY`W;XLCAQ#iWz|^TvQLn*p*u9&v zlLP(a3TV(VO``T|OA19_K?HA2Zssi-&$ ziY&{nQaLCGRo(BY8igq9Hi^@ob+Phb4D(tFNGB4^AW1R#=FVgp_9Y#bO%B9*QGp5h z+xzd!$wA=3!A&$HIi1mPSXcUFlK^`e=XA`_nn2Q76Rg?eB(>tXL*9A+FbK51oCn6DZw<>VF?;~_CzDCMj8D=8HUTl(S0HvG;Xq$$*lh9+>b91}Z@ zfywr%U?&9Lf1is+62kA`tG3SgFrT8V{BmZ56k=*q(G#Cx8TM*=qi z^E5DDjE3SYGF6y1pj{xe`dL*8Z%yUk4Ti6GWTQIf0e4rco7I|I9WC1(=>*MWf^kej zY)pv3tr${-Sva0X`piaX4{PvIEyopX~V>C}hIx*Ipy-Mi`3>sE|nQjlP6_1ASZ zq|;4Zg_fAH?{?<;N5s~q`qriFZd?3!H`>!Qb5B#uU5g{%X-MXKAlv8Ij+e*Orc7%J zQ)%mCJ09En3Z{lr#&-?aSeI)T>_I({&HrB%oCh}8Os7ltkHLMT&^;q zV>RrZeKqc#{boM&2$7vC0RwAS(GrxT(QaAJ@*n#)#dvS!#(*-w?}M2{iv<+NHC@cswk-Q`bOi5esscR4u}$ z52fREb$u`+%mbW2^dDESBR>p@Kfh7!>y)(-5k-XSl~QoN7+I211d6muigbY~(x?L% z5VNUO48uOBCzV1jms663G8Yu)ZU~vn$v>u0O0mI+DtlMSBw+PsQigi|f3@z;_#cMV zBy?NAzuo+A=SbrJ8r!dKsy7DKWYcaKk7u_e3!2ouMU^^>^7@!OfQKKH_t4u}E-9*x zT#nPXBT~QP=M5^R9s~?9!WVF1Ros(=3KwY#`S~QlsJSuEpGR$Rvi}irsNQ< zQ<0YLrsUwdOv-2BzJnqcQem10MJNM*huXSITAUL`0JkpUGIJVFXOVnP}tC)R7#y+r4?r=s}Y{^e5t_xfvNUfRLF0XvvP5Rzn~N}B02Q4Gk3TqO)vvO`D?R|&aK z3f9ykqp}ku239~b%z!qozBO0MoPR zZ+e!13W%t4)z32P6pykAjTMuBX`qF~EG*pt2vnJck{pCJZ#{dvg48Y5$!#X%=b80F z){trXnBaVDeaz4{Ehd&MCYJ0>Y#hF{sBP{YnhRBJr?PIZD`iC4Q;Ku3(m*(8*(D6R z7~BCJF9ZmK=1eBl+*RLT3WJ_pmuT~9;lG7CFJBNtI3S@Aws2Px!5nTZq!3SV-xIM7 z_q4^(W~Of(*T*vTz%tobrjc_Fn_4f&VNK+H3g9zHAFd22=+$IZ1MA@DZS4DkSeCCu zFtJro04JR^6vo3LX`H_*6PF^G*z?w? zlBBGC^A21c<~k_jI%wout0iyyO#TnT`P1q8R99%(TmafH>~aVH5?+uWEn^6i?{DcQGc$=I%0 zcZz7N61wE+4yxlle47^8=3y)LmxcuAX4~e<>_^*n$!fygykBG@##n$OerbFSjDE?RGI?PjH#8zPWm=cy^XZB@(Lg(~=`?1uWRBVkEC9pFCYZxcXYwK3xp!#s_k?^wPr+I4L`MDue9Kgh=Y8s%bR*>y?jf@@Y^nT^S$!IP(yMyNtSQsdvJ{bAkWnUc&w7og&B&APJZ%Q5auYM5>KoJb z26?N22fUqb+#b1DwmEUB8#dDmlgayQ6U}sj+bNti`JYuqlMC53uxC&d;yzCvQ-Jg1 z^EQEO3S6h6!QV@4DBT$t3TR;X0kp1^V~IBZqu{vLOX9HH)dgl@7MMxvjfqCD)g=FA z>!q4Be~U3q8n7Kw4}s#U1`fhaaaKf(nRS8gFk)`={}@UFk<-;O)GG19G} zt#4Us>${iM`fH)BZ(3^W+n3h*JE5PsY!2bwUBUDGUQK;SH}XFGIg|o_3vTDFrM0s$ zw4HZ@+j+gVb_|-n;aOA0^8Ksl!yulKMSX;Yju}N`)$>wj7ylSKfWHS1;15e1z&`^A z@Q;-Z;7_64_LmTDljY#isdA89(dAHzl|m|&0xQ+RD^)@&Ee2Lvkv%l$Y)jiuUbeP& zQ26oFtU#-XK149$JlfAc8DI0WFA5a?MFCeabH(JJUo!()upN0|Bi}R)HIyF@c4W=* zL{|Gwy`*6v3}}BV*k*Bq1~HKWNmodvP`ZZVSVw|v6`S6}4y~gP-GQNTeHBkNIDjwn zeTtuU$jiJIJnq0KT*vg8qQXne1v5%AB-)I2gf^s6O+kgKG|7KR_OFj zi-<>6#emdIO3X9_C#Re6EL&i5gV=%&Bu&Oc4~b#Wg~e)(bdQSi;yVT5;az;^A}Xc} z(mIr^-PQ*RJtm?icEgfkZ#!UJIhP1D!3rl_XXwp@cKqdOw1XWYtR(*cww?V9*BU&- zWv_+PHK-b$ovZJbbqoWugN~OFhzt2GzG|1*SUSK`X&)w0k}Zi^cc+w9M>^UvIXVa? zvGYhgz1~PqhC06ok=!QwW^UidxEZF z<~KRpvPfnHX1Ja+6#Z(X!+wymEXQqMjo=xJByD}TX}qOjJY#(*9;>VKizm&)V~ex} z@eJ%T%Rf>IA#1KrO=g&Ji2$ zd8khFGb-bKXI0lJe_3`W@NiL3kt>05J=Ww-C@T0JUqbA2B`9jSs@JImokDWID>>gI z=X*O#gH~TUgL1HlZV7S7odMSh$kBW+wJ_lB8GUiuDQSUrzJ)sW*-q9B$fBu4wzl;5 zL>;CHIRE1POgwIU&w=MD+>zRSzZvfo+lTCN2IxCeZ=`{NfHpjrS@<^6Ya4ryaiqvo zR5X29?gWh1UwoU^o!Ppc5Mw3vuOyJOR)$zsVQ0D&{^>3iP+GCTdQ&WB*|&lvm0gdQ zEr(1%yw)Qb1#{an{W~7aCvV6P*-#|e;ff@R5|La#+@obVc{p0iPf*yLJq~ckMuH9# z;6;MNA|JL9kn53w#LF<^u|r6P(kUlAlf&1sNJ@Ry!4wo+rNI21W#dtEga= z^htx+#*nGm>Ykb{-l^HWl&P`ZbhAqH5^(v=>P^ZHXdrw>8rh6AhR=vu&+@0^HTQIE z@=nM0$m#IAc4#G&5p@sIN~hv&UOywC7BUe{Y$BTcCc;z8vZn!h{*HShHZMVI^SMOF zSEt(Lo!s{Vs`R^a$F&Fah0@r^_6VeMGXQizi@&3Cvmcdx>OneNbWNvHmQrRG?y7OW zz&^3EjD!B{rrF=TGr1BDQQrD(Vs?r-CK=^@ZP@^g=ts+iFOF)QoU#9+NAX8VD#MEiS z$YWMs^}m~~tN&eW{f|JljzXV<=Yt~y>5MraVfDOVwuUkO$<29xS%RA7x?9qhlV#Z_ za+@4pq31fvB^ldTdZ$%5crLiLo%S`iU9~L9+}33`6-qu-kRqtycQ59W2*E3Oi^{(V z#e+$~E#7oPh|*-$vm|0@9%3jy#3)7(!=pCZ&P&RH!qPPmR#&+8nC7Nt+Sk^!)nE~U zEjh8TiUJaY-^cz-zkWaxo54-&8cOdKW|7i^PV*~)Tdq?3pCfawC20II-^+tGWy6g zehS??HUxS z;zyO%gDr$i6+^=qDY|ut&F^eMPrzY$_aOq%kqp;=!0Cd1|HB25-uQx3@A5x~AGb#* z2);@%VLPTD>nuUf`eI8sqwi7)%`@)0+~xzj=UQ~TWIXqt@Y_sY-Cl4W50&+g%F7ZEDPJ= zLoRj+1n-AZs#a`qJTPRM*?;_=8H@v1XD|Y$z{`bqfGpb-wYQQ)Gr=C@!*xKwMs}@0 zWM_(Q=0) zP92qP%0OSpsUwF2xvS<=N18X((JG!g@~OSXOLJ>JeS~){^tir^B~7gd75uIM^xO2UGfhiT%F8uha=;YuqM@Giep+AsUohQ6Vr8`?C|e zgBPfd*jKd}qLEo^L1${GZa-t`UwLj#NTTxt`pDCCK3AbKR5ed4$Hc@6xhhR!IadJN zv7u?%cvyXXyIKeDQ>L+@Meb^>0g7v?UpBKf zrPB3$)2?r6!a=~m(k%@wwt*FKU>fv73%<74+}a7v!V6~Dz>Eu@q~za>aa3&MsNguv zON;9po0g3#H#VeAkbJdofog493BQID_#AYv+(L@yY2{^ zD>UMKgRxXxdFmTmoo~>!t8z6lwKkKHMG3I`E6)ySz-Us zll$WOmr1wOudILQntg%mw;`QbS^v;M`vUvd(%i5@`O=VTeu3+wxn+gxw|?nrOzqu+ zU3i7!87=4+*T1Iv%nGNs@rCv;-MT{Zp@se8y4Tv;v_kCwE$$cCzf{W#`-gV-3*0^G z8&|q}WSU>#?%Ue1;{K&lFK~XFo6;-n9~!tXP`hewTp|CV3Ht*3muk$cbbeo?_Sew7 zLgfX`*%vvzD^^}o>AxX)*hz<@T_=#X zQ>_*6@grN@561~4_HACJhVw_7{rr)~>7vvSSGZz1NeXz0J0pSN5E1PTO(WDuOH+T3 z83!*`mI?*>WSzbT&BmHp{JK?$gOQ{ttVz98<`fJ*FWqf?5`%6sk&VG|TAB~b=a{sQ zv#M&NYCk_Sjm}FoH*8}H9q-{|YfWu0bvU9>NeOdF%7f*SrdMcLXp}QI%->~)M@GzW z)sT?POT{AIm&B4`cCFuf!g?6dlYKc^w5>m^T+YReH+V4vx}Qs3!p@<-&Qftb`xB21 z$em>=-z)sHDp!#uv$5T~`Mcfh-R|A6MwU_)@07DH{t_!IEvYh1!w=z1XdG^;7y zlx{$Escb8((=`&vVld%)tC>fa~Fvgp3QkO~L0RWZpJ+r=eLDC<)^nN!TLYgKW~) z7qd#-!&&nBLcE8#E0L|nyI>PXe+OQKy>@K{)?A7%&IgtSsR&ZoBZq*a_2iq@U{tXr zN}@)zTf>E>l1smwqAM_~F#75%GCwEWR$aFaRFIt9UhP25L}I_v9jM6QuS^G(Vobay z1)G1Wt@29AC|-f$@ipnS+WYS-ujVwM8oM)z-K+`SN+jieSsQXrs=317L_(F?D;+rA z^(EtG*GgR-?1$NS5wE<|UQzJAQmC9l4;E2|@O)Lu$JRkkircP=%|j72mp3nZ5!4Ya z2c1lrqXFJGX+U=uv{&oWINn#aHmEm&qtCIIZS=dHsM_J413jra_z3G(b0jWz@0KfU zFJ15Db-CUAmaSvNN4b+tfx$IE7T!?xwqM9OSGF<2lAyr26MC|QECExq27k)*lg|?S zG}DY|2WjH4tXBJEjh)j=iQTfE#a(nH;cd9vzPey)yb`&)Sn8CDyLyz0A(5>&ZKz%w zLxkt|-^XSAno(oSmJ~~v3bP#061!x=XoWptk3F3(xv0fUaDspiq?fQtlmc%Ks0L}6 zu7Cx+WY8S*AFHa2s)g7Z*Y>-1E&B^P77JXzOX?1u3U6LBzq9~yx23-J*s$7vQE2yoKU`x1yQWlG-YuBov zAhzXSQH)ic2hpVEl=gfF>`Tb^D4pbXt%LmwJ;lrZ;TLq!5=ikX>=C70MJ{%=8*0*~ zo~qhgP`VXeD(=SM5V|JiLA$Lj*Zc2-fG(L^sG95q<|I8v#1OV6+Dmfw*X$L0QA!{S z8&)3lk6!`a-k56W5aV9CL7xIO(Z<6Hl;C$f(f0oXP)i30n7?*0fXDy@ z6aWYS2mlm#vseHC00000008&;001KZAOK`(WMwUOX=Qh1axZpiWp^)Xb1z|Va4t1t zFf}qYG-NJnb5&Fg00)_)NoFj57-!p~NoI9;3jhHG000001ONa40PVf|o7={bDEhBZ zh&%x_O$^DIkw%~}^XYBbk|mEM%QnrGF=Ug32Sn2VI1h8UpOekzb@JM~$w^Kgo5z=j zPj-`RcC&kO{7Am<{waGklKj*D3%9BtK!XH1BTLzQ_nySj5NLE)S9e!eS5;S6o1J0U zN_-ZY*2oyfv=k?i-%5=7ju(}vJ6b!tw(6vLC`m|Yjqn?DLvyvdT(L;xnxVN;t*%%k zG*6#7y=GY?fUngRNQp7q@)|sO{HX>7e0(~)YSlyY%*yFASZw9Yat(jauAbrVr)z5! z{5^BFy3BvqDpjkl@F=xRfdq9cByo5Bu+4VuxD`?)WWw%ip8HrUw;m&{<+D+zI*Lm1b7O*F98VB zc0;;bx)LxiS+1RrB5&VpR7mz;75=kp#9muDL+t67v;4h=k1K1ZiM?E@@gn$NW#Vsz z*sBWSDu0(Lm}ci7Prs>(?0ijjwP}&Tj5buYf92dCDAaN7N@bPwW|r;1zj8+v?%Ji$ihG7TmTRFA7R;ervN#EUBs*(M|%KN0;7k?`F zNBzoV{N8T@)WD15((Z^ukA^LnEjYWaQPT5cJJ}yl7hdr>X2Ylj)I08b+tj3%C{jvX zY6C@h3BBF(+7wDR(xL#L+A&YQ%}bk!4hyKxZn6Hr4^-JiH8TXLU7CpGTVCY#X@cLO z#KoI8Ze6>6`Tp%Y=kMITozCI#-~fxVfZ~iYjl(Z~@9=~7AN}@&!+-d14}SlC$yh{; z7LC%Q?|$yl58i$JrGGj6AMYLh^tX?H_p|@}@H2)*lJQv7z0JFG*EC+aym{yHtM_j| zfBw?tO@kPp+M!X5Y-hPrDbe_i&<{()9okwc4Om=%BZR3};;%dRTP$D^Bn?Bq!=gSW z*Ge%=b2^#GIvp6|eCkSxmya9O)6FR$J-?I0jWf-9DgEElQt9xA??3wSyN7@Kj}Jcj z>f!hPaQK<8Kl;T7AAjNN|M}rpp!E;l|NO&ufARQlK7v=kwRHIPUq1NoM~8p=vxndM z-NSGFGo*g}{dXV#{4>xuhd=nn!ykR&@$Y^J>5sno+sD88+2Ok%KK%MO9{k~Z6PR!g za9g0WCeZ;*9)0t@2k(FF;Xi!t<9C1b=>0z){`w5zS7hu4_iwS-=WB+`d)UO}QmKQJ#>AX^ zR_T-&A$za1D2IhViaZ%)%(^JBvG<7%Csv;or2P!iei5X7OO~&aQWc*pKz9tpxTR?D z%I5j2H!i<)XATt(BHHqKN}smE(a9fOrzz6J6>!cQ`qt8t{u@q;I-(*o*%R$8k&(MxC0dh zV#Rs70o(F|>x^v=2d?BG0+t(zw?UjhMQ$kHf??MWW0y&061WjElZz}&=pNv)OSif~ z%^)M_x&AOn{6XN;_W5AY^PCe^;)#a}@xsLS0^f@}4<5!=omawvTxTtm0z#K3 z`JtcOidYx8l^IA*HVXWZzCxn}7W^0(y%UqZ7jNq+-dGezzKZE|&y;mclyzewGv)xe z9!aae*&hGv>otH#-}Cg&BGdTAVP0Ir%x`9K->5?_phg=Q>b*E?^L|c>EiQlJ0iVGG> zw^DNOJLU}=C>drDjD!XCn*tI8)>GP~oq)Cyo9%`#()}3Vw0d6HWtOZjN1qPO5vLPP zQRapHYnMz0ijJ81{ zbt1Cs?NBEe!+eLnFt+@}a9uY#P6HFIffxKl4n+XEO}(Hk)1}8)A@I{rRN*VM_2d;6 z#_4ojQQdFuqvWk5Nq)|Qto!Yq0 zzg4qu>eI6PRCD;xazW`8nPo*}SAqi@>f`1;W>mwR?fFdou}^c)IF7YdQ1aAOD`X4okYQng z^0EK{6+l@bKJK5$VFZuskhoEG&eR0}Hv@1Y18^b(kZ%$stWyDCtgz(0wF#3R=1GuJ ziCU&f1WI{D&9>NWP*5_uID;+x)CB!JO-f{v?>54Tq*j(B3o5Rb()Y_lubtK&6OZ_$ zWsRr4q~e1p->_|)68MwgpOC0m{=}N&{8Z(I-4j*S9tI;5(6F2INaQw}b>xNtO-e1d zQg5AO^~J@O$_gq*qt%4YXhD~X*mKIJA%wkP2H?WDkaM&m8T6)UfZgLE02kqHXivF?4*I!z<2F=ftU&mZ%ZQ z?kQKBbwQ+Uq%kV;^H=_KaBy_xZC-wW<=bib!F2f4&Mh(c^6v>zqzF_8ZxwT%ISgB`l8$hW_c+owyc1QwStX9YhfD-M%S)QHA7gUJ@XFZ%rN5xbMV71L-h^VD&V%SMq&y-W~nu|1T~oY z0E4=szsC7j4+P=-GK~V;U7#Fgqw%c#l0Es|x0ICBn#t{e-jUA%xhlSwl70-M9-j+f z)MJ?+I5sfhCh)x&8F-8|D_L7CS=-Qs`4+-_tBirM!E;MI4^;Zfm~>S7>X`IYdUZ^? zD!n!)JFdU6;;fRs+vt!s>5?89l0lQ~yNxQTk!7+5YQbLF=NuIlI zqp?g@$SPz;v*R-S!e3J3ztFm-XqKF4D1`5-0pKeg3;?vC-$)Smej~(Xrr%(&fQrh1 z{}E(&J4lTCJR79MSqheb6fa9*%^aEPbjXe(Lv{oif?Us4MwwwsQqL*ETvYD{giTBF znc!a6WvwDbm$PA7tfC|n*cPiOv{-}YstTGn3l(YkHB=)V%|k9*A@VTf*BF^L*QYNG zI~`cpt$Jv0fxaSNL;L*Z=K0s|U$}ea%H>TGqaL-zKXDa);&TLF(cXFO;{8jT=kI|E zE3oodT8(JD7%~nF>eAEF68LdPeBf&BHNKpo4sU~23xplocVD`F?dnUHFWtZP(jCI> z(4kF3Z!1u>@PYy^FQwLE@5x&2&2M!u-D=+3PtLdKWNqnvOo1z*ip#98V?6;=-sQ= zxfM`s2q>w!00|rqKq6~%gl(pou(5I~65C|BrrS|>%R?T}23`OqBibhL2rCeR;d^)Z zTEo{Z5Rv)YGQM%k93suJy8$DsS7FLJfF)Y>W5OPfncj1u-gDSaF`6ctHuwXyiMsUQ zV1%0qj?rTMJ`0U;U2()4vc!31ds|pAJib?HZ~+U8)ie2}$V><9+Y4JXNI_gd)xa#w zo0-xyqo`uO`7w%IhKxBVFt5agd=6HnA_fQYbR0OL4y*PhRMEbpFL$(%e7Mld6u*q z1$@v@lqGtLwfF5f*@s0DnEb7X4WLE)rco~MwAy7cX61p`Zu?=^fZ7r^0N@fKW3Xqa zo^HD>xi?zQ=YrQQmZYyBCAGwCtD}6=t;-!#w?owCs@qQY^p-1?Ita67u4jQ>eNdLr z;(pza6C1EI4Mex+x7#!{CamT54(gNfyaE=-rC&^UZbaXP^2r3wLQ zNV$W$%Q!aFl7C^&swa4+_?L+H1m41N3TRswDG+MQWUya zkKze;Qq!-mrC;~e*B$LEQU+-$3h8TKkirzDS!CO-ol2HEWXs(-)n96Zbe8f;SXQ_# znQW6S)WLB#W56Q5XG=QBJR%qd>P5hkF5bL;b5pKp_b*(#BgSA4j0}|q3d|~&qRhg=zMYr%Mhi;gWzPzw(d4cYkT&R;w zJc;afL)bj6o(GbV}ytqMOb|eR8{Ma%(fwl`~VDlCGSRoHR{j zllwDyWJLRHhfc7`{W(0csDOpbeK9W_kH_e5blu&Pli;=slis(_TOfXJ;&WiX*t5(L zEDbkUdl-O<0_wS(*&;>R>-Fi*wXWOPJt9#oh}=RLJEO5mzT@|)Qz3E(*f9)(f)M`V zvNw$J2{%f_J{Z1K9NZY#69q&55mJ(FtL=ot0LX|l5UfHFg=1RoI=mr&5vECnu2@;s zn;1B!N{}_=nm0*@LNd{FEG$s9*5%S&?h%4ZH5w%Gw*=Bcf@BB$kxvp$u1>g&$+KA? zj(Z5lrDFno=w6DvnJ!O4BuYPw#};`-A1~+_-XyVnJIfU!C5&4_DsZZ4N+xqSs{{x~ znQ%qE+6s}h?o^1`UKTf&Z??DI`#Ar9T*jky^HdZI2P zIjevStS_w|^c;YTnIYeAw?MRU8pbYAl|hV%f;eNKrqiX7(agiT7Is*cAA}Rg@H~tB zcUYKs0rm#8N4U9FwGW#t2vn+A6jWNo(}0m&g;~kXrqGW-IZ7+S)=cmov7?@Hv5VS1 zXaJ&Xa64fU^cb!#*zKkP{hFYV1`2+(pNb7H+`jn|(m>4DCpF|_kbPS{Gf_mKER5G& zs0Vr6HI1G+QIVo{&B_qE*62jdx^9UyZ(tJ8E$0g7-OyaCo;hogo1k8V=6Q=;f~2!& zYG*8RnI~ORi|2ipYgI7U6mxDEcVMWl!oM5vZyWx>|NHRo|Nb}l6T-g%{OiC!5B|La z|Mm?uT31)f2}t*0gDou|RM0rqK#x2i*J`uDo?BKMGbTM1Sls^+$^16xvSHV>7LAgz z7%dtxC^6WEd+vRS;gvjwqrJW$`H*xNaxENP#-AlkMq`(fk&tbjKyiqe$OXai1l#d7 z4%H%i7l%>IB4;>u6Vlc_6U|}SvzB7(lwaSpHU5{1%>(zI*(NRY!7~SPv0SWLrx@wE zjfR2iv_VFk)jP&+yWHY6l|}kq)d?5vRkBwTzx!2Si~BVv7&l1+rcEm;DvOvyStl%a z(C-e4M0?Iz679nuK7*VNksVOAYpbUs4h_9d=0XEV(HPC6$FDgkiwd3@0zp~i2Q<>H zyvwF#-h_W3MG~ML=ysS;W)Id!PAj+ED{?3Xs)QRM8iPf`-W!gH!RTYCUu_(FEk3RIDwtGS6VwQeO(0)7yibKocQM&W1j z!b$q%hU7#=w&$*ULDuk&3sRPe+Kp(^NTJVC-mW!-3oOtQ-XJgEAfJT8{&g>eWxO>; zc}%K-h=NoD!_>nTWc1cz%{mp=hvzCAky~-1^&vDOa)-Dw%BtNc)kUckpln(Sx##jysu0tc?a zI9N0kp_vF4Bi5)kH}DV0XQ~#xZkUrwB^VjJvE0hE5lt8Y0`YD+5n4Zl9dnq#Qb__- z9mk+xB!D7%(}Bb?8e7VsbyCf1uCqW*2`C?SN(8ny7{GGQ9r)1iw`p0zr&oTrIKf?Y zN7B1PwwO836Pa?|+Xq?JxkGYY!kian!o`$6Pb!?=N_h?9gzNi~`9^!uGT+!;w3e(f zdC8TQ32g+br-4560Ch14C)XP-}y^8`L5O@{+mbtYkpq<2x%ZwX=pl#fl z{`osMuDiF)bV+2|k{INdMBGiN$L2`Fb)*?+sWwLID-6!%9Z1KKq5#-5`fM0;l>`L3 zbQoUCQD1GXLPBf{bFbz}i2=Klst)Rw>F2Z;(PPUFc%LK1jWkq4xqehDAi%061fL~` z@%Ef5T_!2Nagg5--2w(H&MGVvx)n?&Dejr1+_St=k!*7n#AVd(9Q!oMST$tLv`3y> zDTr7=X@*!P$88gmF|;V1GMmajG$11yFc>bW%LJ%4MNkjOuLq+&$KUCbvJXbb+zO6Dlj$NJcBwmDR#-tt(Zoj@Cq)c z_KOp_!GLSCpj)bl7Iy?W3xb}-egAqS_Vg5HrnKElv-}v@Up=;&sK?BijA0U)OyhTA z7IRu7)9HfdE%FkU;S5F3#Qikn?oj$rF&mrZq^IEI3u+_I$mO@I87c&hd>TzW5xt)q0Rs z9$@96%ZMrxH0#2Drpl3u*4;!R5V-;c&_PuWk-(%*8dJ{XIU4Tj*|Wgnt7n$eni*ih zvYHvxoVdv%cjt{RvNk=Bj(7{T)m3y2UQF;wDSqK!C4UvJudn`90)MRMmQRau^{5+D zNi#lmbq7Hu$-_h>o(o#L&-*p=b@D+fg^%T${DQggL?0w)h95{rI}iN0BQ|h+n+=E; z_u&EllC8*ZZKHJzS3<~Riv;QQ6?%Q7)4Iz_>DXy1LnljjvnMhLtGn+;)b!BxD>EJpkss-z zS!`JiW6%N_vdfHSCZ;JS8aIYbbcG1**y|5)`vqtstuD-};||s$iyh+eg$id_!mn$M zF4w6ufrhWVO`wOGt_Kxyztzbt=?QF8@ghcHH9$8GmamvvVkN+hL3_}e@zDp)m9V=Y z7^*{-P?xO9;XO4hNRt`K#^HCu-M3_v1wVU4Td$^ zNMrb8`|Ul@lN3W^V=|ngl2jcPvIkH}h^|w}r)pN2|5kAMY0=bu&&~H!I+8C9`&)cN z*s|;x_kOG*&qF?8%e8t7IfYunJ#;(7j-GIZ0r4OsP02TuYKV(?U!9mSm(JOX>r2G= zk8gh-R{b_AFa~)UH1!J67H?B!CQr z3$Q`<9jy%!%yuXXxk9~g86;=W-Uyd;u7&8fQ>~zNOWL)nr!A0z+P6`>gC&(1CBteK z0%C&}a8Cf00DH>HoRvl3Z*l!`AIc1yOrRywdVxf{8T+XCbDp|2|QdVkxI}mAft>IAXiNn4Pa+}+X0Z&YwtTA8Nv$2&zQLW!9g`OMKy$!Fmx-D(eb51 zJIzzHgfLt}P%7nR+oEi|un_BIgRE?vmE|P{q$A3B=o74!iL)}^M42Ax<~E(V2(3=- zK~H&d01&D*YIMk;=?-wGu|q(aY;;MFzsIBt@2N`?r)P$m2Y+fK$E4*19Y9Y-{7eJ# zkOcpD_-6pz+FN(48)k2#HNlfQeh@guFbd31e~S110`L1zTZW`RZ60}+BKsX6O6>#4 zoBK|A2Uw4DH2lAQstU*uh|(D@y1;sX2{STWU#(Qq?NX5J`N@*mT^?s$9#3`ooGy-e z7kkrP9IGylc^4nq0fjA()0TThE%%Pq@^SjiIY5uP9ZI?sBR-rtyON$}r|xLi8TDY% z2%KuAGA0qeRq=IYbxat(Eic2{X?WYmHxO_GXBBdGc}_IxIA`Evi@%<&$gf-YTB~B_ zGw`~@U)T88RjG0Hsk@`N(*A5wL9LLQ-k+I#_p`kX-4f#GtspIwMu%>ADlU7_T~XOD zx0IYhZEhcpr$t06B&t(<1O{x^gl?fW9#}1N9XY?MAnrK%`m`Z!SD*&@Wa8Kpni0W5h|swrN>3zf>LU)k`ADDH)5cv7pv- zm4kzLov9HY;`?yDy@5+!(}B+$=Acn++HLpE8>LF=Y!(%#CwsKU#++*V=%W$ZPw1>kU{vdrb@8DXh`!XoB51xx~f&FkAjcTTTt8 z@fvC4tcD&vO`b>Tp@Ht0Y&d|G4WV(WN|UfQODV6w`T$4JUz2h*T&UtHjIiw1!c(WD zK_TKAhm?ybM?jqjI_IV&8l{K9Ll`)t3?k>Ep~e!Ome@w%)Wq*15Ig=^jO;i-pQl=x zL0Qx0oNA1_9}H(HI*fNV_6}2J-Vf8_+yxTp$})El26;0W&X{ z<@!}ARw=-6gK>bN1jtf=A)2*{NXbhnL~Tmz^%+LmB@uQ>1YHs>x@)1uT!Dw(iCF)l zGsxQaoK|Lz%wGz2z0k2L~p85QtVtSgu+y(2%7VU!ZRE3tMk= zXh!PGwS&_u)-kU#s5Mldrs42hZr4$pB2KOOMl~H%XVCMn+zaj69u;9L1zW^=aLqsGE}tpYb{qK)*T#J;@kA zW=l)zY#j}1<+8BT@xr%M91W8#R%d`nGhf~tu#oZq5&QsbL1xtfG~+i<*c`o*Bipo6 zXXmhC!j3u(ASutlvtEE_$`1fnV?+9e>``}1ts~ckxl-*}o=EpBMTDtQdOQ<%-I3P3 zafVkBXmtnxG$<)q-lpz# z)lr)iq?R`A#AruANzaR};*tlW0$})dG)m$InmJ++A|X-6r!bZ)&l!X#mie&+7#a}d zJdD{zN?eYUe@hi9yi5Q%dt3naG6HDM#ZV|?pAgU0r$m#Nw^xsWGwK|$H;C=eG} ze}Hk7&=!c5!WXE#rYa(M%mM@OIffr%uZ+myaq}3xnEdd#s>?HT1)oJE)JhtfAa<;Ne7eZ2TeI`nDsCUlHxVBYNSFvtuA^ zDF)>!fWI9VeWXB6Eqi5Oh@?Gj&u9mpch0rzi;Fv%s4#5oaFLgDOJ2*t0p&GYVmoVn zAgx+GcV|5A2n;u2+2^}P5{oWZh@eH{bJv=vbg-LX<&MC| zYM%g}hn!s6>!22O*F&|J!ViO(?Q;>No{KaW*2)3ojW*g2?m^>Q_guKqbwXT$lQJ*I z*4MJbetOT)#l%{wS#=qNU;rxkkVo!7VZZHmK_czI4C|%j>RDq>t>bZ?EQhKScl2Em zJ|)mMTpC0G_4M%duGo*+$)rjSn4p7VM>yZ!pzbSFb0k(fI4SMl5Zp%BFhIem($k<~ zXlO98pJj=7ENu{=6*0;{N+x4wQcRw3J4VkT__*AgyS#^C!W;7-R z-ofYrs2pOe4#iC@ikn!h*n?Kjju{=(UmU{p7?XSE7O45hE5yoXtDGy=OewrQCO40^ zN{;!42QEMufvX;fcAkfEvT)~^ACJkX7UxSKtwNWmds7Lim+3Qh;N6_|Z8}BO$sSj^ zzLshJ2qn!Qp&VvDz32hvmw^xFJc5VWats*?U4h$~E3k5S;^9GYlFQJHrF{c;dZ~V1 zDRs8h+-^hiO7^@62&In0_o;hX<30DJTr=5~nG><{de=HLbF7OsmpkmvtX<){2f8v3 zZG0}?i1FzJk2@pXoQ3PJ@(?1aGjN!>0Y_ys0!0ueX#fO*Ex-m`q3%6J3%5Xft2))n z(pgf&pEG0`e@>GXr$$ztn!P$E7kD1KvJ4E&v8#~727c$*!0;UWewTko#^yjjEjw!! z_=-N5tIl$*GA8d(^a+hyj`2EU{gNM+#H{Fq4sf|ERAH-HaOxIq+^~z!rZmwZwGIcW%2-r69H?6EYh5R)zkC-foI3i$yR8j+_yjCW zngeZdHZ(E2?!ZV0P}gxho)=EJL?mtU{(>~#aWe7l08{W}JAb`|I6aSx`EDpeL_&sl zsCeWbU!^2u&ihyXyjCuIj(^pYUc`1wm-z_*#??3w2 z4<3E+LmnQVi-|8$_bpm4XjW*}s;6t(Io{WF5m<>I+7%-hqznUO;DJsM*6@5l=z=hy z-nob{qR_<_9$Luy`E9DltmW}^MBrMZ&(Dw>GJ>q(!zh&dw9lgba;xV9IrCgwvu8$QDsA$mifG*+(uS=Q5zJs~o>Q^gzs1`MQ%Zx_DYiRT2*egJ8dM6c~}MdQ`UK zV3b7uF|v4J`xv=cbc{?>T~L^-a*RAjwtx2+X!E1}N98%XVKLt;&F7M7X*6bO-AZTQ z3%MnayKMA445rEFVXEwh2InPmEr?W3E>D<~u2!U6Vi*?^~-0Tlc`W!Yo4#G07udcg4wmtPHm zJ^&lQ2U2}csv9KLHj2~>%Q4Dnaem54(-4mb0TWXVP)f}loD`bRaZkwe;M`v zUyph_c{aA4+)8mA+fFNaBHK=mI-kV0!;h4K^an~sU0o}cw!V{y=+-9&nqrhjNqBom zqy5_yW2Uj_d=Qw1twq$`jW9w?WLW6jioQ-z3r%;p2T9h)y(AxHn#Zva5})7MH`Be- zBn{y-5pZJ+!nqzABhH1!zyJ_wU0p766^tMSb(Ol<;LLmVZF8hTsyJ8ei9j|)#8SyV zh1Utsv4 z1P%0X6w_g4c6*e9#QqZ3A7q_mlib1U+S0L{E(Xj)?B0nfkS~~Z=uRSoK2B`=b4lB> zCQ{qbp9$Bf#Z#$Jg=|o%8E&RCR|GSifQIpnXf|A%X-M3hVi^j>QU<2T>9F;=)w}#| zGd#GVAu=9^=E~`cxRH4E^lAKEJ5x(9Y3(Pj0izuFBKG#uTi%WbJjov)_x7KlOQnX66#ZSz0nI^d3x;-dv<1o(sRb zd5!zHq7%ItFGksQvv`ix1yp5-CE@FfsPh9KFj!{e%{&gq$&oiUtT%xs`PKr|gNwGu zP3ybBe$AEIa!qyUHV}mtzf3yWq#Sijwz3Q{CtTsdTZS3j#>i%5Zz_Wyb{KrPKI_Bn z!VhIMWWm?X;;$ld=$O1x{8`Q|5u{B+|3-p=Q6u~Mwq+XPcs&nD%m0+C7P)u~cmU_x zG#phdHPCU}CiD)jQZON6D3(@p9+cN>Nt1gT+=MFc-xmk(Wrt&2)nqtGb@Wk!clbe# zu^peafc$yogBz9%S;EVevEVq1n8fp3zGsPTjftrDX%tp%PK!R})bZqng#nb8_9sf4 zDm>?#Cr7W?6ESbcgS|I7MYg6&$;kMkSUxUpT532|ir;jG3#;>Hdg<9~=E+ex^`nBq z)|-TX{SS75)N>&(QTXd zk+X3(5}^1UgH*H?u9KONGO{ujxnWonVl+dOxKNA7K{qha0zQ?ii-uD%G)Y9a{b)w+ zNeg#UVBxL{W4mU|X1Y<531c?XA`zgc@lzVJLo{YHZp;pkZOjHNb2;_toG^wL@TQDm z{nLx#q9FhPM;K?vfh;XzA0O~;4Q4zI6bK_dJA@yHuVO@Q{&?}SWr~21+X-o8%pw;f zQqHQf#7&_?#Gz;?w42y>BFk*aXlUc(LTY6}G$&yVXTzGz>Ze&b<642HrOm{^OKC$R z`^t+Vk6=vKER)Bd-mF?6Q07lVm@2sA>>iuZC?96ibbHzoNdjUcaLK7wZRNT@$EyX9 ziz}Ad;b&S!6KYmdVw3^dn;ygKDrxJAWyWMgI~`#3fV77;@0JJ!=ipo;JbVrcyN2GrR?Sfu=FPfAh@8aHs>@6cZdscc!*-G#PkEa$% zUt3x3M3laQ@qkl-h$r7x@#mGm!&A?1v0-wI73lu-bh|gjNpKGMM884;bghUDVmnKc z9C8hh8Kj9g(dB#-JEpQDZ(%16b`yVACAp3iQ#f z1jhOamc5BOVk!GS$*MP-e#H`(PDARhPc{kD&1ANmkg?Y}ogsGbr_n&Cv>hs0@6l^& zW5%rF0gYSO2*}^mR$cyY4JMDqq>#&qS@LS0BP1|UM9^;XygnJXrY7T^d_l1Tt?`5x z3%|>C^W^-AezmZyl3TJm-YUic1tLRp`hF?1r2>b@P7O};hui$#4I@>y_(wG%CwK>E z;_)%~#H+eU<5|$LlT+f(G$(m+I%z^!V0L1vjei_i3wm`D@KuCz>{-U9I1@p4iK)qT zZ-?_VoHjC~oOEiT8Yh#OHS<(AiQrp$-?YSXsz~#-Y;=(9)ZQI^s+qU-Dwr$(CZQHi(nLV~~<~_;DNxmOn)3m>uv`tsD+O?kRPJc&~)aZ@s zEvQLX?f*<7OxQggy2J@_>$LZ#suoPECid%as9>G+0sRVSe#w^cjvu-ROqQF3{o6?x z+Uc-{%yyec9m?Yj8ml~!Y*7vVAyEXGG%gi6R6CW{6X4;qZu!)Ptxz#m$^{cYnSGvy zAmYbFLqqX5DCrF)TVy3oN#cV=g0#@9R12=bI-O3%69xUbwpm8R=>WvHg;t1+aBrrN zhhyn_LbI4VT}cOPRPO6eUa8d@O?H235cepu0uQ59d#|%rpIWk?2jtrfrnr$=;t{#={C9QhG7BEoKhJOhv=S&wgtgWf#8X&q5*lI==D7h zCi#aIyM5sTH#>tN-p#PKT;rj!8kntQ`o(-*TH#mm)CHxA9Q^Y+#fk194yFk&jD{Pi zC;mYJTmfOfpl@Aa7P`y%w*lCxJ*3aFc|Byz_4kMbph^cadn zm#T5DqFeJlvsDFHUT6`4ta4f856vB*@Cc{^0BR`Osgd~a9n7{RQ z89o*yw2ZAcOVC<^uK|mmVd;f;fp!?89=WoqB-N?B5crTiVPF}+#k;odI<)9B^rb38zrF{-+15cd{*0;zy@KX;P7YIK9F#f^7cMB4*nenC41Nh3DQ5 z7og9uI66T?N9L-ha{)}rs$0EWhPro-D8T3@rZt9dLXulUNlLe%!77;&PNkF;Q{^iI z{@J11!1qwn%E#u-$4RQ)gA^u|vGEtJvtg5O9a+%0P^sxXE*OSVquK^Of4xxA&&3a1 zZiH0jOB|J}bMt-)!|@+c$P`-qVzP`B*Q2h|M;F0sHYYLa%(ff24f`F3GH!7gQ!=T1 zwKNIH@A!?|0WCr7awW?|+yCQwZH$(GVd0f@(f+SlX{@;sJwlB*ie!f0g|nE0O9F9r z+&LN<$xI%RJ^{v9&5-|t18hkSbI#@LI>dRcLIyOM81Q*{JHjzdHB{X~jzIoi`()?;|qWQ2`xcSiI?3z;4gNwW5LM|2zc=|LH zcw>pi{Z$)l$hZ?F8A6V>JZrCbk2j}^LjltgJF1=ALP>!=A+L$I`*HQ5J~o+!()5UZ zq8zXom(?>pKZ6#N z@y$$@>eG$K(J5mC=@~iS6fTb2yOT$;c4~=xi+Kl;3fa^KBqGy}YaO^#8||%Jjpekh zOvuLxue{b1fNlolv+XzjT@IJhs&QF&XHk_#&bzlah%I*m5FIZ;5ZM{Ay>n#Z+ZAM@ z+XXMet7doMkLN4_-+ebXWi?Vf`q`VX)l+4W^+c8Ax^|UdD;JfhX`X-0Q(J`w!~ zf<_nuz)UWC)wj(#qtfX7;Hp~jI}vDgzEHpv|I z^uebj6X!18%}l`;Z2PBF6gpMqv_}h?7dv&p^p|h~-bm1k*P!h#MJHPIYVpU8$LNY) zIzsvUWHEkQbxpLu-i=aCTrOC|aA-FP`>kLBngKmOThtqHe?Z*jM*{B%A||qyIXLd> zyiyuflN^ak+)_N-DO#ZvZT6?v`$eQX_hGX{qpK276^~QZ9(c%iaC*LC(S)YJt)Y>c zXqt`9K3N8)(cXk%T3Z>DHF;z#lFOG+2fku%XIQv*0w)}N9@BWDW3VK@FeLSPQQS)V z?n2H8mQ)E#*dq3BrS6g3i^Z_+Sm)WWj@M=>V&)+`nA=lzm?KMjwU$%2JZfx@B97$?daB+|KWu(zW&y94`+e7 zuZA$RC;xBuxE!Zr0bA}~D_Ht1J$lam=l#W{U`4rX_2Q*j)Y#GhEe}40?MO;aZmJ6@ z*W`!tJio<+==ouG$-`oF9B-O9{3q+~>LrR5W{Qx{ji0}OrK9d&o{fzi1J8-h8KP}W z%-3y9uvnYSj~RF!n9mi~0KSDVAN!3kA8XEkUUcPZnGPpo)<#ZueQ3LG$=BvvorXY1 z({>wGc9dD5igy=8X#@RIH8@I`%el7J)Iuz6ErTpdY9Mb z%*oRIFWYk#}Ie!oD&(KPmqw-42>_5fuA!tL0N2l z^LB0cVq1ot##^_M^I3xLJ`fGYyPJ-xr!Z3wO2Ce#dU`ru4gURsH?wZajB&mJgc5YZdgcJa7(_x2{*N)Q%>!?EXoh>j*_`MDU z0FrbwutHXI#9;(03()g9S#^;-I`!;y)5hPF=nY^B$VrbOPj=JShe7Wjr(}6)Io}?Y z$<+YvuAP+&4k2PlX4?vpFM;L{=DapFm#dJ0#BrDfcCR3Jh03L)dMXxBw!a;BFu~&RW zppQ2;(!k{8L6>;Fnz{xo{HbhIje!|Mb`~2#?p>lK)Nn-zA6sUDeY3ems@xajer5lcEVQKttpD=ziD|CxmE*J+aMcN)Yrz4W|u&s^PxO6vd zwI)(-nGUb&c6O!C(rSR(x5NE3*Je$%#5?eicyHCnjw4=z@(I=6*=Mg0P zFm#aJ`r_DK+2dzcqL`ZmE^31S{i6Df4hj8)D_|>I z_Z^p&I$+pnEqozmceyaMdtz&Zt4bng7R)GA)GgfW{F9T+bxoR2B$?xHN_0fG6+Jf2 zd*s7B@A$$YpQ5^Rl&qgD-pJoU_B*bRj70pU&4RgRH+r)7IW6P2#F=%v`@fgtT0^eu zOFPHU3X&+USgS)Zg2U#}d6)Hqtw-r`msaLG%JHz0>BeaD}T<|kW+UTpa}QnO__5)`R`&tH5T z)7ycXHQbvDmPD~2ybxV6Q+g%_^C`nnay|B*(y62{WY!5V2Bzkaue!Ev#(@ltP7;iR zlc_V97%0mu>62|sQxjRu`ZaEG*>_7yVZ>r;b0c|F&W z{oiH%x>ZB9ZEQ>Sy7Ks0xr4`9rNRQm3fSXk&*Vk)VBlHLT~*f zp#BBp6zR9ciL!TVcU$DVBviH6ct2Q^TZg&^9iE?mrQ1h)r?*xy+zE$up-sy=->5@< zPCdkp_=!z(5%Gq{+%s`EyL*drtK<<~vPLLishId6PA|R6@ei`N4b(@<53}sjsnw3t znW*5iWrh~>u@}paE10sy8fPT(|z8YAU=#N6) zvmZ%@E~dQGjVoDmG(8ejxX|Hf@T)ypEfHp{-J1Rtn4z?arJbd7>@?l6LyFOcFBrz> z;HRKobAp>g$Emrd`{@#*^&Q_$?aQq-mqp^BFkiD!j{ojiWp8Ov)(&Y1Axb~<2-c=M^xbc z5aCZ3yZ^n^&#?;cf-)r zJ17MpXN3msLz$C}LaYVUvBc2b!;FEiI|Q%59|kJ(n_!s8g-|5WQhYdr#GiJE_3yJI zB%L`NM6W3{Mw4y&PK0SZ8l^~NC6{D9HpK{e5agzUtWL-92b2ZGs^%E_vf6SBix zE6spVTC3*aaluf{>})9RAsX5%HH%Tv{2Ob$WKGfIb$MW(<+fj-w-lrMh};o;8f))F zzRLRhqdFYDHyj$OC=6Gj_DizT8??~gI2HAh{JbYn8_jz0EG6}EX&Us!EdrBL%-Bbe z1CZT2Fl^Ji9bm834tMYa=HLh{+K_({$DQIv2g8Mv*#QHwjtx^POUpVfVBg1%x_$3E zs>cuP-k<>YQQE4@JTHe!G(H&E(9IvpqatoirF65@Mx_V?1PBDyXDll;0HV3glxj#d zTX&pLFuN_@i-4dEQX4wq2)T%G*`XkK=@D~50Vc4BwfALEmg=?L!A`zE)us}b;vg2p z&(@8$s3UkVS^}LuVJ;JkElTN3HLpNn4^-0akF}?6S%h1KpyhIl+mDfsBq^xlj{pDQAL)Vbt}&>v6F^tn=d+!u#Nn{p?%_1Ni}e zi+!3qQo6+{0vfip?u!GE5w7t~ZKD>#+AYSuZsyS=)LxPB5xYZR*krxV(Fo!lv3)&U z@7(O?BSkke2duh;G6gt!w5kM|LH>RWT~Deo*!3pw{^OkM(AVLC+*=0p^29p2A`Q5}LML!itayBDUR>*rEyKT-~ zkDO_XxABIdcM9^F)DJuvNPWCz|KX0je=<%R_-<-B&S5u{(K30lKZQVCO7%s%jg7V) zg%+5*{F`wKT=3GIY(tJ31IjX!M{*1sjqa~)N=)ji(>{2&f}EYw8!a3~&A^dl4+MUU zCk*bXipl5ZeTe3ska_BD2pj$|%Q` zzzIedPnz!E5+ATY{Wr#`Qd*lm_St=kn}#J<7|$w9B#fTyeD^W21Ws;5iw1;@sFH@; zBE$G95CdBHGMEWUCW~_#>L66{*&ii~XPU7R#UKxWLU7!K*hQ)MF4Mc6A;WtsNfqtN zEWVH@5z{mn=P*U`bP@5f3u%Oz(%2jqo<4<~bnb5G1*CV-2<(dOUh;s|w;xz?m9yBJ zHA>P<8B4HSaW=BKr&3i?jsEufC|KMaoqB-Qy$n_=rA;5+wiD{ADtUb$k2~z2H7KXY zx>&)DHphsz8|5~FtV0FEwWzmF>o`DlLI`fi6V$)bw{k_$9(Fo00(^e}3@i>0z+;=VB248?M6bwU&?L z^NieYe{}bI`!Logl&$Cc+!WvUB3Az3wzM~ma+%NLXSbxDTeFOhH|CdjIR@|ju^k<< zmt;gYVp3z|`<(a))&1m7;`=__7 z!X=W&kBImXOfn2L$$nn9Z+PENJR61Y2Xnt)Mtff`rR}v~W)EX`K3v30ZKCO~)a ze~vz4dmrf=gYO4xeWa8r8)nhQ;eFq?(=khj?9Pf}dms7-UHO#aI1+pDeST77eO{S( z)Z#yBYs~17dhox$b@9G$Z^(mgVtw!1|2>AgXPj_+p3d^Up2ddxzP7lbDt+z0__)4~ z`Ua){&as*0`<$`G^LpJLto?>KJ3Y+(1Q0*Ieem^st-OH{eR!DV{roj+J}*7_(SCIq z+gQFA*8}3Ij$cNmS`(1W4)yd0{pY$L{Kx6F|0CA-%W}-?b-(lXQJemGxHgR>wZ79R zcsYLgm1hDaAh8+1tnhwLT;Y2knoVg8ejtx5`~Ts69RQn6%@-Uq2|o4m7kI546sb2y zy#JG<5#yyMR7@3gI5^x-^?iITjK%x>Rtp9?+86WneJ!r#eP2NTy#cvoMPlOapYy*L zaeMRn1n%qjI{))@IXo2W``L@{eX|YCC32 zUl=SNJEQq{8MP8GgL=7{<=VCXauRp)kqEkWl6CXm6=D69wyTg(TKZ6_4&!%rqR(Lq z-dC~)F$n&hl%nH)Nx@@)cNAB2swi|XLe3)YII}4;9Xzr@&4x|ll!CAxHp6~}4v#BqHbFt@nCc0FRp8pIX% zu?aw$x*=QaaBdtm>nAUd$`SW8xE+Oop?)tHNn-cA_m!f zY;LuzqlSwMqXbPtYPQ%f<_>S(T`xC_>Nhp@`g7;Pw91v3dH`sT9w#3t~MDZ+tk{*BP-(1I|TuYpq+V_1=^Q^?FhH><>k#liB)suEmfq)7cV86>9U|L?*syGg>)AXU~P~O4(RFU zw0ZQjk<~9&SRmSl-JvX46|@>bt`p{=lEVlXFkfeO=AUEz5v%VrVhiJ7*Q~B)PyQn- z{6T9?RdV~5tr}fKX+TTXzE1T9`F_w2W10`n#{la6TFxRdd5r!x>H>q+!5YuJM^0il zi8P46Kj-On#)G8c2Hd!9D=f1b$mfOimXZe2^Bc!WlR!g5;$``kwINpBs^UyX^i*{gtW-o@{lUnpZ8!M`zwiI9#%vk#aFNJ!QX>rk!4< zYK2Kz&v83M%ayy91WM?b6+Gwd##S{geWO&c(3GB!8K z9`*|scLFQ@YBXUJN$r|<*8?qp+cvg$tTU{@)I6hk+8pY2Oifpfl-f3S%$uZHhZ;

      7rR9_jgY&}t%N2`*K~k&cjO_+<}ad#=FerL(I}mf)i0wa*72f?qw!qOT}7T-rlztCh16x(gA9jpqKRHG zh57KJhkMm-E@#=cAS)k`QKY;N;5x8kZcse+OPzk^%TWXlS~%D=c}(oM!}Bywoub^F z_IcZ|ce%}$SW+1;Lmu#|e#a*qR5OcRU0%t-dyafDX@dtn(|q&o_#N}@sGcz&cYWTQ z@Z9RY9w3338rP*JuojcX57uvHCec$FZg1QXa^0`tiNB#M`w3oxq%66#uVQ@IZO$0c zr_wMfGo|v35LqO5;Ov&G8KM&JYf?yQQr7!J^-R8&tT-O_YzAFdr3y(dj@|m>3Ake3 zXA2HmFa7E0C9$6*Pl9J_X}2pds?f`;5tnlg*-QE{xEc%vq5BL0N~jv)d{EhYhVQrC z`Y5YItJ`5A*mdw>el4hq%FjB7^pe!_CTiC zlEbLE`jL(a~sLXzSROL9BNH zs7mdJOW;|k&s&t|v=u}zyIP+U&(pcsa$2h(=t?$=dv}x-R>ssC&?~u51T^3iey)4U z%g(LNsYWn?B>rI19OuMv?*<#CK0oxijr6B<$XoqgPNL-WO|_7!cVrRn5Y>WR{~`+Vore+c5a8wsu*qcPD{b7z^}Esd~B z+6@pV+;$87ZLDnQh@Tn*iN%>^1AV z<~NR7z{Vdqt9DsIZ6>YFyC-cXuHdx@t4*0)wEmVZnw!7JVRdo=txE&+OJ8bY%KkCO zKX(J=?QqT4N8=cV9h$1!@^^0e%@i@1z9!0`#CfWJdhBsNpH9p$Utnnhg?1{0EUcqb zq{b9GeU2vcJDYu8o=z{uqftqvbV}duSJNa}IgKw1{TiIsLmRE*%H=54c^%@5RQ#a1 z-;Nf2-jVq3K1pDme*BY1!+RWl7-|=%e^8&#u&JfjQfd+n_X349xnJ8Z@>+9h{VKl~ z1PqUMux%QP&jZl~31jQnc#@n|^iY2a3KmMAn{%79h5~R5rH@- znRq6RH*%>I^h$|zVMfL`ENEaw1)`-6te0?5A3RMrYa{RM0=vq`v=%T2J1XSWe|}oe zlsz!;XP1^fc3_lU9Dr1x&F{*^U1Ja*I|TagMAEFOlH10ST;?P5a?U^zU^M6`txmoO zDp9rI9)~HOve^Tab%k93s)6lVu;pE_l`UnyoY4x(s~w^jOaVbeC)5CmxQK@G7|`hu zbVO`foOTt8=b$n$$C6(^Oa*K&I)MAyUA-;GP2E6do4|)RY{fLdn6Ycmarf{e50{hH ztU8ejtCNYqMsY?dmw{u7G;%%(Y}B_?Ms-8H7v5dGmCX)CQU^aN4@7oiU!cOXzIE>z zYw8Ao7{eCtg;i~Eg(sKi$1bGuwoUV2oQf9L4X6sDE#b0_Eg_75RO%7(&FkyCqGeDF zjQUC>gLk8NCjiF?fXDLu!S&f(K;LFrD?+C*yaN<3!m|0i&VsM!QUEi>v4xc1eGg2T zs(16|>k5HAi|kNthUZ4((O%iEUTxcUU-7w|c84Cy0DU#H=Q2Y`8bXI_b1e|O*_)%H zC_B)f{pIsF$8jPp09IIHi$#@%d!PzsuJJIzLa)m(XME`Hp~fLv5pn8&GF#2Uo{%W~X2|0^y5!;OkEBiFdrRT}+p+T52rRTC%Elf^c)|kyEN)qeUsR$6iJU zan`}F$nmmsK(N$>Y;<05{_w|b$A#0zv=uO5(|{RixbK8fb+l^Z80(9LgpwNC=@I#L zb%w;-^7@ZfUg4`{Spk~?e|Cp1f0V50(Xwy9+Qv=;_GebDZ!pOOY;x>zi|%o!^tCVV zcsd%O!NotwX8^DPno}I|XCPNY6m4Ezx!{QxR)GLK^o6i2=ij6JuH$Ne5*AbEg$(1Gj<%hfq1OBN4jLe=h*+cK=C3?V~ zfB(vkKpX@bmd+}ExRXtlIo=xv3S+UM<4IeO-?mcv{5@#h*3FpJKN{Mi4b!>dq>(uF zUzJHMk>wpc^RLd)7>wD97UQRcRg~lBBcSysK#%1G1fU(o*cc`sN_{p_#X;b~XM`sO z8>{vFr$qF|OQHoPM>0-qnFVY0jzx)vuzsh3CUdmBz*B;K^d zf~B-471wsYur}k(hHHx{ANE*DGVAZ$i^omjWu?i(**j~{h-PmPKXc?Et13_yC$9i1 zc#;iiBzFr2N8=OFAf$^CX{rE-lf2w=?t|fgl{r|0P;N5c1Vm9Q$7xZBothBi--kFD zqtP)Bfd3#s*-_tYG!2IH!RtrLIwY9bcE?MN6e|=YCj^+A5uJTH6Ld+m1{b`I{*4LlgOM*o`HB?84>W);z(}pVjWS?^)x<%D6 zop`57v__=KK0!JvXGHr&$+iKiOy67@_jA9aUs|+F1l}dA{tn;wQ`Z`U6Lx~FF=)5m z`8im_vAmcJT>LOf@4N<+EWZ9CQ^gT}df{qd7Vaj!tP%BqMq$Q>$dH;hK7_cYi0o_lr~dXI1M2u+~ADc2-dC(3&qEq;1_6wJYFflZN?yM#(=bBCplt8cc09B=d|kfn`f;jt{xIk z)S>JG3Svb`S`vbP-yTWzEv}-1SX%!}&})%=Ge!C25me20Rs}j+|81QPX;=7loRQ>oHcw>lAEwu<_EY~s^B4zm*BElz26Y& zaV)k?rRdlaD6iKc^(wr2W-)7MEmSb=I_R(%^UK@v=!?m8HJzI7BNoE%2HL}1ODbK4 zmIl$;AXK;qq(C=}R^L*aZb;^ZNT zPePNv{%s)Wsg6WAqJ&`qsTrT7F`U2`-!ke4pBM1RNw{}l>O{h9VQQuIp&dFg8l<^* zNHEhA;HTVV4(t$V7RC)ex(JxD3f}R$#r61Y{8E^l)r1{!vs7j=f5c=B{j;Fx39kgS zkD5k5BRTW=?CmU_Gqb^3baE9QMAf35^>_xZ^rJ=)?b?`))?T-e%46OqI=+K2m6cUx zJnKYhT&ydK+n8ByEJ9Y1(Uc#X<+n7qk{1V3R5L6C8gn+P+PhgRs+*)fr~zl7n`Pf< z|2E42BiVaw%~AI9uyn*?Q&N&e)ijL2_V1W5!>}|2d47)LW%D%p?zc zC0|G|?OcDSTf!m*0Wi$~hq{_YQP|sHF@Gm61O9EdoSoG~lzouFi0e_;SJ0byM3^%u z`E~(;=a+c_XcQq+UQPqDaW-S{JH+Elu-^f_vI9h7;Xd^qK7plBWgk;{<}D(-rhLE{V&=C@R zeYwN>rejJmU8Q%~V=Kyra?LHKel&oR#j*0ZhwyiHv0wU7TN@{2tzI2~FyN^Q9_x|u z%5ryqO^LAv^5m+}fnO7FE|5~UKvPzkahKF|bPnV^AkvbQW#AO!*#LAsGczm7Tu0*B z;K&7(gy_Y)qM7{9g&uBcgr4%(QJWPqD@uG6{)(~eVfU$Wl;JCOy-J;V*$k5{U@zVU?`deT0gY z)T~OinZOkjqrP$-70FQ;fvs9l4W4HlH^gkFt_oaV^T{9ibT4~B9tI8Y_M>VxYRr(@ zYf3UFZL~($79h!nLwKWd5^CooD;6Q^1d7LD^a^+g^;qTr!fV(RFiw=HUXoZ=v~Mg? z#}U0s=Ei82lW?EqcDUb(F%dT5RDtWCn(ywC1vh^8v6kMC~op zD_5!$NCbgb7C$Y?0bgETEwEizyC2&B!_KX8KlJ&BJ-gC%H^9p}Mh0&E6S>lWg_`#7 zE~v<9d~P+A`xFFt1Wg@iOKl{)Sk2C$a@x_9{W{Op%IoH;75kR2&tlhdr@MD`XQa~Q zqhGc&TFth%+uQdAPX{)16IaKUeG7Yx+BH@8ijCVgw+1WP|CF_yhXNDs&Z2Jf^3wU% zqIMqVzG2&c(YzIaC{T+iEO!qWBhoR(_2IY^fO~^tz z%<%Tgl0Ze(Xfz9q5awzA4;GtI8Jp+4|MuDPg@Q>II-Z#K$=U`#fE8bFpqOc3PiJ=Y z%gKNS7Pza;;UI7mPX8TE?#lu#m&v>U@D+El0B?~DdnF>Ve>aQ zG!W%yILK!HIWH9Gkk`)Z*Rr;e;cGRrx9xQ)-Z*)D^)F`=AcTO|a?GINn+jO7wagT6 zTpJi?iLGLu5R-pYuBn$NBex>OXLSzJUtEy~>nZuMWEVXNLfJkn3IpE_7r%u7+j;M^H=!;DT(PhVRTj4acY zXpG`-koMExv@+JyoEI*cgB*WTQQ*;ZSao&N_|Y+0;&7B*Zki^QFH^&!PFBcCx;i7K$=rifBP&jGpW=em<};0#6a`>7dd3DWTAHc zcpk-8>way7+V&3=hWo5-=a9u!si|6P5px%F3>}{pJ6nt$u*9Bk<#w_YI?N)iqBq5% z9f)`#0lP{m#TBKU)QzchRGM80hVa|l zWF1L>*5U7?#Pr&1-3N6M%Ha6J5PQ68wMSnR>&adZ74;`sDqM=Fek8kHNENF^h_j1U z%u%1Dpd2(!eqY}zs{98}Q?I3Eg5#o|KF8>qM*H#r4b(@D|&rsJ9ZERcnqb;xmZyUnG9DuDvn2)7)ME39SOSgm+9xLvp6Ii*AWSa^a@5@LvH#a*eb! z@)?~n0w0%GEiOSP1d%=rdQ5mfe!5k$e)7$U5BG-o)baKoMYL_)iedXDuuPB& zlOnfoL$MDNp;8_`{OhXGbRcuzB&h>AF#UbrbYt=E7M`bkQ#aFk^+OHK%f-uXHWJx#v?9*rR>2 zRfDrh%^Kpcsyu4^WQE3IEu*QoC3UEG=p8r;Fpf_K(?U)ZqmmZbE(jT~%N()BJZJDe zy`wD6M=)bF*46jE?@1PmiVoO+5K6R{vp&cmC0sr-8~0}H6zx9)Wj`;?vz9JuY`#bI z7w~K|8jNX(f)p@Kwmmh9uoXUp*uO>Je4J>Koh1x|cNm*MGgx5A+sA88uCl~{UgSa_ z@+WEV!d*ugM^;#nJJ(@-*F!PCq?3whh$vp51wqSzK_{9Z{$*~*_LH1L&vSD^fQw7j z5*MY`yDEg z-o}sI7yq_%iqBGB@LbtiM>w5Rgiqr2SNg^aY|l>HDY@>Hl?~4iBedqt9h(fVpPTEO z=C|+N>&w=lI@eCxXJ1cG(^w@f?x7RqJCUK=SC|;!7o*hFRp^h91x)7fgB08Di_jUT zCy1o>ZSH1OATAWvyfc*6-DR#K_5~_jLw(0E^(co!=C?+Zw-F6{m70I{15;hK3$;|b zq%&q)+8^9)2ks8Tjz;wFT9|Di@M|`%J4QI5aFM{Ek;uhHbB7drJ%PC3*d8gH7ED_f zOft=Ts-Q9E&KrZ;wSvuY!CH9$(ASf%E^r0oAl652L496zX?K$>r~rD82OY?q0?ZSw z%pT(@daEhTN)_AyaHwED#Y4Gji9~+)b&%ZWmO|`Bx1HFqu;A0oI4JTkG&U5J26*ih zEM%b&`+5Ej^`c~fXaii+xWvPH)jIX_f_l|Sm|A6@X>u&go;xQdb#w!&7IeTo18A#= zBY0I%JqZXiT9O}yL0qQXkvXqQu|-f6d8qj8`aGY^dr5G@5 zO-=pyl5AjHYEwqs0oXE)l@-j72G_cZ_hp2)rMZwRfl&RNnj7cv277{q@8dKwg>!wx zfA5*`=Ss2OWt}C&W*^a+ z-&h!6X?ahZN7rPiHX87(92Q6_#)n&|Y9f`|1wC+E56$+u+R?U^UvSS< z=?=R9#hy_1wpCNj4z9SDf;GnwzC~08UoO8izXTDo7UxPv6Z zBEe?58=qhL+uD?4u@v#6El=$O+AMg}P0Pwrs`^P?hN@er+NK>!NFypeQ=mFe*RRqP z`J>qs$%>loG9NK%o~p`nwV+w7JrLy*{vaF%fh)OnYtddLtL}dgPd1^ZNJ}@VpJb^- z3rc-!sXz;Qcu9GeQhSrgK@DH;_ifPwQ`-mp{Gdd7y(7GuLz*Y>gkZn{(u2`Xc&jXN zpMEkz#sroX&aVk-D*~0jVN)LQbZZkKFWuCSX?~rrET;e9cpV5<^119@l_Y0Nw*3Z?Pm0@&ZiTHpF0t_BYU> z;l5eGY2HCdlL5NgrrP|4HxKWVJ6-prxl9xb8^(2+A)ER*v#`2f&XAC@$XuQ()<>e2 zO-5WOH->5u_uN9E@`hhsH~PU{oIQ!7gAPVUe1`HncbRh6Y~*4t#Or>@-UQy zOs?KfOH~92PM)a$k`HboUEvy8TKwtqP%O5%P4w-ga5C0l3OSgo(Xe*AB*I6R$=*0G zrr;s*tK%C1JW7`wGphcq(zt4rzq-^o z^P%(?IR}nv8K83lemOWwcTWyTwds)FzT0WDFEvuPs9`K~gq>zqQXR3_UKTm^(7WyV zhHtcFoK-kwV#lPa(xn4GW$V_PtVgI^UuHbwaH4r?6}|ZtQnbe>EYl3fZiVseKAoIA z^$e@HjCe)GI(h${z@=F%2rRY?zOfgZqcSZuXq0=Hws|mVjhsfxR~JWVoUw4WZGD({ z*OHwi#;)rPJl8k^cG(mkK*r~n78FciJ!u3`Y4`*Z$Ih;hi>r`x8)M8zo4z;reTg$e z?K6>W2T!#h{dL787f7@LSe?z|wD^uaOLR88xNab^L_Mz5R81#lAHeZHTmbdOy=CQ| zq1^#Mw`6} z>UE`wMvAEcugv>*-+KgzxpEF0L+?bck@>M zv!x{U(GW5gPBSB6v7(aqYSLs0kr#zW0Z7mhcmojpO6(rtpM=9(5}?ld3IptII?}4V z8Hr~G+RDG>tX+Znzb9T+3@FzKP))SiyTml8gG5)81#xX)V%o&`!7v5oM3o-OK5>l? zqJ0gVL0x=%@-)*R7>kN}>?MeGf_n5fJ{cPa6eW1ZuXmZNQ9-vw5j9#0s<}bS*P!^% zUMJTL-2FGG)FY|LODHitXx!uXW&y6l*D$ewF$E3hz1i~YrxP5wQ62{jA7N-8{GcA) z0B$ff=JB7ndFB9P|N29QxPm;dd!&cRzXbAl>~?*YDBgdA#1$=s5YNwO{lx8(FcIXZ z*gR)WP6!Hxf`~M2#72)enzm<)1UY&Y;er09kH>T=ANBcIe$Q2pcaLMrI+Mt#S^<^? zc_CgyczV_<(62NRMVx#P?Mw1>%v zE~ve?3j9jOnl?R9PYg4YI%BeiIG{D?zxv%!#QpdHfy21o%A_$;%mH#ToJlst3C`rs zh%))DPGavW$_;8Poa%3U)3AKwuw~1HC9AVWG^51V%C#0sIMc zW~yRtD&NAfsZxr5CRiSJzT_VltfaP@s>pzGn}K1Fa0FywRk*nb<5dG7(ySjjke^<~ z-geOktmMi+Dr%#U=orEwt~k|Cs&ola zq_F=0bJ`o)r+8`F7szNdRLH?QIM-*9%}2kC-Oq-jEr-uB?)M%O&h4rxgY!-YnkNVz zHKj%JvfMO}uw`VlkR0v9F^VuB@*WUBheFRt1IsvAF}se_w86c{e{0DqJNMI>F20Zv z)pL$RO+&Sk3KL)w5#g565&sVWSwN=0>T7hPV$>Jkm&B>w2prXQJr*h>eLh{WTvA5Y zf>_aHJw&La88Q~;K|v+`@iK%)QIjEPjasP#kR&S1Eu*Hf%W7{o@ z-QEtOyQ%G;V7Sql=u6C+0OMx_83Ko;q`M zV8^`pxfO{N9>Crndr9JqJj9oiiGwi+w0_X}s{2x%C22exz~1oOdqEVET`R!*!txBY z<#`heQg@P9SQF?Rs6Ut?3JdU;LMJ_O0HkZOmfVA$Q|e0#Sn8TfN+bP_R&^|*ij}Nr zc+C~nVqX-;#}_OV3&wu|uMeU#FMcnHLRF>~QNW0bB`efst1YfyQf;WE>$zMOgJ|PX z50yl4v6S)36j%em>7W$KnWfPYd@+%Rm+RInzySc`Ybk1@V76om_RODn(F~2_(D~X+ z<$WP~9ijnr)lRXRv+AQA+2xDWn*s!n&^a5O98GCKHnB%F*X(7uB0*e{NbA+c?kl2- z&q^S?ix7StMCajM$SJw8yDhcZ9JZG!u`}2X)cb5{2e2haL39GdbUul((oFJ=AwIk` zy$iWzTK;5pks8O^x(%MTQ@Yc_^D0|7P2Q|+NH~ykyJ9$cucwFb1L|E}r(*9bbt%e2 z{pxTqvzH17Qw4-l;U(}4$ya`j@n4)m{1;$(W%w5zAj|ox8HPARg}h+L*Q!pkxvWtB zqx*TuUZl--*Dcv?gC#rKDJh>p`K)wzvd^QEa(~H^{gU!v$!2#;$`iTEBelzkA8&Ou zEspq_eohfU=}NzM@2$P&{kw+r_JIo&;WwBdi4iQo9Xh(>Hz$GCN3a#1_-7I62xL9y z)C+l`;Jh$-(}NK0cgRwgJ2{BXRcE~2W}!DZgu)PcLZ3(YE`D@UCsRwDtGa7)1+~@| z!XNn>v?;aT*uFhmshv+po^WGb-^wO(d3nR<0lCB>2}A^dMlZvO_8-~#tmPtDtrdCQSVCYC&JW2w1PzfPyx8pJpN-}Y`hx1z1I zrw)PYQu^s39D3|b(ZylEU3D^VrsW*K54X!t?9=-t<>yQG(OyaU8E_uWa?azkxcub1 zWgN*Vl+VjKo74BoAw}?_^yITiTFTk5uLdRM^Cg>~m6VSJC#2+gk(AvzDh@}ifQzqy z3nI>TYkyZl7cza0=zxolB@CVmWwU(Qk(VMXLS{Mq!Bb#gWo8oXKn?|wC^_^zrV8!* zu>Y(OW9-Y2zDGNh2PCp%LL_q2aZrR2Er^bQ0Rd#2+6$}z)a(UpSl@+{%Ar)ifz)i- zLmZgGD>yH@4Dr%c*-KmtPB>CfT!7)-2~7=A5sfR8nS^$u7v6D&9HzIm6(Wb_9*2D` zr0zyoAOoSwjjGv?MW|aH?ZJSi0pjcsg*@s_Evl|?pG&f|&M-A8Q?q>6Was(Yz~T@P zBN+G+W)a+f=prcrl>pt!TBx`^l}`WWQe7%)u+_;MQK6w;4$!fg@?6NIhaO4~6O79P zKzemLE1y5DPkNNrCAw3KGhoHTy>uOOTH^jc})+zdJv$MbbitLA1O0a3{2Ulpsda5`aB7#%kIUHC{7^a`& zIeg?fd`+ID6HtjakdDkKRlHXo93}`vH5AcS)&oeEa_g7sI?f63hQ_ilSB}iZVcmo^ zp`^z2rwGUnS4->7?rNdOrI{paC;OHUoHO2qH2KTO^Z?29K#=L}_I4#P09;Bbc|Giu zl*daJ2UWWY^FBA*6}wC9UlwcoOnTCBp|M;nox1dK%^acXB$vL!*eZDq*lR6rdRNo? zlvi(c%gZ}USghUMy;t1ePac;OJ|FE~hoHza;F(t`Wp>c{Z+O^h?sEkpsReoTB_0V6 zf9$e&4vHtA=6G^xSeBg{p|Bv+CQ8P`cdaN!hi=9*?i9+KImTctay}Ov>s8Wt#N=r) zj5*;(`i6XwfMpOD&5DF+KIT@|6cc%tU4!d;ca?#bVE*WW3`8h@M3xE``9skw*ON-*(Eh)9aIny_u9CuPLqoCQ{zSzs+IoUd^|zvB72+bB6lcbDuz8Kyf~vWH1Y`J*L! z{AmS)vR}>+d|n14pDx+SSvh0mzbI#Df`{b{O>kaP{_&Dslrw6}weW)57!cb5V4uSa zf)WGeW=`-T0ceq28Tw_aqfgxx5QXbARK8 zj{We3&COzo1Q@G1qL(6wr>`4?lC)%MU66-4OQR{=%uC(P#g?2a+8o}3UM{wpjV(b0 zbCvX`@MLaduw@^{^jW?5{4+)UIcwamS5i6jrk1vz!1zz~X~U75N_h%5j~M_6Ly`3? z2v7+Hj79DRj@eQ+7aYU8QFLmLI5cD{B5hzVVENEAu&8|)>2?w+OgnXAm;gYF2|A7- zeXgrjLV%)2{t3)zB+1>m92R+|i^=5+?>VviAg~3j{2+2YG~Z)@b5`-dM8^ZohDw16 z+(r+0MXr5H4|0NAPs0fK;ed$y0R7#8(}~mM6F(i-a(PA+!ti=o)=eCi#^@kNhW&ar z90|o~DjU(SW?nq!R7Mov4T73sm8Kpxb*T_c0$mfJ(^R(ry}V4tZlhbt$ZbQ1XA~_zRbt+g?&xwkPQxdOR;bx^w;L&P$IjQP`fP z(4-}iqJ5*RRF62I?WFegHqzxKj(5$L%90>a*YyFc#I^R*kEIK$obDWaQOcLH>9ky6e*R^tz<(_t%h}hQp(|0NiTYpz{=ov4aQA4uum`!7 zAK=OlR5Ze4rI&LZci=S)HcLe6JoRLE;56L*vL{}9Z+q7*dopz0ot<`RYbPh(-mvtY z;oiyMr0mI{v*!#;N3h!-4BYb829CR{%?HK(i>1Oy=ZFn-f%v&R&Zo9}eBQUHo!<2L zv~Qm;HP+r&k@Hq;N&tMQxH!EsNK(!vnq0_|v6`EkL*;NXkddhnm`Li#MS`Ya-0Gqj z;6`ZSe3d+(?hwd^Vm=aQ!p@wfI_L1YCB)nWB8S$#NlzCL5}drm*TK zBa2Q&p2Ce{S}B;IT&b(qX8sRyZK@|;v1->Ma8|i)WdM^ibIz!riq@3gPeh!f+Z^D` zMT+C~`jimkl|GziWSXE@9ej8b}3@wq$`zFJKg9eB%Y9pbCFieq%lSy zjWH5#j4{xRF=k6UC9`7J4(s0S!L3Be%2G*o6Nl4t59}%8A$wX!8#-X+16S~0Q1wD` zV)Dv%*{Wt&FX2`$nTlS}u4mg^gPZdN$ zC^xiR7G8~k5A&u0K7VU~VO%4mD$uA2L;B)*lfNrY$`~FPA4tWq^3aAw@1b>TX7F6t zd9;CIlEX!r;hA?F_j|F8f%0#mQaL(wYjM5F@H0u}x!HxXdLWdp< z3)70+7Emj;8#vygF-CmHCpnh`TP1Id;T-$i7y~wDW{lz2;}v5J*d<#&8e=%{JrBY| z=%yRn-co6gmkiSsRUxPJ_3RbUIspUfRyBV=EH`@#J}Kv>!}rR$>93xabLB5Or8u#~ zY%IfR9FyhrH;BFkN+X0v`WwpRKae_L-Mo6BRJqL6V(kideSSA9kMt;RgbVHPO~t>+ zMO5ty<29xQ&?_kU^{o%DV=;8)IDLC|?80i<2*#X4IjhS_+&py{U-B3}3boOnd0!lhJ{Pzc{ufEseM)`@e$ zgB(d{E~o^WS@0Pqkps$u!?bh-rlrE;XevzCsy3Vxz-ZlhJ&o#PxG-|y>>uGSK$>tS zr8Qz7+?l@aHgEuamF?6n65Jnfqw)`WEDLyEj7tbnFYoOlmIvO=H+8|YZw+(C2Tm1ixCs)5g()o0sm zhn~sUp>a25qi)1bx~J23WG z8+oh+@9=Kh*o1e-wi@mI*509ayVo+*`1G$bTffJspMg=Z@rIzSR6oL0l|KRUDQ;!@ zyq`%LN2i_wCf{@2oQxrOownNTwt-2v5$jeV@Auy>SATtYR8Av2xnJ&N^W{71T&0i- z={R&51K>>15yPNhA~a7P5u9eMRC{>Sfa*Xq z^B1`zI+TzWkStcY;0TAwAww5c&P$f%eUz)j#V7Jk=o6c4HSE5pg%Lujj%Mi2Yiw?M zGOm0+LO#&7nW}|sGGq{X?ar0~u{;q-m;Y|~uveULfH@#3FN9ePJjY}Ghr&wLhONHR zC|z$Ema)a3Eg8UqPt;Omo0kTktr6ue$feYj2T7Y`Std*FoO^kBRXy&5ywLdYtKJZH zkCL!I4*SBI9xv?_gNiSgDhnkYDBK(LSve5xwi>i`-*Vz799wjos^nqnO&&WjoVRX^ z0bb#q%X+PCHW#Yr#!}_*7EvI=(G0zlj29SZE+1DJeh7uT8Tru+R9ewzLMclTw5kg^N5z4JBgY?Yo0T0bR(+-Y{2j{6bM8IW5 z=a}3nfeP7pP!gM2tdZF-l-MZOV|$J2Xey&>ugmQn4Aqm?b~`&e_`A2;YG&KsaHi

      sm<$Or^Arlp#G2L51baHulqk%KOp0!$_?`>;bmnp{#J^I0O7vwd3dcAs9Co$N_ZiPD z6H)a01cjx0jrJ>AFh3oYd&0S&mg`W*pO<^o#m`E0v6&8)RRtsDVQ~u)IAk6sZYD&b zb@$rB6^;ysR&ogKZ?DAG^;yDP9$!~pu8XldvW1P7q(r!>os6`q(*#rWtXGeUd0a$s z-qX9@Toz9*S+nYJEPtGO+`=|G&6{7OqFQJ0*EkLh^Nftz&l55v7jzC2d9#Akm(wrPYc|~)@DNY2rh*v_sNy{=d zD?ZU42Av2rzli39V4te4}F^ZTMbVGNvrlI((fGuP9$Ydq_GRw#R=pHzR&f zdQnM}QNBrD(~dGb5zi_dte#WSjFWGs@QUqZyp?C=PGpA6V|p|9(2jE%fi>G%v3!{Z z`*^@+eM-j;Fh2IZT+EhJSmJ@%1Ayaek(uKwvc6OB9d4LALqo!R9A~qeJGMi|4>r-`Pi1RZnc-ui1OIvA|pj`wpMw>qOVz`>%mfPrU4|N z+Z$NH3laW_oY{W3O?N53JAIE2AK?bxl!Szm^xVo}%#AYG+zi%nvSb$$xUQc3=s(=IX{Qop>P^k3CupNmqCBqYLJg962i+(GfouUaV*HZh|&<|3W zSS`fdJcwx!!%=jBe3%YpYe-ftnPKH30`#ux$x}z!bA(VrM*2ihb%X3AF)bnNAJHUC z1EmL_08CW$5;g(%ROU_`dB74^6;R4P_5;{;8ayhsXb zlzZ?}`9;MZ%CWqfROMT`aPvshol3XWd{p7XVw7Re>}otOT_%*}!ynGc#WU{&oG1Du z|C-$#hyBgXw<0(}4sZx?r?>D_U)aSG-JdTn;a6@q?7@Id$^GEd%S$St{fw|#5D8fj z$uysxl7P_)Mk+^EmC_#$T5(ta^)KW-AhR)?BvMJBN49W^B44J6ak8l!!b!@*+K>r8 zAYBq7l~ba57-lYiL;+>2!K~T&JVFv6Dn%tl#6iy4S7Ao=9UYW4R^Yla#Cdp8%VA7Y zp~7yo5|2*9hF-}yOZ;*?h3Hn+mvdHLetijM>g!v*#Wi#Y9QaD}oL4I}&jIxM??j$X*sY%^?fD%OciVZ8^`OdRh99a9NS= z023d+qNL>jicaFUn)KYAuC}ymVuWa_N0mp8B7%@Zk*C(!t;l4P+J()o0?mfX^GN6< zpnxu5t#abhM2bsY-}MZZ7Q=Lg&Y3@Qpt3a$oD}xuqz5n^xbA7q%n}ciRr%~brsL&0 z!>AiuUp%vft)5UMMl5jVfZTG=9#N5y{yqt2z+NZam*rkk$0c)D5K@T`&Il4FsRso$ z<9zISfyk3WaZ+XX)C&yqW^8IY+tmh6dGdclB)Y0(HUPXWwo`|FqPM(R`H$nmBq^PN-HWYLlF*?KuGt{TgV7< zXI?!DgSoL3sh{PvF=IF0>kCAKqK;*lTwPyhUOm*XVyIzpsQICUy=x6UKUB3R7sSx7 z8(Ow~^Zk;obiRmhpdwjuh2?)?VFk;uyvA2+T=T2tr!EY|-@wqXHN@W4mev&4_lk+E zZ$-?hWV-0q1xT|p-1rye(L~;QP;L})zrq*!fmiOo^>DA;h~kIya$}5Vt#aSxPbv}+ zoSc?Z9PUMV`12qt1(NJ+yDF$nrrT&WcUnatTD0pWS@}wC6U(xYP%7jtNzvkUCCHn{ zYr`iG&7$>fnKarkWL6H(!hIuBbBGMxT~Ucb;7+_r6wm8GI zd5tQ-Ra~Q16kns#$`X{;YFwkvmGeKp#<0mQ;;K4VPmI&z`C6i^(w#<_v7@IL4@1Wj zJMv>F^=6#$Be^-y-xymUjUGkkUVP6%X%WeiawQmxK*^hBJDwftvK1M1j@%!xeKZ_O zDbSA!!l6m2n6tUr%7k}9{zh^`8{kJ4(mxaL^}++Y(W}=(U3wT|m~^t(_wDC*Fh}49 z#niJ6Eis_8G!E|E#)k)+UYJaKHy3=2%jdml%l27FdK|d?!5!B>lP$R3wC==lbdGOB z`N0n)8@0$X+;$_z0b4f&%qBTmj7_N75#~Y{7$<&eP$2IXN;Aoa4>Qes174aQLfN6w z<>kT$C?BapM$IFa!jzr*q1%lxKTl5LhQiUy%Z4T+rM{YaK~RfW3XCH9l+bUhZ+2%` zh`_#}zFf_U!mZmhEg-2;BTXPhIbhUA$%lcsEnV3tNKttRlwyw5s7h#uAuwYeE~V$l zD?1?-!ZMd+g?|jG%?OLG?>svzu%XIPN_o9IcVbSS9y@)?>!c*n(Q(|rV`BgjJI+MR zaos8LdUv*B^m@lA1_$Y3Y<_^ywZ3fXHMqh)qmOha0XVVPTAI%*Le46`uU~pux3!zMGxM@Tn5x^&`GT3Z(eY^% zdtTVhIfU^CCz$*`=M=`vonSh4_=C5D$iYY3eRC-R4j=ZJeT*^dwmS{{b{M^GAg|nA zezo85ynVWAGzOlFA6Mp?fvdr8v$NO1{e$a;{ch~+i|l1PdnSLt%bP7M#iDU?R_ipO zqyZ)Sd!opxQH^aZ+s5}h{6SD_?(xdsXB+L^?~79Ct+6kQJ3HT}d}(bn8`SQu(O0s+xVq^f+vo7Lw+ zQcsBtnbJ_@$wfU#H`mLA7*kC;{-ecI7BDRY zG$|DnCTRqsEK&v1gy??m*Roh^mOn1jpHRzmy)!IlU8Rku!CIfu@Kus?~H9k_9gN1ZazwPgNBa*MxFbEi#fwKE~jV zXo~WZJ!TZCc#64Yas$f6*Sg*k$>otrnX>PR3sW2+>8iJ~By?H*!xRS~`@c2S`>&C* z*R*_~Mkt)%iPnOg>0sB9UDvFwG`T^qw0 zw5kIH&hD2B>u#3i?i&MK|KeG>H0@DYgun=1n3stI-&?Xz%dqUov+iCIK`HO}B-UK; z#nLQX#P^F-d_PC(zGCj+<1;;;NjJcplZhQ|#kc%h&0d;$wWlmG6+W&;AseC@);_PUZk8yw0X^s zQg7M~`23Rm{01zXO&&R+mtg!FuP4Iw*%-Kwy9(NAz0*+vms_`Lv#pkSE9kj*8i&A3 zb)5suVCUE_x)q7uZAS&Y@q|k8u^-x2qXDd;D6r!@)59qY4>1)(otHs z?r|Yo-eGO-r&d;}a4H5j8X;#`-hm-%^_gqy5l@9`o>Km4E-U~v-5HPp zHMw~t=JP~WI;o)KP6R?F3oLMhf=w9_HH*Rw2QK9h|8%n~+j`$|7J6i1&}6wJ z#Nqi7Q2$BvXw2`;u7d>V-4tNf$qcC^76UI$K~fP1*$xYrCVF!%v$Qn)q}K$uPh^ay zs?}7&+!Bex#VVaJZMdPmC@7)fVB}QK-5JX*Nz`>k!9BG1`sJ6MBcJ)(*=c z98`sy&$QZjD__8C`A!Zby@{aUP+jz?W7Gsn- z8GzN@T7)+76jN0g`QxvDM{=1xe{0LkDHD(V{^ce9#n^PVBV?%fX7RN}^?R{+jnnD= za*1>K(Ed1^%R`ku2L*(^V*oyV+mqH=j-4fnitT1E&U%iq=hTjvd?l7jkS33edY~+o z9b2##%cZQr3nC$A`+|TxXAC?0`vBsbyIEqP2nG>l9Y@e{Xop+KQ9JRy$o1}GHrP!R zq5&bc72=g7^3z`mec=`3FUZ@; z@-)#7OOfPu`~YZdcri-HUK{~7unUPEr8Fpp zQ#$M`yKY4|7b*~#f(d^Ja52@{!5M-eos#iQ^VpaUfaDrQMn9u!B=Gc)XMGG_3{0jo znFav%9@bQ6Y1SEP+(ZpZjfTm4g=%78?|JQ>*DZ`9$-+d2eLH}Dc>J&e(_9#=A}o9) z?NH+}it-(MCPx4aS7kb=c$kn9@guZ5}z1z2Z_rjiO4u|Y!2_q(fXGXL3js(M^`KrI##?Xp54N>dI4dMMk&!bs*hLc) zyWyXU7A|kA+rT!|E9i}#y+ViLViI(dDNM+Kg4iQ$Yp{7&n}Y+V9NtA`t^RTy=zm~y zm{MeT7}^f@oDf_zcTAvr+#|BwY_^!OVVM2WhN3CDNE>Lc8BMcy_Qfmkx4i#k0`JWF zeZ=hoVyWY;<}AL7HXqz!o|Pg;p}vJ^)!-q;5z-xUd3e`==UWe?S4TEI^g@%i%8`e=2HMeS5YId8NYzKBG{x zUCc6wafhN_VkfAlmQsdeP7}=RhJbE_9W>c@8PC33dHhbtLEZ(h#uoi_2ZPzCNvQu)4m!TwkBo_sZFqPTN=04$7t-Tx;4(bxo)Kh5d}Z zkD;b^_f^>aPwmBdcQFPO5psTu z1Ee@-c6!UNV@Q2~we^9@KxUE5Fj=JoJx({>Qo%`^m?2^^3(|V5%nl?1!J*@cdvfgY z2xP$EJh9G!MShOj@0*Lj8ZQ|sy74+#e&2k~ra&W19gHKlpm(~4h)~AozR{ds^fq`A zI;9Sle1qO;TweMI%GGg(_p<}{5K&vd3y%+L)8l5}a_#4jHyRr^7qjI?u(7vM-`+Tb zpBK=v+10AtTts!i9!oqa97$-g&569euu%D4RY zLN5y638M45u_cyj%P>)(S|Ed(g|=Y!QZ0g0KFm$P$I&M^`fV8Z80P?krxD{>hC>4D zv-*Zh^WDbkb5f^Z%1a&hD zPeb%oSu*1gwoX|Uv`Vl0ld0#TJ2uw5F#1Xi<>h1@4^mqyV?i)1+uB zV*7QuaS7R`aN`pG7fn}arxhC5zitCo8yo1a9U;e+uQ<-mYYvm%N2{AFNBPSyJ2f8dMJjRF|z> z3}q7(=qd429yaR-}j8i--jBR5(nGPKUEMxy|pvNHCuhJ6bNse9Z3x!HlBZUS=-| zgi=pDJu?e^j<$v*zg0Fq(Cb#MaXB$j`c`we*$ak>!{dbbJ2rU?8sq-M&+%Y6d`M>n zi9=2fREz4hQGH@=HLd2JdCP|*kBW+clh!_|ISe0h{n;y#(M+JzbI`!mh%nB z42<*0eZkdA!}oyqENUk96@6RH4(~cktP}LSE{YkD=RziTcHBUXHxkfMmSE>2OfWCM zieoo>&Ydjjj+1?x2;O%9#ts?q(|tR-ygU{mYZ?sNolv_&GZ$XQmjXQuHAB0`#oUCG zgH#GUDZEy1s)xqNPam0_LtiZ=M4^N>l|S82dkX?i>Q_dvG-5<1h8dzKr8 z=ctJ_P@A5cG zL(;%`2o{?F54DkwZ>6_^*`L_8VSQ@eM%ARwi#GVIf@sui)FvkCD?P6^xqW8dI%D%3 z&^T90b^WNzl`@DC$WuIhUQya|bZU0uh6_`C;j=ET~qS*P|t)qcU zoqHTyG`k*(o;?&jM??LoAtwcrXY z^{x~)EJ<#OXbQcwda*!$m^B#HKG?6eoAC_Ag5iriTgAC^yeq8N9JPaDxwm|7SP%XhNdE$I73gRf@n*^Z~#LVJ2_$!s+< ztGSDN+$>8wtC>kmpc%^~nkyD`dXO9@aO&aePH-6Dl?eaG?fST(n^fpCW%`z8MsH5N z=F}q-&MXFqKwCeY0Mzm2c1VD^Z+4rF+xx7AKfA1rKRax@+hUz=%R(6%)v+3FfM#8* z2{kMLeq9ToUl*Ux=s7~U?sfy7?ls_PbEg51+pPu~y`u$GGUytgN6}=%hsn|L7={?s z9KHYeXypuUCEhX7apeJ@G2RoK=G%;B=@pIMzDA=%Xf*JKX;(CTG>Cyjg#oA0MmqL3 zrcRQ|9u#FdSZP-Uq3+)jQWE8drHzVjk1dQrx8%`RtGXS|;AQU(cUtlnZ?94^tS9%#BCQ33vRv=-G;2!st@#^21!Oc`cgwYEN*Y7Jd?$yQpSwaVJL{?c8Mve5Z2AN@bSj~=gl^of@`|K+3qqyFeJnu4Fn zFG{chiZOBtA3yO!L!~Wn>;s7fAgEa^6l^alW+dJ-}>3#{F`t8{ZGIB=^y^xU;hfFCTe$@?J9Km z@RN#YIOnCQhSXfxV%SYAO z-QL-y%mKUY7XI#ccIkenwb!8M`%RufW3SOPbz;C=Af4mc4Hnumrs@FwvQe|9HqI>Z z;=3a>FU|$oSczdTT5!EHf8agwFFZ~Y9(q+zy1$HJI$RGZ!VQK25WE$9bKVOY!j|KP1b6|?M}%ZUP1}{hj-1^Hrw4* zFXC^b;*MW6nAOQW(r&e9&27AGuG}@Zw_z}Q41YzVjU9%*>v#u4qY9$O=05OuFwS;c zjCGH-o7qzsdUL14I@oeQpXyVJT~Pj_XiCg?WVWQ zW_E|U=y(&HbyEV!#8vLh@1r7eA?)h_3y^kV1bld5$d1>1xtbW4(H1Lo76~*}cgpYHH z8?q8_+${mGk6s77uDWm{+JXa*g1U{EZ#9fl9mQOJ!voIEr=E<6n2;LQ4wn<>)XPWY z;4V@}V~5NOj@7Gubbn8%m@9G71}AHaJBLlCejwisGyfQJ%i+aOWJDE|##;A2eEj6$ zqX%CcJ-hqtqoXV*&*h~q)iS>Rjo<(Jr$71jFMj&UU97+Y#sTgC>U@^Am( z$3OpP|Hs$=`cJ?95w%I=Zn2On{PU&QA2j`8$)j!l zC^<%Jn*K@;NE|1}yZzpV`rqx_8(;t7Prm&hfBf~Y{jWd!o8S8S_y6|mU-|8C|J_f2 z@lSvI@BaEXVc~!FlVAVl$N%o)z^RUFTeStfBN&k{6i@J_ILi`=YReuU;p^8zxnNd`Ln3-{_MiOX$A9$gPyWN#fA%-nDvbwIMiH{bB)2tlWAUR9U&`jS zVaxf6uVG!_0;o#om}E-tS5}*A)x`QiO|g!$(hF7T3t0oJ*LWfRkBY5}jV=A_SQo5V zV_v8+U#an;P~*i)jdNaLQX(y}c7;y`-{==V{%?Q&AAbLvKll^=7nbrDzxp@d{11Pw zJ{){b7!Ln@zxdaG{Ij3_iMBm?!)nuh3Nxmg8oqU5_6pBG%RQf)8@KaY9V@G`@=yBp zZ~odh|NMXZ*n%P^>P?J<<*Iz9s?1fD&$KE{{W{wi%jf8rAzUL`njkbLM#z8Ka0Z> z*vB4=ZaLP+9|O|%S=>io6{wmk8ra8ap~%Ie+>6RAvW8AP1LkURwWfJJu0uo~QD?D? z0P1iV#73hV+lx5`AfYfmt)<4rZ#4N+`LLaP*y_?xyU@aRuF^KI)ZvvH#a<+bpKoG! znT2XYyBX*55^YaCrcQht2LT z*Vtd!Spzq+25w{xQ8K{S;c!H%fyXIqDz5xH=?)S+w+qLnUd;{f9GKE@qanViKygLJQ z$M@WffA1wmev&l?`tg%WIlq|F?}N^9z*e zZCUIkVPLkd{i@f4t2d-T*xsSBO=v|Hv$*e`?*z{%7Fj)93 zqw%tN7)*4QlfO$2gSpN!@^`SQVVCpzcBhP*DX_9%x@WW5-0#hIDm1B75Jm$ zhBJUC>q@jSu%z&^651V&b!R(f@2BemBrN>LGAKp{-N*p?JN(BoRE-Q}p224+DfXpQ z8n%TowMPjIW;Wf$UI1@EkiR--FBSmVgUQH|y*I#4mh`o@Cs;u4y}!@ujU)P|s8~MU zH?|bC0&?;EU+67<_Aj+jw&u)_=E>Zs_@TCxiRSP;YD4m)kKhGc?A5qDP$_|$zpl!@ zoPnLcL(3T3jkZ=w8;6xNXb&dXNK}kOuoKV^#ODAqzbBQ_8s2D*KNJhyvljKQk!pUn z!*kdW`5|SI-lFjvd&ag2+4x8&^LoO#!7=$N5G2!(G(tXQUN65ARbhRuk%os@QPonk zA!&T6n0gi68MdBt+aiUd*GksCY z4~kgD(~emna*ZAWH+VqBSZvNdnxAP(_@SmsztUurW4AUqe|5V!LBh@zY1A4hRAptF zhsk%s4*LM3EBe|8sv&K2Oe^DxhxxT7t)}1H&U)PXZogIE#W?8_3RYBU`%$GueOIUY zu0n#HFlD%(?QmS*t!AP!s=6BfGl(cA9`c1z;%|+)C#k;MW2k%z>{V4m<*OPhrq_eHN5dEDWAjgRik{)UEZf_!^W0p@74h5yP#*9<;zfhz$ic9 z(08|Icwuo1>LA^?d+@el+ilRl zhDgo(iPQoSsd*HsMN{&0BNGqeKmC4kwr9z5w%=RM7Je-`Yvs4g(8ut zIh3e5n?&V_WtKuEY7Y~mVxIg&DJoXDC<8i2nHD#Qr}M!;@8~x826SOXEbyh41oK3+ zzG!s5Xm-A6#qWnsM=|R~fOhB=-8gXe70!3ou;&dYeP*P5RVZca6!=8k#JUG6ow^DkVkElP^@$tCH+WfK>@m0vRcl6sd}D^KwNmVytyMUIdMhN-%0Lu5Wtx zo}w!HyIQ$hlX{~XKR9nC?^dbeurTmVX_yvA$1J{=2coPEN7;-bvW&J0G9}SyexsyI z{JJqoReDM9{w%3^46?=UG_ZEl!w<}p$R&}wF6D~cyDOIB%z2EiUq@Qinuem5*Q4T# zT2(fm4JYvsb+e_3v-q#nL&!;rx9id5NQ|2N{`qJ!)rYOz zXUccy@)I#CIsN{R-POwDCE&HKBpm!(Z{Pt#dfd?REo>Q4fNgRCZ^(<6`_;EdxLx)g zB;T&=!br9YBgwT+)(>vph_^JWGJ2q3@c=2dnIGq`81Um696`p}IF;%CDY7@bE^mfboX^ zk)1TKgV%jK$=0-3cLDrkO1#-KmGd6}#SebCIGdWDEQS(UOSCckJoIvUbIa0XUujA#Xn zDlYNoH7J;D*94o=&=%m)OP66rNj)-3_m=yzw~|CJN#*VhUKJX;SFjbWbIqaI(kZQHuP?_B@aH{RH^O;m6qvLuOUX^v#jWaD@yZu5qn z8@H`{A1{_Ay^_jCGi?6I%#q5VE$cg@1RJ}Pkqw)2QT;9j_gi!Ko6u`f{bnV6`aO&> zGFOl}#jrhQ@$4oAvKu!Bgg;p3*J2sd7#a%FN_8)-)Q@#yF~iQ{%&42O3q6<-jVciT zYMh;ZY%26c87x;7C7=*SQDtcSt6u!Yb_V|lN zd_gQ}90uv>R+uqsb5YhF^~ZHAwk5oY+(K8~PFF$!BltWIofaFCG2AeVd(T6qb(rUz zfK6!Lb=-Jfy_(0zC$KD*>@WdPFFP9)5)9;4GOBn3&p$^!^P0A>1=ZmDj(q|ZMDj`) z3C^WgRXukxG3U8`VVFiM$|90DLm#|JE-_y(X?T~yR!QqtR4cZE=$sW?>B!TF2pPW+ zMQeQOgmQRsMJC?f{7N+0kb1>C->aTp0+;xrr_i5C~4v(I8}(R+2svLJz)$+e3Z8z)*4^I|PF z>~=F6zSKsXd^yJc1$n`L!EYJ=73s4IPrB6sV3Bg@e#@J|Bj7g;j)4A7GmS;V$n#JE z2q+t=e>YMGd1{{}mBjooII-W7f;`N5nNCShCiRN`YEc}>^u5ymYN10hB|AtudOu2! zH~@MhK|d=PJRQHCDT)PrM{b~xD)9~PY=>x*L)p`@%x84MN_+E79JD zzE|XiN^DKiG5=-8XW}6DH4@J)Qb3QbUY+&UD*BBqVoxT=e-31}N9iHUf!8gUPR1L} zHX954Xe|#0ga7AK=$ngt%SCEVl2fYa6^kiW6-A3%P(;{kyEh{9+A`R57{#T!)l8LB ziRU$`pS-RD>+jgMdEMJ@l5c~yZGIQJ($6ORRSA}icU^`W=u_8r5#^e-8oPMQdSE4Z z?GNQdvRu|imrQ|jc4-vY{;~!iBln(%4XIdK`60dBNsXmLCQ11{P15ji1O-$>SuG8k zTlDJH74wpIw#CLQo9qC)<=7A}-LY=GrqE<}utyrYMcq@+U27c7QeW*A@zw+s1N|s( z^w%>R?%El?Yg@M54BK)odu@j8wPMy+x6x8Vr}xZ*W|SP8vJ-Q3co?0 zH12gLer(0<$Ie6|?Bm%2X$>!y%HW`>qE7Yy^-4FnMcyzoi60xRHp9?#8RKSc9EI1N zC_Jr8$}0mqG)b*uiD-(%5p}@xUK!gg8B;+SlP#8R3UW&V9~Mt5GmrDRlK+ekws z9f@#H2Pw5yNvG)FHCh_}12dc6R-S4wKyAg*BrVTdRm@hQGFqvY*48Mjq9j)2ps(W_ zBRh?fEo8~59KtB&HgDRriF{cPq6fo?#?pKG9$)wnvikU$! zEQ7R>RdSP6GERc{kyT@41%d)C%4;MWS#3RW5CbI(5H|*9f|P;ZI=kObHoKQHan$4* zb&cL(%t47lL?k z3)}idZM}lFUNKv*kgZ$9S_Ev_B49i0qQj7>C}EMuY=Tu^8wJ5yb_!NJDact?1 zuSd)_1B|l-y>m8fM7ZN^n{nz^s`Uho;Y&X5v3#NFY~R-Q3bdM`t*)}QY8f@s+ZqOM z=}iuMM>+Ln61-6F_rM~qDboI6k!7=p^oJbzgGs`egaQrPvchSWGq3Bs8qe^Uj&Pbf z52vY-SPdcJG<6=VljUASI88OaE~CM&oM>%YOl-8G6>(~AY-_?8XO>(1|7$4HTh7-? zcw_EX@}r6uU=hd(UQz6cypkm?S8Om-$g@B*Kzd11yK7Rn+)$Nuyeb>AY+Z8}>J1v=e~`-zOD?cL>%tb8;!;4V1`HjpDFh3H8g>+AO%^2lPteO)QMn*A3*FE| zkpxCZY){t6Px|t;toG{bj+9=hTU81QJrf}G7iCpIc_FM3ddoH7YIq};gb&N*Uf>s7 z-;jyDhJ!K6y~bkZ_Z~Igr$Y&W@Nz%GmmZ~mS1geZ8Wk@P4 zdO=e20ttsMfJKhJeF3p?5=;zFVbi-YB7H34x_y{D4!eDj9(jMWA=WBnfEdg@aD1Gx z4YsA6ZKk082FWV6->2wE3fnEOjLf}w_j8&(3FOIaB3G`+mZd`;ja23VZGd$N z@{M{Z(vgkyt?({+E6^n>yn~5GNwp025$XCH3XJ$|_Q;npuZk{JUY4$Up5~~RmNNtc zE4hX>kGIdus;uF%G^q9_eFJGy1uP{Ey&0C|b;e7`!G}s*G4!|xt{n0Mr|*4uFMz3; z>#<~Jol?|7*`Or4wgr|!&Lao0n@57mQF|Fm)4xGE>0IDt;`E0|yhr?IKxVMB(00&o zOtj{Ss|b{o8t_wvGn+w8VxuyviGZP~M3q`4Fp+1l^^_ye-``6U7JyT<(?B8rc{B3J=0o`eaQamr*nj zaoa%kp17{)WO==Ym%$4Jx6Aww`Cmi<1*QPIg@8XA$OgnxV7P09&=R#u0}4K)OjuWP z5}z3K*;!?$y(Fu5nIj0zZg$Wd^{e5dCVKXw=(Naw1(Vf590yJ9Tduw20F6UfH#t!; zS;jb*&q1ui<`8K}NU2nYwJ{(_0}ASlrLvT#a)SS&AJ)MVZh*B{V@Hx3$SEhtMIQzF z=*ap(Sy7FQ_#n{SdGGAx{E=*2;z}Q>q;_TnGf~!MBG2)MP~|GEN3I5`gqt27YBmc< zD4kFVA@89_RYPmGRY6~q6MaZAx~Y;U?~G{tm>J2FcSgRUv7CIL@XDH(D`rM`K!K*_ z2A#PHP2==P0+NsX@TN4)>Lg-7R=KxAl&H7MG*^|VgUs1o8Wf~HNhzVY^)6mRiW!_h zo=hIl%jFVm|M6ZtZWO1-kU_KRR&*kqH?m*Oj3p^gB|b1P(N@S0A-aXUkGb=M>gbUh z-dgig^^DK=+jOEGiS)22=+oq{nM_?QFax^W4SQBRixf37^y9yZE3*qllM z`3RPe`Xc%3%7^SB=b7RMKU^7Vs*&Zd{HH5ZQ7RQst%E;8G}!`5P|Tgl))OJxnDWk+ zFW0g}G;Sn6glJ2XBV&o3=8o&-hOFGJs6?v;xvQ6j_4uq(`Qw!z7J()ACN=Mq53h%8 zprQmd-ZJKX8{P>UsCe0w@0NXvB5dI-3OZ1q0)jcLIBG@>{0XfODkk5S`-OLvzOwFB zh8%je6~Y(7IuKQ)Of|d^tQ*eYus%^us@60@A(GD!dlgcju+}AlB^4}_1|qnr_rw(R zbg?r*DJUQUO5{p!67gGtbwreTbo;oLwpwnWw^UORvW@=sURZHfZ3E0e5q>}s-Vh9f zya_J|{VCZCk~cmD=>y&M%-^60BbDNeKrV4vVe{z7#S9a&of_MtCYNA-fLGZrYcE4Z zwNZo$Zf6muz{gEfElz4N_Dk|)Y?mI{L8U=BhW49iIH(o#VR#fk<-y2~4?&r$gP{EP z8rkWis{n_b_-1eL>)*?@|M@Q%Ep<)A$%eSLTSi#?BTU32A> zsyy@D;U6LMp7H|Q`_Isx;5g_qY+xa)Een&s z!SPoHHD;kBE@M1XoCOwWwOr8qaSPANsQy)v$gfF4QIiW?wJhp-rJ8>ARoH!twJh$- zud=PUVbjKSEE6m%ty|W4nVngfwI25HI?uj&Cs)5Wl0A^p zrPi~)`KXUik$aix$f2?N9 zUunE~ufF=igY|cG?)r~&hp)`v`V>RjU-^FS&iBy6XJ1}@dgm(Q=NEo>cJv;Um^*da z7sGsVbIRSza0s*hK0cn_|9JX9oqcrSkd$o#amcxYH|O^5hVpZhhv#;G<$@t;709Z$ z54&+ln)>wM_}tf5!*IyC!{_FHKKkU;%_n=WnXK=`ALlQh1iH-cyF0gc^6{-(kMA5c z7ljRrG+x_bNXMcw5lEUJ7}Ln%Mj)S!;5`R^0OZ`MFP@$r^93L2^gO+D=Go}yc%{Kl z$0$1lp^uO6o_>1w#{7xHlrqrA`O!;tA&+<=$i+MLL67tMM&^G0mX3SwlS2*+^4YCp zPcNRLy?^%o@u&MP`vZ`3hmO*QX?B13aqiT=d^5TrMTk!Nml_v1VF=I(w;AL)Xh|N83Oy`S(} zk2|~Pk6n6v`(Ja1P5>9tD=p@B?}CkziklzD=D$5YKXwK$$T>3gbmCK*2y5^0&5x4_ z5Cw0d6xjRe<6GzFZryx(@giiNyFD`Z$)(wmF>h3nCbRDCKl9|sEhm}?J%-*qy>xZ{ z*vCtQ6TN{T7ue;8{wxYRr1B1LAlZLr3Ao|Xx@yG=y>LQrjL-`OTWM1H;(>JU@}g59 z5aup?y|e#D??D?LYDK&Yj287ebJ}`7b8%5~^DhfiNG`28!+6^~hYuRr3H)cz?gao+5&Lw{72Ii0T@8f)jJ!{7fv#}3E(j2KeD3ZD?0H}l zfCeyk_}JXRFM!igExdfME+~*!vA^yroNyq$&<`XkUeg6S=!rdb0fO_>y9}{bZ!r^M zK~3o7#kq_Bdivw2wI-tvbDw}5W ztbPCx>V9(TFc>J5Cm!G2T|WkBl%+fpP}T|qGW(wl!UqO4_9QwDfiNJu!13$pxl1?L z&472VhTwoy$h*sg0)ezk#*P|}1kz<>j3f*Rq&L$AWp`kK^h}(qfG-w^S~!_CQ1#~z zeNT~=$I~~TTpW3P=X02p`7idk758U*4uNLw3k6cvw<3X*z$OwnfA|wH34hmEAYG78 z_U)ZNe%=8D!kedeED*B4>+Q^A6BbpHFN z_dc$_B|ExjB710$A-1OkVS6X{JFvZ{Uws#Z?a^c}Z13E+;n?2UpHQEkzPK!GZ*Jtk z{O1Q497TTkVtZ%4n!k1T>Fsm0$@#Cw7J==NzC!W214oyL?S*yJ#P$vxWw_Z_W6!?$ z{OPS}j+D1@J}wE{J2YZqdzXG%61Ml`(!|{HLyN`sDC@hi zz0cg(9$OSnY>&QnV|$iGWyAI$Kg0G&jwNAxBVpLyt%Hle_U1;fJ{#LVe|};~*xse{ zi@^5I({X!ad*==@Z13dZU~KP;i?rc7u|3a>e%Riw1NC5gmRu`=?Vb1}9NXi0<|g-q zVtez)#~s19uJoQds?PE%~pqpS3XPJUY#wuhBo zI$saAcjfA{FONUIH&!>cHx-WUonzSER0y{BB%?M>H@7dR1Ed|>Zt+ar0OOntHxY!5Vmrx*8AU=G#7C188? zRpG++_D$Kay)$1e3EQium>t{u{-!Uscjl|PFF#%!wns$vop**o@Y>$+sJhGD59@~@XGz4RNWWEunn>>U#-I=ezo~#?&vzMt0+dK1>v7^?9 z?HxF3jHE7X?^;lH4{UGhXIFtRZ139Vi0vKznj$Sv#%?~DJo)UWBUWtBrnv7p1e&=& zwntch+1TEXU(6lXS+KneCs!2PEBRr2v*X{-j!n;w|1dj#dv^S%NIeJmXu|B+XY;2RY~zLV zof!cJjD(%xoB!elsMoWj7v~S01Os!iXkYW}=qW6GaSGI&+0lcuqhqsU`)5Z+jW=Mk z&yG&aj^3IbJqz!x$lvVvx3gnE&W_!f9shcE>=dQI?C5EuH%~s^!)rJ^J9-Xl9=$s| z`c)+GsGl(;taVWca&h$H!;K zzl2(0)U%_9+~f6w6@LsJZ8*xfw6RhP{AG;Q4Nsm5hbIvn*#nCC?C6=f$;0gT*k|NO z;ty`LlGKQc54*R|1F$^B0n4v1hXIyPe>~?{#yB0L_nw|SLj|)7ykskQ^x)GU4-n!X z;Nypd@HtrmFc42Hla#~SU5KVQiriet?H#`0b_HOhiN=(W}^W(ebPW)UK{5d=RIpMdxb2oM^0tEfm zK^r$3Iy=5+cKqn<*jXesj1btL;<~{{9*-f~d1F@?Ec*1+p82Db*3Q?1kIs%CMyes< zuFQ@fAzdHA-(xrGKun+PzqWMHbawnaX%w0}M_Qb80I0a+F)1jULoWFh0dANb+lwp4 zl|-c;%9c+)1p!5t5lR)5Y9pgh@7`fKNk?k(B|JdxeCBF24ROv{L#tKqoVW#=;K?k zvJV9#$|NJ5zB)l=L;VUlHhRngEeDq|508!Zpa-q96pm zUkvbEPkp4%KhBPg5smZ^8v+_|Q1-wgVd=wn=Z>E-#sBCfQp;(g_B@V{p^We6X@E-{viOi(Z0cUUhRY+*+wM>KZaIfgS1bDLfVeWF}8<5Y@3`ug(Y~J zBGgt^3xc=Z#oSw2DAaB1@aV=U<3AE};u_(bu%ZqK9IX%r+MMty>ko1%)apX(|aG=m(=gHyZ;^SgNCs{va$kYv~G;eDAnLy zK2lF;QfP>nzJcTLg|8Pi2;OCQ)W|Tl=Zc!5>)7>P)(u(3RE**PKT&i05IO^sQ@+!7B(ZA(qLTImjV~OW|J6rV&O#0xTn)BA)eDZ_UZafakH){LmG6Jo zKx%obBr7TmTa%S6@Coz;8nIQ(AbG46msZsc#$!@eh8nDKP`$DEw`-bk|2AaqmdjdR z1^u8(!-NWw3Ipx7Hf-YYZ$Ter7CaaOycTL0hs*`PW97ygw}bDPWS0ki@k%{m_I1b{ zy)p^q>m9JPR;|iZc=&`XMV4^PY_(F;BHv@4W1wgX4VDok7z!^xR+3y0g+ zD|%ML()D5O7=#R2*D+-(rBu}cxr3}$^OBbDHwIXcv}{0#(@hHWy#&9_68@0;R=KDZ zfH(cKyYTiumy6K%&GgNOKBY{U{jX|P?g8~5i29FO6$ewbm04oAQx?$4g0;U_*643F z09`jT!J32xT9Rw3(ya@5sVW#1ix_$*t4Xi`br3xHG6;wdYt{Rw^bbo4Zf3&v3NA|~ zZr+zwRoGnAgbh6ODVbOn@|0)AIt%x2ck7}c_f`sW5oJ=pq6t9E4{L(dgK`8r?Gydf z=v{+xZ=a=*6CGa<%8~w|tbul#&(??p`430P-*$^(n4*5UTUP%-%l*;vx4rgeZ^Hdf zuyafB_A1r(sP<@}=UXJYO$A}*Z_71VcvGvvt|EZ`uM>$A2$h4_ghdKMLB|~jTHwV& zi_kS$_h`}%m%o8xS-5|Siy&{joNbGx``4;WEe^%YVVi^vsRjyf|NT?N5-tqBY5P@U z$I5B$@F1r&A3TJ>#{|lM>kdc+`V*w<%Hf;xfi5t7FpS^j6qH|M}Bm$ zqvKTJVRAT&+cBGCwH_!OH!_uOWVBRd#Y3I$&}6805ur|%CC55_A9V0YJ)usOY9u_? z>4$a4I#uNR-}L~UqyTsuHt7$^rU?`;N(Eik13_*xd#PNF1cX4%f=HBV7zb5Y9~cM~ zWC1Eg0?Xf+^2u+Bhzj#o(s_ZFCT9UJRQn&bUSSg@BM4Uh+9mM)s3K6f|gdp;W4Q#fPo

      oEk$Ue8*QIHT2%Ut5YI)767n6AKy0b*fg- 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

      x@34Yw{LIKLA|`N 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㰺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¿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
          s`QM$UKfIm{yAcwK(|ZJ(xUI8M;n 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㰺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 z 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

          M#eg`x1q9Uk{}o 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�>U^0%kD#l}!nmOz%?&QfXO0_%`Z5By>8~ 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

          _qB6XKwxuvJoL6i;2Pr5DER+z! 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

          PVCt9#NnEsJ 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

          7A>i7)!0 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

          Y$6HcUL+tF!mafHjtS_ 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 z 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

          Nr++ZhrT;@(4 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%0A0ksUG;}aVfVqd@iyn8hd{MT9FUkU6l&#Je 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 DTq*QI From ab24f6c67027d84fcb3ed75b480b92b9a5d3b65d Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Sun, 1 Dec 2024 01:09:28 +0800 Subject: [PATCH 008/107] =?UTF-8?q?0.4.0=20=E7=AC=AC=E4=B8=89=E6=AC=A1?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=BF=AD=E4=BB=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 9 +- l10n/bundle.l10n.en.json | 9 +- l10n/bundle.l10n.ja.json | 9 +- l10n/bundle.l10n.zh-cn.json | 9 +- l10n/bundle.l10n.zh-tw.json | 9 +- src/function/sim/simulate.ts | 207 +++++++++++++++++++++++++---------- src/function/tool.ts | 2 +- src/hdlFs/file.ts | 3 - src/hdlFs/path.ts | 1 + src/hdlParser/core.ts | 151 +++++++++++++++++++------ src/manager/ignore.ts | 22 +++- src/monitor/hdl.ts | 2 +- src/monitor/index.ts | 11 +- 13 files changed, 340 insertions(+), 104 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 19c82ec..7d437cd 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -71,5 +71,12 @@ "info.pl.xilinx.no-need-add-files": "Keine Dateien zum Hinzufügen zum Xilinx-Projekt", "info.pl.xilinx.no-need-del-files": "Es müssen keine Dateien aus Xilinx gelöscht werden.", "error.pl.launch.not-valid-vivado-path": "Fehler beim Starten des Vivado TCL-Skriptinterpreters: {0}. Bitte überprüfen Sie, ob der Startpfad für Vivado korrekt ist. Derzeit eingestellter Startordnerpfad für Vivado: {1}", - "info.pl.launch.set-vivado-path": "Zur Einstellung des Vivado-Installationspfads gehen" + "info.pl.launch.set-vivado-path": "Zur Einstellung des Vivado-Installationspfads gehen", + "info.monitor.current-mode": "Aktueller Monitor-Modus: {0}", + "info.simulation.create-vvp": "VVP-Datei in {0} erstellen", + "error.simulation.reason": "Grund: {0}", + "info.simulate.vvp.vcd-generate": "vcd-Datei wurde erstellt in {0}", + "error.simluate.icarus.use-primitives": "Es wurde ein Primitiv {0} erkannt, aber Icarus iverilog unterstützt keine Primitiven.", + "error.simluate.icarus.use-ip": "Es wurde die IP {0} verwendet, aber Icarus iverilog unterstützt keine IP.", + "error.simulation.error-happen-run-command": "Fehler bei der Icarus-Simulation:" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index ac91e50..d328292 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -71,5 +71,12 @@ "info.pl.xilinx.no-need-add-files": "No files need to be added to the Xilinx project", "info.pl.xilinx.no-need-del-files": "There are no files to be deleted from Xilinx.", "error.pl.launch.not-valid-vivado-path": "Error encountered while starting the Vivado TCL script interpreter: {0}. Please check if your Vivado startup path is correct. Currently set Vivado startup folder path: {1}", - "info.pl.launch.set-vivado-path": "Go to set the Vivado installation path" + "info.pl.launch.set-vivado-path": "Go to set the Vivado installation path", + "info.monitor.current-mode": "Current monitor mode: {0}", + "info.simulation.create-vvp": "Create VVP file in {0}", + "error.simulation.reason": "Reason: {0}", + "info.simulate.vvp.vcd-generate": "vcd file has been generated to {0}", + "error.simluate.icarus.use-primitives": "Primitive {0} detected, but Icarus iverilog does not support primitives.", + "error.simluate.icarus.use-ip": "Detected the use of IP {0}, but Icarus iverilog does not support IP.", + "error.simulation.error-happen-run-command": "Error during Icarus simulation:" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index a30cc52..49eeed1 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -71,5 +71,12 @@ "info.pl.xilinx.no-need-add-files": "Xilinx プロジェクトに追加するファイルはありません", "info.pl.xilinx.no-need-del-files": "Xilinx から削除するファイルはありません。", "error.pl.launch.not-valid-vivado-path": "Vivado TCL スクリプトインタプリタの起動中にエラーが発生しました:{0}。Vivado の起動パスが正しいか確認してください。現在設定されている Vivado 起動フォルダパス:{1}", - "info.pl.launch.set-vivado-path": "Vivado インストールパスの設定に移動" + "info.pl.launch.set-vivado-path": "Vivado インストールパスの設定に移動", + "info.monitor.current-mode": "現在のモニターモード:{0}", + "info.simulation.create-vvp": "{0} で VVP ファイルを作成", + "error.simulation.reason": "理由: {0}", + "info.simulate.vvp.vcd-generate": "vcdファイルが生成されました: {0}", + "error.simluate.icarus.use-primitives": "プリミティブ {0} が検出されましたが、Icarus iverilog はプリミティブをサポートしていません。", + "error.simluate.icarus.use-ip": "IP {0} が使用されていますが、Icarus iverilog は IP をサポートしていません。", + "error.simulation.error-happen-run-command": "Icarusシミュレーション中にエラーが発生しました:" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 02418ba..77dc01a 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -71,5 +71,12 @@ "info.pl.xilinx.no-need-add-files": "没有需要添加到 Xilinx 工程的文件", "info.pl.xilinx.no-need-del-files": "没有需要从 Xilinx 中删除的文件", "error.pl.launch.not-valid-vivado-path": "启动 Vivado TCL 脚本解释器遇到错误:{0} 。请检查你的 Vivado 启动路径是否正确,当前设置的 Vivado 启动文件夹路径:{1}", - "info.pl.launch.set-vivado-path": "前往设置 Vivado 安装路径" + "info.pl.launch.set-vivado-path": "前往设置 Vivado 安装路径", + "info.monitor.current-mode": "当前监视器模式:{0}", + "info.simulation.create-vvp": "在 {0} 创建 VVP 文件", + "error.simulation.reason": "原因: {0}", + "info.simulate.vvp.vcd-generate": "vcd 文件已经生成至 {0}", + "error.simluate.icarus.use-primitives": "检测到使用了原语 {0},但是 Icarus iverilog 并不支持原语", + "error.simluate.icarus.use-ip": "检测到使用了 IP {0},但是 Icarus iverilog 并不支持 IP", + "error.simulation.error-happen-run-command": "Icarus 仿真时,出现错误:" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 1783f64..bd9ff8a 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -71,5 +71,12 @@ "info.pl.xilinx.no-need-add-files": "沒有需要添加到 Xilinx 工程的文件", "info.pl.xilinx.no-need-del-files": "沒有需要從 Xilinx 中刪除的檔案。", "error.pl.launch.not-valid-vivado-path": "啟動 Vivado TCL 腳本解釋器遇到錯誤:{0} 。請檢查你的 Vivado 啟動路徑是否正確,目前設定的 Vivado 啟動資料夾路徑:{1}", - "info.pl.launch.set-vivado-path": "前往設定 Vivado 安裝路徑" + "info.pl.launch.set-vivado-path": "前往設定 Vivado 安裝路徑", + "info.monitor.current-mode": "目前監視器模式:{0}", + "info.simulation.create-vvp": "在 {0} 建立 VVP 檔案", + "error.simulation.reason": "原因: {0}", + "info.simulate.vvp.vcd-generate": "vcd 檔案已生成至 {0}", + "error.simluate.icarus.use-primitives": "偵測到使用了原語 {0},但是 Icarus iverilog 並不支援原語。", + "error.simluate.icarus.use-ip": "偵測到使用了 IP {0},但是 Icarus iverilog 並不支援 IP。", + "error.simulation.error-happen-run-command": "Icarus 模擬時,出現錯誤:" } \ No newline at end of file diff --git a/src/function/sim/simulate.ts b/src/function/sim/simulate.ts index 47d4d26..9e523d3 100644 --- a/src/function/sim/simulate.ts +++ b/src/function/sim/simulate.ts @@ -1,5 +1,6 @@ import * as vscode from 'vscode'; import * as fs from 'fs'; +import * as fspath from 'path'; import * as child_process from 'child_process'; import { hdlParam } from '../../hdlParser'; @@ -10,6 +11,7 @@ import { HdlLangID, ToolChainType } from '../../global/enum'; import { HdlFile, HdlModule } from '../../hdlParser/core'; import { ModuleDataItem } from '../treeView/tree'; import { defaultMacro, doFastApi } from '../../hdlParser/util'; +import { t } from '../../i18n'; type Path = string; @@ -185,17 +187,35 @@ class IcarusSimulate extends Simulate { return args.join(' ').trim(); } + /** + * @description 生成用于进行仿真的依赖项相关的参数 + * @param dependences + * @returns + */ private makeDependenceArguments(dependences: string[]): string { // 去重 const visitedPath = new Set; const args = []; for (const dep of dependences) { + // 去重 if (visitedPath.has(dep)) { continue; } + // icarus 不支持 原语 + if (dep === 'xilinx-primitives') { + MainOutput.report(t('error.simluate.icarus.use-primitives', dep), { level: ReportType.Error }); + continue; + } + // icarus 不支持 IP + if (dep.startsWith(opeParam.prjInfo.ipPath)) { + MainOutput.report(t('error.simluate.icarus.use-ip', dep), { level: ReportType.Error }); + continue; + } + args.push(makeSafeArgPath(dep)); visitedPath.add(dep); } + return args.join(' ').trim(); } @@ -215,13 +235,15 @@ class IcarusSimulate extends Simulate { } /** - * generate acutal iverlog simulation command + * @description 获取 iverilog 仿真的命令 * @param name name of top module * @param path path of the simulated file * @param dependences dependence that not specified in `include macro * @returns */ private getCommand(name: string, path: AbsPath, dependences: string[]): string | undefined { + MainOutput.clear(); + const simConfig = this.getConfig(path, 'iverilog'); if (!simConfig) { return; @@ -252,22 +274,14 @@ class IcarusSimulate extends Simulate { const iverilogPath = simConfig.iverilogPath; // default is -g2012 const argu = '-g' + iverilogCompileOptions.standard; - const outVvpPath = makeSafeArgPath(hdlPath.join(simConfig.simulationHome, 'out.vvp')); + const outVvpPath = makeSafeArgPath(hdlPath.join(simConfig.simulationHome, name + '.vvp')); const mainPath = makeSafeArgPath(path); - - // console.log(macroIncludeArgs); - // console.log(thirdLibraryDirArgs); - // console.log(dependenceArgs); - // console.log(thirdLibraryFileArgs); const cmd = `${iverilogPath} ${argu} -o ${outVvpPath} -s ${name} ${macroIncludeArgs} ${thirdLibraryDirArgs} ${mainPath} ${dependenceArgs} ${thirdLibraryFileArgs}`; - MainOutput.report(cmd, { - level: ReportType.Run - }); return cmd; } - private execInTerminal(command: string, cwd: AbsPath) { + private execInTerminal(command: string, cwd: AbsPath, hdlModule: HdlModule) { // let vvp: vscode.Terminal; // const targetTerminals = vscode.window.terminals.filter(t => t.name === 'vvp'); // if (targetTerminals.length > 0) { @@ -291,56 +305,136 @@ class IcarusSimulate extends Simulate { // } } - private execInOutput(command: string, cwd: AbsPath) { + /** + * @description 在 Digital IDE 窗口中运行 iverilog 的快速仿真 + * @param command + * @param cwd + * @param hdlModule + * @returns + */ + private execInOutput(command: string, cwd: AbsPath, hdlModule: HdlModule) { const simConfig = this.simConfig; if (!simConfig) { return; } - child_process.exec(command, { cwd }, (error, stdout, stderr) => { - if (error) { - MainOutput.report('Error took place when run ' + command, { - level: ReportType.Error - }); - MainOutput.report('Reason: ' + stderr, { - level: ReportType.Error - }); - } else { - MainOutput.report(stdout, { - level: ReportType.Info - }); - const vvpOutFile = hdlPath.join(simConfig.simulationHome, 'out.vvp'); - MainOutput.report("Create vvp to " + vvpOutFile, { - level: ReportType.Run - }); - - const outVvpPath = hdlPath.join(simConfig.simulationHome, 'out.vvp'); - const vvpPath = simConfig.vvpPath; - // run vvp to interrupt script - const vvpCommand = `${vvpPath} ${outVvpPath}`; - MainOutput.report(vvpCommand, { - level: ReportType.Run - }); - - child_process.exec(vvpCommand, { cwd }, (error, stdout, stderr) => { - if (error) { - MainOutput.report('Error took place when run ' + vvpCommand, { - level: ReportType.Error - }); - MainOutput.report('Reason: ' + stderr, { - level: ReportType.Error - }); - } else { - MainOutput.report(stdout, { - level: ReportType.Info - }); - } - }); - } + this.runIverilog(simConfig, command, cwd, hdlModule); + } + + private reportCommandError(command: string, stderr: string) { + MainOutput.report(t('error.simulation.error-happen-run-command') + command, { + level: ReportType.Error + }); + MainOutput.report(t('error.simulation.reason', stderr), { + level: ReportType.Error }); } - private exec(command: string, cwd: AbsPath) { + /** + * @description 运行 iverilog xxx 的命令 + * @param simConfig + * @param command + * @param cwd + * @param hdlModule + */ + private runIverilog(simConfig: SimulateConfig, command: string, cwd: string, hdlModule: HdlModule) { + child_process.exec(command, (error, stdout, stderr) => { + if (error) { + this.reportCommandError(command, stderr); + return; + } + + // 准备执行 vvp + MainOutput.report(stdout); + const generateVvpName = hdlModule.name + '.vvp'; + + const outVvpPath = hdlPath.join(simConfig.simulationHome, generateVvpName); + MainOutput.report(t('info.simulation.create-vvp', outVvpPath), { + level: ReportType.Run + }); + + const vvpPath = simConfig.vvpPath; + + // 运行 vvp 文件,执行目录在生成的 vcd 的同级目录 + // 对于 vvp 执行的 cwd,为了方便用户可以调用 $readmemb $fopen $dumpfile + // 这些系统调用进行 IO,所以选择 {workspace} 作为执行 vvp 的 cwd + const vvpCwd = opeParam.openMode === 'file' ? cwd: opeParam.workspacePath; + + const vvpCommand = `${vvpPath} ${outVvpPath}`; + MainOutput.report(vvpCommand, { level: ReportType.Run }); + + this.runVvp(vvpCommand, vvpCwd); + }); + } + + /** + * @description 陨星 vvp xxx 的命令 + * @param command + * @param cwd + */ + private runVvp(command: string, cwd: string) { + child_process.exec(command, { cwd }, (error, stdout, stderr) => { + if (error) { + this.reportCommandError(command, stderr); + return; + } + + // 对于 vvp 的输出结果,特殊处理 + this.handleVvpStdOutput(stdout, command, cwd); + }); + } + + /** + * @description 处理 vvp xxx.vvp 执行后输出的标准输出 + * vvp 的标准输出似乎总是一行一个的 + * @param stdoutMessage vvp 执行后的标准输出窗口 + * @param command 用于重新执行 + * @param cwd 用于重新执行 + */ + private handleVvpStdOutput(stdoutMessage: string, command: string, cwd: string) { + for (const line of stdoutMessage.split('\n').map(line => line.trim())) { + if (line.startsWith('WARNING:')) { + // 运行时警告 + MainOutput.report(line.slice(8).trim(), { level: ReportType.Warn }); + + } else if (line.startsWith('ERROR:')) { + // 运行时错误,比如用户 $readmemb 读取的文件并不存在 + MainOutput.report(line.slice(6).trim(), { level: ReportType.Error }); + + } else if (line.startsWith('VCD info:')) { + // 导出 VCD 的信息,用于输出 + // 此处尝试提取 vcd 导出的信息,然后转换内部信息导出到屏幕上 + const match = line.match(/dumpfile (.+) opened for output/); + if (match) { + const vcdPath = match[1]; + const absVcdPath = hdlPath.resolve(cwd, vcdPath); + MainOutput.report(t('info.simulate.vvp.vcd-generate', absVcdPath)); + } else { + MainOutput.report(line.slice(9).trim()); + } + + } else if (line.startsWith('VCD Error:')) { + // 出现 VCD Error 可能是因为生成地点的目录不存在,创建目录,然后再运行 + const match = line.match(/Unable to open (.+) for output\./); + if (match) { + const vcdPath = match[1]; + const absVcdPath = hdlPath.resolve(cwd, vcdPath); + const parentFolderPath = fspath.dirname(absVcdPath); + hdlDir.mkdir(parentFolderPath); + // 清除输出,准备第二次运行 + MainOutput.clear(); + this.runVvp(command, cwd); + } else { + // 没有匹配到,说明是其他错误,直接按照错误输出 + MainOutput.report(line.slice(10).trim(), { level: ReportType.Error }); + } + } else { + MainOutput.report(line, { level: ReportType.Info }); + } + } + } + + private exec(command: string, cwd: AbsPath, hdlModule: HdlModule) { const simConfig = this.simConfig; if (!simConfig) { MainOutput.report('this.simConfig is empty when exec'); @@ -350,10 +444,10 @@ class IcarusSimulate extends Simulate { const runInTerminal = vscode.workspace.getConfiguration().get('digital-ide.function.simulate.runInTerminal'); if (runInTerminal) { - this.execInTerminal(command, cwd); + this.execInTerminal(command, cwd, hdlModule); } else { MainOutput.show(); - this.execInOutput(command, cwd); + this.execInOutput(command, cwd, hdlModule); } } @@ -375,11 +469,12 @@ class IcarusSimulate extends Simulate { // MainOutput.report(warningMsg, ReportType.Warn, true); // return; // } + const dependences = this.getAllOtherDependences(path, name); const simulationCommand = this.getCommand(name, path, dependences); if (simulationCommand) { const cwd = hdlPath.resolve(path, '..'); - this.exec(simulationCommand, cwd); + this.exec(simulationCommand, cwd, hdlModule); } else { const errorMsg = 'Fail to generate command'; MainOutput.report(errorMsg, { diff --git a/src/function/tool.ts b/src/function/tool.ts index 2fe7cdf..8746649 100644 --- a/src/function/tool.ts +++ b/src/function/tool.ts @@ -133,7 +133,7 @@ async function askUserToSaveFilelist(filelist: string[]) { if (uri === undefined) { return; } - const filePath = uri.path; + const filePath = uri.fsPath; const fileContent = filelist.join('\n'); try { diff --git a/src/hdlFs/file.ts b/src/hdlFs/file.ts index 7d2d7d3..9933e14 100644 --- a/src/hdlFs/file.ts +++ b/src/hdlFs/file.ts @@ -67,9 +67,6 @@ export function isSystemVerilogFile(path: AbsPath): boolean { } export function isHDLFile(path: AbsPath): boolean { - if (!isFile(path)) { - return false; - } const ext = hdlPath.extname(path, false); return hdlExts.includes(ext); } diff --git a/src/hdlFs/path.ts b/src/hdlFs/path.ts index 020a1c7..b72a308 100644 --- a/src/hdlFs/path.ts +++ b/src/hdlFs/path.ts @@ -103,6 +103,7 @@ function toEscapePath(path: AbsPath): AbsPath { } function toPureRelativePath(path: RelPath): RelPath { + if (path.startsWith('./') || path.startsWith('.\\')) { return path.slice(2); } diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index cffd5d8..d5b5f86 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -169,6 +169,10 @@ class HdlParam { return undefined; } + if (this.isTopModule(path, name)) { + console.log(module); + } + const dependencies : common.HdlDependence = { current: [], include: [], @@ -497,15 +501,93 @@ class HdlParam { const hdlParam = new HdlParam(); class HdlInstance { - name: string; // name of the instance - type: string; // type + /** + * @description 例化的名字 + * + * 对于下面的例子,唯一例化 的 name 就是 `u_tool` + * @example + * module hello() + * tool u_tool(); + * endmodule + * + */ + name: string; + + /** + * @description 例化的模块名 + * + * 对于下面的例子,唯一例化 的 type 就是 `tool` + * @example + * module hello() + * tool u_tool(); + * endmodule + * + */ + type: string; + + /** + * @description 例化的 range + */ range: common.Range; // range of instance - instModPath: AbsPath | undefined; // path of the definition - instModPathStatus: common.InstModPathStatus; // status of the instance (current, include, others) - instparams: common.InstRange; // range of params - instports: common.InstRange; // range of ports - parentMod: HdlModule; // 例化模块例化地点的外层 module - module: HdlModule | undefined; // 例化模块的定义模块 + + /** + * @description 例化的模块的定义路径 + * + * 对于下面的例子,唯一例化 的 instModPath 就是 `tool` 这个模块 `module tool` 申明所在的文件的路径 + * @example + * module hello() + * tool u_tool(); + * endmodule + * + */ + instModPath: AbsPath | undefined; + + /** + * @description 用于描述当前例化是如何被引入的,以下是三类枚举 + * - current: 例化对应的模块就在当前文件中 + * - include: 通过 `include + * - others: 其他 + */ + instModPathStatus: common.InstModPathStatus; + + /** + * @description 例化 params 部分的 range. + * 如果是 vhdl,则是 generic map 部分的 range + */ + instparams: common.InstRange; + + /** + * @description 例化 ports 部分的 range. + * 如果是 vhdl,则是 port map 部分的 range + */ + instports: common.InstRange; + + /** + * @description 例化模块例化地点的外层 module + * + * 对于下面的例子, 例化 `u_tool` 的 parentMod 就是 `hello` + * @example + * module hello() + * tool u_tool(); + * endmodule + * + */ + parentMod: HdlModule; + + /** + * @description 例化模块的定义模块 + * + * 对于下面的例子, 例化 `u_tool` 的 `module` 就是 tool + * @example + * module hello(); + * tool u_tool(); + * endmodule + * + * module tool(); + * ... + * endmodule + */ + module: HdlModule | undefined; constructor(name: string, type: string, @@ -611,7 +693,34 @@ class HdlInstance { this.instports = newInstance.instports; this.instModPath = this.module?.path || ''; - this.instModPathStatus = this.parentMod.solveInstModPathStatus(); + this.updateInstModPathStatus(); + } + + /** + * @description 用于解决例化的路径引入状态,对于 A 模块,它的两个例化 u_A1 和 u_A2 + * 使用 u_A1 和 u_A2 的模块需要知道 u_A1 是如何被引入的,此时需要调用 u_A1.updateInstModPathStatus() 来更新 + * u_A1 的 instModPathStatus + */ + public updateInstModPathStatus() { + const module = this.module; + if (module) { + const userModule = this.parentMod; + if (userModule.path === module.path) { + this.instModPathStatus = common.InstModPathStatus.Current; + } else { + const userIncludePaths = userModule.file.macro.includes.map( + include => hdlPath.rel2abs(userModule.path, include.path) + ); + + if (userIncludePaths.includes(module.path)) { + this.instModPathStatus = common.InstModPathStatus.Include; + } else { + this.instModPathStatus = common.InstModPathStatus.Others; + } + } + } else { + this.instModPathStatus = common.InstModPathStatus.Unknown; + } } public get getDoFastFileType(): DoFastFileType | undefined { @@ -882,28 +991,6 @@ class HdlModule { } } - public solveInstModPathStatus(): common.InstModPathStatus { - // TODO: 修改这套系统,因为现在只是拿第一个例化来判断的,这是不合理的 - // 应该把 common.InstModPathStatus 修改成一个可以通过析取来表示的变量 - const inst = hdlParam.getUnhandleInstancesByModuleName(this.name)[0]; - if (!inst) { - return common.InstModPathStatus.Unknown; - } - const userModule = inst.parentMod; - if (userModule.path === this.path) { - return common.InstModPathStatus.Current; - } else { - const userIncludePaths = userModule.file.macro.includes.map( - include => hdlPath.rel2abs(userModule.path, include.path)); - - if (userIncludePaths.includes(this.path)) { - return common.InstModPathStatus.Include; - } else { - return common.InstModPathStatus.Others; - } - } - } - /** * @description 从全局寻找这个 module 的例化,并尝试修改它的状态 */ @@ -918,7 +1005,7 @@ class HdlModule { // 解决 instance.instModPath = this.path; - instance.instModPathStatus = this.solveInstModPathStatus(); + instance.updateInstModPathStatus(); // 找寻这个 instance 对应的真正的 module(也有可能是原语) // 并将这个 instance 加入这个 module 的计数器中 diff --git a/src/manager/ignore.ts b/src/manager/ignore.ts index d934d0e..d5e6fe9 100644 --- a/src/manager/ignore.ts +++ b/src/manager/ignore.ts @@ -1,8 +1,10 @@ import * as vscode from 'vscode'; import { AbsPath, opeParam } from '../global'; -import { hdlPath } from '../hdlFs'; +import { hdlFile, hdlPath } from '../hdlFs'; import * as fs from 'fs'; +import * as fspath from 'path'; import { minimatch } from 'minimatch'; +import { toPureRelativePath } from '../hdlFs/path'; class HdlIgnore { @@ -19,9 +21,8 @@ class HdlIgnore { const workspace = opeParam.workspacePath; // 转换成相对于 ws 的相对路径,形如 ./src/test.py let relativePath = hdlPath.toPureRelativePath(hdlPath.relative(workspace, path)); - console.log('current path:', relativePath); - for (const pattern of this.patterns.map(p => hdlPath.toPureRelativePath(p))) { + for (const pattern of this.patterns) { const matched = minimatch(relativePath, pattern); if (matched) { return true; @@ -55,11 +56,26 @@ class HdlIgnore { } } this.patterns = [...validGlobStrings]; + this.makeClearPattern(); } else { // .dideignore 不存在直接赋值为空 this.patterns = []; } } + + /** + * @description 构建可直接使用的 patterns + * 该操作是幂等的 + */ + private makeClearPattern() { + for (let i = 0; i < this.patterns.length; ++ i) { + let pattern = this.patterns[i]; + if (fspath.isAbsolute(pattern)) { + pattern = hdlPath.relative(opeParam.workspacePath, pattern); + } + this.patterns[i] = toPureRelativePath(pattern); + } + } } const hdlIgnore = new HdlIgnore(); diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts index 66093c5..712fe8d 100644 --- a/src/monitor/hdl.ts +++ b/src/monitor/hdl.ts @@ -152,7 +152,7 @@ export class HdlAction extends BaseAction { * @param path */ private isvalid(path: AbsPath): boolean { - const prjInfo = opeParam.prjInfo; + const prjInfo = opeParam.prjInfo; if (path.startsWith(prjInfo.hardwareSrcPath) || path.startsWith(prjInfo.hardwareSimPath)) { if (!hdlIgnore.isignore(path) && hdlFile.isHDLFile(path)) { return true; diff --git a/src/monitor/index.ts b/src/monitor/index.ts index b133bdf..30ee339 100644 --- a/src/monitor/index.ts +++ b/src/monitor/index.ts @@ -44,7 +44,6 @@ class HdlMonitor{ */ public getHdlMonitor() { const prjInfo = opeParam.prjInfo; - const monitorPathSet = new PathSet(); // 在输出中展示当前的监视路径 @@ -57,8 +56,14 @@ class HdlMonitor{ level: ReportType.Launch }); - // chokidar 4.0.0 开始不支持 glob,需要在每一个入口自己判断 - return this.makeMonitor([opeParam.workspacePath, prjInfo.libCommonPath]); + MainOutput.report(t('info.monitor.current-mode', opeParam.openMode)); + + if (opeParam.openMode === 'file') { + return this.makeMonitor([prjInfo.libCommonPath]); + } else { + // chokidar 4.0.0 开始不支持 glob,需要在每一个入口自己判断 + return this.makeMonitor([opeParam.workspacePath, prjInfo.libCommonPath]); + } } public getIgnoreMonitor() { From fa9e97be8202d9477728a2ea23f7540e4fd80d1e Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Sun, 1 Dec 2024 19:36:55 +0800 Subject: [PATCH 009/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=A0=91=E4=B8=AD=20vhdl=20=E5=BC=95=E7=94=A8=20vlog=20?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E6=B8=B2=E6=9F=93=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/treeView/tree.ts | 5 +++-- src/hdlParser/core.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index cedf004..f953827 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -154,6 +154,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { public getChildren(element?: ModuleDataItem | undefined): vscode.ProviderResult { if (element) { const name = element.name; + if (name === 'sim' || name === 'src') { element.parent = undefined; return this.getTopModuleItemList(element); @@ -242,9 +243,9 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const moduleDataItemList: ModuleDataItem[] = []; const targetModule = hdlParam.getHdlModule(element.path, element.name); - + if (targetModule) { - const allInstances = targetModule.getAllInstances(); + const allInstances = targetModule.getAllInstances(); // 根据出现次序进行排序 allInstances.sort((a, b) => a.range.start.line - b.range.start.line); for (const instance of allInstances) { diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index d5b5f86..308bf8e 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -808,7 +808,7 @@ class HdlModule { const instModName = rawHdlInstance.type; if (this.languageId === HdlLangID.Verilog || this.languageId === HdlLangID.SystemVerilog) { - const searchResult = this.searchInstModPath(instModName); + const searchResult = this.searchInstModPath(instModName); const hdlInstance = new HdlInstance(rawHdlInstance.name, rawHdlInstance.type, searchResult.path, @@ -827,15 +827,19 @@ class HdlModule { } return hdlInstance; } else if (this.languageId === HdlLangID.Vhdl) { + const searchResult = this.searchInstModPath(instModName); const hdlInstance = new HdlInstance(rawHdlInstance.name, rawHdlInstance.type, - this.path, - common.InstModPathStatus.Current, + searchResult.path, + searchResult.status, rawHdlInstance.instparams, rawHdlInstance.instports, rawHdlInstance.range, this); - hdlInstance.module = this; + + if (hdlInstance.module === undefined) { + hdlInstance.module = this; + } if (this.nameToInstances) { const key = this.makeInstanceKey(rawHdlInstance.name, rawHdlInstance.type); this.nameToInstances.set(key, hdlInstance); From 1b5f821f381c5c3771574bc0d85e2e1803b7f383 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Sun, 1 Dec 2024 22:58:28 +0800 Subject: [PATCH 010/107] add vhdl std lib --- .gitignore | 2 +- .../ieee_2008/fixed_float_types.vhdl | 61 + .../ieee_2008/fixed_generic_pkg-body.vhdl | 6368 +++++++++++++++ .../ieee_2008/fixed_generic_pkg.vhdl | 1439 ++++ .../vhdl_std_lib/ieee_2008/fixed_pkg.vhdl | 51 + .../ieee_2008/float_generic_pkg-body.vhdl | 5715 +++++++++++++ .../ieee_2008/float_generic_pkg.vhdl | 1000 +++ .../vhdl_std_lib/ieee_2008/float_pkg.vhdl | 55 + .../ieee_2008/math_complex-body.vhdl | 1603 ++++ .../vhdl_std_lib/ieee_2008/math_complex.vhdl | 1144 +++ .../ieee_2008/math_real-body.vhdl | 1934 +++++ .../vhdl_std_lib/ieee_2008/math_real.vhdl | 658 ++ .../ieee_2008/numeric_bit-body.vhdl | 3045 +++++++ .../vhdl_std_lib/ieee_2008/numeric_bit.vhdl | 1592 ++++ .../ieee_2008/numeric_bit_unsigned-body.vhdl | 592 ++ .../ieee_2008/numeric_bit_unsigned.vhdl | 623 ++ .../ieee_2008/numeric_std-body.vhdl | 4459 ++++++++++ .../vhdl_std_lib/ieee_2008/numeric_std.vhdl | 1849 +++++ .../ieee_2008/numeric_std_unsigned-body.vhdl | 595 ++ .../ieee_2008/numeric_std_unsigned.vhdl | 616 ++ .../ieee_2008/std_logic_1164-body.vhdl | 1998 +++++ .../ieee_2008/std_logic_1164.vhdl | 369 + .../ieee_2008/std_logic_textio.vhdl | 66 + .../dide-lsp/static/vhdl_std_lib/std/env.vhd | 11 + .../static/vhdl_std_lib/std/standard.vhd | 94 + .../static/vhdl_std_lib/std/textio.vhd | 73 + .../vhdl_std_lib/synopsys/arithmetic.vhd | 2117 +++++ .../vhdl_std_lib/synopsys/attributes.vhd | 213 + .../vhdl_std_lib/synopsys/std_logic_arith.vhd | 2945 +++++++ .../vhdl_std_lib/synopsys/std_logic_misc.vhd | 882 ++ .../synopsys/std_logic_signed.vhd | 389 + .../synopsys/std_logic_unsigned.vhd | 382 + .../static/vhdl_std_lib/synopsys/types.vhd | 1152 +++ .../unifast/primitive/DSP48E1.vhd | 1895 +++++ .../unifast/primitive/MMCME2_ADV.vhd | 1938 +++++ .../unifast/primitive/PLLE2_ADV.vhd | 1601 ++++ .../unifast/primitive/vhdl_analyze_order | 3 + .../unifast/secureip/GTHE2_CHANNEL.vhd | 3959 +++++++++ .../unifast/secureip/GTXE2_CHANNEL.vhd | 3301 ++++++++ .../vhdl_std_lib/unimacro/ADDMACC_MACRO.vhd | 453 ++ .../vhdl_std_lib/unimacro/ADDSUB_MACRO.vhd | 404 + .../vhdl_std_lib/unimacro/BRAM_SDP_MACRO.vhd | 3923 +++++++++ .../unimacro/BRAM_SINGLE_MACRO.vhd | 3313 ++++++++ .../vhdl_std_lib/unimacro/BRAM_TDP_MACRO.vhd | 2665 ++++++ .../unimacro/COUNTER_LOAD_MACRO.vhd | 329 + .../unimacro/COUNTER_TC_MACRO.vhd | 301 + .../unimacro/EQ_COMPARE_MACRO.vhd | 368 + .../unimacro/FIFO_DUALCLOCK_MACRO.vhd | 930 +++ .../vhdl_std_lib/unimacro/FIFO_SYNC_MACRO.vhd | 934 +++ .../vhdl_std_lib/unimacro/MACC_MACRO.vhd | 558 ++ .../vhdl_std_lib/unimacro/MULT_MACRO.vhd | 561 ++ .../vhdl_std_lib/unimacro/unimacro_VCOMP.vhd | 802 ++ .../vhdl_std_lib/unimacro/vhdl_analyze_order | 13 + .../dide-lsp/static/vhdl_std_lib/vhdl_ls.toml | 7 + .../vhdl_std_lib/vital2000/memory_b.vhdl | 7151 +++++++++++++++++ .../vhdl_std_lib/vital2000/memory_p.vhdl | 1729 ++++ .../vhdl_std_lib/vital2000/prmtvs_b.vhdl | 5622 +++++++++++++ .../vhdl_std_lib/vital2000/prmtvs_p.vhdl | 1413 ++++ .../vhdl_std_lib/vital2000/timing_b.vhdl | 2187 +++++ .../vhdl_std_lib/vital2000/timing_p.vhdl | 1202 +++ 60 files changed, 91653 insertions(+), 1 deletion(-) create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std/env.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std/standard.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std/textio.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/arithmetic.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/attributes.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_arith.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_misc.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_signed.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_unsigned.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/synopsys/types.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/DSP48E1.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/MMCME2_ADV.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/PLLE2_ADV.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/vhdl_analyze_order create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTHE2_CHANNEL.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTXE2_CHANNEL.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDMACC_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDSUB_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SDP_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SINGLE_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_TDP_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_LOAD_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_TC_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/EQ_COMPARE_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_DUALCLOCK_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_SYNC_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/MACC_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/MULT_MACRO.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/unimacro_VCOMP.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/unimacro/vhdl_analyze_order create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_b.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_p.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_b.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_p.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_b.vhdl create mode 100644 resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_p.vhdl diff --git a/.gitignore b/.gitignore index ffccfbd..995ed11 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,4 @@ resources/hdlParser/parser.js resources/hdlParser/parser.wasm resources/dide-viewer/view/* resources/dide-lsp/server/* -resources/dide-lsp/static/* \ No newline at end of file +resources/dide-lsp/static/* diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl new file mode 100644 index 0000000..073cab4 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl @@ -0,0 +1,61 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Fixed Point and Floating Point types package +-- +-- Library : This package shall be compiled into a library +-- symbolically named IEEE. +-- +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- +-- Purpose : Definitions for use in fixed point and floating point +-- arithmetic packages +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package fixed_float_types is + + -- Types used for generics of fixed_generic_pkg + + type fixed_round_style_type is (fixed_round, fixed_truncate); + + type fixed_overflow_style_type is (fixed_saturate, fixed_wrap); + + -- Type used for generics of float_generic_pkg + + -- These are the same as the C FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, + -- and FE_TOWARDZERO floating point rounding macros. + + type round_type is (round_nearest, -- Default, nearest LSB '0' + round_inf, -- Round toward positive infinity + round_neginf, -- Round toward negative infinity + round_zero); -- Round toward zero (truncate) + +end package fixed_float_types; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl new file mode 100644 index 0000000..84e4f20 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl @@ -0,0 +1,6368 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Fixed-point package (Generic package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary fixed point arithmetic +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library IEEE; +use IEEE.MATH_REAL.all; + +package body fixed_generic_pkg is + -- Author David Bishop (dbishop@vhdl.org) + -- Other contributers: Jim Lewis, Yannick Grugni, Ryan W. Hilton + -- null array constants + constant NAUF : UNRESOLVED_ufixed (0 downto 1) := (others => '0'); + constant NASF : UNRESOLVED_sfixed (0 downto 1) := (others => '0'); + constant NSLV : STD_ULOGIC_VECTOR (0 downto 1) := (others => '0'); + + -- This differed constant will tell you if the package body is synthesizable + -- or implemented as real numbers, set to "true" if synthesizable. + constant fixedsynth_or_real : BOOLEAN := true; + + -- Special version of "minimum" to do some boundary checking without errors + function mins (l, r : INTEGER) + return INTEGER is + begin -- function mins + if (L = INTEGER'low or R = INTEGER'low) then + return 0; -- error condition, silent + end if; + return minimum (L, R); + end function mins; + + -- Special version of "minimum" to do some boundary checking with errors + function mine (l, r : INTEGER) + return INTEGER is + begin -- function mine + if (L = INTEGER'low or R = INTEGER'low) then + report fixed_generic_pkg'instance_name + & " Unbounded number passed, was a literal used?" + severity error; + return 0; + end if; + return minimum (L, R); + end function mine; + + -- The following functions are used only internally. Every function + -- calls "cleanvec" either directly or indirectly. + -- purpose: Fixes "downto" problem and resolves meta states + function cleanvec ( + arg : UNRESOLVED_sfixed) -- input + return UNRESOLVED_sfixed + is + constant left_index : INTEGER := maximum(arg'left, arg'right); + constant right_index : INTEGER := mins(arg'left, arg'right); + variable result : UNRESOLVED_sfixed (arg'range); + begin -- function cleanvec + assert not (arg'ascending and (arg'low /= INTEGER'low)) + report fixed_generic_pkg'instance_name + & " Vector passed using a ""to"" range, expected is ""downto""" + severity error; + return arg; + end function cleanvec; + + -- purpose: Fixes "downto" problem and resolves meta states + function cleanvec ( + arg : UNRESOLVED_ufixed) -- input + return UNRESOLVED_ufixed + is + constant left_index : INTEGER := maximum(arg'left, arg'right); + constant right_index : INTEGER := mins(arg'left, arg'right); + variable result : UNRESOLVED_ufixed (arg'range); + begin -- function cleanvec + assert not (arg'ascending and (arg'low /= INTEGER'low)) + report fixed_generic_pkg'instance_name + & " Vector passed using a ""to"" range, expected is ""downto""" + severity error; + return arg; + end function cleanvec; + + -- Type convert a "unsigned" into a "ufixed", used internally + function to_fixed ( + arg : UNRESOLVED_UNSIGNED; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (left_index downto right_index); + begin -- function to_fixed + result := UNRESOLVED_ufixed(arg); + return result; + end function to_fixed; + + -- Type convert a "signed" into an "sfixed", used internally + function to_fixed ( + arg : UNRESOLVED_SIGNED; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (left_index downto right_index); + begin -- function to_fixed + result := UNRESOLVED_sfixed(arg); + return result; + end function to_fixed; + + -- Type convert a "ufixed" into an "unsigned", used internally + function to_uns ( + arg : UNRESOLVED_ufixed) -- fp vector + return UNRESOLVED_UNSIGNED + is + subtype t is UNRESOLVED_UNSIGNED(arg'high - arg'low downto 0); + variable slv : t; + begin -- function to_uns + slv := t(arg); + return slv; + end function to_uns; + + -- Type convert an "sfixed" into a "signed", used internally + function to_s ( + arg : UNRESOLVED_sfixed) -- fp vector + return UNRESOLVED_SIGNED + is + subtype t is UNRESOLVED_SIGNED(arg'high - arg'low downto 0); + variable slv : t; + begin -- function to_s + slv := t(arg); + return slv; + end function to_s; + + -- adds 1 to the LSB of the number + procedure round_up (arg : in UNRESOLVED_ufixed; + result : out UNRESOLVED_ufixed; + overflowx : out BOOLEAN) is + variable arguns, resuns : UNRESOLVED_UNSIGNED (arg'high-arg'low+1 downto 0) + := (others => '0'); + begin -- round_up + arguns (arguns'high-1 downto 0) := to_uns (arg); + resuns := arguns + 1; + result := to_fixed(resuns(arg'high-arg'low + downto 0), arg'high, arg'low); + overflowx := (resuns(resuns'high) = '1'); + end procedure round_up; + + -- adds 1 to the LSB of the number + procedure round_up (arg : in UNRESOLVED_sfixed; + result : out UNRESOLVED_sfixed; + overflowx : out BOOLEAN) is + variable args, ress : UNRESOLVED_SIGNED (arg'high-arg'low+1 downto 0); + begin -- round_up + args (args'high-1 downto 0) := to_s (arg); + args(args'high) := arg(arg'high); -- sign extend + ress := args + 1; + result := to_fixed(ress (ress'high-1 + downto 0), arg'high, arg'low); + overflowx := ((arg(arg'high) /= ress(ress'high-1)) + and (or (STD_ULOGIC_VECTOR(ress)) /= '0')); + end procedure round_up; + + -- Rounding - Performs a "round_nearest" (IEEE 754) which rounds up + -- when the remainder is > 0.5. If the remainder IS 0.5 then if the + -- bottom bit is a "1" it is rounded, otherwise it remains the same. + function round_fixed (arg : UNRESOLVED_ufixed; + remainder : UNRESOLVED_ufixed; + overflow_style : fixed_overflow_style_type := fixed_overflow_style) + return UNRESOLVED_ufixed + is + variable rounds : BOOLEAN; + variable round_overflow : BOOLEAN; + variable result : UNRESOLVED_ufixed (arg'range); + begin + rounds := false; + if (remainder'length > 1) then + if (remainder (remainder'high) = '1') then + rounds := (arg(arg'low) = '1') + or (or (to_sulv(remainder(remainder'high-1 downto + remainder'low))) = '1'); + end if; + else + rounds := (arg(arg'low) = '1') and (remainder (remainder'high) = '1'); + end if; + if rounds then + round_up(arg => arg, + result => result, + overflowx => round_overflow); + else + result := arg; + end if; + if (overflow_style = fixed_saturate) and round_overflow then + result := saturate (result'high, result'low); + end if; + return result; + end function round_fixed; + + -- Rounding case statement + function round_fixed (arg : UNRESOLVED_sfixed; + remainder : UNRESOLVED_sfixed; + overflow_style : fixed_overflow_style_type := fixed_overflow_style) + return UNRESOLVED_sfixed + is + variable rounds : BOOLEAN; + variable round_overflow : BOOLEAN; + variable result : UNRESOLVED_sfixed (arg'range); + begin + rounds := false; + if (remainder'length > 1) then + if (remainder (remainder'high) = '1') then + rounds := (arg(arg'low) = '1') + or (or (to_sulv(remainder(remainder'high-1 downto + remainder'low))) = '1'); + end if; + else + rounds := (arg(arg'low) = '1') and (remainder (remainder'high) = '1'); + end if; + if rounds then + round_up(arg => arg, + result => result, + overflowx => round_overflow); + else + result := arg; + end if; + if round_overflow then + if (overflow_style = fixed_saturate) then + if arg(arg'high) = '0' then + result := saturate (result'high, result'low); + else + result := not saturate (result'high, result'low); + end if; + -- Sign bit not fixed when wrapping + end if; + end if; + return result; + end function round_fixed; + + -- converts an sfixed into a ufixed. The output is the same length as the + -- input, because abs("1000") = "1000" = 8. + function to_ufixed ( + arg : UNRESOLVED_sfixed) + return UNRESOLVED_ufixed + is + constant left_index : INTEGER := arg'high; + constant right_index : INTEGER := mine(arg'low, arg'low); + variable xarg : UNRESOLVED_sfixed(left_index+1 downto right_index); + variable result : UNRESOLVED_ufixed(left_index downto right_index); + begin + if arg'length < 1 then + return NAUF; + end if; + xarg := abs(arg); + result := UNRESOLVED_ufixed (xarg (left_index downto right_index)); + return result; + end function to_ufixed; + +----------------------------------------------------------------------------- +-- Visible functions +----------------------------------------------------------------------------- + + -- Conversion functions. These are needed for synthesis where typically + -- the only input and output type is a std_logic_vector. + function to_sulv ( + arg : UNRESOLVED_ufixed) -- fixed point vector + return STD_ULOGIC_VECTOR + is + variable result : STD_ULOGIC_VECTOR (arg'length-1 downto 0); + begin + if arg'length < 1 then + return NSLV; + end if; + result := STD_ULOGIC_VECTOR (arg); + return result; + end function to_sulv; + + function to_sulv ( + arg : UNRESOLVED_sfixed) -- fixed point vector + return STD_ULOGIC_VECTOR + is + variable result : STD_ULOGIC_VECTOR (arg'length-1 downto 0); + begin + if arg'length < 1 then + return NSLV; + end if; + result := STD_ULOGIC_VECTOR (arg); + return result; + end function to_sulv; + + function to_slv ( + arg : UNRESOLVED_ufixed) -- fixed point vector + return STD_LOGIC_VECTOR is + begin + return to_sulv(arg); + end function to_slv; + + function to_slv ( + arg : UNRESOLVED_sfixed) -- fixed point vector + return STD_LOGIC_VECTOR is + begin + return to_sulv(arg); + end function to_slv; + + function to_ufixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return unresolved_ufixed + is + variable result : UNRESOLVED_ufixed (left_index downto right_index); + begin + if (arg'length < 1 or right_index > left_index) then + return NAUF; + end if; + if (arg'length /= result'length) then + report fixed_generic_pkg'instance_name & "TO_UFIXED(SLV) " + & "Vector lengths do not match. Input length is " + & INTEGER'image(arg'length) & " and output will be " + & INTEGER'image(result'length) & " wide." + severity error; + return NAUF; + else + result := to_fixed (arg => UNRESOLVED_UNSIGNED(arg), + left_index => left_index, + right_index => right_index); + return result; + end if; + end function to_ufixed; + + function to_sfixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return unresolved_sfixed + is + variable result : UNRESOLVED_sfixed (left_index downto right_index); + begin + if (arg'length < 1 or right_index > left_index) then + return NASF; + end if; + if (arg'length /= result'length) then + report fixed_generic_pkg'instance_name & "TO_SFIXED(SLV) " + & "Vector lengths do not match. Input length is " + & INTEGER'image(arg'length) & " and output will be " + & INTEGER'image(result'length) & " wide." + severity error; + return NASF; + else + result := to_fixed (arg => UNRESOLVED_SIGNED(arg), + left_index => left_index, + right_index => right_index); + return result; + end if; + end function to_sfixed; + + -- Two's complement number, Grows the vector by 1 bit. + -- because "abs (1000.000) = 01000.000" or abs(-16) = 16. + function "abs" ( + arg : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed + is + constant left_index : INTEGER := arg'high; + constant right_index : INTEGER := mine(arg'low, arg'low); + variable ressns : UNRESOLVED_SIGNED (arg'length downto 0); + variable result : UNRESOLVED_sfixed (left_index+1 downto right_index); + begin + if (arg'length < 1 or result'length < 1) then + return NASF; + end if; + ressns (arg'length-1 downto 0) := to_s (cleanvec (arg)); + ressns (arg'length) := ressns (arg'length-1); -- expand sign bit + result := to_fixed (abs(ressns), left_index+1, right_index); + return result; + end function "abs"; + + -- also grows the vector by 1 bit. + function "-" ( + arg : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed + is + constant left_index : INTEGER := arg'high+1; + constant right_index : INTEGER := mine(arg'low, arg'low); + variable ressns : UNRESOLVED_SIGNED (arg'length downto 0); + variable result : UNRESOLVED_sfixed (left_index downto right_index); + begin + if (arg'length < 1 or result'length < 1) then + return NASF; + end if; + ressns (arg'length-1 downto 0) := to_s (cleanvec(arg)); + ressns (arg'length) := ressns (arg'length-1); -- expand sign bit + result := to_fixed (-ressns, left_index, right_index); + return result; + end function "-"; + + -- Addition + function "+" ( + l, r : UNRESOLVED_ufixed) -- ufixed(a downto b) + ufixed(c downto d) = + return UNRESOLVED_ufixed -- ufixed(max(a,c)+1 downto min(b,d)) + is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mine(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable result : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + begin + if (l'length < 1 or r'length < 1 or result'length < 1) then + return NAUF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + result_slv := lslv + rslv; + result := to_fixed(result_slv, left_index, right_index); + return result; + end function "+"; + + function "+" ( + l, r : UNRESOLVED_sfixed) -- sfixed(a downto b) + sfixed(c downto d) = + return UNRESOLVED_sfixed -- sfixed(max(a,c)+1 downto min(b,d)) + is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mine(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable result : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (left_index-right_index downto 0); + variable result_slv : UNRESOLVED_SIGNED (left_index-right_index downto 0); + begin + if (l'length < 1 or r'length < 1 or result'length < 1) then + return NASF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + result_slv := lslv + rslv; + result := to_fixed(result_slv, left_index, right_index); + return result; + end function "+"; + + -- Subtraction + function "-" ( + l, r : UNRESOLVED_ufixed) -- ufixed(a downto b) - ufixed(c downto d) = + return UNRESOLVED_ufixed -- ufixed(max(a,c)+1 downto min(b,d)) + is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mine(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable result : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + begin + if (l'length < 1 or r'length < 1 or result'length < 1) then + return NAUF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + result_slv := lslv - rslv; + result := to_fixed(result_slv, left_index, right_index); + return result; + end function "-"; + + function "-" ( + l, r : UNRESOLVED_sfixed) -- sfixed(a downto b) - sfixed(c downto d) = + return UNRESOLVED_sfixed -- sfixed(max(a,c)+1 downto min(b,d)) + is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mine(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable result : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (left_index-right_index downto 0); + variable result_slv : UNRESOLVED_SIGNED (left_index-right_index downto 0); + begin + if (l'length < 1 or r'length < 1 or result'length < 1) then + return NASF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + result_slv := lslv - rslv; + result := to_fixed(result_slv, left_index, right_index); + return result; + end function "-"; + + function "*" ( + l, r : UNRESOLVED_ufixed) -- ufixed(a downto b) * ufixed(c downto d) = + return UNRESOLVED_ufixed -- ufixed(a+c+1 downto b+d) + is + variable lslv : UNRESOLVED_UNSIGNED (l'length-1 downto 0); + variable rslv : UNRESOLVED_UNSIGNED (r'length-1 downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (r'length+l'length-1 downto 0); + variable result : UNRESOLVED_ufixed (l'high + r'high+1 downto + mine(l'low, l'low) + mine(r'low, r'low)); + begin + if (l'length < 1 or r'length < 1 or + result'length /= result_slv'length) then + return NAUF; + end if; + lslv := to_uns (cleanvec(l)); + rslv := to_uns (cleanvec(r)); + result_slv := lslv * rslv; + result := to_fixed (result_slv, result'high, result'low); + return result; + end function "*"; + + function "*" ( + l, r : UNRESOLVED_sfixed) -- sfixed(a downto b) * sfixed(c downto d) = + return UNRESOLVED_sfixed -- sfixed(a+c+1 downto b+d) + is + variable lslv : UNRESOLVED_SIGNED (l'length-1 downto 0); + variable rslv : UNRESOLVED_SIGNED (r'length-1 downto 0); + variable result_slv : UNRESOLVED_SIGNED (r'length+l'length-1 downto 0); + variable result : UNRESOLVED_sfixed (l'high + r'high+1 downto + mine(l'low, l'low) + mine(r'low, r'low)); + begin + if (l'length < 1 or r'length < 1 or + result'length /= result_slv'length) then + return NASF; + end if; + lslv := to_s (cleanvec(l)); + rslv := to_s (cleanvec(r)); + result_slv := lslv * rslv; + result := to_fixed (result_slv, result'high, result'low); + return result; + end function "*"; + + function "/" ( + l, r : UNRESOLVED_ufixed) -- ufixed(a downto b) / ufixed(c downto d) = + return UNRESOLVED_ufixed is -- ufixed(a-d downto b-c-1) + begin + return divide (l, r); + end function "/"; + + function "/" ( + l, r : UNRESOLVED_sfixed) -- sfixed(a downto b) / sfixed(c downto d) = + return UNRESOLVED_sfixed is -- sfixed(a-d+1 downto b-c) + begin + return divide (l, r); + end function "/"; + + -- This version of divide gives the user more control + -- ufixed(a downto b) / ufixed(c downto d) = ufixed(a-d downto b-c-1) + function divide ( + l, r : UNRESOLVED_ufixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (l'high - mine(r'low, r'low) downto + mine (l'low, l'low) - r'high -1); + variable dresult : UNRESOLVED_ufixed (result'high downto result'low -guard_bits); + variable lresize : UNRESOLVED_ufixed (l'high downto l'high - dresult'length+1); + variable lslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + variable rslv : UNRESOLVED_UNSIGNED (r'length-1 downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1 or + mins(r'low, r'low) /= r'low or mins(l'low, l'low) /= l'low) then + return NAUF; + end if; + lresize := resize (arg => l, + left_index => lresize'high, + right_index => lresize'low, + overflow_style => fixed_wrap, -- vector only grows + round_style => fixed_truncate); + lslv := to_uns (cleanvec (lresize)); + rslv := to_uns (cleanvec (r)); + if (rslv = 0) then + report fixed_generic_pkg'instance_name + & "DIVIDE(ufixed) Division by zero" severity error; + result := saturate (result'high, result'low); -- saturate + else + result_slv := lslv / rslv; + dresult := to_fixed (result_slv, dresult'high, dresult'low); + result := resize (arg => dresult, + left_index => result'high, + right_index => result'low, + overflow_style => fixed_wrap, -- overflow impossible + round_style => round_style); + end if; + return result; + end function divide; + + -- sfixed(a downto b) / sfixed(c downto d) = sfixed(a-d+1 downto b-c) + function divide ( + l, r : UNRESOLVED_sfixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (l'high - mine(r'low, r'low) + 1 downto + mine (l'low, l'low) - r'high); + variable dresult : UNRESOLVED_sfixed (result'high downto result'low-guard_bits); + variable lresize : UNRESOLVED_sfixed (l'high+1 downto l'high+1 -dresult'length+1); + variable lslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + variable rslv : UNRESOLVED_SIGNED (r'length-1 downto 0); + variable result_slv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1 or + mins(r'low, r'low) /= r'low or mins(l'low, l'low) /= l'low) then + return NASF; + end if; + lresize := resize (arg => l, + left_index => lresize'high, + right_index => lresize'low, + overflow_style => fixed_wrap, -- vector only grows + round_style => fixed_truncate); + lslv := to_s (cleanvec (lresize)); + rslv := to_s (cleanvec (r)); + if (rslv = 0) then + report fixed_generic_pkg'instance_name + & "DIVIDE(sfixed) Division by zero" severity error; + result := saturate (result'high, result'low); + else + result_slv := lslv / rslv; + dresult := to_fixed (result_slv, dresult'high, dresult'low); + result := resize (arg => dresult, + left_index => result'high, + right_index => result'low, + overflow_style => fixed_wrap, -- overflow impossible + round_style => round_style); + end if; + return result; + end function divide; + + -- 1 / ufixed(a downto b) = ufixed(-b downto -a-1) + function reciprocal ( + arg : UNRESOLVED_ufixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed + is + constant one : UNRESOLVED_ufixed (0 downto 0) := "1"; + begin + return divide (l => one, + r => arg, + round_style => round_style, + guard_bits => guard_bits); + end function reciprocal; + + -- 1 / sfixed(a downto b) = sfixed(-b+1 downto -a) + function reciprocal ( + arg : UNRESOLVED_sfixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed + is + constant one : UNRESOLVED_sfixed (1 downto 0) := "01"; -- extra bit. + variable resultx : UNRESOLVED_sfixed (-mine(arg'low, arg'low)+2 downto -arg'high); + begin + if (arg'length < 1 or resultx'length < 1) then + return NASF; + else + resultx := divide (l => one, + r => arg, + round_style => round_style, + guard_bits => guard_bits); + return resultx (resultx'high-1 downto resultx'low); -- remove extra bit + end if; + end function reciprocal; + + -- ufixed (a downto b) rem ufixed (c downto d) + -- = ufixed (min(a,c) downto min(b,d)) + function "rem" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return remainder (l, r); + end function "rem"; + + -- remainder + -- sfixed (a downto b) rem sfixed (c downto d) + -- = sfixed (min(a,c) downto min(b,d)) + function "rem" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return remainder (l, r); + end function "rem"; + + -- ufixed (a downto b) rem ufixed (c downto d) + -- = ufixed (min(a,c) downto min(b,d)) + function remainder ( + l, r : UNRESOLVED_ufixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (minimum(l'high, r'high) downto + mine(l'low, r'low)); + variable lresize : UNRESOLVED_ufixed (maximum(l'high, r'low) downto + mins(r'low, r'low)-guard_bits); + variable rresize : UNRESOLVED_ufixed (r'high downto r'low-guard_bits); + variable dresult : UNRESOLVED_ufixed (rresize'range); + variable lslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + variable rslv : UNRESOLVED_UNSIGNED (rresize'length-1 downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (rslv'range); + begin + if (l'length < 1 or r'length < 1 or + mins(r'low, r'low) /= r'low or mins(l'low, l'low) /= l'low) then + return NAUF; + end if; + lresize := resize (arg => l, + left_index => lresize'high, + right_index => lresize'low, + overflow_style => fixed_wrap, -- vector only grows + round_style => fixed_truncate); + lslv := to_uns (lresize); + rresize := resize (arg => r, + left_index => rresize'high, + right_index => rresize'low, + overflow_style => fixed_wrap, -- vector only grows + round_style => fixed_truncate); + rslv := to_uns (rresize); + if (rslv = 0) then + report fixed_generic_pkg'instance_name + & "remainder(ufixed) Division by zero" severity error; + result := saturate (result'high, result'low); -- saturate + else + if (r'low <= l'high) then + result_slv := lslv rem rslv; + dresult := to_fixed (result_slv, dresult'high, dresult'low); + result := resize (arg => dresult, + left_index => result'high, + right_index => result'low, + overflow_style => fixed_wrap, -- can't overflow + round_style => round_style); + end if; + if l'low < r'low then + result(mins(r'low-1, l'high) downto l'low) := + cleanvec(l(mins(r'low-1, l'high) downto l'low)); + end if; + end if; + return result; + end function remainder; + + -- remainder + -- sfixed (a downto b) rem sfixed (c downto d) + -- = sfixed (min(a,c) downto min(b,d)) + function remainder ( + l, r : UNRESOLVED_sfixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed + is + variable l_abs : UNRESOLVED_ufixed (l'range); + variable r_abs : UNRESOLVED_ufixed (r'range); + variable result : UNRESOLVED_sfixed (minimum(r'high, l'high) downto + mine(r'low, l'low)); + variable neg_result : UNRESOLVED_sfixed (minimum(r'high, l'high)+1 downto + mins(r'low, l'low)); + begin + if (l'length < 1 or r'length < 1 or + mins(r'low, r'low) /= r'low or mins(l'low, l'low) /= l'low) then + return NASF; + end if; + l_abs := to_ufixed (l); + r_abs := to_ufixed (r); + result := UNRESOLVED_sfixed (remainder ( + l => l_abs, + r => r_abs, + round_style => round_style)); + neg_result := -result; + if l(l'high) = '1' then + result := neg_result(result'range); + end if; + return result; + end function remainder; + + -- modulo + -- ufixed (a downto b) mod ufixed (c downto d) + -- = ufixed (min(a,c) downto min(b, d)) + function "mod" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return modulo (l, r); + end function "mod"; + + -- sfixed (a downto b) mod sfixed (c downto d) + -- = sfixed (c downto min(b, d)) + function "mod" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return modulo(l, r); + end function "mod"; + + -- modulo + -- ufixed (a downto b) mod ufixed (c downto d) + -- = ufixed (min(a,c) downto min(b, d)) + function modulo ( + l, r : UNRESOLVED_ufixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed is + begin + return remainder(l => l, + r => r, + round_style => round_style, + guard_bits => guard_bits); + end function modulo; + + -- sfixed (a downto b) mod sfixed (c downto d) + -- = sfixed (c downto min(b, d)) + function modulo ( + l, r : UNRESOLVED_sfixed; -- fixed point input + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed + is + variable l_abs : UNRESOLVED_ufixed (l'range); + variable r_abs : UNRESOLVED_ufixed (r'range); + variable result : UNRESOLVED_sfixed (r'high downto + mine(r'low, l'low)); + variable dresult : UNRESOLVED_sfixed (minimum(r'high, l'high)+1 downto + mins(r'low, l'low)); + variable dresult_not_zero : BOOLEAN; + begin + if (l'length < 1 or r'length < 1 or + mins(r'low, r'low) /= r'low or mins(l'low, l'low) /= l'low) then + return NASF; + end if; + l_abs := to_ufixed (l); + r_abs := to_ufixed (r); + dresult := "0" & UNRESOLVED_sfixed(remainder (l => l_abs, + r => r_abs, + round_style => round_style)); + if (to_s(dresult) = 0) then + dresult_not_zero := false; + else + dresult_not_zero := true; + end if; + if to_x01(l(l'high)) = '1' and to_x01(r(r'high)) = '0' + and dresult_not_zero then + result := resize (arg => r - dresult, + left_index => result'high, + right_index => result'low, + overflow_style => overflow_style, + round_style => round_style); + elsif to_x01(l(l'high)) = '1' and to_x01(r(r'high)) = '1' then + result := resize (arg => -dresult, + left_index => result'high, + right_index => result'low, + overflow_style => overflow_style, + round_style => round_style); + elsif to_x01(l(l'high)) = '0' and to_x01(r(r'high)) = '1' + and dresult_not_zero then + result := resize (arg => dresult + r, + left_index => result'high, + right_index => result'low, + overflow_style => overflow_style, + round_style => round_style); + else + result := resize (arg => dresult, + left_index => result'high, + right_index => result'low, + overflow_style => overflow_style, + round_style => round_style); + end if; + return result; + end function modulo; + + -- Procedure for those who need an "accumulator" function + procedure add_carry ( + L, R : in UNRESOLVED_ufixed; + c_in : in STD_ULOGIC; + result : out UNRESOLVED_ufixed; + c_out : out STD_ULOGIC) is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + variable result_slv : UNRESOLVED_UNSIGNED (left_index-right_index + downto 0); + variable cx : UNRESOLVED_UNSIGNED (0 downto 0); -- Carry in + begin + if (l'length < 1 or r'length < 1) then + result := NAUF; + c_out := '0'; + else + cx (0) := c_in; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + result_slv := lslv + rslv + cx; + c_out := result_slv(left_index); + result := to_fixed(result_slv (left_index-right_index-1 downto 0), + left_index-1, right_index); + end if; + end procedure add_carry; + + procedure add_carry ( + L, R : in UNRESOLVED_sfixed; + c_in : in STD_ULOGIC; + result : out UNRESOLVED_sfixed; + c_out : out STD_ULOGIC) is + constant left_index : INTEGER := maximum(l'high, r'high)+1; + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (left_index-right_index + downto 0); + variable result_slv : UNRESOLVED_SIGNED (left_index-right_index + downto 0); + variable cx : UNRESOLVED_SIGNED (1 downto 0); -- Carry in + begin + if (l'length < 1 or r'length < 1) then + result := NASF; + c_out := '0'; + else + cx (1) := '0'; + cx (0) := c_in; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + result_slv := lslv + rslv + cx; + c_out := result_slv(left_index); + result := to_fixed(result_slv (left_index-right_index-1 downto 0), + left_index-1, right_index); + end if; + end procedure add_carry; + + -- Scales the result by a power of 2. Width of input = width of output with + -- the decimal point moved. + function scalb (y : UNRESOLVED_ufixed; N : INTEGER) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (y'high+N downto y'low+N); + begin + if y'length < 1 then + return NAUF; + else + result := y; + return result; + end if; + end function scalb; + + function scalb (y : UNRESOLVED_ufixed; N : UNRESOLVED_SIGNED) + return UNRESOLVED_ufixed is + begin + return scalb (y => y, + N => to_integer(N)); + end function scalb; + + function scalb (y : UNRESOLVED_sfixed; N : INTEGER) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (y'high+N downto y'low+N); + begin + if y'length < 1 then + return NASF; + else + result := y; + return result; + end if; + end function scalb; + + function scalb (y : UNRESOLVED_sfixed; N : UNRESOLVED_SIGNED) + return UNRESOLVED_sfixed is + begin + return scalb (y => y, + N => to_integer(N)); + end function scalb; + + function Is_Negative (arg : UNRESOLVED_sfixed) return BOOLEAN is + begin + if to_X01(arg(arg'high)) = '1' then + return true; + else + return false; + end if; + end function Is_Negative; + + function find_rightmost (arg : UNRESOLVED_ufixed; y : STD_ULOGIC) + return INTEGER is + begin + for_loop : for i in arg'reverse_range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'high+1; -- return out of bounds 'high + end function find_rightmost; + + function find_leftmost (arg : UNRESOLVED_ufixed; y : STD_ULOGIC) + return INTEGER is + begin + for_loop : for i in arg'range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'low-1; -- return out of bounds 'low + end function find_leftmost; + + function find_rightmost (arg : UNRESOLVED_sfixed; y : STD_ULOGIC) + return INTEGER is + begin + for_loop : for i in arg'reverse_range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'high+1; -- return out of bounds 'high + end function find_rightmost; + + function find_leftmost (arg : UNRESOLVED_sfixed; y : STD_ULOGIC) + return INTEGER is + begin + for_loop : for i in arg'range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'low-1; -- return out of bounds 'low + end function find_leftmost; + + function "sll" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + argslv := argslv sll COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sll"; + + function "srl" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + argslv := argslv srl COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "srl"; + + function "rol" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + argslv := argslv rol COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "rol"; + + function "ror" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + argslv := argslv ror COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "ror"; + + function "sla" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + -- Arithmetic shift on an unsigned is a logical shift + argslv := argslv sll COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sla"; + + function "sra" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed + is + variable argslv : UNRESOLVED_UNSIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_ufixed (arg'range); + begin + argslv := to_uns (arg); + -- Arithmetic shift on an unsigned is a logical shift + argslv := argslv srl COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sra"; + + function "sll" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + argslv := argslv sll COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sll"; + + function "srl" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + argslv := argslv srl COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "srl"; + + function "rol" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + argslv := argslv rol COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "rol"; + + function "ror" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + argslv := argslv ror COUNT; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "ror"; + + function "sla" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + if COUNT > 0 then + -- Arithmetic shift left on a 2's complement number is a logic shift + argslv := argslv sll COUNT; + else + argslv := argslv sra -COUNT; + end if; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sla"; + + function "sra" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed + is + variable argslv : UNRESOLVED_SIGNED (arg'length-1 downto 0); + variable result : UNRESOLVED_sfixed (arg'range); + begin + argslv := to_s (arg); + if COUNT > 0 then + argslv := argslv sra COUNT; + else + -- Arithmetic shift left on a 2's complement number is a logic shift + argslv := argslv sll -COUNT; + end if; + result := to_fixed (argslv, result'high, result'low); + return result; + end function "sra"; + + -- Because some people want the older functions. + function SHIFT_LEFT (ARG : UNRESOLVED_ufixed; COUNT : NATURAL) + return UNRESOLVED_ufixed is + begin + if (ARG'length < 1) then + return NAUF; + end if; + return ARG sla COUNT; + end function SHIFT_LEFT; + + function SHIFT_RIGHT (ARG : UNRESOLVED_ufixed; COUNT : NATURAL) + return UNRESOLVED_ufixed is + begin + if (ARG'length < 1) then + return NAUF; + end if; + return ARG sra COUNT; + end function SHIFT_RIGHT; + + function SHIFT_LEFT (ARG : UNRESOLVED_sfixed; COUNT : NATURAL) + return UNRESOLVED_sfixed is + begin + if (ARG'length < 1) then + return NASF; + end if; + return ARG sla COUNT; + end function SHIFT_LEFT; + + function SHIFT_RIGHT (ARG : UNRESOLVED_sfixed; COUNT : NATURAL) + return UNRESOLVED_sfixed is + begin + if (ARG'length < 1) then + return NASF; + end if; + return ARG sra COUNT; + end function SHIFT_RIGHT; + + ---------------------------------------------------------------------------- + -- logical functions + ---------------------------------------------------------------------------- + function "not" (L : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + RESULT := not to_sulv(L); + return to_ufixed(RESULT, L'high, L'low); + end function "not"; + + function "and" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) and to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """and"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "and"; + + function "or" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) or to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """or"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "or"; + + function "nand" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nand to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """nand"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "nand"; + + function "nor" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """nor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "nor"; + + function "xor" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """xor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "xor"; + + function "xnor" (L, R : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xnor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """xnor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_ufixed(RESULT, L'high, L'low); + end function "xnor"; + + function "not" (L : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + RESULT := not to_sulv(L); + return to_sfixed(RESULT, L'high, L'low); + end function "not"; + + function "and" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) and to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """and"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "and"; + + function "or" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) or to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """or"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "or"; + + function "nand" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nand to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """nand"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "nand"; + + function "nor" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """nor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "nor"; + + function "xor" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """xor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "xor"; + + function "xnor" (L, R : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xnor to_sulv(R); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """xnor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_sfixed(RESULT, L'high, L'low); + end function "xnor"; + + -- Vector and std_ulogic functions, same as functions in numeric_std + function "and" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L and R(i); + end loop; + return result; + end function "and"; + + function "and" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) and R; + end loop; + return result; + end function "and"; + + function "or" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L or R(i); + end loop; + return result; + end function "or"; + + function "or" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) or R; + end loop; + return result; + end function "or"; + + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L nand R(i); + end loop; + return result; + end function "nand"; + + function "nand" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) nand R; + end loop; + return result; + end function "nand"; + + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L nor R(i); + end loop; + return result; + end function "nor"; + + function "nor" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) nor R; + end loop; + return result; + end function "nor"; + + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L xor R(i); + end loop; + return result; + end function "xor"; + + function "xor" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) xor R; + end loop; + return result; + end function "xor"; + + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (R'range); + begin + for i in result'range loop + result(i) := L xnor R(i); + end loop; + return result; + end function "xnor"; + + function "xnor" (L : UNRESOLVED_ufixed; R : STD_ULOGIC) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (L'range); + begin + for i in result'range loop + result(i) := L(i) xnor R; + end loop; + return result; + end function "xnor"; + + function "and" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L and R(i); + end loop; + return result; + end function "and"; + + function "and" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) and R; + end loop; + return result; + end function "and"; + + function "or" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L or R(i); + end loop; + return result; + end function "or"; + + function "or" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) or R; + end loop; + return result; + end function "or"; + + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L nand R(i); + end loop; + return result; + end function "nand"; + + function "nand" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) nand R; + end loop; + return result; + end function "nand"; + + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L nor R(i); + end loop; + return result; + end function "nor"; + + function "nor" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) nor R; + end loop; + return result; + end function "nor"; + + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L xor R(i); + end loop; + return result; + end function "xor"; + + function "xor" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) xor R; + end loop; + return result; + end function "xor"; + + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (R'range); + begin + for i in result'range loop + result(i) := L xnor R(i); + end loop; + return result; + end function "xnor"; + + function "xnor" (L : UNRESOLVED_sfixed; R : STD_ULOGIC) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (L'range); + begin + for i in result'range loop + result(i) := L(i) xnor R; + end loop; + return result; + end function "xnor"; + + -- Reduction operators + function "and" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return and to_sulv(l); + end function "and"; + + function "nand" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return nand to_sulv(l); + end function "nand"; + + function "or" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return or to_sulv(l); + end function "or"; + + function "nor" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return nor to_sulv(l); + end function "nor"; + + function "xor" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return xor to_sulv(l); + end function "xor"; + + function "xnor" (l : UNRESOLVED_ufixed) return STD_ULOGIC is + begin + return xnor to_sulv(l); + end function "xnor"; + + function "and" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return and to_sulv(l); + end function "and"; + + function "nand" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return nand to_sulv(l); + end function "nand"; + + function "or" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return or to_sulv(l); + end function "or"; + + function "nor" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return nor to_sulv(l); + end function "nor"; + + function "xor" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return xor to_sulv(l); + end function "xor"; + + function "xnor" (l : UNRESOLVED_sfixed) return STD_ULOGIC is + begin + return xnor to_sulv(l); + end function "xnor"; + -- End reduction operators + + function "?=" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?= rslv; + end if; + end function "?="; + + function "?/=" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?/= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?/="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?/= rslv; + end if; + end function "?/="; + + function "?>" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?> + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?>"": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?> rslv; + end if; + end function "?>"; + + function "?>=" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?>= + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?>="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?>= rslv; + end if; + end function "?>="; + + function "?<" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?< + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?<"": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?< rslv; + end if; + end function "?<"; + + function "?<=" (L, R : UNRESOLVED_ufixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin -- ?<= + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?<="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv ?<= rslv; + end if; + end function "?<="; + + function "?=" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?= rslv; + end if; + end function "?="; + + function "?/=" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?/= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?/="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?/= rslv; + end if; + end function "?/="; + + function "?>" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?> + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?>"": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?> rslv; + end if; + end function "?>"; + + function "?>=" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?>= + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?>="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?>= rslv; + end if; + end function "?>="; + + function "?<" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?< + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?<"": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?< rslv; + end if; + end function "?<"; + + function "?<=" (L, R : UNRESOLVED_sfixed) return STD_ULOGIC is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin -- ?<= + if ((l'length < 1) or (r'length < 1)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """?<="": null detected, returning X" + severity warning; + return 'X'; + else + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv ?<= rslv; + end if; + end function "?<="; + + -- Match function, similar to "std_match" from numeric_std + function std_match (L, R : UNRESOLVED_ufixed) return BOOLEAN is + begin + if (L'high = R'high and L'low = R'low) then + return std_match(to_sulv(L), to_sulv(R)); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "STD_MATCH: L'RANGE /= R'RANGE, returning FALSE" + severity warning; + return false; + end if; + end function std_match; + + function std_match (L, R : UNRESOLVED_sfixed) return BOOLEAN is + begin + if (L'high = R'high and L'low = R'low) then + return std_match(to_sulv(L), to_sulv(R)); + else + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "STD_MATCH: L'RANGE /= R'RANGE, returning FALSE" + severity warning; + return false; + end if; + end function std_match; + + -- compare functions + function "=" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv = rslv; + end function "="; + + function "=" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv = rslv; + end function "="; + + function "/=" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """/="": null argument detected, returning TRUE" + severity warning; + return true; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv /= rslv; + end function "/="; + + function "/=" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """/="": null argument detected, returning TRUE" + severity warning; + return true; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv /= rslv; + end function "/="; + + function ">" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>"": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv > rslv; + end function ">"; + + function ">" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>"": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv > rslv; + end function ">"; + + function "<" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<"": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv < rslv; + end function "<"; + + function "<" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<"": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv < rslv; + end function "<"; + + function ">=" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv >= rslv; + end function ">="; + + function ">=" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """>="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv >= rslv; + end function ">="; + + function "<=" ( + l, r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_UNSIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_uns (lresize); + rslv := to_uns (rresize); + return lslv <= rslv; + end function "<="; + + function "<=" ( + l, r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN + is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + variable lslv, rslv : UNRESOLVED_SIGNED (lresize'length-1 downto 0); + begin + if (l'length < 1 or r'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<="": null argument detected, returning FALSE" + severity warning; + return false; + elsif (Is_X(l) or Is_X(r)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & """<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + lslv := to_s (lresize); + rslv := to_s (rresize); + return lslv <= rslv; + end function "<="; + + -- overloads of the default maximum and minimum functions + function maximum (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + begin + if (l'length < 1 or r'length < 1) then + return NAUF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + return to_fixed(maximum(to_uns(lresize), to_uns(rresize)), + left_index, right_index); + end function maximum; + + function maximum (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + begin + if (l'length < 1 or r'length < 1) then + return NASF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + return to_fixed(maximum(to_s(lresize), to_s(rresize)), + left_index, right_index); + end function maximum; + + function minimum (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_ufixed (left_index downto right_index); + begin + if (l'length < 1 or r'length < 1) then + return NAUF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + return to_fixed(minimum(to_uns(lresize), to_uns(rresize)), + left_index, right_index); + end function minimum; + + function minimum (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed is + constant left_index : INTEGER := maximum(l'high, r'high); + constant right_index : INTEGER := mins(l'low, r'low); + variable lresize, rresize : UNRESOLVED_sfixed (left_index downto right_index); + begin + if (l'length < 1 or r'length < 1) then + return NASF; + end if; + lresize := resize (l, left_index, right_index); + rresize := resize (r, left_index, right_index); + return to_fixed(minimum(to_s(lresize), to_s(rresize)), + left_index, right_index); + end function minimum; + + function to_ufixed ( + arg : NATURAL; -- integer + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mins (right_index, right_index); -- catch literals + variable result : UNRESOLVED_ufixed (left_index downto fw); + variable sresult : UNRESOLVED_ufixed (left_index downto 0) := + (others => '0'); -- integer portion + variable argx : NATURAL; -- internal version of arg + begin + if (result'length < 1) then + return NAUF; + end if; + if arg /= 0 then + argx := arg; + for I in 0 to sresult'left loop + if (argx mod 2) = 0 then + sresult(I) := '0'; + else + sresult(I) := '1'; + end if; + argx := argx/2; + end loop; + if argx /= 0 then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_UFIXED(NATURAL): vector truncated" + severity warning; + if overflow_style = fixed_saturate then + return saturate (left_index, right_index); + end if; + end if; + result := resize (arg => sresult, + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + else + result := (others => '0'); + end if; + return result; + end function to_ufixed; + + function to_sfixed ( + arg : INTEGER; -- integer + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mins (right_index, right_index); -- catch literals + variable result : UNRESOLVED_sfixed (left_index downto fw); + variable sresult : UNRESOLVED_sfixed (left_index downto 0) := + (others => '0'); -- integer portion + variable argx : INTEGER; -- internal version of arg + variable sign : STD_ULOGIC; -- sign of input + begin + if (result'length < 1) then -- null range + return NASF; + end if; + if arg /= 0 then + if (arg < 0) then + sign := '1'; + argx := -(arg + 1); + else + sign := '0'; + argx := arg; + end if; + for I in 0 to sresult'left loop + if (argx mod 2) = 0 then + sresult(I) := sign; + else + sresult(I) := not sign; + end if; + argx := argx/2; + end loop; + if argx /= 0 or left_index < 0 or sign /= sresult(sresult'left) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_SFIXED(INTEGER): vector truncated" + severity warning; + if overflow_style = fixed_saturate then -- saturate + if arg < 0 then + result := not saturate (result'high, result'low); -- underflow + else + result := saturate (result'high, result'low); -- overflow + end if; + return result; + end if; + end if; + result := resize (arg => sresult, + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + else + result := (others => '0'); + end if; + return result; + end function to_sfixed; + + function to_ufixed ( + arg : REAL; -- real + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) -- # of guard bits + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mins (right_index, right_index); -- catch literals + variable result : UNRESOLVED_ufixed (left_index downto fw) := + (others => '0'); + variable Xresult : UNRESOLVED_ufixed (left_index downto + fw-guard_bits) := + (others => '0'); + variable presult : REAL; + begin + -- If negative or null range, return. + if (left_index < fw) then + return NAUF; + end if; + if (arg < 0.0) then + report fixed_generic_pkg'instance_name + & "TO_UFIXED: Negative argument passed " + & REAL'image(arg) severity error; + return result; + end if; + presult := arg; + if presult >= (2.0**(left_index+1)) then + assert NO_WARNING report fixed_generic_pkg'instance_name + & "TO_UFIXED(REAL): vector truncated" + severity warning; + if overflow_style = fixed_wrap then + presult := presult mod (2.0**(left_index+1)); -- wrap + else + return saturate (result'high, result'low); + end if; + end if; + for i in Xresult'range loop + if presult >= 2.0**i then + Xresult(i) := '1'; + presult := presult - 2.0**i; + else + Xresult(i) := '0'; + end if; + end loop; + if guard_bits > 0 and round_style = fixed_round then + result := round_fixed (arg => Xresult (left_index + downto right_index), + remainder => Xresult (right_index-1 downto + right_index-guard_bits), + overflow_style => overflow_style); + else + result := Xresult (result'range); + end if; + return result; + end function to_ufixed; + + function to_sfixed ( + arg : REAL; -- real + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) -- # of guard bits + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mins (right_index, right_index); -- catch literals + variable result : UNRESOLVED_sfixed (left_index downto fw) := + (others => '0'); + variable Xresult : UNRESOLVED_sfixed (left_index+1 downto fw-guard_bits) := + (others => '0'); + variable presult : REAL; + begin + if (left_index < fw) then -- null range + return NASF; + end if; + if (arg >= (2.0**left_index) or arg < -(2.0**left_index)) then + assert NO_WARNING report fixed_generic_pkg'instance_name + & "TO_SFIXED(REAL): vector truncated" + severity warning; + if overflow_style = fixed_saturate then + if arg < 0.0 then -- saturate + result := not saturate (result'high, result'low); -- underflow + else + result := saturate (result'high, result'low); -- overflow + end if; + return result; + else + presult := abs(arg) mod (2.0**(left_index+1)); -- wrap + end if; + else + presult := abs(arg); + end if; + for i in Xresult'range loop + if presult >= 2.0**i then + Xresult(i) := '1'; + presult := presult - 2.0**i; + else + Xresult(i) := '0'; + end if; + end loop; + if arg < 0.0 then + Xresult := to_fixed(-to_s(Xresult), Xresult'high, Xresult'low); + end if; + if guard_bits > 0 and round_style = fixed_round then + result := round_fixed (arg => Xresult (left_index + downto right_index), + remainder => Xresult (right_index-1 downto + right_index-guard_bits), + overflow_style => overflow_style); + else + result := Xresult (result'range); + end if; + return result; + end function to_sfixed; + + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED; -- unsigned + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_UNSIGNED(ARG_LEFT downto 0) is ARG; + variable result : UNRESOLVED_ufixed (left_index downto right_index); + begin + if arg'length < 1 or (left_index < right_index) then + return NAUF; + end if; + result := resize (arg => UNRESOLVED_ufixed (XARG), + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + return result; + end function to_ufixed; + + -- converted version + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED) -- unsigned + return UNRESOLVED_ufixed + is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_UNSIGNED(ARG_LEFT downto 0) is ARG; + begin + if arg'length < 1 then + return NAUF; + end if; + return UNRESOLVED_ufixed(xarg); + end function to_ufixed; + + function to_sfixed ( + arg : UNRESOLVED_SIGNED; -- signed + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_SIGNED(ARG_LEFT downto 0) is ARG; + variable result : UNRESOLVED_sfixed (left_index downto right_index); + begin + if arg'length < 1 or (left_index < right_index) then + return NASF; + end if; + result := resize (arg => UNRESOLVED_sfixed (XARG), + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + return result; + end function to_sfixed; + + -- converted version + function to_sfixed ( + arg : UNRESOLVED_SIGNED) -- signed + return UNRESOLVED_sfixed + is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_SIGNED(ARG_LEFT downto 0) is ARG; + begin + if arg'length < 1 then + return NASF; + end if; + return UNRESOLVED_sfixed(xarg); + end function to_sfixed; + + function to_sfixed (arg : UNRESOLVED_ufixed) return UNRESOLVED_sfixed is + variable result : UNRESOLVED_sfixed (arg'high+1 downto arg'low); + begin + if arg'length < 1 then + return NASF; + end if; + result (arg'high downto arg'low) := UNRESOLVED_sfixed(cleanvec(arg)); + result (arg'high+1) := '0'; + return result; + end function to_sfixed; + + -- Because of the fairly complicated sizing rules in the fixed point + -- packages these functions are provided to compute the result ranges + -- Example: + -- signal uf1 : ufixed (3 downto -3); + -- signal uf2 : ufixed (4 downto -2); + -- signal uf1multuf2 : ufixed (ufixed_high (3, -3, '*', 4, -2) downto + -- ufixed_low (3, -3, '*', 4, -2)); + -- uf1multuf2 <= uf1 * uf2; + -- Valid characters: '+', '-', '*', '/', 'r' or 'R' (rem), 'm' or 'M' (mod), + -- '1' (reciprocal), 'A', 'a' (abs), 'N', 'n' (-sfixed) + function ufixed_high (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER is + begin + case operation is + when '+'| '-' => return maximum (left_index, left_index2) + 1; + when '*' => return left_index + left_index2 + 1; + when '/' => return left_index - right_index2; + when '1' => return -right_index; -- reciprocal + when 'R'|'r' => return mins (left_index, left_index2); -- "rem" + when 'M'|'m' => return mins (left_index, left_index2); -- "mod" + when others => return left_index; -- For abs and default + end case; + end function ufixed_high; + + function ufixed_low (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER is + begin + case operation is + when '+'| '-' => return mins (right_index, right_index2); + when '*' => return right_index + right_index2; + when '/' => return right_index - left_index2 - 1; + when '1' => return -left_index - 1; -- reciprocal + when 'R'|'r' => return mins (right_index, right_index2); -- "rem" + when 'M'|'m' => return mins (right_index, right_index2); -- "mod" + when others => return right_index; -- for abs and default + end case; + end function ufixed_low; + + function sfixed_high (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER is + begin + case operation is + when '+'| '-' => return maximum (left_index, left_index2) + 1; + when '*' => return left_index + left_index2 + 1; + when '/' => return left_index - right_index2 + 1; + when '1' => return -right_index + 1; -- reciprocal + when 'R'|'r' => return mins (left_index, left_index2); -- "rem" + when 'M'|'m' => return left_index2; -- "mod" + when 'A'|'a' => return left_index + 1; -- "abs" + when 'N'|'n' => return left_index + 1; -- -sfixed + when others => return left_index; + end case; + end function sfixed_high; + + function sfixed_low (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER is + begin + case operation is + when '+'| '-' => return mins (right_index, right_index2); + when '*' => return right_index + right_index2; + when '/' => return right_index - left_index2; + when '1' => return -left_index; -- reciprocal + when 'R'|'r' => return mins (right_index, right_index2); -- "rem" + when 'M'|'m' => return mins (right_index, right_index2); -- "mod" + when others => return right_index; -- default for abs, neg and default + end case; + end function sfixed_low; + + -- Same as above, but using the "size_res" input only for their ranges: + -- signal uf1multuf2 : ufixed (ufixed_high (uf1, '*', uf2) downto + -- ufixed_low (uf1, '*', uf2)); + -- uf1multuf2 <= uf1 * uf2; + function ufixed_high (size_res : UNRESOLVED_ufixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_ufixed) + return INTEGER is + begin + return ufixed_high (left_index => size_res'high, + right_index => size_res'low, + operation => operation, + left_index2 => size_res2'high, + right_index2 => size_res2'low); + end function ufixed_high; + + function ufixed_low (size_res : UNRESOLVED_ufixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_ufixed) + return INTEGER is + begin + return ufixed_low (left_index => size_res'high, + right_index => size_res'low, + operation => operation, + left_index2 => size_res2'high, + right_index2 => size_res2'low); + end function ufixed_low; + + function sfixed_high (size_res : UNRESOLVED_sfixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_sfixed) + return INTEGER is + begin + return sfixed_high (left_index => size_res'high, + right_index => size_res'low, + operation => operation, + left_index2 => size_res2'high, + right_index2 => size_res2'low); + end function sfixed_high; + + function sfixed_low (size_res : UNRESOLVED_sfixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_sfixed) + return INTEGER is + begin + return sfixed_low (left_index => size_res'high, + right_index => size_res'low, + operation => operation, + left_index2 => size_res2'high, + right_index2 => size_res2'low); + end function sfixed_low; + + -- purpose: returns a saturated number + function saturate ( + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed + is + constant sat : UNRESOLVED_ufixed (left_index downto right_index) := + (others => '1'); + begin + return sat; + end function saturate; + + -- purpose: returns a saturated number + function saturate ( + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed + is + variable sat : UNRESOLVED_sfixed (left_index downto right_index) := + (others => '1'); + begin + -- saturate positive, to saturate negative, just do "not saturate()" + sat (left_index) := '0'; + return sat; + end function saturate; + + function saturate ( + size_res : UNRESOLVED_ufixed) -- only the size of this is used + return UNRESOLVED_ufixed is + begin + return saturate (size_res'high, size_res'low); + end function saturate; + + function saturate ( + size_res : UNRESOLVED_sfixed) -- only the size of this is used + return UNRESOLVED_sfixed is + begin + return saturate (size_res'high, size_res'low); + end function saturate; + + -- As a concession to those who use a graphical DSP environment, + -- these functions take parameters in those tools format and create + -- fixed point numbers. These functions are designed to convert from + -- a std_logic_vector to the VHDL fixed point format using the conventions + -- of these packages. In a pure VHDL environment you should use the + -- "to_ufixed" and "to_sfixed" routines. + -- Unsigned fixed point + function to_UFix ( + arg : STD_ULOGIC_VECTOR; + width : NATURAL; -- width of vector + fraction : NATURAL) -- width of fraction + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (width-fraction-1 downto -fraction); + begin + if (arg'length /= result'length) then + report fixed_generic_pkg'instance_name + & "TO_UFIX (STD_ULOGIC_VECTOR) " + & "Vector lengths do not match. Input length is " + & INTEGER'image(arg'length) & " and output will be " + & INTEGER'image(result'length) & " wide." + severity error; + return NAUF; + else + result := to_ufixed (arg, result'high, result'low); + return result; + end if; + end function to_UFix; + + -- signed fixed point + function to_SFix ( + arg : STD_ULOGIC_VECTOR; + width : NATURAL; -- width of vector + fraction : NATURAL) -- width of fraction + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (width-fraction-1 downto -fraction); + begin + if (arg'length /= result'length) then + report fixed_generic_pkg'instance_name + & "TO_SFIX (STD_ULOGIC_VECTOR) " + & "Vector lengths do not match. Input length is " + & INTEGER'image(arg'length) & " and output will be " + & INTEGER'image(result'length) & " wide." + severity error; + return NASF; + else + result := to_sfixed (arg, result'high, result'low); + return result; + end if; + end function to_SFix; + + -- finding the bounds of a number. These functions can be used like this: + -- signal xxx : ufixed (7 downto -3); + -- -- Which is the same as "ufixed (UFix_high (11,3) downto UFix_low(11,3))" + -- signal yyy : ufixed (UFix_high (11, 3, "+", 11, 3) + -- downto UFix_low(11, 3, "+", 11, 3)); + -- Where "11" is the width of xxx (xxx'length), + -- and 3 is the lower bound (abs (xxx'low)) + -- In a pure VHDL environment use "ufixed_high" and "ufixed_low" + function ufix_high ( + width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER is + begin + return ufixed_high (left_index => width - 1 - fraction, + right_index => -fraction, + operation => operation, + left_index2 => width2 - 1 - fraction2, + right_index2 => -fraction2); + end function ufix_high; + + function ufix_low ( + width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER is + begin + return ufixed_low (left_index => width - 1 - fraction, + right_index => -fraction, + operation => operation, + left_index2 => width2 - 1 - fraction2, + right_index2 => -fraction2); + end function ufix_low; + + function sfix_high ( + width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER is + begin + return sfixed_high (left_index => width - fraction, + right_index => -fraction, + operation => operation, + left_index2 => width2 - fraction2, + right_index2 => -fraction2); + end function sfix_high; + + function sfix_low ( + width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER is + begin + return sfixed_low (left_index => width - fraction, + right_index => -fraction, + operation => operation, + left_index2 => width2 - fraction2, + right_index2 => -fraction2); + end function sfix_low; + + function to_unsigned ( + arg : UNRESOLVED_ufixed; -- ufixed point input + constant size : NATURAL; -- length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_UNSIGNED is + begin + return to_uns(resize (arg => arg, + left_index => size-1, + right_index => 0, + round_style => round_style, + overflow_style => overflow_style)); + end function to_unsigned; + + function to_unsigned ( + arg : UNRESOLVED_ufixed; -- ufixed point input + size_res : UNRESOLVED_UNSIGNED; -- length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_UNSIGNED is + begin + return to_unsigned (arg => arg, + size => size_res'length, + round_style => round_style, + overflow_style => overflow_style); + end function to_unsigned; + + function to_signed ( + arg : UNRESOLVED_sfixed; -- sfixed point input + constant size : NATURAL; -- length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_SIGNED is + begin + return to_s(resize (arg => arg, + left_index => size-1, + right_index => 0, + round_style => round_style, + overflow_style => overflow_style)); + end function to_signed; + + function to_signed ( + arg : UNRESOLVED_sfixed; -- sfixed point input + size_res : UNRESOLVED_SIGNED; -- used for length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_SIGNED is + begin + return to_signed (arg => arg, + size => size_res'length, + round_style => round_style, + overflow_style => overflow_style); + end function to_signed; + + function to_real ( + arg : UNRESOLVED_ufixed) -- ufixed point input + return REAL + is + constant left_index : INTEGER := arg'high; + constant right_index : INTEGER := arg'low; + variable result : REAL; -- result + variable arg_int : UNRESOLVED_ufixed (left_index downto right_index); + begin + if (arg'length < 1) then + return 0.0; + end if; + arg_int := to_x01(cleanvec(arg)); + if (Is_X(arg_int)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_REAL (ufixed): metavalue detected, returning 0.0" + severity warning; + return 0.0; + end if; + result := 0.0; + for i in arg_int'range loop + if (arg_int(i) = '1') then + result := result + (2.0**i); + end if; + end loop; + return result; + end function to_real; + + function to_real ( + arg : UNRESOLVED_sfixed) -- ufixed point input + return REAL + is + constant left_index : INTEGER := arg'high; + constant right_index : INTEGER := arg'low; + variable result : REAL; -- result + variable arg_int : UNRESOLVED_sfixed (left_index downto right_index); + -- unsigned version of argument + variable arg_uns : UNRESOLVED_ufixed (left_index downto right_index); + -- absolute of argument + begin + if (arg'length < 1) then + return 0.0; + end if; + arg_int := to_x01(cleanvec(arg)); + if (Is_X(arg_int)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_REAL (sfixed): metavalue detected, returning 0.0" + severity warning; + return 0.0; + end if; + arg_uns := to_ufixed (arg_int); + result := to_real (arg_uns); + if (arg_int(arg_int'high) = '1') then + result := -result; + end if; + return result; + end function to_real; + + function to_integer ( + arg : UNRESOLVED_ufixed; -- fixed point input + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return NATURAL + is + constant left_index : INTEGER := arg'high; + variable arg_uns : UNRESOLVED_UNSIGNED (left_index+1 downto 0) + := (others => '0'); + begin + if (arg'length < 1) then + return 0; + end if; + if (Is_X (arg)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_INTEGER (ufixed): metavalue detected, returning 0" + severity warning; + return 0; + end if; + if (left_index < -1) then + return 0; + end if; + arg_uns := to_uns(resize (arg => arg, + left_index => arg_uns'high, + right_index => 0, + round_style => round_style, + overflow_style => overflow_style)); + return to_integer (arg_uns); + end function to_integer; + + function to_integer ( + arg : UNRESOLVED_sfixed; -- fixed point input + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return INTEGER + is + constant left_index : INTEGER := arg'high; + constant right_index : INTEGER := arg'low; + variable arg_s : UNRESOLVED_SIGNED (left_index+1 downto 0); + begin + if (arg'length < 1) then + return 0; + end if; + if (Is_X (arg)) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_INTEGER (sfixed): metavalue detected, returning 0" + severity warning; + return 0; + end if; + if (left_index < -1) then + return 0; + end if; + arg_s := to_s(resize (arg => arg, + left_index => arg_s'high, + right_index => 0, + round_style => round_style, + overflow_style => overflow_style)); + return to_integer (arg_s); + end function to_integer; + + function to_01 ( + s : UNRESOLVED_ufixed; -- ufixed point input + constant XMAP : STD_ULOGIC := '0') -- Map x to + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (s'range); -- result + begin + if (s'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_01(ufixed): null detected, returning NULL" + severity warning; + return NAUF; + end if; + return to_fixed (to_01(to_uns(s), XMAP), s'high, s'low); + end function to_01; + + function to_01 ( + s : UNRESOLVED_sfixed; -- sfixed point input + constant XMAP : STD_ULOGIC := '0') -- Map x to + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (s'range); + begin + if (s'length < 1) then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "TO_01(sfixed): null detected, returning NULL" + severity warning; + return NASF; + end if; + return to_fixed (to_01(to_s(s), XMAP), s'high, s'low); + end function to_01; + + function Is_X ( + arg : UNRESOLVED_ufixed) + return BOOLEAN + is + variable argslv : STD_ULOGIC_VECTOR (arg'length-1 downto 0); -- slv + begin + argslv := to_sulv(arg); + return Is_X (argslv); + end function Is_X; + + function Is_X ( + arg : UNRESOLVED_sfixed) + return BOOLEAN + is + variable argslv : STD_ULOGIC_VECTOR (arg'length-1 downto 0); -- slv + begin + argslv := to_sulv(arg); + return Is_X (argslv); + end function Is_X; + + function To_X01 ( + arg : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return to_ufixed (To_X01(to_sulv(arg)), arg'high, arg'low); + end function To_X01; + + function to_X01 ( + arg : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return to_sfixed (To_X01(to_sulv(arg)), arg'high, arg'low); + end function To_X01; + + function To_X01Z ( + arg : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return to_ufixed (To_X01Z(to_sulv(arg)), arg'high, arg'low); + end function To_X01Z; + + function to_X01Z ( + arg : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return to_sfixed (To_X01Z(to_sulv(arg)), arg'high, arg'low); + end function To_X01Z; + + function To_UX01 ( + arg : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return to_ufixed (To_UX01(to_sulv(arg)), arg'high, arg'low); + end function To_UX01; + + function to_UX01 ( + arg : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return to_sfixed (To_UX01(to_sulv(arg)), arg'high, arg'low); + end function To_UX01; + + function resize ( + arg : UNRESOLVED_ufixed; -- input + constant left_index : INTEGER; -- integer portion + constant right_index : INTEGER; -- size of fraction + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant arghigh : INTEGER := maximum (arg'high, arg'low); + constant arglow : INTEGER := mine (arg'high, arg'low); + variable invec : UNRESOLVED_ufixed (arghigh downto arglow); + variable result : UNRESOLVED_ufixed(left_index downto right_index) := + (others => '0'); + variable needs_rounding : BOOLEAN := false; + begin -- resize + if (arg'length < 1) or (result'length < 1) then + return NAUF; + elsif (invec'length < 1) then + return result; -- string literal value + else + invec := cleanvec(arg); + if (right_index > arghigh) then -- return top zeros + needs_rounding := (round_style = fixed_round) and + (right_index = arghigh+1); + elsif (left_index < arglow) then -- return overflow + if (overflow_style = fixed_saturate) and + (or(to_sulv(invec)) = '1') then + result := saturate (result'high, result'low); -- saturate + end if; + elsif (arghigh > left_index) then + -- wrap or saturate? + if (overflow_style = fixed_saturate and + or (to_sulv(invec(arghigh downto left_index+1))) = '1') + then + result := saturate (result'high, result'low); -- saturate + else + if (arglow >= right_index) then + result (left_index downto arglow) := + invec(left_index downto arglow); + else + result (left_index downto right_index) := + invec (left_index downto right_index); + needs_rounding := (round_style = fixed_round); -- round + end if; + end if; + else -- arghigh <= integer width + if (arglow >= right_index) then + result (arghigh downto arglow) := invec; + else + result (arghigh downto right_index) := + invec (arghigh downto right_index); + needs_rounding := (round_style = fixed_round); -- round + end if; + end if; + -- Round result + if needs_rounding then + result := round_fixed (arg => result, + remainder => invec (right_index-1 + downto arglow), + overflow_style => overflow_style); + end if; + return result; + end if; + end function resize; + + function resize ( + arg : UNRESOLVED_sfixed; -- input + constant left_index : INTEGER; -- integer portion + constant right_index : INTEGER; -- size of fraction + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant arghigh : INTEGER := maximum (arg'high, arg'low); + constant arglow : INTEGER := mine (arg'high, arg'low); + variable invec : UNRESOLVED_sfixed (arghigh downto arglow); + variable result : UNRESOLVED_sfixed(left_index downto right_index) := + (others => '0'); + variable reduced : STD_ULOGIC; + variable needs_rounding : BOOLEAN := false; -- rounding + begin -- resize + if (arg'length < 1) or (result'length < 1) then + return NASF; + elsif (invec'length < 1) then + return result; -- string literal value + else + invec := cleanvec(arg); + if (right_index > arghigh) then -- return top zeros + if (arg'low /= INTEGER'low) then -- check for a literal + result := (others => arg(arghigh)); -- sign extend + end if; + needs_rounding := (round_style = fixed_round) and + (right_index = arghigh+1); + elsif (left_index < arglow) then -- return overflow + if (overflow_style = fixed_saturate) then + reduced := or (to_sulv(invec)); + if (reduced = '1') then + if (invec(arghigh) = '0') then + -- saturate POSITIVE + result := saturate (result'high, result'low); + else + -- saturate negative + result := not saturate (result'high, result'low); + end if; + -- else return 0 (input was 0) + end if; + -- else return 0 (wrap) + end if; + elsif (arghigh > left_index) then + if (invec(arghigh) = '0') then + reduced := or (to_sulv(invec(arghigh-1 downto + left_index))); + if overflow_style = fixed_saturate and reduced = '1' then + -- saturate positive + result := saturate (result'high, result'low); + else + if (right_index > arglow) then + result := invec (left_index downto right_index); + needs_rounding := (round_style = fixed_round); + else + result (left_index downto arglow) := + invec (left_index downto arglow); + end if; + end if; + else + reduced := and (to_sulv(invec(arghigh-1 downto + left_index))); + if overflow_style = fixed_saturate and reduced = '0' then + result := not saturate (result'high, result'low); + else + if (right_index > arglow) then + result := invec (left_index downto right_index); + needs_rounding := (round_style = fixed_round); + else + result (left_index downto arglow) := + invec (left_index downto arglow); + end if; + end if; + end if; + else -- arghigh <= integer width + if (arglow >= right_index) then + result (arghigh downto arglow) := invec; + else + result (arghigh downto right_index) := + invec (arghigh downto right_index); + needs_rounding := (round_style = fixed_round); -- round + end if; + if (left_index > arghigh) then -- sign extend + result(left_index downto arghigh+1) := (others => invec(arghigh)); + end if; + end if; + -- Round result + if (needs_rounding) then + result := round_fixed (arg => result, + remainder => invec (right_index-1 + downto arglow), + overflow_style => overflow_style); + end if; + return result; + end if; + end function resize; + + -- size_res functions + -- These functions compute the size from a passed variable named "size_res" + -- The only part of this variable used it it's size, it is never passed + -- to a lower level routine. + function to_ufixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + size_res : UNRESOLVED_ufixed) -- for size only + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_ufixed (size_res'left downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NAUF; + else + result := to_ufixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low); + return result; + end if; + end function to_ufixed; + + function to_sfixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + size_res : UNRESOLVED_sfixed) -- for size only + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_sfixed (size_res'left downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NASF; + else + result := to_sfixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low); + return result; + end if; + end function to_sfixed; + + function to_ufixed ( + arg : NATURAL; -- integer + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_ufixed (size_res'left downto fw); + begin + if (result'length < 1) then + return NAUF; + else + result := to_ufixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_ufixed; + + function to_sfixed ( + arg : INTEGER; -- integer + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_sfixed (size_res'left downto fw); + begin + if (result'length < 1) then + return NASF; + else + result := to_sfixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_sfixed; + + function to_ufixed ( + arg : REAL; -- real + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) -- # of guard bits + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_ufixed (size_res'left downto fw); + begin + if (result'length < 1) then + return NAUF; + else + result := to_ufixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + guard_bits => guard_bits, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_ufixed; + + function to_sfixed ( + arg : REAL; -- real + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) -- # of guard bits + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_sfixed (size_res'left downto fw); + begin + if (result'length < 1) then + return NASF; + else + result := to_sfixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + guard_bits => guard_bits, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_sfixed; + + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED; -- unsigned + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_ufixed (size_res'left downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NAUF; + else + result := to_ufixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_ufixed; + + function to_sfixed ( + arg : UNRESOLVED_SIGNED; -- signed + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_sfixed (size_res'left downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NASF; + else + result := to_sfixed (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function to_sfixed; + + function resize ( + arg : UNRESOLVED_ufixed; -- input + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_ufixed (size_res'high downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NAUF; + else + result := resize (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function resize; + + function resize ( + arg : UNRESOLVED_sfixed; -- input + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed + is + constant fw : INTEGER := mine (size_res'low, size_res'low); -- catch literals + variable result : UNRESOLVED_sfixed (size_res'high downto fw); + begin + if (result'length < 1 or arg'length < 1) then + return NASF; + else + result := resize (arg => arg, + left_index => size_res'high, + right_index => size_res'low, + round_style => round_style, + overflow_style => overflow_style); + return result; + end if; + end function resize; + + -- Overloaded math functions for real + function "+" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l + to_ufixed (r, l'high, l'low)); + end function "+"; + + function "+" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) + r); + end function "+"; + + function "+" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l + to_sfixed (r, l'high, l'low)); + end function "+"; + + function "+" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) + r); + end function "+"; + + function "-" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l - to_ufixed (r, l'high, l'low)); + end function "-"; + + function "-" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) - r); + end function "-"; + + function "-" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l - to_sfixed (r, l'high, l'low)); + end function "-"; + + function "-" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) - r); + end function "-"; + + function "*" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l * to_ufixed (r, l'high, l'low)); + end function "*"; + + function "*" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) * r); + end function "*"; + + function "*" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l * to_sfixed (r, l'high, l'low)); + end function "*"; + + function "*" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) * r); + end function "*"; + + function "/" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l / to_ufixed (r, l'high, l'low)); + end function "/"; + + function "/" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) / r); + end function "/"; + + function "/" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l / to_sfixed (r, l'high, l'low)); + end function "/"; + + function "/" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) / r); + end function "/"; + + function "rem" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l rem to_ufixed (r, l'high, l'low)); + end function "rem"; + + function "rem" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) rem r); + end function "rem"; + + function "rem" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l rem to_sfixed (r, l'high, l'low)); + end function "rem"; + + function "rem" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) rem r); + end function "rem"; + + function "mod" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : REAL) + return UNRESOLVED_ufixed is + begin + return (l mod to_ufixed (r, l'high, l'low)); + end function "mod"; + + function "mod" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, r'low) mod r); + end function "mod"; + + function "mod" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : REAL) + return UNRESOLVED_sfixed is + begin + return (l mod to_sfixed (r, l'high, l'low)); + end function "mod"; + + function "mod" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, r'low) mod r); + end function "mod"; + + -- Overloaded math functions for integers + function "+" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l + to_ufixed (r, l'high, 0)); + end function "+"; + + function "+" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) + r); + end function "+"; + + function "+" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l + to_sfixed (r, l'high, 0)); + end function "+"; + + function "+" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) + r); + end function "+"; + + -- Overloaded functions + function "-" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l - to_ufixed (r, l'high, 0)); + end function "-"; + + function "-" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) - r); + end function "-"; + + function "-" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l - to_sfixed (r, l'high, 0)); + end function "-"; + + function "-" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) - r); + end function "-"; + + -- Overloaded functions + function "*" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l * to_ufixed (r, l'high, 0)); + end function "*"; + + function "*" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) * r); + end function "*"; + + function "*" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l * to_sfixed (r, l'high, 0)); + end function "*"; + + function "*" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) * r); + end function "*"; + + -- Overloaded functions + function "/" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l / to_ufixed (r, l'high, 0)); + end function "/"; + + function "/" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) / r); + end function "/"; + + function "/" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l / to_sfixed (r, l'high, 0)); + end function "/"; + + function "/" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) / r); + end function "/"; + + function "rem" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l rem to_ufixed (r, l'high, 0)); + end function "rem"; + + function "rem" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) rem r); + end function "rem"; + + function "rem" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l rem to_sfixed (r, l'high, 0)); + end function "rem"; + + function "rem" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) rem r); + end function "rem"; + + function "mod" ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return (l mod to_ufixed (r, l'high, 0)); + end function "mod"; + + function "mod" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return (to_ufixed (l, r'high, 0) mod r); + end function "mod"; + + function "mod" ( + l : UNRESOLVED_sfixed; -- fixed point input + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return (l mod to_sfixed (r, l'high, 0)); + end function "mod"; + + function "mod" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return UNRESOLVED_sfixed is + begin + return (to_sfixed (l, r'high, 0) mod r); + end function "mod"; + + -- overloaded ufixed compare functions with integer + function "=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l = to_ufixed (r, l'high, l'low)); + end function "="; + + function "/=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l /= to_ufixed (r, l'high, l'low)); + end function "/="; + + function ">=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l >= to_ufixed (r, l'high, l'low)); + end function ">="; + + function "<=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l <= to_ufixed (r, l'high, l'low)); + end function "<="; + + function ">" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l > to_ufixed (r, l'high, l'low)); + end function ">"; + + function "<" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return BOOLEAN is + begin + return (l < to_ufixed (r, l'high, l'low)); + end function "<"; + + function "?=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?= to_ufixed (r, l'high, l'low)); + end function "?="; + + function "?/=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?/= to_ufixed (r, l'high, l'low)); + end function "?/="; + + function "?>=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?>= to_ufixed (r, l'high, l'low)); + end function "?>="; + + function "?<=" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?<= to_ufixed (r, l'high, l'low)); + end function "?<="; + + function "?>" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?> to_ufixed (r, l'high, l'low)); + end function "?>"; + + function "?<" ( + l : UNRESOLVED_ufixed; + r : NATURAL) -- fixed point input + return STD_ULOGIC is + begin + return (l ?< to_ufixed (r, l'high, l'low)); + end function "?<"; + + function maximum ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return maximum (l, to_ufixed (r, l'high, l'low)); + end function maximum; + + function minimum ( + l : UNRESOLVED_ufixed; -- fixed point input + r : NATURAL) + return UNRESOLVED_ufixed is + begin + return minimum (l, to_ufixed (r, l'high, l'low)); + end function minimum; + + -- NATURAL to ufixed + function "=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) = r); + end function "="; + + function "/=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) /= r); + end function "/="; + + function ">=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) >= r); + end function ">="; + + function "<=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) <= r); + end function "<="; + + function ">" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) > r); + end function ">"; + + function "<" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) < r); + end function "<"; + + function "?=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?= r); + end function "?="; + + function "?/=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?/= r); + end function "?/="; + + function "?>=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?>= r); + end function "?>="; + + function "?<=" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?<= r); + end function "?<="; + + function "?>" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?> r); + end function "?>"; + + function "?<" ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?< r); + end function "?<"; + + function maximum ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return maximum (to_ufixed (l, r'high, r'low), r); + end function maximum; + + function minimum ( + l : NATURAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return minimum (to_ufixed (l, r'high, r'low), r); + end function minimum; + + -- overloaded ufixed compare functions with real + function "=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l = to_ufixed (r, l'high, l'low)); + end function "="; + + function "/=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l /= to_ufixed (r, l'high, l'low)); + end function "/="; + + function ">=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l >= to_ufixed (r, l'high, l'low)); + end function ">="; + + function "<=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l <= to_ufixed (r, l'high, l'low)); + end function "<="; + + function ">" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l > to_ufixed (r, l'high, l'low)); + end function ">"; + + function "<" ( + l : UNRESOLVED_ufixed; + r : REAL) + return BOOLEAN is + begin + return (l < to_ufixed (r, l'high, l'low)); + end function "<"; + + function "?=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?= to_ufixed (r, l'high, l'low)); + end function "?="; + + function "?/=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?/= to_ufixed (r, l'high, l'low)); + end function "?/="; + + function "?>=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?>= to_ufixed (r, l'high, l'low)); + end function "?>="; + + function "?<=" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?<= to_ufixed (r, l'high, l'low)); + end function "?<="; + + function "?>" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?> to_ufixed (r, l'high, l'low)); + end function "?>"; + + function "?<" ( + l : UNRESOLVED_ufixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?< to_ufixed (r, l'high, l'low)); + end function "?<"; + + function maximum ( + l : UNRESOLVED_ufixed; + r : REAL) + return UNRESOLVED_ufixed is + begin + return maximum (l, to_ufixed (r, l'high, l'low)); + end function maximum; + + function minimum ( + l : UNRESOLVED_ufixed; + r : REAL) + return UNRESOLVED_ufixed is + begin + return minimum (l, to_ufixed (r, l'high, l'low)); + end function minimum; + + -- real and ufixed + function "=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) = r); + end function "="; + + function "/=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) /= r); + end function "/="; + + function ">=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) >= r); + end function ">="; + + function "<=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) <= r); + end function "<="; + + function ">" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) > r); + end function ">"; + + function "<" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return BOOLEAN is + begin + return (to_ufixed (l, r'high, r'low) < r); + end function "<"; + + function "?=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?= r); + end function "?="; + + function "?/=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?/= r); + end function "?/="; + + function "?>=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?>= r); + end function "?>="; + + function "?<=" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?<= r); + end function "?<="; + + function "?>" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?> r); + end function "?>"; + + function "?<" ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_ufixed (l, r'high, r'low) ?< r); + end function "?<"; + + function maximum ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return maximum (to_ufixed (l, r'high, r'low), r); + end function maximum; + + function minimum ( + l : REAL; + r : UNRESOLVED_ufixed) -- fixed point input + return UNRESOLVED_ufixed is + begin + return minimum (to_ufixed (l, r'high, r'low), r); + end function minimum; + + -- overloaded sfixed compare functions with integer + function "=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l = to_sfixed (r, l'high, l'low)); + end function "="; + + function "/=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l /= to_sfixed (r, l'high, l'low)); + end function "/="; + + function ">=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l >= to_sfixed (r, l'high, l'low)); + end function ">="; + + function "<=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l <= to_sfixed (r, l'high, l'low)); + end function "<="; + + function ">" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l > to_sfixed (r, l'high, l'low)); + end function ">"; + + function "<" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return BOOLEAN is + begin + return (l < to_sfixed (r, l'high, l'low)); + end function "<"; + + function "?=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?= to_sfixed (r, l'high, l'low)); + end function "?="; + + function "?/=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?/= to_sfixed (r, l'high, l'low)); + end function "?/="; + + function "?>=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?>= to_sfixed (r, l'high, l'low)); + end function "?>="; + + function "?<=" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?<= to_sfixed (r, l'high, l'low)); + end function "?<="; + + function "?>" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?> to_sfixed (r, l'high, l'low)); + end function "?>"; + + function "?<" ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return STD_ULOGIC is + begin + return (l ?< to_sfixed (r, l'high, l'low)); + end function "?<"; + + function maximum ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return maximum (l, to_sfixed (r, l'high, l'low)); + end function maximum; + + function minimum ( + l : UNRESOLVED_sfixed; + r : INTEGER) + return UNRESOLVED_sfixed is + begin + return minimum (l, to_sfixed (r, l'high, l'low)); + end function minimum; + + -- integer and sfixed + function "=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) = r); + end function "="; + + function "/=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) /= r); + end function "/="; + + function ">=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) >= r); + end function ">="; + + function "<=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) <= r); + end function "<="; + + function ">" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) > r); + end function ">"; + + function "<" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) < r); + end function "<"; + + function "?=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?= r); + end function "?="; + + function "?/=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?/= r); + end function "?/="; + + function "?>=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?>= r); + end function "?>="; + + function "?<=" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?<= r); + end function "?<="; + + function "?>" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?> r); + end function "?>"; + + function "?<" ( + l : INTEGER; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?< r); + end function "?<"; + + function maximum ( + l : INTEGER; + r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return maximum (to_sfixed (l, r'high, r'low), r); + end function maximum; + + function minimum ( + l : INTEGER; + r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return minimum (to_sfixed (l, r'high, r'low), r); + end function minimum; + + -- overloaded sfixed compare functions with real + function "=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l = to_sfixed (r, l'high, l'low)); + end function "="; + + function "/=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l /= to_sfixed (r, l'high, l'low)); + end function "/="; + + function ">=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l >= to_sfixed (r, l'high, l'low)); + end function ">="; + + function "<=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l <= to_sfixed (r, l'high, l'low)); + end function "<="; + + function ">" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l > to_sfixed (r, l'high, l'low)); + end function ">"; + + function "<" ( + l : UNRESOLVED_sfixed; + r : REAL) + return BOOLEAN is + begin + return (l < to_sfixed (r, l'high, l'low)); + end function "<"; + + function "?=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?= to_sfixed (r, l'high, l'low)); + end function "?="; + + function "?/=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?/= to_sfixed (r, l'high, l'low)); + end function "?/="; + + function "?>=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?>= to_sfixed (r, l'high, l'low)); + end function "?>="; + + function "?<=" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?<= to_sfixed (r, l'high, l'low)); + end function "?<="; + + function "?>" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?> to_sfixed (r, l'high, l'low)); + end function "?>"; + + function "?<" ( + l : UNRESOLVED_sfixed; + r : REAL) + return STD_ULOGIC is + begin + return (l ?< to_sfixed (r, l'high, l'low)); + end function "?<"; + + function maximum ( + l : UNRESOLVED_sfixed; + r : REAL) + return UNRESOLVED_sfixed is + begin + return maximum (l, to_sfixed (r, l'high, l'low)); + end function maximum; + + function minimum ( + l : UNRESOLVED_sfixed; + r : REAL) + return UNRESOLVED_sfixed is + begin + return minimum (l, to_sfixed (r, l'high, l'low)); + end function minimum; + + -- REAL and sfixed + function "=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) = r); + end function "="; + + function "/=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) /= r); + end function "/="; + + function ">=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) >= r); + end function ">="; + + function "<=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) <= r); + end function "<="; + + function ">" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) > r); + end function ">"; + + function "<" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return BOOLEAN is + begin + return (to_sfixed (l, r'high, r'low) < r); + end function "<"; + + function "?=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?= r); + end function "?="; + + function "?/=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?/= r); + end function "?/="; + + function "?>=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?>= r); + end function "?>="; + + function "?<=" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?<= r); + end function "?<="; + + function "?>" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?> r); + end function "?>"; + + function "?<" ( + l : REAL; + r : UNRESOLVED_sfixed) -- fixed point input + return STD_ULOGIC is + begin + return (to_sfixed (l, r'high, r'low) ?< r); + end function "?<"; + + function maximum ( + l : REAL; + r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return maximum (to_sfixed (l, r'high, r'low), r); + end function maximum; + + function minimum ( + l : REAL; + r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return minimum (to_sfixed (l, r'high, r'low), r); + end function minimum; + + -- copied from std_logic_textio + type MVL9plus is ('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-', error); + type char_indexed_by_MVL9 is array (STD_ULOGIC) of CHARACTER; + type MVL9_indexed_by_char is array (CHARACTER) of STD_ULOGIC; + type MVL9plus_indexed_by_char is array (CHARACTER) of MVL9plus; + + constant MVL9_to_char : char_indexed_by_MVL9 := "UX01ZWLH-"; + constant char_to_MVL9 : MVL9_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => 'U'); + constant char_to_MVL9plus : MVL9plus_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => error); + constant NBSP : CHARACTER := CHARACTER'val(160); -- space character + constant NUS : STRING(2 to 1) := (others => ' '); + + -- purpose: Skips white space + procedure skip_whitespace ( + L : inout LINE) is + variable readOk : BOOLEAN; + variable c : CHARACTER; + begin + while L /= null and L.all'length /= 0 loop + if (L.all(1) = ' ' or L.all(1) = NBSP or L.all(1) = HT) then + read (l, c, readOk); + else + exit; + end if; + end loop; + end procedure skip_whitespace; + + -- purpose: writes fixed point into a line + procedure write ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + variable s : STRING(1 to value'length +1) := (others => ' '); + variable sindx : INTEGER; + begin -- function write Example: 0011.1100 + sindx := 1; + for i in value'high downto value'low loop + if i = -1 then + s(sindx) := '.'; + sindx := sindx + 1; + end if; + s(sindx) := MVL9_to_char(STD_ULOGIC(value(i))); + sindx := sindx + 1; + end loop; + write(l, s, justified, field); + end procedure write; + + -- purpose: writes fixed point into a line + procedure write ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + variable s : STRING(1 to value'length +1); + variable sindx : INTEGER; + begin -- function write Example: 0011.1100 + sindx := 1; + for i in value'high downto value'low loop + if i = -1 then + s(sindx) := '.'; + sindx := sindx + 1; + end if; + s(sindx) := MVL9_to_char(STD_ULOGIC(value(i))); + sindx := sindx + 1; + end loop; + write(l, s, justified, field); + end procedure write; + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_ufixed) is + -- Possible data: 00000.0000000 + -- 000000000000 + variable c : CHARACTER; + variable readOk : BOOLEAN; + variable i : INTEGER; -- index variable + variable mv : ufixed (VALUE'range); + variable lastu : BOOLEAN := false; -- last character was an "_" + variable founddot : BOOLEAN := false; -- found a "." + begin -- READ + VALUE := (VALUE'range => 'U'); + Skip_whitespace (L); + if VALUE'length > 0 then -- non Null input string + read (l, c, readOk); + i := value'high; + while i >= VALUE'low loop + if readOk = false then -- Bail out if there was a bad read + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "End of string encountered" + severity error; + return; + elsif c = '_' then + if i = value'high then + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "String begins with an ""_""" severity error; + return; + elsif lastu then + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + elsif c = '.' then -- binary point + if founddot then + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "Two binary points found in input string" severity error; + return; + elsif i /= -1 then -- Seperator in the wrong spot + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "Decimal point does not match number format " + severity error; + return; + end if; + founddot := true; + lastu := false; + elsif c = ' ' or c = NBSP or c = HT then -- reading done. + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "Short read, Space encounted in input string" + severity error; + return; + elsif char_to_MVL9plus(c) = error then + report fixed_generic_pkg'instance_name & "READ(ufixed) " + & "Character '" & + c & "' read, expected STD_ULOGIC literal." + severity error; + return; + else + mv(i) := char_to_MVL9(c); + i := i - 1; + if i < mv'low then + VALUE := mv; + return; + end if; + lastu := false; + end if; + read(L, c, readOk); + end loop; + end if; + end procedure READ; + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN) is + -- Possible data: 00000.0000000 + -- 000000000000 + variable c : CHARACTER; + variable readOk : BOOLEAN; + variable mv : ufixed (VALUE'range); + variable i : INTEGER; -- index variable + variable lastu : BOOLEAN := false; -- last character was an "_" + variable founddot : BOOLEAN := false; -- found a "." + begin -- READ + VALUE := (VALUE'range => 'U'); + Skip_whitespace (L); + if VALUE'length > 0 then + read (l, c, readOk); + i := value'high; + GOOD := false; + while i >= VALUE'low loop + if not readOk then -- Bail out if there was a bad read + return; + elsif c = '_' then + if i = value'high then -- Begins with an "_" + return; + elsif lastu then -- "__" detected + return; + else + lastu := true; + end if; + elsif c = '.' then -- binary point + if founddot then + return; + elsif i /= -1 then -- Seperator in the wrong spot + return; + end if; + founddot := true; + lastu := false; + elsif (char_to_MVL9plus(c) = error) then -- Illegal character/short read + return; + else + mv(i) := char_to_MVL9(c); + i := i - 1; + if i < mv'low then -- reading done + GOOD := true; + VALUE := mv; + return; + end if; + lastu := false; + end if; + read(L, c, readOk); + end loop; + else + GOOD := true; -- read into a null array + end if; + end procedure READ; + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_sfixed) is + variable c : CHARACTER; + variable readOk : BOOLEAN; + variable i : INTEGER; -- index variable + variable mv : sfixed (VALUE'range); + variable lastu : BOOLEAN := false; -- last character was an "_" + variable founddot : BOOLEAN := false; -- found a "." + begin -- READ + VALUE := (VALUE'range => 'U'); + Skip_whitespace (L); + if VALUE'length > 0 then -- non Null input string + read (l, c, readOk); + i := value'high; + while i >= VALUE'low loop + if readOk = false then -- Bail out if there was a bad read + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "End of string encountered" + severity error; + return; + elsif c = '_' then + if i = value'high then + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "String begins with an ""_""" severity error; + return; + elsif lastu then + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + elsif c = '.' then -- binary point + if founddot then + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "Two binary points found in input string" severity error; + return; + elsif i /= -1 then -- Seperator in the wrong spot + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "Decimal point does not match number format " + severity error; + return; + end if; + founddot := true; + lastu := false; + elsif c = ' ' or c = NBSP or c = HT then -- reading done. + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "Short read, Space encounted in input string" + severity error; + return; + elsif char_to_MVL9plus(c) = error then + report fixed_generic_pkg'instance_name & "READ(sfixed) " + & "Character '" & + c & "' read, expected STD_ULOGIC literal." + severity error; + return; + else + mv(i) := char_to_MVL9(c); + i := i - 1; + if i < mv'low then + VALUE := mv; + return; + end if; + lastu := false; + end if; + read(L, c, readOk); + end loop; + end if; + end procedure READ; + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN) is + variable value_ufixed : UNRESOLVED_ufixed (VALUE'range); + begin -- READ + READ (L => L, VALUE => value_ufixed, GOOD => GOOD); + VALUE := UNRESOLVED_sfixed (value_ufixed); + end procedure READ; + + -- octal read and write + procedure owrite ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + begin -- Example 03.30 + write (L => L, + VALUE => to_ostring (VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure owrite; + + procedure owrite ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + begin -- Example 03.30 + write (L => L, + VALUE => to_ostring (VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure owrite; + + -- Note that for Octal and Hex read, you can not start with a ".", + -- the read is for numbers formatted "A.BC". These routines go to + -- the nearest bounds, so "F.E" will fit into an sfixed (2 downto -3). + procedure Char2TriBits (C : CHARACTER; + RESULT : out STD_ULOGIC_VECTOR(2 downto 0); + GOOD : out BOOLEAN; + ISSUE_ERROR : in BOOLEAN) is + begin + case c is + when '0' => result := o"0"; good := true; + when '1' => result := o"1"; good := true; + when '2' => result := o"2"; good := true; + when '3' => result := o"3"; good := true; + when '4' => result := o"4"; good := true; + when '5' => result := o"5"; good := true; + when '6' => result := o"6"; good := true; + when '7' => result := o"7"; good := true; + when 'Z' => result := "ZZZ"; good := true; + when 'X' => result := "XXX"; good := true; + when others => + assert not ISSUE_ERROR + report fixed_generic_pkg'instance_name + & "OREAD Error: Read a '" & c & + "', expected an Octal character (0-7)." + severity error; + result := "UUU"; + good := false; + end case; + end procedure Char2TriBits; + + -- purpose: Routines common to the OREAD routines + procedure OREAD_common ( + L : inout LINE; + slv : out STD_ULOGIC_VECTOR; + igood : out BOOLEAN; + idex : out INTEGER; + constant bpoint : in INTEGER; -- binary point + constant message : in BOOLEAN; + constant smath : in BOOLEAN) is + + -- purpose: error message routine + procedure errmes ( + constant mess : in STRING) is -- error message + begin + if message then + if smath then + report fixed_generic_pkg'instance_name + & "OREAD(sfixed) " + & mess + severity error; + else + report fixed_generic_pkg'instance_name + & "OREAD(ufixed) " + & mess + severity error; + end if; + end if; + end procedure errmes; + variable xgood : BOOLEAN; + variable nybble : STD_ULOGIC_VECTOR (2 downto 0); -- 3 bits + variable c : CHARACTER; + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + variable founddot : BOOLEAN := false; -- found a dot. + begin + Skip_whitespace (L); + if slv'length > 0 then + i := slv'high; + read (l, c, xgood); + while i > 0 loop + if xgood = false then + errmes ("Error: end of string encountered"); + exit; + elsif c = '_' then + if i = slv'length then + errmes ("Error: String begins with an ""_"""); + xgood := false; + exit; + elsif lastu then + errmes ("Error: Two underscores detected in input string ""__"""); + xgood := false; + exit; + else + lastu := true; + end if; + elsif (c = '.') then + if (i + 1 /= bpoint) then + errmes ("encountered ""."" at wrong index"); + xgood := false; + exit; + elsif i = slv'length then + errmes ("encounted a ""."" at the beginning of the line"); + xgood := false; + exit; + elsif founddot then + errmes ("Two ""."" encounted in input string"); + xgood := false; + exit; + end if; + founddot := true; + lastu := false; + else + Char2triBits(c, nybble, xgood, message); + if not xgood then + exit; + end if; + slv (i downto i-2) := nybble; + i := i - 3; + lastu := false; + end if; + if i > 0 then + read (L, c, xgood); + end if; + end loop; + idex := i; + igood := xgood; + else + igood := true; -- read into a null array + idex := -1; + end if; + end procedure OREAD_common; + + -- Note that for Octal and Hex read, you can not start with a ".", + -- the read is for numbers formatted "A.BC". These routines go to + -- the nearest bounds, so "F.E" will fit into an sfixed (2 downto -3). + procedure OREAD (L : inout LINE; + VALUE : out UNRESOLVED_ufixed) is + constant hbv : INTEGER := (((maximum(3, (VALUE'high+1))+2)/3)*3)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-2)/3)*3; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_ufixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + OREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => true, + smath => false); + if igood then -- We did not get another error + if not ((i = -1) and -- We read everything, and high bits 0 + (or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0')) then + report fixed_generic_pkg'instance_name + & "OREAD(ufixed): Vector truncated." + severity error; + else + if (or (slv(VALUE'low-lbv-1 downto 0)) = '1') then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "OREAD(ufixed): Vector truncated" + severity warning; + end if; + valuex := to_ufixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + end if; + end if; + end procedure OREAD; + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN) is + constant hbv : INTEGER := (((maximum(3, (VALUE'high+1))+2)/3)*3)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-2)/3)*3; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_ufixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + OREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => false, + smath => false); + if (igood and -- We did not get another error + (i = -1) and -- We read everything, and high bits 0 + (or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0')) then + valuex := to_ufixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + good := true; + else + good := false; + end if; + end procedure OREAD; + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed) is + constant hbv : INTEGER := (((maximum(3, (VALUE'high+1))+2)/3)*3)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-2)/3)*3; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_sfixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + OREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => true, + smath => true); + if igood then -- We did not get another error + if not ((i = -1) and -- We read everything + ((slv(VALUE'high-lbv) = '0' and -- sign bits = extra bits + or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0') or + (slv(VALUE'high-lbv) = '1' and + and (slv(hbv-lbv downto VALUE'high+1-lbv)) = '1'))) then + report fixed_generic_pkg'instance_name + & "OREAD(sfixed): Vector truncated." + severity error; + else + if (or (slv(VALUE'low-lbv-1 downto 0)) = '1') then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "OREAD(sfixed): Vector truncated" + severity warning; + end if; + valuex := to_sfixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + end if; + end if; + end procedure OREAD; + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN) is + constant hbv : INTEGER := (((maximum(3, (VALUE'high+1))+2)/3)*3)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-2)/3)*3; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_sfixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + OREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => false, + smath => true); + if (igood -- We did not get another error + and (i = -1) -- We read everything + and ((slv(VALUE'high-lbv) = '0' and -- sign bits = extra bits + or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0') or + (slv(VALUE'high-lbv) = '1' and + and (slv(hbv-lbv downto VALUE'high+1-lbv)) = '1'))) then + valuex := to_sfixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + good := true; + else + good := false; + end if; + end procedure OREAD; + + -- hex read and write + procedure hwrite ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + begin -- Example 03.30 + write (L => L, + VALUE => to_hstring (VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure hwrite; + + -- purpose: writes fixed point into a line + procedure hwrite ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + begin -- Example 03.30 + write (L => L, + VALUE => to_hstring (VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure hwrite; + + -- Hex Read and Write procedures for STD_ULOGIC_VECTOR. + -- Modified from the original to be more forgiving. + + procedure Char2QuadBits (C : CHARACTER; + RESULT : out STD_ULOGIC_VECTOR(3 downto 0); + GOOD : out BOOLEAN; + ISSUE_ERROR : in BOOLEAN) is + begin + case c is + when '0' => result := x"0"; good := true; + when '1' => result := x"1"; good := true; + when '2' => result := x"2"; good := true; + when '3' => result := x"3"; good := true; + when '4' => result := x"4"; good := true; + when '5' => result := x"5"; good := true; + when '6' => result := x"6"; good := true; + when '7' => result := x"7"; good := true; + when '8' => result := x"8"; good := true; + when '9' => result := x"9"; good := true; + when 'A' | 'a' => result := x"A"; good := true; + when 'B' | 'b' => result := x"B"; good := true; + when 'C' | 'c' => result := x"C"; good := true; + when 'D' | 'd' => result := x"D"; good := true; + when 'E' | 'e' => result := x"E"; good := true; + when 'F' | 'f' => result := x"F"; good := true; + when 'Z' => result := "ZZZZ"; good := true; + when 'X' => result := "XXXX"; good := true; + when others => + assert not ISSUE_ERROR + report fixed_generic_pkg'instance_name + & "HREAD Error: Read a '" & c & + "', expected a Hex character (0-F)." + severity error; + result := "UUUU"; + good := false; + end case; + end procedure Char2QuadBits; + + -- purpose: Routines common to the HREAD routines + procedure HREAD_common ( + L : inout LINE; + slv : out STD_ULOGIC_VECTOR; + igood : out BOOLEAN; + idex : out INTEGER; + constant bpoint : in INTEGER; -- binary point + constant message : in BOOLEAN; + constant smath : in BOOLEAN) is + + -- purpose: error message routine + procedure errmes ( + constant mess : in STRING) is -- error message + begin + if message then + if smath then + report fixed_generic_pkg'instance_name + & "HREAD(sfixed) " + & mess + severity error; + else + report fixed_generic_pkg'instance_name + & "HREAD(ufixed) " + & mess + severity error; + end if; + end if; + end procedure errmes; + variable xgood : BOOLEAN; + variable nybble : STD_ULOGIC_VECTOR (3 downto 0); -- 4 bits + variable c : CHARACTER; + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + variable founddot : BOOLEAN := false; -- found a dot. + begin + Skip_whitespace (L); + if slv'length > 0 then + i := slv'high; + read (l, c, xgood); + while i > 0 loop + if xgood = false then + errmes ("Error: end of string encountered"); + exit; + elsif c = '_' then + if i = slv'length then + errmes ("Error: String begins with an ""_"""); + xgood := false; + exit; + elsif lastu then + errmes ("Error: Two underscores detected in input string ""__"""); + xgood := false; + exit; + else + lastu := true; + end if; + elsif (c = '.') then + if (i + 1 /= bpoint) then + errmes ("encountered ""."" at wrong index"); + xgood := false; + exit; + elsif i = slv'length then + errmes ("encounted a ""."" at the beginning of the line"); + xgood := false; + exit; + elsif founddot then + errmes ("Two ""."" encounted in input string"); + xgood := false; + exit; + end if; + founddot := true; + lastu := false; + else + Char2QuadBits(c, nybble, xgood, message); + if not xgood then + exit; + end if; + slv (i downto i-3) := nybble; + i := i - 4; + lastu := false; + end if; + if i > 0 then + read (L, c, xgood); + end if; + end loop; + idex := i; + igood := xgood; + else + idex := -1; + igood := true; -- read null string + end if; + end procedure HREAD_common; + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed) is + constant hbv : INTEGER := (((maximum(4, (VALUE'high+1))+3)/4)*4)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-3)/4)*4; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_ufixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + HREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => false, + smath => false); + if igood then + if not ((i = -1) and -- We read everything, and high bits 0 + (or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0')) then + report fixed_generic_pkg'instance_name + & "HREAD(ufixed): Vector truncated." + severity error; + else + if (or (slv(VALUE'low-lbv-1 downto 0)) = '1') then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "HREAD(ufixed): Vector truncated" + severity warning; + end if; + valuex := to_ufixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + end if; + end if; + end procedure HREAD; + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN) is + constant hbv : INTEGER := (((maximum(4, (VALUE'high+1))+3)/4)*4)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-3)/4)*4; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_ufixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + HREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => false, + smath => false); + if (igood and -- We did not get another error + (i = -1) and -- We read everything, and high bits 0 + (or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0')) then + valuex := to_ufixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + good := true; + else + good := false; + end if; + end procedure HREAD; + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed) is + constant hbv : INTEGER := (((maximum(4, (VALUE'high+1))+3)/4)*4)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-3)/4)*4; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_sfixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + HREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => true, + smath => true); + if igood then -- We did not get another error + if not ((i = -1) -- We read everything + and ((slv(VALUE'high-lbv) = '0' and -- sign bits = extra bits + or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0') or + (slv(VALUE'high-lbv) = '1' and + and (slv(hbv-lbv downto VALUE'high+1-lbv)) = '1'))) then + report fixed_generic_pkg'instance_name + & "HREAD(sfixed): Vector truncated." + severity error; + else + if (or (slv(VALUE'low-lbv-1 downto 0)) = '1') then + assert NO_WARNING + report fixed_generic_pkg'instance_name + & "HREAD(sfixed): Vector truncated" + severity warning; + end if; + valuex := to_sfixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + end if; + end if; + end procedure HREAD; + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN) is + constant hbv : INTEGER := (((maximum(4, (VALUE'high+1))+3)/4)*4)-1; + constant lbv : INTEGER := ((mine(0, VALUE'low)-3)/4)*4; + variable slv : STD_ULOGIC_VECTOR (hbv-lbv downto 0); -- high bits + variable valuex : UNRESOLVED_sfixed (hbv downto lbv); + variable igood : BOOLEAN; + variable i : INTEGER; + begin + VALUE := (VALUE'range => 'U'); + HREAD_common ( L => L, + slv => slv, + igood => igood, + idex => i, + bpoint => -lbv, + message => false, + smath => true); + if (igood and -- We did not get another error + (i = -1) and -- We read everything + ((slv(VALUE'high-lbv) = '0' and -- sign bits = extra bits + or (slv(hbv-lbv downto VALUE'high+1-lbv)) = '0') or + (slv(VALUE'high-lbv) = '1' and + and (slv(hbv-lbv downto VALUE'high+1-lbv)) = '1'))) then + valuex := to_sfixed (slv, hbv, lbv); + VALUE := valuex (VALUE'range); + good := true; + else + good := false; + end if; + end procedure HREAD; + + -- To_string functions. Useful in "report" statements. + -- Example: report "result was " & to_string(result); + function to_string (value : UNRESOLVED_ufixed) return STRING is + variable s : STRING(1 to value'length +1) := (others => ' '); + variable subval : UNRESOLVED_ufixed (value'high downto -1); + variable sindx : INTEGER; + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + if value(value'high) = 'Z' then + return to_string (resize (sfixed(value), 0, value'low)); + else + return to_string (resize (value, 0, value'low)); + end if; + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_string(subval); + else + return to_string (resize (value, value'high, -1)); + end if; + else + sindx := 1; + for i in value'high downto value'low loop + if i = -1 then + s(sindx) := '.'; + sindx := sindx + 1; + end if; + s(sindx) := MVL9_to_char(STD_ULOGIC(value(i))); + sindx := sindx + 1; + end loop; + return s; + end if; + end if; + end function to_string; + + function to_string (value : UNRESOLVED_sfixed) return STRING is + variable s : STRING(1 to value'length + 1) := (others => ' '); + variable subval : UNRESOLVED_sfixed (value'high downto -1); + variable sindx : INTEGER; + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + return to_string (resize (value, 0, value'low)); + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_string(subval); + else + return to_string (resize (value, value'high, -1)); + end if; + else + sindx := 1; + for i in value'high downto value'low loop + if i = -1 then + s(sindx) := '.'; + sindx := sindx + 1; + end if; + s(sindx) := MVL9_to_char(STD_ULOGIC(value(i))); + sindx := sindx + 1; + end loop; + return s; + end if; + end if; + end function to_string; + + function to_ostring (value : UNRESOLVED_ufixed) return STRING is + constant lne : INTEGER := (-VALUE'low+2)/3; + variable subval : UNRESOLVED_ufixed (value'high downto -3); + variable lpad : STD_ULOGIC_VECTOR (0 to (lne*3 + VALUE'low) -1); + variable slv : STD_ULOGIC_VECTOR (value'length-1 downto 0); + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + if value(value'high) = 'Z' then + return to_ostring (resize (sfixed(value), 2, value'low)); + else + return to_ostring (resize (value, 2, value'low)); + end if; + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_ostring(subval); + else + return to_ostring (resize (value, value'high, -3)); + end if; + else + slv := to_sulv (value); + if Is_X (value (value'low)) then + lpad := (others => value (value'low)); + else + lpad := (others => '0'); + end if; + return to_ostring(slv(slv'high downto slv'high-VALUE'high)) + & "." + & to_ostring(slv(slv'high-VALUE'high-1 downto 0) & lpad); + end if; + end if; + end function to_ostring; + + function to_hstring (value : UNRESOLVED_ufixed) return STRING is + constant lne : INTEGER := (-VALUE'low+3)/4; + variable subval : UNRESOLVED_ufixed (value'high downto -4); + variable lpad : STD_ULOGIC_VECTOR (0 to (lne*4 + VALUE'low) -1); + variable slv : STD_ULOGIC_VECTOR (value'length-1 downto 0); + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + if value(value'high) = 'Z' then + return to_hstring (resize (sfixed(value), 3, value'low)); + else + return to_hstring (resize (value, 3, value'low)); + end if; + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_hstring(subval); + else + return to_hstring (resize (value, value'high, -4)); + end if; + else + slv := to_sulv (value); + if Is_X (value (value'low)) then + lpad := (others => value(value'low)); + else + lpad := (others => '0'); + end if; + return to_hstring(slv(slv'high downto slv'high-VALUE'high)) + & "." + & to_hstring(slv(slv'high-VALUE'high-1 downto 0)&lpad); + end if; + end if; + end function to_hstring; + + function to_ostring (value : UNRESOLVED_sfixed) return STRING is + constant ne : INTEGER := ((value'high+1)+2)/3; + variable pad : STD_ULOGIC_VECTOR(0 to (ne*3 - (value'high+1)) - 1); + constant lne : INTEGER := (-VALUE'low+2)/3; + variable subval : UNRESOLVED_sfixed (value'high downto -3); + variable lpad : STD_ULOGIC_VECTOR (0 to (lne*3 + VALUE'low) -1); + variable slv : STD_ULOGIC_VECTOR (VALUE'high - VALUE'low downto 0); + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + return to_ostring (resize (value, 2, value'low)); + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_ostring(subval); + else + return to_ostring (resize (value, value'high, -3)); + end if; + else + pad := (others => value(value'high)); + slv := to_sulv (value); + if Is_X (value (value'low)) then + lpad := (others => value(value'low)); + else + lpad := (others => '0'); + end if; + return to_ostring(pad & slv(slv'high downto slv'high-VALUE'high)) + & "." + & to_ostring(slv(slv'high-VALUE'high-1 downto 0) & lpad); + end if; + end if; + end function to_ostring; + + function to_hstring (value : UNRESOLVED_sfixed) return STRING is + constant ne : INTEGER := ((value'high+1)+3)/4; + variable pad : STD_ULOGIC_VECTOR(0 to (ne*4 - (value'high+1)) - 1); + constant lne : INTEGER := (-VALUE'low+3)/4; + variable subval : UNRESOLVED_sfixed (value'high downto -4); + variable lpad : STD_ULOGIC_VECTOR (0 to (lne*4 + VALUE'low) -1); + variable slv : STD_ULOGIC_VECTOR (value'length-1 downto 0); + begin + if value'length < 1 then + return NUS; + else + if value'high < 0 then + return to_hstring (resize (value, 3, value'low)); + elsif value'low >= 0 then + if Is_X (value(value'low)) then + subval := (others => value(value'low)); + subval (value'range) := value; + return to_hstring(subval); + else + return to_hstring (resize (value, value'high, -4)); + end if; + else + slv := to_sulv (value); + pad := (others => value(value'high)); + if Is_X (value (value'low)) then + lpad := (others => value(value'low)); + else + lpad := (others => '0'); + end if; + return to_hstring(pad & slv(slv'high downto slv'high-VALUE'high)) + & "." + & to_hstring(slv(slv'high-VALUE'high-1 downto 0) & lpad); + end if; + end if; + end function to_hstring; + + -- From string functions allow you to convert a string into a fixed + -- point number. Example: + -- signal uf1 : ufixed (3 downto -3); + -- uf1 <= from_string ("0110.100", uf1'high, uf1'low); -- 6.5 + -- The "." is optional in this syntax, however it exist and is + -- in the wrong location an error is produced. Overflow will + -- result in saturation. + function from_string ( + bstring : STRING; -- binary string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(bstring); + read (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_string: Bad string "& bstring severity error; + return result; + end function from_string; + + -- Octal and hex conversions work as follows: + -- uf1 <= from_hstring ("6.8", 3, -3); -- 6.5 (bottom zeros dropped) + -- uf1 <= from_ostring ("06.4", 3, -3); -- 6.5 (top zeros dropped) + function from_ostring ( + ostring : STRING; -- Octal string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(ostring); + oread (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_ostring: Bad string "& ostring severity error; + return result; + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(hstring); + hread (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_hstring: Bad string "& hstring severity error; + return result; + end function from_hstring; + + function from_string ( + bstring : STRING; -- binary string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(bstring); + read (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_string: Bad string "& bstring severity error; + return result; + end function from_string; + + function from_ostring ( + ostring : STRING; -- Octal string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(ostring); + oread (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_ostring: Bad string "& ostring severity error; + return result; + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (left_index downto right_index); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(hstring); + hread (L, result, good); + deallocate (L); + assert (good) + report fixed_generic_pkg'instance_name + & "from_hstring: Bad string "& hstring severity error; + return result; + end function from_hstring; + + -- Same as above, "size_res" is used for it's range only. + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return from_string (bstring, size_res'high, size_res'low); + end function from_string; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return from_ostring (ostring, size_res'high, size_res'low); + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed is + begin + return from_hstring(hstring, size_res'high, size_res'low); + end function from_hstring; + + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return from_string (bstring, size_res'high, size_res'low); + end function from_string; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return from_ostring (ostring, size_res'high, size_res'low); + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed is + begin + return from_hstring (hstring, size_res'high, size_res'low); + end function from_hstring; + + -- Direct conversion functions. Example: + -- signal uf1 : ufixed (3 downto -3); + -- uf1 <= from_string ("0110.100"); -- 6.5 + -- In this case the "." is not optional, and the size of + -- the output must match exactly. + -- purpose: Calculate the string boundaries + procedure calculate_string_boundry ( + arg : in STRING; -- input string + left_index : out INTEGER; -- left + right_index : out INTEGER) is -- right + -- examples "10001.111" would return +4, -3 + -- "07X.44" would return +2, -2 (then the octal routine would multiply) + -- "A_B_._C" would return +1, -1 (then the hex routine would multiply) + alias xarg : STRING (arg'length downto 1) is arg; -- make it downto range + variable l, r : INTEGER; -- internal indexes + variable founddot : BOOLEAN := false; + begin + if arg'length > 0 then + l := xarg'high - 1; + r := 0; + for i in xarg'range loop + if xarg(i) = '_' then + if r = 0 then + l := l - 1; + else + r := r + 1; + end if; + elsif xarg(i) = ' ' or xarg(i) = NBSP or xarg(i) = HT then + report fixed_generic_pkg'instance_name + & "Found a space in the input STRING " & xarg + severity error; + elsif xarg(i) = '.' then + if founddot then + report fixed_generic_pkg'instance_name + & "Found two binary points in input string " & xarg + severity error; + else + l := l - i; + r := -i + 1; + founddot := true; + end if; + end if; + end loop; + left_index := l; + right_index := r; + else + left_index := 0; + right_index := 0; + end if; + end procedure calculate_string_boundry; + + -- Direct conversion functions. Example: + -- signal uf1 : ufixed (3 downto -3); + -- uf1 <= from_string ("0110.100"); -- 6.5 + -- In this case the "." is not optional, and the size of + -- the output must match exactly. + function from_string ( + bstring : STRING) -- binary string + return UNRESOLVED_ufixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (bstring, left_index, right_index); + return from_string (bstring, left_index, right_index); + end function from_string; + + -- Direct octal and hex conversion functions. In this case + -- the string lengths must match. Example: + -- signal sf1 := sfixed (5 downto -3); + -- sf1 <= from_ostring ("71.4") -- -6.5 + function from_ostring ( + ostring : STRING) -- Octal string + return UNRESOLVED_ufixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (ostring, left_index, right_index); + return from_ostring (ostring, ((left_index+1)*3)-1, right_index*3); + end function from_ostring; + + function from_hstring ( + hstring : STRING) -- hex string + return UNRESOLVED_ufixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (hstring, left_index, right_index); + return from_hstring (hstring, ((left_index+1)*4)-1, right_index*4); + end function from_hstring; + + function from_string ( + bstring : STRING) -- binary string + return UNRESOLVED_sfixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (bstring, left_index, right_index); + return from_string (bstring, left_index, right_index); + end function from_string; + + function from_ostring ( + ostring : STRING) -- Octal string + return UNRESOLVED_sfixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (ostring, left_index, right_index); + return from_ostring (ostring, ((left_index+1)*3)-1, right_index*3); + end function from_ostring; + + function from_hstring ( + hstring : STRING) -- hex string + return UNRESOLVED_sfixed + is + variable left_index, right_index : INTEGER; + begin + calculate_string_boundry (hstring, left_index, right_index); + return from_hstring (hstring, ((left_index+1)*4)-1, right_index*4); + end function from_hstring; + +end package body fixed_generic_pkg; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl new file mode 100644 index 0000000..36a2aed --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl @@ -0,0 +1,1439 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Fixed-point package (Generic package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary fixed point +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +use STD.TEXTIO.all; +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.NUMERIC_STD.all; +use IEEE.fixed_float_types.all; + +package fixed_generic_pkg is + generic ( + -- Rounding routine to use in fixed point, fixed_round or fixed_truncate + fixed_round_style : fixed_round_style_type := fixed_round; + -- Overflow routine to use in fixed point, fixed_saturate or fixed_wrap + fixed_overflow_style : fixed_overflow_style_type := fixed_saturate; + -- Extra bits used in divide routines + fixed_guard_bits : NATURAL := 3; + -- If TRUE, then turn off warnings on "X" propagation + no_warning : BOOLEAN := false + ); + + -- Author David Bishop (dbishop@vhdl.org) + constant CopyRightNotice : STRING := + "Copyright 2008 by IEEE. All rights reserved."; + + -- base Unsigned fixed point type, downto direction assumed + type UNRESOLVED_ufixed is array (INTEGER range <>) of STD_ULOGIC; + -- base Signed fixed point type, downto direction assumed + type UNRESOLVED_sfixed is array (INTEGER range <>) of STD_ULOGIC; + + alias U_ufixed is UNRESOLVED_ufixed; + alias U_sfixed is UNRESOLVED_sfixed; + + subtype ufixed is (resolved) UNRESOLVED_ufixed; + subtype sfixed is (resolved) UNRESOLVED_sfixed; + + --=========================================================================== + -- Arithmetic Operators: + --=========================================================================== + + -- Absolute value, 2's complement + -- abs sfixed(a downto b) = sfixed(a+1 downto b) + function "abs" (arg : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Negation, 2's complement + -- - sfixed(a downto b) = sfixed(a+1 downto b) + function "-" (arg : UNRESOLVED_sfixed)return UNRESOLVED_sfixed; + + -- Addition + -- ufixed(a downto b) + ufixed(c downto d) + -- = ufixed(maximum(a,c)+1 downto minimum(b,d)) + function "+" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed(a downto b) + sfixed(c downto d) + -- = sfixed(maximum(a,c)+1 downto minimum(b,d)) + function "+" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Subtraction + -- ufixed(a downto b) - ufixed(c downto d) + -- = ufixed(maximum(a,c)+1 downto minimum(b,d)) + function "-" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed(a downto b) - sfixed(c downto d) + -- = sfixed(maximum(a,c)+1 downto minimum(b,d)) + function "-" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Multiplication + -- ufixed(a downto b) * ufixed(c downto d) = ufixed(a+c+1 downto b+d) + function "*" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed(a downto b) * sfixed(c downto d) = sfixed(a+c+1 downto b+d) + function "*" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Division + -- ufixed(a downto b) / ufixed(c downto d) = ufixed(a-d downto b-c-1) + function "/" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed(a downto b) / sfixed(c downto d) = sfixed(a-d+1 downto b-c) + function "/" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Remainder + -- ufixed (a downto b) rem ufixed (c downto d) + -- = ufixed (minimum(a,c) downto minimum(b,d)) + function "rem" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed (a downto b) rem sfixed (c downto d) + -- = sfixed (minimum(a,c) downto minimum(b,d)) + function "rem" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Modulo + -- ufixed (a downto b) mod ufixed (c downto d) + -- = ufixed (minimum(a,c) downto minimum(b, d)) + function "mod" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed (a downto b) mod sfixed (c downto d) + -- = sfixed (c downto minimum(b, d)) + function "mod" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + ---------------------------------------------------------------------------- + -- In these routines the "real" or "natural" (integer) + -- are converted into a fixed point number and then the operation is + -- performed. It is assumed that the array will be large enough. + -- If the input is "real" then the real number is converted into a fixed of + -- the same size as the fixed point input. If the number is an "integer" + -- then it is converted into fixed with the range (l'high downto 0). + ---------------------------------------------------------------------------- + + -- ufixed(a downto b) + ufixed(a downto b) = ufixed(a+1 downto b) + function "+" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed(c downto d) + ufixed(c downto d) = ufixed(c+1 downto d) + function "+" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) + ufixed(a downto 0) = ufixed(a+1 downto minimum(0,b)) + function "+" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed(a downto 0) + ufixed(c downto d) = ufixed(c+1 downto minimum(0,d)) + function "+" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) - ufixed(a downto b) = ufixed(a+1 downto b) + function "-" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed(c downto d) - ufixed(c downto d) = ufixed(c+1 downto d) + function "-" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) - ufixed(a downto 0) = ufixed(a+1 downto minimum(0,b)) + function "-" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed(a downto 0) + ufixed(c downto d) = ufixed(c+1 downto minimum(0,d)) + function "-" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) * ufixed(a downto b) = ufixed(2a+1 downto 2b) + function "*" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed(c downto d) * ufixed(c downto d) = ufixed(2c+1 downto 2d) + function "*" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) * ufixed (a downto 0) = ufixed (2a+1 downto b) + function "*" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) * ufixed (a downto 0) = ufixed (2a+1 downto b) + function "*" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) / ufixed(a downto b) = ufixed(a-b downto b-a-1) + function "/" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) / ufixed(a downto b) = ufixed(a-b downto b-a-1) + function "/" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed(a downto b) / ufixed(a downto 0) = ufixed(a downto b-a-1) + function "/" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed(c downto 0) / ufixed(c downto d) = ufixed(c-d downto -c-1) + function "/" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) rem ufixed (a downto b) = ufixed (a downto b) + function "rem" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed (c downto d) rem ufixed (c downto d) = ufixed (c downto d) + function "rem" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) rem ufixed (a downto 0) = ufixed (a downto minimum(b,0)) + function "rem" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed (c downto 0) rem ufixed (c downto d) = ufixed (c downto minimum(d,0)) + function "rem" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) mod ufixed (a downto b) = ufixed (a downto b) + function "mod" (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + + -- ufixed (c downto d) mod ufixed (c downto d) = ufixed (c downto d) + function "mod" (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- ufixed (a downto b) mod ufixed (a downto 0) = ufixed (a downto minimum(b,0)) + function "mod" (l : UNRESOLVED_ufixed; r : NATURAL) return UNRESOLVED_ufixed; + + -- ufixed (c downto 0) mod ufixed (c downto d) = ufixed (c downto minimum(d,0)) + function "mod" (l : NATURAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + + -- sfixed(a downto b) + sfixed(a downto b) = sfixed(a+1 downto b) + function "+" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed(c downto d) + sfixed(c downto d) = sfixed(c+1 downto d) + function "+" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) + sfixed(a downto 0) = sfixed(a+1 downto minimum(0,b)) + function "+" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed(c downto 0) + sfixed(c downto d) = sfixed(c+1 downto minimum(0,d)) + function "+" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) - sfixed(a downto b) = sfixed(a+1 downto b) + function "-" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed(c downto d) - sfixed(c downto d) = sfixed(c+1 downto d) + function "-" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) - sfixed(a downto 0) = sfixed(a+1 downto minimum(0,b)) + function "-" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed(c downto 0) - sfixed(c downto d) = sfixed(c+1 downto minimum(0,d)) + function "-" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) * sfixed(a downto b) = sfixed(2a+1 downto 2b) + function "*" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed(c downto d) * sfixed(c downto d) = sfixed(2c+1 downto 2d) + function "*" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) * sfixed(a downto 0) = sfixed(2a+1 downto b) + function "*" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed(c downto 0) * sfixed(c downto d) = sfixed(2c+1 downto d) + function "*" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) / sfixed(a downto b) = sfixed(a-b+1 downto b-a) + function "/" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed(c downto d) / sfixed(c downto d) = sfixed(c-d+1 downto d-c) + function "/" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed(a downto b) / sfixed(a downto 0) = sfixed(a+1 downto b-a) + function "/" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed(c downto 0) / sfixed(c downto d) = sfixed(c-d+1 downto -c) + function "/" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed (a downto b) rem sfixed (a downto b) = sfixed (a downto b) + function "rem" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed (c downto d) rem sfixed (c downto d) = sfixed (c downto d) + function "rem" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed (a downto b) rem sfixed (a downto 0) = sfixed (a downto minimum(b,0)) + function "rem" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed (c downto 0) rem sfixed (c downto d) = sfixed (c downto minimum(d,0)) + function "rem" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed (a downto b) mod sfixed (a downto b) = sfixed (a downto b) + function "mod" (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + + -- sfixed (c downto d) mod sfixed (c downto d) = sfixed (c downto d) + function "mod" (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- sfixed (a downto b) mod sfixed (a downto 0) = sfixed (a downto minimum(b,0)) + function "mod" (l : UNRESOLVED_sfixed; r : INTEGER) return UNRESOLVED_sfixed; + + -- sfixed (c downto 0) mod sfixed (c downto d) = sfixed (c downto minimum(d,0)) + function "mod" (l : INTEGER; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- This version of divide gives the user more control + -- ufixed(a downto b) / ufixed(c downto d) = ufixed(a-d downto b-c-1) + function divide ( + l, r : UNRESOLVED_ufixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + -- This version of divide gives the user more control + -- sfixed(a downto b) / sfixed(c downto d) = sfixed(a-d+1 downto b-c) + function divide ( + l, r : UNRESOLVED_sfixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + -- These functions return 1/X + -- 1 / ufixed(a downto b) = ufixed(-b downto -a-1) + function reciprocal ( + arg : UNRESOLVED_ufixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + -- 1 / sfixed(a downto b) = sfixed(-b+1 downto -a) + function reciprocal ( + arg : UNRESOLVED_sfixed; -- fixed point input + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + -- REM function + -- ufixed (a downto b) rem ufixed (c downto d) + -- = ufixed (minimum(a,c) downto minimum(b,d)) + function remainder ( + l, r : UNRESOLVED_ufixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + -- sfixed (a downto b) rem sfixed (c downto d) + -- = sfixed (minimum(a,c) downto minimum(b,d)) + function remainder ( + l, r : UNRESOLVED_sfixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + -- mod function + -- ufixed (a downto b) mod ufixed (c downto d) + -- = ufixed (minimum(a,c) downto minimum(b, d)) + function modulo ( + l, r : UNRESOLVED_ufixed; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + -- sfixed (a downto b) mod sfixed (c downto d) + -- = sfixed (c downto minimum(b, d)) + function modulo ( + l, r : UNRESOLVED_sfixed; + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + -- Procedure for those who need an "accumulator" function. + -- add_carry (ufixed(a downto b), ufixed (c downto d)) + -- = ufixed (maximum(a,c) downto minimum(b,d)) + procedure add_carry ( + L, R : in UNRESOLVED_ufixed; + c_in : in STD_ULOGIC; + result : out UNRESOLVED_ufixed; + c_out : out STD_ULOGIC); + + -- add_carry (sfixed(a downto b), sfixed (c downto d)) + -- = sfixed (maximum(a,c) downto minimum(b,d)) + procedure add_carry ( + L, R : in UNRESOLVED_sfixed; + c_in : in STD_ULOGIC; + result : out UNRESOLVED_sfixed; + c_out : out STD_ULOGIC); + + -- Scales the result by a power of 2. Width of input = width of output with + -- the binary point moved. + function scalb (y : UNRESOLVED_ufixed; N : INTEGER) return UNRESOLVED_ufixed; + function scalb (y : UNRESOLVED_ufixed; N : UNRESOLVED_SIGNED) return UNRESOLVED_ufixed; + function scalb (y : UNRESOLVED_sfixed; N : INTEGER) return UNRESOLVED_sfixed; + function scalb (y : UNRESOLVED_sfixed; N : UNRESOLVED_SIGNED) return UNRESOLVED_sfixed; + + function Is_Negative (arg : UNRESOLVED_sfixed) return BOOLEAN; + + --=========================================================================== + -- Comparison Operators + --=========================================================================== + + function ">" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function ">" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + function "<" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function "<" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + function "<=" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function "<=" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + function ">=" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function ">=" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + function "=" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function "=" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + function "/=" (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function "/=" (l, r : UNRESOLVED_sfixed) return BOOLEAN; + + function "?=" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?/=" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>=" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<=" (l, r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?=" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?/=" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>=" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<=" (l, r : UNRESOLVED_sfixed) return STD_ULOGIC; + + function std_match (l, r : UNRESOLVED_ufixed) return BOOLEAN; + function std_match (l, r : UNRESOLVED_sfixed) return BOOLEAN; + + -- Overloads the default "maximum" and "minimum" function + + function maximum (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function minimum (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function maximum (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function minimum (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + ---------------------------------------------------------------------------- + -- In these compare functions a natural is converted into a + -- fixed point number of the bounds "maximum(l'high,0) downto 0" + ---------------------------------------------------------------------------- + + function "=" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + function "/=" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + function ">=" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + function "<=" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + function ">" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + function "<" (l : UNRESOLVED_ufixed; r : NATURAL) return BOOLEAN; + + function "=" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "/=" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function ">=" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "<=" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function ">" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "<" (l : NATURAL; r : UNRESOLVED_ufixed) return BOOLEAN; + + function "?=" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_ufixed; r : NATURAL) return STD_ULOGIC; + + function "?=" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?/=" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>=" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<=" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<" (l : NATURAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + + function maximum (l : UNRESOLVED_ufixed; r : NATURAL) + return UNRESOLVED_ufixed; + function minimum (l : UNRESOLVED_ufixed; r : NATURAL) + return UNRESOLVED_ufixed; + function maximum (l : NATURAL; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function minimum (l : NATURAL; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + ---------------------------------------------------------------------------- + -- In these compare functions a real is converted into a + -- fixed point number of the bounds "l'high+1 downto l'low" + ---------------------------------------------------------------------------- + + function "=" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + function "/=" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + function ">=" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + function "<=" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + function ">" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + function "<" (l : UNRESOLVED_ufixed; r : REAL) return BOOLEAN; + + function "=" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "/=" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function ">=" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "<=" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function ">" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + function "<" (l : REAL; r : UNRESOLVED_ufixed) return BOOLEAN; + + function "?=" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_ufixed; r : REAL) return STD_ULOGIC; + + function "?=" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?/=" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>=" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<=" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?>" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + function "?<" (l : REAL; r : UNRESOLVED_ufixed) return STD_ULOGIC; + + function maximum (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + function maximum (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function minimum (l : UNRESOLVED_ufixed; r : REAL) return UNRESOLVED_ufixed; + function minimum (l : REAL; r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + ---------------------------------------------------------------------------- + -- In these compare functions an integer is converted into a + -- fixed point number of the bounds "maximum(l'high,1) downto 0" + ---------------------------------------------------------------------------- + + function "=" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + function "/=" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + function ">=" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + function "<=" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + function ">" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + function "<" (l : UNRESOLVED_sfixed; r : INTEGER) return BOOLEAN; + + function "=" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + function "/=" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + function ">=" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + function "<=" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + function ">" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + function "<" (l : INTEGER; r : UNRESOLVED_sfixed) return BOOLEAN; + + function "?=" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_sfixed; r : INTEGER) return STD_ULOGIC; + + function "?=" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?/=" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>=" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<=" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<" (l : INTEGER; r : UNRESOLVED_sfixed) return STD_ULOGIC; + + function maximum (l : UNRESOLVED_sfixed; r : INTEGER) + return UNRESOLVED_sfixed; + function maximum (l : INTEGER; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function minimum (l : UNRESOLVED_sfixed; r : INTEGER) + return UNRESOLVED_sfixed; + function minimum (l : INTEGER; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + ---------------------------------------------------------------------------- + -- In these compare functions a real is converted into a + -- fixed point number of the bounds "l'high+1 downto l'low" + ---------------------------------------------------------------------------- + + function "=" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + function "/=" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + function ">=" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + function "<=" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + function ">" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + function "<" (l : UNRESOLVED_sfixed; r : REAL) return BOOLEAN; + + function "=" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + function "/=" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + function ">=" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + function "<=" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + function ">" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + function "<" (l : REAL; r : UNRESOLVED_sfixed) return BOOLEAN; + + function "?=" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_sfixed; r : REAL) return STD_ULOGIC; + + function "?=" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?/=" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>=" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<=" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?>" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + function "?<" (l : REAL; r : UNRESOLVED_sfixed) return STD_ULOGIC; + + function maximum (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + function maximum (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function minimum (l : UNRESOLVED_sfixed; r : REAL) return UNRESOLVED_sfixed; + function minimum (l : REAL; r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + --=========================================================================== + -- Shift and Rotate Functions. + -- Note that sra and sla are not the same as the BIT_VECTOR version + --=========================================================================== + + function "sll" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "srl" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "rol" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "ror" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "sla" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "sra" (ARG : UNRESOLVED_ufixed; COUNT : INTEGER) + return UNRESOLVED_ufixed; + function "sll" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function "srl" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function "rol" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function "ror" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function "sla" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function "sra" (ARG : UNRESOLVED_sfixed; COUNT : INTEGER) + return UNRESOLVED_sfixed; + function SHIFT_LEFT (ARG : UNRESOLVED_ufixed; COUNT : NATURAL) + return UNRESOLVED_ufixed; + function SHIFT_RIGHT (ARG : UNRESOLVED_ufixed; COUNT : NATURAL) + return UNRESOLVED_ufixed; + function SHIFT_LEFT (ARG : UNRESOLVED_sfixed; COUNT : NATURAL) + return UNRESOLVED_sfixed; + function SHIFT_RIGHT (ARG : UNRESOLVED_sfixed; COUNT : NATURAL) + return UNRESOLVED_sfixed; + + ---------------------------------------------------------------------------- + -- logical functions + ---------------------------------------------------------------------------- + + function "not" (l : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "and" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "or" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "nand" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "nor" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "xor" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "xnor" (l, r : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function "not" (l : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "and" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "or" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "nand" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "nor" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "xor" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function "xnor" (l, r : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- Vector and std_ulogic functions, same as functions in numeric_std + function "and" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "and" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "or" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "or" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "nand" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "nand" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "nor" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "nor" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "xor" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "xor" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "xnor" (l : STD_ULOGIC; r : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + function "xnor" (l : UNRESOLVED_ufixed; r : STD_ULOGIC) + return UNRESOLVED_ufixed; + function "and" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "and" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + function "or" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "or" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + function "nand" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "nand" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + function "nor" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "nor" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + function "xor" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "xor" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + function "xnor" (l : STD_ULOGIC; r : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + function "xnor" (l : UNRESOLVED_sfixed; r : STD_ULOGIC) + return UNRESOLVED_sfixed; + + -- Reduction operators, same as numeric_std functions + function "and" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "nand" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "or" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "nor" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "xor" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "xnor" (l : UNRESOLVED_ufixed) return STD_ULOGIC; + function "and" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + function "nand" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + function "or" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + function "nor" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + function "xor" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + function "xnor" (l : UNRESOLVED_sfixed) return STD_ULOGIC; + + -- returns arg'low-1 if not found + function find_leftmost (arg : UNRESOLVED_ufixed; y : STD_ULOGIC) + return INTEGER; + function find_leftmost (arg : UNRESOLVED_sfixed; y : STD_ULOGIC) + return INTEGER; + + -- returns arg'high+1 if not found + function find_rightmost (arg : UNRESOLVED_ufixed; y : STD_ULOGIC) + return INTEGER; + function find_rightmost (arg : UNRESOLVED_sfixed; y : STD_ULOGIC) + return INTEGER; + + --=========================================================================== + -- RESIZE Functions + --=========================================================================== + -- resizes the number (larger or smaller) + -- The returned result will be ufixed (left_index downto right_index) + -- If "round_style" is fixed_round, then the result will be rounded. + -- If the MSB of the remainder is a "1" AND the LSB of the unrounded result + -- is a '1' or the lower bits of the remainder include a '1' then the result + -- will be increased by the smallest representable number for that type. + -- "overflow_style" can be fixed_saturate or fixed_wrap. + -- In saturate mode, if the number overflows then the largest possible + -- representable number is returned. If wrap mode, then the upper bits + -- of the number are truncated. + + function resize ( + arg : UNRESOLVED_ufixed; -- input + constant left_index : INTEGER; -- integer portion + constant right_index : INTEGER; -- size of fraction + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + -- "size_res" functions create the size of the output from the indices + -- of the "size_res" input. The actual value of "size_res" is not used. + function resize ( + arg : UNRESOLVED_ufixed; -- input + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + -- Note that in "wrap" mode the sign bit is not replicated. Thus the + -- resize of a negative number can have a positive result in wrap mode. + function resize ( + arg : UNRESOLVED_sfixed; -- input + constant left_index : INTEGER; -- integer portion + constant right_index : INTEGER; -- size of fraction + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + function resize ( + arg : UNRESOLVED_sfixed; -- input + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + --=========================================================================== + -- Conversion Functions + --=========================================================================== + + -- integer (natural) to unsigned fixed point. + -- arguments are the upper and lower bounds of the number, thus + -- ufixed (7 downto -3) <= to_ufixed (int, 7, -3); + function to_ufixed ( + arg : NATURAL; -- integer + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + function to_ufixed ( + arg : NATURAL; -- integer + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + -- real to unsigned fixed point + function to_ufixed ( + arg : REAL; -- real + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + function to_ufixed ( + arg : REAL; -- real + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_ufixed; + + -- unsigned to unsigned fixed point + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED; -- unsigned + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED; -- unsigned + size_res : UNRESOLVED_ufixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_ufixed; + + -- Performs a conversion. ufixed (arg'range) is returned + function to_ufixed ( + arg : UNRESOLVED_UNSIGNED) -- unsigned + return UNRESOLVED_ufixed; + + -- unsigned fixed point to unsigned + function to_unsigned ( + arg : UNRESOLVED_ufixed; -- fixed point input + constant size : NATURAL; -- length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_UNSIGNED; + + -- unsigned fixed point to unsigned + function to_unsigned ( + arg : UNRESOLVED_ufixed; -- fixed point input + size_res : UNRESOLVED_UNSIGNED; -- used for length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_UNSIGNED; + + -- unsigned fixed point to real + function to_real ( + arg : UNRESOLVED_ufixed) -- fixed point input + return REAL; + + -- unsigned fixed point to integer + function to_integer ( + arg : UNRESOLVED_ufixed; -- fixed point input + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return NATURAL; + + -- Integer to UNRESOLVED_sfixed + function to_sfixed ( + arg : INTEGER; -- integer + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + function to_sfixed ( + arg : INTEGER; -- integer + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + -- Real to sfixed + function to_sfixed ( + arg : REAL; -- real + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + function to_sfixed ( + arg : REAL; -- real + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style; + constant guard_bits : NATURAL := fixed_guard_bits) + return UNRESOLVED_sfixed; + + -- signed to sfixed + function to_sfixed ( + arg : UNRESOLVED_SIGNED; -- signed + constant left_index : INTEGER; -- left index (high index) + constant right_index : INTEGER := 0; -- right index + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + function to_sfixed ( + arg : UNRESOLVED_SIGNED; -- signed + size_res : UNRESOLVED_sfixed; -- for size only + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_sfixed; + + -- signed to sfixed (output assumed to be size of signed input) + function to_sfixed ( + arg : UNRESOLVED_SIGNED) -- signed + return UNRESOLVED_sfixed; + + -- Conversion from ufixed to sfixed + function to_sfixed ( + arg : UNRESOLVED_ufixed) + return UNRESOLVED_sfixed; + + -- signed fixed point to signed + function to_signed ( + arg : UNRESOLVED_sfixed; -- fixed point input + constant size : NATURAL; -- length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_SIGNED; + + -- signed fixed point to signed + function to_signed ( + arg : UNRESOLVED_sfixed; -- fixed point input + size_res : UNRESOLVED_SIGNED; -- used for length of output + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return UNRESOLVED_SIGNED; + + -- signed fixed point to real + function to_real ( + arg : UNRESOLVED_sfixed) -- fixed point input + return REAL; + + -- signed fixed point to integer + function to_integer ( + arg : UNRESOLVED_sfixed; -- fixed point input + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; + constant round_style : fixed_round_style_type := fixed_round_style) + return INTEGER; + + -- Because of the fairly complicated sizing rules in the fixed point + -- packages these functions are provided to compute the result ranges + -- Example: + -- signal uf1 : ufixed (3 downto -3); + -- signal uf2 : ufixed (4 downto -2); + -- signal uf1multuf2 : ufixed (ufixed_high (3, -3, '*', 4, -2) downto + -- ufixed_low (3, -3, '*', 4, -2)); + -- uf1multuf2 <= uf1 * uf2; + -- Valid characters: '+', '-', '*', '/', 'r' or 'R' (rem), 'm' or 'M' (mod), + -- '1' (reciprocal), 'a' or 'A' (abs), 'n' or 'N' (unary -) + function ufixed_high (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER; + + function ufixed_low (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER; + + function sfixed_high (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER; + + function sfixed_low (left_index, right_index : INTEGER; + operation : CHARACTER := 'X'; + left_index2, right_index2 : INTEGER := 0) + return INTEGER; + + -- Same as above, but using the "size_res" input only for their ranges: + -- signal uf1multuf2 : ufixed (ufixed_high (uf1, '*', uf2) downto + -- ufixed_low (uf1, '*', uf2)); + -- uf1multuf2 <= uf1 * uf2; + -- + function ufixed_high (size_res : UNRESOLVED_ufixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_ufixed) + return INTEGER; + + function ufixed_low (size_res : UNRESOLVED_ufixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_ufixed) + return INTEGER; + + function sfixed_high (size_res : UNRESOLVED_sfixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_sfixed) + return INTEGER; + + function sfixed_low (size_res : UNRESOLVED_sfixed; + operation : CHARACTER := 'X'; + size_res2 : UNRESOLVED_sfixed) + return INTEGER; + + -- purpose: returns a saturated number + function saturate ( + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed; + + -- purpose: returns a saturated number + function saturate ( + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed; + + function saturate ( + size_res : UNRESOLVED_ufixed) -- only the size of this is used + return UNRESOLVED_ufixed; + + function saturate ( + size_res : UNRESOLVED_sfixed) -- only the size of this is used + return UNRESOLVED_sfixed; + + --=========================================================================== + -- Translation Functions + --=========================================================================== + + -- maps meta-logical values + function to_01 ( + s : UNRESOLVED_ufixed; -- fixed point input + constant XMAP : STD_ULOGIC := '0') -- Map x to + return UNRESOLVED_ufixed; + + -- maps meta-logical values + function to_01 ( + s : UNRESOLVED_sfixed; -- fixed point input + constant XMAP : STD_ULOGIC := '0') -- Map x to + return UNRESOLVED_sfixed; + + function Is_X (arg : UNRESOLVED_ufixed) return BOOLEAN; + function Is_X (arg : UNRESOLVED_sfixed) return BOOLEAN; + function to_X01 (arg : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function to_X01 (arg : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function to_X01Z (arg : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function to_X01Z (arg : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + function to_UX01 (arg : UNRESOLVED_ufixed) return UNRESOLVED_ufixed; + function to_UX01 (arg : UNRESOLVED_sfixed) return UNRESOLVED_sfixed; + + -- straight vector conversion routines, needed for synthesis. + -- These functions are here so that a std_logic_vector can be + -- converted to and from sfixed and ufixed. Note that you can + -- not convert these vectors because of their negative index. + + function to_slv ( + arg : UNRESOLVED_ufixed) -- fixed point vector + return STD_LOGIC_VECTOR; + alias to_StdLogicVector is to_slv [UNRESOLVED_ufixed + return STD_LOGIC_VECTOR]; + alias to_Std_Logic_Vector is to_slv [UNRESOLVED_ufixed + return STD_LOGIC_VECTOR]; + + function to_slv ( + arg : UNRESOLVED_sfixed) -- fixed point vector + return STD_LOGIC_VECTOR; + alias to_StdLogicVector is to_slv [UNRESOLVED_sfixed + return STD_LOGIC_VECTOR]; + alias to_Std_Logic_Vector is to_slv [UNRESOLVED_sfixed + return STD_LOGIC_VECTOR]; + + function to_sulv ( + arg : UNRESOLVED_ufixed) -- fixed point vector + return STD_ULOGIC_VECTOR; + alias to_StdULogicVector is to_sulv [UNRESOLVED_ufixed + return STD_ULOGIC_VECTOR]; + alias to_Std_ULogic_Vector is to_sulv [UNRESOLVED_ufixed + return STD_ULOGIC_VECTOR]; + + function to_sulv ( + arg : UNRESOLVED_sfixed) -- fixed point vector + return STD_ULOGIC_VECTOR; + alias to_StdULogicVector is to_sulv [UNRESOLVED_sfixed + return STD_ULOGIC_VECTOR]; + alias to_Std_ULogic_Vector is to_sulv [UNRESOLVED_sfixed + return STD_ULOGIC_VECTOR]; + + function to_ufixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed; + + function to_ufixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + size_res : UNRESOLVED_ufixed) -- for size only + return UNRESOLVED_ufixed; + + function to_sfixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed; + + function to_sfixed ( + arg : STD_ULOGIC_VECTOR; -- shifted vector + size_res : UNRESOLVED_sfixed) -- for size only + return UNRESOLVED_sfixed; + + -- As a concession to those who use a graphical DSP environment, + -- these functions take parameters in those tools format and create + -- fixed point numbers. These functions are designed to convert from + -- a std_logic_vector to the VHDL fixed point format using the conventions + -- of these packages. In a pure VHDL environment you should use the + -- "to_ufixed" and "to_sfixed" routines. + + -- unsigned fixed point + function to_UFix ( + arg : STD_ULOGIC_VECTOR; + width : NATURAL; -- width of vector + fraction : NATURAL) -- width of fraction + return UNRESOLVED_ufixed; + + -- signed fixed point + function to_SFix ( + arg : STD_ULOGIC_VECTOR; + width : NATURAL; -- width of vector + fraction : NATURAL) -- width of fraction + return UNRESOLVED_sfixed; + + -- finding the bounds of a number. These functions can be used like this: + -- signal xxx : ufixed (7 downto -3); + -- -- Which is the same as "ufixed (UFix_high (11,3) downto UFix_low(11,3))" + -- signal yyy : ufixed (UFix_high (11, 3, "+", 11, 3) + -- downto UFix_low(11, 3, "+", 11, 3)); + -- Where "11" is the width of xxx (xxx'length), + -- and 3 is the lower bound (abs (xxx'low)) + -- In a pure VHDL environment use "ufixed_high" and "ufixed_low" + + function UFix_high (width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER; + + function UFix_low (width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER; + + -- Same as above but for signed fixed point. Note that the width + -- of a signed fixed point number ignores the sign bit, thus + -- width = sxxx'length-1 + + function SFix_high (width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER; + + function SFix_low (width, fraction : NATURAL; + operation : CHARACTER := 'X'; + width2, fraction2 : NATURAL := 0) + return INTEGER; + + --=========================================================================== + -- string and textio Functions + --=========================================================================== + + -- purpose: writes fixed point into a line + procedure WRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + -- purpose: writes fixed point into a line + procedure WRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_ufixed); + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN); + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_sfixed); + + procedure READ(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN); + + alias bwrite is WRITE [LINE, UNRESOLVED_ufixed, SIDE, width]; + alias bwrite is WRITE [LINE, UNRESOLVED_sfixed, SIDE, width]; + alias bread is READ [LINE, UNRESOLVED_ufixed]; + alias bread is READ [LINE, UNRESOLVED_ufixed, BOOLEAN]; + alias bread is READ [LINE, UNRESOLVED_sfixed]; + alias bread is READ [LINE, UNRESOLVED_sfixed, BOOLEAN]; + alias BINARY_WRITE is WRITE [LINE, UNRESOLVED_ufixed, SIDE, width]; + alias BINARY_WRITE is WRITE [LINE, UNRESOLVED_sfixed, SIDE, width]; + alias BINARY_READ is READ [LINE, UNRESOLVED_ufixed, BOOLEAN]; + alias BINARY_READ is READ [LINE, UNRESOLVED_ufixed]; + alias BINARY_READ is READ [LINE, UNRESOLVED_sfixed, BOOLEAN]; + alias BINARY_READ is READ [LINE, UNRESOLVED_sfixed]; + + -- octal read and write + procedure OWRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + procedure OWRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed); + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN); + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed); + + procedure OREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN); + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_ufixed, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_ufixed]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_sfixed, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_sfixed]; + alias OCTAL_WRITE is OWRITE [LINE, UNRESOLVED_ufixed, SIDE, WIDTH]; + alias OCTAL_WRITE is OWRITE [LINE, UNRESOLVED_sfixed, SIDE, WIDTH]; + + -- hex read and write + procedure HWRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_ufixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + -- purpose: writes fixed point into a line + procedure HWRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_sfixed; -- fixed point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0); + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed); + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_ufixed; + GOOD : out BOOLEAN); + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed); + + procedure HREAD(L : inout LINE; + VALUE : out UNRESOLVED_sfixed; + GOOD : out BOOLEAN); + alias HEX_READ is HREAD [LINE, UNRESOLVED_ufixed, BOOLEAN]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_sfixed, BOOLEAN]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_ufixed]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_sfixed]; + alias HEX_WRITE is HWRITE [LINE, UNRESOLVED_ufixed, SIDE, WIDTH]; + alias HEX_WRITE is HWRITE [LINE, UNRESOLVED_sfixed, SIDE, WIDTH]; + + -- returns a string, useful for: + -- assert (x = y) report "error found " & to_string(x) severity error; + function to_string (value : UNRESOLVED_ufixed) return STRING; + + alias to_bstring is to_string [UNRESOLVED_ufixed return STRING]; + alias TO_BINARY_STRING is TO_STRING [UNRESOLVED_ufixed return STRING]; + + function to_ostring (value : UNRESOLVED_ufixed) return STRING; + alias TO_OCTAL_STRING is TO_OSTRING [UNRESOLVED_ufixed return STRING]; + + function to_hstring (value : UNRESOLVED_ufixed) return STRING; + alias TO_HEX_STRING is TO_HSTRING [UNRESOLVED_ufixed return STRING]; + + function to_string (value : UNRESOLVED_sfixed) return STRING; + alias to_bstring is to_string [UNRESOLVED_sfixed return STRING]; + alias TO_BINARY_STRING is TO_STRING [UNRESOLVED_sfixed return STRING]; + + function to_ostring (value : UNRESOLVED_sfixed) return STRING; + alias TO_OCTAL_STRING is TO_OSTRING [UNRESOLVED_sfixed return STRING]; + + function to_hstring (value : UNRESOLVED_sfixed) return STRING; + alias TO_HEX_STRING is TO_HSTRING [UNRESOLVED_sfixed return STRING]; + + -- From string functions allow you to convert a string into a fixed + -- point number. Example: + -- signal uf1 : ufixed (3 downto -3); + -- uf1 <= from_string ("0110.100", uf1'high, uf1'low); -- 6.5 + -- The "." is optional in this syntax, however it exist and is + -- in the wrong location an error is produced. Overflow will + -- result in saturation. + + function from_string ( + bstring : STRING; -- binary string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed; + alias from_bstring is from_string [STRING, INTEGER, INTEGER + return UNRESOLVED_ufixed]; + alias from_binary_string is from_string [STRING, INTEGER, INTEGER + return UNRESOLVED_ufixed]; + + -- Octal and hex conversions work as follows: + -- uf1 <= from_hstring ("6.8", 3, -3); -- 6.5 (bottom zeros dropped) + -- uf1 <= from_ostring ("06.4", 3, -3); -- 6.5 (top zeros dropped) + + function from_ostring ( + ostring : STRING; -- Octal string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed; + alias from_octal_string is from_ostring [STRING, INTEGER, INTEGER + return UNRESOLVED_ufixed]; + + function from_hstring ( + hstring : STRING; -- hex string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_ufixed; + alias from_hex_string is from_hstring [STRING, INTEGER, INTEGER + return UNRESOLVED_ufixed]; + + function from_string ( + bstring : STRING; -- binary string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed; + alias from_bstring is from_string [STRING, INTEGER, INTEGER + return UNRESOLVED_sfixed]; + alias from_binary_string is from_string [STRING, INTEGER, INTEGER + return UNRESOLVED_sfixed]; + + function from_ostring ( + ostring : STRING; -- Octal string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed; + alias from_octal_string is from_ostring [STRING, INTEGER, INTEGER + return UNRESOLVED_sfixed]; + + function from_hstring ( + hstring : STRING; -- hex string + constant left_index : INTEGER; + constant right_index : INTEGER) + return UNRESOLVED_sfixed; + alias from_hex_string is from_hstring [STRING, INTEGER, INTEGER + return UNRESOLVED_sfixed]; + + -- Same as above, "size_res" is used for it's range only. + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + alias from_bstring is from_string [STRING, UNRESOLVED_ufixed + return UNRESOLVED_ufixed]; + alias from_binary_string is from_string [STRING, UNRESOLVED_ufixed + return UNRESOLVED_ufixed]; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + alias from_octal_string is from_ostring [STRING, UNRESOLVED_ufixed + return UNRESOLVED_ufixed]; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_ufixed) + return UNRESOLVED_ufixed; + alias from_hex_string is from_hstring [STRING, UNRESOLVED_ufixed + return UNRESOLVED_ufixed]; + + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + alias from_bstring is from_string [STRING, UNRESOLVED_sfixed + return UNRESOLVED_sfixed]; + alias from_binary_string is from_string [STRING, UNRESOLVED_sfixed + return UNRESOLVED_sfixed]; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + alias from_octal_string is from_ostring [STRING, UNRESOLVED_sfixed + return UNRESOLVED_sfixed]; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_sfixed) + return UNRESOLVED_sfixed; + alias from_hex_string is from_hstring [STRING, UNRESOLVED_sfixed + return UNRESOLVED_sfixed]; + + -- Direct conversion functions. Example: + -- signal uf1 : ufixed (3 downto -3); + -- uf1 <= from_string ("0110.100"); -- 6.5 + -- In this case the "." is not optional, and the size of + -- the output must match exactly. + + function from_string ( + bstring : STRING) -- binary string + return UNRESOLVED_ufixed; + alias from_bstring is from_string [STRING return UNRESOLVED_ufixed]; + alias from_binary_string is from_string [STRING return UNRESOLVED_ufixed]; + + -- Direct octal and hex conversion functions. In this case + -- the string lengths must match. Example: + -- signal sf1 := sfixed (5 downto -3); + -- sf1 <= from_ostring ("71.4") -- -6.5 + + function from_ostring ( + ostring : STRING) -- Octal string + return UNRESOLVED_ufixed; + alias from_octal_string is from_ostring [STRING return UNRESOLVED_ufixed]; + + function from_hstring ( + hstring : STRING) -- hex string + return UNRESOLVED_ufixed; + alias from_hex_string is from_hstring [STRING return UNRESOLVED_ufixed]; + + function from_string ( + bstring : STRING) -- binary string + return UNRESOLVED_sfixed; + alias from_bstring is from_string [STRING return UNRESOLVED_sfixed]; + alias from_binary_string is from_string [STRING return UNRESOLVED_sfixed]; + + function from_ostring ( + ostring : STRING) -- Octal string + return UNRESOLVED_sfixed; + alias from_octal_string is from_ostring [STRING return UNRESOLVED_sfixed]; + + function from_hstring ( + hstring : STRING) -- hex string + return UNRESOLVED_sfixed; + alias from_hex_string is from_hstring [STRING return UNRESOLVED_sfixed]; + +end package fixed_generic_pkg; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl new file mode 100644 index 0000000..1e2ef1a --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl @@ -0,0 +1,51 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Fixed-point package (Instantiated package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary fixed point +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library IEEE; + +package fixed_pkg is new IEEE.fixed_generic_pkg + generic map ( + fixed_round_style => IEEE.fixed_float_types.fixed_round, + fixed_overflow_style => IEEE.fixed_float_types.fixed_saturate, + fixed_guard_bits => 3, + no_warning => false + ); diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl new file mode 100644 index 0000000..f02f926 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl @@ -0,0 +1,5715 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Floating-point package (Generic package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary floating point +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package body float_generic_pkg is + + -- Author David Bishop (dbishop@vhdl.org) + ----------------------------------------------------------------------------- + -- type declarations + ----------------------------------------------------------------------------- + + -- This deferred constant will tell you if the package body is synthesizable + -- or implemented as real numbers, set to "true" if synthesizable. + constant fphdlsynth_or_real : BOOLEAN := true; -- deferred constant + + -- types of boundary conditions + type boundary_type is (normal, infinity, zero, denormal); + + -- null range array constant + constant NAFP : UNRESOLVED_float (0 downto 1) := (others => '0'); + constant NSLV : STD_ULOGIC_VECTOR (0 downto 1) := (others => '0'); + + -- Special version of "minimum" to do some boundary checking + function mine (L, R : INTEGER) + return INTEGER is + begin -- function minimum + if (L = INTEGER'low or R = INTEGER'low) then + report float_generic_pkg'instance_name + & " Unbounded number passed, was a literal used?" + severity error; + return 0; + end if; + return minimum (L, R); + end function mine; + + -- Generates the base number for the exponent normalization offset. + function gen_expon_base ( + constant exponent_width : NATURAL) + return SIGNED + is + variable result : SIGNED (exponent_width-1 downto 0); + begin + result := (others => '1'); + result (exponent_width-1) := '0'; + return result; + end function gen_expon_base; + + -- Integer version of the "log2" command (contributed by Peter Ashenden) + function log2 (A : NATURAL) return NATURAL is + variable quotient : NATURAL; + variable result : NATURAL := 0; + begin + quotient := A / 2; + while quotient > 0 loop + quotient := quotient / 2; + result := result + 1; + end loop; + return result; + end function log2; + + -- Function similar to the ILOGB function in MATH_REAL + function log2 (A : REAL) return INTEGER is + variable Y : REAL; + variable N : INTEGER := 0; + begin + if (A = 1.0 or A = 0.0) then + return 0; + end if; + Y := A; + if(A > 1.0) then + while Y >= 2.0 loop + Y := Y / 2.0; + N := N + 1; + end loop; + return N; + end if; + -- O < Y < 1 + while Y < 1.0 loop + Y := Y * 2.0; + N := N - 1; + end loop; + return N; + end function log2; + + -- purpose: Test the boundary conditions of a Real number + procedure test_boundary ( + arg : in REAL; -- Input, converted to real + constant fraction_width : in NATURAL; -- length of FP output fraction + constant exponent_width : in NATURAL; -- length of FP exponent + constant denormalize : in BOOLEAN := true; -- Use IEEE extended FP + variable btype : out boundary_type; + variable log2i : out INTEGER + ) is + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + constant exp_min : SIGNED (12 downto 0) := + -(resize(expon_base, 13)) + 1; -- Minimum normal exponent + constant exp_ext_min : SIGNED (12 downto 0) := + exp_min - fraction_width; -- Minimum for denormal exponent + variable log2arg : INTEGER; -- log2 of argument + begin -- function test_boundary + -- Check to see if the exponent is big enough + -- Note that the argument is always an absolute value at this point. + log2arg := log2(arg); + if arg = 0.0 then + btype := zero; + elsif exponent_width > 11 then -- Exponent for Real is 11 (64 bit) + btype := normal; + else + if log2arg < to_integer(exp_min) then + if denormalize then + if log2arg < to_integer(exp_ext_min) then + btype := zero; + else + btype := denormal; + end if; + else + if log2arg < to_integer(exp_min)-1 then + btype := zero; + else + btype := normal; -- Can still represent this number + end if; + end if; + elsif exponent_width < 11 then + if log2arg > to_integer(expon_base)+1 then + btype := infinity; + else + btype := normal; + end if; + else + btype := normal; + end if; + end if; + log2i := log2arg; + end procedure test_boundary; + + -- purpose: Rounds depending on the state of the "round_style" + -- Logic taken from + -- "What Every Computer Scientist Should Know About Floating Point Arithmetic" + -- by David Goldberg (1991) + function check_round ( + fract_in : STD_ULOGIC; -- input fraction + sign : STD_ULOGIC; -- sign bit + remainder : UNSIGNED; -- remainder to round from + sticky : STD_ULOGIC := '0'; -- Sticky bit + constant round_style : round_type) -- rounding type + return BOOLEAN + is + variable result : BOOLEAN; + variable or_reduced : STD_ULOGIC; + begin -- function check_round + result := false; + if (remainder'length > 0) then -- if remainder in a null array + or_reduced := or (remainder & sticky); + rounding_case : case round_style is + when round_nearest => -- Round Nearest, default mode + if remainder(remainder'high) = '1' then -- round + if (remainder'length > 1) then + if ((or (remainder(remainder'high-1 + downto remainder'low)) = '1' + or sticky = '1') + or fract_in = '1') then + -- Make the bottom bit zero if possible if we are at 1/2 + result := true; + end if; + else + result := (fract_in = '1' or sticky = '1'); + end if; + end if; + when round_inf => -- round up if positive, else truncate. + if or_reduced = '1' and sign = '0' then + result := true; + end if; + when round_neginf => -- round down if negative, else truncate. + if or_reduced = '1' and sign = '1' then + result := true; + end if; + when round_zero => -- round toward 0 Truncate + null; + end case rounding_case; + end if; + return result; + end function check_round; + + -- purpose: Rounds depending on the state of the "round_style" + -- unsigned version + procedure fp_round ( + fract_in : in UNSIGNED; -- input fraction + expon_in : in SIGNED; -- input exponent + fract_out : out UNSIGNED; -- output fraction + expon_out : out SIGNED) is -- output exponent + begin -- procedure fp_round + if and (fract_in) = '1' then -- Fraction is all "1" + expon_out := expon_in + 1; + fract_out := to_unsigned(0, fract_out'high+1); + else + expon_out := expon_in; + fract_out := fract_in + 1; + end if; + end procedure fp_round; + + -- This version of break_number doesn't call "classfp" + procedure break_number ( -- internal version + arg : in UNRESOLVED_float; + fptyp : in valid_fpstate; + denormalize : in BOOLEAN := true; + fract : out UNSIGNED; + expon : out SIGNED) is + constant fraction_width : NATURAL := -arg'low; -- length of FP output fraction + constant exponent_width : NATURAL := arg'high; -- length of FP output exponent + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable exp : SIGNED (expon'range); + begin + fract (fraction_width-1 downto 0) := + UNSIGNED (to_slv(arg(-1 downto -fraction_width))); + breakcase : case fptyp is + when pos_zero | neg_zero => + fract (fraction_width) := '0'; + exp := -expon_base; + when pos_denormal | neg_denormal => + if denormalize then + exp := -expon_base; + fract (fraction_width) := '0'; + else + exp := -expon_base - 1; + fract (fraction_width) := '1'; + end if; + when pos_normal | neg_normal | pos_inf | neg_inf => + fract (fraction_width) := '1'; + exp := SIGNED(arg(exponent_width-1 downto 0)); + exp (exponent_width-1) := not exp(exponent_width-1); + when others => + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "BREAK_NUMBER: " & + "Meta state detected in fp_break_number process" + severity warning; + -- complete the case, if a NAN goes in, a NAN comes out. + exp := (others => '1'); + fract (fraction_width) := '1'; + end case breakcase; + expon := exp; + end procedure break_number; + + -- purpose: floating point to UNSIGNED + -- Used by to_integer, to_unsigned, and to_signed functions + procedure float_to_unsigned ( + arg : in UNRESOLVED_float; -- floating point input + variable sign : out STD_ULOGIC; -- sign of output + variable frac : out UNSIGNED; -- unsigned biased output + constant denormalize : in BOOLEAN; -- turn on denormalization + constant bias : in NATURAL; -- bias for fixed point + constant round_style : in round_type) is -- rounding method + constant fraction_width : INTEGER := -mine(arg'low, arg'low); -- length of FP output fraction + constant exponent_width : INTEGER := arg'high; -- length of FP output exponent + variable fract : UNSIGNED (frac'range); -- internal version of frac + variable isign : STD_ULOGIC; -- internal version of sign + variable exp : INTEGER; -- Exponent + variable expon : SIGNED (exponent_width-1 downto 0); -- Vectorized exp + -- Base to divide fraction by + variable frac_shift : UNSIGNED (frac'high+3 downto 0); -- Fraction shifted + variable shift : INTEGER; + variable remainder : UNSIGNED (2 downto 0); + variable round : STD_ULOGIC; -- round BIT + begin + isign := to_x01(arg(arg'high)); + -- exponent /= '0', normal floating point + expon := to_01(SIGNED(arg (exponent_width-1 downto 0)), 'X'); + expon(exponent_width-1) := not expon(exponent_width-1); + exp := to_integer (expon); + -- Figure out the fraction + fract := (others => '0'); -- fill with zero + fract (fract'high) := '1'; -- Add the "1.0". + shift := (fract'high-1) - exp; + if fraction_width > fract'high then -- Can only use size-2 bits + fract (fract'high-1 downto 0) := UNSIGNED (to_slv (arg(-1 downto + -fract'high))); + else -- can use all bits + fract (fract'high-1 downto fract'high-fraction_width) := + UNSIGNED (to_slv (arg(-1 downto -fraction_width))); + end if; + frac_shift := fract & "000"; + if shift < 0 then -- Overflow + fract := (others => '1'); + else + frac_shift := shift_right (frac_shift, shift); + fract := frac_shift (frac_shift'high downto 3); + remainder := frac_shift (2 downto 0); + -- round (round_zero will bypass this and truncate) + case round_style is + when round_nearest => + round := remainder(2) and + (fract (0) or (or (remainder (1 downto 0)))); + when round_inf => + round := remainder(2) and not isign; + when round_neginf => + round := remainder(2) and isign; + when others => + round := '0'; + end case; + if round = '1' then + fract := fract + 1; + end if; + end if; + frac := fract; + sign := isign; + end procedure float_to_unsigned; + + -- purpose: returns a part of a vector, this function is here because + -- or (fractr (to_integer(shiftx) downto 0)); + -- can't be synthesized in some synthesis tools. + function smallfract ( + arg : UNSIGNED; + shift : NATURAL) + return STD_ULOGIC + is + variable orx : STD_ULOGIC; + begin + orx := arg(shift); + for i in arg'range loop + if i < shift then + orx := arg(i) or orx; + end if; + end loop; + return orx; + end function smallfract; + --------------------------------------------------------------------------- + -- Visible functions + --------------------------------------------------------------------------- + + -- purpose: converts the negative index to a positive one + -- negative indices are illegal in 1164 and 1076.3 + function to_sulv ( + arg : UNRESOLVED_float) -- fp vector + return STD_ULOGIC_VECTOR + is + variable result : STD_ULOGIC_VECTOR (arg'length-1 downto 0); + begin -- function to_std_ulogic_vector + if arg'length < 1 then + return NSLV; + end if; + result := STD_ULOGIC_VECTOR (arg); + return result; + end function to_sulv; + + -- Converts an fp into an SULV + function to_slv (arg : UNRESOLVED_float) return STD_LOGIC_VECTOR is + begin + return to_sulv (arg); + end function to_slv; + + -- purpose: normalizes a floating point number + -- This version assumes an "unsigned" input with + function normalize ( + fract : UNRESOLVED_UNSIGNED; -- fraction, unnormalized + expon : UNRESOLVED_SIGNED; -- exponent, normalized by -1 + sign : STD_ULOGIC; -- sign BIT + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + constant exponent_width : NATURAL := float_exponent_width; -- size of output exponent + constant fraction_width : NATURAL := float_fraction_width; -- size of output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float + is + variable sfract : UNSIGNED (fract'high downto 0); -- shifted fraction + variable rfract : UNSIGNED (fraction_width-1 downto 0); -- fraction + variable exp : SIGNED (exponent_width+1 downto 0); -- exponent + variable rexp : SIGNED (exponent_width+1 downto 0); -- result exponent + variable rexpon : UNSIGNED (exponent_width-1 downto 0); -- exponent + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); -- result + variable shiftr : INTEGER; -- shift amount + variable stickyx : STD_ULOGIC; -- version of sticky + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable round, zerores, infres : BOOLEAN; + begin -- function normalize + zerores := false; + infres := false; + round := false; + shiftr := find_leftmost (to_01(fract), '1') -- Find the first "1" + - fraction_width - nguard; -- subtract the length we want + exp := resize (expon, exp'length) + shiftr; + if (or (fract) = '0') then -- Zero + zerores := true; + elsif ((exp <= -resize(expon_base, exp'length)-1) and denormalize) + or ((exp < -resize(expon_base, exp'length)-1) and not denormalize) then + if (exp >= -resize(expon_base, exp'length)-fraction_width-1) + and denormalize then + exp := -resize(expon_base, exp'length)-1; + shiftr := -to_integer (expon + expon_base); -- new shift + else -- return zero + zerores := true; + end if; + elsif (exp > expon_base-1) then -- infinity + infres := true; + end if; + if zerores then + result := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif infres then + result := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + sfract := fract srl shiftr; -- shift + if shiftr > 0 then +-- stickyx := sticky or (or (fract (shiftr-1 downto 0))); + stickyx := sticky or smallfract (fract, shiftr-1); + else + stickyx := sticky; + end if; + if nguard > 0 then + round := check_round ( + fract_in => sfract (nguard), + sign => sign, + remainder => sfract(nguard-1 downto 0), + sticky => stickyx, + round_style => round_style); + end if; + if round then + fp_round(fract_in => sfract (fraction_width-1+nguard downto nguard), + expon_in => exp(rexp'range), + fract_out => rfract, + expon_out => rexp); + else + rfract := sfract (fraction_width-1+nguard downto nguard); + rexp := exp(rexp'range); + end if; + -- result + rexpon := UNSIGNED (rexp(exponent_width-1 downto 0)); + rexpon (exponent_width-1) := not rexpon(exponent_width-1); + result (rexpon'range) := UNRESOLVED_float(rexpon); + result (-1 downto -fraction_width) := UNRESOLVED_float(rfract); + end if; + result (exponent_width) := sign; -- sign BIT + return result; + end function normalize; + + -- purpose: normalizes a floating point number + -- This version assumes a "ufixed" input + function normalize ( + fract : UNRESOLVED_ufixed; -- unsigned fixed point + expon : UNRESOLVED_SIGNED; -- exponent, normalized by -1 + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + constant exponent_width : NATURAL := float_exponent_width; -- size of output exponent + constant fraction_width : NATURAL := float_fraction_width; -- size of output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable arguns : UNSIGNED (fract'high + fraction_width + nguard + downto 0) := (others => '0'); + begin -- function normalize + arguns (arguns'high downto maximum (arguns'high-fract'length+1, 0)) := + UNSIGNED (to_slv (fract)); + result := normalize (fract => arguns, + expon => expon, + sign => sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => nguard); + return result; + end function normalize; + + -- purpose: normalizes a floating point number + -- This version assumes a "ufixed" input with a "size_res" input + function normalize ( + fract : UNRESOLVED_ufixed; -- unsigned fixed point + expon : UNRESOLVED_SIGNED; -- exponent, normalized by -1 + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + size_res : UNRESOLVED_float; -- used for sizing only + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -size_res'low; + constant exponent_width : NATURAL := size_res'high; + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable arguns : UNSIGNED (fract'high + fraction_width + nguard + downto 0) := (others => '0'); + begin -- function normalize + arguns (arguns'high downto maximum (arguns'high-fract'length+1, 0)) := + UNSIGNED (to_slv (fract)); + result := normalize (fract => arguns, + expon => expon, + sign => sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => nguard); + return result; + end function normalize; + + -- Regular "normalize" function with a "size_res" input. + function normalize ( + fract : UNRESOLVED_UNSIGNED; -- unsigned + expon : UNRESOLVED_SIGNED; -- exponent - 1, normalized + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + size_res : UNRESOLVED_float; -- used for sizing only + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float is + begin + return normalize (fract => fract, + expon => expon, + sign => sign, + sticky => sticky, + fraction_width => -size_res'low, + exponent_width => size_res'high, + round_style => round_style, + denormalize => denormalize, + nguard => nguard); + end function normalize; + + -- Returns the class which X falls into + function Classfp ( + x : UNRESOLVED_float; -- floating point input + check_error : BOOLEAN := float_check_error) -- check for errors + return valid_fpstate + is + constant fraction_width : INTEGER := -mine(x'low, x'low); -- length of FP output fraction + constant exponent_width : INTEGER := x'high; -- length of FP output exponent + variable arg : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- classfp + if (arg'length < 1 or fraction_width < 3 or exponent_width < 3 + or x'left < x'right) then + report FLOAT_GENERIC_PKG'instance_name + & "CLASSFP: " & + "Floating point number detected with a bad range" + severity error; + return isx; + end if; + -- Check for "X". + arg := to_01 (x, 'X'); + if (arg(0) = 'X') then + return isx; -- If there is an X in the number + -- Special cases, check for illegal number + elsif check_error and + (and (STD_ULOGIC_VECTOR (arg (exponent_width-1 downto 0))) + = '1') then -- Exponent is all "1". + if or (to_slv (arg (-1 downto -fraction_width))) + /= '0' then -- Fraction must be all "0" or this is not a number. + if (arg(-1) = '1') then -- From "W. Khan - IEEE standard + return nan; -- 754 binary FP Signaling nan (Not a number) + else + return quiet_nan; + end if; + -- Check for infinity + elsif arg(exponent_width) = '0' then + return pos_inf; -- Positive infinity + else + return neg_inf; -- Negative infinity + end if; + -- check for "0" + elsif or (STD_LOGIC_VECTOR (arg (exponent_width-1 downto 0))) + = '0' then -- Exponent is all "0" + if or (to_slv (arg (-1 downto -fraction_width))) + = '0' then -- Fraction is all "0" + if arg(exponent_width) = '0' then + return pos_zero; -- Zero + else + return neg_zero; + end if; + else + if arg(exponent_width) = '0' then + return pos_denormal; -- Denormal number (ieee extended fp) + else + return neg_denormal; + end if; + end if; + else + if arg(exponent_width) = '0' then + return pos_normal; -- Normal FP number + else + return neg_normal; + end if; + end if; + end function Classfp; + + procedure break_number ( + arg : in UNRESOLVED_float; + denormalize : in BOOLEAN := float_denormalize; + check_error : in BOOLEAN := float_check_error; + fract : out UNRESOLVED_UNSIGNED; + expon : out UNRESOLVED_SIGNED; + sign : out STD_ULOGIC) is + constant fraction_width : NATURAL := -mine(arg'low, arg'low); -- length of FP output fraction + variable fptyp : valid_fpstate; + begin + fptyp := Classfp (arg, check_error); + sign := to_x01(arg(arg'high)); + break_number ( + arg => arg, + fptyp => fptyp, + denormalize => denormalize, + fract => fract, + expon => expon); + end procedure break_number; + + procedure break_number ( + arg : in UNRESOLVED_float; + denormalize : in BOOLEAN := float_denormalize; + check_error : in BOOLEAN := float_check_error; + fract : out UNRESOLVED_ufixed; -- 1 downto -fraction_width + expon : out UNRESOLVED_SIGNED; -- exponent_width-1 downto 0 + sign : out STD_ULOGIC) is + constant fraction_width : NATURAL := -mine(arg'low, arg'low); -- length of FP output fraction + variable fptyp : valid_fpstate; + variable ufract : UNSIGNED (fraction_width downto 0); -- unsigned fraction + begin + fptyp := Classfp (arg, check_error); + sign := to_x01(arg(arg'high)); + break_number ( + arg => arg, + fptyp => fptyp, + denormalize => denormalize, + fract => ufract, + expon => expon); + fract (0 downto -fraction_width) := ufixed (ufract); + end procedure break_number; + + -- Arithmetic functions + function "abs" ( + arg : UNRESOLVED_float) -- floating point input + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (arg'range); -- result + begin + if (arg'length > 0) then + result := to_01 (arg, 'X'); + result (arg'high) := '0'; -- set the sign bit to positive + return result; + else + return NAFP; + end if; + end function "abs"; + + -- IEEE 754 "negative" function + function "-" ( + arg : UNRESOLVED_float) -- floating point input + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (arg'range); -- result + begin + if (arg'length > 0) then + result := to_01 (arg, 'X'); + result (arg'high) := not result (arg'high); -- invert sign bit + return result; + else + return NAFP; + end if; + end function "-"; + + -- Addition, adds two floating point numbers + function add ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + constant addguard : NATURAL := guard; -- add one guard bit + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable fractl, fractr : UNSIGNED (fraction_width+1+addguard downto 0); -- fractions + variable fractc, fracts : UNSIGNED (fractl'range); -- constant and shifted variables + variable urfract, ulfract : UNSIGNED (fraction_width downto 0); + variable ufract : UNSIGNED (fraction_width+1+addguard downto 0); + variable exponl, exponr : SIGNED (exponent_width-1 downto 0); -- exponents + variable rexpon : SIGNED (exponent_width downto 0); -- result exponent + variable shiftx : SIGNED (exponent_width downto 0); -- shift fractions + variable sign : STD_ULOGIC; -- sign of the output + variable leftright : BOOLEAN; -- left or right used + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + variable sticky : STD_ULOGIC; -- Holds precision for rounding + begin -- addition + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + if (lfptype = isx or rfptype = isx) then + fpresult := (others => 'X'); + elsif (lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan) + -- Return quiet NAN, IEEE754-1985-7.1,1 + or (lfptype = pos_inf and rfptype = neg_inf) + or (lfptype = neg_inf and rfptype = pos_inf) then + -- Return quiet NAN, IEEE754-1985-7.1,2 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (lfptype = pos_inf or rfptype = pos_inf) then -- x + inf = inf + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (lfptype = neg_inf or rfptype = neg_inf) then -- x - inf = -inf + fpresult := neg_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (lfptype = neg_zero and rfptype = neg_zero) then -- -0 + -0 = -0 + fpresult := neg_zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => ulfract, + expon => exponl); + fractl := (others => '0'); + fractl (fraction_width+addguard downto addguard) := ulfract; + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => urfract, + expon => exponr); + fractr := (others => '0'); + fractr (fraction_width+addguard downto addguard) := urfract; + shiftx := (exponl(exponent_width-1) & exponl) - exponr; + if shiftx < -fractl'high then + rexpon := exponr(exponent_width-1) & exponr; + fractc := fractr; + fracts := (others => '0'); -- add zero + leftright := false; + sticky := or (fractl); + elsif shiftx < 0 then + shiftx := - shiftx; + fracts := shift_right (fractl, to_integer(shiftx)); + fractc := fractr; + rexpon := exponr(exponent_width-1) & exponr; + leftright := false; +-- sticky := or (fractl (to_integer(shiftx) downto 0)); + sticky := smallfract (fractl, to_integer(shiftx)); + elsif shiftx = 0 then + rexpon := exponl(exponent_width-1) & exponl; + sticky := '0'; + if fractr > fractl then + fractc := fractr; + fracts := fractl; + leftright := false; + else + fractc := fractl; + fracts := fractr; + leftright := true; + end if; + elsif shiftx > fractr'high then + rexpon := exponl(exponent_width-1) & exponl; + fracts := (others => '0'); -- add zero + fractc := fractl; + leftright := true; + sticky := or (fractr); + elsif shiftx > 0 then + fracts := shift_right (fractr, to_integer(shiftx)); + fractc := fractl; + rexpon := exponl(exponent_width-1) & exponl; + leftright := true; +-- sticky := or (fractr (to_integer(shiftx) downto 0)); + sticky := smallfract (fractr, to_integer(shiftx)); + end if; + -- add + fracts (0) := fracts (0) or sticky; -- Or the sticky bit into the LSB + if l(l'high) = r(r'high) then + ufract := fractc + fracts; + sign := l(l'high); + else -- signs are different + ufract := fractc - fracts; -- always positive result + if leftright then -- Figure out which sign to use + sign := l(l'high); + else + sign := r(r'high); + end if; + end if; + if or (ufract) = '0' then + sign := '0'; -- IEEE 854, 6.3, paragraph 2. + end if; + -- normalize + fpresult := normalize (fract => ufract, + expon => rexpon, + sign => sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => addguard); + end if; + return fpresult; + end function add; + + -- Subtraction, Calls "add". + function subtract ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + variable negr : UNRESOLVED_float (r'range); -- negative version of r + begin + negr := -r; -- r := -r + return add (l => l, + r => negr, + round_style => round_style, + guard => guard, + check_error => check_error, + denormalize => denormalize); + end function subtract; + + -- Floating point multiply + function multiply ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + constant multguard : NATURAL := guard; -- guard bits + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable fractl, fractr : UNSIGNED (fraction_width downto 0); -- fractions + variable rfract : UNSIGNED ((2*(fraction_width))+1 downto 0); -- result fraction + variable sfract : UNSIGNED (fraction_width+1+multguard downto 0); -- result fraction + variable shifty : INTEGER; -- denormal shift + variable exponl, exponr : SIGNED (exponent_width-1 downto 0); -- exponents + variable rexpon : SIGNED (exponent_width+1 downto 0); -- result exponent + variable fp_sign : STD_ULOGIC; -- sign of result + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + variable sticky : STD_ULOGIC; -- Holds precision for rounding + begin -- multiply + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + if (lfptype = isx or rfptype = isx) then + fpresult := (others => 'X'); + elsif ((lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan)) then + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (((lfptype = pos_inf or lfptype = neg_inf) and + (rfptype = pos_zero or rfptype = neg_zero)) or + ((rfptype = pos_inf or rfptype = neg_inf) and + (lfptype = pos_zero or lfptype = neg_zero))) then -- 0 * inf + -- Return quiet NAN, IEEE754-1985-7.1,3 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (lfptype = pos_inf or rfptype = pos_inf + or lfptype = neg_inf or rfptype = neg_inf) then -- x * inf = inf + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + -- figure out the sign + fp_sign := l(l'high) xor r(r'high); -- figure out the sign + fpresult (exponent_width) := fp_sign; + else + fp_sign := l(l'high) xor r(r'high); -- figure out the sign + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => fractl, + expon => exponl); + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => fractr, + expon => exponr); + if (rfptype = pos_denormal or rfptype = neg_denormal) then + shifty := fraction_width - find_leftmost(fractr, '1'); + fractr := shift_left (fractr, shifty); + elsif (lfptype = pos_denormal or lfptype = neg_denormal) then + shifty := fraction_width - find_leftmost(fractl, '1'); + fractl := shift_left (fractl, shifty); + else + shifty := 0; + -- Note that a denormal number * a denormal number is always zero. + end if; + -- multiply + -- add the exponents + rexpon := resize (exponl, rexpon'length) + exponr - shifty + 1; + rfract := fractl * fractr; -- Multiply the fraction + sfract := rfract (rfract'high downto + rfract'high - (fraction_width+1+multguard)); + sticky := or (rfract (rfract'high-(fraction_width+1+multguard) + downto 0)); + -- normalize + fpresult := normalize (fract => sfract, + expon => rexpon, + sign => fp_sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => multguard); + end if; + return fpresult; + end function multiply; + + function short_divide ( + lx, rx : UNSIGNED) + return UNSIGNED + is + -- This is a special divider for the floating point routines. + -- For a true unsigned divider, "stages" needs to = lx'high + constant stages : INTEGER := lx'high - rx'high; -- number of stages + variable partial : UNSIGNED (lx'range); + variable q : UNSIGNED (stages downto 0); + variable partial_argl : SIGNED (rx'high + 2 downto 0); + variable partial_arg : SIGNED (rx'high + 2 downto 0); + begin + partial := lx; + for i in stages downto 0 loop + partial_argl := resize ("0" & SIGNED (partial(lx'high downto i)), + partial_argl'length); + partial_arg := partial_argl - SIGNED ("0" & rx); + if (partial_arg (partial_arg'high) = '1') then -- negative + q(i) := '0'; + else + q(i) := '1'; + partial (lx'high+i-stages downto lx'high+i-stages-rx'high) := + UNSIGNED (partial_arg(rx'range)); + end if; + end loop; + -- to make the output look like that of the unsigned IEEE divide. + return resize (q, lx'length); + end function short_divide; + + -- 1/X function. Needed for algorithm development. + function reciprocal ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(arg'low, arg'low); -- length of FP output fraction + constant exponent_width : NATURAL := arg'high; -- length of FP output exponent + constant divguard : NATURAL := guard; -- guard bits + function onedivy ( + arg : UNSIGNED) + return UNSIGNED + is + variable q : UNSIGNED((2*arg'high)+1 downto 0); + variable one : UNSIGNED (q'range); + begin + one := (others => '0'); + one(one'high) := '1'; + q := short_divide (one, arg); -- Unsigned divide + return resize (q, arg'length+1); + end function onedivy; + variable fptype : valid_fpstate; + variable expon : SIGNED (exponent_width-1 downto 0); -- exponents + variable denorm_offset : NATURAL range 0 to 2; + variable fract : UNSIGNED (fraction_width downto 0); + variable fractg : UNSIGNED (fraction_width+divguard downto 0); + variable sfract : UNSIGNED (fraction_width+1+divguard downto 0); -- result fraction + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- reciprocal + fptype := classfp(arg, check_error); + classcase : case fptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf | neg_inf => -- 1/inf, return 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + when neg_zero | pos_zero => -- 1/0 + report FLOAT_GENERIC_PKG'instance_name + & "RECIPROCAL: Floating Point divide by zero" + severity error; + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + when others => + if (fptype = pos_denormal or fptype = neg_denormal) + and ((arg (-1) or arg(-2)) /= '1') then + -- 1/denormal = infinity, with the exception of 2**-expon_base + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + fpresult (exponent_width) := to_x01 (arg (exponent_width)); + else + break_number ( + arg => arg, + fptyp => fptype, + denormalize => denormalize, + fract => fract, + expon => expon); + fractg := (others => '0'); + if (fptype = pos_denormal or fptype = neg_denormal) then + -- The reciprocal of a denormal number is typically zero, + -- except for two special cases which are trapped here. + if (to_x01(arg (-1)) = '1') then + fractg (fractg'high downto divguard+1) := + fract (fract'high-1 downto 0); -- Shift to not denormal + denorm_offset := 1; -- add 1 to exponent compensate + else -- arg(-2) = '1' + fractg (fractg'high downto divguard+2) := + fract (fract'high-2 downto 0); -- Shift to not denormal + denorm_offset := 2; -- add 2 to exponent compensate + end if; + else + fractg (fractg'high downto divguard) := fract; + denorm_offset := 0; + end if; + expon := - expon - 3 + denorm_offset; + sfract := onedivy (fractg); + -- normalize + fpresult := normalize (fract => sfract, + expon => expon, + sign => arg(exponent_width), + sticky => '1', + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => divguard); + end if; + end case classcase; + return fpresult; + end function reciprocal; + + -- floating point division + function divide ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + constant divguard : NATURAL := guard; -- division guard bits + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable ulfract, urfract : UNSIGNED (fraction_width downto 0); + variable fractl : UNSIGNED ((2*(fraction_width+divguard)+1) downto 0); -- left + variable fractr : UNSIGNED (fraction_width+divguard downto 0); -- right + variable rfract : UNSIGNED (fractl'range); -- result fraction + variable sfract : UNSIGNED (fraction_width+1+divguard downto 0); -- result fraction + variable exponl, exponr : SIGNED (exponent_width-1 downto 0); -- exponents + variable rexpon : SIGNED (exponent_width+1 downto 0); -- result exponent + variable fp_sign, sticky : STD_ULOGIC; -- sign of result + variable shifty, shiftx : INTEGER; -- denormal number shift + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- divide + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + classcase : case rfptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf | neg_inf => + if lfptype = pos_inf or lfptype = neg_inf -- inf / inf + or lfptype = quiet_nan or lfptype = nan then + -- Return quiet NAN, IEEE754-1985-7.1,4 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + else -- x / inf = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (fpresult'high) := fp_sign; -- sign + end if; + when pos_zero | neg_zero => + if lfptype = pos_zero or lfptype = neg_zero -- 0 / 0 + or lfptype = quiet_nan or lfptype = nan then + -- Return quiet NAN, IEEE754-1985-7.1,4 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + report float_generic_pkg'instance_name + & "DIVIDE: Floating Point divide by zero" + severity error; + -- Infinity, define in 754-1985-7.2 + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (fpresult'high) := fp_sign; -- sign + end if; + when others => + classcase2 : case lfptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf | neg_inf => -- inf / x = inf + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult(exponent_width) := fp_sign; + when pos_zero | neg_zero => -- 0 / X = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult(exponent_width) := fp_sign; + when others => + fp_sign := l(l'high) xor r(r'high); -- sign + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => ulfract, + expon => exponl); + -- right side + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => urfract, + expon => exponr); + -- Compute the exponent + rexpon := resize (exponl, rexpon'length) - exponr - 2; + if (rfptype = pos_denormal or rfptype = neg_denormal) then + -- Do the shifting here not after. That way we have a smaller + -- shifter, and need a smaller divider, because the top + -- bit in the divisor will always be a "1". + shifty := fraction_width - find_leftmost(urfract, '1'); + urfract := shift_left (urfract, shifty); + rexpon := rexpon + shifty; + end if; + fractr := (others => '0'); + fractr (fraction_width+divguard downto divguard) := urfract; + if (lfptype = pos_denormal or lfptype = neg_denormal) then + shiftx := fraction_width - find_leftmost(ulfract, '1'); + ulfract := shift_left (ulfract, shiftx); + rexpon := rexpon - shiftx; + end if; + fractl := (others => '0'); + fractl (fractl'high downto fractl'high-fraction_width) := ulfract; + -- divide + rfract := short_divide (fractl, fractr); -- unsigned divide + sfract := rfract (sfract'range); -- lower bits + sticky := '1'; + -- normalize + fpresult := normalize (fract => sfract, + expon => rexpon, + sign => fp_sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => divguard); + end case classcase2; + end case classcase; + return fpresult; + end function divide; + + -- division by a power of 2 + function dividebyp2 ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable ulfract, urfract : UNSIGNED (fraction_width downto 0); + variable exponl, exponr : SIGNED(exponent_width-1 downto 0); -- exponents + variable rexpon : SIGNED(exponent_width downto 0); -- result exponent + variable fp_sign : STD_ULOGIC; -- sign of result + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- divisionbyp2 + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + classcase : case rfptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf | neg_inf => + if lfptype = pos_inf or lfptype = neg_inf then -- inf / inf + -- Return quiet NAN, IEEE754-1985-7.1,4 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + else -- x / inf = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (fpresult'high) := fp_sign; -- sign + end if; + when pos_zero | neg_zero => + if lfptype = pos_zero or lfptype = neg_zero then -- 0 / 0 + -- Return quiet NAN, IEEE754-1985-7.1,4 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + report FLOAT_GENERIC_PKG'instance_name + & "DIVIDEBYP2: Floating Point divide by zero" + severity error; + -- Infinity, define in 754-1985-7.2 + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (fpresult'high) := fp_sign; -- sign + end if; + when others => + classcase2 : case lfptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf | neg_inf => -- inf / x = inf + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (exponent_width) := fp_sign; -- sign + when pos_zero | neg_zero => -- 0 / X = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + fp_sign := l(l'high) xor r(r'high); -- sign + fpresult (exponent_width) := fp_sign; -- sign + when others => + fp_sign := l(l'high) xor r(r'high); -- sign + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => ulfract, + expon => exponl); + -- right side + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => urfract, + expon => exponr); + assert (or (urfract (fraction_width-1 downto 0)) = '0') + report FLOAT_GENERIC_PKG'instance_name + & "DIVIDEBYP2: " + & "Dividebyp2 called with a non power of two divisor" + severity error; + rexpon := (exponl(exponl'high)&exponl) + - (exponr(exponr'high)&exponr) - 1; + -- normalize + fpresult := normalize (fract => ulfract, + expon => rexpon, + sign => fp_sign, + sticky => '1', + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => 0); + end case classcase2; + end case classcase; + return fpresult; + end function dividebyp2; + + -- Multiply accumulate result = l*r + c + function mac ( + l, r, c : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := + -mine (mine(l'low, r'low), c'low); -- length of FP output fraction + constant exponent_width : NATURAL := + maximum (maximum(l'high, r'high), c'high); -- length of FP output exponent + variable lfptype, rfptype, cfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable fractl, fractr : UNSIGNED (fraction_width downto 0); -- fractions + variable fractx : UNSIGNED (fraction_width+guard downto 0); + variable fractc, fracts : UNSIGNED (fraction_width+1+guard downto 0); + variable rfract : UNSIGNED ((2*(fraction_width))+1 downto 0); -- result fraction + variable sfract, ufract : UNSIGNED (fraction_width+1+guard downto 0); -- result fraction + variable exponl, exponr, exponc : SIGNED (exponent_width-1 downto 0); -- exponents + variable rexpon, rexpon2 : SIGNED (exponent_width+1 downto 0); -- result exponent + variable shifty : INTEGER; -- denormal shift + variable shiftx : SIGNED (rexpon'range); -- shift fractions + variable fp_sign : STD_ULOGIC; -- sign of result + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + variable cresize : UNRESOLVED_float (exponent_width downto -fraction_width - guard); + variable leftright : BOOLEAN; -- left or right used + variable sticky : STD_ULOGIC; -- Holds precision for rounding + begin -- multiply + if (fraction_width = 0 or l'length < 7 or r'length < 7 or c'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + cfptype := classfp (c, check_error); + end if; + if (lfptype = isx or rfptype = isx or cfptype = isx) then + fpresult := (others => 'X'); + elsif (lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan or + cfptype = nan or cfptype = quiet_nan) then + -- Return quiet NAN, IEEE754-1985-7.1,1 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (((lfptype = pos_inf or lfptype = neg_inf) and + (rfptype = pos_zero or rfptype = neg_zero)) or + ((rfptype = pos_inf or rfptype = neg_inf) and + (lfptype = pos_zero or lfptype = neg_zero))) then -- 0 * inf + -- Return quiet NAN, IEEE754-1985-7.1,3 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (lfptype = pos_inf or rfptype = pos_inf + or lfptype = neg_inf or rfptype = neg_inf -- x * inf = inf + or cfptype = neg_inf or cfptype = pos_inf) then -- x + inf = inf + fpresult := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + -- figure out the sign + fpresult (exponent_width) := l(l'high) xor r(r'high); + else + fp_sign := l(l'high) xor r(r'high); -- figure out the sign + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + cresize := resize (arg => to_x01(c), + exponent_width => exponent_width, + fraction_width => -cresize'low, + denormalize_in => denormalize, + denormalize => denormalize); + cfptype := classfp (cresize, false); -- errors already checked + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => fractl, + expon => exponl); + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => fractr, + expon => exponr); + break_number ( + arg => cresize, + fptyp => cfptype, + denormalize => denormalize, + fract => fractx, + expon => exponc); + if (rfptype = pos_denormal or rfptype = neg_denormal) then + shifty := fraction_width - find_leftmost(fractr, '1'); + fractr := shift_left (fractr, shifty); + elsif (lfptype = pos_denormal or lfptype = neg_denormal) then + shifty := fraction_width - find_leftmost(fractl, '1'); + fractl := shift_left (fractl, shifty); + else + shifty := 0; + -- Note that a denormal number * a denormal number is always zero. + end if; + -- multiply + rfract := fractl * fractr; -- Multiply the fraction + -- add the exponents + rexpon := resize (exponl, rexpon'length) + exponr - shifty + 1; + shiftx := rexpon - exponc; + if shiftx < -fractl'high then + rexpon2 := resize (exponc, rexpon2'length); + fractc := "0" & fractx; + fracts := (others => '0'); + sticky := or (rfract); + elsif shiftx < 0 then + shiftx := - shiftx; + fracts := shift_right (rfract (rfract'high downto rfract'high + - fracts'length+1), + to_integer(shiftx)); + fractc := "0" & fractx; + rexpon2 := resize (exponc, rexpon2'length); + leftright := false; + sticky := or (rfract (to_integer(shiftx)+rfract'high + - fracts'length downto 0)); + elsif shiftx = 0 then + rexpon2 := resize (exponc, rexpon2'length); + sticky := or (rfract (rfract'high - fractc'length downto 0)); + if rfract (rfract'high downto rfract'high - fractc'length+1) > fractx + then + fractc := "0" & fractx; + fracts := rfract (rfract'high downto rfract'high + - fracts'length+1); + leftright := false; + else + fractc := rfract (rfract'high downto rfract'high + - fractc'length+1); + fracts := "0" & fractx; + leftright := true; + end if; + elsif shiftx > fractx'high then + rexpon2 := rexpon; + fracts := (others => '0'); + fractc := rfract (rfract'high downto rfract'high - fractc'length+1); + leftright := true; + sticky := or (fractx & rfract (rfract'high - fractc'length + downto 0)); + else -- fractx'high > shiftx > 0 + rexpon2 := rexpon; + fracts := "0" & shift_right (fractx, to_integer (shiftx)); + fractc := rfract (rfract'high downto rfract'high - fractc'length+1); + leftright := true; + sticky := or (fractx (to_integer (shiftx) downto 0) + & rfract (rfract'high - fractc'length downto 0)); + end if; + fracts (0) := fracts (0) or sticky; -- Or the sticky bit into the LSB + if fp_sign = to_X01(c(c'high)) then + ufract := fractc + fracts; + fp_sign := fp_sign; + else -- signs are different + ufract := fractc - fracts; -- always positive result + if leftright then -- Figure out which sign to use + fp_sign := fp_sign; + else + fp_sign := c(c'high); + end if; + end if; + -- normalize + fpresult := normalize (fract => ufract, + expon => rexpon2, + sign => fp_sign, + sticky => sticky, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => guard); + end if; + return fpresult; + end function mac; + + -- "rem" function + function remainder ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + constant divguard : NATURAL := guard; -- division guard bits + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable ulfract, urfract : UNSIGNED (fraction_width downto 0); + variable fractr, fractl : UNSIGNED (fraction_width+divguard downto 0); -- right + variable rfract : UNSIGNED (fractr'range); -- result fraction + variable sfract : UNSIGNED (fraction_width+divguard downto 0); -- result fraction + variable exponl, exponr : SIGNED (exponent_width-1 downto 0); -- exponents + variable rexpon : SIGNED (exponent_width downto 0); -- result exponent + variable fp_sign : STD_ULOGIC; -- sign of result + variable shifty : INTEGER; -- denormal number shift + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- remainder + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + if (lfptype = isx or rfptype = isx) then + fpresult := (others => 'X'); + elsif (lfptype = nan or lfptype = quiet_nan) + or (rfptype = nan or rfptype = quiet_nan) + -- Return quiet NAN, IEEE754-1985-7.1,1 + or (lfptype = pos_inf or lfptype = neg_inf) -- inf rem x + -- Return quiet NAN, IEEE754-1985-7.1,5 + or (rfptype = pos_zero or rfptype = neg_zero) then -- x rem 0 + -- Return quiet NAN, IEEE754-1985-7.1,5 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (rfptype = pos_inf or rfptype = neg_inf) then -- x rem inf = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (abs(l) < abs(r)) then + fpresult := l; + else + fp_sign := to_X01(l(l'high)); -- sign + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + lfptype := classfp (lresize, false); -- errors already checked + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rfptype := classfp (rresize, false); -- errors already checked + fractl := (others => '0'); + break_number ( + arg => lresize, + fptyp => lfptype, + denormalize => denormalize, + fract => ulfract, + expon => exponl); + fractl (fraction_width+divguard downto divguard) := ulfract; + -- right side + fractr := (others => '0'); + break_number ( + arg => rresize, + fptyp => rfptype, + denormalize => denormalize, + fract => urfract, + expon => exponr); + fractr (fraction_width+divguard downto divguard) := urfract; + rexpon := (exponr(exponr'high)&exponr); + shifty := to_integer(exponl - rexpon); + if (shifty > 0) then + fractr := shift_right (fractr, shifty); + rexpon := rexpon + shifty; + end if; + if (fractr /= 0) then + -- rem + rfract := fractl rem fractr; -- unsigned rem + sfract := rfract (sfract'range); -- lower bits + -- normalize + fpresult := normalize (fract => sfract, + expon => rexpon, + sign => fp_sign, + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => divguard); + else + -- If we shift "fractr" so far that it becomes zero, return zero. + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + end if; + end if; + return fpresult; + end function remainder; + + -- "mod" function + function modulo ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := - mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable fpresult : UNRESOLVED_float (exponent_width downto -fraction_width); + variable remres : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- remainder + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + lfptype := isx; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + if (lfptype = isx or rfptype = isx) then + fpresult := (others => 'X'); + elsif (lfptype = nan or lfptype = quiet_nan) + or (rfptype = nan or rfptype = quiet_nan) + -- Return quiet NAN, IEEE754-1985-7.1,1 + or (lfptype = pos_inf or lfptype = neg_inf) -- inf rem x + -- Return quiet NAN, IEEE754-1985-7.1,5 + or (rfptype = pos_zero or rfptype = neg_zero) then -- x rem 0 + -- Return quiet NAN, IEEE754-1985-7.1,5 + fpresult := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (rfptype = pos_inf or rfptype = neg_inf) then -- x rem inf = 0 + fpresult := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + remres := remainder (l => abs(l), + r => abs(r), + round_style => round_style, + guard => guard, + check_error => false, + denormalize => denormalize); + -- MOD is the same as REM, but you do something different with + -- negative values + if (is_negative (l)) then + remres := - remres; + end if; + if (is_negative (l) = is_negative (r) or remres = 0) then + fpresult := remres; + else + fpresult := add (l => remres, + r => r, + round_style => round_style, + guard => guard, + check_error => false, + denormalize => denormalize); + end if; + end if; + return fpresult; + end function modulo; + + -- Square root of a floating point number. Done using Newton's Iteration. + function sqrt ( + arg : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; + constant guard : NATURAL := float_guard_bits; + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_float + is + constant fraction_width : NATURAL := guard-arg'low; -- length of FP output fraction + constant exponent_width : NATURAL := arg'high; -- length of FP output exponent + variable sign : STD_ULOGIC; + variable fpresult : float (arg'range); + variable fptype : valid_fpstate; + variable iexpon : SIGNED(exponent_width-1 downto 0); -- exponents + variable expon : SIGNED(exponent_width downto 0); -- exponents + variable ufact : ufixed (0 downto arg'low); + variable fact : ufixed (2 downto -fraction_width); -- fraction + variable resb : ufixed (fact'high+1 downto fact'low); + begin -- square root + fptype := Classfp (arg, check_error); + classcase : case fptype is + when isx => + fpresult := (others => 'X'); + when nan | quiet_nan | + -- Return quiet NAN, IEEE754-1985-7.1,1 + neg_normal | neg_denormal | neg_inf => -- sqrt (neg) + -- Return quiet NAN, IEEE754-1985-7.1.6 + fpresult := qnanfp (fraction_width => fraction_width-guard, + exponent_width => exponent_width); + when pos_inf => -- Sqrt (inf), return infinity + fpresult := pos_inffp (fraction_width => fraction_width-guard, + exponent_width => exponent_width); + when pos_zero => -- return 0 + fpresult := zerofp (fraction_width => fraction_width-guard, + exponent_width => exponent_width); + when neg_zero => -- IEEE754-1985-6.3 return -0 + fpresult := neg_zerofp (fraction_width => fraction_width-guard, + exponent_width => exponent_width); + when others => + break_number (arg => arg, + denormalize => denormalize, + check_error => false, + fract => ufact, + expon => iexpon, + sign => sign); + expon := resize (iexpon+1, expon'length); -- get exponent + fact := resize (ufact, fact'high, fact'low); + if (expon(0) = '1') then + fact := fact sla 1; -- * 2.0 + end if; + expon := shift_right (expon, 1); -- exponent/2 + -- Newton's iteration - root := (1 + arg) / 2 + resb := (fact + 1) sra 1; + for j in 0 to fraction_width/4 loop + -- root := (root + (arg/root))/2 + resb := resize (arg => (resb + (fact/resb)) sra 1, + left_index => resb'high, + right_index => resb'low, + round_style => fixed_truncate, + overflow_style => fixed_wrap); + end loop; + fpresult := normalize (fract => resb, + expon => expon-1, + sign => '0', + exponent_width => arg'high, + fraction_width => -arg'low, + round_style => round_style, + denormalize => denormalize, + nguard => guard); + end case classcase; + return fpresult; + end function sqrt; + + function Is_Negative (arg : UNRESOLVED_float) return BOOLEAN is + -- Technically -0 should return "false", but I'm leaving that case out. + begin + return (to_x01(arg(arg'high)) = '1'); + end function Is_Negative; + + -- compare functions + -- =, /=, >=, <=, <, > + + function eq ( -- equal = + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + variable lfptype, rfptype : valid_fpstate; + variable is_equal, is_unordered : BOOLEAN; + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- equal + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return false; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + end if; + if (lfptype = neg_zero or lfptype = pos_zero) and + (rfptype = neg_zero or rfptype = pos_zero) then + is_equal := true; + else + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + is_equal := (to_slv(lresize) = to_slv(rresize)); + end if; + if (check_error) then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return is_equal and not is_unordered; + end function eq; + + function lt ( -- less than < + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable expl, expr : UNSIGNED (exponent_width-1 downto 0); + variable fractl, fractr : UNSIGNED (fraction_width-1 downto 0); + variable is_less_than, is_unordered : BOOLEAN; + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + is_less_than := false; + else + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + if to_x01(l(l'high)) = to_x01(r(r'high)) then -- sign bits + expl := UNSIGNED(lresize(exponent_width-1 downto 0)); + expr := UNSIGNED(rresize(exponent_width-1 downto 0)); + if expl = expr then + fractl := UNSIGNED (to_slv(lresize(-1 downto -fraction_width))); + fractr := UNSIGNED (to_slv(rresize(-1 downto -fraction_width))); + if to_x01(l(l'high)) = '0' then -- positive number + is_less_than := (fractl < fractr); + else + is_less_than := (fractl > fractr); -- negative + end if; + else + if to_x01(l(l'high)) = '0' then -- positive number + is_less_than := (expl < expr); + else + is_less_than := (expl > expr); -- negative + end if; + end if; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + if (lfptype = neg_zero and rfptype = pos_zero) then + is_less_than := false; -- -0 < 0 returns false. + else + is_less_than := (to_x01(l(l'high)) > to_x01(r(r'high))); + end if; + end if; + end if; + if check_error then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return is_less_than and not is_unordered; + end function lt; + + function gt ( -- greater than > + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable expl, expr : UNSIGNED (exponent_width-1 downto 0); + variable fractl, fractr : UNSIGNED (fraction_width-1 downto 0); + variable is_greater_than : BOOLEAN; + variable is_unordered : BOOLEAN; + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- greater_than + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + is_greater_than := false; + else + lresize := resize (arg => to_x01(l), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + rresize := resize (arg => to_x01(r), + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => denormalize, + denormalize => denormalize); + if to_x01(l(l'high)) = to_x01(r(r'high)) then -- sign bits + expl := UNSIGNED(lresize(exponent_width-1 downto 0)); + expr := UNSIGNED(rresize(exponent_width-1 downto 0)); + if expl = expr then + fractl := UNSIGNED (to_slv(lresize(-1 downto -fraction_width))); + fractr := UNSIGNED (to_slv(rresize(-1 downto -fraction_width))); + if to_x01(l(l'high)) = '0' then -- positive number + is_greater_than := fractl > fractr; + else + is_greater_than := fractl < fractr; -- negative + end if; + else + if to_x01(l(l'high)) = '0' then -- positive number + is_greater_than := expl > expr; + else + is_greater_than := expl < expr; -- negative + end if; + end if; + else + lfptype := classfp (l, check_error); + rfptype := classfp (r, check_error); + if (lfptype = pos_zero and rfptype = neg_zero) then + is_greater_than := false; -- 0 > -0 returns false. + else + is_greater_than := to_x01(l(l'high)) < to_x01(r(r'high)); + end if; + end if; + end if; + if check_error then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return is_greater_than and not is_unordered; + end function gt; + + -- purpose: /= function + function ne ( -- not equal /= + l, r : UNRESOLVED_float; + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + variable is_equal, is_unordered : BOOLEAN; + begin + is_equal := eq (l => l, + r => r, + check_error => false, + denormalize => denormalize); + if check_error then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return not (is_equal and not is_unordered); + end function ne; + + function le ( -- less than or equal to <= + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + variable is_greater_than, is_unordered : BOOLEAN; + begin + is_greater_than := gt (l => l, + r => r, + check_error => false, + denormalize => denormalize); + if check_error then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return not is_greater_than and not is_unordered; + end function le; + + function ge ( -- greater than or equal to >= + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN + is + variable is_less_than, is_unordered : BOOLEAN; + begin + is_less_than := lt (l => l, + r => r, + check_error => false, + denormalize => denormalize); + if check_error then + is_unordered := Unordered (x => l, + y => r); + else + is_unordered := false; + end if; + return not is_less_than and not is_unordered; + end function ge; + + function "?=" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable is_equal, is_unordered : STD_ULOGIC; + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- ?= + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + lfptype := classfp (l, float_check_error); + rfptype := classfp (r, float_check_error); + end if; + if (lfptype = neg_zero or lfptype = pos_zero) and + (rfptype = neg_zero or rfptype = pos_zero) then + is_equal := '1'; + else + lresize := resize (arg => l, + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => float_denormalize, + denormalize => float_denormalize); + rresize := resize (arg => r, + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => float_denormalize, + denormalize => float_denormalize); + is_equal := to_sulv(lresize) ?= to_sulv(rresize); + end if; + if (float_check_error) then + if (lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan) then + is_unordered := '1'; + else + is_unordered := '0'; + end if; + else + is_unordered := '0'; + end if; + return is_equal and not is_unordered; + end function "?="; + + function "?/=" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lfptype, rfptype : valid_fpstate; + variable is_equal, is_unordered : STD_ULOGIC; + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- ?/= + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + lfptype := classfp (l, float_check_error); + rfptype := classfp (r, float_check_error); + end if; + if (lfptype = neg_zero or lfptype = pos_zero) and + (rfptype = neg_zero or rfptype = pos_zero) then + is_equal := '1'; + else + lresize := resize (arg => l, + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => float_denormalize, + denormalize => float_denormalize); + rresize := resize (arg => r, + exponent_width => exponent_width, + fraction_width => fraction_width, + denormalize_in => float_denormalize, + denormalize => float_denormalize); + is_equal := to_sulv(lresize) ?= to_sulv(rresize); + end if; + if (float_check_error) then + if (lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan) then + is_unordered := '1'; + else + is_unordered := '0'; + end if; + else + is_unordered := '0'; + end if; + return not (is_equal and not is_unordered); + end function "?/="; + + function "?>" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); + variable founddash : BOOLEAN := false; + begin + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + founddash := true; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + founddash := true; + end if; + end loop; + if founddash then + report float_generic_pkg'instance_name + & " ""?>"": '-' found in compare string" + severity error; + return 'X'; + elsif is_x(l) or is_x(r) then + return 'X'; + elsif l > r then + return '1'; + else + return '0'; + end if; + end if; + end function "?>"; + + function "?>=" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); + variable founddash : BOOLEAN := false; + begin + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + founddash := true; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + founddash := true; + end if; + end loop; + if founddash then + report float_generic_pkg'instance_name + & " ""?>="": '-' found in compare string" + severity error; + return 'X'; + elsif is_x(l) or is_x(r) then + return 'X'; + elsif l >= r then + return '1'; + else + return '0'; + end if; + end if; + end function "?>="; + + function "?<" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); + variable founddash : BOOLEAN := false; + begin + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + founddash := true; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + founddash := true; + end if; + end loop; + if founddash then + report float_generic_pkg'instance_name + & " ""?<"": '-' found in compare string" + severity error; + return 'X'; + elsif is_x(l) or is_x(r) then + return 'X'; + elsif l < r then + return '1'; + else + return '0'; + end if; + end if; + end function "?<"; + + function "?<=" (L, R : UNRESOLVED_float) return STD_ULOGIC is + constant fraction_width : NATURAL := -mine(l'low, r'low); + variable founddash : BOOLEAN := false; + begin + if (fraction_width = 0 or l'length < 7 or r'length < 7) then + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + founddash := true; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + founddash := true; + end if; + end loop; + if founddash then + report float_generic_pkg'instance_name + & " ""?<="": '-' found in compare string" + severity error; + return 'X'; + elsif is_x(l) or is_x(r) then + return 'X'; + elsif l <= r then + return '1'; + else + return '0'; + end if; + end if; + end function "?<="; + + function std_match (L, R : UNRESOLVED_float) return BOOLEAN is + begin + if (L'high = R'high and L'low = R'low) then + return std_match(to_sulv(L), to_sulv(R)); + else + report float_generic_pkg'instance_name + & "STD_MATCH: L'RANGE /= R'RANGE, returning FALSE" + severity warning; + return false; + end if; + end function std_match; + + function find_rightmost (arg : UNRESOLVED_float; y : STD_ULOGIC) return INTEGER is + begin + for_loop : for i in arg'reverse_range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'high+1; -- return out of bounds 'high + end function find_rightmost; + + function find_leftmost (arg : UNRESOLVED_float; y : STD_ULOGIC) return INTEGER is + begin + for_loop : for i in arg'range loop + if arg(i) ?= y then + return i; + end if; + end loop; + return arg'low-1; -- return out of bounds 'low + end function find_leftmost; + + -- These override the defaults for the compare operators. + function "=" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return eq(l, r); + end function "="; + + function "/=" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return ne(l, r); + end function "/="; + + function ">=" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return ge(l, r); + end function ">="; + + function "<=" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return le(l, r); + end function "<="; + + function ">" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return gt(l, r); + end function ">"; + + function "<" (l, r : UNRESOLVED_float) return BOOLEAN is + begin + return lt(l, r); + end function "<"; + + -- purpose: maximum of two numbers (overrides default) + function maximum ( + L, R : UNRESOLVED_float) + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin + if ((L'length < 1) or (R'length < 1)) then return NAFP; + end if; + lresize := resize (l, exponent_width, fraction_width); + rresize := resize (r, exponent_width, fraction_width); + if lresize > rresize then return lresize; + else return rresize; + end if; + end function maximum; + + function minimum ( + L, R : UNRESOLVED_float) + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(l'low, r'low); -- length of FP output fraction + constant exponent_width : NATURAL := maximum(l'high, r'high); -- length of FP output exponent + variable lresize, rresize : UNRESOLVED_float (exponent_width downto -fraction_width); + begin + if ((L'length < 1) or (R'length < 1)) then return NAFP; + end if; + lresize := resize (l, exponent_width, fraction_width); + rresize := resize (r, exponent_width, fraction_width); + if lresize > rresize then return rresize; + else return lresize; + end if; + end function minimum; + + ----------------------------------------------------------------------------- + -- conversion functions + ----------------------------------------------------------------------------- + + -- Converts a floating point number of one format into another format + function resize ( + arg : UNRESOLVED_float; -- Floating point input + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant in_fraction_width : NATURAL := -arg'low; -- length of FP output fraction + constant in_exponent_width : NATURAL := arg'high; -- length of FP output exponent + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + -- result value + variable fptype : valid_fpstate; + variable expon_in : SIGNED (in_exponent_width-1 downto 0); + variable fract_in : UNSIGNED (in_fraction_width downto 0); + variable round : BOOLEAN; + variable expon_out : SIGNED (exponent_width-1 downto 0); -- output fract + variable fract_out : UNSIGNED (fraction_width downto 0); -- output fract + variable passguard : NATURAL; + begin + fptype := classfp(arg, check_error); + if ((fptype = pos_denormal or fptype = neg_denormal) and denormalize_in + and (in_exponent_width < exponent_width + or in_fraction_width < fraction_width)) + or in_exponent_width > exponent_width + or in_fraction_width > fraction_width then + -- size reduction + classcase : case fptype is + when isx => + result := (others => 'X'); + when nan | quiet_nan => + result := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_inf => + result := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + when neg_inf => + result := neg_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + when pos_zero | neg_zero => + result := zerofp (fraction_width => fraction_width, -- hate -0 + exponent_width => exponent_width); + when others => + break_number ( + arg => arg, + fptyp => fptype, + denormalize => denormalize_in, + fract => fract_in, + expon => expon_in); + if fraction_width > in_fraction_width and denormalize_in then + -- You only get here if you have a denormal input + fract_out := (others => '0'); -- pad with zeros + fract_out (fraction_width downto + fraction_width - in_fraction_width) := fract_in; + result := normalize ( + fract => fract_out, + expon => expon_in, + sign => arg(arg'high), + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => 0); + else + result := normalize ( + fract => fract_in, + expon => expon_in, + sign => arg(arg'high), + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => in_fraction_width - fraction_width); + end if; + end case classcase; + else -- size increase or the same size + if exponent_width > in_exponent_width then + expon_in := SIGNED(arg (in_exponent_width-1 downto 0)); + if fptype = pos_zero or fptype = neg_zero then + result (exponent_width-1 downto 0) := (others => '0'); + elsif expon_in = -1 then -- inf or nan (shorts out check_error) + result (exponent_width-1 downto 0) := (others => '1'); + else + -- invert top BIT + expon_in(expon_in'high) := not expon_in(expon_in'high); + expon_out := resize (expon_in, expon_out'length); -- signed expand + -- Flip it back. + expon_out(expon_out'high) := not expon_out(expon_out'high); + result (exponent_width-1 downto 0) := UNRESOLVED_float(expon_out); + end if; + result (exponent_width) := arg (in_exponent_width); -- sign + else -- exponent_width = in_exponent_width + result (exponent_width downto 0) := arg (in_exponent_width downto 0); + end if; + if fraction_width > in_fraction_width then + result (-1 downto -fraction_width) := (others => '0'); -- zeros + result (-1 downto -in_fraction_width) := + arg (-1 downto -in_fraction_width); + else -- fraction_width = in_fraciton_width + result (-1 downto -fraction_width) := + arg (-1 downto -in_fraction_width); + end if; + end if; + return result; + end function resize; + + function resize ( + arg : UNRESOLVED_float; -- floating point input + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := resize (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style, + check_error => check_error, + denormalize_in => denormalize_in, + denormalize => denormalize); + return result; + end if; + end function resize; + + function to_float32 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float32 is + begin + return resize (arg => arg, + exponent_width => float32'high, + fraction_width => -float32'low, + round_style => round_style, + check_error => check_error, + denormalize_in => denormalize_in, + denormalize => denormalize); + end function to_float32; + + function to_float64 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float64 is + begin + return resize (arg => arg, + exponent_width => float64'high, + fraction_width => -float64'low, + round_style => round_style, + check_error => check_error, + denormalize_in => denormalize_in, + denormalize => denormalize); + end function to_float64; + + function to_float128 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float128 is + begin + return resize (arg => arg, + exponent_width => float128'high, + fraction_width => -float128'low, + round_style => round_style, + check_error => check_error, + denormalize_in => denormalize_in, + denormalize => denormalize); + end function to_float128; + + -- to_float (Real) + -- typically not Synthesizable unless the input is a constant. + function to_float ( + arg : REAL; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable arg_real : REAL; -- Real version of argument + variable validfp : boundary_type; -- Check for valid results + variable exp : INTEGER; -- Integer version of exponent + variable expon : UNSIGNED (exponent_width - 1 downto 0); + -- Unsigned version of exp. + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable fract : UNSIGNED (fraction_width-1 downto 0); + variable frac : REAL; -- Real version of fraction + constant roundfrac : REAL := 2.0 ** (-2 - fract'high); -- used for rounding + variable round : BOOLEAN; -- to round or not to round + begin + result := (others => '0'); + arg_real := arg; + if arg_real < 0.0 then + result (exponent_width) := '1'; + arg_real := - arg_real; -- Make it positive. + else + result (exponent_width) := '0'; + end if; + test_boundary (arg => arg_real, + fraction_width => fraction_width, + exponent_width => exponent_width, + denormalize => denormalize, + btype => validfp, + log2i => exp); + if validfp = zero then + return result; -- Result initialized to "0". + elsif validfp = infinity then + result (exponent_width - 1 downto 0) := (others => '1'); -- Exponent all "1" + -- return infinity. + return result; + else + if validfp = denormal then -- Exponent will default to "0". + expon := (others => '0'); + frac := arg_real * (2.0 ** (to_integer(expon_base)-1)); + else -- Number less than 1. "normal" number + expon := UNSIGNED (to_signed (exp-1, exponent_width)); + expon(exponent_width-1) := not expon(exponent_width-1); + frac := (arg_real / 2.0 ** exp) - 1.0; -- Number less than 1. + end if; + for i in 0 to fract'high loop + if frac >= 2.0 ** (-1 - i) then + fract (fract'high - i) := '1'; + frac := frac - 2.0 ** (-1 - i); + else + fract (fract'high - i) := '0'; + end if; + end loop; + round := false; + case round_style is + when round_nearest => + if frac > roundfrac or ((frac = roundfrac) and fract(0) = '1') then + round := true; + end if; + when round_inf => + if frac /= 0.0 and result(exponent_width) = '0' then + round := true; + end if; + when round_neginf => + if frac /= 0.0 and result(exponent_width) = '1' then + round := true; + end if; + when others => + null; -- don't round + end case; + if (round) then + if and(fract) = '1' then -- fraction is all "1" + expon := expon + 1; + fract := (others => '0'); + else + fract := fract + 1; + end if; + end if; + result (exponent_width-1 downto 0) := UNRESOLVED_float(expon); + result (-1 downto -fraction_width) := UNRESOLVED_float(fract); + return result; + end if; + end function to_float; + + -- to_float (Integer) + function to_float ( + arg : INTEGER; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable arg_int : NATURAL; -- Natural version of argument + variable expon : SIGNED (exponent_width-1 downto 0); + variable exptmp : SIGNED (exponent_width-1 downto 0); + -- Unsigned version of exp. + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable fract : UNSIGNED (fraction_width-1 downto 0) := (others => '0'); + variable fracttmp : UNSIGNED (fraction_width-1 downto 0); + variable round : BOOLEAN; + variable shift : NATURAL; + variable shiftr : NATURAL; + variable roundfrac : NATURAL; -- used in rounding + begin + if arg < 0 then + result (exponent_width) := '1'; + arg_int := -arg; -- Make it positive. + else + result (exponent_width) := '0'; + arg_int := arg; + end if; + if arg_int = 0 then + result := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + -- If the number is larger than we can represent in this number system + -- we need to return infinity. + shift := log2(arg_int); + if shift > to_integer(expon_base) then + -- worry about infinity + if result (exponent_width) = '0' then + result := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + -- return negative infinity. + result := neg_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + end if; + else -- Normal number (can't be denormal) + -- Compute Exponent + expon := to_signed (shift-1, expon'length); -- positive fraction. + -- Compute Fraction + arg_int := arg_int - 2**shift; -- Subtract off the 1.0 + shiftr := shift; + for I in fract'high downto maximum (fract'high - shift + 1, 0) loop + shiftr := shiftr - 1; + if (arg_int >= 2**shiftr) then + arg_int := arg_int - 2**shiftr; + fract(I) := '1'; + else + fract(I) := '0'; + end if; + end loop; + -- Rounding routine + round := false; + if arg_int > 0 then + roundfrac := 2**(shiftr-1); + case round_style is + when round_nearest => + if arg_int > roundfrac or + ((arg_int = roundfrac) and fract(0) = '1') then + round := true; + end if; + when round_inf => + if arg_int /= 0 and result (exponent_width) = '0' then + round := true; + end if; + when round_neginf => + if arg_int /= 0 and result (exponent_width) = '1' then + round := true; + end if; + when others => + null; + end case; + end if; + if round then + fp_round(fract_in => fract, + expon_in => expon, + fract_out => fracttmp, + expon_out => exptmp); + fract := fracttmp; + expon := exptmp; + end if; + -- Put the number together and return + expon(exponent_width-1) := not expon(exponent_width-1); + result (exponent_width-1 downto 0) := UNRESOLVED_float(expon); + result (-1 downto -fraction_width) := UNRESOLVED_float(fract); + end if; + end if; + return result; + end function to_float; + + -- to_float (unsigned) + function to_float ( + arg : UNSIGNED; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNSIGNED(ARG_LEFT downto 0) is ARG; + variable sarg : SIGNED (ARG_LEFT+1 downto 0); -- signed version of arg + begin + if arg'length < 1 then + return NAFP; + end if; + sarg (XARG'range) := SIGNED (XARG); + sarg (sarg'high) := '0'; + result := to_float (arg => sarg, + exponent_width => exponent_width, + fraction_width => fraction_width, + round_style => round_style); + return result; + end function to_float; + + -- to_float (signed) + function to_float ( + arg : SIGNED; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : SIGNED(ARG_LEFT downto 0) is ARG; + variable arg_int : UNSIGNED(xarg'range); -- Real version of argument + variable argb2 : UNSIGNED(xarg'high/2 downto 0); -- log2 of input + variable rexp : SIGNED (exponent_width - 1 downto 0); + variable exp : SIGNED (exponent_width - 1 downto 0); + -- signed version of exp. + variable expon : UNSIGNED (exponent_width - 1 downto 0); + -- Unsigned version of exp. + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable round : BOOLEAN; + variable fract : UNSIGNED (fraction_width-1 downto 0); + variable rfract : UNSIGNED (fraction_width-1 downto 0); + variable sign : STD_ULOGIC; -- sign bit + begin + if arg'length < 1 then + return NAFP; + end if; + if Is_X (xarg) then + result := (others => 'X'); + elsif (xarg = 0) then + result := zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else -- Normal number (can't be denormal) + sign := to_X01(xarg (xarg'high)); + arg_int := UNSIGNED(abs (to_01(xarg))); + -- Compute Exponent + argb2 := to_unsigned(find_leftmost(arg_int, '1'), argb2'length); -- Log2 + if argb2 > UNSIGNED(expon_base) then + result := pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + result (exponent_width) := sign; + else + exp := SIGNED(resize(argb2, exp'length)); + arg_int := shift_left (arg_int, arg_int'high-to_integer(exp)); + if (arg_int'high > fraction_width) then + fract := arg_int (arg_int'high-1 downto (arg_int'high-fraction_width)); + round := check_round ( + fract_in => fract (0), + sign => sign, + remainder => arg_int((arg_int'high-fraction_width-1) + downto 0), + round_style => round_style); + if round then + fp_round(fract_in => fract, + expon_in => exp, + fract_out => rfract, + expon_out => rexp); + else + rfract := fract; + rexp := exp; + end if; + else + rexp := exp; + rfract := (others => '0'); + rfract (fraction_width-1 downto fraction_width-1-(arg_int'high-1)) := + arg_int (arg_int'high-1 downto 0); + end if; + result (exponent_width) := sign; + expon := UNSIGNED (rexp-1); + expon(exponent_width-1) := not expon(exponent_width-1); + result (exponent_width-1 downto 0) := UNRESOLVED_float(expon); + result (-1 downto -fraction_width) := UNRESOLVED_float(rfract); + end if; + end if; + return result; + end function to_float; + + -- std_logic_vector to float + function to_float ( + arg : STD_ULOGIC_VECTOR; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width) -- length of FP output fraction + return UNRESOLVED_float + is + variable fpvar : UNRESOLVED_float (exponent_width downto -fraction_width); + begin + if arg'length < 1 then + return NAFP; + end if; + fpvar := UNRESOLVED_float(arg); + return fpvar; + end function to_float; + + -- purpose: converts a ufixed to a floating point + function to_float ( + arg : UNRESOLVED_ufixed; -- unsigned fixed point input + constant exponent_width : NATURAL := float_exponent_width; -- width of exponent + constant fraction_width : NATURAL := float_fraction_width; -- width of fraction + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- use ieee extensions + return UNRESOLVED_float + is + variable sarg : sfixed (arg'high+1 downto arg'low); -- Signed version of arg + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + begin -- function to_float + if (arg'length < 1) then + return NAFP; + end if; + sarg (arg'range) := sfixed (arg); + sarg (sarg'high) := '0'; + result := to_float (arg => sarg, + exponent_width => exponent_width, + fraction_width => fraction_width, + round_style => round_style, + denormalize => denormalize); + return result; + end function to_float; + + function to_float ( + arg : UNRESOLVED_sfixed; -- signed fixed point + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- rounding option + return UNRESOLVED_float + is + constant integer_width : INTEGER := arg'high; + constant in_fraction_width : INTEGER := arg'low; + variable xresult : sfixed (integer_width downto in_fraction_width); + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable arg_int : UNSIGNED(integer_width - in_fraction_width - 1 + downto 0); -- signed version of argument + variable argx : SIGNED (integer_width - in_fraction_width downto 0); + variable exp, exptmp : SIGNED (exponent_width downto 0); + variable expon : UNSIGNED (exponent_width - 1 downto 0); + -- Unsigned version of exp. + constant expon_base : SIGNED (exponent_width-1 downto 0) := + gen_expon_base(exponent_width); -- exponent offset + variable fract, fracttmp : UNSIGNED (fraction_width-1 downto 0) := + (others => '0'); + variable round : BOOLEAN := false; + begin + if (arg'length < 1) then + return NAFP; + end if; + xresult := to_01(arg, 'X'); + argx := SIGNED(to_slv(xresult)); + if (Is_X (arg)) then + result := (others => 'X'); + elsif (argx = 0) then + result := (others => '0'); + else + result := (others => '0'); -- zero out the result + if argx(argx'left) = '1' then -- toss the sign bit + result (exponent_width) := '1'; -- Negative number + argx := -argx; -- Make it positive. + else + result (exponent_width) := '0'; + end if; + arg_int := UNSIGNED(to_x01(STD_LOGIC_VECTOR (argx(arg_int'range)))); + -- Compute Exponent + exp := to_signed(find_leftmost(arg_int, '1'), exp'length); -- Log2 + if exp + in_fraction_width > expon_base then -- return infinity + result (-1 downto -fraction_width) := (others => '0'); + result (exponent_width -1 downto 0) := (others => '1'); + return result; + elsif (denormalize and + (exp + in_fraction_width <= -resize(expon_base, exp'length))) then + exp := -resize(expon_base, exp'length); + -- shift by a constant + arg_int := shift_left (arg_int, + (arg_int'high + to_integer(expon_base) + + in_fraction_width - 1)); + if (arg_int'high > fraction_width) then + fract := arg_int (arg_int'high-1 downto (arg_int'high-fraction_width)); + round := check_round ( + fract_in => arg_int(arg_int'high-fraction_width), + sign => result(result'high), + remainder => arg_int((arg_int'high-fraction_width-1) + downto 0), + round_style => round_style); + if (round) then + fp_round (fract_in => arg_int (arg_int'high-1 downto + (arg_int'high-fraction_width)), + expon_in => exp, + fract_out => fract, + expon_out => exptmp); + exp := exptmp; + end if; + else + fract (fraction_width-1 downto fraction_width-1-(arg_int'high-1)) := + arg_int (arg_int'high-1 downto 0); + end if; + else + arg_int := shift_left (arg_int, arg_int'high-to_integer(exp)); + exp := exp + in_fraction_width; + if (arg_int'high > fraction_width) then + fract := arg_int (arg_int'high-1 downto (arg_int'high-fraction_width)); + round := check_round ( + fract_in => fract(0), + sign => result(result'high), + remainder => arg_int((arg_int'high-fraction_width-1) + downto 0), + round_style => round_style); + if (round) then + fp_round (fract_in => fract, + expon_in => exp, + fract_out => fracttmp, + expon_out => exptmp); + fract := fracttmp; + exp := exptmp; + end if; + else + fract (fraction_width-1 downto fraction_width-1-(arg_int'high-1)) := + arg_int (arg_int'high-1 downto 0); + end if; + end if; + expon := UNSIGNED (resize(exp-1, exponent_width)); + expon(exponent_width-1) := not expon(exponent_width-1); + result (exponent_width-1 downto 0) := UNRESOLVED_float(expon); + result (-1 downto -fraction_width) := UNRESOLVED_float(fract); + end if; + return result; + end function to_float; + + -- size_res functions + -- Integer to float + function to_float ( + arg : INTEGER; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style); + return result; + end if; + end function to_float; + + -- real to float + function to_float ( + arg : REAL; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style, + denormalize => denormalize); + return result; + end if; + end function to_float; + + -- unsigned to float + function to_float ( + arg : UNRESOLVED_UNSIGNED; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style); + return result; + end if; + end function to_float; + + -- signed to float + function to_float ( + arg : UNRESOLVED_SIGNED; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style); + return result; + end if; + end function to_float; + + -- std_ulogic_vector to float + function to_float ( + arg : STD_ULOGIC_VECTOR; + size_res : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low); + return result; + end if; + end function to_float; + + -- unsigned fixed point to float + function to_float ( + arg : UNRESOLVED_ufixed; -- unsigned fixed point input + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- use ieee extensions + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style, + denormalize => denormalize); + return result; + end if; + end function to_float; + + -- signed fixed point to float + function to_float ( + arg : UNRESOLVED_sfixed; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- rounding option + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_float (arg => arg, + exponent_width => size_res'high, + fraction_width => -size_res'low, + round_style => round_style, + denormalize => denormalize); + return result; + end if; + end function to_float; + + -- to_integer (float) + function to_integer ( + arg : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return INTEGER + is + variable validfp : valid_fpstate; -- Valid FP state + variable frac : UNSIGNED (-arg'low downto 0); -- Fraction + variable fract : UNSIGNED (1-arg'low downto 0); -- Fraction + variable expon : SIGNED (arg'high-1 downto 0); + variable isign : STD_ULOGIC; -- internal version of sign + variable round : STD_ULOGIC; -- is rounding needed? + variable result : INTEGER; + variable base : INTEGER; -- Integer exponent + begin + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | nan | quiet_nan | pos_zero | neg_zero | pos_denormal | neg_denormal => + result := 0; -- return 0 + when pos_inf => + result := INTEGER'high; + when neg_inf => + result := INTEGER'low; + when others => + break_number ( + arg => arg, + fptyp => validfp, + denormalize => false, + fract => frac, + expon => expon); + fract (fract'high) := '0'; -- Add extra bit for 0.6 case + fract (fract'high-1 downto 0) := frac; + isign := to_x01 (arg (arg'high)); + base := to_integer (expon) + 1; + if base < -1 then + result := 0; + elsif base >= frac'high then + result := to_integer (fract) * 2**(base - frac'high); + else -- We need to round + if base = -1 then -- trap for 0.6 case. + result := 0; + else + result := to_integer (fract (frac'high downto frac'high-base)); + end if; + -- rounding routine + case round_style is + when round_nearest => + if frac'high - base > 1 then + round := fract (frac'high - base - 1) and + (fract (frac'high - base) + or (or (fract (frac'high - base - 2 downto 0)))); + else + round := fract (frac'high - base - 1) and + fract (frac'high - base); + end if; + when round_inf => + round := fract(frac'high - base - 1) and not isign; + when round_neginf => + round := fract(frac'high - base - 1) and isign; + when others => + round := '0'; + end case; + if round = '1' then + result := result + 1; + end if; + end if; + if isign = '1' then + result := - result; + end if; + end case classcase; + return result; + end function to_integer; + + -- to_unsigned (float) + function to_unsigned ( + arg : UNRESOLVED_float; -- floating point input + constant size : NATURAL; -- length of output + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_UNSIGNED + is + variable validfp : valid_fpstate; -- Valid FP state + variable frac : UNRESOLVED_UNSIGNED (size-1 downto 0); -- Fraction + variable sign : STD_ULOGIC; -- not used + begin + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | nan | quiet_nan => + frac := (others => 'X'); + when pos_zero | neg_inf | neg_zero | neg_normal | pos_denormal | neg_denormal => + frac := (others => '0'); -- return 0 + when pos_inf => + frac := (others => '1'); + when others => + float_to_unsigned ( + arg => arg, + frac => frac, + sign => sign, + denormalize => false, + bias => 0, + round_style => round_style); + end case classcase; + return (frac); + end function to_unsigned; + + -- to_signed (float) + function to_signed ( + arg : UNRESOLVED_float; -- floating point input + constant size : NATURAL; -- length of output + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_SIGNED + is + variable sign : STD_ULOGIC; -- true if negative + variable validfp : valid_fpstate; -- Valid FP state + variable frac : UNRESOLVED_UNSIGNED (size-1 downto 0); -- Fraction + variable result : UNRESOLVED_SIGNED (size-1 downto 0); + begin + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | nan | quiet_nan => + result := (others => 'X'); + when pos_zero | neg_zero | pos_denormal | neg_denormal => + result := (others => '0'); -- return 0 + when pos_inf => + result := (others => '1'); + result (result'high) := '0'; + when neg_inf => + result := (others => '0'); + result (result'high) := '1'; + when others => + float_to_unsigned ( + arg => arg, + sign => sign, + frac => frac, + denormalize => false, + bias => 0, + round_style => round_style); + result (size-1) := '0'; + result (size-2 downto 0) := UNRESOLVED_SIGNED(frac (size-2 downto 0)); + if sign = '1' then + -- Because the most negative signed number is 1 less than the most + -- positive signed number, we need this code. + if frac(frac'high) = '1' then -- return most negative number + result := (others => '0'); + result (result'high) := '1'; + else + result := -result; + end if; + else + if frac(frac'high) = '1' then -- return most positive number + result := (others => '1'); + result (result'high) := '0'; + end if; + end if; + end case classcase; + return result; + end function to_signed; + + -- purpose: Converts a float to ufixed + function to_ufixed ( + arg : UNRESOLVED_float; -- fp input + constant left_index : INTEGER; -- integer part + constant right_index : INTEGER; -- fraction part + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_ufixed + is + constant fraction_width : INTEGER := -mine(arg'low, arg'low); -- length of FP output fraction + constant exponent_width : INTEGER := arg'high; -- length of FP output exponent + constant size : INTEGER := left_index - right_index + 4; -- unsigned size + variable expon_base : INTEGER; -- exponent offset + variable validfp : valid_fpstate; -- Valid FP state + variable exp : INTEGER; -- Exponent + variable expon : UNSIGNED (exponent_width-1 downto 0); -- Vectorized exponent + -- Base to divide fraction by + variable frac : UNSIGNED (size-1 downto 0) := (others => '0'); -- Fraction + variable frac_shift : UNSIGNED (size-1 downto 0); -- Fraction shifted + variable shift : INTEGER; + variable result_big : UNRESOLVED_ufixed (left_index downto right_index-3); + variable result : UNRESOLVED_ufixed (left_index downto right_index); -- result + begin -- function to_ufixed + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | nan | quiet_nan => + frac := (others => 'X'); + when pos_zero | neg_inf | neg_zero | neg_normal | neg_denormal => + frac := (others => '0'); -- return 0 + when pos_inf => + frac := (others => '1'); -- always saturate + when others => + expon_base := 2**(exponent_width-1) -1; -- exponent offset + -- Figure out the fraction + if (validfp = pos_denormal) and denormalize then + exp := -expon_base +1; + frac (frac'high) := '0'; -- Remove the "1.0". + else + -- exponent /= '0', normal floating point + expon := UNSIGNED(arg (exponent_width-1 downto 0)); + expon(exponent_width-1) := not expon(exponent_width-1); + exp := to_integer (SIGNED(expon)) +1; + frac (frac'high) := '1'; -- Add the "1.0". + end if; + shift := (frac'high - 3 + right_index) - exp; + if fraction_width > frac'high then -- Can only use size-2 bits + frac (frac'high-1 downto 0) := UNSIGNED (to_slv (arg(-1 downto + -frac'high))); + else -- can use all bits + frac (frac'high-1 downto frac'high-fraction_width) := + UNSIGNED (to_slv (arg(-1 downto -fraction_width))); + end if; + frac_shift := frac srl shift; + if shift < 0 then -- Overflow + frac := (others => '1'); + else + frac := frac_shift; + end if; + end case classcase; + result_big := to_ufixed ( + arg => STD_ULOGIC_VECTOR(frac), + left_index => left_index, + right_index => (right_index-3)); + result := resize (arg => result_big, + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + return result; + end function to_ufixed; + + -- purpose: Converts a float to sfixed + function to_sfixed ( + arg : UNRESOLVED_float; -- fp input + constant left_index : INTEGER; -- integer part + constant right_index : INTEGER; -- fraction part + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_sfixed + is + constant fraction_width : INTEGER := -mine(arg'low, arg'low); -- length of FP output fraction + constant exponent_width : INTEGER := arg'high; -- length of FP output exponent + constant size : INTEGER := left_index - right_index + 4; -- unsigned size + variable expon_base : INTEGER; -- exponent offset + variable validfp : valid_fpstate; -- Valid FP state + variable exp : INTEGER; -- Exponent + variable sign : BOOLEAN; -- true if negative + variable expon : UNSIGNED (exponent_width-1 downto 0); -- Vectorized exponent + -- Base to divide fraction by + variable frac : UNSIGNED (size-2 downto 0) := (others => '0'); -- Fraction + variable frac_shift : UNSIGNED (size-2 downto 0); -- Fraction shifted + variable shift : INTEGER; + variable rsigned : SIGNED (size-1 downto 0); -- signed version of result + variable result_big : UNRESOLVED_sfixed (left_index downto right_index-3); + variable result : UNRESOLVED_sfixed (left_index downto right_index) + := (others => '0'); -- result + begin -- function to_sfixed + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | nan | quiet_nan => + result := (others => 'X'); + when pos_zero | neg_zero => + result := (others => '0'); -- return 0 + when neg_inf => + result (left_index) := '1'; -- return smallest negative number + when pos_inf => + result := (others => '1'); -- return largest number + result (left_index) := '0'; + when others => + expon_base := 2**(exponent_width-1) -1; -- exponent offset + if arg(exponent_width) = '0' then + sign := false; + else + sign := true; + end if; + -- Figure out the fraction + if (validfp = pos_denormal or validfp = neg_denormal) + and denormalize then + exp := -expon_base +1; + frac (frac'high) := '0'; -- Add the "1.0". + else + -- exponent /= '0', normal floating point + expon := UNSIGNED(arg (exponent_width-1 downto 0)); + expon(exponent_width-1) := not expon(exponent_width-1); + exp := to_integer (SIGNED(expon)) +1; + frac (frac'high) := '1'; -- Add the "1.0". + end if; + shift := (frac'high - 3 + right_index) - exp; + if fraction_width > frac'high then -- Can only use size-2 bits + frac (frac'high-1 downto 0) := UNSIGNED (to_slv (arg(-1 downto + -frac'high))); + else -- can use all bits + frac (frac'high-1 downto frac'high-fraction_width) := + UNSIGNED (to_slv (arg(-1 downto -fraction_width))); + end if; + frac_shift := frac srl shift; + if shift < 0 then -- Overflow + frac := (others => '1'); + else + frac := frac_shift; + end if; + if not sign then + rsigned := SIGNED("0" & frac); + else + rsigned := -(SIGNED("0" & frac)); + end if; + result_big := to_sfixed ( + arg => STD_LOGIC_VECTOR(rsigned), + left_index => left_index, + right_index => (right_index-3)); + result := resize (arg => result_big, + left_index => left_index, + right_index => right_index, + round_style => round_style, + overflow_style => overflow_style); + end case classcase; + return result; + end function to_sfixed; + + -- size_res versions + -- float to unsigned + function to_unsigned ( + arg : UNRESOLVED_float; -- floating point input + size_res : UNRESOLVED_UNSIGNED; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_UNSIGNED + is + variable result : UNRESOLVED_UNSIGNED (size_res'range); + begin + if (SIZE_RES'length = 0) then + return result; + else + result := to_unsigned ( + arg => arg, + size => size_res'length, + round_style => round_style, + check_error => check_error); + return result; + end if; + end function to_unsigned; + + -- float to signed + function to_signed ( + arg : UNRESOLVED_float; -- floating point input + size_res : UNRESOLVED_SIGNED; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_SIGNED + is + variable result : UNRESOLVED_SIGNED (size_res'range); + begin + if (SIZE_RES'length = 0) then + return result; + else + result := to_signed ( + arg => arg, + size => size_res'length, + round_style => round_style, + check_error => check_error); + return result; + end if; + end function to_signed; + + -- purpose: Converts a float to unsigned fixed point + function to_ufixed ( + arg : UNRESOLVED_float; -- fp input + size_res : UNRESOLVED_ufixed; + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_ufixed + is + variable result : UNRESOLVED_ufixed (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_ufixed ( + arg => arg, + left_index => size_res'high, + right_index => size_res'low, + overflow_style => overflow_style, + round_style => round_style, + check_error => check_error, + denormalize => denormalize); + return result; + end if; + end function to_ufixed; + + -- float to signed fixed point + function to_sfixed ( + arg : UNRESOLVED_float; -- fp input + size_res : UNRESOLVED_sfixed; + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_sfixed + is + variable result : UNRESOLVED_sfixed (size_res'left downto size_res'right); + begin + if (result'length < 1) then + return result; + else + result := to_sfixed ( + arg => arg, + left_index => size_res'high, + right_index => size_res'low, + overflow_style => overflow_style, + round_style => round_style, + check_error => check_error, + denormalize => denormalize); + return result; + end if; + end function to_sfixed; + + -- to_real (float) + -- typically not Synthesizable unless the input is a constant. + function to_real ( + arg : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return REAL + is + constant fraction_width : INTEGER := -mine(arg'low, arg'low); -- length of FP output fraction + constant exponent_width : INTEGER := arg'high; -- length of FP output exponent + variable sign : REAL; -- Sign, + or - 1 + variable exp : INTEGER; -- Exponent + variable expon_base : INTEGER; -- exponent offset + variable frac : REAL := 0.0; -- Fraction + variable validfp : valid_fpstate; -- Valid FP state + variable expon : UNSIGNED (exponent_width - 1 downto 0) + := (others => '1'); -- Vectorized exponent + begin + validfp := classfp (arg, check_error); + classcase : case validfp is + when isx | pos_zero | neg_zero | nan | quiet_nan => + return 0.0; + when neg_inf => + return REAL'low; -- Negative infinity. + when pos_inf => + return REAL'high; -- Positive infinity + when others => + expon_base := 2**(exponent_width-1) -1; + if to_X01(arg(exponent_width)) = '0' then + sign := 1.0; + else + sign := -1.0; + end if; + -- Figure out the fraction + for i in 0 to fraction_width-1 loop + if to_X01(arg (-1 - i)) = '1' then + frac := frac + (2.0 **(-1 - i)); + end if; + end loop; -- i + if validfp = pos_normal or validfp = neg_normal or not denormalize then + -- exponent /= '0', normal floating point + expon := UNSIGNED(arg (exponent_width-1 downto 0)); + expon(exponent_width-1) := not expon(exponent_width-1); + exp := to_integer (SIGNED(expon)) +1; + sign := sign * (2.0 ** exp) * (1.0 + frac); + else -- exponent = '0', IEEE extended floating point + exp := 1 - expon_base; + sign := sign * (2.0 ** exp) * frac; + end if; + return sign; + end case classcase; + end function to_real; + + -- For Verilog compatability + function realtobits (arg : REAL) return STD_ULOGIC_VECTOR is + variable result : float64; -- 64 bit floating point + begin + result := to_float (arg => arg, + exponent_width => float64'high, + fraction_width => -float64'low); + return to_sulv (result); + end function realtobits; + + function bitstoreal (arg : STD_ULOGIC_VECTOR) return REAL is + variable arg64 : float64; -- arg converted to float + begin + arg64 := to_float (arg => arg, + exponent_width => float64'high, + fraction_width => -float64'low); + return to_real (arg64); + end function bitstoreal; + + -- purpose: Removes meta-logical values from FP string + function to_01 ( + arg : UNRESOLVED_float; -- floating point input + XMAP : STD_LOGIC := '0') + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (arg'range); + begin -- function to_01 + if (arg'length < 1) then + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "TO_01: null detected, returning NULL" + severity warning; + return NAFP; + end if; + result := UNRESOLVED_float (STD_LOGIC_VECTOR(to_01(UNSIGNED(to_slv(arg)), XMAP))); + return result; + end function to_01; + + function Is_X + (arg : UNRESOLVED_float) + return BOOLEAN is + begin + return Is_X (to_slv(arg)); + end function Is_X; + + function to_X01 (arg : UNRESOLVED_float) return UNRESOLVED_float is + variable result : UNRESOLVED_float (arg'range); + begin + if (arg'length < 1) then + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "TO_X01: null detected, returning NULL" + severity warning; + return NAFP; + else + result := UNRESOLVED_float (to_X01(to_slv(arg))); + return result; + end if; + end function to_X01; + + function to_X01Z (arg : UNRESOLVED_float) return UNRESOLVED_float is + variable result : UNRESOLVED_float (arg'range); + begin + if (arg'length < 1) then + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "TO_X01Z: null detected, returning NULL" + severity warning; + return NAFP; + else + result := UNRESOLVED_float (to_X01Z(to_slv(arg))); + return result; + end if; + end function to_X01Z; + + function to_UX01 (arg : UNRESOLVED_float) return UNRESOLVED_float is + variable result : UNRESOLVED_float (arg'range); + begin + if (arg'length < 1) then + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "TO_UX01: null detected, returning NULL" + severity warning; + return NAFP; + else + result := UNRESOLVED_float (to_UX01(to_slv(arg))); + return result; + end if; + end function to_UX01; + + -- These allows the base math functions to use the default values + -- of their parameters. Thus they do full IEEE floating point. + function "+" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return add (l, r); + end function "+"; + + function "-" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return subtract (l, r); + end function "-"; + + function "*" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return multiply (l, r); + end function "*"; + + function "/" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return divide (l, r); + end function "/"; + + function "rem" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return remainder (l, r); + end function "rem"; + + function "mod" (l, r : UNRESOLVED_float) return UNRESOLVED_float is + begin + return modulo (l, r); + end function "mod"; + + -- overloaded versions + function "+" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return add (l, r_float); + end function "+"; + + function "+" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return add (l_float, r); + end function "+"; + + function "+" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return add (l, r_float); + end function "+"; + + function "+" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return add (l_float, r); + end function "+"; + + function "-" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return subtract (l, r_float); + end function "-"; + + function "-" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return subtract (l_float, r); + end function "-"; + + function "-" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return subtract (l, r_float); + end function "-"; + + function "-" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return subtract (l_float, r); + end function "-"; + + function "*" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return multiply (l, r_float); + end function "*"; + + function "*" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return multiply (l_float, r); + end function "*"; + + function "*" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return multiply (l, r_float); + end function "*"; + + function "*" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return multiply (l_float, r); + end function "*"; + + function "/" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return divide (l, r_float); + end function "/"; + + function "/" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return divide (l_float, r); + end function "/"; + + function "/" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return divide (l, r_float); + end function "/"; + + function "/" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return divide (l_float, r); + end function "/"; + + function "rem" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return remainder (l, r_float); + end function "rem"; + + function "rem" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return remainder (l_float, r); + end function "rem"; + + function "rem" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return remainder (l, r_float); + end function "rem"; + + function "rem" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return remainder (l_float, r); + end function "rem"; + + function "mod" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return modulo (l, r_float); + end function "mod"; + + function "mod" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return modulo (l_float, r); + end function "mod"; + + function "mod" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return modulo (l, r_float); + end function "mod"; + + function "mod" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return modulo (l_float, r); + end function "mod"; + + function "=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return eq (l, r_float); + end function "="; + + function "/=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return ne (l, r_float); + end function "/="; + + function ">=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return ge (l, r_float); + end function ">="; + + function "<=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return le (l, r_float); + end function "<="; + + function ">" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return gt (l, r_float); + end function ">"; + + function "<" (l : UNRESOLVED_float; r : REAL) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return lt (l, r_float); + end function "<"; + + function "=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return eq (l_float, r); + end function "="; + + function "/=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return ne (l_float, r); + end function "/="; + + function ">=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return ge (l_float, r); + end function ">="; + + function "<=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return le (l_float, r); + end function "<="; + + function ">" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return gt (l_float, r); + end function ">"; + + function "<" (l : REAL; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return lt (l_float, r); + end function "<"; + + function "=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return eq (l, r_float); + end function "="; + + function "/=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return ne (l, r_float); + end function "/="; + + function ">=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return ge (l, r_float); + end function ">="; + + function "<=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return le (l, r_float); + end function "<="; + + function ">" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return gt (l, r_float); + end function ">"; + + function "<" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return lt (l, r_float); + end function "<"; + + function "=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return eq (l_float, r); + end function "="; + + function "/=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return ne (l_float, r); + end function "/="; + + function ">=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return ge (l_float, r); + end function ">="; + + function "<=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return le (l_float, r); + end function "<="; + + function ">" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return gt (l_float, r); + end function ">"; + + function "<" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float(l, r'high, -r'low); + return lt (l_float, r); + end function "<"; + + -- ?= overloads + function "?=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?= r_float; + end function "?="; + + function "?/=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?/= r_float; + end function "?/="; + + function "?>" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?> r_float; + end function "?>"; + + function "?>=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?>= r_float; + end function "?>="; + + function "?<" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?< r_float; + end function "?<"; + + function "?<=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?<= r_float; + end function "?<="; + + -- real and float + function "?=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?= r; + end function "?="; + + function "?/=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?/= r; + end function "?/="; + + function "?>" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?> r; + end function "?>"; + + function "?>=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?>= r; + end function "?>="; + + function "?<" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?< r; + end function "?<"; + + function "?<=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?<= r; + end function "?<="; + + -- ?= overloads + function "?=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?= r_float; + end function "?="; + + function "?/=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?/= r_float; + end function "?/="; + + function "?>" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?> r_float; + end function "?>"; + + function "?>=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?>= r_float; + end function "?>="; + + function "?<" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?< r_float; + end function "?<"; + + function "?<=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return l ?<= r_float; + end function "?<="; + + -- integer and float + function "?=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?= r; + end function "?="; + + function "?/=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?/= r; + end function "?/="; + + function "?>" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?> r; + end function "?>"; + + function "?>=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?>= r; + end function "?>="; + + function "?<" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?< r; + end function "?<"; + + function "?<=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return l_float ?<= r; + end function "?<="; + + -- minimum and maximum overloads + function minimum (l : UNRESOLVED_float; r : REAL) + return UNRESOLVED_float + is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return minimum (l, r_float); + end function minimum; + + function maximum (l : UNRESOLVED_float; r : REAL) + return UNRESOLVED_float + is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return maximum (l, r_float); + end function maximum; + + function minimum (l : REAL; r : UNRESOLVED_float) + return UNRESOLVED_float + is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return minimum (l_float, r); + end function minimum; + + function maximum (l : REAL; r : UNRESOLVED_float) + return UNRESOLVED_float + is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return maximum (l_float, r); + end function maximum; + + function minimum (l : UNRESOLVED_float; r : INTEGER) + return UNRESOLVED_float + is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return minimum (l, r_float); + end function minimum; + + function maximum (l : UNRESOLVED_float; r : INTEGER) + return UNRESOLVED_float + is + variable r_float : UNRESOLVED_float (l'range); + begin + r_float := to_float (r, l'high, -l'low); + return maximum (l, r_float); + end function maximum; + + function minimum (l : INTEGER; r : UNRESOLVED_float) + return UNRESOLVED_float + is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return minimum (l_float, r); + end function minimum; + + function maximum (l : INTEGER; r : UNRESOLVED_float) + return UNRESOLVED_float + is + variable l_float : UNRESOLVED_float (r'range); + begin + l_float := to_float (l, r'high, -r'low); + return maximum (l_float, r); + end function maximum; + + ---------------------------------------------------------------------------- + -- logical functions + ---------------------------------------------------------------------------- + function "not" (L : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + RESULT := not to_sulv(L); + return to_float (RESULT, L'high, -L'low); + end function "not"; + + function "and" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) and to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """and"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "and"; + + function "or" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) or to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """or"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "or"; + + function "nand" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nand to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """nand"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "nand"; + + function "nor" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) nor to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """nor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "nor"; + + function "xor" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xor to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """xor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "xor"; + + function "xnor" (L, R : UNRESOLVED_float) return UNRESOLVED_float is + variable RESULT : STD_ULOGIC_VECTOR(L'length-1 downto 0); -- force downto + begin + if (L'high = R'high and L'low = R'low) then + RESULT := to_sulv(L) xnor to_sulv(R); + else + assert NO_WARNING + report float_generic_pkg'instance_name + & """xnor"": Range error L'RANGE /= R'RANGE" + severity warning; + RESULT := (others => 'X'); + end if; + return to_float (RESULT, L'high, -L'low); + end function "xnor"; + + -- Vector and std_ulogic functions, same as functions in numeric_std + function "and" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L and to_sulv(R)); + return result; + end function "and"; + + function "and" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) and R); + return result; + end function "and"; + + function "or" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L or to_sulv(R)); + return result; + end function "or"; + + function "or" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) or R); + return result; + end function "or"; + + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L nand to_sulv(R)); + return result; + end function "nand"; + + function "nand" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) nand R); + return result; + end function "nand"; + + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L nor to_sulv(R)); + return result; + end function "nor"; + + function "nor" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) nor R); + return result; + end function "nor"; + + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L xor to_sulv(R)); + return result; + end function "xor"; + + function "xor" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) xor R); + return result; + end function "xor"; + + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_float) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (R'range); + begin + result := UNRESOLVED_float (L xnor to_sulv(R)); + return result; + end function "xnor"; + + function "xnor" (L : UNRESOLVED_float; R : STD_ULOGIC) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (L'range); + begin + result := UNRESOLVED_float (to_sulv(L) xnor R); + return result; + end function "xnor"; + + -- Reduction operators, same as numeric_std functions + + function "and" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return and to_sulv(l); + end function "and"; + + function "nand" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return nand to_sulv(l); + end function "nand"; + + function "or" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return or to_sulv(l); + end function "or"; + + function "nor" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return nor to_sulv(l); + end function "nor"; + + function "xor" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return xor to_sulv(l); + end function "xor"; + + function "xnor" (l : UNRESOLVED_float) return STD_ULOGIC is + begin + return xnor to_sulv(l); + end function "xnor"; + + ----------------------------------------------------------------------------- + -- Recommended Functions from the IEEE 754 Appendix + ----------------------------------------------------------------------------- + -- returns x with the sign of y. + function Copysign ( + x, y : UNRESOLVED_float) -- floating point input + return UNRESOLVED_float is + begin + return y(y'high) & x (x'high-1 downto x'low); + end function Copysign; + + -- Returns y * 2**n for integral values of N without computing 2**n + function Scalb ( + y : UNRESOLVED_float; -- floating point input + N : INTEGER; -- exponent to add + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(y'low, y'low); -- length of FP output fraction + constant exponent_width : NATURAL := y'high; -- length of FP output exponent + variable arg, result : UNRESOLVED_float (exponent_width downto -fraction_width); -- internal argument + variable expon : SIGNED (exponent_width-1 downto 0); -- Vectorized exp + variable exp : SIGNED (exponent_width downto 0); + variable ufract : UNSIGNED (fraction_width downto 0); + constant expon_base : SIGNED (exponent_width-1 downto 0) + := gen_expon_base(exponent_width); -- exponent offset + variable fptype : valid_fpstate; + begin + -- This can be done by simply adding N to the exponent. + arg := to_01 (y, 'X'); + fptype := classfp(arg, check_error); + classcase : case fptype is + when isx => + result := (others => 'X'); + when nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + result := qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + when others => + break_number ( + arg => arg, + fptyp => fptype, + denormalize => denormalize, + fract => ufract, + expon => expon); + exp := resize (expon, exp'length) + N; + result := normalize ( + fract => ufract, + expon => exp, + sign => to_x01 (arg (arg'high)), + fraction_width => fraction_width, + exponent_width => exponent_width, + round_style => round_style, + denormalize => denormalize, + nguard => 0); + end case classcase; + return result; + end function Scalb; + + -- Returns y * 2**n for integral values of N without computing 2**n + function Scalb ( + y : UNRESOLVED_float; -- floating point input + N : UNRESOLVED_SIGNED; -- exponent to add + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float + is + variable n_int : INTEGER; + begin + n_int := to_integer(N); + return Scalb (y => y, + N => n_int, + round_style => round_style, + check_error => check_error, + denormalize => denormalize); + end function Scalb; + + -- returns the unbiased exponent of x + function Logb ( + x : UNRESOLVED_float) -- floating point input + return INTEGER + is + constant fraction_width : NATURAL := -mine (x'low, x'low); -- length of FP output fraction + constant exponent_width : NATURAL := x'high; -- length of FP output exponent + variable result : INTEGER; -- result + variable arg : UNRESOLVED_float (exponent_width downto -fraction_width); -- internal argument + variable expon : SIGNED (exponent_width - 1 downto 0); + variable fract : UNSIGNED (fraction_width downto 0); + constant expon_base : INTEGER := 2**(exponent_width-1) -1; -- exponent + -- offset +1 + variable fptype : valid_fpstate; + begin + -- Just return the exponent. + arg := to_01 (x, 'X'); + fptype := classfp(arg); + classcase : case fptype is + when isx | nan | quiet_nan => + -- Return quiet NAN, IEEE754-1985-7.1,1 + result := 0; + when pos_denormal | neg_denormal => + fract (fraction_width) := '0'; + fract (fraction_width-1 downto 0) := + UNSIGNED (to_slv(arg(-1 downto -fraction_width))); + result := find_leftmost (fract, '1') -- Find the first "1" + - fraction_width; -- subtract the length we want + result := -expon_base + 1 + result; + when others => + expon := SIGNED(arg (exponent_width - 1 downto 0)); + expon(exponent_width-1) := not expon(exponent_width-1); + expon := expon + 1; + result := to_integer (expon); + end case classcase; + return result; + end function Logb; + + -- returns the unbiased exponent of x + function Logb ( + x : UNRESOLVED_float) -- floating point input + return UNRESOLVED_SIGNED + is + constant exponent_width : NATURAL := x'high; -- length of FP output exponent + variable result : SIGNED (exponent_width - 1 downto 0); -- result + begin + -- Just return the exponent. + result := to_signed (Logb (x), exponent_width); + return result; + end function Logb; + + -- returns the next representable neighbor of x in the direction toward y + function Nextafter ( + x, y : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_float + is + constant fraction_width : NATURAL := -mine(x'low, x'low); -- length of FP output fraction + constant exponent_width : NATURAL := x'high; -- length of FP output exponent + function "=" ( + l, r : UNRESOLVED_float) -- inputs + return BOOLEAN is + begin -- function "=" + return eq (l => l, + r => r, + check_error => false); + end function "="; + function ">" ( + l, r : UNRESOLVED_float) -- inputs + return BOOLEAN is + begin -- function ">" + return gt (l => l, + r => r, + check_error => false); + end function ">"; + variable fract : UNSIGNED (fraction_width-1 downto 0); + variable expon : UNSIGNED (exponent_width-1 downto 0); + variable sign : STD_ULOGIC; + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable validfpx, validfpy : valid_fpstate; -- Valid FP state + begin -- fp_Nextafter + -- If Y > X, add one to the fraction, otherwise subtract. + validfpx := classfp (x, check_error); + validfpy := classfp (y, check_error); + if validfpx = isx or validfpy = isx then + result := (others => 'X'); + return result; + elsif (validfpx = nan or validfpy = nan) then + return nanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif (validfpx = quiet_nan or validfpy = quiet_nan) then + return qnanfp (fraction_width => fraction_width, + exponent_width => exponent_width); + elsif x = y then -- Return X + return x; + else + fract := UNSIGNED (to_slv (x (-1 downto -fraction_width))); -- Fraction + expon := UNSIGNED (x (exponent_width - 1 downto 0)); -- exponent + sign := x(exponent_width); -- sign bit + if (y > x) then + -- Increase the number given + if validfpx = neg_inf then + -- return most negative number + expon := (others => '1'); + expon (0) := '0'; + fract := (others => '1'); + elsif validfpx = pos_zero or validfpx = neg_zero then + -- return smallest denormal number + sign := '0'; + expon := (others => '0'); + fract := (others => '0'); + fract(0) := '1'; + elsif validfpx = pos_normal then + if and (fract) = '1' then -- fraction is all "1". + if and (expon (exponent_width-1 downto 1)) = '1' + and expon (0) = '0' then + -- Exponent is one away from infinity. + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "FP_NEXTAFTER: NextAfter overflow" + severity warning; + return pos_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + expon := expon + 1; + fract := (others => '0'); + end if; + else + fract := fract + 1; + end if; + elsif validfpx = pos_denormal then + if and (fract) = '1' then -- fraction is all "1". + -- return smallest possible normal number + expon := (others => '0'); + expon(0) := '1'; + fract := (others => '0'); + else + fract := fract + 1; + end if; + elsif validfpx = neg_normal then + if or (fract) = '0' then -- fraction is all "0". + if or (expon (exponent_width-1 downto 1)) = '0' and + expon (0) = '1' then -- Smallest exponent + -- return the largest negative denormal number + expon := (others => '0'); + fract := (others => '1'); + else + expon := expon - 1; + fract := (others => '1'); + end if; + else + fract := fract - 1; + end if; + elsif validfpx = neg_denormal then + if or (fract(fract'high downto 1)) = '0' + and fract (0) = '1' then -- Smallest possible fraction + return zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + fract := fract - 1; + end if; + end if; + else + -- Decrease the number + if validfpx = pos_inf then + -- return most positive number + expon := (others => '1'); + expon (0) := '0'; + fract := (others => '1'); + elsif validfpx = pos_zero + or classfp (x) = neg_zero then + -- return smallest negative denormal number + sign := '1'; + expon := (others => '0'); + fract := (others => '0'); + fract(0) := '1'; + elsif validfpx = neg_normal then + if and (fract) = '1' then -- fraction is all "1". + if and (expon (exponent_width-1 downto 1)) = '1' + and expon (0) = '0' then + -- Exponent is one away from infinity. + assert NO_WARNING + report FLOAT_GENERIC_PKG'instance_name + & "FP_NEXTAFTER: NextAfter overflow" + severity warning; + return neg_inffp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + expon := expon + 1; -- Fraction overflow + fract := (others => '0'); + end if; + else + fract := fract + 1; + end if; + elsif validfpx = neg_denormal then + if and (fract) = '1' then -- fraction is all "1". + -- return smallest possible normal number + expon := (others => '0'); + expon(0) := '1'; + fract := (others => '0'); + else + fract := fract + 1; + end if; + elsif validfpx = pos_normal then + if or (fract) = '0' then -- fraction is all "0". + if or (expon (exponent_width-1 downto 1)) = '0' and + expon (0) = '1' then -- Smallest exponent + -- return the largest positive denormal number + expon := (others => '0'); + fract := (others => '1'); + else + expon := expon - 1; + fract := (others => '1'); + end if; + else + fract := fract - 1; + end if; + elsif validfpx = pos_denormal then + if or (fract(fract'high downto 1)) = '0' + and fract (0) = '1' then -- Smallest possible fraction + return zerofp (fraction_width => fraction_width, + exponent_width => exponent_width); + else + fract := fract - 1; + end if; + end if; + end if; + result (-1 downto -fraction_width) := UNRESOLVED_float(fract); + result (exponent_width -1 downto 0) := UNRESOLVED_float(expon); + result (exponent_width) := sign; + return result; + end if; + end function Nextafter; + + -- Returns True if X is unordered with Y. + function Unordered ( + x, y : UNRESOLVED_float) -- floating point input + return BOOLEAN + is + variable lfptype, rfptype : valid_fpstate; + begin + lfptype := classfp (x); + rfptype := classfp (y); + if (lfptype = nan or lfptype = quiet_nan or + rfptype = nan or rfptype = quiet_nan or + lfptype = isx or rfptype = isx) then + return true; + else + return false; + end if; + end function Unordered; + + function Finite ( + x : UNRESOLVED_float) + return BOOLEAN + is + variable fp_state : valid_fpstate; -- fp state + begin + fp_state := Classfp (x); + if (fp_state = pos_inf) or (fp_state = neg_inf) then + return true; + else + return false; + end if; + end function Finite; + + function Isnan ( + x : UNRESOLVED_float) + return BOOLEAN + is + variable fp_state : valid_fpstate; -- fp state + begin + fp_state := Classfp (x); + if (fp_state = nan) or (fp_state = quiet_nan) then + return true; + else + return false; + end if; + end function Isnan; + + -- Function to return constants. + function zerofp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + constant result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + return result; + end function zerofp; + + function nanfp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + result (exponent_width-1 downto 0) := (others => '1'); + -- Exponent all "1" + result (-1) := '1'; -- MSB of Fraction "1" + -- Note: From W. Khan "IEEE Standard 754 for Binary Floating Point" + -- The difference between a signaling NAN and a quiet NAN is that + -- the MSB of the Fraction is a "1" in a Signaling NAN, and is a + -- "0" in a quiet NAN. + return result; + end function nanfp; + + function qnanfp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + result (exponent_width-1 downto 0) := (others => '1'); + -- Exponent all "1" + result (-fraction_width) := '1'; -- LSB of Fraction "1" + -- (Could have been any bit) + return result; + end function qnanfp; + + function pos_inffp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + result (exponent_width-1 downto 0) := (others => '1'); -- Exponent all "1" + return result; + end function pos_inffp; + + function neg_inffp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + result (exponent_width downto 0) := (others => '1'); -- top bits all "1" + return result; + end function neg_inffp; + + function neg_zerofp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width) := + (others => '0'); -- zero + begin + result (exponent_width) := '1'; + return result; + end function neg_zerofp; + + -- size_res versions + function zerofp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return zerofp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function zerofp; + + function nanfp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return nanfp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function nanfp; + + function qnanfp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return qnanfp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function qnanfp; + + function pos_inffp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return pos_inffp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function pos_inffp; + + function neg_inffp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return neg_inffp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function neg_inffp; + + function neg_zerofp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float is + begin + return neg_zerofp ( + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function neg_zerofp; + + -- Textio functions + -- purpose: writes float into a line (NOTE changed basetype) + type MVL9plus is ('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-', error); + type char_indexed_by_MVL9 is array (STD_ULOGIC) of CHARACTER; + type MVL9_indexed_by_char is array (CHARACTER) of STD_ULOGIC; + type MVL9plus_indexed_by_char is array (CHARACTER) of MVL9plus; + + constant NBSP : CHARACTER := CHARACTER'val(160); -- space character + constant MVL9_to_char : char_indexed_by_MVL9 := "UX01ZWLH-"; + constant char_to_MVL9 : MVL9_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => 'U'); + constant char_to_MVL9plus : MVL9plus_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => error); + + -- purpose: Skips white space + procedure skip_whitespace ( + L : inout LINE) is + variable readOk : BOOLEAN; + variable c : CHARACTER; + begin + while L /= null and L.all'length /= 0 loop + if (L.all(1) = ' ' or L.all(1) = NBSP or L.all(1) = HT) then + read (l, c, readOk); + else + exit; + end if; + end loop; + end procedure skip_whitespace; + + -- purpose: Checks the punctuation in a line + procedure check_punctuation ( + arg : in STRING; + colon : out BOOLEAN; -- There was a colon in the line + dot : out BOOLEAN; -- There was a dot in the line + good : out BOOLEAN; -- True if enough characters found + chars : in INTEGER) is + -- Examples. Legal inputs are "0000000", "0000.000", "0:000:000" + alias xarg : STRING (1 to arg'length) is arg; -- make it downto range + variable icolon, idot : BOOLEAN; -- internal + variable j : INTEGER := 0; -- charters read + begin + good := false; + icolon := false; + idot := false; + for i in 1 to arg'length loop + if xarg(i) = ' ' or xarg(i) = NBSP or xarg(i) = HT or j = chars then + exit; + elsif xarg(i) = ':' then + icolon := true; + elsif xarg(i) = '.' then + idot := true; + elsif xarg (i) /= '_' then + j := j + 1; + end if; + end loop; + if j = chars then + good := true; -- There are enough charactes to read + end if; + colon := icolon; + if idot and icolon then + dot := false; + else + dot := idot; + end if; + end procedure check_punctuation; + + -- purpose: Searches a line for a ":" and replaces it with a ".". + procedure fix_colon ( + arg : inout STRING; + chars : in integer) is + alias xarg : STRING (1 to arg'length) is arg; -- make it downto range + variable j : INTEGER := 0; -- charters read + begin + for i in 1 to arg'length loop + if xarg(i) = ' ' or xarg(i) = NBSP or xarg(i) = HT or j > chars then + exit; + elsif xarg(i) = ':' then + xarg (i) := '.'; + elsif xarg (i) /= '_' then + j := j + 1; + end if; + end loop; + end procedure fix_colon; + + procedure WRITE ( + L : inout LINE; -- input line + VALUE : in UNRESOLVED_float; -- floating point input + JUSTIFIED : in SIDE := right; + FIELD : in WIDTH := 0) is + variable s : STRING(1 to value'high - value'low +3); + variable sindx : INTEGER; + begin -- function write + s(1) := MVL9_to_char(STD_ULOGIC(VALUE(VALUE'high))); + s(2) := ':'; + sindx := 3; + for i in VALUE'high-1 downto 0 loop + s(sindx) := MVL9_to_char(STD_ULOGIC(VALUE(i))); + sindx := sindx + 1; + end loop; + s(sindx) := ':'; + sindx := sindx + 1; + for i in -1 downto VALUE'low loop + s(sindx) := MVL9_to_char(STD_ULOGIC(VALUE(i))); + sindx := sindx + 1; + end loop; + WRITE (L, s, JUSTIFIED, FIELD); + end procedure WRITE; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_float) is + -- Possible data: 0:0000:0000000 + -- 000000000000 + variable c : CHARACTER; + variable mv : UNRESOLVED_float (VALUE'range); + variable readOk : BOOLEAN; + variable lastu : BOOLEAN := false; -- last character was an "_" + variable i : INTEGER; -- index variable + begin -- READ + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + READ (l, c, readOk); + if VALUE'length > 0 then + i := value'high; + readloop : loop + if readOk = false then -- Bail out if there was a bad read + report float_generic_pkg'instance_name + & "READ(float): " + & "Error end of file encountered." + severity error; + return; + elsif c = ' ' or c = CR or c = HT then -- reading done. + if (i /= value'low) then + report float_generic_pkg'instance_name + & "READ(float): " + & "Warning: Value truncated." + severity warning; + return; + end if; + elsif c = '_' then + if i = value'high then -- Begins with an "_" + report float_generic_pkg'instance_name + & "READ(float): " + & "String begins with an ""_""" severity error; + return; + elsif lastu then -- "__" detected + report float_generic_pkg'instance_name + & "READ(float): " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + elsif c = ':' or c = '.' then -- separator, ignore + if not (i = -1 or i = value'high-1) then + report float_generic_pkg'instance_name + & "READ(float): " + & "Warning: Separator point does not match number format: '" + & c & "' encountered at location " & INTEGER'image(i) & "." + severity warning; + end if; + lastu := false; + elsif (char_to_MVL9plus(c) = error) then + report float_generic_pkg'instance_name + & "READ(float): " + & "Error: Character '" & c & "' read, expected STD_ULOGIC literal." + severity error; + return; + else + mv (i) := char_to_MVL9(c); + i := i - 1; + if i < value'low then + VALUE := mv; + return; + end if; + lastu := false; + end if; + READ (l, c, readOk); + end loop readloop; + end if; + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_float; GOOD : out BOOLEAN) is + -- Possible data: 0:0000:0000000 + -- 000000000000 + variable c : CHARACTER; + variable mv : UNRESOLVED_float (VALUE'range); + variable lastu : BOOLEAN := false; -- last character was an "_" + variable i : INTEGER; -- index variable + variable readOk : BOOLEAN; + begin -- READ + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + READ (l, c, readOk); + if VALUE'length > 0 then + i := value'high; + good := false; + readloop : loop + if readOk = false then -- Bail out if there was a bad read + return; + elsif c = ' ' or c = CR or c = HT then -- reading done + return; + elsif c = '_' then + if i = 0 then -- Begins with an "_" + return; + elsif lastu then -- "__" detected + return; + else + lastu := true; + end if; + elsif c = ':' or c = '.' then -- separator, ignore + -- good := (i = -1 or i = value'high-1); + lastu := false; + elsif (char_to_MVL9plus(c) = error) then + return; + else + mv (i) := char_to_MVL9(c); + i := i - 1; + if i < value'low then + good := true; + VALUE := mv; + return; + end if; + lastu := false; + end if; + READ (l, c, readOk); + end loop readloop; + else + good := true; -- read into a null array + end if; + end procedure READ; + + procedure OWRITE ( + L : inout LINE; -- access type (pointer) + VALUE : in UNRESOLVED_float; -- value to write + JUSTIFIED : in SIDE := right; -- which side to justify text + FIELD : in WIDTH := 0) is -- width of field + begin + WRITE (L => L, + VALUE => to_ostring(VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure OWRITE; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_float) is + constant ne : INTEGER := ((value'length+2)/3) * 3; -- pad + variable slv : STD_LOGIC_VECTOR (ne-1 downto 0); -- slv + variable slvu : ufixed (VALUE'range); -- Unsigned fixed point + variable c : CHARACTER; + variable ok : BOOLEAN; + variable nybble : STD_LOGIC_VECTOR (2 downto 0); -- 3 bits + variable colon, dot : BOOLEAN; + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + check_punctuation (arg => L.all, + colon => colon, + dot => dot, + good => ok, + chars => ne/3); + if not ok then + report float_generic_pkg'instance_name & "OREAD: " + & "short string encounted: " & L.all + & " needs to have " & integer'image (ne/3) + & " valid octal characters." + severity error; + return; + elsif dot then + OREAD (L, slvu, ok); -- read it like a UFIXED number + if not ok then + report float_generic_pkg'instance_name & "OREAD: " + & "error encounted reading STRING " & L.all + severity error; + return; + else + VALUE := UNRESOLVED_float (slvu); + end if; + elsif colon then + OREAD (L, nybble, ok); -- read the sign bit + if not ok then + report float_generic_pkg'instance_name & "OREAD: " + & "End of string encountered" + severity error; + return; + elsif nybble (2 downto 1) /= "00" then + report float_generic_pkg'instance_name & "OREAD: " + & "Illegal sign bit STRING encounted " + severity error; + return; + end if; + read (l, c, ok); -- read the colon + fix_colon (L.all, ne/3); -- replaces the colon with a ".". + OREAD (L, slvu (slvu'high-1 downto slvu'low), ok); -- read it like a UFIXED number + if not ok then + report float_generic_pkg'instance_name & "OREAD: " + & "error encounted reading STRING " & L.all + severity error; + return; + else + slvu (slvu'high) := nybble (0); + VALUE := UNRESOLVED_float (slvu); + end if; + else + OREAD (L, slv, ok); + if not ok then + report float_generic_pkg'instance_name & "OREAD: " + & "Error encounted during read" + severity error; + return; + end if; + if (or (slv(ne-1 downto VALUE'high-VALUE'low+1)) = '1') then + report float_generic_pkg'instance_name & "OREAD: " + & "Vector truncated." + severity error; + return; + end if; + VALUE := to_float (slv(VALUE'high-VALUE'low downto 0), + VALUE'high, -VALUE'low); + end if; + end if; + end procedure OREAD; + + procedure OREAD(L : inout LINE; VALUE : out UNRESOLVED_float; GOOD : out BOOLEAN) is + constant ne : INTEGER := ((value'length+2)/3) * 3; -- pad + variable slv : STD_LOGIC_VECTOR (ne-1 downto 0); -- slv + variable slvu : ufixed (VALUE'range); -- Unsigned fixed point + variable c : CHARACTER; + variable ok : BOOLEAN; + variable nybble : STD_LOGIC_VECTOR (2 downto 0); -- 3 bits + variable colon, dot : BOOLEAN; + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + GOOD := false; + Skip_whitespace (L); + if VALUE'length > 0 then + check_punctuation (arg => L.all, + colon => colon, + dot => dot, + good => ok, + chars => ne/3); + if not ok then + return; + elsif dot then + OREAD (L, slvu, ok); -- read it like a UFIXED number + if not ok then + return; + else + VALUE := UNRESOLVED_float (slvu); + end if; + elsif colon then + OREAD (L, nybble, ok); -- read the sign bit + if not ok then + return; + elsif nybble (2 downto 1) /= "00" then + return; + end if; + read (l, c, ok); -- read the colon + fix_colon (L.all, ne/3); -- replaces the colon with a ".". + OREAD (L, slvu (slvu'high-1 downto slvu'low), ok); -- read it like a UFIXED number + if not ok then + return; + else + slvu (slvu'high) := nybble (0); + VALUE := UNRESOLVED_float (slvu); + end if; + else + OREAD (L, slv, ok); + if not ok then + return; + end if; + if (or (slv(ne-1 downto VALUE'high-VALUE'low+1)) = '1') then + return; + end if; + VALUE := to_float (slv(VALUE'high-VALUE'low downto 0), + VALUE'high, -VALUE'low); + end if; + GOOD := true; + end if; + end procedure OREAD; + + procedure HWRITE ( + L : inout LINE; -- access type (pointer) + VALUE : in UNRESOLVED_float; -- value to write + JUSTIFIED : in SIDE := right; -- which side to justify text + FIELD : in WIDTH := 0) is -- width of field + begin + WRITE (L => L, + VALUE => to_hstring(VALUE), + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure HWRITE; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_float) is + constant ne : INTEGER := ((value'length+3)/4) * 4; -- pad + variable slv : STD_LOGIC_VECTOR (ne-1 downto 0); -- slv + variable slvu : ufixed (VALUE'range); -- Unsigned fixed point + variable c : CHARACTER; + variable ok : BOOLEAN; + variable nybble : STD_LOGIC_VECTOR (3 downto 0); -- 4 bits + variable colon, dot : BOOLEAN; + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + check_punctuation (arg => L.all, + colon => colon, + dot => dot, + good => ok, + chars => ne/4); + if not ok then + report float_generic_pkg'instance_name & "HREAD: " + & "short string encounted: " & L.all + & " needs to have " & integer'image (ne/4) + & " valid hex characters." + severity error; + return; + elsif dot then + HREAD (L, slvu, ok); -- read it like a UFIXED number + if not ok then + report float_generic_pkg'instance_name & "HREAD: " + & "error encounted reading STRING " & L.all + severity error; + return; + else + VALUE := UNRESOLVED_float (slvu); + end if; + elsif colon then + HREAD (L, nybble, ok); -- read the sign bit + if not ok then + report float_generic_pkg'instance_name & "HREAD: " + & "End of string encountered" + severity error; + return; + elsif nybble (3 downto 1) /= "000" then + report float_generic_pkg'instance_name & "HREAD: " + & "Illegal sign bit STRING encounted " + severity error; + return; + end if; + read (l, c, ok); -- read the colon + fix_colon (L.all, ne/4); -- replaces the colon with a ".". + HREAD (L, slvu (slvu'high-1 downto slvu'low), ok); -- read it like a UFIXED number + if not ok then + report float_generic_pkg'instance_name & "HREAD: " + & "error encounted reading STRING " & L.all + severity error; + return; + else + slvu (slvu'high) := nybble (0); + VALUE := UNRESOLVED_float (slvu); + end if; + else + HREAD (L, slv, ok); + if not ok then + report float_generic_pkg'instance_name & "HREAD: " + & "Error encounted during read" + severity error; + return; + end if; + if (or (slv(ne-1 downto VALUE'high-VALUE'low+1)) = '1') then + report float_generic_pkg'instance_name & "HREAD: " + & "Vector truncated." + severity error; + return; + end if; + VALUE := to_float (slv(VALUE'high-VALUE'low downto 0), + VALUE'high, -VALUE'low); + end if; + end if; + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_float; GOOD : out BOOLEAN) is + constant ne : INTEGER := ((value'length+3)/4) * 4; -- pad + variable slv : STD_LOGIC_VECTOR (ne-1 downto 0); -- slv + variable slvu : ufixed (VALUE'range); -- Unsigned fixed point + variable c : CHARACTER; + variable ok : BOOLEAN; + variable nybble : STD_LOGIC_VECTOR (3 downto 0); -- 4 bits + variable colon, dot : BOOLEAN; + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + GOOD := false; + Skip_whitespace (L); + if VALUE'length > 0 then + check_punctuation (arg => L.all, + colon => colon, + dot => dot, + good => ok, + chars => ne/4); + if not ok then + return; + elsif dot then + HREAD (L, slvu, ok); -- read it like a UFIXED number + if not ok then + return; + else + VALUE := UNRESOLVED_float (slvu); + end if; + elsif colon then + HREAD (L, nybble, ok); -- read the sign bit + if not ok then + return; + elsif nybble (3 downto 1) /= "000" then + return; + end if; + read (l, c, ok); -- read the colon + fix_colon (L.all, ne/4); -- replaces the colon with a ".". + HREAD (L, slvu (slvu'high-1 downto slvu'low), ok); -- read it like a UFIXED number + if not ok then + return; + else + slvu (slvu'high) := nybble (0); + VALUE := UNRESOLVED_float (slvu); + end if; + else + HREAD (L, slv, ok); + if not ok then + return; + end if; + if (or (slv(ne-1 downto VALUE'high-VALUE'low+1)) = '1') then + return; + end if; + VALUE := to_float (slv(VALUE'high-VALUE'low downto 0), + VALUE'high, -VALUE'low); + end if; + GOOD := true; + end if; + end procedure HREAD; + + function to_string (value : UNRESOLVED_float) return STRING is + variable s : STRING(1 to value'high - value'low +3); + variable sindx : INTEGER; + begin -- function write + s(1) := MVL9_to_char(STD_ULOGIC(VALUE(VALUE'high))); + s(2) := ':'; + sindx := 3; + for i in VALUE'high-1 downto 0 loop + s(sindx) := MVL9_to_char(STD_ULOGIC(VALUE(i))); + sindx := sindx + 1; + end loop; + s(sindx) := ':'; + sindx := sindx + 1; + for i in -1 downto VALUE'low loop + s(sindx) := MVL9_to_char(STD_ULOGIC(VALUE(i))); + sindx := sindx + 1; + end loop; + return s; + end function to_string; + + function to_hstring (value : UNRESOLVED_float) return STRING is + variable slv : STD_LOGIC_VECTOR (value'length-1 downto 0); + begin + floop : for i in slv'range loop + slv(i) := to_X01Z (value(i + value'low)); + end loop floop; + return to_hstring (slv); + end function to_hstring; + + function to_ostring (value : UNRESOLVED_float) return STRING is + variable slv : STD_LOGIC_VECTOR (value'length-1 downto 0); + begin + floop : for i in slv'range loop + slv(i) := to_X01Z (value(i + value'low)); + end loop floop; + return to_ostring (slv); + end function to_ostring; + + function from_string ( + bstring : STRING; -- binary string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(bstring); + READ (L, result, good); + deallocate (L); + assert (good) + report FLOAT_GENERIC_PKG'instance_name + & "from_string: Bad string " & bstring + severity error; + return result; + end function from_string; + + function from_ostring ( + ostring : STRING; -- Octal string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(ostring); + OREAD (L, result, good); + deallocate (L); + assert (good) + report FLOAT_GENERIC_PKG'instance_name + & "from_ostring: Bad string " & ostring + severity error; + return result; + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float + is + variable result : UNRESOLVED_float (exponent_width downto -fraction_width); + variable L : LINE; + variable good : BOOLEAN; + begin + L := new STRING'(hstring); + HREAD (L, result, good); + deallocate (L); + assert (good) + report FLOAT_GENERIC_PKG'instance_name + & "from_hstring: Bad string " & hstring + severity error; + return result; + end function from_hstring; + + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float is + begin + return from_string (bstring => bstring, + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function from_string; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float is + begin + return from_ostring (ostring => ostring, + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function from_ostring; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float is + begin + return from_hstring (hstring => hstring, + exponent_width => size_res'high, + fraction_width => -size_res'low); + end function from_hstring; + +end package body float_generic_pkg; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl new file mode 100644 index 0000000..12c4753 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl @@ -0,0 +1,1000 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Floating-point package (Generic package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary floating point +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +use STD.TEXTIO.all; +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.NUMERIC_STD.all; +use IEEE.fixed_float_types.all; + +package float_generic_pkg is + generic ( + -- Defaults for sizing routines, when you do a "to_float" this will be + -- the default size. Example float32 would be 8 and 23 (8 downto -23) + float_exponent_width : NATURAL := 8; + float_fraction_width : NATURAL := 23; + -- Rounding algorithm, "round_nearest" is default, other valid values + -- are "round_zero" (truncation), "round_inf" (round up), and + -- "round_neginf" (round down) + float_round_style : round_type := round_nearest; + -- Denormal numbers (very small numbers near zero) true or false + float_denormalize : BOOLEAN := true; + -- Turns on NAN processing (invalid numbers and overflow) true of false + float_check_error : BOOLEAN := true; + -- Guard bits are added to the bottom of every operation for rounding. + -- any natural number (including 0) are valid. + float_guard_bits : NATURAL := 3; + -- If TRUE, then turn off warnings on "X" propagation + no_warning : BOOLEAN := false; + package fixed_pkg is new IEEE.fixed_generic_pkg + generic map (<>) ); + + -- Author David Bishop (dbishop@vhdl.org) + constant CopyRightNotice : STRING := + "Copyright 2008 by IEEE. All rights reserved."; + + use fixed_pkg.all; + + -- Note that this is "INTEGER range <>", thus if you use a literal, then the + -- default range will be (INTEGER'low to INTEGER'low + X) + type UNRESOLVED_float is array (INTEGER range <>) of STD_ULOGIC; -- main type + alias U_float is UNRESOLVED_float; + + subtype float is (resolved) UNRESOLVED_float; + ----------------------------------------------------------------------------- + -- Use the float type to define your own floating point numbers. + -- There must be a negative index or the packages will error out. + -- Minimum supported is "subtype float7 is float (3 downto -3);" + -- "subtype float16 is float (6 downto -9);" is probably the smallest + -- practical one to use. + ----------------------------------------------------------------------------- + + -- IEEE 754 single precision + subtype UNRESOLVED_float32 is UNRESOLVED_float (8 downto -23); + alias U_float32 is UNRESOLVED_float32; + subtype float32 is float (8 downto -23); + ----------------------------------------------------------------------------- + -- IEEE-754 single precision floating point. This is a "float" + -- in C, and a FLOAT in Fortran. The exponent is 8 bits wide, and + -- the fraction is 23 bits wide. This format can hold roughly 7 decimal + -- digits. Infinity is 2**127 = 1.7E38 in this number system. + -- The bit representation is as follows: + -- 1 09876543 21098765432109876543210 + -- 8 76543210 12345678901234567890123 + -- 0 00000000 00000000000000000000000 + -- 8 7 0 -1 -23 + -- +/- exp. fraction + ----------------------------------------------------------------------------- + + -- IEEE 754 double precision + subtype UNRESOLVED_float64 is UNRESOLVED_float (11 downto -52); + alias U_float64 is UNRESOLVED_float64; + subtype float64 is float (11 downto -52); + ----------------------------------------------------------------------------- + -- IEEE-754 double precision floating point. This is a "double float" + -- in C, and a FLOAT*8 in Fortran. The exponent is 11 bits wide, and + -- the fraction is 52 bits wide. This format can hold roughly 15 decimal + -- digits. Infinity is 2**2047 in this number system. + -- The bit representation is as follows: + -- 3 21098765432 1098765432109876543210987654321098765432109876543210 + -- 1 09876543210 1234567890123456789012345678901234567890123456789012 + -- S EEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + -- 11 10 0 -1 -52 + -- +/- exponent fraction + ----------------------------------------------------------------------------- + + -- IEEE 854 & C extended precision + subtype UNRESOLVED_float128 is UNRESOLVED_float (15 downto -112); + alias U_float128 is UNRESOLVED_float128; + subtype float128 is float (15 downto -112); + ----------------------------------------------------------------------------- + -- The 128 bit floating point number is "long double" in C (on + -- some systems this is a 70 bit floating point number) and FLOAT*32 + -- in Fortran. The exponent is 15 bits wide and the fraction is 112 + -- bits wide. This number can handle approximately 33 decimal digits. + -- Infinity is 2**32,767 in this number system. + ----------------------------------------------------------------------------- + + -- purpose: Checks for a valid floating point number + type valid_fpstate is (nan, -- Signaling NaN (C FP_NAN) + quiet_nan, -- Quiet NaN (C FP_NAN) + neg_inf, -- Negative infinity (C FP_INFINITE) + neg_normal, -- negative normalized nonzero + neg_denormal, -- negative denormalized (FP_SUBNORMAL) + neg_zero, -- -0 (C FP_ZERO) + pos_zero, -- +0 (C FP_ZERO) + pos_denormal, -- Positive denormalized (FP_SUBNORMAL) + pos_normal, -- positive normalized nonzero + pos_inf, -- positive infinity + isx); -- at least one input is unknown + + -- This deferred constant will tell you if the package body is synthesizable + -- or implemented as real numbers. + constant fphdlsynth_or_real : BOOLEAN; -- deferred constant + + -- Returns the class which X falls into + function Classfp ( + x : UNRESOLVED_float; -- floating point input + check_error : BOOLEAN := float_check_error) -- check for errors + return valid_fpstate; + + -- Arithmetic functions, these operators do not require parameters. + function "abs" (arg : UNRESOLVED_float) return UNRESOLVED_float; + function "-" (arg : UNRESOLVED_float) return UNRESOLVED_float; + + -- These allows the base math functions to use the default values + -- of their parameters. Thus they do full IEEE floating point. + + function "+" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "-" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "*" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "/" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "rem" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "mod" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + + -- Basic parameter list + -- round_style - Selects the rounding algorithm to use + -- guard - extra bits added to the end if the operation to add precision + -- check_error - When "false" turns off NAN and overflow checks + -- denormalize - When "false" turns off denormal number processing + + function add ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function subtract ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function multiply ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function divide ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function remainder ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function modulo ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- reciprocal + function reciprocal ( + arg : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function dividebyp2 ( + l, r : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- Multiply accumulate result = l*r + c + function mac ( + l, r, c : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant guard : NATURAL := float_guard_bits; -- number of guard bits + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- Square root (all 754 based implementations need this) + function sqrt ( + arg : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; + constant guard : NATURAL := float_guard_bits; + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_float; + + function Is_Negative (arg : UNRESOLVED_float) return BOOLEAN; + + ----------------------------------------------------------------------------- + -- compare functions + -- =, /=, >=, <=, <, >, maximum, minimum + + function eq ( -- equal = + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + function ne ( -- not equal /= + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + function lt ( -- less than < + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + function gt ( -- greater than > + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + function le ( -- less than or equal to <= + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + function ge ( -- greater than or equal to >= + l, r : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; + constant denormalize : BOOLEAN := float_denormalize) + return BOOLEAN; + + -- Need to overload the default versions of these + function "=" (l, r : UNRESOLVED_float) return BOOLEAN; + function "/=" (l, r : UNRESOLVED_float) return BOOLEAN; + function ">=" (l, r : UNRESOLVED_float) return BOOLEAN; + function "<=" (l, r : UNRESOLVED_float) return BOOLEAN; + function ">" (l, r : UNRESOLVED_float) return BOOLEAN; + function "<" (l, r : UNRESOLVED_float) return BOOLEAN; + + function "?=" (l, r : UNRESOLVED_float) return STD_ULOGIC; + function "?/=" (l, r : UNRESOLVED_float) return STD_ULOGIC; + function "?>" (l, r : UNRESOLVED_float) return STD_ULOGIC; + function "?>=" (l, r : UNRESOLVED_float) return STD_ULOGIC; + function "?<" (l, r : UNRESOLVED_float) return STD_ULOGIC; + function "?<=" (l, r : UNRESOLVED_float) return STD_ULOGIC; + + function std_match (l, r : UNRESOLVED_float) return BOOLEAN; + function find_rightmost (arg : UNRESOLVED_float; y : STD_ULOGIC) + return INTEGER; + function find_leftmost (arg : UNRESOLVED_float; y : STD_ULOGIC) + return INTEGER; + function maximum (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function minimum (l, r : UNRESOLVED_float) return UNRESOLVED_float; + + -- conversion functions + -- Converts one floating point number into another. + + function resize ( + arg : UNRESOLVED_float; -- Floating point input + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function resize ( + arg : UNRESOLVED_float; -- Floating point input + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + function to_float32 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float32; + + function to_float64 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float64; + + function to_float128 ( + arg : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; + constant denormalize_in : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float128; + + -- Converts an fp into an SLV (needed for synthesis) + function to_slv (arg : UNRESOLVED_float) return STD_LOGIC_VECTOR; + alias to_StdLogicVector is to_slv [UNRESOLVED_float return STD_LOGIC_VECTOR]; + alias to_Std_Logic_Vector is to_slv [UNRESOLVED_float return STD_LOGIC_VECTOR]; + + -- Converts an fp into an std_ulogic_vector (sulv) + function to_sulv (arg : UNRESOLVED_float) return STD_ULOGIC_VECTOR; + alias to_StdULogicVector is to_sulv [UNRESOLVED_float return STD_ULOGIC_VECTOR]; + alias to_Std_ULogic_Vector is to_sulv [UNRESOLVED_float return STD_ULOGIC_VECTOR]; + + -- std_ulogic_vector to float + function to_float ( + arg : STD_ULOGIC_VECTOR; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width) -- length of FP output fraction + return UNRESOLVED_float; + + -- Integer to float + function to_float ( + arg : INTEGER; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- real to float + function to_float ( + arg : REAL; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- unsigned to float + function to_float ( + arg : UNRESOLVED_UNSIGNED; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- signed to float + function to_float ( + arg : UNRESOLVED_SIGNED; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- unsigned fixed point to float + function to_float ( + arg : UNRESOLVED_ufixed; -- unsigned fixed point input + constant exponent_width : NATURAL := float_exponent_width; -- width of exponent + constant fraction_width : NATURAL := float_fraction_width; -- width of fraction + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- use ieee extensions + return UNRESOLVED_float; + + -- signed fixed point to float + function to_float ( + arg : UNRESOLVED_sfixed; + constant exponent_width : NATURAL := float_exponent_width; -- length of FP output exponent + constant fraction_width : NATURAL := float_fraction_width; -- length of FP output fraction + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- rounding option + return UNRESOLVED_float; + + -- size_res functions + -- Integer to float + function to_float ( + arg : INTEGER; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- real to float + function to_float ( + arg : REAL; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- unsigned to float + function to_float ( + arg : UNRESOLVED_UNSIGNED; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- signed to float + function to_float ( + arg : UNRESOLVED_SIGNED; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style) -- rounding option + return UNRESOLVED_float; + + -- sulv to float + function to_float ( + arg : STD_ULOGIC_VECTOR; + size_res : UNRESOLVED_float) + return UNRESOLVED_float; + + -- unsigned fixed point to float + function to_float ( + arg : UNRESOLVED_ufixed; -- unsigned fixed point input + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- use ieee extensions + return UNRESOLVED_float; + + -- signed fixed point to float + function to_float ( + arg : UNRESOLVED_sfixed; + size_res : UNRESOLVED_float; + constant round_style : round_type := float_round_style; -- rounding + constant denormalize : BOOLEAN := float_denormalize) -- rounding option + return UNRESOLVED_float; + + -- float to unsigned + function to_unsigned ( + arg : UNRESOLVED_float; -- floating point input + constant size : NATURAL; -- length of output + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_UNSIGNED; + + -- float to signed + function to_signed ( + arg : UNRESOLVED_float; -- floating point input + constant size : NATURAL; -- length of output + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_SIGNED; + + -- purpose: Converts a float to unsigned fixed point + function to_ufixed ( + arg : UNRESOLVED_float; -- fp input + constant left_index : INTEGER; -- integer part + constant right_index : INTEGER; -- fraction part + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_ufixed; + + -- float to signed fixed point + function to_sfixed ( + arg : UNRESOLVED_float; -- fp input + constant left_index : INTEGER; -- integer part + constant right_index : INTEGER; -- fraction part + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_sfixed; + + -- size_res versions + -- float to unsigned + function to_unsigned ( + arg : UNRESOLVED_float; -- floating point input + size_res : UNRESOLVED_UNSIGNED; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_UNSIGNED; + + -- float to signed + function to_signed ( + arg : UNRESOLVED_float; -- floating point input + size_res : UNRESOLVED_SIGNED; + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return UNRESOLVED_SIGNED; + + -- purpose: Converts a float to unsigned fixed point + function to_ufixed ( + arg : UNRESOLVED_float; -- fp input + size_res : UNRESOLVED_ufixed; + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_ufixed; + + -- float to signed fixed point + function to_sfixed ( + arg : UNRESOLVED_float; -- fp input + size_res : UNRESOLVED_sfixed; + constant overflow_style : fixed_overflow_style_type := fixed_overflow_style; -- saturate + constant round_style : fixed_round_style_type := fixed_round_style; -- rounding + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_sfixed; + + -- float to real + function to_real ( + arg : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return REAL; + + -- float to integer + function to_integer ( + arg : UNRESOLVED_float; -- floating point input + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error) -- check for errors + return INTEGER; + + -- For Verilog compatability + function realtobits (arg : REAL) return STD_ULOGIC_VECTOR; + function bitstoreal (arg : STD_ULOGIC_VECTOR) return REAL; + + -- Maps metalogical values + function to_01 ( + arg : UNRESOLVED_float; -- floating point input + XMAP : STD_LOGIC := '0') + return UNRESOLVED_float; + + function Is_X (arg : UNRESOLVED_float) return BOOLEAN; + function to_X01 (arg : UNRESOLVED_float) return UNRESOLVED_float; + function to_X01Z (arg : UNRESOLVED_float) return UNRESOLVED_float; + function to_UX01 (arg : UNRESOLVED_float) return UNRESOLVED_float; + + -- These two procedures were copied out of the body because they proved + -- very useful for vendor specific algorithm development + -- Break_number converts a floating point number into it's parts + -- Exponent is biased by -1 + + procedure break_number ( + arg : in UNRESOLVED_float; + denormalize : in BOOLEAN := float_denormalize; + check_error : in BOOLEAN := float_check_error; + fract : out UNRESOLVED_UNSIGNED; + expon : out UNRESOLVED_SIGNED; -- NOTE: Add 1 to get the real exponent! + sign : out STD_ULOGIC); + + procedure break_number ( + arg : in UNRESOLVED_float; + denormalize : in BOOLEAN := float_denormalize; + check_error : in BOOLEAN := float_check_error; + fract : out UNRESOLVED_ufixed; -- a number between 1.0 and 2.0 + expon : out UNRESOLVED_SIGNED; -- NOTE: Add 1 to get the real exponent! + sign : out STD_ULOGIC); + + -- Normalize takes a fraction and and exponent and converts them into + -- a floating point number. Does the shifting and the rounding. + -- Exponent is assumed to be biased by -1 + + function normalize ( + fract : UNRESOLVED_UNSIGNED; -- fraction, unnormalized + expon : UNRESOLVED_SIGNED; -- exponent - 1, normalized + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + constant exponent_width : NATURAL := float_exponent_width; -- size of output exponent + constant fraction_width : NATURAL := float_fraction_width; -- size of output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float; + + -- Exponent is assumed to be biased by -1 + function normalize ( + fract : UNRESOLVED_ufixed; -- unsigned fixed point + expon : UNRESOLVED_SIGNED; -- exponent - 1, normalized + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + constant exponent_width : NATURAL := float_exponent_width; -- size of output exponent + constant fraction_width : NATURAL := float_fraction_width; -- size of output fraction + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float; + + function normalize ( + fract : UNRESOLVED_UNSIGNED; -- unsigned + expon : UNRESOLVED_SIGNED; -- exponent - 1, normalized + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + size_res : UNRESOLVED_float; -- used for sizing only + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float; + + -- Exponent is assumed to be biased by -1 + function normalize ( + fract : UNRESOLVED_ufixed; -- unsigned fixed point + expon : UNRESOLVED_SIGNED; -- exponent - 1, normalized + sign : STD_ULOGIC; -- sign bit + sticky : STD_ULOGIC := '0'; -- Sticky bit (rounding) + size_res : UNRESOLVED_float; -- used for sizing only + constant round_style : round_type := float_round_style; -- rounding option + constant denormalize : BOOLEAN := float_denormalize; -- Use IEEE extended FP + constant nguard : NATURAL := float_guard_bits) -- guard bits + return UNRESOLVED_float; + + -- overloaded versions + function "+" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "+" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "+" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "+" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function "-" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "-" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "-" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "-" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function "*" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "*" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "*" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "*" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function "/" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "/" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "/" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "/" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function "rem" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "rem" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "rem" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "rem" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function "mod" (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function "mod" (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function "mod" (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function "mod" (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + + -- overloaded compare functions + function "=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function "/=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function ">=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function "<=" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function ">" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function "<" (l : UNRESOLVED_float; r : REAL) return BOOLEAN; + function "=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function "/=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function ">=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function "<=" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function ">" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function "<" (l : REAL; r : UNRESOLVED_float) return BOOLEAN; + function "=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function "/=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function ">=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function "<=" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function ">" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function "<" (l : UNRESOLVED_float; r : INTEGER) return BOOLEAN; + function "=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function "/=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function ">=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function "<=" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function ">" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function "<" (l : INTEGER; r : UNRESOLVED_float) return BOOLEAN; + function "?=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_float; r : REAL) return STD_ULOGIC; + function "?=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?/=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?>" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?>=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?<" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?<=" (l : REAL; r : UNRESOLVED_float) return STD_ULOGIC; + function "?=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?/=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?>" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?>=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?<" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?<=" (l : UNRESOLVED_float; r : INTEGER) return STD_ULOGIC; + function "?=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + function "?/=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + function "?>" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + function "?>=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + function "?<" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + function "?<=" (l : INTEGER; r : UNRESOLVED_float) return STD_ULOGIC; + -- minimum and maximum overloads + function maximum (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function minimum (l : UNRESOLVED_float; r : REAL) return UNRESOLVED_float; + function maximum (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function minimum (l : REAL; r : UNRESOLVED_float) return UNRESOLVED_float; + function maximum (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function minimum (l : UNRESOLVED_float; r : INTEGER) return UNRESOLVED_float; + function maximum (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; + function minimum (l : INTEGER; r : UNRESOLVED_float) return UNRESOLVED_float; +---------------------------------------------------------------------------- + -- logical functions + ---------------------------------------------------------------------------- + + function "not" (l : UNRESOLVED_float) return UNRESOLVED_float; + function "and" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "or" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "nand" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "nor" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "xor" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + function "xnor" (l, r : UNRESOLVED_float) return UNRESOLVED_float; + -- Vector and std_ulogic functions, same as functions in numeric_std + function "and" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "and" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + function "or" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "or" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + function "nand" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "nand" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + function "nor" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "nor" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + function "xor" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "xor" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + function "xnor" (l : STD_ULOGIC; r : UNRESOLVED_float) + return UNRESOLVED_float; + function "xnor" (l : UNRESOLVED_float; r : STD_ULOGIC) + return UNRESOLVED_float; + -- Reduction operators, same as numeric_std functions + function "and" (l : UNRESOLVED_float) return STD_ULOGIC; + function "nand" (l : UNRESOLVED_float) return STD_ULOGIC; + function "or" (l : UNRESOLVED_float) return STD_ULOGIC; + function "nor" (l : UNRESOLVED_float) return STD_ULOGIC; + function "xor" (l : UNRESOLVED_float) return STD_ULOGIC; + function "xnor" (l : UNRESOLVED_float) return STD_ULOGIC; + + -- Note: "sla", "sra", "sll", "slr", "rol" and "ror" not implemented. + + ----------------------------------------------------------------------------- + -- Recommended Functions from the IEEE 754 Appendix + ----------------------------------------------------------------------------- + + -- returns x with the sign of y. + function Copysign (x, y : UNRESOLVED_float) return UNRESOLVED_float; + + -- Returns y * 2**n for integral values of N without computing 2**n + function Scalb ( + y : UNRESOLVED_float; -- floating point input + N : INTEGER; -- exponent to add + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- Returns y * 2**n for integral values of N without computing 2**n + function Scalb ( + y : UNRESOLVED_float; -- floating point input + N : UNRESOLVED_SIGNED; -- exponent to add + constant round_style : round_type := float_round_style; -- rounding option + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) -- Use IEEE extended FP + return UNRESOLVED_float; + + -- returns the unbiased exponent of x + function Logb (x : UNRESOLVED_float) return INTEGER; + function Logb (x : UNRESOLVED_float) return UNRESOLVED_SIGNED; + + -- returns the next representable neighbor of x in the direction toward y + function Nextafter ( + x, y : UNRESOLVED_float; -- floating point input + constant check_error : BOOLEAN := float_check_error; -- check for errors + constant denormalize : BOOLEAN := float_denormalize) + return UNRESOLVED_float; + + -- Returns TRUE if X is unordered with Y. + function Unordered (x, y : UNRESOLVED_float) return BOOLEAN; + function Finite (x : UNRESOLVED_float) return BOOLEAN; + function Isnan (x : UNRESOLVED_float) return BOOLEAN; + + -- Function to return constants. + function zerofp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + function nanfp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + function qnanfp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + function pos_inffp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + function neg_inffp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + function neg_zerofp ( + constant exponent_width : NATURAL := float_exponent_width; -- exponent + constant fraction_width : NATURAL := float_fraction_width) -- fraction + return UNRESOLVED_float; + -- size_res versions + function zerofp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + function nanfp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + function qnanfp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + function pos_inffp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + function neg_inffp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + function neg_zerofp ( + size_res : UNRESOLVED_float) -- variable is only use for sizing + return UNRESOLVED_float; + + --=========================================================================== + -- string and textio Functions + --=========================================================================== + + -- writes S:EEEE:FFFFFFFF + procedure WRITE ( + L : inout LINE; -- access type (pointer) + VALUE : in UNRESOLVED_float; -- value to write + JUSTIFIED : in SIDE := right; -- which side to justify text + FIELD : in WIDTH := 0); -- width of field + + -- Reads SEEEEFFFFFFFF, "." and ":" are ignored + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_float); + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_float; + GOOD : out BOOLEAN); + + alias BREAD is READ [LINE, UNRESOLVED_float, BOOLEAN]; + alias BREAD is READ [LINE, UNRESOLVED_float]; + alias BWRITE is WRITE [LINE, UNRESOLVED_float, SIDE, WIDTH]; + alias BINARY_READ is READ [LINE, UNRESOLVED_FLOAT, BOOLEAN]; + alias BINARY_READ is READ [LINE, UNRESOLVED_FLOAT]; + alias BINARY_WRITE is WRITE [LINE, UNRESOLVED_float, SIDE, WIDTH]; + + procedure OWRITE ( + L : inout LINE; -- access type (pointer) + VALUE : in UNRESOLVED_float; -- value to write + JUSTIFIED : in SIDE := right; -- which side to justify text + FIELD : in WIDTH := 0); -- width of field + + -- Octal read with padding, no separators used + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_float); + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_float; + GOOD : out BOOLEAN); + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_FLOAT, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_FLOAT]; + alias OCTAL_WRITE is OWRITE [LINE, UNRESOLVED_FLOAT, SIDE, WIDTH]; + + -- Hex write with padding, no separators + procedure HWRITE ( + L : inout LINE; -- access type (pointer) + VALUE : in UNRESOLVED_float; -- value to write + JUSTIFIED : in SIDE := right; -- which side to justify text + FIELD : in WIDTH := 0); -- width of field + + -- Hex read with padding, no separators used + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_float); + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_float; + GOOD : out BOOLEAN); + alias HEX_READ is HREAD [LINE, UNRESOLVED_FLOAT, BOOLEAN]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_FLOAT]; + alias HEX_WRITE is HWRITE [LINE, UNRESOLVED_FLOAT, SIDE, WIDTH]; + + -- returns "S:EEEE:FFFFFFFF" + function to_string (value : UNRESOLVED_float) return STRING; + alias TO_BSTRING is TO_STRING [UNRESOLVED_FLOAT return STRING]; + alias TO_BINARY_STRING is TO_STRING [UNRESOLVED_FLOAT return STRING]; + + -- Returns a HEX string, with padding + function to_hstring (value : UNRESOLVED_float) return STRING; + alias TO_HEX_STRING is TO_HSTRING [UNRESOLVED_FLOAT return STRING]; + + -- Returns and octal string, with padding + function to_ostring (value : UNRESOLVED_float) return STRING; + alias TO_OCTAL_STRING is TO_OSTRING [UNRESOLVED_FLOAT return STRING]; + + function from_string ( + bstring : STRING; -- binary string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float; + alias from_bstring is from_string [STRING, NATURAL, NATURAL + return UNRESOLVED_float]; + alias from_binary_string is from_string [STRING, NATURAL, NATURAL + return UNRESOLVED_float]; + function from_ostring ( + ostring : STRING; -- Octal string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float; + alias from_octal_string is from_ostring [STRING, NATURAL, NATURAL + return UNRESOLVED_float]; + + function from_hstring ( + hstring : STRING; -- hex string + constant exponent_width : NATURAL := float_exponent_width; + constant fraction_width : NATURAL := float_fraction_width) + return UNRESOLVED_float; + alias from_hex_string is from_hstring [STRING, NATURAL, NATURAL + return UNRESOLVED_float]; + + function from_string ( + bstring : STRING; -- binary string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float; + alias from_bstring is from_string [STRING, UNRESOLVED_float + return UNRESOLVED_float]; + alias from_binary_string is from_string [STRING, UNRESOLVED_float + return UNRESOLVED_float]; + + function from_ostring ( + ostring : STRING; -- Octal string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float; + alias from_octal_string is from_ostring [STRING, UNRESOLVED_float + return UNRESOLVED_float]; + + function from_hstring ( + hstring : STRING; -- hex string + size_res : UNRESOLVED_float) -- used for sizing only + return UNRESOLVED_float; + alias from_hex_string is from_hstring [STRING, UNRESOLVED_float + return UNRESOLVED_float]; + +end package float_generic_pkg; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl new file mode 100644 index 0000000..a1068dc --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl @@ -0,0 +1,55 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Floating-point package (Instantiated package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines basic binary floating point +-- : arithmetic functions +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library ieee; + +package float_pkg is new IEEE.float_generic_pkg + generic map ( + float_exponent_width => 8, -- float32'high + float_fraction_width => 23, -- -float32'low + float_round_style => IEEE.fixed_float_types.round_nearest, -- round nearest algorithm + float_denormalize => true, -- Use IEEE extended floating + float_check_error => true, -- Turn on NAN and overflow processing + float_guard_bits => 3, -- number of guard bits + no_warning => false, -- show warnings + fixed_pkg => IEEE.fixed_pkg + ); diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl new file mode 100644 index 0000000..9d03aff --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl @@ -0,0 +1,1603 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Mathematical Packages +-- : (MATH_COMPLEX package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- : +-- Purpose : This package defines a standard for designers to use in +-- : describing VHDL models that make use of common COMPLEX +-- : constants and common COMPLEX mathematical functions and +-- : operators. +-- : +-- Limitation: The values generated by the functions in this package +-- : may vary from platform to platform, and the precision +-- : of results is only guaranteed to be the minimum required +-- : by IEEE Std 1076-2008. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +use WORK.MATH_REAL.all; + +package body MATH_COMPLEX is + + -- + -- Equality and Inequality Operators for COMPLEX_POLAR + -- + function "=" ( L: in COMPLEX_POLAR; R: in COMPLEX_POLAR ) return BOOLEAN + is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns FALSE on error + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in =(L,R)" + severity ERROR; + return FALSE; + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in =(L,R)" + severity ERROR; + return FALSE; + end if; + + -- Get special values + if ( L.MAG = 0.0 and R.MAG = 0.0 ) then + return TRUE; + end if; + + -- Get value for general case + if ( L.MAG = R.MAG and L.ARG = R.ARG ) then + return TRUE; + end if; + + return FALSE; + end function "="; + + + function "/=" ( L: in COMPLEX_POLAR; R: in COMPLEX_POLAR ) return BOOLEAN + is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns FALSE on error + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in /=(L,R)" + severity ERROR; + return FALSE; + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in /=(L,R)" + severity ERROR; + return FALSE; + end if; + + -- Get special values + if ( L.MAG = 0.0 and R.MAG = 0.0 ) then + return FALSE; + end if; + + -- Get value for general case + if ( L.MAG = R.MAG and L.ARG = R.ARG ) then + return FALSE; + end if; + + return TRUE; + end function "/="; + + -- + -- Other Functions Start Here + -- + + function CMPLX(X: in REAL; Y: in REAL := 0.0 ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(X, Y); + end function CMPLX; + + + function GET_PRINCIPAL_VALUE(X: in REAL ) return PRINCIPAL_VALUE is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + variable TEMP: REAL; + begin + -- Check if already a principal value + if ( X > -MATH_PI and X <= MATH_PI ) then + return PRINCIPAL_VALUE'(X); + end if; + + -- Get principal value + TEMP := X; + while ( TEMP <= -MATH_PI ) loop + TEMP := TEMP + MATH_2_PI; + end loop; + while (TEMP > MATH_PI ) loop + TEMP := TEMP - MATH_2_PI; + end loop; + + return PRINCIPAL_VALUE'(TEMP); + end function GET_PRINCIPAL_VALUE; + + function COMPLEX_TO_POLAR(Z: in COMPLEX ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + variable TEMP: REAL; + begin + -- Get value for special cases + if ( Z.RE = 0.0 ) then + if ( Z.IM = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + elsif ( Z.IM > 0.0 ) then + return COMPLEX_POLAR'(Z.IM, MATH_PI_OVER_2); + else + return COMPLEX_POLAR'(-Z.IM, -MATH_PI_OVER_2); + end if; + end if; + + if ( Z.IM = 0.0 ) then + if ( Z.RE = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + elsif ( Z.RE > 0.0 ) then + return COMPLEX_POLAR'(Z.RE, 0.0); + else + return COMPLEX_POLAR'(-Z.RE, MATH_PI); + end if; + end if; + + -- Get principal value for general case + TEMP := ARCTAN(Z.IM, Z.RE); + + return COMPLEX_POLAR'(SQRT(Z.RE*Z.RE + Z.IM*Z.IM), + GET_PRINCIPAL_VALUE(TEMP)); + end function COMPLEX_TO_POLAR; + + function POLAR_TO_COMPLEX(Z: in COMPLEX_POLAR ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns MATH_CZERO on error + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in POLAR_TO_COMPLEX(Z)" + severity ERROR; + return MATH_CZERO; + end if; + + -- Get value for general case + return COMPLEX'( Z.MAG*COS(Z.ARG), Z.MAG*SIN(Z.ARG) ); + end function POLAR_TO_COMPLEX; + + + function "ABS"(Z: in COMPLEX ) return POSITIVE_REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ABS(Z) = SQRT(Z.RE*Z.RE + Z.IM*Z.IM) + + begin + -- Get value for general case + return POSITIVE_REAL'(SQRT(Z.RE*Z.RE + Z.IM*Z.IM)); + end function "ABS"; + + function "ABS"(Z: in COMPLEX_POLAR ) return POSITIVE_REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ABS(Z) = Z.MAG + -- b) Returns 0.0 on error + + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in ABS(Z)" + severity ERROR; + return 0.0; + end if; + + -- Get value for general case + return Z.MAG; + end function "ABS"; + + + function ARG(Z: in COMPLEX ) return PRINCIPAL_VALUE is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARG(Z) = ARCTAN(Z.IM, Z.RE) + + variable ZTEMP : COMPLEX_POLAR; + begin + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + return ZTEMP.ARG; + end function ARG; + + function ARG(Z: in COMPLEX_POLAR ) return PRINCIPAL_VALUE is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARG(Z) = Z.ARG + -- b) Returns 0.0 on error + + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in ARG(Z)" + severity ERROR; + return 0.0; + end if; + + -- Get value for general case + return Z.ARG; + end function ARG; + + function "-" (Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns -x -jy for Z = x + jy + begin + -- Get value for general case + return COMPLEX'(-Z.RE, -Z.IM); + end function "-"; + + function "-" (Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (Z.MAG, Z.ARG + MATH_PI) + -- b) Returns Z on error + variable TEMP: REAL; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in -(Z)" + severity ERROR; + return Z; + end if; + + -- Get principal value for general case + TEMP := REAL'(Z.ARG) + MATH_PI; + + return COMPLEX_POLAR'(Z.MAG, GET_PRINCIPAL_VALUE(TEMP)); + end function "-"; + + function CONJ (Z: in COMPLEX) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns x - jy for Z = x + jy + begin + -- Get value for general case + return COMPLEX'(Z.RE, -Z.IM); + end function CONJ; + + function CONJ (Z: in COMPLEX_POLAR) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX conjugate (Z.MAG, -Z.ARG) + -- b) Returns Z on error + -- + variable TEMP: PRINCIPAL_VALUE; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in CONJ(Z)" + severity ERROR; + return Z; + end if; + + -- Get principal value for general case + if ( Z.ARG = MATH_PI or Z.ARG = 0.0 ) then + TEMP := Z.ARG; + else + TEMP := -Z.ARG; + end if; + + return COMPLEX_POLAR'(Z.MAG, TEMP); + end function CONJ; + + function SQRT(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + variable ZTEMP : COMPLEX_POLAR; + variable ZOUT : COMPLEX; + variable TMAG : REAL; + variable TARG : REAL; + begin + -- Get value for special cases + if ( Z = MATH_CZERO ) then + return MATH_CZERO; + end if; + + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + TMAG := SQRT(ZTEMP.MAG); + TARG := 0.5*ZTEMP.ARG; + + if ( COS(TARG) > 0.0 ) then + ZOUT.RE := TMAG*COS(TARG); + ZOUT.IM := TMAG*SIN(TARG); + return ZOUT; + end if; + + if ( COS(TARG) < 0.0 ) then + ZOUT.RE := TMAG*COS(TARG + MATH_PI); + ZOUT.IM := TMAG*SIN(TARG + MATH_PI); + return ZOUT; + end if; + + if ( SIN(TARG) > 0.0 ) then + ZOUT.RE := 0.0; + ZOUT.IM := TMAG*SIN(TARG); + return ZOUT; + end if; + + ZOUT.RE := 0.0; + ZOUT.IM := TMAG*SIN(TARG + MATH_PI); + return ZOUT; + end function SQRT; + + function SQRT(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns Z on error + + variable ZOUT : COMPLEX_POLAR; + variable TMAG : REAL; + variable TARG : REAL; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in SQRT(Z)" + severity ERROR; + return Z; + end if; + + -- Get value for special cases + if ( Z.MAG = 0.0 and Z.ARG = 0.0 ) then + return Z; + end if; + + -- Get principal value for general case + TMAG := SQRT(Z.MAG); + TARG := 0.5*Z.ARG; + + ZOUT.MAG := POSITIVE_REAL'(TMAG); + + if ( COS(TARG) < 0.0 ) then + TARG := TARG + MATH_PI; + end if; + + if ( (COS(TARG) = 0.0) and (SIN(TARG) < 0.0) ) then + TARG := TARG + MATH_PI; + end if; + + ZOUT.ARG := GET_PRINCIPAL_VALUE(TARG); + return ZOUT; + end function SQRT; + + function EXP(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + + variable TEMP: REAL; + begin + -- Get value for special cases + if ( Z = MATH_CZERO ) then + return MATH_CBASE_1; + end if; + + if ( Z.RE = 0.0 ) then + if ( Z.IM = MATH_PI or Z.IM = -MATH_PI ) then + return COMPLEX'(-1.0, 0.0); + end if; + + if ( Z.IM = MATH_PI_OVER_2 ) then + return MATH_CBASE_J; + end if; + + if ( Z.IM = -MATH_PI_OVER_2 ) then + return COMPLEX'(0.0, -1.0); + end if; + end if; + + -- Get value for general case + TEMP := EXP(Z.RE); + return COMPLEX'(TEMP*COS(Z.IM), TEMP*SIN(Z.IM)); + end function EXP; + + function EXP(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns Z on error + + variable ZTEMP : COMPLEX; + variable temp: REAL; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in EXP(Z)" + severity ERROR; + return Z; + end if; + + -- Get value for special cases + if ( Z.MAG = 0.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI and (Z.ARG = MATH_PI_OVER_2 or + Z.ARG = -MATH_PI_OVER_2 )) then + return COMPLEX_POLAR'(1.0, MATH_PI); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 ) then + if ( Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(1.0, MATH_PI_OVER_2); + end if; + + if ( Z.ARG = -MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(1.0, -MATH_PI_OVER_2); + end if; + end if; + + -- Get principal value for general case + ZTEMP := POLAR_TO_COMPLEX(Z); + ZOUT.MAG := POSITIVE_REAL'(EXP(ZTEMP.RE)); + ZOUT.ARG := GET_PRINCIPAL_VALUE(ZTEMP.IM); + + return ZOUT; + end function EXP; + + function LOG(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'LOW, 0.0) on error + + variable ZTEMP : COMPLEX_POLAR; + variable TEMP : REAL; + begin + -- Check validity of input arguments + if ( Z.RE = 0.0 and Z.IM = 0.0 ) then + assert FALSE + report "Z.RE = 0.0 and Z.IM = 0.0 in LOG(Z)" + severity ERROR; + return COMPLEX'(REAL'LOW, 0.0); + end if; + + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = -1.0 ) then + return COMPLEX'(0.0, MATH_PI); + end if; + if ( Z.RE = MATH_E ) then + return MATH_CBASE_1; + end if; + if ( Z.RE = 1.0 ) then + return MATH_CZERO; + end if; + end if; + + if ( Z.RE = 0.0 ) then + if (Z.IM = 1.0) then + return COMPLEX'(0.0, MATH_PI_OVER_2); + end if; + if (Z.IM = -1.0) then + return COMPLEX'(0.0, -MATH_PI_OVER_2); + end if; + end if; + + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + TEMP := LOG(ZTEMP.MAG); + return COMPLEX'(TEMP, ZTEMP.ARG); + end function LOG; + + function LOG2(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'LOW, 0.0) on error + + variable ZTEMP : COMPLEX_POLAR; + variable TEMP : REAL; + begin + + -- Check validity of input arguments + if ( Z.RE = 0.0 and Z.IM = 0.0 ) then + assert FALSE + report "Z.RE = 0.0 and Z.IM = 0.0 in LOG2(Z)" + severity ERROR; + return COMPLEX'(REAL'LOW, 0.0); + end if; + + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = 2.0 ) then + return MATH_CBASE_1; + end if; + if ( Z.RE = 1.0 ) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + TEMP := MATH_LOG2_OF_E*LOG(ZTEMP.MAG); + return COMPLEX'(TEMP, MATH_LOG2_OF_E*ZTEMP.ARG); + end function LOG2; + + function LOG10(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'LOW, 0.0) on error + + variable ZTEMP : COMPLEX_POLAR; + variable TEMP : REAL; + begin + -- Check validity of input arguments + if ( Z.RE = 0.0 and Z.IM = 0.0 ) then + assert FALSE + report "Z.RE = 0.0 and Z.IM = 0.0 in LOG10(Z)" + severity ERROR; + return COMPLEX'(REAL'LOW, 0.0); + end if; + + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = 10.0 ) then + return MATH_CBASE_1; + end if; + if ( Z.RE = 1.0 ) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + TEMP := MATH_LOG10_OF_E*LOG(ZTEMP.MAG); + return COMPLEX'(TEMP, MATH_LOG10_OF_E*ZTEMP.ARG); + end function LOG10; + + + function LOG(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(REAL'HIGH, MATH_PI) on error + + variable ZTEMP : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.MAG <= 0.0 ) then + assert FALSE + report "Z.MAG <= 0.0 in LOG(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in LOG(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + -- Compute value for special cases + if (Z.MAG = 1.0 ) then + if ( Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.ARG = MATH_PI ) then + return COMPLEX_POLAR'(MATH_PI, MATH_PI_OVER_2); + end if; + + if ( Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(MATH_PI_OVER_2, MATH_PI_OVER_2); + end if; + + if ( Z.ARG = -MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(MATH_PI_OVER_2, -MATH_PI_OVER_2); + end if; + end if; + + if ( Z.MAG = MATH_E and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + -- Compute value for general case + ZTEMP.RE := LOG(Z.MAG); + ZTEMP.IM := Z.ARG; + ZOUT := COMPLEX_TO_POLAR(ZTEMP); + return ZOUT; + end function LOG; + + + + function LOG2(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(REAL'HIGH, MATH_PI) on error + + variable ZTEMP : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.MAG <= 0.0 ) then + assert FALSE + report "Z.MAG <= 0.0 in LOG2(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in LOG2(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + -- Compute value for special cases + if (Z.MAG = 1.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = 2.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + -- Compute value for general case + ZTEMP.RE := MATH_LOG2_OF_E*LOG(Z.MAG); + ZTEMP.IM := MATH_LOG2_OF_E*Z.ARG; + ZOUT := COMPLEX_TO_POLAR(ZTEMP); + return ZOUT; + end function LOG2; + + function LOG10(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(REAL'HIGH, MATH_PI) on error + variable ZTEMP : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.MAG <= 0.0 ) then + assert FALSE + report "Z.MAG <= 0.0 in LOG10(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in LOG10(Z)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + -- Compute value for special cases + if (Z.MAG = 1.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = 10.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + -- Compute value for general case + ZTEMP.RE := MATH_LOG10_OF_E*LOG(Z.MAG); + ZTEMP.IM := MATH_LOG10_OF_E*Z.ARG; + ZOUT := COMPLEX_TO_POLAR(ZTEMP); + return ZOUT; + end function LOG10; + + function LOG(Z: in COMPLEX; BASE: in REAL ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'LOW, 0.0) on error + + variable ZTEMP : COMPLEX_POLAR; + variable TEMPRE : REAL; + variable TEMPIM : REAL; + begin + -- Check validity of input arguments + if ( Z.RE = 0.0 and Z.IM = 0.0 ) then + assert FALSE + report "Z.RE = 0.0 and Z.IM = 0.0 in LOG(Z,BASE)" + severity ERROR; + return COMPLEX'(REAL'LOW, 0.0); + end if; + + if ( BASE <= 0.0 or BASE = 1.0 ) then + assert FALSE + report "BASE <= 0.0 or BASE = 1.0 in LOG(Z,BASE)" + severity ERROR; + return COMPLEX'(REAL'LOW, 0.0); + end if; + + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = BASE ) then + return MATH_CBASE_1; + end if; + if ( Z.RE = 1.0 ) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + ZTEMP := COMPLEX_TO_POLAR(Z); + TEMPRE := LOG(ZTEMP.MAG, BASE); + TEMPIM := ZTEMP.ARG/LOG(BASE); + return COMPLEX'(TEMPRE, TEMPIM); + end function LOG; + + function LOG(Z: in COMPLEX_POLAR; BASE: in REAL ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(REAL'HIGH, MATH_PI) on error + + variable ZTEMP : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.MAG <= 0.0 ) then + assert FALSE + report "Z.MAG <= 0.0 in LOG(Z,BASE)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + if ( BASE <= 0.0 or BASE = 1.0 ) then + assert FALSE + report "BASE <= 0.0 or BASE = 1.0 in LOG(Z,BASE)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in LOG(Z,BASE)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, MATH_PI); + end if; + + -- Compute value for special cases + if (Z.MAG = 1.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = BASE and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + -- Compute value for general case + ZTEMP.RE := LOG(Z.MAG, BASE); + ZTEMP.IM := Z.ARG/LOG(BASE); + ZOUT := COMPLEX_TO_POLAR(ZTEMP); + return ZOUT; + end function LOG; + + + function SIN(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = 0.0 or Z.RE = MATH_PI) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + return COMPLEX'(SIN(Z.RE)*COSH(Z.IM), COS(Z.RE)*SINH(Z.IM)); + end function SIN; + + function SIN(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(0.0, 0.0) on error + + variable Z1, Z2 : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in SIN(Z)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for special cases + if ( Z.MAG = 0.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for general case + Z1 := POLAR_TO_COMPLEX(Z); + Z2 := COMPLEX'(SIN(Z1.RE)*COSH(Z1.IM), COS(Z1.RE)*SINH(Z1.IM)); + ZOUT := COMPLEX_TO_POLAR(Z2); + return ZOUT; + end function SIN; + + function COS(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + + + -- Get value for special cases + if ( Z.IM = 0.0 ) then + if ( Z.RE = MATH_PI_OVER_2 or Z.RE = -MATH_PI_OVER_2) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + return COMPLEX'(COS(Z.RE)*COSH(Z.IM), -SIN(Z.RE)*SINH(Z.IM)); + end function COS; + + function COS(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(0.0, 0.0) on error + + variable Z1, Z2 : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in COS(Z)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for special cases + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = MATH_PI ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for general case + Z1 := POLAR_TO_COMPLEX(Z); + Z2 := COMPLEX'(COS(Z1.RE)*COSH(Z1.IM), -SIN(Z1.RE)*SINH(Z1.IM)); + ZOUT := COMPLEX_TO_POLAR(Z2); + return ZOUT; + end function COS; + + function SINH(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + -- Get value for special cases + if ( Z.RE = 0.0 ) then + if ( Z.IM = 0.0 or Z.IM = MATH_PI ) then + return MATH_CZERO; + end if; + + + + if ( Z.IM = MATH_PI_OVER_2 ) then + return MATH_CBASE_J; + end if; + + if ( Z.IM = -MATH_PI_OVER_2 ) then + return -MATH_CBASE_J; + end if; + end if; + + -- Get value for general case + return COMPLEX'(SINH(Z.RE)*COS(Z.IM), COSH(Z.RE)*SIN(Z.IM)); + end function SINH; + + function SINH(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(0.0, 0.0) on error + + variable Z1, Z2 : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in SINH(Z)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for special cases + if ( Z.MAG = 0.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI and Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(1.0, MATH_PI_OVER_2); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = -MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(1.0, -MATH_PI_OVER_2); + end if; + + -- Compute value for general case + Z1 := POLAR_TO_COMPLEX(Z); + Z2 := COMPLEX'(SINH(Z1.RE)*COS(Z1.IM), COSH(Z1.RE)*SIN(Z1.IM)); + ZOUT := COMPLEX_TO_POLAR(Z2); + return ZOUT; + end function SINH; + + + function COSH(Z: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + -- Get value for special cases + if ( Z.RE = 0.0 ) then + if ( Z.IM = 0.0 ) then + return MATH_CBASE_1; + end if; + + if ( Z.IM = MATH_PI ) then + return -MATH_CBASE_1; + end if; + + if ( Z.IM = MATH_PI_OVER_2 or Z.IM = -MATH_PI_OVER_2 ) then + return MATH_CZERO; + end if; + end if; + + -- Get value for general case + return COMPLEX'(COSH(Z.RE)*COS(Z.IM), SINH(Z.RE)*SIN(Z.IM)); + end function COSH; + + function COSH(Z: in COMPLEX_POLAR ) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR(0.0, 0.0) on error + + variable Z1, Z2 : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( Z.ARG = -MATH_PI ) then + assert FALSE + report "Z.ARG = -MATH_PI in COSH(Z)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for special cases + if ( Z.MAG = 0.0 and Z.ARG = 0.0 ) then + return COMPLEX_POLAR'(1.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI and Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(1.0, MATH_PI); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( Z.MAG = MATH_PI_OVER_2 and Z.ARG = -MATH_PI_OVER_2 ) then + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Compute value for general case + Z1 := POLAR_TO_COMPLEX(Z); + Z2 := COMPLEX'(COSH(Z1.RE)*COS(Z1.IM), SINH(Z1.RE)*SIN(Z1.IM)); + ZOUT := COMPLEX_TO_POLAR(Z2); + return ZOUT; + end function COSH; + + + -- + -- Arithmetic Operators + -- + function "+" ( L: in COMPLEX; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE + R.RE, L.IM + R.IM); + end function "+"; + + function "+" ( L: in REAL; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L + R.RE, R.IM); + end function "+"; + + function "+" ( L: in COMPLEX; R: in REAL ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE + R, L.IM); + end function "+"; + + function "+" (L: in COMPLEX_POLAR; R: in COMPLEX_POLAR) + return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZL, ZR : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in +(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in +(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZL := POLAR_TO_COMPLEX( L ); + ZR := POLAR_TO_COMPLEX( R ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(ZL.RE + ZR.RE, ZL.IM +ZR.IM)); + return ZOUT; + end function "+"; + + function "+" ( L: in REAL; R: in COMPLEX_POLAR) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + variable ZR : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in +(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZR := POLAR_TO_COMPLEX( R ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(L + ZR.RE, ZR.IM)); + return ZOUT; + end function "+"; + + function "+" ( L: in COMPLEX_POLAR; R: in REAL) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZL : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in +(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZL := POLAR_TO_COMPLEX( L ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(ZL.RE + R, ZL.IM)); + return ZOUT; + end function "+"; + + function "-" ( L: in COMPLEX; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE - R.RE, L.IM - R.IM); + end function "-"; + + function "-" ( L: in REAL; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L - R.RE, -1.0 * R.IM); + end function "-"; + + function "-" ( L: in COMPLEX; R: in REAL ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE - R, L.IM); + end function "-"; + + function "-" ( L: in COMPLEX_POLAR; R: in COMPLEX_POLAR) + return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZL, ZR : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in -(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in -(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + -- Get principal value + ZL := POLAR_TO_COMPLEX( L ); + ZR := POLAR_TO_COMPLEX( R ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(ZL.RE - ZR.RE, ZL.IM -ZR.IM)); + return ZOUT; + end function "-"; + + function "-" ( L: in REAL; R: in COMPLEX_POLAR) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZR : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in -(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZR := POLAR_TO_COMPLEX( R ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(L - ZR.RE, -1.0*ZR.IM)); + return ZOUT; + end function "-"; + + function "-" ( L: in COMPLEX_POLAR; R: in REAL) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZL : COMPLEX; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in -(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZL := POLAR_TO_COMPLEX( L ); + ZOUT := COMPLEX_TO_POLAR(COMPLEX'(ZL.RE - R, ZL.IM)); + return ZOUT; + end function "-"; + + + function "*" ( L: in COMPLEX; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE * R.RE - L.IM * R.IM, L.RE * R.IM + L.IM * R.RE); + end function "*"; + + + function "*" ( L: in REAL; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L * R.RE, L * R.IM); + end function "*"; + + function "*" ( L: in COMPLEX; R: in REAL ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + return COMPLEX'(L.RE * R, L.IM * R); + end function "*"; + + function "*" ( L: in COMPLEX_POLAR; R: in COMPLEX_POLAR) + return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in *(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in *(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZOUT.MAG := L.MAG * R.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(L.ARG + R.ARG); + + return ZOUT; + end function "*"; + + function "*" ( L: in REAL; R: in COMPLEX_POLAR) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZL : COMPLEX_POLAR; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in *(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZL.MAG := POSITIVE_REAL'(ABS(L)); + if ( L < 0.0 ) then + ZL.ARG := MATH_PI; + else + ZL.ARG := 0.0; + end if; + + ZOUT.MAG := ZL.MAG * R.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(ZL.ARG + R.ARG); + + return ZOUT; + end function "*"; + + function "*" ( L: in COMPLEX_POLAR; R: in REAL) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(0.0, 0.0) on error + -- + variable ZR : COMPLEX_POLAR; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in *(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZR.MAG := POSITIVE_REAL'(ABS(R)); + if ( R < 0.0 ) then + ZR.ARG := MATH_PI; + else + ZR.ARG := 0.0; + end if; + + ZOUT.MAG := L.MAG * ZR.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(L.ARG + ZR.ARG); + + return ZOUT; + end function "*"; + + function "/" ( L: in COMPLEX; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'HIGH, 0.0) on error + -- + variable TEMP : REAL := R.RE*R.RE + R.IM*R.IM; + begin + -- Check validity of input arguments + if (TEMP = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX by (0.0, 0.0)" + severity ERROR; + return COMPLEX'(REAL'HIGH, 0.0); + end if; + + -- Get value + return COMPLEX'( (L.RE * R.RE + L.IM * R.IM) / TEMP, + (L.IM * R.RE - L.RE * R.IM) / TEMP); + end function "/"; + + function "/" ( L: in REAL; R: in COMPLEX ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'HIGH, 0.0) on error + -- + variable TEMP : REAL := R.RE*R.RE + R.IM*R.IM; + begin + -- Check validity of input arguments + if (TEMP = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX by (0.0, 0.0)" + severity ERROR; + return COMPLEX'(REAL'HIGH, 0.0); + end if; + + -- Get value + TEMP := L / TEMP; + return COMPLEX'( TEMP * R.RE, -TEMP * R.IM ); + end function "/"; + + function "/" ( L: in COMPLEX; R: in REAL ) return COMPLEX is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX'(REAL'HIGH, 0.0) on error + begin + -- Check validity of input arguments + if (R = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX by 0.0" + severity ERROR; + return COMPLEX'(REAL'HIGH, 0.0); + end if; + + -- Get value + return COMPLEX'(L.RE / R, L.IM / R); + end function "/"; + + + function "/" ( L: in COMPLEX_POLAR; R: in COMPLEX_POLAR) + return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(REAL'HIGH, 0.0) on error + -- + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if (R.MAG = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX_POLAR by (0.0, 0.0)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, 0.0); + end if; + + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in /(L,R)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, 0.0); + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_PI in /(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZOUT.MAG := L.MAG/R.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(L.ARG - R.ARG); + + return ZOUT; + end function "/"; + + function "/" ( L: in COMPLEX_POLAR; R: in REAL) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(REAL'HIGH, 0.0) on error + -- + variable ZR : COMPLEX_POLAR; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if (R = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX_POLAR by 0.0" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, 0.0); + end if; + + if ( L.ARG = -MATH_PI ) then + assert FALSE + report "L.ARG = -MATH_PI in /(L,R)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, 0.0); + end if; + + -- Get principal value + ZR.MAG := POSITIVE_REAL'(ABS(R)); + if R < 0.0 then + ZR.ARG := MATH_PI; + else + ZR.ARG := 0.0; + end if; + + ZOUT.MAG := L.MAG/ZR.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(L.ARG - ZR.ARG); + + return ZOUT; + end function "/"; + + function "/" ( L: in REAL; R: in COMPLEX_POLAR) return COMPLEX_POLAR is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns COMPLEX_POLAR'(REAL'HIGH, 0.0) on error + -- + variable ZL : COMPLEX_POLAR; + variable ZOUT : COMPLEX_POLAR; + begin + -- Check validity of input arguments + if (R.MAG = 0.0) then + assert FALSE + report "Attempt to divide COMPLEX_POLAR by (0.0, 0.0)" + severity ERROR; + return COMPLEX_POLAR'(REAL'HIGH, 0.0); + end if; + + if ( R.ARG = -MATH_PI ) then + assert FALSE + report "R.ARG = -MATH_P in /(L,R)" + severity ERROR; + return COMPLEX_POLAR'(0.0, 0.0); + end if; + + -- Get principal value + ZL.MAG := POSITIVE_REAL'(ABS(L)); + if L < 0.0 then + ZL.ARG := MATH_PI; + else + ZL.ARG := 0.0; + end if; + + ZOUT.MAG := ZL.MAG/R.MAG; + ZOUT.ARG := GET_PRINCIPAL_VALUE(ZL.ARG - R.ARG); + + return ZOUT; + end function "/"; + +end package body MATH_COMPLEX; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl new file mode 100644 index 0000000..26e6ddd --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl @@ -0,0 +1,1144 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Mathematical Packages +-- : (MATH_COMPLEX package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- : +-- Purpose : This package defines a standard for designers to use in +-- : describing VHDL models that make use of common COMPLEX +-- : constants and common COMPLEX mathematical functions and +-- : operators. +-- : +-- Limitation: The values generated by the functions in this package +-- : may vary from platform to platform, and the precision +-- : of results is only guaranteed to be the minimum required +-- : by IEEE Std 1076-2008. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +use WORK.MATH_REAL.all; +package MATH_COMPLEX is + constant CopyRightNotice : STRING + := "Copyright 2008 IEEE. All rights reserved."; + + -- + -- Type Definitions + -- + type COMPLEX is + record + RE : REAL; -- Real part + IM : REAL; -- Imaginary part + end record; + + subtype POSITIVE_REAL is REAL range 0.0 to REAL'high; + + subtype PRINCIPAL_VALUE is REAL range -MATH_PI to MATH_PI; + + type COMPLEX_POLAR is + record + MAG : POSITIVE_REAL; -- Magnitude + ARG : PRINCIPAL_VALUE; -- Angle in radians; -MATH_PI is illegal + end record; + + -- + -- Constant Definitions + -- + constant MATH_CBASE_1 : COMPLEX := COMPLEX'(1.0, 0.0); + constant MATH_CBASE_J : COMPLEX := COMPLEX'(0.0, 1.0); + constant MATH_CZERO : COMPLEX := COMPLEX'(0.0, 0.0); + + + -- + -- Overloaded equality and inequality operators for COMPLEX_POLAR + -- (equality and inequality operators for COMPLEX are predefined) + -- + + function "=" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) return BOOLEAN; + -- Purpose: + -- Returns TRUE if L is equal to R and returns FALSE otherwise + -- Special values: + -- COMPLEX_POLAR'(0.0, X) = COMPLEX_POLAR'(0.0, Y) returns TRUE + -- regardless of the value of X and Y. + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- "="(L,R) is either TRUE or FALSE + -- Notes: + -- None + + function "/=" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) return BOOLEAN; + -- Purpose: + -- Returns TRUE if L is not equal to R and returns FALSE + -- otherwise + -- Special values: + -- COMPLEX_POLAR'(0.0, X) /= COMPLEX_POLAR'(0.0, Y) returns + -- FALSE regardless of the value of X and Y. + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- "/="(L,R) is either TRUE or FALSE + -- Notes: + -- None + + -- + -- Function Declarations + -- + function CMPLX(X : in REAL; Y : in REAL := 0.0) return COMPLEX; + -- Purpose: + -- Returns COMPLEX number X + iY + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Y in REAL + -- Error conditions: + -- None + -- Range: + -- CMPLX(X,Y) is mathematically unbounded + -- Notes: + -- None + + function GET_PRINCIPAL_VALUE(X : in REAL) return PRINCIPAL_VALUE; + -- Purpose: + -- Returns principal value of angle X; X in radians + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- -MATH_PI < GET_PRINCIPAL_VALUE(X) <= MATH_PI + -- Notes: + -- None + + function COMPLEX_TO_POLAR(Z : in COMPLEX) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value COMPLEX_POLAR of Z + -- Special values: + -- COMPLEX_TO_POLAR(MATH_CZERO) = COMPLEX_POLAR'(0.0, 0.0) + -- COMPLEX_TO_POLAR(Z) = COMPLEX_POLAR'(ABS(Z.IM), + -- SIGN(Z.IM)*MATH_PI_OVER_2) if Z.RE = 0.0 + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function POLAR_TO_COMPLEX(Z : in COMPLEX_POLAR) return COMPLEX; + -- Purpose: + -- Returns COMPLEX value of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- POLAR_TO_COMPLEX(Z) is mathematically unbounded + -- Notes: + -- None + + function "ABS"(Z : in COMPLEX) return POSITIVE_REAL; + -- Purpose: + -- Returns absolute value (magnitude) of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- ABS(Z) is mathematically unbounded + -- Notes: + -- ABS(Z) = SQRT(Z.RE*Z.RE + Z.IM*Z.IM) + + function "ABS"(Z : in COMPLEX_POLAR) return POSITIVE_REAL; + -- Purpose: + -- Returns absolute value (magnitude) of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- ABS(Z) >= 0.0 + -- Notes: + -- ABS(Z) = Z.MAG + + function ARG(Z : in COMPLEX) return PRINCIPAL_VALUE; + -- Purpose: + -- Returns argument (angle) in radians of the principal + -- value of Z + -- Special values: + -- ARG(Z) = 0.0 if Z.RE >= 0.0 and Z.IM = 0.0 + -- ARG(Z) = SIGN(Z.IM)*MATH_PI_OVER_2 if Z.RE = 0.0 + -- ARG(Z) = MATH_PI if Z.RE < 0.0 and Z.IM = 0.0 + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- -MATH_PI < ARG(Z) <= MATH_PI + -- Notes: + -- ARG(Z) = ARCTAN(Z.IM, Z.RE) + + function ARG(Z : in COMPLEX_POLAR) return PRINCIPAL_VALUE; + -- Purpose: + -- Returns argument (angle) in radians of the principal + -- value of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- -MATH_PI < ARG(Z) <= MATH_PI + -- Notes: + -- ARG(Z) = Z.ARG + + + function "-" (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns unary minus of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "-"(Z) is mathematically unbounded + -- Notes: + -- Returns -x -jy for Z= x + jy + + function "-" (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of unary minus of Z + -- Special values: + -- "-"(Z) = COMPLEX_POLAR'(Z.MAG, MATH_PI) if Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- Returns COMPLEX_POLAR'(Z.MAG, Z.ARG - SIGN(Z.ARG)*MATH_PI) if + -- Z.ARG /= 0.0 + + function CONJ (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns complex conjugate of Z + -- Special values: + -- None + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- CONJ(Z) is mathematically unbounded + -- Notes: + -- Returns x -jy for Z= x + jy + + function CONJ (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of complex conjugate of Z + -- Special values: + -- CONJ(Z) = COMPLEX_POLAR'(Z.MAG, MATH_PI) if Z.ARG = MATH_PI + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- Returns COMPLEX_POLAR'(Z.MAG, -Z.ARG) if Z.ARG /= MATH_PI + + function SQRT(Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns square root of Z with positive real part + -- or, if the real part is zero, the one with nonnegative + -- imaginary part + -- Special values: + -- SQRT(MATH_CZERO) = MATH_CZERO + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- SQRT(Z) is mathematically unbounded + -- Notes: + -- None + + function SQRT(Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns square root of Z with positive real part + -- or, if the real part is zero, the one with nonnegative + -- imaginary part + -- Special values: + -- SQRT(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function EXP(Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns exponential of Z + -- Special values: + -- EXP(MATH_CZERO) = MATH_CBASE_1 + -- EXP(Z) = -MATH_CBASE_1 if Z.RE = 0.0 and ABS(Z.IM) = MATH_PI + -- EXP(Z) = SIGN(Z.IM)*MATH_CBASE_J if Z.RE = 0.0 and + -- ABS(Z.IM) = MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- EXP(Z) is mathematically unbounded + -- Notes: + -- None + + + + function EXP(Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of exponential of Z + -- Special values: + -- EXP(Z) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG =0.0 and + -- Z.ARG = 0.0 + -- EXP(Z) = COMPLEX_POLAR'(1.0, MATH_PI) if Z.MAG = MATH_PI and + -- ABS(Z.ARG) = MATH_PI_OVER_2 + -- EXP(Z) = COMPLEX_POLAR'(1.0, MATH_PI_OVER_2) if + -- Z.MAG = MATH_PI_OVER_2 and + -- Z.ARG = MATH_PI_OVER_2 + -- EXP(Z) = COMPLEX_POLAR'(1.0, -MATH_PI_OVER_2) if + -- Z.MAG = MATH_PI_OVER_2 and + -- Z.ARG = -MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function LOG(Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns natural logarithm of Z + -- Special values: + -- LOG(MATH_CBASE_1) = MATH_CZERO + -- LOG(-MATH_CBASE_1) = COMPLEX'(0.0, MATH_PI) + -- LOG(MATH_CBASE_J) = COMPLEX'(0.0, MATH_PI_OVER_2) + -- LOG(-MATH_CBASE_J) = COMPLEX'(0.0, -MATH_PI_OVER_2) + -- LOG(Z) = MATH_CBASE_1 if Z = COMPLEX'(MATH_E, 0.0) + -- Domain: + -- Z in COMPLEX and ABS(Z) /= 0.0 + -- Error conditions: + -- Error if ABS(Z) = 0.0 + -- Range: + -- LOG(Z) is mathematically unbounded + -- Notes: + -- None + + function LOG2(Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns logarithm base 2 of Z + -- Special values: + -- LOG2(MATH_CBASE_1) = MATH_CZERO + -- LOG2(Z) = MATH_CBASE_1 if Z = COMPLEX'(2.0, 0.0) + -- Domain: + -- Z in COMPLEX and ABS(Z) /= 0.0 + -- Error conditions: + -- Error if ABS(Z) = 0.0 + -- Range: + -- LOG2(Z) is mathematically unbounded + -- Notes: + -- None + + function LOG10(Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns logarithm base 10 of Z + -- Special values: + -- LOG10(MATH_CBASE_1) = MATH_CZERO + -- LOG10(Z) = MATH_CBASE_1 if Z = COMPLEX'(10.0, 0.0) + -- Domain: + -- Z in COMPLEX and ABS(Z) /= 0.0 + -- Error conditions: + -- Error if ABS(Z) = 0.0 + -- Range: + -- LOG10(Z) is mathematically unbounded + -- Notes: + -- None + + function LOG(Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of natural logarithm of Z + -- Special values: + -- LOG(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 1.0 and + -- Z.ARG = 0.0 + -- LOG(Z) = COMPLEX_POLAR'(MATH_PI, MATH_PI_OVER_2) if + -- Z.MAG = 1.0 and Z.ARG = MATH_PI + -- LOG(Z) = COMPLEX_POLAR'(MATH_PI_OVER_2, MATH_PI_OVER_2) if + -- Z.MAG = 1.0 and Z.ARG = MATH_PI_OVER_2 + -- LOG(Z) = COMPLEX_POLAR'(MATH_PI_OVER_2, -MATH_PI_OVER_2) if + -- Z.MAG = 1.0 and Z.ARG = -MATH_PI_OVER_2 + -- LOG(Z) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG = MATH_E and + -- Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Z.MAG /= 0.0 + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Error if Z.MAG = 0.0 + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function LOG2(Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of logarithm base 2 of Z + -- Special values: + -- LOG2(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 1.0 and + -- Z.ARG = 0.0 + -- LOG2(Z) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG = 2.0 and + -- Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Z.MAG /= 0.0 + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Error if Z.MAG = 0.0 + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function LOG10(Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of logarithm base 10 of Z + -- Special values: + -- LOG10(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 1.0 and + -- Z.ARG = 0.0 + -- LOG10(Z) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG = 10.0 and + -- Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Z.MAG /= 0.0 + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Error if Z.MAG = 0.0 + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function LOG(Z : in COMPLEX; BASE : in REAL) return COMPLEX; + -- Purpose: + -- Returns logarithm base BASE of Z + -- Special values: + -- LOG(MATH_CBASE_1, BASE) = MATH_CZERO + -- LOG(Z,BASE) = MATH_CBASE_1 if Z = COMPLEX'(BASE, 0.0) + -- Domain: + -- Z in COMPLEX and ABS(Z) /= 0.0 + -- BASE > 0.0 + -- BASE /= 1.0 + -- Error conditions: + -- Error if ABS(Z) = 0.0 + -- Error if BASE <= 0.0 + -- Error if BASE = 1.0 + -- Range: + -- LOG(Z,BASE) is mathematically unbounded + -- Notes: + -- None + + function LOG(Z : in COMPLEX_POLAR; BASE : in REAL) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of logarithm base BASE of Z + -- Special values: + -- LOG(Z, BASE) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 1.0 and + -- Z.ARG = 0.0 + -- LOG(Z, BASE) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG = BASE and + -- Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Z.MAG /= 0.0 + -- BASE > 0.0 + -- BASE /= 1.0 + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Error if Z.MAG = 0.0 + -- Error if BASE <= 0.0 + -- Error if BASE = 1.0 + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function SIN (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns sine of Z + -- Special values: + -- SIN(MATH_CZERO) = MATH_CZERO + -- SIN(Z) = MATH_CZERO if Z = COMPLEX'(MATH_PI, 0.0) + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- ABS(SIN(Z)) <= SQRT(SIN(Z.RE)*SIN(Z.RE) + + -- SINH(Z.IM)*SINH(Z.IM)) + -- Notes: + -- None + + function SIN (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of sine of Z + -- Special values: + -- SIN(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 0.0 and + -- Z.ARG = 0.0 + -- SIN(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = MATH_PI and + -- Z.ARG = 0.0 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function COS (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns cosine of Z + -- Special values: + -- COS(Z) = MATH_CZERO if Z = COMPLEX'(MATH_PI_OVER_2, 0.0) + -- COS(Z) = MATH_CZERO if Z = COMPLEX'(-MATH_PI_OVER_2, 0.0) + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- ABS(COS(Z)) <= SQRT(COS(Z.RE)*COS(Z.RE) + + -- SINH(Z.IM)*SINH(Z.IM)) + -- Notes: + -- None + + + function COS (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of cosine of Z + -- Special values: + -- COS(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = MATH_PI_OVER_2 + -- and Z.ARG = 0.0 + -- COS(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = MATH_PI_OVER_2 + -- and Z.ARG = MATH_PI + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function SINH (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns hyperbolic sine of Z + -- Special values: + -- SINH(MATH_CZERO) = MATH_CZERO + -- SINH(Z) = MATH_CZERO if Z.RE = 0.0 and Z.IM = MATH_PI + -- SINH(Z) = MATH_CBASE_J if Z.RE = 0.0 and + -- Z.IM = MATH_PI_OVER_2 + -- SINH(Z) = -MATH_CBASE_J if Z.RE = 0.0 and + -- Z.IM = -MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- ABS(SINH(Z)) <= SQRT(SINH(Z.RE)*SINH(Z.RE) + + -- SIN(Z.IM)*SIN(Z.IM)) + -- Notes: + -- None + + function SINH (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of hyperbolic sine of Z + -- Special values: + -- SINH(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = 0.0 and + -- Z.ARG = 0.0 + -- SINH(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = MATH_PI and + -- Z.ARG = MATH_PI_OVER_2 + -- SINH(Z) = COMPLEX_POLAR'(1.0, MATH_PI_OVER_2) if Z.MAG = + -- MATH_PI_OVER_2 and Z.ARG = MATH_PI_OVER_2 + -- SINH(Z) = COMPLEX_POLAR'(1.0, -MATH_PI_OVER_2) if Z.MAG = + -- MATH_PI_OVER_2 and Z.ARG = -MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function COSH (Z : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns hyperbolic cosine of Z + -- Special values: + -- COSH(MATH_CZERO) = MATH_CBASE_1 + -- COSH(Z) = -MATH_CBASE_1 if Z.RE = 0.0 and Z.IM = MATH_PI + -- COSH(Z) = MATH_CZERO if Z.RE = 0.0 and Z.IM = MATH_PI_OVER_2 + -- COSH(Z) = MATH_CZERO if Z.RE = 0.0 and Z.IM = -MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX + -- Error conditions: + -- None + -- Range: + -- ABS(COSH(Z)) <= SQRT(SINH(Z.RE)*SINH(Z.RE) + + -- COS(Z.IM)*COS(Z.IM)) + -- Notes: + -- None + + + function COSH (Z : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns principal value of hyperbolic cosine of Z + -- Special values: + -- COSH(Z) = COMPLEX_POLAR'(1.0, 0.0) if Z.MAG = 0.0 and + -- Z.ARG = 0.0 + -- COSH(Z) = COMPLEX_POLAR'(1.0, MATH_PI) if Z.MAG = MATH_PI and + -- Z.ARG = MATH_PI_OVER_2 + -- COSH(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = + -- MATH_PI_OVER_2 and Z.ARG = MATH_PI_OVER_2 + -- COSH(Z) = COMPLEX_POLAR'(0.0, 0.0) if Z.MAG = + -- MATH_PI_OVER_2 and Z.ARG = -MATH_PI_OVER_2 + -- Domain: + -- Z in COMPLEX_POLAR and Z.ARG /= -MATH_PI + -- Error conditions: + -- Error if Z.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + -- + -- Arithmetic Operators + -- + + function "+" (L : in COMPLEX; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "+"(Z) is mathematically unbounded + -- Notes: + -- None + + function "+" (L : in REAL; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "+"(Z) is mathematically unbounded + -- Notes: + -- None + + function "+" (L : in COMPLEX; R : in REAL) return COMPLEX; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in REAL + -- Error conditions: + -- None + -- Range: + -- "+"(Z) is mathematically unbounded + -- Notes: + -- None + + function "+" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) + return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + + function "+" (L : in REAL; R : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "+" (L : in COMPLEX_POLAR; R : in REAL) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic addition of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in REAL + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "-" (L : in COMPLEX; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "-"(Z) is mathematically unbounded + -- Notes: + -- None + + function "-" (L : in REAL; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "-"(Z) is mathematically unbounded + -- Notes: + -- None + + function "-" (L : in COMPLEX; R : in REAL) return COMPLEX; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in REAL + -- Error conditions: + -- None + -- Range: + -- "-"(Z) is mathematically unbounded + -- Notes: + -- None + + function "-" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) + return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "-" (L : in REAL; R : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + + function "-" (L : in COMPLEX_POLAR; R : in REAL) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic subtraction of L minus R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in REAL + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "*" (L : in COMPLEX; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "*"(Z) is mathematically unbounded + -- Notes: + -- None + + function "*" (L : in REAL; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX + -- Error conditions: + -- None + -- Range: + -- "*"(Z) is mathematically unbounded + -- Notes: + -- None + + function "*" (L : in COMPLEX; R : in REAL) return COMPLEX; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in REAL + -- Error conditions: + -- None + + -- Range: + -- "*"(Z) is mathematically unbounded + -- Notes: + -- None + + function "*" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) + return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "*" (L : in REAL; R : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- Error conditions: + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "*" (L : in COMPLEX_POLAR; R : in REAL) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic multiplication of L and R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in REAL + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + + function "/" (L : in COMPLEX; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in COMPLEX and R /= MATH_CZERO + -- Error conditions: + -- Error if R = MATH_CZERO + -- Range: + -- "/"(Z) is mathematically unbounded + -- Notes: + -- None + + function "/" (L : in REAL; R : in COMPLEX) return COMPLEX; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX and R /= MATH_CZERO + -- Error conditions: + -- Error if R = MATH_CZERO + -- Range: + -- "/"(Z) is mathematically unbounded + -- Notes: + -- None + + function "/" (L : in COMPLEX; R : in REAL) return COMPLEX; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX + -- R in REAL and R /= 0.0 + -- Error conditions: + -- Error if R = 0.0 + -- Range: + -- "/"(Z) is mathematically unbounded + -- Notes: + -- None + + function "/" (L : in COMPLEX_POLAR; R : in COMPLEX_POLAR) + return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- R.MAG > 0.0 + -- Error conditions: + -- Error if R.MAG <= 0.0 + -- Error if L.ARG = -MATH_PI + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "/" (L : in REAL; R : in COMPLEX_POLAR) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in REAL + -- R in COMPLEX_POLAR and R.ARG /= -MATH_PI + -- R.MAG > 0.0 + -- Error conditions: + -- Error if R.MAG <= 0.0 + -- Error if R.ARG = -MATH_PI + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + function "/" (L : in COMPLEX_POLAR; R : in REAL) return COMPLEX_POLAR; + -- Purpose: + -- Returns arithmetic division of L by R + -- Special values: + -- None + -- Domain: + -- L in COMPLEX_POLAR and L.ARG /= -MATH_PI + -- R /= 0.0 + -- Error conditions: + -- Error if L.ARG = -MATH_PI + -- Error if R = 0.0 + -- Range: + -- result.MAG >= 0.0 + -- -MATH_PI < result.ARG <= MATH_PI + -- Notes: + -- None + + attribute foreign of MATH_COMPLEX: package is "NO C code generation"; + + attribute foreign of "="[complex_polar, complex_polar return boolean]:function is "ieee_math_complex_equal_polar"; + attribute foreign of "/="[complex_polar, complex_polar return boolean]:function is "ieee_math_complex_not_equal_polar"; + attribute foreign of cmplx[real, real return complex]:function is "ieee_math_complex_cmplx"; + attribute foreign of get_principal_value[real return principal_value]:function is "ieee_math_complex_get_principal_value"; + attribute foreign of complex_to_polar[complex return complex_polar]:function is "ieee_math_complex_complex_to_polar"; + attribute foreign of polar_to_complex[complex_polar return complex]:function is "ieee_math_complex_polar_to_complex"; + attribute foreign of "ABS"[complex return positive_real]:function is "ieee_math_complex_abs"; + attribute foreign of "ABS"[complex_polar return positive_real]:function is "ieee_math_complex_abs_polar"; + attribute foreign of arg[complex return principal_value]:function is "ieee_math_complex_arg"; + attribute foreign of arg[complex_polar return principal_value]:function is "ieee_math_complex_arg_polar"; + attribute foreign of "-"[complex return complex]:function is "ieee_math_complex_negation"; + attribute foreign of "-"[complex_polar return complex_polar]:function is "ieee_math_complex_negation_polar"; + attribute foreign of conj[complex return complex]:function is "ieee_math_complex_conj"; + attribute foreign of conj[complex_polar return complex_polar]:function is "ieee_math_complex_conj_polar"; + attribute foreign of sqrt[complex return complex]:function is "ieee_math_complex_sqrt"; + attribute foreign of sqrt[complex_polar return complex_polar]:function is "ieee_math_complex_sqrt_polar"; + attribute foreign of exp[complex return complex]:function is "ieee_math_complex_exp"; + attribute foreign of exp[complex_polar return complex_polar]:function is "ieee_math_complex_exp_polar"; + attribute foreign of log[complex return complex]:function is "ieee_math_complex_log"; + attribute foreign of log2[complex return complex]:function is "ieee_math_complex_log2"; + attribute foreign of log[complex_polar return complex_polar]:function is "ieee_math_complex_log_polar"; + attribute foreign of log2[complex_polar return complex_polar]:function is "ieee_math_complex_log2_polar"; + attribute foreign of log10[complex_polar return complex_polar]:function is "ieee_math_complex_log10_polar"; + attribute foreign of log[complex, real return complex]:function is "ieee_math_complex_log_base"; + attribute foreign of log[complex_polar, real return complex_polar]:function is "ieee_math_complex_log_base_polar"; + attribute foreign of sin[complex return complex]:function is "ieee_math_complex_sin"; + attribute foreign of sin[complex_polar return complex_polar]:function is "ieee_math_complex_sin_polar"; + attribute foreign of cos[complex return complex]:function is "ieee_math_complex_cos"; + attribute foreign of cos[complex_polar return complex_polar]:function is "ieee_math_complex_cos_polar"; + attribute foreign of sinh[complex return complex]:function is "ieee_math_complex_sinh"; + attribute foreign of sinh[complex_polar return complex_polar]:function is "ieee_math_complex_sinh_polar"; + attribute foreign of cosh[complex return complex]:function is "ieee_math_complex_cosh"; + attribute foreign of cosh[complex_polar return complex_polar]:function is "ieee_math_complex_cosh_polar"; + attribute foreign of "+"[complex, complex return complex]:function is "ieee_math_complex_add_cc"; + attribute foreign of "+"[real, complex return complex]:function is "ieee_math_complex_add_rc"; + attribute foreign of "+"[complex, real return complex]:function is "ieee_math_complex_add_cr"; + attribute foreign of "+"[complex_polar, complex_polar return complex_polar]:function is "ieee_math_complex_add_polar_cc"; + attribute foreign of "+"[real, complex_polar return complex_polar]:function is "ieee_math_complex_add_polar_rc"; + attribute foreign of "+"[complex_polar, real return complex_polar]:function is "ieee_math_complex_add_polar_cr"; + attribute foreign of "-"[complex, complex return complex]:function is "ieee_math_complex_subtract_cc"; + attribute foreign of "-"[real, complex return complex]:function is "ieee_math_complex_subtract_rc"; + attribute foreign of "-"[complex, real return complex]:function is "ieee_math_complex_subtract_cr"; + attribute foreign of "-"[complex_polar, complex_polar return complex_polar]:function is "ieee_math_complex_subtract_polar_cc"; + attribute foreign of "-"[real, complex_polar return complex_polar]:function is "ieee_math_complex_subtract_polar_rc"; + attribute foreign of "-"[complex_polar, real return complex_polar]:function is "ieee_math_complex_subtract_polar_cr"; + attribute foreign of "*"[complex, complex return complex]:function is "ieee_math_complex_multiply_cc"; + attribute foreign of "*"[real, complex return complex]:function is "ieee_math_complex_multiply_rc"; + attribute foreign of "*"[complex, real return complex]:function is "ieee_math_complex_multiply_cr"; + attribute foreign of "*"[complex_polar, complex_polar return complex_polar]:function is "ieee_math_complex_multiply_polar_cc"; + attribute foreign of "*"[real, complex_polar return complex_polar]:function is "ieee_math_complex_multiply_polar_rc"; + attribute foreign of "*"[complex_polar, real return complex_polar]:function is "ieee_math_complex_multiply_polar_cr"; + attribute foreign of "/"[complex, complex return complex]:function is "ieee_math_complex_divide_cc"; + attribute foreign of "/"[real, complex return complex]:function is "ieee_math_complex_divide_rc"; + attribute foreign of "/"[complex, real return complex]:function is "ieee_math_complex_divide_cr"; + attribute foreign of "/"[complex_polar, complex_polar return complex_polar]:function is "ieee_math_complex_divide_polar_cc"; + attribute foreign of "/"[real, complex_polar return complex_polar]:function is "ieee_math_complex_divide_polar_rc"; + attribute foreign of "/"[complex_polar, real return complex_polar]:function is "ieee_math_complex_divide_polar_cr"; + +end package MATH_COMPLEX; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl new file mode 100644 index 0000000..ff2abd4 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl @@ -0,0 +1,1934 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Mathematical Packages +-- : (MATH_REAL package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- : +-- Purpose : This package defines a standard for designers to use in +-- : describing VHDL models that make use of common REAL +-- : constants and common REAL elementary mathematical +-- : functions. +-- : +-- Limitation: The values generated by the functions in this package +-- : may vary from platform to platform, and the precision +-- : of results is only guaranteed to be the minimum required +-- : by IEEE Std 1076-2008. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package body MATH_REAL is + + -- + -- Local Constants for Use in the Package Body Only + -- + constant MATH_E_P2 : REAL := 7.38905_60989_30650; -- e**2 + constant MATH_E_P10 : REAL := 22026.46579_48067_17; -- e**10 + constant MATH_EIGHT_PI : REAL := 25.13274_12287_18345_90770_115; --8*pi + constant MAX_ITER: INTEGER := 27; -- Maximum precision factor for cordic + constant MAX_COUNT: INTEGER := 150; -- Maximum count for number of tries + constant BASE_EPS: REAL := 0.00001; -- Factor for convergence criteria + constant KC : REAL := 6.0725293500888142e-01; -- Constant for cordic + + -- + -- Local Type Declarations for Cordic Operations + -- + type REAL_VECTOR is array (NATURAL range <>) of REAL; + type NATURAL_VECTOR is array (NATURAL range <>) of NATURAL; + subtype REAL_VECTOR_N is REAL_VECTOR (0 to MAX_ITER); + subtype REAL_ARR_2 is REAL_VECTOR (0 to 1); + subtype REAL_ARR_3 is REAL_VECTOR (0 to 2); + subtype QUADRANT is INTEGER range 0 to 3; + type CORDIC_MODE_TYPE is (ROTATION, VECTORING); + + -- + -- Auxiliary Functions for Cordic Algorithms + -- + function POWER_OF_2_SERIES (D : in NATURAL_VECTOR; INITIAL_VALUE : in REAL; + NUMBER_OF_VALUES : in NATURAL) return REAL_VECTOR is + -- Description: + -- Returns power of two for a vector of values + -- Notes: + -- None + -- + variable V : REAL_VECTOR (0 to NUMBER_OF_VALUES); + variable TEMP : REAL := INITIAL_VALUE; + variable FLAG : BOOLEAN := TRUE; + begin + for I in 0 to NUMBER_OF_VALUES loop + V(I) := TEMP; + for P in D'RANGE loop + if I = D(P) then + FLAG := FALSE; + exit; + end if; + end loop; + if FLAG then + TEMP := TEMP/2.0; + end if; + FLAG := TRUE; + end loop; + return V; + end function POWER_OF_2_SERIES; + + + constant TWO_AT_MINUS : REAL_VECTOR := POWER_OF_2_SERIES( + NATURAL_VECTOR'(100, 90),1.0, + MAX_ITER); + + constant EPSILON : REAL_VECTOR_N := ( + 7.8539816339744827e-01, + 4.6364760900080606e-01, + 2.4497866312686413e-01, + 1.2435499454676144e-01, + 6.2418809995957351e-02, + 3.1239833430268277e-02, + 1.5623728620476830e-02, + 7.8123410601011116e-03, + 3.9062301319669717e-03, + 1.9531225164788189e-03, + 9.7656218955931937e-04, + 4.8828121119489829e-04, + 2.4414062014936175e-04, + 1.2207031189367021e-04, + 6.1035156174208768e-05, + 3.0517578115526093e-05, + 1.5258789061315760e-05, + 7.6293945311019699e-06, + 3.8146972656064960e-06, + 1.9073486328101870e-06, + 9.5367431640596080e-07, + 4.7683715820308876e-07, + 2.3841857910155801e-07, + 1.1920928955078067e-07, + 5.9604644775390553e-08, + 2.9802322387695303e-08, + 1.4901161193847654e-08, + 7.4505805969238281e-09 + ); + + function CORDIC ( X0 : in REAL; + Y0 : in REAL; + Z0 : in REAL; + N : in NATURAL; -- Precision factor + CORDIC_MODE : in CORDIC_MODE_TYPE -- Rotation (Z -> 0) + -- or vectoring (Y -> 0) + ) return REAL_ARR_3 is + -- Description: + -- Compute cordic values + -- Notes: + -- None + variable X : REAL := X0; + variable Y : REAL := Y0; + variable Z : REAL := Z0; + variable X_TEMP : REAL; + begin + if CORDIC_MODE = ROTATION then + for K in 0 to N loop + X_TEMP := X; + if ( Z >= 0.0) then + X := X - Y * TWO_AT_MINUS(K); + Y := Y + X_TEMP * TWO_AT_MINUS(K); + Z := Z - EPSILON(K); + else + X := X + Y * TWO_AT_MINUS(K); + Y := Y - X_TEMP * TWO_AT_MINUS(K); + Z := Z + EPSILON(K); + end if; + end loop; + else + for K in 0 to N loop + X_TEMP := X; + if ( Y < 0.0) then + X := X - Y * TWO_AT_MINUS(K); + Y := Y + X_TEMP * TWO_AT_MINUS(K); + Z := Z - EPSILON(K); + else + X := X + Y * TWO_AT_MINUS(K); + Y := Y - X_TEMP * TWO_AT_MINUS(K); + Z := Z + EPSILON(K); + end if; + end loop; + end if; + return REAL_ARR_3'(X, Y, Z); + end function CORDIC; + + -- + -- Bodies for Global Mathematical Functions Start Here + -- + function SIGN (X: in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + if ( X > 0.0 ) then + return 1.0; + elsif ( X < 0.0 ) then + return -1.0; + else + return 0.0; + end if; + end function SIGN; + + function CEIL (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) No conversion to an INTEGER type is expected, so truncate + -- cannot overflow for large arguments + -- b) The domain supported by this function is X <= LARGE + -- c) Returns X if ABS(X) >= LARGE + + constant LARGE: REAL := REAL(INTEGER'HIGH); + variable RD: REAL; + + begin + if ABS(X) >= LARGE then + return X; + end if; + + RD := REAL ( INTEGER(X)); + if RD = X then + return X; + end if; + + if X > 0.0 then + if RD >= X then + return RD; + else + return RD + 1.0; + end if; + elsif X = 0.0 then + return 0.0; + else + if RD <= X then + return RD + 1.0; + else + return RD; + end if; + end if; + end function CEIL; + + function FLOOR (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) No conversion to an INTEGER type is expected, so truncate + -- cannot overflow for large arguments + -- b) The domain supported by this function is ABS(X) <= LARGE + -- c) Returns X if ABS(X) >= LARGE + + constant LARGE: REAL := REAL(INTEGER'HIGH); + variable RD: REAL; + + begin + if ABS( X ) >= LARGE then + return X; + end if; + + RD := REAL ( INTEGER(X)); + if RD = X then + return X; + end if; + + if X > 0.0 then + if RD <= X then + return RD; + else + return RD - 1.0; + end if; + elsif X = 0.0 then + return 0.0; + else + if RD >= X then + return RD - 1.0; + else + return RD; + end if; + end if; + end function FLOOR; + + function ROUND (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 if X = 0.0 + -- b) Returns FLOOR(X + 0.5) if X > 0 + -- c) Returns CEIL(X - 0.5) if X < 0 + + begin + if X > 0.0 then + return FLOOR(X + 0.5); + elsif X < 0.0 then + return CEIL( X - 0.5); + else + return 0.0; + end if; + end function ROUND; + + function TRUNC (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 if X = 0.0 + -- b) Returns FLOOR(X) if X > 0 + -- c) Returns CEIL(X) if X < 0 + + begin + if X > 0.0 then + return FLOOR(X); + elsif X < 0.0 then + return CEIL( X); + else + return 0.0; + end if; + end function TRUNC; + + + + + function "MOD" (X, Y: in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + + variable XNEGATIVE : BOOLEAN := X < 0.0; + variable YNEGATIVE : BOOLEAN := Y < 0.0; + variable VALUE : REAL; + begin + -- Check validity of input arguments + if (Y = 0.0) then + assert FALSE + report "MOD(X, 0.0) is undefined" + severity ERROR; + return 0.0; + end if; + + -- Compute value + if ( XNEGATIVE ) then + if ( YNEGATIVE ) then + VALUE := X + (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); + else + VALUE := X + (CEIL(ABS(X)/ABS(Y)))*ABS(Y); + end if; + else + if ( YNEGATIVE ) then + VALUE := X - (CEIL(ABS(X)/ABS(Y)))*ABS(Y); + else + VALUE := X - (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); + end if; + end if; + + return VALUE; + end function "MOD"; + + + function REALMAX (X, Y : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) REALMAX(X,Y) = X when X = Y + -- + begin + if X >= Y then + return X; + else + return Y; + end if; + end function REALMAX; + + function REALMIN (X, Y : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) REALMIN(X,Y) = X when X = Y + -- + begin + if X <= Y then + return X; + else + return Y; + end if; + end function REALMIN; + + + procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE;variable X:out REAL) + is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + -- + variable Z, K: INTEGER; + variable TSEED1 : INTEGER := INTEGER'(SEED1); + variable TSEED2 : INTEGER := INTEGER'(SEED2); + begin + -- Check validity of arguments + if SEED1 > 2147483562 then + assert FALSE + report "SEED1 > 2147483562 in UNIFORM" + severity ERROR; + X := 0.0; + return; + end if; + + if SEED2 > 2147483398 then + assert FALSE + report "SEED2 > 2147483398 in UNIFORM" + severity ERROR; + X := 0.0; + return; + end if; + + -- Compute new seed values and pseudo-random number + K := TSEED1/53668; + TSEED1 := 40014 * (TSEED1 - K * 53668) - K * 12211; + + if TSEED1 < 0 then + TSEED1 := TSEED1 + 2147483563; + end if; + + K := TSEED2/52774; + TSEED2 := 40692 * (TSEED2 - K * 52774) - K * 3791; + + if TSEED2 < 0 then + TSEED2 := TSEED2 + 2147483399; + end if; + + Z := TSEED1 - TSEED2; + if Z < 1 then + Z := Z + 2147483562; + end if; + + -- Get output values + SEED1 := POSITIVE'(TSEED1); + SEED2 := POSITIVE'(TSEED2); + X := REAL(Z)*4.656613e-10; + end procedure UNIFORM; + + + + function SQRT (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Uses the Newton-Raphson approximation: + -- F(n+1) = 0.5*[F(n) + x/F(n)] + -- b) Returns 0.0 on error + -- + + constant EPS : REAL := BASE_EPS*BASE_EPS; -- Convergence factor + + variable INIVAL: REAL; + variable OLDVAL : REAL ; + variable NEWVAL : REAL ; + variable COUNT : INTEGER := 1; + + begin + -- Check validity of argument + if ( X < 0.0 ) then + assert FALSE + report "X < 0.0 in SQRT(X)" + severity ERROR; + return 0.0; + end if; + + -- Get the square root for special cases + if X = 0.0 then + return 0.0; + else + if ( X = 1.0 ) then + return 1.0; + end if; + end if; + + -- Get the square root for general cases + INIVAL := EXP(LOG(X)*(0.5)); -- Mathematically correct but imprecise + OLDVAL := INIVAL; + NEWVAL := (X/OLDVAL + OLDVAL)*0.5; + + -- Check for relative and absolute error and max count + while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS) OR + (ABS(NEWVAL - OLDVAL) > EPS) ) AND + (COUNT < MAX_COUNT) ) loop + OLDVAL := NEWVAL; + NEWVAL := (X/OLDVAL + OLDVAL)*0.5; + COUNT := COUNT + 1; + end loop; + return NEWVAL; + end function SQRT; + + function CBRT (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Uses the Newton-Raphson approximation: + -- F(n+1) = (1/3)*[2*F(n) + x/F(n)**2]; + -- + constant EPS : REAL := BASE_EPS*BASE_EPS; + + variable INIVAL: REAL; + variable XLOCAL : REAL := X; + variable NEGATIVE : BOOLEAN := X < 0.0; + variable OLDVAL : REAL ; + variable NEWVAL : REAL ; + variable COUNT : INTEGER := 1; + + begin + + -- Compute root for special cases + if X = 0.0 then + return 0.0; + elsif ( X = 1.0 ) then + return 1.0; + else + if X = -1.0 then + return -1.0; + end if; + end if; + + -- Compute root for general cases + if NEGATIVE then + XLOCAL := -X; + end if; + + INIVAL := EXP(LOG(XLOCAL)/(3.0)); -- Mathematically correct but + -- imprecise + OLDVAL := INIVAL; + NEWVAL := (XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; + + -- Check for relative and absolute errors and max count + while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS ) OR + (ABS(NEWVAL - OLDVAL) > EPS ) ) AND + ( COUNT < MAX_COUNT ) ) loop + OLDVAL := NEWVAL; + NEWVAL :=(XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; + COUNT := COUNT + 1; + end loop; + + if NEGATIVE then + NEWVAL := -NEWVAL; + end if; + + return NEWVAL; + end function CBRT; + + function "**" (X : in INTEGER; Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error condition + + begin + -- Check validity of argument + if ( ( X < 0 ) and ( Y /= 0.0 ) ) then + assert FALSE + report "X < 0 and Y /= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + if ( ( X = 0 ) and ( Y <= 0.0 ) ) then + assert FALSE + report "X = 0 and Y <= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + -- Get value for special cases + if ( X = 0 and Y > 0.0 ) then + return 0.0; + end if; + + if ( X = 1 ) then + return 1.0; + end if; + + if ( Y = 0.0 and X /= 0 ) then + return 1.0; + end if; + + if ( Y = 1.0) then + return (REAL(X)); + end if; + + -- Get value for general case + return EXP (Y * LOG (REAL(X))); + end function "**"; + + function "**" (X : in REAL; Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error condition + + begin + -- Check validity of argument + if ( ( X < 0.0 ) and ( Y /= 0.0 ) ) then + assert FALSE + report "X < 0.0 and Y /= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + if ( ( X = 0.0 ) and ( Y <= 0.0 ) ) then + assert FALSE + report "X = 0.0 and Y <= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + -- Get value for special cases + if ( X = 0.0 and Y > 0.0 ) then + return 0.0; + end if; + + if ( X = 1.0 ) then + return 1.0; + end if; + + if ( Y = 0.0 and X /= 0.0 ) then + return 1.0; + end if; + + if ( Y = 1.0) then + return (X); + end if; + + -- Get value for general case + return EXP (Y * LOG (X)); + end function "**"; + + function EXP (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) This function computes the exponential using the following + -- series: + -- exp(x) = 1 + x + x**2/2! + x**3/3! + ... ; |x| < 1.0 + -- and reduces argument X to take advantage of exp(x+y) = + -- exp(x)*exp(y) + -- + -- b) This implementation limits X to be less than LOG(REAL'HIGH) + -- to avoid overflow. Returns REAL'HIGH when X reaches that + -- limit + -- + constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS;-- Precision criteria + + variable RECIPROCAL: BOOLEAN := X < 0.0;-- Check sign of argument + variable XLOCAL : REAL := ABS(X); -- Use positive value + variable OLDVAL: REAL ; + variable COUNT: INTEGER ; + variable NEWVAL: REAL ; + variable LAST_TERM: REAL ; + variable FACTOR : REAL := 1.0; + + begin + -- Compute value for special cases + if X = 0.0 then + return 1.0; + end if; + + if XLOCAL = 1.0 then + if RECIPROCAL then + return MATH_1_OVER_E; + else + return MATH_E; + end if; + end if; + + if XLOCAL = 2.0 then + if RECIPROCAL then + return 1.0/MATH_E_P2; + else + return MATH_E_P2; + end if; + end if; + + if XLOCAL = 10.0 then + if RECIPROCAL then + return 1.0/MATH_E_P10; + else + return MATH_E_P10; + end if; + end if; + + if XLOCAL > LOG(REAL'HIGH) then + if RECIPROCAL then + return 0.0; + else + assert FALSE + report "X > LOG(REAL'HIGH) in EXP(X)" + severity NOTE; + return REAL'HIGH; + end if; + end if; + + -- Reduce argument to ABS(X) < 1.0 + while XLOCAL > 10.0 loop + XLOCAL := XLOCAL - 10.0; + FACTOR := FACTOR*MATH_E_P10; + end loop; + + while XLOCAL > 1.0 loop + XLOCAL := XLOCAL - 1.0; + FACTOR := FACTOR*MATH_E; + end loop; + + -- Compute value for case 0 < XLOCAL < 1 + OLDVAL := 1.0; + LAST_TERM := XLOCAL; + NEWVAL:= OLDVAL + LAST_TERM; + COUNT := 2; + + -- Check for relative and absolute errors and max count + while ( ( (ABS((NEWVAL - OLDVAL)/NEWVAL) > EPS) OR + (ABS(NEWVAL - OLDVAL) > EPS) ) AND + (COUNT < MAX_COUNT ) ) loop + OLDVAL := NEWVAL; + LAST_TERM := LAST_TERM*(XLOCAL / (REAL(COUNT))); + NEWVAL := OLDVAL + LAST_TERM; + COUNT := COUNT + 1; + end loop; + + -- Compute final value using exp(x+y) = exp(x)*exp(y) + NEWVAL := NEWVAL*FACTOR; + + if RECIPROCAL then + NEWVAL := 1.0/NEWVAL; + end if; + + return NEWVAL; + end function EXP; + + + -- + -- Auxiliary Functions to Compute LOG + -- + function ILOGB(X: in REAL) return INTEGER IS + -- Description: + -- Returns n such that -1 <= ABS(X)/2^n < 2 + -- Notes: + -- None + + variable N: INTEGER := 0; + variable Y: REAL := ABS(X); + + begin + if(Y = 1.0 or Y = 0.0) then + return 0; + end if; + + if( Y > 1.0) then + while Y >= 2.0 loop + Y := Y/2.0; + N := N+1; + end loop; + return N; + end if; + + -- O < Y < 1 + while Y < 1.0 loop + Y := Y*2.0; + N := N -1; + end loop; + return N; + end function ILOGB; + + function LDEXP(X: in REAL; N: in INTEGER) RETURN REAL IS + -- Description: + -- Returns X*2^n + -- Notes: + -- None + begin + return X*(2.0 ** N); + end function LDEXP; + + function LOG (X : in REAL ) return REAL IS + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- + -- Notes: + -- a) Returns REAL'LOW on error + -- + -- Copyright (c) 1992 Regents of the University of California. + -- All rights reserved. + -- + -- Redistribution and use in source and binary forms, with or without + -- modification, are permitted provided that the following conditions + -- are met: + -- 1. Redistributions of source code must retain the above copyright + -- notice, this list of conditions and the following disclaimer. + -- 2. Redistributions in binary form must reproduce the above copyright + -- notice, this list of conditions and the following disclaimer in the + -- documentation and/or other materials provided with the distribution. + -- 3. All advertising materials mentioning features or use of this + -- software must display the following acknowledgement: + -- This product includes software developed by the University of + -- California, Berkeley and its contributors. + -- 4. Neither the name of the University nor the names of its + -- contributors may be used to endorse or promote products derived + -- from this software without specific prior written permission. + -- + -- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' + -- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + -- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + -- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR + -- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + -- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + -- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + -- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + -- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + -- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + -- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + -- DAMAGE. + -- + -- NOTE: This VHDL version was generated using the C version of the + -- original function by the IEEE VHDL Mathematical Package + -- Working Group (CS/JT) + + constant N: INTEGER := 128; + + -- Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. + -- Used for generation of extend precision logarithms. + -- The constant 35184372088832 is 2^45, so the divide is exact. + -- It ensures correct reading of logF_head, even for inaccurate + -- decimal-to-binary conversion routines. (Everybody gets the + -- right answer for INTEGERs less than 2^53.) + -- Values for LOG(F) were generated using error < 10^-57 absolute + -- with the bc -l package. + + type REAL_VECTOR is array (NATURAL range <>) of REAL; + + constant A1:REAL := 0.08333333333333178827; + constant A2:REAL := 0.01250000000377174923; + constant A3:REAL := 0.002232139987919447809; + constant A4:REAL := 0.0004348877777076145742; + + constant LOGF_HEAD: REAL_VECTOR(0 TO N) := ( + 0.0, + 0.007782140442060381246, + 0.015504186535963526694, + 0.023167059281547608406, + 0.030771658666765233647, + 0.038318864302141264488, + 0.045809536031242714670, + 0.053244514518837604555, + 0.060624621816486978786, + 0.067950661908525944454, + 0.075223421237524235039, + 0.082443669210988446138, + 0.089612158689760690322, + 0.096729626458454731618, + 0.103796793681567578460, + 0.110814366340264314203, + 0.117783035656430001836, + 0.124703478501032805070, + 0.131576357788617315236, + 0.138402322859292326029, + 0.145182009844575077295, + 0.151916042025732167530, + 0.158605030176659056451, + 0.165249572895390883786, + 0.171850256926518341060, + 0.178407657472689606947, + 0.184922338493834104156, + 0.191394852999565046047, + 0.197825743329758552135, + 0.204215541428766300668, + 0.210564769107350002741, + 0.216873938300523150246, + 0.223143551314024080056, + 0.229374101064877322642, + 0.235566071312860003672, + 0.241719936886966024758, + 0.247836163904594286577, + 0.253915209980732470285, + 0.259957524436686071567, + 0.265963548496984003577, + 0.271933715484010463114, + 0.277868451003087102435, + 0.283768173130738432519, + 0.289633292582948342896, + 0.295464212893421063199, + 0.301261330578199704177, + 0.307025035294827830512, + 0.312755710004239517729, + 0.318453731118097493890, + 0.324119468654316733591, + 0.329753286372579168528, + 0.335355541920762334484, + 0.340926586970454081892, + 0.346466767346100823488, + 0.351976423156884266063, + 0.357455888922231679316, + 0.362905493689140712376, + 0.368325561158599157352, + 0.373716409793814818840, + 0.379078352934811846353, + 0.384411698910298582632, + 0.389716751140440464951, + 0.394993808240542421117, + 0.400243164127459749579, + 0.405465108107819105498, + 0.410659924985338875558, + 0.415827895143593195825, + 0.420969294644237379543, + 0.426084395310681429691, + 0.431173464818130014464, + 0.436236766774527495726, + 0.441274560805140936281, + 0.446287102628048160113, + 0.451274644139630254358, + 0.456237433481874177232, + 0.461175715122408291790, + 0.466089729924533457960, + 0.470979715219073113985, + 0.475845904869856894947, + 0.480688529345570714212, + 0.485507815781602403149, + 0.490303988045525329653, + 0.495077266798034543171, + 0.499827869556611403822, + 0.504556010751912253908, + 0.509261901790523552335, + 0.513945751101346104405, + 0.518607764208354637958, + 0.523248143765158602036, + 0.527867089620485785417, + 0.532464798869114019908, + 0.537041465897345915436, + 0.541597282432121573947, + 0.546132437597407260909, + 0.550647117952394182793, + 0.555141507540611200965, + 0.559615787935399566777, + 0.564070138285387656651, + 0.568504735352689749561, + 0.572919753562018740922, + 0.577315365035246941260, + 0.581691739635061821900, + 0.586049045003164792433, + 0.590387446602107957005, + 0.594707107746216934174, + 0.599008189645246602594, + 0.603290851438941899687, + 0.607555250224322662688, + 0.611801541106615331955, + 0.616029877215623855590, + 0.620240409751204424537, + 0.624433288012369303032, + 0.628608659422752680256, + 0.632766669570628437213, + 0.636907462236194987781, + 0.641031179420679109171, + 0.645137961373620782978, + 0.649227946625615004450, + 0.653301272011958644725, + 0.657358072709030238911, + 0.661398482245203922502, + 0.665422632544505177065, + 0.669430653942981734871, + 0.673422675212350441142, + 0.677398823590920073911, + 0.681359224807238206267, + 0.685304003098281100392, + 0.689233281238557538017, + 0.693147180560117703862); + + constant LOGF_TAIL: REAL_VECTOR(0 TO N) := ( + 0.0, + -0.00000000000000543229938420049, + 0.00000000000000172745674997061, + -0.00000000000001323017818229233, + -0.00000000000001154527628289872, + -0.00000000000000466529469958300, + 0.00000000000005148849572685810, + -0.00000000000002532168943117445, + -0.00000000000005213620639136504, + -0.00000000000001819506003016881, + 0.00000000000006329065958724544, + 0.00000000000008614512936087814, + -0.00000000000007355770219435028, + 0.00000000000009638067658552277, + 0.00000000000007598636597194141, + 0.00000000000002579999128306990, + -0.00000000000004654729747598444, + -0.00000000000007556920687451336, + 0.00000000000010195735223708472, + -0.00000000000017319034406422306, + -0.00000000000007718001336828098, + 0.00000000000010980754099855238, + -0.00000000000002047235780046195, + -0.00000000000008372091099235912, + 0.00000000000014088127937111135, + 0.00000000000012869017157588257, + 0.00000000000017788850778198106, + 0.00000000000006440856150696891, + 0.00000000000016132822667240822, + -0.00000000000007540916511956188, + -0.00000000000000036507188831790, + 0.00000000000009120937249914984, + 0.00000000000018567570959796010, + -0.00000000000003149265065191483, + -0.00000000000009309459495196889, + 0.00000000000017914338601329117, + -0.00000000000001302979717330866, + 0.00000000000023097385217586939, + 0.00000000000023999540484211737, + 0.00000000000015393776174455408, + -0.00000000000036870428315837678, + 0.00000000000036920375082080089, + -0.00000000000009383417223663699, + 0.00000000000009433398189512690, + 0.00000000000041481318704258568, + -0.00000000000003792316480209314, + 0.00000000000008403156304792424, + -0.00000000000034262934348285429, + 0.00000000000043712191957429145, + -0.00000000000010475750058776541, + -0.00000000000011118671389559323, + 0.00000000000037549577257259853, + 0.00000000000013912841212197565, + 0.00000000000010775743037572640, + 0.00000000000029391859187648000, + -0.00000000000042790509060060774, + 0.00000000000022774076114039555, + 0.00000000000010849569622967912, + -0.00000000000023073801945705758, + 0.00000000000015761203773969435, + 0.00000000000003345710269544082, + -0.00000000000041525158063436123, + 0.00000000000032655698896907146, + -0.00000000000044704265010452446, + 0.00000000000034527647952039772, + -0.00000000000007048962392109746, + 0.00000000000011776978751369214, + -0.00000000000010774341461609578, + 0.00000000000021863343293215910, + 0.00000000000024132639491333131, + 0.00000000000039057462209830700, + -0.00000000000026570679203560751, + 0.00000000000037135141919592021, + -0.00000000000017166921336082431, + -0.00000000000028658285157914353, + -0.00000000000023812542263446809, + 0.00000000000006576659768580062, + -0.00000000000028210143846181267, + 0.00000000000010701931762114254, + 0.00000000000018119346366441110, + 0.00000000000009840465278232627, + -0.00000000000033149150282752542, + -0.00000000000018302857356041668, + -0.00000000000016207400156744949, + 0.00000000000048303314949553201, + -0.00000000000071560553172382115, + 0.00000000000088821239518571855, + -0.00000000000030900580513238244, + -0.00000000000061076551972851496, + 0.00000000000035659969663347830, + 0.00000000000035782396591276383, + -0.00000000000046226087001544578, + 0.00000000000062279762917225156, + 0.00000000000072838947272065741, + 0.00000000000026809646615211673, + -0.00000000000010960825046059278, + 0.00000000000002311949383800537, + -0.00000000000058469058005299247, + -0.00000000000002103748251144494, + -0.00000000000023323182945587408, + -0.00000000000042333694288141916, + -0.00000000000043933937969737844, + 0.00000000000041341647073835565, + 0.00000000000006841763641591466, + 0.00000000000047585534004430641, + 0.00000000000083679678674757695, + -0.00000000000085763734646658640, + 0.00000000000021913281229340092, + -0.00000000000062242842536431148, + -0.00000000000010983594325438430, + 0.00000000000065310431377633651, + -0.00000000000047580199021710769, + -0.00000000000037854251265457040, + 0.00000000000040939233218678664, + 0.00000000000087424383914858291, + 0.00000000000025218188456842882, + -0.00000000000003608131360422557, + -0.00000000000050518555924280902, + 0.00000000000078699403323355317, + -0.00000000000067020876961949060, + 0.00000000000016108575753932458, + 0.00000000000058527188436251509, + -0.00000000000035246757297904791, + -0.00000000000018372084495629058, + 0.00000000000088606689813494916, + 0.00000000000066486268071468700, + 0.00000000000063831615170646519, + 0.00000000000025144230728376072, + -0.00000000000017239444525614834); + + variable M, J:INTEGER; + variable F1, F2, G, Q, U, U2, V: REAL; + variable ZERO: REAL := 0.0;--Made variable so no constant folding occurs + variable ONE: REAL := 1.0; --Made variable so no constant folding occurs + + -- double logb(), ldexp(); + + variable U1:REAL; + + begin + + -- Check validity of argument + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = MATH_E ) then + return 1.0; + end if; + + -- Argument reduction: 1 <= g < 2; x/2^m = g; + -- y = F*(1 + f/F) for |f| <= 2^-8 + + M := ILOGB(X); + G := LDEXP(X, -M); + J := INTEGER(REAL(N)*(G-1.0)); -- C code adds 0.5 for rounding + F1 := (1.0/REAL(N)) * REAL(J) + 1.0; --F1*128 is an INTEGER in [128,512] + F2 := G - F1; + + -- Approximate expansion for log(1+f2/F1) ~= u + q + G := 1.0/(2.0*F1+F2); + U := 2.0*F2*G; + V := U*U; + Q := U*V*(A1 + V*(A2 + V*(A3 + V*A4))); + + -- Case 1: u1 = u rounded to 2^-43 absolute. Since u < 2^-8, + -- u1 has at most 35 bits, and F1*u1 is exact, as F1 has < 8 bits. + -- It also adds exactly to |m*log2_hi + log_F_head[j] | < 750. + -- + if ( J /= 0 or M /= 0) then + U1 := U + 513.0; + U1 := U1 - 513.0; + + -- Case 2: |1-x| < 1/256. The m- and j- dependent terms are zero + -- u1 = u to 24 bits. + -- + else + U1 := U; + --TRUNC(U1); --In c this is u1 = (double) (float) (u1) + end if; + + U2 := (2.0*(F2 - F1*U1) - U1*F2) * G; + -- u1 + u2 = 2f/(2F+f) to extra precision. + + -- log(x) = log(2^m*F1*(1+f2/F1)) = + -- (m*log2_hi+LOGF_HEAD(j)+u1) + (m*log2_lo+LOGF_TAIL(j)+q); + -- (exact) + (tiny) + + U1 := U1 + REAL(M)*LOGF_HEAD(N) + LOGF_HEAD(J); -- Exact + U2 := (U2 + LOGF_TAIL(J)) + Q; -- Tiny + U2 := U2 + LOGF_TAIL(N)*REAL(M); + return (U1 + U2); + end function LOG; + + + function LOG2 (X: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG2(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = 2.0 ) then + return 1.0; + end if; + + -- Compute value for general case + return ( MATH_LOG2_OF_E*LOG(X) ); + end function LOG2; + + + function LOG10 (X: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG10(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = 10.0 ) then + return 1.0; + end if; + + -- Compute value for general case + return ( MATH_LOG10_OF_E*LOG(X) ); + end function LOG10; + + + function LOG (X: in REAL; BASE: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG(X, BASE)" + severity ERROR; + return(REAL'LOW); + end if; + + if ( BASE <= 0.0 or BASE = 1.0 ) then + assert FALSE + report "BASE <= 0.0 or BASE = 1.0 in LOG(X, BASE)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = BASE ) then + return 1.0; + end if; + + -- Compute value for general case + return ( LOG(X)/LOG(BASE)); + end function LOG; + + + function SIN (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) SIN(-X) = -SIN(X) + -- b) SIN(X) = X if ABS(X) < EPS + -- c) SIN(X) = X - X**3/3! if EPS < ABS(X) < BASE_EPS + -- d) SIN(MATH_PI_OVER_2 - X) = COS(X) + -- e) COS(X) = 1.0 - 0.5*X**2 if ABS(X) < EPS + -- f) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if + -- EPS< ABS(X) MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + -- adjust for rounding error + XLOCAL := 0.0; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_2_PI or XLOCAL = MATH_PI then + return 0.0; + end if; + + if XLOCAL = MATH_PI_OVER_2 then + if NEGATIVE then + return -1.0; + else + return 1.0; + end if; + end if; + + if XLOCAL = MATH_3_PI_OVER_2 then + if NEGATIVE then + return 1.0; + else + return -1.0; + end if; + end if; + + if XLOCAL < EPS then + if NEGATIVE then + return -XLOCAL; + else + return XLOCAL; + end if; + else + if XLOCAL < BASE_EPS then + TEMP := XLOCAL - (XLOCAL*XLOCAL*XLOCAL)/6.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := MATH_PI - XLOCAL; + if ABS(TEMP) < EPS then + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + else + if ABS(TEMP) < BASE_EPS then + TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := MATH_2_PI - XLOCAL; + if ABS(TEMP) < EPS then + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + else + if ABS(TEMP) < BASE_EPS then + TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + end if; + end if; + + TEMP := ABS(MATH_PI_OVER_2 - XLOCAL); + if TEMP < EPS then + TEMP := 1.0 - TEMP*TEMP*0.5; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + else + if TEMP < BASE_EPS then + TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := ABS(MATH_3_PI_OVER_2 - XLOCAL); + if TEMP < EPS then + TEMP := 1.0 - TEMP*TEMP*0.5; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + else + if TEMP < BASE_EPS then + TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + end if; + end if; + + -- Compute value for general cases + if ((XLOCAL < MATH_PI_OVER_2 ) and (XLOCAL > 0.0)) then + VALUE:= CORDIC( KC, 0.0, x, 27, ROTATION)(1); + end if; + + N := INTEGER ( FLOOR(XLOCAL/MATH_PI_OVER_2)); + case QUADRANT( N mod 4) is + when 0 => + VALUE := CORDIC( KC, 0.0, XLOCAL, 27, ROTATION)(1); + when 1 => + VALUE := CORDIC( KC, 0.0, XLOCAL - MATH_PI_OVER_2, 27, + ROTATION)(0); + when 2 => + VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_PI, 27, ROTATION)(1); + when 3 => + VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_3_PI_OVER_2, 27, + ROTATION)(0); + end case; + + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end function SIN; + + + function COS (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) COS(-X) = COS(X) + -- b) COS(X) = SIN(MATH_PI_OVER_2 - X) + -- c) COS(MATH_PI + X) = -COS(X) + -- d) COS(X) = 1.0 - X*X/2.0 if ABS(X) < EPS + -- e) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if + -- EPS< ABS(X) MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + -- adjust for rounding error + XLOCAL := 0.0; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_2_PI then + return 1.0; + end if; + + if XLOCAL = MATH_PI then + return -1.0; + end if; + + if XLOCAL = MATH_PI_OVER_2 or XLOCAL = MATH_3_PI_OVER_2 then + return 0.0; + end if; + + TEMP := ABS(XLOCAL); + if ( TEMP < EPS) then + return (1.0 - 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + TEMP := ABS(XLOCAL -MATH_2_PI); + if ( TEMP < EPS) then + return (1.0 - 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + TEMP := ABS (XLOCAL - MATH_PI); + if TEMP < EPS then + return (-1.0 + 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (-1.0 +0.5*TEMP*TEMP - TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + -- Compute value for general cases + return SIN(MATH_PI_OVER_2 - XLOCAL); + end function COS; + + function TAN (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) TAN(0.0) = 0.0 + -- b) TAN(-X) = -TAN(X) + -- c) Returns REAL'LOW on error if X < 0.0 + -- d) Returns REAL'HIGH on error if X > 0.0 + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X) ; + variable VALUE: REAL; + variable TEMP : REAL; + + begin + -- Make 0.0 <= XLOCAL <= MATH_2_PI + if XLOCAL > MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + -- adjust for rounding error + XLOCAL := 0.0; + end if; + + -- Check validity of argument + if XLOCAL = MATH_PI_OVER_2 then + assert FALSE + report "X is a multiple of MATH_PI_OVER_2 in TAN(X)" + severity ERROR; + if NEGATIVE then + return(REAL'LOW); + else + return(REAL'HIGH); + end if; + end if; + + if XLOCAL = MATH_3_PI_OVER_2 then + assert FALSE + report "X is a multiple of MATH_3_PI_OVER_2 in TAN(X)" + severity ERROR; + if NEGATIVE then + return(REAL'HIGH); + else + return(REAL'LOW); + end if; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_PI then + return 0.0; + end if; + + -- Compute value for general cases + VALUE := SIN(XLOCAL)/COS(XLOCAL); + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end function TAN; + + function ARCSIN (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCSIN(-X) = -ARCSIN(X) + -- b) Returns X on error + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable VALUE : REAL; + + begin + -- Check validity of arguments + if XLOCAL > 1.0 then + assert FALSE + report "ABS(X) > 1.0 in ARCSIN(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + elsif XLOCAL = 1.0 then + if NEGATIVE then + return -MATH_PI_OVER_2; + else + return MATH_PI_OVER_2; + end if; + end if; + + -- Compute value for general cases + if XLOCAL < 0.9 then + VALUE := ARCTAN(XLOCAL/(SQRT(1.0 - XLOCAL*XLOCAL))); + else + VALUE := MATH_PI_OVER_2 - ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); + end if; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end function ARCSIN; + + function ARCCOS (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCCOS(-X) = MATH_PI - ARCCOS(X) + -- b) Returns X on error + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable VALUE : REAL; + + begin + -- Check validity of argument + if XLOCAL > 1.0 then + assert FALSE + report "ABS(X) > 1.0 in ARCCOS(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 1.0 then + return 0.0; + elsif X = 0.0 then + return MATH_PI_OVER_2; + elsif X = -1.0 then + return MATH_PI; + end if; + + -- Compute value for general cases + if XLOCAL > 0.9 then + VALUE := ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); + else + VALUE := MATH_PI_OVER_2 - ARCTAN(XLOCAL/SQRT(1.0 - XLOCAL*XLOCAL)); + end if; + + + if NEGATIVE then + VALUE := MATH_PI - VALUE; + end if; + + return VALUE; + end function ARCCOS; + + + function ARCTAN (Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCTAN(-Y) = -ARCTAN(Y) + -- b) ARCTAN(Y) = -ARCTAN(1.0/Y) + MATH_PI_OVER_2 for |Y| > 1.0 + -- c) ARCTAN(Y) = Y for |Y| < EPS + + constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS; + + variable NEGATIVE : BOOLEAN := Y < 0.0; + variable RECIPROCAL : BOOLEAN; + variable YLOCAL : REAL := ABS(Y); + variable VALUE : REAL; + + begin + -- Make argument |Y| <=1.0 + if YLOCAL > 1.0 then + YLOCAL := 1.0/YLOCAL; + RECIPROCAL := TRUE; + else + RECIPROCAL := FALSE; + end if; + + -- Compute value for special cases + if YLOCAL = 0.0 then + if RECIPROCAL then + if NEGATIVE then + return (-MATH_PI_OVER_2); + else + return (MATH_PI_OVER_2); + end if; + else + return 0.0; + end if; + end if; + + if YLOCAL < EPS then + if NEGATIVE then + if RECIPROCAL then + return (-MATH_PI_OVER_2 + YLOCAL); + else + return -YLOCAL; + end if; + else + if RECIPROCAL then + return (MATH_PI_OVER_2 - YLOCAL); + else + return YLOCAL; + end if; + end if; + end if; + + -- Compute value for general cases + VALUE := CORDIC( 1.0, YLOCAL, 0.0, 27, VECTORING )(2); + + if RECIPROCAL then + VALUE := MATH_PI_OVER_2 - VALUE; + end if; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end function ARCTAN; + + + function ARCTAN (Y : in REAL; X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + + variable YLOCAL : REAL; + variable VALUE : REAL; + begin + + -- Check validity of arguments + if (Y = 0.0 and X = 0.0 ) then + assert FALSE report + "ARCTAN(0.0, 0.0) is undetermined" + severity ERROR; + return 0.0; + end if; + + -- Compute value for special cases + if Y = 0.0 then + if X > 0.0 then + return 0.0; + else + return MATH_PI; + end if; + end if; + + if X = 0.0 then + if Y > 0.0 then + return MATH_PI_OVER_2; + else + return -MATH_PI_OVER_2; + end if; + end if; + + + -- Compute value for general cases + YLOCAL := ABS(Y/X); + + VALUE := ARCTAN(YLOCAL); + + if X < 0.0 then + VALUE := MATH_PI - VALUE; + end if; + + if Y < 0.0 then + VALUE := -VALUE; + end if; + + return VALUE; + end function ARCTAN; + + + function SINH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) - EXP(-X))/2.0 + -- b) SINH(-X) = SINH(X) + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP - 1.0/TEMP)*0.5; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end function SINH; + + function COSH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) + EXP(-X))/2.0 + -- b) COSH(-X) = COSH(X) + + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 1.0; + end if; + + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP + 1.0/TEMP)*0.5; + + return VALUE; + end function COSH; + + function TANH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) - EXP(-X))/(EXP(X) + EXP(-X)) + -- b) TANH(-X) = -TANH(X) + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP - 1.0/TEMP)/(TEMP + 1.0/TEMP); + + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end function TANH; + + function ARCSINH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns LOG( X + SQRT( X*X + 1.0)) + + begin + -- Compute value for special cases + if X = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + return ( LOG( X + SQRT( X*X + 1.0)) ); + end function ARCSINH; + + + + function ARCCOSH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns LOG( X + SQRT( X*X - 1.0)); X >= 1.0 + -- b) Returns X on error + + begin + -- Check validity of arguments + if X < 1.0 then + assert FALSE + report "X < 1.0 in ARCCOSH(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 1.0 then + return 0.0; + end if; + + -- Compute value for general cases + return ( LOG( X + SQRT( X*X - 1.0))); + end function ARCCOSH; + + function ARCTANH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (LOG( (1.0 + X)/(1.0 - X)))/2.0 ; | X | < 1.0 + -- b) Returns X on error + begin + -- Check validity of arguments + if ABS(X) >= 1.0 then + assert FALSE + report "ABS(X) >= 1.0 in ARCTANH(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + return( 0.5*LOG( (1.0+X)/(1.0-X) ) ); + end function ARCTANH; + +end package body MATH_REAL; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl new file mode 100644 index 0000000..b9ea185 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl @@ -0,0 +1,658 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright © 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Mathematical Packages +-- : (MATH_REAL package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- : +-- Purpose : This package defines a standard for designers to use in +-- : describing VHDL models that make use of common REAL +-- : constants and common REAL elementary mathematical +-- : functions. +-- : +-- Limitation: The values generated by the functions in this package +-- : may vary from platform to platform, and the precision +-- : of results is only guaranteed to be the minimum required +-- : by IEEE Std 1076-2008. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package MATH_REAL is + constant CopyRightNotice : STRING + := "Copyright 2008 IEEE. All rights reserved."; + + -- + -- Constant Definitions + -- + constant MATH_E : REAL := 2.71828_18284_59045_23536; + -- Value of e + constant MATH_1_OVER_E : REAL := 0.36787_94411_71442_32160; + -- Value of 1/e + constant MATH_PI : REAL := 3.14159_26535_89793_23846; + -- Value of pi + constant MATH_2_PI : REAL := 6.28318_53071_79586_47693; + -- Value of 2*pi + constant MATH_1_OVER_PI : REAL := 0.31830_98861_83790_67154; + -- Value of 1/pi + constant MATH_PI_OVER_2 : REAL := 1.57079_63267_94896_61923; + -- Value of pi/2 + constant MATH_PI_OVER_3 : REAL := 1.04719_75511_96597_74615; + -- Value of pi/3 + constant MATH_PI_OVER_4 : REAL := 0.78539_81633_97448_30962; + -- Value of pi/4 + constant MATH_3_PI_OVER_2 : REAL := 4.71238_89803_84689_85769; + -- Value 3*pi/2 + constant MATH_LOG_OF_2 : REAL := 0.69314_71805_59945_30942; + -- Natural log of 2 + constant MATH_LOG_OF_10 : REAL := 2.30258_50929_94045_68402; + -- Natural log of 10 + constant MATH_LOG2_OF_E : REAL := 1.44269_50408_88963_4074; + -- Log base 2 of e + constant MATH_LOG10_OF_E : REAL := 0.43429_44819_03251_82765; + -- Log base 10 of e + constant MATH_SQRT_2 : REAL := 1.41421_35623_73095_04880; + -- square root of 2 + constant MATH_1_OVER_SQRT_2 : REAL := 0.70710_67811_86547_52440; + -- square root of 1/2 + constant MATH_SQRT_PI : REAL := 1.77245_38509_05516_02730; + -- square root of pi + constant MATH_DEG_TO_RAD : REAL := 0.01745_32925_19943_29577; + -- Conversion factor from degree to radian + constant MATH_RAD_TO_DEG : REAL := 57.29577_95130_82320_87680; + -- Conversion factor from radian to degree + + -- + -- Function Declarations + -- + function SIGN (X : in REAL) return REAL; + -- Purpose: + -- Returns 1.0 if X > 0.0; 0.0 if X = 0.0; -1.0 if X < 0.0 + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(SIGN(X)) <= 1.0 + -- Notes: + -- None + + function CEIL (X : in REAL) return REAL; + -- Purpose: + -- Returns smallest INTEGER value (as REAL) not less than X + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- CEIL(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function FLOOR (X : in REAL) return REAL; + -- Purpose: + -- Returns largest INTEGER value (as REAL) not greater than X + -- Special values: + -- FLOOR(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- FLOOR(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function ROUND (X : in REAL) return REAL; + -- Purpose: + -- Rounds X to the nearest integer value (as real). If X is + -- halfway between two integers, rounding is away from 0.0 + -- Special values: + -- ROUND(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ROUND(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function TRUNC (X : in REAL) return REAL; + -- Purpose: + -- Truncates X towards 0.0 and returns truncated value + -- Special values: + -- TRUNC(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- TRUNC(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function "MOD" (X, Y : in REAL) return REAL; + -- Purpose: + -- Returns floating point modulus of X/Y, with the same sign as + -- Y, and absolute value less than the absolute value of Y, and + -- for some INTEGER value N the result satisfies the relation + -- X = Y*N + MOD(X,Y) + -- Special values: + -- None + -- Domain: + -- X in REAL; Y in REAL and Y /= 0.0 + -- Error conditions: + -- Error if Y = 0.0 + -- Range: + -- ABS(MOD(X,Y)) < ABS(Y) + -- Notes: + -- None + + function REALMAX (X, Y : in REAL) return REAL; + -- Purpose: + -- Returns the algebraically larger of X and Y + -- Special values: + -- REALMAX(X,Y) = X when X = Y + -- Domain: + -- X in REAL; Y in REAL + -- Error conditions: + -- None + -- Range: + -- REALMAX(X,Y) is mathematically unbounded + -- Notes: + -- None + + function REALMIN (X, Y : in REAL) return REAL; + -- Purpose: + -- Returns the algebraically smaller of X and Y + -- Special values: + -- REALMIN(X,Y) = X when X = Y + -- Domain: + -- X in REAL; Y in REAL + -- Error conditions: + -- None + -- Range: + -- REALMIN(X,Y) is mathematically unbounded + -- Notes: + -- None + + procedure UNIFORM(variable SEED1, SEED2 : inout POSITIVE; variable X : out REAL); + -- Purpose: + -- Returns, in X, a pseudo-random number with uniform + -- distribution in the open interval (0.0, 1.0). + -- Special values: + -- None + -- Domain: + -- 1 <= SEED1 <= 2147483562; 1 <= SEED2 <= 2147483398 + -- Error conditions: + -- Error if SEED1 or SEED2 outside of valid domain + -- Range: + -- 0.0 < X < 1.0 + -- Notes: + -- a) The semantics for this function are described by the + -- algorithm published by Pierre L'Ecuyer in "Communications + -- of the ACM," vol. 31, no. 6, June 1988, pp. 742-774. + -- The algorithm is based on the combination of two + -- multiplicative linear congruential generators for 32-bit + -- platforms. + -- + -- b) Before the first call to UNIFORM, the seed values + -- (SEED1, SEED2) have to be initialized to values in the range + -- [1, 2147483562] and [1, 2147483398] respectively. The + -- seed values are modified after each call to UNIFORM. + -- + -- c) This random number generator is portable for 32-bit + -- computers, and it has a period of ~2.30584*(10**18) for each + -- set of seed values. + -- + -- d) For information on spectral tests for the algorithm, refer + -- to the L'Ecuyer article. + + function SQRT (X : in REAL) return REAL; + -- Purpose: + -- Returns square root of X + -- Special values: + -- SQRT(0.0) = 0.0 + -- SQRT(1.0) = 1.0 + -- Domain: + -- X >= 0.0 + -- Error conditions: + -- Error if X < 0.0 + -- Range: + -- SQRT(X) >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range of SQRT is + -- approximately given by: + -- SQRT(X) <= SQRT(REAL'HIGH) + + function CBRT (X : in REAL) return REAL; + -- Purpose: + -- Returns cube root of X + -- Special values: + -- CBRT(0.0) = 0.0 + -- CBRT(1.0) = 1.0 + -- CBRT(-1.0) = -1.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- CBRT(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of CBRT is approximately given by: + -- ABS(CBRT(X)) <= CBRT(REAL'HIGH) + + function "**" (X : in INTEGER; Y : in REAL) return REAL; + -- Purpose: + -- Returns Y power of X ==> X**Y + -- Special values: + -- X**0.0 = 1.0; X /= 0 + -- 0**Y = 0.0; Y > 0.0 + -- X**1.0 = REAL(X); X >= 0 + -- 1**Y = 1.0 + -- Domain: + -- X > 0 + -- X = 0 for Y > 0.0 + -- X < 0 for Y = 0.0 + -- Error conditions: + -- Error if X < 0 and Y /= 0.0 + -- Error if X = 0 and Y <= 0.0 + -- Range: + -- X**Y >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range for "**" is + -- approximately given by: + -- X**Y <= REAL'HIGH + + function "**" (X : in REAL; Y : in REAL) return REAL; + -- Purpose: + -- Returns Y power of X ==> X**Y + -- Special values: + -- X**0.0 = 1.0; X /= 0.0 + -- 0.0**Y = 0.0; Y > 0.0 + -- X**1.0 = X; X >= 0.0 + -- 1.0**Y = 1.0 + -- Domain: + -- X > 0.0 + -- X = 0.0 for Y > 0.0 + -- X < 0.0 for Y = 0.0 + -- Error conditions: + -- Error if X < 0.0 and Y /= 0.0 + -- Error if X = 0.0 and Y <= 0.0 + -- Range: + -- X**Y >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range for "**" is + -- approximately given by: + -- X**Y <= REAL'HIGH + + function EXP (X : in REAL) return REAL; + -- Purpose: + -- Returns e**X; where e = MATH_E + -- Special values: + -- EXP(0.0) = 1.0 + -- EXP(1.0) = MATH_E + -- EXP(-1.0) = MATH_1_OVER_E + -- EXP(X) = 0.0 for X <= -LOG(REAL'HIGH) + -- Domain: + -- X in REAL such that EXP(X) <= REAL'HIGH + -- Error conditions: + -- Error if X > LOG(REAL'HIGH) + -- Range: + -- EXP(X) >= 0.0 + -- Notes: + -- a) The usable domain of EXP is approximately given by: + -- X <= LOG(REAL'HIGH) + + function LOG (X : in REAL) return REAL; + -- Purpose: + -- Returns natural logarithm of X + -- Special values: + -- LOG(1.0) = 0.0 + -- LOG(MATH_E) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG is approximately given by: + -- LOG(0+) <= LOG(X) <= LOG(REAL'HIGH) + + function LOG2 (X : in REAL) return REAL; + -- Purpose: + -- Returns logarithm base 2 of X + -- Special values: + -- LOG2(1.0) = 0.0 + -- LOG2(2.0) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG2(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG2 is approximately given by: + -- LOG2(0+) <= LOG2(X) <= LOG2(REAL'HIGH) + + function LOG10 (X : in REAL) return REAL; + -- Purpose: + -- Returns logarithm base 10 of X + -- Special values: + -- LOG10(1.0) = 0.0 + -- LOG10(10.0) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG10(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG10 is approximately given by: + -- LOG10(0+) <= LOG10(X) <= LOG10(REAL'HIGH) + + function LOG (X : in REAL; BASE : in REAL) return REAL; + -- Purpose: + -- Returns logarithm base BASE of X + -- Special values: + -- LOG(1.0, BASE) = 0.0 + -- LOG(BASE, BASE) = 1.0 + -- Domain: + -- X > 0.0 + -- BASE > 0.0 + -- BASE /= 1.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Error if BASE <= 0.0 + -- Error if BASE = 1.0 + -- Range: + -- LOG(X, BASE) is mathematically unbounded + -- Notes: + -- a) When BASE > 1.0, the reachable range of LOG is + -- approximately given by: + -- LOG(0+, BASE) <= LOG(X, BASE) <= LOG(REAL'HIGH, BASE) + -- b) When 0.0 < BASE < 1.0, the reachable range of LOG is + -- approximately given by: + -- LOG(REAL'HIGH, BASE) <= LOG(X, BASE) <= LOG(0+, BASE) + + function SIN (X : in REAL) return REAL; + -- Purpose: + -- Returns sine of X; X in radians + -- Special values: + -- SIN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER + -- SIN(X) = 1.0 for X = (4*k+1)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- SIN(X) = -1.0 for X = (4*k+3)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(SIN(X)) <= 1.0 + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function COS (X : in REAL) return REAL; + -- Purpose: + -- Returns cosine of X; X in radians + -- Special values: + -- COS(X) = 0.0 for X = (2*k+1)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- COS(X) = 1.0 for X = (2*k)*MATH_PI, where k is an INTEGER + -- COS(X) = -1.0 for X = (2*k+1)*MATH_PI, where k is an INTEGER + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(COS(X)) <= 1.0 + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function TAN (X : in REAL) return REAL; + -- Purpose: + -- Returns tangent of X; X in radians + -- Special values: + -- TAN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER + -- Domain: + -- X in REAL and + -- X /= (2*k+1)*MATH_PI_OVER_2, where k is an INTEGER + -- Error conditions: + -- Error if X = ((2*k+1) * MATH_PI_OVER_2), where k is an + -- INTEGER + -- Range: + -- TAN(X) is mathematically unbounded + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function ARCSIN (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse sine of X + -- Special values: + -- ARCSIN(0.0) = 0.0 + -- ARCSIN(1.0) = MATH_PI_OVER_2 + -- ARCSIN(-1.0) = -MATH_PI_OVER_2 + -- Domain: + -- ABS(X) <= 1.0 + -- Error conditions: + -- Error if ABS(X) > 1.0 + -- Range: + -- ABS(ARCSIN(X) <= MATH_PI_OVER_2 + -- Notes: + -- None + + function ARCCOS (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse cosine of X + -- Special values: + -- ARCCOS(1.0) = 0.0 + -- ARCCOS(0.0) = MATH_PI_OVER_2 + -- ARCCOS(-1.0) = MATH_PI + -- Domain: + -- ABS(X) <= 1.0 + -- Error conditions: + -- Error if ABS(X) > 1.0 + -- Range: + -- 0.0 <= ARCCOS(X) <= MATH_PI + -- Notes: + -- None + + function ARCTAN (Y : in REAL) return REAL; + -- Purpose: + -- Returns the value of the angle in radians of the point + -- (1.0, Y), which is in rectangular coordinates + -- Special values: + -- ARCTAN(0.0) = 0.0 + -- Domain: + -- Y in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(ARCTAN(Y)) <= MATH_PI_OVER_2 + -- Notes: + -- None + + function ARCTAN (Y : in REAL; X : in REAL) return REAL; + -- Purpose: + -- Returns the principal value of the angle in radians of + -- the point (X, Y), which is in rectangular coordinates + -- Special values: + -- ARCTAN(0.0, X) = 0.0 if X > 0.0 + -- ARCTAN(0.0, X) = MATH_PI if X < 0.0 + -- ARCTAN(Y, 0.0) = MATH_PI_OVER_2 if Y > 0.0 + -- ARCTAN(Y, 0.0) = -MATH_PI_OVER_2 if Y < 0.0 + -- Domain: + -- Y in REAL + -- X in REAL, X /= 0.0 when Y = 0.0 + -- Error conditions: + -- Error if X = 0.0 and Y = 0.0 + -- Range: + -- -MATH_PI < ARCTAN(Y,X) <= MATH_PI + -- Notes: + -- None + + function SINH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic sine of X + -- Special values: + -- SINH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- SINH(X) is mathematically unbounded + -- Notes: + -- a) The usable domain of SINH is approximately given by: + -- ABS(X) <= LOG(REAL'HIGH) + + + function COSH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic cosine of X + -- Special values: + -- COSH(0.0) = 1.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- COSH(X) >= 1.0 + -- Notes: + -- a) The usable domain of COSH is approximately given by: + -- ABS(X) <= LOG(REAL'HIGH) + + function TANH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic tangent of X + -- Special values: + -- TANH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(TANH(X)) <= 1.0 + -- Notes: + -- None + + function ARCSINH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic sine of X + -- Special values: + -- ARCSINH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ARCSINH(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of ARCSINH is approximately given by: + -- ABS(ARCSINH(X)) <= LOG(REAL'HIGH) + + function ARCCOSH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic cosine of X + -- Special values: + -- ARCCOSH(1.0) = 0.0 + -- Domain: + -- X >= 1.0 + -- Error conditions: + -- Error if X < 1.0 + -- Range: + -- ARCCOSH(X) >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range of ARCCOSH is + -- approximately given by: ARCCOSH(X) <= LOG(REAL'HIGH) + + function ARCTANH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic tangent of X + -- Special values: + -- ARCTANH(0.0) = 0.0 + -- Domain: + -- ABS(X) < 1.0 + -- Error conditions: + -- Error if ABS(X) >= 1.0 + -- Range: + -- ARCTANH(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of ARCTANH is approximately given by: + -- ABS(ARCTANH(X)) < LOG(REAL'HIGH) + attribute foreign of MATH_REAL: package is "NO C code generation"; + + attribute foreign of sign[real return real]:function is "ieee_math_real_sign"; + attribute foreign of ceil[real return real]:function is "ieee_math_real_ceil"; + attribute foreign of floor[real return real]:function is "ieee_math_real_floor"; + attribute foreign of trunc[real return real]:function is "ieee_math_real_trunc"; + attribute foreign of round[real return real]:function is "ieee_math_real_round"; + attribute foreign of "MOD"[real, real return real]:function is "ieee_math_real_mod"; + attribute foreign of realmax[real, real return real]:function is "ieee_math_real_realmax"; + attribute foreign of realmin[real, real return real]:function is "ieee_math_real_realmin"; + attribute foreign of uniform[positive, positive,real]:procedure is "ieee_math_real_uniform"; + attribute foreign of sqrt[real return real]:function is "ieee_math_real_sqrt"; + attribute foreign of cbrt[real return real]:function is "ieee_math_real_cbrt"; + attribute foreign of "**"[integer, real return real]:function is "ieee_math_real_pow_int"; + attribute foreign of "**"[real, real return real]:function is "ieee_math_real_pow_real"; + attribute foreign of exp[real return real]:function is "ieee_math_real_exp"; + attribute foreign of log[real return real]:function is "ieee_math_real_log"; + attribute foreign of log2[real return real]:function is "ieee_math_real_log2"; + attribute foreign of log10[real return real]:function is "ieee_math_real_log10"; + attribute foreign of log[real, real return real]:function is "ieee_math_real_log_base"; + attribute foreign of sin[real return real]:function is "ieee_math_real_sin"; + attribute foreign of cos[real return real]:function is "ieee_math_real_cos"; + attribute foreign of tan[real return real]:function is "ieee_math_real_tan"; + attribute foreign of arcsin[real return real]:function is "ieee_math_real_arcsin"; + attribute foreign of arccos[real return real]:function is "ieee_math_real_arccos"; + attribute foreign of arctan[real return real]:function is "ieee_math_real_arctan"; + attribute foreign of arctan[real,real return real]:function is "ieee_math_real_arctan2"; + attribute foreign of sinh[real return real]:function is "ieee_math_real_sinh"; + attribute foreign of cosh[real return real]:function is "ieee_math_real_cosh"; + attribute foreign of tanh[real return real]:function is "ieee_math_real_tanh"; + attribute foreign of arcsinh[real return real]:function is "ieee_math_real_arcsinh"; + attribute foreign of arccosh[real return real]:function is "ieee_math_real_arccosh"; + attribute foreign of arctanh[real return real]:function is "ieee_math_real_arctanh"; + +end package MATH_REAL; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl new file mode 100644 index 0000000..18b3835 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl @@ -0,0 +1,3045 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_BIT package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC Synthesis Working Group, +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Two numeric types are defined: +-- : -- > UNSIGNED: represents an UNSIGNED number in vector form +-- : -- > SIGNED: represents a SIGNED number in vector form +-- : The base element type is type BIT. +-- : The leftmost bit is treated as the most significant bit. +-- : Signed vectors are represented in two's complement form. +-- : This package contains overloaded arithmetic operators on +-- : the SIGNED and UNSIGNED types. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package body NUMERIC_BIT is + + -- null range array constants + + constant NAU : UNSIGNED(0 downto 1) := (others => '0'); + constant NAS : SIGNED(0 downto 1) := (others => '0'); + + -- implementation controls + + constant NO_WARNING : BOOLEAN := false; -- default to emit warnings + + -- =========================Local Subprograms ================================= + + function SIGNED_NUM_BITS (ARG : INTEGER) return NATURAL is + variable NBITS : NATURAL; + variable N : NATURAL; + begin + if ARG >= 0 then + N := ARG; + else + N := -(ARG+1); + end if; + NBITS := 1; + while N > 0 loop + NBITS := NBITS+1; + N := N / 2; + end loop; + return NBITS; + end function SIGNED_NUM_BITS; + + function UNSIGNED_NUM_BITS (ARG : NATURAL) return NATURAL is + variable NBITS : NATURAL; + variable N : NATURAL; + begin + N := ARG; + NBITS := 1; + while N > 1 loop + NBITS := NBITS+1; + N := N / 2; + end loop; + return NBITS; + end function UNSIGNED_NUM_BITS; + + ------------------------------------------------------------------------------ + -- this internal function computes the addition of two UNSIGNED + -- with input carry + -- * the two arguments are of the same length + + function ADD_UNSIGNED (L, R : UNSIGNED; C : BIT) return UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNSIGNED(L_LEFT downto 0) is R; + variable RESULT : UNSIGNED(L_LEFT downto 0); + variable CBIT : BIT := C; + begin + for I in 0 to L_LEFT loop + RESULT(I) := CBIT xor XL(I) xor XR(I); + CBIT := (CBIT and XL(I)) or (CBIT and XR(I)) or (XL(I) and XR(I)); + end loop; + return RESULT; + end function ADD_UNSIGNED; + + -- this internal function computes the addition of two SIGNED + -- with input carry + -- * the two arguments are of the same length + + function ADD_SIGNED (L, R : SIGNED; C : BIT) return SIGNED is + constant L_LEFT : INTEGER := L'length-1; + alias XL : SIGNED(L_LEFT downto 0) is L; + alias XR : SIGNED(L_LEFT downto 0) is R; + variable RESULT : SIGNED(L_LEFT downto 0); + variable CBIT : BIT := C; + begin + for I in 0 to L_LEFT loop + RESULT(I) := CBIT xor XL(I) xor XR(I); + CBIT := (CBIT and XL(I)) or (CBIT and XR(I)) or (XL(I) and XR(I)); + end loop; + return RESULT; + end function ADD_SIGNED; + + ------------------------------------------------------------------------------ + + -- this internal procedure computes UNSIGNED division + -- giving the quotient and remainder. + procedure DIVMOD (NUM, XDENOM : UNSIGNED; XQUOT, XREMAIN : out UNSIGNED) is + variable TEMP : UNSIGNED(NUM'length downto 0); + variable QUOT : UNSIGNED(MAXIMUM(NUM'length, XDENOM'length)-1 downto 0); + alias DENOM : UNSIGNED(XDENOM'length-1 downto 0) is XDENOM; + variable TOPBIT : INTEGER; + begin + TEMP := "0"&NUM; + QUOT := (others => '0'); + TOPBIT := -1; + for J in DENOM'range loop + if DENOM(J) = '1' then + TOPBIT := J; + exit; + end if; + end loop; + assert TOPBIT >= 0 report "NUMERIC_BIT.DIVMOD: DIV, MOD, or REM by zero" + severity error; + + for J in NUM'length-(TOPBIT+1) downto 0 loop + if TEMP(TOPBIT+J+1 downto J) >= "0"&DENOM(TOPBIT downto 0) then + TEMP(TOPBIT+J+1 downto J) := (TEMP(TOPBIT+J+1 downto J)) + -("0"&DENOM(TOPBIT downto 0)); + QUOT(J) := '1'; + end if; + assert TEMP(TOPBIT+J+1) = '0' + report "NUMERIC_BIT.DIVMOD: internal error in the division algorithm" + severity error; + end loop; + XQUOT := RESIZE(QUOT, XQUOT'length); + XREMAIN := RESIZE(TEMP, XREMAIN'length); + end procedure DIVMOD; + + -----------------Local Subprograms - shift/rotate ops------------------------- + + function XSLL (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : BIT_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : BIT_VECTOR(ARG_L downto 0) := (others => '0'); + begin + if COUNT <= ARG_L then + RESULT(ARG_L downto COUNT) := XARG(ARG_L-COUNT downto 0); + end if; + return RESULT; + end function XSLL; + + function XSRL (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : BIT_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : BIT_VECTOR(ARG_L downto 0) := (others => '0'); + begin + if COUNT <= ARG_L then + RESULT(ARG_L-COUNT downto 0) := XARG(ARG_L downto COUNT); + end if; + return RESULT; + end function XSRL; + + function XSRA (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : BIT_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : BIT_VECTOR(ARG_L downto 0); + variable XCOUNT : NATURAL := COUNT; + begin + if ((ARG'length <= 1) or (XCOUNT = 0)) then return ARG; + else + if (XCOUNT > ARG_L) then XCOUNT := ARG_L; + end if; + RESULT(ARG_L-XCOUNT downto 0) := XARG(ARG_L downto XCOUNT); + RESULT(ARG_L downto (ARG_L - XCOUNT + 1)) := (others => XARG(ARG_L)); + end if; + return RESULT; + end function XSRA; + + function XROL (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : BIT_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : BIT_VECTOR(ARG_L downto 0) := XARG; + variable COUNTM : INTEGER; + begin + COUNTM := COUNT mod (ARG_L + 1); + if COUNTM /= 0 then + RESULT(ARG_L downto COUNTM) := XARG(ARG_L-COUNTM downto 0); + RESULT(COUNTM-1 downto 0) := XARG(ARG_L downto ARG_L-COUNTM+1); + end if; + return RESULT; + end function XROL; + + function XROR (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : BIT_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : BIT_VECTOR(ARG_L downto 0) := XARG; + variable COUNTM : INTEGER; + begin + COUNTM := COUNT mod (ARG_L + 1); + if COUNTM /= 0 then + RESULT(ARG_L-COUNTM downto 0) := XARG(ARG_L downto COUNTM); + RESULT(ARG_L downto ARG_L-COUNTM+1) := XARG(COUNTM-1 downto 0); + end if; + return RESULT; + end function XROR; + + ---------------- Local Subprograms - Relational Operators -------------------- + + -- + -- General "=" for UNSIGNED vectors, same length + -- + function UNSIGNED_EQUAL (L, R : UNSIGNED) return BOOLEAN is + begin + return BIT_VECTOR(L) = BIT_VECTOR(R); + end function UNSIGNED_EQUAL; + + -- + -- General "=" for SIGNED vectors, same length + -- + function SIGNED_EQUAL (L, R : SIGNED) return BOOLEAN is + begin + return BIT_VECTOR(L) = BIT_VECTOR(R); + end function SIGNED_EQUAL; + + -- + -- General "<" for UNSIGNED vectors, same length + -- + function UNSIGNED_LESS (L, R : UNSIGNED) return BOOLEAN is + begin + return BIT_VECTOR(L) < BIT_VECTOR(R); + end function UNSIGNED_LESS; + + -- + -- General "<" function for SIGNED vectors, same length + -- + function SIGNED_LESS (L, R : SIGNED) return BOOLEAN is + -- Need aliases to assure index direction + variable INTERN_L : SIGNED(0 to L'length-1); + variable INTERN_R : SIGNED(0 to R'length-1); + begin + INTERN_L := L; + INTERN_R := R; + INTERN_L(0) := not INTERN_L(0); + INTERN_R(0) := not INTERN_R(0); + return BIT_VECTOR(INTERN_L) < BIT_VECTOR(INTERN_R); + end function SIGNED_LESS; + + -- + -- General "<=" function for UNSIGNED vectors, same length + -- + function UNSIGNED_LESS_OR_EQUAL (L, R : UNSIGNED) return BOOLEAN is + begin + return BIT_VECTOR(L) <= BIT_VECTOR(R); + end function UNSIGNED_LESS_OR_EQUAL; + + -- + -- General "<=" function for SIGNED vectors, same length + -- + function SIGNED_LESS_OR_EQUAL (L, R : SIGNED) return BOOLEAN is + -- Need aliases to assure index direction + variable INTERN_L : SIGNED(0 to L'length-1); + variable INTERN_R : SIGNED(0 to R'length-1); + begin + INTERN_L := L; + INTERN_R := R; + INTERN_L(0) := not INTERN_L(0); + INTERN_R(0) := not INTERN_R(0); + return BIT_VECTOR(INTERN_L) <= BIT_VECTOR(INTERN_R); + end function SIGNED_LESS_OR_EQUAL; + + -- ====================== Exported Functions ================================== + + -- Id: A.1 + function "abs" (ARG : SIGNED) return SIGNED is + constant ARG_LEFT : INTEGER := ARG'length-1; + variable RESULT : SIGNED(ARG_LEFT downto 0); + begin + if ARG'length < 1 then return NAS; + end if; + RESULT := ARG; + if RESULT(RESULT'left) = '1' then + RESULT := -RESULT; + end if; + return RESULT; + end function "abs"; + + -- Id: A.2 + function "-" (ARG : SIGNED) return SIGNED is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : SIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT : SIGNED(ARG_LEFT downto 0); + variable CBIT : BIT := '1'; + begin + if ARG'length < 1 then return NAS; + end if; + for I in 0 to RESULT'left loop + RESULT(I) := not(XARG(I)) xor CBIT; + CBIT := CBIT and not(XARG(I)); + end loop; + return RESULT; + end function "-"; + + -- ============================================================================ + + -- Id: A.3 + function "+" (L, R : UNSIGNED) return UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + return ADD_UNSIGNED(RESIZE(L, SIZE), RESIZE(R, SIZE), '0'); + end function "+"; + + -- Id: A.3R + function "+" (L : UNSIGNED; R : BIT) return UNSIGNED is + variable XR : UNSIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L + XR); + end function "+"; + + -- Id: A.3L + function "+" (L : BIT; R : UNSIGNED) return UNSIGNED is + variable XL : UNSIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL + R); + end function "+"; + + -- Id: A.4 + function "+" (L, R : SIGNED) return SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + return ADD_SIGNED(RESIZE(L, SIZE), RESIZE(R, SIZE), '0'); + end function "+"; + + -- Id: A.4R + function "+" (L : SIGNED; R : BIT) return SIGNED is + variable XR : SIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L + XR); + end function "+"; + + -- Id: A.4L + function "+" (L : BIT; R : SIGNED) return SIGNED is + variable XL : SIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL + R); + end function "+"; + + -- Id: A.5 + function "+" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + begin + return L + TO_UNSIGNED(R, L'length); + end function "+"; + + -- Id: A.6 + function "+" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) + R; + end function "+"; + + -- Id: A.7 + function "+" (L : SIGNED; R : INTEGER) return SIGNED is + begin + return L + TO_SIGNED(R, L'length); + end function "+"; + + -- Id: A.8 + function "+" (L : INTEGER; R : SIGNED) return SIGNED is + begin + return TO_SIGNED(L, R'length) + R; + end function "+"; + + -- ============================================================================ + + -- Id: A.9 + function "-" (L, R : UNSIGNED) return UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + return ADD_UNSIGNED(RESIZE(L, SIZE), + not(RESIZE(R, SIZE)), + '1'); + end function "-"; + + -- Id: A.9R + function "-" (L : UNSIGNED; R : BIT) return UNSIGNED is + variable XR : UNSIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L - XR); + end function "-"; + + -- Id: A.9L + function "-" (L : BIT; R : UNSIGNED) return UNSIGNED is + variable XL : UNSIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL - R); + end function "-"; + + -- Id: A.10 + function "-" (L, R : SIGNED) return SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + return ADD_SIGNED(RESIZE(L, SIZE), + not(RESIZE(R, SIZE)), + '1'); + end function "-"; + + -- Id: A.10R + function "-" (L : SIGNED; R : BIT) return SIGNED is + variable XR : SIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L - XR); + end function "-"; + + -- Id: A.10L + function "-" (L : BIT; R : SIGNED) return SIGNED is + variable XL : SIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL - R); + end function "-"; + + -- Id: A.11 + function "-" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + begin + return L - TO_UNSIGNED(R, L'length); + end function "-"; + + -- Id: A.12 + function "-" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) - R; + end function "-"; + + -- Id: A.13 + function "-" (L : SIGNED; R : INTEGER) return SIGNED is + begin + return L - TO_SIGNED(R, L'length); + end function "-"; + + -- Id: A.14 + function "-" (L : INTEGER; R : SIGNED) return SIGNED is + begin + return TO_SIGNED(L, R'length) - R; + end function "-"; + + -- ============================================================================ + + -- Id: A.15 + function "*" (L, R : UNSIGNED) return UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNSIGNED(R_LEFT downto 0) is R; + variable RESULT : UNSIGNED((L'length+R'length-1) downto 0) := (others => '0'); + variable ADVAL : UNSIGNED((L'length+R'length-1) downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + ADVAL := RESIZE(XR, RESULT'length); + for I in 0 to L_LEFT loop + if XL(I) = '1' then RESULT := RESULT + ADVAL; + end if; + ADVAL := SHIFT_LEFT(ADVAL, 1); + end loop; + return RESULT; + end function "*"; + + -- Id: A.16 + function "*" (L, R : SIGNED) return SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + variable XL : SIGNED(L_LEFT downto 0); + variable XR : SIGNED(R_LEFT downto 0); + variable RESULT : SIGNED((L_LEFT+R_LEFT+1) downto 0) := (others => '0'); + variable ADVAL : SIGNED((L_LEFT+R_LEFT+1) downto 0); + begin + if ((L_LEFT < 0) or (R_LEFT < 0)) then return NAS; + end if; + XL := L; + XR := R; + ADVAL := RESIZE(XR, RESULT'length); + for I in 0 to L_LEFT-1 loop + if XL(I) = '1' then RESULT := RESULT + ADVAL; + end if; + ADVAL := SHIFT_LEFT(ADVAL, 1); + end loop; + if XL(L_LEFT) = '1' then + RESULT := RESULT - ADVAL; + end if; + return RESULT; + end function "*"; + + -- Id: A.17 + function "*" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + begin + return L * TO_UNSIGNED(R, L'length); + end function "*"; + + -- Id: A.18 + function "*" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) * R; + end function "*"; + + -- Id: A.19 + function "*" (L : SIGNED; R : INTEGER) return SIGNED is + begin + return L * TO_SIGNED(R, L'length); + end function "*"; + + -- Id: A.20 + function "*" (L : INTEGER; R : SIGNED) return SIGNED is + begin + return TO_SIGNED(L, R'length) * R; + end function "*"; + + -- ============================================================================ + + -- Id: A.21 + function "/" (L, R : UNSIGNED) return UNSIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + DIVMOD(L, R, FQUOT, FREMAIN); + return FQUOT; + end function "/"; + + -- Id: A.22 + function "/" (L, R : SIGNED) return SIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + variable XNUM : UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNSIGNED(R'length-1 downto 0); + variable QNEG : BOOLEAN := false; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + if L(L'left) = '1' then + XNUM := UNSIGNED(-L); + QNEG := true; + else + XNUM := UNSIGNED(L); + end if; + if R(R'left) = '1' then + XDENOM := UNSIGNED(-R); + QNEG := not QNEG; + else + XDENOM := UNSIGNED(R); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if QNEG then FQUOT := "0"-FQUOT; + end if; + return SIGNED(FQUOT); + end function "/"; + + -- Id: A.23 + function "/" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, QUOT : UNSIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAU; + end if; + if (R_LENGTH > L'length) then + QUOT := (others => '0'); + return RESIZE(QUOT, L'length); + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + QUOT := RESIZE((L / XR), QUOT'length); + return RESIZE(QUOT, L'length); + end function "/"; + + -- Id: A.24 + function "/" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, QUOT : UNSIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAU; + end if; + XL := TO_UNSIGNED(L, L_LENGTH); + QUOT := RESIZE((XL / R), QUOT'length); + if L_LENGTH > R'length + and QUOT(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_BIT.""/"": Quotient Truncated" + severity warning; + end if; + return RESIZE(QUOT, R'length); + end function "/"; + + -- Id: A.25 + function "/" (L : SIGNED; R : INTEGER) return SIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, QUOT : SIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAS; + end if; + if (R_LENGTH > L'length) then + QUOT := (others => '0'); + return RESIZE(QUOT, L'length); + end if; + XR := TO_SIGNED(R, R_LENGTH); + QUOT := RESIZE((L / XR), QUOT'length); + return RESIZE(QUOT, L'length); + end function "/"; + + -- Id: A.26 + function "/" (L : INTEGER; R : SIGNED) return SIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, QUOT : SIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + QUOT := RESIZE((XL / R), QUOT'length); + if L_LENGTH > R'length and QUOT(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => QUOT(R'length-1)) + then + assert NO_WARNING report "NUMERIC_BIT.""/"": Quotient Truncated" + severity warning; + end if; + return RESIZE(QUOT, R'length); + end function "/"; + + -- ============================================================================ + + -- Id: A.27 + function "rem" (L, R : UNSIGNED) return UNSIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + DIVMOD(L, R, FQUOT, FREMAIN); + return FREMAIN; + end function "rem"; + + -- Id: A.28 + function "rem" (L, R : SIGNED) return SIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + variable XNUM : UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNSIGNED(R'length-1 downto 0); + variable RNEG : BOOLEAN := false; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + if L(L'left) = '1' then + XNUM := UNSIGNED(-L); + RNEG := true; + else + XNUM := UNSIGNED(L); + end if; + if R(R'left) = '1' then + XDENOM := UNSIGNED(-R); + else + XDENOM := UNSIGNED(R); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if RNEG then + FREMAIN := "0"-FREMAIN; + end if; + return SIGNED(FREMAIN); + end function "rem"; + + -- Id: A.29 + function "rem" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, XREM : UNSIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAU; + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + XREM := RESIZE((L rem XR), XREM'length); + if R_LENGTH > L'length and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => '0') + then + assert NO_WARNING report "NUMERIC_BIT.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "rem"; + + -- Id: A.30 + function "rem" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNSIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAU; + end if; + XL := TO_UNSIGNED(L, L_LENGTH); + XREM := RESIZE((XL rem R), XREM'length); + if L_LENGTH > R'length and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_BIT.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "rem"; + + -- Id: A.31 + function "rem" (L : SIGNED; R : INTEGER) return SIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, XREM : SIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAS; + end if; + XR := TO_SIGNED(R, R_LENGTH); + XREM := RESIZE((L rem XR), XREM'length); + if R_LENGTH > L'length and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => XREM(L'length-1)) + then + assert NO_WARNING report "NUMERIC_BIT.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "rem"; + + -- Id: A.32 + function "rem" (L : INTEGER; R : SIGNED) return SIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, XREM : SIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + XREM := RESIZE((XL rem R), XREM'length); + if L_LENGTH > R'length and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => XREM(R'length-1)) + then + assert NO_WARNING report "NUMERIC_BIT.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "rem"; + + -- ============================================================================ + + -- Id: A.33 + function "mod" (L, R : UNSIGNED) return UNSIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + DIVMOD(L, R, FQUOT, FREMAIN); + return FREMAIN; + end function "mod"; + + -- Id: A.34 + function "mod" (L, R : SIGNED) return SIGNED is + variable FQUOT : UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNSIGNED(R'length-1 downto 0); + variable XNUM : UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNSIGNED(R'length-1 downto 0); + variable RNEG : BOOLEAN := false; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + if L(L'left) = '1' then + XNUM := UNSIGNED(-L); + else + XNUM := UNSIGNED(L); + end if; + if R(R'left) = '1' then + XDENOM := UNSIGNED(-R); + RNEG := true; + else + XDENOM := UNSIGNED(R); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if RNEG and L(L'left) = '1' then + FREMAIN := "0"-FREMAIN; + elsif RNEG and FREMAIN /= "0" then + FREMAIN := FREMAIN-XDENOM; + elsif L(L'left) = '1' and FREMAIN /= "0" then + FREMAIN := XDENOM-FREMAIN; + end if; + return SIGNED(FREMAIN); + end function "mod"; + + -- Id: A.35 + function "mod" (L : UNSIGNED; R : NATURAL) return UNSIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, XREM : UNSIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAU; + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + XREM := RESIZE((L mod XR), XREM'length); + if R_LENGTH > L'length and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => '0') + then + assert NO_WARNING report "NUMERIC_BIT.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "mod"; + + -- Id: A.36 + function "mod" (L : NATURAL; R : UNSIGNED) return UNSIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNSIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAU; + end if; + XL := TO_UNSIGNED(L, L_LENGTH); + XREM := RESIZE((XL mod R), XREM'length); + if L_LENGTH > R'length and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_BIT.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "mod"; + + -- Id: A.37 + function "mod" (L : SIGNED; R : INTEGER) return SIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, XREM : SIGNED(R_LENGTH-1 downto 0); + begin + if (L'length < 1) then return NAS; + end if; + XR := TO_SIGNED(R, R_LENGTH); + XREM := RESIZE((L mod XR), XREM'length); + if R_LENGTH > L'length and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => XREM(L'length-1)) + then + assert NO_WARNING report "NUMERIC_BIT.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "mod"; + + -- Id: A.38 + function "mod" (L : INTEGER; R : SIGNED) return SIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, XREM : SIGNED(L_LENGTH-1 downto 0); + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + XREM := RESIZE((XL mod R), XREM'length); + if L_LENGTH > R'length and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => XREM(R'length-1)) + then + assert NO_WARNING report "NUMERIC_BIT.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "mod"; + + -- ============================================================================ + -- Id: A.39 + function find_leftmost (ARG : UNSIGNED; Y : BIT) return INTEGER is + begin + for INDEX in ARG'range loop + if ARG(INDEX) = Y then + return INDEX; + end if; + end loop; + return -1; + end function find_leftmost; + + -- Id: A.40 + function find_leftmost (ARG : SIGNED; Y : BIT) return INTEGER is + begin + for INDEX in ARG'range loop + if ARG(INDEX) = Y then + return INDEX; + end if; + end loop; + return -1; + end function find_leftmost; + + -- Id: A.41 + function find_rightmost (ARG : UNSIGNED; Y : BIT) return INTEGER is + begin + for INDEX in ARG'reverse_range loop + if ARG(INDEX) = Y then + return INDEX; + end if; + end loop; + return -1; + end function find_rightmost; + + -- Id: A.42 + function find_rightmost (ARG : SIGNED; Y : BIT) return INTEGER is + begin + for INDEX in ARG'reverse_range loop + if ARG(INDEX) = Y then + return INDEX; + end if; + end loop; + return -1; + end function find_rightmost; + + -- ============================================================================ + + -- Id: C.1 + function ">" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return not UNSIGNED_LESS_OR_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function ">"; + + -- Id: C.2 + function ">" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return not SIGNED_LESS_OR_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function ">"; + + -- Id: C.3 + function ">" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not UNSIGNED_LESS_OR_EQUAL(TO_UNSIGNED(L, R'length), R); + end function ">"; + + -- Id: C.4 + function ">" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not SIGNED_LESS_OR_EQUAL(TO_SIGNED(L, R'length), R); + end function ">"; + + -- Id: C.5 + function ">" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return false; + end if; + return not UNSIGNED_LESS_OR_EQUAL(L, TO_UNSIGNED(R, L'length)); + end function ">"; + + -- Id: C.6 + function ">" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not SIGNED_LESS_OR_EQUAL(L, TO_SIGNED(R, L'length)); + end function ">"; + + -- ============================================================================ + + -- Id: C.7 + function "<" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "<"; + + -- Id: C.8 + function "<" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "<"; + + -- Id: C.9 + function "<" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return UNSIGNED_LESS(TO_UNSIGNED(L, R'length), R); + end function "<"; + + -- Id: C.10 + function "<" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return SIGNED_LESS(TO_SIGNED(L, R'length), R); + end function "<"; + + -- Id: C.11 + function "<" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return UNSIGNED_LESS(L, TO_UNSIGNED(R, L'length)); + end function "<"; + + -- Id: C.12 + function "<" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return SIGNED_LESS(L, TO_SIGNED(R, L'length)); + end function "<"; + + -- ============================================================================ + + -- Id: C.13 + function "<=" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_LESS_OR_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "<="; + + -- Id: C.14 + function "<=" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_LESS_OR_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "<="; + + -- Id: C.15 + function "<=" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return UNSIGNED_LESS_OR_EQUAL(TO_UNSIGNED(L, R'length), R); + end function "<="; + + -- Id: C.16 + function "<=" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return SIGNED_LESS_OR_EQUAL(TO_SIGNED(L, R'length), R); + end function "<="; + + -- Id: C.17 + function "<=" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return UNSIGNED_LESS_OR_EQUAL(L, TO_UNSIGNED(R, L'length)); + end function "<="; + + -- Id: C.18 + function "<=" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return SIGNED_LESS_OR_EQUAL(L, TO_SIGNED(R, L'length)); + end function "<="; + + -- ============================================================================ + + -- Id: C.19 + function ">=" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return not UNSIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function ">="; + + -- Id: C.20 + function ">=" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return not SIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function ">="; + + -- Id: C.21 + function ">=" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not UNSIGNED_LESS(TO_UNSIGNED(L, R'length), R); + end function ">="; + + -- Id: C.22 + function ">=" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not SIGNED_LESS(TO_SIGNED(L, R'length), R); + end function ">="; + + -- Id: C.23 + function ">=" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not UNSIGNED_LESS(L, TO_UNSIGNED(R, L'length)); + end function ">="; + + -- Id: C.24 + function ">=" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not SIGNED_LESS(L, TO_SIGNED(R, L'length)); + end function ">="; + + -- ============================================================================ + + -- Id: C.25 + function "=" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "="; + + -- Id: C.26 + function "=" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE)); + end function "="; + + -- Id: C.27 + function "=" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return false; + end if; + return UNSIGNED_EQUAL(TO_UNSIGNED(L, R'length), R); + end function "="; + + -- Id: C.28 + function "=" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return false; + end if; + return SIGNED_EQUAL(TO_SIGNED(L, R'length), R); + end function "="; + + -- Id: C.29 + function "=" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return false; + end if; + return UNSIGNED_EQUAL(L, TO_UNSIGNED(R, L'length)); + end function "="; + + -- Id: C.30 + function "=" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return false; + end if; + return SIGNED_EQUAL(L, TO_SIGNED(R, L'length)); + end function "="; + + -- ============================================================================ + + -- Id: C.31 + function "/=" (L, R : UNSIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + return not(UNSIGNED_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE))); + end function "/="; + + -- Id: C.32 + function "/=" (L, R : SIGNED) return BOOLEAN is + variable SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + return not(SIGNED_EQUAL(RESIZE(L, SIZE), RESIZE(R, SIZE))); + end function "/="; + + -- Id: C.33 + function "/=" (L : NATURAL; R : UNSIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not(UNSIGNED_EQUAL(TO_UNSIGNED(L, R'length), R)); + end function "/="; + + -- Id: C.34 + function "/=" (L : INTEGER; R : SIGNED) return BOOLEAN is + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + if SIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not(SIGNED_EQUAL(TO_SIGNED(L, R'length), R)); + end function "/="; + + -- Id: C.35 + function "/=" (L : UNSIGNED; R : NATURAL) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return true; + end if; + return not(UNSIGNED_EQUAL(L, TO_UNSIGNED(R, L'length))); + end function "/="; + + -- Id: C.36 + function "/=" (L : SIGNED; R : INTEGER) return BOOLEAN is + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + if SIGNED_NUM_BITS(R) > L'length then return true; + end if; + return not(SIGNED_EQUAL(L, TO_SIGNED(R, L'length))); + end function "/="; + + -- ============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : UNSIGNED) return UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + if UNSIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)) then + return RESIZE(L, SIZE); + else + return RESIZE(R, SIZE); + end if; + end function MINIMUM; + + -- Id: C.38 + function MINIMUM (L, R : SIGNED) return SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + if SIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)) then + return RESIZE(L, SIZE); + else + return RESIZE(R, SIZE); + end if; + end function MINIMUM; + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : UNSIGNED) return UNSIGNED is + begin + return MINIMUM(TO_UNSIGNED(L, R'length), R); + end function MINIMUM; + + -- Id: C.40 + function MINIMUM (L : INTEGER; R : SIGNED) return SIGNED is + begin + return MINIMUM(TO_SIGNED(L, R'length), R); + end function MINIMUM; + + -- Id: C.41 + function MINIMUM (L : UNSIGNED; R : NATURAL) return UNSIGNED is + begin + return MINIMUM(L, TO_UNSIGNED(R, L'length)); + end function MINIMUM; + + -- Id: C.42 + function MINIMUM (L : SIGNED; R : INTEGER) return SIGNED is + begin + return MINIMUM(L, TO_SIGNED(R, L'length)); + end function MINIMUM; + + -- ============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : UNSIGNED) return UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + if UNSIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)) then + return RESIZE(R, SIZE); + else + return RESIZE(L, SIZE); + end if; + end function MAXIMUM; + + -- Id: C.44 + function MAXIMUM (L, R : SIGNED) return SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + if SIGNED_LESS(RESIZE(L, SIZE), RESIZE(R, SIZE)) then + return RESIZE(R, SIZE); + else + return RESIZE(L, SIZE); + end if; + end function MAXIMUM; + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : UNSIGNED) return UNSIGNED is + begin + return MAXIMUM(TO_UNSIGNED(L, R'length), R); + end function MAXIMUM; + + -- Id: C.46 + function MAXIMUM (L : INTEGER; R : SIGNED) return SIGNED is + begin + return MAXIMUM(TO_SIGNED(L, R'length), R); + end function MAXIMUM; + + -- Id: C.47 + function MAXIMUM (L : UNSIGNED; R : NATURAL) return UNSIGNED is + begin + return MAXIMUM(L, TO_UNSIGNED(R, L'length)); + end function MAXIMUM; + + -- Id: C.48 + function MAXIMUM (L : SIGNED; R : INTEGER) return SIGNED is + begin + return MAXIMUM(L, TO_SIGNED(R, L'length)); + end function MAXIMUM; + + -- ============================================================================ + + -- Id: C.49 + function "?>" (L, R : UNSIGNED) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- Id: C.50 + function "?>" (L, R : SIGNED) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- Id: C.51 + function "?>" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- Id: C.52 + function "?>" (L : INTEGER; R : SIGNED) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- Id: C.53 + function "?>" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- Id: C.54 + function "?>" (L : SIGNED; R : INTEGER) return BIT is + begin + if L > R then + return '1'; + else + return '0'; + end if; + end function "?>"; + + -- ============================================================================ + + -- Id: C.55 + function "?<" (L, R : UNSIGNED) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- Id: C.56 + function "?<" (L, R : SIGNED) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- Id: C.57 + function "?<" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- Id: C.58 + function "?<" (L : INTEGER; R : SIGNED) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- Id: C.59 + function "?<" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- Id: C.60 + function "?<" (L : SIGNED; R : INTEGER) return BIT is + begin + if L < R then + return '1'; + else + return '0'; + end if; + end function "?<"; + + -- ============================================================================ + + -- Id: C.61 + function "?<=" (L, R : UNSIGNED) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- Id: C.62 + function "?<=" (L, R : SIGNED) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- Id: C.63 + function "?<=" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- Id: C.64 + function "?<=" (L : INTEGER; R : SIGNED) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- Id: C.65 + function "?<=" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- Id: C.66 + function "?<=" (L : SIGNED; R : INTEGER) return BIT is + begin + if L <= R then + return '1'; + else + return '0'; + end if; + end function "?<="; + + -- ============================================================================ + + -- Id: C.67 + function "?>=" (L, R : UNSIGNED) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- Id: C.68 + function "?>=" (L, R : SIGNED) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- Id: C.69 + function "?>=" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- Id: C.70 + function "?>=" (L : INTEGER; R : SIGNED) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- Id: C.71 + function "?>=" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- Id: C.72 + function "?>=" (L : SIGNED; R : INTEGER) return BIT is + begin + if L >= R then + return '1'; + else + return '0'; + end if; + end function "?>="; + + -- ============================================================================ + + -- Id: C.73 + function "?=" (L, R : UNSIGNED) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- Id: C.74 + function "?=" (L, R : SIGNED) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- Id: C.75 + function "?=" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- Id: C.76 + function "?=" (L : INTEGER; R : SIGNED) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- Id: C.77 + function "?=" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- Id: C.78 + function "?=" (L : SIGNED; R : INTEGER) return BIT is + begin + if L = R then + return '1'; + else + return '0'; + end if; + end function "?="; + + -- ============================================================================ + + -- Id: C.79 + function "?/=" (L, R : UNSIGNED) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- Id: C.80 + function "?/=" (L, R : SIGNED) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- Id: C.81 + function "?/=" (L : NATURAL; R : UNSIGNED) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- Id: C.82 + function "?/=" (L : INTEGER; R : SIGNED) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- Id: C.83 + function "?/=" (L : UNSIGNED; R : NATURAL) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- Id: C.84 + function "?/=" (L : SIGNED; R : INTEGER) return BIT is + begin + if L /= R then + return '1'; + else + return '0'; + end if; + end function "?/="; + + -- ============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNSIGNED(XSLL(BIT_VECTOR(ARG), COUNT)); + end function SHIFT_LEFT; + + -- Id: S.2 + function SHIFT_RIGHT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNSIGNED(XSRL(BIT_VECTOR(ARG), COUNT)); + end function SHIFT_RIGHT; + + -- Id: S.3 + function SHIFT_LEFT (ARG : SIGNED; COUNT : NATURAL) return SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return SIGNED(XSLL(BIT_VECTOR(ARG), COUNT)); + end function SHIFT_LEFT; + + -- Id: S.4 + function SHIFT_RIGHT (ARG : SIGNED; COUNT : NATURAL) return SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return SIGNED(XSRA(BIT_VECTOR(ARG), COUNT)); + end function SHIFT_RIGHT; + + -- ============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNSIGNED(XROL(BIT_VECTOR(ARG), COUNT)); + end function ROTATE_LEFT; + + -- Id: S.6 + function ROTATE_RIGHT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNSIGNED(XROR(BIT_VECTOR(ARG), COUNT)); + end function ROTATE_RIGHT; + + -- Id: S.7 + function ROTATE_LEFT (ARG : SIGNED; COUNT : NATURAL) return SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return SIGNED(XROL(BIT_VECTOR(ARG), COUNT)); + end function ROTATE_LEFT; + + -- Id: S.8 + function ROTATE_RIGHT (ARG : SIGNED; COUNT : NATURAL) return SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return SIGNED(XROR(BIT_VECTOR(ARG), COUNT)); + end function ROTATE_RIGHT; + + -- ============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.9 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.9 + function "sll" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sll"; + + ------------------------------------------------------------------------------ + -- Note: Function S.10 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.10 + function "sll" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SIGNED(SHIFT_RIGHT(UNSIGNED(ARG), -COUNT)); + end if; + end function "sll"; + + ------------------------------------------------------------------------------ + -- Note: Function S.11 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.11 + function "srl" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "srl"; + + ------------------------------------------------------------------------------ + -- Note: Function S.12 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.12 + function "srl" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return SIGNED(SHIFT_RIGHT(UNSIGNED(ARG), COUNT)); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "srl"; + + ------------------------------------------------------------------------------ + -- Note: Function S.13 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.13 + function "rol" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return ROTATE_LEFT(ARG, COUNT); + else + return ROTATE_RIGHT(ARG, -COUNT); + end if; + end function "rol"; + + ------------------------------------------------------------------------------ + -- Note: Function S.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.14 + function "rol" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return ROTATE_LEFT(ARG, COUNT); + else + return ROTATE_RIGHT(ARG, -COUNT); + end if; + end function "rol"; + + ------------------------------------------------------------------------------ + -- Note: Function S.15 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.15 + function "ror" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return ROTATE_RIGHT(ARG, COUNT); + else + return ROTATE_LEFT(ARG, -COUNT); + end if; + end function "ror"; + + ------------------------------------------------------------------------------ + -- Note: Function S.16 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.16 + function "ror" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return ROTATE_RIGHT(ARG, COUNT); + else + return ROTATE_LEFT(ARG, -COUNT); + end if; + end function "ror"; + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sla"; + + ------------------------------------------------------------------------------ + -- Note: Function S.18 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.18 + function "sla" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sla"; + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED is + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "sra"; + + ------------------------------------------------------------------------------ + -- Note: Function S.20 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.20 + function "sra" (ARG : SIGNED; COUNT : INTEGER) return SIGNED is + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "sra"; + + -- ============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : UNSIGNED) return NATURAL is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNSIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT : NATURAL := 0; + begin + if (ARG'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.TO_INTEGER: null detected, returning 0" + severity warning; + return 0; + end if; + for I in XARG'range loop + RESULT := RESULT+RESULT; + if XARG(I) = '1' then + RESULT := RESULT + 1; + end if; + end loop; + return RESULT; + end function TO_INTEGER; + + -- Id: D.2 + function TO_INTEGER (ARG : SIGNED) return INTEGER is + begin + if (ARG'length < 1) then + assert NO_WARNING + report "NUMERIC_BIT.TO_INTEGER: null detected, returning 0" + severity warning; + return 0; + end if; + if ARG(ARG'left) = '0' then + return TO_INTEGER(UNSIGNED(ARG)); + else + return (- (TO_INTEGER(UNSIGNED(- (ARG + 1)))) -1); + end if; + end function TO_INTEGER; + + -- Id: D.3 + function TO_UNSIGNED (ARG, SIZE : NATURAL) return UNSIGNED is + variable RESULT : UNSIGNED(SIZE-1 downto 0); + variable I_VAL : NATURAL := ARG; + begin + if (SIZE < 1) then return NAU; + end if; + for I in 0 to RESULT'left loop + if (I_VAL mod 2) = 0 then + RESULT(I) := '0'; + else RESULT(I) := '1'; + end if; + I_VAL := I_VAL/2; + end loop; + if not(I_VAL = 0) then + assert NO_WARNING + report "NUMERIC_BIT.TO_UNSIGNED: vector truncated" + severity warning; + end if; + return RESULT; + end function TO_UNSIGNED; + + -- Id: D.4 + function TO_SIGNED (ARG : INTEGER; + SIZE : NATURAL) return SIGNED is + variable RESULT : SIGNED(SIZE-1 downto 0); + variable B_VAL : BIT := '0'; + variable I_VAL : INTEGER := ARG; + begin + if (SIZE < 1) then return NAS; + end if; + if (ARG < 0) then + B_VAL := '1'; + I_VAL := -(ARG+1); + end if; + for I in 0 to RESULT'left loop + if (I_VAL mod 2) = 0 then + RESULT(I) := B_VAL; + else + RESULT(I) := not B_VAL; + end if; + I_VAL := I_VAL/2; + end loop; + if ((I_VAL /= 0) or (B_VAL /= RESULT(RESULT'left))) then + assert NO_WARNING + report "NUMERIC_BIT.TO_SIGNED: vector truncated" + severity warning; + end if; + return RESULT; + end function TO_SIGNED; + + function TO_UNSIGNED (ARG : NATURAL; SIZE_RES : UNSIGNED) + return UNSIGNED is + begin + return TO_UNSIGNED (ARG => ARG, + SIZE => SIZE_RES'length); + end function TO_UNSIGNED; + + function TO_SIGNED (ARG : INTEGER; SIZE_RES : SIGNED) + return SIGNED is + begin + return TO_SIGNED (ARG => ARG, + SIZE => SIZE_RES'length); + end function TO_SIGNED; + + -- ============================================================================ + + -- Id: R.1 + function RESIZE (ARG : SIGNED; NEW_SIZE : NATURAL) return SIGNED is + alias INVEC : SIGNED(ARG'length-1 downto 0) is ARG; + variable RESULT : SIGNED(NEW_SIZE-1 downto 0) := (others => '0'); + constant BOUND : INTEGER := MINIMUM(ARG'length, RESULT'length)-2; + begin + if (NEW_SIZE < 1) then return NAS; + end if; + if (ARG'length = 0) then return RESULT; + end if; + RESULT := (others => ARG(ARG'left)); + if BOUND >= 0 then + RESULT(BOUND downto 0) := INVEC(BOUND downto 0); + end if; + return RESULT; + end function RESIZE; + + -- Id: R.2 + function RESIZE (ARG : UNSIGNED; NEW_SIZE : NATURAL) return UNSIGNED is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNSIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT : UNSIGNED(NEW_SIZE-1 downto 0) := (others => '0'); + begin + if (NEW_SIZE < 1) then return NAU; + end if; + if XARG'length = 0 then return RESULT; + end if; + if (RESULT'length < ARG'length) then + RESULT(RESULT'left downto 0) := XARG(RESULT'left downto 0); + else + RESULT(RESULT'left downto XARG'left+1) := (others => '0'); + RESULT(XARG'left downto 0) := XARG; + end if; + return RESULT; + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : UNSIGNED) + return UNSIGNED is + begin + return RESIZE (ARG => ARG, + NEW_SIZE => SIZE_RES'length); + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : SIGNED) + return SIGNED is + begin + return RESIZE (ARG => ARG, + NEW_SIZE => SIZE_RES'length); + end function RESIZE; + + -- ============================================================================ + + -- Id: L.1 + function "not" (L : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(not(BIT_VECTOR(L))); + return RESULT; + end function "not"; + + -- Id: L.2 + function "and" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) and BIT_VECTOR(R)); + return RESULT; + end function "and"; + + -- Id: L.3 + function "or" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) or BIT_VECTOR(R)); + return RESULT; + end function "or"; + + -- Id: L.4 + function "nand" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) nand BIT_VECTOR(R)); + return RESULT; + end function "nand"; + + -- Id: L.5 + function "nor" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) nor BIT_VECTOR(R)); + return RESULT; + end function "nor"; + + -- Id: L.6 + function "xor" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) xor BIT_VECTOR(R)); + return RESULT; + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.7 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.7 + function "xnor" (L, R : UNSIGNED) return UNSIGNED is + variable RESULT : UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNSIGNED(BIT_VECTOR(L) xnor BIT_VECTOR(R)); + return RESULT; + end function "xnor"; + + -- Id: L.8 + function "not" (L : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(not(BIT_VECTOR(L))); + return RESULT; + end function "not"; + + -- Id: L.9 + function "and" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) and BIT_VECTOR(R)); + return RESULT; + end function "and"; + + -- Id: L.10 + function "or" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) or BIT_VECTOR(R)); + return RESULT; + end function "or"; + + -- Id: L.11 + function "nand" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) nand BIT_VECTOR(R)); + return RESULT; + end function "nand"; + + -- Id: L.12 + function "nor" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) nor BIT_VECTOR(R)); + return RESULT; + end function "nor"; + + -- Id: L.13 + function "xor" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) xor BIT_VECTOR(R)); + return RESULT; + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.14 + function "xnor" (L, R : SIGNED) return SIGNED is + variable RESULT : SIGNED(L'length-1 downto 0); + begin + RESULT := SIGNED(BIT_VECTOR(L) xnor BIT_VECTOR(R)); + return RESULT; + end function "xnor"; + + -- Id: L.15 + function "and" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L and BIT_VECTOR(R)); + end function "and"; + + -- Id: L.16 + function "and" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) and R); + end function "and"; + + -- Id: L.17 + function "or" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L or BIT_VECTOR(R)); + end function "or"; + + -- Id: L.18 + function "or" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) or R); + end function "or"; + + -- Id: L.19 + function "nand" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L nand BIT_VECTOR(R)); + end function "nand"; + + -- Id: L.20 + function "nand" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) nand R); + end function "nand"; + + -- Id: L.21 + function "nor" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L nor BIT_VECTOR(R)); + end function "nor"; + + -- Id: L.22 + function "nor" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) nor R); + end function "nor"; + + -- Id: L.23 + function "xor" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L xor BIT_VECTOR(R)); + end function "xor"; + + -- Id: L.24 + function "xor" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) xor R); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.25 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.25 + function "xnor" (L : BIT; R : UNSIGNED) return UNSIGNED is + begin + return UNSIGNED (L xnor BIT_VECTOR(R)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.26 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.26 + function "xnor" (L : UNSIGNED; R : BIT) return UNSIGNED is + begin + return UNSIGNED (BIT_VECTOR(L) xnor R); + end function "xnor"; + + -- Id: L.27 + function "and" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L and BIT_VECTOR(R)); + end function "and"; + + -- Id: L.28 + function "and" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) and R); + end function "and"; + + -- Id: L.29 + function "or" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L or BIT_VECTOR(R)); + end function "or"; + + -- Id: L.30 + function "or" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) or R); + end function "or"; + + -- Id: L.31 + function "nand" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L nand BIT_VECTOR(R)); + end function "nand"; + + -- Id: L.32 + function "nand" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) nand R); + end function "nand"; + + -- Id: L.33 + function "nor" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L nor BIT_VECTOR(R)); + end function "nor"; + + -- Id: L.34 + function "nor" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) nor R); + end function "nor"; + + -- Id: L.35 + function "xor" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L xor BIT_VECTOR(R)); + end function "xor"; + + -- Id: L.36 + function "xor" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) xor R); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.37 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.37 + function "xnor" (L : BIT; R : SIGNED) return SIGNED is + begin + return SIGNED (L xnor BIT_VECTOR(R)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.38 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.38 + function "xnor" (L : SIGNED; R : BIT) return SIGNED is + begin + return SIGNED (BIT_VECTOR(L) xnor R); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.39 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.39 + function "and" (L : SIGNED) return BIT is + begin + return and (BIT_VECTOR (L)); + end function "and"; + + ------------------------------------------------------------------------------ + -- Note: Function L.40 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.40 + function "and" (L : UNSIGNED) return BIT is + begin + return and (BIT_VECTOR (L)); + end function "and"; + + ------------------------------------------------------------------------------ + -- Note: Function L.41 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.41 + function "nand" (L : SIGNED) return BIT is + begin + return nand (BIT_VECTOR (L)); + end function "nand"; + + ------------------------------------------------------------------------------ + -- Note: Function L.42 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.42 + function "nand" (L : UNSIGNED) return BIT is + begin + return nand (BIT_VECTOR (L)); + end function "nand"; + + ------------------------------------------------------------------------------ + -- Note: Function L.43 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.43 + function "or" (L : SIGNED) return BIT is + begin + return or (BIT_VECTOR (L)); + end function "or"; + + ------------------------------------------------------------------------------ + -- Note: Function L.44 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.44 + function "or" (L : UNSIGNED) return BIT is + begin + return or (BIT_VECTOR (L)); + end function "or"; + + ------------------------------------------------------------------------------ + -- Note: Function L.45 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.45 + function "nor" (L : SIGNED) return BIT is + begin + return nor (BIT_VECTOR (L)); + end function "nor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.46 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.46 + function "nor" (L : UNSIGNED) return BIT is + begin + return nor (BIT_VECTOR (L)); + end function "nor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.47 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.47 + function "xor" (L : SIGNED) return BIT is + begin + return xor (BIT_VECTOR (L)); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.48 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.48 + function "xor" (L : UNSIGNED) return BIT is + begin + return xor (BIT_VECTOR (L)); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.49 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.49 + function "xnor" (L : SIGNED) return BIT is + begin + return xnor (BIT_VECTOR (L)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.50 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.50 + function "xnor" (L : UNSIGNED) return BIT is + begin + return xnor (BIT_VECTOR (L)); + end function "xnor"; + + -- ============================================================================ + -- string conversion and write operations + -- ============================================================================ + function to_ostring (value : UNSIGNED) return STRING is + begin + return to_ostring(BIT_VECTOR (value)); + end function to_ostring; + + function to_ostring (value : SIGNED) return STRING is + constant result_length : INTEGER := (value'length+2)/3; + constant pad : BIT_VECTOR(1 to (result_length*3 - value'length)) + := (others => value (value'left)); -- Extend sign bit + begin + return to_ostring(pad & BIT_VECTOR (value)); + end function to_ostring; + + function to_hstring (value : UNSIGNED) return STRING is + begin + return to_hstring(BIT_VECTOR (value)); + end function to_hstring; + + function to_hstring (value : SIGNED) return STRING is + constant result_length : INTEGER := (value'length+3)/4; + constant pad : BIT_VECTOR(1 to (result_length*4 - value'length)) + := (others => value (value'left)); -- Extend sign bit + begin + return to_hstring(pad & BIT_VECTOR (value)); + end function to_hstring; + + procedure READ(L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN) is + variable ivalue : BIT_VECTOR(value'range); + begin + READ (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := UNSIGNED(ivalue); + end procedure READ; + + procedure READ(L : inout LINE; VALUE : out UNSIGNED) is + variable ivalue : BIT_VECTOR(value'range); + begin + READ (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure READ; + + procedure READ(L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN) is + variable ivalue : BIT_VECTOR(value'range); + begin + READ (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := SIGNED(ivalue); + end procedure READ; + + procedure READ(L : inout LINE; VALUE : out SIGNED) is + variable ivalue : BIT_VECTOR(value'range); + begin + READ (L => L, + VALUE => ivalue); + VALUE := SIGNED (ivalue); + end procedure READ; + + procedure WRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : BIT_VECTOR(value'range); + begin + ivalue := BIT_VECTOR (VALUE); + WRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure WRITE; + + procedure WRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : BIT_VECTOR(value'range); + begin + ivalue := BIT_VECTOR (VALUE); + WRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure WRITE; + + procedure OREAD (L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN) is + variable ivalue : BIT_VECTOR(value'range); + begin + OREAD (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := UNSIGNED(ivalue); + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN) is + constant ne : INTEGER := (value'length+2)/3; + constant pad : INTEGER := ne*3 - value'length; + variable ivalue : BIT_VECTOR(0 to ne*3-1); + variable ok : BOOLEAN; + begin + OREAD (L => L, + VALUE => ivalue, -- Read padded STRING + good => ok); + -- Bail out if there was a bad read + if not ok then + good := false; + return; + end if; + if (pad > 0) then + if (ivalue(0) = '0') then -- positive + if ivalue(0) = or (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + good := true; + else + good := false; + end if; + else -- negative + if ivalue(0) = and (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + good := true; + else + good := false; + end if; + end if; + else + good := true; + VALUE := SIGNED (ivalue); + end if; + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out UNSIGNED) is + variable ivalue : BIT_VECTOR(value'range); + begin + OREAD (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out SIGNED) is + constant ne : INTEGER := (value'length+2)/3; + constant pad : INTEGER := ne*3 - value'length; + variable ivalue : BIT_VECTOR(0 to ne*3-1); + begin + OREAD (L => L, + VALUE => ivalue); -- Read padded string + if (pad > 0) then + if (ivalue(0) = '0') then -- positive + if ivalue(0) = or (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + assert false + report "NUMERIC_BIT.OREAD Error: Signed vector truncated" + severity error; + end if; + else -- negative + if ivalue(0) = and (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + assert false + report "NUMERIC_BIT.OREAD Error: Signed vector truncated" + severity error; + end if; + end if; + else + VALUE := SIGNED (ivalue); + end if; + end procedure OREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN) is + variable ivalue : BIT_VECTOR(value'range); + begin + HREAD (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := UNSIGNED(ivalue); + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN) is + constant ne : INTEGER := (value'length+3)/4; + constant pad : INTEGER := ne*4 - value'length; + variable ivalue : BIT_VECTOR(0 to ne*4-1); + variable ok : BOOLEAN; + begin + HREAD (L => L, + VALUE => ivalue, -- Read padded STRING + good => ok); + if not ok then + good := false; + return; + end if; + if (pad > 0) then + if (ivalue(0) = '0') then -- positive + if ivalue(0) = or (ivalue(0 to pad)) then + GOOD := true; + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + GOOD := false; + end if; + else -- negative + if ivalue(0) = and (ivalue(0 to pad)) then + GOOD := true; + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + GOOD := false; + end if; + end if; + else + GOOD := true; + VALUE := SIGNED (ivalue); + end if; + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNSIGNED) is + variable ivalue : BIT_VECTOR(value'range); + begin + HREAD (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out SIGNED) is + constant ne : INTEGER := (value'length+3)/4; + constant pad : INTEGER := ne*4 - value'length; + variable ivalue : BIT_VECTOR(0 to ne*4-1); + begin + HREAD (L => L, + VALUE => ivalue); -- Read padded string + if (pad > 0) then + if (ivalue(0) = '0') then -- positive + if ivalue(0) = or (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + assert false + report "NUMERIC_BIT.HREAD Error: Signed vector truncated" + severity error; + end if; + else -- negative + if ivalue(0) = and (ivalue(0 to pad)) then + VALUE := SIGNED (ivalue (pad to ivalue'high)); + else + assert false + report "NUMERIC_BIT.HREAD Error: Signed vector truncated" + severity error; + end if; + end if; + else + VALUE := SIGNED (ivalue); + end if; + end procedure HREAD; + + procedure OWRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : BIT_VECTOR(value'range); + begin + ivalue := BIT_VECTOR (VALUE); + OWRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure OWRITE; + + procedure OWRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + constant ne : INTEGER := (VALUE'length+2)/3; + constant pad : BIT_VECTOR(0 to (ne*3 - VALUE'length) - 1) + := (others => VALUE (VALUE'left)); + variable ivalue : BIT_VECTOR(value'range); + begin + ivalue := BIT_VECTOR (VALUE); + OWRITE (L => L, + VALUE => pad & ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure OWRITE; + + procedure HWRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : BIT_VECTOR(value'range); + begin + ivalue := BIT_VECTOR (VALUE); + HWRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure HWRITE; + + procedure HWRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : BIT_VECTOR(value'range); + constant ne : INTEGER := (value'length+3)/4; + constant pad : BIT_VECTOR(0 to (ne*4 - value'length) - 1) + := (others => VALUE(VALUE'left)); + begin + ivalue := BIT_VECTOR (VALUE); + HWRITE (L => L, + VALUE => pad & ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure HWRITE; + +end package body NUMERIC_BIT; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl new file mode 100644 index 0000000..0b8144e --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl @@ -0,0 +1,1592 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_BIT package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC Synthesis Working Group, +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Two numeric types are defined: +-- : -- > UNSIGNED: represents an UNSIGNED number in vector form +-- : -- > SIGNED: represents a SIGNED number in vector form +-- : The base element type is type BIT. +-- : The leftmost bit is treated as the most significant bit. +-- : Signed vectors are represented in two's complement form. +-- : This package contains overloaded arithmetic operators on +-- : the SIGNED and UNSIGNED types. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +use STD.TEXTIO.all; + +package NUMERIC_BIT is + constant CopyRightNotice : STRING + := "Copyright 2008 IEEE. All rights reserved."; + + --============================================================================ + -- Numeric Array Type Definitions + --============================================================================ + + type UNSIGNED is array (NATURAL range <>) of BIT; + type SIGNED is array (NATURAL range <>) of BIT; + + --============================================================================ + -- Arithmetic Operators: + --============================================================================ + + -- Id: A.1 + function "abs" (ARG : SIGNED) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Returns the absolute value of a SIGNED vector ARG. + + -- Id: A.2 + function "-" (ARG : SIGNED) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Returns the value of the unary minus operation on a + -- SIGNED vector ARG. + + --============================================================================ + + -- Id: A.3 + function "+" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Adds two UNSIGNED vectors that may be of different lengths. + + -- Id: A.3R + function "+"(L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.3 where R is a one bit UNSIGNED + + -- Id: A.3L + function "+"(L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.3 where L is a one bit UNSIGNED + + -- Id: A.4 + function "+" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Adds two SIGNED vectors that may be of different lengths. + + -- Id: A.4R + function "+"(L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.4 where R is bit 0 of a non-negative. + + -- Id: A.4L + function "+"(L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.4 where L is bit 0 of a non-negative. + + -- Id: A.5 + function "+" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Adds an UNSIGNED vector, L, with a nonnegative INTEGER, R. + + -- Id: A.6 + function "+" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Adds a nonnegative INTEGER, L, with an UNSIGNED vector, R. + + -- Id: A.7 + function "+" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Adds an INTEGER, L(may be positive or negative), to a SIGNED + -- vector, R. + + -- Id: A.8 + function "+" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Adds a SIGNED vector, L, to an INTEGER, R. + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Subtracts two UNSIGNED vectors that may be of different lengths. + + -- Id: A.9R + function "-"(L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.9 where R is a one bit UNSIGNED + + -- Id: A.9L + function "-"(L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.9 where L is a one bit UNSIGNED + + -- Id: A.10 + function "-" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Subtracts a SIGNED vector, R, from another SIGNED vector, L, + -- that may possibly be of different lengths. + + -- Id: A.10R + function "-"(L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.10 where R is bit 0 of a non-negative. + + -- Id: A.10L + function "-"(L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.10 where R is bit 0 of a non-negative. + + -- Id: A.11 + function "-" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Subtracts a nonnegative INTEGER, R, from an UNSIGNED vector, L. + + -- Id: A.12 + function "-" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Subtracts an UNSIGNED vector, R, from a nonnegative INTEGER, L. + + -- Id: A.13 + function "-" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Subtracts an INTEGER, R, from a SIGNED vector, L. + + -- Id: A.14 + function "-" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Subtracts a SIGNED vector, R, from an INTEGER, L. + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED((L'LENGTH+R'LENGTH-1) downto 0) + -- Result: Performs the multiplication operation on two UNSIGNED vectors + -- that may possibly be of different lengths. + + -- Id: A.16 + function "*" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED((L'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies two SIGNED vectors that may possibly be of + -- different lengths. + + -- Id: A.17 + function "*" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED((L'LENGTH+L'LENGTH-1) downto 0) + -- Result: Multiplies an UNSIGNED vector, L, with a nonnegative + -- INTEGER, R. R is converted to an UNSIGNED vector of + -- size L'LENGTH before multiplication. + + -- Id: A.18 + function "*" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED((R'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies an UNSIGNED vector, R, with a nonnegative + -- INTEGER, L. L is converted to an UNSIGNED vector of + -- size R'LENGTH before multiplication. + + -- Id: A.19 + function "*" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED((L'LENGTH+L'LENGTH-1) downto 0) + -- Result: Multiplies a SIGNED vector, L, with an INTEGER, R. R is + -- converted to a SIGNED vector of size L'LENGTH before + -- multiplication. + + -- Id: A.20 + function "*" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED((R'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies a SIGNED vector, R, with an INTEGER, L. L is + -- converted to a SIGNED vector of size R'LENGTH before + -- multiplication. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "/" operator, a severity level + -- of ERROR is issued. + + -- Id: A.21 + function "/" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by another UNSIGNED vector, R. + + -- Id: A.22 + function "/" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an SIGNED vector, L, by another SIGNED vector, R. + + -- Id: A.23 + function "/" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by a nonnegative INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.24 + function "/" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Divides a nonnegative INTEGER, L, by an UNSIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.25 + function "/" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Divides a SIGNED vector, L, by an INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.26 + function "/" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Divides an INTEGER, L, by a SIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "rem" operator, a severity level + -- of ERROR is issued. + + -- Id: A.27 + function "rem" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are UNSIGNED vectors. + + -- Id: A.28 + function "rem" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are SIGNED vectors. + + -- Id: A.29 + function "rem" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is an UNSIGNED vector and R is a + -- nonnegative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.30 + function "rem" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is an UNSIGNED vector and L is a + -- nonnegative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.31 + function "rem" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is SIGNED vector and R is an INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.32 + function "rem" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is SIGNED vector and L is an INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "mod" operator, a severity level + -- of ERROR is issued. + + -- Id: A.33 + function "mod" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are UNSIGNED vectors. + + -- Id: A.34 + function "mod" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are SIGNED vectors. + + -- Id: A.35 + function "mod" (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an UNSIGNED vector and R + -- is a nonnegative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.36 + function "mod" (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where R is an UNSIGNED vector and L + -- is a nonnegative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.37 + function "mod" (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is a SIGNED vector and + -- R is an INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.38 + function "mod" (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an INTEGER and + -- R is a SIGNED vector. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG : UNSIGNED; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.40 + function find_leftmost (ARG : SIGNED; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.41 + function find_rightmost (ARG : UNSIGNED; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.42 + function find_rightmost (ARG : SIGNED; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + --============================================================================ + -- Comparison Operators + --============================================================================ + + -- Id: C.1 + function ">" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.2 + function ">" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.3 + function ">" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.4 + function ">" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a INTEGER and + -- R is a SIGNED vector. + + -- Id: C.5 + function ">" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.6 + function ">" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a SIGNED vector and + -- R is a INTEGER. + + --============================================================================ + + -- Id: C.7 + function "<" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.8 + function "<" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.9 + function "<" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.10 + function "<" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.11 + function "<" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.12 + function "<" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.13 + function "<=" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.14 + function "<=" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.15 + function "<=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.16 + function "<=" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.17 + function "<=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.18 + function "<=" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.19 + function ">=" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.20 + function ">=" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.21 + function ">=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.22 + function ">=" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.23 + function ">=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.24 + function ">=" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.25 + function "=" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.26 + function "=" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.27 + function "=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.28 + function "=" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.29 + function "=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.30 + function "=" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.31 + function "/=" (L, R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.32 + function "/=" (L, R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.33 + function "/=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.34 + function "/=" (L : INTEGER; R : SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.35 + function "/=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.36 + function "/=" (L : SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the lesser of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.38 + function MINIMUM (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the lesser of two SIGNED vectors that may be + -- of different lengths. + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the lesser of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.40 + function MINIMUM (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the lesser of an INTEGER, L, and a SIGNED + -- vector, R. + + -- Id: C.41 + function MINIMUM (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the lesser of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + -- Id: C.42 + function MINIMUM (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the lesser of a SIGNED vector, L, and + -- an INTEGER, R. + + --============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the greater of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.44 + function MAXIMUM (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the greater of two SIGNED vectors that may be + -- of different lengths. + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the greater of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.46 + function MAXIMUM (L : INTEGER; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the greater of an INTEGER, L, and a SIGNED + -- vector, R. + + -- Id: C.47 + function MAXIMUM (L : UNSIGNED; R : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED + -- Result: Returns the greater of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + -- Id: C.48 + function MAXIMUM (L : SIGNED; R : INTEGER) return SIGNED; + -- Result subtype: SIGNED + -- Result: Returns the greater of a SIGNED vector, L, and + -- an INTEGER, R. + + --============================================================================ + + -- Id: C.49 + function "?>" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.50 + function "?>" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.51 + function "?>" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.52 + function "?>" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is a INTEGER and + -- R is a SIGNED vector. + + -- Id: C.53 + function "?>" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.54 + function "?>" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is a SIGNED vector and + -- R is a INTEGER. + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.56 + function "?<" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.57 + function "?<" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.58 + function "?<" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.59 + function "?<" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.60 + function "?<" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.62 + function "?<=" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.63 + function "?<=" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.64 + function "?<=" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.65 + function "?<=" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.66 + function "?<=" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.68 + function "?>=" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.69 + function "?>=" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.70 + function "?>=" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is an INTEGER and + -- R is a SIGNED vector. + + -- Id: C.71 + function "?>=" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.72 + function "?>=" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is a SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.74 + function "?=" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.75 + function "?=" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.76 + function "?=" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is an INTEGER and + -- R is an SIGNED vector. + + -- Id: C.77 + function "?=" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.78 + function "?=" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is an SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.80 + function "?/=" (L, R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L and R are SIGNED vectors possibly + -- of different lengths. + + -- Id: C.81 + function "?/=" (L : NATURAL; R : UNSIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.82 + function "?/=" (L : INTEGER; R : SIGNED) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is an INTEGER and + -- R is an SIGNED vector. + + -- Id: C.83 + function "?/=" (L : UNSIGNED; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.84 + function "?/=" (L : SIGNED; R : INTEGER) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is an SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + -- Shift and Rotate Functions + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with Bit '0'. + -- The COUNT leftmost bits are lost. + + -- Id: S.2 + function SHIFT_RIGHT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with Bit '0'. + -- The COUNT rightmost bits are lost. + + -- Id: S.3 + function SHIFT_LEFT (ARG : SIGNED; COUNT : NATURAL) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on a SIGNED vector COUNT times. + -- The vacated positions are filled with Bit '0'. + -- The COUNT leftmost bits are lost. + + -- Id: S.4 + function SHIFT_RIGHT (ARG : SIGNED; COUNT : NATURAL) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on a SIGNED vector COUNT times. + -- The vacated positions are filled with the leftmost bit, ARG'LEFT. + -- The COUNT rightmost bits are lost. + + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-left of an UNSIGNED vector COUNT times. + + -- Id: S.6 + function ROTATE_RIGHT (ARG : UNSIGNED; COUNT : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-right of an UNSIGNED vector COUNT times. + + -- Id: S.7 + function ROTATE_LEFT (ARG : SIGNED; COUNT : NATURAL) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a logical rotate-left of a SIGNED vector COUNT times. + + -- Id: S.8 + function ROTATE_RIGHT (ARG : SIGNED; COUNT : NATURAL) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a logical rotate-right of a SIGNED vector COUNT times. + + --============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.9 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.9 + function "sll" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.10 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.10 + function "sll" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.11 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.11 + function "srl" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.12 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.12 + function "srl" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SIGNED(SHIFT_RIGHT(UNSIGNED(ARG), COUNT)) + + ------------------------------------------------------------------------------ + -- Note: Function S.13 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.13 + function "rol" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.14 + function "rol" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.15 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.15 + function "ror" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.16 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.16 + function "ror" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.18 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.18 + function "sla" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : UNSIGNED; COUNT : INTEGER) return UNSIGNED; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.20 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.20 + function "sra" (ARG : SIGNED; COUNT : INTEGER) return SIGNED; + -- Result subtype: SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + --============================================================================ + -- RESIZE Functions + --============================================================================ + + -- Id: R.1 + function RESIZE (ARG : SIGNED; NEW_SIZE : NATURAL) return SIGNED; + -- Result subtype: SIGNED(NEW_SIZE-1 downto 0) + -- Result: Resizes the SIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with the sign bit (ARG'LEFT). When truncating, + -- the sign bit is retained along with the rightmost part. + + -- Id: R.2 + function RESIZE (ARG : UNSIGNED; NEW_SIZE : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(NEW_SIZE-1 downto 0) + -- Result: Resizes the UNSIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with '0'. When truncating, the leftmost bits + -- are dropped. + + function RESIZE (ARG, SIZE_RES : UNSIGNED) return UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED (SIZE_RES'length-1 downto 0) + + function RESIZE (ARG, SIZE_RES : SIGNED) return SIGNED; + -- Result subtype: UNRESOLVED_SIGNED (SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Conversion Functions + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : UNSIGNED) return NATURAL; + -- Result subtype: NATURAL. Value cannot be negative since parameter is an + -- UNSIGNED vector. + -- Result: Converts the UNSIGNED vector to an INTEGER. + + -- Id: D.2 + function TO_INTEGER (ARG : SIGNED) return INTEGER; + -- Result subtype: INTEGER + -- Result: Converts a SIGNED vector to an INTEGER. + + -- Id: D.3 + function TO_UNSIGNED (ARG, SIZE : NATURAL) return UNSIGNED; + -- Result subtype: UNSIGNED(SIZE-1 downto 0) + -- Result: Converts a nonnegative INTEGER to an UNSIGNED vector with + -- the specified size. + + -- Id: D.4 + function TO_SIGNED (ARG : INTEGER; SIZE : NATURAL) return SIGNED; + -- Result subtype: SIGNED(SIZE-1 downto 0) + -- Result: Converts an INTEGER to a SIGNED vector of the specified size. + + function TO_UNSIGNED (ARG : NATURAL; SIZE_RES : UNSIGNED) return UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(SIZE_RES'length-1 downto 0) + + function TO_SIGNED (ARG : INTEGER; SIZE_RES : SIGNED) return SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Logical Operators + --============================================================================ + + -- Id: L.1 + function "not" (L : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Termwise inversion + + -- Id: L.2 + function "and" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector AND operation + + -- Id: L.3 + function "or" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector OR operation + + -- Id: L.4 + function "nand" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NAND operation + + -- Id: L.5 + function "nor" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NOR operation + + -- Id: L.6 + function "xor" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.7 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.7 + function "xnor" (L, R : UNSIGNED) return UNSIGNED; + -- Result subtype: UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XNOR operation + + -- Id: L.8 + function "not" (L : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Termwise inversion + + -- Id: L.9 + function "and" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector AND operation + + -- Id: L.10 + function "or" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector OR operation + + -- Id: L.11 + function "nand" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NAND operation + + -- Id: L.12 + function "nor" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NOR operation + + -- Id: L.13 + function "xor" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.14 + function "xnor" (L, R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XNOR operation + + -- Id: L.15 + function "and" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector AND operation + + -- Id: L.16 + function "and" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar AND operation + + -- Id: L.17 + function "or" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector OR operation + + -- Id: L.18 + function "or" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar OR operation + + -- Id: L.19 + function "nand" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NAND operation + + -- Id: L.20 + function "nand" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NAND operation + + -- Id: L.21 + function "nor" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NOR operation + + -- Id: L.22 + function "nor" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NOR operation + + -- Id: L.23 + function "xor" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XOR operation + + -- Id: L.24 + function "xor" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.25 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.25 + function "xnor" (L : BIT; R : UNSIGNED) return UNSIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.26 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.26 + function "xnor" (L : UNSIGNED; R : BIT) return UNSIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XNOR operation + + -- Id: L.27 + function "and" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector AND operation + + -- Id: L.28 + function "and" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar AND operation + + -- Id: L.29 + function "or" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector OR operation + + -- Id: L.30 + function "or" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar OR operation + + -- Id: L.31 + function "nand" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NAND operation + + -- Id: L.32 + function "nand" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NAND operation + + -- Id: L.33 + function "nor" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NOR operation + + -- Id: L.34 + function "nor" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NOR operation + + -- Id: L.35 + function "xor" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XOR operation + + -- Id: L.36 + function "xor" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.37 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.37 + function "xnor" (L : BIT; R : SIGNED) return SIGNED; + -- Result subtype: SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.38 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.38 + function "xnor" (L : SIGNED; R : BIT) return SIGNED; + -- Result subtype: SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.39 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.39 + function "and" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of and'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.40 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.40 + function "nand" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of nand'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.41 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.41 + function "or" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of or'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.42 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.42 + function "nor" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of nor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.43 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.43 + function "xor" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of xor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.44 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.44 + function "xnor" (L : SIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of xnor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.45 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.45 + function "and" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of and'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.46 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.46 + function "nand" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of nand'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.47 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.47 + function "or" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of or'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.48 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.48 + function "nor" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of nor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.49 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.49 + function "xor" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of xor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.50 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.50 + function "xnor" (L : UNSIGNED) return BIT; + -- Result subtype: BIT. + -- Result: Result of xnor'ing all of the bits of the vector. + + --============================================================================ + -- Edge Detection Functions + --============================================================================ + + -- Id: E.1 + alias RISING_EDGE is STD.STANDARD.RISING_EDGE + [STD.STANDARD.BIT return STD.STANDARD.BOOLEAN]; + -- Result subtype: BOOLEAN + -- Result: Returns TRUE if an event is detected on signal S and the + -- value changed from a '0' to a '1'. + + -- Id: E.2 + alias FALLING_EDGE is STD.STANDARD.FALLING_EDGE + [STD.STANDARD.BIT return STD.STANDARD.BOOLEAN]; + -- Result subtype: BOOLEAN + -- Result: Returns TRUE if an event is detected on signal S and the + -- value changed from a '1' to a '0'. + + --============================================================================ + -- string conversion and write operations + --============================================================================ + -- the following operations are predefined + + -- FUNCTION to_string ( value : UNSIGNED ) RETURN string; + -- FUNCTION to_string ( value : SIGNED ) RETURN string; + + -- explicitly defined operations + + alias to_bstring is to_string [UNSIGNED return STRING]; + alias to_bstring is to_string [SIGNED return STRING]; + alias to_binary_string is to_string [UNSIGNED return STRING]; + alias to_binary_string is to_string [SIGNED return STRING]; + + function to_ostring (value : UNSIGNED) return STRING; + function to_ostring (value : SIGNED) return STRING; + alias to_octal_string is to_ostring [UNSIGNED return STRING]; + alias to_octal_string is to_ostring [SIGNED return STRING]; + + function to_hstring (value : UNSIGNED) return STRING; + function to_hstring (value : SIGNED) return STRING; + alias to_hex_string is to_hstring [UNSIGNED return STRING]; + alias to_hex_string is to_hstring [SIGNED return STRING]; + + procedure READ(L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN); + + procedure READ(L : inout LINE; VALUE : out UNSIGNED); + + procedure READ(L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN); + + procedure READ(L : inout LINE; VALUE : out SIGNED); + + procedure WRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure WRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias BREAD is READ [LINE, UNSIGNED, BOOLEAN]; + alias BREAD is READ [LINE, SIGNED, BOOLEAN]; + + alias BREAD is READ [LINE, UNSIGNED]; + alias BREAD is READ [LINE, SIGNED]; + + alias BINARY_READ is READ [LINE, UNSIGNED, BOOLEAN]; + alias BINARY_READ is READ [LINE, SIGNED, BOOLEAN]; + + alias BINARY_READ is READ [LINE, UNSIGNED]; + alias BINARY_READ is READ [LINE, SIGNED]; + + procedure OREAD (L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN); + procedure OREAD (L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN); + + procedure OREAD (L : inout LINE; VALUE : out UNSIGNED); + procedure OREAD (L : inout LINE; VALUE : out SIGNED); + + alias OCTAL_READ is OREAD [LINE, UNSIGNED, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, SIGNED, BOOLEAN]; + + alias OCTAL_READ is OREAD [LINE, UNSIGNED]; + alias OCTAL_READ is OREAD [LINE, SIGNED]; + + procedure HREAD (L : inout LINE; VALUE : out UNSIGNED; GOOD : out BOOLEAN); + procedure HREAD (L : inout LINE; VALUE : out SIGNED; GOOD : out BOOLEAN); + + procedure HREAD (L : inout LINE; VALUE : out UNSIGNED); + procedure HREAD (L : inout LINE; VALUE : out SIGNED); + + alias HEX_READ is HREAD [LINE, UNSIGNED, BOOLEAN]; + alias HEX_READ is HREAD [LINE, SIGNED, BOOLEAN]; + + alias HEX_READ is HREAD [LINE, UNSIGNED]; + alias HEX_READ is HREAD [LINE, SIGNED]; + + alias BWRITE is WRITE [LINE, UNSIGNED, SIDE, WIDTH]; + alias BWRITE is WRITE [LINE, SIGNED, SIDE, WIDTH]; + + alias BINARY_WRITE is WRITE [LINE, UNSIGNED, SIDE, WIDTH]; + alias BINARY_WRITE is WRITE [LINE, SIGNED, SIDE, WIDTH]; + + procedure OWRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure OWRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias OCTAL_WRITE is OWRITE [LINE, UNSIGNED, SIDE, WIDTH]; + alias OCTAL_WRITE is OWRITE [LINE, SIGNED, SIDE, WIDTH]; + + procedure HWRITE (L : inout LINE; VALUE : in UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure HWRITE (L : inout LINE; VALUE : in SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias HEX_WRITE is HWRITE [LINE, UNSIGNED, SIDE, WIDTH]; + alias HEX_WRITE is HWRITE [LINE, SIGNED, SIDE, WIDTH]; + +end package NUMERIC_BIT; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl new file mode 100644 index 0000000..347eb70 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl @@ -0,0 +1,592 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_BIT_UNSIGNED package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Values of type BIT_VECTOR +-- : are interpreted as unsigned numbers in vector form. +-- : The leftmost bit is treated as the most significant bit. +-- : This package contains overloaded arithmetic operators on +-- : the BIT_VECTOR type. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library ieee; +use ieee.numeric_bit.all; + +package body NUMERIC_BIT_UNSIGNED is + + -- Id: A.3 + function "+" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) + UNSIGNED(R)); + end function "+"; + + -- Id: A.3R + function "+"(L : BIT_VECTOR; R : BIT) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) + R); + end function "+"; + + -- Id: A.3L + function "+"(L : BIT; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L + UNSIGNED(R)); + end function "+"; + + -- Id: A.5 + function "+" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) + R); + end function "+"; + + -- Id: A.6 + function "+" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L + UNSIGNED(R)); + end function "+"; + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) - UNSIGNED(R)); + end function "-"; + + -- Id: A.9R + function "-"(L : BIT_VECTOR; R : BIT) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) - R); + end function "-"; + + -- Id: A.9L + function "-"(L : BIT; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L - UNSIGNED(R)); + end function "-"; + + -- Id: A.11 + function "-" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) - R); + end function "-"; + + -- Id: A.12 + function "-" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L - UNSIGNED(R)); + end function "-"; + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) * UNSIGNED(R)); + end function "*"; + + -- Id: A.17 + function "*" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) * R); + end function "*"; + + -- Id: A.18 + function "*" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L * UNSIGNED(R)); + end function "*"; + + --============================================================================ + + -- Id: A.21 + function "/" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) / UNSIGNED(R)); + end function "/"; + + -- Id: A.23 + function "/" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) / R); + end function "/"; + + -- Id: A.24 + function "/" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L / UNSIGNED(R)); + end function "/"; + + --============================================================================ + + -- Id: A.27 + function "rem" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) rem UNSIGNED(R)); + end function "rem"; + + -- Id: A.29 + function "rem" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) rem R); + end function "rem"; + + -- Id: A.30 + function "rem" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L rem UNSIGNED(R)); + end function "rem"; + + --============================================================================ + + -- Id: A.33 + function "mod" (L, R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) mod UNSIGNED(R)); + end function "mod"; + + -- Id: A.35 + function "mod" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(L) mod R); + end function "mod"; + + -- Id: A.36 + function "mod" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (L mod UNSIGNED(R)); + end function "mod"; + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG: BIT_VECTOR; Y: BIT) return INTEGER is + begin + return find_leftmost(UNSIGNED(ARG), Y); + end function find_leftmost; + + -- Id: A.41 + function find_rightmost (ARG: BIT_VECTOR; Y: BIT) return INTEGER is + begin + return find_rightmost(UNSIGNED(ARG), Y); + end function find_rightmost; + + --============================================================================ + -- Id: C.1 + function ">" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) > UNSIGNED(R); + end function ">"; + + -- Id: C.3 + function ">" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L > UNSIGNED(R); + end function ">"; + + -- Id: C.5 + function ">" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) > R; + end function ">"; + + --============================================================================ + -- Id: C.7 + function "<" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) < UNSIGNED(R); + end function "<"; + + -- Id: C.9 + function "<" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L < UNSIGNED(R); + end function "<"; + + -- Id: C.11 + function "<" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) < R; + end function "<"; + + --============================================================================ + -- Id: C.13 + function "<=" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) <= UNSIGNED(R); + end function "<="; + + -- Id: C.15 + function "<=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L <= UNSIGNED(R); + end function "<="; + + -- Id: C.17 + function "<=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) <= R; + end function "<="; + + --============================================================================ + -- Id: C.19 + function ">=" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) >= UNSIGNED(R); + end function ">="; + + -- Id: C.21 + function ">=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L >= UNSIGNED(R); + end function ">="; + + -- Id: C.23 + function ">=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) >= R; + end function ">="; + + --============================================================================ + -- Id: C.25 + function "=" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) = UNSIGNED(R); + end function "="; + + -- Id: C.27 + function "=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L = UNSIGNED(R); + end function "="; + + -- Id: C.29 + function "=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) = R; + end function "="; + + --============================================================================ + -- Id: C.31 + function "/=" (L, R : BIT_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) /= UNSIGNED(R); + end function "/="; + + -- Id: C.33 + function "/=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN is + begin + return L /= UNSIGNED(R); + end function "/="; + + -- Id: C.35 + function "/=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) /= R; + end function "/="; + + --============================================================================ + -- Id: C.37 + function MINIMUM (L, R: BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (MINIMUM(UNSIGNED(L), UNSIGNED(R))); + end function MINIMUM; + + -- Id: C.39 + function MINIMUM (L: NATURAL; R: BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (MINIMUM(L, UNSIGNED(R))); + end function MINIMUM; + + -- Id: C.41 + function MINIMUM (L: BIT_VECTOR; R: NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (MINIMUM(UNSIGNED(L), R)); + end function MINIMUM; + + --============================================================================ + -- Id: C.43 + function MAXIMUM (L, R: BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (MAXIMUM(UNSIGNED(L), UNSIGNED(R))); + end function MAXIMUM; + + -- Id: C.45 + function MAXIMUM (L: NATURAL; R: BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR (MAXIMUM(L, UNSIGNED(R))); + end function MAXIMUM; + + -- Id: C.47 + function MAXIMUM (L: BIT_VECTOR; R: NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (MAXIMUM(UNSIGNED(L), R)); + end function MAXIMUM; + + --============================================================================ + + -- Id: C.49 + function "?>" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?> UNSIGNED(R); + end function "?>"; + + -- Id: C.51 + function "?>" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?> UNSIGNED(R); + end function "?>"; + + -- Id: C.53 + function "?>" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?> R; + end function "?>"; + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?< UNSIGNED(R); + end function "?<"; + + -- Id: C.57 + function "?<" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?< UNSIGNED(R); + end function "?<"; + + -- Id: C.59 + function "?<" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?< R; + end function "?<"; + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?<= UNSIGNED(R); + end function "?<="; + + -- Id: C.63 + function "?<=" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?<= UNSIGNED(R); + end function "?<="; + + -- Id: C.65 + function "?<=" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?<= R; + end function "?<="; + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?>= UNSIGNED(R); + end function "?>="; + + -- Id: C.69 + function "?>=" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?>= UNSIGNED(R); + end function "?>="; + + -- Id: C.71 + function "?>=" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?>= R; + end function "?>="; + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?= UNSIGNED(R); + end function "?="; + + -- Id: C.75 + function "?=" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?= UNSIGNED(R); + end function "?="; + + -- Id: C.77 + function "?=" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?= R; + end function "?="; + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R: BIT_VECTOR) return BIT is + begin + return UNSIGNED(L) ?/= UNSIGNED(R); + end function "?/="; + + -- Id: C.81 + function "?/=" (L: NATURAL; R: BIT_VECTOR) return BIT is + begin + return L ?/= UNSIGNED(R); + end function "?/="; + + -- Id: C.83 + function "?/=" (L: BIT_VECTOR; R: NATURAL) return BIT is + begin + return UNSIGNED(L) ?/= R; + end function "?/="; + + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (shift_left (ARG => UNSIGNED(ARG), + COUNT => COUNT)); + end function SHIFT_LEFT; + + -- Id: S.2 + function SHIFT_RIGHT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (shift_right (ARG => UNSIGNED(ARG), + COUNT => COUNT)); + end function SHIFT_RIGHT; + + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (rotate_left (ARG => UNSIGNED(ARG), + COUNT => COUNT)); + end function ROTATE_LEFT; + + -- Id: S.6 + function ROTATE_RIGHT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (rotate_right (ARG => UNSIGNED(ARG), + COUNT => COUNT)); + end function ROTATE_RIGHT; + + --============================================================================ + + -- Id: S.9 + function "sll" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) sll COUNT); + end function "sll"; + + -- Id: S.11 + function "srl" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) srl COUNT); + end function "srl"; + + -- Id: S.13 + function "rol" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) rol COUNT); + end function "rol"; + + -- Id: S.15 + function "ror" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) ror COUNT); + end function "ror"; + + -- Id: S.17 + function "sla" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) sla COUNT); + end function "sla"; + + -- Id: S.19 + function "sra" (ARG: BIT_VECTOR; COUNT: INTEGER) return BIT_VECTOR is + begin + return BIT_VECTOR (UNSIGNED(ARG) sra COUNT); + end function "sra"; + + --============================================================================ + + -- Id: R.2 + function RESIZE (ARG : BIT_VECTOR; NEW_SIZE : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR ( + resize (arg => UNSIGNED(ARG), + NEW_SIZE => NEW_SIZE)); + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : BIT_VECTOR) return BIT_VECTOR is + begin + return BIT_VECTOR ( + RESIZE (ARG => UNSIGNED(ARG), + NEW_SIZE => SIZE_RES'length)); + end function RESIZE; + + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : BIT_VECTOR) return NATURAL is + begin + return TO_INTEGER (UNSIGNED(ARG)); + end function TO_INTEGER; + + -- Id: D.3 + function To_BitVector (ARG, SIZE : NATURAL) return BIT_VECTOR is + begin + return BIT_VECTOR (TO_UNSIGNED(ARG, SIZE)); + end function To_BitVector; + + function To_BitVector (ARG : NATURAL; SIZE_RES : BIT_VECTOR) + return BIT_VECTOR is + begin + return BIT_VECTOR (TO_UNSIGNED(ARG, SIZE_RES'length)); + end function To_BitVector; + +end package body NUMERIC_BIT_UNSIGNED; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl new file mode 100644 index 0000000..55516cf --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl @@ -0,0 +1,623 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_BIT_UNSIGNED package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Values of type BIT_VECTOR +-- : are interpreted as unsigned numbers in vector form. +-- : The leftmost bit is treated as the most significant bit. +-- : This package contains overloaded arithmetic operators on +-- : the BIT_VECTOR type. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +package NUMERIC_BIT_UNSIGNED is + constant CopyRightNotice : STRING := + "Copyright 2008 IEEE. All rights reserved."; + + -- Id: A.3 + function "+" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0). + -- Result: Adds two UNSIGNED vectors that may be of different lengths. + + -- Id: A.3R + function "+"(L : BIT_VECTOR; R : BIT) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Similar to A.3 where R is a one bit bit_vector + + -- Id: A.3L + function "+"(L : BIT; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Similar to A.3 where L is a one bit UNSIGNED + + -- Id: A.5 + function "+" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0). + -- Result: Adds an UNSIGNED vector, L, with a non-negative INTEGER, R. + + -- Id: A.6 + function "+" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0). + -- Result: Adds a non-negative INTEGER, L, with an UNSIGNED vector, R. + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0). + -- Result: Subtracts two UNSIGNED vectors that may be of different lengths. + + -- Id: A.9R + function "-"(L : BIT_VECTOR; R : BIT) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Similar to A.9 where R is a one bit UNSIGNED + + -- Id: A.9L + function "-"(L : BIT; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Similar to A.9 where L is a one bit UNSIGNED + + -- Id: A.11 + function "-" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0). + -- Result: Subtracts a non-negative INTEGER, R, from an UNSIGNED vector, L. + + -- Id: A.12 + function "-" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0). + -- Result: Subtracts an UNSIGNED vector, R, from a non-negative INTEGER, L. + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector((L'LENGTH+R'LENGTH-1) downto 0). + -- Result: Performs the multiplication operation on two UNSIGNED vectors + -- that may possibly be of different lengths. + + -- Id: A.17 + function "*" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector((L'LENGTH+L'LENGTH-1) downto 0). + -- Result: Multiplies an UNSIGNED vector, L, with a non-negative + -- INTEGER, R. R is converted to an UNSIGNED vector of + -- SIZE L'LENGTH before multiplication. + + -- Id: A.18 + function "*" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector((R'LENGTH+R'LENGTH-1) downto 0). + -- Result: Multiplies an UNSIGNED vector, R, with a non-negative + -- INTEGER, L. L is converted to an UNSIGNED vector of + -- SIZE R'LENGTH before multiplication. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "/" operator, a severity level + -- of ERROR is issued. + + -- Id: A.21 + function "/" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by another UNSIGNED vector, R. + + -- Id: A.23 + function "/" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by a non-negative INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.24 + function "/" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Divides a non-negative INTEGER, L, by an UNSIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "rem" operator, a severity level + -- of ERROR is issued. + + -- Id: A.27 + function "rem" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are UNSIGNED vectors. + + -- Id: A.29 + function "rem" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is an UNSIGNED vector and R is a + -- non-negative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.30 + function "rem" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is an UNSIGNED vector and L is a + -- non-negative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "mod" operator, a severity level + -- of ERROR is issued. + + -- Id: A.33 + function "mod" (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are UNSIGNED vectors. + + -- Id: A.35 + function "mod" (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an UNSIGNED vector and R + -- is a non-negative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.36 + function "mod" (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: bit_vector(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where R is an UNSIGNED vector and L + -- is a non-negative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG : BIT_VECTOR; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.41 + function find_rightmost (ARG : BIT_VECTOR; Y : BIT) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + --============================================================================ + -- Comparison Operators + --============================================================================ + -- Id: C.1 + function ">" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.3 + function ">" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.5 + function ">" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + -- Id: C.7 + function "<" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.9 + function "<" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.11 + function "<" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + -- Id: C.13 + function "<=" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.15 + function "<=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.17 + function "<=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + -- Id: C.19 + function ">=" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.21 + function ">=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.23 + function ">=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + -- Id: C.25 + function "=" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.27 + function "=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.29 + function "=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.31 + function "/=" (L, R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.33 + function "/=" (L : NATURAL; R : BIT_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.35 + function "/=" (L : BIT_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the lesser of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the lesser of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.41 + function MINIMUM (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the lesser of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + --============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the greater of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the greater of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.47 + function MAXIMUM (L : BIT_VECTOR; R : NATURAL) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR + -- Result: Returns the greater of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + --============================================================================ + -- Id: C.49 + function "?>" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.51 + function "?>" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.53 + function "?>" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.57 + function "?<" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.59 + function "?<" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.63 + function "?<=" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.65 + function "?<=" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.69 + function "?>=" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.71 + function "?>=" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.75 + function "?=" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.77 + function "?=" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.81 + function "?/=" (L : NATURAL; R : BIT_VECTOR) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.83 + function "?/=" (L : BIT_VECTOR; R : NATURAL) return BIT; + -- Result subtype: BIT + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + -- Shift and Rotate Functions + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT leftmost elements are lost. + + -- Id: S.2 + function SHIFT_RIGHT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT rightmost elements are lost. + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-left of an UNSIGNED vector COUNT times. + + -- Id: S.6 + function ROTATE_RIGHT (ARG : BIT_VECTOR; COUNT : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-right of an UNSIGNED vector COUNT times. + + + --============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.9 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.9 + function "sll" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.11 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.11 + function "srl" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.13 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.13 + function "rol" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.15 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.15 + function "ror" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : BIT_VECTOR; COUNT : INTEGER) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + + --============================================================================ + -- RESIZE Functions + --============================================================================ + + -- Id: R.2 + function RESIZE (ARG : BIT_VECTOR; NEW_SIZE : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(NEW_SIZE-1 downto 0) + -- Result: Resizes the UNSIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with '0'. When truncating, the leftmost bits + -- are dropped. + + function RESIZE (ARG, SIZE_RES : BIT_VECTOR) return BIT_VECTOR; + -- Result subtype: BIT_VECTOR (SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Conversion Functions + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : BIT_VECTOR) return NATURAL; + -- Result subtype: NATURAL. Value cannot be negative since parameter is an + -- UNSIGNED vector. + -- Result: Converts the UNSIGNED vector to an INTEGER. + + -- Id: D.3 + function To_BitVector (ARG, SIZE : NATURAL) return BIT_VECTOR; + -- Result subtype: bit_vector(SIZE-1 downto 0) + -- Result: Converts a non-negative INTEGER to an UNSIGNED vector with + -- the specified size. + + function To_BitVector (ARG : NATURAL; SIZE_RES : BIT_VECTOR) + return BIT_VECTOR; + -- Result subtype: STD_LOGIC_VECTOR(SIZE_RES'length-1 downto 0) + +-- begin LCS-2006-130 + alias To_Bit_Vector is + To_BitVector[NATURAL, NATURAL return BIT_VECTOR]; + alias To_BV is + To_BitVector[NATURAL, NATURAL return BIT_VECTOR]; + + alias To_Bit_Vector is + To_BitVector[NATURAL, BIT_VECTOR return BIT_VECTOR]; + alias To_BV is + To_BitVector[NATURAL, BIT_VECTOR return BIT_VECTOR]; + +end package NUMERIC_BIT_UNSIGNED; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl new file mode 100644 index 0000000..18ddfa7 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl @@ -0,0 +1,4459 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of This +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_STD package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC Synthesis Working Group, +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Two numeric types are defined: +-- : -- > UNRESOLVED_UNSIGNED: represents an UNSIGNED number +-- : in vector form +-- : -- > UNRESOLVED_SIGNED: represents a SIGNED number +-- : in vector form +-- : The base element type is type STD_ULOGIC. +-- : Aliases U_UNSIGNED and U_SIGNED are defined for the types +-- : UNRESOLVED_UNSIGNED and UNRESOLVED_SIGNED, respectively. +-- : Two numeric subtypes are defined: +-- : -- > UNSIGNED: represents UNSIGNED number in vector form +-- : -- > SIGNED: represents a SIGNED number in vector form +-- : The element subtypes are the same subtype as STD_LOGIC. +-- : The leftmost bit is treated as the most significant bit. +-- : Signed vectors are represented in two's complement form. +-- : This package contains overloaded arithmetic operators on +-- : the SIGNED and UNSIGNED types. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1.4 $ +-- $Date: 2015/08/13 10:28:07 $ +-- -------------------------------------------------------------------- + +package body NUMERIC_STD is + + -- null range array constants + + constant NAU : UNRESOLVED_UNSIGNED (0 downto 1) := (others => '0'); + constant NAS : UNRESOLVED_SIGNED (0 downto 1) := (others => '0'); + + -- implementation controls + + constant NO_WARNING : BOOLEAN := false; -- default to emit warnings + + -- =========================Local Subprograms ================================= + + function SIGNED_NUM_BITS (ARG : INTEGER) return NATURAL is + variable NBITS : NATURAL; + variable N : NATURAL; + begin + if ARG >= 0 then + N := ARG; + else + N := -(ARG+1); + end if; + NBITS := 1; + while N > 0 loop + NBITS := NBITS+1; + N := N / 2; + end loop; + return NBITS; + end function SIGNED_NUM_BITS; + + function UNSIGNED_NUM_BITS (ARG : NATURAL) return NATURAL is + variable NBITS : NATURAL; + variable N : NATURAL; + begin + N := ARG; + NBITS := 1; + while N > 1 loop + NBITS := NBITS+1; + N := N / 2; + end loop; + return NBITS; + end function UNSIGNED_NUM_BITS; + + ------------------------------------------------------------------------ + + -- this internal function computes the addition of two UNRESOLVED_UNSIGNED + -- with input CARRY + -- * the two arguments are of the same length + + function ADD_UNSIGNED (L, R : UNRESOLVED_UNSIGNED; C : STD_LOGIC) + return UNRESOLVED_UNSIGNED + is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is R; + variable RESULT : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable CBIT : STD_LOGIC := C; + begin + for I in 0 to L_LEFT loop + RESULT(I) := CBIT xor XL(I) xor XR(I); + CBIT := (CBIT and XL(I)) or (CBIT and XR(I)) or (XL(I) and XR(I)); + end loop; + return RESULT; + end function ADD_UNSIGNED; + + -- this internal function computes the addition of two UNRESOLVED_SIGNED + -- with input CARRY + -- * the two arguments are of the same length + + function ADD_SIGNED (L, R : UNRESOLVED_SIGNED; C : STD_LOGIC) + return UNRESOLVED_SIGNED + is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(L_LEFT downto 0) is R; + variable RESULT : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable CBIT : STD_LOGIC := C; + begin + for I in 0 to L_LEFT loop + RESULT(I) := CBIT xor XL(I) xor XR(I); + CBIT := (CBIT and XL(I)) or (CBIT and XR(I)) or (XL(I) and XR(I)); + end loop; + return RESULT; + end function ADD_SIGNED; + + ----------------------------------------------------------------------------- + + -- this internal procedure computes UNSIGNED division + -- giving the quotient and remainder. + procedure DIVMOD (NUM, XDENOM : UNRESOLVED_UNSIGNED; + XQUOT, XREMAIN : out UNRESOLVED_UNSIGNED) is + variable TEMP : UNRESOLVED_UNSIGNED(NUM'length downto 0); + variable QUOT : UNRESOLVED_UNSIGNED(MAXIMUM(NUM'length, XDENOM'length)-1 + downto 0); + alias DENOM : UNRESOLVED_UNSIGNED(XDENOM'length-1 downto 0) is XDENOM; + variable TOPBIT : INTEGER; + begin + TEMP := "0"&NUM; + QUOT := (others => '0'); + TOPBIT := -1; + for J in DENOM'range loop + if DENOM(J) = '1' then + TOPBIT := J; + exit; + end if; + end loop; + assert TOPBIT >= 0 report "NUMERIC_STD.DIVMOD: DIV, MOD, or REM by zero" + severity error; + + for J in NUM'length-(TOPBIT+1) downto 0 loop + if TEMP(TOPBIT+J+1 downto J) >= "0"&DENOM(TOPBIT downto 0) then + TEMP(TOPBIT+J+1 downto J) := (TEMP(TOPBIT+J+1 downto J)) + -("0"&DENOM(TOPBIT downto 0)); + QUOT(J) := '1'; + end if; + assert TEMP(TOPBIT+J+1) = '0' + report "NUMERIC_STD.DIVMOD: internal error in the division algorithm" + severity error; + end loop; + XQUOT := RESIZE(QUOT, XQUOT'length); + XREMAIN := RESIZE(TEMP, XREMAIN'length); + end procedure DIVMOD; + + -----------------Local Subprograms - shift/rotate ops------------------------- + + function XSLL (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR + is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : STD_ULOGIC_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : STD_ULOGIC_VECTOR(ARG_L downto 0) := (others => '0'); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT: variable is "SLL" ; + begin + if COUNT <= ARG_L then + RESULT(ARG_L downto COUNT) := XARG(ARG_L-COUNT downto 0); + end if; + return RESULT; + end function XSLL; + + function XSRL (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR + is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : STD_ULOGIC_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : STD_ULOGIC_VECTOR(ARG_L downto 0) := (others => '0'); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "SRL" ; + begin + if COUNT <= ARG_L then + RESULT(ARG_L-COUNT downto 0) := XARG(ARG_L downto COUNT); + end if; + return RESULT; + end function XSRL; + + function XSRA (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR + is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : STD_ULOGIC_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : STD_ULOGIC_VECTOR(ARG_L downto 0); + variable XCOUNT : NATURAL := COUNT; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "SRA" ; + begin + if ((ARG'length <= 1) or (XCOUNT = 0)) then return ARG; + else + if (XCOUNT > ARG_L) then XCOUNT := ARG_L; + end if; + RESULT(ARG_L-XCOUNT downto 0) := XARG(ARG_L downto XCOUNT); + RESULT(ARG_L downto (ARG_L - XCOUNT + 1)) := (others => XARG(ARG_L)); + end if; + return RESULT; + end function XSRA; + + function XROL (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR + is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : STD_ULOGIC_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : STD_ULOGIC_VECTOR(ARG_L downto 0) := XARG; + variable COUNTM : INTEGER; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "ROL" ; + begin + COUNTM := COUNT mod (ARG_L + 1); + if COUNTM /= 0 then + RESULT(ARG_L downto COUNTM) := XARG(ARG_L-COUNTM downto 0); + RESULT(COUNTM-1 downto 0) := XARG(ARG_L downto ARG_L-COUNTM+1); + end if; + return RESULT; + end function XROL; + + function XROR (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR + is + constant ARG_L : INTEGER := ARG'length-1; + alias XARG : STD_ULOGIC_VECTOR(ARG_L downto 0) is ARG; + variable RESULT : STD_ULOGIC_VECTOR(ARG_L downto 0) := XARG; + variable COUNTM : INTEGER; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "ROR" ; + begin + COUNTM := COUNT mod (ARG_L + 1); + if COUNTM /= 0 then + RESULT(ARG_L-COUNTM downto 0) := XARG(ARG_L downto COUNTM); + RESULT(ARG_L downto ARG_L-COUNTM+1) := XARG(COUNTM-1 downto 0); + end if; + return RESULT; + end function XROR; + + -----------------Local Subprograms - Relational ops--------------------------- + + -- + -- General "=" for UNRESOLVED_UNSIGNED vectors, same length + -- + function UNSIGNED_EQUAL (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + begin + return STD_ULOGIC_VECTOR(L) = STD_ULOGIC_VECTOR(R); + end function UNSIGNED_EQUAL; + + -- + -- General "=" for UNRESOLVED_SIGNED vectors, same length + -- + function SIGNED_EQUAL (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + begin + return STD_ULOGIC_VECTOR(L) = STD_ULOGIC_VECTOR(R); + end function SIGNED_EQUAL; + + -- + -- General "<" for UNRESOLVED_UNSIGNED vectors, same length + -- + function UNSIGNED_LESS (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + return STD_ULOGIC_VECTOR(L) < STD_ULOGIC_VECTOR(R); + end function UNSIGNED_LESS; + + -- + -- General "<" function for UNRESOLVED_SIGNED vectors, same length + -- + function SIGNED_LESS (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + variable INTERN_L : UNRESOLVED_SIGNED(0 to L'length-1); + variable INTERN_R : UNRESOLVED_SIGNED(0 to R'length-1); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + INTERN_L := L; + INTERN_R := R; + INTERN_L(0) := not INTERN_L(0); + INTERN_R(0) := not INTERN_R(0); + return STD_ULOGIC_VECTOR(INTERN_L) < STD_ULOGIC_VECTOR(INTERN_R); + end function SIGNED_LESS; + + -- + -- General "<=" function for UNRESOLVED_UNSIGNED vectors, same length + -- + function UNSIGNED_LESS_OR_EQUAL (L, R : UNRESOLVED_UNSIGNED) + return BOOLEAN is + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + return STD_ULOGIC_VECTOR(L) <= STD_ULOGIC_VECTOR(R); + end function UNSIGNED_LESS_OR_EQUAL; + + -- + -- General "<=" function for UNRESOLVED_SIGNED vectors, same length + -- + function SIGNED_LESS_OR_EQUAL (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + -- Need aliases to assure index direction + variable INTERN_L : UNRESOLVED_SIGNED(0 to L'length-1); + variable INTERN_R : UNRESOLVED_SIGNED(0 to R'length-1); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + INTERN_L := L; + INTERN_R := R; + INTERN_L(0) := not INTERN_L(0); + INTERN_R(0) := not INTERN_R(0); + return STD_ULOGIC_VECTOR(INTERN_L) <= STD_ULOGIC_VECTOR(INTERN_R); + end function SIGNED_LESS_OR_EQUAL; + + -- =========================Exported Functions ========================== + + -- Id: A.1 + function "abs" (ARG : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_SIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT : UNRESOLVED_SIGNED(ARG_LEFT downto 0); + -- Synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "ABS" ; + begin + if ARG'length < 1 then return NAS; + end if; + RESULT := TO_01(XARG, 'X'); + if (RESULT(RESULT'left) = 'X') then return RESULT; + end if; + if RESULT(RESULT'left) = '1' then + RESULT := -RESULT; + end if; + return RESULT; + end function "abs"; + + -- Id: A.2 + function "-" (ARG : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_SIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT, XARG01 : UNRESOLVED_SIGNED(ARG_LEFT downto 0); + variable CBIT : STD_LOGIC := '1'; + -- Synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute IS_SIGNED of RESULT:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "UMINUS" ; + begin + if ARG'length < 1 then return NAS; + end if; + XARG01 := TO_01(ARG, 'X'); + if (XARG01(XARG01'left) = 'X') then return XARG01; + end if; + for I in 0 to RESULT'left loop + RESULT(I) := not(XARG01(I)) xor CBIT; + CBIT := CBIT and not(XARG01(I)); + end loop; + return RESULT; + end function "-"; + + -- ============================================================================ + + -- Id: A.3 + function "+" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of L01:variable is "ADD" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + return ADD_UNSIGNED(L01, R01, '0'); + end function "+"; + + -- Id: A.3R + function "+" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED + is + variable XR : UNRESOLVED_UNSIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L + XR); + end function "+"; + + -- Id: A.3L + function "+" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED + is + variable XL : UNRESOLVED_UNSIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL + R); + end function "+"; + + -- Id: A.4 + function "+" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of L01:variable is TRUE ; + attribute SYNTHESIS_RETURN of L01:variable is "ADD" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + return ADD_SIGNED(L01, R01, '0'); + end function "+"; + + -- Id: A.4R + function "+" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED + is + variable XR : UNRESOLVED_SIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L + XR); + end function "+"; + + -- Id: A.4L + function "+" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED + is + variable XL : UNRESOLVED_SIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL + R); + end function "+"; + + -- Id: A.5 + function "+" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + return L + TO_UNSIGNED(R, L'length); + end function "+"; + + -- Id: A.6 + function "+" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) + R; + end function "+"; + + -- Id: A.7 + function "+" (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED is + begin + return L + TO_SIGNED(R, L'length); + end function "+"; + + -- Id: A.8 + function "+" (L : INTEGER; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return TO_SIGNED(L, R'length) + R; + end function "+"; + + -- ============================================================================ + + -- Id: A.9 + function "-" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of L01:variable is "SUB" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + return ADD_UNSIGNED(L01, not(R01), '1'); + end function "-"; + + -- Id: A.9R + function "-" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED + is + variable XR : UNRESOLVED_UNSIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L - XR); + end function "-"; + + -- Id: A.9L + function "-" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED + is + variable XL : UNRESOLVED_UNSIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL - R); + end function "-"; + + -- Id: A.10 + function "-" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of L01:variable is TRUE ; + attribute SYNTHESIS_RETURN of L01:variable is "SUB" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + return ADD_SIGNED(L01, not(R01), '1'); + end function "-"; + + -- Id: A.10R + function "-" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED + is + variable XR : UNRESOLVED_SIGNED(L'length-1 downto 0) := (others => '0'); + begin + XR(0) := R; + return (L - XR); + end function "-"; + + -- Id: A.10L + function "-" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED + is + variable XL : UNRESOLVED_SIGNED(R'length-1 downto 0) := (others => '0'); + begin + XL(0) := L; + return (XL - R); + end function "-"; + + -- Id: A.11 + function "-" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + return L - TO_UNSIGNED(R, L'length); + end function "-"; + + -- Id: A.12 + function "-" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) - R; + end function "-"; + + -- Id: A.13 + function "-" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED is + begin + return L - TO_SIGNED(R, L'length); + end function "-"; + + -- Id: A.14 + function "-" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + begin + return TO_SIGNED(L, R'length) - R; + end function "-"; + + -- ============================================================================ + + -- Id: A.15 + function "*" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + variable RESULT : UNRESOLVED_UNSIGNED((L'length+R'length-1) downto 0) := + (others => '0'); + variable ADVAL : UNRESOLVED_UNSIGNED((L'length+R'length-1) downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "MULT" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + RESULT := (others => 'X'); + return RESULT; + end if; + ADVAL := RESIZE(XR, RESULT'length); + for I in 0 to L_LEFT loop + if XL(I) = '1' then RESULT := RESULT + ADVAL; + end if; + ADVAL := SHIFT_LEFT(ADVAL, 1); + end loop; + return RESULT; + end function "*"; + + -- Id: A.16 + function "*" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + variable XL : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_SIGNED(R_LEFT downto 0); + variable RESULT : UNRESOLVED_SIGNED((L_LEFT+R_LEFT+1) downto 0) := + (others => '0'); + variable ADVAL : UNRESOLVED_SIGNED((L_LEFT+R_LEFT+1) downto 0); + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "MULT" ; + begin + if ((L_LEFT < 0) or (R_LEFT < 0)) then return NAS; + end if; + XL := TO_01(L, 'X'); + XR := TO_01(R, 'X'); + if ((XL(L_LEFT) = 'X') or (XR(R_LEFT) = 'X')) then + RESULT := (others => 'X'); + return RESULT; + end if; + ADVAL := RESIZE(XR, RESULT'length); + for I in 0 to L_LEFT-1 loop + if XL(I) = '1' then RESULT := RESULT + ADVAL; + end if; + ADVAL := SHIFT_LEFT(ADVAL, 1); + end loop; + if XL(L_LEFT) = '1' then + RESULT := RESULT - ADVAL; + end if; + return RESULT; + end function "*"; + + -- Id: A.17 + function "*" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + return L * TO_UNSIGNED(R, L'length); + end function "*"; + + -- Id: A.18 + function "*" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return TO_UNSIGNED(L, R'length) * R; + end function "*"; + + -- Id: A.19 + function "*" (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED is + begin + return L * TO_SIGNED(R, L'length); + end function "*"; + + -- Id: A.20 + function "*" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + begin + return TO_SIGNED(L, R'length) * R; + end function "*"; + + -- ============================================================================ + + -- Id: A.21 + function "/" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of FQUOT:variable is "DIV" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + FQUOT := (others => 'X'); + return FQUOT; + end if; + DIVMOD(XL, XR, FQUOT, FREMAIN); + return FQUOT; + end function "/"; + + -- Id: A.22 + function "/" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_SIGNED(R_LEFT downto 0); + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable XNUM : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable QNEG : BOOLEAN := false; + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of FQUOT:variable is TRUE ; + attribute SYNTHESIS_RETURN of FQUOT:variable is "DIV" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + FQUOT := (others => 'X'); + return UNRESOLVED_SIGNED(FQUOT); + end if; + if XL(XL'left) = '1' then + XNUM := UNRESOLVED_UNSIGNED(-XL); + QNEG := true; + else + XNUM := UNRESOLVED_UNSIGNED(XL); + end if; + if XR(XR'left) = '1' then + XDENOM := UNRESOLVED_UNSIGNED(-XR); + QNEG := not QNEG; + else + XDENOM := UNRESOLVED_UNSIGNED(XR); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if QNEG then FQUOT := "0"-FQUOT; + end if; + return UNRESOLVED_SIGNED(FQUOT); + end function "/"; + + -- Id: A.23 + function "/" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED + is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, QUOT : UNRESOLVED_UNSIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (L'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "DIV" ; + begin + if (L'length < 1) then return NAU; + end if; + if (R_LENGTH > L'length) then + QUOT := (others => '0'); + return RESIZE(QUOT, L'length); + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + QUOT := RESIZE((L / XR), QUOT'length); + return RESIZE(QUOT, L'length); + end function "/"; + + -- Id: A.24 + function "/" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED + is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, QUOT : UNRESOLVED_UNSIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (R'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "DIV" ; + begin + if (R'length < 1) then return NAU; + end if; + XL := TO_UNSIGNED(L, L_LENGTH); + QUOT := RESIZE((XL / R), QUOT'length); + if L_LENGTH > R'length and QUOT(0) /= 'X' + and QUOT(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_STD.""/"": Quotient Truncated" + severity warning; + end if; + return RESIZE(QUOT, R'length); + end function "/"; + + -- Id: A.25 + function "/" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, QUOT : UNRESOLVED_SIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (L'LENGTH-1 downto 0) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "DIV" ; + begin + if (L'length < 1) then return NAS; + end if; + if (R_LENGTH > L'length) then + QUOT := (others => '0'); + return RESIZE(QUOT, L'length); + end if; + XR := TO_SIGNED(R, R_LENGTH); + QUOT := RESIZE((L / XR), QUOT'length); + return RESIZE(QUOT, L'length); + end function "/"; + + -- Id: A.26 + function "/" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, QUOT : UNRESOLVED_SIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (R'LENGTH-1 downto 0) ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "DIV" ; + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + QUOT := RESIZE((XL / R), QUOT'length); + if L_LENGTH > R'length and QUOT(0) /= 'X' + and QUOT(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => QUOT(R'length-1)) + then + assert NO_WARNING report "NUMERIC_STD.""/"": Quotient Truncated" + severity warning; + end if; + return RESIZE(QUOT, R'length); + end function "/"; + + -- ============================================================================ + + -- Id: A.27 + function "rem" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of FREMAIN:variable is "REM" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + FREMAIN := (others => 'X'); + return FREMAIN; + end if; + DIVMOD(XL, XR, FQUOT, FREMAIN); + return FREMAIN; + end function "rem"; + + -- Id: A.28 + function "rem" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable XNUM : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable RNEG : BOOLEAN := false; + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of FREMAIN:variable is "REM" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + XNUM := UNRESOLVED_UNSIGNED(TO_01(XXL, 'X')); + XDENOM := UNRESOLVED_UNSIGNED(TO_01(XXR, 'X')); + if ((XNUM(XNUM'left) = 'X') or (XDENOM(XDENOM'left) = 'X')) then + FREMAIN := (others => 'X'); + return UNRESOLVED_SIGNED(FREMAIN); + end if; + if XNUM(XNUM'left) = '1' then + XNUM := UNRESOLVED_UNSIGNED(-UNRESOLVED_SIGNED(XNUM)); + RNEG := true; + else + XNUM := UNRESOLVED_UNSIGNED(XNUM); + end if; + if XDENOM(XDENOM'left) = '1' then + XDENOM := UNRESOLVED_UNSIGNED(-UNRESOLVED_SIGNED(XDENOM)); + else + XDENOM := UNRESOLVED_UNSIGNED(XDENOM); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if RNEG then + FREMAIN := "0"-FREMAIN; + end if; + return UNRESOLVED_SIGNED(FREMAIN); + end function "rem"; + + -- Id: A.29 + function "rem" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED + is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, XREM : UNRESOLVED_UNSIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (L'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "REM" ; + begin + if (L'length < 1) then return NAU; + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + XREM := L rem XR; + if R_LENGTH > L'length and XREM(0) /= 'X' + and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => '0') + then + assert NO_WARNING report "NUMERIC_STD.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "rem"; + + -- Id: A.30 + function "rem" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED + is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNRESOLVED_UNSIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (R'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "REM" ; + begin + XL := TO_UNSIGNED(L, L_LENGTH); + XREM := XL rem R; + if L_LENGTH > R'length and XREM(0) /= 'X' + and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_STD.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "rem"; + + -- Id: A.31 + function "rem" (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED + is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, XREM : UNRESOLVED_SIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (L'LENGTH-1 downto 0) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "REM" ; + begin + if (L'length < 1) then return NAS; + end if; + XR := TO_SIGNED(R, R_LENGTH); + XREM := RESIZE((L rem XR), XREM'length); + if R_LENGTH > L'length and XREM(0) /= 'X' + and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => XREM(L'length-1)) + then + assert NO_WARNING report "NUMERIC_STD.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "rem"; + + -- Id: A.32 + function "rem" (L : INTEGER; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED + is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNRESOLVED_SIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (R'LENGTH-1 downto 0) ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "REM" ; + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + XREM := RESIZE((XL rem R), XREM'length); + if L_LENGTH > R'length and XREM(0) /= 'X' + and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => XREM(R'length-1)) + then + assert NO_WARNING report "NUMERIC_STD.""rem"": Remainder Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "rem"; + + -- ============================================================================ + + -- Id: A.33 + function "mod" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of FREMAIN:variable is "MOD" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + FREMAIN := (others => 'X'); + return FREMAIN; + end if; + DIVMOD(XL, XR, FQUOT, FREMAIN); + return FREMAIN; + end function "mod"; + + -- Id: A.34 + function "mod" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XXL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XXR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable XL : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable XR : UNRESOLVED_SIGNED(R_LEFT downto 0); + variable FQUOT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable FREMAIN : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable XNUM : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + variable XDENOM : UNRESOLVED_UNSIGNED(R'length-1 downto 0); + variable RNEG : BOOLEAN := false; + -- Synthesis directives : + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of FREMAIN:variable is TRUE ; + attribute SYNTHESIS_RETURN of FREMAIN:variable is "MOD" ; + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + XL := TO_01(XXL, 'X'); + XR := TO_01(XXR, 'X'); + if ((XL(XL'left) = 'X') or (XR(XR'left) = 'X')) then + FREMAIN := (others => 'X'); + return UNRESOLVED_SIGNED(FREMAIN); + end if; + if XL(XL'left) = '1' then + XNUM := UNRESOLVED_UNSIGNED(-XL); + else + XNUM := UNRESOLVED_UNSIGNED(XL); + end if; + if XR(XR'left) = '1' then + XDENOM := UNRESOLVED_UNSIGNED(-XR); + RNEG := true; + else + XDENOM := UNRESOLVED_UNSIGNED(XR); + end if; + DIVMOD(XNUM, XDENOM, FQUOT, FREMAIN); + if RNEG and L(L'left) = '1' then + FREMAIN := "0"-FREMAIN; + elsif RNEG and FREMAIN /= "0" then + FREMAIN := FREMAIN-XDENOM; + elsif L(L'left) = '1' and FREMAIN /= "0" then + FREMAIN := XDENOM-FREMAIN; + end if; + return UNRESOLVED_SIGNED(FREMAIN); + end function "mod"; + + -- Id: A.35 + function "mod" (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED + is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, UNSIGNED_NUM_BITS(R)); + variable XR, XREM : UNRESOLVED_UNSIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (L'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "MOD" ; + begin + if (L'length < 1) then return NAU; + end if; + XR := TO_UNSIGNED(R, R_LENGTH); + XREM := RESIZE((L mod XR), XREM'length); + if R_LENGTH > L'length and XREM(0) /= 'X' + and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => '0') + then + assert NO_WARNING report "NUMERIC_STD.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "mod"; + + -- Id: A.36 + function "mod" (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED + is + constant L_LENGTH : NATURAL := MAXIMUM(UNSIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNRESOLVED_UNSIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : UNSIGNED (R'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "MOD" ; + begin + if (R'length < 1) then return NAU; + end if; + XL := TO_UNSIGNED(L, L_LENGTH); + XREM := RESIZE((XL mod R), XREM'length); + if L_LENGTH > R'length and XREM(0) /= 'X' + and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => '0') + then + assert NO_WARNING report "NUMERIC_STD.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "mod"; + + -- Id: A.37 + function "mod" (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED + is + constant R_LENGTH : NATURAL := MAXIMUM(L'length, SIGNED_NUM_BITS(R)); + variable XR, XREM : UNRESOLVED_SIGNED(R_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (L'LENGTH-1 downto 0) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "MOD" ; + begin + if (L'length < 1) then return NAS; + end if; + XR := TO_SIGNED(R, R_LENGTH); + XREM := RESIZE((L mod XR), XREM'length); + if R_LENGTH > L'length and XREM(0) /= 'X' + and XREM(R_LENGTH-1 downto L'length) + /= (R_LENGTH-1 downto L'length => XREM(L'length-1)) + then + assert NO_WARNING report "NUMERIC_STD.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, L'length); + end function "mod"; + + -- Id: A.38 + function "mod" (L : INTEGER; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED + is + constant L_LENGTH : NATURAL := MAXIMUM(SIGNED_NUM_BITS(L), R'length); + variable XL, XREM : UNRESOLVED_SIGNED(L_LENGTH-1 downto 0); + -- Synthesis directives : + variable RESULT : SIGNED (R'LENGTH-1 downto 0) ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute IS_SIGNED of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "MOD" ; + begin + if (R'length < 1) then return NAS; + end if; + XL := TO_SIGNED(L, L_LENGTH); + XREM := RESIZE((XL mod R), XREM'length); + if L_LENGTH > R'length and XREM(0) /= 'X' + and XREM(L_LENGTH-1 downto R'length) + /= (L_LENGTH-1 downto R'length => XREM(R'length-1)) + then + assert NO_WARNING report "NUMERIC_STD.""mod"": Modulus Truncated" + severity warning; + end if; + return RESIZE(XREM, R'length); + end function "mod"; + + -- ============================================================================ + -- Id: A.39 + function find_leftmost (ARG : UNRESOLVED_UNSIGNED; Y : STD_ULOGIC) + return INTEGER is + begin + for INDEX in ARG'range loop + if ARG(INDEX) ?= Y then + return INDEX; + end if; + end loop; + return -1; + end function find_leftmost; + + -- Id: A.40 + function find_leftmost (ARG : UNRESOLVED_SIGNED; Y : STD_ULOGIC) + return INTEGER is + begin + for INDEX in ARG'range loop + if ARG(INDEX) ?= Y then + return INDEX; + end if; + end loop; + return -1; + end function find_leftmost; + + -- Id: A.41 + function find_rightmost (ARG : UNRESOLVED_UNSIGNED; Y : STD_ULOGIC) + return INTEGER is + begin + for INDEX in ARG'reverse_range loop + if ARG(INDEX) ?= Y then + return INDEX; + end if; + end loop; + return -1; + end function find_rightmost; + + -- Id: A.42 + function find_rightmost (ARG : UNRESOLVED_SIGNED; Y : STD_ULOGIC) + return INTEGER is + begin + for INDEX in ARG'reverse_range loop + if ARG(INDEX) ?= Y then + return INDEX; + end if; + end loop; + return -1; + end function find_rightmost; + + -- ============================================================================ + + -- Id: C.1 + function ">" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return not UNSIGNED_LESS_OR_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function ">"; + + -- Id: C.2 + function ">" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return not SIGNED_LESS_OR_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function ">"; + + -- Id: C.3 + function ">" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not UNSIGNED_LESS_OR_EQUAL(TO_UNSIGNED(L, R01'length), R01); + end function ">"; + + -- Id: C.4 + function ">" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not SIGNED_LESS_OR_EQUAL(TO_SIGNED(L, R01'length), R01); + end function ">"; + + -- Id: C.5 + function ">" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return false; + end if; + return not UNSIGNED_LESS_OR_EQUAL(L01, TO_UNSIGNED(R, L01'length)); + end function ">"; + + -- Id: C.6 + function ">" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GT" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not SIGNED_LESS_OR_EQUAL(L01, TO_SIGNED(R, L01'length)); + end function ">"; + + -- ============================================================================ + + -- Id: C.7 + function "<" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_LESS(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "<"; + + -- Id: C.8 + function "<" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_LESS(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "<"; + + -- Id: C.9 + function "<" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return UNSIGNED_LESS(TO_UNSIGNED(L, R01'length), R01); + end function "<"; + + -- Id: C.10 + function "<" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return SIGNED_LESS(TO_SIGNED(L, R01'length), R01); + end function "<"; + + -- Id: C.11 + function "<" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return UNSIGNED_LESS(L01, TO_UNSIGNED(R, L01'length)); + end function "<"; + + -- Id: C.12 + function "<" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LT" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<"": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<"": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return SIGNED_LESS(L01, TO_SIGNED(R, L01'length)); + end function "<"; + + -- ============================================================================ + + -- Id: C.13 + function "<=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_LESS_OR_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "<="; + + -- Id: C.14 + function "<=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_LESS_OR_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "<="; + + -- Id: C.15 + function "<=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return UNSIGNED_LESS_OR_EQUAL(TO_UNSIGNED(L, R01'length), R01); + end function "<="; + + -- Id: C.16 + function "<=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L < 0; + end if; + return SIGNED_LESS_OR_EQUAL(TO_SIGNED(L, R01'length), R01); + end function "<="; + + -- Id: C.17 + function "<=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if (L_LEFT < 0) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return UNSIGNED_LESS_OR_EQUAL(L01, TO_UNSIGNED(R, L01'length)); + end function "<="; + + -- Id: C.18 + function "<=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "LTE" ; + begin + if (L_LEFT < 0) then + assert NO_WARNING + report "NUMERIC_STD.""<="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""<="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 < R; + end if; + return SIGNED_LESS_OR_EQUAL(L01, TO_SIGNED(R, L01'length)); + end function "<="; + + -- ============================================================================ + + -- Id: C.19 + function ">=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return not UNSIGNED_LESS(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function ">="; + + -- Id: C.20 + function ">=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return not SIGNED_LESS(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function ">="; + + -- Id: C.21 + function ">=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not UNSIGNED_LESS(TO_UNSIGNED(L, R01'length), R01); + end function ">="; + + -- Id: C.22 + function ">=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return L > 0; + end if; + return not SIGNED_LESS(TO_SIGNED(L, R01'length), R01); + end function ">="; + + -- Id: C.23 + function ">=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not UNSIGNED_LESS(L01, TO_UNSIGNED(R, L01'length)); + end function ">="; + + -- Id: C.24 + function ">=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "GTE" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD."">="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD."">="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return 0 > R; + end if; + return not SIGNED_LESS(L01, TO_SIGNED(R, L01'length)); + end function ">="; + + -- ============================================================================ + + -- Id: C.25 + function "=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return UNSIGNED_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "="; + + -- Id: C.26 + function "=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + return SIGNED_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE)); + end function "="; + + -- Id: C.27 + function "=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return false; + end if; + return UNSIGNED_EQUAL(TO_UNSIGNED(L, R01'length), R01); + end function "="; + + -- Id: C.28 + function "=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(L) > R'length then return false; + end if; + return SIGNED_EQUAL(TO_SIGNED(L, R01'length), R01); + end function "="; + + -- Id: C.29 + function "=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return false; + end if; + return UNSIGNED_EQUAL(L01, TO_UNSIGNED(R, L01'length)); + end function "="; + + -- Id: C.30 + function "=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "EQ" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""="": null argument detected, returning FALSE" + severity warning; + return false; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""="": metavalue detected, returning FALSE" + severity warning; + return false; + end if; + if SIGNED_NUM_BITS(R) > L'length then return false; + end if; + return SIGNED_EQUAL(L01, TO_SIGNED(R, L01'length)); + end function "="; + + -- ============================================================================ + + -- Id: C.31 + function "/=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + return not(UNSIGNED_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE))); + end function "/="; + + -- Id: C.32 + function "/=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + L01 := TO_01(XL, 'X'); + R01 := TO_01(XR, 'X'); + if ((L01(L01'left) = 'X') or (R01(R01'left) = 'X')) then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + return not(SIGNED_EQUAL(RESIZE(L01, SIZE), RESIZE(R01, SIZE))); + end function "/="; + + -- Id: C.33 + function "/=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_UNSIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + if UNSIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not(UNSIGNED_EQUAL(TO_UNSIGNED(L, R01'length), R01)); + end function "/="; + + -- Id: C.34 + function "/=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN is + constant R_LEFT : INTEGER := R'length-1; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + variable R01 : UNRESOLVED_SIGNED(R_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of R:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if (R'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + R01 := TO_01(XR, 'X'); + if (R01(R01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + if SIGNED_NUM_BITS(L) > R'length then return true; + end if; + return not(SIGNED_EQUAL(TO_SIGNED(L, R01'length), R01)); + end function "/="; + + -- Id: C.35 + function "/=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_UNSIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + if UNSIGNED_NUM_BITS(R) > L'length then return true; + end if; + return not(UNSIGNED_EQUAL(L01, TO_UNSIGNED(R, L01'length))); + end function "/="; + + -- Id: C.36 + function "/=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN is + constant L_LEFT : INTEGER := L'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + variable L01 : UNRESOLVED_SIGNED(L_LEFT downto 0); + -- Synthesis directives : + variable RESULT : BOOLEAN ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "NEQ" ; + begin + if (L'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.""/="": null argument detected, returning TRUE" + severity warning; + return true; + end if; + L01 := TO_01(XL, 'X'); + if (L01(L01'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.""/="": metavalue detected, returning TRUE" + severity warning; + return true; + end if; + if SIGNED_NUM_BITS(R) > L'length then return true; + end if; + return not(SIGNED_EQUAL(L01, TO_SIGNED(R, L01'length))); + end function "/="; + + -- ============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + if UNSIGNED_LESS(L01, R01) then + return L01; + else + return R01; + end if; + end function MINIMUM; + + -- Id: C.38 + function MINIMUM (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + if SIGNED_LESS(L01, R01) then + return L01; + else + return R01; + end if; + end function MINIMUM; + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return MINIMUM(TO_UNSIGNED(L, R'length), R); + end function MINIMUM; + + -- Id: C.40 + function MINIMUM (L : INTEGER; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return MINIMUM(TO_SIGNED(L, R'length), R); + end function MINIMUM; + + -- Id: C.41 + function MINIMUM (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + return MINIMUM(L, TO_UNSIGNED(R, L'length)); + end function MINIMUM; + + -- Id: C.42 + function MINIMUM (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED is + begin + return MINIMUM(L, TO_SIGNED(R, L'length)); + end function MINIMUM; + + -- ============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAU; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + if UNSIGNED_LESS(L01, R01) then + return R01; + else + return L01; + end if; + end function MAXIMUM; + + -- Id: C.44 + function MAXIMUM (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable L01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable R01 : UNRESOLVED_SIGNED(SIZE-1 downto 0); + begin + if ((L'length < 1) or (R'length < 1)) then return NAS; + end if; + L01 := TO_01(RESIZE(L, SIZE), 'X'); + if (L01(L01'left) = 'X') then return L01; + end if; + R01 := TO_01(RESIZE(R, SIZE), 'X'); + if (R01(R01'left) = 'X') then return R01; + end if; + if SIGNED_LESS(L01, R01) then + return R01; + else + return L01; + end if; + end function MAXIMUM; + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return MAXIMUM(TO_UNSIGNED(L, R'length), R); + end function MAXIMUM; + + -- Id: C.46 + function MAXIMUM (L : INTEGER; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return MAXIMUM(TO_SIGNED(L, R'length), R); + end function MAXIMUM; + + -- Id: C.47 + function MAXIMUM (L : UNRESOLVED_UNSIGNED; R : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + return MAXIMUM(L, TO_UNSIGNED(R, L'length)); + end function MAXIMUM; + + -- Id: C.48 + function MAXIMUM (L : UNRESOLVED_SIGNED; R : INTEGER) + return UNRESOLVED_SIGNED is + begin + return MAXIMUM(L, TO_SIGNED(R, L'length)); + end function MAXIMUM; + + -- ============================================================================ + + -- Id: C.49 + function "?>" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?>"": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?>"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?>"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L > R then + return '1'; + else + return '0'; + end if; + end if; + end function "?>"; + + -- Id: C.50 + function "?>" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?>"": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?>"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?>"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L > R then + return '1'; + else + return '0'; + end if; + end if; + end function "?>"; + + -- Id: C.51 + function "?>" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?> R; + end function "?>"; + + -- Id: C.52 + function "?>" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?> R; + end function "?>"; + + -- Id: C.53 + function "?>" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?> TO_UNSIGNED(R, L'length); + end function "?>"; + + -- Id: C.54 + function "?>" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?> TO_SIGNED(R, L'length); + end function "?>"; + + -- ============================================================================ + + -- Id: C.55 + function "?<" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?<"": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?<"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?<"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L < R then + return '1'; + else + return '0'; + end if; + end if; + end function "?<"; + + -- Id: C.56 + function "?<" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?<"": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?<"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?<"": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L < R then + return '1'; + else + return '0'; + end if; + end if; + end function "?<"; + + -- Id: C.57 + function "?<" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?< R; + end function "?<"; + + -- Id: C.58 + function "?<" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?< R; + end function "?<"; + + -- Id: C.59 + function "?<" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?< TO_UNSIGNED(R, L'length); + end function "?<"; + + -- Id: C.60 + function "?<" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?< TO_SIGNED(R, L'length); + end function "?<"; + + -- ============================================================================ + + -- Id: C.61 + function "?<=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?<="": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?<="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?<="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L <= R then + return '1'; + else + return '0'; + end if; + end if; + end function "?<="; + + -- Id: C.62 + function "?<=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?<="": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?<="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?<="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L <= R then + return '1'; + else + return '0'; + end if; + end if; + end function "?<="; + + -- Id: C.63 + function "?<=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?<= R; + end function "?<="; + + -- Id: C.64 + function "?<=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?<= R; + end function "?<="; + + -- Id: C.65 + function "?<=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?<= TO_UNSIGNED(R, L'length); + end function "?<="; + + -- Id: C.66 + function "?<=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?<= TO_SIGNED(R, L'length); + end function "?<="; + + -- ============================================================================ + + -- Id: C.67 + function "?>=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?>="": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?>="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?>="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L >= R then + return '1'; + else + return '0'; + end if; + end if; + end function "?>="; + + -- Id: C.68 + function "?>=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?>="": null detected, returning X" + severity warning; + return 'X'; + else + for i in L'range loop + if L(i) = '-' then + report "NUMERIC_STD.""?>="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + for i in R'range loop + if R(i) = '-' then + report "NUMERIC_STD.""?>="": '-' found in compare string" + severity error; + return 'X'; + end if; + end loop; + if Is_X(L) or Is_X(R) then + return 'X'; + elsif L >= R then + return '1'; + else + return '0'; + end if; + end if; + end function "?>="; + + -- Id: C.69 + function "?>=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?>= R; + end function "?>="; + + -- Id: C.70 + function "?>=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?>= R; + end function "?>="; + + -- Id: C.71 + function "?>=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?>= TO_UNSIGNED(R, L'length); + end function "?>="; + + -- Id: C.72 + function "?>=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?>= TO_SIGNED(R, L'length); + end function "?>="; + + -- ============================================================================ + + -- Id: C.73 + function "?=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable LX : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable RX : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable result, result1 : STD_ULOGIC; -- result + begin + -- Logically identical to an "=" operator. + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?="": null detected, returning X" + severity warning; + return 'X'; + else + LX := RESIZE(XL, SIZE); + RX := RESIZE(XR, SIZE); + result := '1'; + for i in LX'low to LX'high loop + result1 := LX(i) ?= RX(i); + if result1 = 'U' then + return 'U'; + elsif result1 = 'X' or result = 'X' then + result := 'X'; + else + result := result and result1; + end if; + end loop; + return result; + end if; + end function "?="; + + -- Id: C.74 + function "?=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable LX : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable RX : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable result, result1 : STD_ULOGIC; -- result + begin -- ?= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?="": null detected, returning X" + severity warning; + return 'X'; + else + LX := RESIZE(XL, SIZE); + RX := RESIZE(XR, SIZE); + result := '1'; + for i in LX'low to LX'high loop + result1 := LX(i) ?= RX(i); + if result1 = 'U' then + return 'U'; + elsif result1 = 'X' or result = 'X' then + result := 'X'; + else + result := result and result1; + end if; + end loop; + return result; + end if; + end function "?="; + + -- Id: C.75 + function "?=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?= R; + end function "?="; + + -- Id: C.76 + function "?=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?= R; + end function "?="; + + -- Id: C.77 + function "?=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?= TO_UNSIGNED(R, L'length); + end function "?="; + + -- Id: C.78 + function "?=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?= TO_SIGNED(R, L'length); + end function "?="; + + -- ============================================================================ + + -- Id: C.79 + function "?/=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_UNSIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_UNSIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable LX : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable RX : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable result, result1 : STD_ULOGIC; -- result + begin -- ?= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?/="": null detected, returning X" + severity warning; + return 'X'; + else + LX := RESIZE(XL, SIZE); + RX := RESIZE(XR, SIZE); + result := '0'; + for i in LX'low to LX'high loop + result1 := LX(i) ?/= RX(i); + if result1 = 'U' then + return 'U'; + elsif result1 = 'X' or result = 'X' then + result := 'X'; + else + result := result or result1; + end if; + end loop; + return result; + end if; + end function "?/="; + + -- Id: C.80 + function "?/=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC is + constant L_LEFT : INTEGER := L'length-1; + constant R_LEFT : INTEGER := R'length-1; + alias XL : UNRESOLVED_SIGNED(L_LEFT downto 0) is L; + alias XR : UNRESOLVED_SIGNED(R_LEFT downto 0) is R; + constant SIZE : NATURAL := MAXIMUM(L'length, R'length); + variable LX : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable RX : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable result, result1 : STD_ULOGIC; -- result + begin -- ?= + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.""?/="": null detected, returning X" + severity warning; + return 'X'; + else + LX := RESIZE(XL, SIZE); + RX := RESIZE(XR, SIZE); + result := '0'; + for i in LX'low to LX'high loop + result1 := LX(i) ?/= RX(i); + if result1 = 'U' then + return 'U'; + elsif result1 = 'X' or result = 'X' then + result := 'X'; + else + result := result or result1; + end if; + end loop; + return result; + end if; + end function "?/="; + + -- Id: C.81 + function "?/=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return TO_UNSIGNED(L, R'length) ?/= R; + end function "?/="; + + -- Id: C.82 + function "?/=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return TO_SIGNED(L, R'length) ?/= R; + end function "?/="; + + -- Id: C.83 + function "?/=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC is + begin + return L ?/= TO_UNSIGNED(R, L'length); + end function "?/="; + + -- Id: C.84 + function "?/=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC is + begin + return L ?/= TO_SIGNED(R, L'length); + end function "?/="; + + -- ============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNRESOLVED_UNSIGNED(XSLL(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function SHIFT_LEFT; + + -- Id: S.2 + function SHIFT_RIGHT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNRESOLVED_UNSIGNED(XSRL(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function SHIFT_RIGHT; + + -- Id: S.3 + function SHIFT_LEFT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) + return UNRESOLVED_SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return UNRESOLVED_SIGNED(XSLL(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function SHIFT_LEFT; + + -- Id: S.4 + function SHIFT_RIGHT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) + return UNRESOLVED_SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return UNRESOLVED_SIGNED(XSRA(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function SHIFT_RIGHT; + + -- ============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNRESOLVED_UNSIGNED(XROL(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function ROTATE_LEFT; + + -- Id: S.6 + function ROTATE_RIGHT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) + return UNRESOLVED_UNSIGNED is + begin + if (ARG'length < 1) then return NAU; + end if; + return UNRESOLVED_UNSIGNED(XROR(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function ROTATE_RIGHT; + + + -- Id: S.7 + function ROTATE_LEFT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) + return UNRESOLVED_SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return UNRESOLVED_SIGNED(XROL(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function ROTATE_LEFT; + + -- Id: S.8 + function ROTATE_RIGHT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) + return UNRESOLVED_SIGNED is + begin + if (ARG'length < 1) then return NAS; + end if; + return UNRESOLVED_SIGNED(XROR(STD_ULOGIC_VECTOR(ARG), COUNT)); + end function ROTATE_RIGHT; + + -- ============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.9 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.9 + function "sll" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SLL" ; + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sll"; + + ------------------------------------------------------------------------------ + -- Note: Function S.10 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.10 + function "sll" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SLL" ; + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return UNRESOLVED_SIGNED(SHIFT_RIGHT(UNRESOLVED_UNSIGNED(ARG), -COUNT)); + end if; + end function "sll"; + + ------------------------------------------------------------------------------ + -- Note: Function S.11 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.11 + function "srl" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SRL" ; + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "srl"; + + ------------------------------------------------------------------------------ + -- Note: Function S.12 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.12 + function "srl" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SRL" ; + begin + if (COUNT >= 0) then + return UNRESOLVED_SIGNED(SHIFT_RIGHT(UNRESOLVED_UNSIGNED(ARG), COUNT)); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "srl"; + + ------------------------------------------------------------------------------ + -- Note: Function S.13 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.13 + function "rol" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "ROL" ; + begin + if (COUNT >= 0) then + return ROTATE_LEFT(ARG, COUNT); + else + return ROTATE_RIGHT(ARG, -COUNT); + end if; + end function "rol"; + + ------------------------------------------------------------------------------ + -- Note: Function S.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.14 + function "rol" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "ROL" ; + begin + if (COUNT >= 0) then + return ROTATE_LEFT(ARG, COUNT); + else + return ROTATE_RIGHT(ARG, -COUNT); + end if; + end function "rol"; + + ------------------------------------------------------------------------------ + -- Note: Function S.15 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.15 + function "ror" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "ROR" ; + begin + if (COUNT >= 0) then + return ROTATE_RIGHT(ARG, COUNT); + else + return ROTATE_LEFT(ARG, -COUNT); + end if; + end function "ror"; + + ------------------------------------------------------------------------------ + -- Note: Function S.16 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.16 + function "ror" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "ROR" ; + begin + if (COUNT >= 0) then + return ROTATE_RIGHT(ARG, COUNT); + else + return ROTATE_LEFT(ARG, -COUNT); + end if; + end function "ror"; + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + -- for numeric types SLA behaves as SLL + attribute SYNTHESIS_RETURN of RESULT:variable is "SLL" ; + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sla"; + + ------------------------------------------------------------------------------ + -- Note: Function S.18 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.18 + function "sla" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + -- for numeric types SLA behaves as SLL + attribute SYNTHESIS_RETURN of RESULT:variable is "SLL" ; + begin + if (COUNT >= 0) then + return SHIFT_LEFT(ARG, COUNT); + else + return SHIFT_RIGHT(ARG, -COUNT); + end if; + end function "sla"; + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT : UNSIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SRA" ; + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "sra"; + + ------------------------------------------------------------------------------ + -- Note: Function S.20 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.20 + function "sra" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT : SIGNED (ARG'LENGTH-1 downto 0) ; + attribute SYNTHESIS_RETURN of RESULT:variable is "SRA" ; + begin + if (COUNT >= 0) then + return SHIFT_RIGHT(ARG, COUNT); + else + return SHIFT_LEFT(ARG, -COUNT); + end if; + end function "sra"; + + -- ============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : UNRESOLVED_UNSIGNED) return NATURAL is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XXARG : UNRESOLVED_UNSIGNED(ARG_LEFT downto 0) is ARG; + variable XARG : UNRESOLVED_UNSIGNED(ARG_LEFT downto 0); + variable RESULT : NATURAL := 0; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (ARG'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.TO_INTEGER: null detected, returning 0" + severity warning; + return 0; + end if; + XARG := TO_01(XXARG, 'X'); + if (XARG(XARG'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0" + severity warning; + return 0; + end if; + for I in XARG'range loop + RESULT := RESULT+RESULT; + if XARG(I) = '1' then + RESULT := RESULT + 1; + end if; + end loop; + return RESULT; + end function TO_INTEGER; + + -- Id: D.2 + function TO_INTEGER (ARG : UNRESOLVED_SIGNED) return INTEGER is + variable XARG : UNRESOLVED_SIGNED(ARG'length-1 downto 0); + -- Synthesis directives : + variable RESULT : INTEGER ; + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (ARG'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.TO_INTEGER: null detected, returning 0" + severity warning; + return 0; + end if; + XARG := TO_01(ARG, 'X'); + if (XARG(XARG'left) = 'X') then + assert NO_WARNING + report "NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0" + severity warning; + return 0; + end if; + if XARG(XARG'left) = '0' then + return TO_INTEGER(UNRESOLVED_UNSIGNED(XARG)); + else + return (- (TO_INTEGER(UNRESOLVED_UNSIGNED(- (XARG + 1)))) -1); + end if; + end function TO_INTEGER; + + -- Id: D.3 + function TO_UNSIGNED (ARG, SIZE : NATURAL) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(SIZE-1 downto 0); + variable I_VAL : NATURAL := ARG; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (SIZE < 1) then return NAU; + end if; + for I in 0 to RESULT'left loop + if (I_VAL mod 2) = 0 then + RESULT(I) := '0'; + else RESULT(I) := '1'; + end if; + I_VAL := I_VAL/2; + end loop; + if not(I_VAL = 0) then + assert NO_WARNING + report "NUMERIC_STD.TO_UNSIGNED: vector truncated" + severity warning; + end if; + return RESULT; + end function TO_UNSIGNED; + + -- Id: D.4 + function TO_SIGNED (ARG : INTEGER; SIZE : NATURAL) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(SIZE-1 downto 0); + variable B_VAL : STD_LOGIC := '0'; + variable I_VAL : INTEGER := ARG; + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (SIZE < 1) then return NAS; + end if; + if (ARG < 0) then + B_VAL := '1'; + I_VAL := -(ARG+1); + end if; + for I in 0 to RESULT'left loop + if (I_VAL mod 2) = 0 then + RESULT(I) := B_VAL; + else + RESULT(I) := not B_VAL; + end if; + I_VAL := I_VAL/2; + end loop; + if ((I_VAL /= 0) or (B_VAL /= RESULT(RESULT'left))) then + assert NO_WARNING + report "NUMERIC_STD.TO_SIGNED: vector truncated" + severity warning; + end if; + return RESULT; + end function TO_SIGNED; + + function TO_UNSIGNED (ARG : NATURAL; SIZE_RES : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return TO_UNSIGNED (ARG => ARG, + SIZE => SIZE_RES'length); + end function TO_UNSIGNED; + + function TO_SIGNED (ARG : INTEGER; SIZE_RES : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return TO_SIGNED (ARG => ARG, + SIZE => SIZE_RES'length); + end function TO_SIGNED; + + -- ============================================================================ + + -- Id: R.1 + function RESIZE (ARG : UNRESOLVED_SIGNED; NEW_SIZE : NATURAL) + return UNRESOLVED_SIGNED + is + alias INVEC : UNRESOLVED_SIGNED(ARG'length-1 downto 0) is ARG; + variable RESULT : UNRESOLVED_SIGNED(NEW_SIZE-1 downto 0) := + (others => '0'); + constant BOUND : INTEGER := MINIMUM(ARG'length, RESULT'length)-2; + -- VERIFIC: The RESIZE() function for signed does NOT behave the same as the FEEDTHROUGH pragma does. It does truncation a bit different. Cannot use pragma. Issue 2044 + -- attribute IS_SIGNED of ARG:constant is TRUE ; + ---attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (NEW_SIZE < 1) then return NAS; + end if; + if (ARG'length = 0) then return RESULT; + end if; + RESULT := (others => ARG(ARG'left)); + if BOUND >= 0 then + RESULT(BOUND downto 0) := INVEC(BOUND downto 0); + end if; + return RESULT; + end function RESIZE; + + -- Id: R.2 + function RESIZE (ARG : UNRESOLVED_UNSIGNED; NEW_SIZE : NATURAL) + return UNRESOLVED_UNSIGNED + is + constant ARG_LEFT : INTEGER := ARG'length-1; + alias XARG : UNRESOLVED_UNSIGNED(ARG_LEFT downto 0) is ARG; + variable RESULT : UNRESOLVED_UNSIGNED(NEW_SIZE-1 downto 0) := + (others => '0'); + -- Synthesis directives : + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (NEW_SIZE < 1) then return NAU; + end if; + if XARG'length = 0 then return RESULT; + end if; + if (RESULT'length < ARG'length) then + RESULT(RESULT'left downto 0) := XARG(RESULT'left downto 0); + else + RESULT(RESULT'left downto XARG'left+1) := (others => '0'); + RESULT(XARG'left downto 0) := XARG; + end if; + return RESULT; + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return RESIZE (ARG => ARG, + NEW_SIZE => SIZE_RES'length); + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return RESIZE (ARG => ARG, + NEW_SIZE => SIZE_RES'length); + end function RESIZE; + + -- ============================================================================ + + -- Id: L.1 + function "not" (L : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(not(STD_ULOGIC_VECTOR(L))); + return RESULT; + end function "not"; + + -- Id: L.2 + function "and" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) and + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "and"; + + -- Id: L.3 + function "or" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) or + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "or"; + + -- Id: L.4 + function "nand" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) nand + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "nand"; + + -- Id: L.5 + function "nor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) nor + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "nor"; + + -- Id: L.6 + function "xor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) xor + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.7 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.7 + function "xnor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + variable RESULT : UNRESOLVED_UNSIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_UNSIGNED(STD_ULOGIC_VECTOR(L) xnor + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "xnor"; + + -- Id: L.8 + function "not" (L : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(not(STD_ULOGIC_VECTOR(L))); + return RESULT; + end function "not"; + + -- Id: L.9 + function "and" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) and STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "and"; + + -- Id: L.10 + function "or" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) or STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "or"; + + -- Id: L.11 + function "nand" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) nand + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "nand"; + + -- Id: L.12 + function "nor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) nor STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "nor"; + + -- Id: L.13 + function "xor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) xor STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.14 + function "xnor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + variable RESULT : UNRESOLVED_SIGNED(L'length-1 downto 0); + begin + RESULT := UNRESOLVED_SIGNED(STD_ULOGIC_VECTOR(L) xnor + STD_ULOGIC_VECTOR(R)); + return RESULT; + end function "xnor"; + + -- Id: L.15 + function "and" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L and STD_ULOGIC_VECTOR(R)); + end function "and"; + + -- Id: L.16 + function "and" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) and R); + end function "and"; + + -- Id: L.17 + function "or" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L or STD_ULOGIC_VECTOR(R)); + end function "or"; + + -- Id: L.18 + function "or" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) or R); + end function "or"; + + -- Id: L.19 + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L nand STD_ULOGIC_VECTOR(R)); + end function "nand"; + + -- Id: L.20 + function "nand" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) nand R); + end function "nand"; + + -- Id: L.21 + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L nor STD_ULOGIC_VECTOR(R)); + end function "nor"; + + -- Id: L.22 + function "nor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) nor R); + end function "nor"; + + -- Id: L.23 + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L xor STD_ULOGIC_VECTOR(R)); + end function "xor"; + + -- Id: L.24 + function "xor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) xor R); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.25 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.25 + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (L xnor STD_ULOGIC_VECTOR(R)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.26 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.26 + function "xnor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) + return UNRESOLVED_UNSIGNED is + begin + return UNRESOLVED_UNSIGNED (STD_ULOGIC_VECTOR(L) xnor R); + end function "xnor"; + + -- Id: L.27 + function "and" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L and STD_ULOGIC_VECTOR(R)); + end function "and"; + + -- Id: L.28 + function "and" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) and R); + end function "and"; + + -- Id: L.29 + function "or" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L or STD_ULOGIC_VECTOR(R)); + end function "or"; + + -- Id: L.30 + function "or" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) or R); + end function "or"; + + -- Id: L.31 + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L nand STD_ULOGIC_VECTOR(R)); + end function "nand"; + + -- Id: L.32 + function "nand" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) nand R); + end function "nand"; + + -- Id: L.33 + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L nor STD_ULOGIC_VECTOR(R)); + end function "nor"; + + -- Id: L.34 + function "nor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) nor R); + end function "nor"; + + -- Id: L.35 + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L xor STD_ULOGIC_VECTOR(R)); + end function "xor"; + + -- Id: L.36 + function "xor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) xor R); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.37 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.37 + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (L xnor STD_ULOGIC_VECTOR(R)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.38 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.38 + function "xnor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) + return UNRESOLVED_SIGNED is + begin + return UNRESOLVED_SIGNED (STD_ULOGIC_VECTOR(L) xnor R); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.39 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.39 + function "and" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return and (STD_ULOGIC_VECTOR (L)); + end function "and"; + + ------------------------------------------------------------------------------ + -- Note: Function L.40 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.40 + function "and" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return and (STD_ULOGIC_VECTOR (L)); + end function "and"; + + ------------------------------------------------------------------------------ + -- Note: Function L.41 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.41 + function "nand" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return nand (STD_ULOGIC_VECTOR (L)); + end function "nand"; + + ------------------------------------------------------------------------------ + -- Note: Function L.42 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.42 + function "nand" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return nand (STD_ULOGIC_VECTOR (L)); + end function "nand"; + + ------------------------------------------------------------------------------ + -- Note: Function L.43 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.43 + function "or" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return or (STD_ULOGIC_VECTOR (L)); + end function "or"; + + ------------------------------------------------------------------------------ + -- Note: Function L.44 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.44 + function "or" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return or (STD_ULOGIC_VECTOR (L)); + end function "or"; + + ------------------------------------------------------------------------------ + -- Note: Function L.45 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.45 + function "nor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return nor (STD_ULOGIC_VECTOR (L)); + end function "nor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.46 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.46 + function "nor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return nor (STD_ULOGIC_VECTOR (L)); + end function "nor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.47 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.47 + function "xor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return xor (STD_ULOGIC_VECTOR (L)); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.48 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.48 + function "xor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return xor (STD_ULOGIC_VECTOR (L)); + end function "xor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.49 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.49 + function "xnor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC is + begin + return xnor (STD_ULOGIC_VECTOR (L)); + end function "xnor"; + + ------------------------------------------------------------------------------ + -- Note: Function L.50 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.50 + function "xnor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC is + begin + return xnor (STD_ULOGIC_VECTOR (L)); + end function "xnor"; + + -- ============================================================================ + + -- support constants for STD_MATCH: + + type BOOLEAN_TABLE is array(STD_ULOGIC, STD_ULOGIC) of BOOLEAN; + + constant MATCH_TABLE : BOOLEAN_TABLE := ( + -------------------------------------------------------------------------- + -- U X 0 1 Z W L H - + -------------------------------------------------------------------------- + (false, false, false, false, false, false, false, false, true), -- | U | + (false, false, false, false, false, false, false, false, true), -- | X | + (false, false, true, false, false, false, true, false, true), -- | 0 | + (false, false, false, true, false, false, false, true, true), -- | 1 | + (false, false, false, false, false, false, false, false, true), -- | Z | + (false, false, false, false, false, false, false, false, true), -- | W | + (false, false, true, false, false, false, true, false, true), -- | L | + (false, false, false, true, false, false, false, true, true), -- | H | + (true, true, true, true, true, true, true, true, true) -- | - | + ); + + -- Id: M.1 + function STD_MATCH (L, R : STD_ULOGIC) return BOOLEAN is + variable VALUE : STD_ULOGIC; + begin + return MATCH_TABLE(L, R); + end function STD_MATCH; + + -- Id: M.2 + function STD_MATCH (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN is + alias LV : UNRESOLVED_UNSIGNED(1 to L'length) is L; + alias RV : UNRESOLVED_UNSIGNED(1 to R'length) is R; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: null detected, returning FALSE" + severity warning; + return false; + end if; + if LV'length /= RV'length then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: L'LENGTH /= R'LENGTH, returning FALSE" + severity warning; + return false; + else + for I in LV'low to LV'high loop + if not (MATCH_TABLE(LV(I), RV(I))) then + return false; + end if; + end loop; + return true; + end if; + end function STD_MATCH; + + -- Id: M.3 + function STD_MATCH (L, R : UNRESOLVED_SIGNED) return BOOLEAN is + alias LV : UNRESOLVED_SIGNED(1 to L'length) is L; + alias RV : UNRESOLVED_SIGNED(1 to R'length) is R; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: null detected, returning FALSE" + severity warning; + return false; + end if; + if LV'length /= RV'length then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: L'LENGTH /= R'LENGTH, returning FALSE" + severity warning; + return false; + else + for I in LV'low to LV'high loop + if not (MATCH_TABLE(LV(I), RV(I))) then + return false; + end if; + end loop; + return true; + end if; + end function STD_MATCH; + + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + -- Id: M.4 + function STD_MATCH (L, R: STD_LOGIC_VECTOR_93) return BOOLEAN is + alias LV: STD_LOGIC_VECTOR_93(1 to L'LENGTH) is L; + alias RV: STD_LOGIC_VECTOR_93(1 to R'LENGTH) is R; + begin + if ((L'LENGTH < 1) or (R'LENGTH < 1)) then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: null detected, returning FALSE" + severity WARNING; + return FALSE; + end if; + if LV'LENGTH /= RV'LENGTH then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: L'LENGTH /= R'LENGTH, returning FALSE" + severity WARNING; + return FALSE; + else + for I in LV'LOW to LV'HIGH loop + if not (MATCH_TABLE(LV(I), RV(I))) then + return FALSE; + end if; + end loop; + return TRUE; + end if; + end STD_MATCH; + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + + -- Id: M.5 + function STD_MATCH (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + alias LV : STD_ULOGIC_VECTOR(1 to L'length) is L; + alias RV : STD_ULOGIC_VECTOR(1 to R'length) is R; + begin + if ((L'length < 1) or (R'length < 1)) then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: null detected, returning FALSE" + severity warning; + return false; + end if; + if LV'length /= RV'length then + assert NO_WARNING + report "NUMERIC_STD.STD_MATCH: L'LENGTH /= R'LENGTH, returning FALSE" + severity warning; + return false; + else + for I in LV'low to LV'high loop + if not (MATCH_TABLE(LV(I), RV(I))) then + return false; + end if; + end loop; + return true; + end if; + end function STD_MATCH; + + -- ============================================================================ + + -- function TO_01 is used to convert vectors to the + -- correct form for exported functions, + -- and to report if there is an element which + -- is not in (0, 1, H, L). + + -- Id: T.1 + function TO_01 (S : UNRESOLVED_UNSIGNED; XMAP : STD_ULOGIC := '0') + return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (S'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.TO_01: null detected, returning NAU" + severity warning; + return NAU; + end if; + return UNRESOLVED_UNSIGNED(TO_01(STD_ULOGIC_VECTOR(S), XMAP)); + end function TO_01; + + -- Id: T.2 + function TO_01 (S : UNRESOLVED_SIGNED; XMAP : STD_ULOGIC := '0') + return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + if (S'length < 1) then + assert NO_WARNING + report "NUMERIC_STD.TO_01: null detected, returning NAS" + severity warning; + return NAS; + end if; + return UNRESOLVED_SIGNED(TO_01(STD_ULOGIC_VECTOR(S), XMAP)); + end function TO_01; + + -- Id: T.3 + function TO_X01 (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_UNSIGNED(TO_X01(STD_ULOGIC_VECTOR(S))); + end function TO_X01; + + -- Id: T.4 + function TO_X01 (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_SIGNED(TO_X01(STD_ULOGIC_VECTOR(S))); + end function TO_X01; + + -- Id: T.5 + function TO_X01Z (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_UNSIGNED(TO_X01Z(STD_ULOGIC_VECTOR(S))); + end function TO_X01Z; + + -- Id: T.6 + function TO_X01Z (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_SIGNED(TO_X01Z(STD_ULOGIC_VECTOR(S))); + end function TO_X01Z; + + -- Id: T.7 + function TO_UX01 (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_UNSIGNED(TO_UX01(STD_ULOGIC_VECTOR(S))); + end function TO_UX01; + + -- Id: T.8 + function TO_UX01 (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED is + -- Synthesis directives : + variable RESULT: SIGNED(S'LENGTH-1 downto 0); + attribute SYNTHESIS_RETURN of RESULT:variable is "FEED_THROUGH" ; + begin + return UNRESOLVED_SIGNED(TO_UX01(STD_ULOGIC_VECTOR(S))); + end function TO_UX01; + + -- Id: T.9 + function IS_X (S : UNRESOLVED_UNSIGNED) return BOOLEAN is + begin + return IS_X(STD_ULOGIC_VECTOR(S)); + end function IS_X; + + -- Id: T.10 + function IS_X (S : UNRESOLVED_SIGNED) return BOOLEAN is + begin + return IS_X(STD_ULOGIC_VECTOR(S)); + end function IS_X; + + -- ============================================================================ + -- string conversion and write operations + -- ============================================================================ + function to_ostring (value : UNRESOLVED_UNSIGNED) return STRING is + begin + return to_ostring(STD_ULOGIC_VECTOR (value)); + end function to_ostring; + + function to_ostring (value : UNRESOLVED_SIGNED) return STRING is + constant result_length : INTEGER := (value'length+2)/3; + constant pad : STD_ULOGIC_VECTOR(1 to (result_length*3 - + value'length)) + := (others => value (value'left)); -- Extend sign bit + begin + return to_ostring(pad & STD_ULOGIC_VECTOR (value)); + end function to_ostring; + + function to_hstring (value : UNRESOLVED_UNSIGNED) return STRING is + begin + return to_hstring(STD_ULOGIC_VECTOR (value)); + end function to_hstring; + + function to_hstring (value : UNRESOLVED_SIGNED) return STRING is + constant result_length : INTEGER := (value'length+3)/4; + constant pad : STD_ULOGIC_VECTOR(1 to (result_length*4 - + value'length)) + := (others => value (value'left)); -- Extend sign bit + begin + return to_hstring(pad & STD_ULOGIC_VECTOR (value)); + end function to_hstring; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; + GOOD : out BOOLEAN) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + READ (L => L, + VALUE => ivalue, + GOOD => GOOD) ; + VALUE := UNSIGNED(ivalue) ; + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + READ (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_SIGNED; + GOOD : out BOOLEAN) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + READ (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := SIGNED(ivalue); + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out UNRESOLVED_SIGNED) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + READ (L => L, + VALUE => ivalue); + VALUE := SIGNED (ivalue); + end procedure READ; + + procedure WRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + WRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure WRITE; + + procedure WRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + WRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure WRITE; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; + GOOD : out BOOLEAN) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + OREAD (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := UNSIGNED(ivalue); + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED; + GOOD : out BOOLEAN) is + constant ne : INTEGER := (value'length+2)/3; + constant pad : INTEGER := ne*3 - value'length; + variable ivalue : STD_ULOGIC_VECTOR(0 to ne*3-1); + variable ok : BOOLEAN; + variable expected_padding : STD_ULOGIC_VECTOR(0 to pad-1); + -- verific synthesis ignore_subprogram + begin + OREAD (L => L, + VALUE => ivalue, -- Read padded STRING + GOOD => ok); + -- Bail out if there was a bad read + if not ok then + GOOD := false; + return; + end if; + expected_padding := (others => ivalue(pad)); + if ivalue(0 to pad-1) /= expected_padding then + GOOD := false; + else + GOOD := true; + VALUE := UNRESOLVED_SIGNED (ivalue (pad to ivalue'high)); + end if; + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + OREAD (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED) is + constant ne : INTEGER := (value'length+2)/3; + constant pad : INTEGER := ne*3 - value'length; + variable ivalue : STD_ULOGIC_VECTOR(0 to ne*3-1); + variable expected_padding : STD_ULOGIC_VECTOR(0 to pad-1); + -- verific synthesis ignore_subprogram + begin + OREAD (L => L, + VALUE => ivalue); -- Read padded string + expected_padding := (others => ivalue(pad)); + if ivalue(0 to pad-1) /= expected_padding then + assert false + report "NUMERIC_STD.OREAD Error: Signed vector truncated" + severity error; + else + VALUE := UNRESOLVED_SIGNED (ivalue (pad to ivalue'high)); + end if; + end procedure OREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; + GOOD : out BOOLEAN) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + HREAD (L => L, + VALUE => ivalue, + GOOD => GOOD); + VALUE := UNSIGNED(ivalue); + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED; + GOOD : out BOOLEAN) is + constant ne : INTEGER := (value'length+3)/4; + constant pad : INTEGER := ne*4 - value'length; + variable ivalue : STD_ULOGIC_VECTOR(0 to ne*4-1); + variable ok : BOOLEAN; + variable expected_padding : STD_ULOGIC_VECTOR(0 to pad-1); + -- verific synthesis ignore_subprogram + begin + HREAD (L => L, + VALUE => ivalue, -- Read padded STRING + GOOD => ok); + if not ok then + GOOD := false; + return; + end if; + expected_padding := (others => ivalue(pad)); + if ivalue(0 to pad-1) /= expected_padding then + GOOD := false; + else + GOOD := true; + VALUE := UNRESOLVED_SIGNED (ivalue (pad to ivalue'high)); + end if; + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + HREAD (L => L, + VALUE => ivalue); + VALUE := UNSIGNED (ivalue); + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED) is + constant ne : INTEGER := (value'length+3)/4; + constant pad : INTEGER := ne*4 - value'length; + variable ivalue : STD_ULOGIC_VECTOR(0 to ne*4-1); + variable expected_padding : STD_ULOGIC_VECTOR(0 to pad-1); + -- verific synthesis ignore_subprogram + begin + HREAD (L => L, + VALUE => ivalue); -- Read padded string + expected_padding := (others => ivalue(pad)); + if ivalue(0 to pad-1) /= expected_padding then + assert false + report "NUMERIC_STD.HREAD Error: Signed vector truncated" + severity error; + else + VALUE := UNRESOLVED_SIGNED (ivalue (pad to ivalue'high)); + end if; + end procedure HREAD; + + procedure OWRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + OWRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure OWRITE; + + procedure OWRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + constant ne : INTEGER := (VALUE'length+2)/3; + constant pad : STD_ULOGIC_VECTOR(0 to (ne*3 - VALUE'length) - 1) + := (others => VALUE (VALUE'left)); + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + OWRITE (L => L, + VALUE => pad & ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure OWRITE; + + procedure HWRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + HWRITE (L => L, + VALUE => ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure HWRITE; + + procedure HWRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable ivalue : STD_ULOGIC_VECTOR(value'range); + constant ne : INTEGER := (value'length+3)/4; + constant pad : STD_ULOGIC_VECTOR(0 to (ne*4 - value'length) - 1) + := (others => VALUE(VALUE'left)); + -- verific synthesis ignore_subprogram + begin + ivalue := STD_ULOGIC_VECTOR (VALUE); + HWRITE (L => L, + VALUE => pad & ivalue, + JUSTIFIED => JUSTIFIED, + FIELD => FIELD); + end procedure HWRITE; + +end package body NUMERIC_STD; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl new file mode 100644 index 0000000..27d91f7 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl @@ -0,0 +1,1849 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of This +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_STD package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE DASC Synthesis Working Group, +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Two numeric types are defined: +-- : -- > UNRESOLVED_UNSIGNED: represents an UNSIGNED number +-- : in vector form +-- : -- > UNRESOLVED_SIGNED: represents a SIGNED number +-- : in vector form +-- : The base element type is type STD_ULOGIC. +-- : Aliases U_UNSIGNED and U_SIGNED are defined for the types +-- : UNRESOLVED_UNSIGNED and UNRESOLVED_SIGNED, respectively. +-- : Two numeric subtypes are defined: +-- : -- > UNSIGNED: represents UNSIGNED number in vector form +-- : -- > SIGNED: represents a SIGNED number in vector form +-- : The element subtypes are the same subtype as STD_LOGIC. +-- : The leftmost bit is treated as the most significant bit. +-- : Signed vectors are represented in two's complement form. +-- : This package contains overloaded arithmetic operators on +-- : the SIGNED and UNSIGNED types. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1.4 $ +-- $Date: 2015/08/13 10:28:07 $ +-- -------------------------------------------------------------------- + +use STD.TEXTIO.all; +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +package NUMERIC_STD is + constant CopyRightNotice : STRING + := "Copyright 2008 IEEE. All rights reserved."; + + + --============================================================================ + -- Numeric Array Type Definitions + --============================================================================ + + type UNRESOLVED_UNSIGNED is array (NATURAL range <>) of STD_ULOGIC; + type UNRESOLVED_SIGNED is array (NATURAL range <>) of STD_ULOGIC; + + alias U_UNSIGNED is UNRESOLVED_UNSIGNED; + alias U_SIGNED is UNRESOLVED_SIGNED; + + subtype UNSIGNED is (resolved) UNRESOLVED_UNSIGNED; + subtype SIGNED is (resolved) UNRESOLVED_SIGNED; + + --============================================================================ + -- Arithmetic Operators: + --=========================================================================== + + -- Id: A.1 + function "abs" (ARG : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Returns the absolute value of an UNRESOLVED_SIGNED vector ARG. + + -- Id: A.2 + function "-" (ARG : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Returns the value of the unary minus operation on a + -- UNRESOLVED_SIGNED vector ARG. + + --============================================================================ + + -- Id: A.3 + function "+" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Adds two UNRESOLVED_UNSIGNED vectors that may be of different lengths. + + -- Id: A.3R + function "+"(L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.3 where R is a one bit UNRESOLVED_UNSIGNED + + -- Id: A.3L + function "+"(L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.3 where L is a one bit UNRESOLVED_UNSIGNED + + -- Id: A.4 + function "+" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Adds two UNRESOLVED_SIGNED vectors that may be of different lengths. + + -- Id: A.4R + function "+"(L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.4 where R is bit 0 of a non-negative. + + -- Id: A.4L + function "+"(L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.4 where L is bit 0 of a non-negative. + + -- Id: A.5 + function "+" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Adds an UNRESOLVED_UNSIGNED vector, L, with a nonnegative INTEGER, R. + + -- Id: A.6 + function "+" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Adds a nonnegative INTEGER, L, with an UNRESOLVED_UNSIGNED vector, R. + + -- Id: A.7 + function "+" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Adds an INTEGER, L(may be positive or negative), to an UNRESOLVED_SIGNED + -- vector, R. + + -- Id: A.8 + function "+" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Adds an UNRESOLVED_SIGNED vector, L, to an INTEGER, R. + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Subtracts two UNRESOLVED_UNSIGNED vectors that may be of different lengths. + + -- Id: A.9R + function "-"(L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.9 where R is a one bit UNRESOLVED_UNSIGNED + + -- Id: A.9L + function "-"(L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.9 where L is a one bit UNRESOLVED_UNSIGNED + + -- Id: A.10 + function "-" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0) + -- Result: Subtracts an UNRESOLVED_SIGNED vector, R, from another UNRESOLVED_SIGNED vector, L, + -- that may possibly be of different lengths. + + -- Id: A.10R + function "-"(L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Similar to A.10 where R is bit 0 of a non-negative. + + -- Id: A.10L + function "-"(L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Similar to A.10 where R is bit 0 of a non-negative. + + -- Id: A.11 + function "-" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Subtracts a nonnegative INTEGER, R, from an UNRESOLVED_UNSIGNED vector, L. + + -- Id: A.12 + function "-" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Subtracts an UNRESOLVED_UNSIGNED vector, R, from a nonnegative INTEGER, L. + + -- Id: A.13 + function "-" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Subtracts an INTEGER, R, from an UNRESOLVED_SIGNED vector, L. + + -- Id: A.14 + function "-" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Subtracts an UNRESOLVED_SIGNED vector, R, from an INTEGER, L. + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED((L'LENGTH+R'LENGTH-1) downto 0) + -- Result: Performs the multiplication operation on two UNRESOLVED_UNSIGNED vectors + -- that may possibly be of different lengths. + + -- Id: A.16 + function "*" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED((L'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies two UNRESOLVED_SIGNED vectors that may possibly be of + -- different lengths. + + -- Id: A.17 + function "*" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED((L'LENGTH+L'LENGTH-1) downto 0) + -- Result: Multiplies an UNRESOLVED_UNSIGNED vector, L, with a nonnegative + -- INTEGER, R. R is converted to an UNRESOLVED_UNSIGNED vector of + -- SIZE L'LENGTH before multiplication. + + -- Id: A.18 + function "*" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED((R'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies an UNRESOLVED_UNSIGNED vector, R, with a nonnegative + -- INTEGER, L. L is converted to an UNRESOLVED_UNSIGNED vector of + -- SIZE R'LENGTH before multiplication. + + -- Id: A.19 + function "*" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED((L'LENGTH+L'LENGTH-1) downto 0) + -- Result: Multiplies an UNRESOLVED_SIGNED vector, L, with an INTEGER, R. R is + -- converted to an UNRESOLVED_SIGNED vector of SIZE L'LENGTH before + -- multiplication. + + -- Id: A.20 + function "*" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED((R'LENGTH+R'LENGTH-1) downto 0) + -- Result: Multiplies an UNRESOLVED_SIGNED vector, R, with an INTEGER, L. L is + -- converted to an UNRESOLVED_SIGNED vector of SIZE R'LENGTH before + -- multiplication. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "/" operator, a severity level + -- of ERROR is issued. + + -- Id: A.21 + function "/" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNRESOLVED_UNSIGNED vector, L, by another UNRESOLVED_UNSIGNED vector, R. + + -- Id: A.22 + function "/" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNRESOLVED_SIGNED vector, L, by another UNRESOLVED_SIGNED vector, R. + + -- Id: A.23 + function "/" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNRESOLVED_UNSIGNED vector, L, by a nonnegative INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.24 + function "/" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Divides a nonnegative INTEGER, L, by an UNRESOLVED_UNSIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.25 + function "/" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Divides an UNRESOLVED_SIGNED vector, L, by an INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.26 + function "/" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Divides an INTEGER, L, by an UNRESOLVED_SIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "rem" operator, a severity level + -- of ERROR is issued. + + -- Id: A.27 + function "rem" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are UNRESOLVED_UNSIGNED vectors. + + -- Id: A.28 + function "rem" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are UNRESOLVED_SIGNED vectors. + + -- Id: A.29 + function "rem" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is an UNRESOLVED_UNSIGNED vector and R is a + -- nonnegative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.30 + function "rem" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is an UNRESOLVED_UNSIGNED vector and L is a + -- nonnegative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.31 + function "rem" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is UNRESOLVED_SIGNED vector and R is an INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.32 + function "rem" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is UNRESOLVED_SIGNED vector and L is an INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "mod" operator, a severity level + -- of ERROR is issued. + + -- Id: A.33 + function "mod" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are UNRESOLVED_UNSIGNED vectors. + + -- Id: A.34 + function "mod" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are UNRESOLVED_SIGNED vectors. + + -- Id: A.35 + function "mod" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an UNRESOLVED_UNSIGNED vector and R + -- is a nonnegative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.36 + function "mod" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where R is an UNRESOLVED_UNSIGNED vector and L + -- is a nonnegative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + -- Id: A.37 + function "mod" (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.38 + function "mod" (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG : UNRESOLVED_UNSIGNED; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.40 + function find_leftmost (ARG : UNRESOLVED_SIGNED; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.41 + function find_rightmost (ARG : UNRESOLVED_UNSIGNED; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.42 + function find_rightmost (ARG : UNRESOLVED_SIGNED; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + --============================================================================ + -- Comparison Operators + --============================================================================ + + -- Id: C.1 + function ">" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.2 + function ">" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.3 + function ">" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.4 + function ">" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.5 + function ">" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.6 + function ">" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is an UNRESOLVED_SIGNED vector and + -- R is a INTEGER. + + --============================================================================ + + -- Id: C.7 + function "<" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.8 + function "<" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.9 + function "<" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.10 + function "<" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.11 + function "<" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.12 + function "<" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.13 + function "<=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.14 + function "<=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.15 + function "<=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.16 + function "<=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.17 + function "<=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.18 + function "<=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.19 + function ">=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.20 + function ">=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.21 + function ">=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.22 + function ">=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.23 + function ">=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.24 + function ">=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.25 + function "=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.26 + function "=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.27 + function "=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.28 + function "=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.29 + function "=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.30 + function "=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.31 + function "/=" (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.32 + function "/=" (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.33 + function "/=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.34 + function "/=" (L : INTEGER; R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.35 + function "/=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.36 + function "/=" (L : UNRESOLVED_SIGNED; R : INTEGER) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the lesser of two UNRESOLVED_UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.38 + function MINIMUM (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the lesser of two UNRESOLVED_SIGNED vectors that may be + -- of different lengths. + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the lesser of a nonnegative INTEGER, L, and + -- an UNRESOLVED_UNSIGNED vector, R. + + -- Id: C.40 + function MINIMUM (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the lesser of an INTEGER, L, and an UNRESOLVED_SIGNED + -- vector, R. + + -- Id: C.41 + function MINIMUM (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the lesser of an UNRESOLVED_UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + -- Id: C.42 + function MINIMUM (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the lesser of an UNRESOLVED_SIGNED vector, L, and + -- an INTEGER, R. + + --============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the greater of two UNRESOLVED_UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.44 + function MAXIMUM (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the greater of two UNRESOLVED_SIGNED vectors that may be + -- of different lengths. + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the greater of a nonnegative INTEGER, L, and + -- an UNRESOLVED_UNSIGNED vector, R. + + -- Id: C.46 + function MAXIMUM (L : INTEGER; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the greater of an INTEGER, L, and an UNRESOLVED_SIGNED + -- vector, R. + + -- Id: C.47 + function MAXIMUM (L : UNRESOLVED_UNSIGNED; R : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED + -- Result: Returns the greater of an UNRESOLVED_UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + -- Id: C.48 + function MAXIMUM (L : UNRESOLVED_SIGNED; R : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED + -- Result: Returns the greater of an UNRESOLVED_SIGNED vector, L, and + -- an INTEGER, R. + + --============================================================================ + + -- Id: C.49 + function "?>" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.50 + function "?>" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.51 + function "?>" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.52 + function "?>" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is a INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.53 + function "?>" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.54 + function "?>" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is an UNRESOLVED_SIGNED vector and + -- R is a INTEGER. + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.56 + function "?<" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.57 + function "?<" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.58 + function "?<" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.59 + function "?<" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.60 + function "?<" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.62 + function "?<=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.63 + function "?<=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.64 + function "?<=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.65 + function "?<=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.66 + function "?<=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.68 + function "?>=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.69 + function "?>=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.70 + function "?>=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.71 + function "?>=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.72 + function "?>=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.74 + function "?=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.75 + function "?=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.76 + function "?=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.77 + function "?=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.78 + function "?=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L and R are UNRESOLVED_UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.80 + function "?/=" (L, R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L and R are UNRESOLVED_SIGNED vectors possibly + -- of different lengths. + + -- Id: C.81 + function "?/=" (L : NATURAL; R : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNRESOLVED_UNSIGNED vector. + + -- Id: C.82 + function "?/=" (L : INTEGER; R : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is an INTEGER and + -- R is an UNRESOLVED_SIGNED vector. + + -- Id: C.83 + function "?/=" (L : UNRESOLVED_UNSIGNED; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is an UNRESOLVED_UNSIGNED vector and + -- R is a nonnegative INTEGER. + + -- Id: C.84 + function "?/=" (L : UNRESOLVED_SIGNED; R : INTEGER) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is an UNRESOLVED_SIGNED vector and + -- R is an INTEGER. + + --============================================================================ + -- Shift and Rotate Functions + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on an UNRESOLVED_UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT leftmost elements are lost. + + -- Id: S.2 + function SHIFT_RIGHT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on an UNRESOLVED_UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT rightmost elements are lost. + + -- Id: S.3 + function SHIFT_LEFT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on an UNRESOLVED_SIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT leftmost elements are lost. + + -- Id: S.4 + function SHIFT_RIGHT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on an UNRESOLVED_SIGNED vector COUNT times. + -- The vacated positions are filled with the leftmost + -- element, ARG'LEFT. The COUNT rightmost elements are lost. + + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-left of an UNRESOLVED_UNSIGNED vector COUNT times. + + -- Id: S.6 + function ROTATE_RIGHT (ARG : UNRESOLVED_UNSIGNED; COUNT : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-right of an UNRESOLVED_UNSIGNED vector COUNT times. + + -- Id: S.7 + function ROTATE_LEFT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a logical rotate-left of an UNRESOLVED_SIGNED + -- vector COUNT times. + + -- Id: S.8 + function ROTATE_RIGHT (ARG : UNRESOLVED_SIGNED; COUNT : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a logical rotate-right of an UNRESOLVED_SIGNED + -- vector COUNT times. + + --============================================================================ + + --============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.9 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.9 + function "sll" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.10 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.10 + function "sll" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.11 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE StdL 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.11 + function "srl" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.12 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.12 + function "srl" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: UNRESOLVED_SIGNED(SHIFT_RIGHT(UNRESOLVED_UNSIGNED(ARG), COUNT)) + + ------------------------------------------------------------------------------ + -- Note: Function S.13 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.13 + function "rol" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.14 + function "rol" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.15 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.15 + function "ror" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.16 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.16 + function "ror" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: ROTATE_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.18 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.18 + function "sla" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : UNRESOLVED_UNSIGNED; COUNT : INTEGER) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.20 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.20 + function "sra" (ARG : UNRESOLVED_SIGNED; COUNT : INTEGER) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + --============================================================================ + -- RESIZE Functions + --============================================================================ + + -- Id: R.1 + function RESIZE (ARG : UNRESOLVED_SIGNED; NEW_SIZE : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(NEW_SIZE-1 downto 0) + -- Result: Resizes the UNRESOLVED_SIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with the sign bit (ARG'LEFT). When truncating, + -- the sign bit is retained along with the rightmost part. + + -- Id: R.2 + function RESIZE (ARG : UNRESOLVED_UNSIGNED; NEW_SIZE : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(NEW_SIZE-1 downto 0) + -- Result: Resizes the UNRESOLVED_SIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with '0'. When truncating, the leftmost bits + -- are dropped. + + function RESIZE (ARG, SIZE_RES : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED (SIZE_RES'length-1 downto 0) + + function RESIZE (ARG, SIZE_RES : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED (SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Conversion Functions + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : UNRESOLVED_UNSIGNED) return NATURAL; + -- Result subtype: NATURAL. Value cannot be negative since parameter is an + -- UNRESOLVED_UNSIGNED vector. + -- Result: Converts the UNRESOLVED_UNSIGNED vector to an INTEGER. + + -- Id: D.2 + function TO_INTEGER (ARG : UNRESOLVED_SIGNED) return INTEGER; + -- Result subtype: INTEGER + -- Result: Converts an UNRESOLVED_SIGNED vector to an INTEGER. + + -- Id: D.3 + function TO_UNSIGNED (ARG, SIZE : NATURAL) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(SIZE-1 downto 0) + -- Result: Converts a nonnegative INTEGER to an UNRESOLVED_UNSIGNED vector with + -- the specified SIZE. + + -- Id: D.4 + function TO_SIGNED (ARG : INTEGER; SIZE : NATURAL) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(SIZE-1 downto 0) + -- Result: Converts an INTEGER to a UNRESOLVED_SIGNED vector of the specified SIZE. + + function TO_UNSIGNED (ARG : NATURAL; SIZE_RES : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(SIZE_RES'length-1 downto 0) + + function TO_SIGNED (ARG : INTEGER; SIZE_RES : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Logical Operators + --============================================================================ + + -- Id: L.1 + function "not" (L : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Termwise inversion + + -- Id: L.2 + function "and" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector AND operation + + -- Id: L.3 + function "or" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector OR operation + + -- Id: L.4 + function "nand" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NAND operation + + -- Id: L.5 + function "nor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NOR operation + + -- Id: L.6 + function "xor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XOR operation + + -- --------------------------------------------------------------------------- + -- Note: Function L.7 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + -- --------------------------------------------------------------------------- + -- Id: L.7 + function "xnor" (L, R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XNOR operation + + -- Id: L.8 + function "not" (L : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Termwise inversion + + -- Id: L.9 + function "and" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector AND operation + + -- Id: L.10 + function "or" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector OR operation + + -- Id: L.11 + function "nand" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NAND operation + + -- Id: L.12 + function "nor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector NOR operation + + -- Id: L.13 + function "xor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XOR operation + + -- --------------------------------------------------------------------------- + -- Note: Function L.14 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + -- --------------------------------------------------------------------------- + -- Id: L.14 + function "xnor" (L, R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector XNOR operation + + -- Id: L.15 + function "and" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector AND operation + + -- Id: L.16 + function "and" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar AND operation + + -- Id: L.17 + function "or" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector OR operation + + -- Id: L.18 + function "or" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar OR operation + + -- Id: L.19 + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NAND operation + + -- Id: L.20 + function "nand" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NAND operation + + -- Id: L.21 + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NOR operation + + -- Id: L.22 + function "nor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NOR operation + + -- Id: L.23 + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XOR operation + + -- Id: L.24 + function "xor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.25 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.25 + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.26 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.26 + function "xnor" (L : UNRESOLVED_UNSIGNED; R : STD_ULOGIC) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XNOR operation + + -- Id: L.27 + function "and" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector AND operation + + -- Id: L.28 + function "and" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar AND operation + + -- Id: L.29 + function "or" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector OR operation + + -- Id: L.30 + function "or" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar OR operation + + -- Id: L.31 + function "nand" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NAND operation + + -- Id: L.32 + function "nand" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NAND operation + + -- Id: L.33 + function "nor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector NOR operation + + -- Id: L.34 + function "nor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar NOR operation + + -- Id: L.35 + function "xor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XOR operation + + -- Id: L.36 + function "xor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.37 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.37 + function "xnor" (L : STD_ULOGIC; R : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(R'LENGTH-1 downto 0) + -- Result: Scalar/Vector XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.38 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: L.38 + function "xnor" (L : UNRESOLVED_SIGNED; R : STD_ULOGIC) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(L'LENGTH-1 downto 0) + -- Result: Vector/Scalar XNOR operation + + ------------------------------------------------------------------------------ + -- Note: Function L.39 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.39 + function "and" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of and'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.40 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.40 + function "nand" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of nand'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.41 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.41 + function "or" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of or'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.42 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.42 + function "nor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of nor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.43 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.43 + function "xor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of xor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.44 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.44 + function "xnor" (L : UNRESOLVED_SIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of xnor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.45 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.45 + function "and" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of and'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.46 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.46 + function "nand" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of nand'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.47 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.47 + function "or" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of or'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.48 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.48 + function "nor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of nor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.49 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.49 + function "xor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of xor'ing all of the bits of the vector. + + ------------------------------------------------------------------------------ + -- Note: Function L.50 is not compatible with editions of IEEE Std 1076 from + -- 1987 through 2002. Comment out the function (declaration and body) for + -- compatibility with these editions. + ------------------------------------------------------------------------------ + -- Id: L.50 + function "xnor" (L : UNRESOLVED_UNSIGNED) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC. + -- Result: Result of xnor'ing all of the bits of the vector. + + --============================================================================ + -- Match Functions + --============================================================================ + + -- Id: M.1 + function STD_MATCH (L, R : STD_ULOGIC) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: terms compared per STD_LOGIC_1164 intent + + -- Id: M.2 + function STD_MATCH (L, R : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: terms compared per STD_LOGIC_1164 intent + + -- Id: M.3 + function STD_MATCH (L, R : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: terms compared per STD_LOGIC_1164 intent + + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + -- Id: M.4 + function STD_MATCH (L, R: STD_LOGIC_VECTOR_93) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: terms compared per STD_LOGIC_1164 intent + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + + -- Id: M.5 + function STD_MATCH (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: terms compared per STD_LOGIC_1164 intent + + --============================================================================ + -- Translation Functions + --============================================================================ + + -- Id: T.1 + function TO_01 (S : UNRESOLVED_UNSIGNED; XMAP : STD_ULOGIC := '0') return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', and 'L' is translated + -- to '0'. If a value other than '0'|'1'|'H'|'L' is found, + -- the array is set to (others => XMAP), and a warning is + -- issued. + + -- Id: T.2 + function TO_01 (S : UNRESOLVED_SIGNED; XMAP : STD_ULOGIC := '0') return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', and 'L' is translated + -- to '0'. If a value other than '0'|'1'|'H'|'L' is found, + -- the array is set to (others => XMAP), and a warning is + -- issued. + + -- Id: T.3 + function TO_X01 (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than '0'|'1'|'H'|'L' are translated to 'X'. + + -- Id: T.4 + function TO_X01 (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than '0'|'1'|'H'|'L' are translated to 'X'. + + -- Id: T.5 + function TO_X01Z (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than '0'|'1'|'H'|'L'|'Z' are translated to 'X'. + + -- Id: T.6 + function TO_X01Z (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than '0'|'1'|'H'|'L'|'Z' are translated to 'X'. + + -- Id: T.7 + function TO_UX01 (S : UNRESOLVED_UNSIGNED) return UNRESOLVED_UNSIGNED; + -- Result subtype: UNRESOLVED_UNSIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than 'U'|'0'|'1'|'H'|'L' are translated to 'X'. + + -- Id: T.8 + function TO_UX01 (S : UNRESOLVED_SIGNED) return UNRESOLVED_SIGNED; + -- Result subtype: UNRESOLVED_SIGNED(S'RANGE) + -- Result: Termwise, 'H' is translated to '1', 'L' is translated to '0', + -- and values other than 'U'|'0'|'1'|'H'|'L' are translated to 'X'. + + -- Id: T.9 + function IS_X (S : UNRESOLVED_UNSIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: TRUE if S contains a 'U'|'X'|'Z'|'W'|'-' value, FALSE otherwise. + + -- Id: T.10 + function IS_X (S : UNRESOLVED_SIGNED) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: TRUE if S contains a 'U'|'X'|'Z'|'W'|'-' value, FALSE otherwise. + + --============================================================================ + -- string conversion and write operations + --============================================================================ + -- the following operations are predefined + + -- function to_string (value : UNRESOLVED_UNSIGNED) return STRING; + -- function to_string (value : UNRESOLVED_SIGNED) return STRING; + + -- explicitly defined operations + + alias to_bstring is to_string [UNRESOLVED_UNSIGNED return STRING]; + alias to_bstring is to_string [UNRESOLVED_SIGNED return STRING]; + alias to_binary_string is to_string [UNRESOLVED_UNSIGNED return STRING]; + alias to_binary_string is to_string [UNRESOLVED_SIGNED return STRING]; + + function to_ostring (value : UNRESOLVED_UNSIGNED) return STRING; + function to_ostring (value : UNRESOLVED_SIGNED) return STRING; + alias to_octal_string is to_ostring [UNRESOLVED_UNSIGNED return STRING]; + alias to_octal_string is to_ostring [UNRESOLVED_SIGNED return STRING]; + + function to_hstring (value : UNRESOLVED_UNSIGNED) return STRING; + function to_hstring (value : UNRESOLVED_SIGNED) return STRING; + alias to_hex_string is to_hstring [UNRESOLVED_UNSIGNED return STRING]; + alias to_hex_string is to_hstring [UNRESOLVED_SIGNED return STRING]; + + procedure READ(L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; GOOD : out BOOLEAN); + + procedure READ(L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED); + + procedure READ(L : inout LINE; VALUE : out UNRESOLVED_SIGNED; GOOD : out BOOLEAN); + + procedure READ(L : inout LINE; VALUE : out UNRESOLVED_SIGNED); + + procedure WRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure WRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias BREAD is READ [LINE, UNRESOLVED_UNSIGNED, BOOLEAN]; + alias BREAD is READ [LINE, UNRESOLVED_SIGNED, BOOLEAN]; + + alias BREAD is READ [LINE, UNRESOLVED_UNSIGNED]; + alias BREAD is READ [LINE, UNRESOLVED_SIGNED]; + + alias BINARY_READ is READ [LINE, UNRESOLVED_UNSIGNED, BOOLEAN]; + alias BINARY_READ is READ [LINE, UNRESOLVED_SIGNED, BOOLEAN]; + + alias BINARY_READ is READ [LINE, UNRESOLVED_UNSIGNED]; + alias BINARY_READ is READ [LINE, UNRESOLVED_SIGNED]; + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; GOOD : out BOOLEAN); + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED; GOOD : out BOOLEAN); + + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED); + procedure OREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED); + + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_UNSIGNED, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_SIGNED, BOOLEAN]; + + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_UNSIGNED]; + alias OCTAL_READ is OREAD [LINE, UNRESOLVED_SIGNED]; + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED; GOOD : out BOOLEAN); + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED; GOOD : out BOOLEAN); + + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_UNSIGNED); + procedure HREAD (L : inout LINE; VALUE : out UNRESOLVED_SIGNED); + + alias HEX_READ is HREAD [LINE, UNRESOLVED_UNSIGNED, BOOLEAN]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_SIGNED, BOOLEAN]; + + alias HEX_READ is HREAD [LINE, UNRESOLVED_UNSIGNED]; + alias HEX_READ is HREAD [LINE, UNRESOLVED_SIGNED]; + + alias BWRITE is WRITE [LINE, UNRESOLVED_UNSIGNED, SIDE, WIDTH]; + alias BWRITE is WRITE [LINE, UNRESOLVED_SIGNED, SIDE, WIDTH]; + + alias BINARY_WRITE is WRITE [LINE, UNRESOLVED_UNSIGNED, SIDE, WIDTH]; + alias BINARY_WRITE is WRITE [LINE, UNRESOLVED_SIGNED, SIDE, WIDTH]; + + procedure OWRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure OWRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias OCTAL_WRITE is OWRITE [LINE, UNRESOLVED_UNSIGNED, SIDE, WIDTH]; + alias OCTAL_WRITE is OWRITE [LINE, UNRESOLVED_SIGNED, SIDE, WIDTH]; + + procedure HWRITE (L : inout LINE; VALUE : in UNRESOLVED_UNSIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure HWRITE (L : inout LINE; VALUE : in UNRESOLVED_SIGNED; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias HEX_WRITE is HWRITE [LINE, UNRESOLVED_UNSIGNED, SIDE, WIDTH]; + alias HEX_WRITE is HWRITE [LINE, UNRESOLVED_SIGNED, SIDE, WIDTH]; + + -- Synthesis Directives + -- Synthesis Directives are in the form of the following two attributes: + -- attribute SYNTHESIS_RETURN : STRING ; + -- attribute IS_SIGNED : BOOLEAN ; + + -- The SYNTHESIS_RETURN attribute is set on a return variable inside a function. + -- Verific will recognize the attribute and replace the function body by a + -- built-in definition for synthesis. + -- The variable on which the attribute is set defines the return (index) range + -- of the function. + -- The IS_SIGNED attribute is set on array parameters of the function that + -- should be interpreted as 2-complement values. + -- MSB is always the left most bit in an array (both for parameters and for + -- return values). + + attribute foreign of NUMERIC_STD: package is "NO C code generation"; +-- ============ A =================== + attribute foreign of "abs"[signed return signed] : function is "ieee_numeric_std_abs"; + attribute foreign of "-"[signed return signed] : function is "ieee_numeric_std_neg"; + + attribute foreign of "+"[signed, signed return signed] : function is "ieee_numeric_std_signed_add"; + attribute foreign of "+"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_add"; + attribute foreign of "+"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_add"; + attribute foreign of "+"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_add"; + attribute foreign of "+"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_add"; + attribute foreign of "+"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_add"; + + attribute foreign of "-"[signed, signed return signed] : function is "ieee_numeric_std_signed_subtract"; + attribute foreign of "-"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_subtract"; + attribute foreign of "-"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_subtract"; + attribute foreign of "-"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_subtract"; + attribute foreign of "-"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_subtract"; + attribute foreign of "-"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_subtract"; + + attribute foreign of "*"[signed, signed return signed] : function is "ieee_numeric_std_signed_multiply"; + attribute foreign of "*"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_multiply"; + attribute foreign of "*"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_multiply"; + attribute foreign of "*"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_multiply"; + attribute foreign of "*"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_multiply"; + attribute foreign of "*"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_multiply"; + + attribute foreign of "/"[signed, signed return signed] : function is "ieee_numeric_std_signed_divide"; + attribute foreign of "/"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_divide"; + attribute foreign of "/"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_divide"; + attribute foreign of "/"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_divide"; + attribute foreign of "/"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_divide"; + attribute foreign of "/"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_divide"; + + attribute foreign of "rem"[signed, signed return signed] : function is "ieee_numeric_std_signed_rem"; + attribute foreign of "rem"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_rem"; + attribute foreign of "rem"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_rem"; + attribute foreign of "rem"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_rem"; + attribute foreign of "rem"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_rem"; + attribute foreign of "rem"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_rem"; + + attribute foreign of "mod"[signed, signed return signed] : function is "ieee_numeric_std_signed_mod"; + attribute foreign of "mod"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_unsigned_mod"; + attribute foreign of "mod"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_nat_mod"; + attribute foreign of "mod"[natural, unsigned return unsigned] : function is "ieee_numeric_std_nat_unsigned_mod"; + attribute foreign of "mod"[signed, integer return signed] : function is "ieee_numeric_std_signed_int_mod"; + attribute foreign of "mod"[integer, signed return signed] : function is "ieee_numeric_std_int_signed_mod"; + +---- ============ C =================== + + attribute foreign of ">"[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_greater"; + attribute foreign of ">"[signed, signed return boolean] : function is "ieee_numeric_std_signed_greater"; + attribute foreign of ">"[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_greater"; + attribute foreign of ">"[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_greater"; + attribute foreign of ">"[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_greater"; + attribute foreign of ">"[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_greater"; + + attribute foreign of "<"[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_less"; + attribute foreign of "<"[signed, signed return boolean] : function is "ieee_numeric_std_signed_less"; + attribute foreign of "<"[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_less"; + attribute foreign of "<"[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_less"; + attribute foreign of "<"[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_less"; + attribute foreign of "<"[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_less"; + + attribute foreign of "<="[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_lequal"; + attribute foreign of "<="[signed, signed return boolean] : function is "ieee_numeric_std_signed_lequal"; + attribute foreign of "<="[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_lequal"; + attribute foreign of "<="[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_lequal"; + attribute foreign of "<="[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_lequal"; + attribute foreign of "<="[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_lequal"; + + attribute foreign of ">="[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_gequal"; + attribute foreign of ">="[signed, signed return boolean] : function is "ieee_numeric_std_signed_gequal"; + attribute foreign of ">="[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_gequal"; + attribute foreign of ">="[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_gequal"; + attribute foreign of ">="[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_gequal"; + attribute foreign of ">="[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_gequal"; + + attribute foreign of "="[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_equal"; + attribute foreign of "="[signed, signed return boolean] : function is "ieee_numeric_std_signed_equal"; + attribute foreign of "="[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_equal"; + attribute foreign of "="[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_equal"; + attribute foreign of "="[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_equal"; + attribute foreign of "="[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_equal"; + + attribute foreign of "/="[unsigned, unsigned return boolean] : function is "ieee_numeric_std_unsigned_nequal"; + attribute foreign of "/="[signed, signed return boolean] : function is "ieee_numeric_std_signed_nequal"; + attribute foreign of "/="[natural, unsigned return boolean] : function is "ieee_numeric_std_nat_unsigned_nequal"; + attribute foreign of "/="[unsigned, natural return boolean] : function is "ieee_numeric_std_unsigned_nat_nequal"; + attribute foreign of "/="[integer, signed return boolean] : function is "ieee_numeric_std_int_signed_nequal"; + attribute foreign of "/="[signed, integer return boolean] : function is "ieee_numeric_std_signed_int_nequal"; + + +-- ============ D =================== + attribute foreign of TO_INTEGER[unsigned return natural] : function is "ieee_numeric_std_unsigned_to_integer"; + attribute foreign of TO_INTEGER[signed return natural] : function is "ieee_numeric_std_signed_to_integer"; + attribute foreign of TO_UNSIGNED[natural, natural return unsigned] : function is "ieee_numeric_std_to_unsigned"; + attribute foreign of TO_SIGNED[integer, natural return signed] : function is "ieee_numeric_std_to_signed"; + +-- ============ L =================== + attribute foreign of "not"[unsigned return unsigned] : function is "ieee_numeric_std_not"; + attribute foreign of "and"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_and"; + attribute foreign of "or"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_or"; + attribute foreign of "nand"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_nand"; + attribute foreign of "nor"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_nor"; + attribute foreign of "xor"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_xor"; + attribute foreign of "xnor"[unsigned, unsigned return unsigned] : function is "ieee_numeric_std_xnor"; + attribute foreign of "not"[signed return signed] : function is "ieee_numeric_std_not"; + attribute foreign of "and"[signed, signed return signed] : function is "ieee_numeric_std_and"; + attribute foreign of "or"[signed, signed return signed] : function is "ieee_numeric_std_or"; + attribute foreign of "nand"[signed, signed return signed] : function is "ieee_numeric_std_nand"; + attribute foreign of "nor"[signed, signed return signed] : function is "ieee_numeric_std_nor"; + attribute foreign of "xor"[signed, signed return signed] : function is "ieee_numeric_std_xor"; + attribute foreign of "xnor"[signed, signed return signed] : function is "ieee_numeric_std_xnor"; + +-- ============ M =================== + attribute foreign of STD_MATCH[std_ulogic, std_ulogic return boolean] : function is "ieee_numeric_std_match_ulogic"; + attribute foreign of STD_MATCH[unsigned, unsigned return boolean] : function is "ieee_numeric_std_match"; + attribute foreign of STD_MATCH[signed, signed return boolean] : function is "ieee_numeric_std_match"; + attribute foreign of STD_MATCH[std_logic_vector, std_logic_vector return boolean] : function is "ieee_numeric_std_match"; + attribute foreign of STD_MATCH[std_ulogic_vector, std_ulogic_vector return boolean] : function is "ieee_numeric_std_match"; + +--============ S ================ + attribute foreign of SHIFT_LEFT[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_shift_left"; + attribute foreign of SHIFT_RIGHT[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_shift_right"; + attribute foreign of SHIFT_LEFT[signed, natural return signed] : function is "ieee_numeric_std_signed_shift_left"; + attribute foreign of SHIFT_RIGHT[signed, natural return signed] : function is "ieee_numeric_std_signed_shift_right"; + attribute foreign of ROTATE_LEFT[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_rotate_left"; + attribute foreign of ROTATE_RIGHT[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_rotate_right"; + attribute foreign of ROTATE_LEFT[signed, natural return signed] : function is "ieee_numeric_std_signed_rotate_left"; + attribute foreign of ROTATE_RIGHT[signed, natural return signed] : function is "ieee_numeric_std_signed_rotate_right"; + attribute foreign of "sll"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_sll"; + attribute foreign of "sll"[signed, natural return signed] : function is "ieee_numeric_std_signed_sll"; + attribute foreign of "srl"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_srl"; + attribute foreign of "srl"[signed, natural return signed] : function is "ieee_numeric_std_signed_srl"; + attribute foreign of "rol"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_rol"; + attribute foreign of "rol"[signed, natural return signed] : function is "ieee_numeric_std_signed_rol"; + attribute foreign of "ror"[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_ror"; + attribute foreign of "ror"[signed, natural return signed] : function is "ieee_numeric_std_signed_ror"; + +--============ R ================ + attribute foreign of RESIZE[unsigned, natural return unsigned] : function is "ieee_numeric_std_unsigned_resize"; + attribute foreign of RESIZE[signed, natural return signed] : function is "ieee_numeric_std_signed_resize"; + +--============Translation functions================ + attribute foreign of TO_01[unsigned, std_logic return unsigned] : function is "ieee_numeric_std_to_01"; + attribute foreign of TO_01[signed, std_logic return signed] : function is "ieee_numeric_std_to_01"; + + +end package NUMERIC_STD; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl new file mode 100644 index 0000000..da8928f --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl @@ -0,0 +1,595 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_STD_UNSIGNED package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Values of type STD_ULOGIC_VECTOR +-- : are interpreted as unsigned numbers in vector form. +-- : The leftmost bit is treated as the most significant bit. +-- : This package contains overloaded arithmetic operators on +-- : the STD_ULOGIC_VECTOR type. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library ieee; +use ieee.numeric_std.all; + +package body NUMERIC_STD_UNSIGNED is + + -- Id: A.3 + function "+" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) + UNSIGNED(R)); + end function "+"; + + -- Id: A.3R + function "+"(L : STD_ULOGIC_VECTOR; R : STD_ULOGIC) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) + R); + end function "+"; + + -- Id: A.3L + function "+"(L : STD_ULOGIC; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L + UNSIGNED(R)); + end function "+"; + + -- Id: A.5 + function "+" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) + R); + end function "+"; + + -- Id: A.6 + function "+" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L + UNSIGNED(R)); + end function "+"; + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) - UNSIGNED(R)); + end function "-"; + + -- Id: A.9R + function "-"(L : STD_ULOGIC_VECTOR; R : STD_ULOGIC) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) - R); + end function "-"; + + -- Id: A.9L + function "-"(L : STD_ULOGIC; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L - UNSIGNED(R)); + end function "-"; + + -- Id: A.11 + function "-" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) - R); + end function "-"; + + -- Id: A.12 + function "-" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L - UNSIGNED(R)); + end function "-"; + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) * UNSIGNED(R)); + end function "*"; + + -- Id: A.17 + function "*" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) * R); + end function "*"; + + -- Id: A.18 + function "*" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L * UNSIGNED(R)); + end function "*"; + + --============================================================================ + + -- Id: A.21 + function "/" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) / UNSIGNED(R)); + end function "/"; + + -- Id: A.23 + function "/" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) / R); + end function "/"; + + -- Id: A.24 + function "/" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L / UNSIGNED(R)); + end function "/"; + + --============================================================================ + + -- Id: A.27 + function "rem" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) rem UNSIGNED(R)); + end function "rem"; + + -- Id: A.29 + function "rem" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) rem R); + end function "rem"; + + -- Id: A.30 + function "rem" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L rem UNSIGNED(R)); + end function "rem"; + + --============================================================================ + + -- Id: A.33 + function "mod" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) mod UNSIGNED(R)); + end function "mod"; + + -- Id: A.35 + function "mod" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(L) mod R); + end function "mod"; + + -- Id: A.36 + function "mod" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (L mod UNSIGNED(R)); + end function "mod"; + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG: STD_ULOGIC_VECTOR; Y: STD_ULOGIC) return INTEGER is + begin + return find_leftmost(UNSIGNED(ARG), Y); + end function find_leftmost; + + -- Id: A.41 + function find_rightmost (ARG: STD_ULOGIC_VECTOR; Y: STD_ULOGIC) return INTEGER is + begin + return find_rightmost(UNSIGNED(ARG), Y); + end function find_rightmost; + + --============================================================================ + + -- Id: C.1 + function ">" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) > UNSIGNED(R); + end function ">"; + + -- Id: C.3 + function ">" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L > UNSIGNED(R); + end function ">"; + + -- Id: C.5 + function ">" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) > R; + end function ">"; + + --============================================================================ + + -- Id: C.7 + function "<" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) < UNSIGNED(R); + end function "<"; + + -- Id: C.9 + function "<" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L < UNSIGNED(R); + end function "<"; + + -- Id: C.11 + function "<" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) < R; + end function "<"; + + --============================================================================ + + -- Id: C.13 + function "<=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) <= UNSIGNED(R); + end function "<="; + + -- Id: C.15 + function "<=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L <= UNSIGNED(R); + end function "<="; + + -- Id: C.17 + function "<=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) <= R; + end function "<="; + + --============================================================================ + + -- Id: C.19 + function ">=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) >= UNSIGNED(R); + end function ">="; + + -- Id: C.21 + function ">=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L >= UNSIGNED(R); + end function ">="; + + -- Id: C.23 + function ">=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) >= R; + end function ">="; + + --============================================================================ + + -- Id: C.25 + function "=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) = UNSIGNED(R); + end function "="; + + -- Id: C.27 + function "=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L = UNSIGNED(R); + end function "="; + + -- Id: C.29 + function "=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) = R; + end function "="; + + --============================================================================ + + -- Id: C.31 + function "/=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) /= UNSIGNED(R); + end function "/="; + + -- Id: C.33 + function "/=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN is + begin + return L /= UNSIGNED(R); + end function "/="; + + -- Id: C.35 + function "/=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN is + begin + return UNSIGNED(L) /= R; + end function "/="; + + --============================================================================ + + -- Id: C.37 + function MINIMUM (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MINIMUM(UNSIGNED(L), UNSIGNED(R))); + end function MINIMUM; + + -- Id: C.39 + function MINIMUM (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MINIMUM(L, UNSIGNED(R))); + end function MINIMUM; + + -- Id: C.41 + function MINIMUM (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MINIMUM(UNSIGNED(L), R)); + end function MINIMUM; + + --============================================================================ + -- Id: C.43 + function MAXIMUM (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MAXIMUM(UNSIGNED(L), UNSIGNED(R))); + end function MAXIMUM; + + -- Id: C.45 + function MAXIMUM (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MAXIMUM(L, UNSIGNED(R))); + end function MAXIMUM; + + -- Id: C.47 + function MAXIMUM (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (MAXIMUM(UNSIGNED(L), R)); + end function MAXIMUM; + + --============================================================================ + + -- Id: C.49 + function "?>" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?> UNSIGNED(R); + end function "?>"; + + -- Id: C.51 + function "?>" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?> UNSIGNED(R); + end function "?>"; + + -- Id: C.53 + function "?>" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?> R; + end function "?>"; + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?< UNSIGNED(R); + end function "?<"; + + -- Id: C.57 + function "?<" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?< UNSIGNED(R); + end function "?<"; + + -- Id: C.59 + function "?<" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?< R; + end function "?<"; + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?<= UNSIGNED(R); + end function "?<="; + + -- Id: C.63 + function "?<=" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?<= UNSIGNED(R); + end function "?<="; + + -- Id: C.65 + function "?<=" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?<= R; + end function "?<="; + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?>= UNSIGNED(R); + end function "?>="; + + -- Id: C.69 + function "?>=" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?>= UNSIGNED(R); + end function "?>="; + + -- Id: C.71 + function "?>=" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?>= R; + end function "?>="; + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?= UNSIGNED(R); + end function "?="; + + -- Id: C.75 + function "?=" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?= UNSIGNED(R); + end function "?="; + + -- Id: C.77 + function "?=" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?= R; + end function "?="; + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return UNSIGNED(L) ?/= UNSIGNED(R); + end function "?/="; + + -- Id: C.81 + function "?/=" (L: NATURAL; R: STD_ULOGIC_VECTOR) return STD_ULOGIC is + begin + return L ?/= UNSIGNED(R); + end function "?/="; + + -- Id: C.83 + function "?/=" (L: STD_ULOGIC_VECTOR; R: NATURAL) return STD_ULOGIC is + begin + return UNSIGNED(L) ?/= R; + end function "?/="; + + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR is + begin + return std_logic_vector (SHIFT_LEFT(unsigned(ARG), COUNT)); + end function SHIFT_LEFT; + + -- Id: S.2 + function SHIFT_RIGHT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR is + begin + return std_logic_vector (SHIFT_RIGHT(unsigned(ARG), COUNT)); + end function SHIFT_RIGHT; + + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR is + begin + return std_logic_vector (ROTATE_LEFT(unsigned(ARG), COUNT)); + end function ROTATE_LEFT; + + -- Id: S.6 + function ROTATE_RIGHT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR is + begin + return std_logic_vector (ROTATE_RIGHT(unsigned(ARG), COUNT)); + end function ROTATE_RIGHT; + + --============================================================================ + + -- Id: S.17 + function "sla" (ARG: STD_ULOGIC_VECTOR; COUNT: INTEGER) + return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(ARG) sla COUNT); + end function "sla"; + + -- Id: S.19 + function "sra" (ARG: STD_ULOGIC_VECTOR; COUNT: INTEGER) + return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (UNSIGNED(ARG) sra COUNT); + end function "sra"; + + --============================================================================ + + -- Id: R.2 + function RESIZE (ARG : STD_ULOGIC_VECTOR; NEW_SIZE : NATURAL) + return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR ( + RESIZE (ARG => UNSIGNED(ARG), + NEW_SIZE => NEW_SIZE)); + end function RESIZE; + + function RESIZE (ARG, SIZE_RES : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR ( + RESIZE (ARG => UNSIGNED(ARG), + NEW_SIZE => SIZE_RES'length)); + end function RESIZE; + + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : STD_ULOGIC_VECTOR) return NATURAL is + begin + return TO_INTEGER(UNSIGNED(ARG)); + end function TO_INTEGER; + + -- Id: D.3 + function To_StdLogicVector (ARG, SIZE : NATURAL) return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR (TO_UNSIGNED(ARG => ARG, + SIZE => SIZE)); + end function To_StdLogicVector; + + -- Id: D.5 + function To_StdULogicVector (ARG, SIZE : NATURAL) return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (TO_UNSIGNED(ARG => ARG, + SIZE => SIZE)); + end function To_StdULogicVector; + + function To_StdLogicVector (ARG : NATURAL; SIZE_RES : STD_LOGIC_VECTOR) + return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR (TO_UNSIGNED (ARG => ARG, + SIZE => SIZE_RES'length)); + end function To_StdLogicVector; + + function To_StdULogicVector (ARG : NATURAL; SIZE_RES : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR is + begin + return STD_ULOGIC_VECTOR (TO_UNSIGNED (ARG => ARG, + SIZE => SIZE_RES'length)); + end function To_StdULogicVector; + +end package body NUMERIC_STD_UNSIGNED; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl new file mode 100644 index 0000000..4f31e4b --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl @@ -0,0 +1,616 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of this +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source file +-- shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title : Standard VHDL Synthesis Packages +-- : (NUMERIC_STD_UNSIGNED package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This package defines numeric types and arithmetic functions +-- : for use with synthesis tools. Values of type STD_ULOGIC_VECTOR +-- : are interpreted as unsigned numbers in vector form. +-- : The leftmost bit is treated as the most significant bit. +-- : This package contains overloaded arithmetic operators on +-- : the STD_ULOGIC_VECTOR type. The package also contains +-- : useful type conversions functions, clock detection +-- : functions, and other utility functions. +-- : +-- : If any argument to a function is a null array, a null array +-- : is returned (exceptions, if any, are noted individually). +-- +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1220 $ +-- $Date: 2008-04-10 17:16:09 +0930 (Thu, 10 Apr 2008) $ +-- -------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +package NUMERIC_STD_UNSIGNED is + constant CopyRightNotice : STRING := + "Copyright 2008 IEEE. All rights reserved."; + + -- Id: A.3 + function "+" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0). + -- Result: Adds two UNSIGNED vectors that may be of different lengths. + + -- Id: A.3R + function "+"(L : STD_ULOGIC_VECTOR; R : STD_ULOGIC) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Similar to A.3 where R is a one bit STD_ULOGIC_VECTOR + + -- Id: A.3L + function "+"(L : STD_ULOGIC; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Similar to A.3 where L is a one bit UNSIGNED + + -- Id: A.5 + function "+" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0). + -- Result: Adds an UNSIGNED vector, L, with a non-negative INTEGER, R. + + -- Id: A.6 + function "+" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0). + -- Result: Adds a non-negative INTEGER, L, with an UNSIGNED vector, R. + + --============================================================================ + + -- Id: A.9 + function "-" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: UNSIGNED(MAXIMUM(L'LENGTH, R'LENGTH)-1 downto 0). + -- Result: Subtracts two UNSIGNED vectors that may be of different lengths. + + -- Id: A.9R + function "-"(L : STD_ULOGIC_VECTOR; R : STD_ULOGIC) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Similar to A.9 where R is a one bit UNSIGNED + + -- Id: A.9L + function "-"(L : STD_ULOGIC; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Similar to A.9 where L is a one bit UNSIGNED + + -- Id: A.11 + function "-" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0). + -- Result: Subtracts a non-negative INTEGER, R, from an UNSIGNED vector, L. + + -- Id: A.12 + function "-" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0). + -- Result: Subtracts an UNSIGNED vector, R, from a non-negative INTEGER, L. + + --============================================================================ + + -- Id: A.15 + function "*" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR((L'LENGTH+R'LENGTH-1) downto 0). + -- Result: Performs the multiplication operation on two UNSIGNED vectors + -- that may possibly be of different lengths. + + -- Id: A.17 + function "*" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR((L'LENGTH+L'LENGTH-1) downto 0). + -- Result: Multiplies an UNSIGNED vector, L, with a non-negative + -- INTEGER, R. R is converted to an UNSIGNED vector of + -- SIZE L'LENGTH before multiplication. + + -- Id: A.18 + function "*" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR((R'LENGTH+R'LENGTH-1) downto 0). + -- Result: Multiplies an UNSIGNED vector, R, with a non-negative + -- INTEGER, L. L is converted to an UNSIGNED vector of + -- SIZE R'LENGTH before multiplication. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "/" operator, a severity level + -- of ERROR is issued. + + -- Id: A.21 + function "/" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by another UNSIGNED vector, R. + + -- Id: A.23 + function "/" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Divides an UNSIGNED vector, L, by a non-negative INTEGER, R. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.24 + function "/" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Divides a non-negative INTEGER, L, by an UNSIGNED vector, R. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "rem" operator, a severity level + -- of ERROR is issued. + + -- Id: A.27 + function "rem" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L and R are UNSIGNED vectors. + + -- Id: A.29 + function "rem" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where L is an UNSIGNED vector and R is a + -- non-negative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.30 + function "rem" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Computes "L rem R" where R is an UNSIGNED vector and L is a + -- non-negative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- + -- NOTE: If second argument is zero for "mod" operator, a severity level + -- of ERROR is issued. + + -- Id: A.33 + function "mod" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L and R are UNSIGNED vectors. + + -- Id: A.35 + function "mod" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(L'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where L is an UNSIGNED vector and R + -- is a non-negative INTEGER. + -- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH. + + -- Id: A.36 + function "mod" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(R'LENGTH-1 downto 0) + -- Result: Computes "L mod R" where R is an UNSIGNED vector and L + -- is a non-negative INTEGER. + -- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH. + + --============================================================================ + -- Id: A.39 + function find_leftmost (ARG : STD_ULOGIC_VECTOR; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + -- Id: A.41 + function find_rightmost (ARG : STD_ULOGIC_VECTOR; Y : STD_ULOGIC) return INTEGER; + -- Result subtype: INTEGER + -- Result: Finds the leftmost occurrence of the value of Y in ARG. + -- Returns the index of the occurrence if it exists, or -1 otherwise. + + --============================================================================ + -- Comparison Operators + --============================================================================ + + -- Id: C.1 + function ">" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.3 + function ">" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.5 + function ">" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.7 + function "<" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.9 + function "<" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.11 + function "<" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.13 + function "<=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.15 + function "<=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.17 + function "<=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.19 + function ">=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.21 + function ">=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.23 + function ">=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.25 + function "=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.27 + function "=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.29 + function "=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.31 + function "/=" (L, R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.33 + function "/=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is a non-negative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.35 + function "/=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return BOOLEAN; + -- Result subtype: BOOLEAN + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a non-negative INTEGER. + + --============================================================================ + + -- Id: C.37 + function MINIMUM (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the lesser of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.39 + function MINIMUM (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the lesser of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.41 + function MINIMUM (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the lesser of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + --============================================================================ + + -- Id: C.43 + function MAXIMUM (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the greater of two UNSIGNED vectors that may be + -- of different lengths. + + -- Id: C.45 + function MAXIMUM (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the greater of a nonnegative INTEGER, L, and + -- an UNSIGNED vector, R. + + -- Id: C.47 + function MAXIMUM (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR + -- Result: Returns the greater of an UNSIGNED vector, L, and + -- a nonnegative INTEGER, R. + + --============================================================================ + -- Id: C.49 + function "?>" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.51 + function "?>" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.53 + function "?>" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L > R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.55 + function "?<" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.57 + function "?<" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.59 + function "?<" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L < R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.61 + function "?<=" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.63 + function "?<=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.65 + function "?<=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L <= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.67 + function "?>=" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.69 + function "?>=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.71 + function "?>=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L >= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.73 + function "?=" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.75 + function "?=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.77 + function "?=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L = R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + + -- Id: C.79 + function "?/=" (L, R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L and R are UNSIGNED vectors possibly + -- of different lengths. + + -- Id: C.81 + function "?/=" (L : NATURAL; R : STD_ULOGIC_VECTOR) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is a nonnegative INTEGER and + -- R is an UNSIGNED vector. + + -- Id: C.83 + function "?/=" (L : STD_ULOGIC_VECTOR; R : NATURAL) return STD_ULOGIC; + -- Result subtype: STD_ULOGIC + -- Result: Computes "L /= R" where L is an UNSIGNED vector and + -- R is a nonnegative INTEGER. + + --============================================================================ + -- Shift and Rotate Functions + --============================================================================ + + -- Id: S.1 + function SHIFT_LEFT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-left on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT leftmost elements are lost. + + -- Id: S.2 + function SHIFT_RIGHT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR; + -- Result subtype: UNSIGNED(ARG'LENGTH-1 downto 0) + -- Result: Performs a shift-right on an UNSIGNED vector COUNT times. + -- The vacated positions are filled with '0'. + -- The COUNT rightmost elements are lost. + --============================================================================ + + -- Id: S.5 + function ROTATE_LEFT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-left of an UNSIGNED vector COUNT times. + + -- Id: S.6 + function ROTATE_RIGHT (ARG : STD_ULOGIC_VECTOR; COUNT : NATURAL) + return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: Performs a rotate-right of an UNSIGNED vector COUNT times. + + + --============================================================================ + + ------------------------------------------------------------------------------ + -- Note: Function S.17 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.17 + function "sla" (ARG : STD_ULOGIC_VECTOR; COUNT : INTEGER) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_LEFT(ARG, COUNT) + + ------------------------------------------------------------------------------ + -- Note: Function S.19 is not compatible with IEEE Std 1076-1987. Comment + -- out the function (declaration and body) for IEEE Std 1076-1987 compatibility. + ------------------------------------------------------------------------------ + -- Id: S.19 + function "sra" (ARG : STD_ULOGIC_VECTOR; COUNT : INTEGER) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(ARG'LENGTH-1 downto 0) + -- Result: SHIFT_RIGHT(ARG, COUNT) + + + --============================================================================ + -- RESIZE Functions + --============================================================================ + + -- Id: R.2 + function RESIZE (ARG : STD_ULOGIC_VECTOR; NEW_SIZE : NATURAL) + return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(NEW_SIZE-1 downto 0) + -- Result: Resizes the UNSIGNED vector ARG to the specified size. + -- To create a larger vector, the new [leftmost] bit positions + -- are filled with '0'. When truncating, the leftmost bits + -- are dropped. + + function RESIZE (ARG, SIZE_RES : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR (SIZE_RES'length-1 downto 0) + + --============================================================================ + -- Conversion Functions + --============================================================================ + + -- Id: D.1 + function TO_INTEGER (ARG : STD_ULOGIC_VECTOR) return NATURAL; + -- Result subtype: NATURAL. Value cannot be negative since parameter is an + -- UNSIGNED vector. + -- Result: Converts the UNSIGNED vector to an INTEGER. + + -- Id: D.3 + function To_StdLogicVector (ARG, SIZE : NATURAL) return STD_LOGIC_VECTOR; + -- Result subtype: STD_LOGIC_VECTOR(SIZE-1 downto 0) + -- Result: Converts a non-negative INTEGER to an UNSIGNED vector with + -- the specified SIZE. + + function To_StdLogicVector (ARG : NATURAL; SIZE_RES : STD_ULOGIC_VECTOR) + return STD_LOGIC_VECTOR; + -- Result subtype: STD_LOGIC_VECTOR(SIZE_RES'length-1 downto 0) + + alias To_Std_Logic_Vector is + To_StdLogicVector[NATURAL, NATURAL return STD_LOGIC_VECTOR]; + alias To_SLV is + To_StdLogicVector[NATURAL, NATURAL return STD_LOGIC_VECTOR]; + alias To_Std_Logic_Vector is + To_StdLogicVector[NATURAL, STD_ULOGIC_VECTOR return STD_LOGIC_VECTOR]; + alias To_SLV is + To_StdLogicVector[NATURAL, STD_ULOGIC_VECTOR return STD_LOGIC_VECTOR]; + + -- Id: D.5 + function To_StdULogicVector (ARG, SIZE : NATURAL) return STD_ULOGIC_VECTOR; + -- Result subtype: STD_ULOGIC_VECTOR(SIZE-1 downto 0) + -- Result: Converts a non-negative INTEGER to an UNSIGNED vector with + -- the specified SIZE. + + function To_StdULogicVector (ARG : NATURAL; SIZE_RES : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR; + -- Result subtype: STD_LOGIC_VECTOR(SIZE_RES'length-1 downto 0) + + alias To_Std_ULogic_Vector is + To_StdULogicVector[NATURAL, NATURAL return STD_ULOGIC_VECTOR]; + alias To_SULV is + To_StdULogicVector[NATURAL, NATURAL return STD_ULOGIC_VECTOR]; + alias To_Std_ULogic_Vector is + To_StdULogicVector[NATURAL, STD_ULOGIC_VECTOR return STD_ULOGIC_VECTOR]; + alias To_SULV is + To_StdULogicVector[NATURAL, STD_ULOGIC_VECTOR return STD_ULOGIC_VECTOR]; + +end package NUMERIC_STD_UNSIGNED; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl new file mode 100644 index 0000000..8772fcd --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl @@ -0,0 +1,1998 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of This +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- Title : Standard multivalue logic package +-- : (STD_LOGIC_1164 package body) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE model standards group (PAR 1164), +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines a standard for designers +-- : to use in describing the interconnection data types +-- : used in vhdl modeling. +-- : +-- Limitation: The logic system defined in this package may +-- : be insufficient for modeling switched transistors, +-- : since such a requirement is out of the scope of this +-- : effort. Furthermore, mathematics, primitives, +-- : timing standards, etc. are considered orthogonal +-- : issues as it relates to this package and are therefore +-- : beyond the scope of this effort. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1.4 $ +-- $Date: 2015/08/13 10:28:07 $ +-- -------------------------------------------------------------------- + +package body std_logic_1164 is + ------------------------------------------------------------------- + -- local types + ------------------------------------------------------------------- + type stdlogic_1d is array (STD_ULOGIC) of STD_ULOGIC; + type stdlogic_table is array(STD_ULOGIC, STD_ULOGIC) of STD_ULOGIC; + + ------------------------------------------------------------------- + -- resolution function + ------------------------------------------------------------------- + constant resolution_table : stdlogic_table := ( + -- --------------------------------------------------------- + -- | U X 0 1 Z W L H - | | + -- --------------------------------------------------------- + ('U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U'), -- | U | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | X | + ('U', 'X', '0', 'X', '0', '0', '0', '0', 'X'), -- | 0 | + ('U', 'X', 'X', '1', '1', '1', '1', '1', 'X'), -- | 1 | + ('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X'), -- | Z | + ('U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X'), -- | W | + ('U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X'), -- | L | + ('U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X'), -- | H | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X') -- | - | + ); + + function resolved (s : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := 'Z'; -- weakest state default + ATTRIBUTE synthesis_return OF result:VARIABLE IS "WIRED_THREE_STATE" ; + begin + -- the test for a single driver is essential otherwise the + -- loop would return 'X' for a single driver of '-' and that + -- would conflict with the value of a single driver unresolved + -- signal. + if (s'length = 1) then return s(s'low); + else + for i in s'range loop + result := resolution_table(result, s(i)); + end loop; + end if; + return result; + end function resolved; + + ------------------------------------------------------------------- + -- tables for logical operations + ------------------------------------------------------------------- + + -- truth table for "and" function + constant and_table : stdlogic_table := ( + -- ---------------------------------------------------- + -- | U X 0 1 Z W L H - | | + -- ---------------------------------------------------- + ('U', 'U', '0', 'U', 'U', 'U', '0', 'U', 'U'), -- | U | + ('U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X'), -- | X | + ('0', '0', '0', '0', '0', '0', '0', '0', '0'), -- | 0 | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | 1 | + ('U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X'), -- | Z | + ('U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X'), -- | W | + ('0', '0', '0', '0', '0', '0', '0', '0', '0'), -- | L | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | H | + ('U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X') -- | - | + ); + + -- truth table for "or" function + constant or_table : stdlogic_table := ( + -- ---------------------------------------------------- + -- | U X 0 1 Z W L H - | | + -- ---------------------------------------------------- + ('U', 'U', 'U', '1', 'U', 'U', 'U', '1', 'U'), -- | U | + ('U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X'), -- | X | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | 0 | + ('1', '1', '1', '1', '1', '1', '1', '1', '1'), -- | 1 | + ('U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X'), -- | Z | + ('U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X'), -- | W | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | L | + ('1', '1', '1', '1', '1', '1', '1', '1', '1'), -- | H | + ('U', 'X', 'X', '1', 'X', 'X', 'X', '1', 'X') -- | - | + ); + + -- truth table for "xor" function + constant xor_table : stdlogic_table := ( + -- ---------------------------------------------------- + -- | U X 0 1 Z W L H - | | + -- ---------------------------------------------------- + ('U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U'), -- | U | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | X | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | 0 | + ('U', 'X', '1', '0', 'X', 'X', '1', '0', 'X'), -- | 1 | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | Z | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | W | + ('U', 'X', '0', '1', 'X', 'X', '0', '1', 'X'), -- | L | + ('U', 'X', '1', '0', 'X', 'X', '1', '0', 'X'), -- | H | + ('U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X') -- | - | + ); + + -- truth table for "not" function + constant not_table : stdlogic_1d := + -- ------------------------------------------------- + -- | U X 0 1 Z W L H - | + -- ------------------------------------------------- + ('U', 'X', '1', '0', 'X', 'X', '1', '0', 'X'); + + ------------------------------------------------------------------- + -- overloaded logical operators ( with optimizing hints ) + ------------------------------------------------------------------- + + function "and" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "AND" ; + begin + result := (and_table(l, r)); + return result; + end function "and"; + + function "nand" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NAND" ; + begin + result := (not_table (and_table(l, r))); + return result; + end function "nand"; + + function "or" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "OR" ; + begin + result := (or_table(l, r)); + return result; + end function "or"; + + function "nor" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOR" ; + begin + result := (not_table (or_table(l, r))); + return result; + end function "nor"; + + function "xor" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XOR" ; + begin + result := (xor_table(l, r)); + return result; + end function "xor"; + + function "xnor" (l : STD_ULOGIC; r : STD_ULOGIC) return ux01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XNOR" ; + begin + result := not_table(xor_table(l, r)); + return result; + end function "xnor"; + + function "not" (l : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOT" ; + begin + result := (not_table(l)); + return result; + end function "not"; + + ------------------------------------------------------------------- + -- and + ------------------------------------------------------------------- + function "and" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "AND" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""and"": " + & "arguments of overloaded 'and' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := and_table (lv(i), rv(i)); + end loop; + end if; + return result; + end function "and"; + ------------------------------------------------------------------- + -- nand + ------------------------------------------------------------------- + function "nand" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NAND" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""nand"": " + & "arguments of overloaded 'nand' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := not_table(and_table (lv(i), rv(i))); + end loop; + end if; + return result; + end function "nand"; + ------------------------------------------------------------------- + -- or + ------------------------------------------------------------------- + function "or" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "OR" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""or"": " + & "arguments of overloaded 'or' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := or_table (lv(i), rv(i)); + end loop; + end if; + return result; + end function "or"; + ------------------------------------------------------------------- + -- nor + ------------------------------------------------------------------- + function "nor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOR" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""nor"": " + & "arguments of overloaded 'nor' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := not_table(or_table (lv(i), rv(i))); + end loop; + end if; + return result; + end function "nor"; + --------------------------------------------------------------------- + -- xor + ------------------------------------------------------------------- + function "xor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XOR" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""xor"": " + & "arguments of overloaded 'xor' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := xor_table (lv(i), rv(i)); + end loop; + end if; + return result; + end function "xor"; + ------------------------------------------------------------------- + -- xnor + ------------------------------------------------------------------- + function "xnor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XNOR" ; + begin + if (l'length /= r'length) then + assert false + report "STD_LOGIC_1164.""xnor"": " + & "arguments of overloaded 'xnor' operator are not of the same length" + severity failure; + else + for i in result'range loop + result(i) := not_table(xor_table (lv(i), rv(i))); + end loop; + end if; + return result; + end function "xnor"; + ------------------------------------------------------------------- + -- not + ------------------------------------------------------------------- + function "not" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length) := (others => 'X'); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOT" ; + begin + for i in result'range loop + result(i) := not_table(lv(i)); + end loop; + return result; + end function "not"; + + ------------------------------------------------------------------- + -- and + ------------------------------------------------------------------- + function "and" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "AND" ; + begin + for i in result'range loop + result(i) := and_table (lv(i), r); + end loop; + return result; + end function "and"; + ------------------------------------------------------------------- + function "and" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "AND" ; + begin + for i in result'range loop + result(i) := and_table (l, rv(i)); + end loop; + return result; + end function "and"; + + ------------------------------------------------------------------- + -- nand + ------------------------------------------------------------------- + function "nand" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NAND" ; + begin + for i in result'range loop + result(i) := not_table(and_table (lv(i), r)); + end loop; + return result; + end function "nand"; + ------------------------------------------------------------------- + function "nand" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NAND" ; + begin + for i in result'range loop + result(i) := not_table(and_table (l, rv(i))); + end loop; + return result; + end function "nand"; + + ------------------------------------------------------------------- + -- or + ------------------------------------------------------------------- + function "or" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "OR" ; + begin + for i in result'range loop + result(i) := or_table (lv(i), r); + end loop; + return result; + end function "or"; + ------------------------------------------------------------------- + function "or" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "OR" ; + begin + for i in result'range loop + result(i) := or_table (l, rv(i)); + end loop; + return result; + end function "or"; + + ------------------------------------------------------------------- + -- nor + ------------------------------------------------------------------- + function "nor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOR" ; + begin + for i in result'range loop + result(i) := not_table(or_table (lv(i), r)); + end loop; + return result; + end function "nor"; + ------------------------------------------------------------------- + function "nor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOR" ; + begin + for i in result'range loop + result(i) := not_table(or_table (l, rv(i))); + end loop; + return result; + end function "nor"; + + ------------------------------------------------------------------- + -- xor + ------------------------------------------------------------------- + function "xor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XOR" ; + begin + for i in result'range loop + result(i) := xor_table (lv(i), r); + end loop; + return result; + end function "xor"; + ------------------------------------------------------------------- + function "xor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XOR" ; + begin + for i in result'range loop + result(i) := xor_table (l, rv(i)); + end loop; + return result; + end function "xor"; + + ------------------------------------------------------------------- + -- xnor + ------------------------------------------------------------------- + function "xnor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XNOR" ; + begin + for i in result'range loop + result(i) := not_table(xor_table (lv(i), r)); + end loop; + return result; + end function "xnor"; + ------------------------------------------------------------------- + function "xnor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias rv : STD_ULOGIC_VECTOR (1 to r'length) is r; + variable result : STD_ULOGIC_VECTOR (1 to r'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XNOR" ; + begin + for i in result'range loop + result(i) := not_table(xor_table (l, rv(i))); + end loop; + return result; + end function "xnor"; + + ------------------------------------------------------------------- + -- and + ------------------------------------------------------------------- + function "and" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '1'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_AND" ; + begin + for i in l'reverse_range loop + result := and_table (l(i), result); + end loop; + return result; + end function "and"; + + ------------------------------------------------------------------- + -- nand + ------------------------------------------------------------------- + function "nand" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '1'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_NAND" ; + begin + for i in l'reverse_range loop + result := and_table (l(i), result); + end loop; + return not_table(result); + end function "nand"; + + ------------------------------------------------------------------- + -- or + ------------------------------------------------------------------- + function "or" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '0'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_OR" ; + begin + for i in l'reverse_range loop + result := or_table (l(i), result); + end loop; + return result; + end function "or"; + + ------------------------------------------------------------------- + -- nor + ------------------------------------------------------------------- + function "nor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '0'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_NOR" ; + begin + for i in l'reverse_range loop + result := or_table (l(i), result); + end loop; + return not_table(result); + end function "nor"; + + ------------------------------------------------------------------- + -- xor + ------------------------------------------------------------------- + function "xor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '0'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_XOR" ; + begin + for i in l'reverse_range loop + result := xor_table (l(i), result); + end loop; + return result; + end function "xor"; + + ------------------------------------------------------------------- + -- xnor + ------------------------------------------------------------------- + function "xnor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC is + variable result : STD_ULOGIC := '0'; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "REDUCE_XNOR" ; + begin + for i in l'reverse_range loop + result := xor_table (l(i), result); + end loop; + return not_table(result); + end function "xnor"; + + ------------------------------------------------------------------- + -- shift operators + ------------------------------------------------------------------- + + ------------------------------------------------------------------- + -- sll + ------------------------------------------------------------------- + function "sll" (l : STD_ULOGIC_VECTOR; r : INTEGER) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length) := (others => '0'); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "SLL" ; + begin + if r >= 0 then + result(1 to l'length - r) := lv(r + 1 to l'length); + else + result := l srl -r; + end if; + return result; + end function "sll"; + + ------------------------------------------------------------------- + -- srl + ------------------------------------------------------------------- + function "srl" (l : STD_ULOGIC_VECTOR; r : INTEGER) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length) := (others => '0'); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "SRL" ; + begin + if r >= 0 then + result(r + 1 to l'length) := lv(1 to l'length - r); + else + result := l sll -r; + end if; + return result; + end function "srl"; + + ------------------------------------------------------------------- + -- rol + ------------------------------------------------------------------- + function "rol" (l : STD_ULOGIC_VECTOR; r : INTEGER) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length); + constant rm : INTEGER := r mod l'length; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "ROL" ; + begin + if r >= 0 then + result(1 to l'length - rm) := lv(rm + 1 to l'length); + result(l'length - rm + 1 to l'length) := lv(1 to rm); + else + result := l ror -r; + end if; + return result; + end function "rol"; + + ------------------------------------------------------------------- + -- ror + ------------------------------------------------------------------- + function "ror" (l : STD_ULOGIC_VECTOR; r : INTEGER) + return STD_ULOGIC_VECTOR + is + alias lv : STD_ULOGIC_VECTOR (1 to l'length) is l; + variable result : STD_ULOGIC_VECTOR (1 to l'length) := (others => '0'); + constant rm : INTEGER := r mod l'length; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "ROR" ; + begin + if r >= 0 then + result(rm + 1 to l'length) := lv(1 to l'length - rm); + result(1 to rm) := lv(l'length - rm + 1 to l'length); + else + result := l rol -r; + end if; + return result; + end function "ror"; + + ------------------------------------------------------------------- + -- conversion tables + ------------------------------------------------------------------- + type logic_x01_table is array (STD_ULOGIC'low to STD_ULOGIC'high) of X01; + type logic_x01z_table is array (STD_ULOGIC'low to STD_ULOGIC'high) of X01Z; + type logic_ux01_table is array (STD_ULOGIC'low to STD_ULOGIC'high) of UX01; + ---------------------------------------------------------- + -- table name : cvt_to_x01 + -- + -- parameters : + -- in : std_ulogic -- some logic value + -- returns : x01 -- state value of logic value + -- purpose : to convert state-strength to state only + -- + -- example : if (cvt_to_x01 (input_signal) = '1' ) then ... + -- + ---------------------------------------------------------- + constant cvt_to_x01 : logic_x01_table := ( + 'X', -- 'U' + 'X', -- 'X' + '0', -- '0' + '1', -- '1' + 'X', -- 'Z' + 'X', -- 'W' + '0', -- 'L' + '1', -- 'H' + 'X' -- '-' + ); + + ---------------------------------------------------------- + -- table name : cvt_to_x01z + -- + -- parameters : + -- in : std_ulogic -- some logic value + -- returns : x01z -- state value of logic value + -- purpose : to convert state-strength to state only + -- + -- example : if (cvt_to_x01z (input_signal) = '1' ) then ... + -- + ---------------------------------------------------------- + constant cvt_to_x01z : logic_x01z_table := ( + 'X', -- 'U' + 'X', -- 'X' + '0', -- '0' + '1', -- '1' + 'Z', -- 'Z' + 'X', -- 'W' + '0', -- 'L' + '1', -- 'H' + 'X' -- '-' + ); + + ---------------------------------------------------------- + -- table name : cvt_to_ux01 + -- + -- parameters : + -- in : std_ulogic -- some logic value + -- returns : ux01 -- state value of logic value + -- purpose : to convert state-strength to state only + -- + -- example : if (cvt_to_ux01 (input_signal) = '1' ) then ... + -- + ---------------------------------------------------------- + constant cvt_to_ux01 : logic_ux01_table := ( + 'U', -- 'U' + 'X', -- 'X' + '0', -- '0' + '1', -- '1' + 'X', -- 'Z' + 'X', -- 'W' + '0', -- 'L' + '1', -- 'H' + 'X' -- '-' + ); + + ------------------------------------------------------------------- + -- conversion functions + ------------------------------------------------------------------- + function To_bit (s : STD_ULOGIC; xmap : BIT := '0') return BIT is + VARIABLE result : BIT ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case s is + when '0' | 'L' => result := ('0'); + when '1' | 'H' => result := ('1'); + when others => result := xmap; + end case; + RETURN result ; + end function To_bit; + -------------------------------------------------------------------- + function To_bitvector (s : STD_ULOGIC_VECTOR; xmap : BIT := '0') return BIT_VECTOR is + alias sv : STD_ULOGIC_VECTOR (s'length-1 downto 0) is s; + variable result : BIT_VECTOR (s'length-1 downto 0); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case sv(i) is + when '0' | 'L' => result(i) := '0'; + when '1' | 'H' => result(i) := '1'; + when others => result(i) := xmap; + end case; + end loop; + return result; + end function To_bitvector; + -------------------------------------------------------------------- + function To_StdULogic (b : BIT) return STD_ULOGIC is + VARIABLE result : std_ulogic ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case b is + when '0' => result := '0'; + when '1' => result := '1'; + end case; + RETURN result ; + end function To_StdULogic; + -------------------------------------------------------------------- + function To_StdLogicVector (b : BIT_VECTOR) + return STD_LOGIC_VECTOR + is + alias bv : BIT_VECTOR (b'length-1 downto 0) is b; + variable result : STD_LOGIC_VECTOR (b'length-1 downto 0); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case bv(i) is + when '0' => result(i) := '0'; + when '1' => result(i) := '1'; + end case; + end loop; + return result; + end function To_StdLogicVector; + -------------------------------------------------------------------- + function To_StdLogicVector (s : STD_ULOGIC_VECTOR) + return STD_LOGIC_VECTOR + is + alias sv : STD_ULOGIC_VECTOR (s'length-1 downto 0) is s; + variable result : STD_LOGIC_VECTOR (s'length-1 downto 0); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := sv(i); + end loop; + return result; + end function To_StdLogicVector; + -------------------------------------------------------------------- + function To_StdULogicVector (b : BIT_VECTOR) + return STD_ULOGIC_VECTOR + is + alias bv : BIT_VECTOR (b'length-1 downto 0) is b; + variable result : STD_ULOGIC_VECTOR (b'length-1 downto 0); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case bv(i) is + when '0' => result(i) := '0'; + when '1' => result(i) := '1'; + end case; + end loop; + return result; + end function To_StdULogicVector; + -------------------------------------------------------------------- + function To_StdULogicVector (s : STD_LOGIC_VECTOR) + return STD_ULOGIC_VECTOR + is + alias sv : STD_LOGIC_VECTOR (s'length-1 downto 0) is s; + variable result : STD_ULOGIC_VECTOR (s'length-1 downto 0); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := sv(i); + end loop; + return result; + end function To_StdULogicVector; + + ------------------------------------------------------------------- + -- strength strippers and type convertors + ------------------------------------------------------------------- + -- to_01 + ------------------------------------------------------------------- + function TO_01 (s : STD_ULOGIC_VECTOR; xmap : STD_ULOGIC := '0') + return STD_ULOGIC_VECTOR + is + variable RESULT : STD_ULOGIC_VECTOR(s'length-1 downto 0); + variable BAD_ELEMENT : BOOLEAN := false; + alias XS : STD_ULOGIC_VECTOR(s'length-1 downto 0) is s; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for I in RESULT'range loop + case XS(I) is + when '0' | 'L' => RESULT(I) := '0'; + when '1' | 'H' => RESULT(I) := '1'; + when others => BAD_ELEMENT := true; + end case; + end loop; + if BAD_ELEMENT then + for I in RESULT'range loop + RESULT(I) := XMAP; -- standard fixup + end loop; + end if; + return RESULT; + end function TO_01; + ------------------------------------------------------------------- + function TO_01 (s : STD_ULOGIC; xmap : STD_ULOGIC := '0') return STD_ULOGIC is + VARIABLE result : std_ulogic ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case s is + when '0' | 'L' => result := '0'; + when '1' | 'H' => result := '1'; + when others => result := xmap; + end case; + return RESULT; + end function TO_01; + ------------------------------------------------------------------- + function TO_01 (s : BIT_VECTOR; xmap : STD_ULOGIC := '0') + return STD_ULOGIC_VECTOR + is + variable RESULT : STD_ULOGIC_VECTOR(s'length-1 downto 0); + alias XS : BIT_VECTOR(s'length-1 downto 0) is s; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for I in RESULT'range loop + case XS(I) is + when '0' => RESULT(I) := '0'; + when '1' => RESULT(I) := '1'; + end case; + end loop; + return RESULT; + end function TO_01; + ------------------------------------------------------------------- + function TO_01 (s : BIT; xmap : STD_ULOGIC := '0') return STD_ULOGIC is + VARIABLE result : std_ulogic ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case s is + when '0' => result := '0'; + when '1' => result := '1'; + end case; + RETURN result ; + end function TO_01; + ------------------------------------------------------------------- + -- to_x01 + ------------------------------------------------------------------- + function To_X01 (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias sv : STD_ULOGIC_VECTOR (1 to s'length) is s; + variable result : STD_ULOGIC_VECTOR (1 to s'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := cvt_to_x01 (sv(i)); + end loop; + return result; + end function To_X01; + -------------------------------------------------------------------- + function To_X01 (s : STD_ULOGIC) return X01 is + VARIABLE result : X01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + result := (cvt_to_x01(s)); + return result ; + end function To_X01; + -------------------------------------------------------------------- + function To_X01 (b : BIT_VECTOR) return STD_ULOGIC_VECTOR is + alias bv : BIT_VECTOR (1 to b'length) is b; + variable result : STD_ULOGIC_VECTOR (1 to b'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case bv(i) is + when '0' => result(i) := '0'; + when '1' => result(i) := '1'; + end case; + end loop; + return result; + end function To_X01; + -------------------------------------------------------------------- + function To_X01 (b : BIT) return X01 is + VARIABLE result : X01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case b is + when '0' => result := ('0'); + when '1' => result := ('1'); + end case; + return result ; + end function To_X01; + -------------------------------------------------------------------- + -- to_x01z + ------------------------------------------------------------------- + function To_X01Z (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias sv : STD_ULOGIC_VECTOR (1 to s'length) is s; + variable result : STD_ULOGIC_VECTOR (1 to s'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := cvt_to_x01z (sv(i)); + end loop; + return result; + end function To_X01Z; + -------------------------------------------------------------------- + function To_X01Z (s : STD_ULOGIC) return X01Z is + VARIABLE result : X01Z ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + result := (cvt_to_x01z(s)); + return result ; + end function To_X01Z; + -------------------------------------------------------------------- + function To_X01Z (b : BIT_VECTOR) return STD_ULOGIC_VECTOR is + alias bv : BIT_VECTOR (1 to b'length) is b; + variable result : STD_ULOGIC_VECTOR (1 to b'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case bv(i) is + when '0' => result(i) := '0'; + when '1' => result(i) := '1'; + end case; + end loop; + return result; + end function To_X01Z; + -------------------------------------------------------------------- + function To_X01Z (b : BIT) return X01Z is + VARIABLE result : X01Z ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case b is + when '0' => result := ('0'); + when '1' => result := ('1'); + end case; + return result ; + end function To_X01Z; + -------------------------------------------------------------------- + -- to_ux01 + ------------------------------------------------------------------- + function To_UX01 (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR is + alias sv : STD_ULOGIC_VECTOR (1 to s'length) is s; + variable result : STD_ULOGIC_VECTOR (1 to s'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := cvt_to_ux01 (sv(i)); + end loop; + return result; + end function To_UX01; + -------------------------------------------------------------------- + function To_UX01 (s : STD_ULOGIC) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + result := (cvt_to_ux01(s)); + return result ; + end function To_UX01; + -------------------------------------------------------------------- + function To_UX01 (b : BIT_VECTOR) return STD_ULOGIC_VECTOR is + alias bv : BIT_VECTOR (1 to b'length) is b; + variable result : STD_ULOGIC_VECTOR (1 to b'length); + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + case bv(i) is + when '0' => result(i) := '0'; + when '1' => result(i) := '1'; + end case; + end loop; + return result; + end function To_UX01; + -------------------------------------------------------------------- + function To_UX01 (b : BIT) return UX01 is + VARIABLE result : UX01 ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + case b is + when '0' => result := ('0'); + when '1' => result := ('1'); + end case; + return result ; + end function To_UX01; + + function "??" (l : STD_ULOGIC) return BOOLEAN is + begin + return l = '1' or l = 'H'; + end function "??"; + + ------------------------------------------------------------------- + -- edge detection + ------------------------------------------------------------------- + function rising_edge (signal s : STD_ULOGIC) return BOOLEAN is + -- Verific synthesizes this function from the native source code + begin + return (s'event and (To_X01(s) = '1') and + (To_X01(s'last_value) = '0')); + end function rising_edge; + + function falling_edge (signal s : STD_ULOGIC) return BOOLEAN is + -- Verific synthesizes this function from the native source code + begin + return (s'event and (To_X01(s) = '0') and + (To_X01(s'last_value) = '1')); + end function falling_edge; + + ------------------------------------------------------------------- + -- object contains an unknown + ------------------------------------------------------------------- + function Is_X (s : STD_ULOGIC_VECTOR) return BOOLEAN is + -- Verific synthesizes this function from the native source code + begin + for i in s'range loop + case s(i) is + when 'U' | 'X' | 'Z' | 'W' | '-' => return true; + when others => null; + end case; + end loop; + return false; + end function Is_X; + -------------------------------------------------------------------- + function Is_X (s : STD_ULOGIC) return BOOLEAN is + -- Verific synthesizes this function from the native source code + begin + case s is + when 'U' | 'X' | 'Z' | 'W' | '-' => return true; + when others => null; + end case; + return false; + end function Is_X; + + ------------------------------------------------------------------- + -- string conversion and write operations + ------------------------------------------------------------------- + + function to_ostring (value : STD_ULOGIC_VECTOR) return STRING is + constant result_length : NATURAL := (value'length+2)/3; + variable pad : STD_ULOGIC_VECTOR(1 to result_length*3 - value'length); + variable padded_value : STD_ULOGIC_VECTOR(1 to result_length*3); + variable result : STRING(1 to result_length); + variable tri : STD_ULOGIC_VECTOR(1 to 3); + begin + if value (value'left) = 'Z' then + pad := (others => 'Z'); + else + pad := (others => '0'); + end if; + padded_value := pad & value; + for i in 1 to result_length loop + tri := To_X01Z(padded_value(3*i-2 to 3*i)); + case tri is + when o"0" => result(i) := '0'; + when o"1" => result(i) := '1'; + when o"2" => result(i) := '2'; + when o"3" => result(i) := '3'; + when o"4" => result(i) := '4'; + when o"5" => result(i) := '5'; + when o"6" => result(i) := '6'; + when o"7" => result(i) := '7'; + when "ZZZ" => result(i) := 'Z'; + when others => result(i) := 'X'; + end case; + end loop; + return result; + end function to_ostring; + + function to_hstring (value : STD_ULOGIC_VECTOR) return STRING is + constant result_length : NATURAL := (value'length+3)/4; + variable pad : STD_ULOGIC_VECTOR(1 to result_length*4 - value'length); + variable padded_value : STD_ULOGIC_VECTOR(1 to result_length*4); + variable result : STRING(1 to result_length); + variable quad : STD_ULOGIC_VECTOR(1 to 4); + begin + if value (value'left) = 'Z' then + pad := (others => 'Z'); + else + pad := (others => '0'); + end if; + padded_value := pad & value; + for i in 1 to result_length loop + quad := To_X01Z(padded_value(4*i-3 to 4*i)); + case quad is + when x"0" => result(i) := '0'; + when x"1" => result(i) := '1'; + when x"2" => result(i) := '2'; + when x"3" => result(i) := '3'; + when x"4" => result(i) := '4'; + when x"5" => result(i) := '5'; + when x"6" => result(i) := '6'; + when x"7" => result(i) := '7'; + when x"8" => result(i) := '8'; + when x"9" => result(i) := '9'; + when x"A" => result(i) := 'A'; + when x"B" => result(i) := 'B'; + when x"C" => result(i) := 'C'; + when x"D" => result(i) := 'D'; + when x"E" => result(i) := 'E'; + when x"F" => result(i) := 'F'; + when "ZZZZ" => result(i) := 'Z'; + when others => result(i) := 'X'; + end case; + end loop; + return result; + end function to_hstring; + + -- Type and constant definitions used to map STD_ULOGIC values + -- into/from character values. + type MVL9plus is ('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-', error); + type char_indexed_by_MVL9 is array (STD_ULOGIC) of CHARACTER; + type MVL9_indexed_by_char is array (CHARACTER) of STD_ULOGIC; + type MVL9plus_indexed_by_char is array (CHARACTER) of MVL9plus; + constant MVL9_to_char : char_indexed_by_MVL9 := "UX01ZWLH-"; + constant char_to_MVL9 : MVL9_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => 'U'); + constant char_to_MVL9plus : MVL9plus_indexed_by_char := + ('U' => 'U', 'X' => 'X', '0' => '0', '1' => '1', 'Z' => 'Z', + 'W' => 'W', 'L' => 'L', 'H' => 'H', '-' => '-', others => error); + + constant NBSP : CHARACTER := CHARACTER'val(160); -- space character + + -- purpose: Skips white space + procedure skip_whitespace ( + L : inout LINE) is + variable readOk : BOOLEAN; + variable c : CHARACTER; + begin + while L /= null and L.all'length /= 0 loop + if (L.all(1) = ' ' or L.all(1) = NBSP or L.all(1) = HT) then + read (l, c, readOk); + else + exit; + end if; + end loop; + end procedure skip_whitespace; + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC; + GOOD : out BOOLEAN) is + variable c : CHARACTER; + variable readOk : BOOLEAN; + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + VALUE := 'U'; -- initialize to a "U" + Skip_whitespace (L); + read (l, c, readOk); + if not readOk then + good := false; + else + if char_to_MVL9plus(c) = error then + good := false; + else + VALUE := char_to_MVL9(c); + good := true; + end if; + end if; + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; + GOOD : out BOOLEAN) is + variable m : STD_ULOGIC; + variable c : CHARACTER; + variable mv : STD_ULOGIC_VECTOR(0 to VALUE'length-1); + variable readOk : BOOLEAN; + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + read (l, c, readOk); + i := 0; + good := true; + while i < VALUE'length loop + if not readOk then -- Bail out if there was a bad read + good := false; + return; + elsif c = '_' then + if i = 0 then + good := false; -- Begins with an "_" + return; + elsif lastu then + good := false; -- "__" detected + return; + else + lastu := true; + end if; + elsif (char_to_MVL9plus(c) = error) then + good := false; -- Illegal character + return; + else + mv(i) := char_to_MVL9(c); + i := i + 1; + if i > mv'high then -- reading done + VALUE := mv; + return; + end if; + lastu := false; + end if; + read(L, c, readOk); + end loop; + else + good := true; -- read into a null array + end if; + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC) is + variable c : CHARACTER; + variable readOk : BOOLEAN; + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + VALUE := 'U'; -- initialize to a "U" + Skip_whitespace (L); + read (l, c, readOk); + if not readOk then + report "STD_LOGIC_1164.READ(STD_ULOGIC) " + & "End of string encountered" + severity error; + return; + elsif char_to_MVL9plus(c) = error then + report + "STD_LOGIC_1164.READ(STD_ULOGIC) Error: Character '" & + c & "' read, expected STD_ULOGIC literal." + severity error; + else + VALUE := char_to_MVL9(c); + end if; + end procedure READ; + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR) is + variable m : STD_ULOGIC; + variable c : CHARACTER; + variable readOk : BOOLEAN; + variable mv : STD_ULOGIC_VECTOR(0 to VALUE'length-1); + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then -- non Null input string + read (l, c, readOk); + i := 0; + while i < VALUE'length loop + if readOk = false then -- Bail out if there was a bad read + report "STD_LOGIC_1164.READ(STD_ULOGIC_VECTOR) " + & "End of string encountered" + severity error; + return; + elsif c = '_' then + if i = 0 then + report "STD_LOGIC_1164.READ(STD_ULOGIC_VECTOR) " + & "String begins with an ""_""" severity error; + return; + elsif lastu then + report "STD_LOGIC_1164.READ(STD_ULOGIC_VECTOR) " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + elsif char_to_MVL9plus(c) = error then + report + "STD_LOGIC_1164.READ(STD_ULOGIC_VECTOR) Error: Character '" & + c & "' read, expected STD_ULOGIC literal." + severity error; + return; + else + mv(i) := char_to_MVL9(c); + i := i + 1; + if i > mv'high then + VALUE := mv; + return; + end if; + lastu := false; + end if; + read(L, c, readOk); + end loop; + end if; + end procedure READ; + + procedure WRITE (L : inout LINE; VALUE : in STD_ULOGIC; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + write(l, MVL9_to_char(VALUE), justified, field); + end procedure WRITE; + + procedure WRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + variable s : STRING(1 to VALUE'length); + alias m : STD_ULOGIC_VECTOR(1 to VALUE'length) is VALUE; + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + for i in 1 to VALUE'length loop + s(i) := MVL9_to_char(m(i)); + end loop; + write(l, s, justified, field); + end procedure WRITE; + + procedure Char2TriBits (C : in CHARACTER; + RESULT : out STD_ULOGIC_VECTOR(2 downto 0); + GOOD : out BOOLEAN; + ISSUE_ERROR : in BOOLEAN) is + begin + case c is + when '0' => result := o"0"; good := true; + when '1' => result := o"1"; good := true; + when '2' => result := o"2"; good := true; + when '3' => result := o"3"; good := true; + when '4' => result := o"4"; good := true; + when '5' => result := o"5"; good := true; + when '6' => result := o"6"; good := true; + when '7' => result := o"7"; good := true; + when 'Z' => result := "ZZZ"; good := true; + when 'X' => result := "XXX"; good := true; + when others => + assert not ISSUE_ERROR + report + "STD_LOGIC_1164.OREAD Error: Read a '" & c & + "', expected an Octal character (0-7)." + severity error; + good := false; + end case; + end procedure Char2TriBits; + + procedure OREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; + GOOD : out BOOLEAN) is + variable ok : BOOLEAN; + variable c : CHARACTER; + constant ne : INTEGER := (VALUE'length+2)/3; + constant pad : INTEGER := ne*3 - VALUE'length; + variable sv : STD_ULOGIC_VECTOR(0 to ne*3 - 1); + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "oread" ; + -- verific synthesis oread + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + read (l, c, ok); + i := 0; + while i < ne loop + -- Bail out if there was a bad read + if not ok then + good := false; + return; + elsif c = '_' then + if i = 0 then + good := false; -- Begins with an "_" + return; + elsif lastu then + good := false; -- "__" detected + return; + else + lastu := true; + end if; + else + Char2TriBits(c, sv(3*i to 3*i+2), ok, false); + if not ok then + good := false; + return; + end if; + i := i + 1; + lastu := false; + end if; + if i < ne then + read(L, c, ok); + end if; + end loop; + if or (sv (0 to pad-1)) = '1' then + good := false; -- vector was truncated. + else + good := true; + VALUE := sv (pad to sv'high); + end if; + else + good := true; -- read into a null array + end if; + end procedure OREAD; + + procedure OREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR) is + variable c : CHARACTER; + variable ok : BOOLEAN; + constant ne : INTEGER := (VALUE'length+2)/3; + constant pad : INTEGER := ne*3 - VALUE'length; + variable sv : STD_ULOGIC_VECTOR(0 to ne*3 - 1); + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "oread" ; + -- verific synthesis oread + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + read (l, c, ok); + i := 0; + while i < ne loop + -- Bail out if there was a bad read + if not ok then + report "STD_LOGIC_1164.OREAD " + & "End of string encountered" + severity error; + return; + elsif c = '_' then + if i = 0 then + report "STD_LOGIC_1164.OREAD " + & "String begins with an ""_""" severity error; + return; + elsif lastu then + report "STD_LOGIC_1164.OREAD " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + else + Char2TriBits(c, sv(3*i to 3*i+2), ok, true); + if not ok then + return; + end if; + i := i + 1; + lastu := false; + end if; + if i < ne then + read(L, c, ok); + end if; + end loop; + if or (sv (0 to pad-1)) = '1' then + report "STD_LOGIC_1164.OREAD Vector truncated" + severity error; + else + VALUE := sv (pad to sv'high); + end if; + end if; + end procedure OREAD; + + procedure Char2QuadBits (C : CHARACTER; + RESULT : out STD_ULOGIC_VECTOR(3 downto 0); + GOOD : out BOOLEAN; + ISSUE_ERROR : in BOOLEAN) is + begin + case c is + when '0' => result := x"0"; good := true; + when '1' => result := x"1"; good := true; + when '2' => result := x"2"; good := true; + when '3' => result := x"3"; good := true; + when '4' => result := x"4"; good := true; + when '5' => result := x"5"; good := true; + when '6' => result := x"6"; good := true; + when '7' => result := x"7"; good := true; + when '8' => result := x"8"; good := true; + when '9' => result := x"9"; good := true; + when 'A' | 'a' => result := x"A"; good := true; + when 'B' | 'b' => result := x"B"; good := true; + when 'C' | 'c' => result := x"C"; good := true; + when 'D' | 'd' => result := x"D"; good := true; + when 'E' | 'e' => result := x"E"; good := true; + when 'F' | 'f' => result := x"F"; good := true; + when 'Z' => result := "ZZZZ"; good := true; + when 'X' => result := "XXXX"; good := true; + when others => + assert not ISSUE_ERROR + report + "STD_LOGIC_1164.HREAD Error: Read a '" & c & + "', expected a Hex character (0-F)." + severity error; + good := false; + end case; + end procedure Char2QuadBits; + + procedure HREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; + GOOD : out BOOLEAN) is + variable ok : BOOLEAN; + variable c : CHARACTER; + constant ne : INTEGER := (VALUE'length+3)/4; + constant pad : INTEGER := ne*4 - VALUE'length; + variable sv : STD_ULOGIC_VECTOR(0 to ne*4 - 1); + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "hread" ; + -- verific synthesis hread + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then + read (l, c, ok); + i := 0; + while i < ne loop + -- Bail out if there was a bad read + if not ok then + good := false; + return; + elsif c = '_' then + if i = 0 then + good := false; -- Begins with an "_" + return; + elsif lastu then + good := false; -- "__" detected + return; + else + lastu := true; + end if; + else + Char2QuadBits(c, sv(4*i to 4*i+3), ok, false); + if not ok then + good := false; + return; + end if; + i := i + 1; + lastu := false; + end if; + if i < ne then + read(L, c, ok); + end if; + end loop; + if or (sv (0 to pad-1)) = '1' then + good := false; -- vector was truncated. + else + good := true; + VALUE := sv (pad to sv'high); + end if; + else + good := true; -- Null input string, skips whitespace + end if; + end procedure HREAD; + + procedure HREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR) is + variable ok : BOOLEAN; + variable c : CHARACTER; + constant ne : INTEGER := (VALUE'length+3)/4; + constant pad : INTEGER := ne*4 - VALUE'length; + variable sv : STD_ULOGIC_VECTOR(0 to ne*4 - 1); + variable i : INTEGER; + variable lastu : BOOLEAN := false; -- last character was an "_" + ATTRIBUTE synthesis_return OF L:variable IS "hread" ; + -- verific synthesis hread + begin + VALUE := (VALUE'range => 'U'); -- initialize to a "U" + Skip_whitespace (L); + if VALUE'length > 0 then -- non Null input string + read (l, c, ok); + i := 0; + while i < ne loop + -- Bail out if there was a bad read + if not ok then + report "STD_LOGIC_1164.HREAD " + & "End of string encountered" + severity error; + return; + end if; + if c = '_' then + if i = 0 then + report "STD_LOGIC_1164.HREAD " + & "String begins with an ""_""" severity error; + return; + elsif lastu then + report "STD_LOGIC_1164.HREAD " + & "Two underscores detected in input string ""__""" + severity error; + return; + else + lastu := true; + end if; + else + Char2QuadBits(c, sv(4*i to 4*i+3), ok, true); + if not ok then + return; + end if; + i := i + 1; + lastu := false; + end if; + if i < ne then + read(L, c, ok); + end if; + end loop; + if or (sv (0 to pad-1)) = '1' then + report "STD_LOGIC_1164.HREAD Vector truncated" + severity error; + else + VALUE := sv (pad to sv'high); + end if; + end if; + end procedure HREAD; + + procedure OWRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "owrite" ; + -- verific synthesis owrite + begin + write (L, to_ostring(VALUE), JUSTIFIED, FIELD); + end procedure OWRITE; + + procedure HWRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "hwrite" ; + -- verific synthesis hwrite + begin + write (L, to_hstring (VALUE), JUSTIFIED, FIELD); + end procedure HWRITE; + + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + + ------------------------------------------------------------------- + FUNCTION "and" ( l,r : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + ALIAS rv : std_logic_vector_93 ( 1 TO r'LENGTH ) IS r ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "AND" ; + BEGIN + IF ( l'LENGTH /= r'LENGTH ) THEN + ASSERT FALSE + REPORT "arguments of overloaded 'and' operator are not of the same length" + SEVERITY FAILURE ; + ELSE + FOR i IN result'RANGE LOOP + result(i) := and_table (lv(i), rv(i)) ; + END LOOP ; + END IF ; + RETURN result ; + END "and" ; + ------------------------------------------------------------------- + FUNCTION "nand" ( l,r : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + ALIAS rv : std_logic_vector_93 ( 1 TO r'LENGTH ) IS r ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NAND" ; + BEGIN + IF ( l'LENGTH /= r'LENGTH ) THEN + ASSERT FALSE + REPORT "arguments of overloaded 'nand' operator are not of the same length" + SEVERITY FAILURE ; + ELSE + FOR i IN result'RANGE LOOP + result(i) := not_table(and_table (lv(i), rv(i))) ; + END LOOP ; + END IF ; + RETURN result ; + END "nand" ; + ------------------------------------------------------------------- + FUNCTION "or" ( l,r : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + ALIAS rv : std_logic_vector_93 ( 1 TO r'LENGTH ) IS r ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "OR" ; + BEGIN + IF ( l'LENGTH /= r'LENGTH ) THEN + ASSERT FALSE + REPORT "arguments of overloaded 'or' operator are not of the same length" + SEVERITY FAILURE ; + ELSE + FOR i IN result'RANGE LOOP + result(i) := or_table (lv(i), rv(i)) ; + END LOOP ; + END IF ; + RETURN result ; + END "or" ; + ------------------------------------------------------------------- + FUNCTION "nor" ( l,r : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + ALIAS rv : std_logic_vector_93 ( 1 TO r'LENGTH ) IS r ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOR" ; + BEGIN + IF ( l'LENGTH /= r'LENGTH ) THEN + ASSERT FALSE + REPORT "arguments of overloaded 'nor' operator are not of the same length" + SEVERITY FAILURE ; + ELSE + FOR i IN result'RANGE LOOP + result(i) := not_table(or_table (lv(i), rv(i))) ; + END LOOP ; + END IF ; + RETURN result ; + END "nor" ; + ------------------------------------------------------------------- + FUNCTION "xor" ( l,r : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + ALIAS rv : std_logic_vector_93 ( 1 TO r'LENGTH ) IS r ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XOR" ; + BEGIN + IF ( l'LENGTH /= r'LENGTH ) THEN + ASSERT FALSE + REPORT "arguments of overloaded 'xor' operator are not of the same length" + SEVERITY FAILURE ; + ELSE + FOR i IN result'RANGE LOOP + result(i) := xor_table (lv(i), rv(i)) ; + END LOOP ; + END IF ; + RETURN result ; + END "xor" ; + ----------------------------------------------------------------------- + function "xnor" ( l,r : std_logic_vector_93 ) return std_logic_vector_93 is + alias lv : std_logic_vector_93 ( 1 to l'length ) is l ; + alias rv : std_logic_vector_93 ( 1 to r'length ) is r ; + variable result : std_logic_vector_93 ( 1 to l'length ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "XNOR" ; + begin + if ( l'length /= r'length ) then + assert false + report "arguments of overloaded 'xnor' operator are not of the same length" + severity failure ; + else + for i in result'range loop + result(i) := not_table(xor_table (lv(i), rv(i))) ; + end loop ; + end if ; + return result ; + end "xnor" ; + ------------------------------------------------------------------- + FUNCTION "not" ( l : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS lv : std_logic_vector_93 ( 1 TO l'LENGTH ) IS l ; + VARIABLE result : std_logic_vector_93 ( 1 TO l'LENGTH ) := (OTHERS => 'X') ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "NOT" ; + BEGIN + FOR i IN result'RANGE LOOP + result(i) := not_table( lv(i) ) ; + END LOOP ; + RETURN result ; + END ; + -------------------------------------------------------------------- + FUNCTION To_bitvector ( s : std_logic_vector_93 ; xmap : BIT := '0') RETURN BIT_VECTOR IS + ALIAS sv : std_logic_vector_93 ( s'LENGTH-1 DOWNTO 0 ) IS s ; + VARIABLE result : BIT_VECTOR ( s'LENGTH-1 DOWNTO 0 ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + CASE sv(i) IS + WHEN '0' | 'L' => result(i) := '0' ; + WHEN '1' | 'H' => result(i) := '1' ; + WHEN OTHERS => result(i) := xmap ; + END CASE ; + END LOOP ; + RETURN result ; + END ; + ------------------------------------------------------------------- + FUNCTION To_X01 ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS sv : std_logic_vector_93 ( 1 TO s'LENGTH ) IS s ; + VARIABLE result : std_logic_vector_93 ( 1 TO s'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + result(i) := cvt_to_x01 (sv(i)) ; + END LOOP ; + RETURN result ; + END ; + -------------------------------------------------------------------- + FUNCTION To_X01 ( b : BIT_VECTOR ) RETURN std_logic_vector_93 IS + ALIAS bv : BIT_VECTOR ( 1 TO b'LENGTH ) IS b ; + VARIABLE result : std_logic_vector_93 ( 1 TO b'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + CASE bv(i) IS + WHEN '0' => result(i) := '0' ; + WHEN '1' => result(i) := '1' ; + END CASE ; + END LOOP ; + RETURN result ; + END ; + ------------------------------------------------------------------- + FUNCTION To_X01Z ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS sv : std_logic_vector_93 ( 1 TO s'LENGTH ) IS s ; + VARIABLE result : std_logic_vector_93 ( 1 TO s'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + result(i) := cvt_to_x01z (sv(i)) ; + END LOOP ; + RETURN result ; + END ; + -------------------------------------------------------------------- + FUNCTION To_X01Z ( b : BIT_VECTOR ) RETURN std_logic_vector_93 IS + ALIAS bv : BIT_VECTOR ( 1 TO b'LENGTH ) IS b ; + VARIABLE result : std_logic_vector_93 ( 1 TO b'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + CASE bv(i) IS + WHEN '0' => result(i) := '0' ; + WHEN '1' => result(i) := '1' ; + END CASE ; + END LOOP ; + RETURN result ; + END ; + ------------------------------------------------------------------- + FUNCTION To_UX01 ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 IS + ALIAS sv : std_logic_vector_93 ( 1 TO s'LENGTH ) IS s ; + VARIABLE result : std_logic_vector_93 ( 1 TO s'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + result(i) := cvt_to_ux01 (sv(i)) ; + END LOOP ; + RETURN result ; + END ; + -------------------------------------------------------------------- + FUNCTION To_UX01 ( b : BIT_VECTOR ) RETURN std_logic_vector_93 IS + ALIAS bv : BIT_VECTOR ( 1 TO b'LENGTH ) IS b ; + VARIABLE result : std_logic_vector_93 ( 1 TO b'LENGTH ) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + BEGIN + FOR i IN result'RANGE LOOP + CASE bv(i) IS + WHEN '0' => result(i) := '0' ; + WHEN '1' => result(i) := '1' ; + END CASE ; + END LOOP ; + RETURN result ; + END ; + -------------------------------------------------------------------- + FUNCTION Is_X ( s : std_logic_vector_93 ) RETURN BOOLEAN IS + -- Verific synthesizes this function from the native source code + VARIABLE result : std_logic_vector_93 ( 1 TO s'LENGTH ) ; + BEGIN + FOR i IN s'RANGE LOOP + CASE s(i) IS + WHEN 'U' | 'X' | 'Z' | 'W' | '-' => RETURN TRUE ; + WHEN OTHERS => NULL ; + END CASE ; + END LOOP ; + RETURN FALSE ; + END ; + -------------------------------------------------------------------- + function To_StdULogicVector (s : STD_LOGIC_VECTOR_93) return STD_ULOGIC_VECTOR is + alias sv : STD_LOGIC_VECTOR_93 (s'length-1 downto 0) is s ; + variable result : STD_ULOGIC_VECTOR (s'length-1 downto 0) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := sv(i) ; + end loop ; + return result ; + end function To_StdULogicVector ; + -------------------------------------------------------------------- + function To_StdLogicVector (s : STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR_93 is + alias sv : STD_ULOGIC_VECTOR (s'length-1 downto 0) is s ; + variable result : STD_LOGIC_VECTOR_93 (s'length-1 downto 0) ; + ATTRIBUTE synthesis_return OF result:VARIABLE IS "FEED_THROUGH" ; + begin + for i in result'range loop + result(i) := sv(i) ; + end loop ; + return result ; + end function To_StdLogicVector ; + -------------------------------------------------------------------- + procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + READ(L, value_temp) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure READ ; + -------------------------------------------------------------------- + procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + READ(L, value_temp, GOOD) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure READ ; + -------------------------------------------------------------------- + procedure WRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0) is + begin + WRITE(L, To_StdULogicVector(VALUE), JUSTIFIED, FIELD) ; + end procedure WRITE ; + -------------------------------------------------------------------- + + procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + HREAD(L, value_temp) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure HREAD ; + -------------------------------------------------------------------- + procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + HREAD(L, value_temp, GOOD) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure HREAD ; + -------------------------------------------------------------------- + procedure HWRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0) is + begin + HWRITE(L, To_StdULogicVector(VALUE), JUSTIFIED, FIELD) ; + end procedure HWRITE ; + -------------------------------------------------------------------- + + procedure OREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + OREAD(L, value_temp) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure OREAD ; + -------------------------------------------------------------------- + procedure OREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN) is + variable value_temp : STD_ULOGIC_VECTOR (VALUE'length-1 downto 0) ; + begin + OREAD(L, value_temp, GOOD) ; + VALUE := To_StdLogicVector(value_temp) ; + end procedure OREAD ; + -------------------------------------------------------------------- + procedure OWRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0) is + begin + OWRITE(L, To_StdULogicVector(VALUE), JUSTIFIED, FIELD) ; + end procedure OWRITE ; + -------------------------------------------------------------------- + + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + +end package body std_logic_1164; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl new file mode 100644 index 0000000..cb5b9d6 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl @@ -0,0 +1,369 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of This +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- Title : Standard multivalue logic package +-- : (STD_LOGIC_1164 package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: IEEE model standards group (PAR 1164), +-- : Accellera VHDL-TC, and IEEE P1076 Working Group +-- : +-- Purpose : This packages defines a standard for designers +-- : to use in describing the interconnection data types +-- : used in vhdl modeling. +-- : +-- Limitation: The logic system defined in this package may +-- : be insufficient for modeling switched transistors, +-- : since such a requirement is out of the scope of this +-- : effort. Furthermore, mathematics, primitives, +-- : timing standards, etc. are considered orthogonal +-- : issues as it relates to this package and are therefore +-- : beyond the scope of this effort. +-- : +-- Note : This package may be modified to include additional data +-- : required by tools, but it must in no way change the +-- : external interfaces or simulation behavior of the +-- : description. It is permissible to add comments and/or +-- : attributes to the package declarations, but not to change +-- : or delete any original lines of the package declaration. +-- : The package body may be changed only in accordance with +-- : the terms of Clause 16 of this standard. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1.5 $ +-- $Date: 2016/04/08 07:56:22 $ +-- -------------------------------------------------------------------- + +use STD.TEXTIO.all; + +package std_logic_1164 is + + ------------------------------------------------------------------- + -- logic state system (unresolved) + ------------------------------------------------------------------- + type STD_ULOGIC is ( 'U', -- Uninitialized + 'X', -- Forcing Unknown + '0', -- Forcing 0 + '1', -- Forcing 1 + 'Z', -- High Impedance + 'W', -- Weak Unknown + 'L', -- Weak 0 + 'H', -- Weak 1 + '-' -- Don't care + ); + + ------------------------------------------------------------------- + -- Directives for synthesis of std_ulogic. + -- Declare the type encoding attribute and set the value for std_ulogic + -- Directives for the resolution function and all other function are + -- in the package body + ------------------------------------------------------------------- + ATTRIBUTE logic_type_encoding : string ; + ATTRIBUTE logic_type_encoding of std_ulogic:type is + -- ('U','X','0','1','Z','W','L','H','-') + ('X','X','0','1','Z','X','0','1','X') ; + + ------------------------------------------------------------------- + -- Declare the synthesis-directive attribute; to be set on + -- basic functions that are difficult for synthesis + ------------------------------------------------------------------- + ATTRIBUTE synthesis_return : string ; + ATTRIBUTE is_signed : boolean ; + + ------------------------------------------------------------------- + -- unconstrained array of std_ulogic for use with the resolution function + -- and for use in declaring signal arrays of unresolved elements + ------------------------------------------------------------------- + type STD_ULOGIC_VECTOR is array (NATURAL range <>) of STD_ULOGIC; + + ------------------------------------------------------------------- + -- resolution function + ------------------------------------------------------------------- + function resolved (s : STD_ULOGIC_VECTOR) return STD_ULOGIC; + + + ------------------------------------------------------------------- + -- logic state system (resolved) + ------------------------------------------------------------------- + subtype STD_LOGIC is resolved STD_ULOGIC; + + -- Xilinx begin (160405) + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + type STD_LOGIC_VECTOR_93 is array (NATURAL range <>) of STD_LOGIC ; + -- Xilinx end (160405) + ------------------------------------------------------------------- + -- unconstrained array of resolved std_ulogic for use in declaring + -- signal arrays of resolved elements + ------------------------------------------------------------------- + subtype STD_LOGIC_VECTOR is (resolved) STD_ULOGIC_VECTOR; + + ------------------------------------------------------------------- + -- common subtypes + ------------------------------------------------------------------- + subtype X01 is resolved STD_ULOGIC range 'X' to '1'; -- ('X','0','1') + subtype X01Z is resolved STD_ULOGIC range 'X' to 'Z'; -- ('X','0','1','Z') + subtype UX01 is resolved STD_ULOGIC range 'U' to '1'; -- ('U','X','0','1') + subtype UX01Z is resolved STD_ULOGIC range 'U' to 'Z'; -- ('U','X','0','1','Z') + + ------------------------------------------------------------------- + -- overloaded logical operators + ------------------------------------------------------------------- + + function "and" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "nand" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "or" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "nor" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "xor" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "xnor" (l : STD_ULOGIC; r : STD_ULOGIC) return UX01; + function "not" (l : STD_ULOGIC) return UX01; + + ------------------------------------------------------------------- + -- vectorized overloaded logical operators + ------------------------------------------------------------------- + function "and" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "nand" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "or" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "nor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "xor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "xnor" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function "not" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "and" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "and" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "nand" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "nand" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "or" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "or" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "nor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "nor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "xor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "xor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "xnor" (l : STD_ULOGIC_VECTOR; r : STD_ULOGIC) return STD_ULOGIC_VECTOR; + function "xnor" (l : STD_ULOGIC; r : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + function "and" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + function "nand" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + function "or" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + function "nor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + function "xor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + function "xnor" (l : STD_ULOGIC_VECTOR) return STD_ULOGIC; + + ------------------------------------------------------------------- + -- shift operators + ------------------------------------------------------------------- + + function "sll" (l : STD_ULOGIC_VECTOR; r : INTEGER) return STD_ULOGIC_VECTOR; + function "srl" (l : STD_ULOGIC_VECTOR; r : INTEGER) return STD_ULOGIC_VECTOR; + function "rol" (l : STD_ULOGIC_VECTOR; r : INTEGER) return STD_ULOGIC_VECTOR; + function "ror" (l : STD_ULOGIC_VECTOR; r : INTEGER) return STD_ULOGIC_VECTOR; + + ------------------------------------------------------------------- + -- conversion functions + ------------------------------------------------------------------- + function To_bit (s : STD_ULOGIC; xmap : BIT := '0') return BIT; + function To_bitvector (s : STD_ULOGIC_VECTOR; xmap : BIT := '0') return BIT_VECTOR; + + function To_StdULogic (b : BIT) return STD_ULOGIC; + function To_StdLogicVector (b : BIT_VECTOR) return STD_LOGIC_VECTOR; + function To_StdLogicVector (s : STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR; + function To_StdULogicVector (b : BIT_VECTOR) return STD_ULOGIC_VECTOR; + function To_StdULogicVector (s : STD_LOGIC_VECTOR) return STD_ULOGIC_VECTOR; + + alias To_Bit_Vector is + To_bitvector[STD_ULOGIC_VECTOR, BIT return BIT_VECTOR]; + alias To_BV is + To_bitvector[STD_ULOGIC_VECTOR, BIT return BIT_VECTOR]; + + alias To_Std_Logic_Vector is + To_StdLogicVector[BIT_VECTOR return STD_LOGIC_VECTOR]; + alias To_SLV is + To_StdLogicVector[BIT_VECTOR return STD_LOGIC_VECTOR]; + + alias To_Std_Logic_Vector is + To_StdLogicVector[STD_ULOGIC_VECTOR return STD_LOGIC_VECTOR]; + alias To_SLV is + To_StdLogicVector[STD_ULOGIC_VECTOR return STD_LOGIC_VECTOR]; + + alias To_Std_ULogic_Vector is + To_StdULogicVector[BIT_VECTOR return STD_ULOGIC_VECTOR]; + alias To_SULV is + To_StdULogicVector[BIT_VECTOR return STD_ULOGIC_VECTOR]; + + alias To_Std_ULogic_Vector is + To_StdULogicVector[STD_LOGIC_VECTOR return STD_ULOGIC_VECTOR]; + alias To_SULV is + To_StdULogicVector[STD_LOGIC_VECTOR return STD_ULOGIC_VECTOR]; + + ------------------------------------------------------------------- + -- strength strippers and type convertors + ------------------------------------------------------------------- + + function TO_01 (s : STD_ULOGIC_VECTOR; xmap : STD_ULOGIC := '0') + return STD_ULOGIC_VECTOR; + function TO_01 (s : STD_ULOGIC; xmap : STD_ULOGIC := '0') + return STD_ULOGIC; + function TO_01 (s : BIT_VECTOR; xmap : STD_ULOGIC := '0') + return STD_ULOGIC_VECTOR; + function TO_01 (s : BIT; xmap : STD_ULOGIC := '0') + return STD_ULOGIC; + + function To_X01 (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function To_X01 (s : STD_ULOGIC) return X01; + function To_X01 (b : BIT_VECTOR) return STD_ULOGIC_VECTOR; + function To_X01 (b : BIT) return X01; + + function To_X01Z (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function To_X01Z (s : STD_ULOGIC) return X01Z; + function To_X01Z (b : BIT_VECTOR) return STD_ULOGIC_VECTOR; + function To_X01Z (b : BIT) return X01Z; + + function To_UX01 (s : STD_ULOGIC_VECTOR) return STD_ULOGIC_VECTOR; + function To_UX01 (s : STD_ULOGIC) return UX01; + function To_UX01 (b : BIT_VECTOR) return STD_ULOGIC_VECTOR; + function To_UX01 (b : BIT) return UX01; + + function "??" (l : STD_ULOGIC) return BOOLEAN; + + ------------------------------------------------------------------- + -- edge detection + ------------------------------------------------------------------- + function rising_edge (signal s : STD_ULOGIC) return BOOLEAN; + function falling_edge (signal s : STD_ULOGIC) return BOOLEAN; + + ------------------------------------------------------------------- + -- object contains an unknown + ------------------------------------------------------------------- + function Is_X (s : STD_ULOGIC_VECTOR) return BOOLEAN; + function Is_X (s : STD_ULOGIC) return BOOLEAN; + + ------------------------------------------------------------------- + -- matching relational operators + ------------------------------------------------------------------- + -- the following operations are predefined + + -- function "?=" (l, r : STD_ULOGIC) return STD_ULOGIC; + -- function "?=" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC; + + -- function "?/=" (l, r : STD_ULOGIC) return STD_ULOGIC; + -- function "?/=" (l, r : STD_ULOGIC_VECTOR) return STD_ULOGIC; + + -- function "?<" (l, r : STD_ULOGIC) return STD_ULOGIC; + -- function "?<=" (l, r : STD_ULOGIC) return STD_ULOGIC; + -- function "?>" (l, r : STD_ULOGIC) return STD_ULOGIC; + -- function "?>=" (l, r : STD_ULOGIC) return STD_ULOGIC; + + ------------------------------------------------------------------- + -- string conversion and write operations + ------------------------------------------------------------------- + -- the following operations are predefined + + -- function to_string (value : STD_ULOGIC) return STRING; + -- function to_string (value : STD_ULOGIC_VECTOR) return STRING; + + -- explicitly defined operations + + alias TO_BSTRING is TO_STRING [STD_ULOGIC_VECTOR return STRING]; + alias TO_BINARY_STRING is TO_STRING [STD_ULOGIC_VECTOR return STRING]; + function TO_OSTRING (VALUE : STD_ULOGIC_VECTOR) return STRING; + alias TO_OCTAL_STRING is TO_OSTRING [STD_ULOGIC_VECTOR return STRING]; + function TO_HSTRING (VALUE : STD_ULOGIC_VECTOR) return STRING; + alias TO_HEX_STRING is TO_HSTRING [STD_ULOGIC_VECTOR return STRING]; + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC; GOOD : out BOOLEAN); + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC); + + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; GOOD : out BOOLEAN); + procedure READ (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR); + + procedure WRITE (L : inout LINE; VALUE : in STD_ULOGIC; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + procedure WRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + + alias BREAD is READ [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias BREAD is READ [LINE, STD_ULOGIC_VECTOR]; + alias BINARY_READ is READ [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias BINARY_READ is READ [LINE, STD_ULOGIC_VECTOR]; + + procedure OREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; GOOD : out BOOLEAN); + procedure OREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR); + alias OCTAL_READ is OREAD [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, STD_ULOGIC_VECTOR]; + + procedure HREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR; GOOD : out BOOLEAN); + procedure HREAD (L : inout LINE; VALUE : out STD_ULOGIC_VECTOR); + alias HEX_READ is HREAD [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias HEX_READ is HREAD [LINE, STD_ULOGIC_VECTOR]; + + alias BWRITE is WRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + alias BINARY_WRITE is WRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + + procedure OWRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + alias OCTAL_WRITE is OWRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + + procedure HWRITE (L : inout LINE; VALUE : in STD_ULOGIC_VECTOR; + JUSTIFIED : in SIDE := right; FIELD : in WIDTH := 0); + alias HEX_WRITE is HWRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + -- Xilinx begin (160405) + -- type STD_LOGIC_VECTOR_93 is array (NATURAL range <>) of STD_LOGIC ; + -- Xilinx end (160405) + + -- Viper #10710: Following two are redundant. To_StdULogicVector and + -- To_StdLogicVector already declared before w.r.t. STD_LOGIC_VECTOR + -- function To_StdULogicVector (s : STD_LOGIC_VECTOR_93) return STD_ULOGIC_VECTOR; + -- function To_StdLogicVector (s : STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR_93; + + FUNCTION "and" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "nand" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "or" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "nor" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "xor" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "xnor" ( l, r : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION "not" ( l : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION To_bitvector ( s : std_logic_vector_93 ; xmap : BIT := '0') RETURN BIT_VECTOR ; + FUNCTION To_X01 ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION To_X01 ( b : BIT_VECTOR ) RETURN std_logic_vector_93 ; + FUNCTION To_X01Z ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION To_X01Z ( b : BIT_VECTOR ) RETURN std_logic_vector_93 ; + FUNCTION To_UX01 ( s : std_logic_vector_93 ) RETURN std_logic_vector_93 ; + FUNCTION To_UX01 ( b : BIT_VECTOR ) RETURN std_logic_vector_93 ; + FUNCTION Is_X ( s : std_logic_vector_93 ) RETURN BOOLEAN ; + + -- Read and Write procedures for STD_LOGIC_VECTOR_93 + procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93); + procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN); + procedure WRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); + + procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93); + procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN); + procedure HWRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); + + procedure OREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93); + procedure OREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR_93; GOOD: out BOOLEAN); + procedure OWRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR_93; + JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0); + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + +end package std_logic_1164; diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl new file mode 100644 index 0000000..f3a8d61 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl @@ -0,0 +1,66 @@ +-- -------------------------------------------------------------------- +-- +-- Copyright 2008 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076-2008, +-- IEEE Standard VHDL Language Reference Manual. Verbatim copies of This +-- source file may be used and distributed without restriction. +-- Modifications to this source file as permitted in IEEE Std 1076-2008 +-- may also be made and distributed. All other uses require permission +-- from the IEEE Standards Department(stds-ipr@ieee.org). +-- All other rights reserved. +-- +-- Title : Standard multivalue logic package +-- : (STD_LOGIC_TEXTIO package declaration) +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers: Accellera VHDL-TC and IEEE P1076 Working Group +-- : +-- Purpose : This packages is provided as a replacement for non-standard +-- : implementations of the package provided by implementers of +-- : previous versions of this standard. The declarations that +-- : appeared in those non-standard implementations appear in the +-- : package STD_LOGIC_1164 in this standard. +-- : +-- Note : No declarations or definitions shall be included in, +-- : or excluded from this package. +-- : +-- -------------------------------------------------------------------- +-- $Revision: 1.3 $ +-- $Date: 2016/04/07 08:10:20 $ +-- -------------------------------------------------------------------- +library ieee ; -- RD added. +use STD.TEXTIO.all; +use IEEE.std_logic_1164.all; + +PACKAGE std_logic_textio IS + + alias READ is IEEE.std_logic_1164.READ [LINE, STD_ULOGIC]; + alias READ is IEEE.std_logic_1164.READ [LINE, STD_ULOGIC, BOOLEAN]; + alias READ is IEEE.std_logic_1164.READ [LINE, STD_ULOGIC_VECTOR]; + alias READ is IEEE.std_logic_1164.READ [LINE, STD_LOGIC_VECTOR_93]; + alias READ is IEEE.std_logic_1164.READ [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias READ is IEEE.std_logic_1164.READ [LINE, STD_LOGIC_VECTOR_93, BOOLEAN]; + alias WRITE is IEEE.std_logic_1164.WRITE [LINE, STD_ULOGIC, SIDE, WIDTH]; + alias WRITE is IEEE.std_logic_1164.WRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + alias WRITE is IEEE.std_logic_1164.WRITE [LINE, STD_LOGIC_VECTOR_93, SIDE, WIDTH]; + + alias HREAD is IEEE.std_logic_1164.HREAD [LINE, STD_ULOGIC_VECTOR]; + alias HREAD is IEEE.std_logic_1164.HREAD [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias HWRITE is IEEE.std_logic_1164.HWRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + + alias HREAD is IEEE.std_logic_1164.HREAD [LINE, STD_LOGIC_VECTOR_93]; + alias HREAD is IEEE.std_logic_1164.HREAD [LINE, STD_LOGIC_VECTOR_93, BOOLEAN]; + alias HWRITE is IEEE.std_logic_1164.HWRITE [LINE, STD_LOGIC_VECTOR_93, SIDE, WIDTH]; + + alias OREAD is IEEE.std_logic_1164.OREAD [LINE, STD_ULOGIC_VECTOR]; + alias OREAD is IEEE.std_logic_1164.OREAD [LINE, STD_ULOGIC_VECTOR, BOOLEAN]; + alias OWRITE is IEEE.std_logic_1164.OWRITE [LINE, STD_ULOGIC_VECTOR, SIDE, WIDTH]; + + alias OREAD is IEEE.std_logic_1164.OREAD [LINE, STD_LOGIC_VECTOR_93]; + alias OREAD is IEEE.std_logic_1164.OREAD [LINE, STD_LOGIC_VECTOR_93, BOOLEAN]; + alias OWRITE is IEEE.std_logic_1164.OWRITE [LINE, STD_LOGIC_VECTOR_93, SIDE, WIDTH]; + +END PACKAGE std_logic_textio; diff --git a/resources/dide-lsp/static/vhdl_std_lib/std/env.vhd b/resources/dide-lsp/static/vhdl_std_lib/std/env.vhd new file mode 100644 index 0000000..abbf201 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std/env.vhd @@ -0,0 +1,11 @@ +-- Package env as defined by IEEE 1076-2008 + +package env is + procedure stop(status : integer); + procedure stop; + + procedure finish(status : integer); + procedure finish; + + function resolution_limit return delay_length; +end package; diff --git a/resources/dide-lsp/static/vhdl_std_lib/std/standard.vhd b/resources/dide-lsp/static/vhdl_std_lib/std/standard.vhd new file mode 100644 index 0000000..e60cc2d --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std/standard.vhd @@ -0,0 +1,94 @@ +-- Package standard as defined by IEEE 1076-2008 + +package standard is + + -- Predefined enumeration types: + type BOOLEAN is (FALSE, TRUE); + type BIT is ('0', '1'); + + type CHARACTER is ( + NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, + BS, HT, LF, VT, FF, CR, SO, SI, + DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, + CAN, EM, SUB, ESC, FSP, GSP, RSP, USP, + + ' ', '!', '"', '#', '$', '%', '&', ''', + '(', ')', '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', ':', ';', '<', '=', '>', '?', + + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', + 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', + 'X', 'Y', 'Z', '[', '\', ']', '^', '_', + + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', + 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', + 'x', 'y', 'z', '{', '|', '}', '~', DEL, + + C128, C129, C130, C131, C132, C133, C134, C135, + C136, C137, C138, C139, C140, C141, C142, C143, + C144, C145, C146, C147, C148, C149, C150, C151, + C152, C153, C154, C155, C156, C157, C158, C159, + + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', ''); + + type SEVERITY_LEVEL is (NOTE, WARNING, ERROR, FAILURE); + type INTEGER is range -2147483647 to 2147483647; + type REAL is range -1.7976931348623157e308 to 1.7976931348623157e308; + + type TIME is range -9223372036854775807 to 9223372036854775807 + units + fs; -- femtosecond + ps = 1000 fs; -- picosecond + ns = 1000 ps; -- nanosecond + us = 1000 ns; -- microsecond + ms = 1000 us; -- millisecond + sec = 1000 ms; -- second + min = 60 sec; -- minute + hr= 60 min; -- hour + end units; + + subtype DELAY_LENGTH is TIME range 0 fs to TIME'HIGH; + impure function NOW return DELAY_LENGTH; + + subtype NATURAL is INTEGER range 0 to INTEGER'HIGH; + subtype POSITIVE is INTEGER range 1 to INTEGER'HIGH; + + type STRING is array (POSITIVE range <>) of CHARACTER; + + type BOOLEAN_VECTOR is array (NATURAL range <>) of BOOLEAN; + type BIT_VECTOR is array (NATURAL range <>) of BIT; + type INTEGER_VECTOR is array (NATURAL range <>) of INTEGER; + type REAL_VECTOR is array (NATURAL range <>) of REAL; + type TIME_VECTOR is array (NATURAL range <>) of TIME; + + type FILE_OPEN_KIND is (READ_MODE, + WRITE_MODE, + APPEND_MODE); + + type FILE_OPEN_STATUS is (OPEN_OK, + STATUS_ERROR, + NAME_ERROR, + MODE_ERROR); + + attribute FOREIGN: STRING; + + function RISING_EDGE(signal S: BOOLEAN) return BOOLEAN; + function RISING_EDGE(signal B: BIT) return BOOLEAN; + function FALLING_EDGE(signal S: BOOLEAN) return BOOLEAN; + function FALLING_EDGE(signal B: BIT) return BOOLEAN; + +end package; diff --git a/resources/dide-lsp/static/vhdl_std_lib/std/textio.vhd b/resources/dide-lsp/static/vhdl_std_lib/std/textio.vhd new file mode 100644 index 0000000..02bbc72 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std/textio.vhd @@ -0,0 +1,73 @@ +-- Package texio as defined by IEEE 1076-2008 + +package textio is + type LINE is access STRING; + type TEXT is file of STRING; + + procedure FILE_REWIND (file F: TEXT); + function FILE_MODE (file F: TEXT) return FILE_OPEN_KIND; + function FILE_SIZE (file F: TEXT) return INTEGER; + + type SIDE is (RIGHT, LEFT); + subtype WIDTH is NATURAL; -- For specifying widths of output fields. + + function JUSTIFY (VALUE: STRING; JUSTIFIED: SIDE := RIGHT; FIELD: WIDTH := 0 ) return STRING; + -- Standard text files: + file INPUT: TEXT open READ_MODE is "STD_INPUT"; + file OUTPUT: TEXT open WRITE_MODE is "STD_OUTPUT"; + + -- Input routines for standard types: + procedure READLINE (file F: TEXT; L: inout LINE); + procedure READ (L: inout LINE; VALUE: out BIT; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out BIT); + procedure READ (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out BIT_VECTOR); + procedure READ (L: inout LINE; VALUE: out BOOLEAN; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out CHARACTER; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out CHARACTER); + procedure READ (L: inout LINE; VALUE: out INTEGER; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out INTEGER); + procedure READ (L: inout LINE; VALUE: out REAL; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out REAL); + procedure READ (L: inout LINE; VALUE: out STRING; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out STRING); + procedure READ (L: inout LINE; VALUE: out TIME; GOOD: out BOOLEAN); + procedure READ (L: inout LINE; VALUE: out TIME); + procedure SREAD (L: inout LINE; VALUE: out STRING; STRLEN: out NATURAL); + alias STRING_READ is SREAD [LINE, STRING, NATURAL]; + alias BREAD is READ [LINE, BIT_VECTOR, BOOLEAN]; + alias BREAD is READ [LINE, BIT_VECTOR]; + alias BINARY_READ is READ [LINE, BIT_VECTOR, BOOLEAN]; + alias BINARY_READ is READ [LINE, BIT_VECTOR]; + procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN); + procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR); + alias OCTAL_READ is OREAD [LINE, BIT_VECTOR, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, BIT_VECTOR]; + procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN); + procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR); + alias HEX_READ is HREAD [LINE, BIT_VECTOR, BOOLEAN]; + alias HEX_READ is HREAD [LINE, BIT_VECTOR]; + + -- Output routines for standard types: + procedure WRITELINE (file F: TEXT; L: inout LINE); + procedure TEE (file F: TEXT; L: inout LINE); + procedure WRITE (L: inout LINE; VALUE: in BIT; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in BIT_VECTOR; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in BOOLEAN; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in CHARACTER; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in INTEGER; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in REAL; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0; DIGITS: in NATURAL:= 0); + procedure WRITE (L: inout LINE; VALUE: in REAL; FORMAT: in STRING); + procedure WRITE (L: inout LINE; VALUE: in STRING; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0); + procedure WRITE (L: inout LINE; VALUE: in TIME; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0; UNIT: in TIME:= ns); + alias SWRITE is WRITE [LINE, STRING, SIDE, WIDTH]; + alias STRING_WRITE is WRITE [LINE, STRING, SIDE, WIDTH]; + alias BWRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + alias BINARY_WRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + procedure OWRITE (L: inout LINE; VALUE: in BIT_VECTOR; JUSTIFIED: in SIDE := RIGHT; FIELD: in WIDTH := 0); + alias OCTAL_WRITE is OWRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + procedure HWRITE (L: inout LINE; VALUE: in BIT_VECTOR; JUSTIFIED: in SIDE := RIGHT; FIELD: in WIDTH := 0); + alias HEX_WRITE is HWRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + +end package; diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/arithmetic.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/arithmetic.vhd new file mode 100644 index 0000000..d4a2fb7 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/arithmetic.vhd @@ -0,0 +1,2117 @@ +-------------------------------------------------------------------------- +-- -- +-- Copyright (c) 1990, 1991 by Synopsys, Inc. All rights reserved. -- +-- -- +-- This source file may be used and distributed without restriction -- +-- provided that this copyright statement is not removed from the file -- +-- and that any derivative work contains this copyright notice. -- +-- -- +-- Package name: ARITHMETIC +-- +-- Purpose: +-- A set of arithemtic, conversion, and comparison functions +-- for SIGNED, UNSIGNED, and MVL7_VECTOR. +-- +-------------------------------------------------------------------------- +-- Exemplar : Added Synthsis directives for the functions in this package. +-- These are attributes that operate like the Synopsys pragmas. +-------------------------------------------------------------------------- + +library synopsys; +use synopsys.types.all; + +package arithmetic is + + type UNSIGNED is array (INTEGER range <>) of MVL7; + type SIGNED is array (INTEGER range <>) of MVL7; + subtype SMALL_INT is INTEGER range 0 to 1; + + function "+"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: SIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: SIGNED) return SIGNED; + function "+"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: INTEGER) return UNSIGNED; + function "+"(L: INTEGER; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: INTEGER) return SIGNED; + function "+"(L: INTEGER; R: SIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: MVL7) return UNSIGNED; + function "+"(L: MVL7; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: MVL7) return SIGNED; + function "+"(L: MVL7; R: SIGNED) return SIGNED; + + function "-"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: SIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: SIGNED) return SIGNED; + function "-"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: INTEGER) return UNSIGNED; + function "-"(L: INTEGER; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: INTEGER) return SIGNED; + function "-"(L: INTEGER; R: SIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: MVL7) return UNSIGNED; + function "-"(L: MVL7; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: MVL7) return SIGNED; + function "-"(L: MVL7; R: SIGNED) return SIGNED; + + function "+"(L: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED) return SIGNED; + function "-"(L: SIGNED) return SIGNED; + function "ABS"(L: SIGNED) return SIGNED; + + function "*"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "*"(L: SIGNED; R: SIGNED) return SIGNED; + function "*"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "*"(L: UNSIGNED; R: SIGNED) return SIGNED; + + function "<"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: SIGNED) return BOOLEAN; + function "<"(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "<"(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "<="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "<="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "<="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function ">"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: SIGNED) return BOOLEAN; + function ">"(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function ">"(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: SIGNED) return BOOLEAN; + + function ">="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: SIGNED) return BOOLEAN; + function ">="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function ">="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "/="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "/="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "/="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED; + function SHL(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED; + function SHR(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED; + function SHR(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED; + + function CONV_INTEGER(ARG: INTEGER) return INTEGER; + function CONV_INTEGER(ARG: UNSIGNED) return INTEGER; + function CONV_INTEGER(ARG: SIGNED) return INTEGER; + function CONV_INTEGER(ARG: MVL7) return SMALL_INT; + function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: MVL7; SIZE: INTEGER) return UNSIGNED; + function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: MVL7; SIZE: INTEGER) return SIGNED; + + function "and" (L, R: UNSIGNED) return UNSIGNED; + function "nand" (L, R: UNSIGNED) return UNSIGNED; + function "or" (L, R: UNSIGNED) return UNSIGNED; + function "nor" (L, R: UNSIGNED) return UNSIGNED; + function "xor" (L, R: UNSIGNED) return UNSIGNED; + function nxor (L, R: UNSIGNED) return UNSIGNED; + function "not" (R: UNSIGNED) return UNSIGNED; + function buf (R: UNSIGNED) return UNSIGNED; + + function "and" (L, R: SIGNED) return SIGNED; + function "nand" (L, R: SIGNED) return SIGNED; + function "or" (L, R: SIGNED) return SIGNED; + function "nor" (L, R: SIGNED) return SIGNED; + function "xor" (L, R: SIGNED) return SIGNED; + function nxor (L, R: SIGNED) return SIGNED; + function "not" (R: SIGNED) return SIGNED; + function buf (R: SIGNED) return SIGNED; + + function AND_REDUCE(ARG: MVL7_VECTOR) return MVL7; + function NAND_REDUCE(ARG: MVL7_VECTOR) return MVL7; + function OR_REDUCE(ARG: MVL7_VECTOR) return MVL7; + function NOR_REDUCE(ARG: MVL7_VECTOR) return MVL7; + function XOR_REDUCE(ARG: MVL7_VECTOR) return MVL7; + function XNOR_REDUCE(ARG: MVL7_VECTOR) return MVL7; + +-- Declare Exemplar Synthesis Directive attributes + attribute SYNTHESIS_RETURN : STRING ; + attribute IS_SIGNED : BOOLEAN ; +end arithmetic; + +package body arithmetic is + + function max(L, R: INTEGER) return INTEGER is + begin + if L > R then + return L; + else + return R; + end if; + end; + + + function min(L, R: INTEGER) return INTEGER is + begin + if L < R then + return L; + else + return R; + end if; + end; + + -- synopsys synthesis_off + type tbl_type is array (MVL7) of MVL7; + constant tbl_BINARY : tbl_type := + ('0', '0', '1', '0', '0', '0', '1'); + -- synopsys synthesis_on + + function MAKE_BINARY(A : MVL7) return MVL7 is + -- synopsys built_in SYN_FEED_THRU + variable result : MVL7 ; + -- Exemplar synthesis directive attribute for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := tbl_BINARY(A); + return result ; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : UNSIGNED) return UNSIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : MVL7; + variable result : UNSIGNED (A'range); + -- Exemplar synthesis directive attribute for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : UNSIGNED) return SIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : MVL7; + variable result : SIGNED (A'range); + -- Exemplar synthesis directive attribute for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : SIGNED) return UNSIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : MVL7; + variable result : UNSIGNED (A'range); + -- Exemplar synthesis directive attribute for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : SIGNED) return SIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : MVL7; + variable result : SIGNED (A'range); + -- Exemplar synthesis directive attribute for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + + + -- Type propagation function which returns a signed type with the + -- size of the left arg. + function LEFT_SIGNED_ARG(A,B: SIGNED) return SIGNED is + variable Z: SIGNED (A'left downto 0); + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns an unsigned type with the + -- size of the left arg. + function LEFT_UNSIGNED_ARG(A,B: UNSIGNED) return UNSIGNED is + variable Z: UNSIGNED (A'left downto 0); + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns a signed type with the + -- size of the result of a signed multiplication + function MULT_SIGNED_ARG(A,B: SIGNED) return SIGNED is + variable Z: SIGNED ((A'length+B'length-1) downto 0); + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns an unsigned type with the + -- size of the result of a unsigned multiplication + function MULT_UNSIGNED_ARG(A,B: UNSIGNED) return UNSIGNED is + variable Z: UNSIGNED ((A'length+B'length-1) downto 0); + -- pragma return_port_name Z + begin + return(Z); + end; + + function mult(A,B: SIGNED) return SIGNED is + + variable BA: SIGNED((A'length+B'length-1) downto 0); + variable PA: SIGNED((A'length+B'length-1) downto 0); + variable AA: SIGNED(A'length downto 0); + variable neg: MVL7; + constant one : UNSIGNED(1 downto 0) := "01"; + + -- pragma map_to_operator MULT_TC_OP + -- pragma type_function MULT_SIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of PA:variable is TRUE ; + attribute SYNTHESIS_RETURN of PA:variable is "MULT" ; + begin + PA := (others => '0'); + neg := B(B'left) xor A(A'left); + BA := CONV_SIGNED(('0' & ABS(B)),(A'length+B'length)); + AA := '0' & ABS(A); + for i in 0 to A'length-1 loop + if AA(i) = '1' then + PA := PA+BA; + end if; + BA := SHL(BA,one); + end loop; + if (neg= '1') then + return (-PA); + else + return (PA); + end if; + end; + + function mult(A,B: UNSIGNED) return UNSIGNED is + + variable BA: UNSIGNED((A'length+B'length-1) downto 0); + variable PA: UNSIGNED((A'length+B'length-1) downto 0); + constant one : UNSIGNED(1 downto 0) := "01"; + + -- pragma map_to_operator MULT_UNS_OP + -- pragma type_function MULT_UNSIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of PA:variable is "MULT" ; + begin + PA := (others => '0'); + BA := CONV_UNSIGNED(B,(A'length+B'length)); + for i in 0 to A'length-1 loop + if A(i) = '1' then + PA := PA+BA; + end if; + BA := SHL(BA,one); + end loop; + return(PA); + end; + + -- subtract two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function minus(A, B: SIGNED) return SIGNED is + variable carry: MVL7; + variable BV: MVL7_VECTOR (A'left downto 0); + variable sum: SIGNED (A'left downto 0); + + -- pragma map_to_operator SUB_TC_OP + + -- pragma type_function LEFT_SIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of sum:variable is TRUE ; + attribute SYNTHESIS_RETURN of sum:variable is "SUB" ; + begin + carry := '1'; + BV := not MVL7_VECTOR(B); + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + + -- add two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function plus(A, B: SIGNED) return SIGNED is + variable carry: MVL7; + variable BV, sum: SIGNED (A'left downto 0); + + -- pragma map_to_operator ADD_TC_OP + -- pragma type_function LEFT_SIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of sum:variable is TRUE ; + attribute SYNTHESIS_RETURN of sum:variable is "ADD" ; + begin + carry := '0'; + BV := B; + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + + + -- subtract two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_minus(A, B: UNSIGNED) return UNSIGNED is + variable carry: MVL7; + variable BV: MVL7_VECTOR (A'left downto 0); + variable sum: UNSIGNED (A'left downto 0); + + -- pragma map_to_operator SUB_UNS_OP + -- pragma type_function LEFT_UNSIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of sum:variable is "SUB" ; + begin + carry := '1'; + BV := not MVL7_VECTOR(B); + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + + -- add two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_plus(A, B: UNSIGNED) return UNSIGNED is + variable carry: MVL7; + variable BV, sum: UNSIGNED (A'left downto 0); + + -- pragma map_to_operator ADD_UNS_OP + -- pragma type_function LEFT_UNSIGNED_ARG + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of sum:variable is "ADD" ; + begin + carry := '0'; + BV := B; + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + +-- All of the following actual different forms of arithmetic operations +-- will be compiled as is by Exemplar. + + function "*"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to mult + begin + return mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to mult + begin + return mult(CONV_UNSIGNED(L, L'length), + CONV_UNSIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + begin + return mult(CONV_SIGNED(L, L'length+1), + CONV_SIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to plus + begin + return mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length+1)); -- pragma label mult + end; + + + function "+"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: INTEGER) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. R will be interpreted as (signed) integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "+"(L: INTEGER; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. L will be interpreted as (signed) integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "+"(L: SIGNED; R: INTEGER) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: INTEGER; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: MVL7) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)) ; -- pragma label plus + end; + + + function "+"(L: MVL7; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: MVL7) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: MVL7; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + + + + function "-"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_minus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: INTEGER) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- subtractor. R will be interpreted as (signed) integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: INTEGER; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- subtractor. L will be interpreted as (signed) integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: SIGNED; R: INTEGER) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: INTEGER; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: MVL7) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- subtractor. R is unsigned since CONV_SIGNED does zero-extend + -- for MVL7. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: MVL7; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- subtractor. L is unsigned since CONV_SIGNED does zero-extend + -- for MVL7. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: SIGNED; R: MVL7) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: MVL7; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + + + function "+"(L: UNSIGNED) return UNSIGNED is + begin + return L; + end; + + + function "+"(L: SIGNED) return SIGNED is + begin + return L; + end; + + + function "-"(L: SIGNED) return SIGNED is + -- pragma label_applies_to minus + variable result : SIGNED(L'RANGE) ; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "UMINUS" ; + begin + result := 0 - L; -- pragma label minus + return result ; + end; + + + function "ABS"(L: SIGNED) return SIGNED is + variable result : SIGNED(L'RANGE) ; + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "ABS" ; + begin + if L(L'left) = '0' then + result := L; + else + result := 0 - L; + end if; + return result ; + end; + + + -- Type propagation function which returns the type BOOLEAN + function UNSIGNED_RETURN_BOOLEAN(A,B: UNSIGNED) return BOOLEAN is + variable Z: BOOLEAN; + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns the type BOOLEAN + function SIGNED_RETURN_BOOLEAN(A,B: SIGNED) return BOOLEAN is + variable Z: BOOLEAN; + -- pragma return_port_name Z + begin + return(Z); + end; + + + -- compare two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function is_less(A, B: SIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LT_TC_OP + -- pragma type_function SIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "LT" ; + begin + if A(sign) /= B(sign) then + result := A(sign) = '1'; + else + result := FALSE; + for i in 0 to sign-1 loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + end if; + return result; + end; + + + -- compare two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function is_less_or_equal(A, B: SIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LEQ_TC_OP + -- pragma type_function SIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "LTE" ; + begin + if A(sign) /= B(sign) then + result := A(sign) = '1'; + else + result := TRUE; + for i in 0 to sign-1 loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + end if; + return result; + end; + + + + -- compare two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_is_less(A, B: UNSIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LT_UNS_OP + -- pragma type_function UNSIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "LT" ; + begin + result := FALSE; + for i in 0 to sign loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + return result; + end; + + + -- compare two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_is_less_or_equal(A, B: UNSIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LEQ_UNS_OP + -- pragma type_function UNSIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "LTE" ; + begin + result := TRUE; + for i in 0 to sign loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + return result; + end; + +-- All of the following actual different forms of relational operations +-- will be compiled as is by Exemplar. + + + function "<"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := L'length + 1; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := R'length + 1; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := L'length; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := R'length; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + + + function "<="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less_or_equal(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := L'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := R'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := L'length; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := R'length; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + + + function ">"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less(CONV_UNSIGNED(R, length), + CONV_UNSIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := L'length + 1; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := R'length + 1; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := L'length; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := R'length; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + + + function ">="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less_or_equal(CONV_UNSIGNED(R, length), + CONV_UNSIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := L'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := R'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := L'length; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := R'length; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + + + -- for internal use only. Assumes SIGNED arguments of equal length. + function bitwise_eql(L: MVL7_VECTOR; R: MVL7_VECTOR) + return BOOLEAN is + -- pragma built_in SYN_EQL + variable result : BOOLEAN := TRUE ; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "EQ" ; + begin + for i in L'range loop + if L(i) /= R(i) then + result := FALSE; + exit ; + end if; + end loop; + return result; + end; + + -- for internal use only. Assumes SIGNED arguments of equal length. + function bitwise_neq(L: MVL7_VECTOR; R: MVL7_VECTOR) + return BOOLEAN is + -- pragma built_in SYN_NEQ + variable result : BOOLEAN := FALSE ; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NEQ" ; + begin + for i in L'range loop + if L(i) /= R(i) then + result := TRUE; + exit ; + end if; + end loop; + return result ; + end; + +-- All of the following actual different forms of relational operations +-- will be compiled as is by Exemplar. + + + function "="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_eql( MVL7_VECTOR( CONV_UNSIGNED(L, length) ), + MVL7_VECTOR( CONV_UNSIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: SIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length + 1, R'length); + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length + 1); + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + constant length: INTEGER := L'length + 1; + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := R'length + 1; + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: INTEGER) return BOOLEAN is + constant length: INTEGER := L'length; + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: INTEGER; R: SIGNED) return BOOLEAN is + constant length: INTEGER := R'length; + begin + return bitwise_eql( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + + + function "/="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_neq( MVL7_VECTOR( CONV_UNSIGNED(L, length) ), + MVL7_VECTOR( CONV_UNSIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: SIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length + 1, R'length); + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := max(L'length, R'length + 1); + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + constant length: INTEGER := L'length + 1; + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + constant length: INTEGER := R'length + 1; + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: INTEGER) return BOOLEAN is + constant length: INTEGER := L'length; + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: INTEGER; R: SIGNED) return BOOLEAN is + constant length: INTEGER := R'length; + begin + return bitwise_neq( MVL7_VECTOR( CONV_SIGNED(L, length) ), + MVL7_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + + function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED is + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is UNSIGNED (result_msb downto 0); + variable result, temp: rtype; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "SLL" ; + begin + control := MAKE_BINARY(COUNT); + result := ARG; + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => '0'); + if 2**i < result_msb then + temp(result_msb downto 2**i) := + result(result_msb - 2**i downto 0); + end if; + result := temp; + end if; + end loop; + return result; + end; + + function SHL(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED is + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is SIGNED (result_msb downto 0); + variable result, temp: rtype; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "SLL" ; + begin + control := MAKE_BINARY(COUNT); + result := ARG; + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => '0'); + if 2**i < result_msb then + temp(result_msb downto 2**i) := + result(result_msb - 2**i downto 0); + end if; + result := temp; + end if; + end loop; + return result; + end; + + + function SHR(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED is + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is UNSIGNED (result_msb downto 0); + variable result, temp: rtype; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "SRL" ; + begin + control := MAKE_BINARY(COUNT); + result := ARG; + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => '0'); + if 2**i < result_msb then + temp(result_msb - 2**i downto 0) := + result(result_msb downto 2**i); + end if; + result := temp; + end if; + end loop; + return result; + end; + + function SHR(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED is + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is SIGNED (result_msb downto 0); + variable result, temp: rtype; + variable sign_bit: MVL7; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "SRA" ; + begin + control := MAKE_BINARY(COUNT); + result := ARG; + sign_bit := ARG(ARG'left); + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => sign_bit); + if 2**i < result_msb then + temp(result_msb - 2**i downto 0) := + result(result_msb downto 2**i); + end if; + result := temp; + end if; + end loop; + return result; + end; + + + + + function CONV_INTEGER(ARG: INTEGER) return INTEGER is + begin + return ARG; + end; + + function CONV_INTEGER(ARG: UNSIGNED) return INTEGER is + variable result: INTEGER; + -- synopsys built_in SYN_UNSIGNED_TO_INTEGER; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + assert ARG'length <= 31 + report "ARG is too large in CONV_INTEGER" + severity FAILURE; + result := 0; + for i in ARG'range loop + result := result * 2; + if tbl_BINARY(ARG(i)) = '1' then + result := result + 1; + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + + function CONV_INTEGER(ARG: SIGNED) return INTEGER is + variable result: INTEGER; + -- synopsys built_in SYN_SIGNED_TO_INTEGER; + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + assert ARG'length <= 32 + report "ARG is too large in CONV_INTEGER" + severity FAILURE; + result := 0; + for i in ARG'range loop + if i /= ARG'left then + result := result * 2; + if tbl_BINARY(ARG(i)) = '1' then + result := result + 1; + end if; + end if; + end loop; + if tbl_BINARY(ARG(ARG'left)) = '1' then + if ARG'length = 32 then + result := (result - 2**30) - 2**30; + else + result := result - (2 ** (ARG'length-1)); + end if; + end if; + return result; + -- synopsys synthesis_on + end; + + + function CONV_INTEGER(ARG: MVL7) return SMALL_INT is + begin + if MAKE_BINARY(ARG) = '0' then + return 0; + else + return 1; + end if; + end; + + + -- convert an integer to a unsigned MVL7_VECTOR + function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED is + variable result: UNSIGNED(SIZE-1 downto 0); + variable temp: integer; + -- synopsys built_in SYN_INTEGER_TO_UNSIGNED + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + temp := ARG; + for i in 0 to SIZE-1 loop + if (temp mod 2) = 1 then + result(i) := '1'; + else + result(i) := '0'; + end if; + if temp > 0 then + temp := temp / 2; + else + temp := (temp - 1) / 2; -- simulate ASR + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + + function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is UNSIGNED (SIZE-1 downto 0); + variable new_bounds: UNSIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + new_bounds := MAKE_BINARY(ARG); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is UNSIGNED (SIZE-1 downto 0); + variable new_bounds: UNSIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_UNSIGNED(ARG: MVL7; SIZE: INTEGER) return UNSIGNED is + subtype rtype is UNSIGNED (SIZE-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + result(0) := MAKE_BINARY(ARG); + return result; + -- synopsys synthesis_on + end; + + + -- convert an integer to a 2's complement MVL7_VECTOR + function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED is + variable result: SIGNED (SIZE-1 downto 0); + variable temp: integer; + -- synopsys built_in SYN_INTEGER_TO_SIGNED + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + temp := ARG; + for i in 0 to SIZE-1 loop + if (temp mod 2) = 1 then + result(i) := '1'; + else + result(i) := '0'; + end if; + if temp > 0 then + temp := temp / 2; + else + temp := (temp - 1) / 2; -- simulate ASR + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + + function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is SIGNED (SIZE-1 downto 0); + variable new_bounds : SIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + new_bounds := MAKE_BINARY(ARG); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is SIGNED (SIZE-1 downto 0); + variable new_bounds : SIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_SIGNED(ARG: MVL7; SIZE: INTEGER) return SIGNED is + subtype rtype is SIGNED (SIZE-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + result(0) := MAKE_BINARY(ARG); + return result; + -- synopsys synthesis_on + end; + + + + + function "and" (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_AND +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "AND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) and RV (i); + end loop; + return result; +--synopsys synthesis_on + end "and"; + + + function "nand" (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_NAND +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NAND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := not(LV (i) and RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "nand"; + + + function "or" (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_OR +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "OR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) or RV (i); + end loop; + return result; +--synopsys synthesis_on + end "or"; + + + function "nor" (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_NOR +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := not(LV (i) or RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "nor"; + + + function "xor" (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_XOR +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "XOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) xor RV (i); + end loop; + return result; +--synopsys synthesis_on + end "xor"; + + + function nxor (L, R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_XNOR +--synopsys synthesis_off + alias LV: UNSIGNED (L'length-1 downto 0) is L; + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "XNOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result(i) := not(LV(i) xor RV(i)); + end loop; + return result; +--synopsys synthesis_on + end nxor; + + + function "not" (R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_NOT +--synopsys synthesis_off + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (R'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NOT" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + result (i) := not RV(i); + end loop; + return result; +--synopsys synthesis_on + end "not"; + + + function buf (R: UNSIGNED) return UNSIGNED is + -- pragma built_in SYN_BUF +--synopsys synthesis_off + alias RV: UNSIGNED (R'length-1 downto 0) is R; + variable result: UNSIGNED (R'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + -- only portable way to perform buf + result(i) := not( not RV(i) ); + end loop; + return result; +--synopsys synthesis_on + end buf; + + + + + function "and" (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_AND +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "AND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) and RV (i); + end loop; + return result; +--synopsys synthesis_on + end "and"; + + + function "nand" (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_NAND +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NAND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := not(LV (i) and RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "nand"; + + + function "or" (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_OR +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "OR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) or RV (i); + end loop; + return result; +--synopsys synthesis_on + end "or"; + + + function "nor" (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_NOR +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := not(LV (i) or RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "nor"; + + + function "xor" (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_XOR +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "XOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := LV (i) xor RV (i); + end loop; + return result; +--synopsys synthesis_on + end "xor"; + + + function nxor (L, R: SIGNED) return SIGNED is + -- pragma built_in SYN_XNOR +--synopsys synthesis_off + alias LV: SIGNED (L'length-1 downto 0) is L; + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (L'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "XNOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result(i) := not(LV(i) xor RV(i)); + end loop; + return result; +--synopsys synthesis_on + end nxor; + + + function "not" (R: SIGNED) return SIGNED is + -- pragma built_in SYN_NOT +--synopsys synthesis_off + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (R'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "NOT" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + result (i) := not RV(i); + end loop; + return result; +--synopsys synthesis_on + end "not"; + + + function buf (R: SIGNED) return SIGNED is + -- pragma built_in SYN_BUF +--synopsys synthesis_off + alias RV: SIGNED (R'length-1 downto 0) is R; + variable result: SIGNED (R'length-1 downto 0); + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + -- only portable way to perform buf + result(i) := not( not RV(i) ); + end loop; + return result; +--synopsys synthesis_on + end buf; + + + + + function AND_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + variable result: MVL7; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_AND" ; + begin + result := '1'; + for i in ARG'range loop + result := result and ARG(i); + end loop; + return result; + end; + + function NAND_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + begin + return not AND_REDUCE(ARG); + end; + + function OR_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + variable result: MVL7; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_OR" ; + begin + result := '0'; + for i in ARG'range loop + result := result or ARG(i); + end loop; + return result; + end; + + function NOR_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + begin + return not OR_REDUCE(ARG); + end; + + function XOR_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + variable result: MVL7; + -- Exemplar synthesis directive attributes for this function + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_XOR" ; + begin + result := '0'; + for i in ARG'range loop + result := result xor ARG(i); + end loop; + return result; + end; + + function XNOR_REDUCE(ARG: MVL7_VECTOR) return MVL7 is + begin + return not XOR_REDUCE(ARG); + end; + +end arithmetic; diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/attributes.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/attributes.vhd new file mode 100644 index 0000000..483839a --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/attributes.vhd @@ -0,0 +1,213 @@ +---------------------------------------------------------------------------- +-- +-- Copyright (c) 1990, 1991, 1992 by Synopsys, Inc. All rights reserved. +-- +-- This source file may be used and distributed without restriction +-- provided that this copyright statement is not removed from the file +-- and that any derivative work contains this copyright notice. +-- +-- Package name: ATTRIBUTES +-- +-- Purpose: This package defines the attributes associated with +-- the Synopsys VHDL System Simulator and the HDL compiler. +-- The simulator specific attributes are built into the +-- the analyzer, so this source should not be analyzed on +-- the Synopsys VHDL System Simulator. It is provided for +-- reference and portability to other systems. +-- +-- Author: JT, PH, GWH, RV +-- +-- Modified. Added translate_off and translate_on pairs because +-- HDL compiler does not use/support the simulator specific attributes +-- in this package. +-- +-- Modified: Apr 30, 1996, PZ: Moved the three BC attributes +-- (dont_unroll, variables, synthesis_type) to this package. +-- Modified: Nov 25, 1996, PZ: Removed the three BC attributes +-- (dont_unroll, variables, synthesis_type) from this package. +-- They are now in the behavioral package again. +-- +---------------------------------------------------------------------------- +-- Simulator specific attributes +----------------------------------------------------------------------- +-- +-- attributes for type conversion functions, SDF backannotation and +-- resolution functions +-- +----------------------------------------------------------------------- + +package ATTRIBUTES is +--synopsys translate_off + attribute CLOSELY_RELATED_TCF: boolean; + attribute PROPAGATE_VALUE: string; + attribute SDT_CONDITION: string; + attribute SDT_VALUE_NAME: string; + attribute SDT_VALUE: string; + attribute REFLEXIVE: boolean; + attribute COMMUTATIVE: boolean; + attribute ASSOCIATIVE: boolean; + attribute RESULT_INITIAL_VALUE: integer; + attribute TABLE_NAME: string; + attribute REAL_NAME: string; + + attribute PRIVATE: boolean; + attribute UNPRIVATE: boolean; + attribute ASIC_CELL: boolean; + attribute DIVERT_MESSAGES: boolean; + + -- Note: type BUILTIN_TYPE and attributes BUILTIN and EXTRA_SPACE + -- will be phased out after Elroy. This is to move towards + -- the upcoming '92 standard. + + type BUILTIN_TYPE is (VHDL_SYSTEM_PRIMITIVE, LMSI, C_BEHAVIOR, + VHDL_SYSTEM_PRIMITIVE_STD_LOGIC); + attribute BUILTIN: BUILTIN_TYPE; + attribute EXTRA_SPACE: positive; + + -- Note: ### For the '92 standard, attribute FOREIGN must be + -- moved to package STANDARD. + + attribute FOREIGN : STRING; + + -- CLI (C Language Interface) attributes + + type CLI_PIN_SENSITIVITY is (CLI_PASSIVE, CLI_EVENT, CLI_ACTIVE); + + attribute CLI_ELABORATE : STRING; -- components only + attribute CLI_EVALUATE : STRING; -- components only + attribute CLI_ERROR : STRING; -- components only + attribute CLI_CLOSE : STRING; -- components only + attribute CLI_PIN : CLI_PIN_SENSITIVITY; -- components only + + attribute CLI_FUNCTION : STRING; -- functions only + attribute CLI_PROCEDURE : STRING; -- procedures only + + attribute CLI_POSTPONED : BOOLEAN; -- components only + + -- Logic Modeling Corporation (LMC) interface attributes: + + type LMSI_DELAY_TYPE_TYPE is (TYPICAL, MINIMUM, MAXIMUM); + attribute LMSI_DELAY_TYPE : LMSI_DELAY_TYPE_TYPE; + + type LMSI_TIMING_MEASUREMENT_TYPE is (DISABLED, ENABLED); + attribute LMSI_TIMING_MEASUREMENT: LMSI_TIMING_MEASUREMENT_TYPE; + + type LMSI_LOG_TYPE is (DISABLED, ENABLED); + attribute LMSI_LOG: LMSI_LOG_TYPE; + + type LMSI_DELAY_ED_TYPE is (ENABLED, DISABLED); + attribute LMSI_DELAY: LMSI_DELAY_ED_TYPE; + + type LMSI_TIMING_VIOLATIONS_TYPE is (ENABLED, DISABLED); + attribute LMSI_TIMING_VIOLATIONS: LMSI_TIMING_VIOLATIONS_TYPE; + + type LMSI_XPROP_TYPE is (DISABLED, ENABLED); + attribute LMSI_XPROP: LMSI_XPROP_TYPE; + + type LMSI_XPROP_METHOD_TYPE is (PREVIOUS, HIGH, LOW, FLOAT); + attribute LMSI_XPROP_METHOD: LMSI_XPROP_METHOD_TYPE; + + -- Zycad XP interface attributes: + + type BACKPLANE_TYPE is (XP, VERILOG, VIP); + attribute BACKPLANE: BACKPLANE_TYPE; + + -- Attribute to instantiate a Model Bank component in the Zycad + -- XP box. + + type ENCRYPTION_TYPE is (MODELBANK); + attribute ENCRYPTION: ENCRYPTION_TYPE; + + -- Attribute to specify the EDIF file for an architecture. This + -- attribute can be specified in architecture(s) where the structural + -- information is in EDIF and we want to use it. This should be used + -- in conjunction with BACKPLANE attribute. + attribute EDIF_FILE_FOR_THIS_ARCHITECTURE: string; + attribute VERILOG_FILES_FOR_THIS_ARCHITECTURE: string; + + -- The following two attributes are used to specify the physical + -- filename of the EDIF file containing the definitions of cell(s) or + -- entity(s) from a package and the EDIF library name used in the + -- above EDIF file. + attribute EDIF_LIBRARY_FILENAME: string; + attribute EDIF_LIBRARY_NAME: string; + + -- XPMSW + -- XP attribute for a component which is described by a ZYCAD + -- CBMOD. + attribute ZYCAD_XP_CBMOD : BOOLEAN; + + -- This attribute is used to specify the initialization file for + -- RAM(s) and ROM(s). + attribute MVL7_MEM_INITFILE: string; + + -- attributes for the function units bus (funbus) + type FUNBUS_TYPE is (LAI,CBMOD); + attribute FUNBUS : FUNBUS_TYPE; + + attribute CHANGE_SIMPLE_NAME : string; + attribute CHECKOUT_LICENSE : string; + attribute COMPILED_SYSTEM : boolean; + attribute USE_FULL_NAME : boolean; + attribute USE_SIMPLE_NAME : boolean; + +--synopsys translate_on +-------------------------------------------------------------------- +-- HDL compiler specific Attributes + attribute async_set_reset : string; + attribute sync_set_reset : string; + attribute async_set_reset_local : string; + attribute sync_set_reset_local : string; + attribute async_set_reset_local_all : string; + attribute sync_set_reset_local_all : string; + + attribute one_hot : string; + attribute one_cold : string; + attribute infer_mux : string; + +-------------------------------------------------------------------- +-- design compiler constraints and attributes + attribute ARRIVAL : REAL; + attribute DONT_TOUCH : BOOLEAN; + attribute DONT_TOUCH_NETWORK : BOOLEAN; + attribute DRIVE_STRENGTH : REAL; + attribute EQUAL : BOOLEAN; + attribute FALL_ARRIVAL : REAL; + attribute FALL_DRIVE : REAL; + attribute LOAD : REAL; + attribute LOGIC_ONE : BOOLEAN; + attribute LOGIC_ZERO : BOOLEAN; + attribute MAX_AREA : REAL; + attribute MAX_DELAY : REAL; + attribute MAX_FALL_DELAY : REAL; + attribute MAX_RISE_DELAY : REAL; + attribute MAX_TRANSITION : REAL; + attribute MIN_DELAY : REAL; + attribute MIN_FALL_DELAY : REAL; + attribute MIN_RISE_DELAY : REAL; + attribute OPPOSITE : BOOLEAN; + attribute RISE_ARRIVAL : REAL; + attribute RISE_DRIVE : REAL; + attribute UNCONNECTED : BOOLEAN; + attribute INFER_MULTIBIT : STRING; + +-- state machine attributes + attribute STATE_VECTOR : STRING; + +-- resource sharing attributes + subtype resource is integer; + attribute ADD_OPS : STRING; + attribute DONT_MERGE_WITH : STRING; + attribute MAP_TO_MODULE : STRING; + attribute IMPLEMENTATION : STRING; + attribute MAY_MERGE_WITH : STRING; + attribute OPS : STRING; + +-- general attributes + attribute ENUM_ENCODING : STRING; + +-- optimization attributes + attribute TRANSFORM_CONST_MULT : boolean; + +-- +end ATTRIBUTES; diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_arith.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_arith.vhd new file mode 100644 index 0000000..f71b010 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_arith.vhd @@ -0,0 +1,2945 @@ +-------------------------------------------------------------------------- +-- -- +-- Copyright (c) 1990,1991,1992 by Synopsys, Inc. All rights reserved. -- +-- -- +-- This source file may be used and distributed without restriction -- +-- provided that this copyright statement is not removed from the file -- +-- and that any derivative work contains this copyright notice. -- +-- -- +-- Package name: STD_LOGIC_ARITH -- +-- -- +-- Purpose: -- +-- A set of arithemtic, conversion, and comparison functions -- +-- for SIGNED, UNSIGNED, SMALL_INT, INTEGER, -- +-- STD_ULOGIC, STD_LOGIC, and STD_LOGIC_VECTOR. -- +-- -- +-------------------------------------------------------------------------- +-- Exemplar : Added synthesis directive attributes for the functions in +-- this package. +-- These work similar to the Synopsys pragmas +-------------------------------------------------------------------------- +-------------------------------------------------------------------------- +-- Modifications : +-- Attributes added and sources modified for Xilinx specific optimizations +-- function has_x(s : unsigned) added for detecting 'x' in an unsigned array +-------------------------------------------------------------------------- +library IEEE; +use IEEE.std_logic_1164.all; + +package std_logic_arith is + + type UNSIGNED is array (NATURAL range <>) of STD_LOGIC; + type SIGNED is array (NATURAL range <>) of STD_LOGIC; + subtype SMALL_INT is INTEGER range 0 to 1; + + function "+"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: SIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: SIGNED) return SIGNED; + function "+"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: INTEGER) return UNSIGNED; + function "+"(L: INTEGER; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: INTEGER) return SIGNED; + function "+"(L: INTEGER; R: SIGNED) return SIGNED; + function "+"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED; + function "+"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED; R: STD_ULOGIC) return SIGNED; + function "+"(L: STD_ULOGIC; R: SIGNED) return SIGNED; + + function "+"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "+"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + function "+"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + function "+"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "+"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR; + function "+"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "+"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR; + function "+"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR; + function "+"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR; + function "+"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "+"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR; + function "+"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR; + + function "-"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: SIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: SIGNED) return SIGNED; + function "-"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: INTEGER) return UNSIGNED; + function "-"(L: INTEGER; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: INTEGER) return SIGNED; + function "-"(L: INTEGER; R: SIGNED) return SIGNED; + function "-"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED; + function "-"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED; + function "-"(L: SIGNED; R: STD_ULOGIC) return SIGNED; + function "-"(L: STD_ULOGIC; R: SIGNED) return SIGNED; + + function "-"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "-"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + function "-"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + function "-"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "-"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR; + function "-"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "-"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR; + function "-"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR; + function "-"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR; + function "-"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "-"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR; + function "-"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR; + + function "+"(L: UNSIGNED) return UNSIGNED; + function "+"(L: SIGNED) return SIGNED; + function "-"(L: SIGNED) return SIGNED; + function "ABS"(L: SIGNED) return SIGNED; + + function "+"(L: UNSIGNED) return STD_LOGIC_VECTOR; + function "+"(L: SIGNED) return STD_LOGIC_VECTOR; + function "-"(L: SIGNED) return STD_LOGIC_VECTOR; + function "ABS"(L: SIGNED) return STD_LOGIC_VECTOR; + + function "*"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED; + function "*"(L: SIGNED; R: SIGNED) return SIGNED; + function "*"(L: SIGNED; R: UNSIGNED) return SIGNED; + function "*"(L: UNSIGNED; R: SIGNED) return SIGNED; + + function "*"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "*"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + function "*"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR; + function "*"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR; + + function "<"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: SIGNED) return BOOLEAN; + function "<"(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "<"(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "<"(L: SIGNED; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "<="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "<="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "<="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "<="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function ">"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: SIGNED) return BOOLEAN; + function ">"(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function ">"(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function ">"(L: SIGNED; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: SIGNED) return BOOLEAN; + + function ">="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: SIGNED) return BOOLEAN; + function ">="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function ">="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function ">="(L: SIGNED; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function "/="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: SIGNED) return BOOLEAN; + function "/="(L: UNSIGNED; R: SIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: UNSIGNED) return BOOLEAN; + function "/="(L: UNSIGNED; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: UNSIGNED) return BOOLEAN; + function "/="(L: SIGNED; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: SIGNED) return BOOLEAN; + + function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED; + function SHL(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED; + function SHR(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED; + function SHR(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED; + + function CONV_INTEGER(ARG: INTEGER) return INTEGER; + function CONV_INTEGER(ARG: UNSIGNED) return INTEGER; + function CONV_INTEGER(ARG: SIGNED) return INTEGER; + function CONV_INTEGER(ARG: STD_ULOGIC) return SMALL_INT; + + function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED; + function CONV_UNSIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return UNSIGNED; + + function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED; + function CONV_SIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return SIGNED; + + function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) + return STD_LOGIC_VECTOR; + function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER) + return STD_LOGIC_VECTOR; + function CONV_STD_LOGIC_VECTOR(ARG: SIGNED; SIZE: INTEGER) + return STD_LOGIC_VECTOR; + function CONV_STD_LOGIC_VECTOR(ARG: STD_ULOGIC; SIZE: INTEGER) + return STD_LOGIC_VECTOR; + -- zero extend STD_LOGIC_VECTOR (ARG) to SIZE, + -- SIZE < 0 is same as SIZE = 0 + -- returns STD_LOGIC_VECTOR(SIZE-1 downto 0) + function EXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return STD_LOGIC_VECTOR; + + -- sign extend STD_LOGIC_VECTOR (ARG) to SIZE, + -- SIZE < 0 is same as SIZE = 0 + -- return STD_LOGIC_VECTOR(SIZE-1 downto 0) + function SXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return STD_LOGIC_VECTOR; + + + function mult(A,B: SIGNED) return SIGNED; + function mult(A,B: UNSIGNED) return UNSIGNED; + function plus(A, B: SIGNED) return SIGNED; + function unsigned_plus(A, B: UNSIGNED) return UNSIGNED; + function minus(A, B: SIGNED) return SIGNED; + function unsigned_minus(A, B: UNSIGNED) return UNSIGNED; + function is_less(A, B: SIGNED) return BOOLEAN; + function is_less_or_equal(A, B: SIGNED) return BOOLEAN; + function unsigned_is_less(A, B: UNSIGNED) return BOOLEAN; + function unsigned_is_less_or_equal(A, B: UNSIGNED) return BOOLEAN; + + --attribute foreign of mult[SIGNED, SIGNED return SIGNED]:function is "ieee_std_logic_arith_mult_signed"; + --attribute foreign of mult[UNSIGNED, UNSIGNED return UNSIGNED]:function is "ieee_std_logic_arith_mult_unsigned"; + --attribute foreign of plus[SIGNED, SIGNED return SIGNED]:function is "ieee_std_logic_arith_plus_signed"; + --attribute foreign of unsigned_plus[UNSIGNED, UNSIGNED return UNSIGNED]:function is "ieee_std_logic_arith_plus_unsigned"; + --attribute foreign of minus[SIGNED, SIGNED return SIGNED]:function is "ieee_std_logic_arith_minus_signed"; + --attribute foreign of unsigned_minus[UNSIGNED, UNSIGNED return UNSIGNED]:function is "ieee_std_logic_arith_minus_unsigned"; + + --attribute foreign of is_less[SIGNED, SIGNED return BOOLEAN]:function is "ieee_std_logic_arith_signed_is_less"; + --attribute foreign of is_less_or_equal[SIGNED, SIGNED return BOOLEAN]:function is "ieee_std_logic_arith_signed_is_less_or_equal"; + --attribute foreign of unsigned_is_less[UNSIGNED, UNSIGNED return BOOLEAN]:function is "ieee_std_logic_arith_unsigned_is_less"; + --attribute foreign of unsigned_is_less_or_equal[UNSIGNED, UNSIGNED return BOOLEAN]:function is "ieee_std_logic_arith_unsigned_is_less_or_equal"; + + --attribute foreign of CONV_INTEGER[UNSIGNED return INTEGER]:function is "ieee_std_logic_arith_conv_integer_unsigned"; + --attribute foreign of CONV_INTEGER[SIGNED return INTEGER]:function is "ieee_std_logic_arith_conv_integer_signed"; + --attribute foreign of CONV_INTEGER[STD_ULOGIC return SMALL_INT]:function is "ieee_std_logic_arith_conv_integer_ulogic"; + + --attribute foreign of CONV_UNSIGNED[INTEGER, INTEGER return UNSIGNED]:function is "ieee_std_logic_arith_conv_unsigned_integer"; + --attribute foreign of CONV_UNSIGNED[UNSIGNED, INTEGER return UNSIGNED]:function is "ieee_std_logic_arith_conv_unsigned_zeroext"; + --attribute foreign of CONV_UNSIGNED[SIGNED, INTEGER return UNSIGNED]:function is "ieee_std_logic_arith_conv_unsigned_signext"; + + --attribute foreign of CONV_SIGNED[INTEGER, INTEGER return SIGNED]:function is "ieee_std_logic_arith_conv_signed_integer"; + --attribute foreign of CONV_SIGNED[UNSIGNED, INTEGER return SIGNED]:function is "ieee_std_logic_arith_conv_signed_zeroext"; + --attribute foreign of CONV_SIGNED[SIGNED, INTEGER return SIGNED]:function is "ieee_std_logic_arith_conv_signed_signext"; + + --attribute foreign of "="[UNSIGNED, UNSIGNED return BOOLEAN]:function is "ieee_std_logic_arith_equal_unsigned_unsigned"; + --attribute foreign of ">"[UNSIGNED, UNSIGNED return BOOLEAN]:function is "ieee_std_logic_arith_greater_unsigned_unsigned"; + + attribute foreign of plus[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_plus"; + attribute foreign of unsigned_plus[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_plus"; + + attribute foreign of "+"[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_signed_plus"; + attribute foreign of "+"[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_unsigned_plus"; + attribute foreign of "+"[UNSIGNED, SIGNED return SIGNED]:function is "std_logic_arith_unsigned_signed_plus"; + attribute foreign of "+"[SIGNED, UNSIGNED return SIGNED]:function is "std_logic_arith_signed_unsigned_plus"; + attribute foreign of "+"[INTEGER, UNSIGNED return UNSIGNED]:function is "std_logic_arith_integer_unsigned_plus"; + attribute foreign of "+"[UNSIGNED, INTEGER return UNSIGNED]:function is "std_logic_arith_unsigned_integer_plus"; + attribute foreign of "+"[INTEGER, SIGNED return SIGNED]:function is "std_logic_arith_integer_signed_plus"; + attribute foreign of "+"[SIGNED, INTEGER return SIGNED]:function is "std_logic_arith_signed_integer_plus"; + attribute foreign of "+"[std_ulogic, unsigned return unsigned]:function is "std_logic_arith_ulogic_unsigned_plus"; + attribute foreign of "+"[unsigned, std_ulogic return unsigned]:function is "std_logic_arith_unsigned_ulogic_plus"; + attribute foreign of "+"[std_ulogic, signed return signed]:function is "std_logic_arith_ulogic_signed_plus"; + attribute foreign of "+"[signed, std_ulogic return signed]:function is "std_logic_arith_signed_ulogic_plus"; + + attribute foreign of "+"[SIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_signed_signed_plus"; + attribute foreign of "+"[UNSIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_unsigned_plus"; + attribute foreign of "+"[UNSIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_signed_plus"; + attribute foreign of "+"[SIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_signed_unsigned_plus"; + attribute foreign of "+"[INTEGER, UNSIGNED return std_logic_vector]:function is "std_logic_arith_integer_unsigned_plus"; + attribute foreign of "+"[UNSIGNED, INTEGER return std_logic_vector]:function is "std_logic_arith_unsigned_integer_plus"; + attribute foreign of "+"[INTEGER, SIGNED return std_logic_vector]:function is "std_logic_arith_integer_signed_plus"; + attribute foreign of "+"[SIGNED, INTEGER return std_logic_vector]:function is "std_logic_arith_signed_integer_plus"; + attribute foreign of "+"[std_ulogic, unsigned return std_logic_vector]:function is "std_logic_arith_ulogic_unsigned_plus"; + attribute foreign of "+"[unsigned, std_ulogic return std_logic_vector]:function is "std_logic_arith_unsigned_ulogic_plus"; + attribute foreign of "+"[std_ulogic, signed return std_logic_vector]:function is "std_logic_arith_ulogic_signed_plus"; + attribute foreign of "+"[signed, std_ulogic return std_logic_vector]:function is "std_logic_arith_signed_ulogic_plus"; + + + attribute foreign of minus[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_minus"; + attribute foreign of unsigned_minus[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_minus"; + + attribute foreign of "-"[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_signed_minus"; + attribute foreign of "-"[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_unsigned_minus"; + attribute foreign of "-"[UNSIGNED, SIGNED return SIGNED]:function is "std_logic_arith_unsigned_signed_minus"; + attribute foreign of "-"[SIGNED, UNSIGNED return SIGNED]:function is "std_logic_arith_signed_unsigned_minus"; + attribute foreign of "-"[INTEGER, UNSIGNED return UNSIGNED]:function is "std_logic_arith_integer_unsigned_minus"; + attribute foreign of "-"[UNSIGNED, INTEGER return UNSIGNED]:function is "std_logic_arith_unsigned_integer_minus"; + attribute foreign of "-"[INTEGER, SIGNED return SIGNED]:function is "std_logic_arith_integer_signed_minus"; + attribute foreign of "-"[SIGNED, INTEGER return SIGNED]:function is "std_logic_arith_signed_integer_minus"; + attribute foreign of "-"[std_ulogic, unsigned return unsigned]:function is "std_logic_arith_ulogic_unsigned_minus"; + attribute foreign of "-"[unsigned, std_ulogic return unsigned]:function is "std_logic_arith_unsigned_ulogic_minus"; + attribute foreign of "-"[std_ulogic, signed return signed]:function is "std_logic_arith_ulogic_signed_minus"; + attribute foreign of "-"[signed, std_ulogic return signed]:function is "std_logic_arith_signed_ulogic_minus"; + + attribute foreign of "-"[SIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_signed_signed_minus"; + attribute foreign of "-"[UNSIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_unsigned_minus"; + attribute foreign of "-"[UNSIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_signed_minus"; + attribute foreign of "-"[SIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_signed_unsigned_minus"; + attribute foreign of "-"[INTEGER, UNSIGNED return std_logic_vector]:function is "std_logic_arith_integer_unsigned_minus"; + attribute foreign of "-"[UNSIGNED, INTEGER return std_logic_vector]:function is "std_logic_arith_unsigned_integer_minus"; + attribute foreign of "-"[INTEGER, SIGNED return std_logic_vector]:function is "std_logic_arith_integer_signed_minus"; + attribute foreign of "-"[SIGNED, INTEGER return std_logic_vector]:function is "std_logic_arith_signed_integer_minus"; + attribute foreign of "-"[std_ulogic, unsigned return std_logic_vector]:function is "std_logic_arith_ulogic_unsigned_minus"; + attribute foreign of "-"[unsigned, std_ulogic return std_logic_vector]:function is "std_logic_arith_unsigned_ulogic_minus"; + attribute foreign of "-"[std_ulogic, signed return std_logic_vector]:function is "std_logic_arith_ulogic_signed_minus"; + attribute foreign of "-"[signed, std_ulogic return std_logic_vector]:function is "std_logic_arith_signed_ulogic_minus"; + + attribute foreign of mult[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_mult"; + attribute foreign of mult[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_mult"; + + attribute foreign of "*"[SIGNED, SIGNED return SIGNED]:function is "std_logic_arith_signed_signed_mult"; + attribute foreign of "*"[UNSIGNED, UNSIGNED return UNSIGNED]:function is "std_logic_arith_unsigned_unsigned_mult"; + attribute foreign of "*"[UNSIGNED, SIGNED return SIGNED]:function is "std_logic_arith_unsigned_signed_mult"; + attribute foreign of "*"[SIGNED, UNSIGNED return SIGNED]:function is "std_logic_arith_signed_unsigned_mult"; + attribute foreign of "*"[SIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_signed_signed_mult"; + attribute foreign of "*"[UNSIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_unsigned_mult"; + attribute foreign of "*"[UNSIGNED, SIGNED return std_logic_vector]:function is "std_logic_arith_unsigned_signed_mult"; + attribute foreign of "*"[SIGNED, UNSIGNED return std_logic_vector]:function is "std_logic_arith_signed_unsigned_mult"; + + attribute foreign of "+"[UNSIGNED return UNSIGNED]:function is "std_logic_arith_unary_plus"; + attribute foreign of "+"[SIGNED return SIGNED]:function is "std_logic_arith_unary_plus"; + attribute foreign of "-"[SIGNED return SIGNED]:function is "std_logic_arith_signed_unary_minus"; + attribute foreign of "ABS"[SIGNED return SIGNED]:function is "std_logic_arith_signed_unary_abs"; + attribute foreign of "+"[UNSIGNED return std_logic_vector]:function is "std_logic_arith_unary_plus"; + attribute foreign of "+"[SIGNED return std_logic_vector]:function is "std_logic_arith_unary_plus"; + attribute foreign of "-"[SIGNED return std_logic_vector]:function is "std_logic_arith_signed_unary_minus"; + attribute foreign of "ABS"[SIGNED return std_logic_vector]:function is "std_logic_arith_signed_unary_abs"; + + attribute foreign of is_less[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_is_less"; + attribute foreign of is_less_or_equal[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_is_less_or_equal"; + attribute foreign of unsigned_is_less[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_is_less"; + attribute foreign of unsigned_is_less_or_equal[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_is_less_or_equal"; + attribute foreign of "<"[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_less"; + attribute foreign of "<"[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_less"; + attribute foreign of "<"[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_less"; + attribute foreign of "<"[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_less"; + attribute foreign of "<"[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_less"; + attribute foreign of "<"[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_less"; + attribute foreign of "<"[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_less"; + attribute foreign of "<"[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_less"; + attribute foreign of "<="[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_less_or_equal"; + attribute foreign of "<="[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_less_or_equal"; + attribute foreign of "<="[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_less_or_equal"; + attribute foreign of "<="[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_less_or_equal"; + attribute foreign of "<="[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_less_or_equal"; + attribute foreign of "<="[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_less_or_equal"; + attribute foreign of "<="[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_less_or_equal"; + attribute foreign of "<="[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_less_or_equal"; + attribute foreign of ">"[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_greater"; + attribute foreign of ">"[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_greater"; + attribute foreign of ">"[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_greater"; + attribute foreign of ">"[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_greater"; + attribute foreign of ">"[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_greater"; + attribute foreign of ">"[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_greater"; + attribute foreign of ">"[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_greater"; + attribute foreign of ">"[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_greater"; + attribute foreign of ">="[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_greater_or_equal"; + attribute foreign of ">="[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_greater_or_equal"; + attribute foreign of ">="[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_greater_or_equal"; + attribute foreign of ">="[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_greater_or_equal"; + attribute foreign of ">="[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_greater_or_equal"; + attribute foreign of ">="[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_greater_or_equal"; + attribute foreign of ">="[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_greater_or_equal"; + attribute foreign of ">="[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_greater_or_equal"; + attribute foreign of "="[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_equal"; + attribute foreign of "="[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_equal"; + attribute foreign of "="[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_equal"; + attribute foreign of "="[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_equal"; + attribute foreign of "="[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_equal"; + attribute foreign of "="[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_equal"; + attribute foreign of "="[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_equal"; + attribute foreign of "="[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_equal"; + attribute foreign of "/="[UNSIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_not_equal"; + attribute foreign of "/="[SIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_signed_signed_is_not_equal"; + attribute foreign of "/="[UNSIGNED, SIGNED return BOOLEAN]:function is "std_logic_arith_unsigned_signed_is_not_equal"; + attribute foreign of "/="[SIGNED, UNSIGNED return BOOLEAN]:function is "std_logic_arith_signed_unsigned_is_not_equal"; + attribute foreign of "/="[UNSIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_not_equal"; + attribute foreign of "/="[INTEGER, UNSIGNED return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_not_equal"; + attribute foreign of "/="[SIGNED, INTEGER return BOOLEAN]:function is "std_logic_arith_signed_integer_is_not_equal"; + attribute foreign of "/="[INTEGER, SIGNED return BOOLEAN]:function is "std_logic_arith_integer_signed_is_not_equal"; + + attribute foreign of SHL[unsigned, unsigned return unsigned]:function is "std_logic_arith_unsigned_shl"; + attribute foreign of SHL[signed, unsigned return signed]:function is "std_logic_arith_signed_shl"; + attribute foreign of SHR[unsigned, unsigned return unsigned]:function is "std_logic_arith_unsigned_shr"; + attribute foreign of SHR[signed, unsigned return signed]:function is "std_logic_arith_signed_shr"; + + attribute foreign of conv_integer[integer return integer]:function is "std_logic_arith_conv_integer_to_integer"; + attribute foreign of conv_integer[unsigned return integer]:function is "std_logic_arith_conv_unsigned_to_integer"; + attribute foreign of conv_integer[signed return integer]:function is "std_logic_arith_conv_signed_to_integer"; + attribute foreign of conv_integer[std_ulogic return integer]:function is "std_logic_arith_conv_ulogic_to_integer"; + + attribute foreign of conv_unsigned[integer, integer return unsigned]:function is "std_logic_arith_conv_integer_to_unsigned"; + attribute foreign of conv_unsigned[unsigned, integer return unsigned]:function is "std_logic_arith_conv_unsigned_to_unsigned"; + attribute foreign of conv_unsigned[signed, integer return unsigned]:function is "std_logic_arith_conv_signed_to_unsigned"; + attribute foreign of conv_unsigned[std_ulogic, integer return unsigned]:function is "std_logic_arith_conv_ulogic_to_unsigned"; + + attribute foreign of conv_signed[integer, integer return signed]:function is "std_logic_arith_conv_integer_to_signed"; + attribute foreign of conv_signed[unsigned, integer return signed]:function is "std_logic_arith_conv_unsigned_to_signed"; + attribute foreign of conv_signed[signed, integer return signed]:function is "std_logic_arith_conv_signed_to_signed"; + attribute foreign of conv_signed[std_ulogic, integer return signed]:function is "std_logic_arith_conv_ulogic_to_signed"; + + attribute foreign of conv_std_logic_vector[integer, integer return std_logic_vector]:function is "std_logic_arith_conv_integer_to_vector"; + attribute foreign of conv_std_logic_vector[unsigned, integer return std_logic_vector]:function is "std_logic_arith_conv_unsigned_to_vector"; + attribute foreign of conv_std_logic_vector[signed, integer return std_logic_vector]:function is "std_logic_arith_conv_signed_to_vector"; + attribute foreign of conv_std_logic_vector[std_ulogic, integer return std_logic_vector]:function is "std_logic_arith_conv_ulogic_to_vector"; + + attribute foreign of ext[std_logic_vector, integer return std_logic_vector]:function is "std_logic_arith_ext"; + attribute foreign of sxt[std_logic_vector, integer return std_logic_vector]:function is "std_logic_arith_sxt"; + + attribute foreign of Std_logic_arith: package is "copy extra C function"; +-- Verific : attributes re-declaration causes use-clause inclusion conflicts if re-declared here. + -- Exemplar Synthesis Directive Attributes + attribute IS_SIGNED : BOOLEAN ; + attribute SYNTHESIS_RETURN : STRING ; + +end Std_logic_arith; + + +library IEEE; +use IEEE.std_logic_1164.all; + +package body std_logic_arith is + + function has_x(s : unsigned) return boolean is + constant len: integer:=s'length; + alias sv: unsigned(1 to len) is s; + begin + for i in 1 to len loop + case sv(i) is + when '0'|'1'|'H'|'L' => null; + when others => return true; + end case; + end loop; + return false; + end; + + function max(L, R: INTEGER) return INTEGER is + begin + if L > R then + return L; + else + return R; + end if; + end; + + + function min(L, R: INTEGER) return INTEGER is + begin + if L < R then + return L; + else + return R; + end if; + end; + + -- synopsys synthesis_off + type tbl_type is array (STD_ULOGIC) of STD_ULOGIC; + constant tbl_BINARY : tbl_type := + ('X', 'X', '0', '1', 'X', 'X', '0', '1', 'X'); + -- synopsys synthesis_on + + -- synopsys synthesis_off + type tbl_mvl9_boolean is array (STD_ULOGIC) of boolean; + constant IS_X : tbl_mvl9_boolean := + (true, true, false, false, true, true, false, false, true); + -- synopsys synthesis_on + + + + function MAKE_BINARY(A : STD_ULOGIC) return STD_ULOGIC is + -- synopsys built_in SYN_FEED_THRU + variable result : STD_ULOGIC ; + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + if (IS_X(A)) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := ('X'); + return result ; + end if; + result := tbl_BINARY(A); + return result ; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : UNSIGNED) return UNSIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : UNSIGNED (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : UNSIGNED) return SIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : SIGNED (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : SIGNED) return UNSIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : UNSIGNED (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : SIGNED) return SIGNED is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : SIGNED (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : STD_LOGIC_VECTOR (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : UNSIGNED) return STD_LOGIC_VECTOR is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : STD_LOGIC_VECTOR (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + function MAKE_BINARY(A : SIGNED) return STD_LOGIC_VECTOR is + -- synopsys built_in SYN_FEED_THRU + -- variable one_bit : STD_ULOGIC; + variable result : STD_LOGIC_VECTOR (A'range); + -- Add Exemplar synthesis attribute + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + for i in A'range loop + if (IS_X(A(i))) then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + end if; + result(i) := tbl_BINARY(A(i)); + end loop; + return result; + -- synopsys synthesis_on + end; + + + + -- Type propagation function which returns a signed type with the + -- size of the left arg. + function LEFT_SIGNED_ARG(A,B: SIGNED) return SIGNED is + variable Z: SIGNED (A'left downto 0) := (others=>'X') ; + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns an unsigned type with the + -- size of the left arg. + function LEFT_UNSIGNED_ARG(A,B: UNSIGNED) return UNSIGNED is + variable Z: UNSIGNED (A'left downto 0) := (others=>'X') ; + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns a signed type with the + -- size of the result of a signed multiplication + function MULT_SIGNED_ARG(A,B: SIGNED) return SIGNED is + variable Z: SIGNED ((A'length+B'length-1) downto 0) := (others=>'X') ; + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns an unsigned type with the + -- size of the result of a unsigned multiplication + function MULT_UNSIGNED_ARG(A,B: UNSIGNED) return UNSIGNED is + variable Z: UNSIGNED ((A'length+B'length-1) downto 0) := (others=>'X') ; + -- pragma return_port_name Z + begin + return(Z); + end; + + + + function mult(A,B: SIGNED) return SIGNED is + + variable BA: SIGNED((A'length+B'length-1) downto 0); + variable PA: SIGNED((A'length+B'length-1) downto 0); + variable AA: SIGNED(A'length downto 0); + variable neg: STD_ULOGIC; + constant one : UNSIGNED(1 downto 0) := "01"; + + -- pragma map_to_operator MULT_TC_OP + -- pragma type_function MULT_SIGNED_ARG + -- pragma return_port_name Z + + -- pragma label_applies_to mult + + -- Add Exemplar synthesis attributes + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of PA:variable is TRUE ; + attribute SYNTHESIS_RETURN of PA:variable is "MULT" ; + begin + if (A(A'left) = 'X' or B(B'left) = 'X') then + PA := (others => 'X'); + return(PA); + end if; + PA := (others => '0'); + neg := B(B'left) xor A(A'left); + BA := CONV_SIGNED(('0' & SIGNED'(ABS(B))),(A'length+B'length)); + AA := '0' & SIGNED'(ABS(A)); + for i in 0 to A'length-1 loop + if AA(i) = '1' then + PA := PA+BA; + end if; + BA := SHL(BA,one); + end loop; + if (neg= '1') then + return(-PA); + else + return(PA); + end if; + end; + +-- this is the Xilinx customized 'mult(A,B: UNSIGNED) return UNSIGNED' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + + function mult(A,B: UNSIGNED) return UNSIGNED is + + constant msb: integer:=A'length+B'length-1; + variable BA: UNSIGNED(msb downto 0); + variable PA: UNSIGNED(msb downto 0); + + -- pragma map_to_operator MULT_UNS_OP + -- pragma type_function MULT_UNSIGNED_ARG + -- pragma return_port_name Z + + begin + if (A(A'left) = 'X' or B(B'left) = 'X') then + PA := (others => 'X'); + return(PA); + end if; + PA := (others => '0'); + BA := CONV_UNSIGNED(B,(A'length+B'length)); + for i in 0 to A'length-1 loop + if A(i) = '1' then + PA := PA+BA; + end if; + for j in msb downto 1 loop + BA(j):=BA(j-1); + end loop; + BA(0) := '0'; + end loop; + return(PA); + end; + + --function mult(A,B: UNSIGNED) return UNSIGNED is + + -- variable BA: UNSIGNED((A'length+B'length-1) downto 0); + -- variable PA: UNSIGNED((A'length+B'length-1) downto 0); + -- constant one : UNSIGNED(1 downto 0) := "01"; + + -- -- pragma map_to_operator MULT_UNS_OP + -- -- pragma type_function MULT_UNSIGNED_ARG + -- -- pragma return_port_name Z + + ---- pragma label_applies_to mult + + -- -- Add Exemplar synthesis attributes + -- attribute SYNTHESIS_RETURN of PA:variable is "MULT" ; + -- begin + --if (A(A'left) = 'X' or B(B'left) = 'X') then + -- PA := (others => 'X'); + -- return(PA); + --end if; + -- PA := (others => '0'); + -- BA := CONV_UNSIGNED(B,(A'length+B'length)); + -- for i in 0 to A'length-1 loop + -- if A(i) = '1' then + -- PA := PA+BA; + -- end if; + -- BA := SHL(BA,one); + -- end loop; + -- return(PA); + -- end; + + -- subtract two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function minus(A, B: SIGNED) return SIGNED is + variable carry: STD_ULOGIC; + variable BV: STD_ULOGIC_VECTOR (A'left downto 0); + variable sum: SIGNED (A'left downto 0); + + -- pragma map_to_operator SUB_TC_OP + + -- pragma type_function LEFT_SIGNED_ARG + -- pragma return_port_name Z + -- pragma label_applies_to minus + + -- Add Exemplar synthesis attributes + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of sum:variable is TRUE ; + attribute SYNTHESIS_RETURN of sum:variable is "SUB" ; + begin + if (A(A'left) = 'X' or B(B'left) = 'X') then + sum := (others => 'X'); + return(sum); + end if; + carry := '1'; + BV := not STD_ULOGIC_VECTOR(B); + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + + -- add two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function plus(A, B: SIGNED) return SIGNED is + variable carry: STD_ULOGIC; + variable BV, sum: SIGNED (A'left downto 0); + + -- pragma map_to_operator ADD_TC_OP + -- pragma type_function LEFT_SIGNED_ARG + -- pragma return_port_name Z + -- pragma label_applies_to plus + + -- Add Exemplar synthesis attributes + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute is_signed of sum:variable is TRUE ; + attribute SYNTHESIS_RETURN of sum:variable is "ADD" ; + begin + if (A(A'left) = 'X' or B(B'left) = 'X') then + sum := (others => 'X'); + return(sum); + end if; + carry := '0'; + BV := B; + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + + + -- subtract two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_minus(A, B: UNSIGNED) return UNSIGNED is + variable carry: STD_ULOGIC; + variable BV: STD_ULOGIC_VECTOR (A'left downto 0); + variable sum: UNSIGNED (A'left downto 0); + + -- pragma map_to_operator SUB_UNS_OP + -- pragma type_function LEFT_UNSIGNED_ARG + -- pragma return_port_name Z + -- pragma label_applies_to minus + + -- Add Exemplar synthesis attributes + attribute SYNTHESIS_RETURN of sum:variable is "SUB" ; + begin + if (A(A'left) = 'X' or B(B'left) = 'X') then + sum := (others => 'X'); + return(sum); + end if; + carry := '1'; + BV := not STD_ULOGIC_VECTOR(B); + + for i in 0 to A'left loop + sum(i) := A(i) xor BV(i) xor carry; + carry := (A(i) and BV(i)) or + (A(i) and carry) or + (carry and BV(i)); + end loop; + return sum; + end; + +-- this is the Xilinx customized 'unsigned_plus(A,B: UNSIGNED) return UNSIGNED' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + -- add two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_plus(A, B: UNSIGNED) return UNSIGNED is + variable carry,x: STD_ULOGIC; + constant msb: natural:=a'length-1; + variable sum: UNSIGNED (msb downto 0); + alias av: Unsigned(msb downto 0) is a; + alias bv: Unsigned(msb downto 0) is B; + + -- pragma map_to_operator ADD_UNS_OP + -- pragma type_function LEFT_UNSIGNED_ARG + -- pragma return_port_name Z + + begin + if (Av(msb) = 'X' or Bv(msb) = 'X') then + sum := (others => 'X'); + return(sum); + end if; + + sum(0) := Av(0) xor BV(0); + carry := Av(0) and BV(0); + for i in 1 to msb-1 loop + x := Av(i) xor Bv(i); + sum(i) := x xor carry; + carry := (Av(i) and BV(i)) + or (carry and x); + end loop; + if msb>0 then + sum(msb) := Av(msb) xor BV(msb) xor carry; + end if; + return sum; + end; + + + -- add two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + --function unsigned_plus(A, B: UNSIGNED) return UNSIGNED is + --variable carry: STD_ULOGIC; + --variable BV, sum: UNSIGNED (A'left downto 0); + + ---- pragma map_to_operator ADD_UNS_OP + ---- pragma type_function LEFT_UNSIGNED_ARG + -- -- pragma return_port_name Z + ---- pragma label_applies_to plus + + -- -- Add Exemplar synthesis attributes + -- attribute SYNTHESIS_RETURN of sum:variable is "ADD" ; + --begin + --if (A(A'left) = 'X' or B(B'left) = 'X') then + -- sum := (others => 'X'); + -- return(sum); + --end if; + --carry := '0'; + --BV := B; + + --for i in 0 to A'left loop + -- sum(i) := A(i) xor BV(i) xor carry; + -- carry := (A(i) and BV(i)) or + -- (A(i) and carry) or + -- (carry and BV(i)); + --end loop; + --return sum; + --end; + + + + function "*"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to mult + begin + return mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to mult + begin + return mult(CONV_UNSIGNED(L, L'length), + CONV_UNSIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + begin + return mult(CONV_SIGNED(L, L'length+1), + CONV_SIGNED(R, R'length)); -- pragma label mult + end; + + function "*"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to plus + begin + return mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length+1)); -- pragma label mult + end; + + + function "*"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to mult + begin + return STD_LOGIC_VECTOR (mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length))); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to mult + begin + return STD_LOGIC_VECTOR (mult(CONV_UNSIGNED(L, L'length), + CONV_UNSIGNED(R, R'length))); -- pragma label mult + end; + + function "*"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + begin + return STD_LOGIC_VECTOR (mult(CONV_SIGNED(L, L'length+1), + CONV_SIGNED(R, R'length))); -- pragma label mult + end; + + function "*"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + begin + return STD_LOGIC_VECTOR (mult(CONV_SIGNED(L, L'length), + CONV_SIGNED(R, R'length+1))); -- pragma label mult + end; + + + function "+"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: INTEGER) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. R will be interpreted as signed integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "+"(L: INTEGER; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. L will be interpreted as signed integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "+"(L: SIGNED; R: INTEGER) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: INTEGER; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)) ; -- pragma label plus + end; + + + function "+"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: STD_ULOGIC) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + function "+"(L: STD_ULOGIC; R: SIGNED) return SIGNED is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label plus + end; + + + + function "+"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return STD_LOGIC_VECTOR (unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length); + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. R will be interpreted as signed integer. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "+"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- adder. L will be interpreted as signed integer. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "ADD" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + plus( -- pragma label plus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "+"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return STD_LOGIC_VECTOR (unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length))) ; -- pragma label plus + end; + + + function "+"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return STD_LOGIC_VECTOR (unsigned_plus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := L'length; + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + function "+"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := R'length; + begin + return STD_LOGIC_VECTOR (plus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label plus + end; + + + + function "-"(L: UNSIGNED; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_minus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: UNSIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: INTEGER) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. R will be interpreted as signed integer. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: INTEGER; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor (L will be interpreted as (signed) integer). + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: SIGNED; R: INTEGER) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: INTEGER; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: STD_ULOGIC) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. R is unsigned since CONV_SIGNED on + -- std_ulogic does zero-extension. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: STD_ULOGIC; R: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. L is unsigned since CONV_SIGNED on + -- std_ulogic does zero-extension. + variable result : UNSIGNED(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1); + return result ; + end; + + + function "-"(L: SIGNED; R: STD_ULOGIC) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + function "-"(L: STD_ULOGIC; R: SIGNED) return SIGNED is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label minus + end; + + + + + function "-"(L: UNSIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return STD_LOGIC_VECTOR (unsigned_minus(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length); + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length + 1, R'length); + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: SIGNED; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := max(L'length, R'length + 1); + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. R will be interpreted as signed or + -- unsigned, depending on its range. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "-"(L: INTEGER; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. L will be interpreted as signed or + -- unsigned, depending on its range. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "-"(L: SIGNED; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: INTEGER; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: UNSIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := L'length + 1; + -- It does not make sense to extend L one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. R is unsigned since CONV_SIGNED does + -- zero-extend on std_ulogic. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "-"(L: STD_ULOGIC; R: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := R'length + 1; + -- It does not make sense to extend R one bit and eliminate + -- the MSB result bit. For Exemplar : build a length-1 + -- unsigned subtractor. L is unsigned since CONV_SIGNED does + -- zero-extend on std_ulogic. + variable result : STD_LOGIC_VECTOR(length-2 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "SUB" ; + begin + result := STD_LOGIC_VECTOR (CONV_UNSIGNED( + minus( -- pragma label minus + CONV_SIGNED(L, length), + CONV_SIGNED(R, length)), + length-1)); + return result ; + end; + + + function "-"(L: SIGNED; R: STD_ULOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := L'length; + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + function "-"(L: STD_ULOGIC; R: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := R'length; + begin + return STD_LOGIC_VECTOR (minus(CONV_SIGNED(L, length), + CONV_SIGNED(R, length))); -- pragma label minus + end; + + + + + function "+"(L: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to plus + begin + return L; + end; + + + function "+"(L: SIGNED) return SIGNED is + -- pragma label_applies_to plus + begin + return L; + end; + + + function "-"(L: SIGNED) return SIGNED is + -- pragma label_applies_to minus + variable result : SIGNED(L'range) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute is_signed of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "UMINUS" ; + begin + result := 0 - L; -- pragma label minus + return result ; + end; + + + function "ABS"(L: SIGNED) return SIGNED is + -- pragma label_applies_to abs + + variable result : SIGNED(L'range) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "ABS" ; + begin + if (L(L'left) = '0' or L(L'left) = 'L') then + result := L; + else + result := 0 - L; + end if; + return result ; + end; + + + function "+"(L: UNSIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + begin + return STD_LOGIC_VECTOR (L); + end; + + + function "+"(L: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + begin + return STD_LOGIC_VECTOR (L); + end; + + + function "-"(L: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable tmp: SIGNED(L'length-1 downto 0); + variable result : STD_LOGIC_VECTOR(tmp'range) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute is_signed of result:variable is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "UMINUS" ; + begin + tmp := 0 - L; -- pragma label minus + result := STD_LOGIC_VECTOR (tmp); + return result ; + end; + + + function "ABS"(L: SIGNED) return STD_LOGIC_VECTOR is + -- pragma label_applies_to abs + + variable tmp: SIGNED(L'length-1 downto 0); + variable result : STD_LOGIC_VECTOR(tmp'range) ; + attribute IS_SIGNED of L:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "ABS" ; + begin + if (L(L'left) = '0' or L(L'left) = 'L') then + result := STD_LOGIC_VECTOR (L); + else + tmp := 0 - L; + result := STD_LOGIC_VECTOR (tmp); + end if; + return result ; + end; + + + -- Type propagation function which returns the type BOOLEAN + function UNSIGNED_RETURN_BOOLEAN(A,B: UNSIGNED) return BOOLEAN is + variable Z: BOOLEAN := FALSE ; + -- pragma return_port_name Z + begin + return(Z); + end; + + -- Type propagation function which returns the type BOOLEAN + function SIGNED_RETURN_BOOLEAN(A,B: SIGNED) return BOOLEAN is + variable Z: BOOLEAN := FALSE ; + -- pragma return_port_name Z + begin + return(Z); + end; + + + -- compare two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function is_less(A, B: SIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LT_TC_OP + -- pragma type_function SIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + -- pragma label_applies_to lt + + -- Exemplar synthesis directives + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "LT" ; + begin + if A(sign) /= B(sign) then + result := A(sign) = '1'; + else + result := FALSE; + for i in 0 to sign-1 loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + end if; + return result; + end; + + + -- compare two signed numbers of the same length + -- both arrays must have range (msb downto 0) + function is_less_or_equal(A, B: SIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LEQ_TC_OP + -- pragma type_function SIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + -- pragma label_applies_to leq + + -- Exemplar synthesis directives + attribute IS_SIGNED of A:constant is TRUE ; + attribute IS_SIGNED of B:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "LTE" ; + begin + if A(sign) /= B(sign) then + result := A(sign) = '1'; + else + result := TRUE; + for i in 0 to sign-1 loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + end if; + return result; + end; + + + + -- compare two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_is_less(A, B: UNSIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LT_UNS_OP + -- pragma type_function UNSIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + -- pragma label_applies_to leq + + -- Exemplar synthesis directives + attribute SYNTHESIS_RETURN of result:variable is "LT" ; + begin + result := FALSE; + for i in 0 to sign loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + return result; + end; + + + -- compare two unsigned numbers of the same length + -- both arrays must have range (msb downto 0) + function unsigned_is_less_or_equal(A, B: UNSIGNED) return BOOLEAN is + constant sign: INTEGER := A'left; + variable a_is_0, b_is_1, result : boolean; + + -- pragma map_to_operator LEQ_UNS_OP + -- pragma type_function UNSIGNED_RETURN_BOOLEAN + -- pragma return_port_name Z + -- pragma label_applies_to leq + + -- Exemplar synthesis directives + attribute SYNTHESIS_RETURN of result:variable is "LTE" ; + begin + result := TRUE; + for i in 0 to sign loop + a_is_0 := A(i) = '0'; + b_is_1 := B(i) = '1'; + result := (a_is_0 and b_is_1) or + (a_is_0 and result) or + (b_is_1 and result); + end loop; + return result; + end; + + + + + function "<"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := L'length + 1; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := R'length + 1; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := L'length; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + function "<"(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := R'length; + begin + return is_less(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label lt + end; + + + + + function "<="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less_or_equal(CONV_UNSIGNED(L, length), + CONV_UNSIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := L'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := R'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := L'length; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + function "<="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to leq + constant length: INTEGER := R'length; + begin + return is_less_or_equal(CONV_SIGNED(L, length), + CONV_SIGNED(R, length)); -- pragma label leq + end; + + + + + function ">"(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less(CONV_UNSIGNED(R, length), + CONV_UNSIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := L'length + 1; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := R'length + 1; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := L'length; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + function ">"(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to gt + constant length: INTEGER := R'length; + begin + return is_less(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label gt + end; + + + + + function ">="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length); + begin + return unsigned_is_less_or_equal(CONV_UNSIGNED(R, length), + CONV_UNSIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := L'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := R'length + 1; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := L'length; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + function ">="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to geq + constant length: INTEGER := R'length; + begin + return is_less_or_equal(CONV_SIGNED(R, length), + CONV_SIGNED(L, length)); -- pragma label geq + end; + + + + + -- for internal use only. Assumes SIGNED arguments of equal length. + function bitwise_eql(L: STD_ULOGIC_VECTOR; R: STD_ULOGIC_VECTOR) + return BOOLEAN is + -- pragma label_applies_to eq + -- pragma built_in SYN_EQL + -- Exemplar synthesis directives + variable result : BOOLEAN ; + attribute SYNTHESIS_RETURN of result:variable is "EQ" ; + begin + for i in L'range loop + if L(i) /= R(i) then + result := FALSE ; + return result ; + end if; + end loop; + result := TRUE ; + return result ; + end; + + -- for internal use only. Assumes SIGNED arguments of equal length. + function bitwise_neq(L: STD_ULOGIC_VECTOR; R: STD_ULOGIC_VECTOR) + return BOOLEAN is + -- pragma label_applies_to neq + -- pragma built_in SYN_NEQ + -- Exemplar synthesis directives + variable result : BOOLEAN ; + attribute SYNTHESIS_RETURN of result:variable is "NEQ" ; + begin + for i in L'range loop + if L(i) /= R(i) then + result := TRUE ; + return result ; + end if; + end loop; + result := FALSE; + return result ; + end; + + + function "="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_UNSIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_UNSIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := L'length + 1; + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := R'length + 1; + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := L'length; + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to eq + constant length: INTEGER := R'length; + begin + return bitwise_eql( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + + + function "/="(L: UNSIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_UNSIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_UNSIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := max(L'length, R'length); + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: UNSIGNED; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := max(L'length + 1, R'length); + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := max(L'length, R'length + 1); + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: UNSIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := L'length + 1; + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: INTEGER; R: UNSIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := R'length + 1; + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: SIGNED; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := L'length; + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + + + function "/="(L: INTEGER; R: SIGNED) return BOOLEAN is + -- pragma label_applies_to neq + constant length: INTEGER := R'length; + begin + return bitwise_neq( STD_ULOGIC_VECTOR( CONV_SIGNED(L, length) ), + STD_ULOGIC_VECTOR( CONV_SIGNED(R, length) ) ); + end; + +-- this is the Xilinx customized 'SHL(A,B: UNSIGNED) return UNSIGNED' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + + function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED is + -- synopsys subpgm_id 358 + variable shiftval: integer; + constant result_msb: INTEGER := ARG'length-1; + variable result: UNSIGNED (result_msb downto 0); + alias aarg: unsigned(result_msb downto 0) is arg; + begin + -- synopsys synthesis_off + if has_x(count) then + result := (others => 'X'); + return result; + end if; + -- synopsys synthesis_on + shiftval:=conv_integer(count); + result := (others => '0'); + if shiftval <= result_msb then + result(result_msb downto shiftval) := + aarg(result_msb - shiftval downto 0); + end if; + return result; + end; + + + + --Function SHL(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED is + ---- pragma label_applies_to shl + --constant control_msb: INTEGER := COUNT'length - 1; + --variable control: UNSIGNED (control_msb downto 0); + --constant result_msb: INTEGER := ARG'length-1; + --subtype rtype is UNSIGNED (result_msb downto 0); + --variable result, temp: rtype; + + -- -- Exemplar Synthesis Directive Attributes + -- attribute SYNTHESIS_RETURN of result:variable is "SLL" ; + --begin + --control := MAKE_BINARY(COUNT); + --if (control(0) = 'X') then + -- result := rtype'(others => 'X'); + -- return result; + --end if; + --result := ARG; + --for i in 0 to control_msb loop + -- if control(i) = '1' then + -- temp := rtype'(others => '0'); + -- if 2**i <= result_msb then + -- temp(result_msb downto 2**i) := + -- result(result_msb - 2**i downto 0); + -- end if; + -- result := temp; + -- end if; + --end loop; + --return result; + --end; + + function SHL(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED is + -- pragma label_applies_to shl + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is SIGNED (result_msb downto 0); + variable result, temp: rtype; + + -- Exemplar Synthesis Directive Attributes + attribute SYNTHESIS_RETURN of result:variable is "SLL" ; + begin + control := MAKE_BINARY(COUNT); + if (control(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := ARG; + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => '0'); + if 2**i <= result_msb then + temp(result_msb downto 2**i) := + result(result_msb - 2**i downto 0); + end if; + result := temp; + end if; + end loop; + return result; + end; + + + function SHR(ARG: UNSIGNED; COUNT: UNSIGNED) return UNSIGNED is + -- pragma label_applies_to shr + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is UNSIGNED (result_msb downto 0); + variable result, temp: rtype; + + -- Exemplar Synthesis Directive Attributes + attribute SYNTHESIS_RETURN of result:variable is "SRL" ; + begin + control := MAKE_BINARY(COUNT); + if (control(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := ARG; + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => '0'); + if 2**i <= result_msb then + temp(result_msb - 2**i downto 0) := + result(result_msb downto 2**i); + end if; + result := temp; + end if; + end loop; + return result; + end; + + function SHR(ARG: SIGNED; COUNT: UNSIGNED) return SIGNED is + -- pragma label_applies_to shr + + constant control_msb: INTEGER := COUNT'length - 1; + variable control: UNSIGNED (control_msb downto 0); + constant result_msb: INTEGER := ARG'length-1; + subtype rtype is SIGNED (result_msb downto 0); + variable result, temp: rtype; + variable sign_bit: STD_ULOGIC; + -- Exemplar Synthesis Directive Attributes + attribute SYNTHESIS_RETURN of result:variable is "SRA" ; + begin + control := MAKE_BINARY(COUNT); + if (control(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := ARG; + sign_bit := ARG(ARG'left); + for i in 0 to control_msb loop + if control(i) = '1' then + temp := rtype'(others => sign_bit); + if 2**i <= result_msb then + temp(result_msb - 2**i downto 0) := + result(result_msb downto 2**i); + end if; + result := temp; + end if; + end loop; + return result; + end; + + + + + function CONV_INTEGER(ARG: INTEGER) return INTEGER is + begin + return ARG; + end; + +-- this is the Xilinx customized 'CONV_INTEGER(ARG: UNSIGNED) return UNSIGNED' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + + function CONV_INTEGER(ARG: UNSIGNED) return INTEGER is + variable result: INTEGER; + variable tmp: STD_ULOGIC; + -- synopsys built_in SYN_UNSIGNED_TO_INTEGER + -- synopsys subpgm_id 366 + begin + -- synopsys synthesis_off + assert ARG'length <= 31 + report "ARG is too large in CONV_INTEGER" + severity FAILURE; + result := 0; + for i in ARG'range loop + result := result * 2; + tmp := tbl_BINARY(ARG(i)); + if tmp = '1' then + result := result + 1; + elsif tmp = 'X' then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + assert false + report "CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." + severity WARNING; + return 0; + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + --function CONV_INTEGER(ARG: UNSIGNED) return INTEGER is + --variable result: INTEGER; + --variable tmp: STD_ULOGIC; + ---- synopsys built_in SYN_UNSIGNED_TO_INTEGER + -- -- Exemplar synthesis directive : + -- attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + --begin + ---- synopsys synthesis_off + --assert ARG'length <= 31 + -- report "ARG is too large in CONV_INTEGER" + -- severity FAILURE; + --result := 0; + --for i in ARG'range loop + -- result := result * 2; + -- tmp := tbl_BINARY(ARG(i)); + -- if tmp = '1' then + -- result := result + 1; + -- elsif tmp = 'X' then + -- assert false + -- report "CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." + -- severity WARNING; + -- end if; + --end loop; + --return result; + ---- synopsys synthesis_on + --end; + +-- this is the Xilinx customized 'CONV_INTEGER(ARG: SIGNED) return UNSIGNED' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + + function CONV_INTEGER(ARG: SIGNED) return INTEGER is + variable result: INTEGER; + variable tmp: STD_ULOGIC; + -- synopsys built_in SYN_SIGNED_TO_INTEGER + -- synopsys subpgm_id 367 + begin + -- synopsys synthesis_off + assert ARG'length <= 32 + report "ARG is too large in CONV_INTEGER" + severity FAILURE; + result := 0; + for i in ARG'range loop + if i /= ARG'left then + result := result * 2; + tmp := tbl_BINARY(ARG(i)); + if tmp = '1' then + result := result + 1; + elsif tmp = 'X' then + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + assert false + report "CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." + severity WARNING; + return 0; + end if; + end if; + end loop; + tmp := MAKE_BINARY(ARG(ARG'left)); + if tmp = '1' then + if ARG'length = 32 then + result := (result - 2**30) - 2**30; + else + result := result - (2 ** (ARG'length-1)); + end if; + end if; + return result; + -- synopsys synthesis_on + end; + + + + --function CONV_INTEGER(ARG: SIGNED) return INTEGER is + --variable result: INTEGER; + --variable tmp: STD_ULOGIC; + ---- synopsys built_in SYN_SIGNED_TO_INTEGER + -- -- Exemplar synthesis directives : + -- attribute IS_SIGNED of ARG:constant is TRUE ; + -- attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + --begin + ---- synopsys synthesis_off + --assert ARG'length <= 32 + -- report "ARG is too large in CONV_INTEGER" + -- severity FAILURE; + --result := 0; + --for i in ARG'range loop + -- if i /= ARG'left then + -- result := result * 2; + -- tmp := tbl_BINARY(ARG(i)); + -- if tmp = '1' then + -- result := result + 1; + -- elsif tmp = 'X' then + -- assert false + -- report "CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." + -- severity WARNING; + -- end if; + -- end if; + --end loop; + --tmp := MAKE_BINARY(ARG(ARG'left)); + --if tmp = '1' then + -- if ARG'length = 32 then + -- result := (result - 2**30) - 2**30; + -- else + -- result := result - (2 ** (ARG'length-1)); + -- end if; + --end if; + --return result; + ---- synopsys synthesis_on + --end; + + + function CONV_INTEGER(ARG: STD_ULOGIC) return SMALL_INT is + variable tmp: STD_ULOGIC; + -- synopsys built_in SYN_FEED_THRU + -- Exemplar synthesis directives : + variable result : SMALL_INT ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + tmp := tbl_BINARY(ARG); + if tmp = '1' then + result := 1; + elsif tmp = 'X' then + assert false + report "CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." + severity WARNING; + result := 0; + else + result := 0; + end if; + return result ; + -- synopsys synthesis_on + end; + + + -- convert an integer to a unsigned STD_ULOGIC_VECTOR + function CONV_UNSIGNED(ARG: INTEGER; SIZE: INTEGER) return UNSIGNED is + variable result: UNSIGNED(SIZE-1 downto 0); + variable temp: integer; + -- synopsys built_in SYN_INTEGER_TO_UNSIGNED + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + temp := ARG; + for i in 0 to SIZE-1 loop + if (temp mod 2) = 1 then + result(i) := '1'; + else + result(i) := '0'; + end if; + if temp > 0 then + temp := temp / 2; + else + temp := (temp - 1) / 2; -- simulate ASR + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + +-- this is the Xilinx customized '' version +-- I assume the deviation from standard version was to workaround legacy parser +-- issues. Using the Xilinx one, verific one commented out below. -muggli + function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED is + variable msb: INTEGER := SIZE - 1; + constant rMsb: INTEGER := SIZE -1; + variable result: UNSIGNED (rMsb downto 0); + alias argDownto : UNSIGNED(ARG'length-1 downto 0) is arg; + -- synopsys built_in SYN_ZERO_EXTEND + -- synopsys subpgm_id 372 + begin + -- synopsys synthesis_off + if ARG'length = SIZE then + -- can't just return arg. Part of the job of this function is to + -- ensure that the index constraints are msb downto 0. + result:=arg; + elsif ARG'length > SIZE then + result := argDownto(size-1 downto 0); + else + result(arg'length-1 downto 0) := arg; + result(size-1 downto arg'length):=(others=>'0'); + msb:=arg'length-1; + end if; + for j in msb downto 0 loop + case result(j) is + when 'U'|'X'|'W'|'Z'|'-' => + assert false + report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." + severity warning; + result := (others => 'X'); + return result; + when 'L' => + result(j):='0'; + when 'H' => + result(j):='1'; + when '0' | '1' => + null; + end case; + end loop; + return result; + -- synopsys synthesis_on + end; + + + + --function CONV_UNSIGNED(ARG: UNSIGNED; SIZE: INTEGER) return UNSIGNED is + --constant msb: INTEGER := min(ARG'length, SIZE) - 1; + --subtype rtype is UNSIGNED (SIZE-1 downto 0); + --variable new_bounds: UNSIGNED (ARG'length-1 downto 0); + --variable result: rtype; + ---- synopsys built_in SYN_ZERO_EXTEND + -- -- Exemplar synthesis directives : + -- attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + --begin + ---- synopsys synthesis_off + --new_bounds := MAKE_BINARY(ARG); + --if (new_bounds(0) = 'X') then + -- result := rtype'(others => 'X'); + -- return result; + --end if; + --result := rtype'(others => '0'); + --result(msb downto 0) := new_bounds(msb downto 0); + --return result; + ---- synopsys synthesis_on + --end; + + + function CONV_UNSIGNED(ARG: SIGNED; SIZE: INTEGER) return UNSIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is UNSIGNED (SIZE-1 downto 0); + variable new_bounds: UNSIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_UNSIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return UNSIGNED is + subtype rtype is UNSIGNED (SIZE-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + result(0) := MAKE_BINARY(ARG); + if (result(0) = 'X') then + result := rtype'(others => 'X'); + end if; + return result; + -- synopsys synthesis_on + end; + + + -- convert an integer to a 2's complement STD_ULOGIC_VECTOR + function CONV_SIGNED(ARG: INTEGER; SIZE: INTEGER) return SIGNED is + variable result: SIGNED (SIZE-1 downto 0); + variable temp: integer; + -- synopsys built_in SYN_INTEGER_TO_SIGNED + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + temp := ARG; + for i in 0 to SIZE-1 loop + if (temp mod 2) = 1 then + result(i) := '1'; + else + result(i) := '0'; + end if; + if temp > 0 then + temp := temp / 2; + else + temp := (temp - 1) / 2; -- simulate ASR + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + + function CONV_SIGNED(ARG: UNSIGNED; SIZE: INTEGER) return SIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is SIGNED (SIZE-1 downto 0); + variable new_bounds : SIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => '0'); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + function CONV_SIGNED(ARG: SIGNED; SIZE: INTEGER) return SIGNED is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is SIGNED (SIZE-1 downto 0); + variable new_bounds : SIGNED (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_SIGNED(ARG: STD_ULOGIC; SIZE: INTEGER) return SIGNED is + subtype rtype is SIGNED (SIZE-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + result(0) := MAKE_BINARY(ARG); + if (result(0) = 'X') then + result := rtype'(others => 'X'); + end if; + return result; + -- synopsys synthesis_on + end; + + + -- convert an integer to an STD_LOGIC_VECTOR + function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) return STD_LOGIC_VECTOR is + variable result: STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable temp: integer; + -- synopsys built_in SYN_INTEGER_TO_SIGNED + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + temp := ARG; + for i in 0 to SIZE-1 loop + if (temp mod 2) = 1 then + result(i) := '1'; + else + result(i) := '0'; + end if; + if temp > 0 then + temp := temp / 2; + else + temp := (temp - 1) / 2; -- simulate ASR + end if; + end loop; + return result; + -- synopsys synthesis_on + end; + + + function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER) return STD_LOGIC_VECTOR is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable new_bounds : STD_LOGIC_VECTOR (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => '0'); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + function CONV_STD_LOGIC_VECTOR(ARG: SIGNED; SIZE: INTEGER) return STD_LOGIC_VECTOR is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable new_bounds : STD_LOGIC_VECTOR (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function CONV_STD_LOGIC_VECTOR(ARG: STD_ULOGIC; SIZE: INTEGER) return STD_LOGIC_VECTOR is + subtype rtype is STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + result := rtype'(others => '0'); + result(0) := MAKE_BINARY(ARG); + if (result(0) = 'X') then + result := rtype'(others => 'X'); + end if; + return result; + -- synopsys synthesis_on + end; + + function EXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) + return STD_LOGIC_VECTOR is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable new_bounds: STD_LOGIC_VECTOR (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_ZERO_EXTEND + -- Exemplar synthesis directives : + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => '0'); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + + function SXT(ARG: STD_LOGIC_VECTOR; SIZE: INTEGER) return STD_LOGIC_VECTOR is + constant msb: INTEGER := min(ARG'length, SIZE) - 1; + subtype rtype is STD_LOGIC_VECTOR (SIZE-1 downto 0); + variable new_bounds : STD_LOGIC_VECTOR (ARG'length-1 downto 0); + variable result: rtype; + -- synopsys built_in SYN_SIGN_EXTEND + -- Exemplar synthesis directives : + attribute IS_SIGNED of ARG:constant is TRUE ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + -- synopsys synthesis_off + new_bounds := MAKE_BINARY(ARG); + if (new_bounds(0) = 'X') then + result := rtype'(others => 'X'); + return result; + end if; + result := rtype'(others => new_bounds(new_bounds'left)); + result(msb downto 0) := new_bounds(msb downto 0); + return result; + -- synopsys synthesis_on + end; + + +end std_logic_arith; diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_misc.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_misc.vhd new file mode 100644 index 0000000..602c217 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_misc.vhd @@ -0,0 +1,882 @@ +-------------------------------------------------------------------------- +-- +-- Copyright (c) 1990, 1991, 1992 by Synopsys, Inc. All rights reserved. +-- +-- This source file may be used and distributed without restriction +-- provided that this copyright statement is not removed from the file +-- and that any derivative work contains this copyright notice. +-- +-- Package name: std_logic_misc +-- +-- Purpose: This package defines supplemental types, subtypes, +-- constants, and functions for the Std_logic_1164 Package. +-- +-- Author: GWH +-- +-------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +library SYNOPSYS; +use SYNOPSYS.attributes.all; + + +package std_logic_misc is + + -- output-strength types + + type STRENGTH is (strn_X01, strn_X0H, strn_XL1, strn_X0Z, strn_XZ1, + strn_WLH, strn_WLZ, strn_WZH, strn_W0H, strn_WL1); + + +--synopsys synthesis_off + + type MINOMAX is array (1 to 3) of TIME; + + + --------------------------------------------------------------------- + -- + -- functions for mapping the STD_(U)LOGIC according to STRENGTH + -- + --------------------------------------------------------------------- + + function strength_map(input: STD_ULOGIC; strn: STRENGTH) return STD_LOGIC; + + function strength_map_z(input:STD_ULOGIC; strn:STRENGTH) return STD_LOGIC; + + --------------------------------------------------------------------- + -- + -- conversion functions for STD_ULOGIC_VECTOR and STD_LOGIC_VECTOR + -- + --------------------------------------------------------------------- + + -- STD_ULOGIC_VECTOR is the base type of STD_LOGIC_VECTOR in 2008 + -- So following function is redundant +--synopsys synthesis_on + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + function Drive (V: STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR_93; + + function Drive (V: STD_LOGIC_VECTOR_93) return STD_ULOGIC_VECTOR; + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions +--synopsys synthesis_off + + attribute CLOSELY_RELATED_TCF of Drive: function is TRUE; + + --------------------------------------------------------------------- + -- + -- conversion functions for sensing various types + -- (the second argument allows the user to specify the value to + -- be returned when the network is undriven) + -- + --------------------------------------------------------------------- + + function Sense (V: STD_ULOGIC; vZ, vU, vDC: STD_ULOGIC) return STD_LOGIC; + + function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC) + return STD_LOGIC_VECTOR_93; + function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC) + return STD_ULOGIC_VECTOR; + +-- function Sense (V: STD_LOGIC_VECTOR_93; vZ, vU, vDC: STD_ULOGIC) +-- return STD_LOGIC_VECTOR_93; +-- function Sense (V: STD_LOGIC_VECTOR_93; vZ, vU, vDC: STD_ULOGIC) +-- return STD_ULOGIC_VECTOR; + +--synopsys synthesis_on + + + --------------------------------------------------------------------- + -- + -- Function: STD_LOGIC_VECTORtoBIT_VECTOR STD_ULOGIC_VECTORtoBIT_VECTOR + -- + -- Purpose: Conversion fun. from STD_(U)LOGIC_VECTOR to BIT_VECTOR + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X, W --> vX if Xflag is TRUE + -- X, W --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- U --> vU if Uflag is TRUE + -- U --> 0 if Uflag is FALSE + -- - --> vDC if DCflag is TRUE + -- - --> 0 if DCflag is FALSE + -- + --------------------------------------------------------------------- + + function STD_LOGIC_VECTORtoBIT_VECTOR (V: STD_LOGIC_VECTOR +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR; + + function STD_ULOGIC_VECTORtoBIT_VECTOR (V: STD_ULOGIC_VECTOR +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR; + + + --------------------------------------------------------------------- + -- + -- Function: STD_ULOGICtoBIT + -- + -- Purpose: Conversion function from STD_(U)LOGIC to BIT + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X, W --> vX if Xflag is TRUE + -- X, W --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- U --> vU if Uflag is TRUE + -- U --> 0 if Uflag is FALSE + -- - --> vDC if DCflag is TRUE + -- - --> 0 if DCflag is FALSE + -- + --------------------------------------------------------------------- + + function STD_ULOGICtoBIT (V: STD_ULOGIC +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT; + + -------------------------------------------------------------------- + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + function AND_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + function NAND_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + function OR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + function NOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + function XOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + function XNOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01; + + function AND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + function NAND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + function OR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + function NOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + function XOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + function XNOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01; + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + +--synopsys synthesis_off + + function fun_BUF3S(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC; + function fun_BUF3SL(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC; + function fun_MUX2x1(Input0, Input1, Sel: UX01) return UX01; + + function fun_MAJ23(Input0, Input1, Input2: UX01) return UX01; + function fun_WiredX(Input0, Input1: std_ulogic) return STD_LOGIC; + +--synopsys synthesis_on + +-- Synthesis Directive Attributes + attribute IS_SIGNED : BOOLEAN ; + attribute SYNTHESIS_RETURN : STRING ; +end; + + +package body std_logic_misc is + +--synopsys synthesis_off + + type STRN_STD_ULOGIC_TABLE is array (STD_ULOGIC,STRENGTH) of STD_ULOGIC; + + -------------------------------------------------------------------- + -- + -- Truth tables for output strength --> STD_ULOGIC lookup + -- + -------------------------------------------------------------------- + + -- truth table for output strength --> STD_ULOGIC lookup + constant tbl_STRN_STD_ULOGIC: STRN_STD_ULOGIC_TABLE := + -- ------------------------------------------------------------------ + -- | X01 X0H XL1 X0Z XZ1 WLH WLZ WZH W0H WL1 | strn/ output| + -- ------------------------------------------------------------------ + (('U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U'), -- | U | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | X | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | 0 | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | 1 | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | Z | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | W | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | L | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | H | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W')); -- | - | + + + + -------------------------------------------------------------------- + -- + -- Truth tables for strength --> STD_ULOGIC mapping ('Z' pass through) + -- + -------------------------------------------------------------------- + + -- truth table for output strength --> STD_ULOGIC lookup + constant tbl_STRN_STD_ULOGIC_Z: STRN_STD_ULOGIC_TABLE := + -- ------------------------------------------------------------------ + -- | X01 X0H XL1 X0Z XZ1 WLH WLZ WZH W0H WL1 | strn/ output| + -- ------------------------------------------------------------------ + (('U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U'), -- | U | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | X | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | 0 | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | 1 | + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z'), -- | Z | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | W | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | L | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | H | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W')); -- | - | + + + + --------------------------------------------------------------------- + -- + -- functions for mapping the STD_(U)LOGIC according to STRENGTH + -- + --------------------------------------------------------------------- + + function strength_map(input: STD_ULOGIC; strn: STRENGTH) return STD_LOGIC is + begin + return tbl_STRN_STD_ULOGIC(input, strn); + end strength_map; + + + function strength_map_z(input:STD_ULOGIC; strn:STRENGTH) return STD_LOGIC is + begin + return tbl_STRN_STD_ULOGIC_Z(input, strn); + end strength_map_z; + + + --------------------------------------------------------------------- + -- + -- conversion functions for STD_LOGIC_VECTOR and STD_ULOGIC_VECTOR + -- + --------------------------------------------------------------------- + +--synopsys synthesis_on + function Drive (V: STD_LOGIC_VECTOR_93) return STD_ULOGIC_VECTOR is + -- pragma built_in SYN_FEED_THRU + --synopsys synthesis_off + alias Value: STD_LOGIC_VECTOR_93 (V'length-1 downto 0) is V; + --synopsys synthesis_on + -- Added Synthesis Directive + variable result : STD_ULOGIC_VECTOR(V'length-1 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + --synopsys synthesis_off + result := STD_ULOGIC_VECTOR(Value); + return result ; + --synopsys synthesis_on + end Drive; + + + function Drive (V: STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR_93 is + -- pragma built_in SYN_FEED_THRU + --synopsys synthesis_off + alias Value: STD_ULOGIC_VECTOR (V'length-1 downto 0) is V; + --synopsys synthesis_on + -- Added Synthesis Directive + variable result : STD_LOGIC_VECTOR_93(V'length-1 downto 0) ; + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin + --synopsys synthesis_off + result := STD_LOGIC_VECTOR_93(Value); + return result ; + --synopsys synthesis_on + end Drive; +--synopsys synthesis_off + + + --------------------------------------------------------------------- + -- + -- conversion functions for sensing various types + -- + -- (the second argument allows the user to specify the value to + -- be returned when the network is undriven) + -- + --------------------------------------------------------------------- + + function Sense (V: STD_ULOGIC; vZ, vU, vDC: STD_ULOGIC) + return STD_LOGIC is + begin + if V = 'Z' then + return vZ; + else + return V; + end if; + end Sense; + + + function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC) + return STD_LOGIC_VECTOR_93 is + alias Value: STD_ULOGIC_VECTOR (V'length-1 downto 0) is V; + variable Result: STD_LOGIC_VECTOR_93 (V'length-1 downto 0); + begin + for i in Value'range loop + if ( Value(i) = 'Z' ) then + Result(i) := vZ; + else + Result(i) := Value(i); + end if; + end loop; + return Result; + end Sense; + + + function Sense (V: STD_ULOGIC_VECTOR; vZ, vU, vDC: STD_ULOGIC) + return STD_ULOGIC_VECTOR is + alias Value: STD_ULOGIC_VECTOR (V'length-1 downto 0) is V; + variable Result: STD_ULOGIC_VECTOR (V'length-1 downto 0); + begin + for i in Value'range loop + if ( Value(i) = 'Z' ) then + Result(i) := vZ; + else + Result(i) := Value(i); + end if; + end loop; + return Result; + end Sense; + + +-- function Sense (V: STD_LOGIC_VECTOR_93; vZ, vU, vDC: STD_ULOGIC) +-- return STD_LOGIC_VECTOR_93 is +-- alias Value: STD_LOGIC_VECTOR_93 (V'length-1 downto 0) is V; +-- variable Result: STD_LOGIC_VECTOR_93 (V'length-1 downto 0); +-- begin +-- for i in Value'range loop +-- if ( Value(i) = 'Z' ) then +-- Result(i) := vZ; +-- else +-- Result(i) := Value(i); +-- end if; +-- end loop; +-- return Result; +-- end Sense; + + +-- function Sense (V: STD_LOGIC_VECTOR_93; vZ, vU, vDC: STD_ULOGIC) +-- return STD_ULOGIC_VECTOR is +-- alias Value: STD_LOGIC_VECTOR_93 (V'length-1 downto 0) is V; +-- variable Result: STD_ULOGIC_VECTOR (V'length-1 downto 0); +-- begin +-- for i in Value'range loop +-- if ( Value(i) = 'Z' ) then +-- Result(i) := vZ; +-- else +-- Result(i) := Value(i); +-- end if; +-- end loop; +-- return Result; +-- end Sense; + + --------------------------------------------------------------------- + -- + -- Function: STD_LOGIC_VECTORtoBIT_VECTOR + -- + -- Purpose: Conversion fun. from STD_LOGIC_VECTOR to BIT_VECTOR + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X, W --> vX if Xflag is TRUE + -- X, W --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- U --> vU if Uflag is TRUE + -- U --> 0 if Uflag is FALSE + -- - --> vDC if DCflag is TRUE + -- - --> 0 if DCflag is FALSE + -- + --------------------------------------------------------------------- + +--synopsys synthesis_on + function STD_LOGIC_VECTORtoBIT_VECTOR (V: STD_LOGIC_VECTOR +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR is + -- pragma built_in SYN_FEED_THRU + variable Result: BIT_VECTOR (V'length-1 downto 0); + + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; +--synopsys synthesis_off + alias Value: STD_LOGIC_VECTOR (V'length-1 downto 0) is V; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in Value'range loop + case Value(i) is + when '0' | 'L' => + Result(i) := '0'; + when '1' | 'H' => + Result(i) := '1'; + when 'X' | 'W' => + if ( Xflag ) then + Result(i) := vX; + else + Result(i) := '0'; + assert FALSE + report "STD_LOGIC_VECTORtoBIT_VECTOR: X --> 0" + severity WARNING; + end if; + when others => + if ( Zflag ) then + Result(i) := vZ; + else + Result(i) := '0'; + assert FALSE + report "STD_LOGIC_VECTORtoBIT_VECTOR: Z --> 0" + severity WARNING; + end if; + end case; + end loop; + return Result; +--synopsys synthesis_on + end STD_LOGIC_VECTORtoBIT_VECTOR; + + + + + --------------------------------------------------------------------- + -- + -- Function: STD_ULOGIC_VECTORtoBIT_VECTOR + -- + -- Purpose: Conversion fun. from STD_ULOGIC_VECTOR to BIT_VECTOR + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X, W --> vX if Xflag is TRUE + -- X, W --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- U --> vU if Uflag is TRUE + -- U --> 0 if Uflag is FALSE + -- - --> vDC if DCflag is TRUE + -- - --> 0 if DCflag is FALSE + -- + --------------------------------------------------------------------- + + function STD_ULOGIC_VECTORtoBIT_VECTOR (V: STD_ULOGIC_VECTOR +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR is + -- pragma built_in SYN_FEED_THRU + variable Result: BIT_VECTOR (V'length-1 downto 0); + + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; +--synopsys synthesis_off + alias Value: STD_ULOGIC_VECTOR (V'length-1 downto 0) is V; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in Value'range loop + case Value(i) is + when '0' | 'L' => + Result(i) := '0'; + when '1' | 'H' => + Result(i) := '1'; + when 'X' | 'W' => + if ( Xflag ) then + Result(i) := vX; + else + Result(i) := '0'; + assert FALSE + report "STD_ULOGIC_VECTORtoBIT_VECTOR: X --> 0" + severity WARNING; + end if; + when others => + if ( Zflag ) then + Result(i) := vZ; + else + Result(i) := '0'; + assert FALSE + report "STD_ULOGIC_VECTORtoBIT_VECTOR: Z --> 0" + severity WARNING; + end if; + end case; + end loop; + return Result; +--synopsys synthesis_on + end STD_ULOGIC_VECTORtoBIT_VECTOR; + + + + + --------------------------------------------------------------------- + -- + -- Function: STD_ULOGICtoBIT + -- + -- Purpose: Conversion function from STD_ULOGIC to BIT + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X, W --> vX if Xflag is TRUE + -- X, W --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- U --> vU if Uflag is TRUE + -- U --> 0 if Uflag is FALSE + -- - --> vDC if DCflag is TRUE + -- - --> 0 if DCflag is FALSE + -- + --------------------------------------------------------------------- + + function STD_ULOGICtoBIT (V: STD_ULOGIC +--synopsys synthesis_off + ; vX, vZ, vU, vDC: BIT := '0'; + Xflag, Zflag, Uflag, DCflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT is + -- pragma built_in SYN_FEED_THRU + variable Result: BIT; + + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "FEED_THROUGH" ; + begin +--synopsys synthesis_off + case V is + when '0' | 'L' => + Result := '0'; + when '1' | 'H' => + Result := '1'; + when 'X' | 'W' => + if ( Xflag ) then + Result := vX; + else + Result := '0'; + assert FALSE + report "STD_ULOGICtoBIT: X --> 0" + severity WARNING; + end if; + when others => + if ( Zflag ) then + Result := vZ; + else + Result := '0'; + assert FALSE + report "STD_ULOGICtoBIT: Z --> 0" + severity WARNING; + end if; + end case; + return Result; +--synopsys synthesis_on + end STD_ULOGICtoBIT; + + + -------------------------------------------------------------------------- + + -- Begin: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + function AND_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_AND" ; + begin + result := '1'; + for i in ARG'range loop + result := result and ARG(i); + end loop; + return result; + end; + + function NAND_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + begin + return not AND_REDUCE(ARG); + end; + + function OR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_OR" ; + begin + result := '0'; + for i in ARG'range loop + result := result or ARG(i); + end loop; + return result; + end; + + function NOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + begin + return not OR_REDUCE(ARG); + end; + + function XOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_XOR" ; + begin + result := '0'; + for i in ARG'range loop + result := result xor ARG(i); + end loop; + return result; + end; + + function XNOR_REDUCE(ARG: STD_LOGIC_VECTOR_93) return UX01 is + begin + return not XOR_REDUCE(ARG); + end; + + function AND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_AND" ; + begin + result := '1'; + for i in ARG'range loop + result := result and ARG(i); + end loop; + return result; + end; + + function NAND_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + begin + return not AND_REDUCE(ARG); + end; + + function OR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_OR" ; + begin + result := '0'; + for i in ARG'range loop + result := result or ARG(i); + end loop; + return result; + end; + + function NOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + begin + return not OR_REDUCE(ARG); + end; + + function XOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + variable result: STD_LOGIC; + -- Added Synthesis Directive + attribute SYNTHESIS_RETURN of result:variable is "REDUCE_XOR" ; + begin + result := '0'; + for i in ARG'range loop + result := result xor ARG(i); + end loop; + return result; + end; + + function XNOR_REDUCE(ARG: STD_ULOGIC_VECTOR) return UX01 is + begin + return not XOR_REDUCE(ARG); + end; + -- End: VIPER #9548/8783: Mixed dialect: vhdl-1993 package specific additions + +--synopsys synthesis_off + + function fun_BUF3S(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC is + type TRISTATE_TABLE is array(STRENGTH, UX01, UX01) of STD_LOGIC; + + -- truth table for tristate "buf" function (Enable active Low) + constant tbl_BUF3S: TRISTATE_TABLE := + -- ---------------------------------------------------- + -- | Input U X 0 1 | Enable Strength | + -- ---------------------------------|-----------------| + ((('U', 'U', 'U', 'U'), --| U X01 | + ('U', 'X', 'X', 'X'), --| X X01 | + ('Z', 'Z', 'Z', 'Z'), --| 0 X01 | + ('U', 'X', '0', '1')), --| 1 X01 | + (('U', 'U', 'U', 'U'), --| U X0H | + ('U', 'X', 'X', 'X'), --| X X0H | + ('Z', 'Z', 'Z', 'Z'), --| 0 X0H | + ('U', 'X', '0', 'H')), --| 1 X0H | + (('U', 'U', 'U', 'U'), --| U XL1 | + ('U', 'X', 'X', 'X'), --| X XL1 | + ('Z', 'Z', 'Z', 'Z'), --| 0 XL1 | + ('U', 'X', 'L', '1')), --| 1 XL1 | + (('U', 'U', 'U', 'Z'), --| U X0Z | + ('U', 'X', 'X', 'Z'), --| X X0Z | + ('Z', 'Z', 'Z', 'Z'), --| 0 X0Z | + ('U', 'X', '0', 'Z')), --| 1 X0Z | + (('U', 'U', 'U', 'U'), --| U XZ1 | + ('U', 'X', 'X', 'X'), --| X XZ1 | + ('Z', 'Z', 'Z', 'Z'), --| 0 XZ1 | + ('U', 'X', 'Z', '1')), --| 1 XZ1 | + (('U', 'U', 'U', 'U'), --| U WLH | + ('U', 'W', 'W', 'W'), --| X WLH | + ('Z', 'Z', 'Z', 'Z'), --| 0 WLH | + ('U', 'W', 'L', 'H')), --| 1 WLH | + (('U', 'U', 'U', 'U'), --| U WLZ | + ('U', 'W', 'W', 'Z'), --| X WLZ | + ('Z', 'Z', 'Z', 'Z'), --| 0 WLZ | + ('U', 'W', 'L', 'Z')), --| 1 WLZ | + (('U', 'U', 'U', 'U'), --| U WZH | + ('U', 'W', 'W', 'W'), --| X WZH | + ('Z', 'Z', 'Z', 'Z'), --| 0 WZH | + ('U', 'W', 'Z', 'H')), --| 1 WZH | + (('U', 'U', 'U', 'U'), --| U W0H | + ('U', 'W', 'W', 'W'), --| X W0H | + ('Z', 'Z', 'Z', 'Z'), --| 0 W0H | + ('U', 'W', '0', 'H')), --| 1 W0H | + (('U', 'U', 'U', 'U'), --| U WL1 | + ('U', 'W', 'W', 'W'), --| X WL1 | + ('Z', 'Z', 'Z', 'Z'), --| 0 WL1 | + ('U', 'W', 'L', '1')));--| 1 WL1 | + begin + return tbl_BUF3S(Strn, Enable, Input); + end fun_BUF3S; + + + function fun_BUF3SL(Input, Enable: UX01; Strn: STRENGTH) return STD_LOGIC is + type TRISTATE_TABLE is array(STRENGTH, UX01, UX01) of STD_LOGIC; + + -- truth table for tristate "buf" function (Enable active Low) + constant tbl_BUF3SL: TRISTATE_TABLE := + -- ---------------------------------------------------- + -- | Input U X 0 1 | Enable Strength | + -- ---------------------------------|-----------------| + ((('U', 'U', 'U', 'U'), --| U X01 | + ('U', 'X', 'X', 'X'), --| X X01 | + ('U', 'X', '0', '1'), --| 0 X01 | + ('Z', 'Z', 'Z', 'Z')), --| 1 X01 | + (('U', 'U', 'U', 'U'), --| U X0H | + ('U', 'X', 'X', 'X'), --| X X0H | + ('U', 'X', '0', 'H'), --| 0 X0H | + ('Z', 'Z', 'Z', 'Z')), --| 1 X0H | + (('U', 'U', 'U', 'U'), --| U XL1 | + ('U', 'X', 'X', 'X'), --| X XL1 | + ('U', 'X', 'L', '1'), --| 0 XL1 | + ('Z', 'Z', 'Z', 'Z')), --| 1 XL1 | + (('U', 'U', 'U', 'Z'), --| U X0Z | + ('U', 'X', 'X', 'Z'), --| X X0Z | + ('U', 'X', '0', 'Z'), --| 0 X0Z | + ('Z', 'Z', 'Z', 'Z')), --| 1 X0Z | + (('U', 'U', 'U', 'U'), --| U XZ1 | + ('U', 'X', 'X', 'X'), --| X XZ1 | + ('U', 'X', 'Z', '1'), --| 0 XZ1 | + ('Z', 'Z', 'Z', 'Z')), --| 1 XZ1 | + (('U', 'U', 'U', 'U'), --| U WLH | + ('U', 'W', 'W', 'W'), --| X WLH | + ('U', 'W', 'L', 'H'), --| 0 WLH | + ('Z', 'Z', 'Z', 'Z')), --| 1 WLH | + (('U', 'U', 'U', 'U'), --| U WLZ | + ('U', 'W', 'W', 'Z'), --| X WLZ | + ('U', 'W', 'L', 'Z'), --| 0 WLZ | + ('Z', 'Z', 'Z', 'Z')), --| 1 WLZ | + (('U', 'U', 'U', 'U'), --| U WZH | + ('U', 'W', 'W', 'W'), --| X WZH | + ('U', 'W', 'Z', 'H'), --| 0 WZH | + ('Z', 'Z', 'Z', 'Z')), --| 1 WZH | + (('U', 'U', 'U', 'U'), --| U W0H | + ('U', 'W', 'W', 'W'), --| X W0H | + ('U', 'W', '0', 'H'), --| 0 W0H | + ('Z', 'Z', 'Z', 'Z')), --| 1 W0H | + (('U', 'U', 'U', 'U'), --| U WL1 | + ('U', 'W', 'W', 'W'), --| X WL1 | + ('U', 'W', 'L', '1'), --| 0 WL1 | + ('Z', 'Z', 'Z', 'Z')));--| 1 WL1 | + begin + return tbl_BUF3SL(Strn, Enable, Input); + end fun_BUF3SL; + + + function fun_MUX2x1(Input0, Input1, Sel: UX01) return UX01 is + type MUX_TABLE is array (UX01, UX01, UX01) of UX01; + + -- truth table for "MUX2x1" function + constant tbl_MUX2x1: MUX_TABLE := + -------------------------------------------- + --| In0 'U' 'X' '0' '1' | Sel In1 | + -------------------------------------------- + ((('U', 'U', 'U', 'U'), --| 'U' 'U' | + ('U', 'U', 'U', 'U'), --| 'X' 'U' | + ('U', 'X', '0', '1'), --| '0' 'U' | + ('U', 'U', 'U', 'U')), --| '1' 'U' | + (('U', 'X', 'U', 'U'), --| 'U' 'X' | + ('U', 'X', 'X', 'X'), --| 'X' 'X' | + ('U', 'X', '0', '1'), --| '0' 'X' | + ('X', 'X', 'X', 'X')), --| '1' 'X' | + (('U', 'U', '0', 'U'), --| 'U' '0' | + ('U', 'X', '0', 'X'), --| 'X' '0' | + ('U', 'X', '0', '1'), --| '0' '0' | + ('0', '0', '0', '0')), --| '1' '0' | + (('U', 'U', 'U', '1'), --| 'U' '1' | + ('U', 'X', 'X', '1'), --| 'X' '1' | + ('U', 'X', '0', '1'), --| '0' '1' | + ('1', '1', '1', '1')));--| '1' '1' | + begin + return tbl_MUX2x1(Input1, Sel, Input0); + end fun_MUX2x1; + + + function fun_MAJ23(Input0, Input1, Input2: UX01) return UX01 is + type MAJ23_TABLE is array (UX01, UX01, UX01) of UX01; + + ---------------------------------------------------------------------------- + -- The "tbl_MAJ23" truth table return 1 if the majority of three + -- inputs is 1, a 0 if the majority is 0, a X if unknown, and a U if + -- uninitialized. + ---------------------------------------------------------------------------- + constant tbl_MAJ23: MAJ23_TABLE := + -------------------------------------------- + --| In0 'U' 'X' '0' '1' | In1 In2 | + -------------------------------------------- + ((('U', 'U', 'U', 'U'), --| 'U' 'U' | + ('U', 'U', 'U', 'U'), --| 'X' 'U' | + ('U', 'U', '0', 'U'), --| '0' 'U' | + ('U', 'U', 'U', '1')), --| '1' 'U' | + (('U', 'U', 'U', 'U'), --| 'U' 'X' | + ('U', 'X', 'X', 'X'), --| 'X' 'X' | + ('U', 'X', '0', 'X'), --| '0' 'X' | + ('U', 'X', 'X', '1')), --| '1' 'X' | + (('U', 'U', '0', 'U'), --| 'U' '0' | + ('U', 'X', '0', 'X'), --| 'X' '0' | + ('0', '0', '0', '0'), --| '0' '0' | + ('U', 'X', '0', '1')), --| '1' '0' | + (('U', 'U', 'U', '1'), --| 'U' '1' | + ('U', 'X', 'X', '1'), --| 'X' '1' | + ('U', 'X', '0', '1'), --| '0' '1' | + ('1', '1', '1', '1')));--| '1' '1' | + + begin + return tbl_MAJ23(Input0, Input1, Input2); + end fun_MAJ23; + + + function fun_WiredX(Input0, Input1: STD_ULOGIC) return STD_LOGIC is + TYPE stdlogic_table IS ARRAY(STD_ULOGIC, STD_ULOGIC) OF STD_LOGIC; + + -- truth table for "WiredX" function + ------------------------------------------------------------------- + -- resolution function + ------------------------------------------------------------------- + CONSTANT resolution_table : stdlogic_table := ( + -- --------------------------------------------------------- + -- | U X 0 1 Z W L H - | | + -- --------------------------------------------------------- + ( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- | U | + ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- | X | + ( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- | 0 | + ( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- | 1 | + ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- | Z | + ( 'U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X' ), -- | W | + ( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- | L | + ( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- | H | + ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ));-- | - | + -- Added Synthesis Directive + variable result : STD_LOGIC ; + attribute SYNTHESIS_RETURN of result:variable is "WIRED_THREE_STATE" ; + begin + result := resolution_table(Input0, Input1); + return result ; + end fun_WiredX; + +--synopsys synthesis_on + +end; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_signed.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_signed.vhd new file mode 100644 index 0000000..ca7cf00 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_signed.vhd @@ -0,0 +1,389 @@ +-------------------------------------------------------------------------- +-- -- +-- Copyright (c) 1990, 1991, 1992 by Synopsys, Inc. -- +-- All rights reserved. -- +-- -- +-- This source file may be used and distributed without restriction -- +-- provided that this copyright statement is not removed from the file -- +-- and that any derivative work contains this copyright notice. -- +-- -- +-- Package name: STD_LOGIC_SIGNED -- +-- -- +-- -- +-- Date: 09/11/91 KN -- +-- 10/08/92 AMT change std_ulogic to signed std_logic -- +-- 10/28/92 AMT added signed functions, -, ABS -- +-- -- +-- Purpose: -- +-- A set of signed arithemtic, conversion, -- +-- and comparision functions for STD_LOGIC_VECTOR. -- +-- -- +-- Note: Comparision of same length std_logic_vector is defined -- +-- in the LRM. The interpretation is for unsigned vectors -- +-- This package will "overload" that definition. -- +-- -- +-------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; + +package STD_LOGIC_SIGNED is + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR; + function "+"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR; + function "-"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "+"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "ABS"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + + function "*"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "<"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "<"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "<="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "<="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function ">"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function ">"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function ">="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function ">="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "/="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "/="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + function SHL(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function SHR(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function CONV_INTEGER(ARG: STD_LOGIC_VECTOR) return INTEGER; + +-- remove this since it is already in std_logic_arith +-- function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) return STD_LOGIC_VECTOR; + + + attribute foreign of "+"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_signed_plus"; + attribute foreign of "+"[STD_LOGIC_VECTOR, INTEGER return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_integer_plus"; + attribute foreign of "+"[INTEGER, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_integer_signed_plus"; + attribute foreign of "+"[STD_LOGIC_VECTOR, std_logic return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_ulogic_plus"; + attribute foreign of "+"[std_logic, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_ulogic_signed_plus"; + + attribute foreign of "-"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_signed_minus"; + attribute foreign of "-"[STD_LOGIC_VECTOR, INTEGER return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_integer_minus"; + attribute foreign of "-"[INTEGER, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_integer_signed_minus"; + attribute foreign of "-"[STD_LOGIC_VECTOR, std_logic return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_ulogic_minus"; + attribute foreign of "-"[std_logic, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_ulogic_signed_minus"; + + attribute foreign of "+"[STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_unary_plus"; + attribute foreign of "-"[STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_unary_minus"; + attribute foreign of "*"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_signed_signed_mult"; + + attribute foreign of "<"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_less"; + attribute foreign of "<"[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_less"; + attribute foreign of "<"[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_less"; + + attribute foreign of "<="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_less_or_equal"; + attribute foreign of "<="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_less_or_equal"; + attribute foreign of "<="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_less_or_equal"; + + attribute foreign of ">"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_greater"; + attribute foreign of ">"[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_greater"; + attribute foreign of ">"[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_greater"; + + attribute foreign of ">="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_greater_or_equal"; + attribute foreign of ">="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_greater_or_equal"; + attribute foreign of ">="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_greater_or_equal"; + + attribute foreign of "="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_equal"; + attribute foreign of "="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_equal"; + attribute foreign of "="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_equal"; + + attribute foreign of "/="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_signed_signed_is_not_equal"; + attribute foreign of "/="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_signed_integer_is_not_equal"; + attribute foreign of "/="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_signed_is_not_equal"; + + attribute foreign of conv_integer[STD_LOGIC_VECTOR return integer]:function is "std_logic_arith_conv_signed_to_integer"; + + attribute foreign of SHL[std_logic_vector, std_logic_vector return std_logic_vector]:function is "std_logic_arith_signed_shl"; + attribute foreign of SHR[std_logic_vector, std_logic_vector return std_logic_vector]:function is "std_logic_arith_signed_shr"; + +end STD_LOGIC_SIGNED; + + + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; + +package body STD_LOGIC_SIGNED is + + + function maximum(L, R: INTEGER) return INTEGER is + begin + if L > R then + return L; + else + return R; + end if; + end; + + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR (length-1 downto 0); + begin + result := SIGNED(L) + SIGNED(R); -- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := SIGNED(L) + R; -- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L + SIGNED(R); -- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := SIGNED(L) + R; -- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L + SIGNED(R); -- pragma label plus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR (length-1 downto 0); + begin + result := SIGNED(L) - SIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := SIGNED(L) - R; -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L - SIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := SIGNED(L) - R; -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L - SIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := + SIGNED(L); -- pragma label plus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := - SIGNED(L); -- pragma label minus + return std_logic_vector(result); + end; + + function "ABS"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := ABS( SIGNED(L)); + return std_logic_vector(result); + end; + + function "*"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to mult + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR ((L'length+R'length-1) downto 0); + begin + result := SIGNED(L) * SIGNED(R); -- pragma label mult + return std_logic_vector(result); + end; + + function "<"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := maximum(L'length, R'length); + begin + return SIGNED(L) < SIGNED(R); -- pragma label lt + end; + + function "<"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + begin + return SIGNED(L) < R; -- pragma label lt + end; + + function "<"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to lt + begin + return L < SIGNED(R); -- pragma label lt + end; + + function "<="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to leq + begin + return SIGNED(L) <= SIGNED(R); -- pragma label leq + end; + + function "<="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + begin + return SIGNED(L) <= R; -- pragma label leq + end; + + function "<="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to leq + begin + return L <= SIGNED(R); -- pragma label leq + end; + + function ">"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to gt + begin + return SIGNED(L) > SIGNED(R); -- pragma label gt + end; + + function ">"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + begin + return SIGNED(L) > R; -- pragma label gt + end; + + function ">"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to gt + begin + return L > SIGNED(R); -- pragma label gt + end; + + function ">="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to geq + begin + return SIGNED(L) >= SIGNED(R); -- pragma label geq + end; + + function ">="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + begin + return SIGNED(L) >= R; -- pragma label geq + end; + + function ">="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to geq + begin + return L >= SIGNED(R); -- pragma label geq + end; + + function "="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return SIGNED(L) = SIGNED(R); + end; + + function "="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + begin + return SIGNED(L) = R; + end; + + function "="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return L = SIGNED(R); + end; + + function "/="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return SIGNED(L) /= SIGNED(R); + end; + + function "/="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + begin + return SIGNED(L) /= R; + end; + + function "/="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return L /= SIGNED(R); + end; + + function SHL(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR(SHL(SIGNED(ARG),UNSIGNED(COUNT))); + end; + + function SHR(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR(SHR(SIGNED(ARG),UNSIGNED(COUNT))); + end; + + + +-- This function converts std_logic_vector to a signed integer value +-- using a conversion function in std_logic_arith + function CONV_INTEGER(ARG: STD_LOGIC_VECTOR) return INTEGER is + variable result : SIGNED(ARG'range); + begin + result := SIGNED(ARG); + return CONV_INTEGER(result); + end; +end STD_LOGIC_SIGNED; + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_unsigned.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_unsigned.vhd new file mode 100644 index 0000000..fa63bbe --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/std_logic_unsigned.vhd @@ -0,0 +1,382 @@ +-------------------------------------------------------------------------- +-- -- +-- Copyright (c) 1990, 1991, 1992 by Synopsys, Inc. -- +-- All rights reserved. -- +-- -- +-- This source file may be used and distributed without restriction -- +-- provided that this copyright statement is not removed from the file -- +-- and that any derivative work contains this copyright notice. -- +-- -- +-- Package name: STD_LOGIC_UNSIGNED -- +-- -- +-- -- +-- Date: 09/11/92 KN -- +-- 10/08/92 AMT -- +-- -- +-- Purpose: -- +-- A set of unsigned arithemtic, conversion, -- +-- and comparision functions for STD_LOGIC_VECTOR. -- +-- -- +-- Note: comparision of same length discrete arrays is defined -- +-- by the LRM. This package will "overload" those -- +-- definitions -- +-- -- +-------------------------------------------------------------------------- +-- Modifications : +-- Attributes added for Xilinx specific optimizations +-------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; + +package STD_LOGIC_UNSIGNED is + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR; + function "+"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR; + function "+"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR; + function "-"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR; + function "-"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "+"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "*"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function "<"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "<"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "<"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "<="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "<="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "<="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function ">"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function ">"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function ">"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function ">="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function ">="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function ">="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + + function "/="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN; + function "/="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN; + function "/="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN; + function SHL(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + function SHR(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; + + function CONV_INTEGER(ARG: STD_LOGIC_VECTOR) return INTEGER; + + --attribute foreign of ">"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "ieee_std_logic_unsigned_greater_stdv_stdv"; + + --attribute foreign of "="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "ieee_std_logic_unsigned_equal_stdv_stdv"; + + attribute foreign of "+"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_unsigned_plus"; + attribute foreign of "+"[STD_LOGIC_VECTOR, INTEGER return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_integer_plus"; + attribute foreign of "+"[INTEGER, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_integer_unsigned_plus"; + attribute foreign of "+"[STD_LOGIC_VECTOR, std_logic return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_ulogic_plus"; + attribute foreign of "+"[std_logic, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_ulogic_unsigned_plus"; + + attribute foreign of "-"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_unsigned_minus"; + attribute foreign of "-"[STD_LOGIC_VECTOR, INTEGER return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_integer_minus"; + attribute foreign of "-"[INTEGER, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_integer_unsigned_minus"; + attribute foreign of "-"[STD_LOGIC_VECTOR, std_logic return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_ulogic_minus"; + attribute foreign of "-"[std_logic, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_ulogic_unsigned_minus"; + + attribute foreign of "+"[STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_unary_plus"; + + attribute foreign of "*"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return STD_LOGIC_VECTOR]:function is "std_logic_arith_unsigned_unsigned_mult"; + + attribute foreign of "<"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_less"; + attribute foreign of "<"[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_less"; + attribute foreign of "<"[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_less"; + + attribute foreign of "<="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_less_or_equal"; + attribute foreign of "<="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_less_or_equal"; + attribute foreign of "<="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_less_or_equal"; + + attribute foreign of ">"[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_greater"; + attribute foreign of ">"[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_greater"; + attribute foreign of ">"[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_greater"; + + attribute foreign of ">="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_greater_or_equal"; + attribute foreign of ">="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_greater_or_equal"; + attribute foreign of ">="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_greater_or_equal"; + + + attribute foreign of "="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_equal"; + attribute foreign of "="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_equal"; + attribute foreign of "="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_equal"; + + attribute foreign of "/="[STD_LOGIC_VECTOR, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_unsigned_unsigned_is_not_equal"; + attribute foreign of "/="[STD_LOGIC_VECTOR, integer return BOOLEAN]:function is "std_logic_arith_unsigned_integer_is_not_equal"; + attribute foreign of "/="[integer, STD_LOGIC_VECTOR return BOOLEAN]:function is "std_logic_arith_integer_unsigned_is_not_equal"; + + attribute foreign of conv_integer[STD_LOGIC_VECTOR return integer]:function is "std_logic_arith_conv_unsigned_to_integer"; + + attribute foreign of SHL[std_logic_vector, std_logic_vector return std_logic_vector]:function is "std_logic_arith_unsigned_shl"; + attribute foreign of SHR[std_logic_vector, std_logic_vector return std_logic_vector]:function is "std_logic_arith_unsigned_shr"; + +-- remove this since it is already in std_logic_arith +-- function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) return STD_LOGIC_VECTOR; + +end STD_LOGIC_UNSIGNED; + + + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; + +package body STD_LOGIC_UNSIGNED is + + + function maximum(L, R: INTEGER) return INTEGER is + begin + if L > R then + return L; + else + return R; + end if; + end; + + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR (length-1 downto 0); + begin + result := UNSIGNED(L) + UNSIGNED(R);-- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := UNSIGNED(L) + R;-- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L + UNSIGNED(R);-- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := UNSIGNED(L) + R;-- pragma label plus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to plus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L + UNSIGNED(R);-- pragma label plus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR (length-1 downto 0); + begin + result := UNSIGNED(L) - UNSIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := UNSIGNED(L) - R; -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: INTEGER; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L - UNSIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC) return STD_LOGIC_VECTOR is + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := UNSIGNED(L) - R; + return std_logic_vector(result); + end; + + function "-"(L: STD_LOGIC; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to minus + variable result : STD_LOGIC_VECTOR (R'range); + begin + result := L - UNSIGNED(R); -- pragma label minus + return std_logic_vector(result); + end; + + function "+"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + variable result : STD_LOGIC_VECTOR (L'range); + begin + result := + UNSIGNED(L); + return std_logic_vector(result); + end; + + function "*"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + -- pragma label_applies_to mult + constant length: INTEGER := maximum(L'length, R'length); + variable result : STD_LOGIC_VECTOR ((L'length+R'length-1) downto 0); + begin + result := UNSIGNED(L) * UNSIGNED(R); -- pragma label mult + return std_logic_vector(result); + end; + + function "<"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to lt + constant length: INTEGER := maximum(L'length, R'length); + begin + return UNSIGNED(L) < UNSIGNED(R); -- pragma label lt + end; + + function "<"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to lt + begin + return UNSIGNED(L) < R; -- pragma label lt + end; + + function "<"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to lt + begin + return L < UNSIGNED(R); -- pragma label lt + end; + + function "<="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to leq + begin + return UNSIGNED(L) <= UNSIGNED(R); -- pragma label leq + end; + + function "<="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to leq + begin + return UNSIGNED(L) <= R; -- pragma label leq + end; + + function "<="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to leq + begin + return L <= UNSIGNED(R); -- pragma label leq + end; + + function ">"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to gt + begin + return UNSIGNED(L) > UNSIGNED(R); -- pragma label gt + end; + + function ">"(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to gt + begin + return UNSIGNED(L) > R; -- pragma label gt + end; + + function ">"(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to gt + begin + return L > UNSIGNED(R); -- pragma label gt + end; + + function ">="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to geq + begin + return UNSIGNED(L) >= UNSIGNED(R); -- pragma label geq + end; + + function ">="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + -- pragma label_applies_to geq + begin + return UNSIGNED(L) >= R; -- pragma label geq + end; + + function ">="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + -- pragma label_applies_to geq + begin + return L >= UNSIGNED(R); -- pragma label geq + end; + + function "="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) = UNSIGNED(R); + end; + + function "="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + begin + return UNSIGNED(L) = R; + end; + + function "="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return L = UNSIGNED(R); + end; + + function "/="(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return UNSIGNED(L) /= UNSIGNED(R); + end; + + function "/="(L: STD_LOGIC_VECTOR; R: INTEGER) return BOOLEAN is + begin + return UNSIGNED(L) /= R; + end; + + function "/="(L: INTEGER; R: STD_LOGIC_VECTOR) return BOOLEAN is + begin + return L /= UNSIGNED(R); + end; + + function CONV_INTEGER(ARG: STD_LOGIC_VECTOR) return INTEGER is + variable result : UNSIGNED(ARG'range); + begin + result := UNSIGNED(ARG); + return CONV_INTEGER(result); + end; + function SHL(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR(SHL(UNSIGNED(ARG),UNSIGNED(COUNT))); + end; + + function SHR(ARG:STD_LOGIC_VECTOR;COUNT: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is + begin + return STD_LOGIC_VECTOR(SHR(UNSIGNED(ARG),UNSIGNED(COUNT))); + end; + + +-- remove this since it is already in std_logic_arith + --function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) return STD_LOGIC_VECTOR is + --variable result1 : UNSIGNED (SIZE-1 downto 0); + --variable result2 : STD_LOGIC_VECTOR (SIZE-1 downto 0); + --begin + --result1 := CONV_UNSIGNED(ARG,SIZE); + --return std_logic_vector(result1); + --end; + + +end STD_LOGIC_UNSIGNED; + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/synopsys/types.vhd b/resources/dide-lsp/static/vhdl_std_lib/synopsys/types.vhd new file mode 100644 index 0000000..84d7a1c --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/synopsys/types.vhd @@ -0,0 +1,1152 @@ +---------------------------------------------------------------------------- +-- +-- Copyright (c) 1990, 1991 by Synopsys, Inc. All rights reserved. +-- +-- This source file may be used and distributed without restriction +-- provided that this copyright statement is not removed from the file +-- and that any derivative work contains this copyright notice. +-- +-- Package name: TYPES +-- +-- Purpose: This package defines the types, logic functions, +-- truth tables, definitions for wired signals, and +-- conversion functions for the Synopsys Standard Logic library. +-- +-- Author: JT, PH, GWH +-- +-- Modified with attributes for Synopsys synthesis. +-- +-- Also synthesis_off and synthesis_on pairs required because +-- synthesis does not fully support or gives warnings about: +-- 1) Multi-dimentional arrays +-- 2) aliases +-- 3) assert +-- +---------------------------------------------------------------------------- +-- Exemplar : Added Synthesis Directive Attributes for CORE +-- These attributes work like the Synopsys pragmas. The +-- attributes are declared in the "attributes" vhdl package +---------------------------------------------------------------------------- +--synopsys translate_off +library SYNOPSYS; +use SYNOPSYS.ATTRIBUTES.all; +--synopsys translate_on + + +package TYPES is + + --------------------------------------------------------------------- + -- + -- Definitions for Standard Logic types + -- + --------------------------------------------------------------------- + + -- multi-valued logic 7 states: + + type MVL7 is ('X', -- strong X (strong unknown) + '0', -- strong 0 (strong low) + '1', -- strong 1 (strong high) + 'Z', -- tristate X (high impedance) + 'W', -- weak X (weak unknown) + 'L', -- weak 0 (weak low) + 'H'); -- weak 1 (weak high) + + attribute ENUM_ENCODING : STRING; + attribute ENUM_ENCODING of MVL7 : type is "D 0 1 Z U 0 1"; + + -- Exemplar Synthesis encoding : + attribute LOGIC_TYPE_ENCODING : STRING ; + attribute LOGIC_TYPE_ENCODING of MVL7:type is ('X','0','1','Z','X','0','1') ; + + -- Declaration of Exemplar Synthesis Directive attributes + attribute IS_SIGNED : BOOLEAN ; + attribute SYNTHESIS_RETURN : STRING ; + + -- vector of MVL7 + + type MVL7_VECTOR is array (Natural range <>) of MVL7; + + + + + -- output-strength types + + type STRENGTH is (X01, X0H, XL1, X0Z, XZ1, WLH, WLZ, WZH, W0H, WL1); + + + + ----------------------------------------------------------------------- + -- + -- Internal types for table look up + -- + ---------------------------------------------------------------------- + +--synopsys synthesis_off + type MVL7_TAB1D is array (MVL7) of MVL7; -- one dimensional + + type MVL7_TABLE is array (MVL7, MVL7) of MVL7; -- two dimensional + + + + type STRN_MVL7_TABLE is array (MVL7,STRENGTH) of MVL7; + + type MUX_TABLE is array (MVL7 range 'X' to '1', + MVL7 range 'X' to '1', + MVL7 range 'X' to '1') of MVL7; + + type TRISTATE_TABLE is array (STRENGTH, + MVL7 range 'X' to '1', + MVL7 range 'X' to '1') of MVL7; + + type MINOMAX is array (1 to 3) of TIME; + + + + + ----------------------------------------------------------------------- + -- + -- Truth tables for output strength --> MVL7 lookup + -- + ----------------------------------------------------------------------- + + -- truth table for output strength --> MVL7 lookup + constant tbl_STRN_MVL7: STRN_MVL7_TABLE := + -- ------------------------------------------------------------------ + -- | X01 X0H XL1 X0Z XZ1 WLH WLZ WZH W0H WL1 | strn/ output| + -- ------------------------------------------------------------------ + (('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | X | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | 0 | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | 1 | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | Z | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | W | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | L | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1')); -- | H | + + + + ----------------------------------------------------------------------- + -- + -- Truth tables for strength --> MVL7 mapping ('Z' pass through) + -- + ----------------------------------------------------------------------- + + -- truth table for output strength --> MVL7 lookup + constant tbl_STRN_MVL7_Z: STRN_MVL7_TABLE := + -- ------------------------------------------------------------------ + -- | X01 X0H XL1 X0Z XZ1 WLH WLZ WZH W0H WL1 | strn/ output| + -- ------------------------------------------------------------------ + (('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | X | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | 0 | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1'), -- | 1 | + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z'), -- | Z | + ('X', 'X', 'X', 'X', 'X', 'W', 'W', 'W', 'W', 'W'), -- | W | + ('0', '0', 'L', '0', 'Z', 'L', 'L', 'Z', '0', 'L'), -- | L | + ('1', 'H', '1', 'Z', '1', 'H', 'Z', 'H', 'H', '1')); -- | H | + + + + ----------------------------------------------------------------------- + -- + -- Truth tables for logical operations + -- + ----------------------------------------------------------------------- + + + -- truth table for "and" function + constant tbl_AND: MVL7_TABLE := + -- ----------------------------------------------- + -- | X 0 1 Z W L H | | + -- ----------------------------------------------- + (('X', '0', 'X', 'X', 'X', '0', 'X'), -- | X | + ('0', '0', '0', '0', '0', '0', '0'), -- | 0 | + ('X', '0', '1', 'X', 'X', '0', '1'), -- | 1 | + ('X', '0', 'X', 'X', 'X', '0', 'X'), -- | Z | + ('X', '0', 'X', 'X', 'X', '0', 'X'), -- | W | + ('0', '0', '0', '0', '0', '0', '0'), -- | L | + ('X', '0', '1', 'X', 'X', '0', '1')); -- | H | + + + -- truth table for "or" function + constant tbl_OR: MVL7_TABLE := + -- ----------------------------------------------- + -- | X 0 1 Z W L H | | + -- ----------------------------------------------- + (('X', 'X', '1', 'X', 'X', 'X', '1'), -- | X | + ('X', '0', '1', 'X', 'X', '0', '1'), -- | 0 | + ('1', '1', '1', '1', '1', '1', '1'), -- | 1 | + ('X', 'X', '1', 'X', 'X', 'X', '1'), -- | Z | + ('X', 'X', '1', 'X', 'X', 'X', '1'), -- | W | + ('X', '0', '1', 'X', 'X', '0', '1'), -- | L | + ('1', '1', '1', '1', '1', '1', '1')); -- | H | + + + -- truth table for "xor" function + constant tbl_XOR: MVL7_TABLE := + -- ----------------------------------------------- + -- | X 0 1 Z W L H | | + -- ----------------------------------------------- + (('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | X | + ('X', '0', '1', 'X', 'X', '0', '1'), -- | 0 | + ('X', '1', '0', 'X', 'X', '1', '0'), -- | 1 | + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | Z | + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | W | + ('X', '0', '1', 'X', 'X', '0', '1'), -- | L | + ('X', '1', '0', 'X', 'X', '1', '0')); -- | H | + + + -- truth table for "not" function + constant tbl_NOT: MVL7_TAB1D := + -- ------------------------------------- + -- | X 0 1 Z W L H | + -- ------------------------------------- + ('X', '1', '0', 'X', 'X', '1', '0'); + + + -- truth table for "buf" function + constant tbl_BUF: MVL7_TAB1D := + -- ------------------------------------- + -- | X 0 1 Z W L H | + -- ------------------------------------- + ('X', '0', '1', 'X', 'X', '0', '1'); + + + + -- truth table for tristate "buf" function (Enable active High) + constant tbl_BUF3S: TRISTATE_TABLE := + -- ---------------------------------------- + -- | X 0 1 | Enable Strength | + -- ---------------------------------------- + ((('X', 'X', 'X'), --| X X01 | + ('Z', 'Z', 'Z'), --| 0 X01 | + ('X', '0', '1')), --| 1 X01 | + + (('X', 'X', 'X'), --| X X0H | + ('Z', 'Z', 'Z'), --| 0 X0H | + ('X', '0', 'H')), --| 1 X0H | + + (('X', 'X', 'X'), --| X XL1 | + ('Z', 'Z', 'Z'), --| 0 XL1 | + ('X', 'L', '1')), --| 1 XL1 | + + (('X', 'X', 'Z'), --| X X0Z | + ('Z', 'Z', 'Z'), --| 0 X0Z | + ('X', '0', 'Z')), --| 1 X0Z | + + (('X', 'X', 'X'), --| X XZ1 | + ('Z', 'Z', 'Z'), --| 0 XZ1 | + ('X', 'Z', '1')), --| 1 XZ1 | + + (('W', 'W', 'W'), --| X WLH | + ('Z', 'Z', 'Z'), --| 0 WLH | + ('W', 'L', 'H')), --| 1 WLH | + + (('W', 'W', 'Z'), --| X WLZ | + ('Z', 'Z', 'Z'), --| 0 WLZ | + ('W', 'L', 'Z')), --| 1 WLZ | + + (('W', 'W', 'W'), --| X WZH | + ('Z', 'Z', 'Z'), --| 0 WZH | + ('W', 'Z', 'H')), --| 1 WZH | + + (('W', 'W', 'W'), --| X W0H | + ('Z', 'Z', 'Z'), --| 0 W0H | + ('W', '0', 'H')), --| 1 W0H | + + (('W', 'W', 'W'), --| X WL1 | + ('Z', 'Z', 'Z'), --| 0 WL1 | + ('W', 'L', '1')));--| 1 WL1 | + + + + + -- truth table for tristate "buf" function (Enable active Low) + constant tbl_BUF3SL: TRISTATE_TABLE := + -- ---------------------------------------- + -- | X 0 1 | Enable Strength | + -- ---------------------------------------- + ((('X', 'X', 'X'), --| X X01 | + ('X', '0', '1'), --| 0 X01 | + ('Z', 'Z', 'Z')), --| 1 X01 | + + (('X', 'X', 'X'), --| X X0H | + ('X', '0', 'H'), --| 0 X0H | + ('Z', 'Z', 'Z')), --| 1 X0H | + + (('X', 'X', 'X'), --| X XL1 | + ('X', 'L', '1'), --| 0 XL1 | + ('Z', 'Z', 'Z')), --| 1 XL1 | + + (('X', 'X', 'Z'), --| X X0Z | + ('X', '0', 'Z'), --| 0 X0Z | + ('Z', 'Z', 'Z')), --| 1 X0Z | + + (('X', 'X', 'X'), --| X XZ1 | + ('X', 'Z', '1'), --| 0 XZ1 | + ('Z', 'Z', 'Z')), --| 1 XZ1 | + + (('W', 'W', 'W'), --| X WLH | + ('W', 'L', 'H'), --| 0 WLH | + ('Z', 'Z', 'Z')), --| 1 WLH | + + (('W', 'W', 'Z'), --| X WLZ | + ('W', 'L', 'Z'), --| 0 WLZ | + ('Z', 'Z', 'Z')), --| 1 WLZ | + + (('W', 'W', 'W'), --| X WZH | + ('W', 'Z', 'H'), --| 0 WZH | + ('Z', 'Z', 'Z')), --| 1 WZH | + + (('W', 'W', 'W'), --| X W0H | + ('W', '0', 'H'), --| 0 W0H | + ('Z', 'Z', 'Z')), --| 1 W0H | + + (('W', 'W', 'W'), --| X WL1 | + ('W', 'L', '1'), --| 0 WL1 | + ('Z', 'Z', 'Z')));--| 1 WL1 | + + + + + -- truth table for "MUX2x1" function + constant tbl_MUX2x1: MUX_TABLE := + --------------------------------------- + --| In0 'X' '0' '1' | Sel In1 | + --------------------------------------- + ((('X', 'X', 'X'), --| 'X' 'X' | + ('X', '0', '1'), --| '0' 'X' | + ('X', 'X', 'X')), --| '1' 'X' | + (('X', '0', 'X'), --| 'X' '0' | + ('X', '0', '1'), --| '0' '0' | + ('0', '0', '0')), --| '1' '0' | + (('X', 'X', '1'), --| 'X' '1' | + ('X', '0', '1'), --| '0' '1' | + ('1', '1', '1')));--| '1' '1' | + + + + ---------------------------------------------------------------------- + -- + -- Truth tables for resolution functions + -- + ---------------------------------------------------------------------- + + + -- truth table for "WiredX" function + constant tbl_WIREDX: MVL7_TABLE := + -- ----------------------------------------------- + -- | X 0 1 Z W L H | | + -- ----------------------------------------------- + (('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- | X | + ('X', '0', 'X', '0', '0', '0', '0'), -- | 0 | + ('X', 'X', '1', '1', '1', '1', '1'), -- | 1 | + ('X', '0', '1', 'Z', 'W', 'L', 'H'), -- | Z | + ('X', '0', '1', 'W', 'W', 'W', 'W'), -- | W | + ('X', '0', '1', 'L', 'W', 'L', 'W'), -- | L | + ('X', '0', '1', 'H', 'W', 'W', 'H')); -- | H | + +--synopsys synthesis_on + + + ----------------------------------------------------------------------- + -- + -- logical functions for scalar type of MVL7 + -- + ----------------------------------------------------------------------- + + function "and" (L, R: MVL7) return MVL7; + + function "nand" (L, R: MVL7) return MVL7; + + function "or" (L, R: MVL7) return MVL7; + + function "nor" (L, R: MVL7) return MVL7; + + function "xor" (L, R: MVL7) return MVL7; + + function nxor (L, R: MVL7) return MVL7; + + function "not" (R: MVL7) return MVL7; + + function buf (R: MVL7) return MVL7; + + + + ----------------------------------------------------------------------- + -- + -- logical functions for composite type of MVL7_VECTOR + -- + ----------------------------------------------------------------------- + + function "and" (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function "nand" (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function "or" (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function "nor" (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function "xor" (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function nxor (L, R: MVL7_VECTOR) return MVL7_VECTOR; + + function "not" (R: MVL7_VECTOR) return MVL7_VECTOR; + + function buf (R: MVL7_VECTOR) return MVL7_VECTOR; + + + + ----------------------------------------------------------------------- + -- + -- resolution functions for wired signals and its attributes + -- + ----------------------------------------------------------------------- + + function WiredX (V: MVL7_VECTOR) return MVL7; + +--synopsys translate_off + attribute REFLEXIVE of WiredX: function is TRUE; + attribute RESULT_INITIAL_VALUE of WiredX: function is MVL7'POS('Z'); + attribute TABLE_NAME of WiredX: function is "TYPES.tbl_WIREDX"; +--synopsys translate_on + + + + + ----------------------------------------------------------------------- + -- + -- Definitions for wired signals (scalars and vectors) + -- + ----------------------------------------------------------------------- + + subtype DotX is WiredX MVL7; + + + type BusX is array (Natural range <>) of DotX; + + + + ----------------------------------------------------------------------- + -- + -- conversion functions for driving various types + -- + ----------------------------------------------------------------------- + + function Drive (V: MVL7_VECTOR) return BusX; + function Drive (V: BusX) return MVL7_VECTOR; + +--synopsys translate_off + attribute CLOSELY_RELATED_TCF of Drive: function is TRUE; +--synopsys translate_on + + + +--synopsys synthesis_off + ----------------------------------------------------------------------- + -- + -- conversion functions for sensing various types + -- (the second argument allows the user to specify the value to + -- be returned when the network is undriven) + -- + ----------------------------------------------------------------------- + + function Sense (V: MVL7; vZ: MVL7) return MVL7; + function Sense (V: MVL7_VECTOR; vZ: MVL7) return MVL7_VECTOR; + function Sense (V: BusX; vZ: MVL7) return MVL7_VECTOR; +--synopsys synthesis_on + + + ----------------------------------------------------------------------- + -- + -- Function: BVtoMVL7V + -- + -- Purpose: Conversion function from BIT_VECTOR to MVL7_VECTOR + -- + -- Mapping: 0 --> 0 + -- 1 --> 1 + -- + ----------------------------------------------------------------------- + + function BVtoMVL7V (V: BIT_VECTOR) return MVL7_VECTOR; + + + ----------------------------------------------------------------------- + -- + -- Function: MVL7VtoBV + -- + -- Purpose: Conversion function from MVL7_VECTOR to BIT_VECTOR + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X --> vX if Xflag is TRUE + -- X --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- + ----------------------------------------------------------------------- + + function MVL7VtoBV (V: MVL7_VECTOR +--synopsys synthesis_off + ; vX, vZ: BIT := '0'; Xflag, Zflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR; + + + ----------------------------------------------------------------------- + -- + -- Function: BITtoMVL7 + -- + -- Purpose: Conversion function from BIT to MVL7 + -- + -- Mapping: 0 --> 0 + -- 1 --> 1 + -- + ----------------------------------------------------------------------- + + function BITtoMVL7 (V: BIT) return MVL7; + + + ----------------------------------------------------------------------- + -- + -- Function: MVL7toBIT + -- + -- Purpose: Conversion function from MVL7 to BIT + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X --> vX if Xflag is TRUE + -- X --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- + ----------------------------------------------------------------------- + + function MVL7toBIT (V: MVL7 +--synopsys synthesis_off + ; vX, vZ: BIT := '0'; Xflag, Zflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT; + + + +--synopsys synthesis_off + ----------------------------------------------------------------------- + -- + -- Truth tables for unidirectional transistors + -- + ----------------------------------------------------------------------- + + + -- truth table for reduce function + constant tbl_REDUCE: MVL7_TAB1D := + -- ------------------------------------ + -- | X 0 1 Z W L H | + -- ------------------------------------ + ('W', 'L', 'H', 'Z', 'W', 'L', 'H'); + + constant tbl_NXFER: MVL7_TABLE := + ---------------------------------------------------------- + -- | Input 'X' '0' '1' 'Z' 'W' 'L' 'H' | Enable + ---------------------------------------------------------- + (('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'X' + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z'), -- '0' + ('X', '0', '1', 'Z', 'W', 'L', 'H'), -- '1' + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'Z' + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'W' + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z'), -- 'L' + ('X', '0', '1', 'Z', 'W', 'L', 'H')); -- 'H' + + constant tbl_PXFER: MVL7_TABLE := + ---------------------------------------------------------- + -- | Input 'X' '0' '1' 'Z' 'W' 'L' 'H' | Enable + ---------------------------------------------------------- + (('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'X' + ('X', '0', '1', 'Z', 'W', 'L', 'H'), -- '0' + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z'), -- '1' + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'Z' + ('X', 'X', 'X', 'X', 'X', 'X', 'X'), -- 'W' + ('X', '0', '1', 'Z', 'W', 'L', 'H'), -- 'L' + ('Z', 'Z', 'Z', 'Z', 'Z', 'Z', 'Z')); -- 'H' +--synopsys synthesis_on + +end TYPES; + + + + +package body TYPES is + + + ----------------------------------------------------------------------- + -- + -- logical functions for scalar type of MVL7 + -- + ----------------------------------------------------------------------- + + function "and" (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_AND +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "AND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_AND(L, R); + return result ; +--synopsys synthesis_on + end "and"; + + + + function "nand" (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_NAND +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NAND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_NOT(tbl_AND(L, R)); + return result ; +--synopsys synthesis_on + end "nand"; + + + + function "or" (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_OR +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "OR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_OR(L, R); + return result ; +--synopsys synthesis_on + end "or"; + + + + function "nor" (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_NOR +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_NOT(tbl_OR(L, R)); + return result ; +--synopsys synthesis_on + end "nor"; + + + + function "xor" (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_XOR +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "XOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_XOR(L, R); + return result ; +--synopsys synthesis_on + end "xor"; + + + function nxor (L, R: MVL7) return MVL7 is + -- pragma built_in SYN_XNOR +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "XNOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_NOT(tbl_XOR(L, R)); + return result ; +--synopsys synthesis_on + end nxor; + + + function "not" (R: MVL7) return MVL7 is + -- pragma built_in SYN_NOT +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NOT" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_NOT(R); + return result ; +--synopsys synthesis_on + end "not"; + + + function buf (R: MVL7) return MVL7 is + -- pragma built_in SYN_BUF +--synopsys synthesis_off + variable result : MVL7 ; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + result := tbl_BUF(R); + return result ; +--synopsys synthesis_on + end buf; + + + + ----------------------------------------------------------------------- + -- + -- logical functions for composite type of MVL7_VECTOR + -- + ----------------------------------------------------------------------- + + function "and" (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_AND +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "AND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := tbl_AND(LV (i), RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "and"; + + + function "nand" (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_NAND +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NAND" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := tbl_NOT(tbl_AND(LV (i), RV (i))); + end loop; + return result; +--synopsys synthesis_on + end "nand"; + + + function "or" (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_OR +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "OR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := tbl_OR(LV (i), RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "or"; + + + function "nor" (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_NOR +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := tbl_NOT(tbl_OR(LV (i), RV (i))); + end loop; + return result; +--synopsys synthesis_on + end "nor"; + + + function "xor" (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_XOR +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "XOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result (i) := tbl_XOR(LV (i), RV (i)); + end loop; + return result; +--synopsys synthesis_on + end "xor"; + + + function nxor (L, R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_XNOR +--synopsys synthesis_off + alias LV: MVL7_VECTOR (L'length-1 downto 0) is L; + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (L'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "XNOR" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + assert L'length = R'length; + for i in result'range loop + result(i) := tbl_NOT(tbl_XOR(LV(i), RV(i))); + end loop; + return result; +--synopsys synthesis_on + end nxor; + + + function "not" (R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_NOT +--synopsys synthesis_off + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (R'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "NOT" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + result (i) := tbl_NOT( RV(i) ); + end loop; + return result; +--synopsys synthesis_on + end "not"; + + + function buf (R: MVL7_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_BUF +--synopsys synthesis_off + alias RV: MVL7_VECTOR (R'length-1 downto 0) is R; + variable result: MVL7_VECTOR (R'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in result'range loop + result(i) := tbl_BUF( RV(i) ); + end loop; + return result; +--synopsys synthesis_on + end buf; + + + + + ----------------------------------------------------------------------- + -- + -- resolution functions for wired signals + -- + ----------------------------------------------------------------------- + + + function WiredX (V: MVL7_VECTOR) return MVL7 is + -- pragma resolution_method three_state + + variable result: MVL7; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "WIRED_THREE_STATE" ; + begin +--synopsys synthesis_off + result := 'Z'; + for i in V'range loop + result := tbl_WIREDX(result, V(i)); + exit when result = 'X'; + end loop; + return result; +--synopsys synthesis_on + end WiredX; + + + + + ----------------------------------------------------------------------- + -- + -- conversion functions for driving various types + -- + ----------------------------------------------------------------------- + + + + function Drive (V: BusX) return MVL7_VECTOR is + begin + return MVL7_VECTOR(V); + end Drive; + + + + + function Drive (V: MVL7_VECTOR) return BusX is + begin + return BusX(V); + end Drive; + + + ----------------------------------------------------------------------- + -- + -- conversion functions for sensing various types + -- + -- (the second argument allows the user to specify the value to + -- be returned when the network is undriven) + -- + ----------------------------------------------------------------------- +-- synopsys synthesis_off + + function Sense (V: MVL7; vZ: MVL7) return MVL7 is + begin + if V = 'Z' then + return vZ; + else + return V; + end if; + end Sense; + + + function Sense (V: MVL7_VECTOR; vZ: MVL7) return MVL7_VECTOR is + alias Value: MVL7_VECTOR (V'length-1 downto 0) is V; + variable Result: MVL7_VECTOR (V'length-1 downto 0); + begin + for i in Value'range loop + if ( Value(i) = 'Z' ) then + Result(i) := vZ; + else + Result(i) := Value(i); + end if; + end loop; + return Result; + end Sense; + + + function Sense (V: BusX; vZ: MVL7) return MVL7_VECTOR is + alias Value: BusX (V'length-1 downto 0) is V; + variable Result: MVL7_VECTOR (V'length-1 downto 0); + begin + for i in Value'range loop + if ( Value(i) = 'Z' ) then + Result(i) := vZ; + else + Result(i) := Value(i); + end if; + end loop; + return Result; + end Sense; + +-- synopsys synthesis_on + + ----------------------------------------------------------------------- + -- + -- Function: BVtoMVL7V + -- + -- Purpose: Conversion function from BIT_VECTOR to MVL7_VECTOR + -- + -- Mapping: 0 --> 0 + -- 1 --> 1 + -- + ----------------------------------------------------------------------- + + function BVtoMVL7V (V: BIT_VECTOR) return MVL7_VECTOR is + -- pragma built_in SYN_FEED_THRU +--synopsys synthesis_off + alias Value: BIT_VECTOR (V'length-1 downto 0) is V; + variable Result: MVL7_VECTOR (V'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in Value'range loop + if ( Value(i) = '0' ) then + Result(i) := '0'; + else + Result(i) := '1'; + end if; + end loop; + return Result; +--synopsys synthesis_on + end BVtoMVL7V; + + + + ----------------------------------------------------------------------- + -- + -- Function: MVL7VtoBV + -- + -- Purpose: Conversion function from MVL7_VECTOR to BIT_VECTOR + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X --> vX if Xflag is TRUE + -- X --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- + ----------------------------------------------------------------------- + + function MVL7VtoBV (V: MVL7_VECTOR +--synopsys synthesis_off + ; vX, vZ: BIT := '0'; Xflag, Zflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT_VECTOR is + -- pragma built_in SYN_FEED_THRU +--synopsys synthesis_off + alias Value: MVL7_VECTOR (V'length-1 downto 0) is V; + variable Result: BIT_VECTOR (V'length-1 downto 0); + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; +--synopsys synthesis_on + begin +--synopsys synthesis_off + for i in Value'range loop + case Value(i) is + when '0' | 'L' => + Result(i) := '0'; + when '1' | 'H' => + Result(i) := '1'; + when 'X' | 'W' => + if ( Xflag ) then + Result(i) := vX; + else + Result(i) := '0'; + assert FALSE + report "MVL7VtoBV: X --> 0" + severity WARNING; + end if; + when others => + if ( Zflag ) then + Result(i) := vZ; + else + Result(i) := '0'; + assert FALSE + report "MVL7VtoBV: Z --> 0" + severity WARNING; + end if; + end case; + end loop; + return Result; +--synopsys synthesis_on + end MVL7VtoBV; + + + + ----------------------------------------------------------------------- + -- + -- Function: BITtoMVL7 + -- + -- Purpose: Conversion function from BIT to MVL7 + -- + -- Mapping: 0 --> 0 + -- 1 --> 1 + -- + ----------------------------------------------------------------------- + + function BITtoMVL7 (V: BIT) return MVL7 is + variable Result: MVL7; + -- pragma built_in SYN_FEED_THRU + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; + begin + if ( V = '0' ) then + Result := '0'; + else + Result := '1'; + end if; + return Result; + end BITtoMVL7; + + + + + ----------------------------------------------------------------------- + -- + -- Function: MVL7toBIT + -- + -- Purpose: Conversion function from MVL7 to BIT + -- + -- Mapping: 0, L --> 0 + -- 1, H --> 1 + -- X --> vX if Xflag is TRUE + -- X --> 0 if Xflag is FALSE + -- Z --> vZ if Zflag is TRUE + -- Z --> 0 if Zflag is FALSE + -- + ----------------------------------------------------------------------- + + function MVL7toBIT (V: MVL7 +--synopsys synthesis_off + ; vX, vZ: BIT := '0'; Xflag, Zflag: BOOLEAN := FALSE +--synopsys synthesis_on + ) return BIT is + -- pragma built_in SYN_FEED_THRU + variable Result: BIT; + -- Set Exemplar Synthesis Directive for this function + attribute SYNTHESIS_RETURN of result:variable IS "FEED_THROUGH" ; + begin +--synopsys synthesis_off + case V is + when '0' | 'L' => + Result := '0'; + when '1' | 'H' => + Result := '1'; + when 'X' | 'W' => + if ( Xflag ) then + Result := vX; + else + Result := '0'; + assert FALSE + report "MVL7toBIT: X --> 0" + severity WARNING; + end if; + when others => + if ( Zflag ) then + Result := vZ; + else + Result := '0'; + assert FALSE + report "MVL7toBIT: Z --> 0" + severity WARNING; + end if; + end case; + return Result; +--synopsys synthesis_on + end MVL7toBIT; + +end TYPES; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/DSP48E1.vhd b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/DSP48E1.vhd new file mode 100644 index 0000000..429f41a --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/DSP48E1.vhd @@ -0,0 +1,1895 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2004 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 11.1 +-- \ \ Description : Xilinx Fast Functional Simulation Library Component +-- / / 18X18 Signed Multiplier Followed by Three-Input Adder plus ALU with Pipeline Registers +-- /___/ /\ Filename : DSP48E1.vhd +-- \ \ / \ Timestamp : Tue Mar 18 13:58:36 PDT 2008 +-- \___\/\___\ +-- +-- Revision: +-- 03/18/08 - Initial version. +-- 05/14/08 - IR472886 fix. +-- 05/19/08 - IR 473330 Fix for qa/qb_o_reg1 when AREG/BREG = 1 +-- 28/05/08 - CR 472154 Removed Vital GSR constructs +-- 07/12/08 - IR 472222 Removed SIM_MODE attribute +-- 07/18/08 - IR 477318 Overflow/Underflow generate statment issue +-- 07/31/08 - IR 478377 Fixed qcarryin_o_mux7 +-- 08/18/08 - IR 478378 Fixed mult sign extension +-- 09/22/08 - IR 490045 Fixed qad_o_mux output +-- 10/02/08 - IR 491365 fixed Vital timing constructs +-- 10/10/08 - IR 491951 Pattern Detect fix +-- 01/08/09 - CR 501854 -- Fixed invalid pdet comparison when there is a X in pattern. +-- 03/02/09 - CR 510304 Carryout should output "X" during multiply +-- 06/02/09 - CR 523600 Carryout "X"ed out before the register +-- 06/05/09 - CR 523917 Carryout is "X"ed one clock cycle ahead of previous DSP48E +-- 07/07/09 - CR 525163 DRC checks for USE_MULT/OPMODE combinations +-- 07/21/09 - CR 527637 Fixed incorrect error message for MREG +-- 08/31/10 - CR 574213 Carryout "X"ing mismatches between verilog and vhdl +-- 10/17/10 - CR 573535 Updated DRC check (carryinsel=100) since carrycascout is now always registered +-- 10/20/10 - CR 574337 Output X after a certain DRC violation +-- 06/23/11 - CR 612706 Removed Power Saving DRCs to Match UG +-- 09/30/11 - CR 619940 -- Enhanced DRC warning +-- 11/04/11 - CR 632559 -- Fixed issues caused by 619940 +-- 04/05/12 - PR 603477 Fast model version +-- 10/17/12 - 682802 - convert GSR H/L to 1/0 +-- End Revision +----- CELL DSP48E1 ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.STD_LOGIC_SIGNED.all; +use IEEE.STD_LOGIC_ARITH.all; + +library STD; +use STD.TEXTIO.all; + + +library unisim; +use unisim.vpkg.all; +use unisim.vcomponents.all; + +entity DSP48E1 is + + generic( + + ACASCREG : integer := 1; + ADREG : integer := 1; + ALUMODEREG : integer := 1; + AREG : integer := 1; + AUTORESET_PATDET : string := "NO_RESET"; + A_INPUT : string := "DIRECT"; + BCASCREG : integer := 1; + BREG : integer := 1; + B_INPUT : string := "DIRECT"; + CARRYINREG : integer := 1; + CARRYINSELREG : integer := 1; + CREG : integer := 1; + DREG : integer := 1; + INMODEREG : integer := 1; + IS_ALUMODE_INVERTED : std_logic_vector (3 downto 0) := "0000"; + IS_CARRYIN_INVERTED : bit := '0'; + IS_CLK_INVERTED : bit := '0'; + IS_INMODE_INVERTED : std_logic_vector (4 downto 0) := "00000"; + IS_OPMODE_INVERTED : std_logic_vector (6 downto 0) := "0000000"; + MASK : bit_vector := X"3FFFFFFFFFFF"; + MREG : integer := 1; + OPMODEREG : integer := 1; + PATTERN : bit_vector := X"000000000000"; + PREG : integer := 1; + SEL_MASK : string := "MASK"; + SEL_PATTERN : string := "PATTERN"; + USE_DPORT : boolean := FALSE; + USE_MULT : string := "MULTIPLY"; + USE_PATTERN_DETECT : string := "NO_PATDET"; + USE_SIMD : string := "ONE48" + ); + + port( + ACOUT : out std_logic_vector(29 downto 0); + BCOUT : out std_logic_vector(17 downto 0); + CARRYCASCOUT : out std_ulogic; + CARRYOUT : out std_logic_vector(3 downto 0); + MULTSIGNOUT : out std_ulogic; + OVERFLOW : out std_ulogic; + P : out std_logic_vector(47 downto 0); + PATTERNBDETECT : out std_ulogic; + PATTERNDETECT : out std_ulogic; + PCOUT : out std_logic_vector(47 downto 0); + UNDERFLOW : out std_ulogic; + + A : in std_logic_vector(29 downto 0); + ACIN : in std_logic_vector(29 downto 0); + ALUMODE : in std_logic_vector(3 downto 0); + B : in std_logic_vector(17 downto 0); + BCIN : in std_logic_vector(17 downto 0); + C : in std_logic_vector(47 downto 0); + CARRYCASCIN : in std_ulogic; + CARRYIN : in std_ulogic; + CARRYINSEL : in std_logic_vector(2 downto 0); + CEA1 : in std_ulogic; + CEA2 : in std_ulogic; + CEAD : in std_ulogic; + CEALUMODE : in std_ulogic; + CEB1 : in std_ulogic; + CEB2 : in std_ulogic; + CEC : in std_ulogic; + CECARRYIN : in std_ulogic; + CECTRL : in std_ulogic; + CED : in std_ulogic; + CEINMODE : in std_ulogic; + CEM : in std_ulogic; + CEP : in std_ulogic; + CLK : in std_ulogic; + D : in std_logic_vector(24 downto 0); + INMODE : in std_logic_vector(4 downto 0); + MULTSIGNIN : in std_ulogic; + OPMODE : in std_logic_vector(6 downto 0); + PCIN : in std_logic_vector(47 downto 0); + RSTA : in std_ulogic; + RSTALLCARRYIN : in std_ulogic; + RSTALUMODE : in std_ulogic; + RSTB : in std_ulogic; + RSTC : in std_ulogic; + RSTCTRL : in std_ulogic; + RSTD : in std_ulogic; + RSTINMODE : in std_ulogic; + RSTM : in std_ulogic; + RSTP : in std_ulogic + ); + +end DSP48E1; + +-- architecture body -- + +architecture DSP48E1_V of DSP48E1 is + + function find_x ( + lhs : in std_logic_vector (47 downto 0); + rhs : in std_logic_vector (47 downto 0) + ) return boolean is + variable test_bit : std_ulogic := '0'; + variable found_x : boolean := false; + variable i : integer := 0; + begin + + found_x := false; + + for i in 0 to 47 loop + test_bit := lhs(i); + if (test_bit /= '0' and test_bit /= '1') then + found_x := true; + end if; + end loop; + for i in 0 to 47 loop + test_bit := rhs(i); + if (test_bit /= '0' and test_bit /= '1') then + found_x := true; + end if; + end loop; + return found_x; + end; + + procedure invalid_opmode_preg_msg( OPMODE : IN string ; + CARRYINSEL : IN string ) is + variable Message : line; + begin + Write ( Message, string'("OPMODE Input Warning : The OPMODE ")); + Write ( Message, OPMODE); + Write ( Message, string'(" with CARRYINSEL ")); + Write ( Message, CARRYINSEL); + Write ( Message, string'(" to DSP48E1 instance ")); + Write ( Message, string'("requires attribute PREG set to 1.")); + assert false report Message.all severity Warning; + DEALLOCATE (Message); + end invalid_opmode_preg_msg; + + procedure invalid_opmode_preg_msg_logic( OPMODE : IN string ) is + variable Message : line; + begin + Write ( Message, string'("OPMODE Input Warning : The OPMODE ")); + Write ( Message, OPMODE); + Write ( Message, string'(" to DSP48E1 instance ")); + Write ( Message, string'("requires attribute PREG set to 1.")); + assert false report Message.all severity Warning; + DEALLOCATE (Message); + end invalid_opmode_preg_msg_logic; + + procedure invalid_opmode_mreg_msg( OPMODE : IN string ; + CARRYINSEL : IN string ) is + variable Message : line; + begin + Write ( Message, string'("OPMODE Input Warning : The OPMODE ")); + Write ( Message, OPMODE); + Write ( Message, string'(" with CARRYINSEL ")); + Write ( Message, CARRYINSEL); + Write ( Message, string'(" to DSP48E1 instance ")); + Write ( Message, string'("requires attribute MREG set to 1.")); + assert false report Message.all severity Warning; + DEALLOCATE (Message); + end invalid_opmode_mreg_msg; + + procedure invalid_opmode_no_mreg_msg( OPMODE : IN string ; + CARRYINSEL : IN string ) is + variable Message : line; + begin + Write ( Message, string'("OPMODE Input Warning : The OPMODE ")); + Write ( Message, OPMODE); + Write ( Message, string'(" with CARRYINSEL ")); + Write ( Message, CARRYINSEL); + Write ( Message, string'(" to DSP48E1 instance ")); + Write ( Message, string'("requires attribute MREG set to 0.")); + assert false report Message.all severity Warning; + DEALLOCATE (Message); + end invalid_opmode_no_mreg_msg; + + + + TYPE AluFuntionType is (INVALID_ALU, ADD_ALU, ADD_XY_NOTZ_ALU, NOT_XYZC_ALU, SUBTRACT_ALU, NOT_ALU, + AND_ALU, OR_ALU, XOR_ALU, NAND_ALU, NOR_ALU, + XNOR_ALU, X_AND_NOT_Z_ALU, NOT_X_OR_Z_ALU, X_OR_NOT_Z_ALU, + X_NOR_Z_ALU, NOT_X_AND_Z_ALU); + + constant SYNC_PATH_DELAY : time := 100 ps; + + constant MAX_ACOUT : integer := 30; + constant MAX_BCOUT : integer := 18; + constant MAX_CARRYOUT : integer := 4; + constant MAX_P : integer := 48; + constant MAX_PCOUT : integer := 48; + + constant MAX_A : integer := 30; + constant MAX_ACIN : integer := 30; + constant MAX_ALUMODE : integer := 4; + constant MAX_A_MULT : integer := 25; + constant MAX_B : integer := 18; + constant MAX_B_MULT : integer := 18; + constant MAX_BCIN : integer := 18; + constant MAX_C : integer := 48; + constant MAX_D : integer := 25; + constant MAX_CARRYINSEL : integer := 3; + constant MAX_INMODE : integer := 5; + constant MAX_OPMODE : integer := 7; + constant MAX_PCIN : integer := 48; + + constant MAX_ALU_FULL : integer := 48; + constant MAX_ALU_HALF : integer := 24; + constant MAX_ALU_QUART : integer := 12; + + constant MAX_PREADD : integer := 25; + + constant MSB_ACOUT : integer := MAX_ACOUT - 1; + constant MSB_BCOUT : integer := MAX_BCOUT - 1; + constant MSB_CARRYOUT : integer := MAX_CARRYOUT - 1; + constant MSB_P : integer := MAX_P - 1; + constant MSB_PCOUT : integer := MAX_PCOUT - 1; + + + constant MSB_A : integer := MAX_A - 1; + constant MSB_ACIN : integer := MAX_ACIN - 1; + constant MSB_ALUMODE : integer := MAX_ALUMODE - 1; + constant MSB_A_MULT : integer := MAX_A_MULT - 1; + constant MSB_B : integer := MAX_B - 1; + constant MSB_B_MULT : integer := MAX_B_MULT - 1; + constant MSB_BCIN : integer := MAX_BCIN - 1; + constant MSB_C : integer := MAX_C - 1; + constant MSB_CARRYINSEL : integer := MAX_CARRYINSEL - 1; + constant MSB_OPMODE : integer := MAX_OPMODE - 1; + constant MSB_PCIN : integer := MAX_PCIN - 1; + + constant MSB_ALU_FULL : integer := MAX_ALU_FULL - 1; + constant MSB_ALU_HALF : integer := MAX_ALU_HALF - 1; + constant MSB_ALU_QUART : integer := MAX_ALU_QUART - 1; + + constant SHIFT_MUXZ : integer := 17; + + constant MSB_D : integer := MAX_D - 1; + constant MSB_INMODE : integer := MAX_INMODE - 1; + constant MSB_PREADD : integer := MAX_PREADD - 1; + + signal IS_ALUMODE_INVERTED_BIN : std_logic_vector (3 downto 0) := IS_ALUMODE_INVERTED; + signal IS_CARRYIN_INVERTED_BIN : std_ulogic := TO_X01(IS_CARRYIN_INVERTED); + signal IS_CLK_INVERTED_BIN : std_ulogic := TO_X01(IS_CLK_INVERTED); + signal IS_INMODE_INVERTED_BIN : std_logic_vector (4 downto 0) := IS_INMODE_INVERTED; + signal IS_OPMODE_INVERTED_BIN : std_logic_vector (6 downto 0) := IS_OPMODE_INVERTED; + + signal A_ipd : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal ACIN_ipd : std_logic_vector(MSB_ACIN downto 0) := (others => '0'); + signal ALUMODE_ipd : std_logic_vector(MSB_ALUMODE downto 0) := (others => '0'); + signal B_ipd : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal BCIN_ipd : std_logic_vector(MSB_BCIN downto 0) := (others => '0'); + signal C_ipd : std_logic_vector(MSB_C downto 0) := (others => '0'); + signal CARRYCASCIN_ipd : std_ulogic := '0'; + signal CARRYIN_ipd : std_ulogic := '0'; + signal CARRYINSEL_ipd : std_logic_vector(MSB_CARRYINSEL downto 0) := (others => '0'); + signal CEA1_ipd : std_ulogic := '0'; + signal CEA2_ipd : std_ulogic := '0'; + signal CEAD_ipd : std_ulogic := '0'; + signal CEALUMODE_ipd : std_ulogic := '0'; + signal CEB1_ipd : std_ulogic := '0'; + signal CEB2_ipd : std_ulogic := '0'; + signal CEC_ipd : std_ulogic := '0'; + signal CECARRYIN_ipd : std_ulogic := '0'; + signal CECTRL_ipd : std_ulogic := '0'; + signal CED_ipd : std_ulogic := '0'; + signal CEINMODE_ipd : std_ulogic := '0'; + signal CEM_ipd : std_ulogic := '0'; + signal CEP_ipd : std_ulogic := '0'; + signal CLK_ipd : std_ulogic := '0'; + signal D_ipd : std_logic_vector(MSB_D downto 0) := (others => '0'); + signal INMODE_ipd : std_logic_vector(MSB_INMODE downto 0) := (others => '0'); +--signal GSR : std_ulogic := '0'; +--signal GSR_ipd : std_ulogic := '0'; + signal MULTSIGNIN_ipd : std_ulogic := '0'; + signal OPMODE_ipd : std_logic_vector(MSB_OPMODE downto 0) := (others => '0'); + signal PCIN_ipd : std_logic_vector(MSB_PCIN downto 0) := (others => '0'); + signal RSTA_ipd : std_ulogic := '0'; + signal RSTALLCARRYIN_ipd : std_ulogic := '0'; + signal RSTALUMODE_ipd : std_ulogic := '0'; + signal RSTB_ipd : std_ulogic := '0'; + signal RSTC_ipd : std_ulogic := '0'; + signal RSTCTRL_ipd : std_ulogic := '0'; + signal RSTD_ipd : std_ulogic := '0'; + signal RSTINMODE_ipd : std_ulogic := '0'; + signal RSTM_ipd : std_ulogic := '0'; + signal RSTP_ipd : std_ulogic := '0'; + + + signal A_dly : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal ACIN_dly : std_logic_vector(MSB_ACIN downto 0) := (others => '0'); + signal ALUMODE_dly : std_logic_vector(MSB_ALUMODE downto 0) := (others => '0'); + signal B_dly : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal BCIN_dly : std_logic_vector(MSB_BCIN downto 0) := (others => '0'); + signal C_dly : std_logic_vector(MSB_C downto 0) := (others => '0'); + signal CARRYCASCIN_dly : std_ulogic := '0'; + signal CARRYIN_dly : std_ulogic := '0'; + signal CARRYINSEL_dly : std_logic_vector(MSB_CARRYINSEL downto 0) := (others => '0'); + signal CEA1_dly : std_ulogic := '0'; + signal CEA2_dly : std_ulogic := '0'; + signal CEAD_dly : std_ulogic := '0'; + signal CEALUMODE_dly : std_ulogic := '0'; + signal CEB1_dly : std_ulogic := '0'; + signal CEB2_dly : std_ulogic := '0'; + signal CEC_dly : std_ulogic := '0'; + signal CECARRYIN_dly : std_ulogic := '0'; + signal CECTRL_dly : std_ulogic := '0'; + signal CED_dly : std_ulogic := '0'; + signal CEINMODE_dly : std_ulogic := '0'; + signal CEM_dly : std_ulogic := '0'; + signal CEP_dly : std_ulogic := '0'; + signal CLK_dly : std_ulogic := '0'; + signal D_dly : std_logic_vector(MSB_D downto 0) := (others => '0'); + signal INMODE_dly : std_logic_vector(MSB_INMODE downto 0) := (others => '0'); + signal GSR_dly : std_ulogic := '0'; + signal MULTSIGNIN_dly : std_ulogic := '0'; + signal OPMODE_dly : std_logic_vector(MSB_OPMODE downto 0) := (others => '0'); + signal PCIN_dly : std_logic_vector(MSB_PCIN downto 0) := (others => '0'); + signal RSTA_dly : std_ulogic := '0'; + signal RSTALLCARRYIN_dly : std_ulogic := '0'; + signal RSTALUMODE_dly : std_ulogic := '0'; + signal RSTB_dly : std_ulogic := '0'; + signal RSTC_dly : std_ulogic := '0'; + signal RSTCTRL_dly : std_ulogic := '0'; + signal RSTD_dly : std_ulogic := '0'; + signal RSTINMODE_dly : std_ulogic := '0'; + signal RSTM_dly : std_ulogic := '0'; + signal RSTP_dly : std_ulogic := '0'; + + + signal ACOUT_zd : std_logic_vector(MSB_ACOUT downto 0) := (others => '0'); + signal BCOUT_zd : std_logic_vector(MSB_BCOUT downto 0) := (others => '0'); + signal CARRYCASCOUT_zd : std_ulogic := '0'; + signal CARRYOUT_zd : std_logic_vector(MSB_CARRYOUT downto 0) := (others => '0'); + signal OVERFLOW_zd : std_ulogic := '0'; + signal P_zd : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal PATTERNBDETECT_zd : std_ulogic := '0'; + signal PATTERNDETECT_zd : std_ulogic := '0'; + signal PCOUT_zd : std_logic_vector(MSB_PCOUT downto 0) := (others => '0'); + signal UNDERFLOW_zd : std_ulogic := '0'; + signal MULTSIGNOUT_zd : std_ulogic; + + --- Internal Signal Declarations + signal a_o_mux : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal qa_o_reg1 : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal qa_o_reg2 : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal qa_o_mux : std_logic_vector(MSB_A downto 0) := (others => '0'); + signal qacout_o_mux : std_logic_vector(MSB_ACOUT downto 0) := (others => '0'); + + signal b_o_mux : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal qb_o_reg1 : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal qb_o_reg2 : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal qb_o_mux : std_logic_vector(MSB_B downto 0) := (others => '0'); + signal qbcout_o_mux : std_logic_vector(MSB_BCOUT downto 0) := (others => '0'); + + signal qc_o_reg : std_logic_vector(MSB_C downto 0) := (others => '0'); + signal qc_o_mux : std_logic_vector(MSB_C downto 0) := (others => '0'); + +-- new D + signal d_o_mux : std_logic_vector(MSB_D downto 0) := (others => '0'); + signal qd_o_mux : std_logic_vector(MSB_D downto 0) := (others => '0'); + signal qd_o_reg1 : std_logic_vector(MSB_D downto 0) := (others => '0'); + +-- new INMODE + signal qinmode_o_mux : std_logic_vector(MSB_INMODE downto 0) := (others => '0'); + signal qinmode_o_reg : std_logic_vector(MSB_INMODE downto 0) := (others => '0'); + +-- new + signal d_portion : std_logic_vector(MSB_D downto 0) := (others => '0'); + signal a_preaddsub : std_logic_vector(MSB_PREADD downto 0) := (others => '0'); + signal ad_addsub : std_logic_vector(MSB_A_MULT downto 0) := (others => '0'); + signal ad_mult : std_logic_vector(MSB_A_MULT downto 0) := (others => '0'); + signal qad_o_reg1 : std_logic_vector(MSB_A_MULT downto 0) := (others => '0'); + signal qad_o_mux : std_logic_vector(MSB_A_MULT downto 0) := (others => '0'); + + signal b_mult : std_logic_vector(MSB_B_MULT downto 0) := (others => '0'); + + signal mult_o_int : std_logic_vector((MSB_A_MULT + MSB_B_MULT + 1) downto 0) := (others => '0'); + signal mult_o_reg : std_logic_vector((MSB_A_MULT + MSB_B_MULT + 1) downto 0) := (others => '0'); + signal mult_o_mux : std_logic_vector((MSB_A_MULT + MSB_B_MULT + 1) downto 0) := (others => '0'); + + signal opmode_o_reg : std_logic_vector(MSB_OPMODE downto 0) := (others => '0'); + signal opmode_o_mux : std_logic_vector(MSB_OPMODE downto 0) := (others => '0'); + + signal muxx_o_mux : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal muxy_o_mux : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal muxz_o_mux : std_logic_vector(MSB_P downto 0) := (others => '0'); + + signal carryinsel_o_reg : std_logic_vector(MSB_CARRYINSEL downto 0) := (others => '0'); + signal carryinsel_o_mux : std_logic_vector(MSB_CARRYINSEL downto 0) := (others => '0'); + + signal qcarryin_o_reg0 : std_ulogic := '0'; + signal carryin_o_mux0 : std_ulogic := '0'; + signal qcarryin_o_reg7 : std_ulogic := '0'; + signal carryin_o_mux7 : std_ulogic := '0'; + + signal carryin_o_mux : std_ulogic := '0'; + + signal qp_o_reg : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal qp_o_mux : std_logic_vector(MSB_P downto 0) := (others => '0'); + + signal reg_p_int : std_logic_vector(47 downto 0) := (others => '0'); + signal p_o_int : std_logic_vector(47 downto 0) := (others => '0'); + + signal output_x_sig : std_ulogic := '0'; + + signal RST_META : std_ulogic := '0'; + + signal DefDelay : time := 10 ps; + + signal opmode_valid_flg : boolean := true; + signal alumode_valid_flg : boolean := true; + + signal AluFunction : AluFuntionType := INVALID_ALU; + + signal alumode_o_reg : std_logic_vector(MSB_ALUMODE downto 0) := (others => '0'); + signal alumode_o_mux : std_logic_vector(MSB_ALUMODE downto 0) := (others => '0'); + + signal carrycascout_o : std_ulogic := '0'; + signal carrycascout_o_reg : std_ulogic := '0'; + signal carrycascout_o_mux : std_ulogic := '0'; + signal carryout_o_hw : std_logic_vector(MSB_CARRYOUT downto 0) := (others => '0'); + signal carryout_o : std_logic_vector(MSB_CARRYOUT downto 0) := (others => '0'); + signal carryout_o_reg : std_logic_vector(MSB_CARRYOUT downto 0) := (others => '0'); + signal carryout_o_mux : std_logic_vector(MSB_CARRYOUT downto 0) := (others => '0'); + signal carryout_x_o : std_logic_vector(MSB_CARRYOUT downto 0) := (others => 'X'); + signal overflow_o : std_ulogic := '0'; + signal pdetb_o : std_ulogic := '0'; + signal pdetb_o_reg1 : std_ulogic := '0'; + signal pdetb_o_reg2 : std_ulogic := '0'; + signal pdet_o : std_ulogic := '0'; + signal pdet_o_reg1 : std_ulogic := '0'; + signal pdet_o_reg2 : std_ulogic := '0'; + signal underflow_o : std_ulogic := '0'; + + signal alu_o : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal pattern_qp : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal mask_qp : std_logic_vector(MSB_P downto 0) := (others => '0'); + + signal multsignout_o_reg : std_ulogic; + signal multsignout_o_mux : std_ulogic; + signal multsignout_o_opmode : std_ulogic; + + signal OPMODE_NUMBER : integer := -1; + + signal ping_opmode_drc_check : std_ulogic := '0'; + + signal y_mac_cascd : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal carryin_o_mux_tmp : std_ulogic := '0'; + signal the_auto_reset_patdet : boolean := true; + + signal the_pattern : std_logic_vector(MSB_P downto 0) := (others => '0'); + signal the_mask : std_logic_vector(MSB_P downto 0) := (others => '0'); + + signal comux : std_logic_vector(MSB_ALU_FULL downto 0) := (others => '0'); + signal smux : std_logic_vector(MSB_ALU_FULL downto 0) := (others => '0'); + + signal s0 : std_logic_vector(MAX_ALU_QUART downto 0) := (others => '0'); + signal s1 : std_logic_vector(MAX_ALU_QUART downto 0) := (others => '0'); + signal s2 : std_logic_vector(MAX_ALU_QUART downto 0) := (others => '0'); + signal s3 : std_logic_vector((MAX_ALU_QUART + 1) downto 0) := (others => '0'); + + signal cout0 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout0_prt1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout0_prt2 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout1_prt1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout1_prt2 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout2 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout2_prt1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout2_prt2 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout3 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout3_prt1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout3_prt2 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout4 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout4_prt1 : std_logic_vector(1 downto 0) := (others => '0'); + signal cout4_prt2 : std_logic_vector(1 downto 0) := (others => '0'); + +-- signal cout0 : std_ulogic := '0'; +-- signal cout1 : std_ulogic := '0'; +-- signal cout2 : std_ulogic := '0'; +-- signal cout3 : std_ulogic := '0'; +-- signal cout4 : std_ulogic := '0'; + + signal co11_lsb : std_ulogic := '0'; + signal co23_lsb : std_ulogic := '0'; + signal co35_lsb : std_ulogic := '0'; + + signal C1 : std_ulogic := '0'; + signal C2 : std_ulogic := '0'; + signal C3 : std_ulogic := '0'; + +begin + + + A_dly <= A after 0 ps; + ACIN_dly <= ACIN after 0 ps; + ALUMODE_dly <= ALUMODE xor IS_ALUMODE_INVERTED_BIN after 0 ps; + B_dly <= B after 0 ps; + BCIN_dly <= BCIN after 0 ps; + C_dly <= C after 0 ps; + CARRYCASCIN_dly <= CARRYCASCIN after 0 ps; + CARRYIN_dly <= CARRYIN xor IS_CARRYIN_INVERTED_BIN after 0 ps; + CARRYINSEL_dly <= CARRYINSEL after 0 ps; + CEA1_dly <= CEA1 after 0 ps; + CEA2_dly <= CEA2 after 0 ps; + CEAD_dly <= CEAD after 0 ps; + CEALUMODE_dly <= CEALUMODE after 0 ps; + CEB1_dly <= CEB1 after 0 ps; + CEB2_dly <= CEB2 after 0 ps; + CEC_dly <= CEC after 0 ps; + CECARRYIN_dly <= CECARRYIN after 0 ps; + CECTRL_dly <= CECTRL after 0 ps; + CED_dly <= CED after 0 ps; + CEINMODE_dly <= CEINMODE after 0 ps; + CEM_dly <= CEM after 0 ps; + CEP_dly <= CEP after 0 ps; + CLK_dly <= CLK xor IS_CLK_INVERTED_BIN after 0 ps; + D_dly <= D after 0 ps; + INMODE_dly <= INMODE xor IS_INMODE_INVERTED_BIN after 0 ps; + MULTSIGNIN_dly <= MULTSIGNIN after 0 ps; + OPMODE_dly <= OPMODE xor IS_OPMODE_INVERTED_BIN after 0 ps; + PCIN_dly <= PCIN after 0 ps; + RSTA_dly <= RSTA after 0 ps; + RSTALLCARRYIN_dly <= RSTALLCARRYIN after 0 ps; + RSTALUMODE_dly <= RSTALUMODE after 0 ps; + RSTB_dly <= RSTB after 0 ps; + RSTC_dly <= RSTC after 0 ps; + RSTCTRL_dly <= RSTCTRL after 0 ps; + RSTD_dly <= RSTD after 0 ps; + RSTINMODE_dly <= RSTINMODE after 0 ps; + RSTM_dly <= RSTM after 0 ps; + RSTP_dly <= RSTP after 0 ps; + GSR_dly <= TO_X01(GSR) after 0 ps; + + -------------------- + -- BEHAVIOR SECTION + -------------------- + +--#################################################################### +--##### Initialization ### +--#################################################################### + prcs_init:process + begin + +----------- Checks for AREG ---------------------- + case AREG is + when 0|1|2 => + when others => + assert false + report "Attribute Syntax Error: Legal values for AREG are 0 or 1 or 2" + severity Failure; + end case; + +----------- Checks for ACASCREG and (ACASCREG vs AREG) ---------------------- + + case AREG is + when 0 => if(AREG /= ACASCREG) then + assert false + report "Attribute Syntax Error : The attribute ACASCREG on DSP48E1 has to be set to 0 when attribute AREG = 0." + severity Failure; + end if; + when 1 => if(AREG /= ACASCREG) then + assert false + report "Attribute Syntax Error : The attribute ACASCREG on DSP48E1 has to be set to 1 when attribute AREG = 1." + severity Failure; + end if; + when 2 => if((AREG /= ACASCREG) and ((AREG-1) /= ACASCREG))then + assert false + report "Attribute Syntax Error : The attribute ACASCREG on DSP48E1 has to be set to either 2 or 1 when attribute AREG = 2." + severity Failure; + end if; + when others => null; + end case; + +----------- Checks for BREG ---------------------- + case BREG is + when 0|1|2 => + when others => + assert false + report "Attribute Syntax Error: Legal values for BREG are 0 or 1 or 2" + severity Failure; + end case; + +----------- Checks for BCASCREG and (BCASCREG vs BREG) ---------------------- + + case BREG is + when 0 => if(BREG /= BCASCREG) then + assert false + report "Attribute Syntax Error : The attribute BCASCREG on DSP48E1 has to be set to 0 when attribute BREG = 0." + severity Failure; + end if; + when 1 => if(BREG /= BCASCREG) then + assert false + report "Attribute Syntax Error : The attribute BCASCREG on DSP48E1 has to be set to 1 when attribute BREG = 1." + severity Failure; + end if; + when 2 => if((BREG /= BCASCREG) and ((BREG-1) /= BCASCREG))then + assert false + report "Attribute Syntax Error : The attribute BCASCREG on DSP48E1 has to be set to either 2 or 1 when attribute BREG = 2." + severity Failure; + end if; + when others => null; + end case; + +----------- Check for AUTORESET_OVER_UNDER_FLOW ---------------------- + +-- case AUTORESET_OVER_UNDER_FLOW is +-- when true | false => null; +-- when others => +-- assert false +-- report "Attribute Syntax Error: Legal values for AUTORESET_OVER_UNDER_FLOW are true or fasle" +-- severity Failure; +-- end case; + +----------- Check for AUTORESET_PATDET ---------------------- + + if((AUTORESET_PATDET /="NO_RESET") and (AUTORESET_PATDET /="RESET_MATCH") and (AUTORESET_PATDET /="RESET_NOT_MATCH")) then + assert false + report "Attribute Syntax Error: Legal values for AUTORESET_PATDET are NO_RESET or RESET_MATCH or RESET_NOT_MATCH." + severity Failure; + end if; + +----------- Check for USE_MULT ---------------------- + + if((USE_MULT /="NONE") and (USE_MULT /="MULTIPLY") and (USE_MULT /="DYNAMIC")) then + assert false + report "Attribute Syntax Error: Legal values for USE_MULT are MULTIPLY, DYNAMIC or NONE." + severity Failure; + end if; + +----------- Check for USE_PATTERN_DETECT ---------------------- + + if((USE_PATTERN_DETECT /="PATDET") and (USE_PATTERN_DETECT /="NO_PATDET")) then + assert false + report "Attribute Syntax Error: Legal values for USE_PATTERN_DETECT are PATDET or NO_PATDET." + severity Failure; + end if; + +--********************************************************* +--*** ADDITIONAL DRC +--********************************************************* +-- CR 219407 -- (1) +-- if((AUTORESET_PATTERN_DETECT = TRUE) and (USE_PATTERN_DETECT = "NO_PATDET")) then +-- assert false +-- report "Attribute Syntax Error : The attribute USE_PATTERN_DETECT on DSP48E1 instance must be set to PATDET in order to use AUTORESET_PATTERN_DETECT equals TRUE. Failure to do so could make timing reports inaccurate. " +-- severity Warning; +-- end if; + +--********************************************************* +--*** New Attribute DRC +--********************************************************* + + ----------- ADREG check + case ADREG is + when 0|1 => null; + when others => + assert false + report "Attribute Syntax Error: Legal values for ADREG are 0 or 1 " + severity Failure; + end case; + + ----------- DREG check + case DREG is + when 0|1 => null; + when others => + assert false + report "Attribute Syntax Error: Legal values for DREG are 0 or 1 " + severity Failure; + end case; + + ----------- INMODEREG check + case INMODEREG is + when 0|1 => null; + when others => + assert false + report "Attribute Syntax Error: Legal values for INMODEREG are 0 or 1 " + severity Failure; + end case; + + ----------- USE_DPORT check + case USE_DPORT is + when true | false => null; + when others => + assert false + report "Attribute Syntax Error: Legal values for USE_DPORT are true or false" + severity Failure; + end case; + +-- 612706 - following DRS were removed to match UG + ----------- Additional DRCs for Power Savings + +------------------------------------------------------------ + ping_opmode_drc_check <= '1' after 100010 ps; +------------------------------------------------------------ + + wait; + end process prcs_init; +--#################################################################### +--##### Input Register A with two levels of registers and a mux ### +--#################################################################### + prcs_a_in:process(A_dly, ACIN_dly) + begin + if(A_INPUT ="DIRECT") then + a_o_mux <= A_dly; + elsif(A_INPUT ="CASCADE") then + a_o_mux <= ACIN_dly; + else + assert false + report "Attribute Syntax Error: Legal values for A_INPUT are DIRECT or CASCADE." + severity Failure; + end if; + end process prcs_a_in; +------------------------------------------------------------------ + prcs_qa_2lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qa_o_reg1 <= ( others => '0'); + qa_o_reg2 <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTA_dly = '1') then + qa_o_reg1 <= ( others => '0'); + qa_o_reg2 <= ( others => '0'); + elsif (RSTA_dly = '0') then + case AREG is + when 1 => + if(CEA1_dly = '1') then + qa_o_reg1 <= a_o_mux; + end if; + if(CEA2_dly = '1') then + qa_o_reg2 <= a_o_mux; + end if; + when 2 => + if(CEA1_dly = '1') then + qa_o_reg1 <= a_o_mux; + end if; + if(CEA2_dly = '1') then + qa_o_reg2 <= qa_o_reg1; + end if; + when others => null; + end case; + end if; + end if; + end if; + end process prcs_qa_2lvl; +------------------------------------------------------------------ + prcs_qa_o_mux:process(a_o_mux, qa_o_reg2) + begin + case AREG is + when 0 => qa_o_mux <= a_o_mux; + when 1|2 => qa_o_mux <= qa_o_reg2; + when others => + assert false + report "Attribute Syntax Error: Legal values for AREG are 0 or 1 or 2" + severity Failure; + end case; + end process prcs_qa_o_mux; +------------------------------------------------------------------ + prcs_qacout_o_mux:process(qa_o_mux, qa_o_reg1) + begin + case ACASCREG is + when 1 => case AREG is + when 2 => qacout_o_mux <= qa_o_reg1; + when others => qacout_o_mux <= qa_o_mux; + end case; + when others => qacout_o_mux <= qa_o_mux; + end case; + + end process prcs_qacout_o_mux; + +-- new ----- +---------------Preadd ------------------------------------------------ + + a_preaddsub <= (others => '0') when (qinmode_o_mux(1) = '1') else + qa_o_reg1(24 downto 0) when (qinmode_o_mux(0) = '1') else + qa_o_mux(24 downto 0) when (qinmode_o_mux(0) = '0'); + +--#################################################################### +--##### Input Register B with two levels of registers and a mux ### +--#################################################################### + prcs_b_in:process(B_dly, BCIN_dly) + begin + if(B_INPUT ="DIRECT") then + b_o_mux <= B_dly; + elsif(B_INPUT ="CASCADE") then + b_o_mux <= BCIN_dly; + else + assert false + report "Attribute Syntax Error: Legal values for B_INPUT are DIRECT or CASCADE." + severity Failure; + end if; + + end process prcs_b_in; +------------------------------------------------------------------ + prcs_qb_2lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qb_o_reg1 <= ( others => '0'); + qb_o_reg2 <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTB_dly = '1') then + qb_o_reg1 <= ( others => '0'); + qb_o_reg2 <= ( others => '0'); + elsif (RSTB_dly = '0') then + case BREG is + when 1 => + if(CEB1_dly = '1') then + qb_o_reg1 <= b_o_mux; + end if; + if(CEB2_dly = '1') then + qb_o_reg2 <= b_o_mux; + end if; + when 2 => + if(CEB1_dly = '1') then + qb_o_reg1 <= b_o_mux; + end if; + if(CEB2_dly = '1') then + qb_o_reg2 <= qb_o_reg1; + end if; + when others => null; + end case; + end if; + end if; + end if; + end process prcs_qb_2lvl; +------------------------------------------------------------------ + prcs_qb_o_mux:process(b_o_mux, qb_o_reg2) + begin + case BREG is + when 0 => qb_o_mux <= b_o_mux; + when 1|2 => qb_o_mux <= qb_o_reg2; + when others => + assert false + report "Attribute Syntax Error: Legal values for BREG are 0 or 1 or 2 " + severity Failure; + end case; + + end process prcs_qb_o_mux; +------------------------------------------------------------------ + prcs_qbcout_o_mux:process(qb_o_mux, qb_o_reg1) + begin + case BCASCREG is + when 1 => case BREG is + when 2 => qbcout_o_mux <= qb_o_reg1; + when others => qbcout_o_mux <= qb_o_mux; + end case; + when others => qbcout_o_mux <= qb_o_mux; + end case; + end process prcs_qbcout_o_mux; + + b_mult <= qb_o_reg1 when qinmode_o_mux(4)='1' else qb_o_mux; + +--#################################################################### +--##### Input Register C with 0, 1, level of registers ##### +--#################################################################### + prcs_qc_1lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qc_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTC_dly = '1') then + qc_o_reg <= ( others => '0'); + elsif ((RSTC_dly = '0') and (CEC_dly = '1')) then + qc_o_reg <= C_dly; + end if; + end if; + end if; + end process prcs_qc_1lvl; +------------------------------------------------------------------ + prcs_qc_o_mux:process(C_dly, qc_o_reg) + begin + case CREG is + when 0 => qc_o_mux <= C_dly; + when 1 => qc_o_mux <= qc_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for CREG are 0 or 1" + severity Failure; + end case; + end process prcs_qc_o_mux; +-- new +--#################################################################### +--##### Input Register D with 0, 1, level of registers ##### +--#################################################################### + prcs_qd_1lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qd_o_reg1 <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTD_dly = '1') then + qd_o_reg1 <= ( others => '0'); + elsif ((RSTD_dly = '0') and (CED_dly = '1')) then + qd_o_reg1 <= D_dly; + end if; + end if; + end if; + end process prcs_qd_1lvl; +------------------------------------------------------------------ + prcs_qd_o_mux:process(D_dly, qd_o_reg1) + begin + case DREG is + when 0 => qd_o_mux <= D_dly; + when 1 => qd_o_mux <= qd_o_reg1; + when others => + assert false + report "Attribute Syntax Error: Legal values for DREG are 0 or 1" + severity Failure; + end case; + end process prcs_qd_o_mux; +--#################################################################### +--##### Preaddsub AD register with 1 level deep of register ##### +--#################################################################### + d_portion <= (others => '0') when (qinmode_o_mux(2) = '0') else + qd_o_mux when (qinmode_o_mux(2) = '1'); + ad_addsub <= (a_preaddsub + d_portion) when (qinmode_o_mux(3) = '0') else + (d_portion - a_preaddsub) when (qinmode_o_mux(3) = '1'); + + prcs_qad_1lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qad_o_reg1 <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTD_dly = '1') then + qad_o_reg1 <= ( others => '0'); + elsif ((RSTD_dly = '0') and (CEAD_dly = '1')) then + qad_o_reg1 <= ad_addsub; + end if; + end if; + end if; + end process prcs_qad_1lvl; +------------------------------------------------------------------ + prcs_qad_o_mux:process(ad_addsub, qad_o_reg1) + begin + case ADREG is + when 0 => qad_o_mux <= ad_addsub; + when 1 => qad_o_mux <= qad_o_reg1; + when others => + assert false + report "Attribute Syntax Error: Legal values for ADREG are 0 or 1" + severity Failure; + end case; + end process prcs_qad_o_mux; + + ad_mult <= qad_o_mux when (USE_DPORT = TRUE) else + a_preaddsub; + +--#################################################################### +--##### INMODE with 0, 1, level of registers ##### +--#################################################################### + prcs_qinmode_1lvl:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qinmode_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTINMODE_dly = '1') then + qinmode_o_reg <= ( others => '0'); + elsif ((RSTINMODE_dly = '0') and (CEINMODE_dly = '1')) then + qinmode_o_reg <= INMODE_dly; + end if; + end if; + end if; + end process prcs_qinmode_1lvl; +------------------------------------------------------------------ + prcs_qinmode_o_mux:process(INMODE_dly, qinmode_o_reg) + begin + case INMODEREG is + when 0 => qinmode_o_mux <= INMODE_dly; + when 1 => qinmode_o_mux <= qinmode_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for INMODEREG are 0 or 1" + severity Failure; + end case; + end process prcs_qinmode_o_mux; + +--#################################################################### +--################### 25x18 Multiplier ###################### +--#################################################################### +-- +-- 05/26/05 -- FP -- Added warning for invalid mult when USE_MULT=NONE +-- SIMD=FOUR12 and SIMD=TWO24 +-- Made mult_o to be "X" +-- + + mult_o_int <= (others => '0') when ((USE_MULT = "NONE") OR (USE_SIMD = "TWO24") OR (USE_SIMD = "FOUR12")) else + ad_mult * b_mult; + +-- old +-- prcs_mult:process(qa_o_mux, qb_o_mux) +-- begin +-- if(USE_MULT /= "NONE") then +-- mult_o_int <= qa_o_mux(MSB_A_MULT downto 0) * qb_o_mux (MSB_B_MULT downto 0); +-- end if; +-- end process prcs_mult; +------------------------------------------------------------------ + prcs_mult_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + mult_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTM_dly = '1') then + mult_o_reg <= ( others => '0'); + elsif ((RSTM_dly = '0') and (CEM_dly = '1')) then + mult_o_reg <= mult_o_int; + end if; + end if; + end if; + end process prcs_mult_reg; +------------------------------------------------------------------ + prcs_mult_mux:process(mult_o_reg, mult_o_int) + begin + case MREG is + when 0 => mult_o_mux <= mult_o_int; + when 1 => mult_o_mux <= mult_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for MREG are 0 or 1" + severity Failure; + end case; + end process prcs_mult_mux; + +--#################################################################### +--##### OpMode ##### +--#################################################################### + prcs_opmode_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + opmode_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTCTRL_dly = '1') then + opmode_o_reg <= ( others => '0'); + elsif ((RSTCTRL_dly = '0') and (CECTRL_dly = '1')) then + opmode_o_reg <= OPMODE_dly; + end if; + end if; + end if; + end process prcs_opmode_reg; +------------------------------------------------------------------ + prcs_opmode_mux:process(opmode_o_reg, OPMODE_dly) + begin + case OPMODEREG is + when 0 => opmode_o_mux <= OPMODE_dly; + when 1 => opmode_o_mux <= opmode_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for OPMODEREG are 0 or 1" + severity Failure; + end case; + end process prcs_opmode_mux; + +--#################################################################### +--##### MUX_X ##### +--#################################################################### + + prcs_mux_x:process(qp_o_mux, qa_o_mux, qb_o_mux, mult_o_mux, opmode_o_mux(1 downto 0) , output_x_sig) + begin +-- if(output_x_sig = '1') then +-- muxx_o_mux(MSB_P downto 0) <= ( others => 'X'); +-- else + case opmode_o_mux(1 downto 0) is + when "00" => muxx_o_mux <= (others => '0'); + when "01" => muxx_o_mux((MSB_A_MULT + MSB_B_MULT +1) downto 0) <= mult_o_mux; + muxx_o_mux(MSB_PCIN downto (MAX_A_MULT + MAX_B_MULT)) <= (others => mult_o_mux(MSB_A_MULT + MSB_B_MULT + 1)); + when "10" => muxx_o_mux <= qp_o_mux; + when "11" => if((USE_MULT = "MULTIPLY") and ( + (AREG=0 and BREG=0 and MREG=0) or + (AREG=0 and BREG=0 and PREG=0) or + (MREG=0 and PREG=0))) + then +-- CR 574337 added the following line + muxx_o_mux(MSB_P downto 0) <= ( others => 'X'); + assert false + report "OPMODE Input Warning : The OPMODE(1:0) to DSP48E1 is invalid when using attributes USE_MULT = MULTIPLY. Please set USE_MULT to either NONE or DYNAMIC." + severity Warning; + else + muxx_o_mux(MSB_P downto 0) <= (qa_o_mux & qb_o_mux); + end if; + + when others => null; + end case; +-- end if; + end process prcs_mux_x; + +--#################################################################### +--##### MUX_Y ##### +--#################################################################### +-- 478378 + prcs_mac_cascd:process(opmode_o_mux(6 downto 4) , MULTSIGNIN_dly) + begin + case opmode_o_mux(6 downto 4) is + when "100" => y_mac_cascd(MSB_P downto 0) <= ( others => MULTSIGNIN_dly); + when others => y_mac_cascd(MSB_P downto 0) <= ( others => '1'); + end case; + end process prcs_mac_cascd; + +-------------------------------------------------------------------------- + prcs_mux_y:process(qc_o_mux, opmode_o_mux(3 downto 2) , carryinsel_o_mux, y_mac_cascd, output_x_sig) + begin +-- if(output_x_sig = '1') then +-- muxy_o_mux(MSB_P downto 0) <= ( others => 'X'); +-- else + case opmode_o_mux(3 downto 2) is + when "00" | "01" => muxy_o_mux <= ( others => '0'); + when "10" => muxy_o_mux <= y_mac_cascd; + when "11" => muxy_o_mux <= qc_o_mux; + when others => null; + end case; +-- end if; + end process prcs_mux_y; +--#################################################################### +--##### MUX_Z ##### +--#################################################################### + prcs_mux_z:process(qp_o_mux, qc_o_mux, PCIN_dly, opmode_o_mux(6 downto 4) , carryinsel_o_mux, output_x_sig) + begin +-- if(output_x_sig = '1') then +-- muxz_o_mux(MSB_P downto 0) <= ( others => 'X'); +-- else + case opmode_o_mux(6 downto 4) is + when "000" => muxz_o_mux <= ( others => '0'); + when "001" => muxz_o_mux <= PCIN_dly; + when "010" => muxz_o_mux <= qp_o_mux; + when "011" => muxz_o_mux <= qc_o_mux; + when "100" => muxz_o_mux <= qp_o_mux; -- Used for MACC extend -- multsignin + when "101" => muxz_o_mux <= (others => PCIN_dly(MSB_PCIN)); + muxz_o_mux ((MSB_PCIN - SHIFT_MUXZ) downto 0) <= PCIN_dly(MSB_PCIN downto SHIFT_MUXZ ); + when "110" | "111" + => muxz_o_mux <= (others => qp_o_mux(MSB_P)); + muxz_o_mux ((MSB_P - SHIFT_MUXZ) downto 0) <= qp_o_mux(MSB_P downto SHIFT_MUXZ ); + when others => null; + end case; +-- end if; + end process prcs_mux_z; +--#################################################################### +--##### Alumode ##### +--#################################################################### + prcs_alumode_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + alumode_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTALUMODE_dly = '1') then + alumode_o_reg <= ( others => '0'); + elsif ((RSTALUMODE_dly = '0') and (CEALUMODE_dly = '1'))then + alumode_o_reg <= ALUMODE_dly; + end if; + end if; + end if; + end process prcs_alumode_reg; +------------------------------------------------------------------ + prcs_alumode_mux:process(alumode_o_reg, ALUMODE_dly) + begin + case ALUMODEREG is + when 0 => alumode_o_mux <= ALUMODE_dly; + when 1 => alumode_o_mux <= alumode_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for ALUMODEREG are 0 or 1" + severity Failure; + end case; + end process prcs_alumode_mux; + +--#################################################################### +--##### CarryInSel ##### +--#################################################################### + prcs_carryinsel_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + carryinsel_o_reg <= ( others => '0'); + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTCTRL_dly = '1') then + carryinsel_o_reg <= ( others => '0'); + elsif ((RSTCTRL_dly = '0') and (CECTRL_dly = '1')) then + carryinsel_o_reg <= CARRYINSEL_dly; + end if; + end if; + end if; + end process prcs_carryinsel_reg; +------------------------------------------------------------------ + prcs_carryinsel_mux:process(carryinsel_o_reg, CARRYINSEL_dly) + begin + case CARRYINSELREG is + when 0 => carryinsel_o_mux <= CARRYINSEL_dly; + when 1 => carryinsel_o_mux <= carryinsel_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for CARRYINSELREG are 0 or 1" + severity Failure; + end case; + end process prcs_carryinsel_mux; + +------------------------------------------------------------------ +-- CR 219047 (3) + prcs_carryinsel_drc:process(carryinsel_o_mux, MULTSIGNIN_dly, opmode_o_mux) + begin + if(carryinsel_o_mux = "010") then + if(not((MULTSIGNIN_dly = 'X') or ((opmode_o_mux = "1001000") and (MULTSIGNIN_dly /= 'X')) + or ((MULTSIGNIN_dly = '0') and (CARRYCASCIN_dly = '0')))) then + assert false +-- CR 619940 -- Enhanced DRC warning +-- CR 632559 fixed 619940 -- Enhanced DRC warning + report "DRC warning : CARRYCASCIN can only be used in the current DSP48E1 instance if the previous DSP48E1 is performing a two input ADD operation, or the current DSP48E1 is configured in the MAC extend opmode(6:0) equals 1001000.\n DRC warning note : The simulation model does not know the placement of the DSP48E1 slices used, so it cannot fully confirm the above warning. It is necessary to view the placement of the DSP48E1 slices and ensure that these warnings are not being breached\n" + severity Warning; + end if; + end if; + end process prcs_carryinsel_drc; + +-- CR 219047 (4) +-- prcs_carryinsel_mac_drc:process(carryinsel_o_mux) +-- begin +-- if((carryinsel_o_mux = "110") and (MULTCARRYINREG /= MREG)) then +-- assert false +-- report "Attribute Syntax Warning : It is recommended that MREG and MULTCARRYINREG on DSP48E1 instance be set to the same value when using CARRYINSEL = 110 for multiply rounding. " +-- severity Warning; +-- end if; +-- end process prcs_carryinsel_mac_drc; + + +--#################################################################### +--##### CarryIn ##### +--#################################################################### + +------- input 0 + + prcs_carryin_reg0:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qcarryin_o_reg0 <= '0'; + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTALLCARRYIN_dly = '1') then + qcarryin_o_reg0 <= '0'; + elsif((RSTALLCARRYIN_dly = '0') and (CECARRYIN_dly = '1')) then + qcarryin_o_reg0 <= CARRYIN_dly; + end if; + end if; + end if; + end process prcs_carryin_reg0; + + prcs_carryin_mux0:process(qcarryin_o_reg0, CARRYIN_dly) + begin + case CARRYINREG is + when 0 => carryin_o_mux0 <= CARRYIN_dly; + when 1 => carryin_o_mux0 <= qcarryin_o_reg0; + when others => + assert false + report "Attribute Syntax Error: Legal values for CARRYINREG are 0 or 1" + severity Failure; + end case; + end process prcs_carryin_mux0; + +------------------------------------------------------------------ +------- input 7 + + prcs_carryin_reg7:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qcarryin_o_reg7 <= '0'; + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTALLCARRYIN_dly = '1') then + qcarryin_o_reg7 <= '0'; +-- new + elsif((RSTALLCARRYIN_dly = '0') and (CEM_dly = '1')) then +-- IR 478377 +-- qcarryin_o_reg7 <= qa_o_mux(24) XNOR qb_o_mux(17); + qcarryin_o_reg7 <= ad_mult(24) XNOR qb_o_mux(17); + end if; + end if; + end if; + end process prcs_carryin_reg7; + +-- prcs_carryin_mux7:process(qa_o_mux(24), qb_o_mux(17), qcarryin_o_reg7) + prcs_carryin_mux7:process(ad_mult(24), qb_o_mux(17), qcarryin_o_reg7) + begin +-- new + case MREG is +-- IR 478377 +-- when 0 => carryin_o_mux7 <= qa_o_mux(24) XNOR qb_o_mux(17); + when 0 => carryin_o_mux7 <= ad_mult(24) XNOR qb_o_mux(17); + when 1 => carryin_o_mux7 <= qcarryin_o_reg7; + when others => + assert false + report "Attribute Syntax Error: Legal values for MREG are 0 or 1" + severity Failure; + end case; + end process prcs_carryin_mux7; + + + prcs_carryin_mux:process(carryin_o_mux0, PCIN_dly(47), CARRYCASCIN_dly, carrycascout_o_mux, qp_o_mux(47), carryin_o_mux7, carryinsel_o_mux) + begin + case carryinsel_o_mux is + when "000" => carryin_o_mux_tmp <= carryin_o_mux0; + when "001" => carryin_o_mux_tmp <= NOT PCIN_dly(47); + when "010" => carryin_o_mux_tmp <= CARRYCASCIN_dly; + when "011" => carryin_o_mux_tmp <= PCIN_dly(47); + when "100" => carryin_o_mux_tmp <= carrycascout_o_mux; + when "101" => carryin_o_mux_tmp <= NOT qp_o_mux(47); + when "110" => carryin_o_mux_tmp <= carryin_o_mux7; + when "111" => carryin_o_mux_tmp <= qp_o_mux(47); + when others => null; + end case; + end process prcs_carryin_mux; + +-- disable carryin when performic logic operations + + carryin_o_mux <= '0' when (alumode_o_mux(3) = '1' OR alumode_o_mux(2) = '1') else + carryin_o_mux_tmp; +--#################################################################### +--##### NEW ALU ##### +--#################################################################### + prcs_co_s:process(muxx_o_mux, muxy_o_mux, muxz_o_mux, alumode_o_mux) + variable co : std_logic_vector(MSB_ALU_FULL downto 0) := (others => '0'); + variable s : std_logic_vector(MSB_ALU_FULL downto 0) := (others => '0'); + begin + if(alumode_o_mux(0) = '1') then + co := ((muxx_o_mux and muxy_o_mux) or (not(muxz_o_mux) and muxy_o_mux) or (muxx_o_mux and (not muxz_o_mux))); + s := ((not muxz_o_mux) xor muxx_o_mux xor muxy_o_mux); + else + co := ((muxx_o_mux and muxy_o_mux) or (muxz_o_mux and muxy_o_mux) or (muxx_o_mux and muxz_o_mux)); + s := (muxz_o_mux xor muxx_o_mux xor muxy_o_mux); + end if; + + if(alumode_o_mux(2) = '1') then + comux <= (others => '0'); + else + comux <= co; + end if; + + if(alumode_o_mux(3) = '1') then + smux <= co; + else + smux <= s; + end if; + + end process prcs_co_s; + +-- FINAL ADDER + + s0 <= ('0' & comux(10 downto 0) & carryin_o_mux) + ('0' & smux(11 downto 0)); +-- cout0 <= comux(11) + s0(12); + cout0_prt1 <= ('0' & comux(11)); + cout0_prt2 <= ('0' & s0(12)); + cout0 <= cout0_prt1 + cout0_prt2; + + carryout_o_hw(0) <= not cout0(0) when (alumode_o_mux(0) and alumode_o_mux(1)) = '1' else cout0(0); + + C1 <= '0' when (USE_SIMD = "FOUR12") else s0(12); + co11_lsb <= '0' when (USE_SIMD = "FOUR12") else comux(11); + s1 <= ('0' & comux(22 downto 12) & co11_lsb) + ('0'&smux(23 downto 12)) + C1; +-- cout1 <= comux(23) + s1(12); + cout1_prt1 <= ('0' & comux(23)); + cout1_prt2 <= ('0' & s1(12)); + cout1 <= cout1_prt1 + cout1_prt2; + carryout_o_hw(1) <= not cout1(0) when (alumode_o_mux(0) and alumode_o_mux(1)) = '1' else cout1(0); + + C2 <= '0' when ((USE_SIMD = "TWO24") or (USE_SIMD = "FOUR12")) else s1(12); + co23_lsb <= '0' when ((USE_SIMD = "TWO24") or (USE_SIMD = "FOUR12")) else comux(23); + s2 <= ('0' & comux(34 downto 24) & co23_lsb) + ('0'&smux(35 downto 24)) + C2; +-- cout2 <= comux(35) + s2(12); + cout2_prt1 <= ('0' & comux(35)); + cout2_prt2 <= ('0' & s2(12)); + cout2 <= cout2_prt1 + cout2_prt2; + carryout_o_hw(2) <= not cout2(0) when (alumode_o_mux(0) and alumode_o_mux(1)) = '1' else cout2(0); + + C3 <= '0' when (USE_SIMD = "FOUR12") else s2(12); + co35_lsb <= '0' when (USE_SIMD = "FOUR12") else comux(35); + s3 <= ('0'&comux(47 downto 36) & co35_lsb) + ('0'&smux(47 downto 36)) + C3; + cout3(0) <= s3(12); + carryout_o_hw(3) <= not cout3(0) when (alumode_o_mux(0) and alumode_o_mux(1)) = '1' else cout3(0); + + carrycascout_o <= cout3(0); + cout4(0) <= s3(13); +-- carryout_o_hw(4) <= not cout4(0) when (alumode_o_mux(0) and alumode_o_mux(1)) = '1' else cout4(0); + + alu_o <= not (s3(11 downto 0) & s2(11 downto 0) & s1(11 downto 0) & s0(11 downto 0)) when alumode_o_mux(1) = '1' else + (s3(11 downto 0) & s2(11 downto 0) & s1(11 downto 0) & s0(11 downto 0)); +-- + +-- CR 523600 -- "X" carryout for multiply and logic operations + carryout_o(3) <= 'X' when ((opmode_o_mux(3 downto 0) = "0101") or (alumode_o_mux(3 downto 2) /= "00" )) else carryout_o_hw(3); + carryout_o(2) <= 'X' when ((opmode_o_mux(3 downto 0) = "0101") or (alumode_o_mux(3 downto 2) /= "00" )) else + carryout_o_hw(2) when (USE_SIMD = "FOUR12") else + 'X'; + carryout_o(1) <= 'X' when ((opmode_o_mux(3 downto 0) = "0101") or (alumode_o_mux(3 downto 2) /= "00" )) else + carryout_o_hw(1) when ((USE_SIMD = "TWO24") or (USE_SIMD = "FOUR12")) else + 'X'; + carryout_o(0) <= 'X' when ((opmode_o_mux(3 downto 0) = "0101") or (alumode_o_mux(3 downto 2) /= "00" )) else + carryout_o_hw(0) when (USE_SIMD = "FOUR12") else + 'X'; + + +--#################################################################### +--##### ALU ##### +--#################################################################### +-- prcs_alu:process(muxx_o_mux, muxy_o_mux, muxz_o_mux, alumode_o_mux, opmode_o_mux, carryin_o_mux, output_x_sig) + +-- end process prcs_alu; +--#################################################################### +--##### AUTORESET_PATDET ##### +--#################################################################### + the_auto_reset_patdet <= ((AUTORESET_PATDET = "RESET_MATCH") and pdet_o_reg1 = '1') + OR + ((AUTORESET_PATDET = "RESET_NOT_MATCH") and (pdet_o_reg2 = '1' and pdet_o_reg1 = '0')); +--#################################################################### +--##### CARRYOUT and CARRYCASCOUT ##### +--#################################################################### + prcs_carry_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + carryout_o_reg <= ( others => '0'); + carrycascout_o_reg <= '0'; + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTP_dly = '1' or the_auto_reset_patdet) then + carryout_o_reg <= ( others => '0'); + carrycascout_o_reg <= '0'; + elsif ((RSTP_dly = '0') and (CEP_dly = '1')) then + carryout_o_reg <= carryout_o; + carrycascout_o_reg <= carrycascout_o; + end if; + end if; + end if; + end process prcs_carry_reg; +------------------------------------------------------------------ + prcs_carryout_mux:process(carryout_o, carryout_o_reg) + begin + case PREG is + when 0 => carryout_o_mux <= carryout_o; + when 1 => carryout_o_mux <= carryout_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for PREG are 0 or 1" + severity Failure; + end case; + + end process prcs_carryout_mux; + +------------------------------------------------------------------ +-- CR 523917 +-- prcs_carryout_x_o:process(carryout_o_mux, opmode_o_mux(3 downto 0)) +-- begin +-- -- CR 510304 output X during mulltiply operation +-- if(opmode_o_mux(3 downto 0) = "0101") then +-- carryout_x_o <= (others => 'X'); +-- elsif(USE_SIMD = "ONE48") then +-- carryout_x_o(3) <= carryout_o_mux(3); + -- elsif(USE_SIMD = "TWO24") then +-- carryout_x_o(3) <= carryout_o_mux(3); +-- carryout_x_o(1) <= carryout_o_mux(1); +-- elsif(USE_SIMD = "FOUR12") then +-- carryout_x_o(3) <= carryout_o_mux(3); +-- carryout_x_o(2) <= carryout_o_mux(2); +-- carryout_x_o(1) <= carryout_o_mux(1); +-- carryout_x_o(0) <= carryout_o_mux(0); +-- end if; +-- end process prcs_carryout_x_o; + +------------------------------------------------------------------ + +-- CR 574213 + prcs_carryout_x_o:process(carryout_o_mux) + begin + carryout_x_o(3) <= carryout_o_mux(3); + + if(USE_SIMD = "FOUR12") then + carryout_x_o(2) <= carryout_o_mux(2); + else + carryout_x_o(2) <= 'X'; + end if; + + if((USE_SIMD = "FOUR12") or (USE_SIMD = "TWO24")) then + carryout_x_o(1) <= carryout_o_mux(1); + else + carryout_x_o(1) <= 'X'; + end if; + + if(USE_SIMD = "FOUR12") then + carryout_x_o(0) <= carryout_o_mux(0); + else + carryout_x_o(0) <= 'X'; + end if; + + end process prcs_carryout_x_o; + +------------------------------------------------------------------ + + prcs_carrycascout_mux:process(carrycascout_o, carrycascout_o_reg) + begin + case PREG is + when 0 => carrycascout_o_mux <= carrycascout_o; + when 1 => carrycascout_o_mux <= carrycascout_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for PREG are 0 or 1" + severity Failure; + end case; + + end process prcs_carrycascout_mux; +------------------------------------------------------------------ +-- CR 219047 (2) + prcs_multsignout_o_opmode:process(mult_o_mux(MSB_A_MULT+MSB_B_MULT+1), opmode_o_mux(6 downto 4), MULTSIGNIN_dly) + begin +-- IR 478378 + if(opmode_o_mux(6 downto 4) = "100") then + multsignout_o_opmode <= MULTSIGNIN_dly; + else + multsignout_o_opmode <= mult_o_mux(MSB_A_MULT+MSB_B_MULT+1); + end if; + end process prcs_multsignout_o_opmode; + + prcs_multsignout_o_mux:process(multsignout_o_opmode, multsignout_o_reg) + begin + case PREG is + when 0 => multsignout_o_mux <= multsignout_o_opmode; +-- CR 232275 + when 1 => multsignout_o_mux <= multsignout_o_reg; + when others => null; +-- assert false +-- report "Attribute Syntax Error: Legal values for PREG are 0 or 1" +-- severity Failure; + end case; + + end process prcs_multsignout_o_mux; +--#################################################################### +--#################################################################### +--#################################################################### +--##### PCOUT and MULTSIGNOUT ##### +--#################################################################### + prcs_qp_reg:process(CLK_dly, GSR_dly) + begin + if(GSR_dly = '1') then + qp_o_reg <= ( others => '0'); + multsignout_o_reg <= '0'; + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTP_dly = '1' or the_auto_reset_patdet) then + qp_o_reg <= ( others => '0'); + multsignout_o_reg <= '0'; + elsif ((RSTP_dly = '0') and (CEP_dly = '1')) then + qp_o_reg <= alu_o; + multsignout_o_reg <= mult_o_reg((MSB_A_MULT+MSB_B_MULT+1)); + end if; + end if; + end if; + end process prcs_qp_reg; +------------------------------------------------------------------ + prcs_qp_mux:process(alu_o, qp_o_reg) + begin + case PREG is + when 0 => qp_o_mux <= alu_o; + when 1 => qp_o_mux <= qp_o_reg; + when others => + assert false + report "Attribute Syntax Error: Legal values for PREG are 0 or 1" + severity Failure; + end case; + + end process prcs_qp_mux; +--#################################################################### +--##### Pattern Detector ##### +--#################################################################### + +-- new + the_pattern <= To_StdLogicVector(PATTERN) when (SEL_PATTERN = "PATTERN") else + qc_o_mux; + + the_mask <= To_StdLogicVector(MASK) when (SEL_MASK = "MASK") else + qc_o_mux when (SEL_MASK = "C") else + To_StdLogicVector((To_bitvector( not qc_o_mux)) sla 1) when (SEL_MASK = "ROUNDING_MODE1") else + To_StdLogicVector((To_bitvector( not qc_o_mux)) sla 2) when (SEL_MASK = "ROUNDING_MODE2"); + + prcs_pdet:process(alu_o, the_mask, the_pattern, GSR_dly ) + variable x_found : boolean := false; + variable lhs : std_logic_vector(MSB_P downto 0) := (others => '0'); + variable rhs : std_logic_vector(MSB_P downto 0) := (others => '0'); + + begin + -- CR 501854 + + lhs := (alu_o or mask_qp); + rhs := (pattern_qp or mask_qp); + + x_found := find_x(lhs, rhs); + + if(((alu_o or the_mask) = (the_pattern or the_mask)) and (GSR_dly = '0') and (not x_found))then + pdet_o <= '1'; + else + pdet_o <= '0'; + end if; + + if(((alu_o or the_mask) = ((NOT the_pattern) or the_mask)) and (GSR_dly = '0') and (not x_found)) then + pdetb_o <= '1'; + else + pdetb_o <= '0'; + end if; + + end process prcs_pdet; + +--------------------------------------------------------------- + + prcs_pdet_reg:process(CLK_dly, GSR_dly) + variable pdetb_reg1_var, pdetb_reg2_var, pdet_reg1_var, pdet_reg2_var : std_ulogic := '0'; + begin + if(GSR_dly = '1') then + pdetb_o_reg1 <= '0'; + pdetb_o_reg2 <= '0'; + pdet_o_reg1 <= '0'; + pdet_o_reg2 <= '0'; + + pdetb_reg1_var := '0'; + pdetb_reg2_var := '0'; + pdet_reg1_var := '0'; + pdet_reg2_var := '0'; + elsif (GSR_dly = '0') then + if(rising_edge(CLK_dly)) then + if(RSTP_dly = '1' or the_auto_reset_patdet) then + pdetb_o_reg1 <= '0'; + pdetb_o_reg2 <= '0'; + pdet_o_reg1 <= '0'; + pdet_o_reg2 <= '0'; + + pdetb_reg1_var := '0'; + pdetb_reg2_var := '0'; + pdet_reg1_var := '0'; + pdet_reg2_var := '0'; + elsif ((RSTP_dly = '0') and (CEP_dly = '1')) then + pdetb_reg2_var := pdetb_reg1_var; + pdetb_reg1_var := pdetb_o; + + pdet_reg2_var := pdet_reg1_var; + pdet_reg1_var := pdet_o; + + pdetb_o_reg1 <= pdetb_reg1_var; + pdetb_o_reg2 <= pdetb_reg2_var; + pdet_o_reg1 <= pdet_reg1_var; + pdet_o_reg2 <= pdet_reg2_var; + + end if; + end if; + end if; + end process prcs_pdet_reg; + +-- old prcs_sel_pattern_detect:process(alu_o, qc_o_mux) +-- old begin + +-- -- Select the pattern +-- if((SEL_PATTERN = "PATTERN") or (SEL_PATTERN = "pattern")) then +-- pattern_qp <= To_StdLogicVector(PATTERN); +-- elsif((SEL_PATTERN = "C") or (SEL_PATTERN = "c")) then +-- pattern_qp <= qc_o_mux; +-- else +-- assert false +-- report "Attribute Syntax Error: The attribute SEL_PATTERN on DSP48_ALU is incorrect. Legal values for this attribute are PATTERN or C" +-- severity Failure; +-- end if; +-- +-- -- Select the mask -- if ROUNDING MASK set, use rounding mode, else use SEL_MASK +-- if((SEL_ROUNDING_MASK = "SEL_MASK") or (SEL_ROUNDING_MASK = "sel_mask")) then +-- if((SEL_MASK = "MASK") or (SEL_MASK = "mask")) then +-- mask_qp <= To_StdLogicVector(MASK); +-- elsif((SEL_MASK = "C") or (SEL_MASK = "c")) then +-- mask_qp <= qc_o_mux; +-- else +-- assert false +-- report "Attribute Syntax Error: The attribute SEL_MASK on DSP48_ALU is incorrect. Legal values for this attribute are MASK or C" +-- severity Failure; +-- end if; +-- elsif((SEL_ROUNDING_MASK = "MODE1") or (SEL_ROUNDING_MASK = "mode1")) then +-- mask_qp <= To_StdLogicVector((To_bitvector( not qc_o_mux)) sla 1) ; +-- mask_qp (0) <= '0'; +-- elsif((SEL_ROUNDING_MASK = "MODE2") or (SEL_ROUNDING_MASK = "mode2")) then +-- mask_qp <= To_StdLogicVector((To_bitvector( not qc_o_mux)) sla 2) ; +-- mask_qp (1 downto 0) <= (others => '0'); +-- else +-- assert false +-- report "Attribute Syntax Error: The attribute SEL_ROUNDING_MASK on DSP48_ALU is incorrect. Legal values for this attribute are SEL_MASK or MODE1 or MODE2." +-- severity Failure; +-- end if; +-- +-- end process prcs_sel_pattern_detect; + + +--------------------------------------------------------------- + +-- prcs_pdet:process(alu_o, mask_qp, pattern_qp, GSR_dly ) +-- begin +-- if(((alu_o or mask_qp) = (pattern_qp or mask_qp)) and (GSR_dly = '0'))then +-- pdet_o <= '1'; +-- else +-- pdet_o <= '0'; +-- end if; +-- +-- if(((alu_o or mask_qp) = ((NOT pattern_qp) or mask_qp)) and (GSR_dly = '0')) then +-- pdetb_o <= '1'; +-- else +-- pdetb_o <= '0'; +-- end if; +-- +-- end process prcs_pdet; + +--------------------------------------------------------------- + +-- prcs_pdet_reg:process(CLK_dly, GSR_dly) +-- variable pdetb_reg1_var, pdetb_reg2_var, pdet_reg1_var, pdet_reg2_var : std_ulogic := '0'; +-- begin +-- if(GSR_dly = '1') then +-- pdetb_o_reg1 <= '0'; +-- pdetb_o_reg2 <= '0'; +-- pdet_o_reg1 <= '0'; +-- pdet_o_reg2 <= '0'; +-- +-- pdetb_reg1_var := '0'; +-- pdetb_reg2_var := '0'; +-- pdet_reg1_var := '0'; +-- pdet_reg2_var := '0'; +-- elsif (GSR_dly = '0') then +-- if(rising_edge(CLK_dly)) then +-- if(RSTP_dly = '1' or the_auto_reset_patdet) then +-- pdetb_o_reg1 <= '0'; +-- pdetb_o_reg2 <= '0'; +-- pdet_o_reg1 <= '0'; +-- pdet_o_reg2 <= '0'; +-- +-- pdetb_reg1_var := '0'; +-- pdetb_reg2_var := '0'; +-- pdet_reg1_var := '0'; +-- pdet_reg2_var := '0'; +-- elsif ((RSTP_dly = '0') and (CEP_dly = '1')) then +-- pdetb_reg2_var := pdetb_reg1_var; +-- pdetb_reg1_var := pdetb_o; +-- +-- pdet_reg2_var := pdet_reg1_var; +-- pdet_reg1_var := pdet_o; +-- +-- pdetb_o_reg1 <= pdetb_reg1_var; +-- pdetb_o_reg2 <= pdetb_reg2_var; +-- pdet_o_reg1 <= pdet_reg1_var; +-- pdet_o_reg2 <= pdet_reg2_var; +-- +-- end if; +-- end if; +-- end if; +-- end process prcs_pdet_reg; + +--#################################################################### +--##### Underflow / Overflow ##### +--#################################################################### + prcs_uflow_oflow:process(pdet_o_reg1 , pdet_o_reg2 , pdetb_o_reg1 , pdetb_o_reg2) + begin + if(GSR_dly = '1') then + overflow_o <= '0'; + underflow_o <= '0'; + elsif((USE_PATTERN_DETECT = "PATDET") or (PREG = 1))then + overflow_o <= pdet_o_reg2 AND (NOT pdet_o_reg1) AND (NOT pdetb_o_reg1); + underflow_o <= pdetb_o_reg2 AND (NOT pdet_o_reg1) AND (NOT pdetb_o_reg1); + else + overflow_o <= 'X'; + underflow_o <= 'X'; + end if; + + end process prcs_uflow_oflow; +-- skip for fast_model +--#################################################################### +--##### OPMODE DRC ##### +--#################################################################### + +-- end skip for fast_model +--#################################################################### +--##### ZERO_DELAY_OUTPUTS ##### +--#################################################################### + prcs_zero_delay_outputs:process(qacout_o_mux, qbcout_o_mux, carryout_x_o, carrycascout_o_mux, + overflow_o, qp_o_mux, pdet_o, pdetb_o, + pdet_o_reg1, pdetb_o_reg1, + pdet_o_reg2, pdetb_o_reg2, + underflow_o, multsignout_o_mux, opmode_valid_flg, alumode_valid_flg) + begin + ACOUT_zd <= qacout_o_mux; + BCOUT_zd <= qbcout_o_mux; + OVERFLOW_zd <= overflow_o; + UNDERFLOW_zd <= underflow_o; + P_zd <= qp_o_mux; + PCOUT_zd <= qp_o_mux; + MULTSIGNOUT_zd <= multsignout_o_mux; + + if(the_auto_reset_patdet) then + CARRYCASCOUT_zd <= '0'; + CARRYOUT_zd <= (others => '0'); + else + CARRYCASCOUT_zd <= carrycascout_o_mux; + CARRYOUT_zd <= carryout_x_o; + end if; + +-- if((USE_PATTERN_DETECT = "NO_PATDET") or (not opmode_valid_flg) or (not alumode_valid_flg)) then +-- IR 491951 + if((not opmode_valid_flg) or (not alumode_valid_flg)) then + PATTERNBDETECT_zd <= 'X'; + PATTERNDETECT_zd <= 'X'; + elsif (PREG = 0) then + PATTERNBDETECT_zd <= pdetb_o; + PATTERNDETECT_zd <= pdet_o; + elsif(PREG = 1) then + PATTERNBDETECT_zd <= pdetb_o_reg1; + PATTERNDETECT_zd <= pdet_o_reg1; + end if; + + end process prcs_zero_delay_outputs; + +--#################################################################### +--##### OUTPUT ##### +--#################################################################### + prcs_output:process(ACOUT_zd, BCOUT_zd, CARRYCASCOUT_zd, CARRYOUT_zd, + OVERFLOW_zd, P_zd, PATTERNBDETECT_zd, PATTERNDETECT_zd, + PCOUT_zd, UNDERFLOW_zd, MULTSIGNOUT_zd) + begin + ACOUT <= ACOUT_zd after SYNC_PATH_DELAY; + BCOUT <= BCOUT_zd after SYNC_PATH_DELAY; + CARRYCASCOUT <= CARRYCASCOUT_zd after SYNC_PATH_DELAY; + CARRYOUT <= CARRYOUT_zd after SYNC_PATH_DELAY; + OVERFLOW <= OVERFLOW_zd after SYNC_PATH_DELAY; + P <= P_zd after SYNC_PATH_DELAY; + PATTERNBDETECT <= PATTERNBDETECT_zd after SYNC_PATH_DELAY; + PATTERNDETECT <= PATTERNDETECT_zd after SYNC_PATH_DELAY; + PCOUT <= PCOUT_zd after SYNC_PATH_DELAY; + UNDERFLOW <= UNDERFLOW_zd after SYNC_PATH_DELAY; + + MULTSIGNOUT <= MULTSIGNOUT_zd after SYNC_PATH_DELAY; + end process prcs_output; + + + +end DSP48E1_V; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/MMCME2_ADV.vhd b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/MMCME2_ADV.vhd new file mode 100644 index 0000000..7311de2 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/MMCME2_ADV.vhd @@ -0,0 +1,1938 @@ +-- Copyright (c) 1995/2010 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------/ +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.i (O.xx) +-- \ \ Description : Xilinx Function Simulation Library Component +-- / / Phase Lock Loop Clock +-- /___/ /\ Filename : MMCME2_ADV.vhd +-- \ \ / \ Timestamp : +-- \___\/\___\ +-- +-- Revision: +-- 09/17/11 - Initial version. +-- End Revision + +----- CELL MMCME2_ADV ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.STD_LOGIC_SIGNED.all; +use IEEE.NUMERIC_STD.all; +library STD; +use STD.TEXTIO.all; + + +library unisim; +use unisim.VPKG.all; +use unisim.VCOMPONENTS.all; + +entity MMCME2_ADV is +generic ( + + BANDWIDTH : string := "OPTIMIZED"; + CLKFBOUT_MULT_F : real := 5.000; + CLKFBOUT_PHASE : real := 0.000; + CLKFBOUT_USE_FINE_PS : boolean := FALSE; + CLKIN1_PERIOD : real := 0.000; + CLKIN2_PERIOD : real := 0.000; + CLKOUT0_DIVIDE_F : real := 1.000; + CLKOUT0_DUTY_CYCLE : real := 0.500; + CLKOUT0_PHASE : real := 0.000; + CLKOUT0_USE_FINE_PS : boolean := FALSE; + CLKOUT1_DIVIDE : integer := 1; + CLKOUT1_DUTY_CYCLE : real := 0.500; + CLKOUT1_PHASE : real := 0.000; + CLKOUT1_USE_FINE_PS : boolean := FALSE; + CLKOUT2_DIVIDE : integer := 1; + CLKOUT2_DUTY_CYCLE : real := 0.500; + CLKOUT2_PHASE : real := 0.000; + CLKOUT2_USE_FINE_PS : boolean := FALSE; + CLKOUT3_DIVIDE : integer := 1; + CLKOUT3_DUTY_CYCLE : real := 0.500; + CLKOUT3_PHASE : real := 0.000; + CLKOUT3_USE_FINE_PS : boolean := FALSE; + CLKOUT4_CASCADE : boolean := FALSE; + CLKOUT4_DIVIDE : integer := 1; + CLKOUT4_DUTY_CYCLE : real := 0.500; + CLKOUT4_PHASE : real := 0.000; + CLKOUT4_USE_FINE_PS : boolean := FALSE; + CLKOUT5_DIVIDE : integer := 1; + CLKOUT5_DUTY_CYCLE : real := 0.500; + CLKOUT5_PHASE : real := 0.000; + CLKOUT5_USE_FINE_PS : boolean := FALSE; + CLKOUT6_DIVIDE : integer := 1; + CLKOUT6_DUTY_CYCLE : real := 0.500; + CLKOUT6_PHASE : real := 0.000; + CLKOUT6_USE_FINE_PS : boolean := FALSE; + COMPENSATION : string := "ZHOLD"; + DIVCLK_DIVIDE : integer := 1; + IS_CLKINSEL_INVERTED : bit := '0'; + IS_PSEN_INVERTED : bit := '0'; + IS_PSINCDEC_INVERTED : bit := '0'; + IS_PWRDWN_INVERTED : bit := '0'; + IS_RST_INVERTED : bit := '0'; + REF_JITTER1 : real := 0.0; + REF_JITTER2 : real := 0.0; + SS_EN : string := "FALSE"; + SS_MODE : string := "CENTER_HIGH"; + SS_MOD_PERIOD : integer := 10000; + STARTUP_WAIT : boolean := FALSE + ); +port ( + CLKFBOUT : out std_ulogic := '0'; + CLKFBOUTB : out std_ulogic := '0'; + CLKFBSTOPPED : out std_ulogic := '0'; + CLKINSTOPPED : out std_ulogic := '0'; + CLKOUT0 : out std_ulogic := '0'; + CLKOUT0B : out std_ulogic := '0'; + CLKOUT1 : out std_ulogic := '0'; + CLKOUT1B : out std_ulogic := '0'; + CLKOUT2 : out std_ulogic := '0'; + CLKOUT2B : out std_ulogic := '0'; + CLKOUT3 : out std_ulogic := '0'; + CLKOUT3B : out std_ulogic := '0'; + CLKOUT4 : out std_ulogic := '0'; + CLKOUT5 : out std_ulogic := '0'; + CLKOUT6 : out std_ulogic := '0'; + DO : out std_logic_vector (15 downto 0); + DRDY : out std_ulogic := '0'; + LOCKED : out std_ulogic := '0'; + PSDONE : out std_ulogic := '0'; + CLKFBIN : in std_ulogic; + CLKIN1 : in std_ulogic; + CLKIN2 : in std_ulogic; + CLKINSEL : in std_ulogic; + DADDR : in std_logic_vector(6 downto 0); + DCLK : in std_ulogic; + DEN : in std_ulogic; + DI : in std_logic_vector(15 downto 0); + DWE : in std_ulogic; + PSCLK : in std_ulogic; + PSEN : in std_ulogic; + PSINCDEC : in std_ulogic; + PWRDWN : in std_ulogic; + RST : in std_ulogic + ); +end MMCME2_ADV; + + +-- Architecture body -- + +architecture MMCME2_ADV_V of MMCME2_ADV is + + function real2int( real_in : in real) return integer is + variable int_value : integer; + variable int_value1 : integer; + variable tmps : time := 1 ps; + variable tmps1 : real; + + begin + if (real_in < 1.00000 and real_in > -1.00000) then + int_value1 := 0; + else + tmps := real_in * 1 ns; + int_value := tmps / 1 ns; + tmps1 := real (int_value); + if ( tmps1 > real_in) then + int_value1 := int_value - 1 ; + else + int_value1 := int_value; + end if; + end if; + return int_value1; + end real2int; + + function clkout_duty_chk (CLKOUT_DIVIDE : in integer; + CLKOUT_DUTY_CYCLE : in real; + CLKOUT_DUTY_CYCLE_N : in string) + return std_ulogic is + constant O_MAX_HT_LT_real : real := 64.0; + variable CLKOUT_DIVIDE_real : real; + variable CLK_DUTY_CYCLE_MIN : real; + variable CLK_DUTY_CYCLE_MIN_rnd : real; + variable CLK_DUTY_CYCLE_MAX : real; + variable CLK_DUTY_CYCLE_STEP : real; + variable clk_duty_tmp_int : integer; + variable duty_cycle_valid : std_ulogic; + variable tmp_duty_value : real; + variable tmp_j : real; + variable Message : line; + variable step_round_tmp : integer; + variable step_round_tmp1 : real; + + begin + CLKOUT_DIVIDE_real := real(CLKOUT_DIVIDE); + step_round_tmp := 1000 /CLKOUT_DIVIDE; + step_round_tmp1 := real(step_round_tmp); + if (CLKOUT_DIVIDE_real > O_MAX_HT_LT_real) then + CLK_DUTY_CYCLE_MIN := (CLKOUT_DIVIDE_real - O_MAX_HT_LT_real)/CLKOUT_DIVIDE_real; + CLK_DUTY_CYCLE_MAX := (O_MAX_HT_LT_real + 0.5)/CLKOUT_DIVIDE_real; + CLK_DUTY_CYCLE_MIN_rnd := CLK_DUTY_CYCLE_MIN; + else + if (CLKOUT_DIVIDE = 1) then + CLK_DUTY_CYCLE_MIN_rnd := 0.0; + CLK_DUTY_CYCLE_MIN := 0.0; + else + CLK_DUTY_CYCLE_MIN_rnd := step_round_tmp1 / 1000.00; + CLK_DUTY_CYCLE_MIN := 1.0 / CLKOUT_DIVIDE_real; + end if; + CLK_DUTY_CYCLE_MAX := 1.0; + end if; + + if ((CLKOUT_DUTY_CYCLE > CLK_DUTY_CYCLE_MAX) or (CLKOUT_DUTY_CYCLE < CLK_DUTY_CYCLE_MIN_rnd)) then + Write ( Message, string'(" Attribute Syntax Warning : ")); + Write ( Message, CLKOUT_DUTY_CYCLE_N); + Write ( Message, string'(" is set to ")); + Write ( Message, CLKOUT_DUTY_CYCLE); + Write ( Message, string'(" and is not in the allowed range ")); + Write ( Message, CLK_DUTY_CYCLE_MIN); + Write ( Message, string'(" to ")); + Write ( Message, CLK_DUTY_CYCLE_MAX); + Write ( Message, '.' & LF ); + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + + CLK_DUTY_CYCLE_STEP := 0.5 / CLKOUT_DIVIDE_real; + tmp_j := 0.0; + duty_cycle_valid := '0'; + clk_duty_tmp_int := 0; + for j in 0 to (2 * CLKOUT_DIVIDE ) loop + tmp_duty_value := CLK_DUTY_CYCLE_MIN + CLK_DUTY_CYCLE_STEP * tmp_j; + if (abs(tmp_duty_value - CLKOUT_DUTY_CYCLE) < 0.001 and (tmp_duty_value <= CLK_DUTY_CYCLE_MAX)) then + duty_cycle_valid := '1'; + end if; + tmp_j := tmp_j + 1.0; + end loop; + + if (duty_cycle_valid /= '1') then + Write ( Message, string'(" Attribute Syntax Warning : ")); + Write ( Message, CLKOUT_DUTY_CYCLE_N); + Write ( Message, string'(" = ")); + Write ( Message, CLKOUT_DUTY_CYCLE); + Write ( Message, string'(" which is not an allowed value. Allowed value s are: ")); + Write ( Message, LF ); + tmp_j := 0.0; + for j in 0 to (2 * CLKOUT_DIVIDE ) loop + tmp_duty_value := CLK_DUTY_CYCLE_MIN + CLK_DUTY_CYCLE_STEP * tmp_j; + if ( (tmp_duty_value <= CLK_DUTY_CYCLE_MAX) and (tmp_duty_value < 1.0)) then + Write ( Message, tmp_duty_value); + Write ( Message, LF ); + end if; + tmp_j := tmp_j + 1.0; + end loop; + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + return duty_cycle_valid; + end function clkout_duty_chk; + + constant VCOCLK_FREQ_MAX : real := 1600.0; + constant VCOCLK_FREQ_MIN : real := 600.0; + constant CLKIN_FREQ_MAX : real := 1066.0; + constant CLKIN_FREQ_MIN : real := 10.0; + constant CLKPFD_FREQ_MAX : real := 550.0; + constant CLKPFD_FREQ_MIN : real := 10.0; + constant VCOCLK_FREQ_TARGET : real := 1000.0; + constant O_MAX_HT_LT : integer := 64; + constant REF_CLK_JITTER_MAX : time := 1000 ps; + constant REF_CLK_JITTER_SCALE : real := 0.1; + constant MAX_FEEDBACK_DELAY : time := 10 ns; + constant MAX_FEEDBACK_DELAY_SCALE : real := 1.0; + constant M_MAX : real := 64.000; + constant M_MIN : real := 2.000; + constant D_MAX : integer := 106; + constant D_MIN : integer := 1; + + signal pwrdwn_in1 : std_ulogic := '0'; + signal rst_input : std_ulogic := '0'; + signal init_done : std_ulogic := '0'; + signal clkpll_r : std_ulogic := '0'; + signal locked_out_tmp : std_ulogic := '0'; + signal clkfbm1_f_div : real := 1.0; + signal clkfb_div_fint : integer := 0; + signal clkfb_div_frac : real := 0.0; + signal clkfb_frac_en : std_ulogic := '0'; + signal clkfb_div_frac_int : integer := 0; + signal clkfb_div_f_int : integer := 0; + signal clkfb_val : integer := 0; + signal clkfb_val1 : integer := 0; + signal clkfb_val11 : integer := 0; + signal clkfb_val2 : integer := 0; + signal clk0_div_fint : integer := 0; + signal clk0_div_frac : real := 0.0; + signal clk0_frac_en : std_ulogic := '0'; + signal clk0_div_frac_int : integer := 0; + signal clk0_div_f_int : integer := 0; + signal clk0_val : integer := 0; + signal clk0_val1 : integer := 0; + signal clk0_val11 : integer := 0; + signal clk1_val11 : integer := 0; + signal clk2_val11 : integer := 0; + signal clk3_val11 : integer := 0; + signal clk4_val11 : integer := 0; + signal clk5_val11 : integer := 0; + signal clk6_val11 : integer := 0; + signal clk0_val2 : integer := 0; + signal clk1_val2 : integer := 0; + signal clk2_val2 : integer := 0; + signal clk3_val2 : integer := 0; + signal clk4_val2 : integer := 0; + signal clk5_val2 : integer := 0; + signal clk6_val2 : integer := 0; + signal clk1_val : integer := 0; + signal clk1_val1 : integer := 0; + signal clk2_val : integer := 0; + signal clk2_val1 : integer := 0; + signal clk3_val : integer := 0; + signal clk3_val1 : integer := 0; + signal clk4_val : integer := 0; + signal clk4_val1 : integer := 0; + signal clk5_val : integer := 0; + signal clk5_val1 : integer := 0; + signal clk6_val : integer := 0; + signal clk6_val1 : integer := 0; + signal chk_ok : std_ulogic := '0'; + constant period_vco_target : time := 1000 ps / VCOCLK_FREQ_TARGET; + constant fb_delay_max : time := MAX_FEEDBACK_DELAY * MAX_FEEDBACK_DELAY_SCALE; + signal pll_lock_time : integer := 0; + signal clkfb_out : std_ulogic := '0'; + signal clkout0_out : std_ulogic := '0'; + signal clkout1_out : std_ulogic := '0'; + signal clkout2_out : std_ulogic := '0'; + signal clkout3_out : std_ulogic := '0'; + signal clkout4_out : std_ulogic := '0'; + signal clkout5_out : std_ulogic := '0'; + signal clkout6_out : std_ulogic := '0'; + signal p_fb : time := 0 ps; + signal p_fb_h : time := 0 ps; + signal p_fb_r : time := 0 ps; + signal p_fb_r1 : time := 0 ps; + signal p_fb_d : time := 0 ps; + signal p_c0_dr : time := 0 ps; + signal p_c1_dr : time := 0 ps; + signal p_c2_dr : time := 0 ps; + signal p_c3_dr : time := 0 ps; + signal p_c4_dr : time := 0 ps; + signal p_c5_dr : time := 0 ps; + signal p_c6_dr : time := 0 ps; + signal p_c0_h : time := 0 ps; + signal p_c0_r : time := 0 ps; + signal p_c0_d : time := 0 ps; + signal p_c0_r1 : time := 0 ps; + signal p_c1_r1 : time := 0 ps; + signal p_c2_r1 : time := 0 ps; + signal p_c3_r1 : time := 0 ps; + signal p_c4_r1 : time := 0 ps; + signal p_c5_r1 : time := 0 ps; + signal p_c6_r1 : time := 0 ps; + signal p_c1_h : time := 0 ps; + signal p_c1_r : time := 0 ps; + signal p_c1_d : time := 0 ps; + signal p_c2_h : time := 0 ps; + signal p_c2_r : time := 0 ps; + signal p_c2_d : time := 0 ps; + signal p_c3_h : time := 0 ps; + signal p_c3_r : time := 0 ps; + signal p_c3_d : time := 0 ps; + signal p_c4_h : time := 0 ps; + signal p_c4_r : time := 0 ps; + signal p_c4_d : time := 0 ps; + signal p_c5_h : time := 0 ps; + signal p_c5_r : time := 0 ps; + signal p_c5_d : time := 0 ps; + signal p_c6_h : time := 0 ps; + signal p_c6_r : time := 0 ps; + signal p_c6_d : time := 0 ps; + signal period_fb : time := 0 ps; + signal clk0_gen : std_ulogic := '0'; + signal clk1_gen : std_ulogic := '0'; + signal clk2_gen : std_ulogic := '0'; + signal clk3_gen : std_ulogic := '0'; + signal clk4_gen : std_ulogic := '0'; + signal clk5_gen : std_ulogic := '0'; + signal clk6_gen : std_ulogic := '0'; + signal clkfb_gen : std_ulogic := '0'; + signal clk0_gen_f : std_ulogic := '0'; + signal clk1_gen_f : std_ulogic := '0'; + signal clk2_gen_f : std_ulogic := '0'; + signal clk3_gen_f : std_ulogic := '0'; + signal clk4_gen_f : std_ulogic := '0'; + signal clk5_gen_f : std_ulogic := '0'; + signal clk6_gen_f : std_ulogic := '0'; + signal clkfb_gen_f : std_ulogic := '0'; + signal sample_en : std_ulogic := '1'; + signal clk0_out : std_ulogic := '0'; + signal clk1_out : std_ulogic := '0'; + signal clk2_out : std_ulogic := '0'; + signal clk3_out : std_ulogic := '0'; + signal clk4_out : std_ulogic := '0'; + signal clk5_out : std_ulogic := '0'; + signal clk6_out : std_ulogic := '0'; + signal clkfbm1_out : std_ulogic := '0'; + signal fb_delay_found_tmp : std_ulogic := '0'; + signal fb_delay_found : std_ulogic := '0'; + type real_array_usr is array (4 downto 0) of time; + signal clkin_period : real_array_usr := (others => 0 ps); + signal clkout_mux : std_logic_vector (7 downto 0) ; + signal lock_period_time : integer := 0; + signal clkout_en_time : integer := 0; + signal locked_en_time : integer := 0; + signal lock_cnt_max : integer := 0; + signal pwron_int : std_ulogic := '0'; + signal rst_in : std_ulogic := '0'; + signal pll_locked_tmp1 : std_ulogic := '0'; + signal pll_locked_tmp2 : std_ulogic := '0'; + signal lock_period : std_ulogic := '0'; + signal pll_locked_tm : std_ulogic := '0'; + signal clkin_edge : time := 0 ps; + signal fb_delay : time := 0 ps; + signal clkvco_delay : time := 0 ps; + signal clkin_lock_cnt : integer := 0; + signal clkfbm1_dly : time := 0 ps; + signal clkout_en0_tmp : std_ulogic := '0'; + signal clkout_en : std_ulogic := '0'; + signal clkout_en1 : std_ulogic := '0'; + signal locked_out : std_ulogic := '0'; + signal period_avg : time := 0 ps; + signal delay_edge : time := 0 ps; + signal clkin_period_tmp_t : integer := 0; + signal period_vco : time := 0 ps; + signal clk0ps_en : std_ulogic := '0'; + signal clk1ps_en : std_ulogic := '0'; + signal clk2ps_en : std_ulogic := '0'; + signal clk3ps_en : std_ulogic := '0'; + signal clk4ps_en : std_ulogic := '0'; + signal clk5ps_en : std_ulogic := '0'; + signal clk6ps_en : std_ulogic := '0'; + signal clkfbm1ps_en : std_ulogic := '0'; + signal clk0_cnt : integer := 0; + signal clk1_cnt : integer := 0; + signal clk2_cnt : integer := 0; + signal clk3_cnt : integer := 0; + signal clk4_cnt : integer := 0; + signal clk5_cnt : integer := 0; + signal clk6_cnt : integer := 0; + signal clkfb_cnt : integer := 0; + signal clkfb_tst : std_ulogic := '0'; + signal clkfb_in : std_ulogic := '0'; + signal clkin1_in : std_ulogic := '0'; + signal clkin1_in_dly : std_ulogic := '0'; + signal clkin2_in : std_ulogic := '0'; + signal clkinsel_in : std_ulogic := '0'; + signal clkinsel_tmp : std_ulogic := '0'; + signal rst_input_r : std_ulogic := '0'; + signal pwrdwn_in : std_ulogic := '0'; + signal IS_CLKINSEL_INVERTED_BIN : std_ulogic := TO_X01(IS_CLKINSEL_INVERTED); + signal IS_PWRDWN_INVERTED_BIN : std_ulogic := TO_X01(IS_PWRDWN_INVERTED); + signal IS_RST_INVERTED_BIN : std_ulogic := TO_X01(IS_RST_INVERTED); + + begin + + clkin1_in <= CLKIN1; + clkin2_in <= CLKIN2; + clkfb_in <= CLKFBIN; + clkinsel_in <= '1' when (CLKINSEL xor IS_CLKINSEL_INVERTED_BIN) /= '0' else '0'; + rst_input_r <= RST xor IS_RST_INVERTED_BIN; + pwrdwn_in <= PWRDWN xor IS_PWRDWN_INVERTED_BIN; + LOCKED <= locked_out_tmp; + CLKOUT0 <= clkout0_out; + CLKOUT1 <= clkout1_out; + CLKOUT2 <= clkout2_out; + CLKOUT3 <= clkout3_out; + CLKOUT4 <= clkout4_out; + CLKOUT5 <= clkout5_out; + CLKOUT6 <= clkout6_out; + CLKFBOUT <= clkfb_out; + CLKFBOUTB <= not clkfb_out; + CLKOUT0B <= not clkout0_out; + CLKOUT1B <= not clkout1_out; + CLKOUT2B <= not clkout2_out; + CLKOUT3B <= not clkout3_out; + DO <= "0000000000000000"; + + INIPROC : process + variable Message : line; + variable con_line : line; + variable tmpvalue : real; + variable chk_ok : std_ulogic; + variable tmp_string : string(1 to 18); + variable skipspace : character; + variable CLK_DUTY_CYCLE_MIN : real; + variable CLK_DUTY_CYCLE_MAX : real; + variable CLK_DUTY_CYCLE_STEP : real; + variable O_MAX_HT_LT_real : real; + variable duty_cycle_valid : std_ulogic; + variable CLKOUT0_DIVIDE_real : real; + variable CLKOUT1_DIVIDE_real : real; + variable CLKOUT2_DIVIDE_real : real; + variable CLKOUT3_DIVIDE_real : real; + variable CLKOUT4_DIVIDE_real : real; + variable CLKOUT5_DIVIDE_real : real; + variable CLKOUT6_DIVIDE_real : real; + variable tmp_j : real; + variable tmp_duty_value : real; + variable clk_nocnt_i : std_ulogic; + variable clk_edge_i : std_ulogic; + variable clkfbm1_f_div_v : real := 1.0; + variable clkfb_div_fint_v : integer := 1; + variable clkfb_div_fint_v_tmp : integer := 1; + variable clkfb_div_fint_v1 : real := 1.0; + variable clkfb_div_frac_v : real := 0.0; + variable clkfb_div_frac_int_v : integer := 0; + variable clk0_div_fint_v : integer := 1; + variable clk0_div_fint_v_tmp : integer := 1; + variable clk0_div_fint_v1 : real := 1.0; + variable clk0_div_frac_v : real := 0.0; + variable clk0_div_frac_int_v : integer := 0; + variable clk0_frac_v : integer := 0; + variable clkfb_fps_eni : integer; + variable clk0_fps_eni : integer; + variable clk1_fps_eni : integer; + variable clk2_fps_eni : integer; + variable clk3_fps_eni : integer; + variable clk4_fps_eni : integer; + variable clk5_fps_eni : integer; + variable clk6_fps_eni : integer; + variable clkout_en_time_i : integer; + variable clkfb_frac_v : integer := 0; + variable clkfb_frac_en_v : std_ulogic := '0'; + variable clk0_frac_en_v : std_ulogic := '0'; + variable clkfb_div_f_int_v : integer := 0; + variable clk0_div_f_int_v : integer := 0; + variable clkfb_div_fint_odd_v : integer := 0; + variable clkout_en_time_i1 : integer := 0; + variable clk0_val1_tmp : integer := 0; + variable clk1_val1_tmp : integer := 0; + variable clk2_val1_tmp : integer := 0; + variable clk3_val1_tmp : integer := 0; + variable clk4_val1_tmp : integer := 0; + variable clk5_val1_tmp : integer := 0; + variable clk6_val1_tmp : integer := 0; + begin + if((COMPENSATION /= "ZHOLD") and (COMPENSATION /= "zhold") and + (COMPENSATION /= "BUF_IN") and (COMPENSATION /= "buf_in") and + (COMPENSATION /= "EXTERNAL") and (COMPENSATION /= "external") and + (COMPENSATION /= "INTERNAL") and (COMPENSATION /= "internal")) +then + assert FALSE report " Attribute Syntax Error : The Attribute COMPENSATION must be set to ZHOLD or BUF_IN or EXTERNAL or INTERNAL." severity error; end if; + + if((BANDWIDTH /= "HIGH") and (BANDWIDTH /= "high") and + (BANDWIDTH /= "LOW") and (BANDWIDTH /= "low") and + (BANDWIDTH /= "OPTIMIZED") and (BANDWIDTH /= "optimized")) then assert FALSE report "Attribute Syntax Error : BANDWIDTH is not HIGH, LOW, OPTIMIZED." severity error; + end if; + + if (CLKFBOUT_USE_FINE_PS /= FALSE and CLKFBOUT_USE_FINE_PS /= false + and CLKFBOUT_USE_FINE_PS /= TRUE and CLKFBOUT_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKFBOUT_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT0_USE_FINE_PS /= FALSE and CLKOUT0_USE_FINE_PS /= false + and CLKOUT0_USE_FINE_PS /= TRUE and CLKOUT0_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT0_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT1_USE_FINE_PS /= FALSE and CLKOUT1_USE_FINE_PS /= false + and CLKOUT1_USE_FINE_PS /= TRUE and CLKOUT1_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT1_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT2_USE_FINE_PS /= FALSE and CLKOUT2_USE_FINE_PS /= false + and CLKOUT2_USE_FINE_PS /= TRUE and CLKOUT2_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT2_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT3_USE_FINE_PS /= FALSE and CLKOUT3_USE_FINE_PS /= false + and CLKOUT3_USE_FINE_PS /= TRUE and CLKOUT3_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT3_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT4_USE_FINE_PS /= FALSE and CLKOUT4_USE_FINE_PS /= false + and CLKOUT4_USE_FINE_PS /= TRUE and CLKOUT4_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT4_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT5_USE_FINE_PS /= FALSE and CLKOUT5_USE_FINE_PS /= false + and CLKOUT5_USE_FINE_PS /= TRUE and CLKOUT5_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT5_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + if (CLKOUT6_USE_FINE_PS /= FALSE and CLKOUT6_USE_FINE_PS /= false + and CLKOUT6_USE_FINE_PS /= TRUE and CLKOUT6_USE_FINE_PS /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT6_USE_FINE_PS must be set to FALSE or TRUE." severity error; + end if; + + + + if (CLKOUT4_CASCADE /= FALSE and CLKOUT4_CASCADE /= false + and CLKOUT4_CASCADE /= TRUE and CLKOUT4_CASCADE /= true) then + assert FALSE report " Attribute Syntax Error : The Attribute CLKOUT4_CASCADE must be set to FALSE or TRUE." severity error; + end if; + + if((STARTUP_WAIT /= FALSE) and (STARTUP_WAIT /= false) + and (STARTUP_WAIT /= TRUE) and (STARTUP_WAIT /= true)) then + assert FALSE report "Error : STARTUP_WAIT must be set to FALSE, TRUE." severity error; + end if; + + clkfbm1_f_div_v := CLKFBOUT_MULT_F; + clkfbm1_f_div <= CLKFBOUT_MULT_F; + clkfb_div_fint_v := real2int(clkfbm1_f_div_v); + clkfb_div_fint <= clkfb_div_fint_v; + clkfb_div_fint_v_tmp := clkfb_div_fint_v / 2; + clkfb_div_fint_odd_v := clkfb_div_fint_v - 2 * clkfb_div_fint_v_tmp; + clkfb_div_fint_v1 := real(clkfb_div_fint_v); + clkfb_div_frac_v := clkfbm1_f_div_v - clkfb_div_fint_v1; + clkfb_div_frac <= clkfb_div_frac_v; + if (clkfb_div_frac_v > 0.000) then + clkfb_frac_en <= '1'; + clkfb_frac_en_v := '1'; + else + clkfb_frac_en <= '0'; + clkfb_frac_en_v := '0'; + end if; + clkfb_div_frac_int_v := real2int(clkfb_div_frac_v * 8.0); + clkfb_div_frac_int <= clkfb_div_frac_int_v; + clkfb_div_f_int_v := clkfb_div_fint_v * 8 + clkfb_div_frac_int_v; + clkfb_div_f_int <= clkfb_div_f_int_v; + clkfb_val <= DIVCLK_DIVIDE * 8; + clkfb_val2 <= DIVCLK_DIVIDE * 8 * 2 - 1; + clkfb_val1 <= 8; + clkfb_val11 <= 7; + + clk0_div_fint_v := real2int(CLKOUT0_DIVIDE_F); + clk0_div_fint_v1 := real(clk0_div_fint_v); + clk0_div_fint <= clk0_div_fint_v; + clk0_div_frac_v := CLKOUT0_DIVIDE_F - clk0_div_fint_v1; + clk0_div_frac <= clk0_div_frac_v; + if (clk0_div_frac_v > 0.000 and clk0_div_fint_v >= 2) then + clk0_frac_en <= '1'; + clk0_frac_en_v := '1'; + else + clk0_frac_en <= '0'; + clk0_frac_en_v := '0'; + end if; + clk0_div_frac_int_v := real2int(clk0_div_frac_v * 8.0); + clk0_div_frac_int <= clk0_div_frac_int_v; + clk0_div_f_int_v := clk0_div_fint_v * 8 + clk0_div_frac_int_v; + clk0_div_f_int <= clk0_div_f_int_v; + if (clkfb_frac_en_v = '1') then + if (clk0_frac_en_v = '1') then + clk0_val <= clk0_div_f_int_v * 8 * DIVCLK_DIVIDE; + clk0_val2 <= clk0_div_f_int_v * 8 * DIVCLK_DIVIDE * 2 - 1; + clk0_val1_tmp := clkfb_div_f_int_v * clk0_div_f_int_v; + else + clk0_val <= DIVCLK_DIVIDE * 8 * clk0_div_fint_v; + clk0_val2 <= DIVCLK_DIVIDE * 8 * clk0_div_fint_v * 2 - 1; + clk0_val1_tmp := clkfb_div_f_int_v; + end if; + else + if (clk0_frac_en_v = '1') then + clk0_val <= clk0_div_f_int_v * 8 * DIVCLK_DIVIDE; + clk0_val2 <= clk0_div_f_int_v * 8 * DIVCLK_DIVIDE * 2 -1; + clk0_val1_tmp := clkfb_div_f_int_v * clk0_div_f_int_v; + else + clk0_val <= DIVCLK_DIVIDE * clk0_div_fint_v; + clk0_val2 <= DIVCLK_DIVIDE * clk0_div_fint_v * 2 - 1; + clk0_val1_tmp := clkfb_div_fint_v; + end if; + end if; + clk0_val1 <= clk0_val1_tmp; + if ( clk0_val1_tmp > 1) then + clk0_val11 <= clk0_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk1_val <= DIVCLK_DIVIDE * 8 * CLKOUT1_DIVIDE; + clk1_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT1_DIVIDE * 2 - 1; + clk1_val1_tmp := clkfb_div_f_int_v; + else + clk1_val <= DIVCLK_DIVIDE * CLKOUT1_DIVIDE; + clk1_val2 <= DIVCLK_DIVIDE * CLKOUT1_DIVIDE * 2 - 1; + clk1_val1_tmp := clkfb_div_fint_v; + end if; + clk1_val1 <= clk1_val1_tmp; + if ( clk1_val1_tmp > 1) then + clk1_val11 <= clk1_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk2_val <= DIVCLK_DIVIDE * 8 * CLKOUT2_DIVIDE; + clk2_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT2_DIVIDE * 2 - 1; + clk2_val1_tmp := clkfb_div_f_int_v; + else + clk2_val <= DIVCLK_DIVIDE * CLKOUT2_DIVIDE; + clk2_val2 <= DIVCLK_DIVIDE * CLKOUT2_DIVIDE * 2 - 1; + clk2_val1_tmp := clkfb_div_fint_v; + end if; + clk2_val1 <= clk2_val1_tmp; + if ( clk2_val1_tmp > 1) then + clk2_val11 <= clk2_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk3_val <= DIVCLK_DIVIDE * 8 * CLKOUT3_DIVIDE; + clk3_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT3_DIVIDE * 2 - 1; + clk3_val1_tmp := clkfb_div_f_int_v; + else + clk3_val <= DIVCLK_DIVIDE * CLKOUT3_DIVIDE; + clk3_val2 <= DIVCLK_DIVIDE * CLKOUT3_DIVIDE * 2 - 1; + clk3_val1_tmp := clkfb_div_fint_v; + end if; + clk3_val1 <= clk3_val1_tmp; + if ( clk3_val1_tmp > 1) then + clk3_val11 <= clk3_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk4_val <= DIVCLK_DIVIDE * 8 * CLKOUT4_DIVIDE; + clk4_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT4_DIVIDE * 2 - 1; + clk4_val1_tmp := clkfb_div_f_int_v; + else + clk4_val <= DIVCLK_DIVIDE * CLKOUT4_DIVIDE; + clk4_val2 <= DIVCLK_DIVIDE * CLKOUT4_DIVIDE * 2 - 1; + clk4_val1_tmp := clkfb_div_fint_v; + end if; + clk4_val1 <= clk4_val1_tmp; + if ( clk4_val1_tmp > 1) then + clk4_val11 <= clk4_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk5_val <= DIVCLK_DIVIDE * 8 * CLKOUT5_DIVIDE; + clk5_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT5_DIVIDE * 2 - 1; + clk5_val1_tmp := clkfb_div_f_int_v; + else + clk5_val <= DIVCLK_DIVIDE * CLKOUT5_DIVIDE; + clk5_val2 <= DIVCLK_DIVIDE * CLKOUT5_DIVIDE * 2 - 1; + clk5_val1_tmp := clkfb_div_fint_v; + end if; + clk5_val1 <= clk5_val1_tmp; + if ( clk5_val1_tmp > 1) then + clk5_val11 <= clk5_val1_tmp - 1; + end if; + if (clkfb_frac_en_v = '1') then + clk6_val <= DIVCLK_DIVIDE * 8 * CLKOUT6_DIVIDE; + clk6_val2 <= DIVCLK_DIVIDE * 8 * CLKOUT6_DIVIDE * 2 - 1; + clk6_val1_tmp := clkfb_div_f_int_v; + else + clk6_val <= DIVCLK_DIVIDE * CLKOUT6_DIVIDE; + clk6_val2 <= DIVCLK_DIVIDE * CLKOUT6_DIVIDE * 2 - 1; + clk6_val1_tmp := clkfb_div_fint_v; + end if; + clk6_val1 <= clk6_val1_tmp; + if ( clk6_val1_tmp > 1) then + clk6_val11 <= clk6_val1_tmp - 1; + end if; + if (CLKOUT0_DIVIDE_F < 0.000 or CLKOUT0_DIVIDE_F > 128.000) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DIVIDE_F is not in range 1.000 to 128.000." severity error; + end if; + + if (CLKOUT0_DIVIDE_F > 1.0000 and CLKOUT0_DIVIDE_F < 2.0000) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DIVIDE_F is in range of greater than 1.0000 and less than 2.0000, which is not allowed." severity error; + end if; + + if ((CLKOUT0_PHASE < -360.0) or (CLKOUT0_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if (clk0_frac_en_v = '0') then + if ((CLKOUT0_DUTY_CYCLE < 0.001) or (CLKOUT0_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + else + if (CLKOUT0_DUTY_CYCLE > 0.5 or CLKOUT0_DUTY_CYCLE < 0.5) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DUTY_CYCLE should be set to 0.5 when CLKOUT0_DIVIDE_F has fraction part." severity error; + end if; + end if; + + case CLKOUT1_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT1_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT1_PHASE < -360.0) or (CLKOUT1_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT1_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT1_DUTY_CYCLE < 0.001) or (CLKOUT1_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT1_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT2_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT2_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT2_PHASE < -360.0) or (CLKOUT2_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT2_PHASE is not in range -360.0 to 360.0" severity error; + end if; + if ((CLKOUT2_DUTY_CYCLE < 0.001) or (CLKOUT2_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT2_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT3_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT3_DIVIDE is not in range 1...128." severity error; + end case; + + if ((CLKOUT3_PHASE < -360.0) or (CLKOUT3_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT3_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT3_DUTY_CYCLE < 0.001) or (CLKOUT3_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT3_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT4_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT4_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT4_PHASE < -360.0) or (CLKOUT4_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT4_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT4_DUTY_CYCLE < 0.001) or (CLKOUT4_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT4_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT5_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT5_DIVIDE is not in range 1...128." severity error; + end case; + if ((CLKOUT5_PHASE < -360.0) or (CLKOUT5_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT5_PHASE is not in range 360.0 to 360.0" severity error; + end if; + if ((CLKOUT5_DUTY_CYCLE < 0.001) or (CLKOUT5_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT5_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT6_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT6_DIVIDE is not in range 1 to 128." severity error; + end case; + if ((CLKOUT6_PHASE < -360.0) or (CLKOUT6_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT6_PHASE is not in range 360.0 to 360.0" severity error; + end if; + if ((CLKOUT6_DUTY_CYCLE < 0.001) or (CLKOUT6_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT6_DUTY_CYCLE is not real in range 0.0 to 1.0 pecentage."severity error; + end if; + + if (CLKFBOUT_MULT_F < 2.000 or CLKFBOUT_MULT_F > 64.000) then + assert FALSE report "Attribute Syntax Error : CLKFBOUT_MULT is not in range 2.000 to 64.000 ." severity error; + end if; + + if ( CLKFBOUT_PHASE < -360.0 or CLKFBOUT_PHASE > 360.0 ) then + assert FALSE report "Attribute Syntax Error : CLKFBOUT_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + case DIVCLK_DIVIDE is + when 1 to 106 => NULL; + when others => assert FALSE report "Attribute Syntax Error : DIVCLK_DIVIDE is not in range 1 to 106." severity error; + end case; + + if ((REF_JITTER1 < 0.0) or (REF_JITTER1 > 0.999)) then + assert FALSE report "Attribute Syntax Error : REF_JITTER1 is not in range 0.0 ... 1.0." severity error; + end if; + + if ((REF_JITTER2 < 0.0) or (REF_JITTER2 > 0.999)) then + assert FALSE report "Attribute Syntax Error : REF_JITTER2 is not in range 0.0 ... 1.0." severity error; + end if; + + O_MAX_HT_LT_real := real(O_MAX_HT_LT); + CLKOUT0_DIVIDE_real := CLKOUT0_DIVIDE_F; + CLKOUT1_DIVIDE_real := real(CLKOUT1_DIVIDE); + CLKOUT2_DIVIDE_real := real(CLKOUT2_DIVIDE); + CLKOUT3_DIVIDE_real := real(CLKOUT3_DIVIDE); + CLKOUT4_DIVIDE_real := real(CLKOUT4_DIVIDE); + CLKOUT5_DIVIDE_real := real(CLKOUT5_DIVIDE); + CLKOUT6_DIVIDE_real := real(CLKOUT6_DIVIDE); + + if (clk0_frac_en_v = '0') then + if (clk0_div_fint_v /= 0) then + chk_ok := clkout_duty_chk (clk0_div_fint_v, CLKOUT0_DUTY_CYCLE, "CLKOUT0_DUTY_CYCLE"); + end if; + end if; + if (CLKOUT5_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT5_DIVIDE, CLKOUT5_DUTY_CYCLE, "CLKOUT5_DUTY_CYCLE"); + end if; + if (CLKOUT1_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT1_DIVIDE, CLKOUT1_DUTY_CYCLE, "CLKOUT1_DUTY_CYCLE"); + end if; + if (CLKOUT2_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT2_DIVIDE, CLKOUT2_DUTY_CYCLE, "CLKOUT2_DUTY_CYCLE"); + end if; + if (CLKOUT3_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT3_DIVIDE, CLKOUT3_DUTY_CYCLE, "CLKOUT3_DUTY_CYCLE"); + end if; + if (CLKOUT4_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT4_DIVIDE, CLKOUT4_DUTY_CYCLE, "CLKOUT4_DUTY_CYCLE"); + end if; + if (CLKOUT6_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT6_DIVIDE, CLKOUT6_DUTY_CYCLE, "CLKOUT6_DUTY_CYCLE"); + end if; + pll_lock_time <= 12; + lock_period_time <= 16; + clkout_en_time_i1 := 10 + 12; + clkout_en_time <= clkout_en_time_i1; + locked_en_time <= clkout_en_time_i1 + 20; + lock_cnt_max <= clkout_en_time_i1 + 20 + 16; + init_done <= '1'; + wait; + end process INIPROC; + + clkinsel_p : process + variable period_clkin : real; + variable clkvco_freq_init_chk : real := 0.0; + variable Message : line; + variable tmpreal1 : real; + variable tmpreal2 : real; + variable first_check : boolean := true; + variable clkin_chk_t1 : real; + variable clkin_chk_t1_tmp1 : real; + variable clkin_chk_t1_tmp2 : real; + variable clkin_chk_t1_tmpi : time; + variable clkin_chk_t1_tmpi1 : integer; + variable clkin_chk_t2 : real; + variable clkin_chk_t2_tmp1 : real; + variable clkin_chk_t2_tmp2 : real; + variable clkin_chk_t2_tmpi : time; + variable clkin_chk_t2_tmpi1 : integer; + begin + + if (first_check = true or rising_edge(clkinsel_in) or falling_edge(clkinsel_in)) then + + if (NOW > 1 ps and rst_in = '0' and (clkinsel_tmp = '0' or clkinsel_tmp += '1')) then + assert false report + "Input Error : MMCME2_ADV input clock can only be switched when RST=1. CLKINSEL is changed when RST low, which should be changed at RST high." + severity error; + end if; + if (NOW = 0 ps) then + wait for 1 ps; + end if; + + clkin_chk_t1_tmp1 := 1000.0 / CLKIN_FREQ_MIN; + clkin_chk_t1_tmp2 := 1000.0 * clkin_chk_t1_tmp1; + clkin_chk_t1_tmpi := clkin_chk_t1_tmp2 * 1 ps; + clkin_chk_t1_tmpi1 := clkin_chk_t1_tmpi / 1 ps; + clkin_chk_t1 := real(clkin_chk_t1_tmpi1) / 1000.0; + + clkin_chk_t2_tmp1 := 1000.0 / CLKIN_FREQ_MAX; + clkin_chk_t2_tmp2 := 1000.0 * clkin_chk_t2_tmp1; + clkin_chk_t2_tmpi := clkin_chk_t2_tmp2 * 1 ps; + clkin_chk_t2_tmpi1 := clkin_chk_t2_tmpi / 1 ps; + clkin_chk_t2 := real(clkin_chk_t2_tmpi1) / 1000.0; + + if (((CLKIN1_PERIOD < clkin_chk_t2) or (CLKIN1_PERIOD > clkin_chk_t1)) and (CLKINSEL /= '0')) then + Write ( Message, string'(" Attribute Syntax Error : The attribute CLKIN1_PERIOD is set to ")); + Write ( Message, CLKIN1_PERIOD); + Write ( Message, string'(" ns and out the allowed range ")); + Write ( Message, clkin_chk_t2); + Write ( Message, string'(" ns to ")); + Write ( Message, clkin_chk_t1); + Write ( Message, string'(" ns" )); + Write ( Message, '.' & LF ); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + + if (((CLKIN2_PERIOD < clkin_chk_t2) or (CLKIN2_PERIOD > clkin_chk_t1)) and (CLKINSEL = '0')) then + Write ( Message, string'(" Attribute Syntax Error : The attribute CLKIN2_PERIOD is set to ")); + Write ( Message, CLKIN2_PERIOD); + Write ( Message, string'(" ns and out the allowed range ")); + Write ( Message, clkin_chk_t2); + Write ( Message, string'(" ns to ")); + Write ( Message, clkin_chk_t1); + Write ( Message, string'(" ns")); + Write ( Message, '.' & LF ); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + + if ( clkinsel_in /= '0') then + period_clkin := CLKIN1_PERIOD; + else + period_clkin := CLKIN2_PERIOD; + end if; + + tmpreal1 := CLKFBOUT_MULT_F; + tmpreal2 := real(DIVCLK_DIVIDE); + if (period_clkin > 0.000) then + clkvco_freq_init_chk := (1000.0 * tmpreal1) / ( period_clkin * tmpreal2); + + if ((clkvco_freq_init_chk > VCOCLK_FREQ_MAX) or (clkvco_freq_init_chk +< VCOCLK_FREQ_MIN)) then + Write ( Message, string'(" Attribute Syntax Error : The calculation of VCO frequency=")); + Write ( Message, clkvco_freq_init_chk); + Write ( Message, string'(" Mhz. This exceeds the permitted VCO frequency range of ")); + Write ( Message, VCOCLK_FREQ_MIN); + Write ( Message, string'(" MHz to ")); + Write ( Message, VCOCLK_FREQ_MAX); + if (clkinsel_in /= '0') then + Write ( Message, string'(" MHz. The VCO frequency is calculated with formula: VCO frequency = CLKFBOUT_MULT / (DIVCLK_DIVIDE * CLKIN1_PERIOD).")); else + Write ( Message, string'(" MHz. The VCO frequency is calculated with formula: VCO frequency = CLKFBOUT_MULT / (DIVCLK_DIVIDE * CLKIN2_PERIOD).")); end if; + Write ( Message, string'(" Please adjust the attributes to the permitted VCO frequency range.")); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + end if; + first_check := false; + end if; + wait on clkinsel_in, clkpll_r; + end process; + + clkpll_r <= clkin1_in when clkinsel_in = '1' else clkin2_in; + pwrdwn_in1 <= '1' when (pwrdwn_in = '1' or pwron_int = '1') else '0'; + rst_input <= '1' when (rst_input_r = '1' or pwrdwn_in1 = '1') else '0'; + + + RST_SYNC_P : process (clkpll_r, rst_input) + begin + if (rst_input = '1') then + rst_in <= '1'; + elsif (rising_edge (clkpll_r)) then + rst_in <= rst_input; + end if; + end process; + + pwron_int_p : process + begin + pwron_int <= '1'; + wait for 100 ns; + pwron_int <= '0'; + wait; + end process; + + CLOCK_PERIOD_P : process (clkpll_r, rst_in) + variable clkin_edge_previous : time := 0 ps; + variable clkin_edge_current : time := 0 ps; + begin + if (rst_in = '1' ) then + clkin_period(0) <= period_vco_target; + clkin_period(1) <= period_vco_target; + clkin_period(2) <= period_vco_target; + clkin_period(3) <= period_vco_target; + clkin_period(4) <= period_vco_target; + clkin_lock_cnt <= 0; + pll_locked_tm <= '0'; + lock_period <= '0'; + pll_locked_tmp1 <= '0'; + clkout_en0_tmp <= '0'; + clkin_edge_previous := 0 ps; + sample_en <= '1'; + elsif (rising_edge(clkpll_r)) then + if (sample_en = '1') then + clkin_edge_current := NOW; + if (clkin_edge_previous /= 0 ps ) then + clkin_period(4) <= clkin_period(3); + clkin_period(3) <= clkin_period(2); + clkin_period(2) <= clkin_period(1); + clkin_period(1) <= clkin_period(0); + clkin_period(0) <= clkin_edge_current - clkin_edge_previous; + end if; + + clkin_edge_previous := clkin_edge_current; + + if ( (clkin_lock_cnt < lock_cnt_max) and fb_delay_found = '1' ) then + clkin_lock_cnt <= clkin_lock_cnt + 1; + end if; + if ( clkin_lock_cnt >= pll_lock_time) then + pll_locked_tm <= '1'; + end if; + if ( clkin_lock_cnt = lock_period_time ) then + lock_period <= '1'; + end if; + + if (clkin_lock_cnt >= clkout_en_time and pll_locked_tm = '1') then + clkout_en0_tmp <= '1'; + end if; + + if (clkin_lock_cnt >= locked_en_time and clkout_en = '1') then + pll_locked_tmp1 <= '1'; + end if; + + if (pll_locked_tmp2 = '1' and pll_locked_tmp1 = '1') then + sample_en <= '0'; + end if; + end if; + end if; + end process; + + locked_out <= '1' when (pll_locked_tmp1 = '1' and pll_locked_tmp2 = '1') else '0'; + pll_locked_tmp2 <= (clk0ps_en and clk1ps_en and clk2ps_en and clk3ps_en + and clk4ps_en and clk5ps_en and clk6ps_en and clkfbm1ps_en); + + pchk_p : process(pll_locked_tmp1) + variable pchk_tmp1 : time; + variable pchk_tmp2 : time; + begin + if (rising_edge(pll_locked_tmp1)) then + if (clkinsel_in = '0') then + pchk_tmp1 := CLKIN2_PERIOD * 1100 ps; + pchk_tmp2 := CLKIN2_PERIOD * 900 ps; + if (period_avg > pchk_tmp1 or period_avg < pchk_tmp2) then + assert false report "Warning : input CLKIN2 period and attribute CLKIN2_PERIOD are not same." severity warning ; + end if; + else + pchk_tmp1 := CLKIN1_PERIOD * 1100 ps; + pchk_tmp2 := CLKIN1_PERIOD * 900 ps; + if (period_avg > pchk_tmp1 or period_avg < pchk_tmp2) then + assert false report "Warning : input CLKIN1 period and attribute CLKIN1_PERIOD are not same." severity warning ; + end if; + end if; + end if; + end process; + + locked_out_tmp_p : process + begin + if (rising_edge(rst_in)) then + wait for 1 ns; + locked_out_tmp <= '0'; + else + if (rst_in = '0') then + locked_out_tmp <= locked_out; + else + locked_out_tmp <= '0'; + end if; + end if; + wait on rst_in, locked_out; + end process; + + + clkout_en1_p : process (clkout_en0_tmp , rst_in) + begin + if (rst_in = '1') then + clkout_en1 <= '0'; + else + clkout_en1 <= transport clkout_en0_tmp after clkvco_delay; + end if; + end process; + + clkout_en_p : process (clkout_en1, rst_in) + begin + if (rst_in = '1') then + clkout_en <= '0'; + else + clkout_en <= clkout_en1; + end if; + end process; + + CLK_PERIOD_AVG_P : process (clkin_period(0), clkin_period(1), clkin_period(2), + clkin_period(3), clkin_period(4), period_avg) + variable period_avg_tmp : time := 0 ps; + variable clkin_period_tmp0 : time := 0 ps; + variable clkin_period_tmp1 : time := 0 ps; + variable clkin_period_tmp_t : time := 0 ps; + begin + clkin_period_tmp0 := clkin_period(0); + clkin_period_tmp1 := clkin_period(1); + if (clkin_period_tmp0 > clkin_period_tmp1) then + clkin_period_tmp_t := clkin_period_tmp0 - clkin_period_tmp1; + else + clkin_period_tmp_t := clkin_period_tmp1 - clkin_period_tmp0; + end if; + + if (clkin_period_tmp0 /= period_avg and (clkin_period_tmp0 < 1.5 * period_avg or clkin_period_tmp_t <= 300 ps)) then + period_avg_tmp := (clkin_period(0) + clkin_period(1) + clkin_period(2) + + clkin_period(3) + clkin_period(4))/5.0; + period_avg <= period_avg_tmp; + end if; + end process; + + process (period_avg, lock_period, rst_in) + variable p_c0 : time; + variable p_c0i : integer; + variable p_c0_dr : integer; + variable p_c0_dri : time; + variable p_c0_dri1 : integer; + variable p_c0_dri2 : integer; + variable p_c1 : time; + variable p_c1i : integer; + variable p_c1_dr : integer; + variable p_c1_dri : time; + variable p_c1_dri1 : integer; + variable p_c1_dri2 : integer; + variable p_c2 : time; + variable p_c2i : integer; + variable p_c2_dr : integer; + variable p_c2_dri : time; + variable p_c2_dri1 : integer; + variable p_c2_dri2 : integer; + variable p_c3 : time; + variable p_c3i : integer; + variable p_c3_dr : integer; + variable p_c3_dri : time; + variable p_c3_dri1 : integer; + variable p_c3_dri2 : integer; + variable p_c4 : time; + variable p_c4i : integer; + variable p_c4_dr : integer; + variable p_c4_dri : time; + variable p_c4_dri1 : integer; + variable p_c4_dri2 : integer; + variable p_c5 : time; + variable p_c5i : integer; + variable p_c5_dr : integer; + variable p_c5_dri : time; + variable p_c5_dri1 : integer; + variable p_c5_dri2 : integer; + variable p_c6 : time; + variable p_c6i : integer; + variable p_c6_dr : integer; + variable p_c6_dri : time; + variable p_c6_dri1 : integer; + variable p_c6_dri2 : integer; + variable period_fbi : integer; + variable period_fb_tmp : time; + variable fb_delayi : integer; + variable clkvco_delay_tmp : time; + variable clkvco_delayi : integer; + variable fb_delaym : integer; + variable dly_tmp : time; + variable dly_tmpi : integer; + variable clkfbm1_dly_tmp : time; + variable period_vco_tmp : time; + begin + if (rst_in = '1') then + p_fb <= 0 ps; + p_fb_h <= 0 ps; + p_fb_r <= 0 ps; + p_fb_r1 <= 0 ps; + p_fb_d <= 0 ps; + p_c0 := 0 ps; + p_c0_h <= 0 ps; + p_c0_r <= 0 ps; + p_c0_r1 <= 0 ps; + p_c0_d <= 0 ps; + p_c1 := 0 ps; + p_c1_h <= 0 ps; + p_c1_r <= 0 ps; + p_c1_r1 <= 0 ps; + p_c1_d <= 0 ps; + p_c2 := 0 ps; + p_c2_h <= 0 ps; + p_c2_r <= 0 ps; + p_c2_r1 <= 0 ps; + p_c2_d <= 0 ps; + p_c3 := 0 ps; + p_c3_h <= 0 ps; + p_c3_r <= 0 ps; + p_c3_r1 <= 0 ps; + p_c3_d <= 0 ps; + p_c4 := 0 ps; + p_c4_h <= 0 ps; + p_c4_r <= 0 ps; + p_c4_r1 <= 0 ps; + p_c4_d <= 0 ps; + p_c5 := 0 ps; + p_c5_h <= 0 ps; + p_c5_r <= 0 ps; + p_c5_r1 <= 0 ps; + p_c5_d <= 0 ps; + p_c6 := 0 ps; + p_c6_h <= 0 ps; + p_c6_r <= 0 ps; + p_c6_r1 <= 0 ps; + p_c6_d <= 0 ps; + clkvco_delay <= 0 ps; + dly_tmp := 0 ps; + period_fb <= 0 ps; + period_vco <= 0 ps; + clkfbm1_dly <= 0 ps; + p_c0_dr := 0; + p_c1_dr := 0 ; + p_c2_dr := 0; + p_c3_dr := 0; + p_c4_dr := 0; + p_c5_dr := 0; + p_c6_dr := 0; + else + if (period_avg > 0 ps and lock_period = '1') then + fb_delayi := fb_delay / 1 ps; + period_fb_tmp := period_avg * DIVCLK_DIVIDE; + period_fbi := period_fb_tmp / 1 ps; + period_fb <= period_fb_tmp; + period_vco_tmp := period_fb_tmp / CLKFBOUT_MULT_F; + period_vco <= period_vco_tmp; + clkfbm1_dly_tmp := ((CLKFBOUT_PHASE * period_fb_tmp) / 360.0); + clkfbm1_dly <= clkfbm1_dly_tmp; + dly_tmp := fb_delay + clkfbm1_dly_tmp; + dly_tmpi := dly_tmp / 1 ps; + if (dly_tmp = 0 ps) then + clkvco_delay_tmp := 0 ps; + elsif ( dly_tmp <= period_fb_tmp ) then + clkvco_delay_tmp := period_fb_tmp - dly_tmp; + else + clkvco_delay_tmp := period_fb_tmp - ((dly_tmpi mod( period_fbi)) * 1 ps) ; + end if; + clkvco_delay <= clkvco_delay_tmp; + clkvco_delayi := clkvco_delay_tmp / 1 ps; + p_fb <= period_fb_tmp; + p_fb_h <= period_fb_tmp / 2; + p_fb_r <= period_fb_tmp - period_fb_tmp / 2; + p_fb_r1 <= period_fb_tmp - period_fb_tmp / 2 - 1 ps; + fb_delaym := fb_delayi mod (period_fbi); + if ( fb_delay <= period_fb_tmp) then + p_fb_d <= period_fb_tmp - fb_delay; + else + p_fb_d <= period_fb_tmp - fb_delaym * 1 ps; + end if; + p_c0 := (period_fb_tmp * CLKOUT0_DIVIDE_F) / CLKFBOUT_MULT_F; + p_c0i := p_c0 / 1 ps; + p_c0_h <= p_c0 * CLKOUT0_DUTY_CYCLE; + p_c0_r <= p_c0 - p_c0 * CLKOUT0_DUTY_CYCLE; + p_c0_r1 <= p_c0 - p_c0 * CLKOUT0_DUTY_CYCLE - 1 ps; + p_c0_dri := ((CLKOUT0_PHASE * p_c0) / 360.0); + p_c0_dri1 := (p_c0_dri / 1 ps); + p_c0_dri2 := (clkvco_delayi mod p_c0i); + p_c0_dr := p_c0_dri1 + p_c0_dri2; + if (p_c0_dr < 0 ) then + p_c0_d <= p_c0 + (p_c0_dr mod p_c0i) * 1 ps; + else + p_c0_d <= (p_c0_dr mod p_c0i ) * 1 ps; + end if; + + + p_c1 := (period_fb_tmp * CLKOUT1_DIVIDE) / CLKFBOUT_MULT_F; + p_c1i := p_c1 / 1 ps; + p_c1_h <= p_c1 * CLKOUT1_DUTY_CYCLE; + p_c1_r <= p_c1 - p_c1 * CLKOUT1_DUTY_CYCLE; + p_c1_r1 <= p_c1 - p_c1 * CLKOUT1_DUTY_CYCLE - 1 ps; + p_c1_dri := ((CLKOUT1_PHASE * p_c1) / 360.0); + p_c1_dri1 := (p_c1_dri / 1 ps); + p_c1_dri2 := (clkvco_delayi mod p_c1i); + p_c1_dr := p_c1_dri1 + p_c1_dri2; + if (p_c1_dr < 0 ) then + p_c1_d <= p_c1 + (p_c1_dr mod p_c1i) * 1 ps; + else + p_c1_d <= (p_c1_dr mod p_c1i ) * 1 ps; + end if; + + p_c2 := (period_fb_tmp * CLKOUT2_DIVIDE) / CLKFBOUT_MULT_F; + p_c2i := p_c2 / 1 ps; + p_c2_h <= p_c2 * CLKOUT2_DUTY_CYCLE; + p_c2_r <= p_c2 - p_c2 * CLKOUT2_DUTY_CYCLE; + p_c2_r1 <= p_c2 - p_c2 * CLKOUT2_DUTY_CYCLE - 1 ps; + p_c2_dri := ((CLKOUT2_PHASE * p_c2) / 360.0); + p_c2_dri1 := (p_c2_dri / 1 ps); + p_c2_dri2 := (clkvco_delayi mod p_c2i); + p_c2_dr := p_c2_dri1 + p_c2_dri2; + if (p_c2_dr < 0 ) then + p_c2_d <= p_c2 + (p_c2_dr mod p_c2i) * 1 ps; + else + p_c2_d <= (p_c2_dr mod p_c2i ) * 1 ps; + end if; + + p_c3 := (period_fb_tmp * CLKOUT3_DIVIDE) / CLKFBOUT_MULT_F; + p_c3i := p_c3 / 1 ps; + p_c3_h <= p_c3 * CLKOUT3_DUTY_CYCLE; + p_c3_r <= p_c3 - p_c3 * CLKOUT3_DUTY_CYCLE; + p_c3_r1 <= p_c3 - p_c3 * CLKOUT3_DUTY_CYCLE - 1 ps; + p_c3_dri := ((CLKOUT3_PHASE * p_c3) / 360.0); + p_c3_dri1 := (p_c3_dri / 1 ps); + p_c3_dri2 := (clkvco_delayi mod p_c3i); + p_c3_dr := p_c3_dri1 + p_c3_dri2; + if (p_c3_dr < 0 ) then + p_c3_d <= p_c3 + (p_c3_dr mod p_c3i) * 1 ps; + else + p_c3_d <= (p_c3_dr mod p_c3i ) * 1 ps; + end if; + + p_c4 := (period_fb_tmp * CLKOUT4_DIVIDE) / CLKFBOUT_MULT_F; + p_c4i := p_c4 / 1 ps; + p_c4_h <= p_c4 * CLKOUT4_DUTY_CYCLE; + p_c4_r <= p_c4 - p_c4 * CLKOUT4_DUTY_CYCLE; + p_c4_r1 <= p_c4 - p_c4 * CLKOUT4_DUTY_CYCLE - 1 ps; + p_c4_dri := ((CLKOUT4_PHASE * p_c4) / 360.0); + p_c4_dri1 := (p_c4_dri / 1 ps); + p_c4_dri2 := (clkvco_delayi mod p_c4i); + p_c4_dr := p_c4_dri1 + p_c4_dri2; + if (p_c4_dr < 0 ) then + p_c4_d <= p_c4 + (p_c4_dr mod p_c4i) * 1 ps; + else + p_c4_d <= (p_c4_dr mod p_c4i ) * 1 ps; + end if; + + p_c5 := (period_fb_tmp * CLKOUT5_DIVIDE) / CLKFBOUT_MULT_F; + p_c5i := p_c5 / 1 ps; + p_c5_h <= p_c5 * CLKOUT5_DUTY_CYCLE; + p_c5_r <= p_c5 - p_c5 * CLKOUT5_DUTY_CYCLE; + p_c5_r1 <= p_c5 - p_c5 * CLKOUT5_DUTY_CYCLE - 1 ps; + p_c5_dri := ((CLKOUT5_PHASE * p_c5) / 360.0); + p_c5_dri1 := (p_c5_dri / 1 ps); + p_c5_dri2 := (clkvco_delayi mod p_c5i); + p_c5_dr := p_c5_dri1 + p_c5_dri2; + if (p_c5_dr < 0 ) then + p_c5_d <= p_c5 + (p_c5_dr mod p_c5i) * 1 ps; + else + p_c5_d <= (p_c5_dr mod p_c5i ) * 1 ps; + end if; + + p_c6 := (period_fb_tmp * CLKOUT6_DIVIDE) / CLKFBOUT_MULT_F; + p_c6i := p_c6 / 1 ps; + p_c6_h <= p_c6 * CLKOUT6_DUTY_CYCLE; + p_c6_r <= p_c6 - p_c6 * CLKOUT6_DUTY_CYCLE; + p_c6_r1 <= p_c6 - p_c6 * CLKOUT6_DUTY_CYCLE - 1 ps; + p_c6_dri := ((CLKOUT6_PHASE * p_c6) / 360.0); + p_c6_dri1 := (p_c6_dri / 1 ps); + p_c6_dri2 := (clkvco_delayi mod p_c6i); + p_c6_dr := p_c6_dri1 + p_c6_dri2; + if (p_c6_dr < 0 ) then + p_c6_d <= p_c6 + (p_c6_dr mod p_c6i) * 1 ps; + else + p_c6_d <= (p_c6_dr mod p_c6i ) * 1 ps; + end if; + end if; + end if; + end process; + + process (clkout_en, rst_in) begin + if (rst_in = '1') then + clk0ps_en <= '0'; + clk1ps_en <= '0'; + clk2ps_en <= '0'; + clk3ps_en <= '0'; + clk4ps_en <= '0'; + clk5ps_en <= '0'; + clk6ps_en <= '0'; + clkfbm1ps_en <= '0'; + elsif (rising_edge(clkout_en)) then + clk0ps_en <= '1' after p_c0_d; + clk1ps_en <= '1' after p_c1_d; + clk2ps_en <= '1' after p_c2_d; + clk3ps_en <= '1' after p_c3_d; + clk4ps_en <= '1' after p_c4_d; + clk5ps_en <= '1' after p_c5_d; + clk6ps_en <= '1' after p_c6_d; + clkfbm1ps_en <= '1' after p_fb_d; + end if; + end process; + + process (clkpll_r, rst_in) begin + if (rst_in = '1') then + clk0_cnt <= 0; + clk1_cnt <= 0; + clk2_cnt <= 0; + clk3_cnt <= 0; + clk4_cnt <= 0; + clk5_cnt <= 0; + clk6_cnt <= 0; + clkfb_cnt <= 0; + clk0_gen <= '0'; + clk1_gen <= '0'; + clk2_gen <= '0'; + clk3_gen <= '0'; + clk4_gen <= '0'; + clk5_gen <= '0'; + clk6_gen <= '0'; + clkfb_gen <= '0'; + elsif (rising_edge (clkpll_r)) then + if (clkout_en0_tmp = '1' ) then + if (clk0_cnt < clk0_val2 ) then + clk0_cnt <= clk0_cnt + 1; + else + clk0_cnt <= 0; + end if; + + if (clk0_cnt >= clk0_val ) then + clk0_gen <= '0'; + else + clk0_gen <= '1'; + end if; + else + clk0_cnt <= 0; + clk0_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk1_cnt < clk1_val2 ) then + clk1_cnt <= clk1_cnt + 1; + else + clk1_cnt <= 0; + end if; + + if (clk1_cnt >= clk1_val ) then + clk1_gen <= '0'; + else + clk1_gen <= '1'; + end if; + else + clk1_cnt <= 0; + clk1_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk2_cnt < clk2_val2 ) then + clk2_cnt <= clk2_cnt + 1; + else + clk2_cnt <= 0; + end if; + + if (clk2_cnt >= clk2_val ) then + clk2_gen <= '0'; + else + clk2_gen <= '1'; + end if; + else + clk2_cnt <= 0; + clk2_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk3_cnt < clk3_val2) then + clk3_cnt <= clk3_cnt + 1; + else + clk3_cnt <= 0; + end if; + + if (clk3_cnt >= clk3_val ) then + clk3_gen <= '0'; + else + clk3_gen <= '1'; + end if; + else + clk3_cnt <= 0; + clk3_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk4_cnt < clk4_val2 ) then + clk4_cnt <= clk4_cnt + 1; + else + clk4_cnt <= 0; + end if; + + if (clk4_cnt >= clk4_val ) then + clk4_gen <= '0'; + else + clk4_gen <= '1'; + end if; + else + clk4_cnt <= 0; + clk4_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk5_cnt < clk5_val2) then + clk5_cnt <= clk5_cnt + 1; + else + clk5_cnt <= 0; + end if; + + if (clk5_cnt >= clk5_val ) then + clk5_gen <= '0'; + else + clk5_gen <= '1'; + end if; + else + clk5_cnt <= 0; + clk5_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk6_cnt < clk6_val2) then + clk6_cnt <= clk6_cnt + 1; + else + clk6_cnt <= 0; + end if; + + if (clk6_cnt >= clk6_val ) then + clk6_gen <= '0'; + else + clk6_gen <= '1'; + end if; + else + clk6_cnt <= 0; + clk6_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clkfb_cnt < clkfb_val2 ) then + clkfb_cnt <= clkfb_cnt + 1; + else + clkfb_cnt <= 0; + end if; + + if (clkfb_cnt >= clkfb_val) then + clkfb_gen <= '0'; + else + clkfb_gen <= '1'; + end if; + else + clkfb_cnt <= 0; + clkfb_gen <= '0'; + end if; + end if; + end process; + + process (clk0_gen, rst_in) begin + if (rst_in = '1') then + clk0_gen_f <= '0'; + else + clk0_gen_f <= clk0_gen after p_c0_d; + end if; + end process; + + process (clk1_gen, rst_in) begin + if (rst_in = '1') then + clk1_gen_f <= '0'; + else + clk1_gen_f <= clk1_gen after p_c1_d; + end if; + end process; + + process (clk2_gen, rst_in) begin + if (rst_in = '1') then + clk2_gen_f <= '0'; + else + clk2_gen_f <= clk2_gen after p_c2_d; + end if; + end process; + + process (clk3_gen, rst_in) begin + if (rst_in = '1') then + clk3_gen_f <= '0'; + else + clk3_gen_f <= clk3_gen after p_c3_d; + end if; + end process; + + process (clk4_gen, rst_in) begin + if (rst_in = '1') then + clk4_gen_f <= '0'; + else + clk4_gen_f <= clk4_gen after p_c4_d; + end if; + end process; + + process (clk5_gen, rst_in) begin + if (rst_in = '1') then + clk5_gen_f <= '0'; + else + clk5_gen_f <= clk5_gen after p_c5_d; + end if; + end process; + + process (clk6_gen, rst_in) begin + if (rst_in = '1') then + clk6_gen_f <= '0'; + else + clk6_gen_f <= clk6_gen after p_c6_d; + end if; + end process; + + process (clkfb_gen, rst_in) begin + if (rst_in = '1') then + clkfb_gen_f <= '0'; + else + clkfb_gen_f <= clkfb_gen after p_fb_d; + end if; + end process; + + process begin + if (rst_in = '1') then + clk0_out <= '0'; + elsif (rising_edge(clk0_gen_f) or falling_edge(clk0_gen_f)) then + if (clk0ps_en = '1' ) then + if ( clk0_val1 = 1) then + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r1; + else + for i0 in 1 to clk0_val11 loop + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r; + end loop; + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r1; + end if; + else + clk0_out <= '0'; + end if; + end if; + wait on clk0_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk1_out <= '0'; + elsif (rising_edge(clk1_gen_f) or falling_edge(clk1_gen_f)) then + if (clk1ps_en = '1' ) then + if ( clk1_val1 = 1) then + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r1; + else + for i1 in 1 to clk1_val11 loop + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r; + end loop; + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r1; + end if; + else + clk1_out <= '0'; + end if; + end if; + wait on clk1_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk2_out <= '0'; + elsif (rising_edge(clk2_gen_f) or falling_edge(clk2_gen_f)) then + if (clk2ps_en = '1' ) then + if ( clk2_val1 = 1) then + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r1; + else + for i2 in 1 to clk2_val11 loop + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r; + end loop; + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r1; + end if; + else + clk2_out <= '0'; + end if; + end if; + wait on clk2_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk3_out <= '0'; + elsif (rising_edge(clk3_gen_f) or falling_edge(clk3_gen_f)) then + if (clk3ps_en = '1' ) then + if ( clk3_val1 = 1) then + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r1; + else + for i3 in 1 to clk3_val11 loop + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r; + end loop; + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r1; + end if; + else + clk3_out <= '0'; + end if; + end if; + wait on clk3_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk4_out <= '0'; + elsif (rising_edge(clk4_gen_f) or falling_edge(clk4_gen_f)) then + if (clk4ps_en = '1' ) then + if ( clk4_val1 = 1) then + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r1; + else + for i4 in 1 to clk4_val11 loop + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r; + end loop; + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r1; + end if; + else + clk4_out <= '0'; + end if; + end if; + wait on clk4_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk5_out <= '0'; + elsif (rising_edge(clk5_gen_f) or falling_edge(clk5_gen_f)) then + if (clk5ps_en = '1' ) then + if ( clk5_val1 = 1) then + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r1; + else + for i5 in 1 to clk5_val11 loop + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r; + end loop; + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r1; + end if; + else + clk5_out <= '0'; + end if; + end if; + wait on clk5_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk6_out <= '0'; + elsif (rising_edge(clk6_gen_f) or falling_edge(clk6_gen_f)) then + if (clk6ps_en = '1' ) then + if ( clk6_val1 = 1) then + clk6_out <= '1'; + wait for p_c6_h; + clk6_out <= '0'; + wait for p_c6_r1; + else + for i6 in 1 to clk6_val11 loop + clk6_out <= '1'; + wait for p_c6_h; + clk6_out <= '0'; + wait for p_c6_r; + end loop; + clk6_out <= '1'; + wait for p_c6_h; + clk6_out <= '0'; + wait for p_c6_r1; + end if; + else + clk6_out <= '0'; + end if; + end if; + wait on clk6_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clkfbm1_out <= '0'; + elsif (rising_edge(clkfb_gen_f) or falling_edge(clkfb_gen_f)) then + if (clkfbm1ps_en = '1' ) then + if (clkfb_val1 = 1) then + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r1; + else + for ib in 1 to clkfb_val11 loop + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r; + end loop; + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r1; + end if; + else + clkfbm1_out <= '0'; + end if; + end if; + wait on clkfb_gen_f, rst_in; + end process; + + clkout0_out <= transport clk0_out when fb_delay_found = '1' else clkfb_tst; + clkout1_out <= transport clk1_out when fb_delay_found = '1' else clkfb_tst; + clkout2_out <= transport clk2_out when fb_delay_found = '1' else clkfb_tst; + clkout3_out <= transport clk3_out when fb_delay_found = '1' else clkfb_tst; + clkout4_out <= transport clk4_out when fb_delay_found = '1' else clkfb_tst; + clkout5_out <= transport clk5_out when fb_delay_found = '1' else clkfb_tst; + clkout6_out <= transport clk6_out when fb_delay_found = '1' else clkfb_tst; + clkfb_out <= transport clkfbm1_out when fb_delay_found = '1' else clkfb_tst; + + CLKFB_TST_P : process (clkpll_r, rst_in) + begin + if (rst_in = '1') then + clkfb_tst <= '0'; + elsif (rising_edge(clkpll_r)) then + if (fb_delay_found_tmp = '0' and pwron_int = '0') then + clkfb_tst <= '1'; + else + clkfb_tst <= '0'; + end if; + end if; + end process; + + FB_DELAY_CAL_P0 : process (clkfb_tst, rst_in) + begin + if (rst_in = '1') then + delay_edge <= 0 ps; + elsif (rising_edge(clkfb_tst)) then + delay_edge <= NOW; + end if; + end process; + + FB_DELAY_CAL_P : process (clkfb_in, rst_in) + variable delay_edge1 : time := 0 ps; + variable fb_delay_tmp : time := 0 ps; + variable Message : line; + begin + if (rst_in = '1') then + fb_delay <= 0 ps; + fb_delay_found_tmp <= '0'; + delay_edge1 := 0 ps; + fb_delay_tmp := 0 ps; + elsif (clkfb_in'event and clkfb_in = '1') then + if (fb_delay_found_tmp = '0') then + if (delay_edge /= 0 ps) then + delay_edge1 := NOW; + fb_delay_tmp := delay_edge1 - delay_edge; + else + fb_delay_tmp := 0 ps; + end if; + fb_delay <= fb_delay_tmp; + fb_delay_found_tmp <= '1'; + if (rst_in = '0' and (fb_delay_tmp > fb_delay_max)) then + Write ( Message, string'(" Warning : The feedback delay is ")); + Write ( Message, fb_delay_tmp); + Write ( Message, string'(". It is over the maximun value ")); + Write ( Message, fb_delay_max); + Write ( Message, '.' & LF ); + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + end if; + end if; + end process; + + fb_delay_found_P : process(fb_delay_found_tmp, clkvco_delay, rst_in) + begin + if (rst_in = '1') then + fb_delay_found <= '0'; + elsif (clkvco_delay = 0 ps) then + fb_delay_found <= fb_delay_found_tmp after 1 ns; + else + fb_delay_found <= fb_delay_found_tmp after clkvco_delay; + end if; + end process; + +end MMCME2_ADV_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/PLLE2_ADV.vhd b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/PLLE2_ADV.vhd new file mode 100644 index 0000000..b070548 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/PLLE2_ADV.vhd @@ -0,0 +1,1601 @@ +-- Copyright (c) 1995/2010 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------/ +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.i (O.xx) +-- \ \ Description : Xilinx Function Simulation Library Component +-- / / Phase Lock Loop Clock +-- /___/ /\ Filename : PLLE2_ADV.vhd +-- \ \ / \ Timestamp : +-- \___\/\___\ +-- +-- Revision: +-- 10/17/11 - Initial version. +-- End Revision + +----- CELL PLLE2_ADV ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.STD_LOGIC_SIGNED.all; +use IEEE.NUMERIC_STD.all; +library STD; +use STD.TEXTIO.all; + + +library unisim; +use unisim.VPKG.all; +use unisim.VCOMPONENTS.all; + +entity PLLE2_ADV is +generic ( + BANDWIDTH : string := "OPTIMIZED"; + CLKFBOUT_MULT : integer := 5; + CLKFBOUT_PHASE : real := 0.0; + CLKIN1_PERIOD : real := 0.0; + CLKIN2_PERIOD : real := 0.0; + CLKOUT0_DIVIDE : integer := 1; + CLKOUT0_DUTY_CYCLE : real := 0.5; + CLKOUT0_PHASE : real := 0.0; + CLKOUT1_DIVIDE : integer := 1; + CLKOUT1_DUTY_CYCLE : real := 0.5; + CLKOUT1_PHASE : real := 0.0; + CLKOUT2_DIVIDE : integer := 1; + CLKOUT2_DUTY_CYCLE : real := 0.5; + CLKOUT2_PHASE : real := 0.0; + CLKOUT3_DIVIDE : integer := 1; + CLKOUT3_DUTY_CYCLE : real := 0.5; + CLKOUT3_PHASE : real := 0.0; + CLKOUT4_DIVIDE : integer := 1; + CLKOUT4_DUTY_CYCLE : real := 0.5; + CLKOUT4_PHASE : real := 0.0; + CLKOUT5_DIVIDE : integer := 1; + CLKOUT5_DUTY_CYCLE : real := 0.5; + CLKOUT5_PHASE : real := 0.0; + COMPENSATION : string := "ZHOLD"; + DIVCLK_DIVIDE : integer := 1; + IS_CLKINSEL_INVERTED : bit := '0'; + IS_PWRDWN_INVERTED : bit := '0'; + IS_RST_INVERTED : bit := '0'; + REF_JITTER1 : real := 0.0; + REF_JITTER2 : real := 0.0; + STARTUP_WAIT : string := "FALSE" + ); +port ( + CLKFBOUT : out std_ulogic := '0'; + CLKOUT0 : out std_ulogic := '0'; + CLKOUT1 : out std_ulogic := '0'; + CLKOUT2 : out std_ulogic := '0'; + CLKOUT3 : out std_ulogic := '0'; + CLKOUT4 : out std_ulogic := '0'; + CLKOUT5 : out std_ulogic := '0'; + DO : out std_logic_vector (15 downto 0); + DRDY : out std_ulogic := '0'; + LOCKED : out std_ulogic := '0'; + CLKFBIN : in std_ulogic; + CLKIN1 : in std_ulogic; + CLKIN2 : in std_ulogic; + CLKINSEL : in std_ulogic; + DADDR : in std_logic_vector(6 downto 0); + DCLK : in std_ulogic; + DEN : in std_ulogic; + DI : in std_logic_vector(15 downto 0); + DWE : in std_ulogic; + PWRDWN : in std_ulogic; + RST : in std_ulogic + ); +end PLLE2_ADV; + + +-- Architecture body -- + +architecture PLLE2_ADV_V of PLLE2_ADV is + + function real2int( real_in : in real) return integer is + variable int_value : integer; + variable int_value1 : integer; + variable tmps : time := 1 ps; + variable tmps1 : real; + + begin + if (real_in < 1.00000 and real_in > -1.00000) then + int_value1 := 0; + else + tmps := real_in * 1 ns; + int_value := tmps / 1 ns; + tmps1 := real (int_value); + if ( tmps1 > real_in) then + int_value1 := int_value - 1 ; + else + int_value1 := int_value; + end if; + end if; + return int_value1; + end real2int; + + function clkout_duty_chk (CLKOUT_DIVIDE : in integer; + CLKOUT_DUTY_CYCLE : in real; + CLKOUT_DUTY_CYCLE_N : in string) + return std_ulogic is + constant O_MAX_HT_LT_real : real := 64.0; + variable CLKOUT_DIVIDE_real : real; + variable CLK_DUTY_CYCLE_MIN : real; + variable CLK_DUTY_CYCLE_MIN_rnd : real; + variable CLK_DUTY_CYCLE_MAX : real; + variable CLK_DUTY_CYCLE_STEP : real; + variable clk_duty_tmp_int : integer; + variable duty_cycle_valid : std_ulogic; + variable tmp_duty_value : real; + variable tmp_j : real; + variable Message : line; + variable step_round_tmp : integer; + variable step_round_tmp1 : real; + + begin + CLKOUT_DIVIDE_real := real(CLKOUT_DIVIDE); + step_round_tmp := 1000 /CLKOUT_DIVIDE; + step_round_tmp1 := real(step_round_tmp); + if (CLKOUT_DIVIDE_real > O_MAX_HT_LT_real) then + CLK_DUTY_CYCLE_MIN := (CLKOUT_DIVIDE_real - O_MAX_HT_LT_real)/CLKOUT_DIVIDE_real; + CLK_DUTY_CYCLE_MAX := (O_MAX_HT_LT_real + 0.5)/CLKOUT_DIVIDE_real; + CLK_DUTY_CYCLE_MIN_rnd := CLK_DUTY_CYCLE_MIN; + else + if (CLKOUT_DIVIDE = 1) then + CLK_DUTY_CYCLE_MIN_rnd := 0.0; + CLK_DUTY_CYCLE_MIN := 0.0; + else + CLK_DUTY_CYCLE_MIN_rnd := step_round_tmp1 / 1000.00; + CLK_DUTY_CYCLE_MIN := 1.0 / CLKOUT_DIVIDE_real; + end if; + CLK_DUTY_CYCLE_MAX := 1.0; + end if; + + if ((CLKOUT_DUTY_CYCLE > CLK_DUTY_CYCLE_MAX) or (CLKOUT_DUTY_CYCLE < CLK_DUTY_CYCLE_MIN_rnd)) then + Write ( Message, string'(" Attribute Syntax Warning : ")); + Write ( Message, CLKOUT_DUTY_CYCLE_N); + Write ( Message, string'(" is set to ")); + Write ( Message, CLKOUT_DUTY_CYCLE); + Write ( Message, string'(" and is not in the allowed range ")); + Write ( Message, CLK_DUTY_CYCLE_MIN); + Write ( Message, string'(" to ")); + Write ( Message, CLK_DUTY_CYCLE_MAX); + Write ( Message, '.' & LF ); + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + + CLK_DUTY_CYCLE_STEP := 0.5 / CLKOUT_DIVIDE_real; + tmp_j := 0.0; + duty_cycle_valid := '0'; + clk_duty_tmp_int := 0; + for j in 0 to (2 * CLKOUT_DIVIDE ) loop + tmp_duty_value := CLK_DUTY_CYCLE_MIN + CLK_DUTY_CYCLE_STEP * tmp_j; + if (abs(tmp_duty_value - CLKOUT_DUTY_CYCLE) < 0.001 and (tmp_duty_value <= CLK_DUTY_CYCLE_MAX)) then + duty_cycle_valid := '1'; + end if; + tmp_j := tmp_j + 1.0; + end loop; + + if (duty_cycle_valid /= '1') then + Write ( Message, string'(" Attribute Syntax Warning : ")); + Write ( Message, CLKOUT_DUTY_CYCLE_N); + Write ( Message, string'(" = ")); + Write ( Message, CLKOUT_DUTY_CYCLE); + Write ( Message, string'(" which is not an allowed value. Allowed value s are: ")); + Write ( Message, LF ); + tmp_j := 0.0; + for j in 0 to (2 * CLKOUT_DIVIDE ) loop + tmp_duty_value := CLK_DUTY_CYCLE_MIN + CLK_DUTY_CYCLE_STEP * tmp_j; + if ( (tmp_duty_value <= CLK_DUTY_CYCLE_MAX) and (tmp_duty_value < 1.0)) then + Write ( Message, tmp_duty_value); + Write ( Message, LF ); + end if; + tmp_j := tmp_j + 1.0; + end loop; + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + return duty_cycle_valid; + end function clkout_duty_chk; + + constant VCOCLK_FREQ_MAX : real := 2133.0; + constant VCOCLK_FREQ_MIN : real := 800.0; + constant CLKIN_FREQ_MAX : real := 1066.0; + constant CLKIN_FREQ_MIN : real := 19.0; + constant CLKPFD_FREQ_MAX : real := 550.0; + constant CLKPFD_FREQ_MIN : real := 19.0; + constant VCOCLK_FREQ_TARGET : real := 1200.0; + constant O_MAX_HT_LT : integer := 64; + constant REF_CLK_JITTER_MAX : time := 1000 ps; + constant REF_CLK_JITTER_SCALE : real := 0.1; + constant MAX_FEEDBACK_DELAY : time := 10 ns; + constant MAX_FEEDBACK_DELAY_SCALE : real := 1.0; + constant M_MAX : real := 64.000; + constant M_MIN : real := 2.000; + constant D_MAX : integer := 80; + constant D_MIN : integer := 1; + + signal pwrdwn_in1 : std_ulogic := '0'; + signal rst_input : std_ulogic := '0'; + signal init_done : std_ulogic := '0'; + signal clkpll_r : std_ulogic := '0'; + signal locked_out_tmp : std_ulogic := '0'; + signal clkfb_div_fint : integer := 0; + signal clkfb_val : integer := 0; + signal clkfb_val1 : integer := 0; + signal clkfb_val11 : integer := 0; + signal clkfb_val2 : integer := 0; + signal clk0_val : integer := 0; + signal clk0_val1 : integer := 0; + signal clk0_val11 : integer := 0; + signal clk1_val11 : integer := 0; + signal clk2_val11 : integer := 0; + signal clk3_val11 : integer := 0; + signal clk4_val11 : integer := 0; + signal clk5_val11 : integer := 0; + signal clk0_val2 : integer := 0; + signal clk1_val2 : integer := 0; + signal clk2_val2 : integer := 0; + signal clk3_val2 : integer := 0; + signal clk4_val2 : integer := 0; + signal clk5_val2 : integer := 0; + signal clk1_val : integer := 0; + signal clk1_val1 : integer := 0; + signal clk2_val : integer := 0; + signal clk2_val1 : integer := 0; + signal clk3_val : integer := 0; + signal clk3_val1 : integer := 0; + signal clk4_val : integer := 0; + signal clk4_val1 : integer := 0; + signal clk5_val : integer := 0; + signal clk5_val1 : integer := 0; + signal chk_ok : std_ulogic := '0'; + constant period_vco_target : time := 1000 ps / VCOCLK_FREQ_TARGET; + constant fb_delay_max : time := MAX_FEEDBACK_DELAY * MAX_FEEDBACK_DELAY_SCALE; + signal pll_lock_time : integer := 0; + signal clkfb_out : std_ulogic := '0'; + signal clkout0_out : std_ulogic := '0'; + signal clkout1_out : std_ulogic := '0'; + signal clkout2_out : std_ulogic := '0'; + signal clkout3_out : std_ulogic := '0'; + signal clkout4_out : std_ulogic := '0'; + signal clkout5_out : std_ulogic := '0'; + signal p_fb : time := 0 ps; + signal p_fb_h : time := 0 ps; + signal p_fb_r : time := 0 ps; + signal p_fb_r1 : time := 0 ps; + signal p_fb_d : time := 0 ps; + signal p_c0_dr : time := 0 ps; + signal p_c1_dr : time := 0 ps; + signal p_c2_dr : time := 0 ps; + signal p_c3_dr : time := 0 ps; + signal p_c4_dr : time := 0 ps; + signal p_c5_dr : time := 0 ps; + signal p_c6_dr : time := 0 ps; + signal p_c0_h : time := 0 ps; + signal p_c0_r : time := 0 ps; + signal p_c0_d : time := 0 ps; + signal p_c0_r1 : time := 0 ps; + signal p_c1_r1 : time := 0 ps; + signal p_c2_r1 : time := 0 ps; + signal p_c3_r1 : time := 0 ps; + signal p_c4_r1 : time := 0 ps; + signal p_c5_r1 : time := 0 ps; + signal p_c6_r1 : time := 0 ps; + signal p_c1_h : time := 0 ps; + signal p_c1_r : time := 0 ps; + signal p_c1_d : time := 0 ps; + signal p_c2_h : time := 0 ps; + signal p_c2_r : time := 0 ps; + signal p_c2_d : time := 0 ps; + signal p_c3_h : time := 0 ps; + signal p_c3_r : time := 0 ps; + signal p_c3_d : time := 0 ps; + signal p_c4_h : time := 0 ps; + signal p_c4_r : time := 0 ps; + signal p_c4_d : time := 0 ps; + signal p_c5_h : time := 0 ps; + signal p_c5_r : time := 0 ps; + signal p_c5_d : time := 0 ps; + signal period_fb : time := 0 ps; + signal clk0_gen : std_ulogic := '0'; + signal clk1_gen : std_ulogic := '0'; + signal clk2_gen : std_ulogic := '0'; + signal clk3_gen : std_ulogic := '0'; + signal clk4_gen : std_ulogic := '0'; + signal clk5_gen : std_ulogic := '0'; + signal clkfb_gen : std_ulogic := '0'; + signal clk0_gen_f : std_ulogic := '0'; + signal clk1_gen_f : std_ulogic := '0'; + signal clk2_gen_f : std_ulogic := '0'; + signal clk3_gen_f : std_ulogic := '0'; + signal clk4_gen_f : std_ulogic := '0'; + signal clk5_gen_f : std_ulogic := '0'; + signal clkfb_gen_f : std_ulogic := '0'; + signal sample_en : std_ulogic := '1'; + signal clk0_out : std_ulogic := '0'; + signal clk1_out : std_ulogic := '0'; + signal clk2_out : std_ulogic := '0'; + signal clk3_out : std_ulogic := '0'; + signal clk4_out : std_ulogic := '0'; + signal clk5_out : std_ulogic := '0'; + signal clkfbm1_out : std_ulogic := '0'; + signal fb_delay_found_tmp : std_ulogic := '0'; + signal fb_delay_found : std_ulogic := '0'; + type real_array_usr is array (4 downto 0) of time; + signal clkin_period : real_array_usr := (others => 0 ps); + signal clkout_mux : std_logic_vector (7 downto 0) ; + signal lock_period_time : integer := 0; + signal clkout_en_time : integer := 0; + signal locked_en_time : integer := 0; + signal lock_cnt_max : integer := 0; + signal pwron_int : std_ulogic := '0'; + signal rst_in : std_ulogic := '0'; + signal pll_locked_tmp1 : std_ulogic := '0'; + signal pll_locked_tmp2 : std_ulogic := '0'; + signal lock_period : std_ulogic := '0'; + signal pll_locked_tm : std_ulogic := '0'; + signal clkin_edge : time := 0 ps; + signal fb_delay : time := 0 ps; + signal clkvco_delay : time := 0 ps; + signal clkin_lock_cnt : integer := 0; + signal clkfbm1_dly : time := 0 ps; + signal clkout_en0_tmp : std_ulogic := '0'; + signal clkout_en : std_ulogic := '0'; + signal clkout_en1 : std_ulogic := '0'; + signal locked_out : std_ulogic := '0'; + signal period_avg : time := 0 ps; + signal delay_edge : time := 0 ps; + signal clkin_period_tmp_t : integer := 0; + signal period_vco : time := 0 ps; + signal clk0ps_en : std_ulogic := '0'; + signal clk1ps_en : std_ulogic := '0'; + signal clk2ps_en : std_ulogic := '0'; + signal clk3ps_en : std_ulogic := '0'; + signal clk4ps_en : std_ulogic := '0'; + signal clk5ps_en : std_ulogic := '0'; + signal clkfbm1ps_en : std_ulogic := '0'; + signal clk0_cnt : integer := 0; + signal clk1_cnt : integer := 0; + signal clk2_cnt : integer := 0; + signal clk3_cnt : integer := 0; + signal clk4_cnt : integer := 0; + signal clk5_cnt : integer := 0; + signal clkfb_cnt : integer := 0; + signal clkfb_tst : std_ulogic := '0'; + signal clkfb_in : std_ulogic := '0'; + signal clkin1_in : std_ulogic := '0'; + signal clkin1_in_dly : std_ulogic := '0'; + signal clkin2_in : std_ulogic := '0'; + signal clkinsel_in : std_ulogic := '0'; + signal clkinsel_tmp : std_ulogic := '0'; + signal rst_input_r : std_ulogic := '0'; + signal pwrdwn_in : std_ulogic := '0'; + signal IS_CLKINSEL_INVERTED_BIN : std_ulogic := TO_X01(IS_CLKINSEL_INVERTED); + signal IS_PWRDWN_INVERTED_BIN : std_ulogic := TO_X01(IS_PWRDWN_INVERTED); + signal IS_RST_INVERTED_BIN : std_ulogic := TO_X01(IS_RST_INVERTED); + + begin + + clkin1_in <= CLKIN1; + clkin2_in <= CLKIN2; + clkfb_in <= CLKFBIN; + clkinsel_in <= '1' when (CLKINSEL xor IS_CLKINSEL_INVERTED_BIN) /= '0' else '0'; + rst_input_r <= RST xor IS_RST_INVERTED_BIN; + pwrdwn_in <= PWRDWN xor IS_PWRDWN_INVERTED_BIN; + LOCKED <= locked_out_tmp; + CLKOUT0 <= clkout0_out; + CLKOUT1 <= clkout1_out; + CLKOUT2 <= clkout2_out; + CLKOUT3 <= clkout3_out; + CLKOUT4 <= clkout4_out; + CLKOUT5 <= clkout5_out; + CLKFBOUT <= clkfb_out; + DO <= "0000000000000000"; + + INIPROC : process + variable Message : line; + variable con_line : line; + variable tmpvalue : real; + variable chk_ok : std_ulogic; + variable tmp_string : string(1 to 18); + variable skipspace : character; + variable CLK_DUTY_CYCLE_MIN : real; + variable CLK_DUTY_CYCLE_MAX : real; + variable CLK_DUTY_CYCLE_STEP : real; + variable O_MAX_HT_LT_real : real; + variable duty_cycle_valid : std_ulogic; + variable CLKOUT0_DIVIDE_real : real; + variable CLKOUT1_DIVIDE_real : real; + variable CLKOUT2_DIVIDE_real : real; + variable CLKOUT3_DIVIDE_real : real; + variable CLKOUT4_DIVIDE_real : real; + variable CLKOUT5_DIVIDE_real : real; + variable tmp_j : real; + variable tmp_duty_value : real; + variable clk_nocnt_i : std_ulogic; + variable clk_edge_i : std_ulogic; + variable clkfbm1_f_div_v : real := 1.0; + variable clkfb_div_fint_v : integer := 1; + variable clkfb_div_fint_v_tmp : integer := 1; + variable clkfb_div_fint_v1 : real := 1.0; + variable clkout_en_time_i : integer; + variable clkout_en_time_i1 : integer := 0; + variable clk0_val1_tmp : integer := 0; + variable clk1_val1_tmp : integer := 0; + variable clk2_val1_tmp : integer := 0; + variable clk3_val1_tmp : integer := 0; + variable clk4_val1_tmp : integer := 0; + variable clk5_val1_tmp : integer := 0; + begin + if((COMPENSATION /= "ZHOLD") and (COMPENSATION /= "zhold") and + (COMPENSATION /= "BUF_IN") and (COMPENSATION /= "buf_in") and + (COMPENSATION /= "EXTERNAL") and (COMPENSATION /= "external") and + (COMPENSATION /= "INTERNAL") and (COMPENSATION /= "internal")) +then + assert FALSE report " Attribute Syntax Error : The Attribute COMPENSATION must be set to ZHOLD or BUF_IN or EXTERNAL or INTERNAL." severity error; end if; + + if((BANDWIDTH /= "HIGH") and (BANDWIDTH /= "high") and + (BANDWIDTH /= "LOW") and (BANDWIDTH /= "low") and + (BANDWIDTH /= "OPTIMIZED") and (BANDWIDTH /= "optimized")) then assert FALSE report "Attribute Syntax Error : BANDWIDTH is not HIGH, LOW, OPTIMIZED." severity error; + end if; + + if((STARTUP_WAIT /= "FALSE") and (STARTUP_WAIT /= "false") and + (STARTUP_WAIT /= "TRUE") and (STARTUP_WAIT /= "true")) then + assert FALSE report "Error : STARTUP_WAIT must be set to string FALSE or TRUE." severity error; + end if; + + clkfb_div_fint_v := CLKFBOUT_MULT; + clkfb_div_fint <= clkfb_div_fint_v; + clkfb_val <= DIVCLK_DIVIDE * 8; + clkfb_val2 <= DIVCLK_DIVIDE * 8 * 2 - 1; + clkfb_val1 <= 8; + clkfb_val11 <= 7; + + clk0_val <= DIVCLK_DIVIDE * CLKOUT0_DIVIDE; + clk0_val2 <= DIVCLK_DIVIDE * CLKOUT0_DIVIDE * 2 - 1; + clk0_val1_tmp := clkfb_div_fint_v; + clk0_val1 <= clkfb_div_fint_v; + if ( clk0_val1_tmp > 1) then + clk0_val11 <= clk0_val1_tmp - 1; + end if; + clk1_val <= DIVCLK_DIVIDE * CLKOUT1_DIVIDE; + clk1_val2 <= DIVCLK_DIVIDE * CLKOUT1_DIVIDE * 2 - 1; + clk1_val1_tmp := clkfb_div_fint_v; + clk1_val1 <= clk1_val1_tmp; + if ( clk1_val1_tmp > 1) then + clk1_val11 <= clk1_val1_tmp - 1; + end if; + clk2_val <= DIVCLK_DIVIDE * CLKOUT2_DIVIDE; + clk2_val2 <= DIVCLK_DIVIDE * CLKOUT2_DIVIDE * 2 - 1; + clk2_val1_tmp := clkfb_div_fint_v; + clk2_val1 <= clk2_val1_tmp; + if ( clk2_val1_tmp > 1) then + clk2_val11 <= clk2_val1_tmp - 1; + end if; + clk3_val <= DIVCLK_DIVIDE * CLKOUT3_DIVIDE; + clk3_val2 <= DIVCLK_DIVIDE * CLKOUT3_DIVIDE * 2 - 1; + clk3_val1_tmp := clkfb_div_fint_v; + clk3_val1 <= clk3_val1_tmp; + if ( clk3_val1_tmp > 1) then + clk3_val11 <= clk3_val1_tmp - 1; + end if; + clk4_val <= DIVCLK_DIVIDE * CLKOUT4_DIVIDE; + clk4_val2 <= DIVCLK_DIVIDE * CLKOUT4_DIVIDE * 2 - 1; + clk4_val1_tmp := clkfb_div_fint_v; + clk4_val1 <= clk4_val1_tmp; + if ( clk4_val1_tmp > 1) then + clk4_val11 <= clk4_val1_tmp - 1; + end if; + clk5_val <= DIVCLK_DIVIDE * CLKOUT5_DIVIDE; + clk5_val2 <= DIVCLK_DIVIDE * CLKOUT5_DIVIDE * 2 - 1; + clk5_val1_tmp := clkfb_div_fint_v; + clk5_val1 <= clk5_val1_tmp; + if ( clk5_val1_tmp > 1) then + clk5_val11 <= clk5_val1_tmp - 1; + end if; + if (CLKOUT0_DIVIDE < 0 or CLKOUT0_DIVIDE > 128) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DIVIDE is not in range 1.000 to 128.000." severity error; + end if; + + if ((CLKOUT0_PHASE < -360.0) or (CLKOUT0_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT0_DUTY_CYCLE < 0.001) or (CLKOUT0_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT0_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT1_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT1_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT1_PHASE < -360.0) or (CLKOUT1_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT1_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT1_DUTY_CYCLE < 0.001) or (CLKOUT1_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT1_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT2_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT2_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT2_PHASE < -360.0) or (CLKOUT2_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT2_PHASE is not in range -360.0 to 360.0" severity error; + end if; + if ((CLKOUT2_DUTY_CYCLE < 0.001) or (CLKOUT2_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT2_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT3_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT3_DIVIDE is not in range 1...128." severity error; + end case; + + if ((CLKOUT3_PHASE < -360.0) or (CLKOUT3_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT3_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT3_DUTY_CYCLE < 0.001) or (CLKOUT3_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT3_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT4_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT4_DIVIDE is not in range 1 to 128." severity error; + end case; + + if ((CLKOUT4_PHASE < -360.0) or (CLKOUT4_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT4_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + if ((CLKOUT4_DUTY_CYCLE < 0.001) or (CLKOUT4_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT4_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + case CLKOUT5_DIVIDE is + when 1 to 128 => NULL ; + when others => assert FALSE report "Attribute Syntax Error : CLKOUT5_DIVIDE is not in range 1...128." severity error; + end case; + if ((CLKOUT5_PHASE < -360.0) or (CLKOUT5_PHASE > 360.0)) then + assert FALSE report "Attribute Syntax Error : CLKOUT5_PHASE is not in range 360.0 to 360.0" severity error; + end if; + if ((CLKOUT5_DUTY_CYCLE < 0.001) or (CLKOUT5_DUTY_CYCLE > 0.999)) then + assert FALSE report "Attribute Syntax Error : CLKOUT5_DUTY_CYCLE is not real in range 0.001 to 0.999 pecentage."severity error; + end if; + + if (CLKFBOUT_MULT < 2 or CLKFBOUT_MULT > 64) then + assert FALSE report "Attribute Syntax Error : CLKFBOUT_MULT is not in range 2 to 64." severity error; + end if; + + if ( CLKFBOUT_PHASE < -360.0 or CLKFBOUT_PHASE > 360.0 ) then + assert FALSE report "Attribute Syntax Error : CLKFBOUT_PHASE is not in range -360.0 to 360.0" severity error; + end if; + + case DIVCLK_DIVIDE is + when 1 to 56 => NULL; + when others => assert FALSE report "Attribute Syntax Error : DIVCLK_DIVIDE is not in range 1 to 56." severity error; + end case; + + if ((REF_JITTER1 < 0.0) or (REF_JITTER1 > 0.999)) then + assert FALSE report "Attribute Syntax Error : REF_JITTER1 is not in range 0.0 ... 1.0." severity error; + end if; + + if ((REF_JITTER2 < 0.0) or (REF_JITTER2 > 0.999)) then + assert FALSE report "Attribute Syntax Error : REF_JITTER2 is not in range 0.0 ... 1.0." severity error; + end if; + + O_MAX_HT_LT_real := real(O_MAX_HT_LT); + CLKOUT0_DIVIDE_real := real(CLKOUT0_DIVIDE); + CLKOUT1_DIVIDE_real := real(CLKOUT1_DIVIDE); + CLKOUT2_DIVIDE_real := real(CLKOUT2_DIVIDE); + CLKOUT3_DIVIDE_real := real(CLKOUT3_DIVIDE); + CLKOUT4_DIVIDE_real := real(CLKOUT4_DIVIDE); + CLKOUT5_DIVIDE_real := real(CLKOUT5_DIVIDE); + + if (CLKOUT0_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT0_DIVIDE, CLKOUT0_DUTY_CYCLE, "CLKOUT0_DUTY_CYCLE"); + end if; + if (CLKOUT5_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT5_DIVIDE, CLKOUT5_DUTY_CYCLE, "CLKOUT5_DUTY_CYCLE"); + end if; + if (CLKOUT1_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT1_DIVIDE, CLKOUT1_DUTY_CYCLE, "CLKOUT1_DUTY_CYCLE"); + end if; + if (CLKOUT2_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT2_DIVIDE, CLKOUT2_DUTY_CYCLE, "CLKOUT2_DUTY_CYCLE"); + end if; + if (CLKOUT3_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT3_DIVIDE, CLKOUT3_DUTY_CYCLE, "CLKOUT3_DUTY_CYCLE"); + end if; + if (CLKOUT4_DIVIDE /= 0) then + chk_ok := clkout_duty_chk (CLKOUT4_DIVIDE, CLKOUT4_DUTY_CYCLE, "CLKOUT4_DUTY_CYCLE"); + end if; + pll_lock_time <= 12; + lock_period_time <= 16; + clkout_en_time_i1 := 10 + 12; + clkout_en_time <= clkout_en_time_i1; + locked_en_time <= clkout_en_time_i1 + 20; + lock_cnt_max <= clkout_en_time_i1 + 20 + 16; + init_done <= '1'; + wait; + end process INIPROC; + + clkinsel_p : process + variable period_clkin : real; + variable clkvco_freq_init_chk : real := 0.0; + variable Message : line; + variable tmpreal1 : real; + variable tmpreal2 : real; + variable first_check : boolean := true; + variable clkin_chk_t1 : real; + variable clkin_chk_t1_tmp1 : real; + variable clkin_chk_t1_tmp2 : real; + variable clkin_chk_t1_tmpi : time; + variable clkin_chk_t1_tmpi1 : integer; + variable clkin_chk_t2 : real; + variable clkin_chk_t2_tmp1 : real; + variable clkin_chk_t2_tmp2 : real; + variable clkin_chk_t2_tmpi : time; + variable clkin_chk_t2_tmpi1 : integer; + begin + + if (first_check = true or rising_edge(clkinsel_in) or falling_edge(clkinsel_in)) then + + if (NOW > 1 ps and rst_in = '0' and (clkinsel_tmp = '0' or clkinsel_tmp += '1')) then + assert false report + "Input Error : PLLE2_ADV input clock can only be switched when RST=1. CLKINSEL is changed when RST low, which should be changed at RST high." + severity error; + end if; + if (NOW = 0 ps) then + wait for 1 ps; + end if; + + clkin_chk_t1_tmp1 := 1000.0 / CLKIN_FREQ_MIN; + clkin_chk_t1_tmp2 := 1000.0 * clkin_chk_t1_tmp1; + clkin_chk_t1_tmpi := clkin_chk_t1_tmp2 * 1 ps; + clkin_chk_t1_tmpi1 := clkin_chk_t1_tmpi / 1 ps; + clkin_chk_t1 := real(clkin_chk_t1_tmpi1) / 1000.0; + + clkin_chk_t2_tmp1 := 1000.0 / CLKIN_FREQ_MAX; + clkin_chk_t2_tmp2 := 1000.0 * clkin_chk_t2_tmp1; + clkin_chk_t2_tmpi := clkin_chk_t2_tmp2 * 1 ps; + clkin_chk_t2_tmpi1 := clkin_chk_t2_tmpi / 1 ps; + clkin_chk_t2 := real(clkin_chk_t2_tmpi1) / 1000.0; + + if (((CLKIN1_PERIOD < clkin_chk_t2) or (CLKIN1_PERIOD > clkin_chk_t1)) and (CLKINSEL /= '0')) then + Write ( Message, string'(" Attribute Syntax Error : The attribute CLKIN1_PERIOD is set to ")); + Write ( Message, CLKIN1_PERIOD); + Write ( Message, string'(" ns and out the allowed range ")); + Write ( Message, clkin_chk_t2); + Write ( Message, string'(" ns to ")); + Write ( Message, clkin_chk_t1); + Write ( Message, string'(" ns" )); + Write ( Message, '.' & LF ); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + + if (((CLKIN2_PERIOD < clkin_chk_t2) or (CLKIN2_PERIOD > clkin_chk_t1)) and (CLKINSEL = '0')) then + Write ( Message, string'(" Attribute Syntax Error : The attribute CLKIN2_PERIOD is set to ")); + Write ( Message, CLKIN2_PERIOD); + Write ( Message, string'(" ns and out the allowed range ")); + Write ( Message, clkin_chk_t2); + Write ( Message, string'(" ns to ")); + Write ( Message, clkin_chk_t1); + Write ( Message, string'(" ns")); + Write ( Message, '.' & LF ); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + + if ( clkinsel_in /= '0') then + period_clkin := CLKIN1_PERIOD; + else + period_clkin := CLKIN2_PERIOD; + end if; + + tmpreal1 := real(CLKFBOUT_MULT); + tmpreal2 := real(DIVCLK_DIVIDE); + if (period_clkin > 0.000) then + clkvco_freq_init_chk := (1000.0 * tmpreal1) / ( period_clkin * tmpreal2); + + if ((clkvco_freq_init_chk > VCOCLK_FREQ_MAX) or (clkvco_freq_init_chk +< VCOCLK_FREQ_MIN)) then + Write ( Message, string'(" Attribute Syntax Error : The calculation of VCO frequency=")); + Write ( Message, clkvco_freq_init_chk); + Write ( Message, string'(" Mhz. This exceeds the permitted VCO frequency range of ")); + Write ( Message, VCOCLK_FREQ_MIN); + Write ( Message, string'(" MHz to ")); + Write ( Message, VCOCLK_FREQ_MAX); + if (clkinsel_in /= '0') then + Write ( Message, string'(" MHz. The VCO frequency is calculated with formula: VCO frequency = CLKFBOUT_MULT / (DIVCLK_DIVIDE * CLKIN1_PERIOD).")); else + Write ( Message, string'(" MHz. The VCO frequency is calculated with formula: VCO frequency = CLKFBOUT_MULT / (DIVCLK_DIVIDE * CLKIN2_PERIOD).")); end if; + Write ( Message, string'(" Please adjust the attributes to the permitted VCO frequency range.")); + assert false report Message.all severity error; + DEALLOCATE (Message); + end if; + end if; + first_check := false; + end if; + wait on clkinsel_in, clkpll_r; + end process; + + clkpll_r <= clkin1_in when clkinsel_in = '1' else clkin2_in; + pwrdwn_in1 <= '1' when (pwrdwn_in = '1' or pwron_int = '1') else '0'; + rst_input <= '1' when (rst_input_r = '1' or pwrdwn_in1 = '1') else '0'; + + + RST_SYNC_P : process (clkpll_r, rst_input) + begin + if (rst_input = '1') then + rst_in <= '1'; + elsif (rising_edge (clkpll_r)) then + rst_in <= rst_input; + end if; + end process; + + pwron_int_p : process + begin + pwron_int <= '1'; + wait for 100 ns; + pwron_int <= '0'; + wait; + end process; + + CLOCK_PERIOD_P : process (clkpll_r, rst_in) + variable clkin_edge_previous : time := 0 ps; + variable clkin_edge_current : time := 0 ps; + begin + if (rst_in = '1' ) then + clkin_period(0) <= period_vco_target; + clkin_period(1) <= period_vco_target; + clkin_period(2) <= period_vco_target; + clkin_period(3) <= period_vco_target; + clkin_period(4) <= period_vco_target; + clkin_lock_cnt <= 0; + pll_locked_tm <= '0'; + lock_period <= '0'; + pll_locked_tmp1 <= '0'; + clkout_en0_tmp <= '0'; + clkin_edge_previous := 0 ps; + sample_en <= '1'; + elsif (rising_edge(clkpll_r)) then + if (sample_en = '1') then + clkin_edge_current := NOW; + if (clkin_edge_previous /= 0 ps ) then + clkin_period(4) <= clkin_period(3); + clkin_period(3) <= clkin_period(2); + clkin_period(2) <= clkin_period(1); + clkin_period(1) <= clkin_period(0); + clkin_period(0) <= clkin_edge_current - clkin_edge_previous; + end if; + + clkin_edge_previous := clkin_edge_current; + + if ( (clkin_lock_cnt < lock_cnt_max) and fb_delay_found = '1' ) then + clkin_lock_cnt <= clkin_lock_cnt + 1; + end if; + if ( clkin_lock_cnt >= pll_lock_time) then + pll_locked_tm <= '1'; + end if; + if ( clkin_lock_cnt = lock_period_time ) then + lock_period <= '1'; + end if; + + if (clkin_lock_cnt >= clkout_en_time and pll_locked_tm = '1') then + clkout_en0_tmp <= '1'; + end if; + + if (clkin_lock_cnt >= locked_en_time and clkout_en = '1') then + pll_locked_tmp1 <= '1'; + end if; + + if (pll_locked_tmp2 = '1' and pll_locked_tmp1 = '1') then + sample_en <= '0'; + end if; + end if; + end if; + end process; + + locked_out <= '1' when (pll_locked_tmp1 = '1' and pll_locked_tmp2 = '1') else '0'; + pll_locked_tmp2 <= (clk0ps_en and clk1ps_en and clk2ps_en and clk3ps_en + and clk4ps_en and clk5ps_en and clkfbm1ps_en); + + pchk_p : process(pll_locked_tmp1) + variable pchk_tmp1 : time; + variable pchk_tmp2 : time; + begin + if (rising_edge(pll_locked_tmp1)) then + if (clkinsel_in = '0') then + pchk_tmp1 := CLKIN2_PERIOD * 1100 ps; + pchk_tmp2 := CLKIN2_PERIOD * 900 ps; + if (period_avg > pchk_tmp1 or period_avg < pchk_tmp2) then + assert false report "Error : input CLKIN2 period and attribute CLKIN2_PERIOD are not same." severity error ; + end if; + else + pchk_tmp1 := CLKIN1_PERIOD * 1100 ps; + pchk_tmp2 := CLKIN1_PERIOD * 900 ps; + if (period_avg > pchk_tmp1 or period_avg < pchk_tmp2) then + assert false report "Error : input CLKIN1 period and attribute CLKIN1_PERIOD are not same." severity error ; + end if; + end if; + end if; + end process; + + locked_out_tmp_p : process + begin + if (rising_edge(rst_in)) then + wait for 1 ns; + locked_out_tmp <= '0'; + else + if (rst_in = '0') then + locked_out_tmp <= locked_out; + else + locked_out_tmp <= '0'; + end if; + end if; + wait on rst_in, locked_out; + end process; + + + clkout_en1_p : process (clkout_en0_tmp , rst_in) + begin + if (rst_in = '1') then + clkout_en1 <= '0'; + else + clkout_en1 <= transport clkout_en0_tmp after clkvco_delay; + end if; + end process; + + clkout_en_p : process (clkout_en1, rst_in) + begin + if (rst_in = '1') then + clkout_en <= '0'; + else + clkout_en <= clkout_en1; + end if; + end process; + + CLK_PERIOD_AVG_P : process (clkin_period(0), clkin_period(1), clkin_period(2), + clkin_period(3), clkin_period(4), period_avg) + variable period_avg_tmp : time := 0 ps; + variable clkin_period_tmp0 : time := 0 ps; + variable clkin_period_tmp1 : time := 0 ps; + variable clkin_period_tmp_t : time := 0 ps; + begin + clkin_period_tmp0 := clkin_period(0); + clkin_period_tmp1 := clkin_period(1); + if (clkin_period_tmp0 > clkin_period_tmp1) then + clkin_period_tmp_t := clkin_period_tmp0 - clkin_period_tmp1; + else + clkin_period_tmp_t := clkin_period_tmp1 - clkin_period_tmp0; + end if; + + if (clkin_period_tmp0 /= period_avg and (clkin_period_tmp0 < 1.5 * period_avg or clkin_period_tmp_t <= 300 ps)) then + period_avg_tmp := (clkin_period(0) + clkin_period(1) + clkin_period(2) + + clkin_period(3) + clkin_period(4))/5.0; + period_avg <= period_avg_tmp; + end if; + end process; + + process (period_avg, lock_period, rst_in) + variable p_c0 : time; + variable p_c0i : integer; + variable p_c0_dr : integer; + variable p_c0_dri : time; + variable p_c0_dri1 : integer; + variable p_c0_dri2 : integer; + variable p_c1 : time; + variable p_c1i : integer; + variable p_c1_dr : integer; + variable p_c1_dri : time; + variable p_c1_dri1 : integer; + variable p_c1_dri2 : integer; + variable p_c2 : time; + variable p_c2i : integer; + variable p_c2_dr : integer; + variable p_c2_dri : time; + variable p_c2_dri1 : integer; + variable p_c2_dri2 : integer; + variable p_c3 : time; + variable p_c3i : integer; + variable p_c3_dr : integer; + variable p_c3_dri : time; + variable p_c3_dri1 : integer; + variable p_c3_dri2 : integer; + variable p_c4 : time; + variable p_c4i : integer; + variable p_c4_dr : integer; + variable p_c4_dri : time; + variable p_c4_dri1 : integer; + variable p_c4_dri2 : integer; + variable p_c5 : time; + variable p_c5i : integer; + variable p_c5_dr : integer; + variable p_c5_dri : time; + variable p_c5_dri1 : integer; + variable p_c5_dri2 : integer; + variable period_fbi : integer; + variable period_fb_tmp : time; + variable fb_delayi : integer; + variable clkvco_delay_tmp : time; + variable clkvco_delayi : integer; + variable fb_delaym : integer; + variable dly_tmp : time; + variable dly_tmpi : integer; + variable clkfbm1_dly_tmp : time; + variable period_vco_tmp : time; + begin + if (rst_in = '1') then + p_fb <= 0 ps; + p_fb_h <= 0 ps; + p_fb_r <= 0 ps; + p_fb_r1 <= 0 ps; + p_fb_d <= 0 ps; + p_c0 := 0 ps; + p_c0_h <= 0 ps; + p_c0_r <= 0 ps; + p_c0_r1 <= 0 ps; + p_c0_d <= 0 ps; + p_c1 := 0 ps; + p_c1_h <= 0 ps; + p_c1_r <= 0 ps; + p_c1_r1 <= 0 ps; + p_c1_d <= 0 ps; + p_c2 := 0 ps; + p_c2_h <= 0 ps; + p_c2_r <= 0 ps; + p_c2_r1 <= 0 ps; + p_c2_d <= 0 ps; + p_c3 := 0 ps; + p_c3_h <= 0 ps; + p_c3_r <= 0 ps; + p_c3_r1 <= 0 ps; + p_c3_d <= 0 ps; + p_c4 := 0 ps; + p_c4_h <= 0 ps; + p_c4_r <= 0 ps; + p_c4_r1 <= 0 ps; + p_c4_d <= 0 ps; + p_c5 := 0 ps; + p_c5_h <= 0 ps; + p_c5_r <= 0 ps; + p_c5_r1 <= 0 ps; + p_c5_d <= 0 ps; + clkvco_delay <= 0 ps; + dly_tmp := 0 ps; + period_fb <= 0 ps; + period_vco <= 0 ps; + clkfbm1_dly <= 0 ps; + p_c0_dr := 0; + p_c1_dr := 0 ; + p_c2_dr := 0; + p_c3_dr := 0; + p_c4_dr := 0; + p_c5_dr := 0; + else + if (period_avg > 0 ps and lock_period = '1') then + fb_delayi := fb_delay / 1 ps; + period_fb_tmp := period_avg * DIVCLK_DIVIDE; + period_fbi := period_fb_tmp / 1 ps; + period_fb <= period_fb_tmp; + period_vco_tmp := period_fb_tmp / CLKFBOUT_MULT; + period_vco <= period_vco_tmp; + clkfbm1_dly_tmp := ((CLKFBOUT_PHASE * period_fb_tmp) / 360.0); + clkfbm1_dly <= clkfbm1_dly_tmp; + dly_tmp := fb_delay + clkfbm1_dly_tmp; + dly_tmpi := dly_tmp / 1 ps; + if (dly_tmp = 0 ps) then + clkvco_delay_tmp := 0 ps; + elsif ( dly_tmp <= period_fb_tmp ) then + clkvco_delay_tmp := period_fb_tmp - dly_tmp; + else + clkvco_delay_tmp := period_fb_tmp - ((dly_tmpi mod( period_fbi)) * 1 ps) ; + end if; + clkvco_delay <= clkvco_delay_tmp; + clkvco_delayi := clkvco_delay_tmp / 1 ps; + p_fb <= period_fb_tmp; + p_fb_h <= period_fb_tmp / 2; + p_fb_r <= period_fb_tmp - period_fb_tmp / 2; + p_fb_r1 <= period_fb_tmp - period_fb_tmp / 2 - 1 ps; + fb_delaym := fb_delayi mod (period_fbi); + if ( fb_delay <= period_fb_tmp) then + p_fb_d <= period_fb_tmp - fb_delay; + else + p_fb_d <= period_fb_tmp - fb_delaym * 1 ps; + end if; + p_c0 := (period_fb_tmp * CLKOUT0_DIVIDE) / CLKFBOUT_MULT; + p_c0i := p_c0 / 1 ps; + p_c0_h <= p_c0 * CLKOUT0_DUTY_CYCLE; + p_c0_r <= p_c0 - p_c0 * CLKOUT0_DUTY_CYCLE; + p_c0_r1 <= p_c0 - p_c0 * CLKOUT0_DUTY_CYCLE - 1 ps; + p_c0_dri := ((CLKOUT0_PHASE * p_c0) / 360.0); + p_c0_dri1 := (p_c0_dri / 1 ps); + p_c0_dri2 := (clkvco_delayi mod p_c0i); + p_c0_dr := p_c0_dri1 + p_c0_dri2; + if (p_c0_dr < 0 ) then + p_c0_d <= p_c0 + (p_c0_dr mod p_c0i) * 1 ps; + else + p_c0_d <= (p_c0_dr mod p_c0i ) * 1 ps; + end if; + + + p_c1 := (period_fb_tmp * CLKOUT1_DIVIDE) / CLKFBOUT_MULT; + p_c1i := p_c1 / 1 ps; + p_c1_h <= p_c1 * CLKOUT1_DUTY_CYCLE; + p_c1_r <= p_c1 - p_c1 * CLKOUT1_DUTY_CYCLE; + p_c1_r1 <= p_c1 - p_c1 * CLKOUT1_DUTY_CYCLE - 1 ps; + p_c1_dri := ((CLKOUT1_PHASE * p_c1) / 360.0); + p_c1_dri1 := (p_c1_dri / 1 ps); + p_c1_dri2 := (clkvco_delayi mod p_c1i); + p_c1_dr := p_c1_dri1 + p_c1_dri2; + if (p_c1_dr < 0 ) then + p_c1_d <= p_c1 + (p_c1_dr mod p_c1i) * 1 ps; + else + p_c1_d <= (p_c1_dr mod p_c1i ) * 1 ps; + end if; + + p_c2 := (period_fb_tmp * CLKOUT2_DIVIDE) / CLKFBOUT_MULT; + p_c2i := p_c2 / 1 ps; + p_c2_h <= p_c2 * CLKOUT2_DUTY_CYCLE; + p_c2_r <= p_c2 - p_c2 * CLKOUT2_DUTY_CYCLE; + p_c2_r1 <= p_c2 - p_c2 * CLKOUT2_DUTY_CYCLE - 1 ps; + p_c2_dri := ((CLKOUT2_PHASE * p_c2) / 360.0); + p_c2_dri1 := (p_c2_dri / 1 ps); + p_c2_dri2 := (clkvco_delayi mod p_c2i); + p_c2_dr := p_c2_dri1 + p_c2_dri2; + if (p_c2_dr < 0 ) then + p_c2_d <= p_c2 + (p_c2_dr mod p_c2i) * 1 ps; + else + p_c2_d <= (p_c2_dr mod p_c2i ) * 1 ps; + end if; + + p_c3 := (period_fb_tmp * CLKOUT3_DIVIDE) / CLKFBOUT_MULT; + p_c3i := p_c3 / 1 ps; + p_c3_h <= p_c3 * CLKOUT3_DUTY_CYCLE; + p_c3_r <= p_c3 - p_c3 * CLKOUT3_DUTY_CYCLE; + p_c3_r1 <= p_c3 - p_c3 * CLKOUT3_DUTY_CYCLE - 1 ps; + p_c3_dri := ((CLKOUT3_PHASE * p_c3) / 360.0); + p_c3_dri1 := (p_c3_dri / 1 ps); + p_c3_dri2 := (clkvco_delayi mod p_c3i); + p_c3_dr := p_c3_dri1 + p_c3_dri2; + if (p_c3_dr < 0 ) then + p_c3_d <= p_c3 + (p_c3_dr mod p_c3i) * 1 ps; + else + p_c3_d <= (p_c3_dr mod p_c3i ) * 1 ps; + end if; + + p_c4 := (period_fb_tmp * CLKOUT4_DIVIDE) / CLKFBOUT_MULT; + p_c4i := p_c4 / 1 ps; + p_c4_h <= p_c4 * CLKOUT4_DUTY_CYCLE; + p_c4_r <= p_c4 - p_c4 * CLKOUT4_DUTY_CYCLE; + p_c4_r1 <= p_c4 - p_c4 * CLKOUT4_DUTY_CYCLE - 1 ps; + p_c4_dri := ((CLKOUT4_PHASE * p_c4) / 360.0); + p_c4_dri1 := (p_c4_dri / 1 ps); + p_c4_dri2 := (clkvco_delayi mod p_c4i); + p_c4_dr := p_c4_dri1 + p_c4_dri2; + if (p_c4_dr < 0 ) then + p_c4_d <= p_c4 + (p_c4_dr mod p_c4i) * 1 ps; + else + p_c4_d <= (p_c4_dr mod p_c4i ) * 1 ps; + end if; + + p_c5 := (period_fb_tmp * CLKOUT5_DIVIDE) / CLKFBOUT_MULT; + p_c5i := p_c5 / 1 ps; + p_c5_h <= p_c5 * CLKOUT5_DUTY_CYCLE; + p_c5_r <= p_c5 - p_c5 * CLKOUT5_DUTY_CYCLE; + p_c5_r1 <= p_c5 - p_c5 * CLKOUT5_DUTY_CYCLE - 1 ps; + p_c5_dri := ((CLKOUT5_PHASE * p_c5) / 360.0); + p_c5_dri1 := (p_c5_dri / 1 ps); + p_c5_dri2 := (clkvco_delayi mod p_c5i); + p_c5_dr := p_c5_dri1 + p_c5_dri2; + if (p_c5_dr < 0 ) then + p_c5_d <= p_c5 + (p_c5_dr mod p_c5i) * 1 ps; + else + p_c5_d <= (p_c5_dr mod p_c5i ) * 1 ps; + end if; + + end if; + end if; + end process; + + process (clkout_en, rst_in) begin + if (rst_in = '1') then + clk0ps_en <= '0'; + clk1ps_en <= '0'; + clk2ps_en <= '0'; + clk3ps_en <= '0'; + clk4ps_en <= '0'; + clk5ps_en <= '0'; + clkfbm1ps_en <= '0'; + elsif (rising_edge(clkout_en)) then + clk0ps_en <= '1' after p_c0_d; + clk1ps_en <= '1' after p_c1_d; + clk2ps_en <= '1' after p_c2_d; + clk3ps_en <= '1' after p_c3_d; + clk4ps_en <= '1' after p_c4_d; + clk5ps_en <= '1' after p_c5_d; + clkfbm1ps_en <= '1' after p_fb_d; + end if; + end process; + + process (clkpll_r, rst_in) begin + if (rst_in = '1') then + clk0_cnt <= 0; + clk1_cnt <= 0; + clk2_cnt <= 0; + clk3_cnt <= 0; + clk4_cnt <= 0; + clk5_cnt <= 0; + clkfb_cnt <= 0; + clk0_gen <= '0'; + clk1_gen <= '0'; + clk2_gen <= '0'; + clk3_gen <= '0'; + clk4_gen <= '0'; + clk5_gen <= '0'; + clkfb_gen <= '0'; + elsif (rising_edge (clkpll_r)) then + if (clkout_en0_tmp = '1' ) then + if (clk0_cnt < clk0_val2 ) then + clk0_cnt <= clk0_cnt + 1; + else + clk0_cnt <= 0; + end if; + + if (clk0_cnt >= clk0_val ) then + clk0_gen <= '0'; + else + clk0_gen <= '1'; + end if; + else + clk0_cnt <= 0; + clk0_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk1_cnt < clk1_val2 ) then + clk1_cnt <= clk1_cnt + 1; + else + clk1_cnt <= 0; + end if; + + if (clk1_cnt >= clk1_val ) then + clk1_gen <= '0'; + else + clk1_gen <= '1'; + end if; + else + clk1_cnt <= 0; + clk1_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk2_cnt < clk2_val2 ) then + clk2_cnt <= clk2_cnt + 1; + else + clk2_cnt <= 0; + end if; + + if (clk2_cnt >= clk2_val ) then + clk2_gen <= '0'; + else + clk2_gen <= '1'; + end if; + else + clk2_cnt <= 0; + clk2_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk3_cnt < clk3_val2) then + clk3_cnt <= clk3_cnt + 1; + else + clk3_cnt <= 0; + end if; + + if (clk3_cnt >= clk3_val ) then + clk3_gen <= '0'; + else + clk3_gen <= '1'; + end if; + else + clk3_cnt <= 0; + clk3_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk4_cnt < clk4_val2 ) then + clk4_cnt <= clk4_cnt + 1; + else + clk4_cnt <= 0; + end if; + + if (clk4_cnt >= clk4_val ) then + clk4_gen <= '0'; + else + clk4_gen <= '1'; + end if; + else + clk4_cnt <= 0; + clk4_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clk5_cnt < clk5_val2) then + clk5_cnt <= clk5_cnt + 1; + else + clk5_cnt <= 0; + end if; + + if (clk5_cnt >= clk5_val ) then + clk5_gen <= '0'; + else + clk5_gen <= '1'; + end if; + else + clk5_cnt <= 0; + clk5_gen <= '0'; + end if; + + if (clkout_en0_tmp = '1' ) then + if (clkfb_cnt < clkfb_val2 ) then + clkfb_cnt <= clkfb_cnt + 1; + else + clkfb_cnt <= 0; + end if; + + if (clkfb_cnt >= clkfb_val) then + clkfb_gen <= '0'; + else + clkfb_gen <= '1'; + end if; + else + clkfb_cnt <= 0; + clkfb_gen <= '0'; + end if; + end if; + end process; + + process (clk0_gen, rst_in) begin + if (rst_in = '1') then + clk0_gen_f <= '0'; + else + clk0_gen_f <= clk0_gen after p_c0_d; + end if; + end process; + + process (clk1_gen, rst_in) begin + if (rst_in = '1') then + clk1_gen_f <= '0'; + else + clk1_gen_f <= clk1_gen after p_c1_d; + end if; + end process; + + process (clk2_gen, rst_in) begin + if (rst_in = '1') then + clk2_gen_f <= '0'; + else + clk2_gen_f <= clk2_gen after p_c2_d; + end if; + end process; + + process (clk3_gen, rst_in) begin + if (rst_in = '1') then + clk3_gen_f <= '0'; + else + clk3_gen_f <= clk3_gen after p_c3_d; + end if; + end process; + + process (clk4_gen, rst_in) begin + if (rst_in = '1') then + clk4_gen_f <= '0'; + else + clk4_gen_f <= clk4_gen after p_c4_d; + end if; + end process; + + process (clk5_gen, rst_in) begin + if (rst_in = '1') then + clk5_gen_f <= '0'; + else + clk5_gen_f <= clk5_gen after p_c5_d; + end if; + end process; + + process (clkfb_gen, rst_in) begin + if (rst_in = '1') then + clkfb_gen_f <= '0'; + else + clkfb_gen_f <= clkfb_gen after p_fb_d; + end if; + end process; + + process begin + if (rst_in = '1') then + clk0_out <= '0'; + elsif (rising_edge(clk0_gen_f) or falling_edge(clk0_gen_f)) then + if (clk0ps_en = '1' ) then + if ( clk0_val1 = 1) then + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r1; + else + for i0 in 1 to clk0_val11 loop + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r; + end loop; + clk0_out <= '1'; + wait for p_c0_h; + clk0_out <= '0'; + wait for p_c0_r1; + end if; + else + clk0_out <= '0'; + end if; + end if; + wait on clk0_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk1_out <= '0'; + elsif (rising_edge(clk1_gen_f) or falling_edge(clk1_gen_f)) then + if (clk1ps_en = '1' ) then + if ( clk1_val1 = 1) then + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r1; + else + for i1 in 1 to clk1_val11 loop + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r; + end loop; + clk1_out <= '1'; + wait for p_c1_h; + clk1_out <= '0'; + wait for p_c1_r1; + end if; + else + clk1_out <= '0'; + end if; + end if; + wait on clk1_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk2_out <= '0'; + elsif (rising_edge(clk2_gen_f) or falling_edge(clk2_gen_f)) then + if (clk2ps_en = '1' ) then + if ( clk2_val1 = 1) then + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r1; + else + for i2 in 1 to clk2_val11 loop + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r; + end loop; + clk2_out <= '1'; + wait for p_c2_h; + clk2_out <= '0'; + wait for p_c2_r1; + end if; + else + clk2_out <= '0'; + end if; + end if; + wait on clk2_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk3_out <= '0'; + elsif (rising_edge(clk3_gen_f) or falling_edge(clk3_gen_f)) then + if (clk3ps_en = '1' ) then + if ( clk3_val1 = 1) then + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r1; + else + for i3 in 1 to clk3_val11 loop + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r; + end loop; + clk3_out <= '1'; + wait for p_c3_h; + clk3_out <= '0'; + wait for p_c3_r1; + end if; + else + clk3_out <= '0'; + end if; + end if; + wait on clk3_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk4_out <= '0'; + elsif (rising_edge(clk4_gen_f) or falling_edge(clk4_gen_f)) then + if (clk4ps_en = '1' ) then + if ( clk4_val1 = 1) then + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r1; + else + for i4 in 1 to clk4_val11 loop + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r; + end loop; + clk4_out <= '1'; + wait for p_c4_h; + clk4_out <= '0'; + wait for p_c4_r1; + end if; + else + clk4_out <= '0'; + end if; + end if; + wait on clk4_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clk5_out <= '0'; + elsif (rising_edge(clk5_gen_f) or falling_edge(clk5_gen_f)) then + if (clk5ps_en = '1' ) then + if ( clk5_val1 = 1) then + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r1; + else + for i5 in 1 to clk5_val11 loop + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r; + end loop; + clk5_out <= '1'; + wait for p_c5_h; + clk5_out <= '0'; + wait for p_c5_r1; + end if; + else + clk5_out <= '0'; + end if; + end if; + wait on clk5_gen_f, rst_in; + end process; + + process begin + if (rst_in = '1') then + clkfbm1_out <= '0'; + elsif (rising_edge(clkfb_gen_f) or falling_edge(clkfb_gen_f)) then + if (clkfbm1ps_en = '1' ) then + if (clkfb_val1 = 1) then + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r1; + else + for ib in 1 to clkfb_val11 loop + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r; + end loop; + clkfbm1_out <= '1'; + wait for p_fb_h; + clkfbm1_out <= '0'; + wait for p_fb_r1; + end if; + else + clkfbm1_out <= '0'; + end if; + end if; + wait on clkfb_gen_f, rst_in; + end process; + + clkout0_out <= transport clk0_out when fb_delay_found = '1' else clkfb_tst; + clkout1_out <= transport clk1_out when fb_delay_found = '1' else clkfb_tst; + clkout2_out <= transport clk2_out when fb_delay_found = '1' else clkfb_tst; + clkout3_out <= transport clk3_out when fb_delay_found = '1' else clkfb_tst; + clkout4_out <= transport clk4_out when fb_delay_found = '1' else clkfb_tst; + clkout5_out <= transport clk5_out when fb_delay_found = '1' else clkfb_tst; + clkfb_out <= transport clkfbm1_out when fb_delay_found = '1' else clkfb_tst; + + CLKFB_TST_P : process (clkpll_r, rst_in) + begin + if (rst_in = '1') then + clkfb_tst <= '0'; + elsif (rising_edge(clkpll_r)) then + if (fb_delay_found_tmp = '0' and pwron_int = '0') then + clkfb_tst <= '1'; + else + clkfb_tst <= '0'; + end if; + end if; + end process; + + FB_DELAY_CAL_P0 : process (clkfb_tst, rst_in) + begin + if (rst_in = '1') then + delay_edge <= 0 ps; + elsif (rising_edge(clkfb_tst)) then + delay_edge <= NOW; + end if; + end process; + + FB_DELAY_CAL_P : process (clkfb_in, rst_in) + variable delay_edge1 : time := 0 ps; + variable fb_delay_tmp : time := 0 ps; + variable Message : line; + begin + if (rst_in = '1') then + fb_delay <= 0 ps; + fb_delay_found_tmp <= '0'; + delay_edge1 := 0 ps; + fb_delay_tmp := 0 ps; + elsif (clkfb_in'event and clkfb_in = '1') then + if (fb_delay_found_tmp = '0') then + if (delay_edge /= 0 ps) then + delay_edge1 := NOW; + fb_delay_tmp := delay_edge1 - delay_edge; + else + fb_delay_tmp := 0 ps; + end if; + fb_delay <= fb_delay_tmp; + fb_delay_found_tmp <= '1'; + if (rst_in = '0' and (fb_delay_tmp > fb_delay_max)) then + Write ( Message, string'(" Warning : The feedback delay is ")); + Write ( Message, fb_delay_tmp); + Write ( Message, string'(". It is over the maximun value ")); + Write ( Message, fb_delay_max); + Write ( Message, '.' & LF ); + assert false report Message.all severity warning; + DEALLOCATE (Message); + end if; + end if; + end if; + end process; + + fb_delay_found_P : process(fb_delay_found_tmp, clkvco_delay, rst_in) + begin + if (rst_in = '1') then + fb_delay_found <= '0'; + elsif (clkvco_delay = 0 ps) then + fb_delay_found <= fb_delay_found_tmp after 1 ns; + else + fb_delay_found <= fb_delay_found_tmp after clkvco_delay; + end if; + end process; + +end PLLE2_ADV_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/vhdl_analyze_order b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/vhdl_analyze_order new file mode 100644 index 0000000..230a93d --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/primitive/vhdl_analyze_order @@ -0,0 +1,3 @@ +DSP48E1.vhd +MMCME2_ADV.vhd +PLLE2_ADV.vhd diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTHE2_CHANNEL.vhd b/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTHE2_CHANNEL.vhd new file mode 100644 index 0000000..6c33e83 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTHE2_CHANNEL.vhd @@ -0,0 +1,3959 @@ +------------------------------------------------------- +-- Copyright (c) 2011 Xilinx Inc. +-- All Right Reserved. +------------------------------------------------------- +-- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.4 +-- \ \ Description : +-- / / +-- /___/ /\ Filename : GTHE2_CHANNEL.vhd +-- \ \ / \ +-- \__ \/\__ \ +-- +-- Revision: 1.0 +-- 04/13/11 - 605801 - Initial version +-- 05/24/11 - 610034 - Secureip model added +-- 09/22/11 - 624065 - YML update +-- 10/17/12 - 682802 - convert GSR H/L to 1/0 +-- 11/08/12 - 686590 - YML default attribute changes +-- 01/23/13 - Added DRP monitor (CR 695630). +-- 06/19/14 - PR785721 - IS_*INVERTED update from std_ulogic to bit +------------------------------------------------------- + + +----- CELL GTHE2_CHANNEL ----- + +library IEEE; +use IEEE.STD_LOGIC_arith.all; +use IEEE.STD_LOGIC_1164.all; + +library unisim; +use unisim.VCOMPONENTS.all; +use unisim.vpkg.all; + +library secureip; +use secureip.all; + + entity GTHE2_CHANNEL is + generic ( + ACJTAG_DEBUG_MODE : bit := '0'; + ACJTAG_MODE : bit := '0'; + ACJTAG_RESET : bit := '0'; + ADAPT_CFG0 : bit_vector := X"00C10"; + ALIGN_COMMA_DOUBLE : string := "FALSE"; + ALIGN_COMMA_ENABLE : bit_vector := "0001111111"; + ALIGN_COMMA_WORD : integer := 1; + ALIGN_MCOMMA_DET : string := "TRUE"; + ALIGN_MCOMMA_VALUE : bit_vector := "1010000011"; + ALIGN_PCOMMA_DET : string := "TRUE"; + ALIGN_PCOMMA_VALUE : bit_vector := "0101111100"; + A_RXOSCALRESET : bit := '0'; + CBCC_DATA_SOURCE_SEL : string := "DECODED"; + CFOK_CFG : bit_vector := X"24800040E80"; + CFOK_CFG2 : bit_vector := "100000"; + CFOK_CFG3 : bit_vector := "100000"; + CHAN_BOND_KEEP_ALIGN : string := "FALSE"; + CHAN_BOND_MAX_SKEW : integer := 7; + CHAN_BOND_SEQ_1_1 : bit_vector := "0101111100"; + CHAN_BOND_SEQ_1_2 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_3 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_4 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_ENABLE : bit_vector := "1111"; + CHAN_BOND_SEQ_2_1 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_2 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_3 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_4 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_ENABLE : bit_vector := "1111"; + CHAN_BOND_SEQ_2_USE : string := "FALSE"; + CHAN_BOND_SEQ_LEN : integer := 1; + CLK_CORRECT_USE : string := "TRUE"; + CLK_COR_KEEP_IDLE : string := "FALSE"; + CLK_COR_MAX_LAT : integer := 20; + CLK_COR_MIN_LAT : integer := 18; + CLK_COR_PRECEDENCE : string := "TRUE"; + CLK_COR_REPEAT_WAIT : integer := 0; + CLK_COR_SEQ_1_1 : bit_vector := "0100011100"; + CLK_COR_SEQ_1_2 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_3 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_4 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_ENABLE : bit_vector := "1111"; + CLK_COR_SEQ_2_1 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_2 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_3 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_4 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_ENABLE : bit_vector := "1111"; + CLK_COR_SEQ_2_USE : string := "FALSE"; + CLK_COR_SEQ_LEN : integer := 1; + CPLL_CFG : bit_vector := X"00BC07DC"; + CPLL_FBDIV : integer := 4; + CPLL_FBDIV_45 : integer := 5; + CPLL_INIT_CFG : bit_vector := X"00001E"; + CPLL_LOCK_CFG : bit_vector := X"01E8"; + CPLL_REFCLK_DIV : integer := 1; + DEC_MCOMMA_DETECT : string := "TRUE"; + DEC_PCOMMA_DETECT : string := "TRUE"; + DEC_VALID_COMMA_ONLY : string := "TRUE"; + DMONITOR_CFG : bit_vector := X"000A00"; + ES_CLK_PHASE_SEL : bit := '0'; + ES_CONTROL : bit_vector := "000000"; + ES_ERRDET_EN : string := "FALSE"; + ES_EYE_SCAN_EN : string := "TRUE"; + ES_HORZ_OFFSET : bit_vector := X"000"; + ES_PMA_CFG : bit_vector := "0000000000"; + ES_PRESCALE : bit_vector := "00000"; + ES_QUALIFIER : bit_vector := X"00000000000000000000"; + ES_QUAL_MASK : bit_vector := X"00000000000000000000"; + ES_SDATA_MASK : bit_vector := X"00000000000000000000"; + ES_VERT_OFFSET : bit_vector := "000000000"; + FTS_DESKEW_SEQ_ENABLE : bit_vector := "1111"; + FTS_LANE_DESKEW_CFG : bit_vector := "1111"; + FTS_LANE_DESKEW_EN : string := "FALSE"; + GEARBOX_MODE : bit_vector := "000"; + IS_CLKRSVD0_INVERTED : bit := '0'; + IS_CLKRSVD1_INVERTED : bit := '0'; + IS_CPLLLOCKDETCLK_INVERTED : bit := '0'; + IS_DMONITORCLK_INVERTED : bit := '0'; + IS_DRPCLK_INVERTED : bit := '0'; + IS_GTGREFCLK_INVERTED : bit := '0'; + IS_RXUSRCLK2_INVERTED : bit := '0'; + IS_RXUSRCLK_INVERTED : bit := '0'; + IS_SIGVALIDCLK_INVERTED : bit := '0'; + IS_TXPHDLYTSTCLK_INVERTED : bit := '0'; + IS_TXUSRCLK2_INVERTED : bit := '0'; + IS_TXUSRCLK_INVERTED : bit := '0'; + LOOPBACK_CFG : bit := '0'; + OUTREFCLK_SEL_INV : bit_vector := "11"; + PCS_PCIE_EN : string := "FALSE"; + PCS_RSVD_ATTR : bit_vector := X"000000000000"; + PD_TRANS_TIME_FROM_P2 : bit_vector := X"03C"; + PD_TRANS_TIME_NONE_P2 : bit_vector := X"19"; + PD_TRANS_TIME_TO_P2 : bit_vector := X"64"; + PMA_RSV : bit_vector := "00000000000000000000000010000000"; + PMA_RSV2 : bit_vector := "00011100000000000000000000001010"; + PMA_RSV3 : bit_vector := "00"; + PMA_RSV4 : bit_vector := "000000000001000"; + PMA_RSV5 : bit_vector := "0000"; + RESET_POWERSAVE_DISABLE : bit := '0'; + RXBUFRESET_TIME : bit_vector := "00001"; + RXBUF_ADDR_MODE : string := "FULL"; + RXBUF_EIDLE_HI_CNT : bit_vector := "1000"; + RXBUF_EIDLE_LO_CNT : bit_vector := "0000"; + RXBUF_EN : string := "TRUE"; + RXBUF_RESET_ON_CB_CHANGE : string := "TRUE"; + RXBUF_RESET_ON_COMMAALIGN : string := "FALSE"; + RXBUF_RESET_ON_EIDLE : string := "FALSE"; + RXBUF_RESET_ON_RATE_CHANGE : string := "TRUE"; + RXBUF_THRESH_OVFLW : integer := 61; + RXBUF_THRESH_OVRD : string := "FALSE"; + RXBUF_THRESH_UNDFLW : integer := 4; + RXCDRFREQRESET_TIME : bit_vector := "00001"; + RXCDRPHRESET_TIME : bit_vector := "00001"; + RXCDR_CFG : bit_vector := X"0002007FE2000C208001A"; + RXCDR_FR_RESET_ON_EIDLE : bit := '0'; + RXCDR_HOLD_DURING_EIDLE : bit := '0'; + RXCDR_LOCK_CFG : bit_vector := "001001"; + RXCDR_PH_RESET_ON_EIDLE : bit := '0'; + RXDFELPMRESET_TIME : bit_vector := "0001111"; + RXDLY_CFG : bit_vector := X"001F"; + RXDLY_LCFG : bit_vector := X"030"; + RXDLY_TAP_CFG : bit_vector := X"0000"; + RXGEARBOX_EN : string := "FALSE"; + RXISCANRESET_TIME : bit_vector := "00001"; + RXLPM_HF_CFG : bit_vector := "00001000000000"; + RXLPM_LF_CFG : bit_vector := "001001000000000000"; + RXOOB_CFG : bit_vector := "0000110"; + RXOOB_CLK_CFG : string := "PMA"; + RXOSCALRESET_TIME : bit_vector := "00011"; + RXOSCALRESET_TIMEOUT : bit_vector := "00000"; + RXOUT_DIV : integer := 2; + RXPCSRESET_TIME : bit_vector := "00001"; + RXPHDLY_CFG : bit_vector := X"084020"; + RXPH_CFG : bit_vector := X"C00002"; + RXPH_MONITOR_SEL : bit_vector := "00000"; + RXPI_CFG0 : bit_vector := "00"; + RXPI_CFG1 : bit_vector := "00"; + RXPI_CFG2 : bit_vector := "00"; + RXPI_CFG3 : bit_vector := "00"; + RXPI_CFG4 : bit := '0'; + RXPI_CFG5 : bit := '0'; + RXPI_CFG6 : bit_vector := "100"; + RXPMARESET_TIME : bit_vector := "00011"; + RXPRBS_ERR_LOOPBACK : bit := '0'; + RXSLIDE_AUTO_WAIT : integer := 7; + RXSLIDE_MODE : string := "OFF"; + RXSYNC_MULTILANE : bit := '0'; + RXSYNC_OVRD : bit := '0'; + RXSYNC_SKIP_DA : bit := '0'; + RX_BIAS_CFG : bit_vector := "000011000000000000010000"; + RX_BUFFER_CFG : bit_vector := "000000"; + RX_CLK25_DIV : integer := 7; + RX_CLKMUX_PD : bit := '1'; + RX_CM_SEL : bit_vector := "11"; + RX_CM_TRIM : bit_vector := "0100"; + RX_DATA_WIDTH : integer := 20; + RX_DDI_SEL : bit_vector := "000000"; + RX_DEBUG_CFG : bit_vector := "00000000000000"; + RX_DEFER_RESET_BUF_EN : string := "TRUE"; + RX_DFELPM_CFG0 : bit_vector := "0110"; + RX_DFELPM_CFG1 : bit := '0'; + RX_DFELPM_KLKH_AGC_STUP_EN : bit := '1'; + RX_DFE_AGC_CFG0 : bit_vector := "00"; + RX_DFE_AGC_CFG1 : bit_vector := "010"; + RX_DFE_AGC_CFG2 : bit_vector := "0000"; + RX_DFE_AGC_OVRDEN : bit := '1'; + RX_DFE_GAIN_CFG : bit_vector := X"0020C0"; + RX_DFE_H2_CFG : bit_vector := "000000000000"; + RX_DFE_H3_CFG : bit_vector := "000001000000"; + RX_DFE_H4_CFG : bit_vector := "00011100000"; + RX_DFE_H5_CFG : bit_vector := "00011100000"; + RX_DFE_H6_CFG : bit_vector := "00000100000"; + RX_DFE_H7_CFG : bit_vector := "00000100000"; + RX_DFE_KL_CFG : bit_vector := "000000000000000000000001100010000"; + RX_DFE_KL_LPM_KH_CFG0 : bit_vector := "01"; + RX_DFE_KL_LPM_KH_CFG1 : bit_vector := "010"; + RX_DFE_KL_LPM_KH_CFG2 : bit_vector := "0010"; + RX_DFE_KL_LPM_KH_OVRDEN : bit := '1'; + RX_DFE_KL_LPM_KL_CFG0 : bit_vector := "10"; + RX_DFE_KL_LPM_KL_CFG1 : bit_vector := "010"; + RX_DFE_KL_LPM_KL_CFG2 : bit_vector := "0010"; + RX_DFE_KL_LPM_KL_OVRDEN : bit := '1'; + RX_DFE_LPM_CFG : bit_vector := X"0080"; + RX_DFE_LPM_HOLD_DURING_EIDLE : bit := '0'; + RX_DFE_ST_CFG : bit_vector := X"00E100000C003F"; + RX_DFE_UT_CFG : bit_vector := "00011100000000000"; + RX_DFE_VP_CFG : bit_vector := "00011101010100011"; + RX_DISPERR_SEQ_MATCH : string := "TRUE"; + RX_INT_DATAWIDTH : integer := 0; + RX_OS_CFG : bit_vector := "0000010000000"; + RX_SIG_VALID_DLY : integer := 10; + RX_XCLK_SEL : string := "RXREC"; + SAS_MAX_COM : integer := 64; + SAS_MIN_COM : integer := 36; + SATA_BURST_SEQ_LEN : bit_vector := "1111"; + SATA_BURST_VAL : bit_vector := "100"; + SATA_CPLL_CFG : string := "VCO_3000MHZ"; + SATA_EIDLE_VAL : bit_vector := "100"; + SATA_MAX_BURST : integer := 8; + SATA_MAX_INIT : integer := 21; + SATA_MAX_WAKE : integer := 7; + SATA_MIN_BURST : integer := 4; + SATA_MIN_INIT : integer := 12; + SATA_MIN_WAKE : integer := 4; + SHOW_REALIGN_COMMA : string := "TRUE"; + SIM_CPLLREFCLK_SEL : bit_vector := "001"; + SIM_RECEIVER_DETECT_PASS : string := "TRUE"; + SIM_RESET_SPEEDUP : string := "TRUE"; + SIM_TX_EIDLE_DRIVE_LEVEL : string := "X"; + SIM_VERSION : string := "1.1"; + TERM_RCAL_CFG : bit_vector := "100001000010000"; + TERM_RCAL_OVRD : bit_vector := "000"; + TRANS_TIME_RATE : bit_vector := X"0E"; + TST_RSV : bit_vector := X"00000000"; + TXBUF_EN : string := "TRUE"; + TXBUF_RESET_ON_RATE_CHANGE : string := "FALSE"; + TXDLY_CFG : bit_vector := X"001F"; + TXDLY_LCFG : bit_vector := X"030"; + TXDLY_TAP_CFG : bit_vector := X"0000"; + TXGEARBOX_EN : string := "FALSE"; + TXOOB_CFG : bit := '0'; + TXOUT_DIV : integer := 2; + TXPCSRESET_TIME : bit_vector := "00001"; + TXPHDLY_CFG : bit_vector := X"084020"; + TXPH_CFG : bit_vector := X"0780"; + TXPH_MONITOR_SEL : bit_vector := "00000"; + TXPI_CFG0 : bit_vector := "00"; + TXPI_CFG1 : bit_vector := "00"; + TXPI_CFG2 : bit_vector := "00"; + TXPI_CFG3 : bit := '0'; + TXPI_CFG4 : bit := '0'; + TXPI_CFG5 : bit_vector := "100"; + TXPI_GREY_SEL : bit := '0'; + TXPI_INVSTROBE_SEL : bit := '0'; + TXPI_PPMCLK_SEL : string := "TXUSRCLK2"; + TXPI_PPM_CFG : bit_vector := "00000000"; + TXPI_SYNFREQ_PPM : bit_vector := "000"; + TXPMARESET_TIME : bit_vector := "00001"; + TXSYNC_MULTILANE : bit := '0'; + TXSYNC_OVRD : bit := '0'; + TXSYNC_SKIP_DA : bit := '0'; + TX_CLK25_DIV : integer := 7; + TX_CLKMUX_PD : bit := '1'; + TX_DATA_WIDTH : integer := 20; + TX_DEEMPH0 : bit_vector := "000000"; + TX_DEEMPH1 : bit_vector := "000000"; + TX_DRIVE_MODE : string := "DIRECT"; + TX_EIDLE_ASSERT_DELAY : bit_vector := "110"; + TX_EIDLE_DEASSERT_DELAY : bit_vector := "100"; + TX_INT_DATAWIDTH : integer := 0; + TX_LOOPBACK_DRIVE_HIZ : string := "FALSE"; + TX_MAINCURSOR_SEL : bit := '0'; + TX_MARGIN_FULL_0 : bit_vector := "1001110"; + TX_MARGIN_FULL_1 : bit_vector := "1001001"; + TX_MARGIN_FULL_2 : bit_vector := "1000101"; + TX_MARGIN_FULL_3 : bit_vector := "1000010"; + TX_MARGIN_FULL_4 : bit_vector := "1000000"; + TX_MARGIN_LOW_0 : bit_vector := "1000110"; + TX_MARGIN_LOW_1 : bit_vector := "1000100"; + TX_MARGIN_LOW_2 : bit_vector := "1000010"; + TX_MARGIN_LOW_3 : bit_vector := "1000000"; + TX_MARGIN_LOW_4 : bit_vector := "1000000"; + TX_QPI_STATUS_EN : bit := '0'; + TX_RXDETECT_CFG : bit_vector := X"1832"; + TX_RXDETECT_PRECHARGE_TIME : bit_vector := X"00000"; + TX_RXDETECT_REF : bit_vector := "100"; + TX_XCLK_SEL : string := "TXUSR"; + UCODEER_CLR : bit := '0'; + USE_PCS_CLK_PHASE_SEL : bit := '0' + ); + + port ( + CPLLFBCLKLOST : out std_ulogic; + CPLLLOCK : out std_ulogic; + CPLLREFCLKLOST : out std_ulogic; + DMONITOROUT : out std_logic_vector(14 downto 0); + DRPDO : out std_logic_vector(15 downto 0); + DRPRDY : out std_ulogic; + EYESCANDATAERROR : out std_ulogic; + GTHTXN : out std_ulogic; + GTHTXP : out std_ulogic; + GTREFCLKMONITOR : out std_ulogic; + PCSRSVDOUT : out std_logic_vector(15 downto 0); + PHYSTATUS : out std_ulogic; + RSOSINTDONE : out std_ulogic; + RXBUFSTATUS : out std_logic_vector(2 downto 0); + RXBYTEISALIGNED : out std_ulogic; + RXBYTEREALIGN : out std_ulogic; + RXCDRLOCK : out std_ulogic; + RXCHANBONDSEQ : out std_ulogic; + RXCHANISALIGNED : out std_ulogic; + RXCHANREALIGN : out std_ulogic; + RXCHARISCOMMA : out std_logic_vector(7 downto 0); + RXCHARISK : out std_logic_vector(7 downto 0); + RXCHBONDO : out std_logic_vector(4 downto 0); + RXCLKCORCNT : out std_logic_vector(1 downto 0); + RXCOMINITDET : out std_ulogic; + RXCOMMADET : out std_ulogic; + RXCOMSASDET : out std_ulogic; + RXCOMWAKEDET : out std_ulogic; + RXDATA : out std_logic_vector(63 downto 0); + RXDATAVALID : out std_logic_vector(1 downto 0); + RXDFESLIDETAPSTARTED : out std_ulogic; + RXDFESLIDETAPSTROBEDONE : out std_ulogic; + RXDFESLIDETAPSTROBESTARTED : out std_ulogic; + RXDFESTADAPTDONE : out std_ulogic; + RXDISPERR : out std_logic_vector(7 downto 0); + RXDLYSRESETDONE : out std_ulogic; + RXELECIDLE : out std_ulogic; + RXHEADER : out std_logic_vector(5 downto 0); + RXHEADERVALID : out std_logic_vector(1 downto 0); + RXMONITOROUT : out std_logic_vector(6 downto 0); + RXNOTINTABLE : out std_logic_vector(7 downto 0); + RXOSINTSTARTED : out std_ulogic; + RXOSINTSTROBEDONE : out std_ulogic; + RXOSINTSTROBESTARTED : out std_ulogic; + RXOUTCLK : out std_ulogic; + RXOUTCLKFABRIC : out std_ulogic; + RXOUTCLKPCS : out std_ulogic; + RXPHALIGNDONE : out std_ulogic; + RXPHMONITOR : out std_logic_vector(4 downto 0); + RXPHSLIPMONITOR : out std_logic_vector(4 downto 0); + RXPMARESETDONE : out std_ulogic; + RXPRBSERR : out std_ulogic; + RXQPISENN : out std_ulogic; + RXQPISENP : out std_ulogic; + RXRATEDONE : out std_ulogic; + RXRESETDONE : out std_ulogic; + RXSTARTOFSEQ : out std_logic_vector(1 downto 0); + RXSTATUS : out std_logic_vector(2 downto 0); + RXSYNCDONE : out std_ulogic; + RXSYNCOUT : out std_ulogic; + RXVALID : out std_ulogic; + TXBUFSTATUS : out std_logic_vector(1 downto 0); + TXCOMFINISH : out std_ulogic; + TXDLYSRESETDONE : out std_ulogic; + TXGEARBOXREADY : out std_ulogic; + TXOUTCLK : out std_ulogic; + TXOUTCLKFABRIC : out std_ulogic; + TXOUTCLKPCS : out std_ulogic; + TXPHALIGNDONE : out std_ulogic; + TXPHINITDONE : out std_ulogic; + TXPMARESETDONE : out std_ulogic; + TXQPISENN : out std_ulogic; + TXQPISENP : out std_ulogic; + TXRATEDONE : out std_ulogic; + TXRESETDONE : out std_ulogic; + TXSYNCDONE : out std_ulogic; + TXSYNCOUT : out std_ulogic; + CFGRESET : in std_ulogic; + CLKRSVD0 : in std_ulogic; + CLKRSVD1 : in std_ulogic; + CPLLLOCKDETCLK : in std_ulogic; + CPLLLOCKEN : in std_ulogic; + CPLLPD : in std_ulogic; + CPLLREFCLKSEL : in std_logic_vector(2 downto 0); + CPLLRESET : in std_ulogic; + DMONFIFORESET : in std_ulogic; + DMONITORCLK : in std_ulogic; + DRPADDR : in std_logic_vector(8 downto 0); + DRPCLK : in std_ulogic; + DRPDI : in std_logic_vector(15 downto 0); + DRPEN : in std_ulogic; + DRPWE : in std_ulogic; + EYESCANMODE : in std_ulogic; + EYESCANRESET : in std_ulogic; + EYESCANTRIGGER : in std_ulogic; + GTGREFCLK : in std_ulogic; + GTHRXN : in std_ulogic; + GTHRXP : in std_ulogic; + GTNORTHREFCLK0 : in std_ulogic; + GTNORTHREFCLK1 : in std_ulogic; + GTREFCLK0 : in std_ulogic; + GTREFCLK1 : in std_ulogic; + GTRESETSEL : in std_ulogic; + GTRSVD : in std_logic_vector(15 downto 0); + GTRXRESET : in std_ulogic; + GTSOUTHREFCLK0 : in std_ulogic; + GTSOUTHREFCLK1 : in std_ulogic; + GTTXRESET : in std_ulogic; + LOOPBACK : in std_logic_vector(2 downto 0); + PCSRSVDIN : in std_logic_vector(15 downto 0); + PCSRSVDIN2 : in std_logic_vector(4 downto 0); + PMARSVDIN : in std_logic_vector(4 downto 0); + QPLLCLK : in std_ulogic; + QPLLREFCLK : in std_ulogic; + RESETOVRD : in std_ulogic; + RX8B10BEN : in std_ulogic; + RXADAPTSELTEST : in std_logic_vector(13 downto 0); + RXBUFRESET : in std_ulogic; + RXCDRFREQRESET : in std_ulogic; + RXCDRHOLD : in std_ulogic; + RXCDROVRDEN : in std_ulogic; + RXCDRRESET : in std_ulogic; + RXCDRRESETRSV : in std_ulogic; + RXCHBONDEN : in std_ulogic; + RXCHBONDI : in std_logic_vector(4 downto 0); + RXCHBONDLEVEL : in std_logic_vector(2 downto 0); + RXCHBONDMASTER : in std_ulogic; + RXCHBONDSLAVE : in std_ulogic; + RXCOMMADETEN : in std_ulogic; + RXDDIEN : in std_ulogic; + RXDFEAGCHOLD : in std_ulogic; + RXDFEAGCOVRDEN : in std_ulogic; + RXDFEAGCTRL : in std_logic_vector(4 downto 0); + RXDFECM1EN : in std_ulogic; + RXDFELFHOLD : in std_ulogic; + RXDFELFOVRDEN : in std_ulogic; + RXDFELPMRESET : in std_ulogic; + RXDFESLIDETAP : in std_logic_vector(4 downto 0); + RXDFESLIDETAPADAPTEN : in std_ulogic; + RXDFESLIDETAPHOLD : in std_ulogic; + RXDFESLIDETAPID : in std_logic_vector(5 downto 0); + RXDFESLIDETAPINITOVRDEN : in std_ulogic; + RXDFESLIDETAPONLYADAPTEN : in std_ulogic; + RXDFESLIDETAPOVRDEN : in std_ulogic; + RXDFESLIDETAPSTROBE : in std_ulogic; + RXDFETAP2HOLD : in std_ulogic; + RXDFETAP2OVRDEN : in std_ulogic; + RXDFETAP3HOLD : in std_ulogic; + RXDFETAP3OVRDEN : in std_ulogic; + RXDFETAP4HOLD : in std_ulogic; + RXDFETAP4OVRDEN : in std_ulogic; + RXDFETAP5HOLD : in std_ulogic; + RXDFETAP5OVRDEN : in std_ulogic; + RXDFETAP6HOLD : in std_ulogic; + RXDFETAP6OVRDEN : in std_ulogic; + RXDFETAP7HOLD : in std_ulogic; + RXDFETAP7OVRDEN : in std_ulogic; + RXDFEUTHOLD : in std_ulogic; + RXDFEUTOVRDEN : in std_ulogic; + RXDFEVPHOLD : in std_ulogic; + RXDFEVPOVRDEN : in std_ulogic; + RXDFEVSEN : in std_ulogic; + RXDFEXYDEN : in std_ulogic; + RXDLYBYPASS : in std_ulogic; + RXDLYEN : in std_ulogic; + RXDLYOVRDEN : in std_ulogic; + RXDLYSRESET : in std_ulogic; + RXELECIDLEMODE : in std_logic_vector(1 downto 0); + RXGEARBOXSLIP : in std_ulogic; + RXLPMEN : in std_ulogic; + RXLPMHFHOLD : in std_ulogic; + RXLPMHFOVRDEN : in std_ulogic; + RXLPMLFHOLD : in std_ulogic; + RXLPMLFKLOVRDEN : in std_ulogic; + RXMCOMMAALIGNEN : in std_ulogic; + RXMONITORSEL : in std_logic_vector(1 downto 0); + RXOOBRESET : in std_ulogic; + RXOSCALRESET : in std_ulogic; + RXOSHOLD : in std_ulogic; + RXOSINTCFG : in std_logic_vector(3 downto 0); + RXOSINTEN : in std_ulogic; + RXOSINTHOLD : in std_ulogic; + RXOSINTID0 : in std_logic_vector(3 downto 0); + RXOSINTNTRLEN : in std_ulogic; + RXOSINTOVRDEN : in std_ulogic; + RXOSINTSTROBE : in std_ulogic; + RXOSINTTESTOVRDEN : in std_ulogic; + RXOSOVRDEN : in std_ulogic; + RXOUTCLKSEL : in std_logic_vector(2 downto 0); + RXPCOMMAALIGNEN : in std_ulogic; + RXPCSRESET : in std_ulogic; + RXPD : in std_logic_vector(1 downto 0); + RXPHALIGN : in std_ulogic; + RXPHALIGNEN : in std_ulogic; + RXPHDLYPD : in std_ulogic; + RXPHDLYRESET : in std_ulogic; + RXPHOVRDEN : in std_ulogic; + RXPMARESET : in std_ulogic; + RXPOLARITY : in std_ulogic; + RXPRBSCNTRESET : in std_ulogic; + RXPRBSSEL : in std_logic_vector(2 downto 0); + RXQPIEN : in std_ulogic; + RXRATE : in std_logic_vector(2 downto 0); + RXRATEMODE : in std_ulogic; + RXSLIDE : in std_ulogic; + RXSYNCALLIN : in std_ulogic; + RXSYNCIN : in std_ulogic; + RXSYNCMODE : in std_ulogic; + RXSYSCLKSEL : in std_logic_vector(1 downto 0); + RXUSERRDY : in std_ulogic; + RXUSRCLK : in std_ulogic; + RXUSRCLK2 : in std_ulogic; + SETERRSTATUS : in std_ulogic; + SIGVALIDCLK : in std_ulogic; + TSTIN : in std_logic_vector(19 downto 0); + TX8B10BBYPASS : in std_logic_vector(7 downto 0); + TX8B10BEN : in std_ulogic; + TXBUFDIFFCTRL : in std_logic_vector(2 downto 0); + TXCHARDISPMODE : in std_logic_vector(7 downto 0); + TXCHARDISPVAL : in std_logic_vector(7 downto 0); + TXCHARISK : in std_logic_vector(7 downto 0); + TXCOMINIT : in std_ulogic; + TXCOMSAS : in std_ulogic; + TXCOMWAKE : in std_ulogic; + TXDATA : in std_logic_vector(63 downto 0); + TXDEEMPH : in std_ulogic; + TXDETECTRX : in std_ulogic; + TXDIFFCTRL : in std_logic_vector(3 downto 0); + TXDIFFPD : in std_ulogic; + TXDLYBYPASS : in std_ulogic; + TXDLYEN : in std_ulogic; + TXDLYHOLD : in std_ulogic; + TXDLYOVRDEN : in std_ulogic; + TXDLYSRESET : in std_ulogic; + TXDLYUPDOWN : in std_ulogic; + TXELECIDLE : in std_ulogic; + TXHEADER : in std_logic_vector(2 downto 0); + TXINHIBIT : in std_ulogic; + TXMAINCURSOR : in std_logic_vector(6 downto 0); + TXMARGIN : in std_logic_vector(2 downto 0); + TXOUTCLKSEL : in std_logic_vector(2 downto 0); + TXPCSRESET : in std_ulogic; + TXPD : in std_logic_vector(1 downto 0); + TXPDELECIDLEMODE : in std_ulogic; + TXPHALIGN : in std_ulogic; + TXPHALIGNEN : in std_ulogic; + TXPHDLYPD : in std_ulogic; + TXPHDLYRESET : in std_ulogic; + TXPHDLYTSTCLK : in std_ulogic; + TXPHINIT : in std_ulogic; + TXPHOVRDEN : in std_ulogic; + TXPIPPMEN : in std_ulogic; + TXPIPPMOVRDEN : in std_ulogic; + TXPIPPMPD : in std_ulogic; + TXPIPPMSEL : in std_ulogic; + TXPIPPMSTEPSIZE : in std_logic_vector(4 downto 0); + TXPISOPD : in std_ulogic; + TXPMARESET : in std_ulogic; + TXPOLARITY : in std_ulogic; + TXPOSTCURSOR : in std_logic_vector(4 downto 0); + TXPOSTCURSORINV : in std_ulogic; + TXPRBSFORCEERR : in std_ulogic; + TXPRBSSEL : in std_logic_vector(2 downto 0); + TXPRECURSOR : in std_logic_vector(4 downto 0); + TXPRECURSORINV : in std_ulogic; + TXQPIBIASEN : in std_ulogic; + TXQPISTRONGPDOWN : in std_ulogic; + TXQPIWEAKPUP : in std_ulogic; + TXRATE : in std_logic_vector(2 downto 0); + TXRATEMODE : in std_ulogic; + TXSEQUENCE : in std_logic_vector(6 downto 0); + TXSTARTSEQ : in std_ulogic; + TXSWING : in std_ulogic; + TXSYNCALLIN : in std_ulogic; + TXSYNCIN : in std_ulogic; + TXSYNCMODE : in std_ulogic; + TXSYSCLKSEL : in std_logic_vector(1 downto 0); + TXUSERRDY : in std_ulogic; + TXUSRCLK : in std_ulogic; + TXUSRCLK2 : in std_ulogic + ); + end GTHE2_CHANNEL; + + architecture GTHE2_CHANNEL_FAST_V of GTHE2_CHANNEL is + component GTHE2_CHANNEL_FAST_WRAP + generic ( + ACJTAG_DEBUG_MODE : string; + ACJTAG_MODE : string; + ACJTAG_RESET : string; + ADAPT_CFG0 : string; + ALIGN_COMMA_DOUBLE : string; + ALIGN_COMMA_ENABLE : string; + ALIGN_COMMA_WORD : integer; + ALIGN_MCOMMA_DET : string; + ALIGN_MCOMMA_VALUE : string; + ALIGN_PCOMMA_DET : string; + ALIGN_PCOMMA_VALUE : string; + A_RXOSCALRESET : string; + CBCC_DATA_SOURCE_SEL : string; + CFOK_CFG : string; + CFOK_CFG2 : string; + CFOK_CFG3 : string; + CHAN_BOND_KEEP_ALIGN : string; + CHAN_BOND_MAX_SKEW : integer; + CHAN_BOND_SEQ_1_1 : string; + CHAN_BOND_SEQ_1_2 : string; + CHAN_BOND_SEQ_1_3 : string; + CHAN_BOND_SEQ_1_4 : string; + CHAN_BOND_SEQ_1_ENABLE : string; + CHAN_BOND_SEQ_2_1 : string; + CHAN_BOND_SEQ_2_2 : string; + CHAN_BOND_SEQ_2_3 : string; + CHAN_BOND_SEQ_2_4 : string; + CHAN_BOND_SEQ_2_ENABLE : string; + CHAN_BOND_SEQ_2_USE : string; + CHAN_BOND_SEQ_LEN : integer; + CLK_CORRECT_USE : string; + CLK_COR_KEEP_IDLE : string; + CLK_COR_MAX_LAT : integer; + CLK_COR_MIN_LAT : integer; + CLK_COR_PRECEDENCE : string; + CLK_COR_REPEAT_WAIT : integer; + CLK_COR_SEQ_1_1 : string; + CLK_COR_SEQ_1_2 : string; + CLK_COR_SEQ_1_3 : string; + CLK_COR_SEQ_1_4 : string; + CLK_COR_SEQ_1_ENABLE : string; + CLK_COR_SEQ_2_1 : string; + CLK_COR_SEQ_2_2 : string; + CLK_COR_SEQ_2_3 : string; + CLK_COR_SEQ_2_4 : string; + CLK_COR_SEQ_2_ENABLE : string; + CLK_COR_SEQ_2_USE : string; + CLK_COR_SEQ_LEN : integer; + CPLL_CFG : string; + CPLL_FBDIV : integer; + CPLL_FBDIV_45 : integer; + CPLL_INIT_CFG : string; + CPLL_LOCK_CFG : string; + CPLL_REFCLK_DIV : integer; + DEC_MCOMMA_DETECT : string; + DEC_PCOMMA_DETECT : string; + DEC_VALID_COMMA_ONLY : string; + DMONITOR_CFG : string; + ES_CLK_PHASE_SEL : string; + ES_CONTROL : string; + ES_ERRDET_EN : string; + ES_EYE_SCAN_EN : string; + ES_HORZ_OFFSET : string; + ES_PMA_CFG : string; + ES_PRESCALE : string; + ES_QUALIFIER : string; + ES_QUAL_MASK : string; + ES_SDATA_MASK : string; + ES_VERT_OFFSET : string; + FTS_DESKEW_SEQ_ENABLE : string; + FTS_LANE_DESKEW_CFG : string; + FTS_LANE_DESKEW_EN : string; + GEARBOX_MODE : string; + LOOPBACK_CFG : string; + OUTREFCLK_SEL_INV : string; + PCS_PCIE_EN : string; + PCS_RSVD_ATTR : string; + PD_TRANS_TIME_FROM_P2 : string; + PD_TRANS_TIME_NONE_P2 : string; + PD_TRANS_TIME_TO_P2 : string; + PMA_RSV : string; + PMA_RSV2 : string; + PMA_RSV3 : string; + PMA_RSV4 : string; + PMA_RSV5 : string; + RESET_POWERSAVE_DISABLE : string; + RXBUFRESET_TIME : string; + RXBUF_ADDR_MODE : string; + RXBUF_EIDLE_HI_CNT : string; + RXBUF_EIDLE_LO_CNT : string; + RXBUF_EN : string; + RXBUF_RESET_ON_CB_CHANGE : string; + RXBUF_RESET_ON_COMMAALIGN : string; + RXBUF_RESET_ON_EIDLE : string; + RXBUF_RESET_ON_RATE_CHANGE : string; + RXBUF_THRESH_OVFLW : integer; + RXBUF_THRESH_OVRD : string; + RXBUF_THRESH_UNDFLW : integer; + RXCDRFREQRESET_TIME : string; + RXCDRPHRESET_TIME : string; + RXCDR_CFG : string; + RXCDR_FR_RESET_ON_EIDLE : string; + RXCDR_HOLD_DURING_EIDLE : string; + RXCDR_LOCK_CFG : string; + RXCDR_PH_RESET_ON_EIDLE : string; + RXDFELPMRESET_TIME : string; + RXDLY_CFG : string; + RXDLY_LCFG : string; + RXDLY_TAP_CFG : string; + RXGEARBOX_EN : string; + RXISCANRESET_TIME : string; + RXLPM_HF_CFG : string; + RXLPM_LF_CFG : string; + RXOOB_CFG : string; + RXOOB_CLK_CFG : string; + RXOSCALRESET_TIME : string; + RXOSCALRESET_TIMEOUT : string; + RXOUT_DIV : integer; + RXPCSRESET_TIME : string; + RXPHDLY_CFG : string; + RXPH_CFG : string; + RXPH_MONITOR_SEL : string; + RXPI_CFG0 : string; + RXPI_CFG1 : string; + RXPI_CFG2 : string; + RXPI_CFG3 : string; + RXPI_CFG4 : string; + RXPI_CFG5 : string; + RXPI_CFG6 : string; + RXPMARESET_TIME : string; + RXPRBS_ERR_LOOPBACK : string; + RXSLIDE_AUTO_WAIT : integer; + RXSLIDE_MODE : string; + RXSYNC_MULTILANE : string; + RXSYNC_OVRD : string; + RXSYNC_SKIP_DA : string; + RX_BIAS_CFG : string; + RX_BUFFER_CFG : string; + RX_CLK25_DIV : integer; + RX_CLKMUX_PD : string; + RX_CM_SEL : string; + RX_CM_TRIM : string; + RX_DATA_WIDTH : integer; + RX_DDI_SEL : string; + RX_DEBUG_CFG : string; + RX_DEFER_RESET_BUF_EN : string; + RX_DFELPM_CFG0 : string; + RX_DFELPM_CFG1 : string; + RX_DFELPM_KLKH_AGC_STUP_EN : string; + RX_DFE_AGC_CFG0 : string; + RX_DFE_AGC_CFG1 : string; + RX_DFE_AGC_CFG2 : string; + RX_DFE_AGC_OVRDEN : string; + RX_DFE_GAIN_CFG : string; + RX_DFE_H2_CFG : string; + RX_DFE_H3_CFG : string; + RX_DFE_H4_CFG : string; + RX_DFE_H5_CFG : string; + RX_DFE_H6_CFG : string; + RX_DFE_H7_CFG : string; + RX_DFE_KL_CFG : string; + RX_DFE_KL_LPM_KH_CFG0 : string; + RX_DFE_KL_LPM_KH_CFG1 : string; + RX_DFE_KL_LPM_KH_CFG2 : string; + RX_DFE_KL_LPM_KH_OVRDEN : string; + RX_DFE_KL_LPM_KL_CFG0 : string; + RX_DFE_KL_LPM_KL_CFG1 : string; + RX_DFE_KL_LPM_KL_CFG2 : string; + RX_DFE_KL_LPM_KL_OVRDEN : string; + RX_DFE_LPM_CFG : string; + RX_DFE_LPM_HOLD_DURING_EIDLE : string; + RX_DFE_ST_CFG : string; + RX_DFE_UT_CFG : string; + RX_DFE_VP_CFG : string; + RX_DISPERR_SEQ_MATCH : string; + RX_INT_DATAWIDTH : integer; + RX_OS_CFG : string; + RX_SIG_VALID_DLY : integer; + RX_XCLK_SEL : string; + SAS_MAX_COM : integer; + SAS_MIN_COM : integer; + SATA_BURST_SEQ_LEN : string; + SATA_BURST_VAL : string; + SATA_CPLL_CFG : string; + SATA_EIDLE_VAL : string; + SATA_MAX_BURST : integer; + SATA_MAX_INIT : integer; + SATA_MAX_WAKE : integer; + SATA_MIN_BURST : integer; + SATA_MIN_INIT : integer; + SATA_MIN_WAKE : integer; + SHOW_REALIGN_COMMA : string; + SIM_CPLLREFCLK_SEL : string; + SIM_RECEIVER_DETECT_PASS : string; + SIM_RESET_SPEEDUP : string; + SIM_TX_EIDLE_DRIVE_LEVEL : string; + SIM_VERSION : string; + TERM_RCAL_CFG : string; + TERM_RCAL_OVRD : string; + TRANS_TIME_RATE : string; + TST_RSV : string; + TXBUF_EN : string; + TXBUF_RESET_ON_RATE_CHANGE : string; + TXDLY_CFG : string; + TXDLY_LCFG : string; + TXDLY_TAP_CFG : string; + TXGEARBOX_EN : string; + TXOOB_CFG : string; + TXOUT_DIV : integer; + TXPCSRESET_TIME : string; + TXPHDLY_CFG : string; + TXPH_CFG : string; + TXPH_MONITOR_SEL : string; + TXPI_CFG0 : string; + TXPI_CFG1 : string; + TXPI_CFG2 : string; + TXPI_CFG3 : string; + TXPI_CFG4 : string; + TXPI_CFG5 : string; + TXPI_GREY_SEL : string; + TXPI_INVSTROBE_SEL : string; + TXPI_PPMCLK_SEL : string; + TXPI_PPM_CFG : string; + TXPI_SYNFREQ_PPM : string; + TXPMARESET_TIME : string; + TXSYNC_MULTILANE : string; + TXSYNC_OVRD : string; + TXSYNC_SKIP_DA : string; + TX_CLK25_DIV : integer; + TX_CLKMUX_PD : string; + TX_DATA_WIDTH : integer; + TX_DEEMPH0 : string; + TX_DEEMPH1 : string; + TX_DRIVE_MODE : string; + TX_EIDLE_ASSERT_DELAY : string; + TX_EIDLE_DEASSERT_DELAY : string; + TX_INT_DATAWIDTH : integer; + TX_LOOPBACK_DRIVE_HIZ : string; + TX_MAINCURSOR_SEL : string; + TX_MARGIN_FULL_0 : string; + TX_MARGIN_FULL_1 : string; + TX_MARGIN_FULL_2 : string; + TX_MARGIN_FULL_3 : string; + TX_MARGIN_FULL_4 : string; + TX_MARGIN_LOW_0 : string; + TX_MARGIN_LOW_1 : string; + TX_MARGIN_LOW_2 : string; + TX_MARGIN_LOW_3 : string; + TX_MARGIN_LOW_4 : string; + TX_QPI_STATUS_EN : string; + TX_RXDETECT_CFG : string; + TX_RXDETECT_PRECHARGE_TIME : string; + TX_RXDETECT_REF : string; + TX_XCLK_SEL : string; + UCODEER_CLR : string; + USE_PCS_CLK_PHASE_SEL : string + ); + + port ( + CPLLFBCLKLOST : out std_ulogic; + CPLLLOCK : out std_ulogic; + CPLLREFCLKLOST : out std_ulogic; + DMONITOROUT : out std_logic_vector(14 downto 0); + DRPDO : out std_logic_vector(15 downto 0); + DRPRDY : out std_ulogic; + EYESCANDATAERROR : out std_ulogic; + GTHTXN : out std_ulogic; + GTHTXP : out std_ulogic; + GTREFCLKMONITOR : out std_ulogic; + PCSRSVDOUT : out std_logic_vector(15 downto 0); + PHYSTATUS : out std_ulogic; + RSOSINTDONE : out std_ulogic; + RXBUFSTATUS : out std_logic_vector(2 downto 0); + RXBYTEISALIGNED : out std_ulogic; + RXBYTEREALIGN : out std_ulogic; + RXCDRLOCK : out std_ulogic; + RXCHANBONDSEQ : out std_ulogic; + RXCHANISALIGNED : out std_ulogic; + RXCHANREALIGN : out std_ulogic; + RXCHARISCOMMA : out std_logic_vector(7 downto 0); + RXCHARISK : out std_logic_vector(7 downto 0); + RXCHBONDO : out std_logic_vector(4 downto 0); + RXCLKCORCNT : out std_logic_vector(1 downto 0); + RXCOMINITDET : out std_ulogic; + RXCOMMADET : out std_ulogic; + RXCOMSASDET : out std_ulogic; + RXCOMWAKEDET : out std_ulogic; + RXDATA : out std_logic_vector(63 downto 0); + RXDATAVALID : out std_logic_vector(1 downto 0); + RXDFESLIDETAPSTARTED : out std_ulogic; + RXDFESLIDETAPSTROBEDONE : out std_ulogic; + RXDFESLIDETAPSTROBESTARTED : out std_ulogic; + RXDFESTADAPTDONE : out std_ulogic; + RXDISPERR : out std_logic_vector(7 downto 0); + RXDLYSRESETDONE : out std_ulogic; + RXELECIDLE : out std_ulogic; + RXHEADER : out std_logic_vector(5 downto 0); + RXHEADERVALID : out std_logic_vector(1 downto 0); + RXMONITOROUT : out std_logic_vector(6 downto 0); + RXNOTINTABLE : out std_logic_vector(7 downto 0); + RXOSINTSTARTED : out std_ulogic; + RXOSINTSTROBEDONE : out std_ulogic; + RXOSINTSTROBESTARTED : out std_ulogic; + RXOUTCLK : out std_ulogic; + RXOUTCLKFABRIC : out std_ulogic; + RXOUTCLKPCS : out std_ulogic; + RXPHALIGNDONE : out std_ulogic; + RXPHMONITOR : out std_logic_vector(4 downto 0); + RXPHSLIPMONITOR : out std_logic_vector(4 downto 0); + RXPMARESETDONE : out std_ulogic; + RXPRBSERR : out std_ulogic; + RXQPISENN : out std_ulogic; + RXQPISENP : out std_ulogic; + RXRATEDONE : out std_ulogic; + RXRESETDONE : out std_ulogic; + RXSTARTOFSEQ : out std_logic_vector(1 downto 0); + RXSTATUS : out std_logic_vector(2 downto 0); + RXSYNCDONE : out std_ulogic; + RXSYNCOUT : out std_ulogic; + RXVALID : out std_ulogic; + TXBUFSTATUS : out std_logic_vector(1 downto 0); + TXCOMFINISH : out std_ulogic; + TXDLYSRESETDONE : out std_ulogic; + TXGEARBOXREADY : out std_ulogic; + TXOUTCLK : out std_ulogic; + TXOUTCLKFABRIC : out std_ulogic; + TXOUTCLKPCS : out std_ulogic; + TXPHALIGNDONE : out std_ulogic; + TXPHINITDONE : out std_ulogic; + TXPMARESETDONE : out std_ulogic; + TXQPISENN : out std_ulogic; + TXQPISENP : out std_ulogic; + TXRATEDONE : out std_ulogic; + TXRESETDONE : out std_ulogic; + TXSYNCDONE : out std_ulogic; + TXSYNCOUT : out std_ulogic; + + GSR : in std_ulogic; + CFGRESET : in std_ulogic; + CLKRSVD0 : in std_ulogic; + CLKRSVD1 : in std_ulogic; + CPLLLOCKDETCLK : in std_ulogic; + CPLLLOCKEN : in std_ulogic; + CPLLPD : in std_ulogic; + CPLLREFCLKSEL : in std_logic_vector(2 downto 0); + CPLLRESET : in std_ulogic; + DMONFIFORESET : in std_ulogic; + DMONITORCLK : in std_ulogic; + DRPADDR : in std_logic_vector(8 downto 0); + DRPCLK : in std_ulogic; + DRPDI : in std_logic_vector(15 downto 0); + DRPEN : in std_ulogic; + DRPWE : in std_ulogic; + EYESCANMODE : in std_ulogic; + EYESCANRESET : in std_ulogic; + EYESCANTRIGGER : in std_ulogic; + GTGREFCLK : in std_ulogic; + GTHRXN : in std_ulogic; + GTHRXP : in std_ulogic; + GTNORTHREFCLK0 : in std_ulogic; + GTNORTHREFCLK1 : in std_ulogic; + GTREFCLK0 : in std_ulogic; + GTREFCLK1 : in std_ulogic; + GTRESETSEL : in std_ulogic; + GTRSVD : in std_logic_vector(15 downto 0); + GTRXRESET : in std_ulogic; + GTSOUTHREFCLK0 : in std_ulogic; + GTSOUTHREFCLK1 : in std_ulogic; + GTTXRESET : in std_ulogic; + LOOPBACK : in std_logic_vector(2 downto 0); + PCSRSVDIN : in std_logic_vector(15 downto 0); + PCSRSVDIN2 : in std_logic_vector(4 downto 0); + PMARSVDIN : in std_logic_vector(4 downto 0); + QPLLCLK : in std_ulogic; + QPLLREFCLK : in std_ulogic; + RESETOVRD : in std_ulogic; + RX8B10BEN : in std_ulogic; + RXADAPTSELTEST : in std_logic_vector(13 downto 0); + RXBUFRESET : in std_ulogic; + RXCDRFREQRESET : in std_ulogic; + RXCDRHOLD : in std_ulogic; + RXCDROVRDEN : in std_ulogic; + RXCDRRESET : in std_ulogic; + RXCDRRESETRSV : in std_ulogic; + RXCHBONDEN : in std_ulogic; + RXCHBONDI : in std_logic_vector(4 downto 0); + RXCHBONDLEVEL : in std_logic_vector(2 downto 0); + RXCHBONDMASTER : in std_ulogic; + RXCHBONDSLAVE : in std_ulogic; + RXCOMMADETEN : in std_ulogic; + RXDDIEN : in std_ulogic; + RXDFEAGCHOLD : in std_ulogic; + RXDFEAGCOVRDEN : in std_ulogic; + RXDFEAGCTRL : in std_logic_vector(4 downto 0); + RXDFECM1EN : in std_ulogic; + RXDFELFHOLD : in std_ulogic; + RXDFELFOVRDEN : in std_ulogic; + RXDFELPMRESET : in std_ulogic; + RXDFESLIDETAP : in std_logic_vector(4 downto 0); + RXDFESLIDETAPADAPTEN : in std_ulogic; + RXDFESLIDETAPHOLD : in std_ulogic; + RXDFESLIDETAPID : in std_logic_vector(5 downto 0); + RXDFESLIDETAPINITOVRDEN : in std_ulogic; + RXDFESLIDETAPONLYADAPTEN : in std_ulogic; + RXDFESLIDETAPOVRDEN : in std_ulogic; + RXDFESLIDETAPSTROBE : in std_ulogic; + RXDFETAP2HOLD : in std_ulogic; + RXDFETAP2OVRDEN : in std_ulogic; + RXDFETAP3HOLD : in std_ulogic; + RXDFETAP3OVRDEN : in std_ulogic; + RXDFETAP4HOLD : in std_ulogic; + RXDFETAP4OVRDEN : in std_ulogic; + RXDFETAP5HOLD : in std_ulogic; + RXDFETAP5OVRDEN : in std_ulogic; + RXDFETAP6HOLD : in std_ulogic; + RXDFETAP6OVRDEN : in std_ulogic; + RXDFETAP7HOLD : in std_ulogic; + RXDFETAP7OVRDEN : in std_ulogic; + RXDFEUTHOLD : in std_ulogic; + RXDFEUTOVRDEN : in std_ulogic; + RXDFEVPHOLD : in std_ulogic; + RXDFEVPOVRDEN : in std_ulogic; + RXDFEVSEN : in std_ulogic; + RXDFEXYDEN : in std_ulogic; + RXDLYBYPASS : in std_ulogic; + RXDLYEN : in std_ulogic; + RXDLYOVRDEN : in std_ulogic; + RXDLYSRESET : in std_ulogic; + RXELECIDLEMODE : in std_logic_vector(1 downto 0); + RXGEARBOXSLIP : in std_ulogic; + RXLPMEN : in std_ulogic; + RXLPMHFHOLD : in std_ulogic; + RXLPMHFOVRDEN : in std_ulogic; + RXLPMLFHOLD : in std_ulogic; + RXLPMLFKLOVRDEN : in std_ulogic; + RXMCOMMAALIGNEN : in std_ulogic; + RXMONITORSEL : in std_logic_vector(1 downto 0); + RXOOBRESET : in std_ulogic; + RXOSCALRESET : in std_ulogic; + RXOSHOLD : in std_ulogic; + RXOSINTCFG : in std_logic_vector(3 downto 0); + RXOSINTEN : in std_ulogic; + RXOSINTHOLD : in std_ulogic; + RXOSINTID0 : in std_logic_vector(3 downto 0); + RXOSINTNTRLEN : in std_ulogic; + RXOSINTOVRDEN : in std_ulogic; + RXOSINTSTROBE : in std_ulogic; + RXOSINTTESTOVRDEN : in std_ulogic; + RXOSOVRDEN : in std_ulogic; + RXOUTCLKSEL : in std_logic_vector(2 downto 0); + RXPCOMMAALIGNEN : in std_ulogic; + RXPCSRESET : in std_ulogic; + RXPD : in std_logic_vector(1 downto 0); + RXPHALIGN : in std_ulogic; + RXPHALIGNEN : in std_ulogic; + RXPHDLYPD : in std_ulogic; + RXPHDLYRESET : in std_ulogic; + RXPHOVRDEN : in std_ulogic; + RXPMARESET : in std_ulogic; + RXPOLARITY : in std_ulogic; + RXPRBSCNTRESET : in std_ulogic; + RXPRBSSEL : in std_logic_vector(2 downto 0); + RXQPIEN : in std_ulogic; + RXRATE : in std_logic_vector(2 downto 0); + RXRATEMODE : in std_ulogic; + RXSLIDE : in std_ulogic; + RXSYNCALLIN : in std_ulogic; + RXSYNCIN : in std_ulogic; + RXSYNCMODE : in std_ulogic; + RXSYSCLKSEL : in std_logic_vector(1 downto 0); + RXUSERRDY : in std_ulogic; + RXUSRCLK : in std_ulogic; + RXUSRCLK2 : in std_ulogic; + SETERRSTATUS : in std_ulogic; + SIGVALIDCLK : in std_ulogic; + TSTIN : in std_logic_vector(19 downto 0); + TX8B10BBYPASS : in std_logic_vector(7 downto 0); + TX8B10BEN : in std_ulogic; + TXBUFDIFFCTRL : in std_logic_vector(2 downto 0); + TXCHARDISPMODE : in std_logic_vector(7 downto 0); + TXCHARDISPVAL : in std_logic_vector(7 downto 0); + TXCHARISK : in std_logic_vector(7 downto 0); + TXCOMINIT : in std_ulogic; + TXCOMSAS : in std_ulogic; + TXCOMWAKE : in std_ulogic; + TXDATA : in std_logic_vector(63 downto 0); + TXDEEMPH : in std_ulogic; + TXDETECTRX : in std_ulogic; + TXDIFFCTRL : in std_logic_vector(3 downto 0); + TXDIFFPD : in std_ulogic; + TXDLYBYPASS : in std_ulogic; + TXDLYEN : in std_ulogic; + TXDLYHOLD : in std_ulogic; + TXDLYOVRDEN : in std_ulogic; + TXDLYSRESET : in std_ulogic; + TXDLYUPDOWN : in std_ulogic; + TXELECIDLE : in std_ulogic; + TXHEADER : in std_logic_vector(2 downto 0); + TXINHIBIT : in std_ulogic; + TXMAINCURSOR : in std_logic_vector(6 downto 0); + TXMARGIN : in std_logic_vector(2 downto 0); + TXOUTCLKSEL : in std_logic_vector(2 downto 0); + TXPCSRESET : in std_ulogic; + TXPD : in std_logic_vector(1 downto 0); + TXPDELECIDLEMODE : in std_ulogic; + TXPHALIGN : in std_ulogic; + TXPHALIGNEN : in std_ulogic; + TXPHDLYPD : in std_ulogic; + TXPHDLYRESET : in std_ulogic; + TXPHDLYTSTCLK : in std_ulogic; + TXPHINIT : in std_ulogic; + TXPHOVRDEN : in std_ulogic; + TXPIPPMEN : in std_ulogic; + TXPIPPMOVRDEN : in std_ulogic; + TXPIPPMPD : in std_ulogic; + TXPIPPMSEL : in std_ulogic; + TXPIPPMSTEPSIZE : in std_logic_vector(4 downto 0); + TXPISOPD : in std_ulogic; + TXPMARESET : in std_ulogic; + TXPOLARITY : in std_ulogic; + TXPOSTCURSOR : in std_logic_vector(4 downto 0); + TXPOSTCURSORINV : in std_ulogic; + TXPRBSFORCEERR : in std_ulogic; + TXPRBSSEL : in std_logic_vector(2 downto 0); + TXPRECURSOR : in std_logic_vector(4 downto 0); + TXPRECURSORINV : in std_ulogic; + TXQPIBIASEN : in std_ulogic; + TXQPISTRONGPDOWN : in std_ulogic; + TXQPIWEAKPUP : in std_ulogic; + TXRATE : in std_logic_vector(2 downto 0); + TXRATEMODE : in std_ulogic; + TXSEQUENCE : in std_logic_vector(6 downto 0); + TXSTARTSEQ : in std_ulogic; + TXSWING : in std_ulogic; + TXSYNCALLIN : in std_ulogic; + TXSYNCIN : in std_ulogic; + TXSYNCMODE : in std_ulogic; + TXSYSCLKSEL : in std_logic_vector(1 downto 0); + TXUSERRDY : in std_ulogic; + TXUSRCLK : in std_ulogic; + TXUSRCLK2 : in std_ulogic + ); + end component; + + constant IN_DELAY : time := 0 ps; + constant OUT_DELAY : time := 0 ps; + constant INCLK_DELAY : time := 0 ps; + constant OUTCLK_DELAY : time := 0 ps; + + function SUL_TO_STR (sul : std_ulogic) + return string is + begin + if sul = '0' then + return "0"; + else + return "1"; + end if; + end SUL_TO_STR; + + function boolean_to_string(bool: boolean) + return string is + begin + if bool then + return "TRUE"; + else + return "FALSE"; + end if; + end boolean_to_string; + + function getstrlength(in_vec : std_logic_vector) + return integer is + variable string_length : integer; + begin + if ((in_vec'length mod 4) = 0) then + string_length := in_vec'length/4; + elsif ((in_vec'length mod 4) > 0) then + string_length := in_vec'length/4 + 1; + end if; + return string_length; + end getstrlength; + + -- Convert bit_vector to std_logic_vector + constant ACJTAG_DEBUG_MODE_BINARY : std_ulogic := To_StduLogic(ACJTAG_DEBUG_MODE); + constant ACJTAG_MODE_BINARY : std_ulogic := To_StduLogic(ACJTAG_MODE); + constant ACJTAG_RESET_BINARY : std_ulogic := To_StduLogic(ACJTAG_RESET); + constant ADAPT_CFG0_BINARY : std_logic_vector(19 downto 0) := To_StdLogicVector(ADAPT_CFG0)(19 downto 0); + constant ALIGN_COMMA_ENABLE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_COMMA_ENABLE)(9 downto 0); + constant ALIGN_MCOMMA_VALUE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_MCOMMA_VALUE)(9 downto 0); + constant ALIGN_PCOMMA_VALUE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_PCOMMA_VALUE)(9 downto 0); + constant A_RXOSCALRESET_BINARY : std_ulogic := To_StduLogic(A_RXOSCALRESET); + constant CFOK_CFG2_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(CFOK_CFG2)(5 downto 0); + constant CFOK_CFG3_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(CFOK_CFG3)(5 downto 0); + constant CFOK_CFG_BINARY : std_logic_vector(41 downto 0) := To_StdLogicVector(CFOK_CFG)(41 downto 0); + constant CHAN_BOND_SEQ_1_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_1)(9 downto 0); + constant CHAN_BOND_SEQ_1_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_2)(9 downto 0); + constant CHAN_BOND_SEQ_1_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_3)(9 downto 0); + constant CHAN_BOND_SEQ_1_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_4)(9 downto 0); + constant CHAN_BOND_SEQ_1_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_ENABLE)(3 downto 0); + constant CHAN_BOND_SEQ_2_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_1)(9 downto 0); + constant CHAN_BOND_SEQ_2_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_2)(9 downto 0); + constant CHAN_BOND_SEQ_2_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_3)(9 downto 0); + constant CHAN_BOND_SEQ_2_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_4)(9 downto 0); + constant CHAN_BOND_SEQ_2_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_ENABLE)(3 downto 0); + constant CLK_COR_SEQ_1_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_1)(9 downto 0); + constant CLK_COR_SEQ_1_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_2)(9 downto 0); + constant CLK_COR_SEQ_1_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_3)(9 downto 0); + constant CLK_COR_SEQ_1_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_4)(9 downto 0); + constant CLK_COR_SEQ_1_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_ENABLE)(3 downto 0); + constant CLK_COR_SEQ_2_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_1)(9 downto 0); + constant CLK_COR_SEQ_2_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_2)(9 downto 0); + constant CLK_COR_SEQ_2_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_3)(9 downto 0); + constant CLK_COR_SEQ_2_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_4)(9 downto 0); + constant CLK_COR_SEQ_2_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_ENABLE)(3 downto 0); + constant CPLL_CFG_BINARY : std_logic_vector(28 downto 0) := To_StdLogicVector(CPLL_CFG)(28 downto 0); + constant CPLL_INIT_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(CPLL_INIT_CFG)(23 downto 0); + constant CPLL_LOCK_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(CPLL_LOCK_CFG)(15 downto 0); + constant DMONITOR_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(DMONITOR_CFG)(23 downto 0); + constant ES_CLK_PHASE_SEL_BINARY : std_ulogic := To_StduLogic(ES_CLK_PHASE_SEL); + constant ES_CONTROL_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(ES_CONTROL)(5 downto 0); + constant ES_HORZ_OFFSET_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(ES_HORZ_OFFSET)(11 downto 0); + constant ES_PMA_CFG_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ES_PMA_CFG)(9 downto 0); + constant ES_PRESCALE_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(ES_PRESCALE)(4 downto 0); + constant ES_QUALIFIER_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_QUALIFIER)(79 downto 0); + constant ES_QUAL_MASK_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_QUAL_MASK)(79 downto 0); + constant ES_SDATA_MASK_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_SDATA_MASK)(79 downto 0); + constant ES_VERT_OFFSET_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(ES_VERT_OFFSET)(8 downto 0); + constant FTS_DESKEW_SEQ_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(FTS_DESKEW_SEQ_ENABLE)(3 downto 0); + constant FTS_LANE_DESKEW_CFG_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(FTS_LANE_DESKEW_CFG)(3 downto 0); + constant GEARBOX_MODE_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(GEARBOX_MODE)(2 downto 0); + constant LOOPBACK_CFG_BINARY : std_ulogic := To_StduLogic(LOOPBACK_CFG); + constant OUTREFCLK_SEL_INV_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(OUTREFCLK_SEL_INV)(1 downto 0); + constant PCS_RSVD_ATTR_BINARY : std_logic_vector(47 downto 0) := To_StdLogicVector(PCS_RSVD_ATTR)(47 downto 0); + constant PD_TRANS_TIME_FROM_P2_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(PD_TRANS_TIME_FROM_P2)(11 downto 0); + constant PD_TRANS_TIME_NONE_P2_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(PD_TRANS_TIME_NONE_P2)(7 downto 0); + constant PD_TRANS_TIME_TO_P2_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(PD_TRANS_TIME_TO_P2)(7 downto 0); + constant PMA_RSV2_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(PMA_RSV2)(31 downto 0); + constant PMA_RSV3_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(PMA_RSV3)(1 downto 0); + constant PMA_RSV4_BINARY : std_logic_vector(14 downto 0) := To_StdLogicVector(PMA_RSV4)(14 downto 0); + constant PMA_RSV5_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(PMA_RSV5)(3 downto 0); + constant PMA_RSV_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(PMA_RSV)(31 downto 0); + constant RESET_POWERSAVE_DISABLE_BINARY : std_ulogic := To_StduLogic(RESET_POWERSAVE_DISABLE); + constant RXBUFRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXBUFRESET_TIME)(4 downto 0); + constant RXBUF_EIDLE_HI_CNT_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RXBUF_EIDLE_HI_CNT)(3 downto 0); + constant RXBUF_EIDLE_LO_CNT_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RXBUF_EIDLE_LO_CNT)(3 downto 0); + constant RXCDRFREQRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXCDRFREQRESET_TIME)(4 downto 0); + constant RXCDRPHRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXCDRPHRESET_TIME)(4 downto 0); + constant RXCDR_CFG_BINARY : std_logic_vector(82 downto 0) := To_StdLogicVector(RXCDR_CFG)(82 downto 0); + constant RXCDR_FR_RESET_ON_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_FR_RESET_ON_EIDLE); + constant RXCDR_HOLD_DURING_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_HOLD_DURING_EIDLE); + constant RXCDR_LOCK_CFG_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RXCDR_LOCK_CFG)(5 downto 0); + constant RXCDR_PH_RESET_ON_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_PH_RESET_ON_EIDLE); + constant RXDFELPMRESET_TIME_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(RXDFELPMRESET_TIME)(6 downto 0); + constant RXDLY_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RXDLY_CFG)(15 downto 0); + constant RXDLY_LCFG_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(RXDLY_LCFG)(8 downto 0); + constant RXDLY_TAP_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RXDLY_TAP_CFG)(15 downto 0); + constant RXISCANRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXISCANRESET_TIME)(4 downto 0); + constant RXLPM_HF_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(RXLPM_HF_CFG)(13 downto 0); + constant RXLPM_LF_CFG_BINARY : std_logic_vector(17 downto 0) := To_StdLogicVector(RXLPM_LF_CFG)(17 downto 0); + constant RXOOB_CFG_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(RXOOB_CFG)(6 downto 0); + constant RXOSCALRESET_TIMEOUT_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXOSCALRESET_TIMEOUT)(4 downto 0); + constant RXOSCALRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXOSCALRESET_TIME)(4 downto 0); + constant RXPCSRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPCSRESET_TIME)(4 downto 0); + constant RXPHDLY_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(RXPHDLY_CFG)(23 downto 0); + constant RXPH_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(RXPH_CFG)(23 downto 0); + constant RXPH_MONITOR_SEL_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPH_MONITOR_SEL)(4 downto 0); + constant RXPI_CFG0_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RXPI_CFG0)(1 downto 0); + constant RXPI_CFG1_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RXPI_CFG1)(1 downto 0); + constant RXPI_CFG2_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RXPI_CFG2)(1 downto 0); + constant RXPI_CFG3_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RXPI_CFG3)(1 downto 0); + constant RXPI_CFG4_BINARY : std_ulogic := To_StduLogic(RXPI_CFG4); + constant RXPI_CFG5_BINARY : std_ulogic := To_StduLogic(RXPI_CFG5); + constant RXPI_CFG6_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(RXPI_CFG6)(2 downto 0); + constant RXPMARESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPMARESET_TIME)(4 downto 0); + constant RXPRBS_ERR_LOOPBACK_BINARY : std_ulogic := To_StduLogic(RXPRBS_ERR_LOOPBACK); + constant RXSYNC_MULTILANE_BINARY : std_ulogic := To_StduLogic(RXSYNC_MULTILANE); + constant RXSYNC_OVRD_BINARY : std_ulogic := To_StduLogic(RXSYNC_OVRD); + constant RXSYNC_SKIP_DA_BINARY : std_ulogic := To_StduLogic(RXSYNC_SKIP_DA); + constant RX_BIAS_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(RX_BIAS_CFG)(23 downto 0); + constant RX_BUFFER_CFG_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RX_BUFFER_CFG)(5 downto 0); + constant RX_CLKMUX_PD_BINARY : std_ulogic := To_StduLogic(RX_CLKMUX_PD); + constant RX_CM_SEL_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RX_CM_SEL)(1 downto 0); + constant RX_CM_TRIM_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RX_CM_TRIM)(3 downto 0); + constant RX_DDI_SEL_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RX_DDI_SEL)(5 downto 0); + constant RX_DEBUG_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(RX_DEBUG_CFG)(13 downto 0); + constant RX_DFELPM_CFG0_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RX_DFELPM_CFG0)(3 downto 0); + constant RX_DFELPM_CFG1_BINARY : std_ulogic := To_StduLogic(RX_DFELPM_CFG1); + constant RX_DFELPM_KLKH_AGC_STUP_EN_BINARY : std_ulogic := To_StduLogic(RX_DFELPM_KLKH_AGC_STUP_EN); + constant RX_DFE_AGC_CFG0_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RX_DFE_AGC_CFG0)(1 downto 0); + constant RX_DFE_AGC_CFG1_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(RX_DFE_AGC_CFG1)(2 downto 0); + constant RX_DFE_AGC_CFG2_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RX_DFE_AGC_CFG2)(3 downto 0); + constant RX_DFE_AGC_OVRDEN_BINARY : std_ulogic := To_StduLogic(RX_DFE_AGC_OVRDEN); + constant RX_DFE_GAIN_CFG_BINARY : std_logic_vector(22 downto 0) := To_StdLogicVector(RX_DFE_GAIN_CFG)(22 downto 0); + constant RX_DFE_H2_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_DFE_H2_CFG)(11 downto 0); + constant RX_DFE_H3_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_DFE_H3_CFG)(11 downto 0); + constant RX_DFE_H4_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H4_CFG)(10 downto 0); + constant RX_DFE_H5_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H5_CFG)(10 downto 0); + constant RX_DFE_H6_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H6_CFG)(10 downto 0); + constant RX_DFE_H7_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H7_CFG)(10 downto 0); + constant RX_DFE_KL_CFG_BINARY : std_logic_vector(32 downto 0) := To_StdLogicVector(RX_DFE_KL_CFG)(32 downto 0); + constant RX_DFE_KL_LPM_KH_CFG0_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KH_CFG0)(1 downto 0); + constant RX_DFE_KL_LPM_KH_CFG1_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KH_CFG1)(2 downto 0); + constant RX_DFE_KL_LPM_KH_CFG2_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KH_CFG2)(3 downto 0); + constant RX_DFE_KL_LPM_KH_OVRDEN_BINARY : std_ulogic := To_StduLogic(RX_DFE_KL_LPM_KH_OVRDEN); + constant RX_DFE_KL_LPM_KL_CFG0_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KL_CFG0)(1 downto 0); + constant RX_DFE_KL_LPM_KL_CFG1_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KL_CFG1)(2 downto 0); + constant RX_DFE_KL_LPM_KL_CFG2_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RX_DFE_KL_LPM_KL_CFG2)(3 downto 0); + constant RX_DFE_KL_LPM_KL_OVRDEN_BINARY : std_ulogic := To_StduLogic(RX_DFE_KL_LPM_KL_OVRDEN); + constant RX_DFE_LPM_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RX_DFE_LPM_CFG)(15 downto 0); + constant RX_DFE_LPM_HOLD_DURING_EIDLE_BINARY : std_ulogic := To_StduLogic(RX_DFE_LPM_HOLD_DURING_EIDLE); + constant RX_DFE_ST_CFG_BINARY : std_logic_vector(53 downto 0) := To_StdLogicVector(RX_DFE_ST_CFG)(53 downto 0); + constant RX_DFE_UT_CFG_BINARY : std_logic_vector(16 downto 0) := To_StdLogicVector(RX_DFE_UT_CFG)(16 downto 0); + constant RX_DFE_VP_CFG_BINARY : std_logic_vector(16 downto 0) := To_StdLogicVector(RX_DFE_VP_CFG)(16 downto 0); + constant RX_OS_CFG_BINARY : std_logic_vector(12 downto 0) := To_StdLogicVector(RX_OS_CFG)(12 downto 0); + constant SATA_BURST_SEQ_LEN_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(SATA_BURST_SEQ_LEN)(3 downto 0); + constant SATA_BURST_VAL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SATA_BURST_VAL)(2 downto 0); + constant SATA_EIDLE_VAL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SATA_EIDLE_VAL)(2 downto 0); + constant SIM_CPLLREFCLK_SEL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SIM_CPLLREFCLK_SEL)(2 downto 0); + constant TERM_RCAL_CFG_BINARY : std_logic_vector(14 downto 0) := To_StdLogicVector(TERM_RCAL_CFG)(14 downto 0); + constant TERM_RCAL_OVRD_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TERM_RCAL_OVRD)(2 downto 0); + constant TRANS_TIME_RATE_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(TRANS_TIME_RATE)(7 downto 0); + constant TST_RSV_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(TST_RSV)(31 downto 0); + constant TXDLY_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXDLY_CFG)(15 downto 0); + constant TXDLY_LCFG_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(TXDLY_LCFG)(8 downto 0); + constant TXDLY_TAP_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXDLY_TAP_CFG)(15 downto 0); + constant TXOOB_CFG_BINARY : std_ulogic := To_StduLogic(TXOOB_CFG); + constant TXPCSRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPCSRESET_TIME)(4 downto 0); + constant TXPHDLY_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(TXPHDLY_CFG)(23 downto 0); + constant TXPH_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXPH_CFG)(15 downto 0); + constant TXPH_MONITOR_SEL_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPH_MONITOR_SEL)(4 downto 0); + constant TXPI_CFG0_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(TXPI_CFG0)(1 downto 0); + constant TXPI_CFG1_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(TXPI_CFG1)(1 downto 0); + constant TXPI_CFG2_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(TXPI_CFG2)(1 downto 0); + constant TXPI_CFG3_BINARY : std_ulogic := To_StduLogic(TXPI_CFG3); + constant TXPI_CFG4_BINARY : std_ulogic := To_StduLogic(TXPI_CFG4); + constant TXPI_CFG5_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TXPI_CFG5)(2 downto 0); + constant TXPI_GREY_SEL_BINARY : std_ulogic := To_StduLogic(TXPI_GREY_SEL); + constant TXPI_INVSTROBE_SEL_BINARY : std_ulogic := To_StduLogic(TXPI_INVSTROBE_SEL); + constant TXPI_PPM_CFG_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(TXPI_PPM_CFG)(7 downto 0); + constant TXPI_SYNFREQ_PPM_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TXPI_SYNFREQ_PPM)(2 downto 0); + constant TXPMARESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPMARESET_TIME)(4 downto 0); + constant TXSYNC_MULTILANE_BINARY : std_ulogic := To_StduLogic(TXSYNC_MULTILANE); + constant TXSYNC_OVRD_BINARY : std_ulogic := To_StduLogic(TXSYNC_OVRD); + constant TXSYNC_SKIP_DA_BINARY : std_ulogic := To_StduLogic(TXSYNC_SKIP_DA); + constant TX_CLKMUX_PD_BINARY : std_ulogic := To_StduLogic(TX_CLKMUX_PD); + constant TX_DEEMPH0_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(TX_DEEMPH0)(5 downto 0); + constant TX_DEEMPH1_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(TX_DEEMPH1)(5 downto 0); + constant TX_EIDLE_ASSERT_DELAY_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_EIDLE_ASSERT_DELAY)(2 downto 0); + constant TX_EIDLE_DEASSERT_DELAY_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_EIDLE_DEASSERT_DELAY)(2 downto 0); + constant TX_MAINCURSOR_SEL_BINARY : std_ulogic := To_StduLogic(TX_MAINCURSOR_SEL); + constant TX_MARGIN_FULL_0_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_0)(6 downto 0); + constant TX_MARGIN_FULL_1_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_1)(6 downto 0); + constant TX_MARGIN_FULL_2_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_2)(6 downto 0); + constant TX_MARGIN_FULL_3_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_3)(6 downto 0); + constant TX_MARGIN_FULL_4_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_4)(6 downto 0); + constant TX_MARGIN_LOW_0_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_0)(6 downto 0); + constant TX_MARGIN_LOW_1_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_1)(6 downto 0); + constant TX_MARGIN_LOW_2_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_2)(6 downto 0); + constant TX_MARGIN_LOW_3_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_3)(6 downto 0); + constant TX_MARGIN_LOW_4_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_4)(6 downto 0); + constant TX_QPI_STATUS_EN_BINARY : std_ulogic := To_StduLogic(TX_QPI_STATUS_EN); + constant TX_RXDETECT_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(TX_RXDETECT_CFG)(13 downto 0); + constant TX_RXDETECT_PRECHARGE_TIME_BINARY : std_logic_vector(16 downto 0) := To_StdLogicVector(TX_RXDETECT_PRECHARGE_TIME)(16 downto 0); + constant TX_RXDETECT_REF_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_RXDETECT_REF)(2 downto 0); + constant UCODEER_CLR_BINARY : std_ulogic := To_StduLogic(UCODEER_CLR); + constant USE_PCS_CLK_PHASE_SEL_BINARY : std_ulogic := To_StduLogic(USE_PCS_CLK_PHASE_SEL); + + -- Get String Length + constant ADAPT_CFG0_STRLEN : integer := getstrlength(ADAPT_CFG0_BINARY); + constant CFOK_CFG_STRLEN : integer := getstrlength(CFOK_CFG_BINARY); + constant CPLL_CFG_STRLEN : integer := getstrlength(CPLL_CFG_BINARY); + constant CPLL_INIT_CFG_STRLEN : integer := getstrlength(CPLL_INIT_CFG_BINARY); + constant CPLL_LOCK_CFG_STRLEN : integer := getstrlength(CPLL_LOCK_CFG_BINARY); + constant DMONITOR_CFG_STRLEN : integer := getstrlength(DMONITOR_CFG_BINARY); + constant ES_HORZ_OFFSET_STRLEN : integer := getstrlength(ES_HORZ_OFFSET_BINARY); + constant ES_QUALIFIER_STRLEN : integer := getstrlength(ES_QUALIFIER_BINARY); + constant ES_QUAL_MASK_STRLEN : integer := getstrlength(ES_QUAL_MASK_BINARY); + constant ES_SDATA_MASK_STRLEN : integer := getstrlength(ES_SDATA_MASK_BINARY); + constant PCS_RSVD_ATTR_STRLEN : integer := getstrlength(PCS_RSVD_ATTR_BINARY); + constant PD_TRANS_TIME_FROM_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_FROM_P2_BINARY); + constant PD_TRANS_TIME_NONE_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_NONE_P2_BINARY); + constant PD_TRANS_TIME_TO_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_TO_P2_BINARY); + constant RXCDR_CFG_STRLEN : integer := getstrlength(RXCDR_CFG_BINARY); + constant RXDLY_CFG_STRLEN : integer := getstrlength(RXDLY_CFG_BINARY); + constant RXDLY_LCFG_STRLEN : integer := getstrlength(RXDLY_LCFG_BINARY); + constant RXDLY_TAP_CFG_STRLEN : integer := getstrlength(RXDLY_TAP_CFG_BINARY); + constant RXPHDLY_CFG_STRLEN : integer := getstrlength(RXPHDLY_CFG_BINARY); + constant RXPH_CFG_STRLEN : integer := getstrlength(RXPH_CFG_BINARY); + constant RX_DFE_GAIN_CFG_STRLEN : integer := getstrlength(RX_DFE_GAIN_CFG_BINARY); + constant RX_DFE_LPM_CFG_STRLEN : integer := getstrlength(RX_DFE_LPM_CFG_BINARY); + constant RX_DFE_ST_CFG_STRLEN : integer := getstrlength(RX_DFE_ST_CFG_BINARY); + constant TRANS_TIME_RATE_STRLEN : integer := getstrlength(TRANS_TIME_RATE_BINARY); + constant TST_RSV_STRLEN : integer := getstrlength(TST_RSV_BINARY); + constant TXDLY_CFG_STRLEN : integer := getstrlength(TXDLY_CFG_BINARY); + constant TXDLY_LCFG_STRLEN : integer := getstrlength(TXDLY_LCFG_BINARY); + constant TXDLY_TAP_CFG_STRLEN : integer := getstrlength(TXDLY_TAP_CFG_BINARY); + constant TXPHDLY_CFG_STRLEN : integer := getstrlength(TXPHDLY_CFG_BINARY); + constant TXPH_CFG_STRLEN : integer := getstrlength(TXPH_CFG_BINARY); + constant TX_RXDETECT_CFG_STRLEN : integer := getstrlength(TX_RXDETECT_CFG_BINARY); + constant TX_RXDETECT_PRECHARGE_TIME_STRLEN : integer := getstrlength(TX_RXDETECT_PRECHARGE_TIME_BINARY); + + -- Convert std_logic_vector to string + constant ACJTAG_DEBUG_MODE_STRING : string := SUL_TO_STR(ACJTAG_DEBUG_MODE_BINARY); + constant ACJTAG_MODE_STRING : string := SUL_TO_STR(ACJTAG_MODE_BINARY); + constant ACJTAG_RESET_STRING : string := SUL_TO_STR(ACJTAG_RESET_BINARY); + constant ADAPT_CFG0_STRING : string := SLV_TO_HEX(ADAPT_CFG0_BINARY, ADAPT_CFG0_STRLEN); + constant ALIGN_COMMA_ENABLE_STRING : string := SLV_TO_STR(ALIGN_COMMA_ENABLE_BINARY); + constant ALIGN_MCOMMA_VALUE_STRING : string := SLV_TO_STR(ALIGN_MCOMMA_VALUE_BINARY); + constant ALIGN_PCOMMA_VALUE_STRING : string := SLV_TO_STR(ALIGN_PCOMMA_VALUE_BINARY); + constant A_RXOSCALRESET_STRING : string := SUL_TO_STR(A_RXOSCALRESET_BINARY); + constant CFOK_CFG2_STRING : string := SLV_TO_STR(CFOK_CFG2_BINARY); + constant CFOK_CFG3_STRING : string := SLV_TO_STR(CFOK_CFG3_BINARY); + constant CFOK_CFG_STRING : string := SLV_TO_HEX(CFOK_CFG_BINARY, CFOK_CFG_STRLEN); + constant CHAN_BOND_SEQ_1_1_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_1_BINARY); + constant CHAN_BOND_SEQ_1_2_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_2_BINARY); + constant CHAN_BOND_SEQ_1_3_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_3_BINARY); + constant CHAN_BOND_SEQ_1_4_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_4_BINARY); + constant CHAN_BOND_SEQ_1_ENABLE_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_ENABLE_BINARY); + constant CHAN_BOND_SEQ_2_1_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_1_BINARY); + constant CHAN_BOND_SEQ_2_2_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_2_BINARY); + constant CHAN_BOND_SEQ_2_3_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_3_BINARY); + constant CHAN_BOND_SEQ_2_4_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_4_BINARY); + constant CHAN_BOND_SEQ_2_ENABLE_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_ENABLE_BINARY); + constant CLK_COR_SEQ_1_1_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_1_BINARY); + constant CLK_COR_SEQ_1_2_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_2_BINARY); + constant CLK_COR_SEQ_1_3_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_3_BINARY); + constant CLK_COR_SEQ_1_4_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_4_BINARY); + constant CLK_COR_SEQ_1_ENABLE_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_ENABLE_BINARY); + constant CLK_COR_SEQ_2_1_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_1_BINARY); + constant CLK_COR_SEQ_2_2_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_2_BINARY); + constant CLK_COR_SEQ_2_3_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_3_BINARY); + constant CLK_COR_SEQ_2_4_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_4_BINARY); + constant CLK_COR_SEQ_2_ENABLE_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_ENABLE_BINARY); + constant CPLL_CFG_STRING : string := SLV_TO_HEX(CPLL_CFG_BINARY, CPLL_CFG_STRLEN); + constant CPLL_INIT_CFG_STRING : string := SLV_TO_HEX(CPLL_INIT_CFG_BINARY, CPLL_INIT_CFG_STRLEN); + constant CPLL_LOCK_CFG_STRING : string := SLV_TO_HEX(CPLL_LOCK_CFG_BINARY, CPLL_LOCK_CFG_STRLEN); + constant DMONITOR_CFG_STRING : string := SLV_TO_HEX(DMONITOR_CFG_BINARY, DMONITOR_CFG_STRLEN); + constant ES_CLK_PHASE_SEL_STRING : string := SUL_TO_STR(ES_CLK_PHASE_SEL_BINARY); + constant ES_CONTROL_STRING : string := SLV_TO_STR(ES_CONTROL_BINARY); + constant ES_HORZ_OFFSET_STRING : string := SLV_TO_HEX(ES_HORZ_OFFSET_BINARY, ES_HORZ_OFFSET_STRLEN); + constant ES_PMA_CFG_STRING : string := SLV_TO_STR(ES_PMA_CFG_BINARY); + constant ES_PRESCALE_STRING : string := SLV_TO_STR(ES_PRESCALE_BINARY); + constant ES_QUALIFIER_STRING : string := SLV_TO_HEX(ES_QUALIFIER_BINARY, ES_QUALIFIER_STRLEN); + constant ES_QUAL_MASK_STRING : string := SLV_TO_HEX(ES_QUAL_MASK_BINARY, ES_QUAL_MASK_STRLEN); + constant ES_SDATA_MASK_STRING : string := SLV_TO_HEX(ES_SDATA_MASK_BINARY, ES_SDATA_MASK_STRLEN); + constant ES_VERT_OFFSET_STRING : string := SLV_TO_STR(ES_VERT_OFFSET_BINARY); + constant FTS_DESKEW_SEQ_ENABLE_STRING : string := SLV_TO_STR(FTS_DESKEW_SEQ_ENABLE_BINARY); + constant FTS_LANE_DESKEW_CFG_STRING : string := SLV_TO_STR(FTS_LANE_DESKEW_CFG_BINARY); + constant GEARBOX_MODE_STRING : string := SLV_TO_STR(GEARBOX_MODE_BINARY); + constant LOOPBACK_CFG_STRING : string := SUL_TO_STR(LOOPBACK_CFG_BINARY); + constant OUTREFCLK_SEL_INV_STRING : string := SLV_TO_STR(OUTREFCLK_SEL_INV_BINARY); + constant PCS_RSVD_ATTR_STRING : string := SLV_TO_HEX(PCS_RSVD_ATTR_BINARY, PCS_RSVD_ATTR_STRLEN); + constant PD_TRANS_TIME_FROM_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_FROM_P2_BINARY, PD_TRANS_TIME_FROM_P2_STRLEN); + constant PD_TRANS_TIME_NONE_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_NONE_P2_BINARY, PD_TRANS_TIME_NONE_P2_STRLEN); + constant PD_TRANS_TIME_TO_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_TO_P2_BINARY, PD_TRANS_TIME_TO_P2_STRLEN); + constant PMA_RSV2_STRING : string := SLV_TO_STR(PMA_RSV2_BINARY); + constant PMA_RSV3_STRING : string := SLV_TO_STR(PMA_RSV3_BINARY); + constant PMA_RSV4_STRING : string := SLV_TO_STR(PMA_RSV4_BINARY); + constant PMA_RSV5_STRING : string := SLV_TO_STR(PMA_RSV5_BINARY); + constant PMA_RSV_STRING : string := SLV_TO_STR(PMA_RSV_BINARY); + constant RESET_POWERSAVE_DISABLE_STRING : string := SUL_TO_STR(RESET_POWERSAVE_DISABLE_BINARY); + constant RXBUFRESET_TIME_STRING : string := SLV_TO_STR(RXBUFRESET_TIME_BINARY); + constant RXBUF_EIDLE_HI_CNT_STRING : string := SLV_TO_STR(RXBUF_EIDLE_HI_CNT_BINARY); + constant RXBUF_EIDLE_LO_CNT_STRING : string := SLV_TO_STR(RXBUF_EIDLE_LO_CNT_BINARY); + constant RXCDRFREQRESET_TIME_STRING : string := SLV_TO_STR(RXCDRFREQRESET_TIME_BINARY); + constant RXCDRPHRESET_TIME_STRING : string := SLV_TO_STR(RXCDRPHRESET_TIME_BINARY); + constant RXCDR_CFG_STRING : string := SLV_TO_HEX(RXCDR_CFG_BINARY, RXCDR_CFG_STRLEN); + constant RXCDR_FR_RESET_ON_EIDLE_STRING : string := SUL_TO_STR(RXCDR_FR_RESET_ON_EIDLE_BINARY); + constant RXCDR_HOLD_DURING_EIDLE_STRING : string := SUL_TO_STR(RXCDR_HOLD_DURING_EIDLE_BINARY); + constant RXCDR_LOCK_CFG_STRING : string := SLV_TO_STR(RXCDR_LOCK_CFG_BINARY); + constant RXCDR_PH_RESET_ON_EIDLE_STRING : string := SUL_TO_STR(RXCDR_PH_RESET_ON_EIDLE_BINARY); + constant RXDFELPMRESET_TIME_STRING : string := SLV_TO_STR(RXDFELPMRESET_TIME_BINARY); + constant RXDLY_CFG_STRING : string := SLV_TO_HEX(RXDLY_CFG_BINARY, RXDLY_CFG_STRLEN); + constant RXDLY_LCFG_STRING : string := SLV_TO_HEX(RXDLY_LCFG_BINARY, RXDLY_LCFG_STRLEN); + constant RXDLY_TAP_CFG_STRING : string := SLV_TO_HEX(RXDLY_TAP_CFG_BINARY, RXDLY_TAP_CFG_STRLEN); + constant RXISCANRESET_TIME_STRING : string := SLV_TO_STR(RXISCANRESET_TIME_BINARY); + constant RXLPM_HF_CFG_STRING : string := SLV_TO_STR(RXLPM_HF_CFG_BINARY); + constant RXLPM_LF_CFG_STRING : string := SLV_TO_STR(RXLPM_LF_CFG_BINARY); + constant RXOOB_CFG_STRING : string := SLV_TO_STR(RXOOB_CFG_BINARY); + constant RXOSCALRESET_TIMEOUT_STRING : string := SLV_TO_STR(RXOSCALRESET_TIMEOUT_BINARY); + constant RXOSCALRESET_TIME_STRING : string := SLV_TO_STR(RXOSCALRESET_TIME_BINARY); + constant RXPCSRESET_TIME_STRING : string := SLV_TO_STR(RXPCSRESET_TIME_BINARY); + constant RXPHDLY_CFG_STRING : string := SLV_TO_HEX(RXPHDLY_CFG_BINARY, RXPHDLY_CFG_STRLEN); + constant RXPH_CFG_STRING : string := SLV_TO_HEX(RXPH_CFG_BINARY, RXPH_CFG_STRLEN); + constant RXPH_MONITOR_SEL_STRING : string := SLV_TO_STR(RXPH_MONITOR_SEL_BINARY); + constant RXPI_CFG0_STRING : string := SLV_TO_STR(RXPI_CFG0_BINARY); + constant RXPI_CFG1_STRING : string := SLV_TO_STR(RXPI_CFG1_BINARY); + constant RXPI_CFG2_STRING : string := SLV_TO_STR(RXPI_CFG2_BINARY); + constant RXPI_CFG3_STRING : string := SLV_TO_STR(RXPI_CFG3_BINARY); + constant RXPI_CFG4_STRING : string := SUL_TO_STR(RXPI_CFG4_BINARY); + constant RXPI_CFG5_STRING : string := SUL_TO_STR(RXPI_CFG5_BINARY); + constant RXPI_CFG6_STRING : string := SLV_TO_STR(RXPI_CFG6_BINARY); + constant RXPMARESET_TIME_STRING : string := SLV_TO_STR(RXPMARESET_TIME_BINARY); + constant RXPRBS_ERR_LOOPBACK_STRING : string := SUL_TO_STR(RXPRBS_ERR_LOOPBACK_BINARY); + constant RXSYNC_MULTILANE_STRING : string := SUL_TO_STR(RXSYNC_MULTILANE_BINARY); + constant RXSYNC_OVRD_STRING : string := SUL_TO_STR(RXSYNC_OVRD_BINARY); + constant RXSYNC_SKIP_DA_STRING : string := SUL_TO_STR(RXSYNC_SKIP_DA_BINARY); + constant RX_BIAS_CFG_STRING : string := SLV_TO_STR(RX_BIAS_CFG_BINARY); + constant RX_BUFFER_CFG_STRING : string := SLV_TO_STR(RX_BUFFER_CFG_BINARY); + constant RX_CLKMUX_PD_STRING : string := SUL_TO_STR(RX_CLKMUX_PD_BINARY); + constant RX_CM_SEL_STRING : string := SLV_TO_STR(RX_CM_SEL_BINARY); + constant RX_CM_TRIM_STRING : string := SLV_TO_STR(RX_CM_TRIM_BINARY); + constant RX_DDI_SEL_STRING : string := SLV_TO_STR(RX_DDI_SEL_BINARY); + constant RX_DEBUG_CFG_STRING : string := SLV_TO_STR(RX_DEBUG_CFG_BINARY); + constant RX_DFELPM_CFG0_STRING : string := SLV_TO_STR(RX_DFELPM_CFG0_BINARY); + constant RX_DFELPM_CFG1_STRING : string := SUL_TO_STR(RX_DFELPM_CFG1_BINARY); + constant RX_DFELPM_KLKH_AGC_STUP_EN_STRING : string := SUL_TO_STR(RX_DFELPM_KLKH_AGC_STUP_EN_BINARY); + constant RX_DFE_AGC_CFG0_STRING : string := SLV_TO_STR(RX_DFE_AGC_CFG0_BINARY); + constant RX_DFE_AGC_CFG1_STRING : string := SLV_TO_STR(RX_DFE_AGC_CFG1_BINARY); + constant RX_DFE_AGC_CFG2_STRING : string := SLV_TO_STR(RX_DFE_AGC_CFG2_BINARY); + constant RX_DFE_AGC_OVRDEN_STRING : string := SUL_TO_STR(RX_DFE_AGC_OVRDEN_BINARY); + constant RX_DFE_GAIN_CFG_STRING : string := SLV_TO_HEX(RX_DFE_GAIN_CFG_BINARY, RX_DFE_GAIN_CFG_STRLEN); + constant RX_DFE_H2_CFG_STRING : string := SLV_TO_STR(RX_DFE_H2_CFG_BINARY); + constant RX_DFE_H3_CFG_STRING : string := SLV_TO_STR(RX_DFE_H3_CFG_BINARY); + constant RX_DFE_H4_CFG_STRING : string := SLV_TO_STR(RX_DFE_H4_CFG_BINARY); + constant RX_DFE_H5_CFG_STRING : string := SLV_TO_STR(RX_DFE_H5_CFG_BINARY); + constant RX_DFE_H6_CFG_STRING : string := SLV_TO_STR(RX_DFE_H6_CFG_BINARY); + constant RX_DFE_H7_CFG_STRING : string := SLV_TO_STR(RX_DFE_H7_CFG_BINARY); + constant RX_DFE_KL_CFG_STRING : string := SLV_TO_STR(RX_DFE_KL_CFG_BINARY); + constant RX_DFE_KL_LPM_KH_CFG0_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KH_CFG0_BINARY); + constant RX_DFE_KL_LPM_KH_CFG1_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KH_CFG1_BINARY); + constant RX_DFE_KL_LPM_KH_CFG2_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KH_CFG2_BINARY); + constant RX_DFE_KL_LPM_KH_OVRDEN_STRING : string := SUL_TO_STR(RX_DFE_KL_LPM_KH_OVRDEN_BINARY); + constant RX_DFE_KL_LPM_KL_CFG0_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KL_CFG0_BINARY); + constant RX_DFE_KL_LPM_KL_CFG1_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KL_CFG1_BINARY); + constant RX_DFE_KL_LPM_KL_CFG2_STRING : string := SLV_TO_STR(RX_DFE_KL_LPM_KL_CFG2_BINARY); + constant RX_DFE_KL_LPM_KL_OVRDEN_STRING : string := SUL_TO_STR(RX_DFE_KL_LPM_KL_OVRDEN_BINARY); + constant RX_DFE_LPM_CFG_STRING : string := SLV_TO_HEX(RX_DFE_LPM_CFG_BINARY, RX_DFE_LPM_CFG_STRLEN); + constant RX_DFE_LPM_HOLD_DURING_EIDLE_STRING : string := SUL_TO_STR(RX_DFE_LPM_HOLD_DURING_EIDLE_BINARY); + constant RX_DFE_ST_CFG_STRING : string := SLV_TO_HEX(RX_DFE_ST_CFG_BINARY, RX_DFE_ST_CFG_STRLEN); + constant RX_DFE_UT_CFG_STRING : string := SLV_TO_STR(RX_DFE_UT_CFG_BINARY); + constant RX_DFE_VP_CFG_STRING : string := SLV_TO_STR(RX_DFE_VP_CFG_BINARY); + constant RX_OS_CFG_STRING : string := SLV_TO_STR(RX_OS_CFG_BINARY); + constant SATA_BURST_SEQ_LEN_STRING : string := SLV_TO_STR(SATA_BURST_SEQ_LEN_BINARY); + constant SATA_BURST_VAL_STRING : string := SLV_TO_STR(SATA_BURST_VAL_BINARY); + constant SATA_EIDLE_VAL_STRING : string := SLV_TO_STR(SATA_EIDLE_VAL_BINARY); + constant SIM_CPLLREFCLK_SEL_STRING : string := SLV_TO_STR(SIM_CPLLREFCLK_SEL_BINARY); + constant TERM_RCAL_CFG_STRING : string := SLV_TO_STR(TERM_RCAL_CFG_BINARY); + constant TERM_RCAL_OVRD_STRING : string := SLV_TO_STR(TERM_RCAL_OVRD_BINARY); + constant TRANS_TIME_RATE_STRING : string := SLV_TO_HEX(TRANS_TIME_RATE_BINARY, TRANS_TIME_RATE_STRLEN); + constant TST_RSV_STRING : string := SLV_TO_HEX(TST_RSV_BINARY, TST_RSV_STRLEN); + constant TXDLY_CFG_STRING : string := SLV_TO_HEX(TXDLY_CFG_BINARY, TXDLY_CFG_STRLEN); + constant TXDLY_LCFG_STRING : string := SLV_TO_HEX(TXDLY_LCFG_BINARY, TXDLY_LCFG_STRLEN); + constant TXDLY_TAP_CFG_STRING : string := SLV_TO_HEX(TXDLY_TAP_CFG_BINARY, TXDLY_TAP_CFG_STRLEN); + constant TXOOB_CFG_STRING : string := SUL_TO_STR(TXOOB_CFG_BINARY); + constant TXPCSRESET_TIME_STRING : string := SLV_TO_STR(TXPCSRESET_TIME_BINARY); + constant TXPHDLY_CFG_STRING : string := SLV_TO_HEX(TXPHDLY_CFG_BINARY, TXPHDLY_CFG_STRLEN); + constant TXPH_CFG_STRING : string := SLV_TO_HEX(TXPH_CFG_BINARY, TXPH_CFG_STRLEN); + constant TXPH_MONITOR_SEL_STRING : string := SLV_TO_STR(TXPH_MONITOR_SEL_BINARY); + constant TXPI_CFG0_STRING : string := SLV_TO_STR(TXPI_CFG0_BINARY); + constant TXPI_CFG1_STRING : string := SLV_TO_STR(TXPI_CFG1_BINARY); + constant TXPI_CFG2_STRING : string := SLV_TO_STR(TXPI_CFG2_BINARY); + constant TXPI_CFG3_STRING : string := SUL_TO_STR(TXPI_CFG3_BINARY); + constant TXPI_CFG4_STRING : string := SUL_TO_STR(TXPI_CFG4_BINARY); + constant TXPI_CFG5_STRING : string := SLV_TO_STR(TXPI_CFG5_BINARY); + constant TXPI_GREY_SEL_STRING : string := SUL_TO_STR(TXPI_GREY_SEL_BINARY); + constant TXPI_INVSTROBE_SEL_STRING : string := SUL_TO_STR(TXPI_INVSTROBE_SEL_BINARY); + constant TXPI_PPM_CFG_STRING : string := SLV_TO_STR(TXPI_PPM_CFG_BINARY); + constant TXPI_SYNFREQ_PPM_STRING : string := SLV_TO_STR(TXPI_SYNFREQ_PPM_BINARY); + constant TXPMARESET_TIME_STRING : string := SLV_TO_STR(TXPMARESET_TIME_BINARY); + constant TXSYNC_MULTILANE_STRING : string := SUL_TO_STR(TXSYNC_MULTILANE_BINARY); + constant TXSYNC_OVRD_STRING : string := SUL_TO_STR(TXSYNC_OVRD_BINARY); + constant TXSYNC_SKIP_DA_STRING : string := SUL_TO_STR(TXSYNC_SKIP_DA_BINARY); + constant TX_CLKMUX_PD_STRING : string := SUL_TO_STR(TX_CLKMUX_PD_BINARY); + constant TX_DEEMPH0_STRING : string := SLV_TO_STR(TX_DEEMPH0_BINARY); + constant TX_DEEMPH1_STRING : string := SLV_TO_STR(TX_DEEMPH1_BINARY); + constant TX_EIDLE_ASSERT_DELAY_STRING : string := SLV_TO_STR(TX_EIDLE_ASSERT_DELAY_BINARY); + constant TX_EIDLE_DEASSERT_DELAY_STRING : string := SLV_TO_STR(TX_EIDLE_DEASSERT_DELAY_BINARY); + constant TX_MAINCURSOR_SEL_STRING : string := SUL_TO_STR(TX_MAINCURSOR_SEL_BINARY); + constant TX_MARGIN_FULL_0_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_0_BINARY); + constant TX_MARGIN_FULL_1_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_1_BINARY); + constant TX_MARGIN_FULL_2_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_2_BINARY); + constant TX_MARGIN_FULL_3_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_3_BINARY); + constant TX_MARGIN_FULL_4_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_4_BINARY); + constant TX_MARGIN_LOW_0_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_0_BINARY); + constant TX_MARGIN_LOW_1_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_1_BINARY); + constant TX_MARGIN_LOW_2_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_2_BINARY); + constant TX_MARGIN_LOW_3_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_3_BINARY); + constant TX_MARGIN_LOW_4_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_4_BINARY); + constant TX_QPI_STATUS_EN_STRING : string := SUL_TO_STR(TX_QPI_STATUS_EN_BINARY); + constant TX_RXDETECT_CFG_STRING : string := SLV_TO_HEX(TX_RXDETECT_CFG_BINARY, TX_RXDETECT_CFG_STRLEN); + constant TX_RXDETECT_PRECHARGE_TIME_STRING : string := SLV_TO_HEX(TX_RXDETECT_PRECHARGE_TIME_BINARY, TX_RXDETECT_PRECHARGE_TIME_STRLEN); + constant TX_RXDETECT_REF_STRING : string := SLV_TO_STR(TX_RXDETECT_REF_BINARY); + constant UCODEER_CLR_STRING : string := SUL_TO_STR(UCODEER_CLR_BINARY); + constant USE_PCS_CLK_PHASE_SEL_STRING : string := SUL_TO_STR(USE_PCS_CLK_PHASE_SEL_BINARY); + + signal IS_CLKRSVD0_INVERTED_BIN : std_ulogic; + signal IS_CLKRSVD1_INVERTED_BIN : std_ulogic; + signal IS_CPLLLOCKDETCLK_INVERTED_BIN : std_ulogic; + signal IS_DMONITORCLK_INVERTED_BIN : std_ulogic; + signal IS_DRPCLK_INVERTED_BIN : std_ulogic; + signal IS_GTGREFCLK_INVERTED_BIN : std_ulogic; + signal IS_RXUSRCLK2_INVERTED_BIN : std_ulogic; + signal IS_RXUSRCLK_INVERTED_BIN : std_ulogic; + signal IS_SIGVALIDCLK_INVERTED_BIN : std_ulogic; + signal IS_TXPHDLYTSTCLK_INVERTED_BIN : std_ulogic; + signal IS_TXUSRCLK2_INVERTED_BIN : std_ulogic; + signal IS_TXUSRCLK_INVERTED_BIN : std_ulogic; + + signal ALIGN_COMMA_DOUBLE_BINARY : std_ulogic; + signal ALIGN_COMMA_WORD_BINARY : std_logic_vector(2 downto 0); + signal ALIGN_MCOMMA_DET_BINARY : std_ulogic; + signal ALIGN_PCOMMA_DET_BINARY : std_ulogic; + signal CBCC_DATA_SOURCE_SEL_BINARY : std_ulogic; + signal CHAN_BOND_KEEP_ALIGN_BINARY : std_ulogic; + signal CHAN_BOND_MAX_SKEW_BINARY : std_logic_vector(3 downto 0); + signal CHAN_BOND_SEQ_2_USE_BINARY : std_ulogic; + signal CHAN_BOND_SEQ_LEN_BINARY : std_logic_vector(1 downto 0); + signal CLK_CORRECT_USE_BINARY : std_ulogic; + signal CLK_COR_KEEP_IDLE_BINARY : std_ulogic; + signal CLK_COR_MAX_LAT_BINARY : std_logic_vector(5 downto 0); + signal CLK_COR_MIN_LAT_BINARY : std_logic_vector(5 downto 0); + signal CLK_COR_PRECEDENCE_BINARY : std_ulogic; + signal CLK_COR_REPEAT_WAIT_BINARY : std_logic_vector(4 downto 0); + signal CLK_COR_SEQ_2_USE_BINARY : std_ulogic; + signal CLK_COR_SEQ_LEN_BINARY : std_logic_vector(1 downto 0); + signal CPLL_FBDIV_45_BINARY : std_ulogic; + signal CPLL_FBDIV_BINARY : std_logic_vector(6 downto 0); + signal CPLL_REFCLK_DIV_BINARY : std_logic_vector(4 downto 0); + signal DEC_MCOMMA_DETECT_BINARY : std_ulogic; + signal DEC_PCOMMA_DETECT_BINARY : std_ulogic; + signal DEC_VALID_COMMA_ONLY_BINARY : std_ulogic; + signal ES_ERRDET_EN_BINARY : std_ulogic; + signal ES_EYE_SCAN_EN_BINARY : std_ulogic; + signal FTS_LANE_DESKEW_EN_BINARY : std_ulogic; + signal PCS_PCIE_EN_BINARY : std_ulogic; + signal RXBUF_ADDR_MODE_BINARY : std_ulogic; + signal RXBUF_EN_BINARY : std_ulogic; + signal RXBUF_RESET_ON_CB_CHANGE_BINARY : std_ulogic; + signal RXBUF_RESET_ON_COMMAALIGN_BINARY : std_ulogic; + signal RXBUF_RESET_ON_EIDLE_BINARY : std_ulogic; + signal RXBUF_RESET_ON_RATE_CHANGE_BINARY : std_ulogic; + signal RXBUF_THRESH_OVFLW_BINARY : std_logic_vector(5 downto 0); + signal RXBUF_THRESH_OVRD_BINARY : std_ulogic; + signal RXBUF_THRESH_UNDFLW_BINARY : std_logic_vector(5 downto 0); + signal RXGEARBOX_EN_BINARY : std_ulogic; + signal RXOOB_CLK_CFG_BINARY : std_ulogic; + signal RXOUT_DIV_BINARY : std_logic_vector(2 downto 0); + signal RXSLIDE_AUTO_WAIT_BINARY : std_logic_vector(3 downto 0); + signal RXSLIDE_MODE_BINARY : std_logic_vector(1 downto 0); + signal RX_CLK25_DIV_BINARY : std_logic_vector(4 downto 0); + signal RX_DATA_WIDTH_BINARY : std_logic_vector(2 downto 0); + signal RX_DEFER_RESET_BUF_EN_BINARY : std_ulogic; + signal RX_DISPERR_SEQ_MATCH_BINARY : std_ulogic; + signal RX_INT_DATAWIDTH_BINARY : std_ulogic; + signal RX_SIG_VALID_DLY_BINARY : std_logic_vector(4 downto 0); + signal RX_XCLK_SEL_BINARY : std_ulogic; + signal SAS_MAX_COM_BINARY : std_logic_vector(6 downto 0); + signal SAS_MIN_COM_BINARY : std_logic_vector(5 downto 0); + signal SATA_CPLL_CFG_BINARY : std_logic_vector(1 downto 0); + signal SATA_MAX_BURST_BINARY : std_logic_vector(5 downto 0); + signal SATA_MAX_INIT_BINARY : std_logic_vector(5 downto 0); + signal SATA_MAX_WAKE_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_BURST_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_INIT_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_WAKE_BINARY : std_logic_vector(5 downto 0); + signal SHOW_REALIGN_COMMA_BINARY : std_ulogic; + signal SIM_RECEIVER_DETECT_PASS_BINARY : std_ulogic; + signal SIM_RESET_SPEEDUP_BINARY : std_ulogic; + signal SIM_TX_EIDLE_DRIVE_LEVEL_BINARY : std_ulogic; + signal SIM_VERSION_BINARY : std_ulogic; + signal TXBUF_EN_BINARY : std_ulogic; + signal TXBUF_RESET_ON_RATE_CHANGE_BINARY : std_ulogic; + signal TXGEARBOX_EN_BINARY : std_ulogic; + signal TXOUT_DIV_BINARY : std_logic_vector(2 downto 0); + signal TXPI_PPMCLK_SEL_BINARY : std_ulogic; + signal TX_CLK25_DIV_BINARY : std_logic_vector(4 downto 0); + signal TX_DATA_WIDTH_BINARY : std_logic_vector(2 downto 0); + signal TX_DRIVE_MODE_BINARY : std_logic_vector(4 downto 0); + signal TX_INT_DATAWIDTH_BINARY : std_ulogic; + signal TX_LOOPBACK_DRIVE_HIZ_BINARY : std_ulogic; + signal TX_XCLK_SEL_BINARY : std_ulogic; + + signal CPLLFBCLKLOST_out : std_ulogic; + signal CPLLLOCK_out : std_ulogic; + signal CPLLREFCLKLOST_out : std_ulogic; + signal DMONITOROUT_out : std_logic_vector(14 downto 0); + signal DRPDO_out : std_logic_vector(15 downto 0); + signal DRPRDY_out : std_ulogic; + signal EYESCANDATAERROR_out : std_ulogic; + signal GTHTXN_out : std_ulogic; + signal GTHTXP_out : std_ulogic; + signal GTREFCLKMONITOR_out : std_ulogic; + signal PCSRSVDOUT_out : std_logic_vector(15 downto 0); + signal PHYSTATUS_out : std_ulogic; + signal RSOSINTDONE_out : std_ulogic; + signal RXBUFSTATUS_out : std_logic_vector(2 downto 0); + signal RXBYTEISALIGNED_out : std_ulogic; + signal RXBYTEREALIGN_out : std_ulogic; + signal RXCDRLOCK_out : std_ulogic; + signal RXCHANBONDSEQ_out : std_ulogic; + signal RXCHANISALIGNED_out : std_ulogic; + signal RXCHANREALIGN_out : std_ulogic; + signal RXCHARISCOMMA_out : std_logic_vector(7 downto 0); + signal RXCHARISK_out : std_logic_vector(7 downto 0); + signal RXCHBONDO_out : std_logic_vector(4 downto 0); + signal RXCLKCORCNT_out : std_logic_vector(1 downto 0); + signal RXCOMINITDET_out : std_ulogic; + signal RXCOMMADET_out : std_ulogic; + signal RXCOMSASDET_out : std_ulogic; + signal RXCOMWAKEDET_out : std_ulogic; + signal RXDATAVALID_out : std_logic_vector(1 downto 0); + signal RXDATA_out : std_logic_vector(63 downto 0); + signal RXDFESLIDETAPSTARTED_out : std_ulogic; + signal RXDFESLIDETAPSTROBEDONE_out : std_ulogic; + signal RXDFESLIDETAPSTROBESTARTED_out : std_ulogic; + signal RXDFESTADAPTDONE_out : std_ulogic; + signal RXDISPERR_out : std_logic_vector(7 downto 0); + signal RXDLYSRESETDONE_out : std_ulogic; + signal RXELECIDLE_out : std_ulogic; + signal RXHEADERVALID_out : std_logic_vector(1 downto 0); + signal RXHEADER_out : std_logic_vector(5 downto 0); + signal RXMONITOROUT_out : std_logic_vector(6 downto 0); + signal RXNOTINTABLE_out : std_logic_vector(7 downto 0); + signal RXOSINTSTARTED_out : std_ulogic; + signal RXOSINTSTROBEDONE_out : std_ulogic; + signal RXOSINTSTROBESTARTED_out : std_ulogic; + signal RXOUTCLKFABRIC_out : std_ulogic; + signal RXOUTCLKPCS_out : std_ulogic; + signal RXOUTCLK_out : std_ulogic; + signal RXPHALIGNDONE_out : std_ulogic; + signal RXPHMONITOR_out : std_logic_vector(4 downto 0); + signal RXPHSLIPMONITOR_out : std_logic_vector(4 downto 0); + signal RXPMARESETDONE_out : std_ulogic; + signal RXPRBSERR_out : std_ulogic; + signal RXQPISENN_out : std_ulogic; + signal RXQPISENP_out : std_ulogic; + signal RXRATEDONE_out : std_ulogic; + signal RXRESETDONE_out : std_ulogic; + signal RXSTARTOFSEQ_out : std_logic_vector(1 downto 0); + signal RXSTATUS_out : std_logic_vector(2 downto 0); + signal RXSYNCDONE_out : std_ulogic; + signal RXSYNCOUT_out : std_ulogic; + signal RXVALID_out : std_ulogic; + signal TXBUFSTATUS_out : std_logic_vector(1 downto 0); + signal TXCOMFINISH_out : std_ulogic; + signal TXDLYSRESETDONE_out : std_ulogic; + signal TXGEARBOXREADY_out : std_ulogic; + signal TXOUTCLKFABRIC_out : std_ulogic; + signal TXOUTCLKPCS_out : std_ulogic; + signal TXOUTCLK_out : std_ulogic; + signal TXPHALIGNDONE_out : std_ulogic; + signal TXPHINITDONE_out : std_ulogic; + signal TXPMARESETDONE_out : std_ulogic; + signal TXQPISENN_out : std_ulogic; + signal TXQPISENP_out : std_ulogic; + signal TXRATEDONE_out : std_ulogic; + signal TXRESETDONE_out : std_ulogic; + signal TXSYNCDONE_out : std_ulogic; + signal TXSYNCOUT_out : std_ulogic; + + signal CPLLFBCLKLOST_outdelay : std_ulogic; + signal CPLLLOCK_outdelay : std_ulogic; + signal CPLLREFCLKLOST_outdelay : std_ulogic; + signal DMONITOROUT_outdelay : std_logic_vector(14 downto 0); + signal DRPDO_outdelay : std_logic_vector(15 downto 0); + signal DRPRDY_outdelay : std_ulogic; + signal EYESCANDATAERROR_outdelay : std_ulogic; + signal GTHTXN_outdelay : std_ulogic; + signal GTHTXP_outdelay : std_ulogic; + signal GTREFCLKMONITOR_outdelay : std_ulogic; + signal PCSRSVDOUT_outdelay : std_logic_vector(15 downto 0); + signal PHYSTATUS_outdelay : std_ulogic; + signal RSOSINTDONE_outdelay : std_ulogic; + signal RXBUFSTATUS_outdelay : std_logic_vector(2 downto 0); + signal RXBYTEISALIGNED_outdelay : std_ulogic; + signal RXBYTEREALIGN_outdelay : std_ulogic; + signal RXCDRLOCK_outdelay : std_ulogic; + signal RXCHANBONDSEQ_outdelay : std_ulogic; + signal RXCHANISALIGNED_outdelay : std_ulogic; + signal RXCHANREALIGN_outdelay : std_ulogic; + signal RXCHARISCOMMA_outdelay : std_logic_vector(7 downto 0); + signal RXCHARISK_outdelay : std_logic_vector(7 downto 0); + signal RXCHBONDO_outdelay : std_logic_vector(4 downto 0); + signal RXCLKCORCNT_outdelay : std_logic_vector(1 downto 0); + signal RXCOMINITDET_outdelay : std_ulogic; + signal RXCOMMADET_outdelay : std_ulogic; + signal RXCOMSASDET_outdelay : std_ulogic; + signal RXCOMWAKEDET_outdelay : std_ulogic; + signal RXDATAVALID_outdelay : std_logic_vector(1 downto 0); + signal RXDATA_outdelay : std_logic_vector(63 downto 0); + signal RXDFESLIDETAPSTARTED_outdelay : std_ulogic; + signal RXDFESLIDETAPSTROBEDONE_outdelay : std_ulogic; + signal RXDFESLIDETAPSTROBESTARTED_outdelay : std_ulogic; + signal RXDFESTADAPTDONE_outdelay : std_ulogic; + signal RXDISPERR_outdelay : std_logic_vector(7 downto 0); + signal RXDLYSRESETDONE_outdelay : std_ulogic; + signal RXELECIDLE_outdelay : std_ulogic; + signal RXHEADERVALID_outdelay : std_logic_vector(1 downto 0); + signal RXHEADER_outdelay : std_logic_vector(5 downto 0); + signal RXMONITOROUT_outdelay : std_logic_vector(6 downto 0); + signal RXNOTINTABLE_outdelay : std_logic_vector(7 downto 0); + signal RXOSINTSTARTED_outdelay : std_ulogic; + signal RXOSINTSTROBEDONE_outdelay : std_ulogic; + signal RXOSINTSTROBESTARTED_outdelay : std_ulogic; + signal RXOUTCLKFABRIC_outdelay : std_ulogic; + signal RXOUTCLKPCS_outdelay : std_ulogic; + signal RXOUTCLK_outdelay : std_ulogic; + signal RXPHALIGNDONE_outdelay : std_ulogic; + signal RXPHMONITOR_outdelay : std_logic_vector(4 downto 0); + signal RXPHSLIPMONITOR_outdelay : std_logic_vector(4 downto 0); + signal RXPMARESETDONE_outdelay : std_ulogic; + signal RXPRBSERR_outdelay : std_ulogic; + signal RXQPISENN_outdelay : std_ulogic; + signal RXQPISENP_outdelay : std_ulogic; + signal RXRATEDONE_outdelay : std_ulogic; + signal RXRESETDONE_outdelay : std_ulogic; + signal RXSTARTOFSEQ_outdelay : std_logic_vector(1 downto 0); + signal RXSTATUS_outdelay : std_logic_vector(2 downto 0); + signal RXSYNCDONE_outdelay : std_ulogic; + signal RXSYNCOUT_outdelay : std_ulogic; + signal RXVALID_outdelay : std_ulogic; + signal TXBUFSTATUS_outdelay : std_logic_vector(1 downto 0); + signal TXCOMFINISH_outdelay : std_ulogic; + signal TXDLYSRESETDONE_outdelay : std_ulogic; + signal TXGEARBOXREADY_outdelay : std_ulogic; + signal TXOUTCLKFABRIC_outdelay : std_ulogic; + signal TXOUTCLKPCS_outdelay : std_ulogic; + signal TXOUTCLK_outdelay : std_ulogic; + signal TXPHALIGNDONE_outdelay : std_ulogic; + signal TXPHINITDONE_outdelay : std_ulogic; + signal TXPMARESETDONE_outdelay : std_ulogic; + signal TXQPISENN_outdelay : std_ulogic; + signal TXQPISENP_outdelay : std_ulogic; + signal TXRATEDONE_outdelay : std_ulogic; + signal TXRESETDONE_outdelay : std_ulogic; + signal TXSYNCDONE_outdelay : std_ulogic; + signal TXSYNCOUT_outdelay : std_ulogic; + + signal CFGRESET_ipd : std_ulogic; + signal CLKRSVD0_ipd : std_ulogic; + signal CLKRSVD1_ipd : std_ulogic; + signal CPLLLOCKDETCLK_ipd : std_ulogic; + signal CPLLLOCKEN_ipd : std_ulogic; + signal CPLLPD_ipd : std_ulogic; + signal CPLLREFCLKSEL_ipd : std_logic_vector(2 downto 0); + signal CPLLRESET_ipd : std_ulogic; + signal DMONFIFORESET_ipd : std_ulogic; + signal DMONITORCLK_ipd : std_ulogic; + signal DRPADDR_ipd : std_logic_vector(8 downto 0); + signal DRPCLK_ipd : std_ulogic; + signal DRPDI_ipd : std_logic_vector(15 downto 0); + signal DRPEN_ipd : std_ulogic; + signal DRPWE_ipd : std_ulogic; + signal EYESCANMODE_ipd : std_ulogic; + signal EYESCANRESET_ipd : std_ulogic; + signal EYESCANTRIGGER_ipd : std_ulogic; + signal GTGREFCLK_ipd : std_ulogic; + signal GTHRXN_ipd : std_ulogic; + signal GTHRXP_ipd : std_ulogic; + signal GTNORTHREFCLK0_ipd : std_ulogic; + signal GTNORTHREFCLK1_ipd : std_ulogic; + signal GTREFCLK0_ipd : std_ulogic; + signal GTREFCLK1_ipd : std_ulogic; + signal GTRESETSEL_ipd : std_ulogic; + signal GTRSVD_ipd : std_logic_vector(15 downto 0); + signal GTRXRESET_ipd : std_ulogic; + signal GTSOUTHREFCLK0_ipd : std_ulogic; + signal GTSOUTHREFCLK1_ipd : std_ulogic; + signal GTTXRESET_ipd : std_ulogic; + signal LOOPBACK_ipd : std_logic_vector(2 downto 0); + signal PCSRSVDIN2_ipd : std_logic_vector(4 downto 0); + signal PCSRSVDIN_ipd : std_logic_vector(15 downto 0); + signal PMARSVDIN_ipd : std_logic_vector(4 downto 0); + signal QPLLCLK_ipd : std_ulogic; + signal QPLLREFCLK_ipd : std_ulogic; + signal RESETOVRD_ipd : std_ulogic; + signal RX8B10BEN_ipd : std_ulogic; + signal RXADAPTSELTEST_ipd : std_logic_vector(13 downto 0); + signal RXBUFRESET_ipd : std_ulogic; + signal RXCDRFREQRESET_ipd : std_ulogic; + signal RXCDRHOLD_ipd : std_ulogic; + signal RXCDROVRDEN_ipd : std_ulogic; + signal RXCDRRESETRSV_ipd : std_ulogic; + signal RXCDRRESET_ipd : std_ulogic; + signal RXCHBONDEN_ipd : std_ulogic; + signal RXCHBONDI_ipd : std_logic_vector(4 downto 0); + signal RXCHBONDLEVEL_ipd : std_logic_vector(2 downto 0); + signal RXCHBONDMASTER_ipd : std_ulogic; + signal RXCHBONDSLAVE_ipd : std_ulogic; + signal RXCOMMADETEN_ipd : std_ulogic; + signal RXDDIEN_ipd : std_ulogic; + signal RXDFEAGCHOLD_ipd : std_ulogic; + signal RXDFEAGCOVRDEN_ipd : std_ulogic; + signal RXDFEAGCTRL_ipd : std_logic_vector(4 downto 0); + signal RXDFECM1EN_ipd : std_ulogic; + signal RXDFELFHOLD_ipd : std_ulogic; + signal RXDFELFOVRDEN_ipd : std_ulogic; + signal RXDFELPMRESET_ipd : std_ulogic; + signal RXDFESLIDETAPADAPTEN_ipd : std_ulogic; + signal RXDFESLIDETAPHOLD_ipd : std_ulogic; + signal RXDFESLIDETAPID_ipd : std_logic_vector(5 downto 0); + signal RXDFESLIDETAPINITOVRDEN_ipd : std_ulogic; + signal RXDFESLIDETAPONLYADAPTEN_ipd : std_ulogic; + signal RXDFESLIDETAPOVRDEN_ipd : std_ulogic; + signal RXDFESLIDETAPSTROBE_ipd : std_ulogic; + signal RXDFESLIDETAP_ipd : std_logic_vector(4 downto 0); + signal RXDFETAP2HOLD_ipd : std_ulogic; + signal RXDFETAP2OVRDEN_ipd : std_ulogic; + signal RXDFETAP3HOLD_ipd : std_ulogic; + signal RXDFETAP3OVRDEN_ipd : std_ulogic; + signal RXDFETAP4HOLD_ipd : std_ulogic; + signal RXDFETAP4OVRDEN_ipd : std_ulogic; + signal RXDFETAP5HOLD_ipd : std_ulogic; + signal RXDFETAP5OVRDEN_ipd : std_ulogic; + signal RXDFETAP6HOLD_ipd : std_ulogic; + signal RXDFETAP6OVRDEN_ipd : std_ulogic; + signal RXDFETAP7HOLD_ipd : std_ulogic; + signal RXDFETAP7OVRDEN_ipd : std_ulogic; + signal RXDFEUTHOLD_ipd : std_ulogic; + signal RXDFEUTOVRDEN_ipd : std_ulogic; + signal RXDFEVPHOLD_ipd : std_ulogic; + signal RXDFEVPOVRDEN_ipd : std_ulogic; + signal RXDFEVSEN_ipd : std_ulogic; + signal RXDFEXYDEN_ipd : std_ulogic; + signal RXDLYBYPASS_ipd : std_ulogic; + signal RXDLYEN_ipd : std_ulogic; + signal RXDLYOVRDEN_ipd : std_ulogic; + signal RXDLYSRESET_ipd : std_ulogic; + signal RXELECIDLEMODE_ipd : std_logic_vector(1 downto 0); + signal RXGEARBOXSLIP_ipd : std_ulogic; + signal RXLPMEN_ipd : std_ulogic; + signal RXLPMHFHOLD_ipd : std_ulogic; + signal RXLPMHFOVRDEN_ipd : std_ulogic; + signal RXLPMLFHOLD_ipd : std_ulogic; + signal RXLPMLFKLOVRDEN_ipd : std_ulogic; + signal RXMCOMMAALIGNEN_ipd : std_ulogic; + signal RXMONITORSEL_ipd : std_logic_vector(1 downto 0); + signal RXOOBRESET_ipd : std_ulogic; + signal RXOSCALRESET_ipd : std_ulogic; + signal RXOSHOLD_ipd : std_ulogic; + signal RXOSINTCFG_ipd : std_logic_vector(3 downto 0); + signal RXOSINTEN_ipd : std_ulogic; + signal RXOSINTHOLD_ipd : std_ulogic; + signal RXOSINTID0_ipd : std_logic_vector(3 downto 0); + signal RXOSINTNTRLEN_ipd : std_ulogic; + signal RXOSINTOVRDEN_ipd : std_ulogic; + signal RXOSINTSTROBE_ipd : std_ulogic; + signal RXOSINTTESTOVRDEN_ipd : std_ulogic; + signal RXOSOVRDEN_ipd : std_ulogic; + signal RXOUTCLKSEL_ipd : std_logic_vector(2 downto 0); + signal RXPCOMMAALIGNEN_ipd : std_ulogic; + signal RXPCSRESET_ipd : std_ulogic; + signal RXPD_ipd : std_logic_vector(1 downto 0); + signal RXPHALIGNEN_ipd : std_ulogic; + signal RXPHALIGN_ipd : std_ulogic; + signal RXPHDLYPD_ipd : std_ulogic; + signal RXPHDLYRESET_ipd : std_ulogic; + signal RXPHOVRDEN_ipd : std_ulogic; + signal RXPMARESET_ipd : std_ulogic; + signal RXPOLARITY_ipd : std_ulogic; + signal RXPRBSCNTRESET_ipd : std_ulogic; + signal RXPRBSSEL_ipd : std_logic_vector(2 downto 0); + signal RXQPIEN_ipd : std_ulogic; + signal RXRATEMODE_ipd : std_ulogic; + signal RXRATE_ipd : std_logic_vector(2 downto 0); + signal RXSLIDE_ipd : std_ulogic; + signal RXSYNCALLIN_ipd : std_ulogic; + signal RXSYNCIN_ipd : std_ulogic; + signal RXSYNCMODE_ipd : std_ulogic; + signal RXSYSCLKSEL_ipd : std_logic_vector(1 downto 0); + signal RXUSERRDY_ipd : std_ulogic; + signal RXUSRCLK2_ipd : std_ulogic; + signal RXUSRCLK_ipd : std_ulogic; + signal SETERRSTATUS_ipd : std_ulogic; + signal SIGVALIDCLK_ipd : std_ulogic; + signal TSTIN_ipd : std_logic_vector(19 downto 0); + signal TX8B10BBYPASS_ipd : std_logic_vector(7 downto 0); + signal TX8B10BEN_ipd : std_ulogic; + signal TXBUFDIFFCTRL_ipd : std_logic_vector(2 downto 0); + signal TXCHARDISPMODE_ipd : std_logic_vector(7 downto 0); + signal TXCHARDISPVAL_ipd : std_logic_vector(7 downto 0); + signal TXCHARISK_ipd : std_logic_vector(7 downto 0); + signal TXCOMINIT_ipd : std_ulogic; + signal TXCOMSAS_ipd : std_ulogic; + signal TXCOMWAKE_ipd : std_ulogic; + signal TXDATA_ipd : std_logic_vector(63 downto 0); + signal TXDEEMPH_ipd : std_ulogic; + signal TXDETECTRX_ipd : std_ulogic; + signal TXDIFFCTRL_ipd : std_logic_vector(3 downto 0); + signal TXDIFFPD_ipd : std_ulogic; + signal TXDLYBYPASS_ipd : std_ulogic; + signal TXDLYEN_ipd : std_ulogic; + signal TXDLYHOLD_ipd : std_ulogic; + signal TXDLYOVRDEN_ipd : std_ulogic; + signal TXDLYSRESET_ipd : std_ulogic; + signal TXDLYUPDOWN_ipd : std_ulogic; + signal TXELECIDLE_ipd : std_ulogic; + signal TXHEADER_ipd : std_logic_vector(2 downto 0); + signal TXINHIBIT_ipd : std_ulogic; + signal TXMAINCURSOR_ipd : std_logic_vector(6 downto 0); + signal TXMARGIN_ipd : std_logic_vector(2 downto 0); + signal TXOUTCLKSEL_ipd : std_logic_vector(2 downto 0); + signal TXPCSRESET_ipd : std_ulogic; + signal TXPDELECIDLEMODE_ipd : std_ulogic; + signal TXPD_ipd : std_logic_vector(1 downto 0); + signal TXPHALIGNEN_ipd : std_ulogic; + signal TXPHALIGN_ipd : std_ulogic; + signal TXPHDLYPD_ipd : std_ulogic; + signal TXPHDLYRESET_ipd : std_ulogic; + signal TXPHDLYTSTCLK_ipd : std_ulogic; + signal TXPHINIT_ipd : std_ulogic; + signal TXPHOVRDEN_ipd : std_ulogic; + signal TXPIPPMEN_ipd : std_ulogic; + signal TXPIPPMOVRDEN_ipd : std_ulogic; + signal TXPIPPMPD_ipd : std_ulogic; + signal TXPIPPMSEL_ipd : std_ulogic; + signal TXPIPPMSTEPSIZE_ipd : std_logic_vector(4 downto 0); + signal TXPISOPD_ipd : std_ulogic; + signal TXPMARESET_ipd : std_ulogic; + signal TXPOLARITY_ipd : std_ulogic; + signal TXPOSTCURSORINV_ipd : std_ulogic; + signal TXPOSTCURSOR_ipd : std_logic_vector(4 downto 0); + signal TXPRBSFORCEERR_ipd : std_ulogic; + signal TXPRBSSEL_ipd : std_logic_vector(2 downto 0); + signal TXPRECURSORINV_ipd : std_ulogic; + signal TXPRECURSOR_ipd : std_logic_vector(4 downto 0); + signal TXQPIBIASEN_ipd : std_ulogic; + signal TXQPISTRONGPDOWN_ipd : std_ulogic; + signal TXQPIWEAKPUP_ipd : std_ulogic; + signal TXRATEMODE_ipd : std_ulogic; + signal TXRATE_ipd : std_logic_vector(2 downto 0); + signal TXSEQUENCE_ipd : std_logic_vector(6 downto 0); + signal TXSTARTSEQ_ipd : std_ulogic; + signal TXSWING_ipd : std_ulogic; + signal TXSYNCALLIN_ipd : std_ulogic; + signal TXSYNCIN_ipd : std_ulogic; + signal TXSYNCMODE_ipd : std_ulogic; + signal TXSYSCLKSEL_ipd : std_logic_vector(1 downto 0); + signal TXUSERRDY_ipd : std_ulogic; + signal TXUSRCLK2_ipd : std_ulogic; + signal TXUSRCLK_ipd : std_ulogic; + + signal CFGRESET_indelay : std_ulogic; + signal CLKRSVD0_indelay : std_ulogic; + signal CLKRSVD1_indelay : std_ulogic; + signal CPLLLOCKDETCLK_indelay : std_ulogic; + signal CPLLLOCKEN_indelay : std_ulogic; + signal CPLLPD_indelay : std_ulogic; + signal CPLLREFCLKSEL_indelay : std_logic_vector(2 downto 0); + signal CPLLRESET_indelay : std_ulogic; + signal DMONFIFORESET_indelay : std_ulogic; + signal DMONITORCLK_indelay : std_ulogic; + signal DRPADDR_indelay : std_logic_vector(8 downto 0); + signal DRPCLK_indelay : std_ulogic; + signal DRPDI_indelay : std_logic_vector(15 downto 0); + signal DRPEN_indelay : std_ulogic; + signal DRPWE_indelay : std_ulogic; + signal EYESCANMODE_indelay : std_ulogic; + signal EYESCANRESET_indelay : std_ulogic; + signal EYESCANTRIGGER_indelay : std_ulogic; + signal GTGREFCLK_indelay : std_ulogic; + signal GTHRXN_indelay : std_ulogic; + signal GTHRXP_indelay : std_ulogic; + signal GTNORTHREFCLK0_indelay : std_ulogic; + signal GTNORTHREFCLK1_indelay : std_ulogic; + signal GTREFCLK0_indelay : std_ulogic; + signal GTREFCLK1_indelay : std_ulogic; + signal GTRESETSEL_indelay : std_ulogic; + signal GTRSVD_indelay : std_logic_vector(15 downto 0); + signal GTRXRESET_indelay : std_ulogic; + signal GTSOUTHREFCLK0_indelay : std_ulogic; + signal GTSOUTHREFCLK1_indelay : std_ulogic; + signal GTTXRESET_indelay : std_ulogic; + signal LOOPBACK_indelay : std_logic_vector(2 downto 0); + signal PCSRSVDIN2_indelay : std_logic_vector(4 downto 0); + signal PCSRSVDIN_indelay : std_logic_vector(15 downto 0); + signal PMARSVDIN_indelay : std_logic_vector(4 downto 0); + signal QPLLCLK_indelay : std_ulogic; + signal QPLLREFCLK_indelay : std_ulogic; + signal RESETOVRD_indelay : std_ulogic; + signal RX8B10BEN_indelay : std_ulogic; + signal RXADAPTSELTEST_indelay : std_logic_vector(13 downto 0); + signal RXBUFRESET_indelay : std_ulogic; + signal RXCDRFREQRESET_indelay : std_ulogic; + signal RXCDRHOLD_indelay : std_ulogic; + signal RXCDROVRDEN_indelay : std_ulogic; + signal RXCDRRESETRSV_indelay : std_ulogic; + signal RXCDRRESET_indelay : std_ulogic; + signal RXCHBONDEN_indelay : std_ulogic; + signal RXCHBONDI_indelay : std_logic_vector(4 downto 0); + signal RXCHBONDLEVEL_indelay : std_logic_vector(2 downto 0); + signal RXCHBONDMASTER_indelay : std_ulogic; + signal RXCHBONDSLAVE_indelay : std_ulogic; + signal RXCOMMADETEN_indelay : std_ulogic; + signal RXDDIEN_indelay : std_ulogic; + signal RXDFEAGCHOLD_indelay : std_ulogic; + signal RXDFEAGCOVRDEN_indelay : std_ulogic; + signal RXDFEAGCTRL_indelay : std_logic_vector(4 downto 0); + signal RXDFECM1EN_indelay : std_ulogic; + signal RXDFELFHOLD_indelay : std_ulogic; + signal RXDFELFOVRDEN_indelay : std_ulogic; + signal RXDFELPMRESET_indelay : std_ulogic; + signal RXDFESLIDETAPADAPTEN_indelay : std_ulogic; + signal RXDFESLIDETAPHOLD_indelay : std_ulogic; + signal RXDFESLIDETAPID_indelay : std_logic_vector(5 downto 0); + signal RXDFESLIDETAPINITOVRDEN_indelay : std_ulogic; + signal RXDFESLIDETAPONLYADAPTEN_indelay : std_ulogic; + signal RXDFESLIDETAPOVRDEN_indelay : std_ulogic; + signal RXDFESLIDETAPSTROBE_indelay : std_ulogic; + signal RXDFESLIDETAP_indelay : std_logic_vector(4 downto 0); + signal RXDFETAP2HOLD_indelay : std_ulogic; + signal RXDFETAP2OVRDEN_indelay : std_ulogic; + signal RXDFETAP3HOLD_indelay : std_ulogic; + signal RXDFETAP3OVRDEN_indelay : std_ulogic; + signal RXDFETAP4HOLD_indelay : std_ulogic; + signal RXDFETAP4OVRDEN_indelay : std_ulogic; + signal RXDFETAP5HOLD_indelay : std_ulogic; + signal RXDFETAP5OVRDEN_indelay : std_ulogic; + signal RXDFETAP6HOLD_indelay : std_ulogic; + signal RXDFETAP6OVRDEN_indelay : std_ulogic; + signal RXDFETAP7HOLD_indelay : std_ulogic; + signal RXDFETAP7OVRDEN_indelay : std_ulogic; + signal RXDFEUTHOLD_indelay : std_ulogic; + signal RXDFEUTOVRDEN_indelay : std_ulogic; + signal RXDFEVPHOLD_indelay : std_ulogic; + signal RXDFEVPOVRDEN_indelay : std_ulogic; + signal RXDFEVSEN_indelay : std_ulogic; + signal RXDFEXYDEN_indelay : std_ulogic; + signal RXDLYBYPASS_indelay : std_ulogic; + signal RXDLYEN_indelay : std_ulogic; + signal RXDLYOVRDEN_indelay : std_ulogic; + signal RXDLYSRESET_indelay : std_ulogic; + signal RXELECIDLEMODE_indelay : std_logic_vector(1 downto 0); + signal RXGEARBOXSLIP_indelay : std_ulogic; + signal RXLPMEN_indelay : std_ulogic; + signal RXLPMHFHOLD_indelay : std_ulogic; + signal RXLPMHFOVRDEN_indelay : std_ulogic; + signal RXLPMLFHOLD_indelay : std_ulogic; + signal RXLPMLFKLOVRDEN_indelay : std_ulogic; + signal RXMCOMMAALIGNEN_indelay : std_ulogic; + signal RXMONITORSEL_indelay : std_logic_vector(1 downto 0); + signal RXOOBRESET_indelay : std_ulogic; + signal RXOSCALRESET_indelay : std_ulogic; + signal RXOSHOLD_indelay : std_ulogic; + signal RXOSINTCFG_indelay : std_logic_vector(3 downto 0); + signal RXOSINTEN_indelay : std_ulogic; + signal RXOSINTHOLD_indelay : std_ulogic; + signal RXOSINTID0_indelay : std_logic_vector(3 downto 0); + signal RXOSINTNTRLEN_indelay : std_ulogic; + signal RXOSINTOVRDEN_indelay : std_ulogic; + signal RXOSINTSTROBE_indelay : std_ulogic; + signal RXOSINTTESTOVRDEN_indelay : std_ulogic; + signal RXOSOVRDEN_indelay : std_ulogic; + signal RXOUTCLKSEL_indelay : std_logic_vector(2 downto 0); + signal RXPCOMMAALIGNEN_indelay : std_ulogic; + signal RXPCSRESET_indelay : std_ulogic; + signal RXPD_indelay : std_logic_vector(1 downto 0); + signal RXPHALIGNEN_indelay : std_ulogic; + signal RXPHALIGN_indelay : std_ulogic; + signal RXPHDLYPD_indelay : std_ulogic; + signal RXPHDLYRESET_indelay : std_ulogic; + signal RXPHOVRDEN_indelay : std_ulogic; + signal RXPMARESET_indelay : std_ulogic; + signal RXPOLARITY_indelay : std_ulogic; + signal RXPRBSCNTRESET_indelay : std_ulogic; + signal RXPRBSSEL_indelay : std_logic_vector(2 downto 0); + signal RXQPIEN_indelay : std_ulogic; + signal RXRATEMODE_indelay : std_ulogic; + signal RXRATE_indelay : std_logic_vector(2 downto 0); + signal RXSLIDE_indelay : std_ulogic; + signal RXSYNCALLIN_indelay : std_ulogic; + signal RXSYNCIN_indelay : std_ulogic; + signal RXSYNCMODE_indelay : std_ulogic; + signal RXSYSCLKSEL_indelay : std_logic_vector(1 downto 0); + signal RXUSERRDY_indelay : std_ulogic; + signal RXUSRCLK2_indelay : std_ulogic; + signal RXUSRCLK_indelay : std_ulogic; + signal SETERRSTATUS_indelay : std_ulogic; + signal SIGVALIDCLK_indelay : std_ulogic; + signal TSTIN_indelay : std_logic_vector(19 downto 0); + signal TX8B10BBYPASS_indelay : std_logic_vector(7 downto 0); + signal TX8B10BEN_indelay : std_ulogic; + signal TXBUFDIFFCTRL_indelay : std_logic_vector(2 downto 0); + signal TXCHARDISPMODE_indelay : std_logic_vector(7 downto 0); + signal TXCHARDISPVAL_indelay : std_logic_vector(7 downto 0); + signal TXCHARISK_indelay : std_logic_vector(7 downto 0); + signal TXCOMINIT_indelay : std_ulogic; + signal TXCOMSAS_indelay : std_ulogic; + signal TXCOMWAKE_indelay : std_ulogic; + signal TXDATA_indelay : std_logic_vector(63 downto 0); + signal TXDEEMPH_indelay : std_ulogic; + signal TXDETECTRX_indelay : std_ulogic; + signal TXDIFFCTRL_indelay : std_logic_vector(3 downto 0); + signal TXDIFFPD_indelay : std_ulogic; + signal TXDLYBYPASS_indelay : std_ulogic; + signal TXDLYEN_indelay : std_ulogic; + signal TXDLYHOLD_indelay : std_ulogic; + signal TXDLYOVRDEN_indelay : std_ulogic; + signal TXDLYSRESET_indelay : std_ulogic; + signal TXDLYUPDOWN_indelay : std_ulogic; + signal TXELECIDLE_indelay : std_ulogic; + signal TXHEADER_indelay : std_logic_vector(2 downto 0); + signal TXINHIBIT_indelay : std_ulogic; + signal TXMAINCURSOR_indelay : std_logic_vector(6 downto 0); + signal TXMARGIN_indelay : std_logic_vector(2 downto 0); + signal TXOUTCLKSEL_indelay : std_logic_vector(2 downto 0); + signal TXPCSRESET_indelay : std_ulogic; + signal TXPDELECIDLEMODE_indelay : std_ulogic; + signal TXPD_indelay : std_logic_vector(1 downto 0); + signal TXPHALIGNEN_indelay : std_ulogic; + signal TXPHALIGN_indelay : std_ulogic; + signal TXPHDLYPD_indelay : std_ulogic; + signal TXPHDLYRESET_indelay : std_ulogic; + signal TXPHDLYTSTCLK_indelay : std_ulogic; + signal TXPHINIT_indelay : std_ulogic; + signal TXPHOVRDEN_indelay : std_ulogic; + signal TXPIPPMEN_indelay : std_ulogic; + signal TXPIPPMOVRDEN_indelay : std_ulogic; + signal TXPIPPMPD_indelay : std_ulogic; + signal TXPIPPMSEL_indelay : std_ulogic; + signal TXPIPPMSTEPSIZE_indelay : std_logic_vector(4 downto 0); + signal TXPISOPD_indelay : std_ulogic; + signal TXPMARESET_indelay : std_ulogic; + signal TXPOLARITY_indelay : std_ulogic; + signal TXPOSTCURSORINV_indelay : std_ulogic; + signal TXPOSTCURSOR_indelay : std_logic_vector(4 downto 0); + signal TXPRBSFORCEERR_indelay : std_ulogic; + signal TXPRBSSEL_indelay : std_logic_vector(2 downto 0); + signal TXPRECURSORINV_indelay : std_ulogic; + signal TXPRECURSOR_indelay : std_logic_vector(4 downto 0); + signal TXQPIBIASEN_indelay : std_ulogic; + signal TXQPISTRONGPDOWN_indelay : std_ulogic; + signal TXQPIWEAKPUP_indelay : std_ulogic; + signal TXRATEMODE_indelay : std_ulogic; + signal TXRATE_indelay : std_logic_vector(2 downto 0); + signal TXSEQUENCE_indelay : std_logic_vector(6 downto 0); + signal TXSTARTSEQ_indelay : std_ulogic; + signal TXSWING_indelay : std_ulogic; + signal TXSYNCALLIN_indelay : std_ulogic; + signal TXSYNCIN_indelay : std_ulogic; + signal TXSYNCMODE_indelay : std_ulogic; + signal TXSYSCLKSEL_indelay : std_logic_vector(1 downto 0); + signal TXUSERRDY_indelay : std_ulogic; + signal TXUSRCLK2_indelay : std_ulogic; + signal TXUSRCLK_indelay : std_ulogic; + + begin + GTREFCLKMONITOR_out <= GTREFCLKMONITOR_outdelay after OUTCLK_DELAY; + RXOUTCLK_out <= RXOUTCLK_outdelay after OUTCLK_DELAY; + TXOUTCLK_out <= TXOUTCLK_outdelay after OUTCLK_DELAY; + + CPLLFBCLKLOST_out <= CPLLFBCLKLOST_outdelay after OUT_DELAY; + CPLLLOCK_out <= CPLLLOCK_outdelay after OUT_DELAY; + CPLLREFCLKLOST_out <= CPLLREFCLKLOST_outdelay after OUT_DELAY; + DMONITOROUT_out <= DMONITOROUT_outdelay after OUT_DELAY; + DRPDO_out <= DRPDO_outdelay after OUT_DELAY; + DRPRDY_out <= DRPRDY_outdelay after OUT_DELAY; + EYESCANDATAERROR_out <= EYESCANDATAERROR_outdelay after OUT_DELAY; + GTHTXN_out <= GTHTXN_outdelay after OUT_DELAY; + GTHTXP_out <= GTHTXP_outdelay after OUT_DELAY; + PCSRSVDOUT_out <= PCSRSVDOUT_outdelay after OUT_DELAY; + PHYSTATUS_out <= PHYSTATUS_outdelay after OUT_DELAY; + RSOSINTDONE_out <= RSOSINTDONE_outdelay after OUT_DELAY; + RXBUFSTATUS_out <= RXBUFSTATUS_outdelay after OUT_DELAY; + RXBYTEISALIGNED_out <= RXBYTEISALIGNED_outdelay after OUT_DELAY; + RXBYTEREALIGN_out <= RXBYTEREALIGN_outdelay after OUT_DELAY; + RXCDRLOCK_out <= RXCDRLOCK_outdelay after OUT_DELAY; + RXCHANBONDSEQ_out <= RXCHANBONDSEQ_outdelay after OUT_DELAY; + RXCHANISALIGNED_out <= RXCHANISALIGNED_outdelay after OUT_DELAY; + RXCHANREALIGN_out <= RXCHANREALIGN_outdelay after OUT_DELAY; + RXCHARISCOMMA_out <= RXCHARISCOMMA_outdelay after OUT_DELAY; + RXCHARISK_out <= RXCHARISK_outdelay after OUT_DELAY; + RXCHBONDO_out <= RXCHBONDO_outdelay after OUT_DELAY; + RXCLKCORCNT_out <= RXCLKCORCNT_outdelay after OUT_DELAY; + RXCOMINITDET_out <= RXCOMINITDET_outdelay after OUT_DELAY; + RXCOMMADET_out <= RXCOMMADET_outdelay after OUT_DELAY; + RXCOMSASDET_out <= RXCOMSASDET_outdelay after OUT_DELAY; + RXCOMWAKEDET_out <= RXCOMWAKEDET_outdelay after OUT_DELAY; + RXDATAVALID_out <= RXDATAVALID_outdelay after OUT_DELAY; + RXDATA_out <= RXDATA_outdelay after OUT_DELAY; + RXDFESLIDETAPSTARTED_out <= RXDFESLIDETAPSTARTED_outdelay after OUT_DELAY; + RXDFESLIDETAPSTROBEDONE_out <= RXDFESLIDETAPSTROBEDONE_outdelay after OUT_DELAY; + RXDFESLIDETAPSTROBESTARTED_out <= RXDFESLIDETAPSTROBESTARTED_outdelay after OUT_DELAY; + RXDFESTADAPTDONE_out <= RXDFESTADAPTDONE_outdelay after OUT_DELAY; + RXDISPERR_out <= RXDISPERR_outdelay after OUT_DELAY; + RXDLYSRESETDONE_out <= RXDLYSRESETDONE_outdelay after OUT_DELAY; + RXELECIDLE_out <= RXELECIDLE_outdelay after OUT_DELAY; + RXHEADERVALID_out <= RXHEADERVALID_outdelay after OUT_DELAY; + RXHEADER_out <= RXHEADER_outdelay after OUT_DELAY; + RXMONITOROUT_out <= RXMONITOROUT_outdelay after OUT_DELAY; + RXNOTINTABLE_out <= RXNOTINTABLE_outdelay after OUT_DELAY; + RXOSINTSTARTED_out <= RXOSINTSTARTED_outdelay after OUT_DELAY; + RXOSINTSTROBEDONE_out <= RXOSINTSTROBEDONE_outdelay after OUT_DELAY; + RXOSINTSTROBESTARTED_out <= RXOSINTSTROBESTARTED_outdelay after OUT_DELAY; + RXOUTCLKFABRIC_out <= RXOUTCLKFABRIC_outdelay after OUT_DELAY; + RXOUTCLKPCS_out <= RXOUTCLKPCS_outdelay after OUT_DELAY; + RXPHALIGNDONE_out <= RXPHALIGNDONE_outdelay after OUT_DELAY; + RXPHMONITOR_out <= RXPHMONITOR_outdelay after OUT_DELAY; + RXPHSLIPMONITOR_out <= RXPHSLIPMONITOR_outdelay after OUT_DELAY; + RXPMARESETDONE_out <= RXPMARESETDONE_outdelay after OUT_DELAY; + RXPRBSERR_out <= RXPRBSERR_outdelay after OUT_DELAY; + RXQPISENN_out <= RXQPISENN_outdelay after OUT_DELAY; + RXQPISENP_out <= RXQPISENP_outdelay after OUT_DELAY; + RXRATEDONE_out <= RXRATEDONE_outdelay after OUT_DELAY; + RXRESETDONE_out <= RXRESETDONE_outdelay after OUT_DELAY; + RXSTARTOFSEQ_out <= RXSTARTOFSEQ_outdelay after OUT_DELAY; + RXSTATUS_out <= RXSTATUS_outdelay after OUT_DELAY; + RXSYNCDONE_out <= RXSYNCDONE_outdelay after OUT_DELAY; + RXSYNCOUT_out <= RXSYNCOUT_outdelay after OUT_DELAY; + RXVALID_out <= RXVALID_outdelay after OUT_DELAY; + TXBUFSTATUS_out <= TXBUFSTATUS_outdelay after OUT_DELAY; + TXCOMFINISH_out <= TXCOMFINISH_outdelay after OUT_DELAY; + TXDLYSRESETDONE_out <= TXDLYSRESETDONE_outdelay after OUT_DELAY; + TXGEARBOXREADY_out <= TXGEARBOXREADY_outdelay after OUT_DELAY; + TXOUTCLKFABRIC_out <= TXOUTCLKFABRIC_outdelay after OUT_DELAY; + TXOUTCLKPCS_out <= TXOUTCLKPCS_outdelay after OUT_DELAY; + TXPHALIGNDONE_out <= TXPHALIGNDONE_outdelay after OUT_DELAY; + TXPHINITDONE_out <= TXPHINITDONE_outdelay after OUT_DELAY; + TXPMARESETDONE_out <= TXPMARESETDONE_outdelay after OUT_DELAY; + TXQPISENN_out <= TXQPISENN_outdelay after OUT_DELAY; + TXQPISENP_out <= TXQPISENP_outdelay after OUT_DELAY; + TXRATEDONE_out <= TXRATEDONE_outdelay after OUT_DELAY; + TXRESETDONE_out <= TXRESETDONE_outdelay after OUT_DELAY; + TXSYNCDONE_out <= TXSYNCDONE_outdelay after OUT_DELAY; + TXSYNCOUT_out <= TXSYNCOUT_outdelay after OUT_DELAY; + + CLKRSVD0_ipd <= CLKRSVD0; + CLKRSVD1_ipd <= CLKRSVD1; + CPLLLOCKDETCLK_ipd <= CPLLLOCKDETCLK; + DMONITORCLK_ipd <= DMONITORCLK; + DRPCLK_ipd <= DRPCLK; + GTGREFCLK_ipd <= GTGREFCLK; + GTNORTHREFCLK0_ipd <= GTNORTHREFCLK0; + GTNORTHREFCLK1_ipd <= GTNORTHREFCLK1; + GTREFCLK0_ipd <= GTREFCLK0; + GTREFCLK1_ipd <= GTREFCLK1; + GTSOUTHREFCLK0_ipd <= GTSOUTHREFCLK0; + GTSOUTHREFCLK1_ipd <= GTSOUTHREFCLK1; + QPLLCLK_ipd <= QPLLCLK; + RXUSRCLK2_ipd <= RXUSRCLK2; + RXUSRCLK_ipd <= RXUSRCLK; + SIGVALIDCLK_ipd <= SIGVALIDCLK; + TXPHDLYTSTCLK_ipd <= TXPHDLYTSTCLK; + TXUSRCLK2_ipd <= TXUSRCLK2; + TXUSRCLK_ipd <= TXUSRCLK; + + CFGRESET_ipd <= CFGRESET; + CPLLLOCKEN_ipd <= CPLLLOCKEN; + CPLLPD_ipd <= CPLLPD; + CPLLREFCLKSEL_ipd <= CPLLREFCLKSEL; + CPLLRESET_ipd <= CPLLRESET; + DMONFIFORESET_ipd <= DMONFIFORESET; + DRPADDR_ipd <= DRPADDR; + DRPDI_ipd <= DRPDI; + DRPEN_ipd <= DRPEN; + DRPWE_ipd <= DRPWE; + EYESCANMODE_ipd <= EYESCANMODE; + EYESCANRESET_ipd <= EYESCANRESET; + EYESCANTRIGGER_ipd <= EYESCANTRIGGER; + GTHRXN_ipd <= GTHRXN; + GTHRXP_ipd <= GTHRXP; + GTRESETSEL_ipd <= GTRESETSEL; + GTRSVD_ipd <= GTRSVD; + GTRXRESET_ipd <= GTRXRESET; + GTTXRESET_ipd <= GTTXRESET; + LOOPBACK_ipd <= LOOPBACK; + PCSRSVDIN2_ipd <= PCSRSVDIN2; + PCSRSVDIN_ipd <= PCSRSVDIN; + PMARSVDIN_ipd <= PMARSVDIN; + QPLLREFCLK_ipd <= QPLLREFCLK; + RESETOVRD_ipd <= RESETOVRD; + RX8B10BEN_ipd <= RX8B10BEN; + RXADAPTSELTEST_ipd <= RXADAPTSELTEST; + RXBUFRESET_ipd <= RXBUFRESET; + RXCDRFREQRESET_ipd <= RXCDRFREQRESET; + RXCDRHOLD_ipd <= RXCDRHOLD; + RXCDROVRDEN_ipd <= RXCDROVRDEN; + RXCDRRESETRSV_ipd <= RXCDRRESETRSV; + RXCDRRESET_ipd <= RXCDRRESET; + RXCHBONDEN_ipd <= RXCHBONDEN; + RXCHBONDI_ipd <= RXCHBONDI; + RXCHBONDLEVEL_ipd <= RXCHBONDLEVEL; + RXCHBONDMASTER_ipd <= RXCHBONDMASTER; + RXCHBONDSLAVE_ipd <= RXCHBONDSLAVE; + RXCOMMADETEN_ipd <= RXCOMMADETEN; + RXDDIEN_ipd <= RXDDIEN; + RXDFEAGCHOLD_ipd <= RXDFEAGCHOLD; + RXDFEAGCOVRDEN_ipd <= RXDFEAGCOVRDEN; + RXDFEAGCTRL_ipd <= RXDFEAGCTRL; + RXDFECM1EN_ipd <= RXDFECM1EN; + RXDFELFHOLD_ipd <= RXDFELFHOLD; + RXDFELFOVRDEN_ipd <= RXDFELFOVRDEN; + RXDFELPMRESET_ipd <= RXDFELPMRESET; + RXDFESLIDETAPADAPTEN_ipd <= RXDFESLIDETAPADAPTEN; + RXDFESLIDETAPHOLD_ipd <= RXDFESLIDETAPHOLD; + RXDFESLIDETAPID_ipd <= RXDFESLIDETAPID; + RXDFESLIDETAPINITOVRDEN_ipd <= RXDFESLIDETAPINITOVRDEN; + RXDFESLIDETAPONLYADAPTEN_ipd <= RXDFESLIDETAPONLYADAPTEN; + RXDFESLIDETAPOVRDEN_ipd <= RXDFESLIDETAPOVRDEN; + RXDFESLIDETAPSTROBE_ipd <= RXDFESLIDETAPSTROBE; + RXDFESLIDETAP_ipd <= RXDFESLIDETAP; + RXDFETAP2HOLD_ipd <= RXDFETAP2HOLD; + RXDFETAP2OVRDEN_ipd <= RXDFETAP2OVRDEN; + RXDFETAP3HOLD_ipd <= RXDFETAP3HOLD; + RXDFETAP3OVRDEN_ipd <= RXDFETAP3OVRDEN; + RXDFETAP4HOLD_ipd <= RXDFETAP4HOLD; + RXDFETAP4OVRDEN_ipd <= RXDFETAP4OVRDEN; + RXDFETAP5HOLD_ipd <= RXDFETAP5HOLD; + RXDFETAP5OVRDEN_ipd <= RXDFETAP5OVRDEN; + RXDFETAP6HOLD_ipd <= RXDFETAP6HOLD; + RXDFETAP6OVRDEN_ipd <= RXDFETAP6OVRDEN; + RXDFETAP7HOLD_ipd <= RXDFETAP7HOLD; + RXDFETAP7OVRDEN_ipd <= RXDFETAP7OVRDEN; + RXDFEUTHOLD_ipd <= RXDFEUTHOLD; + RXDFEUTOVRDEN_ipd <= RXDFEUTOVRDEN; + RXDFEVPHOLD_ipd <= RXDFEVPHOLD; + RXDFEVPOVRDEN_ipd <= RXDFEVPOVRDEN; + RXDFEVSEN_ipd <= RXDFEVSEN; + RXDFEXYDEN_ipd <= RXDFEXYDEN; + RXDLYBYPASS_ipd <= RXDLYBYPASS; + RXDLYEN_ipd <= RXDLYEN; + RXDLYOVRDEN_ipd <= RXDLYOVRDEN; + RXDLYSRESET_ipd <= RXDLYSRESET; + RXELECIDLEMODE_ipd <= RXELECIDLEMODE; + RXGEARBOXSLIP_ipd <= RXGEARBOXSLIP; + RXLPMEN_ipd <= RXLPMEN; + RXLPMHFHOLD_ipd <= RXLPMHFHOLD; + RXLPMHFOVRDEN_ipd <= RXLPMHFOVRDEN; + RXLPMLFHOLD_ipd <= RXLPMLFHOLD; + RXLPMLFKLOVRDEN_ipd <= RXLPMLFKLOVRDEN; + RXMCOMMAALIGNEN_ipd <= RXMCOMMAALIGNEN; + RXMONITORSEL_ipd <= RXMONITORSEL; + RXOOBRESET_ipd <= RXOOBRESET; + RXOSCALRESET_ipd <= RXOSCALRESET; + RXOSHOLD_ipd <= RXOSHOLD; + RXOSINTCFG_ipd <= RXOSINTCFG; + RXOSINTEN_ipd <= RXOSINTEN; + RXOSINTHOLD_ipd <= RXOSINTHOLD; + RXOSINTID0_ipd <= RXOSINTID0; + RXOSINTNTRLEN_ipd <= RXOSINTNTRLEN; + RXOSINTOVRDEN_ipd <= RXOSINTOVRDEN; + RXOSINTSTROBE_ipd <= RXOSINTSTROBE; + RXOSINTTESTOVRDEN_ipd <= RXOSINTTESTOVRDEN; + RXOSOVRDEN_ipd <= RXOSOVRDEN; + RXOUTCLKSEL_ipd <= RXOUTCLKSEL; + RXPCOMMAALIGNEN_ipd <= RXPCOMMAALIGNEN; + RXPCSRESET_ipd <= RXPCSRESET; + RXPD_ipd <= RXPD; + RXPHALIGNEN_ipd <= RXPHALIGNEN; + RXPHALIGN_ipd <= RXPHALIGN; + RXPHDLYPD_ipd <= RXPHDLYPD; + RXPHDLYRESET_ipd <= RXPHDLYRESET; + RXPHOVRDEN_ipd <= RXPHOVRDEN; + RXPMARESET_ipd <= RXPMARESET; + RXPOLARITY_ipd <= RXPOLARITY; + RXPRBSCNTRESET_ipd <= RXPRBSCNTRESET; + RXPRBSSEL_ipd <= RXPRBSSEL; + RXQPIEN_ipd <= RXQPIEN; + RXRATEMODE_ipd <= RXRATEMODE; + RXRATE_ipd <= RXRATE; + RXSLIDE_ipd <= RXSLIDE; + RXSYNCALLIN_ipd <= RXSYNCALLIN; + RXSYNCIN_ipd <= RXSYNCIN; + RXSYNCMODE_ipd <= RXSYNCMODE; + RXSYSCLKSEL_ipd <= RXSYSCLKSEL; + RXUSERRDY_ipd <= RXUSERRDY; + SETERRSTATUS_ipd <= SETERRSTATUS; + TSTIN_ipd <= TSTIN; + TX8B10BBYPASS_ipd <= TX8B10BBYPASS; + TX8B10BEN_ipd <= TX8B10BEN; + TXBUFDIFFCTRL_ipd <= TXBUFDIFFCTRL; + TXCHARDISPMODE_ipd <= TXCHARDISPMODE; + TXCHARDISPVAL_ipd <= TXCHARDISPVAL; + TXCHARISK_ipd <= TXCHARISK; + TXCOMINIT_ipd <= TXCOMINIT; + TXCOMSAS_ipd <= TXCOMSAS; + TXCOMWAKE_ipd <= TXCOMWAKE; + TXDATA_ipd <= TXDATA; + TXDEEMPH_ipd <= TXDEEMPH; + TXDETECTRX_ipd <= TXDETECTRX; + TXDIFFCTRL_ipd <= TXDIFFCTRL; + TXDIFFPD_ipd <= TXDIFFPD; + TXDLYBYPASS_ipd <= TXDLYBYPASS; + TXDLYEN_ipd <= TXDLYEN; + TXDLYHOLD_ipd <= TXDLYHOLD; + TXDLYOVRDEN_ipd <= TXDLYOVRDEN; + TXDLYSRESET_ipd <= TXDLYSRESET; + TXDLYUPDOWN_ipd <= TXDLYUPDOWN; + TXELECIDLE_ipd <= TXELECIDLE; + TXHEADER_ipd <= TXHEADER; + TXINHIBIT_ipd <= TXINHIBIT; + TXMAINCURSOR_ipd <= TXMAINCURSOR; + TXMARGIN_ipd <= TXMARGIN; + TXOUTCLKSEL_ipd <= TXOUTCLKSEL; + TXPCSRESET_ipd <= TXPCSRESET; + TXPDELECIDLEMODE_ipd <= TXPDELECIDLEMODE; + TXPD_ipd <= TXPD; + TXPHALIGNEN_ipd <= TXPHALIGNEN; + TXPHALIGN_ipd <= TXPHALIGN; + TXPHDLYPD_ipd <= TXPHDLYPD; + TXPHDLYRESET_ipd <= TXPHDLYRESET; + TXPHINIT_ipd <= TXPHINIT; + TXPHOVRDEN_ipd <= TXPHOVRDEN; + TXPIPPMEN_ipd <= TXPIPPMEN; + TXPIPPMOVRDEN_ipd <= TXPIPPMOVRDEN; + TXPIPPMPD_ipd <= TXPIPPMPD; + TXPIPPMSEL_ipd <= TXPIPPMSEL; + TXPIPPMSTEPSIZE_ipd <= TXPIPPMSTEPSIZE; + TXPISOPD_ipd <= TXPISOPD; + TXPMARESET_ipd <= TXPMARESET; + TXPOLARITY_ipd <= TXPOLARITY; + TXPOSTCURSORINV_ipd <= TXPOSTCURSORINV; + TXPOSTCURSOR_ipd <= TXPOSTCURSOR; + TXPRBSFORCEERR_ipd <= TXPRBSFORCEERR; + TXPRBSSEL_ipd <= TXPRBSSEL; + TXPRECURSORINV_ipd <= TXPRECURSORINV; + TXPRECURSOR_ipd <= TXPRECURSOR; + TXQPIBIASEN_ipd <= TXQPIBIASEN; + TXQPISTRONGPDOWN_ipd <= TXQPISTRONGPDOWN; + TXQPIWEAKPUP_ipd <= TXQPIWEAKPUP; + TXRATEMODE_ipd <= TXRATEMODE; + TXRATE_ipd <= TXRATE; + TXSEQUENCE_ipd <= TXSEQUENCE; + TXSTARTSEQ_ipd <= TXSTARTSEQ; + TXSWING_ipd <= TXSWING; + TXSYNCALLIN_ipd <= TXSYNCALLIN; + TXSYNCIN_ipd <= TXSYNCIN; + TXSYNCMODE_ipd <= TXSYNCMODE; + TXSYSCLKSEL_ipd <= TXSYSCLKSEL; + TXUSERRDY_ipd <= TXUSERRDY; + + CLKRSVD0_indelay <= CLKRSVD0_ipd xor IS_CLKRSVD0_INVERTED_BIN; + CLKRSVD1_indelay <= CLKRSVD1_ipd xor IS_CLKRSVD1_INVERTED_BIN; + CPLLLOCKDETCLK_indelay <= CPLLLOCKDETCLK_ipd xor IS_CPLLLOCKDETCLK_INVERTED_BIN; + DMONITORCLK_indelay <= DMONITORCLK_ipd xor IS_DMONITORCLK_INVERTED_BIN; + DRPCLK_indelay <= DRPCLK_ipd xor IS_DRPCLK_INVERTED_BIN; + GTGREFCLK_indelay <= GTGREFCLK_ipd xor IS_GTGREFCLK_INVERTED_BIN; + GTNORTHREFCLK0_indelay <= GTNORTHREFCLK0_ipd after INCLK_DELAY; + GTNORTHREFCLK1_indelay <= GTNORTHREFCLK1_ipd after INCLK_DELAY; + GTREFCLK0_indelay <= GTREFCLK0_ipd after INCLK_DELAY; + GTREFCLK1_indelay <= GTREFCLK1_ipd after INCLK_DELAY; + GTSOUTHREFCLK0_indelay <= GTSOUTHREFCLK0_ipd after INCLK_DELAY; + GTSOUTHREFCLK1_indelay <= GTSOUTHREFCLK1_ipd after INCLK_DELAY; + QPLLCLK_indelay <= QPLLCLK_ipd after INCLK_DELAY; + RXUSRCLK2_indelay <= RXUSRCLK2_ipd xor IS_RXUSRCLK2_INVERTED_BIN; + RXUSRCLK_indelay <= RXUSRCLK_ipd xor IS_RXUSRCLK_INVERTED_BIN; + SIGVALIDCLK_indelay <= SIGVALIDCLK_ipd xor IS_SIGVALIDCLK_INVERTED_BIN; + TXPHDLYTSTCLK_indelay <= TXPHDLYTSTCLK_ipd xor IS_TXPHDLYTSTCLK_INVERTED_BIN; + TXUSRCLK2_indelay <= TXUSRCLK2_ipd xor IS_TXUSRCLK2_INVERTED_BIN; + TXUSRCLK_indelay <= TXUSRCLK_ipd xor IS_TXUSRCLK2_INVERTED_BIN; + + CFGRESET_indelay <= CFGRESET_ipd after IN_DELAY; + CPLLLOCKEN_indelay <= CPLLLOCKEN_ipd after IN_DELAY; + CPLLPD_indelay <= CPLLPD_ipd after IN_DELAY; + CPLLREFCLKSEL_indelay <= CPLLREFCLKSEL_ipd after IN_DELAY; + CPLLRESET_indelay <= CPLLRESET_ipd after IN_DELAY; + DMONFIFORESET_indelay <= DMONFIFORESET_ipd after IN_DELAY; + DRPADDR_indelay <= DRPADDR_ipd after IN_DELAY; + DRPDI_indelay <= DRPDI_ipd after IN_DELAY; + DRPEN_indelay <= DRPEN_ipd after IN_DELAY; + DRPWE_indelay <= DRPWE_ipd after IN_DELAY; + EYESCANMODE_indelay <= EYESCANMODE_ipd after IN_DELAY; + EYESCANRESET_indelay <= EYESCANRESET_ipd after IN_DELAY; + EYESCANTRIGGER_indelay <= EYESCANTRIGGER_ipd after IN_DELAY; + GTHRXN_indelay <= GTHRXN_ipd after IN_DELAY; + GTHRXP_indelay <= GTHRXP_ipd after IN_DELAY; + GTRESETSEL_indelay <= GTRESETSEL_ipd after IN_DELAY; + GTRSVD_indelay <= GTRSVD_ipd after IN_DELAY; + GTRXRESET_indelay <= GTRXRESET_ipd after IN_DELAY; + GTTXRESET_indelay <= GTTXRESET_ipd after IN_DELAY; + LOOPBACK_indelay <= LOOPBACK_ipd after IN_DELAY; + PCSRSVDIN2_indelay <= PCSRSVDIN2_ipd after IN_DELAY; + PCSRSVDIN_indelay <= PCSRSVDIN_ipd after IN_DELAY; + PMARSVDIN_indelay <= PMARSVDIN_ipd after IN_DELAY; + QPLLREFCLK_indelay <= QPLLREFCLK_ipd after IN_DELAY; + RESETOVRD_indelay <= RESETOVRD_ipd after IN_DELAY; + RX8B10BEN_indelay <= RX8B10BEN_ipd after IN_DELAY; + RXADAPTSELTEST_indelay <= RXADAPTSELTEST_ipd after IN_DELAY; + RXBUFRESET_indelay <= RXBUFRESET_ipd after IN_DELAY; + RXCDRFREQRESET_indelay <= RXCDRFREQRESET_ipd after IN_DELAY; + RXCDRHOLD_indelay <= RXCDRHOLD_ipd after IN_DELAY; + RXCDROVRDEN_indelay <= RXCDROVRDEN_ipd after IN_DELAY; + RXCDRRESETRSV_indelay <= RXCDRRESETRSV_ipd after IN_DELAY; + RXCDRRESET_indelay <= RXCDRRESET_ipd after IN_DELAY; + RXCHBONDEN_indelay <= RXCHBONDEN_ipd after IN_DELAY; + RXCHBONDI_indelay <= RXCHBONDI_ipd after IN_DELAY; + RXCHBONDLEVEL_indelay <= RXCHBONDLEVEL_ipd after IN_DELAY; + RXCHBONDMASTER_indelay <= RXCHBONDMASTER_ipd after IN_DELAY; + RXCHBONDSLAVE_indelay <= RXCHBONDSLAVE_ipd after IN_DELAY; + RXCOMMADETEN_indelay <= RXCOMMADETEN_ipd after IN_DELAY; + RXDDIEN_indelay <= RXDDIEN_ipd after IN_DELAY; + RXDFEAGCHOLD_indelay <= RXDFEAGCHOLD_ipd after IN_DELAY; + RXDFEAGCOVRDEN_indelay <= RXDFEAGCOVRDEN_ipd after IN_DELAY; + RXDFEAGCTRL_indelay <= RXDFEAGCTRL_ipd after IN_DELAY; + RXDFECM1EN_indelay <= RXDFECM1EN_ipd after IN_DELAY; + RXDFELFHOLD_indelay <= RXDFELFHOLD_ipd after IN_DELAY; + RXDFELFOVRDEN_indelay <= RXDFELFOVRDEN_ipd after IN_DELAY; + RXDFELPMRESET_indelay <= RXDFELPMRESET_ipd after IN_DELAY; + RXDFESLIDETAPADAPTEN_indelay <= RXDFESLIDETAPADAPTEN_ipd after IN_DELAY; + RXDFESLIDETAPHOLD_indelay <= RXDFESLIDETAPHOLD_ipd after IN_DELAY; + RXDFESLIDETAPID_indelay <= RXDFESLIDETAPID_ipd after IN_DELAY; + RXDFESLIDETAPINITOVRDEN_indelay <= RXDFESLIDETAPINITOVRDEN_ipd after IN_DELAY; + RXDFESLIDETAPONLYADAPTEN_indelay <= RXDFESLIDETAPONLYADAPTEN_ipd after IN_DELAY; + RXDFESLIDETAPOVRDEN_indelay <= RXDFESLIDETAPOVRDEN_ipd after IN_DELAY; + RXDFESLIDETAPSTROBE_indelay <= RXDFESLIDETAPSTROBE_ipd after IN_DELAY; + RXDFESLIDETAP_indelay <= RXDFESLIDETAP_ipd after IN_DELAY; + RXDFETAP2HOLD_indelay <= RXDFETAP2HOLD_ipd after IN_DELAY; + RXDFETAP2OVRDEN_indelay <= RXDFETAP2OVRDEN_ipd after IN_DELAY; + RXDFETAP3HOLD_indelay <= RXDFETAP3HOLD_ipd after IN_DELAY; + RXDFETAP3OVRDEN_indelay <= RXDFETAP3OVRDEN_ipd after IN_DELAY; + RXDFETAP4HOLD_indelay <= RXDFETAP4HOLD_ipd after IN_DELAY; + RXDFETAP4OVRDEN_indelay <= RXDFETAP4OVRDEN_ipd after IN_DELAY; + RXDFETAP5HOLD_indelay <= RXDFETAP5HOLD_ipd after IN_DELAY; + RXDFETAP5OVRDEN_indelay <= RXDFETAP5OVRDEN_ipd after IN_DELAY; + RXDFETAP6HOLD_indelay <= RXDFETAP6HOLD_ipd after IN_DELAY; + RXDFETAP6OVRDEN_indelay <= RXDFETAP6OVRDEN_ipd after IN_DELAY; + RXDFETAP7HOLD_indelay <= RXDFETAP7HOLD_ipd after IN_DELAY; + RXDFETAP7OVRDEN_indelay <= RXDFETAP7OVRDEN_ipd after IN_DELAY; + RXDFEUTHOLD_indelay <= RXDFEUTHOLD_ipd after IN_DELAY; + RXDFEUTOVRDEN_indelay <= RXDFEUTOVRDEN_ipd after IN_DELAY; + RXDFEVPHOLD_indelay <= RXDFEVPHOLD_ipd after IN_DELAY; + RXDFEVPOVRDEN_indelay <= RXDFEVPOVRDEN_ipd after IN_DELAY; + RXDFEVSEN_indelay <= RXDFEVSEN_ipd after IN_DELAY; + RXDFEXYDEN_indelay <= RXDFEXYDEN_ipd after IN_DELAY; + RXDLYBYPASS_indelay <= RXDLYBYPASS_ipd after IN_DELAY; + RXDLYEN_indelay <= RXDLYEN_ipd after IN_DELAY; + RXDLYOVRDEN_indelay <= RXDLYOVRDEN_ipd after IN_DELAY; + RXDLYSRESET_indelay <= RXDLYSRESET_ipd after IN_DELAY; + RXELECIDLEMODE_indelay <= RXELECIDLEMODE_ipd after IN_DELAY; + RXGEARBOXSLIP_indelay <= RXGEARBOXSLIP_ipd after IN_DELAY; + RXLPMEN_indelay <= RXLPMEN_ipd after IN_DELAY; + RXLPMHFHOLD_indelay <= RXLPMHFHOLD_ipd after IN_DELAY; + RXLPMHFOVRDEN_indelay <= RXLPMHFOVRDEN_ipd after IN_DELAY; + RXLPMLFHOLD_indelay <= RXLPMLFHOLD_ipd after IN_DELAY; + RXLPMLFKLOVRDEN_indelay <= RXLPMLFKLOVRDEN_ipd after IN_DELAY; + RXMCOMMAALIGNEN_indelay <= RXMCOMMAALIGNEN_ipd after IN_DELAY; + RXMONITORSEL_indelay <= RXMONITORSEL_ipd after IN_DELAY; + RXOOBRESET_indelay <= RXOOBRESET_ipd after IN_DELAY; + RXOSCALRESET_indelay <= RXOSCALRESET_ipd after IN_DELAY; + RXOSHOLD_indelay <= RXOSHOLD_ipd after IN_DELAY; + RXOSINTCFG_indelay <= RXOSINTCFG_ipd after IN_DELAY; + RXOSINTEN_indelay <= RXOSINTEN_ipd after IN_DELAY; + RXOSINTHOLD_indelay <= RXOSINTHOLD_ipd after IN_DELAY; + RXOSINTID0_indelay <= RXOSINTID0_ipd after IN_DELAY; + RXOSINTNTRLEN_indelay <= RXOSINTNTRLEN_ipd after IN_DELAY; + RXOSINTOVRDEN_indelay <= RXOSINTOVRDEN_ipd after IN_DELAY; + RXOSINTSTROBE_indelay <= RXOSINTSTROBE_ipd after IN_DELAY; + RXOSINTTESTOVRDEN_indelay <= RXOSINTTESTOVRDEN_ipd after IN_DELAY; + RXOSOVRDEN_indelay <= RXOSOVRDEN_ipd after IN_DELAY; + RXOUTCLKSEL_indelay <= RXOUTCLKSEL_ipd after IN_DELAY; + RXPCOMMAALIGNEN_indelay <= RXPCOMMAALIGNEN_ipd after IN_DELAY; + RXPCSRESET_indelay <= RXPCSRESET_ipd after IN_DELAY; + RXPD_indelay <= RXPD_ipd after IN_DELAY; + RXPHALIGNEN_indelay <= RXPHALIGNEN_ipd after IN_DELAY; + RXPHALIGN_indelay <= RXPHALIGN_ipd after IN_DELAY; + RXPHDLYPD_indelay <= RXPHDLYPD_ipd after IN_DELAY; + RXPHDLYRESET_indelay <= RXPHDLYRESET_ipd after IN_DELAY; + RXPHOVRDEN_indelay <= RXPHOVRDEN_ipd after IN_DELAY; + RXPMARESET_indelay <= RXPMARESET_ipd after IN_DELAY; + RXPOLARITY_indelay <= RXPOLARITY_ipd after IN_DELAY; + RXPRBSCNTRESET_indelay <= RXPRBSCNTRESET_ipd after IN_DELAY; + RXPRBSSEL_indelay <= RXPRBSSEL_ipd after IN_DELAY; + RXQPIEN_indelay <= RXQPIEN_ipd after IN_DELAY; + RXRATEMODE_indelay <= RXRATEMODE_ipd after IN_DELAY; + RXRATE_indelay <= RXRATE_ipd after IN_DELAY; + RXSLIDE_indelay <= RXSLIDE_ipd after IN_DELAY; + RXSYNCALLIN_indelay <= RXSYNCALLIN_ipd after IN_DELAY; + RXSYNCIN_indelay <= RXSYNCIN_ipd after IN_DELAY; + RXSYNCMODE_indelay <= RXSYNCMODE_ipd after IN_DELAY; + RXSYSCLKSEL_indelay <= RXSYSCLKSEL_ipd after IN_DELAY; + RXUSERRDY_indelay <= RXUSERRDY_ipd after IN_DELAY; + SETERRSTATUS_indelay <= SETERRSTATUS_ipd after IN_DELAY; + TSTIN_indelay <= TSTIN_ipd after IN_DELAY; + TX8B10BBYPASS_indelay <= TX8B10BBYPASS_ipd after IN_DELAY; + TX8B10BEN_indelay <= TX8B10BEN_ipd after IN_DELAY; + TXBUFDIFFCTRL_indelay <= TXBUFDIFFCTRL_ipd after IN_DELAY; + TXCHARDISPMODE_indelay <= TXCHARDISPMODE_ipd after IN_DELAY; + TXCHARDISPVAL_indelay <= TXCHARDISPVAL_ipd after IN_DELAY; + TXCHARISK_indelay <= TXCHARISK_ipd after IN_DELAY; + TXCOMINIT_indelay <= TXCOMINIT_ipd after IN_DELAY; + TXCOMSAS_indelay <= TXCOMSAS_ipd after IN_DELAY; + TXCOMWAKE_indelay <= TXCOMWAKE_ipd after IN_DELAY; + TXDATA_indelay <= TXDATA_ipd after IN_DELAY; + TXDEEMPH_indelay <= TXDEEMPH_ipd after IN_DELAY; + TXDETECTRX_indelay <= TXDETECTRX_ipd after IN_DELAY; + TXDIFFCTRL_indelay <= TXDIFFCTRL_ipd after IN_DELAY; + TXDIFFPD_indelay <= TXDIFFPD_ipd after IN_DELAY; + TXDLYBYPASS_indelay <= TXDLYBYPASS_ipd after IN_DELAY; + TXDLYEN_indelay <= TXDLYEN_ipd after IN_DELAY; + TXDLYHOLD_indelay <= TXDLYHOLD_ipd after IN_DELAY; + TXDLYOVRDEN_indelay <= TXDLYOVRDEN_ipd after IN_DELAY; + TXDLYSRESET_indelay <= TXDLYSRESET_ipd after IN_DELAY; + TXDLYUPDOWN_indelay <= TXDLYUPDOWN_ipd after IN_DELAY; + TXELECIDLE_indelay <= TXELECIDLE_ipd after IN_DELAY; + TXHEADER_indelay <= TXHEADER_ipd after IN_DELAY; + TXINHIBIT_indelay <= TXINHIBIT_ipd after IN_DELAY; + TXMAINCURSOR_indelay <= TXMAINCURSOR_ipd after IN_DELAY; + TXMARGIN_indelay <= TXMARGIN_ipd after IN_DELAY; + TXOUTCLKSEL_indelay <= TXOUTCLKSEL_ipd after IN_DELAY; + TXPCSRESET_indelay <= TXPCSRESET_ipd after IN_DELAY; + TXPDELECIDLEMODE_indelay <= TXPDELECIDLEMODE_ipd after IN_DELAY; + TXPD_indelay <= TXPD_ipd after IN_DELAY; + TXPHALIGNEN_indelay <= TXPHALIGNEN_ipd after IN_DELAY; + TXPHALIGN_indelay <= TXPHALIGN_ipd after IN_DELAY; + TXPHDLYPD_indelay <= TXPHDLYPD_ipd after IN_DELAY; + TXPHDLYRESET_indelay <= TXPHDLYRESET_ipd after IN_DELAY; + TXPHINIT_indelay <= TXPHINIT_ipd after IN_DELAY; + TXPHOVRDEN_indelay <= TXPHOVRDEN_ipd after IN_DELAY; + TXPIPPMEN_indelay <= TXPIPPMEN_ipd after IN_DELAY; + TXPIPPMOVRDEN_indelay <= TXPIPPMOVRDEN_ipd after IN_DELAY; + TXPIPPMPD_indelay <= TXPIPPMPD_ipd after IN_DELAY; + TXPIPPMSEL_indelay <= TXPIPPMSEL_ipd after IN_DELAY; + TXPIPPMSTEPSIZE_indelay <= TXPIPPMSTEPSIZE_ipd after IN_DELAY; + TXPISOPD_indelay <= TXPISOPD_ipd after IN_DELAY; + TXPMARESET_indelay <= TXPMARESET_ipd after IN_DELAY; + TXPOLARITY_indelay <= TXPOLARITY_ipd after IN_DELAY; + TXPOSTCURSORINV_indelay <= TXPOSTCURSORINV_ipd after IN_DELAY; + TXPOSTCURSOR_indelay <= TXPOSTCURSOR_ipd after IN_DELAY; + TXPRBSFORCEERR_indelay <= TXPRBSFORCEERR_ipd after IN_DELAY; + TXPRBSSEL_indelay <= TXPRBSSEL_ipd after IN_DELAY; + TXPRECURSORINV_indelay <= TXPRECURSORINV_ipd after IN_DELAY; + TXPRECURSOR_indelay <= TXPRECURSOR_ipd after IN_DELAY; + TXQPIBIASEN_indelay <= TXQPIBIASEN_ipd after IN_DELAY; + TXQPISTRONGPDOWN_indelay <= TXQPISTRONGPDOWN_ipd after IN_DELAY; + TXQPIWEAKPUP_indelay <= TXQPIWEAKPUP_ipd after IN_DELAY; + TXRATEMODE_indelay <= TXRATEMODE_ipd after IN_DELAY; + TXRATE_indelay <= TXRATE_ipd after IN_DELAY; + TXSEQUENCE_indelay <= TXSEQUENCE_ipd after IN_DELAY; + TXSTARTSEQ_indelay <= TXSTARTSEQ_ipd after IN_DELAY; + TXSWING_indelay <= TXSWING_ipd after IN_DELAY; + TXSYNCALLIN_indelay <= TXSYNCALLIN_ipd after IN_DELAY; + TXSYNCIN_indelay <= TXSYNCIN_ipd after IN_DELAY; + TXSYNCMODE_indelay <= TXSYNCMODE_ipd after IN_DELAY; + TXSYSCLKSEL_indelay <= TXSYSCLKSEL_ipd after IN_DELAY; + TXUSERRDY_indelay <= TXUSERRDY_ipd after IN_DELAY; + + IS_CLKRSVD0_INVERTED_BIN <= TO_X01(IS_CLKRSVD0_INVERTED); + IS_CLKRSVD1_INVERTED_BIN <= TO_X01(IS_CLKRSVD1_INVERTED); + IS_CPLLLOCKDETCLK_INVERTED_BIN <= TO_X01(IS_CPLLLOCKDETCLK_INVERTED); + IS_DMONITORCLK_INVERTED_BIN <= TO_X01(IS_DMONITORCLK_INVERTED); + IS_DRPCLK_INVERTED_BIN <= TO_X01(IS_DRPCLK_INVERTED); + IS_GTGREFCLK_INVERTED_BIN <= TO_X01(IS_GTGREFCLK_INVERTED); + IS_RXUSRCLK2_INVERTED_BIN <= TO_X01(IS_RXUSRCLK2_INVERTED); + IS_RXUSRCLK_INVERTED_BIN <= TO_X01(IS_RXUSRCLK_INVERTED); + IS_SIGVALIDCLK_INVERTED_BIN <= TO_X01(IS_SIGVALIDCLK_INVERTED); + IS_TXPHDLYTSTCLK_INVERTED_BIN <= TO_X01(IS_TXPHDLYTSTCLK_INVERTED); + IS_TXUSRCLK2_INVERTED_BIN <= TO_X01(IS_TXUSRCLK2_INVERTED); + IS_TXUSRCLK_INVERTED_BIN <= TO_X01(IS_TXUSRCLK_INVERTED); + + + GTHE2_CHANNEL_INST : GTHE2_CHANNEL_FAST_WRAP + generic map ( + ACJTAG_DEBUG_MODE => ACJTAG_DEBUG_MODE_STRING, + ACJTAG_MODE => ACJTAG_MODE_STRING, + ACJTAG_RESET => ACJTAG_RESET_STRING, + ADAPT_CFG0 => ADAPT_CFG0_STRING, + ALIGN_COMMA_DOUBLE => ALIGN_COMMA_DOUBLE, + ALIGN_COMMA_ENABLE => ALIGN_COMMA_ENABLE_STRING, + ALIGN_COMMA_WORD => ALIGN_COMMA_WORD, + ALIGN_MCOMMA_DET => ALIGN_MCOMMA_DET, + ALIGN_MCOMMA_VALUE => ALIGN_MCOMMA_VALUE_STRING, + ALIGN_PCOMMA_DET => ALIGN_PCOMMA_DET, + ALIGN_PCOMMA_VALUE => ALIGN_PCOMMA_VALUE_STRING, + A_RXOSCALRESET => A_RXOSCALRESET_STRING, + CBCC_DATA_SOURCE_SEL => CBCC_DATA_SOURCE_SEL, + CFOK_CFG => CFOK_CFG_STRING, + CFOK_CFG2 => CFOK_CFG2_STRING, + CFOK_CFG3 => CFOK_CFG3_STRING, + CHAN_BOND_KEEP_ALIGN => CHAN_BOND_KEEP_ALIGN, + CHAN_BOND_MAX_SKEW => CHAN_BOND_MAX_SKEW, + CHAN_BOND_SEQ_1_1 => CHAN_BOND_SEQ_1_1_STRING, + CHAN_BOND_SEQ_1_2 => CHAN_BOND_SEQ_1_2_STRING, + CHAN_BOND_SEQ_1_3 => CHAN_BOND_SEQ_1_3_STRING, + CHAN_BOND_SEQ_1_4 => CHAN_BOND_SEQ_1_4_STRING, + CHAN_BOND_SEQ_1_ENABLE => CHAN_BOND_SEQ_1_ENABLE_STRING, + CHAN_BOND_SEQ_2_1 => CHAN_BOND_SEQ_2_1_STRING, + CHAN_BOND_SEQ_2_2 => CHAN_BOND_SEQ_2_2_STRING, + CHAN_BOND_SEQ_2_3 => CHAN_BOND_SEQ_2_3_STRING, + CHAN_BOND_SEQ_2_4 => CHAN_BOND_SEQ_2_4_STRING, + CHAN_BOND_SEQ_2_ENABLE => CHAN_BOND_SEQ_2_ENABLE_STRING, + CHAN_BOND_SEQ_2_USE => CHAN_BOND_SEQ_2_USE, + CHAN_BOND_SEQ_LEN => CHAN_BOND_SEQ_LEN, + CLK_CORRECT_USE => CLK_CORRECT_USE, + CLK_COR_KEEP_IDLE => CLK_COR_KEEP_IDLE, + CLK_COR_MAX_LAT => CLK_COR_MAX_LAT, + CLK_COR_MIN_LAT => CLK_COR_MIN_LAT, + CLK_COR_PRECEDENCE => CLK_COR_PRECEDENCE, + CLK_COR_REPEAT_WAIT => CLK_COR_REPEAT_WAIT, + CLK_COR_SEQ_1_1 => CLK_COR_SEQ_1_1_STRING, + CLK_COR_SEQ_1_2 => CLK_COR_SEQ_1_2_STRING, + CLK_COR_SEQ_1_3 => CLK_COR_SEQ_1_3_STRING, + CLK_COR_SEQ_1_4 => CLK_COR_SEQ_1_4_STRING, + CLK_COR_SEQ_1_ENABLE => CLK_COR_SEQ_1_ENABLE_STRING, + CLK_COR_SEQ_2_1 => CLK_COR_SEQ_2_1_STRING, + CLK_COR_SEQ_2_2 => CLK_COR_SEQ_2_2_STRING, + CLK_COR_SEQ_2_3 => CLK_COR_SEQ_2_3_STRING, + CLK_COR_SEQ_2_4 => CLK_COR_SEQ_2_4_STRING, + CLK_COR_SEQ_2_ENABLE => CLK_COR_SEQ_2_ENABLE_STRING, + CLK_COR_SEQ_2_USE => CLK_COR_SEQ_2_USE, + CLK_COR_SEQ_LEN => CLK_COR_SEQ_LEN, + CPLL_CFG => CPLL_CFG_STRING, + CPLL_FBDIV => CPLL_FBDIV, + CPLL_FBDIV_45 => CPLL_FBDIV_45, + CPLL_INIT_CFG => CPLL_INIT_CFG_STRING, + CPLL_LOCK_CFG => CPLL_LOCK_CFG_STRING, + CPLL_REFCLK_DIV => CPLL_REFCLK_DIV, + DEC_MCOMMA_DETECT => DEC_MCOMMA_DETECT, + DEC_PCOMMA_DETECT => DEC_PCOMMA_DETECT, + DEC_VALID_COMMA_ONLY => DEC_VALID_COMMA_ONLY, + DMONITOR_CFG => DMONITOR_CFG_STRING, + ES_CLK_PHASE_SEL => ES_CLK_PHASE_SEL_STRING, + ES_CONTROL => ES_CONTROL_STRING, + ES_ERRDET_EN => ES_ERRDET_EN, + ES_EYE_SCAN_EN => ES_EYE_SCAN_EN, + ES_HORZ_OFFSET => ES_HORZ_OFFSET_STRING, + ES_PMA_CFG => ES_PMA_CFG_STRING, + ES_PRESCALE => ES_PRESCALE_STRING, + ES_QUALIFIER => ES_QUALIFIER_STRING, + ES_QUAL_MASK => ES_QUAL_MASK_STRING, + ES_SDATA_MASK => ES_SDATA_MASK_STRING, + ES_VERT_OFFSET => ES_VERT_OFFSET_STRING, + FTS_DESKEW_SEQ_ENABLE => FTS_DESKEW_SEQ_ENABLE_STRING, + FTS_LANE_DESKEW_CFG => FTS_LANE_DESKEW_CFG_STRING, + FTS_LANE_DESKEW_EN => FTS_LANE_DESKEW_EN, + GEARBOX_MODE => GEARBOX_MODE_STRING, + LOOPBACK_CFG => LOOPBACK_CFG_STRING, + OUTREFCLK_SEL_INV => OUTREFCLK_SEL_INV_STRING, + PCS_PCIE_EN => PCS_PCIE_EN, + PCS_RSVD_ATTR => PCS_RSVD_ATTR_STRING, + PD_TRANS_TIME_FROM_P2 => PD_TRANS_TIME_FROM_P2_STRING, + PD_TRANS_TIME_NONE_P2 => PD_TRANS_TIME_NONE_P2_STRING, + PD_TRANS_TIME_TO_P2 => PD_TRANS_TIME_TO_P2_STRING, + PMA_RSV => PMA_RSV_STRING, + PMA_RSV2 => PMA_RSV2_STRING, + PMA_RSV3 => PMA_RSV3_STRING, + PMA_RSV4 => PMA_RSV4_STRING, + PMA_RSV5 => PMA_RSV5_STRING, + RESET_POWERSAVE_DISABLE => RESET_POWERSAVE_DISABLE_STRING, + RXBUFRESET_TIME => RXBUFRESET_TIME_STRING, + RXBUF_ADDR_MODE => RXBUF_ADDR_MODE, + RXBUF_EIDLE_HI_CNT => RXBUF_EIDLE_HI_CNT_STRING, + RXBUF_EIDLE_LO_CNT => RXBUF_EIDLE_LO_CNT_STRING, + RXBUF_EN => RXBUF_EN, + RXBUF_RESET_ON_CB_CHANGE => RXBUF_RESET_ON_CB_CHANGE, + RXBUF_RESET_ON_COMMAALIGN => RXBUF_RESET_ON_COMMAALIGN, + RXBUF_RESET_ON_EIDLE => RXBUF_RESET_ON_EIDLE, + RXBUF_RESET_ON_RATE_CHANGE => RXBUF_RESET_ON_RATE_CHANGE, + RXBUF_THRESH_OVFLW => RXBUF_THRESH_OVFLW, + RXBUF_THRESH_OVRD => RXBUF_THRESH_OVRD, + RXBUF_THRESH_UNDFLW => RXBUF_THRESH_UNDFLW, + RXCDRFREQRESET_TIME => RXCDRFREQRESET_TIME_STRING, + RXCDRPHRESET_TIME => RXCDRPHRESET_TIME_STRING, + RXCDR_CFG => RXCDR_CFG_STRING, + RXCDR_FR_RESET_ON_EIDLE => RXCDR_FR_RESET_ON_EIDLE_STRING, + RXCDR_HOLD_DURING_EIDLE => RXCDR_HOLD_DURING_EIDLE_STRING, + RXCDR_LOCK_CFG => RXCDR_LOCK_CFG_STRING, + RXCDR_PH_RESET_ON_EIDLE => RXCDR_PH_RESET_ON_EIDLE_STRING, + RXDFELPMRESET_TIME => RXDFELPMRESET_TIME_STRING, + RXDLY_CFG => RXDLY_CFG_STRING, + RXDLY_LCFG => RXDLY_LCFG_STRING, + RXDLY_TAP_CFG => RXDLY_TAP_CFG_STRING, + RXGEARBOX_EN => RXGEARBOX_EN, + RXISCANRESET_TIME => RXISCANRESET_TIME_STRING, + RXLPM_HF_CFG => RXLPM_HF_CFG_STRING, + RXLPM_LF_CFG => RXLPM_LF_CFG_STRING, + RXOOB_CFG => RXOOB_CFG_STRING, + RXOOB_CLK_CFG => RXOOB_CLK_CFG, + RXOSCALRESET_TIME => RXOSCALRESET_TIME_STRING, + RXOSCALRESET_TIMEOUT => RXOSCALRESET_TIMEOUT_STRING, + RXOUT_DIV => RXOUT_DIV, + RXPCSRESET_TIME => RXPCSRESET_TIME_STRING, + RXPHDLY_CFG => RXPHDLY_CFG_STRING, + RXPH_CFG => RXPH_CFG_STRING, + RXPH_MONITOR_SEL => RXPH_MONITOR_SEL_STRING, + RXPI_CFG0 => RXPI_CFG0_STRING, + RXPI_CFG1 => RXPI_CFG1_STRING, + RXPI_CFG2 => RXPI_CFG2_STRING, + RXPI_CFG3 => RXPI_CFG3_STRING, + RXPI_CFG4 => RXPI_CFG4_STRING, + RXPI_CFG5 => RXPI_CFG5_STRING, + RXPI_CFG6 => RXPI_CFG6_STRING, + RXPMARESET_TIME => RXPMARESET_TIME_STRING, + RXPRBS_ERR_LOOPBACK => RXPRBS_ERR_LOOPBACK_STRING, + RXSLIDE_AUTO_WAIT => RXSLIDE_AUTO_WAIT, + RXSLIDE_MODE => RXSLIDE_MODE, + RXSYNC_MULTILANE => RXSYNC_MULTILANE_STRING, + RXSYNC_OVRD => RXSYNC_OVRD_STRING, + RXSYNC_SKIP_DA => RXSYNC_SKIP_DA_STRING, + RX_BIAS_CFG => RX_BIAS_CFG_STRING, + RX_BUFFER_CFG => RX_BUFFER_CFG_STRING, + RX_CLK25_DIV => RX_CLK25_DIV, + RX_CLKMUX_PD => RX_CLKMUX_PD_STRING, + RX_CM_SEL => RX_CM_SEL_STRING, + RX_CM_TRIM => RX_CM_TRIM_STRING, + RX_DATA_WIDTH => RX_DATA_WIDTH, + RX_DDI_SEL => RX_DDI_SEL_STRING, + RX_DEBUG_CFG => RX_DEBUG_CFG_STRING, + RX_DEFER_RESET_BUF_EN => RX_DEFER_RESET_BUF_EN, + RX_DFELPM_CFG0 => RX_DFELPM_CFG0_STRING, + RX_DFELPM_CFG1 => RX_DFELPM_CFG1_STRING, + RX_DFELPM_KLKH_AGC_STUP_EN => RX_DFELPM_KLKH_AGC_STUP_EN_STRING, + RX_DFE_AGC_CFG0 => RX_DFE_AGC_CFG0_STRING, + RX_DFE_AGC_CFG1 => RX_DFE_AGC_CFG1_STRING, + RX_DFE_AGC_CFG2 => RX_DFE_AGC_CFG2_STRING, + RX_DFE_AGC_OVRDEN => RX_DFE_AGC_OVRDEN_STRING, + RX_DFE_GAIN_CFG => RX_DFE_GAIN_CFG_STRING, + RX_DFE_H2_CFG => RX_DFE_H2_CFG_STRING, + RX_DFE_H3_CFG => RX_DFE_H3_CFG_STRING, + RX_DFE_H4_CFG => RX_DFE_H4_CFG_STRING, + RX_DFE_H5_CFG => RX_DFE_H5_CFG_STRING, + RX_DFE_H6_CFG => RX_DFE_H6_CFG_STRING, + RX_DFE_H7_CFG => RX_DFE_H7_CFG_STRING, + RX_DFE_KL_CFG => RX_DFE_KL_CFG_STRING, + RX_DFE_KL_LPM_KH_CFG0 => RX_DFE_KL_LPM_KH_CFG0_STRING, + RX_DFE_KL_LPM_KH_CFG1 => RX_DFE_KL_LPM_KH_CFG1_STRING, + RX_DFE_KL_LPM_KH_CFG2 => RX_DFE_KL_LPM_KH_CFG2_STRING, + RX_DFE_KL_LPM_KH_OVRDEN => RX_DFE_KL_LPM_KH_OVRDEN_STRING, + RX_DFE_KL_LPM_KL_CFG0 => RX_DFE_KL_LPM_KL_CFG0_STRING, + RX_DFE_KL_LPM_KL_CFG1 => RX_DFE_KL_LPM_KL_CFG1_STRING, + RX_DFE_KL_LPM_KL_CFG2 => RX_DFE_KL_LPM_KL_CFG2_STRING, + RX_DFE_KL_LPM_KL_OVRDEN => RX_DFE_KL_LPM_KL_OVRDEN_STRING, + RX_DFE_LPM_CFG => RX_DFE_LPM_CFG_STRING, + RX_DFE_LPM_HOLD_DURING_EIDLE => RX_DFE_LPM_HOLD_DURING_EIDLE_STRING, + RX_DFE_ST_CFG => RX_DFE_ST_CFG_STRING, + RX_DFE_UT_CFG => RX_DFE_UT_CFG_STRING, + RX_DFE_VP_CFG => RX_DFE_VP_CFG_STRING, + RX_DISPERR_SEQ_MATCH => RX_DISPERR_SEQ_MATCH, + RX_INT_DATAWIDTH => RX_INT_DATAWIDTH, + RX_OS_CFG => RX_OS_CFG_STRING, + RX_SIG_VALID_DLY => RX_SIG_VALID_DLY, + RX_XCLK_SEL => RX_XCLK_SEL, + SAS_MAX_COM => SAS_MAX_COM, + SAS_MIN_COM => SAS_MIN_COM, + SATA_BURST_SEQ_LEN => SATA_BURST_SEQ_LEN_STRING, + SATA_BURST_VAL => SATA_BURST_VAL_STRING, + SATA_CPLL_CFG => SATA_CPLL_CFG, + SATA_EIDLE_VAL => SATA_EIDLE_VAL_STRING, + SATA_MAX_BURST => SATA_MAX_BURST, + SATA_MAX_INIT => SATA_MAX_INIT, + SATA_MAX_WAKE => SATA_MAX_WAKE, + SATA_MIN_BURST => SATA_MIN_BURST, + SATA_MIN_INIT => SATA_MIN_INIT, + SATA_MIN_WAKE => SATA_MIN_WAKE, + SHOW_REALIGN_COMMA => SHOW_REALIGN_COMMA, + SIM_CPLLREFCLK_SEL => SIM_CPLLREFCLK_SEL_STRING, + SIM_RECEIVER_DETECT_PASS => SIM_RECEIVER_DETECT_PASS, + SIM_RESET_SPEEDUP => SIM_RESET_SPEEDUP, + SIM_TX_EIDLE_DRIVE_LEVEL => SIM_TX_EIDLE_DRIVE_LEVEL, + SIM_VERSION => SIM_VERSION, + TERM_RCAL_CFG => TERM_RCAL_CFG_STRING, + TERM_RCAL_OVRD => TERM_RCAL_OVRD_STRING, + TRANS_TIME_RATE => TRANS_TIME_RATE_STRING, + TST_RSV => TST_RSV_STRING, + TXBUF_EN => TXBUF_EN, + TXBUF_RESET_ON_RATE_CHANGE => TXBUF_RESET_ON_RATE_CHANGE, + TXDLY_CFG => TXDLY_CFG_STRING, + TXDLY_LCFG => TXDLY_LCFG_STRING, + TXDLY_TAP_CFG => TXDLY_TAP_CFG_STRING, + TXGEARBOX_EN => TXGEARBOX_EN, + TXOOB_CFG => TXOOB_CFG_STRING, + TXOUT_DIV => TXOUT_DIV, + TXPCSRESET_TIME => TXPCSRESET_TIME_STRING, + TXPHDLY_CFG => TXPHDLY_CFG_STRING, + TXPH_CFG => TXPH_CFG_STRING, + TXPH_MONITOR_SEL => TXPH_MONITOR_SEL_STRING, + TXPI_CFG0 => TXPI_CFG0_STRING, + TXPI_CFG1 => TXPI_CFG1_STRING, + TXPI_CFG2 => TXPI_CFG2_STRING, + TXPI_CFG3 => TXPI_CFG3_STRING, + TXPI_CFG4 => TXPI_CFG4_STRING, + TXPI_CFG5 => TXPI_CFG5_STRING, + TXPI_GREY_SEL => TXPI_GREY_SEL_STRING, + TXPI_INVSTROBE_SEL => TXPI_INVSTROBE_SEL_STRING, + TXPI_PPMCLK_SEL => TXPI_PPMCLK_SEL, + TXPI_PPM_CFG => TXPI_PPM_CFG_STRING, + TXPI_SYNFREQ_PPM => TXPI_SYNFREQ_PPM_STRING, + TXPMARESET_TIME => TXPMARESET_TIME_STRING, + TXSYNC_MULTILANE => TXSYNC_MULTILANE_STRING, + TXSYNC_OVRD => TXSYNC_OVRD_STRING, + TXSYNC_SKIP_DA => TXSYNC_SKIP_DA_STRING, + TX_CLK25_DIV => TX_CLK25_DIV, + TX_CLKMUX_PD => TX_CLKMUX_PD_STRING, + TX_DATA_WIDTH => TX_DATA_WIDTH, + TX_DEEMPH0 => TX_DEEMPH0_STRING, + TX_DEEMPH1 => TX_DEEMPH1_STRING, + TX_DRIVE_MODE => TX_DRIVE_MODE, + TX_EIDLE_ASSERT_DELAY => TX_EIDLE_ASSERT_DELAY_STRING, + TX_EIDLE_DEASSERT_DELAY => TX_EIDLE_DEASSERT_DELAY_STRING, + TX_INT_DATAWIDTH => TX_INT_DATAWIDTH, + TX_LOOPBACK_DRIVE_HIZ => TX_LOOPBACK_DRIVE_HIZ, + TX_MAINCURSOR_SEL => TX_MAINCURSOR_SEL_STRING, + TX_MARGIN_FULL_0 => TX_MARGIN_FULL_0_STRING, + TX_MARGIN_FULL_1 => TX_MARGIN_FULL_1_STRING, + TX_MARGIN_FULL_2 => TX_MARGIN_FULL_2_STRING, + TX_MARGIN_FULL_3 => TX_MARGIN_FULL_3_STRING, + TX_MARGIN_FULL_4 => TX_MARGIN_FULL_4_STRING, + TX_MARGIN_LOW_0 => TX_MARGIN_LOW_0_STRING, + TX_MARGIN_LOW_1 => TX_MARGIN_LOW_1_STRING, + TX_MARGIN_LOW_2 => TX_MARGIN_LOW_2_STRING, + TX_MARGIN_LOW_3 => TX_MARGIN_LOW_3_STRING, + TX_MARGIN_LOW_4 => TX_MARGIN_LOW_4_STRING, + TX_QPI_STATUS_EN => TX_QPI_STATUS_EN_STRING, + TX_RXDETECT_CFG => TX_RXDETECT_CFG_STRING, + TX_RXDETECT_PRECHARGE_TIME => TX_RXDETECT_PRECHARGE_TIME_STRING, + TX_RXDETECT_REF => TX_RXDETECT_REF_STRING, + TX_XCLK_SEL => TX_XCLK_SEL, + UCODEER_CLR => UCODEER_CLR_STRING, + USE_PCS_CLK_PHASE_SEL => USE_PCS_CLK_PHASE_SEL_STRING + ) + + port map ( + GSR => TO_X01(GSR), + CPLLFBCLKLOST => CPLLFBCLKLOST_outdelay, + CPLLLOCK => CPLLLOCK_outdelay, + CPLLREFCLKLOST => CPLLREFCLKLOST_outdelay, + DMONITOROUT => DMONITOROUT_outdelay, + DRPDO => DRPDO_outdelay, + DRPRDY => DRPRDY_outdelay, + EYESCANDATAERROR => EYESCANDATAERROR_outdelay, + GTHTXN => GTHTXN_outdelay, + GTHTXP => GTHTXP_outdelay, + GTREFCLKMONITOR => GTREFCLKMONITOR_outdelay, + PCSRSVDOUT => PCSRSVDOUT_outdelay, + PHYSTATUS => PHYSTATUS_outdelay, + RSOSINTDONE => RSOSINTDONE_outdelay, + RXBUFSTATUS => RXBUFSTATUS_outdelay, + RXBYTEISALIGNED => RXBYTEISALIGNED_outdelay, + RXBYTEREALIGN => RXBYTEREALIGN_outdelay, + RXCDRLOCK => RXCDRLOCK_outdelay, + RXCHANBONDSEQ => RXCHANBONDSEQ_outdelay, + RXCHANISALIGNED => RXCHANISALIGNED_outdelay, + RXCHANREALIGN => RXCHANREALIGN_outdelay, + RXCHARISCOMMA => RXCHARISCOMMA_outdelay, + RXCHARISK => RXCHARISK_outdelay, + RXCHBONDO => RXCHBONDO_outdelay, + RXCLKCORCNT => RXCLKCORCNT_outdelay, + RXCOMINITDET => RXCOMINITDET_outdelay, + RXCOMMADET => RXCOMMADET_outdelay, + RXCOMSASDET => RXCOMSASDET_outdelay, + RXCOMWAKEDET => RXCOMWAKEDET_outdelay, + RXDATA => RXDATA_outdelay, + RXDATAVALID => RXDATAVALID_outdelay, + RXDFESLIDETAPSTARTED => RXDFESLIDETAPSTARTED_outdelay, + RXDFESLIDETAPSTROBEDONE => RXDFESLIDETAPSTROBEDONE_outdelay, + RXDFESLIDETAPSTROBESTARTED => RXDFESLIDETAPSTROBESTARTED_outdelay, + RXDFESTADAPTDONE => RXDFESTADAPTDONE_outdelay, + RXDISPERR => RXDISPERR_outdelay, + RXDLYSRESETDONE => RXDLYSRESETDONE_outdelay, + RXELECIDLE => RXELECIDLE_outdelay, + RXHEADER => RXHEADER_outdelay, + RXHEADERVALID => RXHEADERVALID_outdelay, + RXMONITOROUT => RXMONITOROUT_outdelay, + RXNOTINTABLE => RXNOTINTABLE_outdelay, + RXOSINTSTARTED => RXOSINTSTARTED_outdelay, + RXOSINTSTROBEDONE => RXOSINTSTROBEDONE_outdelay, + RXOSINTSTROBESTARTED => RXOSINTSTROBESTARTED_outdelay, + RXOUTCLK => RXOUTCLK_outdelay, + RXOUTCLKFABRIC => RXOUTCLKFABRIC_outdelay, + RXOUTCLKPCS => RXOUTCLKPCS_outdelay, + RXPHALIGNDONE => RXPHALIGNDONE_outdelay, + RXPHMONITOR => RXPHMONITOR_outdelay, + RXPHSLIPMONITOR => RXPHSLIPMONITOR_outdelay, + RXPMARESETDONE => RXPMARESETDONE_outdelay, + RXPRBSERR => RXPRBSERR_outdelay, + RXQPISENN => RXQPISENN_outdelay, + RXQPISENP => RXQPISENP_outdelay, + RXRATEDONE => RXRATEDONE_outdelay, + RXRESETDONE => RXRESETDONE_outdelay, + RXSTARTOFSEQ => RXSTARTOFSEQ_outdelay, + RXSTATUS => RXSTATUS_outdelay, + RXSYNCDONE => RXSYNCDONE_outdelay, + RXSYNCOUT => RXSYNCOUT_outdelay, + RXVALID => RXVALID_outdelay, + TXBUFSTATUS => TXBUFSTATUS_outdelay, + TXCOMFINISH => TXCOMFINISH_outdelay, + TXDLYSRESETDONE => TXDLYSRESETDONE_outdelay, + TXGEARBOXREADY => TXGEARBOXREADY_outdelay, + TXOUTCLK => TXOUTCLK_outdelay, + TXOUTCLKFABRIC => TXOUTCLKFABRIC_outdelay, + TXOUTCLKPCS => TXOUTCLKPCS_outdelay, + TXPHALIGNDONE => TXPHALIGNDONE_outdelay, + TXPHINITDONE => TXPHINITDONE_outdelay, + TXPMARESETDONE => TXPMARESETDONE_outdelay, + TXQPISENN => TXQPISENN_outdelay, + TXQPISENP => TXQPISENP_outdelay, + TXRATEDONE => TXRATEDONE_outdelay, + TXRESETDONE => TXRESETDONE_outdelay, + TXSYNCDONE => TXSYNCDONE_outdelay, + TXSYNCOUT => TXSYNCOUT_outdelay, + CFGRESET => CFGRESET_indelay, + CLKRSVD0 => CLKRSVD0_indelay, + CLKRSVD1 => CLKRSVD1_indelay, + CPLLLOCKDETCLK => CPLLLOCKDETCLK_indelay, + CPLLLOCKEN => CPLLLOCKEN_indelay, + CPLLPD => CPLLPD_indelay, + CPLLREFCLKSEL => CPLLREFCLKSEL_indelay, + CPLLRESET => CPLLRESET_indelay, + DMONFIFORESET => DMONFIFORESET_indelay, + DMONITORCLK => DMONITORCLK_indelay, + DRPADDR => DRPADDR_indelay, + DRPCLK => DRPCLK_indelay, + DRPDI => DRPDI_indelay, + DRPEN => DRPEN_indelay, + DRPWE => DRPWE_indelay, + EYESCANMODE => EYESCANMODE_indelay, + EYESCANRESET => EYESCANRESET_indelay, + EYESCANTRIGGER => EYESCANTRIGGER_indelay, + GTGREFCLK => GTGREFCLK_indelay, + GTHRXN => GTHRXN_indelay, + GTHRXP => GTHRXP_indelay, + GTNORTHREFCLK0 => GTNORTHREFCLK0_indelay, + GTNORTHREFCLK1 => GTNORTHREFCLK1_indelay, + GTREFCLK0 => GTREFCLK0_indelay, + GTREFCLK1 => GTREFCLK1_indelay, + GTRESETSEL => GTRESETSEL_indelay, + GTRSVD => GTRSVD_indelay, + GTRXRESET => GTRXRESET_indelay, + GTSOUTHREFCLK0 => GTSOUTHREFCLK0_indelay, + GTSOUTHREFCLK1 => GTSOUTHREFCLK1_indelay, + GTTXRESET => GTTXRESET_indelay, + LOOPBACK => LOOPBACK_indelay, + PCSRSVDIN => PCSRSVDIN_indelay, + PCSRSVDIN2 => PCSRSVDIN2_indelay, + PMARSVDIN => PMARSVDIN_indelay, + QPLLCLK => QPLLCLK_indelay, + QPLLREFCLK => QPLLREFCLK_indelay, + RESETOVRD => RESETOVRD_indelay, + RX8B10BEN => RX8B10BEN_indelay, + RXADAPTSELTEST => RXADAPTSELTEST_indelay, + RXBUFRESET => RXBUFRESET_indelay, + RXCDRFREQRESET => RXCDRFREQRESET_indelay, + RXCDRHOLD => RXCDRHOLD_indelay, + RXCDROVRDEN => RXCDROVRDEN_indelay, + RXCDRRESET => RXCDRRESET_indelay, + RXCDRRESETRSV => RXCDRRESETRSV_indelay, + RXCHBONDEN => RXCHBONDEN_indelay, + RXCHBONDI => RXCHBONDI_indelay, + RXCHBONDLEVEL => RXCHBONDLEVEL_indelay, + RXCHBONDMASTER => RXCHBONDMASTER_indelay, + RXCHBONDSLAVE => RXCHBONDSLAVE_indelay, + RXCOMMADETEN => RXCOMMADETEN_indelay, + RXDDIEN => RXDDIEN_indelay, + RXDFEAGCHOLD => RXDFEAGCHOLD_indelay, + RXDFEAGCOVRDEN => RXDFEAGCOVRDEN_indelay, + RXDFEAGCTRL => RXDFEAGCTRL_indelay, + RXDFECM1EN => RXDFECM1EN_indelay, + RXDFELFHOLD => RXDFELFHOLD_indelay, + RXDFELFOVRDEN => RXDFELFOVRDEN_indelay, + RXDFELPMRESET => RXDFELPMRESET_indelay, + RXDFESLIDETAP => RXDFESLIDETAP_indelay, + RXDFESLIDETAPADAPTEN => RXDFESLIDETAPADAPTEN_indelay, + RXDFESLIDETAPHOLD => RXDFESLIDETAPHOLD_indelay, + RXDFESLIDETAPID => RXDFESLIDETAPID_indelay, + RXDFESLIDETAPINITOVRDEN => RXDFESLIDETAPINITOVRDEN_indelay, + RXDFESLIDETAPONLYADAPTEN => RXDFESLIDETAPONLYADAPTEN_indelay, + RXDFESLIDETAPOVRDEN => RXDFESLIDETAPOVRDEN_indelay, + RXDFESLIDETAPSTROBE => RXDFESLIDETAPSTROBE_indelay, + RXDFETAP2HOLD => RXDFETAP2HOLD_indelay, + RXDFETAP2OVRDEN => RXDFETAP2OVRDEN_indelay, + RXDFETAP3HOLD => RXDFETAP3HOLD_indelay, + RXDFETAP3OVRDEN => RXDFETAP3OVRDEN_indelay, + RXDFETAP4HOLD => RXDFETAP4HOLD_indelay, + RXDFETAP4OVRDEN => RXDFETAP4OVRDEN_indelay, + RXDFETAP5HOLD => RXDFETAP5HOLD_indelay, + RXDFETAP5OVRDEN => RXDFETAP5OVRDEN_indelay, + RXDFETAP6HOLD => RXDFETAP6HOLD_indelay, + RXDFETAP6OVRDEN => RXDFETAP6OVRDEN_indelay, + RXDFETAP7HOLD => RXDFETAP7HOLD_indelay, + RXDFETAP7OVRDEN => RXDFETAP7OVRDEN_indelay, + RXDFEUTHOLD => RXDFEUTHOLD_indelay, + RXDFEUTOVRDEN => RXDFEUTOVRDEN_indelay, + RXDFEVPHOLD => RXDFEVPHOLD_indelay, + RXDFEVPOVRDEN => RXDFEVPOVRDEN_indelay, + RXDFEVSEN => RXDFEVSEN_indelay, + RXDFEXYDEN => RXDFEXYDEN_indelay, + RXDLYBYPASS => RXDLYBYPASS_indelay, + RXDLYEN => RXDLYEN_indelay, + RXDLYOVRDEN => RXDLYOVRDEN_indelay, + RXDLYSRESET => RXDLYSRESET_indelay, + RXELECIDLEMODE => RXELECIDLEMODE_indelay, + RXGEARBOXSLIP => RXGEARBOXSLIP_indelay, + RXLPMEN => RXLPMEN_indelay, + RXLPMHFHOLD => RXLPMHFHOLD_indelay, + RXLPMHFOVRDEN => RXLPMHFOVRDEN_indelay, + RXLPMLFHOLD => RXLPMLFHOLD_indelay, + RXLPMLFKLOVRDEN => RXLPMLFKLOVRDEN_indelay, + RXMCOMMAALIGNEN => RXMCOMMAALIGNEN_indelay, + RXMONITORSEL => RXMONITORSEL_indelay, + RXOOBRESET => RXOOBRESET_indelay, + RXOSCALRESET => RXOSCALRESET_indelay, + RXOSHOLD => RXOSHOLD_indelay, + RXOSINTCFG => RXOSINTCFG_indelay, + RXOSINTEN => RXOSINTEN_indelay, + RXOSINTHOLD => RXOSINTHOLD_indelay, + RXOSINTID0 => RXOSINTID0_indelay, + RXOSINTNTRLEN => RXOSINTNTRLEN_indelay, + RXOSINTOVRDEN => RXOSINTOVRDEN_indelay, + RXOSINTSTROBE => RXOSINTSTROBE_indelay, + RXOSINTTESTOVRDEN => RXOSINTTESTOVRDEN_indelay, + RXOSOVRDEN => RXOSOVRDEN_indelay, + RXOUTCLKSEL => RXOUTCLKSEL_indelay, + RXPCOMMAALIGNEN => RXPCOMMAALIGNEN_indelay, + RXPCSRESET => RXPCSRESET_indelay, + RXPD => RXPD_indelay, + RXPHALIGN => RXPHALIGN_indelay, + RXPHALIGNEN => RXPHALIGNEN_indelay, + RXPHDLYPD => RXPHDLYPD_indelay, + RXPHDLYRESET => RXPHDLYRESET_indelay, + RXPHOVRDEN => RXPHOVRDEN_indelay, + RXPMARESET => RXPMARESET_indelay, + RXPOLARITY => RXPOLARITY_indelay, + RXPRBSCNTRESET => RXPRBSCNTRESET_indelay, + RXPRBSSEL => RXPRBSSEL_indelay, + RXQPIEN => RXQPIEN_indelay, + RXRATE => RXRATE_indelay, + RXRATEMODE => RXRATEMODE_indelay, + RXSLIDE => RXSLIDE_indelay, + RXSYNCALLIN => RXSYNCALLIN_indelay, + RXSYNCIN => RXSYNCIN_indelay, + RXSYNCMODE => RXSYNCMODE_indelay, + RXSYSCLKSEL => RXSYSCLKSEL_indelay, + RXUSERRDY => RXUSERRDY_indelay, + RXUSRCLK => RXUSRCLK_indelay, + RXUSRCLK2 => RXUSRCLK2_indelay, + SETERRSTATUS => SETERRSTATUS_indelay, + SIGVALIDCLK => SIGVALIDCLK_indelay, + TSTIN => TSTIN_indelay, + TX8B10BBYPASS => TX8B10BBYPASS_indelay, + TX8B10BEN => TX8B10BEN_indelay, + TXBUFDIFFCTRL => TXBUFDIFFCTRL_indelay, + TXCHARDISPMODE => TXCHARDISPMODE_indelay, + TXCHARDISPVAL => TXCHARDISPVAL_indelay, + TXCHARISK => TXCHARISK_indelay, + TXCOMINIT => TXCOMINIT_indelay, + TXCOMSAS => TXCOMSAS_indelay, + TXCOMWAKE => TXCOMWAKE_indelay, + TXDATA => TXDATA_indelay, + TXDEEMPH => TXDEEMPH_indelay, + TXDETECTRX => TXDETECTRX_indelay, + TXDIFFCTRL => TXDIFFCTRL_indelay, + TXDIFFPD => TXDIFFPD_indelay, + TXDLYBYPASS => TXDLYBYPASS_indelay, + TXDLYEN => TXDLYEN_indelay, + TXDLYHOLD => TXDLYHOLD_indelay, + TXDLYOVRDEN => TXDLYOVRDEN_indelay, + TXDLYSRESET => TXDLYSRESET_indelay, + TXDLYUPDOWN => TXDLYUPDOWN_indelay, + TXELECIDLE => TXELECIDLE_indelay, + TXHEADER => TXHEADER_indelay, + TXINHIBIT => TXINHIBIT_indelay, + TXMAINCURSOR => TXMAINCURSOR_indelay, + TXMARGIN => TXMARGIN_indelay, + TXOUTCLKSEL => TXOUTCLKSEL_indelay, + TXPCSRESET => TXPCSRESET_indelay, + TXPD => TXPD_indelay, + TXPDELECIDLEMODE => TXPDELECIDLEMODE_indelay, + TXPHALIGN => TXPHALIGN_indelay, + TXPHALIGNEN => TXPHALIGNEN_indelay, + TXPHDLYPD => TXPHDLYPD_indelay, + TXPHDLYRESET => TXPHDLYRESET_indelay, + TXPHDLYTSTCLK => TXPHDLYTSTCLK_indelay, + TXPHINIT => TXPHINIT_indelay, + TXPHOVRDEN => TXPHOVRDEN_indelay, + TXPIPPMEN => TXPIPPMEN_indelay, + TXPIPPMOVRDEN => TXPIPPMOVRDEN_indelay, + TXPIPPMPD => TXPIPPMPD_indelay, + TXPIPPMSEL => TXPIPPMSEL_indelay, + TXPIPPMSTEPSIZE => TXPIPPMSTEPSIZE_indelay, + TXPISOPD => TXPISOPD_indelay, + TXPMARESET => TXPMARESET_indelay, + TXPOLARITY => TXPOLARITY_indelay, + TXPOSTCURSOR => TXPOSTCURSOR_indelay, + TXPOSTCURSORINV => TXPOSTCURSORINV_indelay, + TXPRBSFORCEERR => TXPRBSFORCEERR_indelay, + TXPRBSSEL => TXPRBSSEL_indelay, + TXPRECURSOR => TXPRECURSOR_indelay, + TXPRECURSORINV => TXPRECURSORINV_indelay, + TXQPIBIASEN => TXQPIBIASEN_indelay, + TXQPISTRONGPDOWN => TXQPISTRONGPDOWN_indelay, + TXQPIWEAKPUP => TXQPIWEAKPUP_indelay, + TXRATE => TXRATE_indelay, + TXRATEMODE => TXRATEMODE_indelay, + TXSEQUENCE => TXSEQUENCE_indelay, + TXSTARTSEQ => TXSTARTSEQ_indelay, + TXSWING => TXSWING_indelay, + TXSYNCALLIN => TXSYNCALLIN_indelay, + TXSYNCIN => TXSYNCIN_indelay, + TXSYNCMODE => TXSYNCMODE_indelay, + TXSYSCLKSEL => TXSYSCLKSEL_indelay, + TXUSERRDY => TXUSERRDY_indelay, + TXUSRCLK => TXUSRCLK_indelay, + TXUSRCLK2 => TXUSRCLK2_indelay + ); + + + drp_monitor: process (DRPCLK_indelay) + + variable drpen_r1 : std_logic := '0'; + variable drpen_r2 : std_logic := '0'; + variable drpwe_r1 : std_logic := '0'; + variable drpwe_r2 : std_logic := '0'; + type statetype is (FSM_IDLE, FSM_WAIT); + variable sfsm : statetype := FSM_IDLE; + + begin -- process drp_monitor + + if (rising_edge(DRPCLK_indelay)) then + + -- pipeline the DRPEN and DRPWE + drpen_r2 := drpen_r1; + drpwe_r2 := drpwe_r1; + drpen_r1 := DRPEN_indelay; + drpwe_r1 := DRPWE_indelay; + + + -- Check - if DRPEN or DRPWE is more than 1 DCLK + if ((drpen_r1 = '1') and (drpen_r2 = '1')) then + assert false + report "DRC Error : DRPEN is high for more than 1 DRPCLK." + severity failure; + end if; + + if ((drpwe_r1 = '1') and (drpwe_r2 = '1')) then + assert false + report "DRC Error : DRPWE is high for more than 1 DRPCLK." + severity failure; + end if; + + + -- After the 1st DRPEN pulse, check the DRPEN and DRPRDY. + case sfsm is + when FSM_IDLE => + if (DRPEN_indelay = '1') then + sfsm := FSM_WAIT; + end if; + + when FSM_WAIT => + + -- After the 1st DRPEN, 4 cases can happen + -- DRPEN DRPRDY NEXT STATE + -- 0 0 FSM_WAIT - wait for DRPRDY + -- 0 1 FSM_IDLE - normal operation + -- 1 0 FSM_WAIT - display error and wait for DRPRDY + -- 1 1 FSM_WAIT - normal operation. Per UG470, DRPEN and DRPRDY can be at the same cycle.; + -- Add the check for another DPREN pulse + if(DRPEN_indelay = '1' and DRPRDY_out = '0') then + assert false + report "DRC Error : DRPEN is enabled before DRPRDY returns." + severity failure; + end if; + + -- Add the check for another DRPWE pulse + if ((DRPWE_indelay = '1') and (DRPEN_indelay = '0')) then + assert false + report "DRC Error : DRPWE is enabled before DRPRDY returns." + severity failure; + end if; + + if ((DRPRDY_out = '1') and (DRPEN_indelay = '0')) then + sfsm := FSM_IDLE; + end if; + + + if ((DRPRDY_out = '1') and (DRPEN_indelay = '1')) then + sfsm := FSM_WAIT; + end if; + + + when others => + assert false + report "DRC Error : Default state in DRP FSM." + severity failure; + + end case; + + end if; + + end process drp_monitor; + + + INIPROC : process + begin + -- case ALIGN_COMMA_DOUBLE is + if((ALIGN_COMMA_DOUBLE = "FALSE") or (ALIGN_COMMA_DOUBLE = "false")) then + ALIGN_COMMA_DOUBLE_BINARY <= '0'; + elsif((ALIGN_COMMA_DOUBLE = "TRUE") or (ALIGN_COMMA_DOUBLE= "true")) then + ALIGN_COMMA_DOUBLE_BINARY <= '1'; + else + assert FALSE report "Error : ALIGN_COMMA_DOUBLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case ALIGN_MCOMMA_DET is + if((ALIGN_MCOMMA_DET = "TRUE") or (ALIGN_MCOMMA_DET = "true")) then + ALIGN_MCOMMA_DET_BINARY <= '1'; + elsif((ALIGN_MCOMMA_DET = "FALSE") or (ALIGN_MCOMMA_DET= "false")) then + ALIGN_MCOMMA_DET_BINARY <= '0'; + else + assert FALSE report "Error : ALIGN_MCOMMA_DET = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case ALIGN_PCOMMA_DET is + if((ALIGN_PCOMMA_DET = "TRUE") or (ALIGN_PCOMMA_DET = "true")) then + ALIGN_PCOMMA_DET_BINARY <= '1'; + elsif((ALIGN_PCOMMA_DET = "FALSE") or (ALIGN_PCOMMA_DET= "false")) then + ALIGN_PCOMMA_DET_BINARY <= '0'; + else + assert FALSE report "Error : ALIGN_PCOMMA_DET = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CBCC_DATA_SOURCE_SEL is + if((CBCC_DATA_SOURCE_SEL = "DECODED") or (CBCC_DATA_SOURCE_SEL = "decoded")) then + CBCC_DATA_SOURCE_SEL_BINARY <= '1'; + elsif((CBCC_DATA_SOURCE_SEL = "ENCODED") or (CBCC_DATA_SOURCE_SEL= "encoded")) then + CBCC_DATA_SOURCE_SEL_BINARY <= '0'; + else + assert FALSE report "Error : CBCC_DATA_SOURCE_SEL = is not DECODED, ENCODED." severity error; + end if; + -- end case; + -- case CHAN_BOND_KEEP_ALIGN is + if((CHAN_BOND_KEEP_ALIGN = "FALSE") or (CHAN_BOND_KEEP_ALIGN = "false")) then + CHAN_BOND_KEEP_ALIGN_BINARY <= '0'; + elsif((CHAN_BOND_KEEP_ALIGN = "TRUE") or (CHAN_BOND_KEEP_ALIGN= "true")) then + CHAN_BOND_KEEP_ALIGN_BINARY <= '1'; + else + assert FALSE report "Error : CHAN_BOND_KEEP_ALIGN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CHAN_BOND_SEQ_2_USE is + if((CHAN_BOND_SEQ_2_USE = "FALSE") or (CHAN_BOND_SEQ_2_USE = "false")) then + CHAN_BOND_SEQ_2_USE_BINARY <= '0'; + elsif((CHAN_BOND_SEQ_2_USE = "TRUE") or (CHAN_BOND_SEQ_2_USE= "true")) then + CHAN_BOND_SEQ_2_USE_BINARY <= '1'; + else + assert FALSE report "Error : CHAN_BOND_SEQ_2_USE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CLK_CORRECT_USE is + if((CLK_CORRECT_USE = "TRUE") or (CLK_CORRECT_USE = "true")) then + CLK_CORRECT_USE_BINARY <= '1'; + elsif((CLK_CORRECT_USE = "FALSE") or (CLK_CORRECT_USE= "false")) then + CLK_CORRECT_USE_BINARY <= '0'; + else + assert FALSE report "Error : CLK_CORRECT_USE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CLK_COR_KEEP_IDLE is + if((CLK_COR_KEEP_IDLE = "FALSE") or (CLK_COR_KEEP_IDLE = "false")) then + CLK_COR_KEEP_IDLE_BINARY <= '0'; + elsif((CLK_COR_KEEP_IDLE = "TRUE") or (CLK_COR_KEEP_IDLE= "true")) then + CLK_COR_KEEP_IDLE_BINARY <= '1'; + else + assert FALSE report "Error : CLK_COR_KEEP_IDLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CLK_COR_PRECEDENCE is + if((CLK_COR_PRECEDENCE = "TRUE") or (CLK_COR_PRECEDENCE = "true")) then + CLK_COR_PRECEDENCE_BINARY <= '1'; + elsif((CLK_COR_PRECEDENCE = "FALSE") or (CLK_COR_PRECEDENCE= "false")) then + CLK_COR_PRECEDENCE_BINARY <= '0'; + else + assert FALSE report "Error : CLK_COR_PRECEDENCE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CLK_COR_SEQ_2_USE is + if((CLK_COR_SEQ_2_USE = "FALSE") or (CLK_COR_SEQ_2_USE = "false")) then + CLK_COR_SEQ_2_USE_BINARY <= '0'; + elsif((CLK_COR_SEQ_2_USE = "TRUE") or (CLK_COR_SEQ_2_USE= "true")) then + CLK_COR_SEQ_2_USE_BINARY <= '1'; + else + assert FALSE report "Error : CLK_COR_SEQ_2_USE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case DEC_MCOMMA_DETECT is + if((DEC_MCOMMA_DETECT = "TRUE") or (DEC_MCOMMA_DETECT = "true")) then + DEC_MCOMMA_DETECT_BINARY <= '1'; + elsif((DEC_MCOMMA_DETECT = "FALSE") or (DEC_MCOMMA_DETECT= "false")) then + DEC_MCOMMA_DETECT_BINARY <= '0'; + else + assert FALSE report "Error : DEC_MCOMMA_DETECT = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case DEC_PCOMMA_DETECT is + if((DEC_PCOMMA_DETECT = "TRUE") or (DEC_PCOMMA_DETECT = "true")) then + DEC_PCOMMA_DETECT_BINARY <= '1'; + elsif((DEC_PCOMMA_DETECT = "FALSE") or (DEC_PCOMMA_DETECT= "false")) then + DEC_PCOMMA_DETECT_BINARY <= '0'; + else + assert FALSE report "Error : DEC_PCOMMA_DETECT = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case DEC_VALID_COMMA_ONLY is + if((DEC_VALID_COMMA_ONLY = "TRUE") or (DEC_VALID_COMMA_ONLY = "true")) then + DEC_VALID_COMMA_ONLY_BINARY <= '1'; + elsif((DEC_VALID_COMMA_ONLY = "FALSE") or (DEC_VALID_COMMA_ONLY= "false")) then + DEC_VALID_COMMA_ONLY_BINARY <= '0'; + else + assert FALSE report "Error : DEC_VALID_COMMA_ONLY = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case ES_ERRDET_EN is + if((ES_ERRDET_EN = "FALSE") or (ES_ERRDET_EN = "false")) then + ES_ERRDET_EN_BINARY <= '0'; + elsif((ES_ERRDET_EN = "TRUE") or (ES_ERRDET_EN= "true")) then + ES_ERRDET_EN_BINARY <= '1'; + else + assert FALSE report "Error : ES_ERRDET_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case ES_EYE_SCAN_EN is + if((ES_EYE_SCAN_EN = "FALSE") or (ES_EYE_SCAN_EN = "false")) then + ES_EYE_SCAN_EN_BINARY <= '0'; + elsif((ES_EYE_SCAN_EN = "TRUE") or (ES_EYE_SCAN_EN= "true")) then + ES_EYE_SCAN_EN_BINARY <= '1'; + else + assert FALSE report "Error : ES_EYE_SCAN_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case FTS_LANE_DESKEW_EN is + if((FTS_LANE_DESKEW_EN = "FALSE") or (FTS_LANE_DESKEW_EN = "false")) then + FTS_LANE_DESKEW_EN_BINARY <= '0'; + elsif((FTS_LANE_DESKEW_EN = "TRUE") or (FTS_LANE_DESKEW_EN= "true")) then + FTS_LANE_DESKEW_EN_BINARY <= '1'; + else + assert FALSE report "Error : FTS_LANE_DESKEW_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case PCS_PCIE_EN is + if((PCS_PCIE_EN = "FALSE") or (PCS_PCIE_EN = "false")) then + PCS_PCIE_EN_BINARY <= '0'; + elsif((PCS_PCIE_EN = "TRUE") or (PCS_PCIE_EN= "true")) then + PCS_PCIE_EN_BINARY <= '1'; + else + assert FALSE report "Error : PCS_PCIE_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_ADDR_MODE is + if((RXBUF_ADDR_MODE = "FULL") or (RXBUF_ADDR_MODE = "full")) then + RXBUF_ADDR_MODE_BINARY <= '0'; + elsif((RXBUF_ADDR_MODE = "FAST") or (RXBUF_ADDR_MODE= "fast")) then + RXBUF_ADDR_MODE_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_ADDR_MODE = is not FULL, FAST." severity error; + end if; + -- end case; + -- case RXBUF_EN is + if((RXBUF_EN = "TRUE") or (RXBUF_EN = "true")) then + RXBUF_EN_BINARY <= '1'; + elsif((RXBUF_EN = "FALSE") or (RXBUF_EN= "false")) then + RXBUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_CB_CHANGE is + if((RXBUF_RESET_ON_CB_CHANGE = "TRUE") or (RXBUF_RESET_ON_CB_CHANGE = "true")) then + RXBUF_RESET_ON_CB_CHANGE_BINARY <= '1'; + elsif((RXBUF_RESET_ON_CB_CHANGE = "FALSE") or (RXBUF_RESET_ON_CB_CHANGE= "false")) then + RXBUF_RESET_ON_CB_CHANGE_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_RESET_ON_CB_CHANGE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_COMMAALIGN is + if((RXBUF_RESET_ON_COMMAALIGN = "FALSE") or (RXBUF_RESET_ON_COMMAALIGN = "false")) then + RXBUF_RESET_ON_COMMAALIGN_BINARY <= '0'; + elsif((RXBUF_RESET_ON_COMMAALIGN = "TRUE") or (RXBUF_RESET_ON_COMMAALIGN= "true")) then + RXBUF_RESET_ON_COMMAALIGN_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_RESET_ON_COMMAALIGN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_EIDLE is + if((RXBUF_RESET_ON_EIDLE = "FALSE") or (RXBUF_RESET_ON_EIDLE = "false")) then + RXBUF_RESET_ON_EIDLE_BINARY <= '0'; + elsif((RXBUF_RESET_ON_EIDLE = "TRUE") or (RXBUF_RESET_ON_EIDLE= "true")) then + RXBUF_RESET_ON_EIDLE_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_RESET_ON_EIDLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_RATE_CHANGE is + if((RXBUF_RESET_ON_RATE_CHANGE = "TRUE") or (RXBUF_RESET_ON_RATE_CHANGE = "true")) then + RXBUF_RESET_ON_RATE_CHANGE_BINARY <= '1'; + elsif((RXBUF_RESET_ON_RATE_CHANGE = "FALSE") or (RXBUF_RESET_ON_RATE_CHANGE= "false")) then + RXBUF_RESET_ON_RATE_CHANGE_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_RESET_ON_RATE_CHANGE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_THRESH_OVRD is + if((RXBUF_THRESH_OVRD = "FALSE") or (RXBUF_THRESH_OVRD = "false")) then + RXBUF_THRESH_OVRD_BINARY <= '0'; + elsif((RXBUF_THRESH_OVRD = "TRUE") or (RXBUF_THRESH_OVRD= "true")) then + RXBUF_THRESH_OVRD_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_THRESH_OVRD = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXGEARBOX_EN is + if((RXGEARBOX_EN = "FALSE") or (RXGEARBOX_EN = "false")) then + RXGEARBOX_EN_BINARY <= '0'; + elsif((RXGEARBOX_EN = "TRUE") or (RXGEARBOX_EN= "true")) then + RXGEARBOX_EN_BINARY <= '1'; + else + assert FALSE report "Error : RXGEARBOX_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXOOB_CLK_CFG is + if((RXOOB_CLK_CFG = "PMA") or (RXOOB_CLK_CFG = "pma")) then + RXOOB_CLK_CFG_BINARY <= '0'; + elsif((RXOOB_CLK_CFG = "FABRIC") or (RXOOB_CLK_CFG= "fabric")) then + RXOOB_CLK_CFG_BINARY <= '1'; + else + assert FALSE report "Error : RXOOB_CLK_CFG = is not PMA, FABRIC." severity error; + end if; + -- end case; + -- case RXSLIDE_MODE is + if((RXSLIDE_MODE = "OFF") or (RXSLIDE_MODE = "off")) then + RXSLIDE_MODE_BINARY <= "00"; + elsif((RXSLIDE_MODE = "AUTO") or (RXSLIDE_MODE= "auto")) then + RXSLIDE_MODE_BINARY <= "01"; + elsif((RXSLIDE_MODE = "PCS") or (RXSLIDE_MODE= "pcs")) then + RXSLIDE_MODE_BINARY <= "10"; + elsif((RXSLIDE_MODE = "PMA") or (RXSLIDE_MODE= "pma")) then + RXSLIDE_MODE_BINARY <= "11"; + else + assert FALSE report "Error : RXSLIDE_MODE = is not OFF, AUTO, PCS, PMA." severity error; + end if; + -- end case; + -- case RX_DEFER_RESET_BUF_EN is + if((RX_DEFER_RESET_BUF_EN = "TRUE") or (RX_DEFER_RESET_BUF_EN = "true")) then + RX_DEFER_RESET_BUF_EN_BINARY <= '1'; + elsif((RX_DEFER_RESET_BUF_EN = "FALSE") or (RX_DEFER_RESET_BUF_EN= "false")) then + RX_DEFER_RESET_BUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : RX_DEFER_RESET_BUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RX_DISPERR_SEQ_MATCH is + if((RX_DISPERR_SEQ_MATCH = "TRUE") or (RX_DISPERR_SEQ_MATCH = "true")) then + RX_DISPERR_SEQ_MATCH_BINARY <= '1'; + elsif((RX_DISPERR_SEQ_MATCH = "FALSE") or (RX_DISPERR_SEQ_MATCH= "false")) then + RX_DISPERR_SEQ_MATCH_BINARY <= '0'; + else + assert FALSE report "Error : RX_DISPERR_SEQ_MATCH = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RX_XCLK_SEL is + if((RX_XCLK_SEL = "RXREC") or (RX_XCLK_SEL = "rxrec")) then + RX_XCLK_SEL_BINARY <= '0'; + elsif((RX_XCLK_SEL = "RXUSR") or (RX_XCLK_SEL= "rxusr")) then + RX_XCLK_SEL_BINARY <= '1'; + else + assert FALSE report "Error : RX_XCLK_SEL = is not RXREC, RXUSR." severity error; + end if; + -- end case; + -- case SATA_CPLL_CFG is + if((SATA_CPLL_CFG = "VCO_3000MHZ") or (SATA_CPLL_CFG = "vco_3000mhz")) then + SATA_CPLL_CFG_BINARY <= "00"; + elsif((SATA_CPLL_CFG = "VCO_750MHZ") or (SATA_CPLL_CFG= "vco_750mhz")) then + SATA_CPLL_CFG_BINARY <= "10"; + elsif((SATA_CPLL_CFG = "VCO_1500MHZ") or (SATA_CPLL_CFG= "vco_1500mhz")) then + SATA_CPLL_CFG_BINARY <= "01"; + else + assert FALSE report "Error : SATA_CPLL_CFG = is not VCO_3000MHZ, VCO_750MHZ, VCO_1500MHZ." severity error; + end if; + -- end case; + -- case SHOW_REALIGN_COMMA is + if((SHOW_REALIGN_COMMA = "TRUE") or (SHOW_REALIGN_COMMA = "true")) then + SHOW_REALIGN_COMMA_BINARY <= '1'; + elsif((SHOW_REALIGN_COMMA = "FALSE") or (SHOW_REALIGN_COMMA= "false")) then + SHOW_REALIGN_COMMA_BINARY <= '0'; + else + assert FALSE report "Error : SHOW_REALIGN_COMMA = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case TXBUF_EN is + if((TXBUF_EN = "TRUE") or (TXBUF_EN = "true")) then + TXBUF_EN_BINARY <= '1'; + elsif((TXBUF_EN = "FALSE") or (TXBUF_EN= "false")) then + TXBUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : TXBUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case TXBUF_RESET_ON_RATE_CHANGE is + if((TXBUF_RESET_ON_RATE_CHANGE = "FALSE") or (TXBUF_RESET_ON_RATE_CHANGE = "false")) then + TXBUF_RESET_ON_RATE_CHANGE_BINARY <= '0'; + elsif((TXBUF_RESET_ON_RATE_CHANGE = "TRUE") or (TXBUF_RESET_ON_RATE_CHANGE= "true")) then + TXBUF_RESET_ON_RATE_CHANGE_BINARY <= '1'; + else + assert FALSE report "Error : TXBUF_RESET_ON_RATE_CHANGE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TXGEARBOX_EN is + if((TXGEARBOX_EN = "FALSE") or (TXGEARBOX_EN = "false")) then + TXGEARBOX_EN_BINARY <= '0'; + elsif((TXGEARBOX_EN = "TRUE") or (TXGEARBOX_EN= "true")) then + TXGEARBOX_EN_BINARY <= '1'; + else + assert FALSE report "Error : TXGEARBOX_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TXPI_PPMCLK_SEL is + if((TXPI_PPMCLK_SEL = "TXUSRCLK2") or (TXPI_PPMCLK_SEL = "txusrclk2")) then + TXPI_PPMCLK_SEL_BINARY <= '1'; + elsif((TXPI_PPMCLK_SEL = "TXUSRCLK") or (TXPI_PPMCLK_SEL= "txusrclk")) then + TXPI_PPMCLK_SEL_BINARY <= '0'; + else + assert FALSE report "Error : TXPI_PPMCLK_SEL = is not TXUSRCLK2, TXUSRCLK." severity error; + end if; + -- end case; + -- case TX_DRIVE_MODE is + if((TX_DRIVE_MODE = "DIRECT") or (TX_DRIVE_MODE = "direct")) then + TX_DRIVE_MODE_BINARY <= "00000"; + elsif((TX_DRIVE_MODE = "PIPE") or (TX_DRIVE_MODE= "pipe")) then + TX_DRIVE_MODE_BINARY <= "00001"; + elsif((TX_DRIVE_MODE = "PIPEGEN3") or (TX_DRIVE_MODE= "pipegen3")) then + TX_DRIVE_MODE_BINARY <= "00010"; + else + assert FALSE report "Error : TX_DRIVE_MODE = is not DIRECT, PIPE, PIPEGEN3." severity error; + end if; + -- end case; + -- case TX_LOOPBACK_DRIVE_HIZ is + if((TX_LOOPBACK_DRIVE_HIZ = "FALSE") or (TX_LOOPBACK_DRIVE_HIZ = "false")) then + TX_LOOPBACK_DRIVE_HIZ_BINARY <= '0'; + elsif((TX_LOOPBACK_DRIVE_HIZ = "TRUE") or (TX_LOOPBACK_DRIVE_HIZ= "true")) then + TX_LOOPBACK_DRIVE_HIZ_BINARY <= '1'; + else + assert FALSE report "Error : TX_LOOPBACK_DRIVE_HIZ = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TX_XCLK_SEL is + if((TX_XCLK_SEL = "TXUSR") or (TX_XCLK_SEL = "txusr")) then + TX_XCLK_SEL_BINARY <= '1'; + elsif((TX_XCLK_SEL = "TXOUT") or (TX_XCLK_SEL= "txout")) then + TX_XCLK_SEL_BINARY <= '0'; + else + assert FALSE report "Error : TX_XCLK_SEL = is not TXUSR, TXOUT." severity error; + end if; + -- end case; + case CPLL_FBDIV_45 is + when 5 => CPLL_FBDIV_45_BINARY <= '1'; + when 4 => CPLL_FBDIV_45_BINARY <= '0'; + when others => assert FALSE report "Error : CPLL_FBDIV_45 is not in range 4 .. 5." severity error; + end case; + case RX_INT_DATAWIDTH is + when 0 => RX_INT_DATAWIDTH_BINARY <= '0'; + when 1 => RX_INT_DATAWIDTH_BINARY <= '1'; + when others => assert FALSE report "Error : RX_INT_DATAWIDTH is not in range 0 .. 1." severity error; + end case; + case TX_INT_DATAWIDTH is + when 0 => TX_INT_DATAWIDTH_BINARY <= '0'; + when 1 => TX_INT_DATAWIDTH_BINARY <= '1'; + when others => assert FALSE report "Error : TX_INT_DATAWIDTH is not in range 0 .. 1." severity error; + end case; + if ((ALIGN_COMMA_WORD >= 1) and (ALIGN_COMMA_WORD <= 4)) then + ALIGN_COMMA_WORD_BINARY <= CONV_STD_LOGIC_VECTOR(ALIGN_COMMA_WORD, 3); + else + assert FALSE report "Error : ALIGN_COMMA_WORD is not in range 1 .. 4." severity error; + end if; + if ((CHAN_BOND_MAX_SKEW >= 1) and (CHAN_BOND_MAX_SKEW <= 14)) then + CHAN_BOND_MAX_SKEW_BINARY <= CONV_STD_LOGIC_VECTOR(CHAN_BOND_MAX_SKEW, 4); + else + assert FALSE report "Error : CHAN_BOND_MAX_SKEW is not in range 1 .. 14." severity error; + end if; + if ((CHAN_BOND_SEQ_LEN >= 1) and (CHAN_BOND_SEQ_LEN <= 4)) then + CHAN_BOND_SEQ_LEN_BINARY <= CONV_STD_LOGIC_VECTOR(CHAN_BOND_SEQ_LEN, 2); + else + assert FALSE report "Error : CHAN_BOND_SEQ_LEN is not in range 1 .. 4." severity error; + end if; + if ((CLK_COR_MAX_LAT >= 3) and (CLK_COR_MAX_LAT <= 60)) then + CLK_COR_MAX_LAT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_MAX_LAT, 6); + else + assert FALSE report "Error : CLK_COR_MAX_LAT is not in range 3 .. 60." severity error; + end if; + if ((CLK_COR_MIN_LAT >= 3) and (CLK_COR_MIN_LAT <= 60)) then + CLK_COR_MIN_LAT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_MIN_LAT, 6); + else + assert FALSE report "Error : CLK_COR_MIN_LAT is not in range 3 .. 60." severity error; + end if; + if ((CLK_COR_REPEAT_WAIT >= 0) and (CLK_COR_REPEAT_WAIT <= 31)) then + CLK_COR_REPEAT_WAIT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_REPEAT_WAIT, 5); + else + assert FALSE report "Error : CLK_COR_REPEAT_WAIT is not in range 0 .. 31." severity error; + end if; + if ((CLK_COR_SEQ_LEN >= 1) and (CLK_COR_SEQ_LEN <= 4)) then + CLK_COR_SEQ_LEN_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_SEQ_LEN, 2); + else + assert FALSE report "Error : CLK_COR_SEQ_LEN is not in range 1 .. 4." severity error; + end if; + if ((CPLL_FBDIV >= 1) and (CPLL_FBDIV <= 20)) then + CPLL_FBDIV_BINARY <= CONV_STD_LOGIC_VECTOR(CPLL_FBDIV, 7); + else + assert FALSE report "Error : CPLL_FBDIV is not in range 1 .. 20." severity error; + end if; + if ((CPLL_REFCLK_DIV >= 1) and (CPLL_REFCLK_DIV <= 20)) then + CPLL_REFCLK_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(CPLL_REFCLK_DIV, 5); + else + assert FALSE report "Error : CPLL_REFCLK_DIV is not in range 1 .. 20." severity error; + end if; + if ((RXBUF_THRESH_OVFLW >= 0) and (RXBUF_THRESH_OVFLW <= 63)) then + RXBUF_THRESH_OVFLW_BINARY <= CONV_STD_LOGIC_VECTOR(RXBUF_THRESH_OVFLW, 6); + else + assert FALSE report "Error : RXBUF_THRESH_OVFLW is not in range 0 .. 63." severity error; + end if; + if ((RXBUF_THRESH_UNDFLW >= 0) and (RXBUF_THRESH_UNDFLW <= 63)) then + RXBUF_THRESH_UNDFLW_BINARY <= CONV_STD_LOGIC_VECTOR(RXBUF_THRESH_UNDFLW, 6); + else + assert FALSE report "Error : RXBUF_THRESH_UNDFLW is not in range 0 .. 63." severity error; + end if; + if ((RXOUT_DIV >= 1) and (RXOUT_DIV <= 16)) then + RXOUT_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(RXOUT_DIV, 3); + else + assert FALSE report "Error : RXOUT_DIV is not in range 1 .. 16." severity error; + end if; + if ((RXSLIDE_AUTO_WAIT >= 0) and (RXSLIDE_AUTO_WAIT <= 15)) then + RXSLIDE_AUTO_WAIT_BINARY <= CONV_STD_LOGIC_VECTOR(RXSLIDE_AUTO_WAIT, 4); + else + assert FALSE report "Error : RXSLIDE_AUTO_WAIT is not in range 0 .. 15." severity error; + end if; + if ((RX_CLK25_DIV >= 1) and (RX_CLK25_DIV <= 32)) then + RX_CLK25_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(RX_CLK25_DIV, 5); + else + assert FALSE report "Error : RX_CLK25_DIV is not in range 1 .. 32." severity error; + end if; + if ((RX_DATA_WIDTH >= 16) and (RX_DATA_WIDTH <= 80)) then + RX_DATA_WIDTH_BINARY <= CONV_STD_LOGIC_VECTOR(RX_DATA_WIDTH, 3); + else + assert FALSE report "Error : RX_DATA_WIDTH is not in range 16 .. 80." severity error; + end if; + if ((RX_SIG_VALID_DLY >= 1) and (RX_SIG_VALID_DLY <= 32)) then + RX_SIG_VALID_DLY_BINARY <= CONV_STD_LOGIC_VECTOR(RX_SIG_VALID_DLY, 5); + else + assert FALSE report "Error : RX_SIG_VALID_DLY is not in range 1 .. 32." severity error; + end if; + if ((SAS_MAX_COM >= 1) and (SAS_MAX_COM <= 127)) then + SAS_MAX_COM_BINARY <= CONV_STD_LOGIC_VECTOR(SAS_MAX_COM, 7); + else + assert FALSE report "Error : SAS_MAX_COM is not in range 1 .. 127." severity error; + end if; + if ((SAS_MIN_COM >= 1) and (SAS_MIN_COM <= 63)) then + SAS_MIN_COM_BINARY <= CONV_STD_LOGIC_VECTOR(SAS_MIN_COM, 6); + else + assert FALSE report "Error : SAS_MIN_COM is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_BURST >= 1) and (SATA_MAX_BURST <= 63)) then + SATA_MAX_BURST_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_BURST, 6); + else + assert FALSE report "Error : SATA_MAX_BURST is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_INIT >= 1) and (SATA_MAX_INIT <= 63)) then + SATA_MAX_INIT_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_INIT, 6); + else + assert FALSE report "Error : SATA_MAX_INIT is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_WAKE >= 1) and (SATA_MAX_WAKE <= 63)) then + SATA_MAX_WAKE_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_WAKE, 6); + else + assert FALSE report "Error : SATA_MAX_WAKE is not in range 1 .. 63." severity error; + end if; + if ((SATA_MIN_BURST >= 1) and (SATA_MIN_BURST <= 61)) then + SATA_MIN_BURST_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_BURST, 6); + else + assert FALSE report "Error : SATA_MIN_BURST is not in range 1 .. 61." severity error; + end if; + if ((SATA_MIN_INIT >= 1) and (SATA_MIN_INIT <= 63)) then + SATA_MIN_INIT_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_INIT, 6); + else + assert FALSE report "Error : SATA_MIN_INIT is not in range 1 .. 63." severity error; + end if; + if ((SATA_MIN_WAKE >= 1) and (SATA_MIN_WAKE <= 63)) then + SATA_MIN_WAKE_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_WAKE, 6); + else + assert FALSE report "Error : SATA_MIN_WAKE is not in range 1 .. 63." severity error; + end if; + if ((TXOUT_DIV >= 1) and (TXOUT_DIV <= 16)) then + TXOUT_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(TXOUT_DIV, 3); + else + assert FALSE report "Error : TXOUT_DIV is not in range 1 .. 16." severity error; + end if; + if ((TX_CLK25_DIV >= 1) and (TX_CLK25_DIV <= 32)) then + TX_CLK25_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(TX_CLK25_DIV, 5); + else + assert FALSE report "Error : TX_CLK25_DIV is not in range 1 .. 32." severity error; + end if; + if ((TX_DATA_WIDTH >= 16) and (TX_DATA_WIDTH <= 80)) then + TX_DATA_WIDTH_BINARY <= CONV_STD_LOGIC_VECTOR(TX_DATA_WIDTH, 3); + else + assert FALSE report "Error : TX_DATA_WIDTH is not in range 16 .. 80." severity error; + end if; + wait; + end process INIPROC; + CPLLFBCLKLOST <= CPLLFBCLKLOST_out; + CPLLLOCK <= CPLLLOCK_out; + CPLLREFCLKLOST <= CPLLREFCLKLOST_out; + DMONITOROUT <= DMONITOROUT_out; + DRPDO <= DRPDO_out; + DRPRDY <= DRPRDY_out; + EYESCANDATAERROR <= EYESCANDATAERROR_out; + GTHTXN <= GTHTXN_out; + GTHTXP <= GTHTXP_out; + GTREFCLKMONITOR <= GTREFCLKMONITOR_out; + PCSRSVDOUT <= PCSRSVDOUT_out; + PHYSTATUS <= PHYSTATUS_out; + RSOSINTDONE <= RSOSINTDONE_out; + RXBUFSTATUS <= RXBUFSTATUS_out; + RXBYTEISALIGNED <= RXBYTEISALIGNED_out; + RXBYTEREALIGN <= RXBYTEREALIGN_out; + RXCDRLOCK <= RXCDRLOCK_out; + RXCHANBONDSEQ <= RXCHANBONDSEQ_out; + RXCHANISALIGNED <= RXCHANISALIGNED_out; + RXCHANREALIGN <= RXCHANREALIGN_out; + RXCHARISCOMMA <= RXCHARISCOMMA_out; + RXCHARISK <= RXCHARISK_out; + RXCHBONDO <= RXCHBONDO_out; + RXCLKCORCNT <= RXCLKCORCNT_out; + RXCOMINITDET <= RXCOMINITDET_out; + RXCOMMADET <= RXCOMMADET_out; + RXCOMSASDET <= RXCOMSASDET_out; + RXCOMWAKEDET <= RXCOMWAKEDET_out; + RXDATA <= RXDATA_out; + RXDATAVALID <= RXDATAVALID_out; + RXDFESLIDETAPSTARTED <= RXDFESLIDETAPSTARTED_out; + RXDFESLIDETAPSTROBEDONE <= RXDFESLIDETAPSTROBEDONE_out; + RXDFESLIDETAPSTROBESTARTED <= RXDFESLIDETAPSTROBESTARTED_out; + RXDFESTADAPTDONE <= RXDFESTADAPTDONE_out; + RXDISPERR <= RXDISPERR_out; + RXDLYSRESETDONE <= RXDLYSRESETDONE_out; + RXELECIDLE <= RXELECIDLE_out; + RXHEADER <= RXHEADER_out; + RXHEADERVALID <= RXHEADERVALID_out; + RXMONITOROUT <= RXMONITOROUT_out; + RXNOTINTABLE <= RXNOTINTABLE_out; + RXOSINTSTARTED <= RXOSINTSTARTED_out; + RXOSINTSTROBEDONE <= RXOSINTSTROBEDONE_out; + RXOSINTSTROBESTARTED <= RXOSINTSTROBESTARTED_out; + RXOUTCLK <= RXOUTCLK_out; + RXOUTCLKFABRIC <= RXOUTCLKFABRIC_out; + RXOUTCLKPCS <= RXOUTCLKPCS_out; + RXPHALIGNDONE <= RXPHALIGNDONE_out; + RXPHMONITOR <= RXPHMONITOR_out; + RXPHSLIPMONITOR <= RXPHSLIPMONITOR_out; + RXPMARESETDONE <= RXPMARESETDONE_out; + RXPRBSERR <= RXPRBSERR_out; + RXQPISENN <= RXQPISENN_out; + RXQPISENP <= RXQPISENP_out; + RXRATEDONE <= RXRATEDONE_out; + RXRESETDONE <= RXRESETDONE_out; + RXSTARTOFSEQ <= RXSTARTOFSEQ_out; + RXSTATUS <= RXSTATUS_out; + RXSYNCDONE <= RXSYNCDONE_out; + RXSYNCOUT <= RXSYNCOUT_out; + RXVALID <= RXVALID_out; + TXBUFSTATUS <= TXBUFSTATUS_out; + TXCOMFINISH <= TXCOMFINISH_out; + TXDLYSRESETDONE <= TXDLYSRESETDONE_out; + TXGEARBOXREADY <= TXGEARBOXREADY_out; + TXOUTCLK <= TXOUTCLK_out; + TXOUTCLKFABRIC <= TXOUTCLKFABRIC_out; + TXOUTCLKPCS <= TXOUTCLKPCS_out; + TXPHALIGNDONE <= TXPHALIGNDONE_out; + TXPHINITDONE <= TXPHINITDONE_out; + TXPMARESETDONE <= TXPMARESETDONE_out; + TXQPISENN <= TXQPISENN_out; + TXQPISENP <= TXQPISENP_out; + TXRATEDONE <= TXRATEDONE_out; + TXRESETDONE <= TXRESETDONE_out; + TXSYNCDONE <= TXSYNCDONE_out; + TXSYNCOUT <= TXSYNCOUT_out; + end GTHE2_CHANNEL_FAST_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTXE2_CHANNEL.vhd b/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTXE2_CHANNEL.vhd new file mode 100644 index 0000000..b1b8077 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unifast/secureip/GTXE2_CHANNEL.vhd @@ -0,0 +1,3301 @@ +------------------------------------------------------- +-- Copyright (c) 2010 Xilinx Inc. +-- All Right Reserved. +------------------------------------------------------- +-- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 11.1 +-- \ \ Description : Xilinx Simulation Library Component +-- / / +-- /___/ /\ Filename : GTXE2_CHANNEL.vhd +-- \ \ / \ +-- \__ \/\__ \ +-- +-- Revision: 1.0 +-- 11/10/09 - CR - Initial version +-- 11/20/09 - CR - Attribute updates in YML +-- 04/27/10 - CR - YML update +-- 05/26/10 - CR561562 - SATA_CPLL_CFG attribute bug fixed +-- 06/17/10 - CR564909 - Complete VHDL support, YML & RTL updates +-- 08/05/10 - C569019 - gtxe2 yml and secureip update +-- 09/15/10 - CR575512 - gtxe2 yml and secureip update +-- 01/09/11 - CR582278,579504,588137, 591741 - GTXE2 YML/secureip update +-- 05/09/11 - CR608414- Attribute name YML update +-- 09/07/11 - CR624062 - YML update +-- 10/17/12 - 682802 - convert GSR H/L to 1/0 +-- 01/23/13 - Added DRP monitor (CR 695630). +-- 06/19/14 - PR785721 - IS_*INVERTED update from std_ulogic to bit +------------------------------------------------------- + +----- CELL GTXE2_CHANNEL ----- + +library IEEE; +use IEEE.STD_LOGIC_arith.all; +use IEEE.STD_LOGIC_1164.all; + +library unisim; +use unisim.VCOMPONENTS.all; +use unisim.vpkg.all; + +library secureip; +use secureip.all; + + entity GTXE2_CHANNEL is + generic ( + ALIGN_COMMA_DOUBLE : string := "FALSE"; + ALIGN_COMMA_ENABLE : bit_vector := "0001111111"; + ALIGN_COMMA_WORD : integer := 1; + ALIGN_MCOMMA_DET : string := "TRUE"; + ALIGN_MCOMMA_VALUE : bit_vector := "1010000011"; + ALIGN_PCOMMA_DET : string := "TRUE"; + ALIGN_PCOMMA_VALUE : bit_vector := "0101111100"; + CBCC_DATA_SOURCE_SEL : string := "DECODED"; + CHAN_BOND_KEEP_ALIGN : string := "FALSE"; + CHAN_BOND_MAX_SKEW : integer := 7; + CHAN_BOND_SEQ_1_1 : bit_vector := "0101111100"; + CHAN_BOND_SEQ_1_2 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_3 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_4 : bit_vector := "0000000000"; + CHAN_BOND_SEQ_1_ENABLE : bit_vector := "1111"; + CHAN_BOND_SEQ_2_1 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_2 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_3 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_4 : bit_vector := "0100000000"; + CHAN_BOND_SEQ_2_ENABLE : bit_vector := "1111"; + CHAN_BOND_SEQ_2_USE : string := "FALSE"; + CHAN_BOND_SEQ_LEN : integer := 1; + CLK_CORRECT_USE : string := "TRUE"; + CLK_COR_KEEP_IDLE : string := "FALSE"; + CLK_COR_MAX_LAT : integer := 20; + CLK_COR_MIN_LAT : integer := 18; + CLK_COR_PRECEDENCE : string := "TRUE"; + CLK_COR_REPEAT_WAIT : integer := 0; + CLK_COR_SEQ_1_1 : bit_vector := "0100011100"; + CLK_COR_SEQ_1_2 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_3 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_4 : bit_vector := "0000000000"; + CLK_COR_SEQ_1_ENABLE : bit_vector := "1111"; + CLK_COR_SEQ_2_1 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_2 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_3 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_4 : bit_vector := "0100000000"; + CLK_COR_SEQ_2_ENABLE : bit_vector := "1111"; + CLK_COR_SEQ_2_USE : string := "FALSE"; + CLK_COR_SEQ_LEN : integer := 1; + CPLL_CFG : bit_vector := X"B007D8"; + CPLL_FBDIV : integer := 4; + CPLL_FBDIV_45 : integer := 5; + CPLL_INIT_CFG : bit_vector := X"00001E"; + CPLL_LOCK_CFG : bit_vector := X"01E8"; + CPLL_REFCLK_DIV : integer := 1; + DEC_MCOMMA_DETECT : string := "TRUE"; + DEC_PCOMMA_DETECT : string := "TRUE"; + DEC_VALID_COMMA_ONLY : string := "TRUE"; + DMONITOR_CFG : bit_vector := X"000A00"; + ES_CONTROL : bit_vector := "000000"; + ES_ERRDET_EN : string := "FALSE"; + ES_EYE_SCAN_EN : string := "FALSE"; + ES_HORZ_OFFSET : bit_vector := X"000"; + ES_PMA_CFG : bit_vector := "0000000000"; + ES_PRESCALE : bit_vector := "00000"; + ES_QUALIFIER : bit_vector := X"00000000000000000000"; + ES_QUAL_MASK : bit_vector := X"00000000000000000000"; + ES_SDATA_MASK : bit_vector := X"00000000000000000000"; + ES_VERT_OFFSET : bit_vector := "000000000"; + FTS_DESKEW_SEQ_ENABLE : bit_vector := "1111"; + FTS_LANE_DESKEW_CFG : bit_vector := "1111"; + FTS_LANE_DESKEW_EN : string := "FALSE"; + GEARBOX_MODE : bit_vector := "000"; + IS_CPLLLOCKDETCLK_INVERTED : bit := '0'; + IS_DRPCLK_INVERTED : bit := '0'; + IS_GTGREFCLK_INVERTED : bit := '0'; + IS_RXUSRCLK2_INVERTED : bit := '0'; + IS_RXUSRCLK_INVERTED : bit := '0'; + IS_TXPHDLYTSTCLK_INVERTED : bit := '0'; + IS_TXUSRCLK2_INVERTED : bit := '0'; + IS_TXUSRCLK_INVERTED : bit := '0'; + OUTREFCLK_SEL_INV : bit_vector := "11"; + PCS_PCIE_EN : string := "FALSE"; + PCS_RSVD_ATTR : bit_vector := X"000000000000"; + PD_TRANS_TIME_FROM_P2 : bit_vector := X"03C"; + PD_TRANS_TIME_NONE_P2 : bit_vector := X"19"; + PD_TRANS_TIME_TO_P2 : bit_vector := X"64"; + PMA_RSV : bit_vector := X"00000000"; + PMA_RSV2 : bit_vector := X"2050"; + PMA_RSV3 : bit_vector := "00"; + PMA_RSV4 : bit_vector := X"00000000"; + RXBUFRESET_TIME : bit_vector := "00001"; + RXBUF_ADDR_MODE : string := "FULL"; + RXBUF_EIDLE_HI_CNT : bit_vector := "1000"; + RXBUF_EIDLE_LO_CNT : bit_vector := "0000"; + RXBUF_EN : string := "TRUE"; + RXBUF_RESET_ON_CB_CHANGE : string := "TRUE"; + RXBUF_RESET_ON_COMMAALIGN : string := "FALSE"; + RXBUF_RESET_ON_EIDLE : string := "FALSE"; + RXBUF_RESET_ON_RATE_CHANGE : string := "TRUE"; + RXBUF_THRESH_OVFLW : integer := 61; + RXBUF_THRESH_OVRD : string := "FALSE"; + RXBUF_THRESH_UNDFLW : integer := 4; + RXCDRFREQRESET_TIME : bit_vector := "00001"; + RXCDRPHRESET_TIME : bit_vector := "00001"; + RXCDR_CFG : bit_vector := X"0B000023FF20400020"; + RXCDR_FR_RESET_ON_EIDLE : bit := '0'; + RXCDR_HOLD_DURING_EIDLE : bit := '0'; + RXCDR_LOCK_CFG : bit_vector := "010101"; + RXCDR_PH_RESET_ON_EIDLE : bit := '0'; + RXDFELPMRESET_TIME : bit_vector := "0001111"; + RXDLY_CFG : bit_vector := X"001F"; + RXDLY_LCFG : bit_vector := X"030"; + RXDLY_TAP_CFG : bit_vector := X"0000"; + RXGEARBOX_EN : string := "FALSE"; + RXISCANRESET_TIME : bit_vector := "00001"; + RXLPM_HF_CFG : bit_vector := "00000011110000"; + RXLPM_LF_CFG : bit_vector := "00000011110000"; + RXOOB_CFG : bit_vector := "0000110"; + RXOUT_DIV : integer := 2; + RXPCSRESET_TIME : bit_vector := "00001"; + RXPHDLY_CFG : bit_vector := X"084020"; + RXPH_CFG : bit_vector := X"000000"; + RXPH_MONITOR_SEL : bit_vector := "00000"; + RXPMARESET_TIME : bit_vector := "00011"; + RXPRBS_ERR_LOOPBACK : bit := '0'; + RXSLIDE_AUTO_WAIT : integer := 7; + RXSLIDE_MODE : string := "OFF"; + RX_BIAS_CFG : bit_vector := "000000000000"; + RX_BUFFER_CFG : bit_vector := "000000"; + RX_CLK25_DIV : integer := 7; + RX_CLKMUX_PD : bit := '1'; + RX_CM_SEL : bit_vector := "11"; + RX_CM_TRIM : bit_vector := "100"; + RX_DATA_WIDTH : integer := 20; + RX_DDI_SEL : bit_vector := "000000"; + RX_DEBUG_CFG : bit_vector := "000000000000"; + RX_DEFER_RESET_BUF_EN : string := "TRUE"; + RX_DFE_GAIN_CFG : bit_vector := X"180E0F"; + RX_DFE_H2_CFG : bit_vector := "000111100000"; + RX_DFE_H3_CFG : bit_vector := "000111100000"; + RX_DFE_H4_CFG : bit_vector := "00011110000"; + RX_DFE_H5_CFG : bit_vector := "00011110000"; + RX_DFE_KL_CFG : bit_vector := "0001111110000"; + RX_DFE_KL_CFG2 : bit_vector := X"3008E56A"; + RX_DFE_LPM_CFG : bit_vector := X"0904"; + RX_DFE_LPM_HOLD_DURING_EIDLE : bit := '0'; + RX_DFE_UT_CFG : bit_vector := "00111111000000000"; + RX_DFE_VP_CFG : bit_vector := "00011111100000000"; + RX_DFE_XYD_CFG : bit_vector := "0000000010000"; + RX_DISPERR_SEQ_MATCH : string := "TRUE"; + RX_INT_DATAWIDTH : integer := 0; + RX_OS_CFG : bit_vector := "0001111110000"; + RX_SIG_VALID_DLY : integer := 10; + RX_XCLK_SEL : string := "RXREC"; + SAS_MAX_COM : integer := 64; + SAS_MIN_COM : integer := 36; + SATA_BURST_SEQ_LEN : bit_vector := "1111"; + SATA_BURST_VAL : bit_vector := "100"; + SATA_CPLL_CFG : string := "VCO_3000MHZ"; + SATA_EIDLE_VAL : bit_vector := "100"; + SATA_MAX_BURST : integer := 8; + SATA_MAX_INIT : integer := 21; + SATA_MAX_WAKE : integer := 7; + SATA_MIN_BURST : integer := 4; + SATA_MIN_INIT : integer := 12; + SATA_MIN_WAKE : integer := 4; + SHOW_REALIGN_COMMA : string := "TRUE"; + SIM_CPLLREFCLK_SEL : bit_vector := "001"; + SIM_RECEIVER_DETECT_PASS : string := "TRUE"; + SIM_RESET_SPEEDUP : string := "TRUE"; + SIM_TX_EIDLE_DRIVE_LEVEL : string := "X"; + SIM_VERSION : string := "4.0"; + TERM_RCAL_CFG : bit_vector := "10000"; + TERM_RCAL_OVRD : bit := '0'; + TRANS_TIME_RATE : bit_vector := X"0E"; + TST_RSV : bit_vector := X"00000000"; + TXBUF_EN : string := "TRUE"; + TXBUF_RESET_ON_RATE_CHANGE : string := "FALSE"; + TXDLY_CFG : bit_vector := X"001F"; + TXDLY_LCFG : bit_vector := X"030"; + TXDLY_TAP_CFG : bit_vector := X"0000"; + TXGEARBOX_EN : string := "FALSE"; + TXOUT_DIV : integer := 2; + TXPCSRESET_TIME : bit_vector := "00001"; + TXPHDLY_CFG : bit_vector := X"084020"; + TXPH_CFG : bit_vector := X"0780"; + TXPH_MONITOR_SEL : bit_vector := "00000"; + TXPMARESET_TIME : bit_vector := "00001"; + TX_CLK25_DIV : integer := 7; + TX_CLKMUX_PD : bit := '1'; + TX_DATA_WIDTH : integer := 20; + TX_DEEMPH0 : bit_vector := "00000"; + TX_DEEMPH1 : bit_vector := "00000"; + TX_DRIVE_MODE : string := "DIRECT"; + TX_EIDLE_ASSERT_DELAY : bit_vector := "110"; + TX_EIDLE_DEASSERT_DELAY : bit_vector := "100"; + TX_INT_DATAWIDTH : integer := 0; + TX_LOOPBACK_DRIVE_HIZ : string := "FALSE"; + TX_MAINCURSOR_SEL : bit := '0'; + TX_MARGIN_FULL_0 : bit_vector := "1001110"; + TX_MARGIN_FULL_1 : bit_vector := "1001001"; + TX_MARGIN_FULL_2 : bit_vector := "1000101"; + TX_MARGIN_FULL_3 : bit_vector := "1000010"; + TX_MARGIN_FULL_4 : bit_vector := "1000000"; + TX_MARGIN_LOW_0 : bit_vector := "1000110"; + TX_MARGIN_LOW_1 : bit_vector := "1000100"; + TX_MARGIN_LOW_2 : bit_vector := "1000010"; + TX_MARGIN_LOW_3 : bit_vector := "1000000"; + TX_MARGIN_LOW_4 : bit_vector := "1000000"; + TX_PREDRIVER_MODE : bit := '0'; + TX_QPI_STATUS_EN : bit := '0'; + TX_RXDETECT_CFG : bit_vector := X"1832"; + TX_RXDETECT_REF : bit_vector := "100"; + TX_XCLK_SEL : string := "TXUSR"; + UCODEER_CLR : bit := '0' + ); + + port ( + CPLLFBCLKLOST : out std_ulogic; + CPLLLOCK : out std_ulogic; + CPLLREFCLKLOST : out std_ulogic; + DMONITOROUT : out std_logic_vector(7 downto 0); + DRPDO : out std_logic_vector(15 downto 0); + DRPRDY : out std_ulogic; + EYESCANDATAERROR : out std_ulogic; + GTREFCLKMONITOR : out std_ulogic; + GTXTXN : out std_ulogic; + GTXTXP : out std_ulogic; + PCSRSVDOUT : out std_logic_vector(15 downto 0); + PHYSTATUS : out std_ulogic; + RXBUFSTATUS : out std_logic_vector(2 downto 0); + RXBYTEISALIGNED : out std_ulogic; + RXBYTEREALIGN : out std_ulogic; + RXCDRLOCK : out std_ulogic; + RXCHANBONDSEQ : out std_ulogic; + RXCHANISALIGNED : out std_ulogic; + RXCHANREALIGN : out std_ulogic; + RXCHARISCOMMA : out std_logic_vector(7 downto 0); + RXCHARISK : out std_logic_vector(7 downto 0); + RXCHBONDO : out std_logic_vector(4 downto 0); + RXCLKCORCNT : out std_logic_vector(1 downto 0); + RXCOMINITDET : out std_ulogic; + RXCOMMADET : out std_ulogic; + RXCOMSASDET : out std_ulogic; + RXCOMWAKEDET : out std_ulogic; + RXDATA : out std_logic_vector(63 downto 0); + RXDATAVALID : out std_ulogic; + RXDISPERR : out std_logic_vector(7 downto 0); + RXDLYSRESETDONE : out std_ulogic; + RXELECIDLE : out std_ulogic; + RXHEADER : out std_logic_vector(2 downto 0); + RXHEADERVALID : out std_ulogic; + RXMONITOROUT : out std_logic_vector(6 downto 0); + RXNOTINTABLE : out std_logic_vector(7 downto 0); + RXOUTCLK : out std_ulogic; + RXOUTCLKFABRIC : out std_ulogic; + RXOUTCLKPCS : out std_ulogic; + RXPHALIGNDONE : out std_ulogic; + RXPHMONITOR : out std_logic_vector(4 downto 0); + RXPHSLIPMONITOR : out std_logic_vector(4 downto 0); + RXPRBSERR : out std_ulogic; + RXQPISENN : out std_ulogic; + RXQPISENP : out std_ulogic; + RXRATEDONE : out std_ulogic; + RXRESETDONE : out std_ulogic; + RXSTARTOFSEQ : out std_ulogic; + RXSTATUS : out std_logic_vector(2 downto 0); + RXVALID : out std_ulogic; + TSTOUT : out std_logic_vector(9 downto 0); + TXBUFSTATUS : out std_logic_vector(1 downto 0); + TXCOMFINISH : out std_ulogic; + TXDLYSRESETDONE : out std_ulogic; + TXGEARBOXREADY : out std_ulogic; + TXOUTCLK : out std_ulogic; + TXOUTCLKFABRIC : out std_ulogic; + TXOUTCLKPCS : out std_ulogic; + TXPHALIGNDONE : out std_ulogic; + TXPHINITDONE : out std_ulogic; + TXQPISENN : out std_ulogic; + TXQPISENP : out std_ulogic; + TXRATEDONE : out std_ulogic; + TXRESETDONE : out std_ulogic; + CFGRESET : in std_ulogic; + CLKRSVD : in std_logic_vector(3 downto 0); + CPLLLOCKDETCLK : in std_ulogic; + CPLLLOCKEN : in std_ulogic; + CPLLPD : in std_ulogic; + CPLLREFCLKSEL : in std_logic_vector(2 downto 0); + CPLLRESET : in std_ulogic; + DRPADDR : in std_logic_vector(8 downto 0); + DRPCLK : in std_ulogic; + DRPDI : in std_logic_vector(15 downto 0); + DRPEN : in std_ulogic; + DRPWE : in std_ulogic; + EYESCANMODE : in std_ulogic; + EYESCANRESET : in std_ulogic; + EYESCANTRIGGER : in std_ulogic; + GTGREFCLK : in std_ulogic; + GTNORTHREFCLK0 : in std_ulogic; + GTNORTHREFCLK1 : in std_ulogic; + GTREFCLK0 : in std_ulogic; + GTREFCLK1 : in std_ulogic; + GTRESETSEL : in std_ulogic; + GTRSVD : in std_logic_vector(15 downto 0); + GTRXRESET : in std_ulogic; + GTSOUTHREFCLK0 : in std_ulogic; + GTSOUTHREFCLK1 : in std_ulogic; + GTTXRESET : in std_ulogic; + GTXRXN : in std_ulogic; + GTXRXP : in std_ulogic; + LOOPBACK : in std_logic_vector(2 downto 0); + PCSRSVDIN : in std_logic_vector(15 downto 0); + PCSRSVDIN2 : in std_logic_vector(4 downto 0); + PMARSVDIN : in std_logic_vector(4 downto 0); + PMARSVDIN2 : in std_logic_vector(4 downto 0); + QPLLCLK : in std_ulogic; + QPLLREFCLK : in std_ulogic; + RESETOVRD : in std_ulogic; + RX8B10BEN : in std_ulogic; + RXBUFRESET : in std_ulogic; + RXCDRFREQRESET : in std_ulogic; + RXCDRHOLD : in std_ulogic; + RXCDROVRDEN : in std_ulogic; + RXCDRRESET : in std_ulogic; + RXCDRRESETRSV : in std_ulogic; + RXCHBONDEN : in std_ulogic; + RXCHBONDI : in std_logic_vector(4 downto 0); + RXCHBONDLEVEL : in std_logic_vector(2 downto 0); + RXCHBONDMASTER : in std_ulogic; + RXCHBONDSLAVE : in std_ulogic; + RXCOMMADETEN : in std_ulogic; + RXDDIEN : in std_ulogic; + RXDFEAGCHOLD : in std_ulogic; + RXDFEAGCOVRDEN : in std_ulogic; + RXDFECM1EN : in std_ulogic; + RXDFELFHOLD : in std_ulogic; + RXDFELFOVRDEN : in std_ulogic; + RXDFELPMRESET : in std_ulogic; + RXDFETAP2HOLD : in std_ulogic; + RXDFETAP2OVRDEN : in std_ulogic; + RXDFETAP3HOLD : in std_ulogic; + RXDFETAP3OVRDEN : in std_ulogic; + RXDFETAP4HOLD : in std_ulogic; + RXDFETAP4OVRDEN : in std_ulogic; + RXDFETAP5HOLD : in std_ulogic; + RXDFETAP5OVRDEN : in std_ulogic; + RXDFEUTHOLD : in std_ulogic; + RXDFEUTOVRDEN : in std_ulogic; + RXDFEVPHOLD : in std_ulogic; + RXDFEVPOVRDEN : in std_ulogic; + RXDFEVSEN : in std_ulogic; + RXDFEXYDEN : in std_ulogic; + RXDFEXYDHOLD : in std_ulogic; + RXDFEXYDOVRDEN : in std_ulogic; + RXDLYBYPASS : in std_ulogic; + RXDLYEN : in std_ulogic; + RXDLYOVRDEN : in std_ulogic; + RXDLYSRESET : in std_ulogic; + RXELECIDLEMODE : in std_logic_vector(1 downto 0); + RXGEARBOXSLIP : in std_ulogic; + RXLPMEN : in std_ulogic; + RXLPMHFHOLD : in std_ulogic; + RXLPMHFOVRDEN : in std_ulogic; + RXLPMLFHOLD : in std_ulogic; + RXLPMLFKLOVRDEN : in std_ulogic; + RXMCOMMAALIGNEN : in std_ulogic; + RXMONITORSEL : in std_logic_vector(1 downto 0); + RXOOBRESET : in std_ulogic; + RXOSHOLD : in std_ulogic; + RXOSOVRDEN : in std_ulogic; + RXOUTCLKSEL : in std_logic_vector(2 downto 0); + RXPCOMMAALIGNEN : in std_ulogic; + RXPCSRESET : in std_ulogic; + RXPD : in std_logic_vector(1 downto 0); + RXPHALIGN : in std_ulogic; + RXPHALIGNEN : in std_ulogic; + RXPHDLYPD : in std_ulogic; + RXPHDLYRESET : in std_ulogic; + RXPHOVRDEN : in std_ulogic; + RXPMARESET : in std_ulogic; + RXPOLARITY : in std_ulogic; + RXPRBSCNTRESET : in std_ulogic; + RXPRBSSEL : in std_logic_vector(2 downto 0); + RXQPIEN : in std_ulogic; + RXRATE : in std_logic_vector(2 downto 0); + RXSLIDE : in std_ulogic; + RXSYSCLKSEL : in std_logic_vector(1 downto 0); + RXUSERRDY : in std_ulogic; + RXUSRCLK : in std_ulogic; + RXUSRCLK2 : in std_ulogic; + SETERRSTATUS : in std_ulogic; + TSTIN : in std_logic_vector(19 downto 0); + TX8B10BBYPASS : in std_logic_vector(7 downto 0); + TX8B10BEN : in std_ulogic; + TXBUFDIFFCTRL : in std_logic_vector(2 downto 0); + TXCHARDISPMODE : in std_logic_vector(7 downto 0); + TXCHARDISPVAL : in std_logic_vector(7 downto 0); + TXCHARISK : in std_logic_vector(7 downto 0); + TXCOMINIT : in std_ulogic; + TXCOMSAS : in std_ulogic; + TXCOMWAKE : in std_ulogic; + TXDATA : in std_logic_vector(63 downto 0); + TXDEEMPH : in std_ulogic; + TXDETECTRX : in std_ulogic; + TXDIFFCTRL : in std_logic_vector(3 downto 0); + TXDIFFPD : in std_ulogic; + TXDLYBYPASS : in std_ulogic; + TXDLYEN : in std_ulogic; + TXDLYHOLD : in std_ulogic; + TXDLYOVRDEN : in std_ulogic; + TXDLYSRESET : in std_ulogic; + TXDLYUPDOWN : in std_ulogic; + TXELECIDLE : in std_ulogic; + TXHEADER : in std_logic_vector(2 downto 0); + TXINHIBIT : in std_ulogic; + TXMAINCURSOR : in std_logic_vector(6 downto 0); + TXMARGIN : in std_logic_vector(2 downto 0); + TXOUTCLKSEL : in std_logic_vector(2 downto 0); + TXPCSRESET : in std_ulogic; + TXPD : in std_logic_vector(1 downto 0); + TXPDELECIDLEMODE : in std_ulogic; + TXPHALIGN : in std_ulogic; + TXPHALIGNEN : in std_ulogic; + TXPHDLYPD : in std_ulogic; + TXPHDLYRESET : in std_ulogic; + TXPHDLYTSTCLK : in std_ulogic; + TXPHINIT : in std_ulogic; + TXPHOVRDEN : in std_ulogic; + TXPISOPD : in std_ulogic; + TXPMARESET : in std_ulogic; + TXPOLARITY : in std_ulogic; + TXPOSTCURSOR : in std_logic_vector(4 downto 0); + TXPOSTCURSORINV : in std_ulogic; + TXPRBSFORCEERR : in std_ulogic; + TXPRBSSEL : in std_logic_vector(2 downto 0); + TXPRECURSOR : in std_logic_vector(4 downto 0); + TXPRECURSORINV : in std_ulogic; + TXQPIBIASEN : in std_ulogic; + TXQPISTRONGPDOWN : in std_ulogic; + TXQPIWEAKPUP : in std_ulogic; + TXRATE : in std_logic_vector(2 downto 0); + TXSEQUENCE : in std_logic_vector(6 downto 0); + TXSTARTSEQ : in std_ulogic; + TXSWING : in std_ulogic; + TXSYSCLKSEL : in std_logic_vector(1 downto 0); + TXUSERRDY : in std_ulogic; + TXUSRCLK : in std_ulogic; + TXUSRCLK2 : in std_ulogic + ); + end GTXE2_CHANNEL; + + architecture GTXE2_CHANNEL_FAST_V of GTXE2_CHANNEL is + component GTXE2_CHANNEL_FAST_WRAP + generic ( + ALIGN_COMMA_DOUBLE : string; + ALIGN_COMMA_ENABLE : string; + ALIGN_COMMA_WORD : integer; + ALIGN_MCOMMA_DET : string; + ALIGN_MCOMMA_VALUE : string; + ALIGN_PCOMMA_DET : string; + ALIGN_PCOMMA_VALUE : string; + CBCC_DATA_SOURCE_SEL : string; + CHAN_BOND_KEEP_ALIGN : string; + CHAN_BOND_MAX_SKEW : integer; + CHAN_BOND_SEQ_1_1 : string; + CHAN_BOND_SEQ_1_2 : string; + CHAN_BOND_SEQ_1_3 : string; + CHAN_BOND_SEQ_1_4 : string; + CHAN_BOND_SEQ_1_ENABLE : string; + CHAN_BOND_SEQ_2_1 : string; + CHAN_BOND_SEQ_2_2 : string; + CHAN_BOND_SEQ_2_3 : string; + CHAN_BOND_SEQ_2_4 : string; + CHAN_BOND_SEQ_2_ENABLE : string; + CHAN_BOND_SEQ_2_USE : string; + CHAN_BOND_SEQ_LEN : integer; + CLK_CORRECT_USE : string; + CLK_COR_KEEP_IDLE : string; + CLK_COR_MAX_LAT : integer; + CLK_COR_MIN_LAT : integer; + CLK_COR_PRECEDENCE : string; + CLK_COR_REPEAT_WAIT : integer; + CLK_COR_SEQ_1_1 : string; + CLK_COR_SEQ_1_2 : string; + CLK_COR_SEQ_1_3 : string; + CLK_COR_SEQ_1_4 : string; + CLK_COR_SEQ_1_ENABLE : string; + CLK_COR_SEQ_2_1 : string; + CLK_COR_SEQ_2_2 : string; + CLK_COR_SEQ_2_3 : string; + CLK_COR_SEQ_2_4 : string; + CLK_COR_SEQ_2_ENABLE : string; + CLK_COR_SEQ_2_USE : string; + CLK_COR_SEQ_LEN : integer; + CPLL_CFG : string; + CPLL_FBDIV : integer; + CPLL_FBDIV_45 : integer; + CPLL_INIT_CFG : string; + CPLL_LOCK_CFG : string; + CPLL_REFCLK_DIV : integer; + DEC_MCOMMA_DETECT : string; + DEC_PCOMMA_DETECT : string; + DEC_VALID_COMMA_ONLY : string; + DMONITOR_CFG : string; + ES_CONTROL : string; + ES_ERRDET_EN : string; + ES_EYE_SCAN_EN : string; + ES_HORZ_OFFSET : string; + ES_PMA_CFG : string; + ES_PRESCALE : string; + ES_QUALIFIER : string; + ES_QUAL_MASK : string; + ES_SDATA_MASK : string; + ES_VERT_OFFSET : string; + FTS_DESKEW_SEQ_ENABLE : string; + FTS_LANE_DESKEW_CFG : string; + FTS_LANE_DESKEW_EN : string; + GEARBOX_MODE : string; + OUTREFCLK_SEL_INV : string; + PCS_PCIE_EN : string; + PCS_RSVD_ATTR : string; + PD_TRANS_TIME_FROM_P2 : string; + PD_TRANS_TIME_NONE_P2 : string; + PD_TRANS_TIME_TO_P2 : string; + PMA_RSV : string; + PMA_RSV2 : string; + PMA_RSV3 : string; + PMA_RSV4 : string; + RXBUFRESET_TIME : string; + RXBUF_ADDR_MODE : string; + RXBUF_EIDLE_HI_CNT : string; + RXBUF_EIDLE_LO_CNT : string; + RXBUF_EN : string; + RXBUF_RESET_ON_CB_CHANGE : string; + RXBUF_RESET_ON_COMMAALIGN : string; + RXBUF_RESET_ON_EIDLE : string; + RXBUF_RESET_ON_RATE_CHANGE : string; + RXBUF_THRESH_OVFLW : integer; + RXBUF_THRESH_OVRD : string; + RXBUF_THRESH_UNDFLW : integer; + RXCDRFREQRESET_TIME : string; + RXCDRPHRESET_TIME : string; + RXCDR_CFG : string; + RXCDR_FR_RESET_ON_EIDLE : string; + RXCDR_HOLD_DURING_EIDLE : string; + RXCDR_LOCK_CFG : string; + RXCDR_PH_RESET_ON_EIDLE : string; + RXDFELPMRESET_TIME : string; + RXDLY_CFG : string; + RXDLY_LCFG : string; + RXDLY_TAP_CFG : string; + RXGEARBOX_EN : string; + RXISCANRESET_TIME : string; + RXLPM_HF_CFG : string; + RXLPM_LF_CFG : string; + RXOOB_CFG : string; + RXOUT_DIV : integer; + RXPCSRESET_TIME : string; + RXPHDLY_CFG : string; + RXPH_CFG : string; + RXPH_MONITOR_SEL : string; + RXPMARESET_TIME : string; + RXPRBS_ERR_LOOPBACK : string; + RXSLIDE_AUTO_WAIT : integer; + RXSLIDE_MODE : string; + RX_BIAS_CFG : string; + RX_BUFFER_CFG : string; + RX_CLK25_DIV : integer; + RX_CLKMUX_PD : string; + RX_CM_SEL : string; + RX_CM_TRIM : string; + RX_DATA_WIDTH : integer; + RX_DDI_SEL : string; + RX_DEBUG_CFG : string; + RX_DEFER_RESET_BUF_EN : string; + RX_DFE_GAIN_CFG : string; + RX_DFE_H2_CFG : string; + RX_DFE_H3_CFG : string; + RX_DFE_H4_CFG : string; + RX_DFE_H5_CFG : string; + RX_DFE_KL_CFG : string; + RX_DFE_KL_CFG2 : string; + RX_DFE_LPM_CFG : string; + RX_DFE_LPM_HOLD_DURING_EIDLE : string; + RX_DFE_UT_CFG : string; + RX_DFE_VP_CFG : string; + RX_DFE_XYD_CFG : string; + RX_DISPERR_SEQ_MATCH : string; + RX_INT_DATAWIDTH : integer; + RX_OS_CFG : string; + RX_SIG_VALID_DLY : integer; + RX_XCLK_SEL : string; + SAS_MAX_COM : integer; + SAS_MIN_COM : integer; + SATA_BURST_SEQ_LEN : string; + SATA_BURST_VAL : string; + SATA_CPLL_CFG : string; + SATA_EIDLE_VAL : string; + SATA_MAX_BURST : integer; + SATA_MAX_INIT : integer; + SATA_MAX_WAKE : integer; + SATA_MIN_BURST : integer; + SATA_MIN_INIT : integer; + SATA_MIN_WAKE : integer; + SHOW_REALIGN_COMMA : string; + SIM_CPLLREFCLK_SEL : string; + SIM_RECEIVER_DETECT_PASS : string; + SIM_RESET_SPEEDUP : string; + SIM_TX_EIDLE_DRIVE_LEVEL : string; + SIM_VERSION : string; + TERM_RCAL_CFG : string; + TERM_RCAL_OVRD : string; + TRANS_TIME_RATE : string; + TST_RSV : string; + TXBUF_EN : string; + TXBUF_RESET_ON_RATE_CHANGE : string; + TXDLY_CFG : string; + TXDLY_LCFG : string; + TXDLY_TAP_CFG : string; + TXGEARBOX_EN : string; + TXOUT_DIV : integer; + TXPCSRESET_TIME : string; + TXPHDLY_CFG : string; + TXPH_CFG : string; + TXPH_MONITOR_SEL : string; + TXPMARESET_TIME : string; + TX_CLK25_DIV : integer; + TX_CLKMUX_PD : string; + TX_DATA_WIDTH : integer; + TX_DEEMPH0 : string; + TX_DEEMPH1 : string; + TX_DRIVE_MODE : string; + TX_EIDLE_ASSERT_DELAY : string; + TX_EIDLE_DEASSERT_DELAY : string; + TX_INT_DATAWIDTH : integer; + TX_LOOPBACK_DRIVE_HIZ : string; + TX_MAINCURSOR_SEL : string; + TX_MARGIN_FULL_0 : string; + TX_MARGIN_FULL_1 : string; + TX_MARGIN_FULL_2 : string; + TX_MARGIN_FULL_3 : string; + TX_MARGIN_FULL_4 : string; + TX_MARGIN_LOW_0 : string; + TX_MARGIN_LOW_1 : string; + TX_MARGIN_LOW_2 : string; + TX_MARGIN_LOW_3 : string; + TX_MARGIN_LOW_4 : string; + TX_PREDRIVER_MODE : string; + TX_QPI_STATUS_EN : string; + TX_RXDETECT_CFG : string; + TX_RXDETECT_REF : string; + TX_XCLK_SEL : string; + UCODEER_CLR : string + ); + + port ( + CPLLFBCLKLOST : out std_ulogic; + CPLLLOCK : out std_ulogic; + CPLLREFCLKLOST : out std_ulogic; + DMONITOROUT : out std_logic_vector(7 downto 0); + DRPDO : out std_logic_vector(15 downto 0); + DRPRDY : out std_ulogic; + EYESCANDATAERROR : out std_ulogic; + GTREFCLKMONITOR : out std_ulogic; + GTXTXN : out std_ulogic; + GTXTXP : out std_ulogic; + PCSRSVDOUT : out std_logic_vector(15 downto 0); + PHYSTATUS : out std_ulogic; + RXBUFSTATUS : out std_logic_vector(2 downto 0); + RXBYTEISALIGNED : out std_ulogic; + RXBYTEREALIGN : out std_ulogic; + RXCDRLOCK : out std_ulogic; + RXCHANBONDSEQ : out std_ulogic; + RXCHANISALIGNED : out std_ulogic; + RXCHANREALIGN : out std_ulogic; + RXCHARISCOMMA : out std_logic_vector(7 downto 0); + RXCHARISK : out std_logic_vector(7 downto 0); + RXCHBONDO : out std_logic_vector(4 downto 0); + RXCLKCORCNT : out std_logic_vector(1 downto 0); + RXCOMINITDET : out std_ulogic; + RXCOMMADET : out std_ulogic; + RXCOMSASDET : out std_ulogic; + RXCOMWAKEDET : out std_ulogic; + RXDATA : out std_logic_vector(63 downto 0); + RXDATAVALID : out std_ulogic; + RXDISPERR : out std_logic_vector(7 downto 0); + RXDLYSRESETDONE : out std_ulogic; + RXELECIDLE : out std_ulogic; + RXHEADER : out std_logic_vector(2 downto 0); + RXHEADERVALID : out std_ulogic; + RXMONITOROUT : out std_logic_vector(6 downto 0); + RXNOTINTABLE : out std_logic_vector(7 downto 0); + RXOUTCLK : out std_ulogic; + RXOUTCLKFABRIC : out std_ulogic; + RXOUTCLKPCS : out std_ulogic; + RXPHALIGNDONE : out std_ulogic; + RXPHMONITOR : out std_logic_vector(4 downto 0); + RXPHSLIPMONITOR : out std_logic_vector(4 downto 0); + RXPRBSERR : out std_ulogic; + RXQPISENN : out std_ulogic; + RXQPISENP : out std_ulogic; + RXRATEDONE : out std_ulogic; + RXRESETDONE : out std_ulogic; + RXSTARTOFSEQ : out std_ulogic; + RXSTATUS : out std_logic_vector(2 downto 0); + RXVALID : out std_ulogic; + TSTOUT : out std_logic_vector(9 downto 0); + TXBUFSTATUS : out std_logic_vector(1 downto 0); + TXCOMFINISH : out std_ulogic; + TXDLYSRESETDONE : out std_ulogic; + TXGEARBOXREADY : out std_ulogic; + TXOUTCLK : out std_ulogic; + TXOUTCLKFABRIC : out std_ulogic; + TXOUTCLKPCS : out std_ulogic; + TXPHALIGNDONE : out std_ulogic; + TXPHINITDONE : out std_ulogic; + TXQPISENN : out std_ulogic; + TXQPISENP : out std_ulogic; + TXRATEDONE : out std_ulogic; + TXRESETDONE : out std_ulogic; + + GSR : in std_ulogic; + CFGRESET : in std_ulogic; + CLKRSVD : in std_logic_vector(3 downto 0); + CPLLLOCKDETCLK : in std_ulogic; + CPLLLOCKEN : in std_ulogic; + CPLLPD : in std_ulogic; + CPLLREFCLKSEL : in std_logic_vector(2 downto 0); + CPLLRESET : in std_ulogic; + DRPADDR : in std_logic_vector(8 downto 0); + DRPCLK : in std_ulogic; + DRPDI : in std_logic_vector(15 downto 0); + DRPEN : in std_ulogic; + DRPWE : in std_ulogic; + EYESCANMODE : in std_ulogic; + EYESCANRESET : in std_ulogic; + EYESCANTRIGGER : in std_ulogic; + GTGREFCLK : in std_ulogic; + GTNORTHREFCLK0 : in std_ulogic; + GTNORTHREFCLK1 : in std_ulogic; + GTREFCLK0 : in std_ulogic; + GTREFCLK1 : in std_ulogic; + GTRESETSEL : in std_ulogic; + GTRSVD : in std_logic_vector(15 downto 0); + GTRXRESET : in std_ulogic; + GTSOUTHREFCLK0 : in std_ulogic; + GTSOUTHREFCLK1 : in std_ulogic; + GTTXRESET : in std_ulogic; + GTXRXN : in std_ulogic; + GTXRXP : in std_ulogic; + LOOPBACK : in std_logic_vector(2 downto 0); + PCSRSVDIN : in std_logic_vector(15 downto 0); + PCSRSVDIN2 : in std_logic_vector(4 downto 0); + PMARSVDIN : in std_logic_vector(4 downto 0); + PMARSVDIN2 : in std_logic_vector(4 downto 0); + QPLLCLK : in std_ulogic; + QPLLREFCLK : in std_ulogic; + RESETOVRD : in std_ulogic; + RX8B10BEN : in std_ulogic; + RXBUFRESET : in std_ulogic; + RXCDRFREQRESET : in std_ulogic; + RXCDRHOLD : in std_ulogic; + RXCDROVRDEN : in std_ulogic; + RXCDRRESET : in std_ulogic; + RXCDRRESETRSV : in std_ulogic; + RXCHBONDEN : in std_ulogic; + RXCHBONDI : in std_logic_vector(4 downto 0); + RXCHBONDLEVEL : in std_logic_vector(2 downto 0); + RXCHBONDMASTER : in std_ulogic; + RXCHBONDSLAVE : in std_ulogic; + RXCOMMADETEN : in std_ulogic; + RXDDIEN : in std_ulogic; + RXDFEAGCHOLD : in std_ulogic; + RXDFEAGCOVRDEN : in std_ulogic; + RXDFECM1EN : in std_ulogic; + RXDFELFHOLD : in std_ulogic; + RXDFELFOVRDEN : in std_ulogic; + RXDFELPMRESET : in std_ulogic; + RXDFETAP2HOLD : in std_ulogic; + RXDFETAP2OVRDEN : in std_ulogic; + RXDFETAP3HOLD : in std_ulogic; + RXDFETAP3OVRDEN : in std_ulogic; + RXDFETAP4HOLD : in std_ulogic; + RXDFETAP4OVRDEN : in std_ulogic; + RXDFETAP5HOLD : in std_ulogic; + RXDFETAP5OVRDEN : in std_ulogic; + RXDFEUTHOLD : in std_ulogic; + RXDFEUTOVRDEN : in std_ulogic; + RXDFEVPHOLD : in std_ulogic; + RXDFEVPOVRDEN : in std_ulogic; + RXDFEVSEN : in std_ulogic; + RXDFEXYDEN : in std_ulogic; + RXDFEXYDHOLD : in std_ulogic; + RXDFEXYDOVRDEN : in std_ulogic; + RXDLYBYPASS : in std_ulogic; + RXDLYEN : in std_ulogic; + RXDLYOVRDEN : in std_ulogic; + RXDLYSRESET : in std_ulogic; + RXELECIDLEMODE : in std_logic_vector(1 downto 0); + RXGEARBOXSLIP : in std_ulogic; + RXLPMEN : in std_ulogic; + RXLPMHFHOLD : in std_ulogic; + RXLPMHFOVRDEN : in std_ulogic; + RXLPMLFHOLD : in std_ulogic; + RXLPMLFKLOVRDEN : in std_ulogic; + RXMCOMMAALIGNEN : in std_ulogic; + RXMONITORSEL : in std_logic_vector(1 downto 0); + RXOOBRESET : in std_ulogic; + RXOSHOLD : in std_ulogic; + RXOSOVRDEN : in std_ulogic; + RXOUTCLKSEL : in std_logic_vector(2 downto 0); + RXPCOMMAALIGNEN : in std_ulogic; + RXPCSRESET : in std_ulogic; + RXPD : in std_logic_vector(1 downto 0); + RXPHALIGN : in std_ulogic; + RXPHALIGNEN : in std_ulogic; + RXPHDLYPD : in std_ulogic; + RXPHDLYRESET : in std_ulogic; + RXPHOVRDEN : in std_ulogic; + RXPMARESET : in std_ulogic; + RXPOLARITY : in std_ulogic; + RXPRBSCNTRESET : in std_ulogic; + RXPRBSSEL : in std_logic_vector(2 downto 0); + RXQPIEN : in std_ulogic; + RXRATE : in std_logic_vector(2 downto 0); + RXSLIDE : in std_ulogic; + RXSYSCLKSEL : in std_logic_vector(1 downto 0); + RXUSERRDY : in std_ulogic; + RXUSRCLK : in std_ulogic; + RXUSRCLK2 : in std_ulogic; + SETERRSTATUS : in std_ulogic; + TSTIN : in std_logic_vector(19 downto 0); + TX8B10BBYPASS : in std_logic_vector(7 downto 0); + TX8B10BEN : in std_ulogic; + TXBUFDIFFCTRL : in std_logic_vector(2 downto 0); + TXCHARDISPMODE : in std_logic_vector(7 downto 0); + TXCHARDISPVAL : in std_logic_vector(7 downto 0); + TXCHARISK : in std_logic_vector(7 downto 0); + TXCOMINIT : in std_ulogic; + TXCOMSAS : in std_ulogic; + TXCOMWAKE : in std_ulogic; + TXDATA : in std_logic_vector(63 downto 0); + TXDEEMPH : in std_ulogic; + TXDETECTRX : in std_ulogic; + TXDIFFCTRL : in std_logic_vector(3 downto 0); + TXDIFFPD : in std_ulogic; + TXDLYBYPASS : in std_ulogic; + TXDLYEN : in std_ulogic; + TXDLYHOLD : in std_ulogic; + TXDLYOVRDEN : in std_ulogic; + TXDLYSRESET : in std_ulogic; + TXDLYUPDOWN : in std_ulogic; + TXELECIDLE : in std_ulogic; + TXHEADER : in std_logic_vector(2 downto 0); + TXINHIBIT : in std_ulogic; + TXMAINCURSOR : in std_logic_vector(6 downto 0); + TXMARGIN : in std_logic_vector(2 downto 0); + TXOUTCLKSEL : in std_logic_vector(2 downto 0); + TXPCSRESET : in std_ulogic; + TXPD : in std_logic_vector(1 downto 0); + TXPDELECIDLEMODE : in std_ulogic; + TXPHALIGN : in std_ulogic; + TXPHALIGNEN : in std_ulogic; + TXPHDLYPD : in std_ulogic; + TXPHDLYRESET : in std_ulogic; + TXPHDLYTSTCLK : in std_ulogic; + TXPHINIT : in std_ulogic; + TXPHOVRDEN : in std_ulogic; + TXPISOPD : in std_ulogic; + TXPMARESET : in std_ulogic; + TXPOLARITY : in std_ulogic; + TXPOSTCURSOR : in std_logic_vector(4 downto 0); + TXPOSTCURSORINV : in std_ulogic; + TXPRBSFORCEERR : in std_ulogic; + TXPRBSSEL : in std_logic_vector(2 downto 0); + TXPRECURSOR : in std_logic_vector(4 downto 0); + TXPRECURSORINV : in std_ulogic; + TXQPIBIASEN : in std_ulogic; + TXQPISTRONGPDOWN : in std_ulogic; + TXQPIWEAKPUP : in std_ulogic; + TXRATE : in std_logic_vector(2 downto 0); + TXSEQUENCE : in std_logic_vector(6 downto 0); + TXSTARTSEQ : in std_ulogic; + TXSWING : in std_ulogic; + TXSYSCLKSEL : in std_logic_vector(1 downto 0); + TXUSERRDY : in std_ulogic; + TXUSRCLK : in std_ulogic; + TXUSRCLK2 : in std_ulogic + ); + end component; + + constant IN_DELAY : time := 0 ps; + constant OUT_DELAY : time := 0 ps; + constant INCLK_DELAY : time := 0 ps; + constant OUTCLK_DELAY : time := 0 ps; + + function SUL_TO_STR (sul : std_ulogic) + return string is + begin + if sul = '0' then + return "0"; + else + return "1"; + end if; + end SUL_TO_STR; + + function boolean_to_string(bool: boolean) + return string is + begin + if bool then + return "TRUE"; + else + return "FALSE"; + end if; + end boolean_to_string; + + function getstrlength(in_vec : std_logic_vector) + return integer is + variable string_length : integer; + begin + if ((in_vec'length mod 4) = 0) then + string_length := in_vec'length/4; + elsif ((in_vec'length mod 4) > 0) then + string_length := in_vec'length/4 + 1; + end if; + return string_length; + end getstrlength; + + -- Convert bit_vector to std_logic_vector + constant ALIGN_COMMA_ENABLE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_COMMA_ENABLE)(9 downto 0); + constant ALIGN_MCOMMA_VALUE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_MCOMMA_VALUE)(9 downto 0); + constant ALIGN_PCOMMA_VALUE_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ALIGN_PCOMMA_VALUE)(9 downto 0); + constant CHAN_BOND_SEQ_1_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_1)(9 downto 0); + constant CHAN_BOND_SEQ_1_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_2)(9 downto 0); + constant CHAN_BOND_SEQ_1_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_3)(9 downto 0); + constant CHAN_BOND_SEQ_1_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_4)(9 downto 0); + constant CHAN_BOND_SEQ_1_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_1_ENABLE)(3 downto 0); + constant CHAN_BOND_SEQ_2_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_1)(9 downto 0); + constant CHAN_BOND_SEQ_2_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_2)(9 downto 0); + constant CHAN_BOND_SEQ_2_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_3)(9 downto 0); + constant CHAN_BOND_SEQ_2_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_4)(9 downto 0); + constant CHAN_BOND_SEQ_2_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CHAN_BOND_SEQ_2_ENABLE)(3 downto 0); + constant CLK_COR_SEQ_1_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_1)(9 downto 0); + constant CLK_COR_SEQ_1_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_2)(9 downto 0); + constant CLK_COR_SEQ_1_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_3)(9 downto 0); + constant CLK_COR_SEQ_1_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_4)(9 downto 0); + constant CLK_COR_SEQ_1_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CLK_COR_SEQ_1_ENABLE)(3 downto 0); + constant CLK_COR_SEQ_2_1_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_1)(9 downto 0); + constant CLK_COR_SEQ_2_2_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_2)(9 downto 0); + constant CLK_COR_SEQ_2_3_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_3)(9 downto 0); + constant CLK_COR_SEQ_2_4_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_4)(9 downto 0); + constant CLK_COR_SEQ_2_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(CLK_COR_SEQ_2_ENABLE)(3 downto 0); + constant CPLL_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(CPLL_CFG)(23 downto 0); + constant CPLL_INIT_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(CPLL_INIT_CFG)(23 downto 0); + constant CPLL_LOCK_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(CPLL_LOCK_CFG)(15 downto 0); + constant DMONITOR_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(DMONITOR_CFG)(23 downto 0); + constant ES_CONTROL_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(ES_CONTROL)(5 downto 0); + constant ES_HORZ_OFFSET_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(ES_HORZ_OFFSET)(11 downto 0); + constant ES_PMA_CFG_BINARY : std_logic_vector(9 downto 0) := To_StdLogicVector(ES_PMA_CFG)(9 downto 0); + constant ES_PRESCALE_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(ES_PRESCALE)(4 downto 0); + constant ES_QUALIFIER_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_QUALIFIER)(79 downto 0); + constant ES_QUAL_MASK_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_QUAL_MASK)(79 downto 0); + constant ES_SDATA_MASK_BINARY : std_logic_vector(79 downto 0) := To_StdLogicVector(ES_SDATA_MASK)(79 downto 0); + constant ES_VERT_OFFSET_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(ES_VERT_OFFSET)(8 downto 0); + constant FTS_DESKEW_SEQ_ENABLE_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(FTS_DESKEW_SEQ_ENABLE)(3 downto 0); + constant FTS_LANE_DESKEW_CFG_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(FTS_LANE_DESKEW_CFG)(3 downto 0); + constant GEARBOX_MODE_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(GEARBOX_MODE)(2 downto 0); + constant OUTREFCLK_SEL_INV_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(OUTREFCLK_SEL_INV)(1 downto 0); + constant PCS_RSVD_ATTR_BINARY : std_logic_vector(47 downto 0) := To_StdLogicVector(PCS_RSVD_ATTR)(47 downto 0); + constant PD_TRANS_TIME_FROM_P2_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(PD_TRANS_TIME_FROM_P2)(11 downto 0); + constant PD_TRANS_TIME_NONE_P2_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(PD_TRANS_TIME_NONE_P2)(7 downto 0); + constant PD_TRANS_TIME_TO_P2_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(PD_TRANS_TIME_TO_P2)(7 downto 0); + constant PMA_RSV2_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(PMA_RSV2)(15 downto 0); + constant PMA_RSV3_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(PMA_RSV3)(1 downto 0); + constant PMA_RSV4_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(PMA_RSV4)(31 downto 0); + constant PMA_RSV_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(PMA_RSV)(31 downto 0); + constant RXBUFRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXBUFRESET_TIME)(4 downto 0); + constant RXBUF_EIDLE_HI_CNT_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RXBUF_EIDLE_HI_CNT)(3 downto 0); + constant RXBUF_EIDLE_LO_CNT_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(RXBUF_EIDLE_LO_CNT)(3 downto 0); + constant RXCDRFREQRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXCDRFREQRESET_TIME)(4 downto 0); + constant RXCDRPHRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXCDRPHRESET_TIME)(4 downto 0); + constant RXCDR_CFG_BINARY : std_logic_vector(71 downto 0) := To_StdLogicVector(RXCDR_CFG)(71 downto 0); + constant RXCDR_FR_RESET_ON_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_FR_RESET_ON_EIDLE); + constant RXCDR_HOLD_DURING_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_HOLD_DURING_EIDLE); + constant RXCDR_LOCK_CFG_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RXCDR_LOCK_CFG)(5 downto 0); + constant RXCDR_PH_RESET_ON_EIDLE_BINARY : std_ulogic := To_StduLogic(RXCDR_PH_RESET_ON_EIDLE); + constant RXDFELPMRESET_TIME_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(RXDFELPMRESET_TIME)(6 downto 0); + constant RXDLY_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RXDLY_CFG)(15 downto 0); + constant RXDLY_LCFG_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(RXDLY_LCFG)(8 downto 0); + constant RXDLY_TAP_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RXDLY_TAP_CFG)(15 downto 0); + constant RXISCANRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXISCANRESET_TIME)(4 downto 0); + constant RXLPM_HF_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(RXLPM_HF_CFG)(13 downto 0); + constant RXLPM_LF_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(RXLPM_LF_CFG)(13 downto 0); + constant RXOOB_CFG_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(RXOOB_CFG)(6 downto 0); + constant RXPCSRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPCSRESET_TIME)(4 downto 0); + constant RXPHDLY_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(RXPHDLY_CFG)(23 downto 0); + constant RXPH_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(RXPH_CFG)(23 downto 0); + constant RXPH_MONITOR_SEL_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPH_MONITOR_SEL)(4 downto 0); + constant RXPMARESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(RXPMARESET_TIME)(4 downto 0); + constant RXPRBS_ERR_LOOPBACK_BINARY : std_ulogic := To_StduLogic(RXPRBS_ERR_LOOPBACK); + constant RX_BIAS_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_BIAS_CFG)(11 downto 0); + constant RX_BUFFER_CFG_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RX_BUFFER_CFG)(5 downto 0); + constant RX_CLKMUX_PD_BINARY : std_ulogic := To_StduLogic(RX_CLKMUX_PD); + constant RX_CM_SEL_BINARY : std_logic_vector(1 downto 0) := To_StdLogicVector(RX_CM_SEL)(1 downto 0); + constant RX_CM_TRIM_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(RX_CM_TRIM)(2 downto 0); + constant RX_DDI_SEL_BINARY : std_logic_vector(5 downto 0) := To_StdLogicVector(RX_DDI_SEL)(5 downto 0); + constant RX_DEBUG_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_DEBUG_CFG)(11 downto 0); + constant RX_DFE_GAIN_CFG_BINARY : std_logic_vector(22 downto 0) := To_StdLogicVector(RX_DFE_GAIN_CFG)(22 downto 0); + constant RX_DFE_H2_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_DFE_H2_CFG)(11 downto 0); + constant RX_DFE_H3_CFG_BINARY : std_logic_vector(11 downto 0) := To_StdLogicVector(RX_DFE_H3_CFG)(11 downto 0); + constant RX_DFE_H4_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H4_CFG)(10 downto 0); + constant RX_DFE_H5_CFG_BINARY : std_logic_vector(10 downto 0) := To_StdLogicVector(RX_DFE_H5_CFG)(10 downto 0); + constant RX_DFE_KL_CFG2_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(RX_DFE_KL_CFG2)(31 downto 0); + constant RX_DFE_KL_CFG_BINARY : std_logic_vector(12 downto 0) := To_StdLogicVector(RX_DFE_KL_CFG)(12 downto 0); + constant RX_DFE_LPM_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(RX_DFE_LPM_CFG)(15 downto 0); + constant RX_DFE_LPM_HOLD_DURING_EIDLE_BINARY : std_ulogic := To_StduLogic(RX_DFE_LPM_HOLD_DURING_EIDLE); + constant RX_DFE_UT_CFG_BINARY : std_logic_vector(16 downto 0) := To_StdLogicVector(RX_DFE_UT_CFG)(16 downto 0); + constant RX_DFE_VP_CFG_BINARY : std_logic_vector(16 downto 0) := To_StdLogicVector(RX_DFE_VP_CFG)(16 downto 0); + constant RX_DFE_XYD_CFG_BINARY : std_logic_vector(12 downto 0) := To_StdLogicVector(RX_DFE_XYD_CFG)(12 downto 0); + constant RX_OS_CFG_BINARY : std_logic_vector(12 downto 0) := To_StdLogicVector(RX_OS_CFG)(12 downto 0); + constant SATA_BURST_SEQ_LEN_BINARY : std_logic_vector(3 downto 0) := To_StdLogicVector(SATA_BURST_SEQ_LEN)(3 downto 0); + constant SATA_BURST_VAL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SATA_BURST_VAL)(2 downto 0); + constant SATA_EIDLE_VAL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SATA_EIDLE_VAL)(2 downto 0); + constant SIM_CPLLREFCLK_SEL_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(SIM_CPLLREFCLK_SEL)(2 downto 0); + constant TERM_RCAL_CFG_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TERM_RCAL_CFG)(4 downto 0); + constant TERM_RCAL_OVRD_BINARY : std_ulogic := To_StduLogic(TERM_RCAL_OVRD); + constant TRANS_TIME_RATE_BINARY : std_logic_vector(7 downto 0) := To_StdLogicVector(TRANS_TIME_RATE)(7 downto 0); + constant TST_RSV_BINARY : std_logic_vector(31 downto 0) := To_StdLogicVector(TST_RSV)(31 downto 0); + constant TXDLY_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXDLY_CFG)(15 downto 0); + constant TXDLY_LCFG_BINARY : std_logic_vector(8 downto 0) := To_StdLogicVector(TXDLY_LCFG)(8 downto 0); + constant TXDLY_TAP_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXDLY_TAP_CFG)(15 downto 0); + constant TXPCSRESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPCSRESET_TIME)(4 downto 0); + constant TXPHDLY_CFG_BINARY : std_logic_vector(23 downto 0) := To_StdLogicVector(TXPHDLY_CFG)(23 downto 0); + constant TXPH_CFG_BINARY : std_logic_vector(15 downto 0) := To_StdLogicVector(TXPH_CFG)(15 downto 0); + constant TXPH_MONITOR_SEL_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPH_MONITOR_SEL)(4 downto 0); + constant TXPMARESET_TIME_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TXPMARESET_TIME)(4 downto 0); + constant TX_CLKMUX_PD_BINARY : std_ulogic := To_StduLogic(TX_CLKMUX_PD); + constant TX_DEEMPH0_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TX_DEEMPH0)(4 downto 0); + constant TX_DEEMPH1_BINARY : std_logic_vector(4 downto 0) := To_StdLogicVector(TX_DEEMPH1)(4 downto 0); + constant TX_EIDLE_ASSERT_DELAY_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_EIDLE_ASSERT_DELAY)(2 downto 0); + constant TX_EIDLE_DEASSERT_DELAY_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_EIDLE_DEASSERT_DELAY)(2 downto 0); + constant TX_MAINCURSOR_SEL_BINARY : std_ulogic := To_StduLogic(TX_MAINCURSOR_SEL); + constant TX_MARGIN_FULL_0_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_0)(6 downto 0); + constant TX_MARGIN_FULL_1_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_1)(6 downto 0); + constant TX_MARGIN_FULL_2_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_2)(6 downto 0); + constant TX_MARGIN_FULL_3_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_3)(6 downto 0); + constant TX_MARGIN_FULL_4_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_FULL_4)(6 downto 0); + constant TX_MARGIN_LOW_0_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_0)(6 downto 0); + constant TX_MARGIN_LOW_1_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_1)(6 downto 0); + constant TX_MARGIN_LOW_2_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_2)(6 downto 0); + constant TX_MARGIN_LOW_3_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_3)(6 downto 0); + constant TX_MARGIN_LOW_4_BINARY : std_logic_vector(6 downto 0) := To_StdLogicVector(TX_MARGIN_LOW_4)(6 downto 0); + constant TX_PREDRIVER_MODE_BINARY : std_ulogic := To_StduLogic(TX_PREDRIVER_MODE); + constant TX_QPI_STATUS_EN_BINARY : std_ulogic := To_StduLogic(TX_QPI_STATUS_EN); + constant TX_RXDETECT_CFG_BINARY : std_logic_vector(13 downto 0) := To_StdLogicVector(TX_RXDETECT_CFG)(13 downto 0); + constant TX_RXDETECT_REF_BINARY : std_logic_vector(2 downto 0) := To_StdLogicVector(TX_RXDETECT_REF)(2 downto 0); + constant UCODEER_CLR_BINARY : std_ulogic := To_StduLogic(UCODEER_CLR); + + -- Get String Length + constant CPLL_CFG_STRLEN : integer := getstrlength(CPLL_CFG_BINARY); + constant CPLL_INIT_CFG_STRLEN : integer := getstrlength(CPLL_INIT_CFG_BINARY); + constant CPLL_LOCK_CFG_STRLEN : integer := getstrlength(CPLL_LOCK_CFG_BINARY); + constant DMONITOR_CFG_STRLEN : integer := getstrlength(DMONITOR_CFG_BINARY); + constant ES_HORZ_OFFSET_STRLEN : integer := getstrlength(ES_HORZ_OFFSET_BINARY); + constant ES_QUALIFIER_STRLEN : integer := getstrlength(ES_QUALIFIER_BINARY); + constant ES_QUAL_MASK_STRLEN : integer := getstrlength(ES_QUAL_MASK_BINARY); + constant ES_SDATA_MASK_STRLEN : integer := getstrlength(ES_SDATA_MASK_BINARY); + constant PCS_RSVD_ATTR_STRLEN : integer := getstrlength(PCS_RSVD_ATTR_BINARY); + constant PD_TRANS_TIME_FROM_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_FROM_P2_BINARY); + constant PD_TRANS_TIME_NONE_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_NONE_P2_BINARY); + constant PD_TRANS_TIME_TO_P2_STRLEN : integer := getstrlength(PD_TRANS_TIME_TO_P2_BINARY); + constant PMA_RSV2_STRLEN : integer := getstrlength(PMA_RSV2_BINARY); + constant PMA_RSV4_STRLEN : integer := getstrlength(PMA_RSV4_BINARY); + constant PMA_RSV_STRLEN : integer := getstrlength(PMA_RSV_BINARY); + constant RXCDR_CFG_STRLEN : integer := getstrlength(RXCDR_CFG_BINARY); + constant RXDLY_CFG_STRLEN : integer := getstrlength(RXDLY_CFG_BINARY); + constant RXDLY_LCFG_STRLEN : integer := getstrlength(RXDLY_LCFG_BINARY); + constant RXDLY_TAP_CFG_STRLEN : integer := getstrlength(RXDLY_TAP_CFG_BINARY); + constant RXPHDLY_CFG_STRLEN : integer := getstrlength(RXPHDLY_CFG_BINARY); + constant RXPH_CFG_STRLEN : integer := getstrlength(RXPH_CFG_BINARY); + constant RX_DFE_GAIN_CFG_STRLEN : integer := getstrlength(RX_DFE_GAIN_CFG_BINARY); + constant RX_DFE_KL_CFG2_STRLEN : integer := getstrlength(RX_DFE_KL_CFG2_BINARY); + constant RX_DFE_LPM_CFG_STRLEN : integer := getstrlength(RX_DFE_LPM_CFG_BINARY); + constant TRANS_TIME_RATE_STRLEN : integer := getstrlength(TRANS_TIME_RATE_BINARY); + constant TST_RSV_STRLEN : integer := getstrlength(TST_RSV_BINARY); + constant TXDLY_CFG_STRLEN : integer := getstrlength(TXDLY_CFG_BINARY); + constant TXDLY_LCFG_STRLEN : integer := getstrlength(TXDLY_LCFG_BINARY); + constant TXDLY_TAP_CFG_STRLEN : integer := getstrlength(TXDLY_TAP_CFG_BINARY); + constant TXPHDLY_CFG_STRLEN : integer := getstrlength(TXPHDLY_CFG_BINARY); + constant TXPH_CFG_STRLEN : integer := getstrlength(TXPH_CFG_BINARY); + constant TX_RXDETECT_CFG_STRLEN : integer := getstrlength(TX_RXDETECT_CFG_BINARY); + + -- Convert std_logic_vector to string + constant ALIGN_COMMA_ENABLE_STRING : string := SLV_TO_STR(ALIGN_COMMA_ENABLE_BINARY); + constant ALIGN_MCOMMA_VALUE_STRING : string := SLV_TO_STR(ALIGN_MCOMMA_VALUE_BINARY); + constant ALIGN_PCOMMA_VALUE_STRING : string := SLV_TO_STR(ALIGN_PCOMMA_VALUE_BINARY); + constant CHAN_BOND_SEQ_1_1_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_1_BINARY); + constant CHAN_BOND_SEQ_1_2_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_2_BINARY); + constant CHAN_BOND_SEQ_1_3_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_3_BINARY); + constant CHAN_BOND_SEQ_1_4_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_4_BINARY); + constant CHAN_BOND_SEQ_1_ENABLE_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_1_ENABLE_BINARY); + constant CHAN_BOND_SEQ_2_1_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_1_BINARY); + constant CHAN_BOND_SEQ_2_2_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_2_BINARY); + constant CHAN_BOND_SEQ_2_3_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_3_BINARY); + constant CHAN_BOND_SEQ_2_4_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_4_BINARY); + constant CHAN_BOND_SEQ_2_ENABLE_STRING : string := SLV_TO_STR(CHAN_BOND_SEQ_2_ENABLE_BINARY); + constant CLK_COR_SEQ_1_1_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_1_BINARY); + constant CLK_COR_SEQ_1_2_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_2_BINARY); + constant CLK_COR_SEQ_1_3_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_3_BINARY); + constant CLK_COR_SEQ_1_4_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_4_BINARY); + constant CLK_COR_SEQ_1_ENABLE_STRING : string := SLV_TO_STR(CLK_COR_SEQ_1_ENABLE_BINARY); + constant CLK_COR_SEQ_2_1_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_1_BINARY); + constant CLK_COR_SEQ_2_2_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_2_BINARY); + constant CLK_COR_SEQ_2_3_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_3_BINARY); + constant CLK_COR_SEQ_2_4_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_4_BINARY); + constant CLK_COR_SEQ_2_ENABLE_STRING : string := SLV_TO_STR(CLK_COR_SEQ_2_ENABLE_BINARY); + constant CPLL_CFG_STRING : string := SLV_TO_HEX(CPLL_CFG_BINARY, CPLL_CFG_STRLEN); + constant CPLL_INIT_CFG_STRING : string := SLV_TO_HEX(CPLL_INIT_CFG_BINARY, CPLL_INIT_CFG_STRLEN); + constant CPLL_LOCK_CFG_STRING : string := SLV_TO_HEX(CPLL_LOCK_CFG_BINARY, CPLL_LOCK_CFG_STRLEN); + constant DMONITOR_CFG_STRING : string := SLV_TO_HEX(DMONITOR_CFG_BINARY, DMONITOR_CFG_STRLEN); + constant ES_CONTROL_STRING : string := SLV_TO_STR(ES_CONTROL_BINARY); + constant ES_HORZ_OFFSET_STRING : string := SLV_TO_HEX(ES_HORZ_OFFSET_BINARY, ES_HORZ_OFFSET_STRLEN); + constant ES_PMA_CFG_STRING : string := SLV_TO_STR(ES_PMA_CFG_BINARY); + constant ES_PRESCALE_STRING : string := SLV_TO_STR(ES_PRESCALE_BINARY); + constant ES_QUALIFIER_STRING : string := SLV_TO_HEX(ES_QUALIFIER_BINARY, ES_QUALIFIER_STRLEN); + constant ES_QUAL_MASK_STRING : string := SLV_TO_HEX(ES_QUAL_MASK_BINARY, ES_QUAL_MASK_STRLEN); + constant ES_SDATA_MASK_STRING : string := SLV_TO_HEX(ES_SDATA_MASK_BINARY, ES_SDATA_MASK_STRLEN); + constant ES_VERT_OFFSET_STRING : string := SLV_TO_STR(ES_VERT_OFFSET_BINARY); + constant FTS_DESKEW_SEQ_ENABLE_STRING : string := SLV_TO_STR(FTS_DESKEW_SEQ_ENABLE_BINARY); + constant FTS_LANE_DESKEW_CFG_STRING : string := SLV_TO_STR(FTS_LANE_DESKEW_CFG_BINARY); + constant GEARBOX_MODE_STRING : string := SLV_TO_STR(GEARBOX_MODE_BINARY); + constant OUTREFCLK_SEL_INV_STRING : string := SLV_TO_STR(OUTREFCLK_SEL_INV_BINARY); + constant PCS_RSVD_ATTR_STRING : string := SLV_TO_HEX(PCS_RSVD_ATTR_BINARY, PCS_RSVD_ATTR_STRLEN); + constant PD_TRANS_TIME_FROM_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_FROM_P2_BINARY, PD_TRANS_TIME_FROM_P2_STRLEN); + constant PD_TRANS_TIME_NONE_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_NONE_P2_BINARY, PD_TRANS_TIME_NONE_P2_STRLEN); + constant PD_TRANS_TIME_TO_P2_STRING : string := SLV_TO_HEX(PD_TRANS_TIME_TO_P2_BINARY, PD_TRANS_TIME_TO_P2_STRLEN); + constant PMA_RSV2_STRING : string := SLV_TO_HEX(PMA_RSV2_BINARY, PMA_RSV2_STRLEN); + constant PMA_RSV3_STRING : string := SLV_TO_STR(PMA_RSV3_BINARY); + constant PMA_RSV4_STRING : string := SLV_TO_HEX(PMA_RSV4_BINARY, PMA_RSV4_STRLEN); + constant PMA_RSV_STRING : string := SLV_TO_HEX(PMA_RSV_BINARY, PMA_RSV_STRLEN); + constant RXBUFRESET_TIME_STRING : string := SLV_TO_STR(RXBUFRESET_TIME_BINARY); + constant RXBUF_EIDLE_HI_CNT_STRING : string := SLV_TO_STR(RXBUF_EIDLE_HI_CNT_BINARY); + constant RXBUF_EIDLE_LO_CNT_STRING : string := SLV_TO_STR(RXBUF_EIDLE_LO_CNT_BINARY); + constant RXCDRFREQRESET_TIME_STRING : string := SLV_TO_STR(RXCDRFREQRESET_TIME_BINARY); + constant RXCDRPHRESET_TIME_STRING : string := SLV_TO_STR(RXCDRPHRESET_TIME_BINARY); + constant RXCDR_CFG_STRING : string := SLV_TO_HEX(RXCDR_CFG_BINARY, RXCDR_CFG_STRLEN); + constant RXCDR_FR_RESET_ON_EIDLE_STRING : string := SUL_TO_STR(RXCDR_FR_RESET_ON_EIDLE_BINARY); + constant RXCDR_HOLD_DURING_EIDLE_STRING : string := SUL_TO_STR(RXCDR_HOLD_DURING_EIDLE_BINARY); + constant RXCDR_LOCK_CFG_STRING : string := SLV_TO_STR(RXCDR_LOCK_CFG_BINARY); + constant RXCDR_PH_RESET_ON_EIDLE_STRING : string := SUL_TO_STR(RXCDR_PH_RESET_ON_EIDLE_BINARY); + constant RXDFELPMRESET_TIME_STRING : string := SLV_TO_STR(RXDFELPMRESET_TIME_BINARY); + constant RXDLY_CFG_STRING : string := SLV_TO_HEX(RXDLY_CFG_BINARY, RXDLY_CFG_STRLEN); + constant RXDLY_LCFG_STRING : string := SLV_TO_HEX(RXDLY_LCFG_BINARY, RXDLY_LCFG_STRLEN); + constant RXDLY_TAP_CFG_STRING : string := SLV_TO_HEX(RXDLY_TAP_CFG_BINARY, RXDLY_TAP_CFG_STRLEN); + constant RXISCANRESET_TIME_STRING : string := SLV_TO_STR(RXISCANRESET_TIME_BINARY); + constant RXLPM_HF_CFG_STRING : string := SLV_TO_STR(RXLPM_HF_CFG_BINARY); + constant RXLPM_LF_CFG_STRING : string := SLV_TO_STR(RXLPM_LF_CFG_BINARY); + constant RXOOB_CFG_STRING : string := SLV_TO_STR(RXOOB_CFG_BINARY); + constant RXPCSRESET_TIME_STRING : string := SLV_TO_STR(RXPCSRESET_TIME_BINARY); + constant RXPHDLY_CFG_STRING : string := SLV_TO_HEX(RXPHDLY_CFG_BINARY, RXPHDLY_CFG_STRLEN); + constant RXPH_CFG_STRING : string := SLV_TO_HEX(RXPH_CFG_BINARY, RXPH_CFG_STRLEN); + constant RXPH_MONITOR_SEL_STRING : string := SLV_TO_STR(RXPH_MONITOR_SEL_BINARY); + constant RXPMARESET_TIME_STRING : string := SLV_TO_STR(RXPMARESET_TIME_BINARY); + constant RXPRBS_ERR_LOOPBACK_STRING : string := SUL_TO_STR(RXPRBS_ERR_LOOPBACK_BINARY); + constant RX_BIAS_CFG_STRING : string := SLV_TO_STR(RX_BIAS_CFG_BINARY); + constant RX_BUFFER_CFG_STRING : string := SLV_TO_STR(RX_BUFFER_CFG_BINARY); + constant RX_CLKMUX_PD_STRING : string := SUL_TO_STR(RX_CLKMUX_PD_BINARY); + constant RX_CM_SEL_STRING : string := SLV_TO_STR(RX_CM_SEL_BINARY); + constant RX_CM_TRIM_STRING : string := SLV_TO_STR(RX_CM_TRIM_BINARY); + constant RX_DDI_SEL_STRING : string := SLV_TO_STR(RX_DDI_SEL_BINARY); + constant RX_DEBUG_CFG_STRING : string := SLV_TO_STR(RX_DEBUG_CFG_BINARY); + constant RX_DFE_GAIN_CFG_STRING : string := SLV_TO_HEX(RX_DFE_GAIN_CFG_BINARY, RX_DFE_GAIN_CFG_STRLEN); + constant RX_DFE_H2_CFG_STRING : string := SLV_TO_STR(RX_DFE_H2_CFG_BINARY); + constant RX_DFE_H3_CFG_STRING : string := SLV_TO_STR(RX_DFE_H3_CFG_BINARY); + constant RX_DFE_H4_CFG_STRING : string := SLV_TO_STR(RX_DFE_H4_CFG_BINARY); + constant RX_DFE_H5_CFG_STRING : string := SLV_TO_STR(RX_DFE_H5_CFG_BINARY); + constant RX_DFE_KL_CFG2_STRING : string := SLV_TO_HEX(RX_DFE_KL_CFG2_BINARY, RX_DFE_KL_CFG2_STRLEN); + constant RX_DFE_KL_CFG_STRING : string := SLV_TO_STR(RX_DFE_KL_CFG_BINARY); + constant RX_DFE_LPM_CFG_STRING : string := SLV_TO_HEX(RX_DFE_LPM_CFG_BINARY, RX_DFE_LPM_CFG_STRLEN); + constant RX_DFE_LPM_HOLD_DURING_EIDLE_STRING : string := SUL_TO_STR(RX_DFE_LPM_HOLD_DURING_EIDLE_BINARY); + constant RX_DFE_UT_CFG_STRING : string := SLV_TO_STR(RX_DFE_UT_CFG_BINARY); + constant RX_DFE_VP_CFG_STRING : string := SLV_TO_STR(RX_DFE_VP_CFG_BINARY); + constant RX_DFE_XYD_CFG_STRING : string := SLV_TO_STR(RX_DFE_XYD_CFG_BINARY); + constant RX_OS_CFG_STRING : string := SLV_TO_STR(RX_OS_CFG_BINARY); + constant SATA_BURST_SEQ_LEN_STRING : string := SLV_TO_STR(SATA_BURST_SEQ_LEN_BINARY); + constant SATA_BURST_VAL_STRING : string := SLV_TO_STR(SATA_BURST_VAL_BINARY); + constant SATA_EIDLE_VAL_STRING : string := SLV_TO_STR(SATA_EIDLE_VAL_BINARY); + constant SIM_CPLLREFCLK_SEL_STRING : string := SLV_TO_STR(SIM_CPLLREFCLK_SEL_BINARY); + constant TERM_RCAL_CFG_STRING : string := SLV_TO_STR(TERM_RCAL_CFG_BINARY); + constant TERM_RCAL_OVRD_STRING : string := SUL_TO_STR(TERM_RCAL_OVRD_BINARY); + constant TRANS_TIME_RATE_STRING : string := SLV_TO_HEX(TRANS_TIME_RATE_BINARY, TRANS_TIME_RATE_STRLEN); + constant TST_RSV_STRING : string := SLV_TO_HEX(TST_RSV_BINARY, TST_RSV_STRLEN); + constant TXDLY_CFG_STRING : string := SLV_TO_HEX(TXDLY_CFG_BINARY, TXDLY_CFG_STRLEN); + constant TXDLY_LCFG_STRING : string := SLV_TO_HEX(TXDLY_LCFG_BINARY, TXDLY_LCFG_STRLEN); + constant TXDLY_TAP_CFG_STRING : string := SLV_TO_HEX(TXDLY_TAP_CFG_BINARY, TXDLY_TAP_CFG_STRLEN); + constant TXPCSRESET_TIME_STRING : string := SLV_TO_STR(TXPCSRESET_TIME_BINARY); + constant TXPHDLY_CFG_STRING : string := SLV_TO_HEX(TXPHDLY_CFG_BINARY, TXPHDLY_CFG_STRLEN); + constant TXPH_CFG_STRING : string := SLV_TO_HEX(TXPH_CFG_BINARY, TXPH_CFG_STRLEN); + constant TXPH_MONITOR_SEL_STRING : string := SLV_TO_STR(TXPH_MONITOR_SEL_BINARY); + constant TXPMARESET_TIME_STRING : string := SLV_TO_STR(TXPMARESET_TIME_BINARY); + constant TX_CLKMUX_PD_STRING : string := SUL_TO_STR(TX_CLKMUX_PD_BINARY); + constant TX_DEEMPH0_STRING : string := SLV_TO_STR(TX_DEEMPH0_BINARY); + constant TX_DEEMPH1_STRING : string := SLV_TO_STR(TX_DEEMPH1_BINARY); + constant TX_EIDLE_ASSERT_DELAY_STRING : string := SLV_TO_STR(TX_EIDLE_ASSERT_DELAY_BINARY); + constant TX_EIDLE_DEASSERT_DELAY_STRING : string := SLV_TO_STR(TX_EIDLE_DEASSERT_DELAY_BINARY); + constant TX_MAINCURSOR_SEL_STRING : string := SUL_TO_STR(TX_MAINCURSOR_SEL_BINARY); + constant TX_MARGIN_FULL_0_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_0_BINARY); + constant TX_MARGIN_FULL_1_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_1_BINARY); + constant TX_MARGIN_FULL_2_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_2_BINARY); + constant TX_MARGIN_FULL_3_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_3_BINARY); + constant TX_MARGIN_FULL_4_STRING : string := SLV_TO_STR(TX_MARGIN_FULL_4_BINARY); + constant TX_MARGIN_LOW_0_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_0_BINARY); + constant TX_MARGIN_LOW_1_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_1_BINARY); + constant TX_MARGIN_LOW_2_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_2_BINARY); + constant TX_MARGIN_LOW_3_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_3_BINARY); + constant TX_MARGIN_LOW_4_STRING : string := SLV_TO_STR(TX_MARGIN_LOW_4_BINARY); + constant TX_PREDRIVER_MODE_STRING : string := SUL_TO_STR(TX_PREDRIVER_MODE_BINARY); + constant TX_QPI_STATUS_EN_STRING : string := SUL_TO_STR(TX_QPI_STATUS_EN_BINARY); + constant TX_RXDETECT_CFG_STRING : string := SLV_TO_HEX(TX_RXDETECT_CFG_BINARY, TX_RXDETECT_CFG_STRLEN); + constant TX_RXDETECT_REF_STRING : string := SLV_TO_STR(TX_RXDETECT_REF_BINARY); + constant UCODEER_CLR_STRING : string := SUL_TO_STR(UCODEER_CLR_BINARY); + + signal IS_CPLLLOCKDETCLK_INVERTED_BIN : std_ulogic; + signal IS_DRPCLK_INVERTED_BIN : std_ulogic; + signal IS_GTGREFCLK_INVERTED_BIN : std_ulogic; + signal IS_RXUSRCLK2_INVERTED_BIN : std_ulogic; + signal IS_RXUSRCLK_INVERTED_BIN : std_ulogic; + signal IS_TXPHDLYTSTCLK_INVERTED_BIN : std_ulogic; + signal IS_TXUSRCLK2_INVERTED_BIN : std_ulogic; + signal IS_TXUSRCLK_INVERTED_BIN : std_ulogic; + + signal ALIGN_COMMA_DOUBLE_BINARY : std_ulogic; + signal ALIGN_COMMA_WORD_BINARY : std_logic_vector(2 downto 0); + signal ALIGN_MCOMMA_DET_BINARY : std_ulogic; + signal ALIGN_PCOMMA_DET_BINARY : std_ulogic; + signal CBCC_DATA_SOURCE_SEL_BINARY : std_ulogic; + signal CHAN_BOND_KEEP_ALIGN_BINARY : std_ulogic; + signal CHAN_BOND_MAX_SKEW_BINARY : std_logic_vector(3 downto 0); + signal CHAN_BOND_SEQ_2_USE_BINARY : std_ulogic; + signal CHAN_BOND_SEQ_LEN_BINARY : std_logic_vector(1 downto 0); + signal CLK_CORRECT_USE_BINARY : std_ulogic; + signal CLK_COR_KEEP_IDLE_BINARY : std_ulogic; + signal CLK_COR_MAX_LAT_BINARY : std_logic_vector(5 downto 0); + signal CLK_COR_MIN_LAT_BINARY : std_logic_vector(5 downto 0); + signal CLK_COR_PRECEDENCE_BINARY : std_ulogic; + signal CLK_COR_REPEAT_WAIT_BINARY : std_logic_vector(4 downto 0); + signal CLK_COR_SEQ_2_USE_BINARY : std_ulogic; + signal CLK_COR_SEQ_LEN_BINARY : std_logic_vector(1 downto 0); + signal CPLL_FBDIV_45_BINARY : std_ulogic; + signal CPLL_FBDIV_BINARY : std_logic_vector(6 downto 0); + signal CPLL_REFCLK_DIV_BINARY : std_logic_vector(4 downto 0); + signal DEC_MCOMMA_DETECT_BINARY : std_ulogic; + signal DEC_PCOMMA_DETECT_BINARY : std_ulogic; + signal DEC_VALID_COMMA_ONLY_BINARY : std_ulogic; + signal ES_ERRDET_EN_BINARY : std_ulogic; + signal ES_EYE_SCAN_EN_BINARY : std_ulogic; + signal FTS_LANE_DESKEW_EN_BINARY : std_ulogic; + signal PCS_PCIE_EN_BINARY : std_ulogic; + signal RXBUF_ADDR_MODE_BINARY : std_ulogic; + signal RXBUF_EN_BINARY : std_ulogic; + signal RXBUF_RESET_ON_CB_CHANGE_BINARY : std_ulogic; + signal RXBUF_RESET_ON_COMMAALIGN_BINARY : std_ulogic; + signal RXBUF_RESET_ON_EIDLE_BINARY : std_ulogic; + signal RXBUF_RESET_ON_RATE_CHANGE_BINARY : std_ulogic; + signal RXBUF_THRESH_OVFLW_BINARY : std_logic_vector(5 downto 0); + signal RXBUF_THRESH_OVRD_BINARY : std_ulogic; + signal RXBUF_THRESH_UNDFLW_BINARY : std_logic_vector(5 downto 0); + signal RXGEARBOX_EN_BINARY : std_ulogic; + signal RXOUT_DIV_BINARY : std_logic_vector(2 downto 0); + signal RXSLIDE_AUTO_WAIT_BINARY : std_logic_vector(3 downto 0); + signal RXSLIDE_MODE_BINARY : std_logic_vector(1 downto 0); + signal RX_CLK25_DIV_BINARY : std_logic_vector(4 downto 0); + signal RX_DATA_WIDTH_BINARY : std_logic_vector(2 downto 0); + signal RX_DEFER_RESET_BUF_EN_BINARY : std_ulogic; + signal RX_DISPERR_SEQ_MATCH_BINARY : std_ulogic; + signal RX_INT_DATAWIDTH_BINARY : std_ulogic; + signal RX_SIG_VALID_DLY_BINARY : std_logic_vector(4 downto 0); + signal RX_XCLK_SEL_BINARY : std_ulogic; + signal SAS_MAX_COM_BINARY : std_logic_vector(6 downto 0); + signal SAS_MIN_COM_BINARY : std_logic_vector(5 downto 0); + signal SATA_CPLL_CFG_BINARY : std_logic_vector(1 downto 0); + signal SATA_MAX_BURST_BINARY : std_logic_vector(5 downto 0); + signal SATA_MAX_INIT_BINARY : std_logic_vector(5 downto 0); + signal SATA_MAX_WAKE_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_BURST_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_INIT_BINARY : std_logic_vector(5 downto 0); + signal SATA_MIN_WAKE_BINARY : std_logic_vector(5 downto 0); + signal SHOW_REALIGN_COMMA_BINARY : std_ulogic; + signal SIM_RECEIVER_DETECT_PASS_BINARY : std_ulogic; + signal SIM_RESET_SPEEDUP_BINARY : std_ulogic; + signal SIM_TX_EIDLE_DRIVE_LEVEL_BINARY : std_ulogic; + signal SIM_VERSION_BINARY : std_ulogic; + signal TXBUF_EN_BINARY : std_ulogic; + signal TXBUF_RESET_ON_RATE_CHANGE_BINARY : std_ulogic; + signal TXGEARBOX_EN_BINARY : std_ulogic; + signal TXOUT_DIV_BINARY : std_logic_vector(2 downto 0); + signal TX_CLK25_DIV_BINARY : std_logic_vector(4 downto 0); + signal TX_DATA_WIDTH_BINARY : std_logic_vector(2 downto 0); + signal TX_DRIVE_MODE_BINARY : std_logic_vector(4 downto 0); + signal TX_INT_DATAWIDTH_BINARY : std_ulogic; + signal TX_LOOPBACK_DRIVE_HIZ_BINARY : std_ulogic; + signal TX_XCLK_SEL_BINARY : std_ulogic; + + signal CPLLFBCLKLOST_out : std_ulogic; + signal CPLLLOCK_out : std_ulogic; + signal CPLLREFCLKLOST_out : std_ulogic; + signal DMONITOROUT_out : std_logic_vector(7 downto 0); + signal DRPDO_out : std_logic_vector(15 downto 0); + signal DRPRDY_out : std_ulogic; + signal EYESCANDATAERROR_out : std_ulogic; + signal GTREFCLKMONITOR_out : std_ulogic; + signal GTXTXN_out : std_ulogic; + signal GTXTXP_out : std_ulogic; + signal PCSRSVDOUT_out : std_logic_vector(15 downto 0); + signal PHYSTATUS_out : std_ulogic; + signal RXBUFSTATUS_out : std_logic_vector(2 downto 0); + signal RXBYTEISALIGNED_out : std_ulogic; + signal RXBYTEREALIGN_out : std_ulogic; + signal RXCDRLOCK_out : std_ulogic; + signal RXCHANBONDSEQ_out : std_ulogic; + signal RXCHANISALIGNED_out : std_ulogic; + signal RXCHANREALIGN_out : std_ulogic; + signal RXCHARISCOMMA_out : std_logic_vector(7 downto 0); + signal RXCHARISK_out : std_logic_vector(7 downto 0); + signal RXCHBONDO_out : std_logic_vector(4 downto 0); + signal RXCLKCORCNT_out : std_logic_vector(1 downto 0); + signal RXCOMINITDET_out : std_ulogic; + signal RXCOMMADET_out : std_ulogic; + signal RXCOMSASDET_out : std_ulogic; + signal RXCOMWAKEDET_out : std_ulogic; + signal RXDATAVALID_out : std_ulogic; + signal RXDATA_out : std_logic_vector(63 downto 0); + signal RXDISPERR_out : std_logic_vector(7 downto 0); + signal RXDLYSRESETDONE_out : std_ulogic; + signal RXELECIDLE_out : std_ulogic; + signal RXHEADERVALID_out : std_ulogic; + signal RXHEADER_out : std_logic_vector(2 downto 0); + signal RXMONITOROUT_out : std_logic_vector(6 downto 0); + signal RXNOTINTABLE_out : std_logic_vector(7 downto 0); + signal RXOUTCLKFABRIC_out : std_ulogic; + signal RXOUTCLKPCS_out : std_ulogic; + signal RXOUTCLK_out : std_ulogic; + signal RXPHALIGNDONE_out : std_ulogic; + signal RXPHMONITOR_out : std_logic_vector(4 downto 0); + signal RXPHSLIPMONITOR_out : std_logic_vector(4 downto 0); + signal RXPRBSERR_out : std_ulogic; + signal RXQPISENN_out : std_ulogic; + signal RXQPISENP_out : std_ulogic; + signal RXRATEDONE_out : std_ulogic; + signal RXRESETDONE_out : std_ulogic; + signal RXSTARTOFSEQ_out : std_ulogic; + signal RXSTATUS_out : std_logic_vector(2 downto 0); + signal RXVALID_out : std_ulogic; + signal TSTOUT_out : std_logic_vector(9 downto 0); + signal TXBUFSTATUS_out : std_logic_vector(1 downto 0); + signal TXCOMFINISH_out : std_ulogic; + signal TXDLYSRESETDONE_out : std_ulogic; + signal TXGEARBOXREADY_out : std_ulogic; + signal TXOUTCLKFABRIC_out : std_ulogic; + signal TXOUTCLKPCS_out : std_ulogic; + signal TXOUTCLK_out : std_ulogic; + signal TXPHALIGNDONE_out : std_ulogic; + signal TXPHINITDONE_out : std_ulogic; + signal TXQPISENN_out : std_ulogic; + signal TXQPISENP_out : std_ulogic; + signal TXRATEDONE_out : std_ulogic; + signal TXRESETDONE_out : std_ulogic; + + signal CPLLFBCLKLOST_outdelay : std_ulogic; + signal CPLLLOCK_outdelay : std_ulogic; + signal CPLLREFCLKLOST_outdelay : std_ulogic; + signal DMONITOROUT_outdelay : std_logic_vector(7 downto 0); + signal DRPDO_outdelay : std_logic_vector(15 downto 0); + signal DRPRDY_outdelay : std_ulogic; + signal EYESCANDATAERROR_outdelay : std_ulogic; + signal GTREFCLKMONITOR_outdelay : std_ulogic; + signal GTXTXN_outdelay : std_ulogic; + signal GTXTXP_outdelay : std_ulogic; + signal PCSRSVDOUT_outdelay : std_logic_vector(15 downto 0); + signal PHYSTATUS_outdelay : std_ulogic; + signal RXBUFSTATUS_outdelay : std_logic_vector(2 downto 0); + signal RXBYTEISALIGNED_outdelay : std_ulogic; + signal RXBYTEREALIGN_outdelay : std_ulogic; + signal RXCDRLOCK_outdelay : std_ulogic; + signal RXCHANBONDSEQ_outdelay : std_ulogic; + signal RXCHANISALIGNED_outdelay : std_ulogic; + signal RXCHANREALIGN_outdelay : std_ulogic; + signal RXCHARISCOMMA_outdelay : std_logic_vector(7 downto 0); + signal RXCHARISK_outdelay : std_logic_vector(7 downto 0); + signal RXCHBONDO_outdelay : std_logic_vector(4 downto 0); + signal RXCLKCORCNT_outdelay : std_logic_vector(1 downto 0); + signal RXCOMINITDET_outdelay : std_ulogic; + signal RXCOMMADET_outdelay : std_ulogic; + signal RXCOMSASDET_outdelay : std_ulogic; + signal RXCOMWAKEDET_outdelay : std_ulogic; + signal RXDATAVALID_outdelay : std_ulogic; + signal RXDATA_outdelay : std_logic_vector(63 downto 0); + signal RXDISPERR_outdelay : std_logic_vector(7 downto 0); + signal RXDLYSRESETDONE_outdelay : std_ulogic; + signal RXELECIDLE_outdelay : std_ulogic; + signal RXHEADERVALID_outdelay : std_ulogic; + signal RXHEADER_outdelay : std_logic_vector(2 downto 0); + signal RXMONITOROUT_outdelay : std_logic_vector(6 downto 0); + signal RXNOTINTABLE_outdelay : std_logic_vector(7 downto 0); + signal RXOUTCLKFABRIC_outdelay : std_ulogic; + signal RXOUTCLKPCS_outdelay : std_ulogic; + signal RXOUTCLK_outdelay : std_ulogic; + signal RXPHALIGNDONE_outdelay : std_ulogic; + signal RXPHMONITOR_outdelay : std_logic_vector(4 downto 0); + signal RXPHSLIPMONITOR_outdelay : std_logic_vector(4 downto 0); + signal RXPRBSERR_outdelay : std_ulogic; + signal RXQPISENN_outdelay : std_ulogic; + signal RXQPISENP_outdelay : std_ulogic; + signal RXRATEDONE_outdelay : std_ulogic; + signal RXRESETDONE_outdelay : std_ulogic; + signal RXSTARTOFSEQ_outdelay : std_ulogic; + signal RXSTATUS_outdelay : std_logic_vector(2 downto 0); + signal RXVALID_outdelay : std_ulogic; + signal TSTOUT_outdelay : std_logic_vector(9 downto 0); + signal TXBUFSTATUS_outdelay : std_logic_vector(1 downto 0); + signal TXCOMFINISH_outdelay : std_ulogic; + signal TXDLYSRESETDONE_outdelay : std_ulogic; + signal TXGEARBOXREADY_outdelay : std_ulogic; + signal TXOUTCLKFABRIC_outdelay : std_ulogic; + signal TXOUTCLKPCS_outdelay : std_ulogic; + signal TXOUTCLK_outdelay : std_ulogic; + signal TXPHALIGNDONE_outdelay : std_ulogic; + signal TXPHINITDONE_outdelay : std_ulogic; + signal TXQPISENN_outdelay : std_ulogic; + signal TXQPISENP_outdelay : std_ulogic; + signal TXRATEDONE_outdelay : std_ulogic; + signal TXRESETDONE_outdelay : std_ulogic; + + signal CFGRESET_ipd : std_ulogic; + signal CLKRSVD_ipd : std_logic_vector(3 downto 0); + signal CPLLLOCKDETCLK_ipd : std_ulogic; + signal CPLLLOCKEN_ipd : std_ulogic; + signal CPLLPD_ipd : std_ulogic; + signal CPLLREFCLKSEL_ipd : std_logic_vector(2 downto 0); + signal CPLLRESET_ipd : std_ulogic; + signal DRPADDR_ipd : std_logic_vector(8 downto 0); + signal DRPCLK_ipd : std_ulogic; + signal DRPDI_ipd : std_logic_vector(15 downto 0); + signal DRPEN_ipd : std_ulogic; + signal DRPWE_ipd : std_ulogic; + signal EYESCANMODE_ipd : std_ulogic; + signal EYESCANRESET_ipd : std_ulogic; + signal EYESCANTRIGGER_ipd : std_ulogic; + signal GTGREFCLK_ipd : std_ulogic; + signal GTNORTHREFCLK0_ipd : std_ulogic; + signal GTNORTHREFCLK1_ipd : std_ulogic; + signal GTREFCLK0_ipd : std_ulogic; + signal GTREFCLK1_ipd : std_ulogic; + signal GTRESETSEL_ipd : std_ulogic; + signal GTRSVD_ipd : std_logic_vector(15 downto 0); + signal GTRXRESET_ipd : std_ulogic; + signal GTSOUTHREFCLK0_ipd : std_ulogic; + signal GTSOUTHREFCLK1_ipd : std_ulogic; + signal GTTXRESET_ipd : std_ulogic; + signal GTXRXN_ipd : std_ulogic; + signal GTXRXP_ipd : std_ulogic; + signal LOOPBACK_ipd : std_logic_vector(2 downto 0); + signal PCSRSVDIN2_ipd : std_logic_vector(4 downto 0); + signal PCSRSVDIN_ipd : std_logic_vector(15 downto 0); + signal PMARSVDIN2_ipd : std_logic_vector(4 downto 0); + signal PMARSVDIN_ipd : std_logic_vector(4 downto 0); + signal QPLLCLK_ipd : std_ulogic; + signal QPLLREFCLK_ipd : std_ulogic; + signal RESETOVRD_ipd : std_ulogic; + signal RX8B10BEN_ipd : std_ulogic; + signal RXBUFRESET_ipd : std_ulogic; + signal RXCDRFREQRESET_ipd : std_ulogic; + signal RXCDRHOLD_ipd : std_ulogic; + signal RXCDROVRDEN_ipd : std_ulogic; + signal RXCDRRESETRSV_ipd : std_ulogic; + signal RXCDRRESET_ipd : std_ulogic; + signal RXCHBONDEN_ipd : std_ulogic; + signal RXCHBONDI_ipd : std_logic_vector(4 downto 0); + signal RXCHBONDLEVEL_ipd : std_logic_vector(2 downto 0); + signal RXCHBONDMASTER_ipd : std_ulogic; + signal RXCHBONDSLAVE_ipd : std_ulogic; + signal RXCOMMADETEN_ipd : std_ulogic; + signal RXDDIEN_ipd : std_ulogic; + signal RXDFEAGCHOLD_ipd : std_ulogic; + signal RXDFEAGCOVRDEN_ipd : std_ulogic; + signal RXDFECM1EN_ipd : std_ulogic; + signal RXDFELFHOLD_ipd : std_ulogic; + signal RXDFELFOVRDEN_ipd : std_ulogic; + signal RXDFELPMRESET_ipd : std_ulogic; + signal RXDFETAP2HOLD_ipd : std_ulogic; + signal RXDFETAP2OVRDEN_ipd : std_ulogic; + signal RXDFETAP3HOLD_ipd : std_ulogic; + signal RXDFETAP3OVRDEN_ipd : std_ulogic; + signal RXDFETAP4HOLD_ipd : std_ulogic; + signal RXDFETAP4OVRDEN_ipd : std_ulogic; + signal RXDFETAP5HOLD_ipd : std_ulogic; + signal RXDFETAP5OVRDEN_ipd : std_ulogic; + signal RXDFEUTHOLD_ipd : std_ulogic; + signal RXDFEUTOVRDEN_ipd : std_ulogic; + signal RXDFEVPHOLD_ipd : std_ulogic; + signal RXDFEVPOVRDEN_ipd : std_ulogic; + signal RXDFEVSEN_ipd : std_ulogic; + signal RXDFEXYDEN_ipd : std_ulogic; + signal RXDFEXYDHOLD_ipd : std_ulogic; + signal RXDFEXYDOVRDEN_ipd : std_ulogic; + signal RXDLYBYPASS_ipd : std_ulogic; + signal RXDLYEN_ipd : std_ulogic; + signal RXDLYOVRDEN_ipd : std_ulogic; + signal RXDLYSRESET_ipd : std_ulogic; + signal RXELECIDLEMODE_ipd : std_logic_vector(1 downto 0); + signal RXGEARBOXSLIP_ipd : std_ulogic; + signal RXLPMEN_ipd : std_ulogic; + signal RXLPMHFHOLD_ipd : std_ulogic; + signal RXLPMHFOVRDEN_ipd : std_ulogic; + signal RXLPMLFHOLD_ipd : std_ulogic; + signal RXLPMLFKLOVRDEN_ipd : std_ulogic; + signal RXMCOMMAALIGNEN_ipd : std_ulogic; + signal RXMONITORSEL_ipd : std_logic_vector(1 downto 0); + signal RXOOBRESET_ipd : std_ulogic; + signal RXOSHOLD_ipd : std_ulogic; + signal RXOSOVRDEN_ipd : std_ulogic; + signal RXOUTCLKSEL_ipd : std_logic_vector(2 downto 0); + signal RXPCOMMAALIGNEN_ipd : std_ulogic; + signal RXPCSRESET_ipd : std_ulogic; + signal RXPD_ipd : std_logic_vector(1 downto 0); + signal RXPHALIGNEN_ipd : std_ulogic; + signal RXPHALIGN_ipd : std_ulogic; + signal RXPHDLYPD_ipd : std_ulogic; + signal RXPHDLYRESET_ipd : std_ulogic; + signal RXPHOVRDEN_ipd : std_ulogic; + signal RXPMARESET_ipd : std_ulogic; + signal RXPOLARITY_ipd : std_ulogic; + signal RXPRBSCNTRESET_ipd : std_ulogic; + signal RXPRBSSEL_ipd : std_logic_vector(2 downto 0); + signal RXQPIEN_ipd : std_ulogic; + signal RXRATE_ipd : std_logic_vector(2 downto 0); + signal RXSLIDE_ipd : std_ulogic; + signal RXSYSCLKSEL_ipd : std_logic_vector(1 downto 0); + signal RXUSERRDY_ipd : std_ulogic; + signal RXUSRCLK2_ipd : std_ulogic; + signal RXUSRCLK_ipd : std_ulogic; + signal SETERRSTATUS_ipd : std_ulogic; + signal TSTIN_ipd : std_logic_vector(19 downto 0); + signal TX8B10BBYPASS_ipd : std_logic_vector(7 downto 0); + signal TX8B10BEN_ipd : std_ulogic; + signal TXBUFDIFFCTRL_ipd : std_logic_vector(2 downto 0); + signal TXCHARDISPMODE_ipd : std_logic_vector(7 downto 0); + signal TXCHARDISPVAL_ipd : std_logic_vector(7 downto 0); + signal TXCHARISK_ipd : std_logic_vector(7 downto 0); + signal TXCOMINIT_ipd : std_ulogic; + signal TXCOMSAS_ipd : std_ulogic; + signal TXCOMWAKE_ipd : std_ulogic; + signal TXDATA_ipd : std_logic_vector(63 downto 0); + signal TXDEEMPH_ipd : std_ulogic; + signal TXDETECTRX_ipd : std_ulogic; + signal TXDIFFCTRL_ipd : std_logic_vector(3 downto 0); + signal TXDIFFPD_ipd : std_ulogic; + signal TXDLYBYPASS_ipd : std_ulogic; + signal TXDLYEN_ipd : std_ulogic; + signal TXDLYHOLD_ipd : std_ulogic; + signal TXDLYOVRDEN_ipd : std_ulogic; + signal TXDLYSRESET_ipd : std_ulogic; + signal TXDLYUPDOWN_ipd : std_ulogic; + signal TXELECIDLE_ipd : std_ulogic; + signal TXHEADER_ipd : std_logic_vector(2 downto 0); + signal TXINHIBIT_ipd : std_ulogic; + signal TXMAINCURSOR_ipd : std_logic_vector(6 downto 0); + signal TXMARGIN_ipd : std_logic_vector(2 downto 0); + signal TXOUTCLKSEL_ipd : std_logic_vector(2 downto 0); + signal TXPCSRESET_ipd : std_ulogic; + signal TXPDELECIDLEMODE_ipd : std_ulogic; + signal TXPD_ipd : std_logic_vector(1 downto 0); + signal TXPHALIGNEN_ipd : std_ulogic; + signal TXPHALIGN_ipd : std_ulogic; + signal TXPHDLYPD_ipd : std_ulogic; + signal TXPHDLYRESET_ipd : std_ulogic; + signal TXPHDLYTSTCLK_ipd : std_ulogic; + signal TXPHINIT_ipd : std_ulogic; + signal TXPHOVRDEN_ipd : std_ulogic; + signal TXPISOPD_ipd : std_ulogic; + signal TXPMARESET_ipd : std_ulogic; + signal TXPOLARITY_ipd : std_ulogic; + signal TXPOSTCURSORINV_ipd : std_ulogic; + signal TXPOSTCURSOR_ipd : std_logic_vector(4 downto 0); + signal TXPRBSFORCEERR_ipd : std_ulogic; + signal TXPRBSSEL_ipd : std_logic_vector(2 downto 0); + signal TXPRECURSORINV_ipd : std_ulogic; + signal TXPRECURSOR_ipd : std_logic_vector(4 downto 0); + signal TXQPIBIASEN_ipd : std_ulogic; + signal TXQPISTRONGPDOWN_ipd : std_ulogic; + signal TXQPIWEAKPUP_ipd : std_ulogic; + signal TXRATE_ipd : std_logic_vector(2 downto 0); + signal TXSEQUENCE_ipd : std_logic_vector(6 downto 0); + signal TXSTARTSEQ_ipd : std_ulogic; + signal TXSWING_ipd : std_ulogic; + signal TXSYSCLKSEL_ipd : std_logic_vector(1 downto 0); + signal TXUSERRDY_ipd : std_ulogic; + signal TXUSRCLK2_ipd : std_ulogic; + signal TXUSRCLK_ipd : std_ulogic; + + signal CFGRESET_indelay : std_ulogic; + signal CLKRSVD_indelay : std_logic_vector(3 downto 0); + signal CPLLLOCKDETCLK_indelay : std_ulogic; + signal CPLLLOCKEN_indelay : std_ulogic; + signal CPLLPD_indelay : std_ulogic; + signal CPLLREFCLKSEL_indelay : std_logic_vector(2 downto 0); + signal CPLLRESET_indelay : std_ulogic; + signal DRPADDR_indelay : std_logic_vector(8 downto 0); + signal DRPCLK_indelay : std_ulogic; + signal DRPDI_indelay : std_logic_vector(15 downto 0); + signal DRPEN_indelay : std_ulogic; + signal DRPWE_indelay : std_ulogic; + signal EYESCANMODE_indelay : std_ulogic; + signal EYESCANRESET_indelay : std_ulogic; + signal EYESCANTRIGGER_indelay : std_ulogic; + signal GTGREFCLK_indelay : std_ulogic; + signal GTNORTHREFCLK0_indelay : std_ulogic; + signal GTNORTHREFCLK1_indelay : std_ulogic; + signal GTREFCLK0_indelay : std_ulogic; + signal GTREFCLK1_indelay : std_ulogic; + signal GTRESETSEL_indelay : std_ulogic; + signal GTRSVD_indelay : std_logic_vector(15 downto 0); + signal GTRXRESET_indelay : std_ulogic; + signal GTSOUTHREFCLK0_indelay : std_ulogic; + signal GTSOUTHREFCLK1_indelay : std_ulogic; + signal GTTXRESET_indelay : std_ulogic; + signal GTXRXN_indelay : std_ulogic; + signal GTXRXP_indelay : std_ulogic; + signal LOOPBACK_indelay : std_logic_vector(2 downto 0); + signal PCSRSVDIN2_indelay : std_logic_vector(4 downto 0); + signal PCSRSVDIN_indelay : std_logic_vector(15 downto 0); + signal PMARSVDIN2_indelay : std_logic_vector(4 downto 0); + signal PMARSVDIN_indelay : std_logic_vector(4 downto 0); + signal QPLLCLK_indelay : std_ulogic; + signal QPLLREFCLK_indelay : std_ulogic; + signal RESETOVRD_indelay : std_ulogic; + signal RX8B10BEN_indelay : std_ulogic; + signal RXBUFRESET_indelay : std_ulogic; + signal RXCDRFREQRESET_indelay : std_ulogic; + signal RXCDRHOLD_indelay : std_ulogic; + signal RXCDROVRDEN_indelay : std_ulogic; + signal RXCDRRESETRSV_indelay : std_ulogic; + signal RXCDRRESET_indelay : std_ulogic; + signal RXCHBONDEN_indelay : std_ulogic; + signal RXCHBONDI_indelay : std_logic_vector(4 downto 0); + signal RXCHBONDLEVEL_indelay : std_logic_vector(2 downto 0); + signal RXCHBONDMASTER_indelay : std_ulogic; + signal RXCHBONDSLAVE_indelay : std_ulogic; + signal RXCOMMADETEN_indelay : std_ulogic; + signal RXDDIEN_indelay : std_ulogic; + signal RXDFEAGCHOLD_indelay : std_ulogic; + signal RXDFEAGCOVRDEN_indelay : std_ulogic; + signal RXDFECM1EN_indelay : std_ulogic; + signal RXDFELFHOLD_indelay : std_ulogic; + signal RXDFELFOVRDEN_indelay : std_ulogic; + signal RXDFELPMRESET_indelay : std_ulogic; + signal RXDFETAP2HOLD_indelay : std_ulogic; + signal RXDFETAP2OVRDEN_indelay : std_ulogic; + signal RXDFETAP3HOLD_indelay : std_ulogic; + signal RXDFETAP3OVRDEN_indelay : std_ulogic; + signal RXDFETAP4HOLD_indelay : std_ulogic; + signal RXDFETAP4OVRDEN_indelay : std_ulogic; + signal RXDFETAP5HOLD_indelay : std_ulogic; + signal RXDFETAP5OVRDEN_indelay : std_ulogic; + signal RXDFEUTHOLD_indelay : std_ulogic; + signal RXDFEUTOVRDEN_indelay : std_ulogic; + signal RXDFEVPHOLD_indelay : std_ulogic; + signal RXDFEVPOVRDEN_indelay : std_ulogic; + signal RXDFEVSEN_indelay : std_ulogic; + signal RXDFEXYDEN_indelay : std_ulogic; + signal RXDFEXYDHOLD_indelay : std_ulogic; + signal RXDFEXYDOVRDEN_indelay : std_ulogic; + signal RXDLYBYPASS_indelay : std_ulogic; + signal RXDLYEN_indelay : std_ulogic; + signal RXDLYOVRDEN_indelay : std_ulogic; + signal RXDLYSRESET_indelay : std_ulogic; + signal RXELECIDLEMODE_indelay : std_logic_vector(1 downto 0); + signal RXGEARBOXSLIP_indelay : std_ulogic; + signal RXLPMEN_indelay : std_ulogic; + signal RXLPMHFHOLD_indelay : std_ulogic; + signal RXLPMHFOVRDEN_indelay : std_ulogic; + signal RXLPMLFHOLD_indelay : std_ulogic; + signal RXLPMLFKLOVRDEN_indelay : std_ulogic; + signal RXMCOMMAALIGNEN_indelay : std_ulogic; + signal RXMONITORSEL_indelay : std_logic_vector(1 downto 0); + signal RXOOBRESET_indelay : std_ulogic; + signal RXOSHOLD_indelay : std_ulogic; + signal RXOSOVRDEN_indelay : std_ulogic; + signal RXOUTCLKSEL_indelay : std_logic_vector(2 downto 0); + signal RXPCOMMAALIGNEN_indelay : std_ulogic; + signal RXPCSRESET_indelay : std_ulogic; + signal RXPD_indelay : std_logic_vector(1 downto 0); + signal RXPHALIGNEN_indelay : std_ulogic; + signal RXPHALIGN_indelay : std_ulogic; + signal RXPHDLYPD_indelay : std_ulogic; + signal RXPHDLYRESET_indelay : std_ulogic; + signal RXPHOVRDEN_indelay : std_ulogic; + signal RXPMARESET_indelay : std_ulogic; + signal RXPOLARITY_indelay : std_ulogic; + signal RXPRBSCNTRESET_indelay : std_ulogic; + signal RXPRBSSEL_indelay : std_logic_vector(2 downto 0); + signal RXQPIEN_indelay : std_ulogic; + signal RXRATE_indelay : std_logic_vector(2 downto 0); + signal RXSLIDE_indelay : std_ulogic; + signal RXSYSCLKSEL_indelay : std_logic_vector(1 downto 0); + signal RXUSERRDY_indelay : std_ulogic; + signal RXUSRCLK2_indelay : std_ulogic; + signal RXUSRCLK_indelay : std_ulogic; + signal SETERRSTATUS_indelay : std_ulogic; + signal TSTIN_indelay : std_logic_vector(19 downto 0); + signal TX8B10BBYPASS_indelay : std_logic_vector(7 downto 0); + signal TX8B10BEN_indelay : std_ulogic; + signal TXBUFDIFFCTRL_indelay : std_logic_vector(2 downto 0); + signal TXCHARDISPMODE_indelay : std_logic_vector(7 downto 0); + signal TXCHARDISPVAL_indelay : std_logic_vector(7 downto 0); + signal TXCHARISK_indelay : std_logic_vector(7 downto 0); + signal TXCOMINIT_indelay : std_ulogic; + signal TXCOMSAS_indelay : std_ulogic; + signal TXCOMWAKE_indelay : std_ulogic; + signal TXDATA_indelay : std_logic_vector(63 downto 0); + signal TXDEEMPH_indelay : std_ulogic; + signal TXDETECTRX_indelay : std_ulogic; + signal TXDIFFCTRL_indelay : std_logic_vector(3 downto 0); + signal TXDIFFPD_indelay : std_ulogic; + signal TXDLYBYPASS_indelay : std_ulogic; + signal TXDLYEN_indelay : std_ulogic; + signal TXDLYHOLD_indelay : std_ulogic; + signal TXDLYOVRDEN_indelay : std_ulogic; + signal TXDLYSRESET_indelay : std_ulogic; + signal TXDLYUPDOWN_indelay : std_ulogic; + signal TXELECIDLE_indelay : std_ulogic; + signal TXHEADER_indelay : std_logic_vector(2 downto 0); + signal TXINHIBIT_indelay : std_ulogic; + signal TXMAINCURSOR_indelay : std_logic_vector(6 downto 0); + signal TXMARGIN_indelay : std_logic_vector(2 downto 0); + signal TXOUTCLKSEL_indelay : std_logic_vector(2 downto 0); + signal TXPCSRESET_indelay : std_ulogic; + signal TXPDELECIDLEMODE_indelay : std_ulogic; + signal TXPD_indelay : std_logic_vector(1 downto 0); + signal TXPHALIGNEN_indelay : std_ulogic; + signal TXPHALIGN_indelay : std_ulogic; + signal TXPHDLYPD_indelay : std_ulogic; + signal TXPHDLYRESET_indelay : std_ulogic; + signal TXPHDLYTSTCLK_indelay : std_ulogic; + signal TXPHINIT_indelay : std_ulogic; + signal TXPHOVRDEN_indelay : std_ulogic; + signal TXPISOPD_indelay : std_ulogic; + signal TXPMARESET_indelay : std_ulogic; + signal TXPOLARITY_indelay : std_ulogic; + signal TXPOSTCURSORINV_indelay : std_ulogic; + signal TXPOSTCURSOR_indelay : std_logic_vector(4 downto 0); + signal TXPRBSFORCEERR_indelay : std_ulogic; + signal TXPRBSSEL_indelay : std_logic_vector(2 downto 0); + signal TXPRECURSORINV_indelay : std_ulogic; + signal TXPRECURSOR_indelay : std_logic_vector(4 downto 0); + signal TXQPIBIASEN_indelay : std_ulogic; + signal TXQPISTRONGPDOWN_indelay : std_ulogic; + signal TXQPIWEAKPUP_indelay : std_ulogic; + signal TXRATE_indelay : std_logic_vector(2 downto 0); + signal TXSEQUENCE_indelay : std_logic_vector(6 downto 0); + signal TXSTARTSEQ_indelay : std_ulogic; + signal TXSWING_indelay : std_ulogic; + signal TXSYSCLKSEL_indelay : std_logic_vector(1 downto 0); + signal TXUSERRDY_indelay : std_ulogic; + signal TXUSRCLK2_indelay : std_ulogic; + signal TXUSRCLK_indelay : std_ulogic; + + begin + GTREFCLKMONITOR_out <= GTREFCLKMONITOR_outdelay after OUTCLK_DELAY; + RXOUTCLK_out <= RXOUTCLK_outdelay after OUTCLK_DELAY; + TXOUTCLK_out <= TXOUTCLK_outdelay after OUTCLK_DELAY; + + CPLLFBCLKLOST_out <= CPLLFBCLKLOST_outdelay after OUT_DELAY; + CPLLLOCK_out <= CPLLLOCK_outdelay after OUT_DELAY; + CPLLREFCLKLOST_out <= CPLLREFCLKLOST_outdelay after OUT_DELAY; + DMONITOROUT_out <= DMONITOROUT_outdelay after OUT_DELAY; + DRPDO_out <= DRPDO_outdelay after OUT_DELAY; + DRPRDY_out <= DRPRDY_outdelay after OUT_DELAY; + EYESCANDATAERROR_out <= EYESCANDATAERROR_outdelay after OUT_DELAY; + GTXTXN_out <= GTXTXN_outdelay after OUT_DELAY; + GTXTXP_out <= GTXTXP_outdelay after OUT_DELAY; + PCSRSVDOUT_out <= PCSRSVDOUT_outdelay after OUT_DELAY; + PHYSTATUS_out <= PHYSTATUS_outdelay after OUT_DELAY; + RXBUFSTATUS_out <= RXBUFSTATUS_outdelay after OUT_DELAY; + RXBYTEISALIGNED_out <= RXBYTEISALIGNED_outdelay after OUT_DELAY; + RXBYTEREALIGN_out <= RXBYTEREALIGN_outdelay after OUT_DELAY; + RXCDRLOCK_out <= RXCDRLOCK_outdelay after OUT_DELAY; + RXCHANBONDSEQ_out <= RXCHANBONDSEQ_outdelay after OUT_DELAY; + RXCHANISALIGNED_out <= RXCHANISALIGNED_outdelay after OUT_DELAY; + RXCHANREALIGN_out <= RXCHANREALIGN_outdelay after OUT_DELAY; + RXCHARISCOMMA_out <= RXCHARISCOMMA_outdelay after OUT_DELAY; + RXCHARISK_out <= RXCHARISK_outdelay after OUT_DELAY; + RXCHBONDO_out <= RXCHBONDO_outdelay after OUT_DELAY; + RXCLKCORCNT_out <= RXCLKCORCNT_outdelay after OUT_DELAY; + RXCOMINITDET_out <= RXCOMINITDET_outdelay after OUT_DELAY; + RXCOMMADET_out <= RXCOMMADET_outdelay after OUT_DELAY; + RXCOMSASDET_out <= RXCOMSASDET_outdelay after OUT_DELAY; + RXCOMWAKEDET_out <= RXCOMWAKEDET_outdelay after OUT_DELAY; + RXDATAVALID_out <= RXDATAVALID_outdelay after OUT_DELAY; + RXDATA_out <= RXDATA_outdelay after OUT_DELAY; + RXDISPERR_out <= RXDISPERR_outdelay after OUT_DELAY; + RXDLYSRESETDONE_out <= RXDLYSRESETDONE_outdelay after OUT_DELAY; + RXELECIDLE_out <= RXELECIDLE_outdelay after OUT_DELAY; + RXHEADERVALID_out <= RXHEADERVALID_outdelay after OUT_DELAY; + RXHEADER_out <= RXHEADER_outdelay after OUT_DELAY; + RXMONITOROUT_out <= RXMONITOROUT_outdelay after OUT_DELAY; + RXNOTINTABLE_out <= RXNOTINTABLE_outdelay after OUT_DELAY; + RXOUTCLKFABRIC_out <= RXOUTCLKFABRIC_outdelay after OUT_DELAY; + RXOUTCLKPCS_out <= RXOUTCLKPCS_outdelay after OUT_DELAY; + RXPHALIGNDONE_out <= RXPHALIGNDONE_outdelay after OUT_DELAY; + RXPHMONITOR_out <= RXPHMONITOR_outdelay after OUT_DELAY; + RXPHSLIPMONITOR_out <= RXPHSLIPMONITOR_outdelay after OUT_DELAY; + RXPRBSERR_out <= RXPRBSERR_outdelay after OUT_DELAY; + RXQPISENN_out <= RXQPISENN_outdelay after OUT_DELAY; + RXQPISENP_out <= RXQPISENP_outdelay after OUT_DELAY; + RXRATEDONE_out <= RXRATEDONE_outdelay after OUT_DELAY; + RXRESETDONE_out <= RXRESETDONE_outdelay after OUT_DELAY; + RXSTARTOFSEQ_out <= RXSTARTOFSEQ_outdelay after OUT_DELAY; + RXSTATUS_out <= RXSTATUS_outdelay after OUT_DELAY; + RXVALID_out <= RXVALID_outdelay after OUT_DELAY; + TSTOUT_out <= TSTOUT_outdelay after OUT_DELAY; + TXBUFSTATUS_out <= TXBUFSTATUS_outdelay after OUT_DELAY; + TXCOMFINISH_out <= TXCOMFINISH_outdelay after OUT_DELAY; + TXDLYSRESETDONE_out <= TXDLYSRESETDONE_outdelay after OUT_DELAY; + TXGEARBOXREADY_out <= TXGEARBOXREADY_outdelay after OUT_DELAY; + TXOUTCLKFABRIC_out <= TXOUTCLKFABRIC_outdelay after OUT_DELAY; + TXOUTCLKPCS_out <= TXOUTCLKPCS_outdelay after OUT_DELAY; + TXPHALIGNDONE_out <= TXPHALIGNDONE_outdelay after OUT_DELAY; + TXPHINITDONE_out <= TXPHINITDONE_outdelay after OUT_DELAY; + TXQPISENN_out <= TXQPISENN_outdelay after OUT_DELAY; + TXQPISENP_out <= TXQPISENP_outdelay after OUT_DELAY; + TXRATEDONE_out <= TXRATEDONE_outdelay after OUT_DELAY; + TXRESETDONE_out <= TXRESETDONE_outdelay after OUT_DELAY; + + CPLLLOCKDETCLK_ipd <= CPLLLOCKDETCLK; + DRPCLK_ipd <= DRPCLK; + GTGREFCLK_ipd <= GTGREFCLK; + GTNORTHREFCLK0_ipd <= GTNORTHREFCLK0; + GTNORTHREFCLK1_ipd <= GTNORTHREFCLK1; + GTREFCLK0_ipd <= GTREFCLK0; + GTREFCLK1_ipd <= GTREFCLK1; + GTSOUTHREFCLK0_ipd <= GTSOUTHREFCLK0; + GTSOUTHREFCLK1_ipd <= GTSOUTHREFCLK1; + QPLLCLK_ipd <= QPLLCLK; + RXUSRCLK2_ipd <= RXUSRCLK2; + RXUSRCLK_ipd <= RXUSRCLK; + TXPHDLYTSTCLK_ipd <= TXPHDLYTSTCLK; + TXUSRCLK2_ipd <= TXUSRCLK2; + TXUSRCLK_ipd <= TXUSRCLK; + + CFGRESET_ipd <= CFGRESET; + CLKRSVD_ipd <= CLKRSVD; + CPLLLOCKEN_ipd <= CPLLLOCKEN; + CPLLPD_ipd <= CPLLPD; + CPLLREFCLKSEL_ipd <= CPLLREFCLKSEL; + CPLLRESET_ipd <= CPLLRESET; + DRPADDR_ipd <= DRPADDR; + DRPDI_ipd <= DRPDI; + DRPEN_ipd <= DRPEN; + DRPWE_ipd <= DRPWE; + EYESCANMODE_ipd <= EYESCANMODE; + EYESCANRESET_ipd <= EYESCANRESET; + EYESCANTRIGGER_ipd <= EYESCANTRIGGER; + GTRESETSEL_ipd <= GTRESETSEL; + GTRSVD_ipd <= GTRSVD; + GTRXRESET_ipd <= GTRXRESET; + GTTXRESET_ipd <= GTTXRESET; + GTXRXN_ipd <= GTXRXN; + GTXRXP_ipd <= GTXRXP; + LOOPBACK_ipd <= LOOPBACK; + PCSRSVDIN2_ipd <= PCSRSVDIN2; + PCSRSVDIN_ipd <= PCSRSVDIN; + PMARSVDIN2_ipd <= PMARSVDIN2; + PMARSVDIN_ipd <= PMARSVDIN; + QPLLREFCLK_ipd <= QPLLREFCLK; + RESETOVRD_ipd <= RESETOVRD; + RX8B10BEN_ipd <= RX8B10BEN; + RXBUFRESET_ipd <= RXBUFRESET; + RXCDRFREQRESET_ipd <= RXCDRFREQRESET; + RXCDRHOLD_ipd <= RXCDRHOLD; + RXCDROVRDEN_ipd <= RXCDROVRDEN; + RXCDRRESETRSV_ipd <= RXCDRRESETRSV; + RXCDRRESET_ipd <= RXCDRRESET; + RXCHBONDEN_ipd <= RXCHBONDEN; + RXCHBONDI_ipd <= RXCHBONDI; + RXCHBONDLEVEL_ipd <= RXCHBONDLEVEL; + RXCHBONDMASTER_ipd <= RXCHBONDMASTER; + RXCHBONDSLAVE_ipd <= RXCHBONDSLAVE; + RXCOMMADETEN_ipd <= RXCOMMADETEN; + RXDDIEN_ipd <= RXDDIEN; + RXDFEAGCHOLD_ipd <= RXDFEAGCHOLD; + RXDFEAGCOVRDEN_ipd <= RXDFEAGCOVRDEN; + RXDFECM1EN_ipd <= RXDFECM1EN; + RXDFELFHOLD_ipd <= RXDFELFHOLD; + RXDFELFOVRDEN_ipd <= RXDFELFOVRDEN; + RXDFELPMRESET_ipd <= RXDFELPMRESET; + RXDFETAP2HOLD_ipd <= RXDFETAP2HOLD; + RXDFETAP2OVRDEN_ipd <= RXDFETAP2OVRDEN; + RXDFETAP3HOLD_ipd <= RXDFETAP3HOLD; + RXDFETAP3OVRDEN_ipd <= RXDFETAP3OVRDEN; + RXDFETAP4HOLD_ipd <= RXDFETAP4HOLD; + RXDFETAP4OVRDEN_ipd <= RXDFETAP4OVRDEN; + RXDFETAP5HOLD_ipd <= RXDFETAP5HOLD; + RXDFETAP5OVRDEN_ipd <= RXDFETAP5OVRDEN; + RXDFEUTHOLD_ipd <= RXDFEUTHOLD; + RXDFEUTOVRDEN_ipd <= RXDFEUTOVRDEN; + RXDFEVPHOLD_ipd <= RXDFEVPHOLD; + RXDFEVPOVRDEN_ipd <= RXDFEVPOVRDEN; + RXDFEVSEN_ipd <= RXDFEVSEN; + RXDFEXYDEN_ipd <= RXDFEXYDEN; + RXDFEXYDHOLD_ipd <= RXDFEXYDHOLD; + RXDFEXYDOVRDEN_ipd <= RXDFEXYDOVRDEN; + RXDLYBYPASS_ipd <= RXDLYBYPASS; + RXDLYEN_ipd <= RXDLYEN; + RXDLYOVRDEN_ipd <= RXDLYOVRDEN; + RXDLYSRESET_ipd <= RXDLYSRESET; + RXELECIDLEMODE_ipd <= RXELECIDLEMODE; + RXGEARBOXSLIP_ipd <= RXGEARBOXSLIP; + RXLPMEN_ipd <= RXLPMEN; + RXLPMHFHOLD_ipd <= RXLPMHFHOLD; + RXLPMHFOVRDEN_ipd <= RXLPMHFOVRDEN; + RXLPMLFHOLD_ipd <= RXLPMLFHOLD; + RXLPMLFKLOVRDEN_ipd <= RXLPMLFKLOVRDEN; + RXMCOMMAALIGNEN_ipd <= RXMCOMMAALIGNEN; + RXMONITORSEL_ipd <= RXMONITORSEL; + RXOOBRESET_ipd <= RXOOBRESET; + RXOSHOLD_ipd <= RXOSHOLD; + RXOSOVRDEN_ipd <= RXOSOVRDEN; + RXOUTCLKSEL_ipd <= RXOUTCLKSEL; + RXPCOMMAALIGNEN_ipd <= RXPCOMMAALIGNEN; + RXPCSRESET_ipd <= RXPCSRESET; + RXPD_ipd <= RXPD; + RXPHALIGNEN_ipd <= RXPHALIGNEN; + RXPHALIGN_ipd <= RXPHALIGN; + RXPHDLYPD_ipd <= RXPHDLYPD; + RXPHDLYRESET_ipd <= RXPHDLYRESET; + RXPHOVRDEN_ipd <= RXPHOVRDEN; + RXPMARESET_ipd <= RXPMARESET; + RXPOLARITY_ipd <= RXPOLARITY; + RXPRBSCNTRESET_ipd <= RXPRBSCNTRESET; + RXPRBSSEL_ipd <= RXPRBSSEL; + RXQPIEN_ipd <= RXQPIEN; + RXRATE_ipd <= RXRATE; + RXSLIDE_ipd <= RXSLIDE; + RXSYSCLKSEL_ipd <= RXSYSCLKSEL; + RXUSERRDY_ipd <= RXUSERRDY; + SETERRSTATUS_ipd <= SETERRSTATUS; + TSTIN_ipd <= TSTIN; + TX8B10BBYPASS_ipd <= TX8B10BBYPASS; + TX8B10BEN_ipd <= TX8B10BEN; + TXBUFDIFFCTRL_ipd <= TXBUFDIFFCTRL; + TXCHARDISPMODE_ipd <= TXCHARDISPMODE; + TXCHARDISPVAL_ipd <= TXCHARDISPVAL; + TXCHARISK_ipd <= TXCHARISK; + TXCOMINIT_ipd <= TXCOMINIT; + TXCOMSAS_ipd <= TXCOMSAS; + TXCOMWAKE_ipd <= TXCOMWAKE; + TXDATA_ipd <= TXDATA; + TXDEEMPH_ipd <= TXDEEMPH; + TXDETECTRX_ipd <= TXDETECTRX; + TXDIFFCTRL_ipd <= TXDIFFCTRL; + TXDIFFPD_ipd <= TXDIFFPD; + TXDLYBYPASS_ipd <= TXDLYBYPASS; + TXDLYEN_ipd <= TXDLYEN; + TXDLYHOLD_ipd <= TXDLYHOLD; + TXDLYOVRDEN_ipd <= TXDLYOVRDEN; + TXDLYSRESET_ipd <= TXDLYSRESET; + TXDLYUPDOWN_ipd <= TXDLYUPDOWN; + TXELECIDLE_ipd <= TXELECIDLE; + TXHEADER_ipd <= TXHEADER; + TXINHIBIT_ipd <= TXINHIBIT; + TXMAINCURSOR_ipd <= TXMAINCURSOR; + TXMARGIN_ipd <= TXMARGIN; + TXOUTCLKSEL_ipd <= TXOUTCLKSEL; + TXPCSRESET_ipd <= TXPCSRESET; + TXPDELECIDLEMODE_ipd <= TXPDELECIDLEMODE; + TXPD_ipd <= TXPD; + TXPHALIGNEN_ipd <= TXPHALIGNEN; + TXPHALIGN_ipd <= TXPHALIGN; + TXPHDLYPD_ipd <= TXPHDLYPD; + TXPHDLYRESET_ipd <= TXPHDLYRESET; + TXPHINIT_ipd <= TXPHINIT; + TXPHOVRDEN_ipd <= TXPHOVRDEN; + TXPISOPD_ipd <= TXPISOPD; + TXPMARESET_ipd <= TXPMARESET; + TXPOLARITY_ipd <= TXPOLARITY; + TXPOSTCURSORINV_ipd <= TXPOSTCURSORINV; + TXPOSTCURSOR_ipd <= TXPOSTCURSOR; + TXPRBSFORCEERR_ipd <= TXPRBSFORCEERR; + TXPRBSSEL_ipd <= TXPRBSSEL; + TXPRECURSORINV_ipd <= TXPRECURSORINV; + TXPRECURSOR_ipd <= TXPRECURSOR; + TXQPIBIASEN_ipd <= TXQPIBIASEN; + TXQPISTRONGPDOWN_ipd <= TXQPISTRONGPDOWN; + TXQPIWEAKPUP_ipd <= TXQPIWEAKPUP; + TXRATE_ipd <= TXRATE; + TXSEQUENCE_ipd <= TXSEQUENCE; + TXSTARTSEQ_ipd <= TXSTARTSEQ; + TXSWING_ipd <= TXSWING; + TXSYSCLKSEL_ipd <= TXSYSCLKSEL; + TXUSERRDY_ipd <= TXUSERRDY; + + CPLLLOCKDETCLK_indelay <= CPLLLOCKDETCLK_ipd xor IS_CPLLLOCKDETCLK_INVERTED_BIN; + DRPCLK_indelay <= DRPCLK_ipd xor IS_DRPCLK_INVERTED_BIN; + GTGREFCLK_indelay <= GTGREFCLK_ipd xor IS_GTGREFCLK_INVERTED_BIN; + GTNORTHREFCLK0_indelay <= GTNORTHREFCLK0_ipd after INCLK_DELAY; + GTNORTHREFCLK1_indelay <= GTNORTHREFCLK1_ipd after INCLK_DELAY; + GTREFCLK0_indelay <= GTREFCLK0_ipd after INCLK_DELAY; + GTREFCLK1_indelay <= GTREFCLK1_ipd after INCLK_DELAY; + GTSOUTHREFCLK0_indelay <= GTSOUTHREFCLK0_ipd after INCLK_DELAY; + GTSOUTHREFCLK1_indelay <= GTSOUTHREFCLK1_ipd after INCLK_DELAY; + QPLLCLK_indelay <= QPLLCLK_ipd after INCLK_DELAY; + RXUSRCLK2_indelay <= RXUSRCLK2_ipd xor IS_RXUSRCLK2_INVERTED_BIN; + RXUSRCLK_indelay <= RXUSRCLK_ipd xor IS_RXUSRCLK_INVERTED_BIN; + TXPHDLYTSTCLK_indelay <= TXPHDLYTSTCLK_ipd xor IS_TXPHDLYTSTCLK_INVERTED_BIN; + TXUSRCLK2_indelay <= TXUSRCLK2_ipd xor IS_TXUSRCLK2_INVERTED_BIN; + TXUSRCLK_indelay <= TXUSRCLK_ipd xor IS_TXUSRCLK2_INVERTED_BIN; + + CFGRESET_indelay <= CFGRESET_ipd after IN_DELAY; + CLKRSVD_indelay <= CLKRSVD_ipd after IN_DELAY; + CPLLLOCKEN_indelay <= CPLLLOCKEN_ipd after IN_DELAY; + CPLLPD_indelay <= CPLLPD_ipd after IN_DELAY; + CPLLREFCLKSEL_indelay <= CPLLREFCLKSEL_ipd after IN_DELAY; + CPLLRESET_indelay <= CPLLRESET_ipd after IN_DELAY; + DRPADDR_indelay <= DRPADDR_ipd after IN_DELAY; + DRPDI_indelay <= DRPDI_ipd after IN_DELAY; + DRPEN_indelay <= DRPEN_ipd after IN_DELAY; + DRPWE_indelay <= DRPWE_ipd after IN_DELAY; + EYESCANMODE_indelay <= EYESCANMODE_ipd after IN_DELAY; + EYESCANRESET_indelay <= EYESCANRESET_ipd after IN_DELAY; + EYESCANTRIGGER_indelay <= EYESCANTRIGGER_ipd after IN_DELAY; + GTRESETSEL_indelay <= GTRESETSEL_ipd after IN_DELAY; + GTRSVD_indelay <= GTRSVD_ipd after IN_DELAY; + GTRXRESET_indelay <= GTRXRESET_ipd after IN_DELAY; + GTTXRESET_indelay <= GTTXRESET_ipd after IN_DELAY; + GTXRXN_indelay <= GTXRXN_ipd after IN_DELAY; + GTXRXP_indelay <= GTXRXP_ipd after IN_DELAY; + LOOPBACK_indelay <= LOOPBACK_ipd after IN_DELAY; + PCSRSVDIN2_indelay <= PCSRSVDIN2_ipd after IN_DELAY; + PCSRSVDIN_indelay <= PCSRSVDIN_ipd after IN_DELAY; + PMARSVDIN2_indelay <= PMARSVDIN2_ipd after IN_DELAY; + PMARSVDIN_indelay <= PMARSVDIN_ipd after IN_DELAY; + QPLLREFCLK_indelay <= QPLLREFCLK_ipd after IN_DELAY; + RESETOVRD_indelay <= RESETOVRD_ipd after IN_DELAY; + RX8B10BEN_indelay <= RX8B10BEN_ipd after IN_DELAY; + RXBUFRESET_indelay <= RXBUFRESET_ipd after IN_DELAY; + RXCDRFREQRESET_indelay <= RXCDRFREQRESET_ipd after IN_DELAY; + RXCDRHOLD_indelay <= RXCDRHOLD_ipd after IN_DELAY; + RXCDROVRDEN_indelay <= RXCDROVRDEN_ipd after IN_DELAY; + RXCDRRESETRSV_indelay <= RXCDRRESETRSV_ipd after IN_DELAY; + RXCDRRESET_indelay <= RXCDRRESET_ipd after IN_DELAY; + RXCHBONDEN_indelay <= RXCHBONDEN_ipd after IN_DELAY; + RXCHBONDI_indelay <= RXCHBONDI_ipd after IN_DELAY; + RXCHBONDLEVEL_indelay <= RXCHBONDLEVEL_ipd after IN_DELAY; + RXCHBONDMASTER_indelay <= RXCHBONDMASTER_ipd after IN_DELAY; + RXCHBONDSLAVE_indelay <= RXCHBONDSLAVE_ipd after IN_DELAY; + RXCOMMADETEN_indelay <= RXCOMMADETEN_ipd after IN_DELAY; + RXDDIEN_indelay <= RXDDIEN_ipd after IN_DELAY; + RXDFEAGCHOLD_indelay <= RXDFEAGCHOLD_ipd after IN_DELAY; + RXDFEAGCOVRDEN_indelay <= RXDFEAGCOVRDEN_ipd after IN_DELAY; + RXDFECM1EN_indelay <= RXDFECM1EN_ipd after IN_DELAY; + RXDFELFHOLD_indelay <= RXDFELFHOLD_ipd after IN_DELAY; + RXDFELFOVRDEN_indelay <= RXDFELFOVRDEN_ipd after IN_DELAY; + RXDFELPMRESET_indelay <= RXDFELPMRESET_ipd after IN_DELAY; + RXDFETAP2HOLD_indelay <= RXDFETAP2HOLD_ipd after IN_DELAY; + RXDFETAP2OVRDEN_indelay <= RXDFETAP2OVRDEN_ipd after IN_DELAY; + RXDFETAP3HOLD_indelay <= RXDFETAP3HOLD_ipd after IN_DELAY; + RXDFETAP3OVRDEN_indelay <= RXDFETAP3OVRDEN_ipd after IN_DELAY; + RXDFETAP4HOLD_indelay <= RXDFETAP4HOLD_ipd after IN_DELAY; + RXDFETAP4OVRDEN_indelay <= RXDFETAP4OVRDEN_ipd after IN_DELAY; + RXDFETAP5HOLD_indelay <= RXDFETAP5HOLD_ipd after IN_DELAY; + RXDFETAP5OVRDEN_indelay <= RXDFETAP5OVRDEN_ipd after IN_DELAY; + RXDFEUTHOLD_indelay <= RXDFEUTHOLD_ipd after IN_DELAY; + RXDFEUTOVRDEN_indelay <= RXDFEUTOVRDEN_ipd after IN_DELAY; + RXDFEVPHOLD_indelay <= RXDFEVPHOLD_ipd after IN_DELAY; + RXDFEVPOVRDEN_indelay <= RXDFEVPOVRDEN_ipd after IN_DELAY; + RXDFEVSEN_indelay <= RXDFEVSEN_ipd after IN_DELAY; + RXDFEXYDEN_indelay <= RXDFEXYDEN_ipd after IN_DELAY; + RXDFEXYDHOLD_indelay <= RXDFEXYDHOLD_ipd after IN_DELAY; + RXDFEXYDOVRDEN_indelay <= RXDFEXYDOVRDEN_ipd after IN_DELAY; + RXDLYBYPASS_indelay <= RXDLYBYPASS_ipd after IN_DELAY; + RXDLYEN_indelay <= RXDLYEN_ipd after IN_DELAY; + RXDLYOVRDEN_indelay <= RXDLYOVRDEN_ipd after IN_DELAY; + RXDLYSRESET_indelay <= RXDLYSRESET_ipd after IN_DELAY; + RXELECIDLEMODE_indelay <= RXELECIDLEMODE_ipd after IN_DELAY; + RXGEARBOXSLIP_indelay <= RXGEARBOXSLIP_ipd after IN_DELAY; + RXLPMEN_indelay <= RXLPMEN_ipd after IN_DELAY; + RXLPMHFHOLD_indelay <= RXLPMHFHOLD_ipd after IN_DELAY; + RXLPMHFOVRDEN_indelay <= RXLPMHFOVRDEN_ipd after IN_DELAY; + RXLPMLFHOLD_indelay <= RXLPMLFHOLD_ipd after IN_DELAY; + RXLPMLFKLOVRDEN_indelay <= RXLPMLFKLOVRDEN_ipd after IN_DELAY; + RXMCOMMAALIGNEN_indelay <= RXMCOMMAALIGNEN_ipd after IN_DELAY; + RXMONITORSEL_indelay <= RXMONITORSEL_ipd after IN_DELAY; + RXOOBRESET_indelay <= RXOOBRESET_ipd after IN_DELAY; + RXOSHOLD_indelay <= RXOSHOLD_ipd after IN_DELAY; + RXOSOVRDEN_indelay <= RXOSOVRDEN_ipd after IN_DELAY; + RXOUTCLKSEL_indelay <= RXOUTCLKSEL_ipd after IN_DELAY; + RXPCOMMAALIGNEN_indelay <= RXPCOMMAALIGNEN_ipd after IN_DELAY; + RXPCSRESET_indelay <= RXPCSRESET_ipd after IN_DELAY; + RXPD_indelay <= RXPD_ipd after IN_DELAY; + RXPHALIGNEN_indelay <= RXPHALIGNEN_ipd after IN_DELAY; + RXPHALIGN_indelay <= RXPHALIGN_ipd after IN_DELAY; + RXPHDLYPD_indelay <= RXPHDLYPD_ipd after IN_DELAY; + RXPHDLYRESET_indelay <= RXPHDLYRESET_ipd after IN_DELAY; + RXPHOVRDEN_indelay <= RXPHOVRDEN_ipd after IN_DELAY; + RXPMARESET_indelay <= RXPMARESET_ipd after IN_DELAY; + RXPOLARITY_indelay <= RXPOLARITY_ipd after IN_DELAY; + RXPRBSCNTRESET_indelay <= RXPRBSCNTRESET_ipd after IN_DELAY; + RXPRBSSEL_indelay <= RXPRBSSEL_ipd after IN_DELAY; + RXQPIEN_indelay <= RXQPIEN_ipd after IN_DELAY; + RXRATE_indelay <= RXRATE_ipd after IN_DELAY; + RXSLIDE_indelay <= RXSLIDE_ipd after IN_DELAY; + RXSYSCLKSEL_indelay <= RXSYSCLKSEL_ipd after IN_DELAY; + RXUSERRDY_indelay <= RXUSERRDY_ipd after IN_DELAY; + SETERRSTATUS_indelay <= SETERRSTATUS_ipd after IN_DELAY; + TSTIN_indelay <= TSTIN_ipd after IN_DELAY; + TX8B10BBYPASS_indelay <= TX8B10BBYPASS_ipd after IN_DELAY; + TX8B10BEN_indelay <= TX8B10BEN_ipd after IN_DELAY; + TXBUFDIFFCTRL_indelay <= TXBUFDIFFCTRL_ipd after IN_DELAY; + TXCHARDISPMODE_indelay <= TXCHARDISPMODE_ipd after IN_DELAY; + TXCHARDISPVAL_indelay <= TXCHARDISPVAL_ipd after IN_DELAY; + TXCHARISK_indelay <= TXCHARISK_ipd after IN_DELAY; + TXCOMINIT_indelay <= TXCOMINIT_ipd after IN_DELAY; + TXCOMSAS_indelay <= TXCOMSAS_ipd after IN_DELAY; + TXCOMWAKE_indelay <= TXCOMWAKE_ipd after IN_DELAY; + TXDATA_indelay <= TXDATA_ipd after IN_DELAY; + TXDEEMPH_indelay <= TXDEEMPH_ipd after IN_DELAY; + TXDETECTRX_indelay <= TXDETECTRX_ipd after IN_DELAY; + TXDIFFCTRL_indelay <= TXDIFFCTRL_ipd after IN_DELAY; + TXDIFFPD_indelay <= TXDIFFPD_ipd after IN_DELAY; + TXDLYBYPASS_indelay <= TXDLYBYPASS_ipd after IN_DELAY; + TXDLYEN_indelay <= TXDLYEN_ipd after IN_DELAY; + TXDLYHOLD_indelay <= TXDLYHOLD_ipd after IN_DELAY; + TXDLYOVRDEN_indelay <= TXDLYOVRDEN_ipd after IN_DELAY; + TXDLYSRESET_indelay <= TXDLYSRESET_ipd after IN_DELAY; + TXDLYUPDOWN_indelay <= TXDLYUPDOWN_ipd after IN_DELAY; + TXELECIDLE_indelay <= TXELECIDLE_ipd after IN_DELAY; + TXHEADER_indelay <= TXHEADER_ipd after IN_DELAY; + TXINHIBIT_indelay <= TXINHIBIT_ipd after IN_DELAY; + TXMAINCURSOR_indelay <= TXMAINCURSOR_ipd after IN_DELAY; + TXMARGIN_indelay <= TXMARGIN_ipd after IN_DELAY; + TXOUTCLKSEL_indelay <= TXOUTCLKSEL_ipd after IN_DELAY; + TXPCSRESET_indelay <= TXPCSRESET_ipd after IN_DELAY; + TXPDELECIDLEMODE_indelay <= TXPDELECIDLEMODE_ipd after IN_DELAY; + TXPD_indelay <= TXPD_ipd after IN_DELAY; + TXPHALIGNEN_indelay <= TXPHALIGNEN_ipd after IN_DELAY; + TXPHALIGN_indelay <= TXPHALIGN_ipd after IN_DELAY; + TXPHDLYPD_indelay <= TXPHDLYPD_ipd after IN_DELAY; + TXPHDLYRESET_indelay <= TXPHDLYRESET_ipd after IN_DELAY; + TXPHINIT_indelay <= TXPHINIT_ipd after IN_DELAY; + TXPHOVRDEN_indelay <= TXPHOVRDEN_ipd after IN_DELAY; + TXPISOPD_indelay <= TXPISOPD_ipd after IN_DELAY; + TXPMARESET_indelay <= TXPMARESET_ipd after IN_DELAY; + TXPOLARITY_indelay <= TXPOLARITY_ipd after IN_DELAY; + TXPOSTCURSORINV_indelay <= TXPOSTCURSORINV_ipd after IN_DELAY; + TXPOSTCURSOR_indelay <= TXPOSTCURSOR_ipd after IN_DELAY; + TXPRBSFORCEERR_indelay <= TXPRBSFORCEERR_ipd after IN_DELAY; + TXPRBSSEL_indelay <= TXPRBSSEL_ipd after IN_DELAY; + TXPRECURSORINV_indelay <= TXPRECURSORINV_ipd after IN_DELAY; + TXPRECURSOR_indelay <= TXPRECURSOR_ipd after IN_DELAY; + TXQPIBIASEN_indelay <= TXQPIBIASEN_ipd after IN_DELAY; + TXQPISTRONGPDOWN_indelay <= TXQPISTRONGPDOWN_ipd after IN_DELAY; + TXQPIWEAKPUP_indelay <= TXQPIWEAKPUP_ipd after IN_DELAY; + TXRATE_indelay <= TXRATE_ipd after IN_DELAY; + TXSEQUENCE_indelay <= TXSEQUENCE_ipd after IN_DELAY; + TXSTARTSEQ_indelay <= TXSTARTSEQ_ipd after IN_DELAY; + TXSWING_indelay <= TXSWING_ipd after IN_DELAY; + TXSYSCLKSEL_indelay <= TXSYSCLKSEL_ipd after IN_DELAY; + TXUSERRDY_indelay <= TXUSERRDY_ipd after IN_DELAY; + + + IS_CPLLLOCKDETCLK_INVERTED_BIN <= TO_X01(IS_CPLLLOCKDETCLK_INVERTED); + IS_DRPCLK_INVERTED_BIN <= TO_X01(IS_DRPCLK_INVERTED); + IS_GTGREFCLK_INVERTED_BIN <= TO_X01(IS_GTGREFCLK_INVERTED); + IS_RXUSRCLK2_INVERTED_BIN <= TO_X01(IS_RXUSRCLK2_INVERTED); + IS_RXUSRCLK_INVERTED_BIN <= TO_X01(IS_RXUSRCLK_INVERTED); + IS_TXPHDLYTSTCLK_INVERTED_BIN <= TO_X01(IS_TXPHDLYTSTCLK_INVERTED); + IS_TXUSRCLK2_INVERTED_BIN <= TO_X01(IS_TXUSRCLK2_INVERTED); + IS_TXUSRCLK_INVERTED_BIN <= TO_X01(IS_TXUSRCLK_INVERTED); + + GTXE2_CHANNEL_INST : GTXE2_CHANNEL_FAST_WRAP + generic map ( + ALIGN_COMMA_DOUBLE => ALIGN_COMMA_DOUBLE, + ALIGN_COMMA_ENABLE => ALIGN_COMMA_ENABLE_STRING, + ALIGN_COMMA_WORD => ALIGN_COMMA_WORD, + ALIGN_MCOMMA_DET => ALIGN_MCOMMA_DET, + ALIGN_MCOMMA_VALUE => ALIGN_MCOMMA_VALUE_STRING, + ALIGN_PCOMMA_DET => ALIGN_PCOMMA_DET, + ALIGN_PCOMMA_VALUE => ALIGN_PCOMMA_VALUE_STRING, + CBCC_DATA_SOURCE_SEL => CBCC_DATA_SOURCE_SEL, + CHAN_BOND_KEEP_ALIGN => CHAN_BOND_KEEP_ALIGN, + CHAN_BOND_MAX_SKEW => CHAN_BOND_MAX_SKEW, + CHAN_BOND_SEQ_1_1 => CHAN_BOND_SEQ_1_1_STRING, + CHAN_BOND_SEQ_1_2 => CHAN_BOND_SEQ_1_2_STRING, + CHAN_BOND_SEQ_1_3 => CHAN_BOND_SEQ_1_3_STRING, + CHAN_BOND_SEQ_1_4 => CHAN_BOND_SEQ_1_4_STRING, + CHAN_BOND_SEQ_1_ENABLE => CHAN_BOND_SEQ_1_ENABLE_STRING, + CHAN_BOND_SEQ_2_1 => CHAN_BOND_SEQ_2_1_STRING, + CHAN_BOND_SEQ_2_2 => CHAN_BOND_SEQ_2_2_STRING, + CHAN_BOND_SEQ_2_3 => CHAN_BOND_SEQ_2_3_STRING, + CHAN_BOND_SEQ_2_4 => CHAN_BOND_SEQ_2_4_STRING, + CHAN_BOND_SEQ_2_ENABLE => CHAN_BOND_SEQ_2_ENABLE_STRING, + CHAN_BOND_SEQ_2_USE => CHAN_BOND_SEQ_2_USE, + CHAN_BOND_SEQ_LEN => CHAN_BOND_SEQ_LEN, + CLK_CORRECT_USE => CLK_CORRECT_USE, + CLK_COR_KEEP_IDLE => CLK_COR_KEEP_IDLE, + CLK_COR_MAX_LAT => CLK_COR_MAX_LAT, + CLK_COR_MIN_LAT => CLK_COR_MIN_LAT, + CLK_COR_PRECEDENCE => CLK_COR_PRECEDENCE, + CLK_COR_REPEAT_WAIT => CLK_COR_REPEAT_WAIT, + CLK_COR_SEQ_1_1 => CLK_COR_SEQ_1_1_STRING, + CLK_COR_SEQ_1_2 => CLK_COR_SEQ_1_2_STRING, + CLK_COR_SEQ_1_3 => CLK_COR_SEQ_1_3_STRING, + CLK_COR_SEQ_1_4 => CLK_COR_SEQ_1_4_STRING, + CLK_COR_SEQ_1_ENABLE => CLK_COR_SEQ_1_ENABLE_STRING, + CLK_COR_SEQ_2_1 => CLK_COR_SEQ_2_1_STRING, + CLK_COR_SEQ_2_2 => CLK_COR_SEQ_2_2_STRING, + CLK_COR_SEQ_2_3 => CLK_COR_SEQ_2_3_STRING, + CLK_COR_SEQ_2_4 => CLK_COR_SEQ_2_4_STRING, + CLK_COR_SEQ_2_ENABLE => CLK_COR_SEQ_2_ENABLE_STRING, + CLK_COR_SEQ_2_USE => CLK_COR_SEQ_2_USE, + CLK_COR_SEQ_LEN => CLK_COR_SEQ_LEN, + CPLL_CFG => CPLL_CFG_STRING, + CPLL_FBDIV => CPLL_FBDIV, + CPLL_FBDIV_45 => CPLL_FBDIV_45, + CPLL_INIT_CFG => CPLL_INIT_CFG_STRING, + CPLL_LOCK_CFG => CPLL_LOCK_CFG_STRING, + CPLL_REFCLK_DIV => CPLL_REFCLK_DIV, + DEC_MCOMMA_DETECT => DEC_MCOMMA_DETECT, + DEC_PCOMMA_DETECT => DEC_PCOMMA_DETECT, + DEC_VALID_COMMA_ONLY => DEC_VALID_COMMA_ONLY, + DMONITOR_CFG => DMONITOR_CFG_STRING, + ES_CONTROL => ES_CONTROL_STRING, + ES_ERRDET_EN => ES_ERRDET_EN, + ES_EYE_SCAN_EN => ES_EYE_SCAN_EN, + ES_HORZ_OFFSET => ES_HORZ_OFFSET_STRING, + ES_PMA_CFG => ES_PMA_CFG_STRING, + ES_PRESCALE => ES_PRESCALE_STRING, + ES_QUALIFIER => ES_QUALIFIER_STRING, + ES_QUAL_MASK => ES_QUAL_MASK_STRING, + ES_SDATA_MASK => ES_SDATA_MASK_STRING, + ES_VERT_OFFSET => ES_VERT_OFFSET_STRING, + FTS_DESKEW_SEQ_ENABLE => FTS_DESKEW_SEQ_ENABLE_STRING, + FTS_LANE_DESKEW_CFG => FTS_LANE_DESKEW_CFG_STRING, + FTS_LANE_DESKEW_EN => FTS_LANE_DESKEW_EN, + GEARBOX_MODE => GEARBOX_MODE_STRING, + OUTREFCLK_SEL_INV => OUTREFCLK_SEL_INV_STRING, + PCS_PCIE_EN => PCS_PCIE_EN, + PCS_RSVD_ATTR => PCS_RSVD_ATTR_STRING, + PD_TRANS_TIME_FROM_P2 => PD_TRANS_TIME_FROM_P2_STRING, + PD_TRANS_TIME_NONE_P2 => PD_TRANS_TIME_NONE_P2_STRING, + PD_TRANS_TIME_TO_P2 => PD_TRANS_TIME_TO_P2_STRING, + PMA_RSV => PMA_RSV_STRING, + PMA_RSV2 => PMA_RSV2_STRING, + PMA_RSV3 => PMA_RSV3_STRING, + PMA_RSV4 => PMA_RSV4_STRING, + RXBUFRESET_TIME => RXBUFRESET_TIME_STRING, + RXBUF_ADDR_MODE => RXBUF_ADDR_MODE, + RXBUF_EIDLE_HI_CNT => RXBUF_EIDLE_HI_CNT_STRING, + RXBUF_EIDLE_LO_CNT => RXBUF_EIDLE_LO_CNT_STRING, + RXBUF_EN => RXBUF_EN, + RXBUF_RESET_ON_CB_CHANGE => RXBUF_RESET_ON_CB_CHANGE, + RXBUF_RESET_ON_COMMAALIGN => RXBUF_RESET_ON_COMMAALIGN, + RXBUF_RESET_ON_EIDLE => RXBUF_RESET_ON_EIDLE, + RXBUF_RESET_ON_RATE_CHANGE => RXBUF_RESET_ON_RATE_CHANGE, + RXBUF_THRESH_OVFLW => RXBUF_THRESH_OVFLW, + RXBUF_THRESH_OVRD => RXBUF_THRESH_OVRD, + RXBUF_THRESH_UNDFLW => RXBUF_THRESH_UNDFLW, + RXCDRFREQRESET_TIME => RXCDRFREQRESET_TIME_STRING, + RXCDRPHRESET_TIME => RXCDRPHRESET_TIME_STRING, + RXCDR_CFG => RXCDR_CFG_STRING, + RXCDR_FR_RESET_ON_EIDLE => RXCDR_FR_RESET_ON_EIDLE_STRING, + RXCDR_HOLD_DURING_EIDLE => RXCDR_HOLD_DURING_EIDLE_STRING, + RXCDR_LOCK_CFG => RXCDR_LOCK_CFG_STRING, + RXCDR_PH_RESET_ON_EIDLE => RXCDR_PH_RESET_ON_EIDLE_STRING, + RXDFELPMRESET_TIME => RXDFELPMRESET_TIME_STRING, + RXDLY_CFG => RXDLY_CFG_STRING, + RXDLY_LCFG => RXDLY_LCFG_STRING, + RXDLY_TAP_CFG => RXDLY_TAP_CFG_STRING, + RXGEARBOX_EN => RXGEARBOX_EN, + RXISCANRESET_TIME => RXISCANRESET_TIME_STRING, + RXLPM_HF_CFG => RXLPM_HF_CFG_STRING, + RXLPM_LF_CFG => RXLPM_LF_CFG_STRING, + RXOOB_CFG => RXOOB_CFG_STRING, + RXOUT_DIV => RXOUT_DIV, + RXPCSRESET_TIME => RXPCSRESET_TIME_STRING, + RXPHDLY_CFG => RXPHDLY_CFG_STRING, + RXPH_CFG => RXPH_CFG_STRING, + RXPH_MONITOR_SEL => RXPH_MONITOR_SEL_STRING, + RXPMARESET_TIME => RXPMARESET_TIME_STRING, + RXPRBS_ERR_LOOPBACK => RXPRBS_ERR_LOOPBACK_STRING, + RXSLIDE_AUTO_WAIT => RXSLIDE_AUTO_WAIT, + RXSLIDE_MODE => RXSLIDE_MODE, + RX_BIAS_CFG => RX_BIAS_CFG_STRING, + RX_BUFFER_CFG => RX_BUFFER_CFG_STRING, + RX_CLK25_DIV => RX_CLK25_DIV, + RX_CLKMUX_PD => RX_CLKMUX_PD_STRING, + RX_CM_SEL => RX_CM_SEL_STRING, + RX_CM_TRIM => RX_CM_TRIM_STRING, + RX_DATA_WIDTH => RX_DATA_WIDTH, + RX_DDI_SEL => RX_DDI_SEL_STRING, + RX_DEBUG_CFG => RX_DEBUG_CFG_STRING, + RX_DEFER_RESET_BUF_EN => RX_DEFER_RESET_BUF_EN, + RX_DFE_GAIN_CFG => RX_DFE_GAIN_CFG_STRING, + RX_DFE_H2_CFG => RX_DFE_H2_CFG_STRING, + RX_DFE_H3_CFG => RX_DFE_H3_CFG_STRING, + RX_DFE_H4_CFG => RX_DFE_H4_CFG_STRING, + RX_DFE_H5_CFG => RX_DFE_H5_CFG_STRING, + RX_DFE_KL_CFG => RX_DFE_KL_CFG_STRING, + RX_DFE_KL_CFG2 => RX_DFE_KL_CFG2_STRING, + RX_DFE_LPM_CFG => RX_DFE_LPM_CFG_STRING, + RX_DFE_LPM_HOLD_DURING_EIDLE => RX_DFE_LPM_HOLD_DURING_EIDLE_STRING, + RX_DFE_UT_CFG => RX_DFE_UT_CFG_STRING, + RX_DFE_VP_CFG => RX_DFE_VP_CFG_STRING, + RX_DFE_XYD_CFG => RX_DFE_XYD_CFG_STRING, + RX_DISPERR_SEQ_MATCH => RX_DISPERR_SEQ_MATCH, + RX_INT_DATAWIDTH => RX_INT_DATAWIDTH, + RX_OS_CFG => RX_OS_CFG_STRING, + RX_SIG_VALID_DLY => RX_SIG_VALID_DLY, + RX_XCLK_SEL => RX_XCLK_SEL, + SAS_MAX_COM => SAS_MAX_COM, + SAS_MIN_COM => SAS_MIN_COM, + SATA_BURST_SEQ_LEN => SATA_BURST_SEQ_LEN_STRING, + SATA_BURST_VAL => SATA_BURST_VAL_STRING, + SATA_CPLL_CFG => SATA_CPLL_CFG, + SATA_EIDLE_VAL => SATA_EIDLE_VAL_STRING, + SATA_MAX_BURST => SATA_MAX_BURST, + SATA_MAX_INIT => SATA_MAX_INIT, + SATA_MAX_WAKE => SATA_MAX_WAKE, + SATA_MIN_BURST => SATA_MIN_BURST, + SATA_MIN_INIT => SATA_MIN_INIT, + SATA_MIN_WAKE => SATA_MIN_WAKE, + SHOW_REALIGN_COMMA => SHOW_REALIGN_COMMA, + SIM_CPLLREFCLK_SEL => SIM_CPLLREFCLK_SEL_STRING, + SIM_RECEIVER_DETECT_PASS => SIM_RECEIVER_DETECT_PASS, + SIM_RESET_SPEEDUP => SIM_RESET_SPEEDUP, + SIM_TX_EIDLE_DRIVE_LEVEL => SIM_TX_EIDLE_DRIVE_LEVEL, + SIM_VERSION => SIM_VERSION, + TERM_RCAL_CFG => TERM_RCAL_CFG_STRING, + TERM_RCAL_OVRD => TERM_RCAL_OVRD_STRING, + TRANS_TIME_RATE => TRANS_TIME_RATE_STRING, + TST_RSV => TST_RSV_STRING, + TXBUF_EN => TXBUF_EN, + TXBUF_RESET_ON_RATE_CHANGE => TXBUF_RESET_ON_RATE_CHANGE, + TXDLY_CFG => TXDLY_CFG_STRING, + TXDLY_LCFG => TXDLY_LCFG_STRING, + TXDLY_TAP_CFG => TXDLY_TAP_CFG_STRING, + TXGEARBOX_EN => TXGEARBOX_EN, + TXOUT_DIV => TXOUT_DIV, + TXPCSRESET_TIME => TXPCSRESET_TIME_STRING, + TXPHDLY_CFG => TXPHDLY_CFG_STRING, + TXPH_CFG => TXPH_CFG_STRING, + TXPH_MONITOR_SEL => TXPH_MONITOR_SEL_STRING, + TXPMARESET_TIME => TXPMARESET_TIME_STRING, + TX_CLK25_DIV => TX_CLK25_DIV, + TX_CLKMUX_PD => TX_CLKMUX_PD_STRING, + TX_DATA_WIDTH => TX_DATA_WIDTH, + TX_DEEMPH0 => TX_DEEMPH0_STRING, + TX_DEEMPH1 => TX_DEEMPH1_STRING, + TX_DRIVE_MODE => TX_DRIVE_MODE, + TX_EIDLE_ASSERT_DELAY => TX_EIDLE_ASSERT_DELAY_STRING, + TX_EIDLE_DEASSERT_DELAY => TX_EIDLE_DEASSERT_DELAY_STRING, + TX_INT_DATAWIDTH => TX_INT_DATAWIDTH, + TX_LOOPBACK_DRIVE_HIZ => TX_LOOPBACK_DRIVE_HIZ, + TX_MAINCURSOR_SEL => TX_MAINCURSOR_SEL_STRING, + TX_MARGIN_FULL_0 => TX_MARGIN_FULL_0_STRING, + TX_MARGIN_FULL_1 => TX_MARGIN_FULL_1_STRING, + TX_MARGIN_FULL_2 => TX_MARGIN_FULL_2_STRING, + TX_MARGIN_FULL_3 => TX_MARGIN_FULL_3_STRING, + TX_MARGIN_FULL_4 => TX_MARGIN_FULL_4_STRING, + TX_MARGIN_LOW_0 => TX_MARGIN_LOW_0_STRING, + TX_MARGIN_LOW_1 => TX_MARGIN_LOW_1_STRING, + TX_MARGIN_LOW_2 => TX_MARGIN_LOW_2_STRING, + TX_MARGIN_LOW_3 => TX_MARGIN_LOW_3_STRING, + TX_MARGIN_LOW_4 => TX_MARGIN_LOW_4_STRING, + TX_PREDRIVER_MODE => TX_PREDRIVER_MODE_STRING, + TX_QPI_STATUS_EN => TX_QPI_STATUS_EN_STRING, + TX_RXDETECT_CFG => TX_RXDETECT_CFG_STRING, + TX_RXDETECT_REF => TX_RXDETECT_REF_STRING, + TX_XCLK_SEL => TX_XCLK_SEL, + UCODEER_CLR => UCODEER_CLR_STRING + ) + + port map ( + GSR => TO_X01(GSR), + CPLLFBCLKLOST => CPLLFBCLKLOST_outdelay, + CPLLLOCK => CPLLLOCK_outdelay, + CPLLREFCLKLOST => CPLLREFCLKLOST_outdelay, + DMONITOROUT => DMONITOROUT_outdelay, + DRPDO => DRPDO_outdelay, + DRPRDY => DRPRDY_outdelay, + EYESCANDATAERROR => EYESCANDATAERROR_outdelay, + GTREFCLKMONITOR => GTREFCLKMONITOR_outdelay, + GTXTXN => GTXTXN_outdelay, + GTXTXP => GTXTXP_outdelay, + PCSRSVDOUT => PCSRSVDOUT_outdelay, + PHYSTATUS => PHYSTATUS_outdelay, + RXBUFSTATUS => RXBUFSTATUS_outdelay, + RXBYTEISALIGNED => RXBYTEISALIGNED_outdelay, + RXBYTEREALIGN => RXBYTEREALIGN_outdelay, + RXCDRLOCK => RXCDRLOCK_outdelay, + RXCHANBONDSEQ => RXCHANBONDSEQ_outdelay, + RXCHANISALIGNED => RXCHANISALIGNED_outdelay, + RXCHANREALIGN => RXCHANREALIGN_outdelay, + RXCHARISCOMMA => RXCHARISCOMMA_outdelay, + RXCHARISK => RXCHARISK_outdelay, + RXCHBONDO => RXCHBONDO_outdelay, + RXCLKCORCNT => RXCLKCORCNT_outdelay, + RXCOMINITDET => RXCOMINITDET_outdelay, + RXCOMMADET => RXCOMMADET_outdelay, + RXCOMSASDET => RXCOMSASDET_outdelay, + RXCOMWAKEDET => RXCOMWAKEDET_outdelay, + RXDATA => RXDATA_outdelay, + RXDATAVALID => RXDATAVALID_outdelay, + RXDISPERR => RXDISPERR_outdelay, + RXDLYSRESETDONE => RXDLYSRESETDONE_outdelay, + RXELECIDLE => RXELECIDLE_outdelay, + RXHEADER => RXHEADER_outdelay, + RXHEADERVALID => RXHEADERVALID_outdelay, + RXMONITOROUT => RXMONITOROUT_outdelay, + RXNOTINTABLE => RXNOTINTABLE_outdelay, + RXOUTCLK => RXOUTCLK_outdelay, + RXOUTCLKFABRIC => RXOUTCLKFABRIC_outdelay, + RXOUTCLKPCS => RXOUTCLKPCS_outdelay, + RXPHALIGNDONE => RXPHALIGNDONE_outdelay, + RXPHMONITOR => RXPHMONITOR_outdelay, + RXPHSLIPMONITOR => RXPHSLIPMONITOR_outdelay, + RXPRBSERR => RXPRBSERR_outdelay, + RXQPISENN => RXQPISENN_outdelay, + RXQPISENP => RXQPISENP_outdelay, + RXRATEDONE => RXRATEDONE_outdelay, + RXRESETDONE => RXRESETDONE_outdelay, + RXSTARTOFSEQ => RXSTARTOFSEQ_outdelay, + RXSTATUS => RXSTATUS_outdelay, + RXVALID => RXVALID_outdelay, + TSTOUT => TSTOUT_outdelay, + TXBUFSTATUS => TXBUFSTATUS_outdelay, + TXCOMFINISH => TXCOMFINISH_outdelay, + TXDLYSRESETDONE => TXDLYSRESETDONE_outdelay, + TXGEARBOXREADY => TXGEARBOXREADY_outdelay, + TXOUTCLK => TXOUTCLK_outdelay, + TXOUTCLKFABRIC => TXOUTCLKFABRIC_outdelay, + TXOUTCLKPCS => TXOUTCLKPCS_outdelay, + TXPHALIGNDONE => TXPHALIGNDONE_outdelay, + TXPHINITDONE => TXPHINITDONE_outdelay, + TXQPISENN => TXQPISENN_outdelay, + TXQPISENP => TXQPISENP_outdelay, + TXRATEDONE => TXRATEDONE_outdelay, + TXRESETDONE => TXRESETDONE_outdelay, + CFGRESET => CFGRESET_indelay, + CLKRSVD => CLKRSVD_indelay, + CPLLLOCKDETCLK => CPLLLOCKDETCLK_indelay, + CPLLLOCKEN => CPLLLOCKEN_indelay, + CPLLPD => CPLLPD_indelay, + CPLLREFCLKSEL => CPLLREFCLKSEL_indelay, + CPLLRESET => CPLLRESET_indelay, + DRPADDR => DRPADDR_indelay, + DRPCLK => DRPCLK_indelay, + DRPDI => DRPDI_indelay, + DRPEN => DRPEN_indelay, + DRPWE => DRPWE_indelay, + EYESCANMODE => EYESCANMODE_indelay, + EYESCANRESET => EYESCANRESET_indelay, + EYESCANTRIGGER => EYESCANTRIGGER_indelay, + GTGREFCLK => GTGREFCLK_indelay, + GTNORTHREFCLK0 => GTNORTHREFCLK0_indelay, + GTNORTHREFCLK1 => GTNORTHREFCLK1_indelay, + GTREFCLK0 => GTREFCLK0_indelay, + GTREFCLK1 => GTREFCLK1_indelay, + GTRESETSEL => GTRESETSEL_indelay, + GTRSVD => GTRSVD_indelay, + GTRXRESET => GTRXRESET_indelay, + GTSOUTHREFCLK0 => GTSOUTHREFCLK0_indelay, + GTSOUTHREFCLK1 => GTSOUTHREFCLK1_indelay, + GTTXRESET => GTTXRESET_indelay, + GTXRXN => GTXRXN_indelay, + GTXRXP => GTXRXP_indelay, + LOOPBACK => LOOPBACK_indelay, + PCSRSVDIN => PCSRSVDIN_indelay, + PCSRSVDIN2 => PCSRSVDIN2_indelay, + PMARSVDIN => PMARSVDIN_indelay, + PMARSVDIN2 => PMARSVDIN2_indelay, + QPLLCLK => QPLLCLK_indelay, + QPLLREFCLK => QPLLREFCLK_indelay, + RESETOVRD => RESETOVRD_indelay, + RX8B10BEN => RX8B10BEN_indelay, + RXBUFRESET => RXBUFRESET_indelay, + RXCDRFREQRESET => RXCDRFREQRESET_indelay, + RXCDRHOLD => RXCDRHOLD_indelay, + RXCDROVRDEN => RXCDROVRDEN_indelay, + RXCDRRESET => RXCDRRESET_indelay, + RXCDRRESETRSV => RXCDRRESETRSV_indelay, + RXCHBONDEN => RXCHBONDEN_indelay, + RXCHBONDI => RXCHBONDI_indelay, + RXCHBONDLEVEL => RXCHBONDLEVEL_indelay, + RXCHBONDMASTER => RXCHBONDMASTER_indelay, + RXCHBONDSLAVE => RXCHBONDSLAVE_indelay, + RXCOMMADETEN => RXCOMMADETEN_indelay, + RXDDIEN => RXDDIEN_indelay, + RXDFEAGCHOLD => RXDFEAGCHOLD_indelay, + RXDFEAGCOVRDEN => RXDFEAGCOVRDEN_indelay, + RXDFECM1EN => RXDFECM1EN_indelay, + RXDFELFHOLD => RXDFELFHOLD_indelay, + RXDFELFOVRDEN => RXDFELFOVRDEN_indelay, + RXDFELPMRESET => RXDFELPMRESET_indelay, + RXDFETAP2HOLD => RXDFETAP2HOLD_indelay, + RXDFETAP2OVRDEN => RXDFETAP2OVRDEN_indelay, + RXDFETAP3HOLD => RXDFETAP3HOLD_indelay, + RXDFETAP3OVRDEN => RXDFETAP3OVRDEN_indelay, + RXDFETAP4HOLD => RXDFETAP4HOLD_indelay, + RXDFETAP4OVRDEN => RXDFETAP4OVRDEN_indelay, + RXDFETAP5HOLD => RXDFETAP5HOLD_indelay, + RXDFETAP5OVRDEN => RXDFETAP5OVRDEN_indelay, + RXDFEUTHOLD => RXDFEUTHOLD_indelay, + RXDFEUTOVRDEN => RXDFEUTOVRDEN_indelay, + RXDFEVPHOLD => RXDFEVPHOLD_indelay, + RXDFEVPOVRDEN => RXDFEVPOVRDEN_indelay, + RXDFEVSEN => RXDFEVSEN_indelay, + RXDFEXYDEN => RXDFEXYDEN_indelay, + RXDFEXYDHOLD => RXDFEXYDHOLD_indelay, + RXDFEXYDOVRDEN => RXDFEXYDOVRDEN_indelay, + RXDLYBYPASS => RXDLYBYPASS_indelay, + RXDLYEN => RXDLYEN_indelay, + RXDLYOVRDEN => RXDLYOVRDEN_indelay, + RXDLYSRESET => RXDLYSRESET_indelay, + RXELECIDLEMODE => RXELECIDLEMODE_indelay, + RXGEARBOXSLIP => RXGEARBOXSLIP_indelay, + RXLPMEN => RXLPMEN_indelay, + RXLPMHFHOLD => RXLPMHFHOLD_indelay, + RXLPMHFOVRDEN => RXLPMHFOVRDEN_indelay, + RXLPMLFHOLD => RXLPMLFHOLD_indelay, + RXLPMLFKLOVRDEN => RXLPMLFKLOVRDEN_indelay, + RXMCOMMAALIGNEN => RXMCOMMAALIGNEN_indelay, + RXMONITORSEL => RXMONITORSEL_indelay, + RXOOBRESET => RXOOBRESET_indelay, + RXOSHOLD => RXOSHOLD_indelay, + RXOSOVRDEN => RXOSOVRDEN_indelay, + RXOUTCLKSEL => RXOUTCLKSEL_indelay, + RXPCOMMAALIGNEN => RXPCOMMAALIGNEN_indelay, + RXPCSRESET => RXPCSRESET_indelay, + RXPD => RXPD_indelay, + RXPHALIGN => RXPHALIGN_indelay, + RXPHALIGNEN => RXPHALIGNEN_indelay, + RXPHDLYPD => RXPHDLYPD_indelay, + RXPHDLYRESET => RXPHDLYRESET_indelay, + RXPHOVRDEN => RXPHOVRDEN_indelay, + RXPMARESET => RXPMARESET_indelay, + RXPOLARITY => RXPOLARITY_indelay, + RXPRBSCNTRESET => RXPRBSCNTRESET_indelay, + RXPRBSSEL => RXPRBSSEL_indelay, + RXQPIEN => RXQPIEN_indelay, + RXRATE => RXRATE_indelay, + RXSLIDE => RXSLIDE_indelay, + RXSYSCLKSEL => RXSYSCLKSEL_indelay, + RXUSERRDY => RXUSERRDY_indelay, + RXUSRCLK => RXUSRCLK_indelay, + RXUSRCLK2 => RXUSRCLK2_indelay, + SETERRSTATUS => SETERRSTATUS_indelay, + TSTIN => TSTIN_indelay, + TX8B10BBYPASS => TX8B10BBYPASS_indelay, + TX8B10BEN => TX8B10BEN_indelay, + TXBUFDIFFCTRL => TXBUFDIFFCTRL_indelay, + TXCHARDISPMODE => TXCHARDISPMODE_indelay, + TXCHARDISPVAL => TXCHARDISPVAL_indelay, + TXCHARISK => TXCHARISK_indelay, + TXCOMINIT => TXCOMINIT_indelay, + TXCOMSAS => TXCOMSAS_indelay, + TXCOMWAKE => TXCOMWAKE_indelay, + TXDATA => TXDATA_indelay, + TXDEEMPH => TXDEEMPH_indelay, + TXDETECTRX => TXDETECTRX_indelay, + TXDIFFCTRL => TXDIFFCTRL_indelay, + TXDIFFPD => TXDIFFPD_indelay, + TXDLYBYPASS => TXDLYBYPASS_indelay, + TXDLYEN => TXDLYEN_indelay, + TXDLYHOLD => TXDLYHOLD_indelay, + TXDLYOVRDEN => TXDLYOVRDEN_indelay, + TXDLYSRESET => TXDLYSRESET_indelay, + TXDLYUPDOWN => TXDLYUPDOWN_indelay, + TXELECIDLE => TXELECIDLE_indelay, + TXHEADER => TXHEADER_indelay, + TXINHIBIT => TXINHIBIT_indelay, + TXMAINCURSOR => TXMAINCURSOR_indelay, + TXMARGIN => TXMARGIN_indelay, + TXOUTCLKSEL => TXOUTCLKSEL_indelay, + TXPCSRESET => TXPCSRESET_indelay, + TXPD => TXPD_indelay, + TXPDELECIDLEMODE => TXPDELECIDLEMODE_indelay, + TXPHALIGN => TXPHALIGN_indelay, + TXPHALIGNEN => TXPHALIGNEN_indelay, + TXPHDLYPD => TXPHDLYPD_indelay, + TXPHDLYRESET => TXPHDLYRESET_indelay, + TXPHDLYTSTCLK => TXPHDLYTSTCLK_indelay, + TXPHINIT => TXPHINIT_indelay, + TXPHOVRDEN => TXPHOVRDEN_indelay, + TXPISOPD => TXPISOPD_indelay, + TXPMARESET => TXPMARESET_indelay, + TXPOLARITY => TXPOLARITY_indelay, + TXPOSTCURSOR => TXPOSTCURSOR_indelay, + TXPOSTCURSORINV => TXPOSTCURSORINV_indelay, + TXPRBSFORCEERR => TXPRBSFORCEERR_indelay, + TXPRBSSEL => TXPRBSSEL_indelay, + TXPRECURSOR => TXPRECURSOR_indelay, + TXPRECURSORINV => TXPRECURSORINV_indelay, + TXQPIBIASEN => TXQPIBIASEN_indelay, + TXQPISTRONGPDOWN => TXQPISTRONGPDOWN_indelay, + TXQPIWEAKPUP => TXQPIWEAKPUP_indelay, + TXRATE => TXRATE_indelay, + TXSEQUENCE => TXSEQUENCE_indelay, + TXSTARTSEQ => TXSTARTSEQ_indelay, + TXSWING => TXSWING_indelay, + TXSYSCLKSEL => TXSYSCLKSEL_indelay, + TXUSERRDY => TXUSERRDY_indelay, + TXUSRCLK => TXUSRCLK_indelay, + TXUSRCLK2 => TXUSRCLK2_indelay + ); + + + drp_monitor: process (DRPCLK_indelay) + + variable drpen_r1 : std_logic := '0'; + variable drpen_r2 : std_logic := '0'; + variable drpwe_r1 : std_logic := '0'; + variable drpwe_r2 : std_logic := '0'; + type statetype is (FSM_IDLE, FSM_WAIT); + variable sfsm : statetype := FSM_IDLE; + + begin -- process drp_monitor + + if (rising_edge(DRPCLK_indelay)) then + + -- pipeline the DRPEN and DRPWE + drpen_r2 := drpen_r1; + drpwe_r2 := drpwe_r1; + drpen_r1 := DRPEN_indelay; + drpwe_r1 := DRPWE_indelay; + + + -- Check - if DRPEN or DRPWE is more than 1 DCLK + if ((drpen_r1 = '1') and (drpen_r2 = '1')) then + assert false + report "DRC Error : DRPEN is high for more than 1 DRPCLK." + severity failure; + end if; + + if ((drpwe_r1 = '1') and (drpwe_r2 = '1')) then + assert false + report "DRC Error : DRPWE is high for more than 1 DRPCLK." + severity failure; + end if; + + + -- After the 1st DRPEN pulse, check the DRPEN and DRPRDY. + case sfsm is + when FSM_IDLE => + if (DRPEN_indelay = '1') then + sfsm := FSM_WAIT; + end if; + + when FSM_WAIT => + + -- After the 1st DRPEN, 4 cases can happen + -- DRPEN DRPRDY NEXT STATE + -- 0 0 FSM_WAIT - wait for DRPRDY + -- 0 1 FSM_IDLE - normal operation + -- 1 0 FSM_WAIT - display error and wait for DRPRDY + -- 1 1 FSM_WAIT - normal operation. Per UG470, DRPEN and DRPRDY can be at the same cycle.; + -- Add the check for another DPREN pulse + if(DRPEN_indelay = '1' and DRPRDY_out = '0') then + assert false + report "DRC Error : DRPEN is enabled before DRPRDY returns." + severity failure; + end if; + + -- Add the check for another DRPWE pulse + if ((DRPWE_indelay = '1') and (DRPEN_indelay = '0')) then + assert false + report "DRC Error : DRPWE is enabled before DRPRDY returns." + severity failure; + end if; + + if ((DRPRDY_out = '1') and (DRPEN_indelay = '0')) then + sfsm := FSM_IDLE; + end if; + + + if ((DRPRDY_out = '1') and (DRPEN_indelay = '1')) then + sfsm := FSM_WAIT; + end if; + + + when others => + assert false + report "DRC Error : Default state in DRP FSM." + severity failure; + + end case; + + end if; + + end process drp_monitor; + + + INIPROC : process + begin + -- case ALIGN_COMMA_DOUBLE is + if((ALIGN_COMMA_DOUBLE = "FALSE") or (ALIGN_COMMA_DOUBLE = "false")) then + ALIGN_COMMA_DOUBLE_BINARY <= '0'; + elsif((ALIGN_COMMA_DOUBLE = "TRUE") or (ALIGN_COMMA_DOUBLE= "true")) then + ALIGN_COMMA_DOUBLE_BINARY <= '1'; + else + assert FALSE report "Error : ALIGN_COMMA_DOUBLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case ALIGN_MCOMMA_DET is + if((ALIGN_MCOMMA_DET = "TRUE") or (ALIGN_MCOMMA_DET = "true")) then + ALIGN_MCOMMA_DET_BINARY <= '1'; + elsif((ALIGN_MCOMMA_DET = "FALSE") or (ALIGN_MCOMMA_DET= "false")) then + ALIGN_MCOMMA_DET_BINARY <= '0'; + else + assert FALSE report "Error : ALIGN_MCOMMA_DET = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case ALIGN_PCOMMA_DET is + if((ALIGN_PCOMMA_DET = "TRUE") or (ALIGN_PCOMMA_DET = "true")) then + ALIGN_PCOMMA_DET_BINARY <= '1'; + elsif((ALIGN_PCOMMA_DET = "FALSE") or (ALIGN_PCOMMA_DET= "false")) then + ALIGN_PCOMMA_DET_BINARY <= '0'; + else + assert FALSE report "Error : ALIGN_PCOMMA_DET = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CBCC_DATA_SOURCE_SEL is + if((CBCC_DATA_SOURCE_SEL = "DECODED") or (CBCC_DATA_SOURCE_SEL = "decoded")) then + CBCC_DATA_SOURCE_SEL_BINARY <= '1'; + elsif((CBCC_DATA_SOURCE_SEL = "ENCODED") or (CBCC_DATA_SOURCE_SEL= "encoded")) then + CBCC_DATA_SOURCE_SEL_BINARY <= '0'; + else + assert FALSE report "Error : CBCC_DATA_SOURCE_SEL = is not DECODED, ENCODED." severity error; + end if; + -- end case; + -- case CHAN_BOND_KEEP_ALIGN is + if((CHAN_BOND_KEEP_ALIGN = "FALSE") or (CHAN_BOND_KEEP_ALIGN = "false")) then + CHAN_BOND_KEEP_ALIGN_BINARY <= '0'; + elsif((CHAN_BOND_KEEP_ALIGN = "TRUE") or (CHAN_BOND_KEEP_ALIGN= "true")) then + CHAN_BOND_KEEP_ALIGN_BINARY <= '1'; + else + assert FALSE report "Error : CHAN_BOND_KEEP_ALIGN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CHAN_BOND_SEQ_2_USE is + if((CHAN_BOND_SEQ_2_USE = "FALSE") or (CHAN_BOND_SEQ_2_USE = "false")) then + CHAN_BOND_SEQ_2_USE_BINARY <= '0'; + elsif((CHAN_BOND_SEQ_2_USE = "TRUE") or (CHAN_BOND_SEQ_2_USE= "true")) then + CHAN_BOND_SEQ_2_USE_BINARY <= '1'; + else + assert FALSE report "Error : CHAN_BOND_SEQ_2_USE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CLK_CORRECT_USE is + if((CLK_CORRECT_USE = "TRUE") or (CLK_CORRECT_USE = "true")) then + CLK_CORRECT_USE_BINARY <= '1'; + elsif((CLK_CORRECT_USE = "FALSE") or (CLK_CORRECT_USE= "false")) then + CLK_CORRECT_USE_BINARY <= '0'; + else + assert FALSE report "Error : CLK_CORRECT_USE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CLK_COR_KEEP_IDLE is + if((CLK_COR_KEEP_IDLE = "FALSE") or (CLK_COR_KEEP_IDLE = "false")) then + CLK_COR_KEEP_IDLE_BINARY <= '0'; + elsif((CLK_COR_KEEP_IDLE = "TRUE") or (CLK_COR_KEEP_IDLE= "true")) then + CLK_COR_KEEP_IDLE_BINARY <= '1'; + else + assert FALSE report "Error : CLK_COR_KEEP_IDLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case CLK_COR_PRECEDENCE is + if((CLK_COR_PRECEDENCE = "TRUE") or (CLK_COR_PRECEDENCE = "true")) then + CLK_COR_PRECEDENCE_BINARY <= '1'; + elsif((CLK_COR_PRECEDENCE = "FALSE") or (CLK_COR_PRECEDENCE= "false")) then + CLK_COR_PRECEDENCE_BINARY <= '0'; + else + assert FALSE report "Error : CLK_COR_PRECEDENCE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case CLK_COR_SEQ_2_USE is + if((CLK_COR_SEQ_2_USE = "FALSE") or (CLK_COR_SEQ_2_USE = "false")) then + CLK_COR_SEQ_2_USE_BINARY <= '0'; + elsif((CLK_COR_SEQ_2_USE = "TRUE") or (CLK_COR_SEQ_2_USE= "true")) then + CLK_COR_SEQ_2_USE_BINARY <= '1'; + else + assert FALSE report "Error : CLK_COR_SEQ_2_USE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case DEC_MCOMMA_DETECT is + if((DEC_MCOMMA_DETECT = "TRUE") or (DEC_MCOMMA_DETECT = "true")) then + DEC_MCOMMA_DETECT_BINARY <= '1'; + elsif((DEC_MCOMMA_DETECT = "FALSE") or (DEC_MCOMMA_DETECT= "false")) then + DEC_MCOMMA_DETECT_BINARY <= '0'; + else + assert FALSE report "Error : DEC_MCOMMA_DETECT = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case DEC_PCOMMA_DETECT is + if((DEC_PCOMMA_DETECT = "TRUE") or (DEC_PCOMMA_DETECT = "true")) then + DEC_PCOMMA_DETECT_BINARY <= '1'; + elsif((DEC_PCOMMA_DETECT = "FALSE") or (DEC_PCOMMA_DETECT= "false")) then + DEC_PCOMMA_DETECT_BINARY <= '0'; + else + assert FALSE report "Error : DEC_PCOMMA_DETECT = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case DEC_VALID_COMMA_ONLY is + if((DEC_VALID_COMMA_ONLY = "TRUE") or (DEC_VALID_COMMA_ONLY = "true")) then + DEC_VALID_COMMA_ONLY_BINARY <= '1'; + elsif((DEC_VALID_COMMA_ONLY = "FALSE") or (DEC_VALID_COMMA_ONLY= "false")) then + DEC_VALID_COMMA_ONLY_BINARY <= '0'; + else + assert FALSE report "Error : DEC_VALID_COMMA_ONLY = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case ES_ERRDET_EN is + if((ES_ERRDET_EN = "FALSE") or (ES_ERRDET_EN = "false")) then + ES_ERRDET_EN_BINARY <= '0'; + elsif((ES_ERRDET_EN = "TRUE") or (ES_ERRDET_EN= "true")) then + ES_ERRDET_EN_BINARY <= '1'; + else + assert FALSE report "Error : ES_ERRDET_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case ES_EYE_SCAN_EN is + if((ES_EYE_SCAN_EN = "FALSE") or (ES_EYE_SCAN_EN = "false")) then + ES_EYE_SCAN_EN_BINARY <= '0'; + elsif((ES_EYE_SCAN_EN = "TRUE") or (ES_EYE_SCAN_EN= "true")) then + ES_EYE_SCAN_EN_BINARY <= '1'; + else + assert FALSE report "Error : ES_EYE_SCAN_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case FTS_LANE_DESKEW_EN is + if((FTS_LANE_DESKEW_EN = "FALSE") or (FTS_LANE_DESKEW_EN = "false")) then + FTS_LANE_DESKEW_EN_BINARY <= '0'; + elsif((FTS_LANE_DESKEW_EN = "TRUE") or (FTS_LANE_DESKEW_EN= "true")) then + FTS_LANE_DESKEW_EN_BINARY <= '1'; + else + assert FALSE report "Error : FTS_LANE_DESKEW_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case PCS_PCIE_EN is + if((PCS_PCIE_EN = "FALSE") or (PCS_PCIE_EN = "false")) then + PCS_PCIE_EN_BINARY <= '0'; + elsif((PCS_PCIE_EN = "TRUE") or (PCS_PCIE_EN= "true")) then + PCS_PCIE_EN_BINARY <= '1'; + else + assert FALSE report "Error : PCS_PCIE_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_ADDR_MODE is + if((RXBUF_ADDR_MODE = "FULL") or (RXBUF_ADDR_MODE = "full")) then + RXBUF_ADDR_MODE_BINARY <= '0'; + elsif((RXBUF_ADDR_MODE = "FAST") or (RXBUF_ADDR_MODE= "fast")) then + RXBUF_ADDR_MODE_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_ADDR_MODE = is not FULL, FAST." severity error; + end if; + -- end case; + -- case RXBUF_EN is + if((RXBUF_EN = "TRUE") or (RXBUF_EN = "true")) then + RXBUF_EN_BINARY <= '1'; + elsif((RXBUF_EN = "FALSE") or (RXBUF_EN= "false")) then + RXBUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_CB_CHANGE is + if((RXBUF_RESET_ON_CB_CHANGE = "TRUE") or (RXBUF_RESET_ON_CB_CHANGE = "true")) then + RXBUF_RESET_ON_CB_CHANGE_BINARY <= '1'; + elsif((RXBUF_RESET_ON_CB_CHANGE = "FALSE") or (RXBUF_RESET_ON_CB_CHANGE= "false")) then + RXBUF_RESET_ON_CB_CHANGE_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_RESET_ON_CB_CHANGE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_COMMAALIGN is + if((RXBUF_RESET_ON_COMMAALIGN = "FALSE") or (RXBUF_RESET_ON_COMMAALIGN = "false")) then + RXBUF_RESET_ON_COMMAALIGN_BINARY <= '0'; + elsif((RXBUF_RESET_ON_COMMAALIGN = "TRUE") or (RXBUF_RESET_ON_COMMAALIGN= "true")) then + RXBUF_RESET_ON_COMMAALIGN_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_RESET_ON_COMMAALIGN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_EIDLE is + if((RXBUF_RESET_ON_EIDLE = "FALSE") or (RXBUF_RESET_ON_EIDLE = "false")) then + RXBUF_RESET_ON_EIDLE_BINARY <= '0'; + elsif((RXBUF_RESET_ON_EIDLE = "TRUE") or (RXBUF_RESET_ON_EIDLE= "true")) then + RXBUF_RESET_ON_EIDLE_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_RESET_ON_EIDLE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXBUF_RESET_ON_RATE_CHANGE is + if((RXBUF_RESET_ON_RATE_CHANGE = "TRUE") or (RXBUF_RESET_ON_RATE_CHANGE = "true")) then + RXBUF_RESET_ON_RATE_CHANGE_BINARY <= '1'; + elsif((RXBUF_RESET_ON_RATE_CHANGE = "FALSE") or (RXBUF_RESET_ON_RATE_CHANGE= "false")) then + RXBUF_RESET_ON_RATE_CHANGE_BINARY <= '0'; + else + assert FALSE report "Error : RXBUF_RESET_ON_RATE_CHANGE = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RXBUF_THRESH_OVRD is + if((RXBUF_THRESH_OVRD = "FALSE") or (RXBUF_THRESH_OVRD = "false")) then + RXBUF_THRESH_OVRD_BINARY <= '0'; + elsif((RXBUF_THRESH_OVRD = "TRUE") or (RXBUF_THRESH_OVRD= "true")) then + RXBUF_THRESH_OVRD_BINARY <= '1'; + else + assert FALSE report "Error : RXBUF_THRESH_OVRD = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXGEARBOX_EN is + if((RXGEARBOX_EN = "FALSE") or (RXGEARBOX_EN = "false")) then + RXGEARBOX_EN_BINARY <= '0'; + elsif((RXGEARBOX_EN = "TRUE") or (RXGEARBOX_EN= "true")) then + RXGEARBOX_EN_BINARY <= '1'; + else + assert FALSE report "Error : RXGEARBOX_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case RXSLIDE_MODE is + if((RXSLIDE_MODE = "OFF") or (RXSLIDE_MODE = "off")) then + RXSLIDE_MODE_BINARY <= "00"; + elsif((RXSLIDE_MODE = "AUTO") or (RXSLIDE_MODE= "auto")) then + RXSLIDE_MODE_BINARY <= "01"; + elsif((RXSLIDE_MODE = "PCS") or (RXSLIDE_MODE= "pcs")) then + RXSLIDE_MODE_BINARY <= "10"; + elsif((RXSLIDE_MODE = "PMA") or (RXSLIDE_MODE= "pma")) then + RXSLIDE_MODE_BINARY <= "11"; + else + assert FALSE report "Error : RXSLIDE_MODE = is not OFF, AUTO, PCS, PMA." severity error; + end if; + -- end case; + -- case RX_DEFER_RESET_BUF_EN is + if((RX_DEFER_RESET_BUF_EN = "TRUE") or (RX_DEFER_RESET_BUF_EN = "true")) then + RX_DEFER_RESET_BUF_EN_BINARY <= '1'; + elsif((RX_DEFER_RESET_BUF_EN = "FALSE") or (RX_DEFER_RESET_BUF_EN= "false")) then + RX_DEFER_RESET_BUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : RX_DEFER_RESET_BUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RX_DISPERR_SEQ_MATCH is + if((RX_DISPERR_SEQ_MATCH = "TRUE") or (RX_DISPERR_SEQ_MATCH = "true")) then + RX_DISPERR_SEQ_MATCH_BINARY <= '1'; + elsif((RX_DISPERR_SEQ_MATCH = "FALSE") or (RX_DISPERR_SEQ_MATCH= "false")) then + RX_DISPERR_SEQ_MATCH_BINARY <= '0'; + else + assert FALSE report "Error : RX_DISPERR_SEQ_MATCH = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case RX_XCLK_SEL is + if((RX_XCLK_SEL = "RXREC") or (RX_XCLK_SEL = "rxrec")) then + RX_XCLK_SEL_BINARY <= '0'; + elsif((RX_XCLK_SEL = "RXUSR") or (RX_XCLK_SEL= "rxusr")) then + RX_XCLK_SEL_BINARY <= '1'; + else + assert FALSE report "Error : RX_XCLK_SEL = is not RXREC, RXUSR." severity error; + end if; + -- end case; + -- case SATA_CPLL_CFG is + if((SATA_CPLL_CFG = "VCO_3000MHZ") or (SATA_CPLL_CFG = "vco_3000mhz")) then + SATA_CPLL_CFG_BINARY <= "00"; + elsif((SATA_CPLL_CFG = "VCO_750MHZ") or (SATA_CPLL_CFG= "vco_750mhz")) then + SATA_CPLL_CFG_BINARY <= "10"; + elsif((SATA_CPLL_CFG = "VCO_1500MHZ") or (SATA_CPLL_CFG= "vco_1500mhz")) then + SATA_CPLL_CFG_BINARY <= "01"; + else + assert FALSE report "Error : SATA_CPLL_CFG = is not VCO_3000MHZ, VCO_750MHZ, VCO_1500MHZ." severity error; + end if; + -- end case; + -- case SHOW_REALIGN_COMMA is + if((SHOW_REALIGN_COMMA = "TRUE") or (SHOW_REALIGN_COMMA = "true")) then + SHOW_REALIGN_COMMA_BINARY <= '1'; + elsif((SHOW_REALIGN_COMMA = "FALSE") or (SHOW_REALIGN_COMMA= "false")) then + SHOW_REALIGN_COMMA_BINARY <= '0'; + else + assert FALSE report "Error : SHOW_REALIGN_COMMA = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case TXBUF_EN is + if((TXBUF_EN = "TRUE") or (TXBUF_EN = "true")) then + TXBUF_EN_BINARY <= '1'; + elsif((TXBUF_EN = "FALSE") or (TXBUF_EN= "false")) then + TXBUF_EN_BINARY <= '0'; + else + assert FALSE report "Error : TXBUF_EN = is not TRUE, FALSE." severity error; + end if; + -- end case; + -- case TXBUF_RESET_ON_RATE_CHANGE is + if((TXBUF_RESET_ON_RATE_CHANGE = "FALSE") or (TXBUF_RESET_ON_RATE_CHANGE = "false")) then + TXBUF_RESET_ON_RATE_CHANGE_BINARY <= '0'; + elsif((TXBUF_RESET_ON_RATE_CHANGE = "TRUE") or (TXBUF_RESET_ON_RATE_CHANGE= "true")) then + TXBUF_RESET_ON_RATE_CHANGE_BINARY <= '1'; + else + assert FALSE report "Error : TXBUF_RESET_ON_RATE_CHANGE = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TXGEARBOX_EN is + if((TXGEARBOX_EN = "FALSE") or (TXGEARBOX_EN = "false")) then + TXGEARBOX_EN_BINARY <= '0'; + elsif((TXGEARBOX_EN = "TRUE") or (TXGEARBOX_EN= "true")) then + TXGEARBOX_EN_BINARY <= '1'; + else + assert FALSE report "Error : TXGEARBOX_EN = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TX_DRIVE_MODE is + if((TX_DRIVE_MODE = "DIRECT") or (TX_DRIVE_MODE = "direct")) then + TX_DRIVE_MODE_BINARY <= "00000"; + elsif((TX_DRIVE_MODE = "PIPE") or (TX_DRIVE_MODE= "pipe")) then + TX_DRIVE_MODE_BINARY <= "00001"; + elsif((TX_DRIVE_MODE = "PIPEGEN3") or (TX_DRIVE_MODE= "pipegen3")) then + TX_DRIVE_MODE_BINARY <= "00010"; + else + assert FALSE report "Error : TX_DRIVE_MODE = is not DIRECT, PIPE, PIPEGEN3." severity error; + end if; + -- end case; + -- case TX_LOOPBACK_DRIVE_HIZ is + if((TX_LOOPBACK_DRIVE_HIZ = "FALSE") or (TX_LOOPBACK_DRIVE_HIZ = "false")) then + TX_LOOPBACK_DRIVE_HIZ_BINARY <= '0'; + elsif((TX_LOOPBACK_DRIVE_HIZ = "TRUE") or (TX_LOOPBACK_DRIVE_HIZ= "true")) then + TX_LOOPBACK_DRIVE_HIZ_BINARY <= '1'; + else + assert FALSE report "Error : TX_LOOPBACK_DRIVE_HIZ = is not FALSE, TRUE." severity error; + end if; + -- end case; + -- case TX_XCLK_SEL is + if((TX_XCLK_SEL = "TXUSR") or (TX_XCLK_SEL = "txusr")) then + TX_XCLK_SEL_BINARY <= '1'; + elsif((TX_XCLK_SEL = "TXOUT") or (TX_XCLK_SEL= "txout")) then + TX_XCLK_SEL_BINARY <= '0'; + else + assert FALSE report "Error : TX_XCLK_SEL = is not TXUSR, TXOUT." severity error; + end if; + -- end case; + case CPLL_FBDIV_45 is + when 5 => CPLL_FBDIV_45_BINARY <= '1'; + when 4 => CPLL_FBDIV_45_BINARY <= '0'; + when others => assert FALSE report "Error : CPLL_FBDIV_45 is not in range 4 .. 5." severity error; + end case; + case RX_INT_DATAWIDTH is + when 0 => RX_INT_DATAWIDTH_BINARY <= '0'; + when 1 => RX_INT_DATAWIDTH_BINARY <= '1'; + when others => assert FALSE report "Error : RX_INT_DATAWIDTH is not in range 0 .. 1." severity error; + end case; + case TX_INT_DATAWIDTH is + when 0 => TX_INT_DATAWIDTH_BINARY <= '0'; + when 1 => TX_INT_DATAWIDTH_BINARY <= '1'; + when others => assert FALSE report "Error : TX_INT_DATAWIDTH is not in range 0 .. 1." severity error; + end case; + if ((ALIGN_COMMA_WORD >= 1) and (ALIGN_COMMA_WORD <= 4)) then + ALIGN_COMMA_WORD_BINARY <= CONV_STD_LOGIC_VECTOR(ALIGN_COMMA_WORD, 3); + else + assert FALSE report "Error : ALIGN_COMMA_WORD is not in range 1 .. 4." severity error; + end if; + if ((CHAN_BOND_MAX_SKEW >= 1) and (CHAN_BOND_MAX_SKEW <= 14)) then + CHAN_BOND_MAX_SKEW_BINARY <= CONV_STD_LOGIC_VECTOR(CHAN_BOND_MAX_SKEW, 4); + else + assert FALSE report "Error : CHAN_BOND_MAX_SKEW is not in range 1 .. 14." severity error; + end if; + if ((CHAN_BOND_SEQ_LEN >= 1) and (CHAN_BOND_SEQ_LEN <= 4)) then + CHAN_BOND_SEQ_LEN_BINARY <= CONV_STD_LOGIC_VECTOR(CHAN_BOND_SEQ_LEN, 2); + else + assert FALSE report "Error : CHAN_BOND_SEQ_LEN is not in range 1 .. 4." severity error; + end if; + if ((CLK_COR_MAX_LAT >= 3) and (CLK_COR_MAX_LAT <= 60)) then + CLK_COR_MAX_LAT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_MAX_LAT, 6); + else + assert FALSE report "Error : CLK_COR_MAX_LAT is not in range 3 .. 60." severity error; + end if; + if ((CLK_COR_MIN_LAT >= 3) and (CLK_COR_MIN_LAT <= 60)) then + CLK_COR_MIN_LAT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_MIN_LAT, 6); + else + assert FALSE report "Error : CLK_COR_MIN_LAT is not in range 3 .. 60." severity error; + end if; + if ((CLK_COR_REPEAT_WAIT >= 0) and (CLK_COR_REPEAT_WAIT <= 31)) then + CLK_COR_REPEAT_WAIT_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_REPEAT_WAIT, 5); + else + assert FALSE report "Error : CLK_COR_REPEAT_WAIT is not in range 0 .. 31." severity error; + end if; + if ((CLK_COR_SEQ_LEN >= 1) and (CLK_COR_SEQ_LEN <= 4)) then + CLK_COR_SEQ_LEN_BINARY <= CONV_STD_LOGIC_VECTOR(CLK_COR_SEQ_LEN, 2); + else + assert FALSE report "Error : CLK_COR_SEQ_LEN is not in range 1 .. 4." severity error; + end if; + if ((CPLL_FBDIV >= 1) and (CPLL_FBDIV <= 20)) then + CPLL_FBDIV_BINARY <= CONV_STD_LOGIC_VECTOR(CPLL_FBDIV, 7); + else + assert FALSE report "Error : CPLL_FBDIV is not in range 1 .. 20." severity error; + end if; + if ((CPLL_REFCLK_DIV >= 1) and (CPLL_REFCLK_DIV <= 20)) then + CPLL_REFCLK_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(CPLL_REFCLK_DIV, 5); + else + assert FALSE report "Error : CPLL_REFCLK_DIV is not in range 1 .. 20." severity error; + end if; + if ((RXBUF_THRESH_OVFLW >= 0) and (RXBUF_THRESH_OVFLW <= 63)) then + RXBUF_THRESH_OVFLW_BINARY <= CONV_STD_LOGIC_VECTOR(RXBUF_THRESH_OVFLW, 6); + else + assert FALSE report "Error : RXBUF_THRESH_OVFLW is not in range 0 .. 63." severity error; + end if; + if ((RXBUF_THRESH_UNDFLW >= 0) and (RXBUF_THRESH_UNDFLW <= 63)) then + RXBUF_THRESH_UNDFLW_BINARY <= CONV_STD_LOGIC_VECTOR(RXBUF_THRESH_UNDFLW, 6); + else + assert FALSE report "Error : RXBUF_THRESH_UNDFLW is not in range 0 .. 63." severity error; + end if; + if ((RXOUT_DIV >= 1) and (RXOUT_DIV <= 16)) then + RXOUT_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(RXOUT_DIV, 3); + else + assert FALSE report "Error : RXOUT_DIV is not in range 1 .. 16." severity error; + end if; + if ((RXSLIDE_AUTO_WAIT >= 0) and (RXSLIDE_AUTO_WAIT <= 15)) then + RXSLIDE_AUTO_WAIT_BINARY <= CONV_STD_LOGIC_VECTOR(RXSLIDE_AUTO_WAIT, 4); + else + assert FALSE report "Error : RXSLIDE_AUTO_WAIT is not in range 0 .. 15." severity error; + end if; + if ((RX_CLK25_DIV >= 1) and (RX_CLK25_DIV <= 32)) then + RX_CLK25_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(RX_CLK25_DIV, 5); + else + assert FALSE report "Error : RX_CLK25_DIV is not in range 1 .. 32." severity error; + end if; + if ((RX_DATA_WIDTH >= 16) and (RX_DATA_WIDTH <= 80)) then + RX_DATA_WIDTH_BINARY <= CONV_STD_LOGIC_VECTOR(RX_DATA_WIDTH, 3); + else + assert FALSE report "Error : RX_DATA_WIDTH is not in range 16 .. 80." severity error; + end if; + if ((RX_SIG_VALID_DLY >= 1) and (RX_SIG_VALID_DLY <= 32)) then + RX_SIG_VALID_DLY_BINARY <= CONV_STD_LOGIC_VECTOR(RX_SIG_VALID_DLY, 5); + else + assert FALSE report "Error : RX_SIG_VALID_DLY is not in range 1 .. 32." severity error; + end if; + if ((SAS_MAX_COM >= 1) and (SAS_MAX_COM <= 127)) then + SAS_MAX_COM_BINARY <= CONV_STD_LOGIC_VECTOR(SAS_MAX_COM, 7); + else + assert FALSE report "Error : SAS_MAX_COM is not in range 1 .. 127." severity error; + end if; + if ((SAS_MIN_COM >= 1) and (SAS_MIN_COM <= 63)) then + SAS_MIN_COM_BINARY <= CONV_STD_LOGIC_VECTOR(SAS_MIN_COM, 6); + else + assert FALSE report "Error : SAS_MIN_COM is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_BURST >= 1) and (SATA_MAX_BURST <= 63)) then + SATA_MAX_BURST_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_BURST, 6); + else + assert FALSE report "Error : SATA_MAX_BURST is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_INIT >= 1) and (SATA_MAX_INIT <= 63)) then + SATA_MAX_INIT_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_INIT, 6); + else + assert FALSE report "Error : SATA_MAX_INIT is not in range 1 .. 63." severity error; + end if; + if ((SATA_MAX_WAKE >= 1) and (SATA_MAX_WAKE <= 63)) then + SATA_MAX_WAKE_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MAX_WAKE, 6); + else + assert FALSE report "Error : SATA_MAX_WAKE is not in range 1 .. 63." severity error; + end if; + if ((SATA_MIN_BURST >= 1) and (SATA_MIN_BURST <= 61)) then + SATA_MIN_BURST_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_BURST, 6); + else + assert FALSE report "Error : SATA_MIN_BURST is not in range 1 .. 61." severity error; + end if; + if ((SATA_MIN_INIT >= 1) and (SATA_MIN_INIT <= 63)) then + SATA_MIN_INIT_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_INIT, 6); + else + assert FALSE report "Error : SATA_MIN_INIT is not in range 1 .. 63." severity error; + end if; + if ((SATA_MIN_WAKE >= 1) and (SATA_MIN_WAKE <= 63)) then + SATA_MIN_WAKE_BINARY <= CONV_STD_LOGIC_VECTOR(SATA_MIN_WAKE, 6); + else + assert FALSE report "Error : SATA_MIN_WAKE is not in range 1 .. 63." severity error; + end if; + if ((TXOUT_DIV >= 1) and (TXOUT_DIV <= 16)) then + TXOUT_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(TXOUT_DIV, 3); + else + assert FALSE report "Error : TXOUT_DIV is not in range 1 .. 16." severity error; + end if; + if ((TX_CLK25_DIV >= 1) and (TX_CLK25_DIV <= 32)) then + TX_CLK25_DIV_BINARY <= CONV_STD_LOGIC_VECTOR(TX_CLK25_DIV, 5); + else + assert FALSE report "Error : TX_CLK25_DIV is not in range 1 .. 32." severity error; + end if; + if ((TX_DATA_WIDTH >= 16) and (TX_DATA_WIDTH <= 80)) then + TX_DATA_WIDTH_BINARY <= CONV_STD_LOGIC_VECTOR(TX_DATA_WIDTH, 3); + else + assert FALSE report "Error : TX_DATA_WIDTH is not in range 16 .. 80." severity error; + end if; + wait; + end process INIPROC; + CPLLFBCLKLOST <= CPLLFBCLKLOST_out; + CPLLLOCK <= CPLLLOCK_out; + CPLLREFCLKLOST <= CPLLREFCLKLOST_out; + DMONITOROUT <= DMONITOROUT_out; + DRPDO <= DRPDO_out; + DRPRDY <= DRPRDY_out; + EYESCANDATAERROR <= EYESCANDATAERROR_out; + GTREFCLKMONITOR <= GTREFCLKMONITOR_out; + GTXTXN <= GTXTXN_out; + GTXTXP <= GTXTXP_out; + PCSRSVDOUT <= PCSRSVDOUT_out; + PHYSTATUS <= PHYSTATUS_out; + RXBUFSTATUS <= RXBUFSTATUS_out; + RXBYTEISALIGNED <= RXBYTEISALIGNED_out; + RXBYTEREALIGN <= RXBYTEREALIGN_out; + RXCDRLOCK <= RXCDRLOCK_out; + RXCHANBONDSEQ <= RXCHANBONDSEQ_out; + RXCHANISALIGNED <= RXCHANISALIGNED_out; + RXCHANREALIGN <= RXCHANREALIGN_out; + RXCHARISCOMMA <= RXCHARISCOMMA_out; + RXCHARISK <= RXCHARISK_out; + RXCHBONDO <= RXCHBONDO_out; + RXCLKCORCNT <= RXCLKCORCNT_out; + RXCOMINITDET <= RXCOMINITDET_out; + RXCOMMADET <= RXCOMMADET_out; + RXCOMSASDET <= RXCOMSASDET_out; + RXCOMWAKEDET <= RXCOMWAKEDET_out; + RXDATA <= RXDATA_out; + RXDATAVALID <= RXDATAVALID_out; + RXDISPERR <= RXDISPERR_out; + RXDLYSRESETDONE <= RXDLYSRESETDONE_out; + RXELECIDLE <= RXELECIDLE_out; + RXHEADER <= RXHEADER_out; + RXHEADERVALID <= RXHEADERVALID_out; + RXMONITOROUT <= RXMONITOROUT_out; + RXNOTINTABLE <= RXNOTINTABLE_out; + RXOUTCLK <= RXOUTCLK_out; + RXOUTCLKFABRIC <= RXOUTCLKFABRIC_out; + RXOUTCLKPCS <= RXOUTCLKPCS_out; + RXPHALIGNDONE <= RXPHALIGNDONE_out; + RXPHMONITOR <= RXPHMONITOR_out; + RXPHSLIPMONITOR <= RXPHSLIPMONITOR_out; + RXPRBSERR <= RXPRBSERR_out; + RXQPISENN <= RXQPISENN_out; + RXQPISENP <= RXQPISENP_out; + RXRATEDONE <= RXRATEDONE_out; + RXRESETDONE <= RXRESETDONE_out; + RXSTARTOFSEQ <= RXSTARTOFSEQ_out; + RXSTATUS <= RXSTATUS_out; + RXVALID <= RXVALID_out; + TSTOUT <= TSTOUT_out; + TXBUFSTATUS <= TXBUFSTATUS_out; + TXCOMFINISH <= TXCOMFINISH_out; + TXDLYSRESETDONE <= TXDLYSRESETDONE_out; + TXGEARBOXREADY <= TXGEARBOXREADY_out; + TXOUTCLK <= TXOUTCLK_out; + TXOUTCLKFABRIC <= TXOUTCLKFABRIC_out; + TXOUTCLKPCS <= TXOUTCLKPCS_out; + TXPHALIGNDONE <= TXPHALIGNDONE_out; + TXPHINITDONE <= TXPHINITDONE_out; + TXQPISENN <= TXQPISENN_out; + TXQPISENP <= TXQPISENP_out; + TXRATEDONE <= TXRATEDONE_out; + TXRESETDONE <= TXRESETDONE_out; + end GTXE2_CHANNEL_FAST_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDMACC_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDMACC_MACRO.vhd new file mode 100644 index 0000000..50583ea --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDMACC_MACRO.vhd @@ -0,0 +1,453 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2015 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 2015.3 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : ADDMACC_MACRO.vhd +-- \ \ / \ +-- \___\/\___\ +-- +-- Revision: +-- 04/18/08 - Initial version. +-- 04/09/15 - 852167 - align with verilog +-- End Revision + +----- CELL ADDMACC_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + + +entity ADDMACC_MACRO is + generic ( + DEVICE : string := "VIRTEX6"; + LATENCY : integer := 4; + WIDTH_PREADD : integer := 25; + WIDTH_MULTIPLIER : integer := 18; + WIDTH_PRODUCT : integer := 48 + ); + + port ( + PRODUCT : out std_logic_vector(WIDTH_PRODUCT-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + MULTIPLIER : in std_logic_vector(WIDTH_MULTIPLIER-1 downto 0); + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_PRODUCT-1 downto 0); + PREADD1 : in std_logic_vector(WIDTH_PREADD-1 downto 0); + PREADD2 : in std_logic_vector(WIDTH_PREADD-1 downto 0); + RST : in std_logic + ); +end entity ADDMACC_MACRO; + +architecture addmacc of ADDMACC_MACRO is + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidthPreadd ( + width : in integer; + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (width > 0 and width <= 25) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_PREADD : ") ); + write ( Message, WIDTH_PREADD); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 25 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- begin s1 + else + if (DEVICE = "SPARTAN6" and width > 0 and width <= 18) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_PREADD : ") ); + write ( Message, WIDTH_PREADD); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- end s1 + end if; + return func_val; + end; + function GetWidthPreadd ( + device : in string + ) return integer is + variable func_val : integer; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_val := 25; + else + func_val := 18; + DEALLOCATE (Message); + end if; + return func_val; + end; + + function CheckWidthMult ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 18 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_MULTPLIER : ") ); + write ( Message, WIDTH_MULTIPLIER); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidthProd ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 48 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_PRODUCT : ") ); + write ( Message, WIDTH_PRODUCT); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 48 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetABREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3) then + func_width := 1; + elsif (LATENCY = 4 ) then + func_width := 2; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG1_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3 or LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG0_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetMREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetPREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 1 or LATENCY = 2 or LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + else + func_width := 0; + write( Message, STRING'("Illegal value of Attribute LATENCY : ") ); + write ( Message, LATENCY); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 4 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_width; + end; + + function GetOPMODE_IN ( + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_width := 7; + elsif (DEVICE = "SPARTAN6") then + func_width := 8; + else + func_width := 8; + end if; + return func_width; + end; + +--Signal Declarations: + + constant OPMODE_WIDTH : integer := GetOPMODE_IN(DEVICE); + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkWidthPreAdd : boolean := CheckWidthPreAdd(WIDTH_PREADD, DEVICE); + constant MaxWidthPreAdd : integer := GetWidthPreAdd(DEVICE); + constant ChkWidthMult : boolean := CheckWidthMult(WIDTH_MULTIPLIER); + constant ChkWidthProd : boolean := CheckWidthProd(WIDTH_PRODUCT); + constant AREG_IN : integer := GetABREG_IN(LATENCY); + constant BREG_IN : integer := GetABREG_IN(LATENCY); + constant A0REG_IN : integer := GetABREG0_IN(LATENCY); + constant B0REG_IN : integer := GetABREG0_IN(LATENCY); + constant A1REG_IN : integer := GetABREG1_IN(LATENCY); + constant B1REG_IN : integer := GetABREG1_IN(LATENCY); + constant MREG_IN : integer := GetMREG_IN(LATENCY); + constant PREG_IN : integer := GetPREG_IN(LATENCY); + + signal OPMODE_IN : std_logic_vector((OPMODE_WIDTH-1) downto 0); + signal PREADD1_IN : std_logic_vector(29 downto 0) := "000000000000000000000000000000"; + signal PREADD2_IN : std_logic_vector(24 downto 0) := "0000000000000000000000000"; + signal MULTIPLIER_IN : std_logic_vector(17 downto 0) := "000000000000000000"; + signal LOAD_DATA_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal RESULT_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal CEA1_IN : std_logic; + signal CEA2_IN : std_logic; + signal CEB1_IN : std_logic; + signal CEB2_IN : std_logic; + +-- Architecture Section: instantiation +begin + + CEA1_IN <= CE when (AREG_IN = 2) else '0'; + CEA2_IN <= CE when (AREG_IN = 1 or AREG_IN = 2) else '0'; + CEB1_IN <= CE when (BREG_IN = 2) else '0'; + CEB2_IN <= CE when (BREG_IN = 1 or BREG_IN = 2) else '0'; + + v : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + OPMODE_IN <= "01" & LOAD & "0101"; + end generate v; + + s : if (DEVICE = "SPARTAN6") generate + OPMODE_IN <= "00011" & LOAD & "01"; + end generate s; + + load1 : if (WIDTH_PRODUCT = 48) generate + begin + LOAD_DATA_IN <= LOAD_DATA; + end generate load1; + load2 : if (WIDTH_PRODUCT < 48) generate + begin + l1: for i in 47 downto WIDTH_PRODUCT generate + LOAD_DATA_IN(i) <= '0'; + end generate; + LOAD_DATA_IN(WIDTH_PRODUCT-1 downto 0) <= LOAD_DATA; + end generate load2; + + pa1 : if (WIDTH_PREADD = MaxWidthPreAdd) generate + begin + PREADD1_IN(MaxWidthPreAdd-1 downto 0) <= PREADD1; + PREADD2_IN(MaxWidthPreAdd-1 downto 0) <= PREADD2; + end generate pa1; + mult1 : if (WIDTH_MULTIPLIER = 18) generate + begin + MULTIPLIER_IN <= MULTIPLIER; + end generate mult1; + pa2 : if (WIDTH_PREADD < MaxWidthPreAdd) generate + begin + pa: for i in MaxWidthPreAdd-1 downto WIDTH_PREADD generate + PREADD1_IN(i) <= PREADD1((WIDTH_PREADD-1)); + PREADD2_IN(i) <= PREADD2((WIDTH_PREADD-1)); + end generate; + PREADD1_IN(WIDTH_PREADD-1 downto 0) <= PREADD1; + PREADD2_IN(WIDTH_PREADD-1 downto 0) <= PREADD2; + end generate pa2; + mult2 : if (WIDTH_MULTIPLIER < 18) generate + begin + m1: for i in 17 downto WIDTH_MULTIPLIER generate + MULTIPLIER_IN(i) <= MULTIPLIER((WIDTH_MULTIPLIER-1)); + end generate; + MULTIPLIER_IN(WIDTH_MULTIPLIER-1 downto 0) <= MULTIPLIER; + end generate mult2; + + PRODUCT <= RESULT_OUT(WIDTH_PRODUCT-1 downto 0); + + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_1: DSP48E1 + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN, + USE_DPORT => TRUE) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => PREADD1_IN, + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => MULTIPLIER_IN, + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN, + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEAD => CE, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => CE, + CEINMODE => CE, + CEM => CE, + CEP => CE, + CLK => CLK, + D => PREADD2_IN, + INMODE => "00100", + MULTSIGNIN => '0', + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); +end generate bl; +-- end generate virtex6 +-- begin generate spartan6 +st : if DEVICE = "SPARTAN6" generate + begin + DSP48E_2: DSP48A1 + generic map ( + A0REG => A0REG_IN, + A1REG => A1REG_IN, + B0REG => B0REG_IN, + B1REG => B1REG_IN, + MREG => MREG_IN, + PREG => PREG_IN ) + port map ( + BCOUT => open, + CARRYOUT => open, + CARRYOUTF => open, + M => open, + P => RESULT_OUT, + PCOUT => open, + A => MULTIPLIER_IN, + B => PREADD1_IN(17 downto 0), + C => LOAD_DATA_IN, + CARRYIN => CARRYIN, + CEA => CE, + CEB => CE, + CEC => CE, + CECARRYIN => '0', + CED => CE, + CEM => CE, + CEOPMODE => CE, + CEP => CE, + CLK => CLK, + D => PREADD2_IN(17 downto 0), + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTB => RST, + RSTC => RST, + RSTCARRYIN => RST, + RSTD => RST, + RSTM => RST, + RSTOPMODE => RST, + RSTP => RST + ); + end generate st; +-- end generate spartan6 + + +end addmacc; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDSUB_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDSUB_MACRO.vhd new file mode 100644 index 0000000..063b371 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/ADDSUB_MACRO.vhd @@ -0,0 +1,404 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2015 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 2015.3 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : ADDSUB_MACRO.vhd +-- \ \ / \ +-- \___\/\___\ +-- +-- Revision: +-- 06/06/08 - Initial version. +-- 04/18/11 - 652098 - Fix for latency 0 +-- 10/27/14 - Added missing ALUMODEREG (CR 827820). +-- 04/09/15 - 852167 - align with verilog +-- End Revision + +----- CELL ADDSUB_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + + +entity ADDSUB_MACRO is + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 2; + STYLE : string := "DSP"; + WIDTH : integer := 48; + WIDTH_B : integer := 48; + WIDTH_RESULT : integer := 48; + MODEL_TYPE : integer := 0; + VERBOSITY : integer := 0 + ); + + port ( + CARRYOUT : out std_logic; + RESULT : out std_logic_vector(WIDTH-1 downto 0); + A : in std_logic_vector(WIDTH-1 downto 0); + ADD_SUB : in std_logic; + B : in std_logic_vector(WIDTH-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end entity ADDSUB_MACRO; + +architecture addsub of ADDSUB_MACRO is + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckStyle ( + style : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (style = "AUTO" or style = "DSP" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute STYLE : ") ); + write ( Message, STYLE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" AUTO, DSP ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckLatency ( + lat : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (LATENCY = 0 or LATENCY = 1 or LATENCY = 2) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute LATENCY : ") ); + write ( Message, LATENCY); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 0, 1, 2. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidth ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 48 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH : ") ); + write ( Message, WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 48 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + + function GetABREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetPREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 1 or LATENCY = 2 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + + +--Signal Declarations: + + signal ALUMODE_IN : std_logic_vector(3 downto 0); + signal OPMODEST_IN : std_logic_vector(7 downto 0); + signal A_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal B_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal A_INST : std_logic_vector(17 downto 0) := "000000000000000000"; + signal RESULT_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal CARRYOUT_OUT : std_logic_vector(3 downto 0); + signal CARRYOUTST : std_logic; + signal CARRYIN_IN : std_logic; + + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkStyle : boolean := CheckStyle(STYLE); + constant ChkWidth : boolean := CheckWidth(WIDTH); + constant ChkLatency : boolean := CheckLatency(LATENCY); + constant AREG_IN : integer := GetABREG_IN(LATENCY); + constant ALUMODEREG_IN : integer := GetABREG_IN(LATENCY); + constant BREG_IN : integer := GetABREG_IN(LATENCY); + constant CREG_IN : integer := GetABREG_IN(LATENCY); + constant PREG_IN : integer := GetPREG_IN(LATENCY); + +-- Architecture Section: instantiation +begin + + ALUMODE_IN <= "00" & (not ADD_SUB) & (not ADD_SUB); + CARRYIN_IN <= CARRYIN when (WIDTH = 48) else '0'; + + OPMODEST_IN <= (not ADD_SUB) & (not ADD_SUB) & "001111"; + + add48 : if (WIDTH = 48) generate + begin + A_IN <= A; + B_IN <= B; + end generate add48; + add : if (WIDTH < 48) generate + begin + A_IN(47 downto (47-(WIDTH-1))) <= A; + A_IN((47-WIDTH)) <= ADD_SUB; + sa: for i in (47-(WIDTH+1)) downto 0 generate + A_IN(i) <= '0'; + end generate; + B_IN(47 downto (47-(WIDTH-1))) <= B; + B_IN((47-WIDTH)) <= CARRYIN; + sb: for i in (47-(WIDTH+1)) downto 0 generate + B_IN(i) <= '0'; + end generate; + end generate add; + + A_INST <= "000000" & A_IN(47 downto 36); + RESULT <= RESULT_OUT(47 downto (47-(WIDTH-1))); + + c1: if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + CARRYOUT <= CARRYOUT_OUT(3); + end generate c1; + -- begin s1 + c2: if (DEVICE = "SPARTAN6") generate + CARRYOUT <= CARRYOUTST; + end generate c2; + -- end s1 + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + begin + DSP48_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + ALUMODEREG => ALUMODEREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + CREG => CREG_IN, + PREG => PREG_IN, + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => CARRYOUT_OUT(3 downto 0), + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => B_IN(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => B_IN(17 downto 0), + BCIN => "000000000000000000", + C => A_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN_IN, + CARRYINSEL => "000", + CEA1 => CE, + CEA2 => CE, + CEALUMODE => CE, + CEB1 => CE, + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => '0', + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => "0110011", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); + end generate v5; + -- end generate virtex5 + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48_2: DSP48E1 + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + ADREG => 0, + ALUMODEREG => ALUMODEREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + CREG => CREG_IN, + DREG => 0, + MREG => 0, + PREG => PREG_IN, + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => CARRYOUT_OUT, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => B_IN(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => B_IN(17 downto 0), + BCIN => "000000000000000000", + C => A_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN_IN, + CARRYINSEL => "000", + CEA1 => CE, + CEA2 => CE, + CEAD => '0', + CEALUMODE => CE, + CEB1 => CE, + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => '0', + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => "0110011", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); + end generate bl; + -- end generate virtex6 + -- begin generate spartan6 + st : if DEVICE = "SPARTAN6" generate + begin + DSP48_3: DSP48A1 + generic map ( + A1REG => AREG_IN, + B1REG => BREG_IN, + CREG => CREG_IN, + PREG => PREG_IN ) + port map ( + BCOUT => open, + CARRYOUT => CARRYOUTST, + CARRYOUTF => open, + M => open, + P => RESULT_OUT, + PCOUT => open, + A => A_IN(35 downto 18), + B => A_IN(17 downto 0), + C => B_IN, + CARRYIN => CARRYIN_IN, + CEA => CE, + CEB => CE, + CEC => CE, + CECARRYIN => CE, + CED => CE, + CEM => '0', + CEOPMODE => CE, + CEP => CE, + CLK => CLK, + D => A_INST, + OPMODE => OPMODEST_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTB => RST, + RSTC => RST, + RSTCARRYIN => RST, + RSTD => RST, + RSTM => RST, + RSTOPMODE => RST, + RSTP => RST + ); + end generate st; + -- end generate spartan6 +end addsub; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SDP_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SDP_MACRO.vhd new file mode 100644 index 0000000..a5e9da3 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SDP_MACRO.vhd @@ -0,0 +1,3923 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 14.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for Simple Dual Port Block RAM +-- /___/ /\ Filename : BRAM_SDP_MACRO.vhd +-- \ \ / \ Timestamp : Wed April 18 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 04/11/06 - Initial version. +-- 04/28/10 - 605949 - Corrected V6 SDP mode +-- 05/04/11 - 609013 - Corrected DIP for width 72. +-- 05/25/11 - 607722 - Reset output latch for DO_REG=1 +-- 10/26/11 - 624543 - Fix DO for assymetric widths, drc to check for read,write widths equal or ratio of 2. +-- 11/30/11 - 636062 - Fix drc and do +-- 01/11/12 - 639772, 604428 -Constrain DI, DO, add width checking. +-- 04/24/12 - 657517 - fix for write_width = 2* read_width +-- 11/01/12 - 679413 - pass INIT_FILE to Spartan6 BRAM +-- 09/29/14 - Update DI and DO for parity intersperse every byte (CR 773917). +-- End Revision + +----- CELL BRAM_SDP_MACRO ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +library unisim; +use unisim.VCOMPONENTS.all; +library STD; +use STD.TEXTIO.ALL; + + +entity BRAM_SDP_MACRO is +generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT : bit_vector := X"000000000000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH : integer := 0; + WRITE_MODE : string := "WRITE_FIRST"; + WRITE_WIDTH : integer := 0; + SIM_COLLISION_CHECK : string := "ALL"; + SIM_MODE : string := "SAFE"; -- This parameter is valid only for Virtex5 + SRVAL : bit_vector := X"000000000000000000" + + + ); +-- ports are unconstrained arrays +port ( + + DO : out std_logic_vector(READ_WIDTH-1 downto 0); + + DI : in std_logic_vector(WRITE_WIDTH-1 downto 0); + RDADDR : in std_logic_vector; + RDCLK : in std_ulogic; + RDEN : in std_ulogic; + REGCE : in std_ulogic; + RST : in std_ulogic; + WE : in std_logic_vector; + WRADDR : in std_logic_vector; + WRCLK : in std_ulogic; + WREN : in std_ulogic + + ); +end BRAM_SDP_MACRO; + +architecture bram_V of BRAM_SDP_MACRO is + + function GetWEWidth ( + bram_size : in string; + device : in string; + wr_width : in integer + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size= "18Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + end if; + elsif bram_size = "36Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + elsif wr_width > 36 and wr_width <= 72 then + func_width := 8; + end if; + else + func_width := 8; + end if; + -- begin s1 + elsif(DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; + elsif bram_size = "18Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; + end if; -- end s1 + else + func_width := 8; + end if; + return func_width; + end; + + function GetDataWidth ( + rd_width : in integer; + wr_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5") then + if rd_width = wr_width then + func_width := rd_width; + else + write( Message, STRING'("Illegal values of Attributes READ_WIDTH, WRITE_WIDTH : ") ); + write ( Message, READ_WIDTH); + write ( Message, STRING'(" and ")); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". To use BRAM_SDP_MACRO, READ_WIDTH and WRITE_WIDTH must be equal ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + if (DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if rd_width = wr_width then + func_width := rd_width; + elsif ((rd_width /= wr_width) and (rd_width/wr_width /=2) and (wr_width/rd_width /=2) and ((rd_width /= 1 and rd_width /= 2 and rd_width /= 4 and rd_width /= 8 and rd_width /= 9 and rd_width /= 16 and rd_width /= 18 and rd_width /= 32 and rd_width /= 36 and rd_width /= 64 and rd_width /= 72) or (wr_width /= 1 and wr_width /= 2 and wr_width /= 4 and wr_width /= 8 and wr_width /= 9 and wr_width /= 16 and wr_width /= 18 and wr_width /= 32 and wr_width /= 36 and wr_width /= 64 and wr_width /= 72)) ) then + write( Message, STRING'("Illegal values of Attributes READ_WIDTH, WRITE_WIDTH : ") ); + write ( Message, READ_WIDTH); + write ( Message, STRING'(" and ")); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(" To use BRAM_SDP_MACRO. One of the following conditions must be true- 1. READ_WIDTH must be equal to WRITE_WIDTH 2. If assymetric, READ_WIDTH and WRITE_WIDTH must have a ratio of 2. 3. If assymetric, READ_WIDTH and WRITE_WIDTH should have values 1, 2, 4, 8, 9, 16, 18, 32, 36, 64, 72.") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if rd_width = 0 then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s2 + elsif (DEVICE = "SPARTAN6" and bram_size = "9Kb" and rd_width > 36 and DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s2 + elsif bram_size = "18Kb" and rd_width > 36 then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + elsif bram_size = "36Kb" and rd_width > 72 then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 9Kb, 18Kb and ") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + if wr_width = 0 then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s3 + elsif (DEVICE = "SPARTAN6" and bram_size = "9Kb" and wr_width > 36) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s3 + elsif bram_size = "18Kb" and wr_width > 36 then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + elsif bram_size = "36Kb" and wr_width > 72 then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 9Kb, 18Kb and") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + if (DEVICE = "SPARTAN6" and bram_size = "9Kb" and (wr_width > 18 or rd_width > 18) and ( write_width /= read_width) ) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(" . Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". For BRAM_SIZE 9Kb and read or write widths greater than 18 ") ); + write( Message, STRING'(" same port width must be used for read and write.") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end sx + end if; + + end if; + return func_width; + end; + + function GetWriteBusSize ( + w_width : in integer; + dip_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case w_width is + when 0 => func_width := 1; + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if(bram_size = "36Kb") then + func_width := 32; + else + func_width := w_width - dip_width; + end if; + when 37 to 72 => func_width := w_width - dip_width; + when others => func_width := 64; + end case; + else + func_width := 64; + end if; + return func_width; + end; + + function GetReadBusSize ( + r_width : in integer; + dop_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case r_width is + when 0 => func_width := 1; + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if(bram_size = "36Kb") then + func_width := 32; + else + func_width := r_width - dop_width; + end if; + when 37 to 72 => func_width := r_width - dop_width; + when others => func_width := 64; + end case; + else + func_width := 64; + end if; + return func_width; + end; + + function GetDataPSize ( + d_width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case d_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 0; + end case; + else + func_width := 0; + end if; + return func_width; + end; + + function GetMaxADDRSize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 14; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 9; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 16; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 9; + else + func_width := 16; + end if; + -- begin b1 + elsif ( DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" then + func_width := 14; + elsif bram_size = "36Kb" then + func_width := 16; + else + func_width := 16; + end if; -- end b1 + -- begin s4 + elsif ( DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + func_width := 13; + elsif bram_size = "18Kb" then + func_width := 14; + else + func_width := 14; + end if; -- end s4 + else + func_width := 16; + end if; + return func_width; + end; + + function GetMaxDataSize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 16; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 32; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 32; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 64; + else + func_width := 64; + end if; + -- begin s5 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 16; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 32; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 32; + else + func_width := 32; + end if; -- end s5 + else + func_width := 64; + end if; + return func_width; + end; + + function GetMaxDataPSize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 8; + else + func_width := 8; + end if; + -- begin s6 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; -- end s6 + else + func_width := 8; + end if; + return func_width; + end; + function GetMaxWESize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 8; + else + func_width := 8; + end if; + -- begin b4 + elsif (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width <= 72 then + func_width := 8; + else + func_width := 4; + end if; -- end b4 + -- begin s7 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; -- end s7 + else + func_width := 8; + end if; + return func_width; + end; + function GetADDRWidth ( + d_width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case d_width is + when 1 => if (func_bram_size = "9Kb") then + func_width := 13; + elsif (func_bram_size = "18Kb") then + func_width := 14; + else + func_width := 15; + end if; + when 2 => if (func_bram_size = "9Kb") then + func_width := 12; + elsif (func_bram_size = "18Kb") then + func_width := 13; + else + func_width := 14; + end if; + when 3|4 => if (func_bram_size = "9Kb") then + func_width := 11; + elsif (func_bram_size = "18Kb") then + func_width := 12; + else + func_width := 13; + end if; + when 5|6|7|8|9 => if (func_bram_size = "9Kb") then + func_width := 10; + elsif (func_bram_size = "18Kb") then + func_width := 11; + else + func_width := 12; + end if; + when 10 to 18 => if (func_bram_size = "9Kb") then + func_width := 9; + elsif (func_bram_size = "18Kb") then + func_width := 10; + else + func_width := 11; + end if; + when 19 to 36 => if (func_bram_size = "9Kb") then + func_width := 8; + elsif (func_bram_size = "18Kb") then + func_width := 9; + elsif (func_bram_size = "36Kb") then + func_width := 10; + else + func_width := 14; + end if; + when 37 to 72 => if (func_bram_size = "36Kb") then + func_width := 9; + end if; + when others => func_width := 15; + end case; + else + func_width := 15; + end if; + return func_width; + end; + + function GetWidthDP ( + d_width : in integer; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case d_width is + when 0 => func_width := 0; + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 9; + when 10 to 18 => func_width := 18; + when 19 to 36 => func_width := 36; + when 37 to 72 => func_width := 72; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetFinalWidth ( + d_width : in integer + ) return integer is + variable func_least_width : integer; + begin + if (d_width = 0) then + func_least_width := 1; + else + func_least_width := d_width; + end if; + return func_least_width; + end; + + function GetBRAMSize ( + bram_size : in string; + device : in string + ) return boolean is + variable bram_val : boolean; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "36Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 18Kb, 36Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + -- begin s8 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" or bram_size = "18Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 9Kb, 18Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; -- end s8 + + return bram_val; + end; + function GetD_P ( + dw : in integer; + device : in string + ) return boolean is + variable wp : boolean; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if dw = 9 or dw = 17 or dw = 18 or dw = 33 or dw = 34 or dw = 35 or dw = 36 or dw = 65 or dw = 66 or dw = 67 or dw = 68 or dw = 69 or dw = 70 or dw = 71 or dw = 72 then + wp := TRUE; + else + wp := FALSE; + end if; + else + wp := FALSE; + end if; + return wp; + end; + function CheckParity ( + wp, rp : in boolean; + device : in string + ) return boolean is + variable Message : LINE; + variable check : boolean; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if ( (wp = FALSE and rp = FALSE ) or (wp = TRUE and rp = TRUE) ) then + check := FALSE; + elsif(wp = TRUE and rp = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("WRITE_WIDTH on BRAM_SDP_MACRO is set to ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp = FALSE and rp = TRUE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("READ_WIDTH on BRAM_SDP_MACRO is set to ") ); + write( Message, READ_WIDTH); + write( Message, STRING'(". The parity bit(s) have not been written and hence cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + end if; + end if; + return check; + end; + function GetINITSRVALWidth ( + bram_size : in string; + device : in string + ) return integer is + variable init_srval : integer; + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(bram_size = "18Kb") then + init_srval := 20; + elsif (bram_size = "36Kb") then + init_srval := 36; + end if; + end if; + -- begin s12 + if ( DEVICE = "SPARTAN6") then + if(bram_size = "9Kb") then + init_srval := 20; + elsif(bram_size = "18Kb") then + init_srval := 20; + end if; + end if; -- end s12 + return init_srval; + end; + function init_b_size ( + inputvec : in bit_vector; + init_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable init_b_resize : bit_vector(0 to (init_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((bram_size = "18Kb") and ((rd_width > 18) and (wr_width > 18))) then + init_b_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif ((bram_size = "36Kb") and ((rd_width > 36) and (wr_width > 36))) then + init_b_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; + -- begin s13 + if ( DEVICE = "SPARTAN6") then + if((bram_size = "9Kb") and ((rd_width > 18) and (wr_width > 18))) then + init_b_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + end if; + end if; -- end s13 + return init_b_resize; + end; + function init_a_size ( + inputvec : in bit_vector; + init_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable init_a_resize : bit_vector(0 to (init_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((bram_size = "18Kb") and ((rd_width > 18) and (wr_width > 18))) then + init_a_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif ((bram_size = "36Kb") and ((rd_width > 36) and (wr_width > 36))) then + init_a_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; + -- begin s14 + if ( DEVICE = "SPARTAN6") then + if((bram_size = "9Kb") and ((rd_width > 18) and (wr_width > 18))) then + init_a_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + end if; + end if; -- end s14 + return init_a_resize; + end; + function srval_b_size ( + inputvec : in bit_vector; + srval_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable srval_b_resize : bit_vector(0 to (srval_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((bram_size = "18Kb") and ((rd_width > 18) and (wr_width > 18))) then + srval_b_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif ((bram_size = "36Kb") and ((rd_width > 36) and (wr_width > 36))) then + srval_b_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; + -- begin s15 + if ( DEVICE = "SPARTAN6") then + if((bram_size = "9Kb") and ((rd_width > 18) and (wr_width > 18))) then + srval_b_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + end if; + end if; -- end s15 + return srval_b_resize; + end; + function srval_a_size ( + inputvec : in bit_vector; + srval_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable srval_a_resize : bit_vector(0 to (srval_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((bram_size = "18Kb") and ((rd_width > 18) and (wr_width > 18))) then + srval_a_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif ((bram_size = "36Kb") and ((rd_width > 36) and (wr_width > 36))) then + srval_a_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; + -- begin s16 + if ( DEVICE = "SPARTAN6") then + if((bram_size = "9Kb") and ((rd_width > 18) and (wr_width > 18))) then + srval_a_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + end if; + end if; -- end s16 + return srval_a_resize; + end; + + function GetSIMDev ( + device : in string + ) return string is + begin + if(DEVICE = "VIRTEX6") then + return "VIRTEX6"; + else + return "7SERIES"; + end if; + end; + + function GetValWidth ( + rd_width : in integer; + wr_width : in integer + ) return boolean is + begin + if ((rd_width = 1 or rd_width = 2 or rd_width = 4 or rd_width = 8 or rd_width = 9 or rd_width = 16 or rd_width = 18 or rd_width = 32 or rd_width = 36 or rd_width = 64 or rd_width = 72) and (wr_width = 1 or wr_width = 2 or wr_width = 4 or wr_width = 8 or wr_width = 9 or wr_width = 16 or wr_width = 18 or wr_width = 32 or wr_width = 36 or wr_width = 64 or wr_width = 72)) then + return TRUE; + else + return FALSE; + end if; + end; + + function CheckWEWidth ( + wr_width : in integer; + we_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if ( wr_width <= 9 and we_vec /= 1) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 1 (0 downto 0) . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 9 and wr_width <= 18) and we_vec /= 2) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 2 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 18 and wr_width <= 36) and we_vec /= 4) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 4 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 36 and wr_width <= 72) and we_vec /= 8) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 8 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + end; + + function CheckRDADDRWidth ( + rd_width : in integer; + func_bram_size : in string; + device : in string; + rdaddr_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if (func_bram_size = "9Kb") then + if (rd_width = 1 and rdaddr_vec /= 13) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (rd_width = 2 and rdaddr_vec /= 12) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 2 and rd_width <= 4) and rdaddr_vec /= 11) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 4 and rd_width <= 9) and rdaddr_vec /= 10) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 9 and rd_width <= 18) and rdaddr_vec /= 9) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 18 and rd_width <= 36) and rdaddr_vec /= 8) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 8 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "18Kb") then + if (rd_width = 1 and rdaddr_vec /= 14) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (rd_width = 2 and rdaddr_vec /= 13) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 2 and rd_width <= 4) and rdaddr_vec /= 12) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 4 and rd_width <= 9) and rdaddr_vec /= 11) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 9 and rd_width <= 18) and rdaddr_vec /= 10) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 18 and rd_width <= 36) and rdaddr_vec /= 9) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "36Kb") then + if (rd_width = 1 and rdaddr_vec /= 15) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 15 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (rd_width = 2 and rdaddr_vec /= 14) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 2 and rd_width <= 4) and rdaddr_vec /= 13) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 4 and rd_width <= 9) and rdaddr_vec /= 12) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 9 and rd_width <= 18) and rdaddr_vec /= 11) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 18 and rd_width <= 36) and rdaddr_vec /= 10) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((rd_width > 36 and rd_width <= 72) and rdaddr_vec /= 9) then + write( Message, STRING'("RDADDR port width incorrectly set. ") ); + write( Message, STRING'(". RDADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + else + return TRUE; + end if; + end; + + function CheckWRADDRWidth ( + wr_width : in integer; + func_bram_size : in string; + device : in string; + wraddr_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if (func_bram_size = "9Kb") then + if (wr_width = 1 and wraddr_vec /= 13) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (wr_width = 2 and wraddr_vec /= 12) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 2 and wr_width <= 4) and wraddr_vec /= 11) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 4 and wr_width <= 9) and wraddr_vec /= 10) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 9 and wr_width <= 18) and wraddr_vec /= 9) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 18 and wr_width <= 36) and wraddr_vec /= 8) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 8 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "18Kb") then + if (wr_width = 1 and wraddr_vec /= 14) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (wr_width = 2 and wraddr_vec /= 13) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 2 and wr_width <= 4) and wraddr_vec /= 12) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 4 and wr_width <= 9) and wraddr_vec /= 11) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 9 and wr_width <= 18) and wraddr_vec /= 10) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 18 and wr_width <= 36) and wraddr_vec /= 9) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "36Kb") then + if (wr_width = 1 and wraddr_vec /= 15) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 15 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (wr_width = 2 and wraddr_vec /= 14) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 2 and wr_width <= 4) and wraddr_vec /= 13) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 4 and wr_width <= 9) and wraddr_vec /= 12) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 9 and wr_width <= 18) and wraddr_vec /= 11) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 18 and wr_width <= 36) and wraddr_vec /= 10) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((wr_width > 36 and wr_width <= 72) and wraddr_vec /= 9) then + write( Message, STRING'("WRADDR port width incorrectly set. ") ); + write( Message, STRING'(". WRADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + else + return TRUE; + end if; + end; + + + function Get_Parity_Width ( + wd : in integer + ) return integer is + variable wp : integer; + begin + if (wd = 9 or wd = 17 or wd = 33 or wd = 65) then + wp := 1; + elsif (wd = 18 or wd = 34 or wd = 66) then + wp := 2; + elsif (wd = 35 or wd = 67) then + wp := 3; + elsif (wd = 36 or wd = 68) then + wp := 4; + elsif (wd = 69) then + wp := 5; + elsif (wd = 70) then + wp := 6; + elsif (wd = 71) then + wp := 7; + elsif (wd = 72) then + wp := 8; + else + wp := 8; + end if; + return wp; + end; + + function Pad_INIT_SRVAL ( + func_in_init_srval : in bit_vector; + func_init_srval_width_size : in integer) + return bit_vector is variable func_paded_init_srval : bit_vector(0 to func_init_srval_width_size-1) := (others=>'0'); + variable func_padded_width : integer; + begin + + if (func_in_init_srval'length > func_init_srval_width_size) then + func_padded_width := func_init_srval_width_size; + else + func_padded_width := func_in_init_srval'length; + end if; + + for i in 0 to func_padded_width-1 loop + func_paded_init_srval(((func_init_srval_width_size-1) - (func_padded_width-1)) + i) := func_in_init_srval(i); + end loop; + + return func_paded_init_srval; + end; + + + function Get_INIT_SRVAL_Width ( + func_bram_size : in string; + func_device : in string) + return integer is variable init_srval_width : integer; + begin + if(bram_size = "36Kb") then + if (READ_WIDTH > 36 or WRITE_WIDTH > 36) then + init_srval_width := 72; + else + init_srval_width := 36; + end if; + + elsif(bram_size = "18Kb") then + if (func_device = "SPARTAN6" or (READ_WIDTH > 18 or WRITE_WIDTH > 18)) then + init_srval_width := 36; + else + init_srval_width := 20; + end if; + elsif (bram_size = "9Kb") then + if (WRITE_WIDTH > 18) then + init_srval_width := 36; + else + init_srval_width := 20; + end if; + else + init_srval_width := 36; + end if; + + return init_srval_width; + end; + + + function INIT_SRVAL_parity_byte ( + in_init_srval : in bit_vector; + readp : in boolean; + writep : in boolean; + read_widthp : in integer; + init_srval_width : in integer) + return bit_vector is variable out_init_srval : bit_vector(0 to in_init_srval'length-1); + begin + + if (readp = TRUE and writep = TRUE) then + + if (read_widthp = 9) then + if (init_srval_width = 20) then + out_init_srval := "00000000000" & in_init_srval(11) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "000000000000000000000000000" & in_init_srval(27) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"000000000000000" & in_init_srval(63) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 17) then + if (init_srval_width = 20) then + out_init_srval := "000" & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "0000000000000000000" & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"0000000000000" & in_init_srval(63) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 18) then + if (init_srval_width = 20) then + out_init_srval := "00" & in_init_srval(2) & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "000000000000000000" & in_init_srval(18) & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "00" & X"0000000000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 33) then + if (init_srval_width = 36) then + out_init_srval := "000" & in_init_srval(27) & in_init_srval(3 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"000000000" & in_init_srval(63) & in_init_srval(39 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 34) then + if (init_srval_width = 36) then + out_init_srval := "00" & in_init_srval(18) & in_init_srval(27) & in_init_srval(2 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "00" & X"000000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(38 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 35) then + if (init_srval_width = 36) then + out_init_srval := '0' & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := '0' & X"000000000" & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 36) then + if (init_srval_width = 36) then + out_init_srval := in_init_srval(0) & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := X"000000000" & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 65) then + out_init_srval := "0000000" & in_init_srval(63) & in_init_srval(7 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 66) then + out_init_srval := "000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(6 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 67) then + out_init_srval := "00000" & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(5 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 68) then + out_init_srval := "0000" & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(4 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 69) then + out_init_srval := "000" & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(3 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 70) then + out_init_srval := "00" & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(2 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 71) then + out_init_srval := '0' & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 72) then + out_init_srval := in_init_srval(0) & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + else + out_init_srval := in_init_srval; + end if; + + else + out_init_srval := in_init_srval; + end if; + + return out_init_srval; + + end; + + constant data_width : integer := GetDataWidth(READ_WIDTH, WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant wrwidth : integer := GetWidthDP(WRITE_WIDTH, DEVICE); + constant rdwidth : integer := GetWidthDP(READ_WIDTH, DEVICE); + constant bram_size_val : boolean := GetBRAMSize(BRAM_SIZE, DEVICE); + constant write_p : boolean := GetD_P(WRITE_WIDTH, DEVICE); + constant read_p : boolean := GetD_P(READ_WIDTH, DEVICE); + constant check_p : boolean := CheckParity(write_p, read_p, DEVICE); + constant dip_width : integer := GetDataPSize(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant dop_width : integer := GetDataPSize(READ_WIDTH, BRAM_SIZE, DEVICE); + constant wraddr_width : integer := GetADDRWidth(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant rdaddr_width : integer := GetADDRWidth(READ_WIDTH, BRAM_SIZE, DEVICE); + constant write_size : integer := GetWriteBusSize(WRITE_WIDTH, dip_width, BRAM_SIZE, DEVICE); + constant read_size : integer := GetReadBusSize(READ_WIDTH, dop_width, BRAM_SIZE, DEVICE); + constant we_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, WRITE_WIDTH); + constant rd_byte_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, READ_WIDTH); + constant fin_wr_width : integer := GetFinalWidth(WRITE_WIDTH); + constant fin_rd_width : integer := GetFinalWidth(READ_WIDTH); + constant max_rdaddr_width : integer := GetMaxADDRSize(READ_WIDTH, BRAM_SIZE, DEVICE); + constant max_wraddr_width : integer := GetMaxADDRSize(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant max_write_width : integer := GetMaxDataSize(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant max_read_width : integer := GetMaxDataSize(READ_WIDTH, BRAM_SIZE, DEVICE); + constant max_writep_width : integer := GetMaxDataPSize(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant max_readp_width : integer := GetMaxDataPSize(READ_WIDTH, BRAM_SIZE, DEVICE); + constant max_we_width : integer := GetMaxWESize(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant sim_device_dp : string := GetSIMDev(DEVICE); + constant valid_width : boolean := GetValWidth(READ_WIDTH,WRITE_WIDTH); + constant weleng : integer := WE'length; + constant rdaddrleng : integer := RDADDR'length; + constant wraddrleng : integer := WRADDR'length; + constant checkwe : boolean := CheckWEWidth(WRITE_WIDTH, weleng); + constant checkrdaddr : boolean := CheckRDADDRWidth(READ_WIDTH, BRAM_SIZE, DEVICE, rdaddrleng); + constant checkwraddr : boolean := CheckWRADDRWidth(WRITE_WIDTH, BRAM_SIZE, DEVICE, wraddrleng); + + signal rdaddr_pattern : std_logic_vector(max_rdaddr_width-1 downto 0) := (others=>'0'); + signal wraddr_pattern : std_logic_vector(max_wraddr_width-1 downto 0) := (others=>'0'); + signal di_pattern : std_logic_vector(max_write_width-1 downto 0) := (others=>'0'); + signal dip_pattern : std_logic_vector(max_writep_width-1 downto 0) := (others=>'0'); + signal do_pattern : std_logic_vector(max_read_width-1 downto 0); + signal dop_pattern : std_logic_vector(max_readp_width-1 downto 0) := (others=>'0'); + signal we_pattern : std_logic_vector(max_we_width-1 downto 0) := (others=>'0'); + + signal rstram_pattern : std_logic := '0'; + signal rstreg_pattern : std_logic := '0'; + constant init_srval_width : integer := GetINITSRVALWidth(BRAM_SIZE, DEVICE); + + constant init_srval_width_size : integer := Get_INIT_SRVAL_Width(BRAM_SIZE, DEVICE); + constant padded_init : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(INIT, init_srval_width_size); + constant padded_srval : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(SRVAL, init_srval_width_size); + constant wr_widthp : integer := Get_Parity_Width(WRITE_WIDTH); + constant rd_widthp : integer := Get_Parity_Width(READ_WIDTH); + + + signal INIT_byte_tmp : bit_vector(0 to INIT'length -1) := (others => '0'); + + constant init_a_pattern : bit_vector := init_a_size(INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant init_b_pattern : bit_vector := init_b_size(INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant srval_a_pattern : bit_vector := srval_a_size(INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant srval_b_pattern : bit_vector := srval_b_size(INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + + constant read_double :integer:= READ_WIDTH * 2; + +begin + + a1 : rdaddr_pattern <= + -- begin s9 + RDADDR when (BRAM_SIZE = "9Kb" and rdaddr_width = 13 ) else + (RDADDR & '1') when (BRAM_SIZE = "9Kb" and rdaddr_width = 12 ) else + (RDADDR & "11") when (BRAM_SIZE = "9Kb" and rdaddr_width = 11 ) else + (RDADDR & "111") when (BRAM_SIZE = "9Kb" and rdaddr_width = 10) else + (RDADDR & "1111") when (BRAM_SIZE = "9Kb" and rdaddr_width = 9 ) else + (RDADDR & "11111") when (BRAM_SIZE = "9Kb" and rdaddr_width = 8 ) else -- end s9 + RDADDR when (BRAM_SIZE = "18Kb" and rdaddr_width = 14 ) else + (RDADDR & '1') when (BRAM_SIZE = "18Kb" and rdaddr_width = 13 ) else + (RDADDR & "11") when (BRAM_SIZE = "18Kb" and rdaddr_width = 12) else + (RDADDR & "111") when (BRAM_SIZE = "18Kb" and rdaddr_width = 11 ) else + (RDADDR & "1111") when (BRAM_SIZE = "18Kb" and rdaddr_width = 10) else + RDADDR when (DEVICE = "VIRTEX5" and BRAM_SIZE = "18Kb" and rdaddr_width = 9) else + (RDADDR & "11111") when ( BRAM_SIZE = "18Kb" and rdaddr_width = 9) else + RDADDR when (BRAM_SIZE = "36Kb" and rdaddr_width = 16 ) else + ('1' & RDADDR) when (BRAM_SIZE = "36Kb" and rdaddr_width = 15 ) else + ('1' & RDADDR & '1') when (BRAM_SIZE = "36Kb" and rdaddr_width = 14 ) else + ('1' & RDADDR & "11") when (BRAM_SIZE = "36Kb" and rdaddr_width = 13 ) else + ('1' & RDADDR & "111") when (BRAM_SIZE = "36Kb" and rdaddr_width = 12 ) else + ('1' & RDADDR & "1111") when (BRAM_SIZE = "36Kb" and rdaddr_width = 11 ) else + ('1' & RDADDR & "11111") when (BRAM_SIZE = "36Kb" and rdaddr_width = 10) else + RDADDR when (DEVICE = "VIRTEX5" and BRAM_SIZE = "36Kb" and rdaddr_width = 9) else + ('1' & RDADDR & "111111") when (BRAM_SIZE = "36Kb" and rdaddr_width = 9) else + (others => '1') ; + a2 : wraddr_pattern <= + -- begin s10 + WRADDR when (BRAM_SIZE = "9Kb" and wraddr_width = 13 ) else + (WRADDR & '1') when (BRAM_SIZE = "9Kb" and wraddr_width = 12 ) else + (WRADDR & "11") when (BRAM_SIZE = "9Kb" and wraddr_width = 11) else + (WRADDR & "111") when (BRAM_SIZE = "9Kb" and wraddr_width = 10) else + (WRADDR & "1111") when (BRAM_SIZE = "9Kb" and wraddr_width = 9) else + (WRADDR & "11111") when (BRAM_SIZE = "9Kb" and wraddr_width = 8) else -- end s10 + WRADDR when (BRAM_SIZE = "18Kb" and wraddr_width = 14 ) else + (WRADDR & '1') when (BRAM_SIZE = "18Kb" and wraddr_width = 13 ) else + (WRADDR & "11") when (BRAM_SIZE = "18Kb" and wraddr_width = 12 ) else + (WRADDR & "111") when (BRAM_SIZE = "18Kb" and wraddr_width = 11 ) else + (WRADDR & "1111") when (BRAM_SIZE = "18Kb" and wraddr_width = 10) else + (WRADDR) when (DEVICE = "VIRTEX5" and BRAM_SIZE = "18Kb" and wraddr_width = 9) else + (WRADDR & "11111") when ( BRAM_SIZE = "18Kb" and wraddr_width = 9) else + WRADDR when (BRAM_SIZE = "36Kb" and wraddr_width = 16 ) else + ('1' & WRADDR) when (BRAM_SIZE = "36Kb" and wraddr_width = 15) else + ('1' & WRADDR & '1') when (BRAM_SIZE = "36Kb" and wraddr_width = 14) else + ('1' & WRADDR & "11") when (BRAM_SIZE = "36Kb" and wraddr_width = 13) else + ('1' & WRADDR & "111") when (BRAM_SIZE = "36Kb" and wraddr_width = 12) else + ('1' & WRADDR & "1111") when (BRAM_SIZE = "36Kb" and wraddr_width = 11 ) else + ('1' & WRADDR & "11111") when (BRAM_SIZE = "36Kb" and wraddr_width = 10) else + WRADDR when (DEVICE = "VIRTEX5" and BRAM_SIZE = "36Kb" and wraddr_width = 9) else + ('1' & WRADDR & "111111") when (BRAM_SIZE = "36Kb" and wraddr_width = 9) else + (others => '1') ; + + digen : if ( (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES" or DEVICE = "SPARTAN6") and ((BRAM_SIZE = "9Kb" and WRITE_WIDTH <= 36) or (BRAM_SIZE = "18Kb" and WRITE_WIDTH <= 36) or (BRAM_SIZE = "36Kb" and WRITE_WIDTH <= 72)) ) generate + di1 : if (read_p = TRUE and write_p = TRUE) generate + + di11 : if (WRITE_WIDTH >= 71 or WRITE_WIDTH = 35 or WRITE_WIDTH = 36 or WRITE_WIDTH <= 32) generate + i1 : for i in 0 to we_width-1 generate + di_pattern((i*8)+7 downto (i*8)) <= DI(((i*8)+i)+7 downto ((i*8)+i)); + end generate i1; + end generate di11; + + di12 : if (WRITE_WIDTH = 33) generate + di_pattern <= DI(32 downto 9) & DI(7 downto 0); + end generate di12; + + di13 : if (WRITE_WIDTH = 34) generate + di_pattern <= DI(33 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di13; + + di14 : if (WRITE_WIDTH = 65) generate + di_pattern <= DI(64 downto 9) & DI(7 downto 0); + end generate di14; + + di15 : if (WRITE_WIDTH = 66) generate + di_pattern <= DI(65 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di15; + + di16 : if (WRITE_WIDTH = 67) generate + di_pattern <= DI(66 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di16; + + di17 : if (WRITE_WIDTH = 68) generate + di_pattern <= DI(67 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di17; + + di18 : if (WRITE_WIDTH = 69) generate + di_pattern <= DI(68 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di18; + + di19 : if (WRITE_WIDTH = 70) generate + di_pattern <= DI(69 downto 54) & DI(52 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di19; + + + i1p : for j in 1 to wr_widthp generate + dip_pattern(j-1) <= DI((j*8)+j-1); + end generate i1p; + + end generate di1; + di2 : if ( (read_p = FALSE and write_p = FALSE) and ((READ_WIDTH = WRITE_WIDTH) or (READ_WIDTH/WRITE_WIDTH = 2) or (valid_width = TRUE)) ) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di2; + di3 : if ((READ_WIDTH = 1 and WRITE_WIDTH = 2) or (READ_WIDTH = 2 and WRITE_WIDTH = 4) or (READ_WIDTH = 4 and WRITE_WIDTH = 8) or (READ_WIDTH = 8 and WRITE_WIDTH = 16) or (READ_WIDTH = 16 and WRITE_WIDTH = 32) or (READ_WIDTH = 32 and WRITE_WIDTH = 64 )) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di3; + di4 : if ( (read_p = FALSE and write_p = FALSE) and (WRITE_WIDTH/READ_WIDTH = 2)) generate + di_pattern(READ_WIDTH-1 downto 0) <= DI(READ_WIDTH-1 downto 0); + di_pattern (read_double-1 downto READ_WIDTH) <= DI(read_double-1 downto READ_WIDTH); + end generate di4; + end generate digen; + + dogen : if ( (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES" or DEVICE = "SPARTAN6") and ((BRAM_SIZE = "9Kb" and READ_WIDTH <= 36) or (BRAM_SIZE = "18Kb" and READ_WIDTH <= 36) or (BRAM_SIZE = "36Kb" and READ_WIDTH <= 72)) ) generate + do11 : if (read_p = TRUE and write_p = TRUE) generate + + do110 : if (READ_WIDTH >= 71 or READ_WIDTH = 35 or READ_WIDTH = 36 or READ_WIDTH <= 32) generate + o1 : for i1 in 0 to rd_byte_width-1 generate + DO(((i1*8)+i1)+7 downto ((i1*8)+i1)) <= do_pattern((i1*8)+7 downto (i1*8)); + end generate o1; + end generate do110; + + do111 : if (READ_WIDTH = 33) generate + DO(32 downto 9) <= do_pattern(31 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do111; + + do112 : if (READ_WIDTH = 34) generate + DO(33 downto 18) <= do_pattern(31 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do112; + + do113 : if (READ_WIDTH = 65) generate + DO(64 downto 9) <= do_pattern(63 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do113; + + do114 : if (READ_WIDTH = 66) generate + DO(65 downto 18) <= do_pattern(63 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do114; + + do115 : if (READ_WIDTH = 67) generate + DO(66 downto 27) <= do_pattern(63 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do115; + + do116 : if (READ_WIDTH = 68) generate + DO(67 downto 36) <= do_pattern(63 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do116; + + do117 : if (READ_WIDTH = 69) generate + DO(68 downto 45) <= do_pattern(63 downto 40); + DO(43 downto 36) <= do_pattern(39 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do117; + + do118 : if (READ_WIDTH = 70) generate + DO(69 downto 54) <= do_pattern(63 downto 48); + DO(52 downto 45) <= do_pattern(47 downto 40); + DO(43 downto 36) <= do_pattern(39 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do118; + + do119 : if (READ_WIDTH >= 71) generate + DO(70 downto 63) <= do_pattern(63 downto 56); + DO(61 downto 54) <= do_pattern(55 downto 48); + DO(52 downto 45) <= do_pattern(47 downto 40); + DO(43 downto 36) <= do_pattern(39 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do119; + + o1p : for j1 in 1 to rd_widthp generate + DO((j1*8)+j1-1) <= dop_pattern(j1-1); + end generate o1p; + + end generate do11; + do121 : if ( (read_p = FALSE and write_p = FALSE) and ( (READ_WIDTH = WRITE_WIDTH) or (WRITE_WIDTH/READ_WIDTH =2) or (valid_width = TRUE) )) generate + DO <= ( do_pattern(fin_rd_width-1 downto 0) ); + end generate do121; + do12 : if ((READ_WIDTH = 2 and WRITE_WIDTH = 1) or (READ_WIDTH = 4 and WRITE_WIDTH = 2) or (READ_WIDTH = 8 and WRITE_WIDTH = 4) or (READ_WIDTH = 16 and WRITE_WIDTH = 8) or (READ_WIDTH = 32 and WRITE_WIDTH = 16) or (READ_WIDTH = 64 and WRITE_WIDTH = 32 )) generate + DO <= ( do_pattern(fin_rd_width-1 downto 0) ); + end generate do12; + do3 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH = 3)) generate + -- write width 3 + DO <= ( do_pattern((4+(WRITE_WIDTH-1)) downto 4) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do3; + + do47 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH > 4 and WRITE_WIDTH < 8)) generate + -- write width between 4 and 7 + DO <= ( do_pattern((8+(WRITE_WIDTH-1)) downto 8) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do47; + + do815 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH > 8 and WRITE_WIDTH < 16)) generate + -- write width between 8 and 15 + DO <= ( do_pattern((16+(WRITE_WIDTH-1)) downto 16) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do815; + do1831 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH > 16 and WRITE_WIDTH < 32)) generate + DO <= ( do_pattern((32+(WRITE_WIDTH-1)) downto 32) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do1831; + + end generate dogen; + + we1 : if (DEVICE = "VIRTEX5") generate + w1 : we_pattern <= + (WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 1 ) else + WE when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + (WE & WE & WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 1 ) else + (WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 2 ) else + WE when (BRAM_SIZE = "36Kb" and we_width = 4 ) else + WE; + end generate we1; + web_bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + w1 : we_pattern <= + (WE & WE & WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 1 ) else + (WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + WE when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + (WE & WE & WE & WE & WE & WE & WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 1 ) else + (WE & WE & WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 2 ) else + (WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 4 ) else + WE when (BRAM_SIZE = "36Kb" and we_width = 8 ) else + WE; + end generate web_bl; + -- begin s11 + we2 : if (DEVICE = "SPARTAN6") generate + w2 : we_pattern <= + (WE & WE) when (BRAM_SIZE = "9Kb" and we_width = 1 ) else + WE when (BRAM_SIZE = "9Kb" and we_width = 2 ) else + (WE & WE & WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 1 ) else + (WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + WE when (BRAM_SIZE = "18Kb" and we_width = 4 ) else + WE; + end generate we2; + -- end s11 + + rstram_pattern <= RST ; + rstreg_pattern <= RST when (DO_REG = 1) else '0'; + + -- begin generate virtex5 + sdp_v5 : if DEVICE = "VIRTEX5" generate + + ramb18_dp : if (BRAM_SIZE = "18Kb" and DATA_WIDTH <= 18) generate + begin + ram18 : RAMB18 + generic map( + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_B => "READ_FIRST", + WRITE_WIDTH_B => wrwidth + ) + port map ( + ADDRA => rdaddr_pattern, + ADDRB => wraddr_pattern, + CLKA => RDCLK, + CLKB => WRCLK, + DIA => X"0000", + DIB => di_pattern, + DIPA => "00", + DIPB => dip_pattern, + ENA => RDEN, + ENB => WREN, + SSRA => RST, + SSRB => '0', + WEA => "00", + WEB => we_pattern, + DOA => do_pattern, + DOB => OPEN, + DOPA => dop_pattern, + DOPB => OPEN, + REGCEA => REGCE, + REGCEB => '0' + ); + + end generate ramb18_dp; + + ramb18_sdp : if (BRAM_SIZE = "18Kb" and DATA_WIDTH > 18 and DATA_WIDTH <= 36) generate + begin + ram18sd : RAMB18SDP + generic map ( + + DO_REG => DO_REG, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size) + ) + + port map ( + DI => di_pattern, + DIP => dip_pattern, + RDADDR => RDADDR, + RDCLK => RDCLK, + RDEN => RDEN, + SSR => RST, + WRADDR => WRADDR, + WRCLK => WRCLK, + WREN => WREN, + WE => we_pattern, + DO => do_pattern, + DOP => dop_pattern, + REGCE => REGCE + ); + + end generate ramb18_sdp; + ramb36_dp : if (BRAM_SIZE = "36Kb" and DATA_WIDTH <= 36) generate + begin + ram36 : RAMB36 + generic map ( + + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + READ_WIDTH_A => rdwidth, + WRITE_MODE_B => "READ_FIRST", + WRITE_WIDTH_B => wrwidth + + ) + port map ( + ADDRA => rdaddr_pattern, + ADDRB => wraddr_pattern, + CLKA => RDCLK, + CLKB => WRCLK, + DIA => X"00000000", + DIB => di_pattern, + DIPA => "0000", + DIPB => dip_pattern, + ENA => RDEN, + ENB => WREN, + SSRA => RST, + SSRB => '0', + WEA => "0000", + WEB => we_pattern, + DOA => do_pattern, + DOB => OPEN, + DOPA => dop_pattern, + DOPB => OPEN, + CASCADEOUTLATA => OPEN, + CASCADEOUTLATB => OPEN, + CASCADEOUTREGA => OPEN, + CASCADEOUTREGB => OPEN, + CASCADEINLATA => '0', + CASCADEINLATB => '0', + CASCADEINREGA => '0', + CASCADEINREGB => '0', + REGCEA => REGCE, + REGCEB => '0' + ); + end generate ramb36_dp; + + ramb36_sdp : if (BRAM_SIZE = "36Kb" and DATA_WIDTH > 36 and DATA_WIDTH <= 72) generate + begin + ram36sd : RAMB36SDP + generic map ( + + DO_REG => DO_REG, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + INIT => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size) + ) + + port map ( + DI => di_pattern, + DIP => dip_pattern, + RDADDR => RDADDR, + RDCLK => RDCLK, + RDEN => RDEN, + SSR => RST, + WRADDR => WRADDR, + WRCLK => WRCLK, + WREN => WREN, + WE => we_pattern, + DO => do_pattern, + DOP => dop_pattern, + DBITERR => OPEN, + ECCPARITY => OPEN, + REGCE => REGCE, + SBITERR => OPEN + ); + + end generate ramb36_sdp; + end generate sdp_v5; + -- end generate virtex5 + -- begin generate virtex6 + sdp_bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + + ramb18_dp_bl : if (BRAM_SIZE = "18Kb" and READ_WIDTH <= 18 and WRITE_WIDTH <= 18) generate + begin + ram18_bl : RAMB18E1 + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + RAM_MODE => "TDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => X"0000", + DIBDI => di_pattern, + DIPADIP => "00", + DIPBDIP => dip_pattern, + ENARDEN => RDEN, + ENBWREN => WREN, + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "00", + WEBWE => we_pattern, + DOADO => do_pattern, + DOBDO => OPEN, + DOPADOP => dop_pattern, + DOPBDOP => OPEN + ); + + end generate ramb18_dp_bl; + + ramb18_sdp_bl1 : if (BRAM_SIZE = "18Kb" and ( (READ_WIDTH > 18 and READ_WIDTH <= 36) and (WRITE_WIDTH <= 18) )) generate + begin + ram18sd_bl1 : RAMB18E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => "0000000000000000", + DIBDI => di_pattern(15 downto 0), + DIPADIP => "00", + DIPBDIP => dip_pattern(1 downto 0), + ENARDEN => RDEN, + ENBWREN => WREN, + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "00", + WEBWE => we_pattern, + DOADO => do_pattern(15 downto 0), + DOBDO => do_pattern(31 downto 16), + DOPADOP => dop_pattern(1 downto 0), + DOPBDOP => dop_pattern(3 downto 2) + ); + + end generate ramb18_sdp_bl1; + ramb18_sdp_bl2 : if (BRAM_SIZE = "18Kb" and ( READ_WIDTH <= 18 and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36))) generate + begin + ram18sd_bl2 : RAMB18E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => di_pattern(15 downto 0), + DIBDI => di_pattern(31 downto 16), + DIPADIP => dip_pattern(1 downto 0), + DIPBDIP => dip_pattern(3 downto 2), + ENARDEN => RDEN, + ENBWREN => WREN, + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "00", + WEBWE => we_pattern, + DOADO => do_pattern(15 downto 0), + DOBDO => OPEN, + DOPADOP => dop_pattern(1 downto 0), + DOPBDOP => OPEN + ); + + end generate ramb18_sdp_bl2; + ramb18_sdp_bl3 : if (BRAM_SIZE = "18Kb" and ( (READ_WIDTH > 18 and READ_WIDTH <= 36) and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36))) generate + begin + ram18sd_bl3 : RAMB18E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => di_pattern(15 downto 0), + DIBDI => di_pattern(31 downto 16), + DIPADIP => dip_pattern(1 downto 0), + DIPBDIP => dip_pattern(3 downto 2), + ENARDEN => RDEN, + ENBWREN => WREN, + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "00", + WEBWE => we_pattern, + DOADO => do_pattern(15 downto 0), + DOBDO => do_pattern(31 downto 16), + DOPADOP => dop_pattern(1 downto 0), + DOPBDOP => dop_pattern(3 downto 2) + ); + + end generate ramb18_sdp_bl3; + ramb36_dp_bl : if (BRAM_SIZE = "36Kb" and READ_WIDTH <= 36 and WRITE_WIDTH <= 36) generate + begin + ram36_bl : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + READ_WIDTH_A => rdwidth, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + + ) + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CASCADEINA => '0', + CASCADEINB => '0', + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => X"00000000", + DIBDI => di_pattern, + DIPADIP => "0000", + DIPBDIP => dip_pattern, + ENARDEN => RDEN, + ENBWREN => WREN, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "0000", + WEBWE => we_pattern, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + DOADO => do_pattern, + DOBDO => OPEN, + DOPADOP => dop_pattern, + DOPBDOP => OPEN, + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN + ); + + end generate ramb36_dp_bl; + ramb36_sdp_bl : if (BRAM_SIZE = "36Kb" and ( (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72) and READ_WIDTH <= 36 )) generate + begin + ram36sd_bl : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CASCADEINA => '0', + CASCADEINB => '0', + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => di_pattern(31 downto 0), + DIBDI => di_pattern(63 downto 32), + DIPADIP => dip_pattern(3 downto 0), + DIPBDIP => dip_pattern(7 downto 4), + ENARDEN => RDEN, + ENBWREN => WREN, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "0000", + WEBWE => we_pattern, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + DOADO=> do_pattern(31 downto 0), + DOBDO=> OPEN, + DOPADOP => dop_pattern(3 downto 0), + DOPBDOP => OPEN, + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN + ); + + end generate ramb36_sdp_bl; + ramb36_sdp_bl_1 : if (BRAM_SIZE = "36Kb" and ( (WRITE_WIDTH <= 36) and (READ_WIDTH > 36 and READ_WIDTH <= 72) )) generate + begin + ram36sd_bl_1 : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CASCADEINA => '0', + CASCADEINB => '0', + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => "00000000000000000000000000000000", + DIBDI => di_pattern(31 downto 0), + DIPADIP => "0000", + DIPBDIP => dip_pattern(3 downto 0), + ENARDEN => RDEN, + ENBWREN => WREN, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "0000", + WEBWE => we_pattern, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + DOADO => do_pattern(31 downto 0), + DOBDO => do_pattern(63 downto 32), + DOPADOP => dop_pattern(3 downto 0), + DOPBDOP => dop_pattern(7 downto 4), + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN + ); + + end generate ramb36_sdp_bl_1; + ramb36_sdp_bl_2 : if (BRAM_SIZE = "36Kb" and ( (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72) and (READ_WIDTH > 36 and READ_WIDTH <= 72) )) generate + begin + ram36sd_bl_2 : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + RAM_MODE => "SDP", + READ_WIDTH_A => rdwidth, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_B => wrwidth + ) + + port map ( + ADDRARDADDR => rdaddr_pattern, + ADDRBWRADDR => wraddr_pattern, + CASCADEINA => '0', + CASCADEINB => '0', + CLKARDCLK => RDCLK, + CLKBWRCLK => WRCLK, + DIADI => di_pattern(31 downto 0), + DIBDI => di_pattern(63 downto 32), + DIPADIP => dip_pattern(3 downto 0), + DIPBDIP => dip_pattern(7 downto 4), + ENARDEN => RDEN, + ENBWREN => WREN, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + REGCEAREGCE => REGCE, + REGCEB => '0', + RSTREGARSTREG => rstreg_pattern, + RSTREGB => rstreg_pattern, + RSTRAMARSTRAM => rstram_pattern, + RSTRAMB => rstram_pattern, + WEA => "0000", + WEBWE => we_pattern, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + DOADO => do_pattern(31 downto 0), + DOBDO => do_pattern(63 downto 32), + DOPADOP => dop_pattern(3 downto 0), + DOPBDOP => dop_pattern(7 downto 4), + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN + ); + + end generate ramb36_sdp_bl_2; + end generate sdp_bl; + -- end generate virtex6 + -- begin generate spartan6 + ramb_st : if DEVICE = "SPARTAN6" generate + ramb9_dp_st : if (BRAM_SIZE = "9Kb" and WRITE_WIDTH <= 18) generate + begin + ram9_st : RAMB8BWER + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INIT_FILE => INIT_FILE, + DATA_WIDTH_A => rdwidth, + DATA_WIDTH_B => wrwidth, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE + ) + port map ( + ADDRAWRADDR => wraddr_pattern, + ADDRBRDADDR => rdaddr_pattern, + CLKAWRCLK => WRCLK, + CLKBRDCLK => RDCLK, + DIADI => di_pattern, + DIBDI => X"0000", + DIPADIP => dip_pattern, + DIPBDIP => "00", + ENAWREN => WREN, + ENBRDEN => RDEN, + REGCEA => '0', + REGCEBREGCE => REGCE, + RSTA => '0', + RSTBRST => RST, + WEAWEL => we_pattern, + WEBWEU => "00", + DOADO => OPEN, + DOBDO => do_pattern, + DOPADOP => OPEN, + DOPBDOP => dop_pattern + ); + + end generate ramb9_dp_st; + ramb9_sdp_st : if (BRAM_SIZE = "9Kb" and WRITE_WIDTH > 18 and WRITE_WIDTH <= 36) generate + begin + ram9_st : RAMB8BWER + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INIT_FILE => INIT_FILE, + DATA_WIDTH_A => rdwidth, + DATA_WIDTH_B => wrwidth, + RAM_MODE => "SDP", + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE + ) + port map ( + ADDRAWRADDR => wraddr_pattern, + ADDRBRDADDR => rdaddr_pattern, + CLKAWRCLK => WRCLK, + CLKBRDCLK => RDCLK, + DIADI => di_pattern(15 downto 0), + DIBDI => di_pattern(31 downto 16), + DIPADIP => dip_pattern(1 downto 0), + DIPBDIP => dip_pattern(3 downto 2), + ENAWREN => WREN, + ENBRDEN => RDEN, + REGCEA => REGCE, + REGCEBREGCE => REGCE, + RSTA => '0', + RSTBRST => RST, + WEAWEL => we_pattern(1 downto 0), + WEBWEU => we_pattern(3 downto 2), + DOADO => do_pattern(15 downto 0), + DOBDO => do_pattern(31 downto 16), + DOPADOP => dop_pattern(1 downto 0), + DOPBDOP => dop_pattern(3 downto 2) + ); + + end generate ramb9_sdp_st; + ramb18_sdp_st : if BRAM_SIZE = "18Kb" generate + begin + ram18_st : RAMB16BWER + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + SIM_DEVICE => "SPARTAN6", + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + DATA_WIDTH_A => rdwidth, + DATA_WIDTH_B => wrwidth, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE + + ) + port map ( + ADDRA => wraddr_pattern, + ADDRB => rdaddr_pattern, + CLKA => WRCLK, + CLKB => RDCLK, + DIA => di_pattern, + DIB => X"00000000", + DIPA => dip_pattern, + DIPB => "0000", + ENA => WREN, + ENB => RDEN, + REGCEA => '0', + REGCEB => REGCE, + RSTA => '0', + RSTB => RST, + WEA => we_pattern, + WEB => "0000", + DOA => OPEN, + DOB => do_pattern, + DOPA => OPEN, + DOPB => dop_pattern + ); + end generate ramb18_sdp_st; + + end generate ramb_st; + -- end generate spartan6 + + end bram_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SINGLE_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SINGLE_MACRO.vhd new file mode 100644 index 0000000..fc39109 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_SINGLE_MACRO.vhd @@ -0,0 +1,3313 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 14.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for Single Port Block RAM +-- /___/ /\ Filename : BRAM_SINGLE_MACRO.vhd +-- \ \ / \ Timestamp : Wed April 11 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 04/11/08 - Initial version. +-- 05/25/11 - 607722 - Reset output latch for DO_REG=1 +-- 10/26/11 - 624543 - Fix DO for assymetric widths, drc to check for read,write widths equal or ratio of 2. +-- 11/30/11 - 636062 - Fix drc and do +-- 01/11/12 - 639772, 604428 -Constrain DI, DO, add width checking. +-- 04/24/12 - 657517 - fix for write_width = 2* read_width +-- 11/01/12 - 679413 - pass INIT_FILE to Spartan6 BRAM +-- 09/29/14 - Update DI and DO for parity intersperse every byte (CR 773917). +-- End Revision + +----- CELL BRAM_SINGLE_MACRO ----- + + +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +library unisim; +use unisim.VCOMPONENTS.all; +library STD; +use STD.TEXTIO.ALL; + + +entity BRAM_SINGLE_MACRO is +generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT : bit_vector := X"000000000000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH : integer := 1; + SIM_MODE : string := "SAFE"; -- This parameter is valid only for Virtex5 + SRVAL : bit_vector := X"000000000000000000"; + WRITE_MODE : string := "WRITE_FIRST"; + WRITE_WIDTH : integer := 1 + ); +-- ports are unconstrained arrays +port ( + + DO : out std_logic_vector(READ_WIDTH-1 downto 0); + + ADDR : in std_logic_vector; + CLK : in std_ulogic; + DI : in std_logic_vector(WRITE_WIDTH-1 downto 0); + EN : in std_ulogic; + REGCE : in std_ulogic; + RST : in std_ulogic; + WE : in std_logic_vector + + ); +end BRAM_SINGLE_MACRO; + +architecture bram_V of BRAM_SINGLE_MACRO is + + function GetDIWidth ( + wr_width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case wr_width is + when 0 => func_width := 1; + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => func_width := 32; + when 37 to 72 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s1 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s1 + else + func_width := 64; + end if; + when others => if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s2 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH : ") ); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s2 + end if; + end case; + else + func_width := 1; + end if; + return func_width; + end; + function GetDOWidth ( + rd_width : in integer; + func_bram_size : in string; + device : in string; + wr_width : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + -- begin s15 + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if(DEVICE = "SPARTAN6") then + if(rd_width /= wr_width) then + write( Message, STRING'("WRITE_WIDTH and READ_WIDTH must be equal. ") ); + write ( Message, WRITE_WIDTH); + write ( Message, READ_WIDTH); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((rd_width /= wr_width) and (rd_width/wr_width /=2) and (wr_width/rd_width /=2) and (wr_width/rd_width /=2) and ((rd_width /= 1 and rd_width /= 2 and rd_width /= 4 and rd_width /= 8 and rd_width /= 9 and rd_width /= 16 and rd_width /= 18 and rd_width /= 32 and rd_width /= 36 and rd_width /= 64 and rd_width /= 72) or (wr_width /= 1 and wr_width /= 2 and wr_width /= 4 and wr_width /= 8 and wr_width /= 9 and wr_width /= 16 and wr_width /= 18 and wr_width /= 32 and wr_width /= 36 and wr_width /= 64 and wr_width /= 72)) ) then + write( Message, STRING'("Illegal values of Attributes READ_WIDTH, WRITE_WIDTH : ") ); + write ( Message, READ_WIDTH); + write ( Message, STRING'(" and ")); + write ( Message, WRITE_WIDTH); + write( Message, STRING'(" To use BRAM_SINGLE_MACRO. One of the following conditions must be true- 1. READ_WIDTH must be equal to WRITE_WIDTH 2. If assymetric, READ_WIDTH and WRITE_WIDTH must have a ratio of 2. 3. If assymetric, READ_WIDTH and WRITE_WIDTH should have values 1, 2, 4, 8, 9, 16, 18, 32, 36, 64, 72.") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + case rd_width is + when 0 => func_width := 1; + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => func_width := 32; + when 37 to 72 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") ) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s3 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 36 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s3 + else + func_width := 64; + end if; + when others => if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s4 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH : ") ); + write ( Message, READ_WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 72 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s4 + end if; + func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + function GetD_Width ( + d_width : in integer; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case d_width is + when 0 => func_width := 0; + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 9; + when 10 to 18 => func_width := 18; + when 19 to 36 => func_width := 36; + when 37 to 72 => func_width := 72; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + function GetDPWidth ( + wr_width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case wr_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 0; + end case; + else + func_width := 0; + end if; + return func_width; + end; + function GetLeastWidth ( + wr_width_a : in integer; + rd_width_a : in integer + ) return integer is + variable func_least_width : integer; + begin + if (wr_width_a <= rd_width_a) then + func_least_width := wr_width_a; + else + func_least_width := rd_width_a; + end if; + return func_least_width; + end; + function GetADDRWidth ( + least_widthA : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case least_widthA is + when 1 => if (func_bram_size = "9Kb") then + func_width := 13; + elsif (func_bram_size = "18Kb") then + func_width := 14; + else + func_width := 15; + end if; + when 2 => if (func_bram_size = "9Kb") then + func_width := 12; + elsif (func_bram_size = "18Kb") then + func_width := 13; + else + func_width := 14; + end if; + when 3|4 => if (func_bram_size = "9Kb") then + func_width := 11; + elsif (func_bram_size = "18Kb") then + func_width := 12; + else + func_width := 13; + end if; + when 5|6|7|8|9 => if (func_bram_size = "9Kb") then + func_width := 10; + elsif (func_bram_size = "18Kb") then + func_width := 11; + else + func_width := 12; + end if; + when 10 to 18 => if (func_bram_size = "9Kb") then + func_width := 9; + elsif (func_bram_size = "18Kb") then + func_width := 10; + else + func_width := 11; + end if; + when 19 to 36 => if (func_bram_size = "9Kb") then + func_width := 8; + elsif (func_bram_size = "18Kb") then + func_width := 9; + else + func_width := 10; + end if; + when 37 to 72 => if (func_bram_size = "36Kb") then + func_width := 9; + else + func_width := 14; + end if; + when others => func_width := 15; + end case; + else + func_width := 15; + end if; + return func_width; + end; + function GetWEWidth ( + bram_size : in string; + device : in string; + wr_width : in integer + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size= "18Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + end if; + elsif bram_size = "36Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + elsif wr_width > 36 and wr_width <= 72 then + func_width := 8; + end if; + else + func_width := 8; + end if; + -- begin s1 + elsif(DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; + elsif bram_size = "18Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + elsif wr_width > 36 and wr_width <= 72 then + func_width := 8; + else + func_width := 4; + end if; + end if; -- end s1 + else + func_width := 8; + end if; + return func_width; + end; + function GetMaxADDRSize ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if bram_size = "9Kb" then + func_width := 13; + elsif bram_size = "18Kb" then + func_width := 14; + elsif bram_size = "36Kb" then + func_width := 16; + else + func_width := 16; + end if; + else + func_width := 16; + end if; + return func_width; + end; + function GetMaxDataSize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 16; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 32; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 32; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 64; + else + func_width := 64; + end if; + -- begin s5 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 16; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 32; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 32; + elsif bram_size = "18Kb" and d_width <= 72 then + func_width := 64; + else + func_width := 32; + end if; -- end s5 + else + func_width := 64; + end if; + return func_width; + end; + + function GetMaxDataPSize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 8; + else + func_width := 8; + end if; + -- begin s6 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width <= 72 then + func_width := 8; + else + func_width := 4; + end if; -- end s6 + else + func_width := 8; + end if; + return func_width; + end; + function GetMaxWESize ( + d_width : in integer; + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size = "18Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "18Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "36Kb" and d_width > 36 and d_width <= 72 then + func_width := 8; + else + func_width := 8; + end if; + -- begin s7 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" and d_width <= 18 then + func_width := 2; + elsif bram_size = "9Kb" and d_width > 18 and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width <= 36 then + func_width := 4; + elsif bram_size = "18Kb" and d_width > 36 and d_width <= 72 then + func_width := 8; + else + func_width := 4; + end if; -- end s7 + else + func_width := 8; + end if; + return func_width; + end; + function GetFinalWidthRD ( + rd_width_a : in integer + ) return integer is + variable func_least_width : integer; + begin + if (rd_width_a = 0) then + func_least_width := 1; + else + func_least_width := rd_width_a; + end if; + return func_least_width; + end; + function GetFinalWidthWRA ( + wr_width_a : in integer + ) return integer is + variable func_least_width : integer; + begin + if (wr_width_a = 0) then + func_least_width := 1; + else + func_least_width := wr_width_a; + end if; + return func_least_width; + end; + + function GetBRAMSize ( + bram_size : in string; + device : in string + ) return boolean is + variable bram_val : boolean; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "36Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 18Kb, 36Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + -- begin s9 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" or bram_size = "18Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 9Kb, 18Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; -- end s9 + return bram_val; + end; + function GetD_P ( + dw : in integer; + device : in string + ) return boolean is + variable wp : boolean; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if dw = 9 or dw = 17 or dw = 18 or dw = 33 or dw = 34 or dw = 35 or dw = 36 or dw = 65 or dw = 66 or dw = 67 or dw = 68 or dw = 69 or dw = 70 or dw = 71 or dw = 72 then + wp := TRUE; + else + wp := FALSE; + end if; + else + wp := FALSE; + end if; + return wp; + end; + function CheckParity ( + wp_a, rp_a : in boolean; + device : in string + ) return boolean is + variable Message : LINE; + variable check : boolean; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if ( (wp_a = FALSE and rp_a = FALSE ) or (wp_a = TRUE and rp_a = TRUE) ) then + check := FALSE; + elsif(wp_a = TRUE and rp_a = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("WRITE_WIDTH on BRAM_SINGLE_MACRO is set to ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = FALSE and rp_a = TRUE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("READ_WIDTH on BRAM_SINGLE_MACRO is set to ") ); + write( Message, READ_WIDTH); + write( Message, STRING'(". The parity bit(s) have not been written and hence cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + end if; + end if; + return check; + end; + + function GetINITSRVALWidth ( + bram_size : in string; + device : in string + ) return integer is + variable init_srval : integer; + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(bram_size = "18Kb") then + init_srval := 20; + elsif (bram_size = "36Kb") then + init_srval := 36; + end if; + end if; + -- begin s20 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb") then + init_srval := 20; + elsif (bram_size = "18Kb") then + init_srval := 36; + end if; + end if; -- end s20 + return init_srval; + end; + function init_a_size ( + inputvec : in bit_vector; + init_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable init_a_resize : bit_vector(0 to (init_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(bram_size = "18Kb" and ((rd_width > 18) and (wr_width > 18))) then + init_a_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif (bram_size = "36Kb" and ((rd_width > 36) and (wr_width > 36))) then + init_a_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; + -- begin s16 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" and ((rd_width > 18) and (wr_width > 18))) then + init_a_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif(bram_size = "18Kb" and ((rd_width > 36) and (wr_width > 36))) then + init_a_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; -- end s16 + return init_a_resize; + end; + + function init_b_size ( + inputvec : in bit_vector; + init_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable init_b_resize : bit_vector(0 to (init_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(BRAM_SIZE = "18Kb" and ((rd_width > 18) and (wr_width > 18))) then + init_b_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif (bram_size = "36Kb" and ((rd_width > 36) and (wr_width > 36))) then + init_b_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; + -- begin s17 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" and ((rd_width > 18) and (wr_width > 18))) then + init_b_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif(bram_size = "18Kb" and ((rd_width > 36) and (wr_width > 36))) then + init_b_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; -- end s17 + return init_b_resize; + end; + function srval_a_size ( + inputvec : in bit_vector; + srval_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable srval_a_resize : bit_vector(0 to (srval_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(bram_size = "18Kb" and ((rd_width > 18) and (wr_width > 18))) then + srval_a_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif (bram_size = "36Kb" and ((rd_width > 36) and (wr_width > 36))) then + srval_a_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; + -- begin s18 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" and ((rd_width > 18) and (wr_width > 18))) then + srval_a_resize := "00" & inputvec(0 to 1) & inputvec(4 to 19); + elsif(bram_size = "18Kb" and ((rd_width > 36) and (wr_width > 36))) then + srval_a_resize := inputvec(0 to 3) & inputvec(8 to 39); + end if; + end if; -- end s18 + return srval_a_resize; + end; + function srval_b_size ( + inputvec : in bit_vector; + srval_width : in integer; + rd_width : in integer; + wr_width : in integer; + device : in string + ) return bit_vector is + variable srval_b_resize : bit_vector(0 to (srval_width-1)); + begin + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(bram_size = "18Kb" and ((rd_width > 18) and (wr_width > 18))) then + srval_b_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif (BRAM_SIZE = "36Kb" and ((rd_width > 36) and (wr_width > 36))) then + srval_b_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; + -- begin s19 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" and ((rd_width > 18) and (wr_width > 18))) then + srval_b_resize := "00" & inputvec(2 to 3) & inputvec(20 to 35); + elsif(bram_size = "18Kb" and ((rd_width > 36) and (wr_width > 36))) then + srval_b_resize := inputvec(4 to 7) & inputvec(40 to 71); + end if; + end if; -- end s19 + return srval_b_resize; + end; + + function GetSIMDev ( + device : in string + ) return string is + begin + if(DEVICE = "VIRTEX6") then + return "VIRTEX6"; + else + return "7SERIES"; + end if; + end; + + function GetValWidth ( + rd_width : in integer; + wr_width : in integer + ) return boolean is + begin + if ((rd_width = 1 or rd_width = 2 or rd_width = 4 or rd_width = 8 or rd_width = 9 or rd_width = 16 or rd_width = 18 or rd_width = 32 or rd_width = 36 or rd_width = 64 or rd_width = 72) and (wr_width = 1 or wr_width = 2 or wr_width = 4 or wr_width = 8 or wr_width = 9 or wr_width = 16 or wr_width = 18 or wr_width = 32 or wr_width = 36 or wr_width = 64 or wr_width = 72)) then + return TRUE; + else + return FALSE; + end if; + end; + + function CheckWEWidth ( + wr_width : in integer; + we_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if ( wr_width <= 9 and we_vec /= 1) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 1 (0 downto 0) . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 9 and wr_width <= 18) and we_vec /= 2) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 2 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 18 and wr_width <= 36) and we_vec /= 4) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 4 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 36 and wr_width <= 72) and we_vec /= 8) then + write( Message, STRING'("WE port width incorrectly set for WRITE_WIDTH : ") ); + write( Message, WRITE_WIDTH); + write( Message, STRING'(". WE port width must be of width 8 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + end; + + function CheckADDRWidth ( + least_widthA : in integer; + func_bram_size : in string; + device : in string; + addr_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if (func_bram_size = "9Kb") then + if (least_widthA = 1 and addr_vec /= 13) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_widthA = 2 and addr_vec /= 12) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 2 and least_widthA <= 4) and addr_vec /= 11) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 4 and least_widthA <= 9) and addr_vec /= 10) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 9 and least_widthA <= 18) and addr_vec /= 9) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 18 and least_widthA <= 36) and addr_vec /= 8) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 8 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "18Kb") then + if (least_widthA = 1 and addr_vec /= 14) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_widthA = 2 and addr_vec /= 13) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 2 and least_widthA <= 4) and addr_vec /= 12) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 4 and least_widthA <= 9) and addr_vec /= 11) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 9 and least_widthA <= 18) and addr_vec /= 10) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 18 and least_widthA <= 36) and addr_vec /= 9) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "36Kb") then + if (least_widthA = 1 and addr_vec /= 15) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 15 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_widthA = 2 and addr_vec /= 14) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 2 and least_widthA <= 4) and addr_vec /= 13) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 4 and least_widthA <= 9) and addr_vec /= 12) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 9 and least_widthA <= 18) and addr_vec /= 11) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 18 and least_widthA <= 36) and addr_vec /= 10) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_widthA > 36 and least_widthA <= 72) and addr_vec /= 9) then + write( Message, STRING'("ADDR port width incorrectly set. ") ); + write( Message, STRING'(". ADDR port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + else + return TRUE; + end if; + end; + + + function Get_Parity_Width ( + wd : in integer + ) return integer is + variable wp : integer; + begin + if (wd = 9 or wd = 17 or wd = 33 or wd = 65) then + wp := 1; + elsif (wd = 18 or wd = 34 or wd = 66) then + wp := 2; + elsif (wd = 35 or wd = 67) then + wp := 3; + elsif (wd = 36 or wd = 68) then + wp := 4; + elsif (wd = 69) then + wp := 5; + elsif (wd = 70) then + wp := 6; + elsif (wd = 71) then + wp := 7; + elsif (wd = 72) then + wp := 8; + else + wp := 8; + end if; + return wp; + end; + + function Pad_INIT_SRVAL ( + func_in_init_srval : in bit_vector; + func_init_srval_width_size : in integer) + return bit_vector is variable func_paded_init_srval : bit_vector(0 to func_init_srval_width_size-1) := (others=>'0'); + variable func_padded_width : integer; + + begin + + if (func_in_init_srval'length > func_init_srval_width_size) then + func_padded_width := func_init_srval_width_size; + else + func_padded_width := func_in_init_srval'length; + end if; + + for i in 0 to func_padded_width-1 loop + func_paded_init_srval(((func_init_srval_width_size-1) - (func_padded_width-1)) + i) := func_in_init_srval(i); + end loop; + + return func_paded_init_srval; + end; + + + function Get_INIT_SRVAL_Width ( + func_bram_size : in string; + func_device : in string) + return integer is variable init_srval_width : integer; + begin + if(bram_size = "36Kb") then + if (READ_WIDTH > 36 or WRITE_WIDTH > 36) then + init_srval_width := 72; + else + init_srval_width := 36; + end if; + + elsif(bram_size = "18Kb") then + if (func_device = "SPARTAN6" or (READ_WIDTH > 18 or WRITE_WIDTH > 18)) then + init_srval_width := 36; + else + init_srval_width := 20; + end if; + elsif (bram_size = "9Kb") then + if (WRITE_WIDTH > 18) then + init_srval_width := 36; + else + init_srval_width := 20; + end if; + else + init_srval_width := 36; + end if; + + return init_srval_width; + end; + + + function INIT_SRVAL_parity_byte ( + in_init_srval : in bit_vector; + readp : in boolean; + writep : in boolean; + read_widthp : in integer; + init_srval_width : in integer) + return bit_vector is variable out_init_srval : bit_vector(0 to in_init_srval'length-1); + begin + + if (readp = TRUE and writep = TRUE) then + + if (read_widthp = 9) then + if (init_srval_width = 20) then + out_init_srval := "00000000000" & in_init_srval(11) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "000000000000000000000000000" & in_init_srval(27) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"000000000000000" & in_init_srval(63) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 17) then + if (init_srval_width = 20) then + out_init_srval := "000" & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "0000000000000000000" & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"0000000000000" & in_init_srval(63) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 18) then + if (init_srval_width = 20) then + out_init_srval := "00" & in_init_srval(2) & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + elsif (init_srval_width = 36) then + out_init_srval := "000000000000000000" & in_init_srval(18) & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "00" & X"0000000000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 33) then + if (init_srval_width = 36) then + out_init_srval := "000" & in_init_srval(27) & in_init_srval(3 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "000" & X"000000000" & in_init_srval(63) & in_init_srval(39 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 34) then + if (init_srval_width = 36) then + out_init_srval := "00" & in_init_srval(18) & in_init_srval(27) & in_init_srval(2 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := "00" & X"000000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(38 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 35) then + if (init_srval_width = 36) then + out_init_srval := '0' & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := '0' & X"000000000" & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 36) then + if (init_srval_width = 36) then + out_init_srval := in_init_srval(0) & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := X"000000000" & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + end if; + elsif (read_widthp = 65) then + out_init_srval := "0000000" & in_init_srval(63) & in_init_srval(7 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 66) then + out_init_srval := "000000" & in_init_srval(54) & in_init_srval(63) & in_init_srval(6 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 67) then + out_init_srval := "00000" & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(5 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 68) then + out_init_srval := "0000" & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(4 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 69) then + out_init_srval := "000" & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(3 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 70) then + out_init_srval := "00" & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(2 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 71) then + out_init_srval := '0' & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + elsif (read_widthp = 72) then + out_init_srval := in_init_srval(0) & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(36) & in_init_srval(45) & in_init_srval(54) & in_init_srval(63) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35) & in_init_srval(37 to 44) & in_init_srval(46 to 53) & in_init_srval(55 to 62) & in_init_srval(64 to 71); + else + out_init_srval := in_init_srval; + end if; + + else + out_init_srval := in_init_srval; + end if; + + return out_init_srval; + + end; + + + constant bram_size_val : boolean := GetBRAMSize(BRAM_SIZE, DEVICE); + constant write_p : boolean := GetD_P(WRITE_WIDTH, DEVICE); + constant read_p : boolean := GetD_P(READ_WIDTH, DEVICE); + constant di_width : integer := GetDIWidth(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant dip_width : integer := GetDPWidth(WRITE_WIDTH, BRAM_SIZE, DEVICE); + constant do_width : integer := GetDOWidth(READ_WIDTH, BRAM_SIZE, DEVICE, WRITE_WIDTH); + constant dop_width : integer := GetDPWidth(READ_WIDTH, BRAM_SIZE, DEVICE); + constant wr_width : integer := GetD_Width (WRITE_WIDTH, DEVICE); + constant rd_width : integer := GetD_Width (READ_WIDTH, DEVICE); + constant check_p : boolean := CheckParity(write_p, read_p, DEVICE); + constant least_width : integer := GetLeastWidth(di_width, do_width); + constant addr_width : integer := GetADDRWidth(least_width, BRAM_SIZE, DEVICE); + constant we_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, WRITE_WIDTH); + constant rd_byte_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, READ_WIDTH); + constant fin_rd_width : integer := GetFinalWidthRD(READ_WIDTH); + constant fin_wr_width : integer := GetFinalWidthWRA(WRITE_WIDTH); + constant sim_device_dp : string := GetSIMDev(DEVICE); + constant valid_width : boolean := GetValWidth(READ_WIDTH,WRITE_WIDTH); + constant weleng : integer := WE'length; + constant addrleng : integer := ADDR'length; + constant checkwe : boolean := CheckWEWidth(WRITE_WIDTH, weleng); + constant checkaddr : boolean := CheckADDRWidth(least_width, BRAM_SIZE, DEVICE, addrleng); + + constant max_addr_width : integer := GetMaxADDRSize(BRAM_SIZE, DEVICE); + constant max_read_width : integer := GetMaxDataSize(READ_WIDTH,BRAM_SIZE, DEVICE); + constant max_write_width : integer := GetMaxDataSize(WRITE_WIDTH,BRAM_SIZE, DEVICE); + constant max_readp_width : integer := GetMaxDataPSize(READ_WIDTH,BRAM_SIZE, DEVICE); + constant max_writep_width : integer := GetMaxDataPSize(WRITE_WIDTH,BRAM_SIZE, DEVICE); + constant max_we_width : integer := GetMaxWESize(WRITE_WIDTH,BRAM_SIZE, DEVICE); + + signal addr_pattern : std_logic_vector(max_addr_width-1 downto 0) := (others=> '0'); + signal addra_pattern : std_logic_vector(max_addr_width-1 downto 0) := (others=> '0'); + signal addrb_pattern : std_logic_vector(max_addr_width-1 downto 0) := (others=> '0'); + +-- signal di_pattern : std_logic_vector(max_read_width-1 downto 0) := (others=>'0'); + signal di_pattern : std_logic_vector(max_write_width-1 downto 0) := (others=>'0'); + signal dip_pattern : std_logic_vector(max_writep_width-1 downto 0) := (others=>'0'); +-- signal do_pattern : std_logic_vector(max_write_width-1 downto 0); + signal do_pattern : std_logic_vector(max_read_width-1 downto 0); + signal dop_pattern : std_logic_vector(max_readp_width-1 downto 0) := (others=>'0'); + signal we_pattern : std_logic_vector(max_we_width-1 downto 0) := (others=>'0'); + signal rstram_pattern : std_logic := '0'; + signal rstreg_pattern : std_logic := '0'; + + constant init_srval_width_size : integer := Get_INIT_SRVAL_Width(BRAM_SIZE, DEVICE); + constant padded_init : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(INIT, init_srval_width_size); + constant padded_srval : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(SRVAL, init_srval_width_size); + constant wr_widthp : integer := Get_Parity_Width(WRITE_WIDTH); + constant rd_widthp : integer := Get_Parity_Width(READ_WIDTH); + + constant init_srval_width : integer := GetINITSRVALWidth(BRAM_SIZE, DEVICE); + constant init_a_pattern : bit_vector := init_a_size(INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant init_b_pattern : bit_vector := init_b_size(INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant srval_a_pattern : bit_vector := srval_a_size(INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + constant srval_b_pattern : bit_vector := srval_b_size(INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), init_srval_width, READ_WIDTH, WRITE_WIDTH, DEVICE); + + constant read_double :integer:= READ_WIDTH * 2; + +begin + + +adr_vir : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + adgen1 : if ( (BRAM_SIZE = "18Kb" and READ_WIDTH <= 18 and WRITE_WIDTH <= 18) or (BRAM_SIZE = "36Kb" and READ_WIDTH <= 36 and WRITE_WIDTH <= 36) ) generate + begin + a1 : addr_pattern <= + ADDR when (BRAM_SIZE = "18Kb" and addr_width = 14 ) else + (ADDR & '1') when (BRAM_SIZE = "18Kb" and addr_width = 13 ) else + (ADDR & "11") when (BRAM_SIZE = "18Kb" and addr_width = 12) else + (ADDR & "111") when (BRAM_SIZE = "18Kb" and addr_width = 11 ) else + (ADDR & "1111") when (BRAM_SIZE = "18Kb" and addr_width = 10 ) else + ADDR when (BRAM_SIZE = "36Kb" and addr_width = 16 ) else + ('1' & ADDR) when (BRAM_SIZE = "36Kb" and addr_width = 15 ) else + ('1' & ADDR & '1') when (BRAM_SIZE = "36Kb" and addr_width = 14 ) else + ('1' & ADDR & "11") when (BRAM_SIZE = "36Kb" and addr_width = 13 ) else + ('1' & ADDR & "111") when (BRAM_SIZE = "36Kb" and addr_width = 12 ) else + ('1' & ADDR & "1111") when (BRAM_SIZE = "36Kb" and addr_width = 11 ) else + ('1' & ADDR & "11111") when (BRAM_SIZE = "36Kb" and addr_width = 10 ) else + (others => '1'); + end generate adgen1; + adgen2 : if ( (BRAM_SIZE = "18Kb" and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36) and (READ_WIDTH > 18 and READ_WIDTH <= 36)) or + (BRAM_SIZE = "36Kb" and (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72) and (READ_WIDTH > 36 and READ_WIDTH <= 72)) ) generate + aa : addra_pattern <= (ADDR & '0' & "1111") when (BRAM_SIZE = "18Kb") else + ('1' & ADDR & '0' & "11111") when (BRAM_SIZE = "36Kb") else + (others => '1'); + + ab : addrb_pattern <= (ADDR & '1' & "1111") when (BRAM_SIZE = "18Kb") else + ('1' & ADDR & '1' & "11111") when (BRAM_SIZE = "36Kb") else + (others => '1'); + end generate adgen2; + end generate adr_vir; + -- begin s14 + adr_st : if (DEVICE = "SPARTAN6") generate + adgen3 : if ( (BRAM_SIZE = "9Kb" and READ_WIDTH <= 18 and WRITE_WIDTH <= 18) or (BRAM_SIZE = "18Kb" and READ_WIDTH <= 36 and WRITE_WIDTH <= 36) ) generate + begin + a1 : addr_pattern <= + ADDR when (BRAM_SIZE = "9Kb" and addr_width = 13) else + (ADDR & '1') when (BRAM_SIZE = "9Kb" and addr_width = 12 ) else + (ADDR & "11") when (BRAM_SIZE = "9Kb" and addr_width = 11) else + (ADDR & "111") when (BRAM_SIZE = "9Kb" and addr_width = 10) else + (ADDR & "1111") when (BRAM_SIZE = "9Kb" and addr_width = 9 ) else + ADDR when (BRAM_SIZE = "18Kb" and addr_width = 14 ) else + (ADDR & '1') when (BRAM_SIZE = "18Kb" and addr_width = 13 ) else + (ADDR & "11") when (BRAM_SIZE = "18Kb" and addr_width = 12) else + (ADDR & "111") when (BRAM_SIZE = "18Kb" and addr_width = 11 ) else + (ADDR & "1111") when (BRAM_SIZE = "18Kb" and addr_width = 10 ) else + (ADDR & "11111") when (BRAM_SIZE = "18Kb" and addr_width = 9 ) else + (others => '1'); + end generate adgen3; + adgen4 : if ( (BRAM_SIZE = "9Kb" and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36) and (READ_WIDTH > 18 and READ_WIDTH <= 36)) or + (BRAM_SIZE = "18Kb" and (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72) and (READ_WIDTH > 36 and READ_WIDTH <= 72)) ) generate + aa : addra_pattern <= (ADDR & '0' & "1111") when (BRAM_SIZE = "9Kb") else + (ADDR & '0' & "11111") when (BRAM_SIZE = "18Kb") else + (others => '1'); + + ab : addrb_pattern <= (ADDR & '1' & "1111") when (BRAM_SIZE = "9Kb") else + (ADDR & '1' & "11111") when (BRAM_SIZE = "18Kb") else + (others => '1'); + end generate adgen4; + end generate adr_st; -- end s14 + + di1_v5: if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + di_m1 : if ((BRAM_SIZE = "18Kb" and WRITE_WIDTH <= 36) or (BRAM_SIZE = "36Kb" and WRITE_WIDTH <= 72)) generate + begin + di1 : if (write_p = TRUE and read_p = true) generate + + di11 : if (WRITE_WIDTH >= 71 or WRITE_WIDTH = 35 or WRITE_WIDTH = 36 or WRITE_WIDTH <= 32) generate + i1 : for i in 0 to we_width-1 generate + di_pattern((i*8)+7 downto (i*8)) <= DI(((i*8)+i)+7 downto ((i*8)+i)); + end generate i1; + end generate di11; + + di12 : if (WRITE_WIDTH = 33) generate + di_pattern <= DI(32 downto 9) & DI(7 downto 0); + end generate di12; + + di13 : if (WRITE_WIDTH = 34) generate + di_pattern <= DI(33 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di13; + + di14 : if (WRITE_WIDTH = 65) generate + di_pattern <= DI(64 downto 9) & DI(7 downto 0); + end generate di14; + + di15 : if (WRITE_WIDTH = 66) generate + di_pattern <= DI(65 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di15; + + di16 : if (WRITE_WIDTH = 67) generate + di_pattern <= DI(66 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di16; + + di17 : if (WRITE_WIDTH = 68) generate + di_pattern <= DI(67 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di17; + + di18 : if (WRITE_WIDTH = 69) generate + di_pattern <= DI(68 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di18; + + di19 : if (WRITE_WIDTH = 70) generate + di_pattern <= DI(69 downto 54) & DI(52 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di19; + + + i1p : for j in 1 to wr_widthp generate + dip_pattern(j-1) <= DI((j*8)+j-1); + end generate i1p; + + end generate di1; + di2 : if ((write_p = FALSE and read_p = FALSE) and ( ((READ_WIDTH = WRITE_WIDTH) or (READ_WIDTH/WRITE_WIDTH = 2) or (valid_width = TRUE))) ) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di2; + di3 : if ((READ_WIDTH = 1 and WRITE_WIDTH = 2) or (READ_WIDTH = 2 and WRITE_WIDTH = 4) or (READ_WIDTH = 4 and WRITE_WIDTH = 8) or (READ_WIDTH = 8 and WRITE_WIDTH = 16) or (READ_WIDTH = 16 and WRITE_WIDTH = 32) or (READ_WIDTH = 32 and WRITE_WIDTH = 64 )) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di3; + di4 : if ( (read_p = FALSE and write_p = FALSE) and (WRITE_WIDTH/READ_WIDTH = 2)) generate + di_pattern(READ_WIDTH-1 downto 0) <= DI(READ_WIDTH-1 downto 0); + di_pattern (read_double-1 downto READ_WIDTH) <= DI(read_double-1 downto READ_WIDTH); + end generate di4; + end generate di_m1; + end generate di1_v5; + -- begin s10 + di1_st : if (DEVICE = "SPARTAN6") generate + begin + di_m2 : if ((BRAM_SIZE = "9Kb" and WRITE_WIDTH <= 36) or (BRAM_SIZE = "18Kb" and WRITE_WIDTH <= 72)) generate + begin + di110 : if (write_p = TRUE and read_p = TRUE ) generate + + di111 : if (WRITE_WIDTH >= 71 or WRITE_WIDTH = 35 or WRITE_WIDTH = 36 or WRITE_WIDTH <= 32) generate + i11 : for i in 0 to we_width-1 generate + di_pattern((i*8)+7 downto (i*8)) <= DI(((i*8)+i)+7 downto ((i*8)+i)); + end generate i11; + end generate di111; + + di121 : if (WRITE_WIDTH = 33) generate + di_pattern <= DI(32 downto 9) & DI(7 downto 0); + end generate di121; + + di131 : if (WRITE_WIDTH = 34) generate + di_pattern <= DI(33 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di131; + + di141 : if (WRITE_WIDTH = 65) generate + di_pattern <= DI(64 downto 9) & DI(7 downto 0); + end generate di141; + + di151 : if (WRITE_WIDTH = 66) generate + di_pattern <= DI(65 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di151; + + di161 : if (WRITE_WIDTH = 67) generate + di_pattern <= DI(66 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di161; + + di171 : if (WRITE_WIDTH = 68) generate + di_pattern <= DI(67 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di171; + + di181 : if (WRITE_WIDTH = 69) generate + di_pattern <= DI(68 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di181; + + di191 : if (WRITE_WIDTH = 70) generate + di_pattern <= DI(69 downto 54) & DI(52 downto 45) & DI(43 downto 36) & DI(34 downto 27) & DI(25 downto 18) & DI(16 downto 9) & DI(7 downto 0); + end generate di191; + + + i1p1 : for j in 1 to wr_widthp generate + dip_pattern(j-1) <= DI((j*8)+j-1); + end generate i1p1; + + end generate di110; + di12 : if ((write_p = FALSE and read_p = FALSE) and ( ((READ_WIDTH = WRITE_WIDTH) or (READ_WIDTH/WRITE_WIDTH = 2) or (valid_width = TRUE))) ) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di12; + di13 : if ((READ_WIDTH = 1 and WRITE_WIDTH = 2) or (READ_WIDTH = 2 and WRITE_WIDTH = 4) or (READ_WIDTH = 4 and WRITE_WIDTH = 8) or (READ_WIDTH = 8 and WRITE_WIDTH = 16) or (READ_WIDTH = 16 and WRITE_WIDTH = 32) or (READ_WIDTH = 32 and WRITE_WIDTH = 64 )) generate + di_pattern(fin_wr_width-1 downto 0) <= DI(fin_wr_width-1 downto 0); + end generate di13; + di14 : if ( (read_p = FALSE and write_p = FALSE) and (WRITE_WIDTH/READ_WIDTH = 2)) generate + di_pattern(READ_WIDTH-1 downto 0) <= DI(READ_WIDTH-1 downto 0); + di_pattern (read_double-1 downto READ_WIDTH) <= DI(read_double-1 downto READ_WIDTH); + end generate di14; + end generate di_m2; + end generate di1_st; -- end s10 + + dogen : if ( ((DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") and ((BRAM_SIZE = "18Kb" and READ_WIDTH <= 36) or (BRAM_SIZE = "36Kb" and READ_WIDTH <= 72)) ) or ((DEVICE ="SPARTAN6") and ((BRAM_SIZE = "9Kb" and READ_WIDTH <= 36) or (BRAM_SIZE = "18Kb" and READ_WIDTH <= 72)) ) ) generate + do11 : if (read_p = TRUE and write_p = TRUE) generate + + do110 : if (READ_WIDTH >= 71 or READ_WIDTH = 35 or READ_WIDTH = 36 or READ_WIDTH <= 32) generate + o1 : for i1 in 0 to rd_byte_width-1 generate + DO(((i1*8)+i1)+7 downto ((i1*8)+i1)) <= do_pattern((i1*8)+7 downto (i1*8)); + end generate o1; + end generate do110; + + do111 : if (READ_WIDTH = 33) generate + DO(32 downto 9) <= do_pattern(31 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do111; + + do112 : if (READ_WIDTH = 34) generate + DO(33 downto 18) <= do_pattern(31 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do112; + + do113 : if (READ_WIDTH = 65) generate + DO(64 downto 9) <= do_pattern(63 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do113; + + do114 : if (READ_WIDTH = 66) generate + DO(65 downto 18) <= do_pattern(63 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do114; + + do115 : if (READ_WIDTH = 67) generate + DO(66 downto 27) <= do_pattern(63 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do115; + + do116 : if (READ_WIDTH = 68) generate + DO(67 downto 36) <= do_pattern(63 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do116; + + do117 : if (READ_WIDTH = 69) generate + DO(68 downto 45) <= do_pattern(63 downto 40); + DO(43 downto 36) <= do_pattern(39 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do117; + + do118 : if (READ_WIDTH = 70) generate + DO(69 downto 54) <= do_pattern(63 downto 48); + DO(52 downto 45) <= do_pattern(47 downto 40); + DO(43 downto 36) <= do_pattern(39 downto 32); + DO(34 downto 27) <= do_pattern(31 downto 24); + DO(25 downto 18) <= do_pattern(23 downto 16); + DO(16 downto 9) <= do_pattern(15 downto 8); + DO(7 downto 0) <= do_pattern(7 downto 0); + end generate do118; + + o1p : for j1 in 1 to rd_widthp generate + DO((j1*8)+j1-1) <= dop_pattern(j1-1); + end generate o1p; + + end generate do11; + do121 : if ( (read_p = FALSE and write_p = FALSE) and ( (READ_WIDTH = WRITE_WIDTH) or (WRITE_WIDTH/READ_WIDTH =2) or (valid_width = TRUE) ) ) generate + DO <= ( do_pattern(fin_rd_width-1 downto 0) ); + end generate do121; + do12 : if ((READ_WIDTH = 2 and WRITE_WIDTH = 1) or (READ_WIDTH = 4 and WRITE_WIDTH = 2) or (READ_WIDTH = 8 and WRITE_WIDTH = 4) or (READ_WIDTH = 16 and WRITE_WIDTH = 8) or (READ_WIDTH = 32 and WRITE_WIDTH = 16) or (READ_WIDTH = 64 and WRITE_WIDTH = 32 )) generate + DO <= ( do_pattern(fin_rd_width-1 downto 0) ); + end generate do12; + do3 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH = 3)) generate + -- write width 3 + DO <= ( do_pattern((4+(WRITE_WIDTH-1)) downto 4) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do3; + do47 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH > 4 and WRITE_WIDTH <= 7)) generate + -- write width between 4 and 7 + DO <= ( do_pattern((8+(WRITE_WIDTH-1)) downto 8) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do47; + do815 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and(WRITE_WIDTH > 9 and WRITE_WIDTH <= 15)) generate + -- write width between 8 and 15 + DO <= ( do_pattern((16+(WRITE_WIDTH-1)) downto 16) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do815; + do1831 : if ((read_p = FALSE and write_p = FALSE) and (READ_WIDTH/WRITE_WIDTH = 2) and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 31)) generate + -- write width between 18 and 31 + DO <= ( do_pattern((32+(WRITE_WIDTH-1)) downto 32) & do_pattern((WRITE_WIDTH-1) downto 0) ); + end generate do1831; + + end generate dogen; + + we1 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + w1 : we_pattern <= (WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 1 ) else + WE when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + (WE & WE & WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 1 ) else + (WE & WE) when (BRAM_SIZE = "36Kb" and we_width = 2 ) else + WE when (BRAM_SIZE = "36Kb" and we_width = 4 ) else + WE; + end generate we1; + -- begin s14 + we2 : if (DEVICE = "SPARTAN6") generate + w1 : we_pattern <= (WE & WE) when (BRAM_SIZE = "9Kb" and we_width = 1 ) else + WE when (BRAM_SIZE = "9Kb" and we_width = 2 ) else + (WE & WE & WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 1 ) else + (WE & WE) when (BRAM_SIZE = "18Kb" and we_width = 2 ) else + WE when (BRAM_SIZE = "18Kb" and we_width = 4 ) else + WE; + end generate we2; + -- end s14 + r1 : rstram_pattern <= RST; + r2 : rstreg_pattern <= RST when (DO_REG = 1) else '0'; + + -- begin generate virtex5 + ramb_v5 : if DEVICE ="VIRTEX5" generate + ramb18_sin : if (BRAM_SIZE = "18Kb" and READ_WIDTH <= 18 and WRITE_WIDTH <= 18) generate + begin + + ram18 : RAMB18 + generic map( + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + READ_WIDTH_A => rd_width, + SIM_COLLISION_CHECK => "NONE", + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_WIDTH_A => wr_width + ) + port map ( + ADDRA => addr_pattern, + ADDRB => "00000000000000", + CLKA => CLK, + CLKB => '0', + DIA => di_pattern, + DIB => X"0000", + DIPA => dip_pattern, + DIPB => "00", + ENA => EN, + ENB => '0', + SSRA => RST, + SSRB => '0', + WEA => we_pattern, + WEB => "00", + DOA => do_pattern, + DOB => OPEN, + DOPA => dop_pattern, + DOPB => OPEN, + REGCEA => REGCE, + REGCEB => '0' + ); + + end generate ramb18_sin; + ramb18_sin_1 : if (BRAM_SIZE = "18Kb" and (READ_WIDTH > 18 and READ_WIDTH <= 36) and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36)) generate + begin + + ram18_1 : RAMB18 + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + READ_WIDTH_A => 18, + READ_WIDTH_B => 18, + SIM_COLLISION_CHECK => "NONE", + SIM_MODE => SIM_MODE, + SRVAL_A => srval_a_pattern , + SRVAL_B => srval_b_pattern , + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_A => 18, + WRITE_WIDTH_B => 18 + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLK, + CLKB => CLK, + DIA => di_pattern(31 downto 16), + DIB => di_pattern(15 downto 0), + DIPA => dip_pattern(3 downto 2), + DIPB => dip_pattern(1 downto 0), + ENA => EN, + ENB => EN, + SSRA => RST, + SSRB => RST, + WEA => we_pattern(3 downto 2) , + WEB => we_pattern(1 downto 0), + DOA => do_pattern(31 downto 16), + DOB => do_pattern(15 downto 0), + DOPA => dop_pattern(3 downto 2), + DOPB => dop_pattern(1 downto 0), + REGCEA => REGCE, + REGCEB => REGCE + ); + + end generate ramb18_sin_1; + ramb36_sin : if (BRAM_SIZE = "36Kb" and READ_WIDTH <= 36 and WRITE_WIDTH <= 36) generate + begin + ram36 : RAMB36 + generic map ( + + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + READ_WIDTH_A => rd_width, + SIM_COLLISION_CHECK => "NONE", + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_WIDTH_A => wr_width + + ) + port map ( + ADDRA => addr_pattern, + ADDRB => X"0000", + CLKA => CLK, + CLKB => '0', + DIA => di_pattern, + DIB => X"00000000", + DIPA => dip_pattern, + DIPB => "0000", + ENA => EN, + ENB => '0', + SSRA => RST, + SSRB => '0', + WEA => we_pattern, + WEB => "0000", + DOA => do_pattern, + DOB => OPEN, + DOPA => dop_pattern, + DOPB => OPEN, + CASCADEOUTLATA => OPEN, + CASCADEOUTLATB => OPEN, + CASCADEOUTREGA => OPEN, + CASCADEOUTREGB => OPEN, + CASCADEINLATA => '0', + CASCADEINLATB => '0', + CASCADEINREGA => '0', + CASCADEINREGB => '0', + REGCEA => REGCE, + REGCEB => '0' + ); + end generate ramb36_sin; + ramb36_sin_1 : if (BRAM_SIZE = "36Kb" and (READ_WIDTH > 36 and READ_WIDTH <= 72) and (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72)) generate + begin + ram36_1 : RAMB36 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + READ_WIDTH_A => 36, + READ_WIDTH_B => 36, + SIM_COLLISION_CHECK => "NONE", + SIM_MODE => SIM_MODE, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_A => 36, + WRITE_WIDTH_B => 36 + + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLK, + CLKB => CLK, + DIA => di_pattern(63 downto 32), + DIB => di_pattern(31 downto 0), + DIPA => dip_pattern(7 downto 4), + DIPB => dip_pattern(3 downto 0), + ENA => EN, + ENB => EN, + SSRA => RST, + SSRB => RST, + WEA => we_pattern(7 downto 4), + WEB => we_pattern(3 downto 0), + DOA => do_pattern(63 downto 32), + DOB => do_pattern(31 downto 0), + DOPA => dop_pattern(7 downto 4), + DOPB => dop_pattern(3 downto 0), + CASCADEOUTLATA => OPEN, + CASCADEOUTLATB => OPEN, + CASCADEOUTREGA => OPEN, + CASCADEOUTREGB => OPEN, + CASCADEINLATA => '0', + CASCADEINLATB => '0', + CASCADEINREGA => '0', + CASCADEINREGB => '0', + REGCEA => REGCE, + REGCEB => REGCE + ); + end generate ramb36_sin_1; + end generate ramb_v5; + -- end generate virtex5 + -- begin generate virtex6 +ramb_bl : if (DEVICE ="VIRTEX6" or DEVICE = "7SERIES") generate + ramb18_sin_bl : if (BRAM_SIZE = "18Kb" and READ_WIDTH <= 18 and WRITE_WIDTH <= 18) generate + begin + + ram18_bl : RAMB18E1 + generic map( + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + RAM_MODE => "TDP", + RDADDR_COLLISION_HWCONFIG => "PERFORMANCE", + READ_WIDTH_A => rd_width, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_WIDTH_A => wr_width + ) + port map ( + ADDRARDADDR => addr_pattern, + ADDRBWRADDR => "00000000000000", + CLKARDCLK => CLK, + CLKBWRCLK => '0', + DIADI => di_pattern, + DIBDI => X"0000", + DIPADIP => dip_pattern, + DIPBDIP => "00", + ENARDEN => EN, + ENBWREN => '0', + RSTRAMARSTRAM => rstram_pattern, + RSTREGARSTREG => rstreg_pattern, + RSTRAMB => '0', + RSTREGB => '0', + WEA => we_pattern, + WEBWE => "0000", + DOADO => do_pattern, + DOBDO => OPEN, + DOPADOP => dop_pattern, + DOPBDOP => OPEN, + REGCEAREGCE => REGCE, + REGCEB => '0' + ); + + end generate ramb18_sin_bl; + ramb18_sin_bl_1 : if (BRAM_SIZE = "18Kb" and (READ_WIDTH > 18 and READ_WIDTH <= 36) and (WRITE_WIDTH > 18 and WRITE_WIDTH <= 36)) generate + begin + + ram18_bl_1 : RAMB18E1 + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + RAM_MODE => "TDP", + RDADDR_COLLISION_HWCONFIG => "PERFORMANCE", + READ_WIDTH_A => 18, + READ_WIDTH_B => 18, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern , + SRVAL_B => srval_b_pattern , + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_A => 18, + WRITE_WIDTH_B => 18 + ) + port map ( + ADDRARDADDR => addra_pattern, + ADDRBWRADDR => addrb_pattern, + CLKARDCLK => CLK, + CLKBWRCLK => CLK, + DIADI => di_pattern(31 downto 16), + DIBDI => di_pattern(15 downto 0), + DIPADIP => dip_pattern(3 downto 2), + DIPBDIP => dip_pattern(1 downto 0), + ENARDEN => EN, + ENBWREN => EN, + RSTRAMARSTRAM => rstram_pattern, + RSTREGARSTREG => rstreg_pattern, + RSTRAMB => rstram_pattern, + RSTREGB => rstreg_pattern, + WEA => we_pattern(3 downto 2), + WEBWE => we_pattern, + DOADO => do_pattern(31 downto 16), + DOBDO => do_pattern(15 downto 0), + DOPADOP => dop_pattern(3 downto 2), + DOPBDOP => dop_pattern(1 downto 0), + REGCEAREGCE => REGCE, + REGCEB => REGCE + ); + + end generate ramb18_sin_bl_1; + + ramb36_sin_bl : if (BRAM_SIZE = "36Kb" and READ_WIDTH <= 36 and WRITE_WIDTH <= 36) generate + begin + ram36_bl : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + RAM_MODE => "TDP", + RDADDR_COLLISION_HWCONFIG => "PERFORMANCE", + READ_WIDTH_A => rd_width, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE, + WRITE_WIDTH_A => wr_width + + ) + port map ( + ADDRARDADDR => addr_pattern, + ADDRBWRADDR => X"0000", + CLKARDCLK => CLK, + CLKBWRCLK => '0', + DIADI => di_pattern, + DIBDI => X"00000000", + DIPADIP => dip_pattern, + DIPBDIP => "0000", + ENARDEN => EN, + ENBWREN => '0', + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RSTRAMARSTRAM => rstram_pattern, + RSTREGARSTREG => rstreg_pattern, + RSTRAMB => '0', + RSTREGB => '0', + WEA => we_pattern, + WEBWE => "00000000", + DOADO => do_pattern, + DOBDO => OPEN, + DOPADOP => dop_pattern, + DOPBDOP => OPEN, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + CASCADEINA => '0', + CASCADEINB => '0', + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN, + SBITERR => OPEN, + REGCEAREGCE => REGCE, + REGCEB => '0' + ); + end generate ramb36_sin_bl; + ramb36_sin_bl_1 : if (BRAM_SIZE = "36Kb" and (READ_WIDTH > 36 and READ_WIDTH <= 72) and (WRITE_WIDTH > 36 and WRITE_WIDTH <= 72)) generate + begin + ram36_bl_1 : RAMB36E1 + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + RAM_MODE => "TDP", + RDADDR_COLLISION_HWCONFIG => "PERFORMANCE", + READ_WIDTH_A => 36, + READ_WIDTH_B => 36, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => sim_device_dp, + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE, + WRITE_WIDTH_A => 36, + WRITE_WIDTH_B => 36 + + ) + port map ( + ADDRARDADDR => addra_pattern, + ADDRBWRADDR => addrb_pattern, + CLKARDCLK => CLK, + CLKBWRCLK => CLK, + DIADI => di_pattern(63 downto 32), + DIBDI => di_pattern(31 downto 0), + DIPADIP => dip_pattern(7 downto 4), + DIPBDIP => dip_pattern(3 downto 0), + ENARDEN => EN, + ENBWREN => EN, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RSTRAMARSTRAM => rstram_pattern, + RSTREGARSTREG => rstreg_pattern, + RSTRAMB => rstram_pattern, + RSTREGB => rstreg_pattern, + WEA => we_pattern(7 downto 4), + WEBWE => we_pattern, + DOADO => do_pattern(63 downto 32), + DOBDO => do_pattern(31 downto 0), + DOPADOP => dop_pattern(7 downto 4), + DOPBDOP => dop_pattern(3 downto 0), + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + CASCADEINA => '0', + CASCADEINB => '0', + DBITERR => OPEN, + ECCPARITY => OPEN, + RDADDRECC => OPEN, + SBITERR => OPEN, + REGCEAREGCE => REGCE, + REGCEB => REGCE + ); + end generate ramb36_sin_bl_1; + + end generate ramb_bl; + -- end generate virtex6 + -- begin generate spartan6 + ramb_st : if DEVICE = "SPARTAN6" generate + ramb9_sin_st : if (BRAM_SIZE = "9Kb" and (READ_WIDTH = WRITE_WIDTH) and (READ_WIDTH <= 18)) generate + begin + + ram9_st : RAMB8BWER + generic map( + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INIT_FILE => INIT_FILE, + DATA_WIDTH_A => wr_width, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => "NONE", + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE + ) + port map ( + ADDRAWRADDR => addr_pattern, + ADDRBRDADDR => "0000000000000", + CLKAWRCLK => CLK, + CLKBRDCLK => '0', + DIADI => di_pattern, + DIBDI => X"0000", + DIPADIP => dip_pattern, + DIPBDIP => "00", + ENAWREN => EN, + ENBRDEN => '0', + REGCEA => REGCE, + REGCEBREGCE => '0', + RSTA => RST, + RSTBRST => '0', + WEAWEL => we_pattern, + WEBWEU => "00", + DOADO => do_pattern, + DOBDO => OPEN, + DOPADOP => dop_pattern, + DOPBDOP => OPEN + ); + + end generate ramb9_sin_st; + ramb9_sin_st_1 : if (BRAM_SIZE = "9Kb" and (READ_WIDTH = WRITE_WIDTH) and (READ_WIDTH > 18 and READ_WIDTH <= 36)) generate + begin + + ram9_st : RAMB8BWER + generic map( + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INIT_FILE => INIT_FILE, + DATA_WIDTH_A => 18, + DATA_WIDTH_B => 18, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => "NONE", + SRVAL_A => srval_a_pattern , + SRVAL_B => srval_b_pattern , + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE + ) + port map ( + ADDRAWRADDR => addra_pattern, + ADDRBRDADDR => addrb_pattern, + CLKAWRCLK => CLK, + CLKBRDCLK => CLK, + DIADI => di_pattern(31 downto 16), + DIBDI => di_pattern(15 downto 0), + DIPADIP => dip_pattern(3 downto 2), + DIPBDIP => dip_pattern(1 downto 0), + ENAWREN => EN, + ENBRDEN => EN, + REGCEA => REGCE, + REGCEBREGCE => REGCE, + RSTA => RST, + RSTBRST => RST, + WEAWEL => we_pattern(3 downto 2), + WEBWEU => we_pattern(1 downto 0), + DOADO => do_pattern(31 downto 16), + DOBDO => do_pattern(15 downto 0), + DOPADOP => dop_pattern(3 downto 2), + DOPBDOP => dop_pattern(1 downto 0) + ); + + end generate ramb9_sin_st_1; + ramb18_sin_st : if (BRAM_SIZE = "18Kb" and (READ_WIDTH = WRITE_WIDTH) and (READ_WIDTH <= 36)) generate + begin + ram18_st : RAMB16BWER + generic map ( + + DOA_REG => DO_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init, read_p, write_p, READ_WIDTH, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => "SPARTAN6", + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval, read_p, write_p, READ_WIDTH, init_srval_width_size), + DATA_WIDTH_A => rd_width, + WRITE_MODE_A => WRITE_MODE + + ) + port map ( + ADDRA => addr_pattern, + ADDRB => "00000000000000", + CLKA => CLK, + CLKB => '0', + DIA => di_pattern, + DIB => X"00000000", + DIPA => dip_pattern, + DIPB => "0000", + ENA => EN, + ENB => '0', + REGCEA => REGCE, + REGCEB => '0', + RSTA => RST, + RSTB => '0', + WEA => we_pattern, + WEB => "0000", + DOA => do_pattern, + DOB => OPEN, + DOPA => dop_pattern, + DOPB => OPEN + ); + end generate ramb18_sin_st; + ramb18_sin_st_1 : if (BRAM_SIZE = "18Kb" and (READ_WIDTH = WRITE_WIDTH) and (READ_WIDTH > 36 and READ_WIDTH <= 72)) generate + begin + ram18_st_1 : RAMB16BWER + generic map ( + + DOA_REG => DO_REG, + DOB_REG => DO_REG, + INIT_A => init_a_pattern, + INIT_B => init_b_pattern, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + SIM_COLLISION_CHECK => "NONE", + SIM_DEVICE => "SPARTAN6", + SRVAL_A => srval_a_pattern, + SRVAL_B => srval_b_pattern, + DATA_WIDTH_A => 36, + DATA_WIDTH_B => 36, + WRITE_MODE_A => WRITE_MODE, + WRITE_MODE_B => WRITE_MODE + + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLK, + CLKB => CLK, + DIA => di_pattern(63 downto 32), + DIB => di_pattern(31 downto 0), + DIPA => dip_pattern(7 downto 4), + DIPB => dip_pattern(3 downto 0), + ENA => EN, + ENB => EN, + REGCEA => REGCE, + REGCEB => REGCE, + RSTA => RST, + RSTB => RST, + WEA => we_pattern(7 downto 4), + WEB => we_pattern(3 downto 0), + DOA => do_pattern(63 downto 32), + DOB => do_pattern(31 downto 0), + DOPA => dop_pattern(7 downto 4), + DOPB => dop_pattern(3 downto 0) + ); + end generate ramb18_sin_st_1; + end generate ramb_st; + -- end generate spartan6 +end bram_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_TDP_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_TDP_MACRO.vhd new file mode 100644 index 0000000..ec13223 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/BRAM_TDP_MACRO.vhd @@ -0,0 +1,2665 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 14.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for True Dual Port Block RAM +-- /___/ /\ Filename : BRAM_TDP_MACRO.vhd +-- \ \ / \ Timestamp : Wed April 11 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 04/11/08 - Initial version. +-- 05/25/11 - 607722 - Reset output latch for DO_REG=1 +-- 10/26/11 - 624543 - Fix DO for assymetric widths, drc to check for read,write widths equal or ratio of 2. +-- 11/30/11 - 636062 - Fix drc and do +-- 01/11/12 - 639772, 604428 -Constrain DI, DO, add width checking. +-- 04/24/12 - 657517 - fix for write_width = 2* read_width +-- 11/01/12 - 679413 - pass INIT_FILE to Spartan6 BRAM +-- 09/29/14 - Update DI and DO for parity intersperse every byte (CR 773917). +-- End Revision + +----- CELL BRAM_TDP_MACRO ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +library unisim; +use unisim.VCOMPONENTS.all; +library STD; +use STD.TEXTIO.ALL; + + +entity BRAM_TDP_MACRO is +generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DOA_REG : integer := 0; + DOB_REG : integer := 0; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_A : bit_vector := X"000000000"; + INIT_B : bit_vector := X"000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH_A : integer := 1; + READ_WIDTH_B : integer := 1; + SIM_COLLISION_CHECK : string := "ALL"; + SIM_MODE : string := "SAFE"; -- This parameter is valid only for Virtex5 + SRVAL_A : bit_vector := X"000000000"; + SRVAL_B : bit_vector := X"000000000"; + WRITE_MODE_A : string := "WRITE_FIRST"; + WRITE_MODE_B : string := "WRITE_FIRST"; + WRITE_WIDTH_A : integer := 1; + WRITE_WIDTH_B : integer := 1 + + ); +port ( + + DOA : out std_logic_vector(READ_WIDTH_A-1 downto 0); + DOB : out std_logic_vector(READ_WIDTH_B-1 downto 0); + + ADDRA : in std_logic_vector; + ADDRB : in std_logic_vector; + CLKA : in std_ulogic; + CLKB : in std_ulogic; + DIA : in std_logic_vector(WRITE_WIDTH_A-1 downto 0); + DIB : in std_logic_vector(WRITE_WIDTH_B-1 downto 0); + ENA : in std_ulogic; + ENB : in std_ulogic; + REGCEA : in std_ulogic; + REGCEB : in std_ulogic; + RSTA : in std_ulogic; + RSTB : in std_ulogic; + WEA : in std_logic_vector; + WEB : in std_logic_vector + + ); +end BRAM_TDP_MACRO; + +architecture bram_V of BRAM_TDP_MACRO is + + function GetDIAWidth ( + wr_widtha : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case wr_widtha is + when 0 => func_width := 1; + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". This attribute must atleast be equal to 1. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s1 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s1 + else + func_width := 32; + end if; + when others => if(func_bram_size = "18Kb" or func_bram_size = "9Kb") then + func_width := 16; + else + func_width := 32; + end if; + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s2 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s2 + end if; + end case; + else + func_width := 32; + end if; + return func_width; + end; + + function GetDIBWidth ( + wr_widthb : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case wr_widthb is + when 0 => func_width := 1; + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_B : ") ); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". This attribute must atleast be equal to 1 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_B : ") ); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s3 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_B : ") ); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s3 + else + func_width := 32; + end if; + when others => if(func_bram_size = "18Kb" or func_bram_size = "9Kb") then + func_width := 16; + else + func_width := 32; + end if; + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s4 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute WRITE_WIDTH_A : ") ); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s4 + end if; + + end case; + else + func_width := 32; + end if; + return func_width; + end; + + function GetDOAWidth ( + rd_widtha : in integer; + func_bram_size : in string; + device : in string; + wr_widtha : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + -- begin s26 + if(DEVICE = "SPARTAN6") then + if(rd_widtha /= wr_widtha) then + write( Message, STRING'("WRITE_WIDTH_A and READ_WIDTH_A must be equal. ") ); + write ( Message, WRITE_WIDTH_A); + write ( Message, READ_WIDTH_A); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; -- end s26 + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((rd_widtha /= wr_widtha) and (rd_widtha/wr_widtha /=2) and (wr_widtha/rd_widtha /=2) and ( (rd_widtha /= 1 and rd_widtha /= 2 and rd_widtha /= 4 and rd_widtha /= 8 and rd_widtha /= 9 and rd_widtha /= 16 and rd_widtha /= 18 and rd_widtha /= 32 and rd_widtha /= 36) or (wr_widtha /= 1 and wr_widtha /= 2 and wr_widtha /= 4 and wr_widtha /= 8 and wr_widtha /= 9 and wr_widtha /= 16 and wr_widtha /= 18 and wr_widtha /= 32 and wr_widtha /= 36)) ) then + write( Message, STRING'("Illegal values of Attributes READ_WIDTH_A, WRITE_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write ( Message, STRING'(" and ")); + write ( Message, WRITE_WIDTH_A); + write( Message, STRING'(". To use BRAM_TDP_MACRO. One of the following conditions must be true- 1. READ_WIDTH must be equal to WRITE_WIDTH 2. If assymetric, READ_WIDTH and WRITE_WIDTH must have a ratio of 2. 3. If assymetric, READ_WIDTH and WRITE_WIDTH should have values 1, 2, 4, 8, 9, 16, 18, 32, 36.")); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + case rd_widtha is + when 0 => func_width := 1; + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES")) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s5 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s5 + else + func_width := 32; + end if; + when others => if(func_bram_size = "18Kb" or func_bram_size = "9Kb") then + func_width := 16; + else + func_width := 32; + end if; + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s6 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_A : ") ); + write ( Message, READ_WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s6 + end if; + end case; + else + func_width := 32; + end if; + return func_width; + end; + + function GetDOBWidth ( + rd_widthb : in integer; + func_bram_size : in string; + device : in string; + wr_widthb : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + -- begin s27 + if(DEVICE = "SPARTAN6") then + if(rd_widthb /= wr_widthb) then + write( Message, STRING'("WRITE_WIDTH_B and READ_WIDTH_B must be equal. ") ); + write ( Message, WRITE_WIDTH_B); + write ( Message, READ_WIDTH_B); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; -- end s27 + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if((rd_widthb /= wr_widthb) and (rd_widthb/wr_widthb /= 2) and (wr_widthb/rd_widthb /= 2) and ((rd_widthb /= 1 and rd_widthb /= 2 and rd_widthb /= 4 and rd_widthb /= 8 and rd_widthb /= 9 and rd_widthb /= 16 and rd_widthb /= 18 and rd_widthb /= 32 and rd_widthb /= 36 ) or (wr_widthb /= 1 and wr_widthb /= 2 and wr_widthb /= 4 and wr_widthb /= 8 and wr_widthb /= 9 and wr_widthb /= 16 and wr_widthb /= 18 and wr_widthb /= 32 and wr_widthb /= 36)) ) then + write( Message, STRING'("Illegal values of Attributes READ_WIDTH_B, WRITE_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write ( Message, STRING'(" and ")); + write ( Message, WRITE_WIDTH_B); + write( Message, STRING'(". To use BRAM_TDP_MACRO. One of the following conditions must be true- 1. READ_WIDTH must be equal to WRITE_WIDTH 2. If assymetric, READ_WIDTH and WRITE_WIDTH must have a ratio of 2. 3. If assymetric, READ_WIDTH and WRITE_WIDTH should have values 1, 2, 4, 8, 9, 16, 18, 32, 36.") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + case rd_widthb is + when 0 => func_width := 1; + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write( Message, STRING'(". This attribute must atleast be equal to 1 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => if (func_bram_size /= "36Kb" and (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES")) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s7 + elsif (func_bram_size /= "18Kb" and (DEVICE = "SPARTAN6") ) then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute for BRAM_SIZE 9Kb are ") ); + write( Message, STRING'(" 1 to 18 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s7 + else + func_width := 32; + end if; + when others => if(func_bram_size = "18Kb" or func_bram_size = "9Kb") then + func_width := 16; + else + func_width := 32; + end if; + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + -- begin s8 + elsif(DEVICE = "SPARTAN6") then + write( Message, STRING'("Illegal value of Attribute READ_WIDTH_B : ") ); + write ( Message, READ_WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 for BRAM_SIZE of 9Kb and ") ); + write( Message, STRING'(" 1 to 36 for BRAM_SIZE of 18Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); -- end s8 + end if; + end case; + else + func_width := 32; + end if; + return func_width; + end; + function GetD_Width ( + width : in integer; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case width is + when 0 => func_width := 0; + when 1 => func_width := 1; + when 2 => func_width := 2; + when 3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 9; + when 10 to 18 => func_width := 18; + when 19 to 36 => func_width := 36; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetDPWidth ( + width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when others => func_width := 0; + end case; + else + func_width := 0; + end if; + return func_width; + end; + function GetLeastWidthA ( + wr_width_a : in integer; + rd_width_a : in integer + ) return integer is + variable func_least_width : integer; + begin + if (wr_width_a <= rd_width_a) then + func_least_width := wr_width_a; + else + func_least_width := rd_width_a; + end if; + return func_least_width; + end; + + function GetLeastWidthB ( + wr_width_b : in integer; + rd_width_b : in integer + ) return integer is + variable func_least_width : integer; + begin + if (wr_width_b <= rd_width_b) then + func_least_width := wr_width_b; + else + func_least_width := rd_width_b; + end if; + return func_least_width; + end; + + function GetADDRWidth ( + least_width : in integer; + func_bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + case least_width is + when 1 => if (func_bram_size = "9Kb") then + func_width := 13; + elsif (func_bram_size = "18Kb") then + func_width := 14; + else + func_width := 15; + end if; + when 2 => if (func_bram_size = "9Kb") then + func_width := 12; + elsif (func_bram_size = "18Kb") then + func_width := 13; + else + func_width := 14; + end if; + when 3|4 => if (func_bram_size = "9Kb") then + func_width := 11; + elsif (func_bram_size = "18Kb") then + func_width := 12; + else + func_width := 13; + end if; + when 5|6|7|8|9 => if (func_bram_size = "9Kb") then + func_width := 10; + elsif (func_bram_size = "18Kb") then + func_width := 11; + else + func_width := 12; + end if; + when 10 to 18 => if (func_bram_size = "9Kb") then + func_width := 9; + elsif (func_bram_size = "18Kb") then + func_width := 10; + else + func_width := 11; + end if; + when 19 to 36 => if (func_bram_size = "36Kb") then + func_width := 10; + elsif (func_bram_size = "18Kb") then + func_width := 9; + else + func_width := 9; + end if; + when others => func_width := 15; + end case; + else + func_width := 15; + end if; + return func_width; + end; + + function GetWEWidth ( + bram_size : in string; + device : in string; + wr_width : in integer + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if bram_size= "18Kb"then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + else + func_width := 2; + end if; + elsif bram_size = "36Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; + end if; + -- begin s9 + elsif(DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + else + func_width := 2; + end if; + elsif bram_size = "18Kb" then + if wr_width <= 9 then + func_width := 1; + elsif wr_width > 9 and wr_width <= 18 then + func_width := 2; + elsif wr_width > 18 and wr_width <= 36 then + func_width := 4; + else + func_width := 4; + end if; + end if; -- end s9 + else + func_width := 4; + end if; + return func_width; + end; + + function GetMaxADDRSize ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if bram_size = "9Kb" then + func_width := 13; + elsif bram_size = "18Kb" then + func_width := 14; + elsif bram_size = "36Kb" then + func_width := 16; + else + func_width := 16; + end if; + else + func_width := 16; + end if; + return func_width; + end; + + function GetMaxDataSize ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "9Kb") then + func_width := 16; + elsif bram_size = "36Kb" then + func_width := 32; + else + func_width := 32; + end if; + -- begin s11 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + func_width := 16; + elsif bram_size = "18Kb" then + func_width := 32; + else + func_width := 32; + end if; -- end s11 + else + func_width := 32; + end if; + return func_width; + end; + + function GetMaxDataPSize ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "9Kb") then + func_width := 2; + elsif bram_size = "36Kb" then + func_width := 4; + else + func_width := 4; + end if; + -- begin s12 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + func_width := 2; + elsif bram_size = "18Kb" then + func_width := 4; + else + func_width := 4; + end if; -- end s12 + else + func_width := 4; + end if; + return func_width; + end; + + function GetMaxWESize ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "9Kb") then + func_width := 2; + elsif bram_size = "36Kb" then + func_width := 4; + else + func_width := 4; + end if; + -- begin s13 + elsif (DEVICE = "SPARTAN6") then + if bram_size = "9Kb" then + func_width := 2; + elsif bram_size = "18Kb" then + func_width := 4; + else + func_width := 4; + end if; -- end s13 + else + func_width := 4; + end if; + return func_width; + end; + + function GetMaxWESize_bl ( + bram_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if bram_size = "18Kb" then + func_width := 4; + elsif bram_size = "36Kb" then + func_width := 8; + else + func_width := 8; + end if; + return func_width; + end; + function GetFinalWidth ( + width : in integer + ) return integer is + variable func_least_width : integer; + begin + if (width = 0) then + func_least_width := 1; + else + func_least_width := width; + end if; + return func_least_width; + end; + + function GetBRAMSize ( + bram_size : in string; + device : in string + ) return boolean is + variable bram_val : boolean; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + + if ( DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (bram_size = "18Kb" or bram_size = "36Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 18Kb, 36Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; + -- begin s14 + if (DEVICE = "SPARTAN6") then + if(bram_size = "9Kb" or bram_size = "18Kb") then + bram_val := TRUE; + else + bram_val := FALSE; + write( Message, STRING'("Illegal value of Attribute BRAM_SIZE : ") ); + write ( Message, BRAM_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 9Kb, 18Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + end if; -- end s14 + return bram_val; + end; + + function Get_P ( + wd : in integer; + device : in string + ) return boolean is + variable wp : boolean; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if wd = 9 or wd = 17 or wd = 18 or wd = 33 or wd = 34 or wd = 35 or wd = 36 then + wp := TRUE; + else + wp := FALSE; + end if; + else + wp := FALSE; + end if; + return wp; + end; + + function CheckParity ( + wp_a, wp_b, rp_a, rp_b : in boolean; + device : in string + ) return boolean is + variable Message : LINE; + variable check : boolean; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + if ( (wp_a = FALSE and wp_b = FALSE and rp_a = FALSE and rp_b = FALSE) or (wp_a = FALSE and wp_b = TRUE and rp_a = TRUE and rp_b = FALSE) or (wp_a = TRUE and wp_b = FALSE and rp_a = TRUE and rp_b = FALSE) or (wp_a = FALSE and wp_b = TRUE and rp_a = FALSE and rp_b = TRUE) or (wp_a = TRUE and wp_b = FALSE and rp_a = FALSE and rp_b = TRUE) or (wp_a = TRUE and wp_b = TRUE and rp_a = FALSE and rp_b = TRUE) or (wp_a = TRUE and wp_b = TRUE and rp_a = TRUE and rp_b = FALSE) or (wp_a = TRUE and wp_b = FALSE and rp_a = TRUE and rp_b = TRUE) or (wp_a = FALSE and wp_b = TRUE and rp_a = TRUE and rp_b = TRUE) or (wp_a = TRUE and wp_b = TRUE and rp_a = TRUE and rp_b = TRUE) ) then + check := FALSE; + elsif(wp_a = FALSE and wp_b = TRUE and rp_a = FALSE and rp_b = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("WRITE_WIDTH_B on BRAM_TDP_MACRO is set to ") ); + write( Message, WRITE_WIDTH_B); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = TRUE and wp_b = FALSE and rp_a = FALSE and rp_b = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("WRITE_WIDTH_A on BRAM_TDP_MACRO is set to ") ); + write( Message, WRITE_WIDTH_A); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = TRUE and wp_b = TRUE and rp_a = FALSE and rp_b = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("WRITE_WIDTH_A on BRAM_TDP_MACRO is set to ") ); + write( Message, WRITE_WIDTH_A); + write( Message, STRING'(" and WRITE_WIDTH_B on BRAM_TDP_MACRO is set to ") ); + write( Message, WRITE_WIDTH_B); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = FALSE and wp_b = FALSE and rp_a = TRUE and rp_b = FALSE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("READ_WIDTH_A on BRAM_TDP_MACRO is set to ") ); + write( Message, READ_WIDTH_A); + write( Message, STRING'(". The parity bit(s) have not been written and hence cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = FALSE and wp_b = FALSE and rp_a = FALSE and rp_b = TRUE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("READ_WIDTH_B on BRAM_TDP_MACRO is set to ") ); + write( Message, READ_WIDTH_B); + write( Message, STRING'(". The parity bit(s) have not been written and hence cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + elsif(wp_a = FALSE and wp_b = FALSE and rp_a = TRUE and rp_b = TRUE) then + write( Message, STRING'("Port Width Mismatch : ") ); + write( Message, STRING'("The attribute ") ); + write( Message, STRING'("READ_WIDTH_A on BRAM_TDP_MACRO is set to ") ); + write( Message, READ_WIDTH_A); + write( Message, STRING'(" and READ_WIDTH_B on BRAM_TDP_MACRO is set to ") ); + write( Message, READ_WIDTH_B); + write( Message, STRING'(". The parity bit(s) cannot be read") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Warning; + DEALLOCATE (Message); + end if; + end if; + return check; + end; + + function GetSIMDev ( + device : in string + ) return string is + begin + if(DEVICE = "VIRTEX6") then + return "VIRTEX6"; + else + return "7SERIES"; + end if; + end; + + function GetValWidth_A ( + rd_widtha : in integer; + wr_widtha : in integer + ) return boolean is + begin + if ((rd_widtha = 1 or rd_widtha = 2 or rd_widtha = 4 or rd_widtha = 8 or rd_widtha = 9 or rd_widtha = 16 or rd_widtha = 18 or rd_widtha = 32 or rd_widtha = 36 ) and (wr_widtha = 1 or wr_widtha = 2 or wr_widtha = 4 or wr_widtha = 8 or wr_widtha = 9 or wr_widtha = 16 or wr_widtha = 18 or wr_widtha = 32 or wr_widtha = 36 )) then + return TRUE; + else + return FALSE; + end if; + end; + + function GetValWidth_B ( + rd_widthb : in integer; + wr_widthb : in integer + ) return boolean is + begin + if ((rd_widthb = 1 or rd_widthb = 2 or rd_widthb = 4 or rd_widthb = 8 or rd_widthb = 9 or rd_widthb = 16 or rd_widthb = 18 or rd_widthb = 32 or rd_widthb = 36) and (wr_widthb = 1 or wr_widthb = 2 or wr_widthb = 4 or wr_widthb = 8 or wr_widthb = 9 or wr_widthb = 16 or wr_widthb = 18 or wr_widthb = 32 or wr_widthb = 36)) then + return TRUE; + else + return FALSE; + end if; + end; + + function CheckWEAWidth ( + wr_width : in integer; + wea_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if ( wr_width <= 9 and wea_vec /= 1) then + write( Message, STRING'("WEA port width incorrectly set for WRITE_WIDTH_A : ") ); + write( Message, WRITE_WIDTH_A); + write( Message, STRING'(". WEA port width must be of width 1 (0 downto 0) . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 9 and wr_width <= 18) and wea_vec /= 2) then + write( Message, STRING'("WEA port width incorrectly set for WRITE_WIDTH_A : ") ); + write( Message, WRITE_WIDTH_A); + write( Message, STRING'(". WEA port width must be of width 2 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 18 and wr_width <= 36) and wea_vec /= 4) then + write( Message, STRING'("WEA port width incorrectly set for WRITE_WIDTH_A : ") ); + write( Message, WRITE_WIDTH_A); + write( Message, STRING'(". WEA port width must be of width 4 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + end; +function CheckWEBWidth ( + wr_width : in integer; + web_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if ( wr_width <= 9 and web_vec /= 1) then + write( Message, STRING'("WEB port width incorrectly set for WRITE_WIDTH_B : ") ); + write( Message, WRITE_WIDTH_B); + write( Message, STRING'(". WEB port width must be of width 1 (0 downto 0) . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 9 and wr_width <= 18) and web_vec /= 2) then + write( Message, STRING'("WEB port width incorrectly set for WRITE_WIDTH_B : ") ); + write( Message, WRITE_WIDTH_B); + write( Message, STRING'(". WEB port width must be of width 2 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ( (wr_width > 18 and wr_width <= 36) and web_vec /= 4) then + write( Message, STRING'("WEB port width incorrectly set for WRITE_WIDTH_B : ") ); + write( Message, WRITE_WIDTH_B); + write( Message, STRING'(". WEB port width must be of width 4 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + end; + +function CheckADDRAWidth ( + least_width : in integer; + func_bram_size : in string; + device : in string; + addra_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if (func_bram_size = "9Kb") then + if (least_width = 1 and addra_vec /= 13) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addra_vec /= 12) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addra_vec /= 11) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addra_vec /= 10) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addra_vec /= 9) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "18Kb") then + if (least_width = 1 and addra_vec /= 14) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addra_vec /= 13) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addra_vec /= 12) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addra_vec /= 11) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addra_vec /= 10) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 18 and least_width <= 36) and addra_vec /= 9) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "36Kb") then + if (least_width = 1 and addra_vec /= 15) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 15 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addra_vec /= 14) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addra_vec /= 13) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addra_vec /= 12) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addra_vec /= 11) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 18 and least_width <= 36) and addra_vec /= 10) then + write( Message, STRING'("ADDRA port width incorrectly set. ") ); + write( Message, STRING'(". ADDRA port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + else + return TRUE; + end if; + end; + + function CheckADDRBWidth ( + least_width : in integer; + func_bram_size : in string; + device : in string; + addrb_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if (func_bram_size = "9Kb") then + if (least_width = 1 and addrb_vec /= 13) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addrb_vec /= 12) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addrb_vec /= 11) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addrb_vec /= 10) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addrb_vec /= 9) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "18Kb") then + if (least_width = 1 and addrb_vec /= 14) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addrb_vec /= 13) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addrb_vec /= 12) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addrb_vec /= 11) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addrb_vec /= 10) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 18 and least_width <= 36) and addrb_vec /= 9) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 9 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + elsif (func_bram_size = "36Kb") then + if (least_width = 1 and addrb_vec /= 15) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 15 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif (least_width = 2 and addrb_vec /= 14) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 14 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 2 and least_width <= 4) and addrb_vec /= 13) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 13 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 4 and least_width <= 9) and addrb_vec /= 12) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 12 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 9 and least_width <= 18) and addrb_vec /= 11) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 11 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + elsif ((least_width > 18 and least_width <= 36) and addrb_vec /= 10) then + write( Message, STRING'("ADDRB port width incorrectly set. ") ); + write( Message, STRING'(". ADDRB port width must be of width 10 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return FALSE; + else + return TRUE; + end if; + else + return TRUE; + end if; + end; + + + function Get_Parity_Width ( + wd : in integer + ) return integer is + variable wp : integer; + begin + if (wd = 9 or wd = 17 or wd = 33) then + wp := 1; + elsif (wd = 18 or wd = 34) then + wp := 2; + elsif (wd = 35) then + wp := 3; + elsif (wd = 36) then + wp := 4; + else + wp := 4; + end if; + return wp; + end; + + + function Pad_INIT_SRVAL ( + func_in_init_srval : in bit_vector; + func_init_srval_width_size : in integer) + return bit_vector is variable func_paded_init_srval : bit_vector(0 to func_init_srval_width_size-1) := (others=>'0'); + variable func_padded_width : integer; + begin + + if (func_in_init_srval'length > func_init_srval_width_size) then + func_padded_width := func_init_srval_width_size; + else + func_padded_width := func_in_init_srval'length; + end if; + + for i in 0 to func_padded_width-1 loop + func_paded_init_srval(((func_init_srval_width_size-1) - (func_padded_width-1)) + i) := func_in_init_srval(i); + end loop; + + return func_paded_init_srval; + end; + + + function Get_INIT_SRVAL_Width ( + func_bram_size : in string; + func_device : in string) + return integer is variable init_srval_width : integer; + begin + if(bram_size = "36Kb") then + init_srval_width := 36; + elsif(bram_size = "18Kb") then + if (func_device = "SPARTAN6") then + init_srval_width := 36; + else + init_srval_width := 20; + end if; + elsif (bram_size = "9Kb") then + init_srval_width := 20; + else + init_srval_width := 36; + end if; + + return init_srval_width; + end; + + + function INIT_SRVAL_parity_byte ( + in_init_srval : in bit_vector; + readp : in boolean; + writep : in boolean; + read_widthp : in integer; + init_srval_width : in integer) + return bit_vector is variable out_init_srval : bit_vector(0 to in_init_srval'length-1); + begin + + if (readp = TRUE and writep = TRUE) then + + if (read_widthp = 9) then + if (init_srval_width = 20) then + out_init_srval := "00000000000" & in_init_srval(11) & in_init_srval(12 to 19); + else + out_init_srval := "000000000000000000000000000" & in_init_srval(27) & in_init_srval(28 to 35); + end if; + elsif (read_widthp = 17) then + if (init_srval_width = 20) then + out_init_srval := "000" & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + else + out_init_srval := "0000000000000000000" & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + end if; + elsif (read_widthp = 18) then + if (init_srval_width = 20) then + out_init_srval := "00" & in_init_srval(2) & in_init_srval(11) & in_init_srval(3 to 10) & in_init_srval(12 to 19); + else + out_init_srval := "000000000000000000" & in_init_srval(18) & in_init_srval(27) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + end if; + elsif (read_widthp = 33) then + out_init_srval := "000" & in_init_srval(27) & in_init_srval(3 to 26) & in_init_srval(28 to 35); + elsif (read_widthp = 34) then + out_init_srval := "00" & in_init_srval(18) & in_init_srval(27) & in_init_srval(2 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + elsif (read_widthp = 35) then + out_init_srval := '0' & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + elsif (read_widthp = 36) then + out_init_srval := in_init_srval(0) & in_init_srval(9) & in_init_srval(18) & in_init_srval(27) & in_init_srval(1 to 8) & in_init_srval(10 to 17) & in_init_srval(19 to 26) & in_init_srval(28 to 35); + else + out_init_srval := in_init_srval; + end if; + + else + out_init_srval := in_init_srval; + end if; + + return out_init_srval; + + end; + + + constant bram_size_val : boolean := GetBRAMSize(BRAM_SIZE, DEVICE); + constant write_a_p : boolean := Get_P(WRITE_WIDTH_A, DEVICE); + constant write_b_p : boolean := Get_P(WRITE_WIDTH_B, DEVICE); + constant read_a_p : boolean := Get_P(READ_WIDTH_A, DEVICE); + constant read_b_p : boolean := Get_P(READ_WIDTH_B, DEVICE); + constant dia_width : integer := GetDIAWidth(WRITE_WIDTH_A, BRAM_SIZE, DEVICE); + constant dib_width : integer := GetDIBWidth(WRITE_WIDTH_B, BRAM_SIZE, DEVICE); + constant dipa_width : integer := GetDPWidth(WRITE_WIDTH_A, BRAM_SIZE, DEVICE); + constant dipb_width : integer := GetDPWidth(WRITE_WIDTH_B, BRAM_SIZE, DEVICE); + constant doa_width : integer := GetDOAWidth(READ_WIDTH_A, BRAM_SIZE, DEVICE, WRITE_WIDTH_A); + constant dob_width : integer := GetDOBWidth(READ_WIDTH_B, BRAM_SIZE, DEVICE, WRITE_WIDTH_B); + constant dopa_width : integer := GetDPWidth(READ_WIDTH_A, BRAM_SIZE, DEVICE); + constant dopb_width : integer := GetDPWidth(READ_WIDTH_B, BRAM_SIZE, DEVICE); + constant wr_a_width : integer := GetD_Width (WRITE_WIDTH_A, DEVICE); + constant wr_b_width : integer := GetD_Width (WRITE_WIDTH_B, DEVICE); + constant rd_a_width : integer := GetD_Width (READ_WIDTH_A, DEVICE); + constant rd_b_width : integer := GetD_Width (READ_WIDTH_B, DEVICE); + constant check_p : boolean := CheckParity(write_a_p, write_b_p, read_a_p, read_b_p, DEVICE); + constant least_width_A : integer := GetLeastWidthA(dia_width, doa_width); + constant least_width_B : integer := GetLeastWidthB(dib_width, dob_width); + constant addra_width : integer := GetADDRWidth(least_width_A, BRAM_SIZE, DEVICE); + constant addrb_width : integer := GetADDRWidth(least_width_B, BRAM_SIZE, DEVICE); + constant wea_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, WRITE_WIDTH_A); + constant web_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, WRITE_WIDTH_B); + constant rda_byte_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, READ_WIDTH_A); + constant rdb_byte_width : integer := GetWEWidth(BRAM_SIZE, DEVICE, READ_WIDTH_B); + constant fin_rda_width : integer := GetFinalWidth(READ_WIDTH_A); + constant fin_rdb_width : integer := GetFinalWidth(READ_WIDTH_B); + constant fin_wra_width : integer := GetFinalWidth(WRITE_WIDTH_A); + constant fin_wrb_width : integer := GetFinalWidth(WRITE_WIDTH_B); + constant sim_device_dp : string := GetSIMDev(DEVICE); + constant valid_width_a : boolean := GetValWidth_A(READ_WIDTH_A,WRITE_WIDTH_A); + constant valid_width_b : boolean := GetValWidth_B(READ_WIDTH_B,WRITE_WIDTH_B); + constant wealeng : integer := WEA'length; + constant webleng : integer := WEB'length; + constant addraleng : integer := ADDRA'length; + constant addrbleng : integer := ADDRB'length; + constant checkwea : boolean := CheckWEAWidth(WRITE_WIDTH_A, wealeng); + constant checkweb : boolean := CheckWEBWidth(WRITE_WIDTH_B, webleng); + constant checkaddra : boolean := CheckADDRAWidth(least_width_A, BRAM_SIZE, DEVICE, addraleng); + constant checkaddrb : boolean := CheckADDRBWidth(least_width_B, BRAM_SIZE, DEVICE, addrbleng); + + constant max_addr_width : integer := GetMaxADDRSize(BRAM_SIZE, DEVICE); + constant max_data_width : integer := GetMaxDataSize(BRAM_SIZE, DEVICE); + constant max_datap_width : integer := GetMaxDataPSize(BRAM_SIZE, DEVICE); + constant max_we_width : integer := GetMaxWESize(BRAM_SIZE, DEVICE); + constant max_web_width_bl : integer := GetMaxWESize_bl(BRAM_SIZE, DEVICE); + + constant reada_double : integer := (2*READ_WIDTH_A); + constant readb_double : integer := (2*READ_WIDTH_B); + + constant init_srval_width_size : integer := Get_INIT_SRVAL_Width(BRAM_SIZE, DEVICE); + constant padded_init_a : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(INIT_A, init_srval_width_size); + constant padded_init_b : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(INIT_B, init_srval_width_size); + constant padded_srval_a : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(SRVAL_A, init_srval_width_size); + constant padded_srval_b : bit_vector(0 to init_srval_width_size-1) := Pad_INIT_SRVAL(SRVAL_B, init_srval_width_size); + constant wra_widthp : integer := Get_Parity_Width(WRITE_WIDTH_A); + constant wrb_widthp : integer := Get_Parity_Width(WRITE_WIDTH_B); + constant rda_widthp : integer := Get_Parity_Width(READ_WIDTH_A); + constant rdb_widthp : integer := Get_Parity_Width(READ_WIDTH_B); + + signal addra_pattern : std_logic_vector(max_addr_width-1 downto 0) := (others=> '0'); + signal addrb_pattern : std_logic_vector(max_addr_width-1 downto 0) := (others=> '0'); + + signal dia_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal dib_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal dipa_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal dipb_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal doa_pattern : std_logic_vector(max_data_width-1 downto 0); + signal dob_pattern : std_logic_vector(max_data_width-1 downto 0); + signal dopa_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal dopb_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal wea_pattern : std_logic_vector(max_we_width-1 downto 0) := (others=>'0'); + signal web_pattern : std_logic_vector(max_we_width-1 downto 0) := (others=>'0'); + signal web_pattern_bl : std_logic_vector(max_web_width_bl-1 downto 0) := (others=>'0'); + + signal rstrama_pattern : std_logic := '0'; + signal rstramb_pattern : std_logic := '0'; + signal rstrega_pattern : std_logic := '0'; + signal rstregb_pattern : std_logic := '0'; + +begin + + a1 : addra_pattern <= + -- begin s15 + ADDRA when (BRAM_SIZE = "9Kb" and addra_width = 13 ) else + (ADDRA & '1') when (BRAM_SIZE = "9Kb" and addra_width = 12 ) else + (ADDRA & "11") when (BRAM_SIZE = "9Kb" and addra_width = 11 ) else + (ADDRA & "111") when (BRAM_SIZE = "9Kb" and addra_width = 10 ) else + (ADDRA & "1111") when (BRAM_SIZE = "9Kb" and addra_width = 9) else -- end s15 + ADDRA when (BRAM_SIZE = "18Kb" and addra_width = 14 ) else + (ADDRA & '1') when (BRAM_SIZE = "18Kb" and addra_width = 13 ) else + (ADDRA & "11") when (BRAM_SIZE = "18Kb" and addra_width = 12 ) else + (ADDRA & "111") when (BRAM_SIZE = "18Kb" and addra_width = 11 ) else + (ADDRA & "1111") when (BRAM_SIZE = "18Kb" and addra_width = 10 ) else + (ADDRA & "11111") when (BRAM_SIZE = "18Kb" and addra_width = 9 ) else + ADDRA when (BRAM_SIZE = "36Kb" and addra_width = 16 ) else + ('1' & ADDRA) when (BRAM_SIZE = "36Kb" and addra_width = 15 ) else + ('1' & ADDRA & '1') when (BRAM_SIZE = "36Kb" and addra_width = 14 ) else + ('1' & ADDRA & "11") when (BRAM_SIZE = "36Kb" and addra_width = 13) else + ('1' & ADDRA & "111") when (BRAM_SIZE = "36Kb" and addra_width = 12 ) else + ('1' & ADDRA & "1111") when (BRAM_SIZE = "36Kb" and addra_width = 11 ) else + ('1' & ADDRA & "11111") when (BRAM_SIZE = "36Kb" and addra_width = 10 ) else + ADDRA; + a2 : addrb_pattern <= + -- begin s16 + ADDRB when (BRAM_SIZE = "9Kb" and addrb_width = 13 ) else + (ADDRB & '1') when (BRAM_SIZE = "9Kb" and addrb_width = 12 ) else + (ADDRB & "11") when (BRAM_SIZE = "9Kb" and addrb_width = 11 ) else + (ADDRB & "111") when (BRAM_SIZE = "9Kb" and addrb_width = 10 ) else + (ADDRB & "1111") when (BRAM_SIZE = "9Kb" and addrb_width = 9 ) else -- end s16 + ADDRB when (BRAM_SIZE = "18Kb" and addrb_width = 14 ) else + (ADDRB & '1') when (BRAM_SIZE = "18Kb" and addrb_width = 13 ) else + (ADDRB & "11") when (BRAM_SIZE = "18Kb" and addrb_width = 12 ) else + (ADDRB & "111") when (BRAM_SIZE = "18Kb" and addrb_width = 11 ) else + (ADDRB & "1111") when (BRAM_SIZE = "18Kb" and addrb_width = 10 ) else + (ADDRB & "11111") when (BRAM_SIZE = "18Kb" and addrb_width = 9 ) else + ADDRB when (BRAM_SIZE = "36Kb" and addrb_width = 16 ) else + ('1' & ADDRB) when (BRAM_SIZE = "36Kb" and addrb_width = 15 ) else + ('1' & ADDRB & '1') when (BRAM_SIZE = "36Kb" and addrb_width = 14 ) else + ('1' & ADDRB & "11") when (BRAM_SIZE = "36Kb" and addrb_width = 13 ) else + ('1' & ADDRB & "111") when (BRAM_SIZE = "36Kb" and addrb_width = 12 ) else + ('1' & ADDRB & "1111") when (BRAM_SIZE = "36Kb" and addrb_width = 11 ) else + ('1' & ADDRB & "11111") when (BRAM_SIZE = "36Kb" and addrb_width = 10 ) else + ADDRB; + + + dia1_v5 : if ( ((DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") and ((BRAM_SIZE = "18Kb" and WRITE_WIDTH_A <= 18) or (BRAM_SIZE = "36Kb" and WRITE_WIDTH_A <= 36))) or ( (DEVICE = "SPARTAN6") and ((BRAM_SIZE = "9Kb" and WRITE_WIDTH_A <= 18) or (BRAM_SIZE = "18Kb" and WRITE_WIDTH_A <= 36) ) ) ) generate + begin + dia1 : if (write_a_p = TRUE and read_a_p = TRUE) generate + + dia11 : if (WRITE_WIDTH_A = 33) generate + dia_pattern <= DIA(32 downto 9) & DIA(7 downto 0); + end generate dia11; + + dia12 : if (WRITE_WIDTH_A = 34) generate + dia_pattern <= DIA(33 downto 18) & DIA(16 downto 9) & DIA(7 downto 0); + end generate dia12; + + dia13 : if (WRITE_WIDTH_A = 35 or WRITE_WIDTH_A = 36 or WRITE_WIDTH_A <= 32) generate + ia1 : for i in 0 to wea_width-1 generate + dia_pattern((i*8)+7 downto (i*8)) <= DIA(((i*8)+i)+7 downto ((i*8)+i)); + end generate ia1; + end generate dia13; + + ia1p : for j in 1 to wra_widthp generate + dipa_pattern(j-1) <= DIA((j*8)+j-1); + end generate ia1p; + + end generate dia1; + dia2 : if ( (read_a_p = FALSE and write_a_p = FALSE) and ((READ_WIDTH_A = WRITE_WIDTH_A) or (READ_WIDTH_A/WRITE_WIDTH_A = 2) or (valid_width_a = TRUE)) ) generate + dia_pattern(fin_wra_width-1 downto 0) <= DIA(fin_wra_width-1 downto 0); + end generate dia2; + dia3 : if ((READ_WIDTH_A = 1 and WRITE_WIDTH_A = 2) or (READ_WIDTH_A = 2 and WRITE_WIDTH_A = 4) or (READ_WIDTH_A = 4 and WRITE_WIDTH_A = 8) or (READ_WIDTH_A = 8 and WRITE_WIDTH_A = 16) or (READ_WIDTH_A = 16 and WRITE_WIDTH_A = 32) or (READ_WIDTH_A = 32 and WRITE_WIDTH_A = 64 )) generate + dia_pattern(fin_wra_width-1 downto 0) <= DIA(fin_wra_width-1 downto 0); + end generate dia3; + dia4 : if ( (read_a_p = FALSE and write_a_p = FALSE) and (WRITE_WIDTH_A/READ_WIDTH_A = 2)) generate + dia_pattern(READ_WIDTH_A-1 downto 0) <= DIA(READ_WIDTH_A-1 downto 0); + dia_pattern (reada_double-1 downto READ_WIDTH_A) <= DIA(reada_double-1 downto READ_WIDTH_A); + end generate dia4; + end generate dia1_v5; + -- begin s17 + + dib1_v5 : if ( ((DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") and ((BRAM_SIZE = "18Kb" and WRITE_WIDTH_B <= 18) or (BRAM_SIZE = "36Kb" and WRITE_WIDTH_B <= 36))) or ( (DEVICE = "SPARTAN6") and ((BRAM_SIZE = "9Kb" and WRITE_WIDTH_B <= 18) or (BRAM_SIZE = "18Kb" and WRITE_WIDTH_B <= 36) ) ) ) generate + begin + dib1 : if (write_b_p = TRUE and read_b_p = TRUE) generate + + dib11 : if (WRITE_WIDTH_B = 33) generate + dib_pattern <= DIB(32 downto 9) & DIB(7 downto 0); + end generate dib11; + + dib12 : if (WRITE_WIDTH_B = 34) generate + dib_pattern <= DIB(33 downto 18) & DIB(16 downto 9) & DIB(7 downto 0); + end generate dib12; + + dib13 : if (WRITE_WIDTH_B = 35 or WRITE_WIDTH_B = 36 or WRITE_WIDTH_B <= 32) generate + ib1 : for i in 0 to web_width-1 generate + dib_pattern((i*8)+7 downto (i*8)) <= DIB(((i*8)+i)+7 downto ((i*8)+i)); + end generate ib1; + end generate dib13; + + ib1p : for j in 1 to wrb_widthp generate + dipb_pattern(j-1) <= DIB((j*8)+j-1); + end generate ib1p; + + end generate dib1; + dib2 : if ( (read_b_p = FALSE and write_b_p = FALSE) and ((READ_WIDTH_B = WRITE_WIDTH_B) or (READ_WIDTH_B/WRITE_WIDTH_B = 2) or (valid_width_b = TRUE)) ) generate + dib_pattern(fin_wrb_width-1 downto 0) <= DIB(fin_wrb_width-1 downto 0); + end generate dib2; + dib3 : if ((READ_WIDTH_B = 1 and WRITE_WIDTH_B = 2) or (READ_WIDTH_B = 2 and WRITE_WIDTH_B = 4) or (READ_WIDTH_B = 4 and WRITE_WIDTH_B = 8) or (READ_WIDTH_B = 8 and WRITE_WIDTH_B = 16) or (READ_WIDTH_B = 16 and WRITE_WIDTH_B = 32) or (READ_WIDTH_B = 32 and WRITE_WIDTH_A = 64 )) generate + dib_pattern(fin_wrb_width-1 downto 0) <= DIB(fin_wrb_width-1 downto 0); + end generate dib3; + dib4 : if ( (read_b_p = FALSE and write_b_p = FALSE) and (WRITE_WIDTH_B/READ_WIDTH_B = 2)) generate + dib_pattern(READ_WIDTH_B-1 downto 0) <= DIB(READ_WIDTH_B-1 downto 0); + dib_pattern (readb_double-1 downto READ_WIDTH_B) <= DIB(readb_double-1 downto READ_WIDTH_B); + end generate dib4; + end generate dib1_v5; + + + doagen : if ( ((DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") and ((BRAM_SIZE = "18Kb" and READ_WIDTH_A <= 18) or (BRAM_SIZE = "36Kb" and READ_WIDTH_A <= 36)) ) or ((DEVICE ="SPARTAN6") and ((BRAM_SIZE = "9Kb" and READ_WIDTH_A <= 18) or (BRAM_SIZE = "18Kb" and READ_WIDTH_A <= 36)) ) ) generate + doa11 : if (read_a_p = TRUE and write_a_p = TRUE) generate + + doa111 : if (READ_WIDTH_A = 33) generate + DOA(32 downto 9) <= doa_pattern(31 downto 8); + DOA(7 downto 0) <= doa_pattern(7 downto 0); + end generate doa111; + + doa112 : if (READ_WIDTH_A = 34) generate + DOA(33 downto 18) <= doa_pattern(31 downto 16); + DOA(16 downto 9) <= doa_pattern(15 downto 8); + DOA(7 downto 0) <= doa_pattern(7 downto 0); + end generate doa112; + + doa113 : if (READ_WIDTH_A = 35 or READ_WIDTH_A = 36 or READ_WIDTH_A <= 32) generate + oa1 : for i1 in 0 to rda_byte_width-1 generate + DOA(((i1*8)+i1)+7 downto ((i1*8)+i1)) <= doa_pattern((i1*8)+7 downto (i1*8)); + end generate oa1; + end generate doa113; + + oa1p : for j1 in 1 to rda_widthp generate + DOA((j1*8)+j1-1) <= dopa_pattern(j1-1); + end generate oa1p; + + end generate doa11; + doa121 : if ( (read_a_p = FALSE and write_a_p = FALSE) and ( (READ_WIDTH_A = WRITE_WIDTH_A) or (WRITE_WIDTH_A/READ_WIDTH_A = 2) or (valid_width_a = TRUE) )) generate + DOA <= ( doa_pattern(fin_rda_width-1 downto 0) ); + end generate doa121; + doa12 : if ((READ_WIDTH_A = 2 and WRITE_WIDTH_A = 1) or (READ_WIDTH_A = 4 and WRITE_WIDTH_A = 2) or (READ_WIDTH_A = 8 and WRITE_WIDTH_A = 4) or (READ_WIDTH_A = 16 and WRITE_WIDTH_A = 8) or (READ_WIDTH_A = 32 and WRITE_WIDTH_A = 16) or (READ_WIDTH_A = 64 and WRITE_WIDTH_A = 32 )) generate + DOA <= ( doa_pattern(fin_rda_width-1 downto 0) ); + end generate doa12; + doa3 : if ((read_a_p = FALSE and write_a_p = FALSE) and (READ_WIDTH_A/WRITE_WIDTH_A = 2) and (WRITE_WIDTH_A = 3)) generate + -- write width 3 + DOA <= ( doa_pattern((4+(WRITE_WIDTH_A-1)) downto 4) & doa_pattern((WRITE_WIDTH_A-1) downto 0) ); + end generate doa3; + doa47 : if ((read_a_p = FALSE and write_a_p = FALSE) and (READ_WIDTH_A/WRITE_WIDTH_A = 2) and (WRITE_WIDTH_A > 4 and WRITE_WIDTH_A < 8)) generate + -- write width between 4 and 7 + DOA <= ( doa_pattern((8+(WRITE_WIDTH_A-1)) downto 8) & doa_pattern((WRITE_WIDTH_A-1) downto 0) ); + end generate doa47; + doa815 : if ((read_a_p = FALSE and write_a_p = FALSE) and (READ_WIDTH_A/WRITE_WIDTH_A = 2) and (WRITE_WIDTH_A > 8 and WRITE_WIDTH_A < 16) ) generate + -- write width between 8 and 15 + DOA <= ( doa_pattern((16+(WRITE_WIDTH_A-1)) downto 16) & doa_pattern((WRITE_WIDTH_A-1) downto 0) ); + end generate doa815; + + end generate doagen; + + dobgen : if ( ((DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") and ((BRAM_SIZE = "18Kb" and READ_WIDTH_B <= 18) or (BRAM_SIZE = "36Kb" and READ_WIDTH_B <= 36)) ) or ((DEVICE ="SPARTAN6") and ((BRAM_SIZE = "9Kb" and READ_WIDTH_B <= 18) or (BRAM_SIZE = "18Kb" and READ_WIDTH_B <= 36)) ) ) generate + dob11 : if (read_b_p = TRUE and write_b_p = TRUE) generate + + dob111 : if (READ_WIDTH_B = 33) generate + DOB(32 downto 9) <= dob_pattern(31 downto 8); + DOB(7 downto 0) <= dob_pattern(7 downto 0); + end generate dob111; + + dob112 : if (READ_WIDTH_B = 34) generate + DOB(33 downto 18) <= dob_pattern(31 downto 16); + DOB(16 downto 9) <= dob_pattern(15 downto 8); + DOB(7 downto 0) <= dob_pattern(7 downto 0); + end generate dob112; + + dob113 : if (READ_WIDTH_B = 35 or READ_WIDTH_B = 36 or READ_WIDTH_B <= 32) generate + ob1 : for i1 in 0 to rdb_byte_width-1 generate + DOB(((i1*8)+i1)+7 downto ((i1*8)+i1)) <= dob_pattern((i1*8)+7 downto (i1*8)); + end generate ob1; + end generate dob113; + + ob1p : for j1 in 1 to rdb_widthp generate + DOB((j1*8)+j1-1) <= dopb_pattern(j1-1); + end generate ob1p; + + end generate dob11; + dob121 : if ( (read_b_p = FALSE and write_b_p = FALSE ) and ((READ_WIDTH_B = WRITE_WIDTH_B) or (WRITE_WIDTH_B/READ_WIDTH_B = 2) or (valid_width_b = TRUE) )) generate + DOB <= ( dob_pattern(fin_rdb_width-1 downto 0) ); + end generate dob121; + dob12 : if ((READ_WIDTH_B = 2 and WRITE_WIDTH_B = 1) or (READ_WIDTH_B = 4 and WRITE_WIDTH_B = 2) or (READ_WIDTH_B = 8 and WRITE_WIDTH_B = 4) or (READ_WIDTH_B = 16 and WRITE_WIDTH_B = 8) or (READ_WIDTH_B = 32 and WRITE_WIDTH_B = 16) or (READ_WIDTH_B = 64 and WRITE_WIDTH_A = 32 )) generate + DOB <= ( dob_pattern(fin_rdb_width-1 downto 0) ); + end generate dob12; + dob3 : if ( (read_b_p = FALSE and write_b_p = FALSE ) and (READ_WIDTH_B/WRITE_WIDTH_B = 2) and (WRITE_WIDTH_B = 3)) generate + -- write width 3 + DOB <= ( dob_pattern((4+(WRITE_WIDTH_B-1)) downto 4) & dob_pattern((WRITE_WIDTH_B-1) downto 0) ); + end generate dob3; + dob47 : if ( (read_b_p = FALSE and write_b_p = FALSE ) and (READ_WIDTH_B/WRITE_WIDTH_B = 2) and (WRITE_WIDTH_B > 4 and WRITE_WIDTH_B < 8)) generate + DOB <= ( dob_pattern((8+(WRITE_WIDTH_B-1)) downto 8) & dob_pattern((WRITE_WIDTH_B-1) downto 0) ); + end generate dob47; + dob815 : if ( (read_b_p = FALSE and write_b_p = FALSE ) and (WRITE_WIDTH_B > 8 and WRITE_WIDTH_B < 16) and (READ_WIDTH_B/WRITE_WIDTH_B =2) ) generate + -- write width between 8 and 15 + DOB <= ( dob_pattern((16+(WRITE_WIDTH_B-1)) downto 16) & dob_pattern((WRITE_WIDTH_B-1) downto 0) ); + end generate dob815; + + end generate dobgen; + + + + wea1 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + w1 : wea_pattern <= (WEA & WEA) when (BRAM_SIZE = "18Kb" and wea_width = 1 ) else + WEA when (BRAM_SIZE = "18Kb" and wea_width = 2 ) else + (WEA & WEA & WEA & WEA) when (BRAM_SIZE = "36Kb" and wea_width = 1 ) else + (WEA & WEA) when (BRAM_SIZE = "36Kb" and wea_width = 2 ) else + WEA when (BRAM_SIZE = "36Kb" and wea_width = 4 ) else + WEA; + end generate wea1; + -- begin s26 + wea2 : if (DEVICE = "SPARTAN6") generate + w2 : wea_pattern <= (WEA & WEA) when (BRAM_SIZE = "9Kb" and wea_width = 1 ) else + WEA when (BRAM_SIZE = "9Kb" and wea_width = 2 ) else + (WEA & WEA & WEA & WEA) when (BRAM_SIZE = "18Kb" and wea_width = 1 ) else + (WEA & WEA) when (BRAM_SIZE = "18Kb" and wea_width = 2 ) else + WEA when (BRAM_SIZE = "18Kb" and wea_width = 4 ) else + WEA; + end generate wea2; + -- end s26 + web1 : if (DEVICE = "VIRTEX5") generate + web1 : web_pattern <= (WEB & WEB) when (BRAM_SIZE = "18Kb" and web_width = 1 ) else + WEB when (BRAM_SIZE = "18Kb" and web_width = 2 ) else + (WEB & WEB & WEB & WEB) when (BRAM_SIZE = "36Kb" and web_width = 1 ) else + (WEB & WEB) when (BRAM_SIZE = "36Kb" and web_width = 2 ) else + WEB when (BRAM_SIZE = "36Kb" and web_width = 4 ) else + WEB; + end generate web1; + -- begin s27 + web2 : if (DEVICE = "SPARTAN6") generate + web2 : web_pattern <= (WEB & WEB) when (BRAM_SIZE = "9Kb" and web_width = 1 ) else + WEB when (BRAM_SIZE = "9Kb" and web_width = 2 ) else + (WEB & WEB & WEB & WEB) when (BRAM_SIZE = "18Kb" and web_width = 1 ) else + (WEB & WEB) when (BRAM_SIZE = "18Kb" and web_width = 2 ) else + WEB when (BRAM_SIZE = "18Kb" and web_width = 4 ) else + WEB; + end generate web2; + -- end s27 + web_bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + web1 : web_pattern_bl <= ("00" & WEB & WEB) when (BRAM_SIZE = "18Kb" and web_width = 1 ) else + ("00" & WEB) when (BRAM_SIZE = "18Kb" and web_width = 2 ) else + ("0000" & WEB & WEB & WEB & WEB) when (BRAM_SIZE = "36Kb" and web_width = 1) else + ("0000" & WEB & WEB) when (BRAM_SIZE = "36Kb" and web_width = 2 ) else + ("0000" & WEB) when (BRAM_SIZE = "36Kb" and web_width = 4 ) else + ("0000"& WEB); + end generate web_bl; + + r1 : rstrama_pattern <= RSTA; + r2 : rstramb_pattern <= RSTB; + r3 : rstrega_pattern <= RSTA when (DOA_REG = 1) else '0'; + r4 : rstregb_pattern <= RSTB when (DOB_REG = 1) else '0'; + + + -- begin generate virtex5 + ramb_v5 : if DEVICE = "VIRTEX5" generate + ramb18_dp : if BRAM_SIZE = "18Kb" generate + begin + + ram18 : RAMB18 + generic map( + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + READ_WIDTH_A => rd_a_width, + READ_WIDTH_B => rd_b_width, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B, + WRITE_WIDTH_A => wr_a_width, + WRITE_WIDTH_B => wr_b_width + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLKA, + CLKB => CLKB, + DIA => dia_pattern, + DIB => dib_pattern, + DIPA => dipa_pattern, + DIPB => dipb_pattern, + ENA => ENA, + ENB => ENB, + SSRA => RSTA, + SSRB => RSTB, + WEA => wea_pattern, + WEB => web_pattern, + DOA => doa_pattern, + DOB => dob_pattern, + DOPA => dopa_pattern, + DOPB => dopb_pattern, + REGCEA => REGCEA, + REGCEB => REGCEB + ); + + end generate ramb18_dp; + + ramb36_dp : if BRAM_SIZE = "36Kb" generate + begin + ram36 : RAMB36 + generic map ( + + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_MODE => SIM_MODE, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + READ_WIDTH_A => rd_a_width, + READ_WIDTH_B => rd_b_width, + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B, + WRITE_WIDTH_A => wr_a_width, + WRITE_WIDTH_B => wr_b_width + + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLKA, + CLKB => CLKB, + DIA => dia_pattern, + DIB => dib_pattern, + DIPA => dipa_pattern, + DIPB => dipb_pattern, + ENA => ENA, + ENB => ENB, + SSRA => RSTA, + SSRB => RSTB, + WEA => wea_pattern, + WEB => web_pattern, + DOA => doa_pattern, + DOB => dob_pattern, + DOPA => dopa_pattern, + DOPB => dopb_pattern, + CASCADEOUTLATA => OPEN, + CASCADEOUTLATB => OPEN, + CASCADEOUTREGA => OPEN, + CASCADEOUTREGB => OPEN, + CASCADEINLATA => '0', + CASCADEINLATB => '0', + CASCADEINREGA => '0', + CASCADEINREGB => '0', + REGCEA => REGCEA, + REGCEB => REGCEB + ); + end generate ramb36_dp; + + end generate ramb_v5; + -- end generate virtex5 + -- begin generate virtex6 + ramb_bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + ramb18_dp_bl : if BRAM_SIZE = "18Kb" generate + begin + + ram18_bl : RAMB18E1 + generic map( + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + RAM_MODE => "TDP", + READ_WIDTH_A => rd_a_width, + READ_WIDTH_B => rd_b_width, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B, + WRITE_WIDTH_A => wr_a_width, + WRITE_WIDTH_B => wr_b_width + ) + port map ( + ADDRARDADDR => addra_pattern, + ADDRBWRADDR => addrb_pattern, + CLKARDCLK => CLKA, + CLKBWRCLK => CLKB, + DIADI => dia_pattern, + DIBDI => dib_pattern, + DIPADIP => dipa_pattern, + DIPBDIP => dipb_pattern, + ENARDEN => ENA, + ENBWREN => ENB, + REGCEAREGCE => REGCEA, + REGCEB => REGCEB, + RSTRAMARSTRAM => rstrama_pattern, + RSTREGARSTREG => rstrega_pattern, + RSTRAMB => rstramb_pattern, + RSTREGB => rstregb_pattern, + WEA => wea_pattern, + WEBWE => web_pattern_bl , + DOADO => doa_pattern, + DOBDO => dob_pattern, + DOPADOP => dopa_pattern, + DOPBDOP => dopb_pattern + ); + + end generate ramb18_dp_bl; + + ramb36_dp_bl : if BRAM_SIZE = "36Kb" generate + begin + ram36_bl : RAMB36E1 + generic map ( + + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_FILE => INIT_FILE, + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INIT_40 => INIT_40, + INIT_41 => INIT_41, + INIT_42 => INIT_42, + INIT_43 => INIT_43, + INIT_44 => INIT_44, + INIT_45 => INIT_45, + INIT_46 => INIT_46, + INIT_47 => INIT_47, + INIT_48 => INIT_48, + INIT_49 => INIT_49, + INIT_4A => INIT_4A, + INIT_4B => INIT_4B, + INIT_4C => INIT_4C, + INIT_4D => INIT_4D, + INIT_4E => INIT_4E, + INIT_4F => INIT_4F, + INIT_50 => INIT_50, + INIT_51 => INIT_51, + INIT_52 => INIT_52, + INIT_53 => INIT_53, + INIT_54 => INIT_54, + INIT_55 => INIT_55, + INIT_56 => INIT_56, + INIT_57 => INIT_57, + INIT_58 => INIT_58, + INIT_59 => INIT_59, + INIT_5A => INIT_5A, + INIT_5B => INIT_5B, + INIT_5C => INIT_5C, + INIT_5D => INIT_5D, + INIT_5E => INIT_5E, + INIT_5F => INIT_5F, + INIT_60 => INIT_60, + INIT_61 => INIT_61, + INIT_62 => INIT_62, + INIT_63 => INIT_63, + INIT_64 => INIT_64, + INIT_65 => INIT_65, + INIT_66 => INIT_66, + INIT_67 => INIT_67, + INIT_68 => INIT_68, + INIT_69 => INIT_69, + INIT_6A => INIT_6A, + INIT_6B => INIT_6B, + INIT_6C => INIT_6C, + INIT_6D => INIT_6D, + INIT_6E => INIT_6E, + INIT_6F => INIT_6F, + INIT_70 => INIT_70, + INIT_71 => INIT_71, + INIT_72 => INIT_72, + INIT_73 => INIT_73, + INIT_74 => INIT_74, + INIT_75 => INIT_75, + INIT_76 => INIT_76, + INIT_77 => INIT_77, + INIT_78 => INIT_78, + INIT_79 => INIT_79, + INIT_7A => INIT_7A, + INIT_7B => INIT_7B, + INIT_7C => INIT_7C, + INIT_7D => INIT_7D, + INIT_7E => INIT_7E, + INIT_7F => INIT_7F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INITP_08 => INITP_08, + INITP_09 => INITP_09, + INITP_0A => INITP_0A, + INITP_0B => INITP_0B, + INITP_0C => INITP_0C, + INITP_0D => INITP_0D, + INITP_0E => INITP_0E, + INITP_0F => INITP_0F, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => sim_device_dp, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + READ_WIDTH_A => rd_a_width, + READ_WIDTH_B => rd_b_width, + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B, + WRITE_WIDTH_A => wr_a_width, + WRITE_WIDTH_B => wr_b_width + + ) + port map ( + ADDRARDADDR => addra_pattern, + ADDRBWRADDR => addrb_pattern, + CASCADEINA => '0', + CASCADEINB => '0', + CLKARDCLK => CLKA, + CLKBWRCLK => CLKB, + DIADI => dia_pattern, + DIBDI => dib_pattern, + DIPADIP => dipa_pattern, + DIPBDIP => dipb_pattern, + ENARDEN => ENA, + ENBWREN => ENB, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + REGCEAREGCE => REGCEA, + REGCEB => REGCEB, + RSTRAMARSTRAM => rstrama_pattern, + RSTREGARSTREG => rstrega_pattern, + RSTRAMB => rstramb_pattern, + RSTREGB => rstregb_pattern, + WEA => wea_pattern, + WEBWE => web_pattern_bl, + CASCADEOUTA => OPEN, + CASCADEOUTB => OPEN, + DBITERR => OPEN, + DOADO => doa_pattern, + DOBDO => dob_pattern, + DOPADOP => dopa_pattern, + DOPBDOP => dopb_pattern, + ECCPARITY => OPEN, + RDADDRECC => OPEN, + SBITERR => OPEN + ); + end generate ramb36_dp_bl; + + end generate ramb_bl; + -- end generate virtex6 + -- begin generate spartan6 + +ramb_st : if DEVICE = "SPARTAN6" generate + ramb9_dp_st : if BRAM_SIZE = "9Kb" generate + begin + + ram9_st : RAMB8BWER + generic map( + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INIT_FILE => INIT_FILE, + DATA_WIDTH_A => rd_a_width, + DATA_WIDTH_B => rd_b_width, + RAM_MODE => "TDP", + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B + ) + port map ( + ADDRAWRADDR => addra_pattern, + ADDRBRDADDR => addrb_pattern, + CLKAWRCLK => CLKA, + CLKBRDCLK => CLKB, + DIADI => dia_pattern, + DIBDI => dib_pattern, + DIPADIP => dipa_pattern, + DIPBDIP => dipb_pattern, + ENAWREN => ENA, + ENBRDEN => ENB, + REGCEA => REGCEA, + REGCEBREGCE => REGCEB, + RSTA => RSTA, + RSTBRST => RSTB, + WEAWEL => wea_pattern, + WEBWEU => web_pattern , + DOADO => doa_pattern, + DOBDO => dob_pattern, + DOPADOP => dopa_pattern, + DOPBDOP => dopb_pattern + ); + + end generate ramb9_dp_st; + + ramb18_dp_st : if BRAM_SIZE = "18Kb" generate + begin + ram18_st : RAMB16BWER + generic map ( + + DOA_REG => DOA_REG, + DOB_REG => DOB_REG, + INIT_A => INIT_SRVAL_parity_byte(padded_init_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + INIT_B => INIT_SRVAL_parity_byte(padded_init_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + INIT_00 => INIT_00, + INIT_01 => INIT_01, + INIT_02 => INIT_02, + INIT_03 => INIT_03, + INIT_04 => INIT_04, + INIT_05 => INIT_05, + INIT_06 => INIT_06, + INIT_07 => INIT_07, + INIT_08 => INIT_08, + INIT_09 => INIT_09, + INIT_0A => INIT_0A, + INIT_0B => INIT_0B, + INIT_0C => INIT_0C, + INIT_0D => INIT_0D, + INIT_0E => INIT_0E, + INIT_0F => INIT_0F, + INIT_10 => INIT_10, + INIT_11 => INIT_11, + INIT_12 => INIT_12, + INIT_13 => INIT_13, + INIT_14 => INIT_14, + INIT_15 => INIT_15, + INIT_16 => INIT_16, + INIT_17 => INIT_17, + INIT_18 => INIT_18, + INIT_19 => INIT_19, + INIT_1A => INIT_1A, + INIT_1B => INIT_1B, + INIT_1C => INIT_1C, + INIT_1D => INIT_1D, + INIT_1E => INIT_1E, + INIT_1F => INIT_1F, + INIT_20 => INIT_20, + INIT_21 => INIT_21, + INIT_22 => INIT_22, + INIT_23 => INIT_23, + INIT_24 => INIT_24, + INIT_25 => INIT_25, + INIT_26 => INIT_26, + INIT_27 => INIT_27, + INIT_28 => INIT_28, + INIT_29 => INIT_29, + INIT_2A => INIT_2A, + INIT_2B => INIT_2B, + INIT_2C => INIT_2C, + INIT_2D => INIT_2D, + INIT_2E => INIT_2E, + INIT_2F => INIT_2F, + INIT_30 => INIT_30, + INIT_31 => INIT_31, + INIT_32 => INIT_32, + INIT_33 => INIT_33, + INIT_34 => INIT_34, + INIT_35 => INIT_35, + INIT_36 => INIT_36, + INIT_37 => INIT_37, + INIT_38 => INIT_38, + INIT_39 => INIT_39, + INIT_3A => INIT_3A, + INIT_3B => INIT_3B, + INIT_3C => INIT_3C, + INIT_3D => INIT_3D, + INIT_3E => INIT_3E, + INIT_3F => INIT_3F, + INITP_00 => INITP_00, + INITP_01 => INITP_01, + INITP_02 => INITP_02, + INITP_03 => INITP_03, + INITP_04 => INITP_04, + INITP_05 => INITP_05, + INITP_06 => INITP_06, + INITP_07 => INITP_07, + INIT_FILE => INIT_FILE, + SIM_COLLISION_CHECK => SIM_COLLISION_CHECK, + SIM_DEVICE => "SPARTAN6", + SRVAL_A => INIT_SRVAL_parity_byte(padded_srval_a, read_a_p, write_a_p, READ_WIDTH_A, init_srval_width_size), + SRVAL_B => INIT_SRVAL_parity_byte(padded_srval_b, read_b_p, write_b_p, READ_WIDTH_B, init_srval_width_size), + DATA_WIDTH_A => rd_a_width, + DATA_WIDTH_B => rd_b_width, + WRITE_MODE_A => WRITE_MODE_A, + WRITE_MODE_B => WRITE_MODE_B + + ) + port map ( + ADDRA => addra_pattern, + ADDRB => addrb_pattern, + CLKA => CLKA, + CLKB => CLKB, + DIA => dia_pattern, + DIB => dib_pattern, + DIPA => dipa_pattern, + DIPB => dipb_pattern, + ENA => ENA, + ENB => ENB, + REGCEA => REGCEA, + REGCEB => REGCEB, + RSTA => RSTA, + RSTB => RSTB, + WEA => wea_pattern, + WEB => web_pattern, + DOA => doa_pattern, + DOB => dob_pattern, + DOPA => dopa_pattern, + DOPB => dopb_pattern + ); + end generate ramb18_dp_st; + + end generate ramb_st; + -- end generate spartan6 + +end bram_V; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_LOAD_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_LOAD_MACRO.vhd new file mode 100644 index 0000000..b868f32 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_LOAD_MACRO.vhd @@ -0,0 +1,329 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2008 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : COUNTER_LOAD_MACRO.vhd +-- \ \ / \ Timestamp : Fri April 18 2008 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 04/18/08 - Initial version. +-- End Revision + +----- CELL COUNTER_LOAD_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + +entity COUNTER_LOAD_MACRO is + generic ( + COUNT_BY : std_logic_vector := X"000000000001"; + DEVICE : string := "VIRTEX5"; + STYLE : string := "AUTO"; + WIDTH_DATA : integer := 48 + ); + + port ( + Q : out std_logic_vector(WIDTH_DATA-1 downto 0); + CE : in std_logic; + CLK : in std_logic; + DIRECTION : in std_logic; + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_DATA-1 downto 0); + RST : in std_logic + ); +end entity COUNTER_LOAD_MACRO; + +architecture counter of COUNTER_LOAD_MACRO is + + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckStyle ( + style : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (style = "AUTO" or style = "DSP" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute STYLE : ") ); + write ( Message, STYLE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" AUTO, DSP ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidth ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 48 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_DATA : ") ); + write ( Message, WIDTH_DATA); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 48 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + + function GetOPMODE_IN ( + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_width := 7; + elsif (DEVICE = "SPARTAN6") then + func_width := 8; + else + func_width := 8; + end if; + return func_width; + end; + + constant OPMODE_WIDTH : integer := GetOPMODE_IN(DEVICE); + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkStyle : boolean := CheckStyle(STYLE); + constant ChkWidth : boolean := CheckWidth(WIDTH_DATA); + +--Signal Declarations: + signal OPMODE_IN : std_logic_vector((OPMODE_WIDTH-1) downto 0); + signal ALUMODE_IN : std_logic_vector(3 downto 0); + signal CNTR_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal COUNT_BY_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal LOAD_DATA_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal D_INST : std_logic_vector(17 downto 0) := "000000000000000000"; + + +-- Architecture Section: instantiation +begin + + v : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + OPMODE_IN <= ("01" & LOAD & "00" & (not LOAD) & (not LOAD) ); + end generate v; + + s : if (DEVICE = "SPARTAN6") generate + OPMODE_IN <= (not DIRECTION) & (not DIRECTION) & "001" & LOAD & "11"; + end generate s; + + Q <= CNTR_OUT(WIDTH_DATA-1 downto 0); + + load1 : if (WIDTH_DATA = 48) generate + begin + LOAD_DATA_IN <= LOAD_DATA; + end generate load1; + load2 : if (WIDTH_DATA < 48) generate + begin + l1: for i in 47 downto WIDTH_DATA generate + LOAD_DATA_IN(i) <= '0'; + end generate; + LOAD_DATA_IN(WIDTH_DATA-1 downto 0) <= LOAD_DATA; + end generate load2; + + ALUMODE_IN <= "00" & (not DIRECTION) & (not DIRECTION); + COUNT_BY_IN <= COUNT_BY; + + D_INST <= "000000" & COUNT_BY_IN(47 downto 36); + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + begin + DSP48E_1: DSP48E + generic map ( + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => CNTR_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => COUNT_BY_IN(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => COUNT_BY_IN(17 downto 0), + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => '0', + CEA2 => CE, + CEALUMODE => CE, + CEB1 => '0', + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => '0', + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); +end generate v5; + -- end generate virtex5 + -- begin generate virtex6 +bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_2: DSP48E1 + generic map ( + DREG => 0, + ADREG => 0, + MREG => 0, + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => CNTR_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => COUNT_BY_IN(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => COUNT_BY_IN(17 downto 0), + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => '0', + CEA2 => CE, + CEAD => '0', + CEALUMODE => CE, + CEB1 => '0', + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => '0', + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); +end generate bl; + -- end generate virtex6 + -- begin generate spartan6 + st : if DEVICE = "SPARTAN6" generate + begin + DSP48E_3: DSP48A1 + port map ( + BCOUT => open, + CARRYOUT => open, + CARRYOUTF => open, + M => open, + P => CNTR_OUT, + PCOUT => open, + A => COUNT_BY_IN(35 downto 18), + B => COUNT_BY_IN(17 downto 0), + C => LOAD_DATA_IN, + CARRYIN => '0', + CEA => CE, + CEB => CE, + CEC => CE, + CECARRYIN => CE, + CED => CE, + CEM => '0', + CEOPMODE => CE, + CEP => CE, + CLK => CLK, + D => D_INST, + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTB => RST, + RSTC => RST, + RSTCARRYIN => RST, + RSTD => RST, + RSTM => RST, + RSTOPMODE => RST, + RSTP => RST + ); + end generate st; + -- end generate spartan6 + +end counter; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_TC_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_TC_MACRO.vhd new file mode 100644 index 0000000..afb5675 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/COUNTER_TC_MACRO.vhd @@ -0,0 +1,301 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : COUNTER_TC_MACRO.vhd +-- \ \ / \ Timestamp : Fri April 18 2008 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 06/08/08 - Initial version. +-- 01/04/12 - Fix for CR 639887 +-- End Revision + +----- CELL COUNTER_TC_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + +entity COUNTER_TC_MACRO is + generic ( + COUNT_BY : std_logic_vector := X"000000000001"; + DEVICE : string := "VIRTEX5"; + DIRECTION : string := "UP"; + RESET_UPON_TC : string := "FALSE"; + STYLE : string := "AUTO"; + TC_VALUE : std_logic_vector := X"000000000000"; + WIDTH_DATA : integer := 48 + ); + + port ( + Q : out std_logic_vector(WIDTH_DATA-1 downto 0); + TC : out std_logic; + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end entity COUNTER_TC_MACRO; + +architecture count of COUNTER_TC_MACRO is + + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckStyle ( + style : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (style = "AUTO" or style = "DSP" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute STYLE : ") ); + write ( Message, STYLE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" AUTO, DSP ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidth ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 48 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_DATA : ") ); + write ( Message, WIDTH_DATA); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 48 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + + function CheckReset ( + reset : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (reset = "TRUE" or reset = "FALSE" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute RESET_UPON_TC : ") ); + write ( Message, STYLE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" TRUE or FALSE ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + + function GetDirection ( + dir : in string + ) return std_logic is + variable func_val : std_logic; + variable Message : LINE; + begin + if (DIRECTION = "UP") then + func_val := '0'; + elsif (DIRECTION = "DOWN") then + func_val := '1'; + else + write( Message, STRING'("Illegal value of Attribute DIRECTION : ") ); + write ( Message, DIRECTION); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" UP or DOWN ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + + +--Signal Declarations: + + signal ALUMODE_IN : std_logic_vector(3 downto 0); + signal OPMODE_IN : std_logic_vector(6 downto 0); + signal CNTR_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal COUNT_BY_INP : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal Q_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal TC_INT : std_logic; + + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkStyle : boolean := CheckStyle(STYLE); + constant ChkWidth : boolean := CheckWidth(WIDTH_DATA); + constant ChkReset : boolean := CheckReset(RESET_UPON_TC); + constant ADD_SUB : std_logic := GetDirection(DIRECTION); + +-- Architecture Section: instantiation +begin + + t1 : TC_INT <= '1' when ( CNTR_OUT = (TC_VALUE -1) and RST = '0') else '0'; + t2 : TC <= '1' when ( CNTR_OUT = TC_VALUE and RST = '0') else '0'; + op : OPMODE_IN <= ('0' & (not TC_INT) & "000" & (not TC_INT) & (not TC_INT) ) when (RESET_UPON_TC = "TRUE") else "0100011"; + Q <= Q_IN(WIDTH_DATA-1 downto 0) when (RST = '1' or (RESET_UPON_TC = "TRUE" and CNTR_OUT = (TC_VALUE+1))) else CNTR_OUT(WIDTH_DATA-1 downto 0); + + ALUMODE_IN <= "00" & ADD_SUB & ADD_SUB; + COUNT_BY_INP <= COUNT_BY; + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + begin + DSP48E_1: DSP48E + generic map ( + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => CNTR_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => COUNT_BY_INP(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => COUNT_BY_INP(17 downto 0), + BCIN => "000000000000000000", + C => "000000000000000000000000000000000000000000000000", + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => '0', + CEA2 => CE, + CEALUMODE => CE, + CEB1 => '0', + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => '0', + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); +end generate v5; + -- end generate virtex5 + -- begin generate virtex6 +bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_2: DSP48E1 + generic map ( + DREG => 0, + ADREG => 0, + MREG => 0, + USE_MULT => "NONE") + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => CNTR_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => COUNT_BY_INP(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => COUNT_BY_INP(17 downto 0), + BCIN => "000000000000000000", + C => "000000000000000000000000000000000000000000000000", + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => '0', + CEA2 => CE, + CEAD => '0', + CEALUMODE => CE, + CEB1 => '0', + CEB2 => CE, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => '0', + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); +end generate bl; + -- end generate virtex6 +end count; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/EQ_COMPARE_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/EQ_COMPARE_MACRO.vhd new file mode 100644 index 0000000..983be7a --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/EQ_COMPARE_MACRO.vhd @@ -0,0 +1,368 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2015 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 2015.3 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : EQ_COMPARE_MACRO.vhd +-- \ \ / \ +-- \___\/\___\ +-- +-- Revision: +-- 04/04/08 - Initial version. +-- 04/09/15 - 852167 - align with verilog +-- End Revision + +----- CELL EQ_COMPARE_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + +entity EQ_COMPARE_MACRO is + generic ( + DEVICE : string := "VIRTEX6"; + LATENCY : integer := 2; + MASK : bit_vector := X"000000000000"; + SEL_MASK : string := "MASK"; + SEL_PATTERN : string := "DYNAMIC_PATTERN"; + STATIC_PATTERN : bit_vector := X"000000000000"; + WIDTH : integer := 48 + ); + + port ( + Q : out std_logic; + CE : in std_logic; + CLK : in std_logic; + DATA_IN : in std_logic_vector(WIDTH-1 downto 0); + DYNAMIC_PATTERN : in std_logic_vector(WIDTH-1 downto 0); + RST : in std_logic + ); +end entity EQ_COMPARE_MACRO; + +architecture compare of EQ_COMPARE_MACRO is + + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetSelPattern ( + sel_pat : in string + ) return string is + variable Message : LINE; + begin + if (sel_pat = "STATIC_PATTERN") then + return "PATTERN"; + elsif (sel_pat = "DYNAMIC_PATTERN") then + return "C"; + else + write( Message, STRING'("Illegal value of Attribute SEL_PATTERN : ") ); + write ( Message, SEL_PATTERN); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" STATIC_PATTERN, DYNAMIC_PATTERN ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return "PATTERN"; + end if; + end; + function GetSelMask ( + sel_mas : in string + ) return string is + variable Message : LINE; + begin + if (sel_mas = "MASK" ) then + return "MASK"; + elsif (sel_mas = "DYNAMIC_PATTERN") then + return "C"; + else + write( Message, STRING'("Illegal value of Attribute SEL_MASK : ") ); + write ( Message, SEL_MASK); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" MASK, DYNAMIC_PATTERN ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return "MASK"; + end if; + end; + function CheckWidth ( + width : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (width > 0 and width <= 48 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH : ") ); + write ( Message, WIDTH); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 48 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetABREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 ) then + func_width := 1; + elsif (LATENCY = 3 ) then + func_width := 2; + else + func_width := 0; + end if; + return func_width; + end; + function GetCREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 2 or LATENCY = 3 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetQREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 1 or LATENCY = 2 or LATENCY = 3) then + func_width := 1; + elsif (LATENCY = 0) then + func_width := 0; + else + func_width := 0; + write( Message, STRING'("Illegal value of Attribute LATENCY : ") ); + write ( Message, LATENCY); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 0 to 3 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_width; + end; + + +--Signal Declarations: + + signal DYNAMIC_PATTERN_INP : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal DATA_INP : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal CEA1_IN : std_logic; + signal CEA2_IN : std_logic; + signal CEB1_IN : std_logic; + signal CEB2_IN : std_logic; + + constant AREG_IN : integer := GetABREG_IN(LATENCY); + constant BREG_IN : integer := GetABREG_IN(LATENCY); + constant CREG_IN : integer := GetCREG_IN(LATENCY); + constant QREG : integer := GetQREG_IN(LATENCY); + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant SEL_PATTERN_IN : string := GetSelPattern(SEL_PATTERN); + constant SEL_MASK_IN : string := GetSelMask(SEL_MASK); + constant ChkWidth : boolean := CheckWidth(WIDTH); + +-- Architecture Section: instantiation +begin + + CEA1_IN <= CE when (AREG_IN = 2) else '0'; + CEA2_IN <= CE when (AREG_IN = 1 or AREG_IN = 2) else '0'; + CEB1_IN <= CE when (BREG_IN = 2) else '0'; + CEB2_IN <= CE when (BREG_IN = 1 or BREG_IN = 2) else '0'; + + inps1 : if (WIDTH = 48) generate + begin + DATA_INP <= DATA_IN; + DYNAMIC_PATTERN_INP <= DYNAMIC_PATTERN; + end generate inps1; + inps2 : if (WIDTH < 48) generate + begin + i1: for i in 47 downto WIDTH generate + DATA_INP(i) <= '0'; + DYNAMIC_PATTERN_INP(i) <= '0'; + end generate; + DATA_INP(WIDTH-1 downto 0) <= DATA_IN(WIDTH-1 downto 0); + DYNAMIC_PATTERN_INP(WIDTH-1 downto 0) <= DYNAMIC_PATTERN(WIDTH-1 downto 0); + end generate inps2; + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + begin + DSP48E_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + CREG => CREG_IN, + MASK => MASK, + PATTERN => STATIC_PATTERN, + PREG => QREG, + SEL_MASK => SEL_MASK_IN, + SEL_PATTERN => SEL_PATTERN_IN, + USE_MULT => "NONE", + USE_PATTERN_DETECT => "PATDET" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => open, + PATTERNBDETECT => open, + PATTERNDETECT => Q, + PCOUT => open, + UNDERFLOW => open, + A => DATA_INP(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => DATA_INP(17 downto 0), + BCIN => "000000000000000000", + C => DYNAMIC_PATTERN_INP, + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => '0', + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => "0000011", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); +end generate v5; + -- end generate virtex5 + -- begin generate virtex6 +bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_2: DSP48E1 + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + ADREG => 0, + BCASCREG => BREG_IN, + BREG => BREG_IN, + CREG => CREG_IN, + DREG => 0, + MREG => 0, + MASK => MASK, + PATTERN => STATIC_PATTERN, + PREG => QREG, + SEL_MASK => SEL_MASK_IN, + SEL_PATTERN => SEL_PATTERN_IN, + USE_MULT => "NONE", + USE_PATTERN_DETECT => "PATDET" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => open, + PATTERNBDETECT => open, + PATTERNDETECT => Q, + PCOUT => open, + UNDERFLOW => open, + A => DATA_INP(47 downto 18), + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => DATA_INP(17 downto 0), + BCIN => "000000000000000000", + C => DYNAMIC_PATTERN_INP, + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEAD => '0', + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => '0', + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => "0000011", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); +end generate bl; + -- end generate virtex6 + +end compare; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_DUALCLOCK_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_DUALCLOCK_MACRO.vhd new file mode 100644 index 0000000..a9eaa4f --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_DUALCLOCK_MACRO.vhd @@ -0,0 +1,930 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for FIFO +-- /___/ /\ Filename : FIFO_DUALCLOCK_MACRO.vhd +-- \ \ / \ Timestamp : Fri April 18 2008 10:43:59 PST 2006 +-- \___\/\___\ +-- +-- Revision: +-- 04/04/08 - Initial version. +-- 08/09/11 - Fixed CR 620349 +-- 01/11/12 - 639772, 604428 -Constrain DI, DO, add width checking. +-- End Revision + +----- CELL FIFO_DUALCLOCK_MACRO ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.numeric_std.all; + +library unisim; +use unisim.VCOMPONENTS.all; + +library unimacro; +use unimacro.VCOMPONENTS.all; + +library STD; +use STD.TEXTIO.ALL; + +entity FIFO_DUALCLOCK_MACRO is + + generic ( + ALMOST_FULL_OFFSET : bit_vector := X"0080"; + ALMOST_EMPTY_OFFSET : bit_vector := X"0080"; + DATA_WIDTH : integer := 4; + DEVICE : string := "VIRTEX5"; + FIFO_SIZE : string := "18Kb"; + FIRST_WORD_FALL_THROUGH : boolean := FALSE; + INIT : bit_vector := X"000000000000000000"; -- This parameter is valid only for Virtex6 + SRVAL : bit_vector := X"000000000000000000"; -- This parameter is valid only for Virtex6 + SIM_MODE : string := "SAFE" -- This parameter is valid only for Virtex5 + ); + port( + ALMOSTEMPTY : out std_logic; + ALMOSTFULL : out std_logic; + DO : out std_logic_vector(DATA_WIDTH-1 downto 0); + EMPTY : out std_logic; + FULL : out std_logic; + RDCOUNT : out std_logic_vector(xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + RDERR : out std_logic; + WRCOUNT : out std_logic_vector(xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + WRERR : out std_logic; + + DI : in std_logic_vector(DATA_WIDTH-1 downto 0); + RDCLK : in std_logic; + RDEN : in std_logic; + RST : in std_logic; + WRCLK : in std_logic; + WREN : in std_logic + ); + + end entity FIFO_DUALCLOCK_MACRO; + + architecture fifo_V of FIFO_DUALCLOCK_MACRO is + + function GetDWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 0|1|2|3|4 => func_width := 4; + if(d_width = 0) then + write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => func_width := 32; + when 37 to 72 => if(func_fifo_size = "18Kb") then + write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". Legal values of this attribute for FIFO_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + else + func_width := 64; + end if; + when others => write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for FIFO_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 72 for FIFO_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + func_width := 64; + end case; + else + func_width := 64; + end if; + return func_width; + end; + function GetD_Size ( + d_size : in integer; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_size is + when 0|1|2|3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 9; + when 10 to 18 => func_width := 18; + when 19 to 36 => func_width := 36; + when 37 to 72 => func_width := 72; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetDIPWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 0; + end case; + else + func_width := 0; + end if; + return func_width; + end; + function GetDOPWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetCOUNTWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(fifo_size = "18Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 12; + when 5|6|7|8|9 => func_width := 11; + when 10 to 18 => func_width := 10; + when 19 to 36 => func_width := 9; + when others => func_width := 12; + end case; + elsif(fifo_size = "36Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 13; + when 5|6|7|8|9 => func_width := 12; + when 10 to 18 => func_width := 11; + when 19 to 36 => func_width := 10; + when 37 to 72 => func_width := 9; + when others => func_width := 13; + end case; + end if; + else + func_width := 13; + end if; + return func_width; + end; + + function GetMaxDWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 16; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 64; + else + func_width := 64; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 64; + else + func_width := 64; + end if; -- end b1 + else + func_width := 64; + end if; + return func_width; + end; + function GetMaxDPWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 2; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 8; + else + func_width := 8; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 8; + else + func_width := 8; + end if; -- end b2 + + else + func_width := 8; + end if; + return func_width; + end; + function GetFinalWidth ( + d_width : in integer + ) return integer is + variable func_least_width : integer; + begin + if (d_width = 0) then + func_least_width := 1; + else + func_least_width := d_width; + end if; + return func_least_width; + end; + function GetMaxCOUNTWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 12; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 9; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 13; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 9; + else + func_width := 13; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 12; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 13; + else + func_width := 13; + end if; -- end b3 + else + func_width := 13; + end if; + return func_width; + end; + + function GetFIFOSize ( + fifo_size : in string; + device : in string + ) return boolean is + variable fifo_val : boolean; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if fifo_size = "18Kb" or fifo_size = "36Kb" then + fifo_val := TRUE; + else + fifo_val := FALSE; + write( Message, STRING'("Illegal value of Attribute FIFO_SIZE : ") ); + write ( Message, FIFO_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 18Kb or 36Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + else + fifo_val := FALSE; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Allowed values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return fifo_val; + end; + + function GetD_P ( + dw : in integer; + device : in string + ) return boolean is + variable dp : boolean; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if dw = 9 or dw = 17 or dw = 18 or dw = 33 or dw = 34 or dw = 35 or dw = 36 or dw = 65 or dw = 66 or dw = 67 or dw = 68 or dw = 69 or dw = 70 or dw = 71 or dw = 72 then + dp := TRUE; + else + dp := FALSE; + end if; + else + dp := FALSE; + end if; + return dp; + end; + + function GetSIMDev ( + device : in string + ) return string is + begin + if(DEVICE = "VIRTEX6") then + return "VIRTEX6"; + else + return "7SERIES"; + end if; + end; + + function CheckRDCOUNT ( + d_width : in integer; + fifo_size : in string; + device : in string; + rd_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if(fifo_size = "18Kb") then + if ((d_width > 0 and d_width <= 4) and rd_vec /= 12) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >4 and d_width <= 9) and rd_vec /= 11) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and rd_vec /= 10) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >19 and d_width <=36) and rd_vec /= 9) then + write( Message, STRING'(" .RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + elsif(fifo_size = "36Kb") then + if ((d_width > 0 and d_width <= 4) and rd_vec /= 13) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 13 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width > 4 and d_width <= 9) and rd_vec /= 12) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and rd_vec /= 11) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >18 and d_width <=36) and rd_vec /= 10) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >36 and d_width <=72) and rd_vec /= 9) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + else + return true; + end if; + end; + + function CheckWRCOUNT ( + d_width : in integer; + fifo_size : in string; + device : in string; + wr_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if(fifo_size = "18Kb") then + if ((d_width > 0 and d_width <= 4) and wr_vec /= 12) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >4 and d_width <= 9) and wr_vec /= 11) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and wr_vec /= 10) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >19 and d_width <=36) and wr_vec /= 9) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + elsif(fifo_size = "36Kb") then + if ((d_width > 0 and d_width <= 4) and wr_vec /= 13) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 13 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width > 4 and d_width <= 9) and wr_vec /= 12) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and wr_vec /= 11) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >18 and d_width <=36) and wr_vec /= 10) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >36 and d_width <=72) and wr_vec /= 9) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + else + return true; + end if; + end; + + constant fifo_size_val : boolean := GetFIFOSize(FIFO_SIZE, DEVICE); + constant data_p : boolean := GetD_P(DATA_WIDTH, DEVICE); + constant count_width : integer := GetCOUNTWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant d_width : integer := GetDWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant d_size : integer := GetD_Size(DATA_WIDTH, DEVICE); + constant dip_width : integer := GetDIPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant dop_width : integer := GetDOPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant fin_width : integer := GetFinalWidth(DATA_WIDTH); + constant sim_device_dp : string := GetSIMDev(DEVICE); + constant rdctleng : integer := RDCOUNT'length; + constant wrctleng : integer := WRCOUNT'length; + constant checkrdct : boolean := CheckRDCount(DATA_WIDTH, FIFO_SIZE, DEVICE, rdctleng); + constant checkwrct : boolean := CheckWRCount(DATA_WIDTH, FIFO_SIZE, DEVICE, wrctleng); + + constant max_data_width : integer := GetMaxDWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant max_datap_width : integer := GetMaxDPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant max_count_width : integer := GetMaxCOUNTWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + + signal di_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal do_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal dip_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal dop_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal rdcount_pattern : std_logic_vector(max_count_width-1 downto 0) := (others =>'0'); + signal wrcount_pattern : std_logic_vector(max_count_width-1 downto 0) := (others =>'0'); + + + begin + di1v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + digen1 : if (data_p = TRUE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + dip_pattern(dip_width-1 downto 0) <= DI(fin_width-1 downto d_width) ; + di_pattern (d_width-1 downto 0) <= DI(d_width-1 downto 0); + end generate digen1; + end generate di1v5; + + di2v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + digen2 : if (data_p = FALSE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + di_pattern(fin_width-1 downto 0) <= DI(fin_width-1 downto 0); + end generate digen2; + end generate di2v5; + + do1v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + dogen1 : if (data_p= TRUE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + DO <= (dop_pattern(dop_width-1 downto 0) & do_pattern(d_width-1 downto 0)); + end generate dogen1; + end generate do1v5; + + do2v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + dogen2 : if (data_p= FALSE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + DO <= do_pattern(fin_width-1 downto 0); + end generate dogen2; + end generate do2v5; + + RDCOUNT <= rdcount_pattern(count_width-1 downto 0); + WRCOUNT <= wrcount_pattern(count_width-1 downto 0); + + -- begin generate virtex5 + v5 : if (DEVICE = "VIRTEX5") generate + fifo_18_inst : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH <=18 ) generate + begin + fifo_18_inst : FIFO18 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + RST => RST, + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_18_inst; + + fifo_18_36_inst : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH > 18 and DATA_WIDTH <= 36 ) generate + begin + fifo_18_36_inst : fifo18_36 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DO_REG => 1, + EN_SYN => FALSE, + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + RST => RST, + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_18_36_inst; + + fifo_36_inst : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH <= 36 ) generate + begin + fifo_36_inst : FIFO36 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + RST => RST, + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_36_inst; + + fifo_36_72_inst : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH > 36 and DATA_WIDTH <= 72 ) generate + begin + fifo_36_72_inst : fifo36_72 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DO_REG => 1, + EN_SYN => FALSE, + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + RST => RST, + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_36_72_inst; + end generate v5; + -- end generate virtex5 + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + fifo_18_inst_bl : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH <= 18 ) generate + begin + fifo_18_bl : FIFO18E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIFO_MODE => "FIFO18", + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + INIT => INIT(0 to 35), + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL(0 to 35) + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + REGCE => '1', + RST => RST, + RSTREG => '1', + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_18_inst_bl; + fifo_18_inst_bl_1 : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH > 18 and DATA_WIDTH <= 36 ) generate + begin + fifo_18_bl_1 : FIFO18E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIFO_MODE => "FIFO18_36", + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + INIT => INIT(0 to 35), + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL(0 to 35) + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => RDCLK, + RDEN => RDEN, + REGCE => '1', + RST => RST, + RSTREG => '1', + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_18_inst_bl_1; + fifo_36_inst_bl : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH <= 36 ) generate + begin + fifo_36_bl : FIFO36E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIFO_MODE => "FIFO36", + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + INIT => INIT, + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RDCLK => RDCLK, + RDEN => RDEN, + REGCE => '1', + RST => RST, + RSTREG => '1', + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_36_inst_bl; + fifo_36_inst_bl_1 : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH > 36 and DATA_WIDTH <= 72 ) generate + begin + fifo_36_bl_1 : FIFO36E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => 1, + EN_SYN => FALSE, + FIFO_MODE => "FIFO36_72", + FIRST_WORD_FALL_THROUGH => FIRST_WORD_FALL_THROUGH, + INIT => INIT, + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RDCLK => RDCLK, + RDEN => RDEN, + REGCE => '1', + RST => RST, + RSTREG => '1', + WRCLK => WRCLK, + WREN => WREN + ); + end generate fifo_36_inst_bl_1; + + end generate bl; + -- end generate virtex6 + + end fifo_V; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_SYNC_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_SYNC_MACRO.vhd new file mode 100644 index 0000000..e80bd56 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/FIFO_SYNC_MACRO.vhd @@ -0,0 +1,934 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2007 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 13.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for FIFO +-- /___/ /\ Filename : FIFO_SYNC_MACRO.vhd +-- \ \ / \ Timestamp : Fri April 18 2008 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 04/04/08 - Initial version. +-- 01/11/12 - 639772, 604428 -Constrain DI, DO, add width checking. +-- 03/16/12 - fix for 7series +-- End Revision + +----- CELL FIFO_SYNC_MACRO ----- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.numeric_std.all; + +library unisim; +use unisim.VCOMPONENTS.all; + +library unimacro; +use unimacro.VCOMPONENTS.all; + +library STD; +use STD.TEXTIO.ALL; + +entity FIFO_SYNC_MACRO is + + generic ( + ALMOST_FULL_OFFSET : bit_vector := X"0080"; + ALMOST_EMPTY_OFFSET : bit_vector := X"0080"; + DATA_WIDTH : integer := 4; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + FIFO_SIZE : string := "18Kb"; + INIT : bit_vector := X"000000000000000000"; -- This parameter is valid only for Virtex6 + SRVAL : bit_vector := X"000000000000000000"; -- This parameter is valid only for Virtex6 + SIM_MODE : string := "SAFE" -- This parameter is valid only for Virtex5 + ); + port( + ALMOSTEMPTY : out std_logic; + ALMOSTFULL : out std_logic; + DO : out std_logic_vector(DATA_WIDTH-1 downto 0); + EMPTY : out std_logic; + FULL : out std_logic; + RDCOUNT : out std_logic_vector(xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + RDERR : out std_logic; + WRCOUNT : out std_logic_vector(xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + WRERR : out std_logic; + + CLK : in std_logic; + DI : in std_logic_vector(DATA_WIDTH-1 downto 0); + RDEN : in std_logic; + RST : in std_logic; + WREN : in std_logic + ); + + end entity FIFO_SYNC_MACRO; + + architecture fifo_V of FIFO_SYNC_MACRO is + + function GetDWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 0|1|2|3|4 => func_width := 4; + if(d_width = 0) then + write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". This attribute must atleast be equal to 1 . ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + when 5|6|7|8|9 => func_width := 8; + when 10 to 18 => func_width := 16; + when 19 to 36 => func_width := 32; + when 37 to 72 => if(func_fifo_size = "18Kb") then + write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". Legal values of this attribute for FIFO_SIZE 18Kb are ") ); + write( Message, STRING'(" 1 to 36 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + else + func_width := 64; + end if; + when others => write( Message, STRING'("Illegal value of Attribute DATA_WIDTH : ") ); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 36 for FIFO_SIZE of 18Kb and ") ); + write( Message, STRING'(" 1 to 72 for FIFO_SIZE of 36Kb .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + func_width := 64; + end case; + else + func_width := 64; + end if; + return func_width; + end; + function GetD_Size ( + d_size : in integer; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_size is + when 0|1|2|3|4 => func_width := 4; + when 5|6|7|8|9 => func_width := 9; + when 10 to 18 => func_width := 18; + when 19 to 36 => func_width := 36; + when 37 to 72 => func_width := 72; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetDIPWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 0; + end case; + else + func_width := 0; + end if; + return func_width; + end; + function GetDOPWidth ( + d_width : in integer; + func_fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + case d_width is + when 9 => func_width := 1; + when 17 => func_width := 1; + when 18 => func_width := 2; + when 33 => func_width := 1; + when 34 => func_width := 2; + when 35 => func_width := 3; + when 36 => func_width := 4; + when 65 => func_width := 1; + when 66 => func_width := 2; + when 67 => func_width := 3; + when 68 => func_width := 4; + when 69 => func_width := 5; + when 70 => func_width := 6; + when 71 => func_width := 7; + when 72 => func_width := 8; + when others => func_width := 1; + end case; + else + func_width := 1; + end if; + return func_width; + end; + + function GetCOUNTWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if(fifo_size = "18Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 12; + when 5|6|7|8|9 => func_width := 11; + when 10 to 18 => func_width := 10; + when 19 to 36 => func_width := 9; + when others => func_width := 12; + end case; + elsif(fifo_size = "36Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 13; + when 5|6|7|8|9 => func_width := 12; + when 10 to 18 => func_width := 11; + when 19 to 36 => func_width := 10; + when 37 to 72 => func_width := 9; + when others => func_width := 13; + end case; + end if; + else + func_width := 13; + end if; + return func_width; + end; + + function GetMaxDWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 16; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 64; + else + func_width := 64; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 32; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 64; + else + func_width := 64; + end if; -- end b1 + else + func_width := 64; + end if; + return func_width; + end; + function GetMaxDPWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 2; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 8; + else + func_width := 8; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 4; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 8; + else + func_width := 8; + end if; -- end b2 + else + func_width := 8; + end if; + return func_width; + end; + function GetFinalWidth ( + d_width : in integer + ) return integer is + variable func_least_width : integer; + begin + if (d_width = 0) then + func_least_width := 1; + else + func_least_width := d_width; + end if; + return func_least_width; + end; + function GetMaxCOUNTWidth ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(DEVICE = "VIRTEX5") then + if (fifo_size = "18Kb" and d_width <= 18 ) then + func_width := 12; + elsif (fifo_size = "18Kb" and d_width > 18 and d_width <= 36 ) then + func_width := 9; + elsif (fifo_size = "36Kb" and d_width <= 36 ) then + func_width := 13; + elsif (fifo_size = "36Kb" and d_width > 36 and d_width <= 72 ) then + func_width := 9; + else + func_width := 13; + end if; + elsif(DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (fifo_size = "18Kb" and d_width <= 36 ) then + func_width := 12; + elsif (fifo_size = "36Kb" and d_width <= 72 ) then + func_width := 13; + else + func_width := 13; + end if; -- end b3 + else + func_width := 13; + end if; + return func_width; + end; + + function GetFIFOSize ( + fifo_size : in string; + device : in string + ) return boolean is + variable fifo_val : boolean; + variable Message : LINE; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if fifo_size = "18Kb" or fifo_size = "36Kb" then + fifo_val := TRUE; + else + fifo_val := FALSE; + write( Message, STRING'("Illegal value of Attribute FIFO_SIZE : ") ); + write ( Message, FIFO_SIZE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 18Kb or 36Kb ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + else + fifo_val := FALSE; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Allowed values of this attribute is ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return fifo_val; + end; + + function GetD_P ( + dw : in integer; + device : in string + ) return boolean is + variable dp : boolean; + begin + if(DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if dw = 9 or dw = 17 or dw = 18 or dw = 33 or dw = 34 or dw = 35 or dw = 36 or dw = 65 or dw = 66 or dw = 67 or dw = 68 or dw = 69 or dw = 70 or dw = 71 or dw = 72 then + dp := TRUE; + else + dp := FALSE; + end if; + else + dp := FALSE; + end if; + return dp; + end; + + function GetSIMDev ( + device : in string + ) return string is + begin + if(DEVICE = "VIRTEX6") then + return "VIRTEX6"; + else + return "7SERIES"; + end if; + end; + + function CheckRDCOUNT ( + d_width : in integer; + fifo_size : in string; + device : in string; + rd_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if(fifo_size = "18Kb") then + if ((d_width > 0 and d_width <= 4) and rd_vec /= 12) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >4 and d_width <= 9) and rd_vec /= 11) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and rd_vec /= 10) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >19 and d_width <=36) and rd_vec /= 9) then + write( Message, STRING'(" .RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + elsif(fifo_size = "36Kb") then + if ((d_width > 0 and d_width <= 4) and rd_vec /= 13) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 13 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width > 4 and d_width <= 9) and rd_vec /= 12) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and rd_vec /= 11) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >18 and d_width <=36) and rd_vec /= 10) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >36 and d_width <=72) and rd_vec /= 9) then + write( Message, STRING'("RDCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .RDCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + else + return true; + end if; + end; + + function CheckWRCOUNT ( + d_width : in integer; + fifo_size : in string; + device : in string; + wr_vec : in integer + ) return boolean is + variable Message : LINE; + begin + if(fifo_size = "18Kb") then + if ((d_width > 0 and d_width <= 4) and wr_vec /= 12) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >4 and d_width <= 9) and wr_vec /= 11) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and wr_vec /= 10) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >19 and d_width <=36) and wr_vec /= 9) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + elsif(fifo_size = "36Kb") then + if ((d_width > 0 and d_width <= 4) and wr_vec /= 13) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 13 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width > 4 and d_width <= 9) and wr_vec /= 12) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 12 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >=10 and d_width <=18) and wr_vec /= 11) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 11 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >18 and d_width <=36) and wr_vec /= 10) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 10 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + elsif ((d_width >36 and d_width <=72) and wr_vec /= 9) then + write( Message, STRING'("WRCOUNT port width incorrectly set for DATA_WIDTH : ") ); + write( Message, DATA_WIDTH); + write( Message, STRING'(" .WRCOUNT must be of width 9 .") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + return false; + else + return true; + end if; + else + return true; + end if; + end; + + constant fifo_size_val : boolean := GetFIFOSize(FIFO_SIZE, DEVICE); + constant data_p : boolean := GetD_P(DATA_WIDTH, DEVICE); + constant count_width : integer := GetCOUNTWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant d_width : integer := GetDWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant d_size : integer := GetD_Size(DATA_WIDTH, DEVICE); + constant dip_width : integer := GetDIPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant dop_width : integer := GetDOPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant fin_width : integer := GetFinalWidth(DATA_WIDTH); + constant sim_device_dp : string := GetSIMDev(DEVICE); + constant rdctleng : integer := RDCOUNT'length; + constant wrctleng : integer := WRCOUNT'length; + constant checkrdct : boolean := CheckRDCOUNT(DATA_WIDTH, FIFO_SIZE, DEVICE, rdctleng); + constant checkwrct : boolean := CheckWRCOUNT(DATA_WIDTH, FIFO_SIZE, DEVICE, wrctleng); + + + constant max_data_width : integer := GetMaxDWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant max_datap_width : integer := GetMaxDPWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + constant max_count_width : integer := GetMaxCOUNTWidth(DATA_WIDTH, FIFO_SIZE, DEVICE); + + signal di_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal do_pattern : std_logic_vector(max_data_width-1 downto 0) := (others=>'0'); + signal dip_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal dop_pattern : std_logic_vector(max_datap_width-1 downto 0) := (others=>'0'); + signal rdcount_pattern : std_logic_vector(max_count_width-1 downto 0) := (others =>'0'); + signal wrcount_pattern : std_logic_vector(max_count_width-1 downto 0) := (others =>'0'); + signal regce_pattern : std_logic := '0'; + signal rstreg_pattern : std_logic := '0'; + + begin + di1v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + digen1 : if (data_p = TRUE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + dip_pattern(dip_width-1 downto 0) <= DI(fin_width-1 downto d_width) ; + di_pattern (d_width-1 downto 0) <= DI(d_width-1 downto 0); + end generate digen1; + end generate di1v5; + + di2v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + digen2 : if (data_p = FALSE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + di_pattern(fin_width-1 downto 0) <= DI(fin_width-1 downto 0); + end generate digen2; + end generate di2v5; + + do1v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + dogen1 : if (data_p= TRUE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + DO <= (dop_pattern(dop_width-1 downto 0) & do_pattern(d_width-1 downto 0)); + end generate dogen1; + end generate do1v5; + + do2v5 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + dogen2 : if (data_p= FALSE and ((FIFO_SIZE = "18Kb" and DATA_WIDTH <= 36) or (FIFO_SIZE = "36Kb" and DATA_WIDTH <= 72) ) ) generate + begin + DO <= do_pattern(fin_width-1 downto 0); + end generate dogen2; + end generate do2v5; + + RDCOUNT <= rdcount_pattern(count_width-1 downto 0); + WRCOUNT <= wrcount_pattern(count_width-1 downto 0); + regce_pattern <= '1' when (DO_REG = 1) else '0'; + rstreg_pattern <= '1' when (DO_REG = 1) else '0'; + + -- begin generate virtex5 + v5 : if (DEVICE = "VIRTEX5") generate + fifo_18_inst : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH <=18 ) generate + begin + fifo_18_inst : FIFO18 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIRST_WORD_FALL_THROUGH => FALSE, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + RST => RST, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_18_inst; + + fifo_18_36_inst : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH > 18 and DATA_WIDTH <= 36 ) generate + begin + fifo_18_36_inst : fifo18_36 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIRST_WORD_FALL_THROUGH => FALSE, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + RST => RST, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_18_36_inst; + + fifo_36_inst : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH <= 36 ) generate + begin + fifo_36_inst : FIFO36 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIRST_WORD_FALL_THROUGH => FALSE, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + RST => RST, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_36_inst; + + fifo_36_72_inst : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH > 36 and DATA_WIDTH <= 72 ) generate + begin + fifo_36_72_inst : fifo36_72 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIRST_WORD_FALL_THROUGH => FALSE, + SIM_MODE => SIM_MODE + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + RST => RST, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_36_72_inst; + end generate v5; + -- end generate virtex5 + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + fifo_18_inst_bl : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH <= 18 ) generate + begin + fifo_18_bl : FIFO18E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIFO_MODE => "FIFO18", + FIRST_WORD_FALL_THROUGH => FALSE, + INIT => INIT(0 to 35), + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL(0 to 35) + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + REGCE => regce_pattern, + RST => RST, + RSTREG => rstreg_pattern, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_18_inst_bl; + fifo_18_inst_bl_1 : if ( FIFO_SIZE = "18Kb" and DATA_WIDTH > 18 and DATA_WIDTH <= 36 ) generate + begin + fifo_18_bl_1 : FIFO18E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIFO_MODE => "FIFO18_36", + FIRST_WORD_FALL_THROUGH => FALSE, + INIT => INIT(0 to 35), + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL(0 to 35) + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DO => do_pattern, + DOP => dop_pattern, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + RDCLK => CLK, + RDEN => RDEN, + REGCE => regce_pattern, + RST => RST, + RSTREG => rstreg_pattern, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_18_inst_bl_1; + + fifo_36_inst_bl : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH <= 36 ) generate + begin + fifo_36_bl : FIFO36E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIFO_MODE => "FIFO36", + FIRST_WORD_FALL_THROUGH => FALSE, + INIT => INIT, + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RDCLK => CLK, + RDEN => RDEN, + REGCE => regce_pattern, + RST => RST, + RSTREG => rstreg_pattern, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_36_inst_bl; + fifo_36_inst_bl_1 : if ( FIFO_SIZE = "36Kb" and DATA_WIDTH > 36 and DATA_WIDTH <= 72 ) generate + begin + fifo_36_bl_1 : FIFO36E1 + generic map ( + ALMOST_FULL_OFFSET => ALMOST_FULL_OFFSET, + ALMOST_EMPTY_OFFSET => ALMOST_EMPTY_OFFSET, + DATA_WIDTH => d_size, + DO_REG => DO_REG, + EN_SYN => TRUE, + FIFO_MODE => "FIFO36_72", + FIRST_WORD_FALL_THROUGH => FALSE, + INIT => INIT, + SIM_DEVICE => sim_device_dp, + SRVAL => SRVAL + ) + port map ( + ALMOSTEMPTY => ALMOSTEMPTY, + ALMOSTFULL => ALMOSTFULL, + DBITERR => OPEN, + DO => do_pattern, + DOP => dop_pattern, + ECCPARITY => OPEN, + EMPTY => EMPTY, + FULL => FULL, + RDCOUNT => rdcount_pattern, + RDERR => RDERR, + SBITERR => OPEN, + WRCOUNT => wrcount_pattern, + WRERR => WRERR, + DI => di_pattern, + DIP => dip_pattern, + INJECTDBITERR => '0', + INJECTSBITERR => '0', + RDCLK => CLK, + RDEN => RDEN, + REGCE => regce_pattern, + RST => RST, + RSTREG => rstreg_pattern, + WRCLK => CLK, + WREN => WREN + ); + end generate fifo_36_inst_bl_1; + + + end generate bl; + -- end generate virtex6 + + end fifo_V; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/MACC_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/MACC_MACRO.vhd new file mode 100644 index 0000000..f888dd6 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/MACC_MACRO.vhd @@ -0,0 +1,558 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2015 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 2015.3 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : MACC_MACRO.vhd +-- \ \ / \ +-- \___\/\___\ +-- +-- Revision: +-- 06/06/08 - Initial version. +-- 04/09/15 - 852167 - align with verilog +-- End Revision + +----- CELL MACC_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + + +entity MACC_MACRO is + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 3; + WIDTH_A : integer := 25; + WIDTH_B : integer := 18; + WIDTH_P : integer := 48 + ); + + port ( + P : out std_logic_vector(WIDTH_P-1 downto 0); + A : in std_logic_vector(WIDTH_A-1 downto 0); + ADDSUB : in std_logic; + B : in std_logic_vector(WIDTH_B-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_P-1 downto 0); + RST : in std_logic + ); +end entity MACC_MACRO; + +architecture macc of MACC_MACRO is + + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidthA ( + widtha : in integer; + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (widtha > 0 and widtha <= 25) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_A : ") ); + write ( Message, WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 25 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- begin s1 + else + if (DEVICE = "SPARTAN6" and (widtha > 0 and widtha <= 18)) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_A : ") ); + write ( Message, WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- end s1 + end if; + return func_val; + end; + function CheckWidthB ( + widthb : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (widthb > 0 and widthb <= 18 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_B : ") ); + write ( Message, WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetWidthA ( + device : in string + ) return integer is + variable func_val : integer; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_val := 25; + else + func_val := 18; + end if; + return func_val; + end; + function GetABREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3) then + func_width := 1; + elsif (LATENCY = 4 ) then + func_width := 2; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG1_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3 or LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG0_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + + function GetMREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetPREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 1 or LATENCY = 2 or LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + else + func_width := 0; + write( Message, STRING'("Illegal value of Attribute LATENCY : ") ); + write ( Message, LATENCY); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 4 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_width; + end; + function GetOPMODE_IN ( + device : in string + ) return integer is + variable func_width : integer; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_width := 7; + elsif (DEVICE = "SPARTAN6") then + func_width := 8; + else + func_width := 8; + end if; + return func_width; + end; + + +--Signal Declarations: + + + constant OPMODE_WIDTH : integer := GetOPMODE_IN(DEVICE); + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkWidthA : boolean := CheckWidthA(WIDTH_A, DEVICE); + constant ChkWidthB : boolean := CheckWidthB(WIDTH_B); + constant MaxWidthA : integer := GetWidthA(DEVICE); + constant AREG_IN : integer := GetABREG_IN(LATENCY); + constant BREG_IN : integer := GetABREG_IN(LATENCY); + constant A0REG_IN : integer := GetABREG0_IN(LATENCY); + constant B0REG_IN : integer := GetABREG0_IN(LATENCY); + constant A1REG_IN : integer := GetABREG1_IN(LATENCY); + constant B1REG_IN : integer := GetABREG1_IN(LATENCY); + constant MREG_IN : integer := GetMREG_IN(LATENCY); + constant PREG_IN : integer := GetPREG_IN(LATENCY); + + signal A_INP : std_logic_vector(24 downto 0) := "0000000000000000000000000"; + signal A_IN : std_logic_vector(29 downto 0) := "000000000000000000000000000000"; + signal B_IN : std_logic_vector(17 downto 0) := "000000000000000000"; + signal RESULT_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal LOAD_DATA_IN : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal OPMODE_IN : std_logic_vector((OPMODE_WIDTH-1) downto 0); + signal ALUMODE_IN : std_logic_vector(3 downto 0); + + signal CEA1_IN : std_logic; + signal CEA2_IN : std_logic; + signal CEB1_IN : std_logic; + signal CEB2_IN : std_logic; + + + +-- Architecture Section: instantiation +begin + + CEA1_IN <= CE when (AREG_IN = 2) else '0'; + CEA2_IN <= CE when (AREG_IN = 1 or AREG_IN = 2) else '0'; + CEB1_IN <= CE when (BREG_IN = 2) else '0'; + CEB2_IN <= CE when (BREG_IN = 1 or BREG_IN = 2) else '0'; + + ALUMODE_IN <= "00" & (not (ADDSUB)) & (not (ADDSUB)); + + v : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + OPMODE_IN <= "01" & LOAD & "0101"; + end generate v; + + s : if (DEVICE = "SPARTAN6") generate + OPMODE_IN <= (not (ADDSUB)) & (not (ADDSUB)) & "001" & LOAD & "01"; + end generate s; + + load1 : if (WIDTH_P = 48) generate + begin + LOAD_DATA_IN <= LOAD_DATA; + end generate load1; + load2 : if (WIDTH_P < 48) generate + begin + l1: for i in 47 downto WIDTH_P generate + LOAD_DATA_IN(i) <= '0'; + end generate; + LOAD_DATA_IN(WIDTH_P-1 downto 0) <= LOAD_DATA; + end generate load2; + + multa : if (WIDTH_A = MaxWidthA) generate + begin + A_INP((MaxWidthA-1) downto 0) <= A; + A_IN <= "00000" & A_INP; + end generate multa; + multb : if (WIDTH_B = 18) generate + begin + B_IN <= B; + end generate multb; + multas : if (WIDTH_A < MaxWidthA) generate + begin + sa: for i in (MaxWidthA-1) downto WIDTH_A generate + A_INP(i) <= A((WIDTH_A-1)); + end generate; + A_INP(WIDTH_A-1 downto 0) <= A; + A_IN <= "00000" & A_INP; + end generate multas; + multbs : if (WIDTH_B < 18) generate + begin + sb: for i in 17 downto WIDTH_B generate + B_IN(i) <= B((WIDTH_B-1)); + end generate; + B_IN(WIDTH_B-1 downto 0) <= B; + end generate multbs; + + P <= RESULT_OUT(WIDTH_P-1 downto 0); + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + v5_1 : if ((LATENCY >= 0) and (LATENCY <= 2)) generate + begin + DSP48E_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN, + USE_MULT => "MULT" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_IN, + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => B_IN, + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN, + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => CE, + CEMULTCARRYIN => CE, + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => OPMODE_IN(6 downto 0), + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); + end generate v5_1; + v5_2 : if ((LATENCY =3) or (LATENCY = 4)) generate + begin + DSP48E_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN, + USE_MULT => "MULT_S" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_IN, + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => B_IN, + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN, + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => CE, + CEMULTCARRYIN => CE, + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => OPMODE_IN(6 downto 0), + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); + end generate v5_2; + end generate v5; + -- end generate virtex5 + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_2: DSP48E1 + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_IN, + ACIN => "000000000000000000000000000000", + ALUMODE => ALUMODE_IN, + B => B_IN, + BCIN => "000000000000000000", + C => LOAD_DATA_IN, + CARRYCASCIN => '0', + CARRYIN => CARRYIN, + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEAD => '0', + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => CE, + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => OPMODE_IN(6 downto 0), + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); + end generate bl; + -- end generate virtex6 + -- begin generate spartan6 + st : if DEVICE = "SPARTAN6" generate + begin + DSP48E_3: DSP48A1 + generic map ( + A0REG => A0REG_IN, + A1REG => A1REG_IN, + B0REG => B0REG_IN, + B1REG => B1REG_IN, + MREG => MREG_IN, + PREG => PREG_IN + ) + port map ( + BCOUT => open, + CARRYOUT => open, + CARRYOUTF => open, + M => open, + P => RESULT_OUT, + PCOUT => open, + A => A_IN(17 downto 0), + B => B_IN, + C => LOAD_DATA_IN, + CARRYIN => CARRYIN, + CEA => CE, + CEB => CE, + CEC => CE, + CECARRYIN => CE, + CED => CE, + CEM => CE, + CEOPMODE => CE, + CEP => CE, + CLK => CLK, + D => "000000000000000000", + OPMODE => OPMODE_IN, + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTB => RST, + RSTC => RST, + RSTCARRYIN => RST, + RSTD => RST, + RSTM => RST, + RSTOPMODE => RST, + RSTP => RST + ); + end generate st; + -- end generate spartan6 +end macc; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/MULT_MACRO.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/MULT_MACRO.vhd new file mode 100644 index 0000000..7f5a104 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/MULT_MACRO.vhd @@ -0,0 +1,561 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1995/2008 Xilinx, Inc. +-- All Right Reserved. +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor : Xilinx +-- \ \ \/ Version : 14.1 +-- \ \ Description : Xilinx Functional Simulation Library Component +-- / / Macro for DSP48 +-- /___/ /\ Filename : MULT_MACRO.vhd +-- \ \ / \ Timestamp : Fri June 06 2008 10:43:59 PST 2008 +-- \___\/\___\ +-- +-- Revision: +-- 06/06/08 - Initial version. +-- 05/22/12 - 660408 - fix for latency 3 and 4 +-- End Revision + +----- CELL MULT_MACRO ----- + +library IEEE; +use ieee.std_logic_1164.ALL; +use ieee.numeric_std.ALL; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +library UNISIM; +use UNISIM.vcomponents.all; + +library STD; +use STD.TEXTIO.ALL; + + +entity MULT_MACRO is + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 3; + STYLE : string := "DSP"; + WIDTH_A : integer := 18; + WIDTH_B : integer := 18 + ); + + port ( + P : out std_logic_vector((WIDTH_A+WIDTH_B)-1 downto 0); + A : in std_logic_vector(WIDTH_A-1 downto 0); + B : in std_logic_vector(WIDTH_B-1 downto 0); + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end entity MULT_MACRO; + +architecture mult of MULT_MACRO is + + function CheckDevice ( + device : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "SPARTAN6" or DEVICE = "7SERIES") then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute DEVICE : ") ); + write ( Message, DEVICE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" VIRTEX5, VIRTEX6, SPARTAN6, 7SERIES. ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckStyle ( + style : in string + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (style = "AUTO" or style = "DSP" ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute STYLE : ") ); + write ( Message, STYLE); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" AUTO, DSP ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function CheckWidthA ( + widtha : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + if (widtha > 0 and widtha <= 25) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_A : ") ); + write ( Message, WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 25 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- begin s1 + else + if (DEVICE = "SPARTAN6" and widtha > 0 and widtha <= 18) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_A : ") ); + write ( Message, WIDTH_A); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + -- end s1 + end if; + return func_val; + end; + function CheckWidthB ( + widthb : in integer + ) return boolean is + variable func_val : boolean; + variable Message : LINE; + begin + if (widthb > 0 and widthb <= 18 ) then + func_val := true; + else + func_val := false; + write( Message, STRING'("Illegal value of Attribute WIDTH_B : ") ); + write ( Message, WIDTH_B); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 1 to 18 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetWidthA ( + device : in string + ) return integer is + variable func_val : integer; + variable Message : LINE; + + begin + if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") then + func_val := 25; + else + func_val := 18; + DEALLOCATE (Message); + end if; + return func_val; + end; + function GetABREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3) then + func_width := 1; + elsif (LATENCY = 4 ) then + func_width := 2; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG1_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 2 or LATENCY = 3 or LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetABREG0_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 4) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetPREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + begin + if (LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + else + func_width := 0; + end if; + return func_width; + end; + function GetMREG_IN ( + latency : in integer + ) return integer is + variable func_width : integer; + variable Message : LINE; + begin + if (LATENCY = 1 or LATENCY = 2 or LATENCY = 3 or LATENCY = 4 ) then + func_width := 1; + elsif (LATENCY = 0) then + func_width := 0; + else + func_width := 0; + write( Message, STRING'("Illegal value of Attribute LATENCY : ") ); + write ( Message, LATENCY); + write( Message, STRING'(". Legal values of this attribute are ") ); + write( Message, STRING'(" 0 to 4 ") ); + ASSERT FALSE REPORT Message.ALL SEVERITY Failure; + DEALLOCATE (Message); + end if; + return func_width; + end; + + + +--Signal Declarations: + + signal A_IN : std_logic_vector(24 downto 0) := "0000000000000000000000000"; + signal A_INP : std_logic_vector(29 downto 0) := "000000000000000000000000000000"; + signal A_INST : std_logic_vector(17 downto 0) := "000000000000000000"; + signal B_IN : std_logic_vector(17 downto 0) := "000000000000000000"; + signal RESULT_OUT : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal RESULT_OUTST : std_logic_vector(47 downto 0) := "000000000000000000000000000000000000000000000000"; + signal CEA1_IN : std_logic; + signal CEA2_IN : std_logic; + signal CEB1_IN : std_logic; + signal CEB2_IN : std_logic; + + constant ChkDevice : boolean := CheckDevice(DEVICE); + constant ChkStyle : boolean := CheckStyle(STYLE); + constant ChkWidthA : boolean := CheckWidthA(WIDTH_A); + constant ChkWidthB : boolean := CheckWidthB(WIDTH_B); + constant MaxWidthA : integer := GetWidthA(DEVICE); + constant AREG_IN : integer := GetABREG_IN(LATENCY); + constant BREG_IN : integer := GetABREG_IN(LATENCY); + constant A0REG_IN : integer := GetABREG0_IN(LATENCY); + constant B0REG_IN : integer := GetABREG0_IN(LATENCY); + constant A1REG_IN : integer := GetABREG1_IN(LATENCY); + constant B1REG_IN : integer := GetABREG1_IN(LATENCY); + constant MREG_IN : integer := GetMREG_IN(LATENCY); + constant PREG_IN : integer := GetPREG_IN(LATENCY); + +-- Architecture Section: instantiation +begin + + CEA1_IN <= CE when (AREG_IN = 2) else '0'; + CEA2_IN <= CE when (AREG_IN = 1 or AREG_IN = 2) else '0'; + CEB1_IN <= CE when (BREG_IN = 2) else '0'; + CEB2_IN <= CE when (BREG_IN = 1 or BREG_IN = 2) else '0'; + + multa : if (WIDTH_A = MaxWidthA) generate + begin + + ga1 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + A_IN(MaxWidthA-1 downto 0) <= A; + end generate ga1; + ga2 : if (DEVICE = "SPARTAN6") generate + A_INST(MaxWidthA-1 downto 0) <= A; + end generate ga2; + end generate multa; + multb : if (WIDTH_B = 18) generate + begin + B_IN <= B; + end generate multb; + multas : if (WIDTH_A < MaxWidthA) generate + begin + g1 : if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + A_IN((MaxWidthA-1) downto (MaxWidthA-WIDTH_A)) <= A; + g3 : for i in ((MaxWidthA-1)-WIDTH_A) downto 0 generate + A_IN(i) <= '0'; + end generate g3; + end generate g1; + -- begin s2 + g2 : if (DEVICE = "SPARTAN6") generate + A_INST((MaxWidthA-1) downto (MaxWidthA-WIDTH_A)) <= A; + g4 : for i in ((MaxWidthA-1)-WIDTH_A) downto 0 generate + A_INST(i) <= '0'; + end generate g4; + end generate g2; + -- end s2 + end generate multas; + multbs : if (WIDTH_B < 18) generate + begin + sb: for i in (17-WIDTH_B) downto 0 generate + B_IN(i) <= '0'; + end generate; + B_IN(17 downto (18-(WIDTH_B))) <= B; + end generate multbs; + + A_INP <= "00000" & A_IN ; + + p1: if (DEVICE = "VIRTEX5" or DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + P <= RESULT_OUT(42 downto (42- ((WIDTH_A+WIDTH_B)-1))); + end generate p1; + -- begin s2 + p2: if (DEVICE = "SPARTAN6") generate + P <= RESULT_OUTST(35 downto (35- ((WIDTH_A+WIDTH_B)-1))); + end generate p2; + -- end s2 + + -- begin generate virtex5 + v5 : if DEVICE = "VIRTEX5" generate + v5_1 : if LATENCY = 0 generate + begin + DSP48E_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN, + USE_MULT => "MULT" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_INP, + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => B_IN, + BCIN => "000000000000000000", + C => "000000000000000000000000000000000000000000000000", + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => CE, + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => "0000101", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); + end generate v5_1; + v5_2 : if LATENCY > 0 generate + begin + DSP48E_1: DSP48E + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + BCASCREG => BREG_IN, + BREG => BREG_IN, + MREG => MREG_IN, + PREG => PREG_IN, + USE_MULT => "MULT_S" + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_INP, + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => B_IN, + BCIN => "000000000000000000", + C => "000000000000000000000000000000000000000000000000", + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CEM => CE, + CEMULTCARRYIN => '0', + CEP => CE, + CLK => CLK, + MULTSIGNIN => '0', + OPMODE => "0000101", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTM => RST, + RSTP => RST + ); + end generate v5_2; + end generate v5; + -- end generate virtex5 + -- begin generate virtex6 + bl : if (DEVICE = "VIRTEX6" or DEVICE = "7SERIES") generate + begin + DSP48E_2: DSP48E1 + generic map ( + ACASCREG => AREG_IN, + AREG => AREG_IN, + ADREG => 0, + BCASCREG => BREG_IN, + BREG => BREG_IN, + DREG => 0, + MREG => MREG_IN, + PREG => PREG_IN + ) + port map ( + ACOUT => open, + BCOUT => open, + CARRYCASCOUT => open, + CARRYOUT => open, + MULTSIGNOUT => open, + OVERFLOW => open, + P => RESULT_OUT, + PATTERNBDETECT => open, + PATTERNDETECT => open, + PCOUT => open, + UNDERFLOW => open, + A => A_INP, + ACIN => "000000000000000000000000000000", + ALUMODE => "0000", + B => B_IN, + BCIN => "000000000000000000", + C => "000000000000000000000000000000000000000000000000", + CARRYCASCIN => '0', + CARRYIN => '0', + CARRYINSEL => "000", + CEA1 => CEA1_IN, + CEA2 => CEA2_IN, + CEAD => '0', + CEALUMODE => CE, + CEB1 => CEB1_IN, + CEB2 => CEB2_IN, + CEC => CE, + CECARRYIN => CE, + CECTRL => CE, + CED => '0', + CEINMODE => '0', + CEM => CE, + CEP => CE, + CLK => CLK, + D => "0000000000000000000000000", + INMODE => "00000", + MULTSIGNIN => '0', + OPMODE => "0000101", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTALLCARRYIN => RST, + RSTALUMODE => RST, + RSTB => RST, + RSTC => RST, + RSTCTRL => RST, + RSTD => RST, + RSTINMODE => RST, + RSTM => RST, + RSTP => RST + ); + end generate bl; + -- end generate virtex6 + -- begin generate spartan6 + st : if DEVICE = "SPARTAN6" generate + begin + DSP48E_3: DSP48A1 + generic map ( + A0REG => A0REG_IN, + A1REG => A1REG_IN, + B0REG => B0REG_IN, + B1REG => B1REG_IN, + MREG => MREG_IN, + PREG => PREG_IN + ) + port map ( + BCOUT => open, + CARRYOUT => open, + CARRYOUTF => open, + --M => RESULT_OUTST, + M => open, + P => RESULT_OUTST, + PCOUT => open, + A => A_INST, + B => B_IN, + C => "000000000000000000000000000000000000000000000000", + CARRYIN => '0', + CEA => CE, + CEB => CE, + CEC => CE, + CECARRYIN => CE, + CED => CE, + CEM => CE, + CEOPMODE => CE, + CEP => CE, + CLK => CLK, + D => "000000000000000000", + OPMODE => "00000001", + PCIN => "000000000000000000000000000000000000000000000000", + RSTA => RST, + RSTB => RST, + RSTC => RST, + RSTCARRYIN => RST, + RSTD => RST, + RSTM => RST, + RSTOPMODE => RST, + RSTP => RST + ); + end generate st; + -- end generate spartan6 + +end mult; + + + diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/unimacro_VCOMP.vhd b/resources/dide-lsp/static/vhdl_std_lib/unimacro/unimacro_VCOMP.vhd new file mode 100644 index 0000000..d059627 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/unimacro_VCOMP.vhd @@ -0,0 +1,802 @@ +--************************************************************** +-- Copyright (c) 2008 Xilinx, Inc. All rights reserved. +-- File Name : unimacro_VCOMP.vhd +-- Library : unisim +-- Release : 11.1 +-- Entity Count : 12 +-- Time : Fri Mar 2 10:51:46 2012 +-- Generated by : gencomp.pl +--************************************************************** + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +package VCOMPONENTS is + + FUNCTION xil_UNM_GCW ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer; + +-- START COMPONENT +----- component ADDMACC_MACRO ----- +component ADDMACC_MACRO + generic ( + DEVICE : string := "VIRTEX6"; + LATENCY : integer := 4; + WIDTH_MULTIPLIER : integer := 18; + WIDTH_PREADD : integer := 25; + WIDTH_PRODUCT : integer := 48 + ); + port ( + PRODUCT : out std_logic_vector(WIDTH_PRODUCT-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_PRODUCT-1 downto 0); + MULTIPLIER : in std_logic_vector(WIDTH_MULTIPLIER-1 downto 0); + PREADD1 : in std_logic_vector(WIDTH_PREADD-1 downto 0); + PREADD2 : in std_logic_vector(WIDTH_PREADD-1 downto 0); + RST : in std_logic + ); +end component; + +----- component ADDSUB_MACRO ----- +component ADDSUB_MACRO + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 2; + MODEL_TYPE : integer := 0; + STYLE : string := "DSP"; + VERBOSITY : integer := 0; + WIDTH : integer := 48; + WIDTH_B : integer := 48; + WIDTH_RESULT : integer := 48 + ); + port ( + CARRYOUT : out std_logic; + RESULT : out std_logic_vector(WIDTH-1 downto 0); + A : in std_logic_vector(WIDTH-1 downto 0); + ADD_SUB : in std_logic; + B : in std_logic_vector(WIDTH-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end component; + +----- component BRAM_SDP_MACRO ----- +component BRAM_SDP_MACRO + generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + INIT : bit_vector := X"000000000000000000"; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH : integer := 0; + SIM_COLLISION_CHECK : string := "ALL"; + SIM_MODE : string := "SAFE"; + SRVAL : bit_vector := X"000000000000000000"; + WRITE_MODE : string := "WRITE_FIRST"; + WRITE_WIDTH : integer := 0 + ); + port ( + DO : out std_logic_vector(READ_WIDTH-1 downto 0); + DI : in std_logic_vector(WRITE_WIDTH-1 downto 0); + RDADDR : in std_logic_vector; + RDCLK : in std_ulogic; + RDEN : in std_ulogic; + REGCE : in std_ulogic; + RST : in std_ulogic; + WE : in std_logic_vector; + WRADDR : in std_logic_vector; + WRCLK : in std_ulogic; + WREN : in std_ulogic + ); +end component; + +----- component BRAM_SINGLE_MACRO ----- +component BRAM_SINGLE_MACRO + generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + INIT : bit_vector := X"000000000000000000"; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH : integer := 1; + SIM_MODE : string := "SAFE"; + SRVAL : bit_vector := X"000000000000000000"; + WRITE_MODE : string := "WRITE_FIRST"; + WRITE_WIDTH : integer := 1 + ); + port ( + DO : out std_logic_vector(READ_WIDTH-1 downto 0); + ADDR : in std_logic_vector; + CLK : in std_ulogic; + DI : in std_logic_vector(WRITE_WIDTH-1 downto 0); + EN : in std_ulogic; + REGCE : in std_ulogic; + RST : in std_ulogic; + WE : in std_logic_vector + ); +end component; + +----- component BRAM_TDP_MACRO ----- +component BRAM_TDP_MACRO + generic ( + BRAM_SIZE : string := "18Kb"; + DEVICE : string := "VIRTEX5"; + DOA_REG : integer := 0; + DOB_REG : integer := 0; + INITP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INITP_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_40 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_41 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_42 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_43 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_44 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_45 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_46 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_47 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_48 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_49 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_4F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_50 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_51 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_52 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_53 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_54 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_55 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_56 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_57 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_58 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_59 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_5F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_60 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_61 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_62 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_63 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_64 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_65 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_66 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_67 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_68 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_69 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_6F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_70 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_71 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_72 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_73 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_74 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_75 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_76 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_77 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_78 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_79 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_7F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + INIT_A : bit_vector := X"000000000"; + INIT_B : bit_vector := X"000000000"; + INIT_FILE : string := "NONE"; + READ_WIDTH_A : integer := 1; + READ_WIDTH_B : integer := 1; + SIM_COLLISION_CHECK : string := "ALL"; + SIM_MODE : string := "SAFE"; + SRVAL_A : bit_vector := X"000000000"; + SRVAL_B : bit_vector := X"000000000"; + WRITE_MODE_A : string := "WRITE_FIRST"; + WRITE_MODE_B : string := "WRITE_FIRST"; + WRITE_WIDTH_A : integer := 1; + WRITE_WIDTH_B : integer := 1 + ); + port ( + DOA : out std_logic_vector(READ_WIDTH_A-1 downto 0); + DOB : out std_logic_vector(READ_WIDTH_B-1 downto 0); + ADDRA : in std_logic_vector; + ADDRB : in std_logic_vector; + CLKA : in std_ulogic; + CLKB : in std_ulogic; + DIA : in std_logic_vector(WRITE_WIDTH_A-1 downto 0); + DIB : in std_logic_vector(WRITE_WIDTH_B-1 downto 0); + ENA : in std_ulogic; + ENB : in std_ulogic; + REGCEA : in std_ulogic; + REGCEB : in std_ulogic; + RSTA : in std_ulogic; + RSTB : in std_ulogic; + WEA : in std_logic_vector; + WEB : in std_logic_vector + ); +end component; + +----- component COUNTER_LOAD_MACRO ----- +component COUNTER_LOAD_MACRO + generic ( + COUNT_BY : std_logic_vector := X"000000000001"; + DEVICE : string := "VIRTEX5"; + STYLE : string := "AUTO"; + WIDTH_DATA : integer := 48 + ); + port ( + Q : out std_logic_vector(WIDTH_DATA-1 downto 0); + CE : in std_logic; + CLK : in std_logic; + DIRECTION : in std_logic; + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_DATA-1 downto 0); + RST : in std_logic + ); +end component; + +----- component COUNTER_TC_MACRO ----- +component COUNTER_TC_MACRO + generic ( + COUNT_BY : std_logic_vector := X"000000000001"; + DEVICE : string := "VIRTEX5"; + DIRECTION : string := "UP"; + RESET_UPON_TC : string := "FALSE"; + STYLE : string := "AUTO"; + TC_VALUE : std_logic_vector := X"000000000000"; + WIDTH_DATA : integer := 48 + ); + port ( + Q : out std_logic_vector(WIDTH_DATA-1 downto 0); + TC : out std_logic; + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end component; + +----- component EQ_COMPARE_MACRO ----- +component EQ_COMPARE_MACRO + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 2; + MASK : bit_vector := X"000000000000"; + SEL_MASK : string := "MASK"; + SEL_PATTERN : string := "DYNAMIC_PATTERN"; + STATIC_PATTERN : bit_vector := X"000000000000"; + WIDTH : integer := 48 + ); + port ( + Q : out std_logic; + CE : in std_logic; + CLK : in std_logic; + DATA_IN : in std_logic_vector(WIDTH-1 downto 0); + DYNAMIC_PATTERN : in std_logic_vector(WIDTH-1 downto 0); + RST : in std_logic + ); +end component; + +----- component FIFO_DUALCLOCK_MACRO ----- +component FIFO_DUALCLOCK_MACRO + generic ( + ALMOST_EMPTY_OFFSET : bit_vector := X"0080"; + ALMOST_FULL_OFFSET : bit_vector := X"0080"; + DATA_WIDTH : integer := 4; + DEVICE : string := "VIRTEX5"; + FIFO_SIZE : string := "18Kb"; + FIRST_WORD_FALL_THROUGH : boolean := FALSE; + INIT : bit_vector := X"000000000000000000"; + SIM_MODE : string := "SAFE"; + SRVAL : bit_vector := X"000000000000000000" + ); + port ( + ALMOSTEMPTY : out std_logic; + ALMOSTFULL : out std_logic; + DO : out std_logic_vector(DATA_WIDTH-1 downto 0); + EMPTY : out std_logic; + FULL : out std_logic; + RDCOUNT : out std_logic_vector (xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + RDERR : out std_logic; + WRCOUNT : out std_logic_vector (xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + WRERR : out std_logic; + DI : in std_logic_vector(DATA_WIDTH-1 downto 0); + RDCLK : in std_logic; + RDEN : in std_logic; + RST : in std_logic; + WRCLK : in std_logic; + WREN : in std_logic + ); +end component; + +----- component FIFO_SYNC_MACRO ----- +component FIFO_SYNC_MACRO + generic ( + ALMOST_EMPTY_OFFSET : bit_vector := X"0080"; + ALMOST_FULL_OFFSET : bit_vector := X"0080"; + DATA_WIDTH : integer := 4; + DEVICE : string := "VIRTEX5"; + DO_REG : integer := 0; + FIFO_SIZE : string := "18Kb"; + INIT : bit_vector := X"000000000000000000"; + SIM_MODE : string := "SAFE"; + SRVAL : bit_vector := X"000000000000000000" + ); + port ( + ALMOSTEMPTY : out std_logic; + ALMOSTFULL : out std_logic; + DO : out std_logic_vector(DATA_WIDTH-1 downto 0); + EMPTY : out std_logic; + FULL : out std_logic; + RDCOUNT : out std_logic_vector (xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + RDERR : out std_logic; + WRCOUNT : out std_logic_vector (xil_UNM_GCW(DATA_WIDTH, FIFO_SIZE, DEVICE)-1 downto 0); + WRERR : out std_logic; + CLK : in std_logic; + DI : in std_logic_vector(DATA_WIDTH-1 downto 0); + RDEN : in std_logic; + RST : in std_logic; + WREN : in std_logic + ); +end component; + +----- component MACC_MACRO ----- +component MACC_MACRO + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 3; + WIDTH_A : integer := 25; + WIDTH_B : integer := 18; + WIDTH_P : integer := 48 + ); + port ( + P : out std_logic_vector(WIDTH_P-1 downto 0); + A : in std_logic_vector(WIDTH_A-1 downto 0); + ADDSUB : in std_logic; + B : in std_logic_vector(WIDTH_B-1 downto 0); + CARRYIN : in std_logic; + CE : in std_logic; + CLK : in std_logic; + LOAD : in std_logic; + LOAD_DATA : in std_logic_vector(WIDTH_P-1 downto 0); + RST : in std_logic + ); +end component; + +----- component MULT_MACRO ----- +component MULT_MACRO + generic ( + DEVICE : string := "VIRTEX5"; + LATENCY : integer := 3; + STYLE : string := "DSP"; + WIDTH_A : integer := 18; + WIDTH_B : integer := 18 + ); + port ( + P : out std_logic_vector((WIDTH_A+WIDTH_B)-1 downto 0); + A : in std_logic_vector(WIDTH_A-1 downto 0); + B : in std_logic_vector(WIDTH_B-1 downto 0); + CE : in std_logic; + CLK : in std_logic; + RST : in std_logic + ); +end component; + +-- END COMPONENT + +end VCOMPONENTS; + +package body VCOMPONENTS is + + FUNCTION xil_UNM_GCW ( + d_width : in integer; + fifo_size : in string; + device : in string + ) return integer is + variable func_width : integer; + begin + if(device = "VIRTEX5" or device = "VIRTEX6" or device = "7SERIES") then + if(fifo_size = "18Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 12; + when 5|6|7|8|9 => func_width := 11; + when 10 to 18 => func_width := 10; + when 19 to 36 => func_width := 9; + when others => func_width := 12; + end case; + elsif(fifo_size = "36Kb") then + case d_width is + when 0|1|2|3|4 => func_width := 13; + when 5|6|7|8|9 => func_width := 12; + when 10 to 18 => func_width := 11; + when 19 to 36 => func_width := 10; + when 37 to 72 => func_width := 9; + when others => func_width := 13; + end case; + end if; + else + func_width := 13; + end if; + return func_width; + end; + +end VCOMPONENTS; diff --git a/resources/dide-lsp/static/vhdl_std_lib/unimacro/vhdl_analyze_order b/resources/dide-lsp/static/vhdl_std_lib/unimacro/vhdl_analyze_order new file mode 100644 index 0000000..e13ec99 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/unimacro/vhdl_analyze_order @@ -0,0 +1,13 @@ +unimacro_VCOMP.vhd +ADDMACC_MACRO.vhd +ADDSUB_MACRO.vhd +BRAM_SDP_MACRO.vhd +BRAM_SINGLE_MACRO.vhd +BRAM_TDP_MACRO.vhd +COUNTER_LOAD_MACRO.vhd +COUNTER_TC_MACRO.vhd +EQ_COMPARE_MACRO.vhd +FIFO_DUALCLOCK_MACRO.vhd +FIFO_SYNC_MACRO.vhd +MACC_MACRO.vhd +MULT_MACRO.vhd diff --git a/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml b/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml new file mode 100644 index 0000000..61d9957 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml @@ -0,0 +1,7 @@ +[libraries] + +std.files = ['std/*.vhd'] +std.is_third_party = true + +ieee.files = ['ieee_2008/*.vhdl', 'synopsys/*.vhd', 'vital2000/*.vhdl', 'unifast/primitive/*.vhd', 'unifast/secureip/*.vhd', 'unimacro/*.vhd'] +ieee.is_third_party = true \ No newline at end of file diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_b.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_b.vhdl new file mode 100644 index 0000000..39bb38a --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_b.vhdl @@ -0,0 +1,7151 @@ +-- ---------------------------------------------------------------------------- +-- Title : Standard VITAL Memory Package +-- : +-- Library : Vital_Memory +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : Ekambaram Balaji, LSI Logic Corporation +-- : Jose De Castro, Consultant +-- : Prakash Bare, GDA Technologies +-- : William Yam, LSI Logic Corporation +-- : Dennis Brophy, Model Technology +-- : +-- Purpose : This packages defines standard types, constants, functions +-- : and procedures for use in developing ASIC memory models. +-- : +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Ver:|Auth:| Date:| Changes Made: +-- 0.1 | eb |071796| First prototye as part of VITAL memory proposal +-- 0.2 | jdc |012897| Initial prototyping with proposed MTM scheme +-- 0.3 | jdc |090297| Extensive updates for TAG review (functional) +-- 0.4 | eb |091597| Changed naming conventions for VitalMemoryTable +-- | | | Added interface of VitalMemoryCrossPorts() & +-- | | | VitalMemoryViolation(). +-- 0.5 | jdc |092997| Completed naming changes thoughout package body. +-- | | | Testing with simgle port test model looks ok. +-- 0.6 | jdc |121797| Major updates to the packages: +-- | | | - Implement VitalMemoryCrossPorts() +-- | | | - Use new VitalAddressValueType +-- | | | - Use new VitalCrossPortModeType enum +-- | | | - Overloading without SamePort args +-- | | | - Honor erroneous address values +-- | | | - Honor ports disabled with 'Z' +-- | | | - Implement implicit read 'M' table symbol +-- | | | - Cleanup buses to use (H DOWNTO L) +-- | | | - Message control via MsgOn,HeaderMsg,PortName +-- | | | - Tested with 1P1RW,2P2RW,4P2R2W,4P4RW cases +-- 0.7 | jdc |052698| Bug fixes to the packages: +-- | | | - Fix failure with negative Address values +-- | | | - Added debug messages for VMT table search +-- | | | - Remove 'S' for action column (only 's') +-- | | | - Remove 's' for response column (only 'S') +-- | | | - Remove 'X' for action and response columns +-- 0.8 | jdc |061298| Implemented VitalMemoryViolation() +-- | | | - Minimal functionality violation tables +-- | | | - Missing: +-- | | | - Cannot handle wide violation variables +-- | | | - Cannot handle sub-word cases +-- | | | Fixed IIC version of MemoryMatch +-- | | | Fixed 'M' vs 'm' switched on debug output +-- | | | TO BE DONE: +-- | | | - Implement 'd' corrupting a single bit +-- | | | - Implement 'D' corrupting a single bit +-- 0.9 |eb/sc|080498| Added UNDEF value for VitalPortFlagType +-- 0.10|eb/sc|080798| Added CORRUPT value for VitalPortFlagType +-- 0.11|eb/sc|081798| Added overloaded function interface for +-- | | | VitalDeclareMemory +-- 0.14| jdc |113198| Merging of memory functionality and version +-- | | | 1.4 9/17/98 of timing package from Prakash +-- 0.15| jdc |120198| Major development of VMV functionality +-- 0.16| jdc |120298| Complete VMV functionlality for initial testing +-- | | | - New ViolationTableCorruptMask() procedure +-- | | | - New MemoryTableCorruptMask() procedure +-- | | | - HandleMemoryAction(): +-- | | | - Removed DataOutBus bogus output +-- | | | - Replaced DataOutTmp with DataInTmp +-- | | | - Added CorruptMask input handling +-- | | | - Implemented 'd','D' using CorruptMask +-- | | | - CorruptMask on 'd','C','L','D','E' +-- | | | - CorruptMask ignored on 'c','l','e' +-- | | | - Changed 'l','d','e' to set PortFlag to CORRUPT +-- | | | - Changed 'L','D','E' to set PortFlag to CORRUPT +-- | | | - Changed 'c','l','d','e' to ignore HighBit, LowBit +-- | | | - Changed 'C','L','D','E' to use HighBit, LowBit +-- | | | - HandleDataAction(): +-- | | | - Added CorruptMask input handling +-- | | | - Implemented 'd','D' using CorruptMask +-- | | | - CorruptMask on 'd','C','L','D','E' +-- | | | - CorruptMask ignored on 'l','e' +-- | | | - Changed 'l','d','e' to set PortFlag to CORRUPT +-- | | | - Changed 'L','D','E' to set PortFlag to CORRUPT +-- | | | - Changed 'l','d','e' to ignore HighBit, LowBit +-- | | | - Changed 'L','D','E' to use HighBit, LowBit +-- | | | - MemoryTableLookUp(): +-- | | | - Added MsgOn table debug output +-- | | | - Uses new MemoryTableCorruptMask() +-- | | | - ViolationTableLookUp(): +-- | | | - Uses new ViolationTableCorruptMask() +-- 0.17| jdc |120898| - Added VitalMemoryViolationSymbolType, +-- | | | VitalMemoryViolationTableType data +-- | | | types but not used yet (need to discuss) +-- | | | - Added overload for VitalMemoryViolation() +-- | | | which does not have array flags +-- | | | - Bug fixes for VMV functionality: +-- | | | - ViolationTableLookUp() not handling '-' in +-- | | | scalar violation matching +-- | | | - VitalMemoryViolation() now normalizes +-- | | | VFlagArrayTmp'LEFT as LSB before calling +-- | | | ViolationTableLookUp() for proper scanning +-- | | | - ViolationTableCorruptMask() had to remove +-- | | | normalization of CorruptMaskTmp and +-- | | | ViolMaskTmp for proper MSB:LSB corruption +-- | | | - HandleMemoryAction(), HandleDataAction() +-- | | | - Removed 'D','E' since not being used +-- | | | - Use XOR instead of OR for corrupt masks +-- | | | - Now 'd' is sensitive to HighBit, LowBit +-- | | | - Fixed LowBit overflow in bit writeable case +-- | | | - MemoryTableCorruptMask() +-- | | | - ViolationTableCorruptMask() +-- | | | - VitalMemoryTable() +-- | | | - VitalMemoryCrossPorts() +-- | | | - Fixed VitalMemoryViolation() failing on +-- | | | error AddressValue from earlier VMT() +-- | | | - Minor cleanup of code formatting +-- 0.18| jdc |032599| - In VitalDeclareMemory() +-- | | | - Added BinaryLoadFile formal arg and +-- | | | modified LoadMemory() to handle bin +-- | | | - Added NOCHANGE to VitalPortFlagType +-- | | | - For VitalCrossPortModeType +-- | | | - Added CpContention enum +-- | | | - In HandleDataAction() +-- | | | - Set PortFlag := NOCHANGE for 'S' +-- | | | - In HandleMemoryAction() +-- | | | - Set PortFlag := NOCHANGE for 's' +-- | | | - In VitalMemoryTable() and +-- | | | VitalMemoryViolation() +-- | | | - Honor PortFlag = NOCHANGE returned +-- | | | from HandleMemoryAction() +-- | | | - In VitalMemoryCrossPorts() +-- | | | - Fixed Address = AddressJ for all +-- | | | conditions of DoWrCont & DoCpRead +-- | | | - Handle CpContention like WrContOnly +-- | | | under CpReadOnly conditions, with +-- | | | associated memory message changes +-- | | | - Handle PortFlag = NOCHANGE like +-- | | | PortFlag = READ for actions +-- | | | - Modeling change: +-- | | | - Need to init PortFlag every delta +-- | | | PortFlag_A := (OTHES => UNDEF); +-- | | | - Updated InternalTimingCheck code +-- 0.19| jdc |042599| - Fixes for bit-writeable cases +-- | | | - Check PortFlag after HandleDataAction +-- | | | in VitalMemoryViolation() +-- 0.20| jdc |042599| - Merge PortFlag changes from Prakash +-- | | | and Willian: +-- | | | VitalMemorySchedulePathDelay() +-- | | | VitalMemoryExpandPortFlag() +-- 0.21| jdc |072199| - Changed VitalCrossPortModeType enums, +-- | | | added new CpReadAndReadContention. +-- | | | - Fixed VitalMemoryCrossPorts() parameter +-- | | | SamePortFlag to INOUT so that it can +-- | | | set CORRUPT or READ value. +-- | | | - Fixed VitalMemoryTable() where PortFlag +-- | | | setting by HandleDataAction() is being +-- | | | ignored when HandleMemoryAction() sets +-- | | | PortFlagTmp to NOCHANGE. +-- | | | - Fixed VitalMemoryViolation() to set +-- | | | all bits of PortFlag when violating. +-- 0.22| jdc |072399| - Added HIGHZ to PortFlagType. HandleData +-- | | | checks whether the previous state is HIGHZ. +-- | | | If yes then portFlag should be NOCHANGE +-- | | | for VMPD to ignore IORetain corruption. +-- | | | The idea is that the first Z should be +-- | | | propagated but later ones should be ignored. +-- | | | +-- 0.23| jdc |100499| - Took code checked in by Dennis 09/28/99 +-- | | | - Changed VitalPortFlagType to record of +-- | | | new VitalPortStateType to hold current, +-- | | | previous values and separate disable. +-- | | | Also created VitalDefaultPortFlag const. +-- | | | Removed usage of PortFlag NOCHANGE +-- | | | - VitalMemoryTable() changes: +-- | | | Optimized return when all curr = prev +-- | | | AddressValue is now INOUT to optimize +-- | | | Transfer PF.MemoryCurrent to MemoryPrevious +-- | | | Transfer PF.DataCurrent to DataPrevious +-- | | | Reset PF.OutputDisable to FALSE +-- | | | Expects PortFlag init in declaration +-- | | | No need to init PortFlag every delta +-- | | | - VitalMemorySchedulePathDelay() changes: +-- | | | Initialize with VitalDefaultPortFlag +-- | | | Check PortFlag.OutputDisable +-- | | | - HandleMemoryAction() changes: +-- | | | Set value of PortFlag.MemoryCurrent +-- | | | Never set PortFlag.OutputDisable +-- | | | - HandleDataAction() changes: +-- | | | Set value of PortFlag.DataCurrent +-- | | | Set PortFlag.DataCurrent for HIGHZ +-- | | | - VitalMemoryCrossPorts() changes: +-- | | | Check/set value of PF.MemoryCurrent +-- | | | Check value of PF.OutputDisable +-- | | | - VitalMemoryViolation() changes: +-- | | | Fixed bug - not reading inout PF value +-- | | | Clean up setting of PortFlag +-- 0.24| jdc |100899| - Modified update of PF.OutputDisable +-- | | | to correctly accomodate 2P1W1R case: +-- | | | the read port should not exhibit +-- | | | IO retain corrupt when reading +-- | | | addr unrelated to addr being written. +-- 0.25| jdc |100999| - VitalMemoryViolation() change: +-- | | | Fixed bug with RDNWR mode incorrectly +-- | | | updating the PF.OutputDisable +-- 0.26| jdc |100999| - VitalMemoryCrossPorts() change: +-- | | | Fixed bugs with update of PF +-- 0.27| jdc |101499| - VitalMemoryCrossPorts() change: +-- | | | Added DoRdWrCont message (ErrMcpRdWrCo, +-- | | | Memory cross port read/write data only +-- | | | contention) +-- | | | - VitalMemoryTable() change: +-- | | | Set PF.OutputDisable := TRUE for the +-- | | | optimized cases. +-- 0.28| pb |112399| - Added 8 VMPD procedures for vector +-- | | | PathCondition support. Now the total +-- | | | number of overloadings for VMPD is 24. +-- | | | - Number of overloadings for SetupHold +-- | | | procedures increased to 5. Scalar violations +-- | | | are not supported anymore. Vector checkEnabled +-- | | | support is provided through the new overloading +-- 0.29| jdc |120999| - HandleMemoryAction() HandleDataAction() +-- | | | Reinstated 'D' and 'E' actions but +-- | | | with new PortFlagType +-- | | | - Updated file handling syntax, must compile +-- | | | with -93 syntax now. +-- 0.30| jdc |022300| - Formated for 80 column max width +-- ---------------------------------------------------------------------------- + +LIBRARY IEEE; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.Vital_Timing.all; +USE IEEE.Vital_Primitives.all; + +LIBRARY STD; +USE STD.TEXTIO.ALL; + +-- ---------------------------------------------------------------------------- +PACKAGE BODY Vital_Memory IS + +-- ---------------------------------------------------------------------------- +-- Timing Section +-- ---------------------------------------------------------------------------- + +FILE LogFile : TEXT OPEN write_mode IS "delayLog"; +FILE Output : TEXT OPEN write_mode IS "STD_OUTPUT"; + +-- Added for turning off the debug msg.. +CONSTANT PrintDebugMsg : STD_ULOGIC := '0'; + -- '0' - don't print in STD OUTPUT + -- '1' - print in STD OUTPUT + +-- Type and constant definitions for type conversion. +TYPE MVL9_TO_CHAR_TBL IS ARRAY (STD_ULOGIC) OF character; + +--constant MVL9_to_char: MVL9_TO_CHAR_TBL := "UX01ZWLH-"; +CONSTANT MVL9_to_char: MVL9_TO_CHAR_TBL := "XX01ZX010"; + +-- ---------------------------------------------------------------------------- +-- STD_LOGIC WRITE UTILITIES +-- ---------------------------------------------------------------------------- +PROCEDURE WRITE( + l : INOUT line; + val : IN std_logic_vector; + justify : IN side := right; + field : IN width := 0 +) IS + VARIABLE invect : std_logic_vector(val'LENGTH DOWNTO 1); + VARIABLE ins : STRING(val'LENGTH DOWNTO 1); +BEGIN + invect := val; + FOR I IN invect'length DOWNTO 1 LOOP + ins(I) := MVL9_to_char(invect(I)); + END LOOP; + WRITE(L, ins, justify, field); +END; + +PROCEDURE WRITE( + l : INOUT line; + val : IN std_ulogic; + justify : IN side := right; + field : in width := 0 +) IS + VARIABLE ins : CHARACTER; +BEGIN + ins := MVL9_to_char(val); + WRITE(L, ins, justify, field); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE DelayValue( + InputTime : IN TIME ; + outline : INOUT LINE +) IS + CONSTANT header : STRING := "TIME'HIGH"; +BEGIN + IF(InputTime = TIME'HIGH) THEN + WRITE(outline, header); + ELSE + WRITE(outline, InputTime); + END IF; +END DelayValue; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintScheduleDataArray ( + ScheduleDataArray : IN VitalMemoryScheduleDataVectorType +) IS + VARIABLE outline1 : LINE; + VARIABLE outline2 : LINE; + VARIABLE value : TIME; + CONSTANT empty : STRING := " "; + CONSTANT header1 : STRING := "i Age PropDly RetainDly"; + CONSTANT header2 : STRING := "i Sc.Value Output Lastvalue Sc.Time"; +BEGIN + WRITE (outline1, empty); + WRITE (outline1, NOW); + outline2 := outline1; + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITE (outline1, header1); + outline2 := outline1; + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + FOR i IN ScheduleDataArray'RANGE LOOP + WRITE (outline1, i ); + WRITE (outline1, empty); + DelayValue(ScheduleDataArray(i).InputAge, outline1); + WRITE (outline1, empty); + DelayValue(ScheduleDataArray(i).PropDelay, outline1); + WRITE (outline1, empty); + DelayValue(ScheduleDataArray(i).OutputRetainDelay, outline1); + outline2 := outline1; + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + END LOOP; + WRITE (outline1, header2); + outline2 := outline1; + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + FOR i IN ScheduleDataArray'RANGE LOOP + WRITE (outline1, i ); + WRITE (outline1, empty); + WRITE (outline1, ScheduleDataArray(i).ScheduleValue); + WRITE (outline1, empty); + WRITE (outline1, ScheduleDataArray(i).OutputData); + WRITE (outline1, empty); + WRITE (outline1, ScheduleDataArray(i).LastOutputValue ); + WRITE (outline1, empty); + DelayValue(ScheduleDataArray(i).ScheduleTime, outline1); + outline2 := outline1; + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + END LOOP; + WRITE (outline1, empty); + WRITE (outline2, empty); + WRITELINE (LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (Output, outline2); + END IF; +END PrintScheduleDataArray; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintArcType ( + ArcType : IN VitalMemoryArcType +) IS + VARIABLE outline1, outline2 : LINE; + CONSTANT empty : STRING := " "; + CONSTANT cross : STRING := "CrossArc"; + CONSTANT para : STRING := "ParallelArc"; + CONSTANT sub : STRING := "SubWordArc"; + CONSTANT Header1 : STRING := "Path considered @ "; + CONSTANT Header2 : STRING := " is "; +BEGIN + WRITELINE (LogFile, outline1); + WRITE (outline1, header1); + WRITE (outline1, NOW); + WRITE (outline1, empty); + WRITE (outline1, header2); + WRITE (outline1, empty); + case ArcType is + WHEN CrossArc => + WRITE (outline1, cross); + WHEN ParallelArc => + WRITE (outline1, para); + WHEN SubwordArc => + WRITE (outline1, sub); + END CASE; + outline2 := outline1 ; + -- Appears on STD OUT + IF (PrintDebugMsg = '1') THEN + WRITELINE (Output, outline1); + END IF; + WRITELINE (LogFile, outline2); +END PrintArcType; + +-- ---------------------------------------------------------------------------- +-- This returns the value picked from the delay array +-- ---------------------------------------------------------------------------- +PROCEDURE PrintDelay ( + outbitpos : IN INTEGER; + InputArrayLow : IN INTEGER; + InputArrayHigh : IN INTEGER; + debugprop : IN VitalTimeArrayT; + debugretain : IN VitalTimeArrayT +) IS + VARIABLE outline1 : LINE; + VARIABLE outline2 : LINE; + VARIABLE outline3 : LINE; + VARIABLE outline4 : LINE; + VARIABLE outline5 : LINE; + VARIABLE outline6 : LINE; + CONSTANT empty : STRING := " "; + CONSTANT empty5 : STRING := " "; + CONSTANT header1 : STRING := "Prop. delays : "; + CONSTANT header2 : STRING := "Retain delays : "; + CONSTANT header3 : STRING := "output bit : "; +BEGIN + WRITE(outline1, header3); + WRITE(outline1, outbitpos); + outline2 := outline1; + WRITELINE(LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE(output, outline2); + END IF; + WRITE(outline1, header1); + WRITE (outline1, empty5); + FOR i IN InputArrayHigh DOWNTO InputArrayLow LOOP + DelayValue(debugprop(i), outline1); + WRITE(outline1, empty); + END LOOP; + outline2 := outline1; + WRITELINE(LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE(output, outline2); + END IF; + WRITE(outline1, header2); + WRITE (outline1, empty5); + FOR i in InputArrayHigh DOWNTO InputArrayLow LOOP + DelayValue(debugretain(i), outline1); + WRITE(outline1, empty); + END LOOP; + outline2 := outline1; + WRITELINE(LogFile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE(output, outline2); + END IF; +END PrintDelay; + +-- ---------------------------------------------------------------------------- +PROCEDURE DebugMsg1 IS + CONSTANT header1:STRING:= "******************************************"; + CONSTANT header2 :STRING:="Entering the process because of an i/p change"; + variable outline1, outline2 : LINE; +BEGIN + WRITE(outline1, header1); + outline2 := outline1; + WRITELINE (Logfile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITE(outline1, header2); + outline2 := outline1; + WRITELINE (Logfile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITE(outline1, header1); + outline2 := outline1; + WRITELINE (Logfile, outline1); + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; +END DebugMsg1; + +-- ---------------------------------------------------------------------------- +PROCEDURE ScheduleDebugMsg IS + CONSTANT header1 : STRING := "******************************************"; + CONSTANT header2 : STRING := "Finished executing all the procedures"; + VARIABLE outline1 : LINE; + VARIABLE outline2 : LINE; +BEGIN + WRITE(outline1, header1); + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); + WRITE(outline1, header2); + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); + WRITE(outline1, header1); + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); +END ScheduleDebugMsg; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintInputName( + InputSignalName : IN STRING +) IS + VARIABLE outline1 : LINE; + VARIABLE outline2 : LINE; + CONSTANT header1 : STRING := "***Changing input is "; + CONSTANT header2 : STRING := "("; + CONSTANT header3 : STRING := ")"; + CONSTANT header4 : STRING := "****"; + CONSTANT header5 : STRING := "******************************************"; + CONSTANT header6 : STRING:="Entering the process because of an i/p change"; + CONSTANT empty : STRING := " "; +BEGIN + WRITE(outline1, header5); + outline2 := outline1; + WRITELINE (output, outline1); + WRITELINE (Logfile, outline2); + WRITE(outline1, header6); + outline2 := outline1; + WRITELINE (output, outline1); + WRITELINE (Logfile, outline2); + WRITE(outline1, header5); + outline2 := outline1; + WRITELINE (output, outline1); + WRITELINE (Logfile, outline2); + WRITE(outline1, header1); + WRITE(outline1, InputSignalName); + WRITE(outline1, empty); + WRITE(outline1, now); + WRITE(outline1, empty); + WRITE(outline1, header4); + WRITELINE (output, outline1); + WRITELINE (Logfile, outline2); +END PrintInputName; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintInputChangeTime( + ChangeTimeArray : IN VitalTimeArrayT +) IS + VARIABLE outline1 : LINE; + VARIABLE outline2 : LINE; + CONSTANT header5 : STRING := "*************************************"; + CONSTANT header6 : STRING:="ChangeTime Array : "; + CONSTANT empty : STRING := " "; +BEGIN + WRITE(outline1, header5); + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); + WRITE(outline1, header6); + FOR i in ChangeTimeArray'range LOOP + WRITE(outline1, ChangeTimeArray(i)); + WRITE(outline1, empty); + END LOOP; + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); + WRITE(outline1, header5); + outline2 := outline1; + IF (PrintDebugMsg = '1') THEN + WRITELINE (output, outline2); + END IF; + WRITELINE (Logfile, outline1); +END PrintInputChangeTime; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintInputChangeTime( + ChangeTime : IN Time +) IS + VARIABLE ChangeTimeArray : VitalTimeArrayT(0 DOWNTO 0); +BEGIN + ChangeTimeArray(0) := ChangeTime; + PrintInputChangeTime(ChangeTimeArray); +END PrintInputChangeTime; + +-- ---------------------------------------------------------------------------- +-- for debug purpose +CONSTANT MaxNoInputBits : INTEGER := 1000; + +TYPE VitalMemoryDelayType IS RECORD + PropDelay : TIME; + OutputRetainDelay : TIME; +END RECORD; + +-- ---------------------------------------------------------------------------- +-- PROCEDURE: IntToStr +-- +-- PARAMETERS: InputInt - Integer to be converted to String. +-- ResultStr - String buffer for converted Integer +-- AppendPos - Position in buffer to place result +-- +-- DESCRIPTION: This procedure is used to convert an input integer +-- into a string representation. The converted string +-- may be placed at a specific position in the result +-- buffer. +-- +-- ---------------------------------------------------------------------------- + +PROCEDURE IntToStr ( + InputInt : IN INTEGER ; + ResultStr : INOUT STRING ( 1 TO 256) ; + AppendPos : INOUT NATURAL +) IS + -- Look-up table. Given an int, we can get the character. + TYPE integer_table_type IS ARRAY (0 TO 9) OF CHARACTER ; + CONSTANT integer_table : integer_table_type := + ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9') ; + -- Local variables used in this function. + VARIABLE inpVal : INTEGER := inputInt ; + VARIABLE divisor : INTEGER := 10 ; + VARIABLE tmpStrIndex : INTEGER := 1 ; + VARIABLE tmpStr : STRING ( 1 TO 256 ) ; +BEGIN + IF ( inpVal = 0 ) THEN + tmpStr(tmpStrIndex) := integer_table ( 0 ) ; + tmpStrIndex := tmpStrIndex + 1 ; + ELSE + WHILE ( inpVal > 0 ) LOOP + tmpStr(tmpStrIndex) := integer_table (inpVal mod divisor); + tmpStrIndex := tmpStrIndex + 1 ; + inpVal := inpVal / divisor ; + END LOOP ; + END IF ; + IF (appendPos /= 1 ) THEN + resultStr(appendPos) := ',' ; + appendPos := appendPos + 1 ; + END IF ; + + FOR i IN tmpStrIndex-1 DOWNTO 1 LOOP + resultStr(appendPos) := tmpStr(i) ; + appendPos := appendPos + 1 ; + END LOOP ; +END IntToStr ; + +-- ---------------------------------------------------------------------------- +TYPE CheckType IS ( + SetupCheck, + HoldCheck, + RecoveryCheck, + RemovalCheck, + PulseWidCheck, + PeriodCheck +); + +TYPE CheckInfoType IS RECORD + Violation : BOOLEAN; + CheckKind : CheckType; + ObsTime : TIME; + ExpTime : TIME; + DetTime : TIME; + State : X01; +END RECORD; + +TYPE LogicCvtTableType IS ARRAY (std_ulogic) OF CHARACTER; +TYPE HiLoStrType IS ARRAY (std_ulogic RANGE 'X' TO '1') OF STRING(1 TO 4); + +CONSTANT LogicCvtTable : LogicCvtTableType + := ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-'); +CONSTANT HiLoStr : HiLoStrType := (" X ", " Low", "High" ); + +TYPE EdgeSymbolMatchType IS ARRAY (X01,X01,VitalEdgeSymbolType) OF BOOLEAN; + +-- last value, present value, edge symbol +CONSTANT EdgeSymbolMatch : EdgeSymbolMatchType := + ( + 'X' => + ( 'X'=>( OTHERS => FALSE), + '0'=>('N'|'F'|'v'|'E'|'D'|'*' => TRUE, OTHERS => FALSE ), + '1'=>('P'|'R'|'^'|'E'|'A'|'*' => TRUE, OTHERS => FALSE ) + ), + '0' => + ( 'X'=>( 'r'|'p'|'R'|'A'|'*' => TRUE, OTHERS => FALSE ), + '0'=>( OTHERS => FALSE ), + '1'=>( '/'|'P'|'p'|'R'|'*' => TRUE, OTHERS => FALSE ) + ), + '1' => + ( 'X'=>( 'f'|'n'|'F'|'D'|'*' => TRUE, OTHERS => FALSE ), + '0'=>( '\'|'N'|'n'|'F'|'*' => TRUE, OTHERS => FALSE ), + '1'=>( OTHERS => FALSE ) + ) + ); + +-- ---------------------------------------------------------------------------- +FUNCTION Minimum ( + CONSTANT t1, t2 : IN TIME +) RETURN TIME IS +BEGIN + IF (t1 < t2) THEN RETURN (t1); ELSE RETURN (t2); END IF; +END Minimum; + +-- ---------------------------------------------------------------------------- +FUNCTION Maximum ( + CONSTANT t1, t2 : IN TIME +) RETURN TIME IS +BEGIN + IF (t1 < t2) THEN RETURN (t2); ELSE RETURN (t1); END IF; +END Maximum; + +-- ---------------------------------------------------------------------------- +-- FUNCTION: VitalMemoryCalcDelay +-- Description: Select Transition dependent Delay. +-- Used internally by VitalMemorySelectDelay. +-- ---------------------------------------------------------------------------- +FUNCTION VitalMemoryCalcDelay ( + CONSTANT NewVal : IN STD_ULOGIC := 'X'; + CONSTANT OldVal : IN STD_ULOGIC := 'X'; + CONSTANT Delay : IN VitalDelayType01ZX +) RETURN VitalMemoryDelayType IS + VARIABLE Result : VitalMemoryDelayType; +BEGIN + CASE Oldval IS + WHEN '0' | 'L' => + CASE Newval IS + WHEN '0' | 'L' => + Result.PropDelay := Delay(tr10); + WHEN '1' | 'H' => + Result.PropDelay := Delay(tr01); + WHEN 'Z' => + Result.PropDelay := Delay(tr0Z); + WHEN OTHERS => + Result.PropDelay := Minimum(Delay(tr01), Delay(tr0Z)); + END CASE; + Result.OutputRetainDelay := Delay(tr0X); + WHEN '1' | 'H' => + CASE Newval IS + WHEN '0' | 'L' => + Result.PropDelay := Delay(tr10); + WHEN '1' | 'H' => + Result.PropDelay := Delay(tr01); + WHEN 'Z' => + Result.PropDelay := Delay(tr1Z); + WHEN OTHERS => + Result.PropDelay := Minimum(Delay(tr10), Delay(tr1Z)); + END CASE; + Result.OutputRetainDelay := Delay(tr1X); + WHEN 'Z' => + CASE Newval IS + WHEN '0' | 'L' => + Result.PropDelay := Delay(trZ0); + WHEN '1' | 'H' => + Result.PropDelay := Delay(trZ1); + WHEN 'Z' => + Result.PropDelay := Maximum(Delay(tr1Z), Delay(tr0Z)); + WHEN OTHERS => + Result.PropDelay := Minimum(Delay(trZ1), Delay(trZ0)); + END CASE; + Result.OutputRetainDelay := Delay(trZX); + WHEN OTHERS => + CASE Newval IS + WHEN '0' | 'L' => + Result.PropDelay := Maximum(Delay(tr10), Delay(trZ0)); + WHEN '1' | 'H' => + Result.PropDelay := Maximum(Delay(tr01), Delay(trZ1)); + WHEN 'Z' => + Result.PropDelay := Maximum(Delay(tr1Z), Delay(tr0Z)); + WHEN OTHERS => + Result.PropDelay := Maximum(Delay(tr10), Delay(tr01)); + END CASE; + Result.OutputRetainDelay := Minimum(Delay(tr1X), Delay(tr0X)); + END CASE; + RETURN Result; +END VitalMemoryCalcDelay; + +-- ---------------------------------------------------------------------------- +FUNCTION VitalMemoryCalcDelay ( + CONSTANT NewVal : IN STD_ULOGIC := 'X'; + CONSTANT OldVal : IN STD_ULOGIC := 'X'; + CONSTANT Delay : IN VitalDelayType01Z +) RETURN VitalMemoryDelayType IS + VARIABLE Result : VitalMemoryDelayType; +BEGIN +CASE Oldval IS + WHEN '0' | 'L' => + CASE Newval IS + WHEN '0' | 'L' => Result.PropDelay := Delay(tr10); + WHEN '1' | 'H' => Result.PropDelay := Delay(tr01); + WHEN OTHERS => + Result.PropDelay := Minimum(Delay(tr01), Delay(tr10)); + END CASE; + Result.OutputRetainDelay := Delay(tr0Z); + WHEN '1' | 'H' => + CASE Newval IS + WHEN '0' | 'L' => Result.PropDelay := Delay(tr10); + WHEN '1' | 'H' => Result.PropDelay := Delay(tr01); + WHEN OTHERS => + Result.PropDelay := Minimum(Delay(tr10), Delay(tr01)); + END CASE; + Result.OutputRetainDelay := Delay(tr1Z); + WHEN OTHERS => + Result.PropDelay := Maximum(Delay(tr10),Delay(tr01)); + Result.OutputRetainDelay := Minimum(Delay(tr1Z),Delay(tr0Z)); + END CASE; + RETURN Result; +END VitalMemoryCalcDelay; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryUpdateInputChangeTime ( + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + VARIABLE NumBitsPerSubword : INTEGER +) IS + VARIABLE LastInputValue : STD_LOGIC_VECTOR(InputSignal'LENGTH-1 downto 0); + VARIABLE InSignalNorm : STD_LOGIC_VECTOR(InputSignal'LENGTH-1 downto 0); + VARIABLE ChangeTimeNorm : VitalTimeArrayT(InputSignal'LENGTH-1 downto 0); + VARIABLE BitsPerWord : INTEGER; +BEGIN + LastInputValue := InputSignal'LAST_VALUE; + IF NumBitsPerSubword = DefaultNumBitsPerSubword THEN + BitsPerWord := InputSignal'LENGTH; + ELSE + BitsPerWord := NumBitsPerSubword; + END IF; + + FOR i IN InSignalNorm'RANGE LOOP + IF (InSignalNorm(i) /= LastInputValue(i)) THEN + ChangeTimeNorm(i/BitsPerWord) := NOW - InputSignal'LAST_EVENT; + ELSE + ChangeTimeNorm(i/BitsPerWord) := InputChangeTimeArray(i); + END IF; + END LOOP; + + FOR i IN ChangeTimeNorm'RANGE LOOP + ChangeTimeNorm(i) := ChangeTimeNorm(i/BitsPerword); + END LOOP; + + InputChangeTimeArray := ChangeTimeNorm; + + -- for debug purpose only + PrintInputChangeTime(InputChangeTimeArray); +END VitalMemoryUpdateInputChangeTime; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryUpdateInputChangeTime +-- Description: Time since previous event for each bit of the input +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryUpdateInputChangeTime ( + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR +) IS + VARIABLE LastInputValue : STD_LOGIC_VECTOR(InputSignal'RANGE) ; +BEGIN + LastInputValue := InputSignal'LAST_VALUE; + FOR i IN InputSignal'RANGE LOOP + IF (InputSignal(i) /= LastInputValue(i)) THEN + InputChangeTimeArray(i) := NOW - InputSignal'LAST_EVENT; + END IF; + END LOOP; + -- for debug purpose only + PrintInputChangeTime(InputChangeTimeArray); +END VitalMemoryUpdateInputChangeTime; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryUpdateInputChangeTime ( + VARIABLE InputChangeTime : INOUT TIME; + SIGNAL InputSignal : IN STD_ULOGIC +) IS +BEGIN + InputChangeTime := NOW - InputSignal'LAST_EVENT; + -- for debug purpose only + PrintInputChangeTime(InputChangeTime); +END VitalMemoryUpdateInputChangeTime; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryExpandPortFlag ( + CONSTANT PortFlag : IN VitalPortFlagVectorType; + CONSTANT NumBitsPerSubword : IN INTEGER; + VARIABLE ExpandedPortFlag : OUT VitalPortFlagVectorType +) IS + VARIABLE PortFlagNorm : VitalPortFlagVectorType( + PortFlag'LENGTH-1 downto 0) := PortFlag; + VARIABLE ExpandedPortFlagNorm : VitalPortFlagVectorType( + ExpandedPortFlag'LENGTH-1 downto 0); + VARIABLE SubwordIndex : INTEGER; +BEGIN + FOR Index IN INTEGER RANGE 0 to ExpandedPortFlag'LENGTH-1 LOOP + IF NumBitsPerSubword = DefaultNumBitsPerSubword THEN + SubwordIndex := 0; + ELSE + SubwordIndex := Index / NumBitsPerSubword; + END IF; + ExpandedPortFlagNorm(Index) := PortFlagNorm(SubWordIndex); + END LOOP; + ExpandedPortFlag := ExpandedPortFlagNorm; +END VitalMemoryExpandPortFlag; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemorySelectDelay +-- Description : Select Propagation Delay. Used internally by +-- VitalMemoryAddPathDelay. +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- VitalDelayArrayType01ZX +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySelectDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE InputChangeTimeArray : IN VitalTimeArrayT; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN +) IS + VARIABLE InputArrayLow : INTEGER := 0; + VARIABLE InputArrayHigh : INTEGER := 0; + VARIABLE DelayArrayIndex : INTEGER := 0; + VARIABLE NumBitsPerSubWord : INTEGER := DefaultNumBitsPerSubword; + VARIABLE NewValue : STD_ULOGIC; + VARIABLE OldValue : STD_ULOGIC; + VARIABLE OutputLength : INTEGER := 0; + VARIABLE OutArrayIndex : INTEGER; + VARIABLE PropDelay : TIME; + VARIABLE RetainDelay : TIME; + VARIABLE CurPropDelay : TIME; + VARIABLE CurRetainDelay : TIME; + VARIABLE InputAge : TIME; + VARIABLE CurInputAge : TIME; + VARIABLE InputChangeTimeNorm : VitalTimeArrayT( + InputChangeTimeArray'LENGTH-1 downto 0):=InputChangeTimeArray; + VARIABLE DelayArrayNorm : VitalDelayArrayType01ZX( + PathDelayArray'LENGTH-1 downto 0):= PathDelayArray; + VARIABLE ScheduleDataArrayNorm : VitalMemoryScheduleDatavectorType + (ScheduleDataArray'LENGTH-1 downto 0):= ScheduleDataArray; + + -- for debug purpose + VARIABLE debugprop : VitalTimeArrayT(MaxNoInputBits-1 downto 0); + VARIABLE debugretain : VitalTimeArrayT(MaxNoInputBits-1 downto 0); + +BEGIN + + -- for debug purpose + PrintArcType(ArcType); + + OutputLength := ScheduleDataArray'LENGTH; + FOR OutBitPos IN 0 to (OutputLength -1) LOOP + NEXT WHEN PathConditionArray(OutBitPos) = FALSE; + + NEXT WHEN ((ScheduleDataArrayNorm(OutBitPos).ScheduleValue + = ScheduleDataArrayNorm(OutBitPos).OutputData) AND + (ScheduleDataArrayNorm(OutBitPos).ScheduleTime <= NOW) AND + (OutputRetainFlag = FALSE )); + + NewValue := ScheduleDataArrayNorm(OutBitPos).OutputData; + OldValue := ScheduleDataArrayNorm(OutBitPos).LastOutputValue; + PropDelay :=ScheduleDataArrayNorm(OutBitPos).PropDelay; + InputAge := ScheduleDataArrayNorm(OutBitPos).InputAge; + RetainDelay:=ScheduleDataArrayNorm(OutBitPos).OutputRetainDelay; + NumBitsPerSubWord:=ScheduleDataArrayNorm(OutBitPos).NumBitsPerSubWord; + + CASE ArcType IS + WHEN ParallelArc => + InputArrayLow := OutBitPos; + InputArrayHigh := OutBitPos; + DelayArrayIndex := OutBitPos; + WHEN CrossArc => + InputArrayLow := 0; + InputArrayHigh := InputChangeTimeArray'LENGTH - 1 ; + DelayArrayIndex := OutBitPos; + WHEN SubwordArc => + InputArrayLow := OutBitPos / NumBitsPerSubWord; + InputArrayHigh := OutBitPos / NumBitsPerSubWord; + DelayArrayIndex := OutBitPos + + (OutputLength * (OutBitPos / NumBitsPerSubWord)); + END CASE; + + FOR i IN InputArrayLow TO InputArrayHigh LOOP + (CurPropDelay,CurRetainDelay) := + VitalMemoryCalcDelay ( + NewValue, OldValue, DelayArrayNorm(DelayArrayIndex) + ); + IF (OutputRetainFlag = FALSE) THEN + CurRetainDelay := TIME'HIGH; + END IF; + + -- for debug purpose + debugprop(i) := CurPropDelay; + debugretain(i) := CurRetainDelay; + + IF ArcType = CrossArc THEN + DelayArrayIndex := DelayArrayIndex + OutputLength; + END IF; + + -- If there is one input change at a time, then choose the + -- delay from that input. If there is simultaneous input + -- change, then choose the minimum of propagation delays + + IF (InputChangeTimeNorm(i) < 0 ns)THEN + CurInputAge := TIME'HIGH; + ELSE + CurInputAge := NOW - InputChangeTimeNorm(i); + END IF; + + IF (CurInputAge < InputAge)THEN + PropDelay := CurPropDelay; + RetainDelay := CurRetainDelay; + InputAge := CurInputAge; + ELSIF (CurInputAge = InputAge)THEN + IF (CurPropDelay < PropDelay) THEN + PropDelay := CurPropDelay; + END IF; + IF (OutputRetainFlag = TRUE) THEN + IF (CurRetainDelay < RetainDelay) THEN + RetainDelay := CurRetainDelay; + END IF; + END IF; + END IF; + END LOOP; + + -- Store it back to data strucutre + ScheduleDataArrayNorm(OutBitPos).PropDelay := PropDelay; + ScheduleDataArrayNorm(OutBitPos).OutputRetainDelay:= RetainDelay; + ScheduleDataArrayNorm(OutBitPos).InputAge := InputAge; + + -- for debug purpose + PrintDelay(outbitPos,InputArrayLow, InputArrayHigh, + debugprop, debugretain); + END LOOP; + + ScheduleDataArray := ScheduleDataArrayNorm; + +END VitalMemorySelectDelay; + +-- ---------------------------------------------------------------------------- +-- VitalDelayArrayType01Z +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySelectDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE InputChangeTimeArray : IN VitalTimeArrayT; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN +) IS + VARIABLE InputArrayLow : INTEGER := 0; + VARIABLE InputArrayHigh : INTEGER := 0; + VARIABLE DelayArrayIndex : INTEGER := 0; + VARIABLE NumBitsPerSubWord : INTEGER := DefaultNumBitsPerSubword; + VARIABLE NewValue : STD_ULOGIC; + VARIABLE OldValue : STD_ULOGIC; + VARIABLE OutputLength : INTEGER := 0; + VARIABLE OutArrayIndex : INTEGER; + VARIABLE PropDelay : TIME; + VARIABLE RetainDelay : TIME; + VARIABLE CurPropDelay : TIME; + VARIABLE CurRetainDelay : TIME; + VARIABLE InputAge : TIME; + VARIABLE CurInputAge : TIME; + VARIABLE InputChangeTimeNorm : VitalTimeArrayT( + InputChangeTimeArray'LENGTH-1 downto 0):=InputChangeTimeArray; + VARIABLE DelayArrayNorm : VitalDelayArrayType01Z( + PathDelayArray'LENGTH-1 downto 0):= PathDelayArray; + VARIABLE ScheduleDataArrayNorm : VitalMemoryScheduleDatavectorType + (ScheduleDataArray'LENGTH-1 downto 0):=ScheduleDataArray; + + -- for debug purpose + VARIABLE debugprop : VitalTimeArrayT(MaxNoInputBits-1 downto 0); + VARIABLE debugretain : VitalTimeArrayT(MaxNoInputBits-1 downto 0); +BEGIN + + -- for debug purpose + PrintArcType(ArcType); + + OutputLength := ScheduleDataArray'LENGTH; + FOR OutBitPos IN 0 to (OutputLength -1) LOOP + NEXT WHEN PathConditionArray(OutBitPos) = FALSE; + + NEXT WHEN ((ScheduleDataArrayNorm(OutBitPos).ScheduleValue + = ScheduleDataArrayNorm(OutBitPos).OutputData) AND + (ScheduleDataArrayNorm(OutBitPos).ScheduleTime <= NOW) AND + (OutputRetainFlag = FALSE)); + + NewValue := ScheduleDataArrayNorm(OutBitPos).OutputData; + OldValue := ScheduleDataArrayNorm(OutBitPos).LastOutputValue; + PropDelay :=ScheduleDataArrayNorm(OutBitPos).PropDelay; + InputAge := ScheduleDataArrayNorm(OutBitPos).InputAge; + RetainDelay:=ScheduleDataArrayNorm(OutBitPos).OutputRetainDelay; + NumBitsPerSubWord:=ScheduleDataArrayNorm(OutBitPos).NumBitsPerSubWord; + + CASE ArcType IS + WHEN ParallelArc => + InputArrayLow := OutBitPos; + InputArrayHigh := OutBitPos; + DelayArrayIndex := OutBitPos; + WHEN CrossArc => + InputArrayLow := 0; + InputArrayHigh := InputChangeTimeArray'LENGTH-1; + DelayArrayIndex := OutBitPos; + WHEN SubwordArc => + InputArrayLow := OutBitPos / NumBitsPerSubWord; + InputArrayHigh := OutBitPos / NumBitsPerSubWord; + DelayArrayIndex := OutBitPos + + (OutputLength * (OutBitPos / NumBitsPerSubWord)); + END CASE; + + FOR i IN InputArrayLow TO InputArrayHigh LOOP + (CurPropDelay, CurRetainDelay) := + VitalMemoryCalcDelay ( + NewValue, OldValue, DelayArrayNorm(DelayArrayIndex) + ); + IF (OutputRetainFlag = FALSE) THEN + CurRetainDelay := TIME'HIGH; + END IF; + + -- for debug purpose + debugprop(i) := CurPropDelay; + debugretain(i) := CurRetainDelay; + + IF (ArcType = CrossArc) THEN + DelayArrayIndex := DelayArrayIndex + OutputLength; + END IF; + + -- If there is one input change at a time, then choose the + -- delay from that input. If there is simultaneous input + -- change, then choose the minimum of propagation delays + + IF (InputChangeTimeNorm(i) < 0 ns) THEN + CurInputAge := TIME'HIGH; + ELSE + CurInputAge := NOW - InputChangeTimeNorm(i); + END IF; + + IF (CurInputAge < InputAge) THEN + PropDelay := CurPropDelay; + RetainDelay := CurRetainDelay; + InputAge := CurInputAge; + ELSIF (CurInputAge = InputAge) THEN + IF (CurPropDelay < PropDelay) THEN + PropDelay := CurPropDelay; + END IF; + IF (OutputRetainFlag = TRUE) THEN + IF (CurRetainDelay < RetainDelay) THEN + RetainDelay := CurRetainDelay; + END IF; + END IF; + END IF; + END LOOP; + + -- Store it back to data strucutre + ScheduleDataArrayNorm(OutBitPos).PropDelay := PropDelay; + ScheduleDataArrayNorm(OutBitPos).OutputRetainDelay:= RetainDelay; + ScheduleDataArrayNorm(OutBitPos).InputAge := InputAge; + + -- for debug purpose + PrintDelay(outbitPos, InputArrayLow, InputArrayHigh, + debugprop, debugretain); + END LOOP; + + ScheduleDataArray := ScheduleDataArrayNorm; + +END VitalMemorySelectDelay; + +-- ---------------------------------------------------------------------------- +-- VitalDelayArrayType01 +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySelectDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE InputChangeTimeArray : IN VitalTimeArrayT; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType; + CONSTANT PathConditionArray : IN VitalBoolArrayT +) IS + VARIABLE CurPathDelay : VitalMemoryDelayType; + VARIABLE InputArrayLow : INTEGER := 0; + VARIABLE InputArrayHigh : INTEGER := 0; + VARIABLE DelayArrayIndex : INTEGER := 0; + VARIABLE NumBitsPerSubWord : INTEGER := DefaultNumBitsPerSubword; + VARIABLE NewValue : STD_ULOGIC; + VARIABLE OldValue : STD_ULOGIC; + VARIABLE OutputLength : INTEGER := 0; + VARIABLE OutArrayIndex : INTEGER; + VARIABLE PropDelay : TIME; + VARIABLE CurPropDelay : TIME; + VARIABLE InputAge : TIME; + VARIABLE CurInputAge : TIME; + VARIABLE InputChangeTimeNorm : VitalTimeArrayT( + InputChangeTimeArray'LENGTH-1 downto 0):= InputChangeTimeArray; + VARIABLE DelayArrayNorm : VitalDelayArrayType01( + PathDelayArray'LENGTH-1 downto 0):= PathDelayArray; + VARIABLE ScheduleDataArrayNorm : VitalMemoryScheduleDatavectorType + (ScheduleDataArray'LENGTH-1 downto 0):=ScheduleDataArray; + + -- for debug purpose + VARIABLE debugprop : VitalTimeArrayT(MaxNoInputBits-1 downto 0); + VARIABLE debugretain : VitalTimeArrayT(MaxNoInputBits-1 downto 0); +BEGIN + + -- for debug purpose + PrintArcType(ArcType); + + OutputLength := ScheduleDataArray'LENGTH; + FOR OutBitPos IN 0 to (OutputLength -1) LOOP + NEXT WHEN PathConditionArray(OutBitPos) = FALSE; + + NEXT WHEN ((ScheduleDataArrayNorm(OutBitPos).ScheduleValue + = ScheduleDataArrayNorm(OutBitPos).OutputData) AND + (ScheduleDataArrayNorm(OutBitPos).ScheduleTime <= NOW)); + + NewValue := ScheduleDataArrayNorm(OutBitPos).OutputData; + OldValue := ScheduleDataArrayNorm(OutBitPos).LastOutputValue; + PropDelay :=ScheduleDataArrayNorm(OutBitPos).PropDelay; + InputAge := ScheduleDataArrayNorm(OutBitPos).InputAge; + NumBitsPerSubWord:=ScheduleDataArrayNorm(OutBitPos).NumBitsPerSubWord; + + CASE ArcType IS + WHEN ParallelArc => + InputArrayLow := OutBitPos; + InputArrayHigh := OutBitPos; + DelayArrayIndex := OutBitPos; + WHEN CrossArc => + InputArrayLow := 0; + InputArrayHigh := InputChangeTimeArray'LENGTH-1; + DelayArrayIndex := OutBitPos; + WHEN SubwordArc => + InputArrayLow := OutBitPos / NumBitsPerSubWord; + InputArrayHigh := OutBitPos / NumBitsPerSubWord; + DelayArrayIndex := OutBitPos + + (OutputLength * (OutBitPos / NumBitsPerSubWord)); + END CASE; + + FOR i IN InputArrayLow TO InputArrayHigh LOOP + CurPropDelay:= VitalCalcDelay (NewValue, + OldValue, DelayArrayNorm(DelayArrayIndex)); + + -- for debug purpose + debugprop(i) := CurPropDelay; + debugretain(i) := TIME'HIGH; + + IF (ArcType = CrossArc) THEN + DelayArrayIndex := DelayArrayIndex + OutputLength; + END IF; + + -- If there is one input change at a time, then choose the + -- delay from that input. If there is simultaneous input + -- change, then choose the minimum of propagation delays + + IF (InputChangeTimeNorm(i) < 0 ns) THEN + CurInputAge := TIME'HIGH; + ELSE + CurInputAge := NOW - InputChangeTimeNorm(i); + END IF; + IF (CurInputAge < InputAge) THEN + PropDelay := CurPropDelay; + InputAge := CurInputAge; + ELSIF (CurInputAge = InputAge) THEN + IF (CurPropDelay < PropDelay) THEN + PropDelay := CurPropDelay; + END IF; + END IF; + END LOOP; + + -- Store it back to data strucutre + ScheduleDataArrayNorm(OutBitPos).PropDelay := PropDelay; + ScheduleDataArrayNorm(OutBitPos).InputAge := InputAge; + + -- for debug purpose + PrintDelay(outbitPos, InputArrayLow, InputArrayHigh, + debugprop, debugretain); + END LOOP; + + ScheduleDataArray := ScheduleDataArrayNorm; + +END VitalMemorySelectDelay; + +-- ---------------------------------------------------------------------------- +-- VitalDelayArrayType +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySelectDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE InputChangeTimeArray : IN VitalTimeArrayT; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType; + CONSTANT PathConditionArray : IN VitalBoolArrayT +) IS + VARIABLE InputArrayLow : INTEGER := 0; + VARIABLE InputArrayHigh : INTEGER := 0; + VARIABLE DelayArrayIndex : INTEGER := 0; + VARIABLE NumBitsPerSubWord : INTEGER := DefaultNumBitsPerSubword; + VARIABLE NewValue : STD_ULOGIC; + VARIABLE OldValue : STD_ULOGIC; + VARIABLE OutputLength : INTEGER := 0; + VARIABLE OutArrayIndex : INTEGER; + VARIABLE PropDelay : TIME; + VARIABLE CurPropDelay : TIME; + VARIABLE InputAge : TIME; + VARIABLE CurInputAge : TIME; + VARIABLE InputChangeTimeNorm : VitalTimeArrayT( + InputChangeTimeArray'LENGTH-1 downto 0) := InputChangeTimeArray; + VARIABLE DelayArrayNorm : VitalDelayArrayType( + PathDelayArray'LENGTH-1 downto 0) := PathDelayArray; + VARIABLE ScheduleDataArrayNorm : VitalMemoryScheduleDatavectorType + (ScheduleDataArray'LENGTH-1 downto 0) := ScheduleDataArray; + + -- for debug purpose + VARIABLE debugprop : VitalTimeArrayT(MaxNoInputBits-1 downto 0); + VARIABLE debugretain : VitalTimeArrayT(MaxNoInputBits-1 downto 0); +BEGIN + + -- for debug purpose + PrintArcType(ArcType); + + OutputLength := ScheduleDataArray'LENGTH; + FOR OutBitPos IN 0 to (OutputLength -1) LOOP + NEXT WHEN PathConditionArray(OutBitPos) = FALSE; + + NEXT WHEN ((ScheduleDataArrayNorm(OutBitPos).ScheduleValue + = ScheduleDataArrayNorm(OutBitPos).OutputData) AND + (ScheduleDataArrayNorm(OutBitPos).ScheduleTime <= NOW)); + + NewValue := ScheduleDataArrayNorm(OutBitPos).OutputData; + OldValue := ScheduleDataArrayNorm(OutBitPos).LastOutputValue; + PropDelay :=ScheduleDataArrayNorm(OutBitPos).PropDelay; + InputAge := ScheduleDataArrayNorm(OutBitPos).InputAge; + NumBitsPerSubWord:=ScheduleDataArrayNorm(OutBitPos).NumBitsPerSubWord; + + CASE ArcType IS + WHEN ParallelArc => + InputArrayLow := OutBitPos; + InputArrayHigh := OutBitPos; + DelayArrayIndex := OutBitPos; + WHEN CrossArc => + InputArrayLow := 0; + InputArrayHigh := InputChangeTimeArray'LENGTH-1; + DelayArrayIndex := OutBitPos; + WHEN SubwordArc => + InputArrayLow := OutBitPos / NumBitsPerSubWord; + InputArrayHigh := OutBitPos / NumBitsPerSubWord; + DelayArrayIndex := OutBitPos + + (OutputLength * (OutBitPos / NumBitsPerSubWord)); + END CASE; + + FOR i IN InputArrayLow TO InputArrayHigh LOOP + CurPropDelay := VitalCalcDelay (NewValue, + OldValue, DelayArrayNorm(DelayArrayIndex)); + + -- for debug purpose + debugprop(i) := CurPropDelay; + debugretain(i) := TIME'HIGH; + + IF (ArcType = CrossArc) THEN + DelayArrayIndex := DelayArrayIndex + OutputLength; + END IF; + + -- If there is one input change at a time, then choose the + -- delay from that input. If there is simultaneous input + -- change, then choose the minimum of propagation delays + + IF (InputChangeTimeNorm(i) < 0 ns) THEN + CurInputAge := TIME'HIGH; + ELSE + CurInputAge := NOW - InputChangeTimeNorm(i); + END IF; + + IF (CurInputAge < InputAge) THEN + PropDelay := CurPropDelay; + InputAge := CurInputAge; + ELSIF (CurInputAge = InputAge) THEN + IF (CurPropDelay < PropDelay) THEN + PropDelay := CurPropDelay; + END IF; + END IF; + END LOOP; + + -- Store it back to data strucutre + ScheduleDataArrayNorm(OutBitPos).PropDelay := PropDelay; + ScheduleDataArrayNorm(OutBitPos).InputAge := InputAge; + + -- for debug purpose + PrintDelay(outbitPos, InputArrayLow, InputArrayHigh, + debugprop, debugretain); + END LOOP; + + ScheduleDataArray := ScheduleDataArrayNorm; + +END VitalMemorySelectDelay; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryInitPathDelay +-- Description: To initialize Schedule Data structure for an +-- output. +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryInitPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE OutputDataArray : IN STD_LOGIC_VECTOR; + CONSTANT NumBitsPerSubWord : IN INTEGER := DefaultNumBitsPerSubword +) IS +BEGIN + -- Initialize the ScheduleData Structure. + FOR i IN OutputDataArray'RANGE LOOP + ScheduleDataArray(i).OutputData := OutputDataArray(i); + ScheduleDataArray(i).PropDelay := TIME'HIGH; + ScheduleDataArray(i).OutputRetainDelay := TIME'HIGH; + ScheduleDataArray(i).InputAge := TIME'HIGH; + ScheduleDataArray(i).NumBitsPerSubWord := NumBitsPerSubWord; + + -- Update LastOutputValue of Output if the Output has + -- already been scheduled. + IF ((ScheduleDataArray(i).ScheduleValue /= OutputDataArray(i)) AND + (ScheduleDataArray(i).ScheduleTime <= NOW)) THEN + ScheduleDataArray(i).LastOutputValue + := ScheduleDataArray(i).ScheduleValue; + END IF; + END LOOP; + + -- for debug purpose + DebugMsg1; + PrintScheduleDataArray(ScheduleDataArray); + +END VitalMemoryInitPathDelay; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryInitPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + VARIABLE OutputData : IN STD_ULOGIC +) IS + VARIABLE ScheduledataArray: VitalMemoryScheduleDataVectorType + (0 downto 0); + VARIABLE OutputDataArray : STD_LOGIC_VECTOR(0 downto 0); +BEGIN + ScheduledataArray(0) := ScheduleData; + OutputDataArray(0) := OutputData; + VitalMemoryInitPathDelay ( + ScheduleDataArray => ScheduleDataArray, + OutputDataArray => OutputDataArray, + NumBitsPerSubWord => DefaultNumBitsPerSubword + ); + + -- for debug purpose + DebugMsg1; + PrintScheduleDataArray( ScheduleDataArray); + +END VitalMemoryInitPathDelay; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryAddPathDelay +-- Description: Declare a path for one scalar/vector input to +-- the output for which Schedule Data has been +-- initialized previously. +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- #1 +-- DelayType - VitalMemoryDelayType +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelay : IN VitalDelayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathDelayArray : VitalDelayArrayType(0 downto 0); + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + PathDelayArray(0) := PathDelay; + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #2 +-- DelayType - VitalMemoryDelayType +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray + ); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #3 +-- DelayType - VitalMemoryDelayType +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR Mem400 + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #4 +-- DelayType - VitalMemoryDelayType +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE ScheduleDataArray : VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + + ScheduleDataArray(0) := ScheduleData; + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #5 +-- DelayType - VitalMemoryDelayType +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #6 +-- DelayType - VitalMemoryDelayType +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT +) IS + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR MEM400; + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #7 +-- DelayType - VitalMemoryDelayType01 +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelay : IN VitalDelayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathDelayArray : VitalDelayArrayType01(0 downto 0); + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + PathDelayArray(0) := PathDelay; + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #8 +-- DelayType - VitalMemoryDelayType01 +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #9 +-- DelayType - VitalMemoryDelayType01 +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR MEM400; + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #10 +-- DelayType - VitalMemoryDelayType01 +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray: INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +)IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #11 +-- DelayType - VitalMemoryDelayType01 +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +) IS + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #12 +-- DelayType - VitalMemoryDelayType01 +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT +) IS + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR MEM400; + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #13 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelay : IN VitalDelayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathDelayArray : VitalDelayArrayType01Z(0 downto 0); + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + PathDelayArray(0) := PathDelay; + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #14 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); + +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #15 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0); + VARIABLE PathConditionArrayExp : VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #16 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + NumBitsPerSubword := ScheduleDataArray(0).NumBitsPerSubword; + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, + InputSignal, + NumBitsPerSubword + ); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #17 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'LEFT).NumBitsPerSubword; + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, + InputSignal, + NumBitsPerSubword + ); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #18 +-- DelayType - VitalMemoryDelayType01Z +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS +VARIABLE NumBitsPerSubword : INTEGER; +VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0); +VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, InputSignal, + NumBitsPerSubword); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #19 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelay : IN VitalDelayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE PathDelayArray : VitalDelayArrayType01ZX(0 downto 0); + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + PathDelayArray(0) := PathDelay; + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #20 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray :INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #21 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray :INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTime : INOUT TIME; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +) IS + VARIABLE InputChangeTimeArray : VitalTimeArrayT(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR MEM400; + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + VitalMemoryUpdateInputChangeTime(InputChangeTime, InputSignal); + InputChangeTimeArray(0) := InputChangeTime; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #22 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS + VARIABLE ScheduleDataArray : + VitalMemoryScheduleDataVectorType(0 downto 0); + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArray : VitalBoolArrayT(0 downto 0); +BEGIN + PathConditionArray(0) := PathCondition; + ScheduleDataArray(0) := ScheduleData; + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'LEFT).NumBitsPerSubword; + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, InputSignal, + NumBitsPerSubword); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #23 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArray : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + FOR i IN PathConditionArray'RANGE LOOP + PathConditionArray(i) := PathCondition; + END LOOP; + + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'LEFT).NumBitsPerSubword; + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, InputSignal, + NumBitsPerSubword); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArray, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- #24 +-- DelayType - VitalMemoryDelayType01XZ +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +) IS + VARIABLE NumBitsPerSubword : INTEGER; + VARIABLE PathConditionArrayNorm : + VitalBoolArrayT(PathConditionArray'LENGTH-1 downto 0) := PathConditionArray; -- IR MEM400; + VARIABLE PathConditionArrayExp : + VitalBoolArrayT(ScheduleDataArray'LENGTH-1 downto 0); +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'RIGHT).NumBitsPerSubword; + FOR i IN PathConditionArrayExp'RANGE LOOP + PathConditionArrayExp(i) := PathConditionArrayNorm(i/NumBitsPerSubword); + END LOOP; + + IF (OutputRetainBehavior = WordCorrupt AND + ArcType = ParallelArc AND + OutputRetainFlag = TRUE) THEN + VitalMemoryUpdateInputChangeTime( + InputChangeTimeArray, InputSignal, + NumBitsPerSubword); + ELSE + VitalMemoryUpdateInputChangeTime(InputChangeTimeArray, InputSignal); + END IF; + + VitalMemorySelectDelay( + ScheduleDataArray, InputChangeTimeArray, + OutputSignalName, PathDelayArray, + ArcType, PathConditionArrayExp, OutputRetainFlag); +END VitalMemoryAddPathDelay; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemorySchedulePathDelay +-- Description: Schedule Output after Propagation Delay selected +-- by checking all the paths added thru' +-- VitalMemoryAddPathDelay. +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PortFlag : IN VitalPortFlagType := VitalDefaultPortFlag; + CONSTANT OutputMap : IN VitalOutputMapType:= VitalDefaultOutputMap; + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType +) IS + VARIABLE Age : TIME; + VARIABLE PropDelay : TIME; + VARIABLE RetainDelay : TIME; + VARIABLE Data : STD_ULOGIC; +BEGIN + IF (PortFlag.OutputDisable /= TRUE) THEN + FOR i IN ScheduleDataArray'RANGE LOOP + PropDelay := ScheduleDataArray(i).PropDelay; + RetainDelay := ScheduleDataArray(i).OutputRetainDelay; + + NEXT WHEN PropDelay = TIME'HIGH; + + Age := ScheduleDataArray(i).InputAge; + Data := ScheduleDataArray(i).OutputData; + + IF (Age < RetainDelay and RetainDelay < PropDelay) THEN + OutSignal(i) <= TRANSPORT 'X' AFTER (RetainDelay - Age); + END IF; + + IF (Age <= PropDelay) THEN + OutSignal(i)<= TRANSPORT OutputMap(Data)AFTER (PropDelay-Age); + ScheduleDataArray(i).ScheduleValue := Data; + ScheduleDataArray(i).ScheduleTime := NOW + PropDelay - Age; + END IF; + END LOOP; + END IF; + + -- for debug purpose + PrintScheduleDataArray(ScheduleDataArray); + + -- for debug purpose + ScheduleDebugMsg; +END VitalMemorySchedulePathDelay; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemorySchedulePathDelay +-- Description: Schedule Output after Propagation Delay selected +-- by checking all the paths added thru' +-- VitalMemoryAddPathDelay. +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING :=""; + CONSTANT PortFlag : IN VitalPortFlagVectorType; + CONSTANT OutputMap : IN VitalOutputMapType:= VitalDefaultOutputMap; + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType +) IS + VARIABLE Age : TIME; + VARIABLE PropDelay : TIME; + VARIABLE RetainDelay : TIME; + VARIABLE Data : STD_ULOGIC; + VARIABLE ExpandedPortFlag : + VitalPortFlagVectorType(ScheduleDataArray'RANGE); + VARIABLE NumBitsPerSubword : INTEGER; +BEGIN + NumBitsPerSubword := + ScheduleDataArray(ScheduleDataArray'LEFT).NumBitsPerSubword; + VitalMemoryExpandPortFlag( PortFlag, NumBitsPerSubword, ExpandedPortFlag ); + FOR i IN ScheduleDataArray'RANGE LOOP + NEXT WHEN ExpandedPortFlag(i).OutputDisable = TRUE; + + PropDelay := ScheduleDataArray(i).PropDelay; + RetainDelay := ScheduleDataArray(i).OutputRetainDelay; + + NEXT WHEN PropDelay = TIME'HIGH; + + Age := ScheduleDataArray(i).InputAge; + Data := ScheduleDataArray(i).OutputData; + + IF (Age < RetainDelay and RetainDelay < PropDelay) THEN + OutSignal(i) <= TRANSPORT 'X' AFTER (RetainDelay - Age); + END IF; + + IF (Age <= PropDelay) THEN + OutSignal(i)<= TRANSPORT OutputMap(Data)AFTER (PropDelay-Age); + ScheduleDataArray(i).ScheduleValue := Data; + ScheduleDataArray(i).ScheduleTime := NOW + PropDelay - Age; + END IF; + END LOOP; + + -- for debug purpose + PrintScheduleDataArray(ScheduleDataArray); + + -- for debug purpose + ScheduleDebugMsg; +END VitalMemorySchedulePathDelay; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT STD_ULOGIC; + CONSTANT OutputSignalName: IN STRING :=""; + CONSTANT PortFlag : IN VitalPortFlagType := VitalDefaultPortFlag; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType +) IS + VARIABLE Age : TIME; + VARIABLE PropDelay : TIME; + VARIABLE RetainDelay : TIME; + VARIABLE Data : STD_ULOGIC; + VARIABLE ScheduleDataArray : VitalMemoryScheduleDataVectorType (0 downto 0); +BEGIN + IF (PortFlag.OutputDisable /= TRUE) THEN + ScheduledataArray(0) := ScheduleData; + PropDelay := ScheduleDataArray(0).PropDelay; + RetainDelay := ScheduleDataArray(0).OutputRetainDelay; + Age := ScheduleDataArray(0).InputAge; + Data := ScheduleDataArray(0).OutputData; + + IF (Age < RetainDelay and RetainDelay < PropDelay) THEN + OutSignal <= TRANSPORT 'X' AFTER (RetainDelay - Age); + END IF; + + IF (Age <= PropDelay and PropDelay /= TIME'HIGH) THEN + OutSignal <= TRANSPORT OutputMap(Data) AFTER (PropDelay - Age); + ScheduleDataArray(0).ScheduleValue := Data; + ScheduleDataArray(0).ScheduleTime := NOW + PropDelay - Age; + END IF; + END IF; + + -- for debug purpose + PrintScheduleDataArray(ScheduleDataArray); + + -- for debug purpose + ScheduleDebugMsg; + +END VitalMemorySchedulePathDelay; + +-- ---------------------------------------------------------------------------- +-- Procedure : InternalTimingCheck +-- ---------------------------------------------------------------------------- +PROCEDURE InternalTimingCheck ( + CONSTANT TestSignal : IN std_ulogic; + CONSTANT RefSignal : IN std_ulogic; + CONSTANT TestDelay : IN TIME := 0 ns; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + VARIABLE RefTime : IN TIME; + VARIABLE RefEdge : IN BOOLEAN; + VARIABLE TestTime : IN TIME; + VARIABLE TestEvent : IN BOOLEAN; + VARIABLE SetupEn : INOUT BOOLEAN; + VARIABLE HoldEn : INOUT BOOLEAN; + VARIABLE CheckInfo : INOUT CheckInfoType; + CONSTANT MsgOn : IN BOOLEAN +) IS + VARIABLE bias : TIME; + VARIABLE actualObsTime : TIME; + VARIABLE BC : TIME; + VARIABLE Message :LINE; +BEGIN + -- Check SETUP constraint + IF (RefEdge) THEN + IF (SetupEn) THEN + CheckInfo.ObsTime := RefTime - TestTime; + CheckInfo.State := To_X01(TestSignal); + CASE CheckInfo.State IS + WHEN '0' => + CheckInfo.ExpTime := SetupLow; + -- start of new code IR245-246 + BC := HoldHigh; + -- end of new code IR245-246 + WHEN '1' => + CheckInfo.ExpTime := SetupHigh; + -- start of new code IR245-246 + BC := HoldLow; + -- end of new code IR245-246 + WHEN 'X' => + CheckInfo.ExpTime := Maximum(SetupHigh,SetupLow); + -- start of new code IR245-246 + BC := Maximum(HoldHigh,HoldLow); + -- end of new code IR245-246 + END CASE; + -- added the second condition for IR 245-246 + CheckInfo.Violation := + ((CheckInfo.ObsTime < CheckInfo.ExpTime) + AND ( NOT ((CheckInfo.ObsTime = BC) and (BC = 0 ns)))); + -- start of new code IR245-246 + IF (CheckInfo.ExpTime = 0 ns) THEN + CheckInfo.CheckKind := HoldCheck; + ELSE + CheckInfo.CheckKind := SetupCheck; + END IF; + -- end of new code IR245-246 + SetupEn := FALSE; + ELSE + CheckInfo.Violation := FALSE; + END IF; + + -- Check HOLD constraint + ELSIF (TestEvent) THEN + IF HoldEn THEN + CheckInfo.ObsTime := TestTime - RefTime; + CheckInfo.State := To_X01(TestSignal); + CASE CheckInfo.State IS + WHEN '0' => + CheckInfo.ExpTime := HoldHigh; + -- new code for unnamed IR + CheckInfo.State := '1'; + -- start of new code IR245-246 + BC := SetupLow; + -- end of new code IR245-246 + WHEN '1' => + CheckInfo.ExpTime := HoldLow; + -- new code for unnamed IR + CheckInfo.State := '0'; + -- start of new code IR245-246 + BC := SetupHigh; + -- end of new code IR245-246 + WHEN 'X' => + CheckInfo.ExpTime := Maximum(HoldHigh,HoldLow); + -- start of new code IR245-246 + BC := Maximum(SetupHigh,SetupLow); + -- end of new code IR245-246 + END CASE; + -- added the second condition for IR 245-246 + CheckInfo.Violation := + ((CheckInfo.ObsTime < CheckInfo.ExpTime) + AND ( NOT ((CheckInfo.ObsTime = BC) and (BC = 0 ns)))); + -- start of new code IR245-246 + IF (CheckInfo.ExpTime = 0 ns) THEN + CheckInfo.CheckKind := SetupCheck; + ELSE + CheckInfo.CheckKind := HoldCheck; + END IF; + -- end of new code IR245-246 + HoldEn := NOT CheckInfo.Violation; + ELSE + CheckInfo.Violation := FALSE; + END IF; + ELSE + CheckInfo.Violation := FALSE; + END IF; + + -- Adjust report values to account for internal model delays + -- Note: TestDelay, RefDelay, TestTime, RefTime are non-negative + -- Note: bias may be negative or positive + IF MsgOn AND CheckInfo.Violation THEN + -- modified the code for correct reporting of violation in case of + -- order of signals being reversed because of internal delays + -- new variable + actualObsTime := (TestTime-TestDelay)-(RefTime-RefDelay); + bias := TestDelay - RefDelay; + IF (actualObsTime < 0 ns) THEN -- It should be a setup check + IF ( CheckInfo.CheckKind = HoldCheck) THEN + CheckInfo.CheckKind := SetupCheck; + CASE CheckInfo.State IS + WHEN '0' => CheckInfo.ExpTime := SetupLow; + WHEN '1' => CheckInfo.ExpTime := SetupHigh; + WHEN 'X' => CheckInfo.ExpTime := Maximum(SetupHigh,SetupLow); + END CASE; + END IF; + CheckInfo.ObsTime := -actualObsTime; + CheckInfo.ExpTime := CheckInfo.ExpTime + bias; + CheckInfo.DetTime := RefTime - RefDelay; + ELSE -- It should be a hold check + IF (CheckInfo.CheckKind = SetupCheck) THEN + CheckInfo.CheckKind := HoldCheck; + CASE CheckInfo.State IS + WHEN '0' => + CheckInfo.ExpTime := HoldHigh; + CheckInfo.State := '1'; + WHEN '1' => + CheckInfo.ExpTime := HoldLow; + CheckInfo.State := '0'; + WHEN 'X' => + CheckInfo.ExpTime := Maximum(HoldHigh,HoldLow); + END CASE; + END IF; + CheckInfo.ObsTime := actualObsTime; + CheckInfo.ExpTime := CheckInfo.ExpTime - bias; + CheckInfo.DetTime := TestTime - TestDelay; + END IF; + END IF; +END InternalTimingCheck; + + +-- ---------------------------------------------------------------------------- +-- Setup and Hold Time Check Routine +-- ---------------------------------------------------------------------------- +PROCEDURE TimingArrayIndex ( + SIGNAL InputSignal : IN Std_logic_vector; + CONSTANT ArrayIndexNorm : IN INTEGER; + VARIABLE Index : OUT INTEGER +) IS +BEGIN + IF (InputSignal'LEFT > InputSignal'RIGHT) THEN + Index := ArrayIndexNorm + InputSignal'RIGHT; + ELSE + Index := InputSignal'RIGHT - ArrayIndexNorm; + END IF; +END TimingArrayIndex; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryReportViolation ( + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT CheckInfo : IN CheckInfoType; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + VARIABLE Message : LINE; +BEGIN + IF (NOT CheckInfo.Violation) THEN + RETURN; + END IF; + Write ( Message, HeaderMsg ); + CASE CheckInfo.CheckKind IS + WHEN SetupCheck => Write ( Message, STRING'(" SETUP ") ); + WHEN HoldCheck => Write ( Message, STRING'(" HOLD ") ); + WHEN RecoveryCheck => Write ( Message, STRING'(" RECOVERY ") ); + WHEN RemovalCheck => Write ( Message, STRING'(" REMOVAL ") ); + WHEN PulseWidCheck => Write ( Message, STRING'(" PULSE WIDTH ")); + WHEN PeriodCheck => Write ( Message, STRING'(" PERIOD ") ); + END CASE; + Write ( Message, HiLoStr(CheckInfo.State) ); + Write ( Message, STRING'(" VIOLATION ON ") ); + Write ( Message, TestSignalName ); + IF (RefSignalName'LENGTH > 0) THEN + Write ( Message, STRING'(" WITH RESPECT TO ") ); + Write ( Message, RefSignalName ); + END IF; + Write ( Message, ';' & LF ); + Write ( Message, STRING'(" Expected := ") ); + Write ( Message, CheckInfo.ExpTime); + Write ( Message, STRING'("; Observed := ") ); + Write ( Message, CheckInfo.ObsTime); + Write ( Message, STRING'("; At : ") ); + Write ( Message, CheckInfo.DetTime); + ASSERT FALSE REPORT Message.ALL SEVERITY MsgSeverity; + DEALLOCATE (Message); +END VitalMemoryReportViolation; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryReportViolation ( + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT TestArrayIndex : IN INTEGER; + CONSTANT RefArrayIndex : IN INTEGER; + SIGNAL TestSignal : IN std_logic_vector; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT CheckInfo : IN CheckInfoType; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + VARIABLE Message : LINE; + VARIABLE i, j : INTEGER; +BEGIN + IF (NOT CheckInfo.Violation) THEN + RETURN; + END IF; + + Write ( Message, HeaderMsg ); + CASE CheckInfo.CheckKind IS + WHEN SetupCheck => Write ( Message, STRING'(" SETUP ") ); + WHEN HoldCheck => Write ( Message, STRING'(" HOLD ") ); + WHEN PulseWidCheck => Write ( Message, STRING'(" PULSE WIDTH ")); + WHEN PeriodCheck => Write ( Message, STRING'(" PERIOD ") ); + WHEN OTHERS => Write ( Message, STRING'(" UNKNOWN ") ); + END CASE; + Write ( Message, HiLoStr(CheckInfo.State) ); + Write ( Message, STRING'(" VIOLATION ON ") ); + Write ( Message, TestSignalName ); + TimingArrayIndex(TestSignal, TestArrayIndex, i); + CASE MsgFormat IS + WHEN Scalar => + NULL; + WHEN VectorEnum => + Write ( Message, '_'); + Write ( Message, i); + WHEN Vector => + Write ( Message, '('); + Write ( Message, i); + Write ( Message, ')'); + END CASE; + + IF (RefSignalName'LENGTH > 0) THEN + Write ( Message, STRING'(" WITH RESPECT TO ") ); + Write ( Message, RefSignalName ); + END IF; + + IF(RefSignal'LENGTH > 0) THEN + TimingArrayIndex(RefSignal, RefArrayIndex, j); + CASE MsgFormat IS + WHEN Scalar => + NULL; + WHEN VectorEnum => + Write ( Message, '_'); + Write ( Message, j); + WHEN Vector => + Write ( Message, '('); + Write ( Message, j); + Write ( Message, ')'); + END CASE; + END IF; + + Write ( Message, ';' & LF ); + Write ( Message, STRING'(" Expected := ") ); + Write ( Message, CheckInfo.ExpTime); + Write ( Message, STRING'("; Observed := ") ); + Write ( Message, CheckInfo.ObsTime); + Write ( Message, STRING'("; At : ") ); + Write ( Message, CheckInfo.DetTime); + + ASSERT FALSE REPORT Message.ALL SEVERITY MsgSeverity; + + DEALLOCATE (Message); +END VitalMemoryReportViolation; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryReportViolation ( + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT TestArrayIndex : IN INTEGER; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT CheckInfo : IN CheckInfoType; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + VARIABLE Message : LINE; +BEGIN + IF (NOT CheckInfo.Violation) THEN + RETURN; + END IF; + + Write ( Message, HeaderMsg ); + CASE CheckInfo.CheckKind IS + WHEN SetupCheck => Write ( Message, STRING'(" SETUP ") ); + WHEN HoldCheck => Write ( Message, STRING'(" HOLD ") ); + WHEN PulseWidCheck => Write ( Message, STRING'(" PULSE WIDTH ")); + WHEN PeriodCheck => Write ( Message, STRING'(" PERIOD ") ); + WHEN OTHERS => Write ( Message, STRING'(" UNKNOWN ") ); + END CASE; + + Write ( Message, HiLoStr(CheckInfo.State) ); + Write ( Message, STRING'(" VIOLATION ON ") ); + Write ( Message, TestSignalName ); + + CASE MsgFormat IS + WHEN Scalar => + NULL; + WHEN VectorEnum => + Write ( Message, '_'); + Write ( Message, TestArrayIndex); + WHEN Vector => + Write ( Message, '('); + Write ( Message, TestArrayIndex); + Write ( Message, ')'); + END CASE; + + IF (RefSignalName'LENGTH > 0) THEN + Write ( Message, STRING'(" WITH RESPECT TO ") ); + Write ( Message, RefSignalName ); + END IF; + + Write ( Message, ';' & LF ); + Write ( Message, STRING'(" Expected := ") ); + Write ( Message, CheckInfo.ExpTime); + Write ( Message, STRING'("; Observed := ") ); + Write ( Message, CheckInfo.ObsTime); + Write ( Message, STRING'("; At : ") ); + Write ( Message, CheckInfo.DetTime); + + ASSERT FALSE REPORT Message.ALL SEVERITY MsgSeverity; + + DEALLOCATE (Message); +END VitalMemoryReportViolation; + +-- ---------------------------------------------------------------------------- +FUNCTION VitalMemoryTimingDataInit +RETURN VitalMemoryTimingDataType IS +BEGIN + RETURN (FALSE, 'X', 0 ns, FALSE, 'X', 0 ns, FALSE, + NULL, NULL, NULL, NULL, NULL, NULL); +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalSetupHoldCheck +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayType; + CONSTANT SetupLow : IN VitalDelayType; + CONSTANT HoldHigh : IN VitalDelayType; + CONSTANT HoldLow : IN VitalDelayType; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE CheckEnScalar : BOOLEAN := FALSE; + VARIABLE ViolationInt : X01ArrayT(CheckEnabled'RANGE); + VARIABLE RefEdge : BOOLEAN; + VARIABLE TestEvent : BOOLEAN; + VARIABLE TestDly : TIME := Maximum(0 ns, TestDelay); + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLast := To_X01(TestSignal); + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF (RefEdge) THEN + TimingData.RefTime := NOW; + --TimingData.HoldEnA.all := (TestSignal'RANGE=>TRUE); + --IR252 3/23/98 + TimingData.SetupEn := TimingData.SetupEn AND EnableSetupOnRef; + TimingData.HoldEn := EnableHoldOnRef; + END IF; + + -- Detect test (data) changes and record the time of the last change + TestEvent := TimingData.TestLast /= To_X01Z(TestSignal); + TimingData.TestLast := To_X01Z(TestSignal); + IF TestEvent THEN + TimingData.SetupEn := EnableSetupOnTest ; --IR252 3/23/98 + TimingData.HoldEn := TimingData.HoldEn AND EnableHoldOnTest ; + --IR252 3/23/98 + TimingData.TestTime := NOW; + END IF; + + FOR i IN CheckEnabled'RANGE LOOP + IF CheckEnabled(i) = TRUE THEN + CheckEnScalar := TRUE; + END IF; + ViolationInt(i) := '0'; + END LOOP; + + IF (CheckEnScalar) THEN + InternalTimingCheck ( + TestSignal => TestSignal, + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh, + SetupLow => SetupLow, + HoldHigh => HoldHigh, + HoldLow => HoldLow, + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTime, + TestEvent => TestEvent, + SetupEn => TimingData.SetupEn, + HoldEn => TimingData.HoldEn, + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, + HeaderMsg, CheckInfo, MsgSeverity ); + END IF; + IF (XOn) THEN + FOR i IN CheckEnabled'RANGE LOOP + IF CheckEnabled(i) = TRUE THEN + ViolationInt(i) := 'X'; + END IF; + END LOOP; + END IF; + END IF; + END IF; + Violation := ViolationInt; +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : BOOLEAN; + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'RANGE); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(TestSignal'RANGE); + TimingData.TestTimeA := NEW VitalTimeArrayT(TestSignal'RANGE); + TimingData.HoldEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + TimingData.SetupEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + FOR i IN TestSignal'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignal(i)); + END LOOP; + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF (RefEdge) THEN + TimingData.RefTime := NOW; + --TimingData.HoldEnA.all := (TestSignal'RANGE=>TRUE); + --IR252 3/23/98 + FOR i IN TestSignal'RANGE LOOP + TimingData.SetupEnA(i) + := TimingData.SetupEnA(i) AND EnableSetupOnRef; + TimingData.HoldEnA(i) := EnableHoldOnRef; + END LOOP; + END IF; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignal'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignal(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignal(i)); + IF TestEvent(i) THEN + TimingData.SetupEnA(i) := EnableSetupOnTest ; --IR252 3/23/98 + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest ; + --IR252 3/23/98 + TimingData.TestTimeA(i) := NOW; + --TimingData.SetupEnA(i) := TRUE; + TimingData.TestTime := NOW; + END IF; + END LOOP; + + FOR i IN TestSignal'RANGE LOOP + Violation(i) := '0'; + + IF (CheckEnabled) THEN + TestDly := Maximum(0 ns, TestDelay(i)); + InternalTimingCheck ( + TestSignal => TestSignal(i), + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh(i), + SetupLow => SetupLow(i), + HoldHigh => HoldHigh(i), + HoldLow => HoldLow(i), + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(i), + HoldEn => TimingData.HoldEnA(i), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i , + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; + IF (XOn) THEN + Violation(i) := 'X'; + END IF; + END IF; + END IF; + END LOOP; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE ViolationInt : X01ArrayT(TestSignal'RANGE); + VARIABLE ViolationIntNorm: X01ArrayT(TestSignal'LENGTH-1 downto 0); + VARIABLE ViolationNorm : X01ArrayT(Violation'LENGTH-1 downto 0); + VARIABLE CheckEnInt : VitalBoolArrayT(TestSignal'RANGE); + VARIABLE CheckEnIntNorm : VitalBoolArrayT(TestSignal'LENGTH-1 downto 0); + VARIABLE CheckEnScalar : BOOLEAN := FALSE; --Mem IR 401 + VARIABLE CheckEnabledNorm: VitalBoolArrayT(CheckEnabled'LENGTH-1 downto 0); + VARIABLE RefEdge : BOOLEAN; + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'RANGE); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(TestSignal'RANGE); + TimingData.TestTimeA := NEW VitalTimeArrayT(TestSignal'RANGE); + TimingData.HoldEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + TimingData.SetupEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + FOR i IN TestSignal'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignal(i)); + END LOOP; + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF RefEdge THEN + TimingData.RefTime := NOW; + --TimingData.HoldEnA.all := (TestSignal'RANGE=>TRUE); + --IR252 3/23/98 + FOR i IN TestSignal'RANGE LOOP + TimingData.SetupEnA(i) + := TimingData.SetupEnA(i) AND EnableSetupOnRef; + TimingData.HoldEnA(i) := EnableHoldOnRef; + END LOOP; + END IF; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignal'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignal(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignal(i)); + IF TestEvent(i) THEN + TimingData.SetupEnA(i) := EnableSetupOnTest ; --IR252 3/23/98 + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest ; + --IR252 3/23/98 + TimingData.TestTimeA(i) := NOW; + --TimingData.SetupEnA(i) := TRUE; + TimingData.TestTime := NOW; + END IF; + END LOOP; + + IF ArcType = CrossArc THEN + CheckEnScalar := FALSE; + FOR i IN CheckEnabled'RANGE LOOP + IF CheckEnabled(i) = TRUE THEN + CheckEnScalar := TRUE; + END IF; + END LOOP; + FOR i IN CheckEnInt'RANGE LOOP + CheckEnInt(i) := CheckEnScalar; + END LOOP; + ELSE + FOR i IN CheckEnIntNorm'RANGE LOOP + CheckEnIntNorm(i) := CheckEnabledNorm(i / NumBitsPerSubWord ); + END LOOP; + CheckEnInt := CheckEnIntNorm; + END IF; + + FOR i IN TestSignal'RANGE LOOP + ViolationInt(i) := '0'; + + IF (CheckEnInt(i)) THEN + TestDly := Maximum(0 ns, TestDelay(i)); + InternalTimingCheck ( + TestSignal => TestSignal(i), + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh(i), + SetupLow => SetupLow(i), + HoldHigh => HoldHigh(i), + HoldLow => HoldLow(i), + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(i), + HoldEn => TimingData.HoldEnA(i), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i , + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; + IF (XOn) THEN + ViolationInt(i) := 'X'; + END IF; + END IF; + END IF; + END LOOP; + + IF (ViolationInt'LENGTH = Violation'LENGTH) THEN + Violation := ViolationInt; + ELSE + ViolationIntNorm := ViolationInt; + FOR i IN ViolationNorm'RANGE LOOP + ViolationNorm(i) := '0'; + END LOOP; + FOR i IN ViolationIntNorm'RANGE LOOP + IF (ViolationIntNorm(i) = 'X') THEN + ViolationNorm(i / NumBitsPerSubWord) := 'X'; + END IF; + END LOOP; + Violation := ViolationNorm; + END IF; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArraytype; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : VitalBoolArrayT(RefSignal'LENGTH-1 downto 0); + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'LENGTH-1 downto 0); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME; + VARIABLE bias : TIME; + VARIABLE NumTestBits : NATURAL := TestSignal'LENGTH; + VARIABLE NumRefBits : NATURAL := RefSignal'LENGTH; + VARIABLE NumChecks : NATURAL; + + VARIABLE ViolationTest : X01ArrayT(NumTestBits-1 downto 0); + VARIABLE ViolationRef : X01ArrayT(NumRefBits-1 downto 0); + + VARIABLE TestSignalNorm : std_logic_vector(NumTestBits-1 downto 0) + := TestSignal; + VARIABLE TestDelayNorm : VitalDelayArraytype(NumTestBits-1 downto 0) + := TestDelay; + VARIABLE RefSignalNorm : std_logic_vector(NumRefBits-1 downto 0) + := RefSignal; + VARIABLE RefDelayNorm : VitalDelayArraytype(NumRefBits-1 downto 0) + := RefDelay; + VARIABLE SetupHighNorm : VitalDelayArraytype(SetupHigh'LENGTH-1 downto 0) + := SetupHigh; + VARIABLE SetupLowNorm : VitalDelayArraytype(SetupLow'LENGTH-1 downto 0) + := SetupLow; + VARIABLE HoldHighNorm : VitalDelayArraytype(HoldHigh'LENGTH-1 downto 0) + := HoldHigh; + VARIABLE HoldLowNorm : VitalDelayArraytype(HoldLow'LENGTH-1 downto 0) + := HoldLow; + + VARIABLE RefBitLow : NATURAL; + VARIABLE RefBitHigh : NATURAL; + VARIABLE EnArrayIndex : NATURAL; + VARIABLE TimingArrayIndex: NATURAL; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(NumTestBits-1 downto 0); + TimingData.TestTimeA := NEW VitalTimeArrayT(NumTestBits-1 downto 0); + TimingData.RefTimeA := NEW VitalTimeArrayT(NumRefBits-1 downto 0); + TimingData.RefLastA := NEW X01ArrayT(NumRefBits-1 downto 0); + IF (ArcType = CrossArc) THEN + NumChecks := RefSignal'LENGTH * TestSignal'LENGTH; + ELSE + NumChecks := TestSignal'LENGTH; + END IF; + TimingData.HoldEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + TimingData.SetupEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + + FOR i IN TestSignalNorm'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignalNorm(i)); + END LOOP; + + FOR i IN RefSignalNorm'RANGE LOOP + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + END LOOP; + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + FOR i IN RefSignalNorm'RANGE LOOP + RefEdge(i) := EdgeSymbolMatch(TimingData.RefLastA(i), + To_X01(RefSignalNorm(i)), RefTransition); + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + IF (RefEdge(i)) THEN + TimingData.RefTimeA(i) := NOW; + END IF; + END LOOP; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignalNorm'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignalNorm(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignalNorm(i)); + IF (TestEvent(i)) THEN + TimingData.TestTimeA(i) := NOW; + END IF; + END LOOP; + + FOR i IN ViolationTest'RANGE LOOP + ViolationTest(i) := '0'; + END LOOP; + FOR i IN ViolationRef'RANGE LOOP + ViolationRef(i) := '0'; + END LOOP; + + FOR i IN TestSignalNorm'RANGE LOOP + IF (ArcType = CrossArc) THEN + FOR j IN RefSignalNorm'RANGE LOOP + IF (TestEvent(i)) THEN + --TimingData.SetupEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.SetupEnA(i*NumRefBits+j) := EnableSetupOnTest; + TimingData.HoldEnA(i*NumRefBits+j) + := TimingData.HoldEnA(i*NumRefBits+j) AND EnableHoldOnTest; + END IF; + IF (RefEdge(j)) THEN + --TimingData.HoldEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.HoldEnA(i*NumRefBits+j) := EnableHoldOnRef; + TimingData.SetupEnA(i*NumRefBits+j) + := TimingData.SetupEnA(i*NumRefBits+j) AND EnableSetupOnRef; + END IF; + END LOOP; + RefBitLow := 0; + RefBitHigh := NumRefBits-1; + TimingArrayIndex := i; + ELSE + IF ArcType = SubwordArc THEN + RefBitLow := i / NumBitsPerSubWord; + TimingArrayIndex := i + NumTestBits * RefBitLow; + ELSE + RefBitLow := i; + TimingArrayIndex := i; + END IF; + RefBitHigh := RefBitLow; + IF TestEvent(i) THEN + --TimingData.SetupEnA(i) := TRUE; + --IR252 + TimingData.SetupEnA(i) := EnableSetupOnTest; + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest; + END IF; + IF RefEdge(RefBitLow) THEN + --TimingData.HoldEnA(i) := TRUE; + --IR252 + TimingData.HoldEnA(i) := EnableHoldOnRef; + TimingData.SetupEnA(i) := TimingData.SetupEnA(i) AND EnableSetupOnRef; + END IF; + END IF; + + EnArrayIndex := i; + FOR j IN RefBitLow to RefBitHigh LOOP + + IF (CheckEnabled) THEN + TestDly := Maximum(0 ns, TestDelayNorm(i)); + RefDly := Maximum(0 ns, RefDelayNorm(j)); + + InternalTimingCheck ( + TestSignal => TestSignalNorm(i), + RefSignal => RefSignalNorm(j), + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHighNorm(TimingArrayIndex), + SetupLow => SetupLowNorm(TimingArrayIndex), + HoldHigh => HoldHighNorm(TimingArrayIndex), + HoldLow => HoldLowNorm(TimingArrayIndex), + RefTime => TimingData.RefTimeA(j), + RefEdge => RefEdge(j), + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(EnArrayIndex), + HoldEn => TimingData.HoldEnA(EnArrayIndex), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF (CheckInfo.Violation) THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i, j, + TestSignal, RefSignal, HeaderMsg, CheckInfo, + MsgFormat, MsgSeverity ); + END IF; + IF (XOn) THEN + ViolationTest(i) := 'X'; + ViolationRef(j) := 'X'; + END IF; + END IF; + END IF; + + TimingArrayIndex := TimingArrayIndex + NumRefBits; + EnArrayIndex := EnArrayIndex + NumRefBits; + + END LOOP; + END LOOP; + + IF (ArcType = CrossArc) THEN + Violation := ViolationRef; + ELSE + IF (Violation'LENGTH = ViolationRef'LENGTH) THEN + Violation := ViolationRef; + ELSE + Violation := ViolationTest; + END IF; + END IF; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArraytype; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : VitalBoolArrayT(RefSignal'LENGTH-1 downto 0); + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'LENGTH-1 downto 0); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME; + VARIABLE bias : TIME; + VARIABLE NumTestBits : NATURAL := TestSignal'LENGTH; + VARIABLE NumRefBits : NATURAL := RefSignal'LENGTH; + VARIABLE NumChecks : NATURAL; + + VARIABLE ViolationTest : X01ArrayT(NumTestBits-1 downto 0); + VARIABLE ViolationRef : X01ArrayT(NumRefBits-1 downto 0); + + VARIABLE TestSignalNorm : std_logic_vector(NumTestBits-1 downto 0) + := TestSignal; + VARIABLE TestDelayNorm : VitalDelayArraytype(NumTestBits-1 downto 0) + := TestDelay; + VARIABLE RefSignalNorm : std_logic_vector(NumRefBits-1 downto 0) + := RefSignal; + VARIABLE RefDelayNorm : VitalDelayArraytype(NumRefBits-1 downto 0) + := RefDelay; + VARIABLE CheckEnNorm : VitalBoolArrayT(NumRefBits-1 downto 0) + := CheckEnabled; + VARIABLE SetupHighNorm : VitalDelayArraytype(SetupHigh'LENGTH-1 downto 0) + := SetupHigh; + VARIABLE SetupLowNorm : VitalDelayArraytype(SetupLow'LENGTH-1 downto 0) + := SetupLow; + VARIABLE HoldHighNorm : VitalDelayArraytype(HoldHigh'LENGTH-1 downto 0) + := HoldHigh; + VARIABLE HoldLowNorm : VitalDelayArraytype(HoldLow'LENGTH-1 downto 0) + := HoldLow; + + VARIABLE RefBitLow : NATURAL; + VARIABLE RefBitHigh : NATURAL; + VARIABLE EnArrayIndex : NATURAL; + VARIABLE TimingArrayIndex: NATURAL; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(NumTestBits-1 downto 0); + TimingData.TestTimeA := NEW VitalTimeArrayT(NumTestBits-1 downto 0); + TimingData.RefTimeA := NEW VitalTimeArrayT(NumRefBits-1 downto 0); + TimingData.RefLastA := NEW X01ArrayT(NumRefBits-1 downto 0); + IF ArcType = CrossArc THEN + NumChecks := RefSignal'LENGTH * TestSignal'LENGTH; + ELSE + NumChecks := TestSignal'LENGTH; + END IF; + TimingData.HoldEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + TimingData.SetupEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + + FOR i IN TestSignalNorm'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignalNorm(i)); + END LOOP; + + FOR i IN RefSignalNorm'RANGE LOOP + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + END LOOP; + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + FOR i IN RefSignalNorm'RANGE LOOP + RefEdge(i) := EdgeSymbolMatch(TimingData.RefLastA(i), + To_X01(RefSignalNorm(i)), RefTransition); + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + IF RefEdge(i) THEN + TimingData.RefTimeA(i) := NOW; + END IF; + END LOOP; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignalNorm'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignalNorm(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignalNorm(i)); + IF TestEvent(i) THEN + TimingData.TestTimeA(i) := NOW; + END IF; + END LOOP; + + FOR i IN ViolationTest'RANGE LOOP + ViolationTest(i) := '0'; + END LOOP; + FOR i IN ViolationRef'RANGE LOOP + ViolationRef(i) := '0'; + END LOOP; + + FOR i IN TestSignalNorm'RANGE LOOP + IF (ArcType = CrossArc) THEN + FOR j IN RefSignalNorm'RANGE LOOP + IF (TestEvent(i)) THEN + --TimingData.SetupEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.SetupEnA(i*NumRefBits+j) := EnableSetupOnTest; + TimingData.HoldEnA(i*NumRefBits+j) + := TimingData.HoldEnA(i*NumRefBits+j) AND EnableHoldOnTest; + END IF; + IF (RefEdge(j)) THEN + --TimingData.HoldEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.HoldEnA(i*NumRefBits+j) := EnableHoldOnRef; + TimingData.SetupEnA(i*NumRefBits+j) + := TimingData.SetupEnA(i*NumRefBits+j) AND EnableSetupOnRef; + END IF; + END LOOP; + RefBitLow := 0; + RefBitHigh := NumRefBits-1; + TimingArrayIndex := i; + ELSE + IF (ArcType = SubwordArc) THEN + RefBitLow := i / NumBitsPerSubWord; + TimingArrayIndex := i + NumTestBits * RefBitLow; + ELSE + RefBitLow := i; + TimingArrayIndex := i; + END IF; + RefBitHigh := RefBitLow; + IF (TestEvent(i)) THEN + --TimingData.SetupEnA(i) := TRUE; + --IR252 + TimingData.SetupEnA(i) := EnableSetupOnTest; + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest; + END IF; + IF (RefEdge(RefBitLow)) THEN + --TimingData.HoldEnA(i) := TRUE; + --IR252 + TimingData.HoldEnA(i) := EnableHoldOnRef; + TimingData.SetupEnA(i) := TimingData.SetupEnA(i) AND EnableSetupOnRef; + END IF; + END IF; + + EnArrayIndex := i; + FOR j IN RefBitLow to RefBitHigh LOOP + IF (CheckEnNorm(j)) THEN + TestDly := Maximum(0 ns, TestDelayNorm(i)); + RefDly := Maximum(0 ns, RefDelayNorm(j)); + + InternalTimingCheck ( + TestSignal => TestSignalNorm(i), + RefSignal => RefSignalNorm(j), + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHighNorm(TimingArrayIndex), + SetupLow => SetupLowNorm(TimingArrayIndex), + HoldHigh => HoldHighNorm(TimingArrayIndex), + HoldLow => HoldLowNorm(TimingArrayIndex), + RefTime => TimingData.RefTimeA(j), + RefEdge => RefEdge(j), + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(EnArrayIndex), + HoldEn => TimingData.HoldEnA(EnArrayIndex), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF (CheckInfo.Violation) THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i, j, + TestSignal, RefSignal, HeaderMsg, CheckInfo, + MsgFormat, MsgSeverity ); + END IF; + + IF (XOn) THEN + ViolationTest(i) := 'X'; + ViolationRef(j) := 'X'; + END IF; + END IF; + END IF; + + TimingArrayIndex := TimingArrayIndex + NumRefBits; + EnArrayIndex := EnArrayIndex + NumRefBits; + END LOOP; + END LOOP; + + IF (ArcType = CrossArc) THEN + Violation := ViolationRef; + ELSE + IF (Violation'LENGTH = ViolationRef'LENGTH) THEN + Violation := ViolationRef; + ELSE + Violation := ViolationTest; + END IF; + END IF; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +-- scalar violations not needed +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : BOOLEAN; + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'RANGE); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; + +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(TestSignal'RANGE); + TimingData.TestTimeA := NEW VitalTimeArrayT(TestSignal'RANGE); + TimingData.HoldEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + TimingData.SetupEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + FOR i IN TestSignal'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignal(i)); + END LOOP; + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF (RefEdge) THEN + TimingData.RefTime := NOW; + --TimingData.HoldEnA.all := (TestSignal'RANGE=>TRUE); + --IR252 3/23/98 + FOR i IN TestSignal'RANGE LOOP + TimingData.SetupEnA(i) + := TimingData.SetupEnA(i) AND EnableSetupOnRef; + TimingData.HoldEnA(i) := EnableHoldOnRef; + END LOOP; + END IF; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignal'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignal(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignal(i)); + IF TestEvent(i) THEN + TimingData.SetupEnA(i) := EnableSetupOnTest ; --IR252 3/23/98 + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest ; + --IR252 3/23/98 + TimingData.TestTimeA(i) := NOW; + --TimingData.SetupEnA(i) := TRUE; + TimingData.TestTime := NOW; + END IF; + END LOOP; + + Violation := '0'; + FOR i IN TestSignal'RANGE LOOP + IF (CheckEnabled) THEN + TestDly := Maximum(0 ns, TestDelay(i)); + InternalTimingCheck ( + TestSignal => TestSignal(i), + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh(i), + SetupLow => SetupLow(i), + HoldHigh => HoldHigh(i), + HoldLow => HoldLow(i), + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(i), + HoldEn => TimingData.HoldEnA(i), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i , + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; + IF (XOn) THEN + Violation := 'X'; + END IF; + END IF; + END IF; + END LOOP; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArraytype; + CONSTANT SetupHigh : IN VitalDelayArraytype; + CONSTANT SetupLow : IN VitalDelayArraytype; + CONSTANT HoldHigh : IN VitalDelayArraytype; + CONSTANT HoldLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + --IR252 3/23/98 + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : VitalBoolArrayT(RefSignal'LENGTH-1 downto 0); + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'LENGTH-1 downto 0); + VARIABLE TestDly : TIME; + VARIABLE RefDly : TIME; + VARIABLE bias : TIME; + VARIABLE NumTestBits : NATURAL := TestSignal'LENGTH; + VARIABLE NumRefBits : NATURAL := RefSignal'LENGTH; + VARIABLE NumChecks : NATURAL; + + VARIABLE TestSignalNorm : std_logic_vector(NumTestBits-1 downto 0) + := TestSignal; + VARIABLE TestDelayNorm : VitalDelayArraytype(NumTestBits-1 downto 0) + := TestDelay; + VARIABLE RefSignalNorm : std_logic_vector(NumRefBits-1 downto 0) + := RefSignal; + VARIABLE RefDelayNorm : VitalDelayArraytype(NumRefBits-1 downto 0) + := RefDelay; + VARIABLE SetupHighNorm : VitalDelayArraytype(SetupHigh'LENGTH-1 downto 0) + := SetupHigh; + VARIABLE SetupLowNorm : VitalDelayArraytype(SetupLow'LENGTH-1 downto 0) + := SetupLow; + VARIABLE HoldHighNorm : VitalDelayArraytype(HoldHigh'LENGTH-1 downto 0) + := HoldHigh; + VARIABLE HoldLowNorm : VitalDelayArraytype(HoldLow'LENGTH-1 downto 0) + := HoldLow; + + VARIABLE RefBitLow : NATURAL; + VARIABLE RefBitHigh : NATURAL; + VARIABLE EnArrayIndex : NATURAL; + VARIABLE TimingArrayIndex: NATURAL; +BEGIN + + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(NumTestBits-1 downto 0); + TimingData.TestTimeA := NEW VitalTimeArrayT(NumTestBits-1 downto 0); + TimingData.RefTimeA := NEW VitalTimeArrayT(NumRefBits-1 downto 0); + TimingData.RefLastA := NEW X01ArrayT(NumRefBits-1 downto 0); + IF (ArcType = CrossArc) THEN + NumChecks := RefSignal'LENGTH * TestSignal'LENGTH; + ELSE + NumChecks := TestSignal'LENGTH; + END IF; + TimingData.HoldEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + TimingData.SetupEnA := NEW VitalBoolArrayT(NumChecks-1 downto 0); + + FOR i IN TestSignalNorm'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignalNorm(i)); + END LOOP; + + FOR i IN RefSignalNorm'RANGE LOOP + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + END LOOP; + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + FOR i IN RefSignalNorm'RANGE LOOP + RefEdge(i) := EdgeSymbolMatch(TimingData.RefLastA(i), + To_X01(RefSignalNorm(i)), RefTransition); + TimingData.RefLastA(i) := To_X01(RefSignalNorm(i)); + IF (RefEdge(i)) THEN + TimingData.RefTimeA(i) := NOW; + END IF; + END LOOP; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignalNorm'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignalNorm(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignalNorm(i)); + IF (TestEvent(i)) THEN + TimingData.TestTimeA(i) := NOW; + END IF; + END LOOP; + + FOR i IN TestSignalNorm'RANGE LOOP + IF (ArcType = CrossArc) THEN + FOR j IN RefSignalNorm'RANGE LOOP + IF (TestEvent(i)) THEN + --TimingData.SetupEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.SetupEnA(i*NumRefBits+j) := EnableSetupOnTest; + TimingData.HoldEnA(i*NumRefBits+j) + := TimingData.HoldEnA(i*NumRefBits+j) AND EnableHoldOnTest; + END IF; + IF (RefEdge(j)) THEN + --TimingData.HoldEnA(i*NumRefBits+j) := TRUE; + --IR252 + TimingData.HoldEnA(i*NumRefBits+j) := EnableHoldOnRef; + TimingData.SetupEnA(i*NumRefBits+j) + := TimingData.SetupEnA(i*NumRefBits+j) AND EnableSetupOnRef; + END IF; + END LOOP; + RefBitLow := 0; + RefBitHigh := NumRefBits-1; + TimingArrayIndex := i; + ELSE + IF (ArcType = SubwordArc) THEN + RefBitLow := i / NumBitsPerSubWord; + TimingArrayIndex := i + NumTestBits * RefBitLow; + ELSE + RefBitLow := i; + TimingArrayIndex := i; + END IF; + RefBitHigh := RefBitLow; + IF (TestEvent(i)) THEN + --TimingData.SetupEnA(i) := TRUE; + --IR252 + TimingData.SetupEnA(i) := EnableSetupOnTest; + TimingData.HoldEnA(i) := TimingData.HoldEnA(i) AND EnableHoldOnTest; + END IF; + IF (RefEdge(RefBitLow)) THEN + --TimingData.HoldEnA(i) := TRUE; + --IR252 + TimingData.HoldEnA(i) := EnableHoldOnRef; + TimingData.SetupEnA(i) := TimingData.SetupEnA(i) AND EnableSetupOnRef; + END IF; + END IF; + + EnArrayIndex := i; + Violation := '0'; + FOR j IN RefBitLow to RefBitHigh LOOP + + IF (CheckEnabled) THEN + TestDly := Maximum(0 ns, TestDelayNorm(i)); + RefDly := Maximum(0 ns, RefDelayNorm(j)); + + InternalTimingCheck ( + TestSignal => TestSignalNorm(i), + RefSignal => RefSignalNorm(j), + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHighNorm(TimingArrayIndex), + SetupLow => SetupLowNorm(TimingArrayIndex), + HoldHigh => HoldHighNorm(TimingArrayIndex), + HoldLow => HoldLowNorm(TimingArrayIndex), + RefTime => TimingData.RefTimeA(j), + RefEdge => RefEdge(j), + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(EnArrayIndex), + HoldEn => TimingData.HoldEnA(EnArrayIndex), + CheckInfo => CheckInfo, + MsgOn => MsgOn + ); + + -- Report any detected violations and set return violation flag + IF (CheckInfo.Violation) THEN + IF (MsgOn) THEN + VitalMemoryReportViolation (TestSignalName, RefSignalName, i, j, + TestSignal, RefSignal, HeaderMsg, CheckInfo, + MsgFormat, MsgSeverity ); + END IF; + + IF (XOn) THEN + Violation := 'X'; + END IF; + END IF; + END IF; + + TimingArrayIndex := TimingArrayIndex + NumRefBits; + EnArrayIndex := EnArrayIndex + NumRefBits; + + END LOOP; + END LOOP; + +END VitalMemorySetupHoldCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryPeriodPulseCheck ( + VARIABLE Violation : OUT X01; + VARIABLE PeriodData : INOUT VitalPeriodDataArrayType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + CONSTANT Period : IN VitalDelayArraytype; + CONSTANT PulseWidthHigh : IN VitalDelayArraytype; + CONSTANT PulseWidthLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType +) IS + VARIABLE TestDly : VitalDelayType; + VARIABLE CheckInfo : CheckInfoType; + VARIABLE PeriodObs : VitalDelayType; + VARIABLE PulseTest : BOOLEAN; + VARIABLE PeriodTest: BOOLEAN; + VARIABLE TestValue : X01; +BEGIN + + -- Initialize for no violation + Violation := '0'; --MEM IR 402 + + FOR i IN TestSignal'RANGE LOOP + TestDly := Maximum(0 ns, TestDelay(i)); + TestValue := To_X01(TestSignal(i)); + + IF (PeriodData(i).NotFirstFlag = FALSE) THEN + PeriodData(i).Rise := -Maximum(Period(i), + Maximum(PulseWidthHigh(i),PulseWidthLow(i))); + PeriodData(i).Fall := -Maximum(Period(i), + Maximum(PulseWidthHigh(i),PulseWidthLow(i))); + PeriodData(i).Last := TestValue; + PeriodData(i).NotFirstFlag := TRUE; + END IF; + + -- Initialize for no violation + -- Violation := '0'; --Mem IR 402 + + -- No violation possible if no test signal change + NEXT WHEN (PeriodData(i).Last = TestValue); + + -- record starting pulse times + IF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'P')) THEN + -- Compute period times, then record the High Rise Time + PeriodObs := NOW - PeriodData(i).Rise; + PeriodData(i).Rise := NOW; + PeriodTest := TRUE; + ELSIF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'N')) THEN + -- Compute period times, then record the Low Fall Time + PeriodObs := NOW - PeriodData(i).Fall; + PeriodData(i).Fall := NOW; + PeriodTest := TRUE; + ELSE + PeriodTest := FALSE; + END IF; + + -- do checks on pulse ends + IF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'p')) THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData(i).Fall; + CheckInfo.ExpTime := PulseWidthLow(i); + PulseTest := TRUE; + ELSIF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'n')) THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData(i).Rise; + CheckInfo.ExpTime := PulseWidthHigh(i); + PulseTest := TRUE; + ELSE + PulseTest := FALSE; + END IF; + + IF (PulseTest AND CheckEnabled) THEN + -- Verify Pulse Width [ignore 1st edge] + IF (CheckInfo.ObsTime < CheckInfo.ExpTime) THEN + IF (XOn) THEN + Violation := 'X'; + END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PulseWidCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := PeriodData(i).Last; + VitalMemoryReportViolation (TestSignalName, "", i, + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + IF (PeriodTest AND CheckEnabled) THEN + -- Verify the Period [ignore 1st edge] + CheckInfo.ObsTime := PeriodObs; + CheckInfo.ExpTime := Period(i); + IF ( CheckInfo.ObsTime < CheckInfo.ExpTime ) THEN + IF (XOn) THEN + Violation := 'X'; + END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PeriodCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := TestValue; + VitalMemoryReportViolation (TestSignalName, "", i, + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + PeriodData(i).Last := TestValue; + END LOOP; + +END VitalMemoryPeriodPulseCheck; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryPeriodPulseCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE PeriodData : INOUT VitalPeriodDataArrayType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArraytype; + CONSTANT Period : IN VitalDelayArraytype; + CONSTANT PulseWidthHigh : IN VitalDelayArraytype; + CONSTANT PulseWidthLow : IN VitalDelayArraytype; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType +)IS + VARIABLE TestDly : VitalDelayType; + VARIABLE CheckInfo : CheckInfoType; + VARIABLE PeriodObs : VitalDelayType; + VARIABLE PulseTest : BOOLEAN; + VARIABLE PeriodTest: BOOLEAN; + VARIABLE TestValue : X01; +BEGIN + + FOR i IN TestSignal'RANGE LOOP + TestDly := Maximum(0 ns, TestDelay(i)); + TestValue := To_X01(TestSignal(i)); + + IF (PeriodData(i).NotFirstFlag = FALSE) THEN + PeriodData(i).Rise := -Maximum(Period(i), + Maximum(PulseWidthHigh(i),PulseWidthLow(i))); + PeriodData(i).Fall := -Maximum(Period(i), + Maximum(PulseWidthHigh(i),PulseWidthLow(i))); + PeriodData(i).Last := TestValue; + PeriodData(i).NotFirstFlag := TRUE; + END IF; + + -- Initialize for no violation + Violation(i) := '0'; + + -- No violation possible if no test signal change + NEXT WHEN (PeriodData(i).Last = TestValue); + + -- record starting pulse times + IF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'P')) THEN + -- Compute period times, then record the High Rise Time + PeriodObs := NOW - PeriodData(i).Rise; + PeriodData(i).Rise := NOW; + PeriodTest := TRUE; + ELSIF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'N')) THEN + -- Compute period times, then record the Low Fall Time + PeriodObs := NOW - PeriodData(i).Fall; + PeriodData(i).Fall := NOW; + PeriodTest := TRUE; + ELSE + PeriodTest := FALSE; + END IF; + + -- do checks on pulse ends + IF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'p')) THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData(i).Fall; + CheckInfo.ExpTime := PulseWidthLow(i); + PulseTest := TRUE; + ELSIF (EdgeSymbolMatch(PeriodData(i).Last, TestValue, 'n')) THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData(i).Rise; + CheckInfo.ExpTime := PulseWidthHigh(i); + PulseTest := TRUE; + ELSE + PulseTest := FALSE; + END IF; + + IF (PulseTest AND CheckEnabled) THEN + -- Verify Pulse Width [ignore 1st edge] + IF (CheckInfo.ObsTime < CheckInfo.ExpTime) THEN + IF (XOn) THEN + Violation(i) := 'X'; + END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PulseWidCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := PeriodData(i).Last; + VitalMemoryReportViolation (TestSignalName, "", i, + HeaderMsg, CheckInfo, MsgFormat, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + IF (PeriodTest AND CheckEnabled) THEN + -- Verify the Period [ignore 1st edge] + CheckInfo.ObsTime := PeriodObs; + CheckInfo.ExpTime := Period(i); + IF ( CheckInfo.ObsTime < CheckInfo.ExpTime ) THEN + IF (XOn) THEN + Violation(i) := 'X'; + END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PeriodCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := TestValue; + VitalMemoryReportViolation (TestSignalName, "", i, + HeaderMsg, CheckInfo, MsgFOrmat, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + PeriodData(i).Last := TestValue; + END LOOP; + +END VitalMemoryPeriodPulseCheck; + +-- ---------------------------------------------------------------------------- +-- Functionality Section +-- ---------------------------------------------------------------------------- + +-- Look-up table. Given an int, we can get the 4-bit bit_vector. +TYPE HexToBitvTableType IS ARRAY (NATURAL RANGE <>) OF + std_logic_vector(3 DOWNTO 0) ; + +CONSTANT HexToBitvTable : HexToBitvTableType (0 TO 15) := + ( + "0000", "0001", "0010", "0011", + "0100", "0101", "0110", "0111", + "1000", "1001", "1010", "1011", + "1100", "1101", "1110", "1111" + ) ; + +-- ---------------------------------------------------------------------------- +-- Misc Utilities Local Utilities +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- Procedure: IsSpace +-- Parameters: ch -- input character +-- Description: Returns TRUE or FALSE depending on the input character +-- being white space or not. +-- ---------------------------------------------------------------------------- +FUNCTION IsSpace (ch : character) +RETURN boolean IS +BEGIN + RETURN ((ch = ' ') OR (ch = CR) OR (ch = HT) OR (ch = NUL)); +END IsSpace; + +-- ---------------------------------------------------------------------------- +-- Procedure: LenOfString +-- Parameters: Str -- input string +-- Description: Returns the NATURAL length of the input string. +-- as terminated by the first NUL character. +-- ---------------------------------------------------------------------------- +FUNCTION LenOfString (Str : STRING) +RETURN NATURAL IS + VARIABLE StrRight : NATURAL; +BEGIN + StrRight := Str'RIGHT; + FOR i IN Str'RANGE LOOP + IF (Str(i) = NUL) THEN + StrRight := i - 1; + EXIT; + END IF; + END LOOP; + RETURN (StrRight); +END LenOfString; + +-- ---------------------------------------------------------------------------- +-- Procedure: HexToInt +-- Parameters: Hex -- input character or string +-- Description: Converts input character or string interpreted as a +-- hexadecimal representation to integer value. +-- ---------------------------------------------------------------------------- +FUNCTION HexToInt(Hex : CHARACTER) RETURN INTEGER IS + CONSTANT HexChars : STRING := "0123456789ABCDEFabcdef"; + CONSTANT XHiChar : CHARACTER := 'X'; + CONSTANT XLoChar : CHARACTER := 'x'; +BEGIN + IF (Hex = XLoChar OR Hex = XHiChar) THEN + RETURN (23); + END IF; + FOR i IN 1 TO 16 LOOP + IF(Hex = HexChars(i)) THEN + RETURN (i-1); + END IF; + END LOOP; + FOR i IN 17 TO 22 LOOP + IF (Hex = HexChars(i)) THEN + RETURN (i-7); + END IF; + END LOOP; + ASSERT FALSE REPORT + "Invalid character received by HexToInt function" + SEVERITY WARNING; + RETURN (0); +END HexToInt; + +-- ---------------------------------------------------------------------------- +FUNCTION HexToInt (Hex : STRING) RETURN INTEGER IS + VARIABLE Value : INTEGER := 0; + VARIABLE Length : INTEGER; +BEGIN + Length := LenOfString(hex); + IF (Length > 8) THEN + ASSERT FALSE REPORT + "Invalid string length received by HexToInt function" + SEVERITY WARNING; + ELSE + FOR i IN 1 TO Length LOOP + Value := Value + HexToInt(Hex(i)) * 16 ** (Length - i); + END LOOP; + END IF; + RETURN (Value); +END HexToInt; + +-- ---------------------------------------------------------------------------- +-- Procedure: HexToBitv +-- Parameters: Hex -- Input hex string +-- Description: Converts input hex string to a std_logic_vector +-- ---------------------------------------------------------------------------- +FUNCTION HexToBitv( + Hex : STRING +) RETURN std_logic_vector is + VARIABLE Index : INTEGER := 0 ; + VARIABLE ValHexToInt : INTEGER ; + VARIABLE BitsPerHex : INTEGER := 4 ; -- Denotes no. of bits per hex char. + VARIABLE HexLen : NATURAL := (BitsPerHex * LenOfString(Hex)) ; + VARIABLE TableVal : std_logic_vector(3 DOWNTO 0) ; + VARIABLE Result : std_logic_vector(HexLen-1 DOWNTO 0) ; +BEGIN + -- Assign 4-bit wide bit vector to result directly from a look-up table. + Index := 0 ; + WHILE ( Index < HexLen ) LOOP + ValHexToInt := HexToInt( Hex((HexLen - Index)/BitsPerHex ) ); + IF ( ValHexToInt = 23 ) THEN + TableVal := "XXXX"; + ELSE + -- Look up from the table. + TableVal := HexToBitvTable( ValHexToInt ) ; + END IF; + -- Assign now. + Result(Index+3 DOWNTO Index) := TableVal ; + -- Get ready for next block of 4-bits. + Index := Index + 4 ; + END LOOP ; + RETURN Result ; +END HexToBitv ; + +-- ---------------------------------------------------------------------------- +-- Procedure: BinToBitv +-- Parameters: Bin -- Input bin string +-- Description: Converts input bin string to a std_logic_vector +-- ---------------------------------------------------------------------------- +FUNCTION BinToBitv( + Bin : STRING +) RETURN std_logic_vector is + VARIABLE Index : INTEGER := 0 ; + VARIABLE Length : NATURAL := LenOfString(Bin); + VARIABLE BitVal : std_ulogic; + VARIABLE Result : std_logic_vector(Length-1 DOWNTO 0) ; +BEGIN + Index := 0 ; + WHILE ( Index < Length ) LOOP + IF (Bin(Length-Index) = '0') THEN + BitVal := '0'; + ELSIF (Bin(Length-Index) = '1') THEN + BitVal := '1'; + ELSE + BitVal := 'X'; + END IF ; + -- Assign now. + Result(Index) := BitVal ; + Index := Index + 1 ; + END LOOP ; + RETURN Result ; +END BinToBitv ; + +-- ---------------------------------------------------------------------------- +-- For Memory Table Modeling +-- ---------------------------------------------------------------------------- + +TYPE To_MemoryCharType IS ARRAY (VitalMemorySymbolType) OF CHARACTER; +CONSTANT To_MemoryChar : To_MemoryCharType := + ( '/', '\', 'P', 'N', 'r', 'f', 'p', 'n', 'R', 'F', '^', 'v', + 'E', 'A', 'D', '*', 'X', '0', '1', '-', 'B', 'Z', 'S', + 'g', 'u', 'i', 'G', 'U', 'I', + 'w', 's', + 'c', 'l', 'd', 'e', 'C', 'L', + 'M', 'm', 't' ); + +TYPE ValidMemoryTableInputType IS ARRAY (VitalMemorySymbolType) OF BOOLEAN; +CONSTANT ValidMemoryTableInput : ValidMemoryTableInputType := + -- '/', '\', 'P', 'N', 'r', 'f', + ( TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, + -- 'p', 'n', 'R', 'F', '^', 'v', + TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, + -- 'E', 'A', 'D', '*', + TRUE, TRUE, TRUE, TRUE, + -- 'X', '0', '1', '-', 'B', 'Z', + TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, + -- 'S', + TRUE, + -- 'g', 'u', 'i', 'G', 'U', 'I', + FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, + -- 'w', 's', + FALSE, FALSE, + -- 'c', 'l', 'd', 'e', 'C', 'L', + FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, + -- 'M', 'm', 't' + FALSE, FALSE, FALSE); + +TYPE MemoryTableMatchType IS ARRAY (X01,X01,VitalMemorySymbolType) OF BOOLEAN; +-- last value, present value, table symbol +CONSTANT MemoryTableMatch : MemoryTableMatchType := ( + ( -- X (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + -- g u i G U I + -- w s + -- c l d e, C L + -- m t + ( FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( FALSE,FALSE,FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, FALSE,TRUE, + TRUE, FALSE,TRUE, TRUE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( FALSE,FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,TRUE, FALSE,TRUE, FALSE, + TRUE, TRUE, FALSE,TRUE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE) + ), + + (-- 0 (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + -- g u i G U I + -- w s + -- c l d e, C L + -- m t + ( FALSE,FALSE,FALSE,FALSE,TRUE, FALSE, + TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,TRUE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE) + ), + + (-- 1 (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + -- g u i G U I + -- w s + -- c l d e, C L + -- m t + ( FALSE,FALSE,FALSE,FALSE,FALSE,TRUE , + FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,TRUE, TRUE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE), + ( FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,TRUE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE) + ) + ); + + +-- ---------------------------------------------------------------------------- +-- Error Message Types and Tables +-- ---------------------------------------------------------------------------- + +TYPE VitalMemoryErrorType IS ( + ErrGoodAddr, -- 'g' Good address (no transition) + ErrUnknAddr, -- 'u' 'X' levels in address (no transition) + ErrInvaAddr, -- 'i' Invalid address (no transition) + ErrGoodTrAddr, -- 'G' Good address (with transition) + ErrUnknTrAddr, -- 'U' 'X' levels in address (with transition) + ErrInvaTrAddr, -- 'I' Invalid address (with transition) + ErrWrDatMem, -- 'w' Writing data to memory + ErrNoChgMem, -- 's' Retaining previous memory contents + ErrCrAllMem, -- 'c' Corrupting entire memory with 'X' + ErrCrWrdMem, -- 'l' Corrupting a word in memory with 'X' + ErrCrBitMem, -- 'd' Corrupting a single bit in memory with 'X' + ErrCrDatMem, -- 'e' Corrupting a word with 'X' based on data in + ErrCrAllSubMem,-- 'C' Corrupting a sub-word entire memory with 'X' + ErrCrWrdSubMem,-- 'L' Corrupting a sub-word in memory with 'X' + ErrCrBitSubMem,-- 'D' Corrupting a single bit of a memory sub-word with 'X' + ErrCrDatSubMem,-- 'E' Corrupting a sub-word with 'X' based on data in + ErrCrWrdOut, -- 'l' Corrupting data out with 'X' + ErrCrBitOut, -- 'd' Corrupting a single bit of data out with 'X' + ErrCrDatOut, -- 'e' Corrupting data out with 'X' based on data in + ErrCrWrdSubOut,-- 'L' Corrupting data out sub-word with 'X' + ErrCrBitSubOut,-- 'D' Corrupting a single bit of data out sub-word with 'X' + ErrCrDatSubOut,-- 'E' Corrupting data out sub-word with 'X' based on data in + ErrImplOut, -- 'M' Implicit read from memory to data out + ErrReadOut, -- 'm' Reading data from memory to data out + ErrAssgOut, -- 't' Transferring from data in to data out + ErrAsgXOut, -- 'X' Assigning unknown level to data out + ErrAsg0Out, -- '0' Assigning low level to data out + ErrAsg1Out, -- '1' Assigning high level to data out + ErrAsgZOut, -- 'Z' Assigning high impedence to data out + ErrAsgSOut, -- 'S' Keeping data out at steady value + ErrAsgXMem, -- 'X' Assigning unknown level to memory location + ErrAsg0Mem, -- '0' Assigning low level to memory location + ErrAsg1Mem, -- '1' Assigning high level to memory location + ErrAsgZMem, -- 'Z' Assigning high impedence to memory location + ErrDefMemAct, -- No memory table match, using default action + ErrInitMem, -- Initialize memory contents + ErrMcpWrCont, -- Memory cross port to same port write contention + ErrMcpCpCont, -- Memory cross port read/write data/memory contention + ErrMcpCpRead, -- Memory cross port read to same port + ErrMcpRdWrCo, -- Memory cross port read/write data only contention + ErrMcpCpWrCont,-- Memory cross port to cross port write contention + ErrUnknMemDo, -- Unknown memory action + ErrUnknDatDo, -- Unknown data action + ErrUnknSymbol, -- Illegal memory symbol + ErrLdIlgArg, + ErrLdAddrRng, + ErrLdMemInfo, + ErrLdFileEmpty, + ErrPrintString +); + +TYPE VitalMemoryErrorSeverityType IS +ARRAY (VitalMemoryErrorType) OF SEVERITY_LEVEL; +CONSTANT VitalMemoryErrorSeverity : + VitalMemoryErrorSeverityType := ( + ErrGoodAddr => NOTE, + ErrUnknAddr => WARNING, + ErrInvaAddr => WARNING, + ErrGoodTrAddr => NOTE, + ErrUnknTrAddr => WARNING, + ErrInvaTrAddr => WARNING, + ErrWrDatMem => NOTE, + ErrNoChgMem => NOTE, + ErrCrAllMem => WARNING, + ErrCrWrdMem => WARNING, + ErrCrBitMem => WARNING, + ErrCrDatMem => WARNING, + ErrCrAllSubMem => WARNING, + ErrCrWrdSubMem => WARNING, + ErrCrBitSubMem => WARNING, + ErrCrDatSubMem => WARNING, + ErrCrWrdOut => WARNING, + ErrCrBitOut => WARNING, + ErrCrDatOut => WARNING, + ErrCrWrdSubOut => WARNING, + ErrCrBitSubOut => WARNING, + ErrCrDatSubOut => WARNING, + ErrImplOut => NOTE, + ErrReadOut => NOTE, + ErrAssgOut => NOTE, + ErrAsgXOut => NOTE, + ErrAsg0Out => NOTE, + ErrAsg1Out => NOTE, + ErrAsgZOut => NOTE, + ErrAsgSOut => NOTE, + ErrAsgXMem => NOTE, + ErrAsg0Mem => NOTE, + ErrAsg1Mem => NOTE, + ErrAsgZMem => NOTE, + ErrDefMemAct => NOTE, + ErrInitMem => NOTE, + ErrMcpWrCont => WARNING, + ErrMcpCpCont => WARNING, + ErrMcpCpRead => WARNING, + ErrMcpRdWrCo => WARNING, + ErrMcpCpWrCont => WARNING, + ErrUnknMemDo => ERROR, + ErrUnknDatDo => ERROR, + ErrUnknSymbol => ERROR, + ErrLdIlgArg => ERROR, + ErrLdAddrRng => WARNING, + ErrLdMemInfo => NOTE, + ErrLdFileEmpty => ERROR, + ErrPrintString => WARNING + ); + +-- ---------------------------------------------------------------------------- +CONSTANT MsgGoodAddr : STRING + := "Good address (no transition)"; +CONSTANT MsgUnknAddr : STRING + := "Unknown address (no transition)"; +CONSTANT MsgInvaAddr : STRING + := "Invalid address (no transition)"; +CONSTANT MsgGoodTrAddr : STRING + := "Good address (with transition)"; +CONSTANT MsgUnknTrAddr : STRING + := "Unknown address (with transition)"; +CONSTANT MsgInvaTrAddr : STRING + := "Invalid address (with transition)"; +CONSTANT MsgNoChgMem : STRING + := "Retaining previous memory contents"; +CONSTANT MsgWrDatMem : STRING + := "Writing data to memory"; +CONSTANT MsgCrAllMem : STRING + := "Corrupting entire memory with 'X'"; +CONSTANT MsgCrWrdMem : STRING + := "Corrupting a word in memory with 'X'"; +CONSTANT MsgCrBitMem : STRING + := "Corrupting a single bit in memory with 'X'"; +CONSTANT MsgCrDatMem : STRING + := "Corrupting a word with 'X' based on data in"; +CONSTANT MsgCrAllSubMem : STRING + := "Corrupting a sub-word entire memory with 'X'"; +CONSTANT MsgCrWrdSubMem : STRING + := "Corrupting a sub-word in memory with 'X'"; +CONSTANT MsgCrBitSubMem : STRING + := "Corrupting a single bit of a sub-word with 'X'"; +CONSTANT MsgCrDatSubMem : STRING + := "Corrupting a sub-word with 'X' based on data in"; +CONSTANT MsgCrWrdOut : STRING + := "Corrupting data out with 'X'"; +CONSTANT MsgCrBitOut : STRING + := "Corrupting a single bit of data out with 'X'"; +CONSTANT MsgCrDatOut : STRING + := "Corrupting data out with 'X' based on data in"; +CONSTANT MsgCrWrdSubOut : STRING + := "Corrupting data out sub-word with 'X'"; +CONSTANT MsgCrBitSubOut : STRING + := "Corrupting a single bit of data out sub-word with 'X'"; +CONSTANT MsgCrDatSubOut : STRING + := "Corrupting data out sub-word with 'X' based on data in"; +CONSTANT MsgImplOut : STRING + := "Implicit read from memory to data out"; +CONSTANT MsgReadOut : STRING + := "Reading data from memory to data out"; +CONSTANT MsgAssgOut : STRING + := "Transferring from data in to data out"; +CONSTANT MsgAsgXOut : STRING + := "Assigning unknown level to data out"; +CONSTANT MsgAsg0Out : STRING + := "Assigning low level to data out"; +CONSTANT MsgAsg1Out : STRING + := "Assigning high level to data out"; +CONSTANT MsgAsgZOut : STRING + := "Assigning high impedance to data out"; +CONSTANT MsgAsgSOut : STRING + := "Keeping data out at steady value"; +CONSTANT MsgAsgXMem : STRING + := "Assigning unknown level to memory location"; +CONSTANT MsgAsg0Mem : STRING + := "Assigning low level to memory location"; +CONSTANT MsgAsg1Mem : STRING + := "Assigning high level to memory location"; +CONSTANT MsgAsgZMem : STRING + := "Assigning high impedance to memory location"; +CONSTANT MsgDefMemAct : STRING + := "No memory table match, using default action"; +CONSTANT MsgInitMem : STRING + := "Initializing memory contents"; +CONSTANT MsgMcpWrCont : STRING + := "Same port write contention"; +CONSTANT MsgMcpCpCont : STRING + := "Cross port read/write data/memory contention"; +CONSTANT MsgMcpCpRead : STRING + := "Cross port read to same port"; +CONSTANT MsgMcpRdWrCo : STRING + := "Cross port read/write data only contention"; +CONSTANT MsgMcpCpWrCont : STRING + := "Cross port write contention"; +CONSTANT MsgUnknMemDo : STRING + := "Unknown memory action"; +CONSTANT MsgUnknDatDo : STRING + := "Unknown data action"; +CONSTANT MsgUnknSymbol : STRING + := "Illegal memory symbol"; + +CONSTANT MsgLdIlgArg : STRING + := "Illegal bit arguments while loading memory."; +CONSTANT MsgLdMemInfo : STRING + := "Loading data from the file into memory."; +CONSTANT MsgLdAddrRng : STRING + := "Address out of range while loading memory."; +CONSTANT MsgLdFileEmpty : STRING + := "Memory load file is empty."; +CONSTANT MsgPrintString : STRING + := ""; + +CONSTANT MsgUnknown : STRING + := "Unknown error message."; + +CONSTANT MsgVMT : STRING + := "VitalMemoryTable"; +CONSTANT MsgVMV : STRING + := "VitalMemoryViolation"; +CONSTANT MsgVDM : STRING + := "VitalDeclareMemory"; +CONSTANT MsgVMCP : STRING + := "VitalMemoryCrossPorts"; + +-- ---------------------------------------------------------------------------- +-- LOCAL Utilities +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- Procedure: MemoryMessage +-- Parameters: ErrorId -- Input error code +-- Description: This function looks up the input error code and returns +-- the string value of the associated message. +-- ---------------------------------------------------------------------------- + +FUNCTION MemoryMessage ( + CONSTANT ErrorId : IN VitalMemoryErrorType +) RETURN STRING IS +BEGIN + CASE ErrorId IS + WHEN ErrGoodAddr => RETURN MsgGoodAddr ; + WHEN ErrUnknAddr => RETURN MsgUnknAddr ; + WHEN ErrInvaAddr => RETURN MsgInvaAddr ; + WHEN ErrGoodTrAddr => RETURN MsgGoodTrAddr ; + WHEN ErrUnknTrAddr => RETURN MsgUnknTrAddr ; + WHEN ErrInvaTrAddr => RETURN MsgInvaTrAddr ; + WHEN ErrWrDatMem => RETURN MsgWrDatMem ; + WHEN ErrNoChgMem => RETURN MsgNoChgMem ; + WHEN ErrCrAllMem => RETURN MsgCrAllMem ; + WHEN ErrCrWrdMem => RETURN MsgCrWrdMem ; + WHEN ErrCrBitMem => RETURN MsgCrBitMem ; + WHEN ErrCrDatMem => RETURN MsgCrDatMem ; + WHEN ErrCrAllSubMem => RETURN MsgCrAllSubMem; + WHEN ErrCrWrdSubMem => RETURN MsgCrWrdSubMem; + WHEN ErrCrBitSubMem => RETURN MsgCrBitSubMem; + WHEN ErrCrDatSubMem => RETURN MsgCrDatSubMem; + WHEN ErrCrWrdOut => RETURN MsgCrWrdOut ; + WHEN ErrCrBitOut => RETURN MsgCrBitOut ; + WHEN ErrCrDatOut => RETURN MsgCrDatOut ; + WHEN ErrCrWrdSubOut => RETURN MsgCrWrdSubOut; + WHEN ErrCrBitSubOut => RETURN MsgCrBitSubOut; + WHEN ErrCrDatSubOut => RETURN MsgCrDatSubOut; + WHEN ErrImplOut => RETURN MsgImplOut ; + WHEN ErrReadOut => RETURN MsgReadOut ; + WHEN ErrAssgOut => RETURN MsgAssgOut ; + WHEN ErrAsgXOut => RETURN MsgAsgXOut ; + WHEN ErrAsg0Out => RETURN MsgAsg0Out ; + WHEN ErrAsg1Out => RETURN MsgAsg1Out ; + WHEN ErrAsgZOut => RETURN MsgAsgZOut ; + WHEN ErrAsgSOut => RETURN MsgAsgSOut ; + WHEN ErrAsgXMem => RETURN MsgAsgXMem ; + WHEN ErrAsg0Mem => RETURN MsgAsg0Mem ; + WHEN ErrAsg1Mem => RETURN MsgAsg1Mem ; + WHEN ErrAsgZMem => RETURN MsgAsgZMem ; + WHEN ErrDefMemAct => RETURN MsgDefMemAct ; + WHEN ErrInitMem => RETURN MsgInitMem ; + WHEN ErrMcpWrCont => RETURN MsgMcpWrCont ; + WHEN ErrMcpCpCont => RETURN MsgMcpCpCont ; + WHEN ErrMcpCpRead => RETURN MsgMcpCpRead ; + WHEN ErrMcpRdWrCo => RETURN MsgMcpRdWrCo ; + WHEN ErrMcpCpWrCont => RETURN MsgMcpCpWrCont; + WHEN ErrUnknMemDo => RETURN MsgUnknMemDo ; + WHEN ErrUnknDatDo => RETURN MsgUnknDatDo ; + WHEN ErrUnknSymbol => RETURN MsgUnknSymbol ; + WHEN ErrLdIlgArg => RETURN MsgLdIlgArg ; + WHEN ErrLdAddrRng => RETURN MsgLdAddrRng ; + WHEN ErrLdMemInfo => RETURN MsgLdMemInfo ; + WHEN ErrLdFileEmpty => RETURN MsgLdFileEmpty; + WHEN ErrPrintString => RETURN MsgPrintString; + WHEN OTHERS => RETURN MsgUnknown ; + END CASE; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: PrintMemoryMessage +-- Parameters: Routine -- String identifying the calling routine +-- ErrorId -- Input error code for message lookup +-- Info -- Output string or character +-- InfoStr -- Additional output string +-- Info1 -- Additional output integer +-- Info2 -- Additional output integer +-- Info3 -- Additional output integer +-- Description: This procedure prints out a memory status message +-- given the input error id and other status information. +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType +) IS +BEGIN + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT Info : IN STRING +) IS +BEGIN + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & Info + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT Info1 : IN STRING; + CONSTANT Info2 : IN STRING +) IS +BEGIN + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & Info1 & " " & Info2 + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT Info : IN CHARACTER +) IS +BEGIN + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & Info + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT InfoStr : IN STRING; + CONSTANT Info1 : IN NATURAL +) IS + VARIABLE TmpStr : STRING ( 1 TO 256 ) ; + VARIABLE TmpInt : INTEGER := 1; +BEGIN + IntToStr(Info1,TmpStr,TmpInt); + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & InfoStr & " " & TmpStr + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT InfoStr : IN STRING; + CONSTANT Info1 : IN NATURAL; + CONSTANT Info2 : IN NATURAL +) IS + VARIABLE TmpStr : STRING ( 1 TO 256 ) ; + VARIABLE TmpInt : INTEGER := 1; +BEGIN + IntToStr(Info1,TmpStr,TmpInt); + IntToStr(Info2,TmpStr,TmpInt); + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & InfoStr & " " & TmpStr + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalMemoryErrorType; + CONSTANT InfoStr : IN STRING; + CONSTANT Info1 : IN NATURAL; + CONSTANT Info2 : IN NATURAL; + CONSTANT Info3 : IN NATURAL +) IS + VARIABLE TmpStr : STRING ( 1 TO 256 ) ; + VARIABLE TmpInt : INTEGER := 1; +BEGIN + IntToStr(Info1,TmpStr,TmpInt); + IntToStr(Info2,TmpStr,TmpInt); + IntToStr(Info3,TmpStr,TmpInt); + ASSERT FALSE + REPORT Routine & ": " & MemoryMessage(ErrorId) & " " & InfoStr & " " & TmpStr + SEVERITY VitalMemoryErrorSeverity(ErrorId); +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE PrintMemoryMessage ( + CONSTANT Routine : IN STRING; + CONSTANT Table : IN VitalMemoryTableType; + CONSTANT Index : IN INTEGER; + CONSTANT InfoStr : IN STRING +) IS + CONSTANT TableEntries : INTEGER := Table'LENGTH(1); + CONSTANT TableWidth : INTEGER := Table'LENGTH(2); + VARIABLE TmpStr : STRING ( 1 TO 256 ) ; + VARIABLE TmpInt : INTEGER := 1; +BEGIN + IF (Index < 0 AND Index > TableEntries-1) THEN + ASSERT FALSE + REPORT Routine & ": Memory table search failure" + SEVERITY ERROR; + END IF; + ColLoop: + FOR i IN 0 TO TableWidth-1 LOOP + IF (i >= 64) THEN + TmpStr(TmpInt) := '.'; + TmpInt := TmpInt + 1; + TmpStr(TmpInt) := '.'; + TmpInt := TmpInt + 1; + TmpStr(TmpInt) := '.'; + TmpInt := TmpInt + 1; + EXIT ColLoop; + END IF; + TmpStr(TmpInt) := '''; + TmpInt := TmpInt + 1; + TmpStr(TmpInt) := To_MemoryChar(Table(Index,i)); + TmpInt := TmpInt + 1; + TmpStr(TmpInt) := '''; + TmpInt := TmpInt + 1; + IF (i < TableWidth-1) THEN + TmpStr(TmpInt) := ','; + TmpInt := TmpInt + 1; + END IF; + END LOOP; + ASSERT FALSE + REPORT Routine & ": Port=" & InfoStr & " TableRow=" & TmpStr + SEVERITY NOTE; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: DecodeAddress +-- Parameters: Address - Converted address. +-- AddrFlag - Flag to indicte address match +-- MemoryData - Information about memory characteristics +-- PrevAddressBus - Previous input address value +-- AddressBus - Input address value. +-- Description: This procedure is used for transforming a valid +-- address value to an integer in order to access memory. +-- It performs address bound checking as well. +-- Sets Address to -1 for unknowns +-- Sets Address to -2 for out of range +-- ---------------------------------------------------------------------------- + +PROCEDURE DecodeAddress ( + VARIABLE Address : INOUT INTEGER; + VARIABLE AddrFlag : INOUT VitalMemorySymbolType; + VARIABLE MemoryData : IN VitalMemoryDataType; + CONSTANT PrevAddressBus : IN std_logic_vector; + CONSTANT AddressBus : IN std_logic_vector +) IS + VARIABLE Power : NATURAL; + VARIABLE AddrUnkn : BOOLEAN; +BEGIN + Power := 0; + AddrUnkn := FALSE; + -- It is assumed that always Address'LEFT represents the Most significant bit. + FOR i IN AddressBus'RANGE LOOP + Power := Power * 2; + IF (AddressBus(i) /= '1' AND AddressBus(i) /= '0') THEN + AddrUnkn := TRUE; + Power := 0; + EXIT; + ELSIF (AddressBus(i) = '1') THEN + Power := Power + 1; + END IF; + END LOOP; + Address := Power; + AddrFlag := 'g'; + IF (AddrUnkn) THEN + AddrFlag := 'u'; -- unknown addr + Address := -1; + END IF; + IF ( Power > (MemoryData.NoOfWords - 1)) THEN + AddrFlag := 'i'; -- invalid addr + Address := -2; + END IF; + IF (PrevAddressBus /= AddressBus) THEN + CASE AddrFlag IS + WHEN 'g' => AddrFlag := 'G'; + WHEN 'u' => AddrFlag := 'U'; + WHEN 'i' => AddrFlag := 'I'; + WHEN OTHERS => + ASSERT FALSE REPORT + "DecodeAddress: Internal error. [AddrFlag]=" + & To_MemoryChar(AddrFlag) + SEVERITY ERROR; + END CASE; + END IF; +END DecodeAddress; + +-- ---------------------------------------------------------------------------- +-- Procedure: DecodeData +-- Parameters: DataFlag - Flag to indicte data match +-- PrevDataInBus - Previous input data value +-- DataInBus - Input data value. +-- HighBit - High bit offset value. +-- LowBit - Low bit offset value. +-- Description: This procedure is used for interpreting the input data +-- as a data flag for subsequent table matching. +-- ---------------------------------------------------------------------------- +PROCEDURE DecodeData ( + VARIABLE DataFlag : INOUT VitalMemorySymbolType; + CONSTANT PrevDataInBus : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT HighBit : IN NATURAL; + CONSTANT LowBit : IN NATURAL +) IS + VARIABLE DataUnkn : BOOLEAN := FALSE; +BEGIN + FOR i IN LowBit TO HighBit LOOP + IF DataInBus(i) /= '1' AND DataInBus(i) /= '0' THEN + DataUnkn := TRUE; + EXIT; + END IF; + END LOOP; + DataFlag := 'g'; + IF (DataUnkn) THEN + DataFlag := 'u'; -- unknown addr + END IF; + IF (PrevDataInBus(HighBit DOWNTO LowBit) /= + DataInBus(HighBit DOWNTO LowBit)) THEN + CASE DataFlag IS + WHEN 'g' => DataFlag := 'G'; + WHEN 'u' => DataFlag := 'U'; + WHEN OTHERS => + ASSERT FALSE REPORT + "DecodeData: Internal error. [DataFlag]=" + & To_MemoryChar(DataFlag) + SEVERITY ERROR; + END CASE; + END IF; +END DecodeData; + +-- ---------------------------------------------------------------------------- +-- Procedure: WriteMemory +-- Parameters: MemoryPtr - Pointer to the memory array. +-- DataInBus - Input Data to be written. +-- Address - Address of the memory location. +-- BitPosition - Position of bit in memory location. +-- HighBit - High bit offset value. +-- LowBit - Low bit offset value. +-- Description: This procedure is used to write to a memory location +-- on a bit/byte/word basis. +-- The high bit and low bit offset are used for byte write +-- operations.These parameters specify the data byte for write. +-- In the case of word write the complete memory word is used. +-- This procedure is overloaded for bit,byte and word write +-- memory operations.The number of parameters may vary. +-- ---------------------------------------------------------------------------- +PROCEDURE WriteMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT HighBit : IN NATURAL; + CONSTANT LowBit : IN NATURAL +) IS + VARIABLE TmpData : std_logic_vector(DataInBus'LENGTH - 1 DOWNTO 0); +BEGIN + -- Address bound checking. + IF ( Address < 0 OR Address > (MemoryPtr.NoOfWords - 1)) THEN + PrintMemoryMessage ( "WriteMemory", ErrPrintString, + "Aborting write operation as address is out of range.") ; + RETURN; + END IF; + TmpData := To_UX01(DataInBus); + FOR i in LowBit to HighBit LOOP + MemoryPtr.MemoryArrayPtr(Address).all(i) := TmpData(i); + END LOOP; +END WriteMemory; + +-- ---------------------------------------------------------------------------- +PROCEDURE WriteMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT BitPosition : IN NATURAL +) IS + VARIABLE HighBit : NATURAL; + VARIABLE LowBit : NATURAL; +BEGIN + HighBit := BitPosition; + LowBit := BitPosition; + WriteMemory (MemoryPtr, DataInBus, Address, HighBit, LowBit); +END WriteMemory; + +-- ---------------------------------------------------------------------------- +PROCEDURE WriteMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT Address : IN INTEGER +) IS + VARIABLE HighBit : NATURAL; + VARIABLE LowBit : NATURAL; +BEGIN + HighBit := MemoryPtr.NoOfBitsPerWord - 1; + LowBit := 0; + WriteMemory (MemoryPtr, DataInBus, Address, HighBit, LowBit); +END WriteMemory; + +-- ---------------------------------------------------------------------------- +-- Procedure: ReadMemory +-- Parameters: MemoryPtr - Pointer to the memory array. +-- DataOut - Output Data to be read in this. +-- Address - Address of the memory location. +-- BitPosition - Position of bit in memory location. +-- HighBit - High bit offset value. +-- LowBit - Low bit offset value. +-- Description: This procedure is used to read from a memory location +-- on a bit/byte/word basis. +-- The high bit and low bit offset are used for byte write +-- operations.These parameters specify the data byte for +-- read.In the case of word write the complete memory word +-- is used.This procedure is overloaded for bit,byte and +-- word write memory operations.The number of parameters +-- may vary. +-- ---------------------------------------------------------------------------- +PROCEDURE ReadMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + VARIABLE DataOut : OUT std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT HighBit : IN NATURAL; + CONSTANT LowBit : IN NATURAL +) IS + VARIABLE DataOutTmp : std_logic_vector(MemoryPtr.NoOfBitsPerWord-1 DOWNTO 0); + VARIABLE length : NATURAL := (HighBit - LowBit + 1); +BEGIN + -- Address bound checking. + IF ( Address > (MemoryPtr.NoOfWords - 1)) THEN + PrintMemoryMessage ( + "ReadMemory",ErrInvaAddr, + "[Address,NoOfWords]=",Address,MemoryPtr.NoOfWords + ); + FOR i in LowBit to HighBit LOOP + DataOutTmp(i) := 'X'; + END LOOP; + ELSE + FOR i in LowBit to HighBit LOOP + DataOutTmp(i) := MemoryPtr.MemoryArrayPtr (Address).all(i); + END LOOP; + END IF; + DataOut := DataOutTmp; +END ReadMemory; + +-- ---------------------------------------------------------------------------- +PROCEDURE ReadMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + VARIABLE DataOut : OUT std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT BitPosition : IN NATURAL +) IS + VARIABLE HighBit : NATURAL; + VARIABLE LowBit : NATURAL; +BEGIN + HighBit := BitPosition; + LowBit := BitPosition; + ReadMemory (MemoryPtr, DataOut, Address, HighBit, LowBit); +END ReadMemory; + +-- ---------------------------------------------------------------------------- +PROCEDURE ReadMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + VARIABLE DataOut : OUT std_logic_vector; + CONSTANT Address : IN INTEGER +) IS + VARIABLE HighBit : NATURAL; + VARIABLE LowBit : NATURAL; +BEGIN + HighBit := MemoryPtr.NoOfBitsPerWord - 1; + LowBit := 0; + ReadMemory (MemoryPtr, DataOut, Address, HighBit, LowBit); +END ReadMemory; + + +-- ---------------------------------------------------------------------------- +-- Procedure: LoadMemory +-- Parameters: MemoryPtr - Pointer to the memory array. +-- FileName - Name of the output file. +-- HighBit - High bit offset value. +-- LowBit - Low bit offset value. +-- Description: This procedure is used to load the contents of the memory +-- from a specified input file. +-- The high bit and low bit offset are used so that same task +-- can be used for all bit/byte/word write operations. +-- In the case of a bit write RAM the HighBit and LowBit have +-- the same value. +-- This procedure is overloaded for word write operations. +-- ---------------------------------------------------------------------------- +PROCEDURE LoadMemory ( + VARIABLE MemoryPtr : INOUT VitalMemoryDataType; + CONSTANT FileName : IN STRING; + CONSTANT BinaryFile : IN BOOLEAN := FALSE +) IS + FILE Fptr : TEXT OPEN read_mode IS FileName; + VARIABLE OneLine : LINE; + VARIABLE Ignore : CHARACTER; + VARIABLE Index : NATURAL := 1; + VARIABLE LineNo : NATURAL := 0; + VARIABLE Address : INTEGER := 0; + VARIABLE DataInBus : std_logic_vector(MemoryPtr.NoOfBitsPerWord-1 DOWNTO 0); + VARIABLE AddrStr : STRING(1 TO 80) ; + VARIABLE DataInStr : STRING(1 TO 255) ; +BEGIN + IF (ENDFILE(fptr)) THEN + PrintMemoryMessage (MsgVDM, ErrLdFileEmpty, + "[FileName]="&FileName); + RETURN; + END IF ; + PrintMemoryMessage ( + MsgVDM,ErrLdMemInfo, "[FileName]="&FileName + ); + WHILE (NOT ENDFILE(fptr)) LOOP + ReadLine(Fptr, OneLine); + LineNo := LineNo + 1 ; + -- First ignoring leading spaces. + WHILE (OneLine'LENGTH /= 0 and IsSpace(OneLine(1))) LOOP + READ (OneLine, Ignore) ; -- Ignoring the space character. + END LOOP ; + -- Note that, by now oneline has been "stripped" of its leading spaces. + IF ( OneLine(1) = '@' ) THEN + READ (OneLine, Ignore); -- Ignore the '@' character and read the string. + -- Now strip off spaces, if any, between '@' and Address string. + WHILE (OneLine'LENGTH /= 0 and IsSpace(OneLine(1))) LOOP + READ (OneLine, Ignore) ; -- Ignoring the space character. + END LOOP ; + -- Now get the string which represents the address into string variable. + Index := 1; + WHILE (OneLine'LENGTH /= 0 AND (NOT(IsSpace(OneLine(1))))) LOOP + READ(OneLine, AddrStr(Index)); + Index := Index + 1; + END LOOP ; + AddrStr(Index) := NUL; + -- Now convert the hex string into a hex integer + Address := HexToInt(AddrStr) ; + ELSE + IF ( LineNo /= 1 ) THEN + Address := Address + 1; + END IF; + END IF ; + IF ( Address > (MemoryPtr.NoOfWords - 1) ) THEN + PrintMemoryMessage (MsgVDM, ErrLdAddrRng, + "[Address,lineno]=", Address, LineNo) ; + EXIT ; + END IF; + -- Now strip off spaces, between Address string and DataInBus string. + WHILE (OneLine'LENGTH /= 0 AND IsSpace(OneLine(1))) LOOP + READ (OneLine, Ignore) ; -- Ignoring the space character. + END LOOP ; + Index := 1; + WHILE (OneLine'LENGTH /= 0 AND (NOT(IsSpace(OneLine(1))))) LOOP + READ(OneLine, DataInStr(Index)); + Index := Index + 1; + END LOOP ; + DataInStr(Index) := NUL; + IF (BinaryFile) THEN + DataInBus := BinToBitv (DataInStr); + ELSE + DataInBus := HexToBitv (DataInStr); + END IF ; + WriteMemory (MemoryPtr, DataInBus, Address); + END LOOP ; +END LoadMemory; + +-- ---------------------------------------------------------------------------- +-- Procedure: MemoryMatch +-- Parameters: Symbol - Symbol from memory table +-- TestFlag - Interpreted data or address symbol +-- In2 - input from VitalMemoryTable procedure +-- to memory table +-- In2LastValue - Previous value of input +-- Err - TRUE if symbol is not a valid input symbol +-- ReturnValue - TRUE if match occurred +-- Description: This procedure sets ReturnValue to true if in2 matches +-- symbol (from the memory table). If symbol is an edge +-- value edge is set to true and in2 and in2LastValue are +-- checked against symbol. Err is set to true if symbol +-- is an invalid value for the input portion of the memory +-- table. +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryMatch ( + CONSTANT Symbol : IN VitalMemorySymbolType; + CONSTANT In2 : IN std_ulogic; + CONSTANT In2LastValue : IN std_ulogic; + VARIABLE Err : OUT BOOLEAN; + VARIABLE ReturnValue : OUT BOOLEAN +) IS +BEGIN + IF (NOT ValidMemoryTableInput(Symbol) ) THEN + PrintMemoryMessage(MsgVMT,ErrUnknSymbol,To_MemoryChar(Symbol)); + Err := TRUE; + ReturnValue := FALSE; + ELSE + ReturnValue := MemoryTableMatch(To_X01(In2LastValue), To_X01(In2), Symbol); + Err := FALSE; + END IF; +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryMatch ( + CONSTANT Symbol : IN VitalMemorySymbolType; + CONSTANT TestFlag : IN VitalMemorySymbolType; + VARIABLE Err : OUT BOOLEAN; + VARIABLE ReturnValue : OUT BOOLEAN +) IS +BEGIN + Err := FALSE; + ReturnValue := FALSE; + CASE Symbol IS + WHEN 'g'|'u'|'i'|'G'|'U'|'I'|'-'|'*'|'S' => + IF (Symbol = TestFlag) THEN + ReturnValue := TRUE; + ELSE + CASE Symbol IS + WHEN '-' => + ReturnValue := TRUE; + Err := FALSE; + WHEN '*' => + IF (TestFlag = 'G' OR + TestFlag = 'U' OR + TestFlag = 'I') THEN + ReturnValue := TRUE; + Err := FALSE; + END IF; + WHEN 'S' => + IF (TestFlag = 'g' OR + TestFlag = 'u' OR + TestFlag = 'i') THEN + ReturnValue := TRUE; + Err := FALSE; + END IF; + WHEN OTHERS => + ReturnValue := FALSE; + END CASE; + END IF; + WHEN OTHERS => + Err := TRUE; + RETURN; + END CASE; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: MemoryTableCorruptMask +-- Description: Compute memory and data corruption masks for memory table +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryTableCorruptMask ( + VARIABLE CorruptMask : OUT std_logic_vector; + CONSTANT Action : IN VitalMemorySymbolType; + CONSTANT EnableIndex : IN INTEGER; + CONSTANT BitsPerWord : IN INTEGER; + CONSTANT BitsPerSubWord : IN INTEGER; + CONSTANT BitsPerEnable : IN INTEGER +) IS + VARIABLE CorruptMaskTmp : std_logic_vector (CorruptMask'RANGE) + := (OTHERS => '0'); + VARIABLE ViolFlAryPosn : INTEGER; + VARIABLE HighBit : INTEGER; + VARIABLE LowBit : INTEGER; +BEGIN + CASE (Action) IS + WHEN 'c'|'l'|'e' => + -- Corrupt whole word + CorruptMaskTmp := (OTHERS => 'X'); + CorruptMask := CorruptMaskTmp; + RETURN; + WHEN 'd'|'C'|'L'|'D'|'E' => + -- Process corruption below + WHEN OTHERS => + -- No data or memory corruption + CorruptMaskTmp := (OTHERS => '0'); + CorruptMask := CorruptMaskTmp; + RETURN; + END CASE; + IF (Action = 'd') THEN + CorruptMaskTmp := (OTHERS => 'X'); + CorruptMask := CorruptMaskTmp; + RETURN; + END IF; + -- Remaining are subword cases 'C', 'L', 'D', 'E' + CorruptMaskTmp := (OTHERS => '0'); + LowBit := 0; + HighBit := BitsPerSubWord-1; + SubWordLoop: + FOR i IN 0 TO BitsPerEnable-1 LOOP + IF (i = EnableIndex) THEN + FOR j IN HighBit TO LowBit LOOP + CorruptMaskTmp(j) := 'X'; + END LOOP; + END IF; + -- Calculate HighBit and LowBit + LowBit := LowBit + BitsPerSubWord; + IF (LowBit > BitsPerWord) THEN + LowBit := BitsPerWord; + END IF; + HighBit := LowBit + BitsPerSubWord; + IF (HighBit > BitsPerWord) THEN + HighBit := BitsPerWord; + ELSE + HighBit := HighBit - 1; + END IF; + END LOOP; + CorruptMask := CorruptMaskTmp; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryTableCorruptMask ( + VARIABLE CorruptMask : OUT std_logic_vector; + CONSTANT Action : IN VitalMemorySymbolType +) IS + VARIABLE CorruptMaskTmp : std_logic_vector (0 TO CorruptMask'LENGTH-1) + := (OTHERS => '0'); + VARIABLE ViolFlAryPosn : INTEGER; + VARIABLE HighBit : INTEGER; + VARIABLE LowBit : INTEGER; +BEGIN + CASE (Action) IS + WHEN 'c'|'l'|'d'|'e'|'C'|'L'|'D'|'E' => + -- Corrupt whole word + CorruptMaskTmp := (OTHERS => 'X'); + CorruptMask := CorruptMaskTmp; + RETURN; + WHEN OTHERS => + -- No data or memory corruption + CorruptMaskTmp := (OTHERS => '0'); + CorruptMask := CorruptMaskTmp; + RETURN; + END CASE; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: MemoryTableCorruptMask +-- Description: Compute memory and data corruption masks for violation table +-- ---------------------------------------------------------------------------- +PROCEDURE ViolationTableCorruptMask ( + VARIABLE CorruptMask : OUT std_logic_vector; + CONSTANT Action : IN VitalMemorySymbolType; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationFlagsArray : IN std_logic_vector; + CONSTANT ViolationSizesArray : IN VitalMemoryViolFlagSizeType; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT TableIndex : IN INTEGER; + CONSTANT BitsPerWord : IN INTEGER; + CONSTANT BitsPerSubWord : IN INTEGER; + CONSTANT BitsPerEnable : IN INTEGER +) IS + VARIABLE CorruptMaskTmp : std_logic_vector (CorruptMask'RANGE) + := (OTHERS => '0'); + VARIABLE ViolMaskTmp : std_logic_vector (CorruptMask'RANGE) + := (OTHERS => '0'); + VARIABLE ViolFlAryPosn : INTEGER; + VARIABLE HighBit : INTEGER; + VARIABLE LowBit : INTEGER; + CONSTANT ViolFlagsSize : INTEGER := ViolationFlags'LENGTH; + CONSTANT ViolFlArySize : INTEGER := ViolationFlagsArray'LENGTH; + CONSTANT TableEntries : INTEGER := ViolationTable'LENGTH(1); + CONSTANT TableWidth : INTEGER := ViolationTable'LENGTH(2); + CONSTANT DatActionNdx : INTEGER := TableWidth - 1; + CONSTANT MemActionNdx : INTEGER := TableWidth - 2; +BEGIN + CASE (Action) IS + WHEN 'c'|'l'|'e' => + -- Corrupt whole word + CorruptMaskTmp := (OTHERS => 'X'); + CorruptMask := CorruptMaskTmp; + RETURN; + WHEN 'd'|'C'|'L'|'D'|'E' => + -- Process corruption below + WHEN OTHERS => + -- No data or memory corruption + CorruptMaskTmp := (OTHERS => '0'); + CorruptMask := CorruptMaskTmp; + RETURN; + END CASE; + RowLoop: -- Check each element of the ViolationFlags + FOR j IN 0 TO ViolFlagsSize LOOP + IF (j = ViolFlagsSize) THEN + ViolFlAryPosn := 0; + RowLoop2: -- Check relevant elements of the ViolationFlagsArray + FOR k IN 0 TO MemActionNdx - ViolFlagsSize - 1 LOOP + IF (ViolationTable(TableIndex, k + ViolFlagsSize) = 'X') THEN + MaskLoop: -- Set the 'X' bits in the violation mask + FOR m IN INTEGER RANGE 0 TO CorruptMask'LENGTH-1 LOOP + IF (m <= ViolationSizesArray(k)-1) THEN + ViolMaskTmp(m) := ViolMaskTmp(m) XOR + ViolationFlagsArray(ViolFlAryPosn+m); + ELSE + EXIT MaskLoop; + END IF; + END LOOP; + END IF; + ViolFlAryPosn := ViolFlAryPosn + ViolationSizesArray(k); + END LOOP; + ELSE + IF (ViolationTable(TableIndex, j) = 'X') THEN + ViolMaskTmp(0) := ViolMaskTmp(0) XOR ViolationFlags(j); + END IF; + END IF; + END LOOP; + IF (Action = 'd') THEN + CorruptMask := ViolMaskTmp; + RETURN; + END IF; + -- Remaining are subword cases 'C', 'L', 'D', 'E' + CorruptMaskTmp := (OTHERS => '0'); + LowBit := 0; + HighBit := BitsPerSubWord-1; + SubWordLoop: + FOR i IN 0 TO BitsPerEnable-1 LOOP + IF (ViolMaskTmp(i) = 'X') THEN + FOR j IN HighBit TO LowBit LOOP + CorruptMaskTmp(j) := 'X'; + END LOOP; + END IF; + -- Calculate HighBit and LowBit + LowBit := LowBit + BitsPerSubWord; + IF (LowBit > BitsPerWord) THEN + LowBit := BitsPerWord; + END IF; + HighBit := LowBit + BitsPerSubWord; + IF (HighBit > BitsPerWord) THEN + HighBit := BitsPerWord; + ELSE + HighBit := HighBit - 1; + END IF; + END LOOP; + CorruptMask := CorruptMaskTmp; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: MemoryTableLookUp +-- Parameters: MemoryAction - Output memory action to be performed +-- DataAction - Output data action to be performed +-- PrevControls - Previous data in for edge detection +-- PrevEnableBus - Previous enables for edge detection +-- Controls - Agregate of scalar control lines +-- EnableBus - Concatenation of vector control lines +-- EnableIndex - Current slice of vector control lines +-- AddrFlag - Matching symbol from address decoding +-- DataFlag - Matching symbol from data decoding +-- MemoryTable - Input memory action table +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control message output +-- +-- Description: This function is used to find the output of the +-- MemoryTable corresponding to a given set of inputs. +-- +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryTableLookUp ( + VARIABLE MemoryAction : OUT VitalMemorySymbolType; + VARIABLE DataAction : OUT VitalMemorySymbolType; + VARIABLE MemoryCorruptMask : OUT std_logic_vector; + VARIABLE DataCorruptMask : OUT std_logic_vector; + CONSTANT PrevControls : IN std_logic_vector; + CONSTANT Controls : IN std_logic_vector; + CONSTANT AddrFlag : IN VitalMemorySymbolType; + CONSTANT DataFlag : IN VitalMemorySymbolType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + CONSTANT ControlsSize : INTEGER := Controls'LENGTH; + CONSTANT TableEntries : INTEGER := MemoryTable'LENGTH(1); + CONSTANT TableWidth : INTEGER := MemoryTable'LENGTH(2); + CONSTANT DatActionNdx : INTEGER := TableWidth - 1; + CONSTANT MemActionNdx : INTEGER := TableWidth - 2; + CONSTANT DataInBusNdx : INTEGER := TableWidth - 3; + CONSTANT AddressBusNdx : INTEGER := TableWidth - 4; + VARIABLE AddrFlagTable : VitalMemorySymbolType; + VARIABLE Match : BOOLEAN; + VARIABLE Err : BOOLEAN := FALSE; + VARIABLE TableAlias : VitalMemoryTableType( + 0 TO TableEntries - 1, + 0 TO TableWidth - 1) + := MemoryTable; +BEGIN + ColLoop: -- Compare each entry in the table + FOR i IN TableAlias'RANGE(1) LOOP + RowLoop: -- Check each element of the Controls + FOR j IN 0 TO ControlsSize LOOP + IF (j = ControlsSize) THEN + -- a match occurred, now check AddrFlag, DataFlag + MemoryMatch(TableAlias(i,AddressBusNdx),AddrFlag,Err,Match); + IF (Match) THEN + MemoryMatch(TableAlias(i,DataInBusNdx),DataFlag,Err,Match); + IF (Match) THEN + MemoryTableCorruptMask ( + CorruptMask => MemoryCorruptMask , + Action => TableAlias(i, MemActionNdx) + ); + MemoryTableCorruptMask ( + CorruptMask => DataCorruptMask , + Action => TableAlias(i, DatActionNdx) + ); + -- get the return memory and data actions + MemoryAction := TableAlias(i, MemActionNdx); + DataAction := TableAlias(i, DatActionNdx); + -- DEBUG: The lines below report table search + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMT,TableAlias,i,PortName); + END IF; + -- DEBUG: The lines above report table search + RETURN; + END IF; + END IF; + ELSE + -- Match memory table inputs + MemoryMatch ( TableAlias(i,j), + Controls(j), PrevControls(j), + Err, Match); + END IF; + EXIT RowLoop WHEN NOT(Match); + EXIT ColLoop WHEN Err; + END LOOP RowLoop; + END LOOP ColLoop; + -- no match found, return default action + MemoryAction := 's'; -- no change to memory + DataAction := 'S'; -- no change to dataout + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMT,ErrDefMemAct,HeaderMsg,PortName); + END IF; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +PROCEDURE MemoryTableLookUp ( + VARIABLE MemoryAction : OUT VitalMemorySymbolType; + VARIABLE DataAction : OUT VitalMemorySymbolType; + VARIABLE MemoryCorruptMask : OUT std_logic_vector; + VARIABLE DataCorruptMask : OUT std_logic_vector; + CONSTANT PrevControls : IN std_logic_vector; + CONSTANT PrevEnableBus : IN std_logic_vector; + CONSTANT Controls : IN std_logic_vector; + CONSTANT EnableBus : IN std_logic_vector; + CONSTANT EnableIndex : IN INTEGER; + CONSTANT BitsPerWord : IN INTEGER; + CONSTANT BitsPerSubWord : IN INTEGER; + CONSTANT BitsPerEnable : IN INTEGER; + CONSTANT AddrFlag : IN VitalMemorySymbolType; + CONSTANT DataFlag : IN VitalMemorySymbolType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + CONSTANT ControlsSize : INTEGER := Controls'LENGTH; + CONSTANT TableEntries : INTEGER := MemoryTable'LENGTH(1); + CONSTANT TableWidth : INTEGER := MemoryTable'LENGTH(2); + CONSTANT DatActionNdx : INTEGER := TableWidth - 1; + CONSTANT MemActionNdx : INTEGER := TableWidth - 2; + CONSTANT DataInBusNdx : INTEGER := TableWidth - 3; + CONSTANT AddressBusNdx : INTEGER := TableWidth - 4; + VARIABLE AddrFlagTable : VitalMemorySymbolType; + VARIABLE Match : BOOLEAN; + VARIABLE Err : BOOLEAN := FALSE; + VARIABLE TableAlias : VitalMemoryTableType( + 0 TO TableEntries - 1, + 0 TO TableWidth - 1) + := MemoryTable; +BEGIN + ColLoop: -- Compare each entry in the table + FOR i IN TableAlias'RANGE(1) LOOP + RowLoop: -- Check each element of the Controls + FOR j IN 0 TO ControlsSize LOOP + IF (j = ControlsSize) THEN + -- a match occurred, now check EnableBus, AddrFlag, DataFlag + IF (EnableIndex >= 0) THEN + RowLoop2: -- Check relevant elements of the EnableBus + FOR k IN 0 TO AddressBusNdx - ControlsSize - 1 LOOP + MemoryMatch ( TableAlias(i,k + ControlsSize), + EnableBus(k * BitsPerEnable + EnableIndex), + PrevEnableBus(k * BitsPerEnable + EnableIndex), + Err, Match); + EXIT RowLoop2 WHEN NOT(Match); + END LOOP; + END IF; + IF (Match) THEN + MemoryMatch(TableAlias(i,AddressBusNdx),AddrFlag,Err,Match); + IF (Match) THEN + MemoryMatch(TableAlias(i,DataInBusNdx),DataFlag,Err,Match); + IF (Match) THEN + MemoryTableCorruptMask ( + CorruptMask => MemoryCorruptMask , + Action => TableAlias(i, MemActionNdx), + EnableIndex => EnableIndex , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable + ); + MemoryTableCorruptMask ( + CorruptMask => DataCorruptMask , + Action => TableAlias(i, DatActionNdx), + EnableIndex => EnableIndex , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable + ); + -- get the return memory and data actions + MemoryAction := TableAlias(i, MemActionNdx); + DataAction := TableAlias(i, DatActionNdx); + -- DEBUG: The lines below report table search + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMT,TableAlias,i,PortName); + END IF; + -- DEBUG: The lines above report table search + RETURN; + END IF; + END IF; + END IF; + ELSE + -- Match memory table inputs + MemoryMatch ( TableAlias(i,j), + Controls(j), PrevControls(j), + Err, Match); + END IF; + EXIT RowLoop WHEN NOT(Match); + EXIT ColLoop WHEN Err; + END LOOP RowLoop; + END LOOP ColLoop; + -- no match found, return default action + MemoryAction := 's'; -- no change to memory + DataAction := 'S'; -- no change to dataout + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMT,ErrDefMemAct,HeaderMsg,PortName); + END IF; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: ViolationTableLookUp +-- Parameters: MemoryAction - Output memory action to be performed +-- DataAction - Output data action to be performed +-- TimingDataArray - This is currently not used (comment out) +-- ViolationArray - Aggregation of violation variables +-- ViolationTable - Input memory violation table +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control message output +-- Description: This function is used to find the output of the +-- ViolationTable corresponding to a given set of inputs. +-- ---------------------------------------------------------------------------- +PROCEDURE ViolationTableLookUp ( + VARIABLE MemoryAction : OUT VitalMemorySymbolType; + VARIABLE DataAction : OUT VitalMemorySymbolType; + VARIABLE MemoryCorruptMask : OUT std_logic_vector; + VARIABLE DataCorruptMask : OUT std_logic_vector; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationFlagsArray : IN std_logic_vector; + CONSTANT ViolationSizesArray : IN VitalMemoryViolFlagSizeType; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT BitsPerWord : IN INTEGER; + CONSTANT BitsPerSubWord : IN INTEGER; + CONSTANT BitsPerEnable : IN INTEGER; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + CONSTANT ViolFlagsSize : INTEGER := ViolationFlags'LENGTH; + CONSTANT ViolFlArySize : INTEGER := ViolationFlagsArray'LENGTH; + VARIABLE ViolFlAryPosn : INTEGER; + VARIABLE ViolFlAryItem : std_ulogic; + CONSTANT ViolSzArySize : INTEGER := ViolationSizesArray'LENGTH; + CONSTANT TableEntries : INTEGER := ViolationTable'LENGTH(1); + CONSTANT TableWidth : INTEGER := ViolationTable'LENGTH(2); + CONSTANT DatActionNdx : INTEGER := TableWidth - 1; + CONSTANT MemActionNdx : INTEGER := TableWidth - 2; + VARIABLE HighBit : NATURAL := 0; + VARIABLE LowBit : NATURAL := 0; + VARIABLE Match : BOOLEAN; + VARIABLE Err : BOOLEAN := FALSE; + VARIABLE TableAlias : VitalMemoryTableType( + 0 TO TableEntries - 1, + 0 TO TableWidth - 1) + := ViolationTable; +BEGIN + ColLoop: -- Compare each entry in the table + FOR i IN TableAlias'RANGE(1) LOOP + RowLoop: -- Check each element of the ViolationFlags + FOR j IN 0 TO ViolFlagsSize LOOP + IF (j = ViolFlagsSize) THEN + ViolFlAryPosn := 0; + RowLoop2: -- Check relevant elements of the ViolationFlagsArray + FOR k IN 0 TO MemActionNdx - ViolFlagsSize - 1 LOOP + ViolFlAryItem := '0'; + SubwordLoop: -- Check for 'X' in ViolationFlagsArray chunk + FOR s IN ViolFlAryPosn TO ViolFlAryPosn+ViolationSizesArray(k)-1 LOOP + IF (ViolationFlagsArray(s) = 'X') THEN + ViolFlAryItem := 'X'; + EXIT SubwordLoop; + END IF; + END LOOP; + MemoryMatch ( TableAlias(i,k + ViolFlagsSize), + ViolFlAryItem,ViolFlAryItem, + Err, Match); + ViolFlAryPosn := ViolFlAryPosn + ViolationSizesArray(k); + EXIT RowLoop2 WHEN NOT(Match); + END LOOP; + IF (Match) THEN + -- Compute memory and data corruption masks + ViolationTableCorruptMask( + CorruptMask => MemoryCorruptMask , + Action => TableAlias(i, MemActionNdx), + ViolationFlags => ViolationFlags , + ViolationFlagsArray => ViolationFlagsArray , + ViolationSizesArray => ViolationSizesArray , + ViolationTable => ViolationTable , + TableIndex => i , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable + ); + ViolationTableCorruptMask( + CorruptMask => DataCorruptMask , + Action => TableAlias(i, DatActionNdx), + ViolationFlags => ViolationFlags , + ViolationFlagsArray => ViolationFlagsArray , + ViolationSizesArray => ViolationSizesArray , + ViolationTable => ViolationTable , + TableIndex => i , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable + ); + -- get the return memory and data actions + MemoryAction := TableAlias(i, MemActionNdx); + DataAction := TableAlias(i, DatActionNdx); + -- DEBUG: The lines below report table search + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMV,TableAlias,i,PortName); + END IF; + -- DEBUG: The lines above report table search + RETURN; + END IF; + ELSE + -- Match violation table inputs + Err := FALSE; + Match := FALSE; + IF (TableAlias(i,j) /= 'X' AND + TableAlias(i,j) /= '0' AND + TableAlias(i,j) /= '-') THEN + Err := TRUE; + ELSIF (TableAlias(i,j) = '-' OR + (TableAlias(i,j) = 'X' AND ViolationFlags(j) = 'X') OR + (TableAlias(i,j) = '0' AND ViolationFlags(j) = '0')) THEN + Match := TRUE; + END IF; + END IF; + EXIT RowLoop WHEN NOT(Match); + EXIT ColLoop WHEN Err; + END LOOP RowLoop; + END LOOP ColLoop; + -- no match found, return default action + MemoryAction := 's'; -- no change to memory + DataAction := 'S'; -- no change to dataout + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMV,ErrDefMemAct,HeaderMsg,PortName); + END IF; + RETURN; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: HandleMemoryAction +-- Parameters: MemoryData - Pointer to memory data structure +-- PortFlag - Indicates read/write mode of port +-- CorruptMask - XOR'ed with DataInBus when corrupting +-- DataInBus - Current data bus in +-- Address - Current address integer +-- HighBit - Current address high bit +-- LowBit - Current address low bit +-- MemoryTable - Input memory action table +-- MemoryAction - Memory action to be performed +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control message output +-- Description: This procedure performs the specified memory action on +-- the input memory data structure. +-- ---------------------------------------------------------------------------- +PROCEDURE HandleMemoryAction ( + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagType; + CONSTANT CorruptMask : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT HighBit : IN NATURAL; + CONSTANT LowBit : IN NATURAL; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT MemoryAction : IN VitalMemorySymbolType; + CONSTANT CallerName : IN STRING; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + VARIABLE DataInTmp : std_logic_vector(DataInBus'RANGE) + := DataInBus; + BEGIN + + -- Handle the memory action + CASE MemoryAction IS + + WHEN 'w' => + -- Writing data to memory + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrWrDatMem,HeaderMsg,PortName); + END IF; + WriteMemory(MemoryData,DataInBus,Address,HighBit,LowBit); + PortFlag.MemoryCurrent := WRITE; + + WHEN 's' => + -- Retaining previous memory contents + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrNoChgMem,HeaderMsg,PortName); + END IF; + -- Set memory current to quiet state + PortFlag.MemoryCurrent := READ; + + WHEN 'c' => + -- Corrupting entire memory with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrAllMem,HeaderMsg,PortName); + END IF; + DataInTmp := (OTHERS => 'X'); + -- No need to CorruptMask + FOR i IN 0 TO MemoryData.NoOfWords-1 LOOP + WriteMemory(MemoryData,DataInTmp,i); + END LOOP; + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'l' => + -- Corrupting a word in memory with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrWrdMem,HeaderMsg,PortName); + END IF; + DataInTmp := (OTHERS => 'X'); + -- No need to CorruptMask + WriteMemory(MemoryData,DataInTmp,Address); + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'd' => + -- Corrupting a single bit in memory with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrBitMem,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataInTmp,Address); + DataInTmp := DataInTmp XOR CorruptMask; + WriteMemory(MemoryData,DataInTmp,Address,HighBit,LowBit); + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'e' => + -- Corrupting a word with 'X' based on data in + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrDatMem,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataInTmp,Address); + IF (DataInTmp /= DataInBus) THEN + DataInTmp := (OTHERS => 'X'); + -- No need to CorruptMask + WriteMemory(MemoryData,DataInTmp,Address); + END IF; + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'C' => + -- Corrupting a sub-word entire memory with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrAllSubMem,HeaderMsg,PortName); + END IF; + FOR i IN 0 TO MemoryData.NoOfWords-1 LOOP + ReadMemory(MemoryData,DataInTmp,i); + DataInTmp := DataInTmp XOR CorruptMask; + WriteMemory(MemoryData,DataInTmp,i,HighBit,LowBit); + END LOOP; + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'L' => + -- Corrupting a sub-word in memory with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrWrdSubMem,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataInTmp,Address); + DataInTmp := DataInTmp XOR CorruptMask; + WriteMemory(MemoryData,DataInTmp,Address,HighBit,LowBit); + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'D' => + -- Corrupting a single bit of a memory sub-word with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrBitSubMem,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataInTmp,Address); + DataInTmp := DataInTmp XOR CorruptMask; + WriteMemory(MemoryData,DataInTmp,Address,HighBit,LowBit); + PortFlag.MemoryCurrent := CORRUPT; + + WHEN 'E' => + -- Corrupting a sub-word with 'X' based on data in + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrDatSubMem,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataInTmp,Address); + IF (DataInBus(HighBit DOWNTO LowBit) /= + DataInTmp(HighBit DOWNTO LowBit)) THEN + DataInTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + WriteMemory(MemoryData,DataInTmp,Address,HighBit,LowBit); + END IF; + --PortFlag := WRITE; + PortFlag.MemoryCurrent := CORRUPT; + + WHEN '0' => + -- Assigning low level to memory location + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsg0Mem,HeaderMsg,PortName); + END IF; + DataInTmp := (OTHERS => '0'); + WriteMemory(MemoryData,DataInTmp,Address, HighBit, LowBit); + PortFlag.MemoryCurrent := WRITE; + + WHEN '1' => + -- Assigning high level to memory location + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsg1Mem,HeaderMsg,PortName); + END IF; + DataInTmp := (OTHERS => '1'); + WriteMemory(MemoryData,DataInTmp,Address, HighBit, LowBit); + PortFlag.MemoryCurrent := WRITE; + + WHEN 'Z' => + -- Assigning high impedence to memory location + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsgZMem,HeaderMsg,PortName); + END IF; + DataInTmp := (OTHERS => 'Z'); + WriteMemory(MemoryData,DataInTmp,Address, HighBit, LowBit); + PortFlag.MemoryCurrent := WRITE; + + WHEN OTHERS => + -- Unknown memory action + PortFlag.MemoryCurrent := UNDEF; + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrUnknMemDo,HeaderMsg,PortName); + END IF; + + END CASE; + + -- Note: HandleMemoryAction does not change the PortFlag.OutputDisable +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: HandleDataAction +-- Parameters: DataOutBus - Output result of the data action +-- MemoryData - Input pointer to memory data structure +-- PortFlag - Indicates read/write mode of port +-- CorruptMask - XOR'ed with DataInBus when corrupting +-- DataInBus - Current data bus in +-- Address - Current address integer +-- HighBit - Current address high bit +-- LowBit - Current address low bit +-- MemoryTable - Input memory action table +-- DataAction - Data action to be performed +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control message output +-- Description: This procedure performs the specified data action based +-- on the input memory data structure. Checks whether +-- the previous state is HighZ. If yes then portFlag +-- should be NOCHANGE for VMPD to ignore IORetain +-- corruption. The idea is that the first Z should be +-- propagated but later ones should be ignored. +-- ---------------------------------------------------------------------------- +PROCEDURE HandleDataAction ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagType; + CONSTANT CorruptMask : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT Address : IN INTEGER; + CONSTANT HighBit : IN NATURAL; + CONSTANT LowBit : IN NATURAL; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT DataAction : IN VitalMemorySymbolType; + CONSTANT CallerName : IN STRING; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + + VARIABLE DataOutTmp : std_logic_vector(DataOutBus'RANGE) + := DataOutBus; + +BEGIN + + -- Handle the data action + CASE DataAction IS + + WHEN 'l' => + -- Corrupting data out with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrWrdOut,HeaderMsg,PortName); + END IF; + DataOutTmp := (OTHERS => 'X'); + -- No need to CorruptMask + PortFlag.DataCurrent := CORRUPT; + + WHEN 'd' => + -- Corrupting a single bit of data out with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrBitOut,HeaderMsg,PortName); + END IF; + DataOutTmp(HighBit DOWNTO LowBit) := + DataOutTmp(HighBit DOWNTO LowBit) XOR + CorruptMask(HighBit DOWNTO LowBit); + PortFlag.DataCurrent := CORRUPT; + + WHEN 'e' => + -- Corrupting data out with 'X' based on data in + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrDatOut,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataOutTmp,Address); + IF (DataOutTmp /= DataInBus) THEN + DataOutTmp := (OTHERS => 'X'); + -- No need to CorruptMask + END IF; + PortFlag.DataCurrent := CORRUPT; + + WHEN 'L' => + -- Corrupting data out sub-word with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrWrdSubOut,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataOutTmp,Address); + DataOutTmp(HighBit DOWNTO LowBit) := + DataOutTmp(HighBit DOWNTO LowBit) XOR + CorruptMask(HighBit DOWNTO LowBit); + PortFlag.DataCurrent := CORRUPT; + + WHEN 'D' => + -- Corrupting a single bit of data out sub-word with 'X' + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrBitSubOut,HeaderMsg,PortName); + END IF; + DataOutTmp(HighBit DOWNTO LowBit) := + DataOutTmp(HighBit DOWNTO LowBit) XOR + CorruptMask(HighBit DOWNTO LowBit); + PortFlag.DataCurrent := CORRUPT; + + WHEN 'E' => + -- Corrupting data out sub-word with 'X' based on data in + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrCrDatSubOut,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataOutTmp,Address); + IF (DataInBus(HighBit DOWNTO LowBit) /= + DataOutTmp(HighBit DOWNTO LowBit)) THEN + DataOutTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + -- No need to CorruptMask + END IF; + PortFlag.DataCurrent := CORRUPT; + + WHEN 'M' => + -- Implicit read from memory to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrImplOut,HeaderMsg,PortName); + END IF; + PortFlag.DataCurrent := READ; + + WHEN 'm' => + -- Reading data from memory to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrReadOut,HeaderMsg,PortName); + END IF; + ReadMemory(MemoryData,DataOutTmp,Address); + PortFlag.DataCurrent := READ; + + WHEN 't' => + -- Transferring from data in to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAssgOut,HeaderMsg,PortName); + END IF; + DataOutTmp := DataInBus; + PortFlag.DataCurrent := READ; + + WHEN '0' => + -- Assigning low level to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsg0Out,HeaderMsg,PortName); + END IF; + DataOutTmp := (OTHERS => '0'); + PortFlag.DataCurrent := READ; + + WHEN '1' => + -- Assigning high level to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsg1Out,HeaderMsg,PortName); + END IF; + DataOutTmp := (OTHERS => '1'); + PortFlag.DataCurrent := READ; + + WHEN 'Z' => + -- Assigning high impedence to data out + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsgZOut,HeaderMsg,PortName); + END IF; + DataOutTmp := (OTHERS => 'Z'); + PortFlag.DataCurrent := HIGHZ; + + WHEN 'S' => + -- Keeping data out at steady value + PortFlag.OutputDisable := TRUE; + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrAsgSOut,HeaderMsg,PortName); + END IF; + + WHEN OTHERS => + -- Unknown data action + PortFlag.DataCurrent := UNDEF; + IF (MsgOn) THEN + PrintMemoryMessage(CallerName,ErrUnknDatDo,HeaderMsg,PortName); + END IF; + + END CASE; + + DataOutBus(HighBit DOWNTO LowBit) := DataOutTmp(HighBit DOWNTO LowBit); + +END; + + +-- ---------------------------------------------------------------------------- +-- Memory Table Modeling Primitives +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalDeclareMemory +-- Parameters: NoOfWords - Number of words in the memory +-- NoOfBitsPerWord - Number of bits per word in memory +-- NoOfBitsPerSubWord - Number of bits per sub word +-- MemoryLoadFile - Name of data file to load +-- Description: This function is intended to be used to initialize +-- memory data declarations, i.e. to be executed duing +-- simulation elaboration time. Handles the allocation +-- and initialization of memory for the memory data. +-- Default NoOfBitsPerSubWord is NoOfBitsPerWord. +-- ---------------------------------------------------------------------------- +IMPURE FUNCTION VitalDeclareMemory ( + CONSTANT NoOfWords : IN POSITIVE; + CONSTANT NoOfBitsPerWord : IN POSITIVE; + CONSTANT MemoryLoadFile : IN string := ""; + CONSTANT BinaryLoadFile : IN BOOLEAN := FALSE +) RETURN VitalMemoryDataType IS + VARIABLE MemoryPtr : VitalMemoryDataType; +BEGIN + MemoryPtr := VitalDeclareMemory( + NoOfWords => NoOfWords, + NoOfBitsPerWord => NoOfBitsPerWord, + NoOfBitsPerSubWord => NoOfBitsPerWord, + MemoryLoadFile => MemoryLoadFile, + BinaryLoadFile => BinaryLoadFile + ); + RETURN MemoryPtr; +END; + +-- ---------------------------------------------------------------------------- +IMPURE FUNCTION VitalDeclareMemory ( + CONSTANT NoOfWords : IN POSITIVE; + CONSTANT NoOfBitsPerWord : IN POSITIVE; + CONSTANT NoOfBitsPerSubWord : IN POSITIVE; + CONSTANT MemoryLoadFile : IN string := ""; + CONSTANT BinaryLoadFile : IN BOOLEAN := FALSE +) RETURN VitalMemoryDataType IS + VARIABLE MemoryPtr : VitalMemoryDataType; + VARIABLE BitsPerEnable : NATURAL + := ((NoOfBitsPerWord-1) + /NoOfBitsPerSubWord)+1; +BEGIN + PrintMemoryMessage(MsgVDM,ErrInitMem); + MemoryPtr := new VitalMemoryArrayRecType '( + NoOfWords => NoOfWords, + NoOfBitsPerWord => NoOfBitsPerWord, + NoOfBitsPerSubWord => NoOfBitsPerSubWord, + NoOfBitsPerEnable => BitsPerEnable, + MemoryArrayPtr => NULL + ); + MemoryPtr.MemoryArrayPtr + := new MemoryArrayType (0 to MemoryPtr.NoOfWords - 1); + FOR i IN 0 TO MemoryPtr.NoOfWords - 1 LOOP + MemoryPtr.MemoryArrayPtr(i) + := new MemoryWordType (MemoryPtr.NoOfBitsPerWord - 1 DOWNTO 0); + END LOOP; + IF (MemoryLoadFile /= "") THEN + LoadMemory (MemoryPtr, MemoryLoadFile, BinaryLoadFile); + END IF; + RETURN MemoryPtr; +END; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryTable +-- Parameters: DataOutBus - Output candidate zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- PrevControls - Previous data in for edge detection +-- PrevEnableBus - Previous enables for edge detection +-- PrevDataInBus - Previous data bus for edge detection +-- PrevAddressBus - Previous address bus for edge detection +-- PortFlag - Indicates port operating mode +-- PortFlagArray - Vector form of PortFlag for sub-word +-- Controls - Agregate of scalar control lines +-- EnableBus - Concatenation of vector control lines +-- DataInBus - Input value of data bus in +-- AddressBus - Input value of address bus in +-- AddressValue - Decoded value of the AddressBus +-- MemoryTable - Input memory action table +-- PortType - The type of port (currently not used) +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- MsgSeverity - Control level of message generation +-- Description: This procedure implements the majority of the memory +-- modeling functionality via lookup of the memory action +-- tables and performing the specified actions if matches +-- are found, or the default actions otherwise. The +-- overloadings are provided for the word and sub-word +-- (using the EnableBus and PortFlagArray arguments) addressing +-- cases. +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryTable ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PrevControls : INOUT std_logic_vector; + VARIABLE PrevDataInBus : INOUT std_logic_vector; + VARIABLE PrevAddressBus : INOUT std_logic_vector; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT Controls : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressBus : IN std_logic_vector; + VARIABLE AddressValue : INOUT VitalAddressValueType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType := UNDEF; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + + VARIABLE DataOutTmp : std_logic_vector(DataOutBus'RANGE) + := DataOutBus; + VARIABLE MemoryAction : VitalMemorySymbolType; + VARIABLE DataAction : VitalMemorySymbolType; + VARIABLE HighBit : NATURAL := MemoryData.NoOfBitsPerWord-1; + VARIABLE LowBit : NATURAL := 0; + VARIABLE Address : INTEGER := 0; + VARIABLE PortFlagTmp : VitalPortFlagType; + VARIABLE AddrFlag : VitalMemorySymbolType := 'g'; -- good addr + VARIABLE DataFlag : VitalMemorySymbolType := 'g'; -- good data + VARIABLE MemCorruptMask : std_logic_vector (DataOutBus'RANGE); + VARIABLE DatCorruptMask : std_logic_vector (DataOutBus'RANGE); + +BEGIN + + -- Optimize for case when all current inputs are same as previous + IF (PrevDataInBus = DataInBus + AND PrevAddressBus = AddressBus + AND PrevControls = Controls + AND PortFlag(0).MemoryCurrent = PortFlag(0).MemoryPrevious + AND PortFlag(0).DataCurrent = PortFlag(0).DataPrevious) THEN + PortFlag(0).OutputDisable := TRUE; + RETURN; + END IF; + + PortFlag(0).DataPrevious := PortFlag(0).DataCurrent; + PortFlag(0).MemoryPrevious := PortFlag(0).MemoryCurrent; + PortFlag(0).OutputDisable := FALSE; + PortFlagTmp := PortFlag(0); + + -- Convert address bus to integer value and table lookup flag + DecodeAddress( + Address => Address , + AddrFlag => AddrFlag , + MemoryData => MemoryData , + PrevAddressBus => PrevAddressBus , + AddressBus => AddressBus + ); + + -- Interpret data bus as a table lookup flag + DecodeData ( + DataFlag => DataFlag , + PrevDataInBus => PrevDataInBus , + DataInBus => DataInBus , + HighBit => HighBit , + LowBit => LowBit + ); + + -- Lookup memory and data actions + MemoryTableLookUp( + MemoryAction => MemoryAction , + DataAction => DataAction , + MemoryCorruptMask => MemCorruptMask , + DataCorruptMask => DatCorruptMask , + PrevControls => PrevControls , + Controls => Controls , + AddrFlag => AddrFlag , + DataFlag => DataFlag , + MemoryTable => MemoryTable , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + -- Handle data action before memory action + -- This allows reading previous memory contents + HandleDataAction( + DataOutBus => DataOutTmp , + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => DatCorruptMask , + DataInBus => DataInBus , + Address => Address , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => MemoryTable , + DataAction => DataAction , + CallerName => MsgVMT , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + HandleMemoryAction( + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => MemCorruptMask , + DataInBus => DataInBus , + Address => Address , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => MemoryTable , + MemoryAction => MemoryAction , + CallerName => MsgVMT , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + -- Set the output PortFlag(0) value + IF (DataAction = 'S') THEN + PortFlagTmp.OutputDisable := TRUE; + END IF; + IF (PortFlagTmp.DataCurrent = PortFlagTmp.DataPrevious + AND PortFlagTmp.DataCurrent = HIGHZ) THEN + PortFlagTmp.OutputDisable := TRUE; + END IF; + PortFlag(0) := PortFlagTmp; + + -- Set previous values for subsequent edge detection + PrevControls := Controls; + PrevDataInBus := DataInBus; + PrevAddressBus := AddressBus; + + -- Set the candidate zero delay return value + DataOutBus := DataOutTmp; + + -- Set the output AddressValue for VitalMemoryCrossPorts + AddressValue := Address; + +END VitalMemoryTable; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryTable ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PrevControls : INOUT std_logic_vector; + VARIABLE PrevEnableBus : INOUT std_logic_vector; + VARIABLE PrevDataInBus : INOUT std_logic_vector; + VARIABLE PrevAddressBus : INOUT std_logic_vector; + VARIABLE PortFlagArray : INOUT VitalPortFlagVectorType; + CONSTANT Controls : IN std_logic_vector; + CONSTANT EnableBus : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressBus : IN std_logic_vector; + VARIABLE AddressValue : INOUT VitalAddressValueType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType := UNDEF; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + + VARIABLE BitsPerWord : NATURAL := MemoryData.NoOfBitsPerWord; + VARIABLE BitsPerSubWord : NATURAL := MemoryData.NoOfBitsPerSubWord; + VARIABLE BitsPerEnable : NATURAL := MemoryData.NoOfBitsPerEnable; + VARIABLE DataOutTmp : std_logic_vector(DataOutBus'RANGE) + := DataOutBus; + VARIABLE MemoryAction : VitalMemorySymbolType; + VARIABLE DataAction : VitalMemorySymbolType; + VARIABLE HighBit : NATURAL := BitsPerSubWord-1; + VARIABLE LowBit : NATURAL := 0; + VARIABLE Address : INTEGER := 0; + VARIABLE PortFlagTmp : VitalPortFlagType; + VARIABLE AddrFlag : VitalMemorySymbolType := 'g'; -- good addr + VARIABLE DataFlag : VitalMemorySymbolType := 'g'; -- good data + VARIABLE MemCorruptMask : std_logic_vector (DataOutBus'RANGE); + VARIABLE DatCorruptMask : std_logic_vector (DataOutBus'RANGE); + +BEGIN + + -- Optimize for case when all current inputs are same as previous + IF (PrevDataInBus = DataInBus + AND PrevAddressBus = AddressBus + AND PrevControls = Controls) THEN + CheckFlags: + FOR i IN 0 TO BitsPerEnable-1 LOOP + IF (PortFlagArray(i).MemoryCurrent /= PortFlagArray(i).MemoryPrevious + OR PortFlagArray(i).DataCurrent /= PortFlagArray(i).DataPrevious) THEN + EXIT CheckFlags; + END IF; + IF (i = BitsPerEnable-1) THEN + FOR j IN 0 TO BitsPerEnable-1 LOOP + PortFlagArray(j).OutputDisable := TRUE; + END LOOP; + RETURN; + END IF; + END LOOP; + END IF; + + -- Convert address bus to integer value and table lookup flag + DecodeAddress( + Address => Address, + AddrFlag => AddrFlag, + MemoryData => MemoryData, + PrevAddressBus => PrevAddressBus, + AddressBus => AddressBus + ); + + -- Perform independent operations for each sub-word + FOR i IN 0 TO BitsPerEnable-1 LOOP + + -- Set the output PortFlag(i) value + PortFlagArray(i).DataPrevious := PortFlagArray(i).DataCurrent; + PortFlagArray(i).MemoryPrevious := PortFlagArray(i).MemoryCurrent; + PortFlagArray(i).OutputDisable := FALSE; + PortFlagTmp := PortFlagArray(i); + + -- Interpret data bus as a table lookup flag + DecodeData ( + DataFlag => DataFlag , + PrevDataInBus => PrevDataInBus , + DataInBus => DataInBus , + HighBit => HighBit , + LowBit => LowBit + ); + + -- Lookup memory and data actions + MemoryTableLookUp( + MemoryAction => MemoryAction , + DataAction => DataAction , + MemoryCorruptMask => MemCorruptMask , + DataCorruptMask => DatCorruptMask , + PrevControls => PrevControls , + PrevEnableBus => PrevEnableBus , + Controls => Controls , + EnableBus => EnableBus , + EnableIndex => i , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable , + AddrFlag => AddrFlag , + DataFlag => DataFlag , + MemoryTable => MemoryTable , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + -- Handle data action before memory action + -- This allows reading previous memory contents + HandleDataAction( + DataOutBus => DataOutTmp , + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => DatCorruptMask , + DataInBus => DataInBus , + Address => Address , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => MemoryTable , + DataAction => DataAction , + CallerName => MsgVMT , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + HandleMemoryAction( + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => MemCorruptMask , + DataInBus => DataInBus , + Address => Address , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => MemoryTable , + MemoryAction => MemoryAction , + CallerName => MsgVMT , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + -- Set the output PortFlag(i) value + IF (DataAction = 'S') THEN + PortFlagTmp.OutputDisable := TRUE; + END IF; + IF (PortFlagTmp.DataCurrent = PortFlagTmp.DataPrevious + AND PortFlagTmp.DataCurrent = HIGHZ) THEN + PortFlagTmp.OutputDisable := TRUE; + END IF; + PortFlagArray(i) := PortFlagTmp; + + IF (i < BitsPerEnable-1) THEN + -- Calculate HighBit and LowBit + LowBit := LowBit + BitsPerSubWord; + IF (LowBit > BitsPerWord) THEN + LowBit := BitsPerWord; + END IF; + HighBit := LowBit + BitsPerSubWord; + IF (HighBit > BitsPerWord) THEN + HighBit := BitsPerWord; + ELSE + HighBit := HighBit - 1; + END IF; + END IF; + + END LOOP; + + -- Set previous values for subsequent edge detection + PrevControls := Controls; + PrevEnableBus := EnableBus; + PrevDataInBus := DataInBus; + PrevAddressBus := AddressBus; + + -- Set the candidate zero delay return value + DataOutBus := DataOutTmp; + + -- Set the output AddressValue for VitalMemoryCrossPorts + AddressValue := Address; + +END VitalMemoryTable; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryCrossPorts +-- Parameters: DataOutBus - Output candidate zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- SamePortFlag - Operating mode for same port +-- SamePortAddressValue - Operating modes for cross ports +-- CrossPortAddressArray - Decoded AddressBus for cross ports +-- CrossPortMode - Write contention and crossport read control +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- Description: These procedures control the effect of memory operations +-- on a given port due to operations on other ports in a +-- multi-port memory. +-- This includes data write through when reading and writing +-- to the same address, as well as write contention when +-- there are multiple write to the same address. +-- If addresses do not match then data bus is unchanged. +-- The DataOutBus can be diabled with 'Z' value. +-- If the WritePortFlag is 'CORRUPT', that would mean +-- that the whole memory is corrupted. So, for corrupting +-- the Read port, the Addresses need not be compared. +-- +-- CrossPortMode Enum Description +-- 1. CpRead Allows Cross Port Read Only +-- No contention checking. +-- 2. WriteContention Allows for write contention checks +-- only between multiple write ports +-- 3. ReadWriteContention Allows contention between read and +-- write ports. The action is to corrupt +-- the memory and the output bus. +-- 4. CpReadAndWriteContention Is a combination of 1 & 2 +-- 5. CpReadAndReadContention Allows contention between read and +-- write ports. The action is to corrupt +-- the dataout bus only. The cp read is +-- performed if not contending. +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryCrossPorts ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE SamePortFlag : INOUT VitalPortFlagVectorType; + CONSTANT SamePortAddressValue : IN VitalAddressValueType; + CONSTANT CrossPortFlagArray : IN VitalPortFlagVectorType; + CONSTANT CrossPortAddressArray : IN VitalAddressValueVectorType; + CONSTANT CrossPortMode : IN VitalCrossPortModeType + := CpReadAndWriteContention; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + + VARIABLE BitsPerWord : NATURAL := MemoryData.NoOfBitsPerWord; + VARIABLE BitsPerSubWord : NATURAL := MemoryData.NoOfBitsPerSubWord; + VARIABLE BitsPerEnable : NATURAL := MemoryData.NoOfBitsPerEnable; + VARIABLE DataOutTmp : std_logic_vector(DataOutBus'RANGE) := (OTHERS => 'Z'); + VARIABLE MemoryTmp : std_logic_vector(DataOutBus'RANGE); + VARIABLE CrossPorts : NATURAL := CrossPortAddressArray'LENGTH; + VARIABLE LowBit : NATURAL := 0; + VARIABLE HighBit : NATURAL := BitsPerSubWord-1; + VARIABLE Address : VitalAddressValueType := SamePortAddressValue; + VARIABLE AddressJ : VitalAddressValueType; + VARIABLE AddressK : VitalAddressValueType; + VARIABLE PortFlagI : VitalPortFlagType; + VARIABLE PortFlagIJ : VitalPortFlagType; + VARIABLE PortFlagIK : VitalPortFlagType; + VARIABLE DoCpRead : BOOLEAN := FALSE; + VARIABLE DoWrCont : BOOLEAN := FALSE; + VARIABLE DoCpCont : BOOLEAN := FALSE; + VARIABLE DoRdWrCont : BOOLEAN := FALSE; + VARIABLE CpWrCont : BOOLEAN := FALSE; + VARIABLE ModeWrCont : BOOLEAN := + (CrossPortMode=WriteContention) OR + (CrossPortMode=CpReadAndWriteContention); + VARIABLE ModeCpRead : BOOLEAN := + (CrossPortMode=CpRead) OR + (CrossPortMode=CpReadAndWriteContention); + VARIABLE ModeCpCont : BOOLEAN := (CrossPortMode=ReadWriteContention); + VARIABLE ModeRdWrCont : BOOLEAN := (CrossPortMode=CpReadAndReadContention); + +BEGIN + + -- Check for disabled port (i.e. OTHERS => 'Z') + IF (DataOutBus = DataOutTmp) THEN + RETURN; + ELSE + DataOutTmp := DataOutBus; + END IF; + + -- Check for error in address + IF (Address < 0) THEN + RETURN; + END IF; + + ReadMemory(MemoryData,MemoryTmp,Address); + + SubWordLoop: -- For each slice of the sub-word I + FOR i IN 0 TO BitsPerEnable-1 LOOP + PortFlagI := SamePortFlag(i); + + -- For each cross port J: check with same port address + FOR j IN 0 TO CrossPorts-1 LOOP + PortFlagIJ := CrossPortFlagArray(i+j*BitsPerEnable); + AddressJ := CrossPortAddressArray(j); + IF (AddressJ < 0) THEN + NEXT; + END IF; + DoWrCont := (Address = AddressJ) AND + (ModeWrCont = TRUE) AND + ((PortFlagI.MemoryCurrent = WRITE) OR + (PortFlagI.MemoryCurrent = CORRUPT)) AND + ((PortFlagIJ.MemoryCurrent = WRITE) OR + (PortFlagIJ.MemoryCurrent = CORRUPT)) ; + DoCpRead := (Address = AddressJ) AND + (ModeCpRead = TRUE) AND + ((PortFlagI.MemoryCurrent = READ) OR + (PortFlagI.OutputDisable = TRUE)) AND + ((PortFlagIJ.MemoryCurrent = WRITE) OR + (PortFlagIJ.MemoryCurrent = CORRUPT)) ; + DoCpCont := (Address = AddressJ) AND + (ModeCpCont = TRUE) AND + ((PortFlagI.MemoryCurrent = READ) OR + (PortFlagI.OutputDisable = TRUE)) AND + ((PortFlagIJ.MemoryCurrent = WRITE) OR + (PortFlagIJ.MemoryCurrent = CORRUPT)) ; + DoRdWrCont:= (Address = AddressJ) AND + (ModeRdWrCont = TRUE) AND + ((PortFlagI.MemoryCurrent = READ) OR + (PortFlagI.OutputDisable = TRUE)) AND + ((PortFlagIJ.MemoryCurrent = WRITE) OR + (PortFlagIJ.MemoryCurrent = CORRUPT)) ; + IF (DoWrCont OR DoCpCont) THEN + -- Corrupt dataout and memory + MemoryTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + DataOutTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + SamePortFlag(i).MemoryCurrent := CORRUPT; + SamePortFlag(i).DataCurrent := CORRUPT; + SamePortFlag(i).OutputDisable := FALSE; + EXIT; + END IF; + IF (DoCpRead) THEN + -- Update dataout with memory + DataOutTmp(HighBit DOWNTO LowBit) := + MemoryTmp(HighBit DOWNTO LowBit); + SamePortFlag(i).MemoryCurrent := READ; + SamePortFlag(i).DataCurrent := READ; + SamePortFlag(i).OutputDisable := FALSE; + EXIT; + END IF; + IF (DoRdWrCont) THEN + -- Corrupt dataout only + DataOutTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + SamePortFlag(i).DataCurrent := CORRUPT; + SamePortFlag(i).OutputDisable := FALSE; + EXIT; + END IF; + END LOOP; + + IF (i < BitsPerEnable-1) THEN + -- Calculate HighBit and LowBit + LowBit := LowBit + BitsPerSubWord; + IF (LowBit > BitsPerWord) THEN + LowBit := BitsPerWord; + END IF; + HighBit := LowBit + BitsPerSubWord; + IF (HighBit > BitsPerWord) THEN + HighBit := BitsPerWord; + ELSE + HighBit := HighBit - 1; + END IF; + END IF; + + END LOOP; -- SubWordLoop + + DataOutBus := DataOutTmp; + + IF (DoWrCont) THEN + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMCP,ErrMcpWrCont,HeaderMsg,PortName); + END IF; + WriteMemory(MemoryData,MemoryTmp,Address); + END IF; + + IF (DoCpCont) THEN + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMCP,ErrMcpCpCont,HeaderMsg,PortName); + END IF; + WriteMemory(MemoryData,MemoryTmp,Address); + END IF; + + IF (DoCpRead) THEN + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMCP,ErrMcpCpRead,HeaderMsg,PortName); + END IF; + END IF; + + IF (DoRdWrCont) THEN + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMCP,ErrMcpRdWrCo,HeaderMsg,PortName); + END IF; + END IF; + +END VitalMemoryCrossPorts; + +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryCrossPorts ( + VARIABLE MemoryData : INOUT VitalMemoryDataType; + CONSTANT CrossPortFlagArray : IN VitalPortFlagVectorType; + CONSTANT CrossPortAddressArray : IN VitalAddressValueVectorType; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) IS + + VARIABLE BitsPerWord : NATURAL := MemoryData.NoOfBitsPerWord; + VARIABLE BitsPerSubWord : NATURAL := MemoryData.NoOfBitsPerSubWord; + VARIABLE BitsPerEnable : NATURAL := MemoryData.NoOfBitsPerEnable; + VARIABLE MemoryTmp : std_logic_vector(BitsPerWord-1 DOWNTO 0); + VARIABLE CrossPorts : NATURAL := CrossPortAddressArray'LENGTH; + VARIABLE LowBit : NATURAL := 0; + VARIABLE HighBit : NATURAL := BitsPerSubWord-1; + VARIABLE AddressJ : VitalAddressValueType; + VARIABLE AddressK : VitalAddressValueType; + VARIABLE PortFlagIJ : VitalPortFlagType; + VARIABLE PortFlagIK : VitalPortFlagType; + VARIABLE CpWrCont : BOOLEAN := FALSE; + +BEGIN + + SubWordLoop: -- For each slice of the sub-word I + FOR i IN 0 TO BitsPerEnable-1 LOOP + + -- For each cross port J: check with each cross port K + FOR j IN 0 TO CrossPorts-1 LOOP + PortFlagIJ := CrossPortFlagArray(i+j*BitsPerEnable); + AddressJ := CrossPortAddressArray(j); + -- Check for error in address + IF (AddressJ < 0) THEN + NEXT; + END IF; + ReadMemory(MemoryData,MemoryTmp,AddressJ); + -- For each cross port K + FOR k IN 0 TO CrossPorts-1 LOOP + IF (k <= j) THEN + NEXT; + END IF; + PortFlagIK := CrossPortFlagArray(i+k*BitsPerEnable); + AddressK := CrossPortAddressArray(k); + -- Check for error in address + IF (AddressK < 0) THEN + NEXT; + END IF; + CpWrCont := ( (AddressJ = AddressK) AND + (PortFlagIJ.MemoryCurrent = WRITE) AND + (PortFlagIK.MemoryCurrent = WRITE) ) OR + ( (PortFlagIJ.MemoryCurrent = WRITE) AND + (PortFlagIK.MemoryCurrent = CORRUPT) ) OR + ( (PortFlagIJ.MemoryCurrent = CORRUPT) AND + (PortFlagIK.MemoryCurrent = WRITE) ) OR + ( (PortFlagIJ.MemoryCurrent = CORRUPT) AND + (PortFlagIK.MemoryCurrent = CORRUPT) ) ; + IF (CpWrCont) THEN + -- Corrupt memory only + MemoryTmp(HighBit DOWNTO LowBit) := (OTHERS => 'X'); + EXIT; + END IF; + END LOOP; -- FOR k IN 0 TO CrossPorts-1 LOOP + IF (CpWrCont = TRUE) THEN + IF (MsgOn) THEN + PrintMemoryMessage(MsgVMCP,ErrMcpCpWrCont,HeaderMsg); + END IF; + WriteMemory(MemoryData,MemoryTmp,AddressJ); + END IF; + END LOOP; -- FOR j IN 0 TO CrossPorts-1 LOOP + + IF (i < BitsPerEnable-1) THEN + -- Calculate HighBit and LowBit + LowBit := LowBit + BitsPerSubWord; + IF (LowBit > BitsPerWord) THEN + LowBit := BitsPerWord; + END IF; + HighBit := LowBit + BitsPerSubWord; + IF (HighBit > BitsPerWord) THEN + HighBit := BitsPerWord; + ELSE + HighBit := HighBit - 1; + END IF; + END IF; + END LOOP; -- SubWordLoop + +END VitalMemoryCrossPorts; + + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryViolation +-- Parameters: DataOutBus - Output zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- PortFlag - Indicates port operating mode +-- TimingDataArray - This is currently not used (comment out) +-- ViolationArray - Aggregation of violation variables +-- DataInBus - Input value of data bus in +-- AddressBus - Input value of address bus in +-- AddressValue - Decoded value of the AddressBus +-- ViolationTable - Input memory violation table +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- MsgSeverity - Control level of message generation +-- Description: This procedure is intended to implement all actions on the +-- memory contents and data out bus as a result of timing viols. +-- It uses the memory action table to perform various corruption +-- policies specified by the user. +-- ---------------------------------------------------------------------------- + +PROCEDURE VitalMemoryViolation ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressValue : IN VitalAddressValueType; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationFlagsArray : IN X01ArrayT; + CONSTANT ViolationSizesArray : IN VitalMemoryViolFlagSizeType; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + + VARIABLE BitsPerWord : NATURAL := MemoryData.NoOfBitsPerWord; + VARIABLE BitsPerSubWord : NATURAL := MemoryData.NoOfBitsPerSubWord; + VARIABLE BitsPerEnable : NATURAL := MemoryData.NoOfBitsPerEnable; + VARIABLE DataOutTmp : std_logic_vector(DataOutBus'RANGE) + := DataOutBus; + VARIABLE MemoryAction : VitalMemorySymbolType; + VARIABLE DataAction : VitalMemorySymbolType; + -- VMT relies on the corrupt masks so HighBit/LowBit are full word + VARIABLE HighBit : NATURAL := BitsPerWord-1; + VARIABLE LowBit : NATURAL := 0; + VARIABLE PortFlagTmp : VitalPortFlagType; + VARIABLE VFlagArrayTmp : std_logic_vector + (0 TO ViolationFlagsArray'LENGTH-1); + VARIABLE MemCorruptMask : std_logic_vector (DataOutBus'RANGE); + VARIABLE DatCorruptMask : std_logic_vector (DataOutBus'RANGE); + +BEGIN + + -- Don't do anything if given an error address + IF (AddressValue < 0) THEN + RETURN; + END IF; + + FOR i IN ViolationFlagsArray'RANGE LOOP + VFlagArrayTmp(i) := ViolationFlagsArray(i); + END LOOP; + + -- Lookup memory and data actions + ViolationTableLookUp( + MemoryAction => MemoryAction , + DataAction => DataAction , + MemoryCorruptMask => MemCorruptMask , + DataCorruptMask => DatCorruptMask , + ViolationFlags => ViolationFlags , + ViolationFlagsArray => VFlagArrayTmp , + ViolationSizesArray => ViolationSizesArray , + ViolationTable => ViolationTable , + BitsPerWord => BitsPerWord , + BitsPerSubWord => BitsPerSubWord , + BitsPerEnable => BitsPerEnable , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + + -- Need to read incoming PF value (was not before) + PortFlagTmp := PortFlag(0); + + IF (PortType = READ OR PortType = RDNWR) THEN + -- Handle data action before memory action + -- This allows reading previous memory contents + HandleDataAction( + DataOutBus => DataOutTmp , + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => DatCorruptMask , + DataInBus => DataInBus , + Address => AddressValue , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => ViolationTable , + DataAction => DataAction , + CallerName => MsgVMV , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + END IF; + + IF (PortType = WRITE OR PortType = RDNWR) THEN + HandleMemoryAction( + MemoryData => MemoryData , + PortFlag => PortFlagTmp , + CorruptMask => MemCorruptMask , + DataInBus => DataInBus , + Address => AddressValue , + HighBit => HighBit , + LowBit => LowBit , + MemoryTable => ViolationTable , + MemoryAction => MemoryAction , + CallerName => MsgVMV , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn + ); + END IF; + + -- Check if we need to turn off PF.OutputDisable + IF (DataAction /= 'S') THEN + PortFlagTmp.OutputDisable := FALSE; + -- Set the output PortFlag(0) value + -- Note that all bits of PortFlag get PortFlagTmp + FOR i IN PortFlag'RANGE LOOP + PortFlag(i) := PortFlagTmp; + END LOOP; + END IF; + + -- Set the candidate zero delay return value + DataOutBus := DataOutTmp; + +END; + +PROCEDURE VitalMemoryViolation ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressValue : IN VitalAddressValueType; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) IS + + VARIABLE VFlagArrayTmp : X01ArrayT (0 TO 0); + +BEGIN + + VitalMemoryViolation ( + DataOutBus => DataOutBus , + MemoryData => MemoryData , + PortFlag => PortFlag , + DataInBus => DataInBus , + AddressValue => AddressValue , + ViolationFlags => ViolationFlags , + ViolationFlagsArray => VFlagArrayTmp , + ViolationSizesArray => ( 0 => 0 ) , + ViolationTable => ViolationTable , + PortType => PortType , + PortName => PortName , + HeaderMsg => HeaderMsg , + MsgOn => MsgOn , + MsgSeverity => MsgSeverity + ); + +END; + +END Vital_Memory ; diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_p.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_p.vhdl new file mode 100644 index 0000000..83874f4 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/memory_p.vhdl @@ -0,0 +1,1729 @@ +-- ---------------------------------------------------------------------------- +-- Title : Standard VITAL Memory Package +-- : +-- Library : Vital_Memory +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : Ekambaram Balaji, LSI Logic Corporation +-- : Jose De Castro, Consultant +-- : Prakash Bare, GDA Technologies +-- : William Yam, LSI Logic Corporation +-- : Dennis Brophy, Model Technology +-- : +-- Purpose : This packages defines standard types, constants, functions +-- : and procedures for use in developing ASIC memory models. +-- : +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Ver:|Auth:| Date:| Changes Made: +-- 0.1 | eb |071796| First prototye as part of VITAL memory proposal +-- 0.2 | jdc |012897| Initial prototyping with proposed MTM scheme +-- 0.3 | jdc |090297| Extensive updates for TAG review (functional) +-- 0.4 | eb |091597| Changed naming conventions for VitalMemoryTable +-- | | | Added interface of VitalMemoryCrossPorts() & +-- | | | VitalMemoryViolation(). +-- 0.5 | jdc |092997| Completed naming changes thoughout package body. +-- | | | Testing with simgle port test model looks ok. +-- 0.6 | jdc |121797| Major updates to the packages: +-- | | | - Implement VitalMemoryCrossPorts() +-- | | | - Use new VitalAddressValueType +-- | | | - Use new VitalCrossPortModeType enum +-- | | | - Overloading without SamePort args +-- | | | - Honor erroneous address values +-- | | | - Honor ports disabled with 'Z' +-- | | | - Implement implicit read 'M' table symbol +-- | | | - Cleanup buses to use (H DOWNTO L) +-- | | | - Message control via MsgOn,HeaderMsg,PortName +-- | | | - Tested with 1P1RW,2P2RW,4P2R2W,4P4RW cases +-- 0.7 | jdc |052698| Bug fixes to the packages: +-- | | | - Fix failure with negative Address values +-- | | | - Added debug messages for VMT table search +-- | | | - Remove 'S' for action column (only 's') +-- | | | - Remove 's' for response column (only 'S') +-- | | | - Remove 'X' for action and response columns +-- 0.8 | jdc |061298| Implemented VitalMemoryViolation() +-- | | | - Minimal functionality violation tables +-- | | | - Missing: +-- | | | - Cannot handle wide violation variables +-- | | | - Cannot handle sub-word cases +-- | | | Fixed IIC version of MemoryMatch +-- | | | Fixed 'M' vs 'm' switched on debug output +-- | | | TO BE DONE: +-- | | | - Implement 'd' corrupting a single bit +-- | | | - Implement 'D' corrupting a single bit +-- 0.9 |eb/sc|080498| Added UNDEF value for VitalPortFlagType +-- 0.10|eb/sc|080798| Added CORRUPT value for VitalPortFlagType +-- 0.11|eb/sc|081798| Added overloaded function interface for +-- | | | VitalDeclareMemory +-- 0.14| jdc |113198| Merging of memory functionality and version +-- | | | 1.4 9/17/98 of timing package from Prakash +-- 0.15| jdc |120198| Major development of VMV functionality +-- 0.16| jdc |120298| Complete VMV functionlality for initial testing +-- | | | - New ViolationTableCorruptMask() procedure +-- | | | - New MemoryTableCorruptMask() procedure +-- | | | - HandleMemoryAction(): +-- | | | - Removed DataOutBus bogus output +-- | | | - Replaced DataOutTmp with DataInTmp +-- | | | - Added CorruptMask input handling +-- | | | - Implemented 'd','D' using CorruptMask +-- | | | - CorruptMask on 'd','C','L','D','E' +-- | | | - CorruptMask ignored on 'c','l','e' +-- | | | - Changed 'l','d','e' to set PortFlag to CORRUPT +-- | | | - Changed 'L','D','E' to set PortFlag to CORRUPT +-- | | | - Changed 'c','l','d','e' to ignore HighBit, LowBit +-- | | | - Changed 'C','L','D','E' to use HighBit, LowBit +-- | | | - HandleDataAction(): +-- | | | - Added CorruptMask input handling +-- | | | - Implemented 'd','D' using CorruptMask +-- | | | - CorruptMask on 'd','C','L','D','E' +-- | | | - CorruptMask ignored on 'l','e' +-- | | | - Changed 'l','d','e' to set PortFlag to CORRUPT +-- | | | - Changed 'L','D','E' to set PortFlag to CORRUPT +-- | | | - Changed 'l','d','e' to ignore HighBit, LowBit +-- | | | - Changed 'L','D','E' to use HighBit, LowBit +-- | | | - MemoryTableLookUp(): +-- | | | - Added MsgOn table debug output +-- | | | - Uses new MemoryTableCorruptMask() +-- | | | - ViolationTableLookUp(): +-- | | | - Uses new ViolationTableCorruptMask() +-- 0.17| jdc |120898| - Added VitalMemoryViolationSymbolType, +-- | | | VitalMemoryViolationTableType data +-- | | | types but not used yet (need to discuss) +-- | | | - Added overload for VitalMemoryViolation() +-- | | | which does not have array flags +-- | | | - Bug fixes for VMV functionality: +-- | | | - ViolationTableLookUp() not handling '-' in +-- | | | scalar violation matching +-- | | | - VitalMemoryViolation() now normalizes +-- | | | VFlagArrayTmp'LEFT as LSB before calling +-- | | | ViolationTableLookUp() for proper scanning +-- | | | - ViolationTableCorruptMask() had to remove +-- | | | normalization of CorruptMaskTmp and +-- | | | ViolMaskTmp for proper MSB:LSB corruption +-- | | | - HandleMemoryAction(), HandleDataAction() +-- | | | - Removed 'D','E' since not being used +-- | | | - Use XOR instead of OR for corrupt masks +-- | | | - Now 'd' is sensitive to HighBit, LowBit +-- | | | - Fixed LowBit overflow in bit writeable case +-- | | | - MemoryTableCorruptMask() +-- | | | - ViolationTableCorruptMask() +-- | | | - VitalMemoryTable() +-- | | | - VitalMemoryCrossPorts() +-- | | | - Fixed VitalMemoryViolation() failing on +-- | | | error AddressValue from earlier VMT() +-- | | | - Minor cleanup of code formatting +-- 0.18| jdc |032599| - In VitalDeclareMemory() +-- | | | - Added BinaryLoadFile formal arg and +-- | | | modified LoadMemory() to handle bin +-- | | | - Added NOCHANGE to VitalPortFlagType +-- | | | - For VitalCrossPortModeType +-- | | | - Added CpContention enum +-- | | | - In HandleDataAction() +-- | | | - Set PortFlag := NOCHANGE for 'S' +-- | | | - In HandleMemoryAction() +-- | | | - Set PortFlag := NOCHANGE for 's' +-- | | | - In VitalMemoryTable() and +-- | | | VitalMemoryViolation() +-- | | | - Honor PortFlag = NOCHANGE returned +-- | | | from HandleMemoryAction() +-- | | | - In VitalMemoryCrossPorts() +-- | | | - Fixed Address = AddressJ for all +-- | | | conditions of DoWrCont & DoCpRead +-- | | | - Handle CpContention like WrContOnly +-- | | | under CpReadOnly conditions, with +-- | | | associated memory message changes +-- | | | - Handle PortFlag = NOCHANGE like +-- | | | PortFlag = READ for actions +-- | | | - Modeling change: +-- | | | - Need to init PortFlag every delta +-- | | | PortFlag_A := (OTHES => UNDEF); +-- | | | - Updated InternalTimingCheck code +-- 0.19| jdc |042599| - Fixes for bit-writeable cases +-- | | | - Check PortFlag after HandleDataAction +-- | | | in VitalMemoryViolation() +-- 0.20| jdc |042599| - Merge PortFlag changes from Prakash +-- | | | and Willian: +-- | | | VitalMemorySchedulePathDelay() +-- | | | VitalMemoryExpandPortFlag() +-- 0.21| jdc |072199| - Changed VitalCrossPortModeType enums, +-- | | | added new CpReadAndReadContention. +-- | | | - Fixed VitalMemoryCrossPorts() parameter +-- | | | SamePortFlag to INOUT so that it can +-- | | | set CORRUPT or READ value. +-- | | | - Fixed VitalMemoryTable() where PortFlag +-- | | | setting by HandleDataAction() is being +-- | | | ignored when HandleMemoryAction() sets +-- | | | PortFlagTmp to NOCHANGE. +-- | | | - Fixed VitalMemoryViolation() to set +-- | | | all bits of PortFlag when violating. +-- 0.22| jdc |072399| - Added HIGHZ to PortFlagType. HandleData +-- | | | checks whether the previous state is HIGHZ. +-- | | | If yes then portFlag should be NOCHANGE +-- | | | for VMPD to ignore IORetain corruption. +-- | | | The idea is that the first Z should be +-- | | | propagated but later ones should be ignored. +-- | | | +-- 0.23| jdc |100499| - Took code checked in by Dennis 09/28/99 +-- | | | - Changed VitalPortFlagType to record of +-- | | | new VitalPortStateType to hold current, +-- | | | previous values and separate disable. +-- | | | Also created VitalDefaultPortFlag const. +-- | | | Removed usage of PortFlag NOCHANGE +-- | | | - VitalMemoryTable() changes: +-- | | | Optimized return when all curr = prev +-- | | | AddressValue is now INOUT to optimize +-- | | | Transfer PF.MemoryCurrent to MemoryPrevious +-- | | | Transfer PF.DataCurrent to DataPrevious +-- | | | Reset PF.OutputDisable to FALSE +-- | | | Expects PortFlag init in declaration +-- | | | No need to init PortFlag every delta +-- | | | - VitalMemorySchedulePathDelay() changes: +-- | | | Initialize with VitalDefaultPortFlag +-- | | | Check PortFlag.OutputDisable +-- | | | - HandleMemoryAction() changes: +-- | | | Set value of PortFlag.MemoryCurrent +-- | | | Never set PortFlag.OutputDisable +-- | | | - HandleDataAction() changes: +-- | | | Set value of PortFlag.DataCurrent +-- | | | Set PortFlag.DataCurrent for HIGHZ +-- | | | - VitalMemoryCrossPorts() changes: +-- | | | Check/set value of PF.MemoryCurrent +-- | | | Check value of PF.OutputDisable +-- | | | - VitalMemoryViolation() changes: +-- | | | Fixed bug - not reading inout PF value +-- | | | Clean up setting of PortFlag +-- 0.24| jdc |100899| - Modified update of PF.OutputDisable +-- | | | to correctly accomodate 2P1W1R case: +-- | | | the read port should not exhibit +-- | | | IO retain corrupt when reading +-- | | | addr unrelated to addr being written. +-- 0.25| jdc |100999| - VitalMemoryViolation() change: +-- | | | Fixed bug with RDNWR mode incorrectly +-- | | | updating the PF.OutputDisable +-- 0.26| jdc |100999| - VitalMemoryCrossPorts() change: +-- | | | Fixed bugs with update of PF +-- 0.27| jdc |101499| - VitalMemoryCrossPorts() change: +-- | | | Added DoRdWrCont message (ErrMcpRdWrCo, +-- | | | Memory cross port read/write data only +-- | | | contention) +-- | | | - VitalMemoryTable() change: +-- | | | Set PF.OutputDisable := TRUE for the +-- | | | optimized cases. +-- 0.28| pb |112399| - Added 8 VMPD procedures for vector +-- | | | PathCondition support. Now the total +-- | | | number of overloadings for VMPD is 24. +-- | | | - Number of overloadings for SetupHold +-- | | | procedures increased to 5. Scalar violations +-- | | | are not supported anymore. Vector checkEnabled +-- | | | support is provided through the new overloading +-- 0.29| jdc |120999| - HandleMemoryAction() HandleDataAction() +-- | | | Reinstated 'D' and 'E' actions but +-- | | | with new PortFlagType +-- | | | - Updated file handling syntax, must compile +-- | | | with -93 syntax now. +-- 0.30| jdc |022300| - Formated for 80 column max width +-- ---------------------------------------------------------------------------- + +LIBRARY IEEE; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.Vital_Timing.ALL; +USE IEEE.Vital_Primitives.ALL; + +LIBRARY STD; +USE STD.TEXTIO.ALL; + +PACKAGE Vital_Memory IS + +-- ---------------------------------------------------------------------------- +-- Timing Section +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- Types and constants for Memory timing procedures +-- ---------------------------------------------------------------------------- +TYPE VitalMemoryArcType IS (ParallelArc, CrossArc, SubwordArc); +TYPE OutputRetainBehaviorType IS (BitCorrupt, WordCorrupt); +TYPE VitalMemoryMsgFormatType IS (Vector, Scalar, VectorEnum); +TYPE X01ArrayT IS ARRAY (NATURAL RANGE <> ) OF X01; +TYPE X01ArrayPT IS ACCESS X01ArrayT; +TYPE VitalMemoryViolationType IS ACCESS X01ArrayT; +CONSTANT DefaultNumBitsPerSubword : INTEGER := -1; + + +-- Data type storing path delay and schedule information for output bits +TYPE VitalMemoryScheduleDataType IS RECORD + OutputData : std_ulogic; + NumBitsPerSubWord : INTEGER; + ScheduleTime : TIME; + ScheduleValue : std_ulogic; + LastOutputValue : std_ulogic; + PropDelay : TIME; + OutputRetainDelay : TIME; + InputAge : TIME; +END RECORD; + +TYPE VitalMemoryTimingDataType IS RECORD + NotFirstFlag : BOOLEAN; + RefLast : X01; + RefTime : TIME; + HoldEn : BOOLEAN; + TestLast : std_ulogic; + TestTime : TIME; + SetupEn : BOOLEAN; + TestLastA : VitalLogicArrayPT; + TestTimeA : VitalTimeArrayPT; + RefLastA : X01ArrayPT; + RefTimeA : VitalTimeArrayPT; + HoldEnA : VitalBoolArrayPT; + SetupEnA : VitalBoolArrayPT; +END RECORD; + +TYPE VitalPeriodDataArrayType IS ARRAY (NATURAL RANGE <>) OF + VitalPeriodDataType; + +-- Data type storing path delay and schedule information for output +-- vectors +TYPE VitalMemoryScheduleDataVectorType IS ARRAY (NATURAL RANGE <> ) OF + VitalMemoryScheduleDataType; + +-- VitalPortFlagType records runtime mode of port sub-word slices +-- TYPE VitalPortFlagType IS ( +-- UNDEF, +-- READ, +-- WRITE, +-- CORRUPT, +-- HIGHZ, +-- NOCHANGE +-- ); + +-- VitalPortFlagType records runtime mode of port sub-word slices +TYPE VitalPortStateType IS ( + UNDEF, + READ, + WRITE, + CORRUPT, + HIGHZ +); + +TYPE VitalPortFlagType IS RECORD + MemoryCurrent : VitalPortStateType; + MemoryPrevious : VitalPortStateType; + DataCurrent : VitalPortStateType; + DataPrevious : VitalPortStateType; + OutputDisable : BOOLEAN; +END RECORD; + +CONSTANT VitalDefaultPortFlag : VitalPortFlagType := ( + MemoryCurrent => READ, + MemoryPrevious => UNDEF, + DataCurrent => READ, + DataPrevious => UNDEF, + OutputDisable => FALSE +); + +-- VitalPortFlagVectorType to be same width i as enables of a port +-- or j multiples thereof, where j is the number of cross ports +TYPE VitalPortFlagVectorType IS + ARRAY (NATURAL RANGE <>) OF VitalPortFlagType; + +-- ---------------------------------------------------------------------------- +-- Functions : VitalMemory path delay procedures +-- - VitalMemoryInitPathDelay +-- - VitalMemoryAddPathDelay +-- - VitalMemorySchedulePathDelay +-- +-- Description: VitalMemoryInitPathDelay, VitalMemoryAddPathDelay and +-- VitalMemorySchedulePathDelay are Level 1 routines used +-- for selecting the propagation delay paths based on +-- path condition, transition type and delay values and +-- schedule a new output value. +-- +-- Following features are implemented in these procedures: +-- o condition dependent path selection +-- o Transition dependent delay selection +-- o shortest delay path selection from multiple +-- candidate paths +-- o Scheduling of the computed values on the specified +-- signal. +-- o output retain behavior if outputRetain flag is set +-- o output mapping to alternate strengths to model +-- pull-up, pull-down etc. +-- +-- +-- +-- Following is information on overloading of the procedures. +-- +-- VitalMemoryInitPathDelay is overloaded for ScheduleDataArray and +-- OutputDataArray +-- +-- ---------------------------------------------------------------------------- +-- ScheduleDataArray OutputDataArray +-- ---------------------------------------------------------------------------- +-- Scalar Scalar +-- Vector Vector +-- ---------------------------------------------------------------------------- +-- +-- +-- VitalMemoryAddPathDelay is overloaded for ScheduleDataArray, +-- PathDelayArray, InputSignal and delaytype. +-- +-- ---------------------------------------------------------------------------- +-- DelayType InputSignal ScheduleData PathDelay +-- Array Array +-- ---------------------------------------------------------------------------- +-- VitalDelayType Scalar Scalar Scalar +-- VitalDelayType Scalar Vector Vector +-- VitalDelayType Vector Scalar Vector +-- VitalDelayType Vector Vector Vector +-- VitalDelayType01 Scalar Scalar Scalar +-- VitalDelayType01 Scalar Vector Vector +-- VitalDelayType01 Vector Scalar Vector +-- VitalDelayType01 Vector Vector Vector +-- VitalDelayType01Z Scalar Scalar Scalar +-- VitalDelayType01Z Scalar Vector Vector +-- VitalDelayType01Z Vector Scalar Vector +-- VitalDelayType01Z Vector Vector Vector +-- VitalDelayType01XZ Scalar Scalar Scalar +-- VitalDelayType01XZ Scalar Vector Vector +-- VitalDelayType01XZ Vector Scalar Vector +-- VitalDelayType01XZ Vector Vector Vector +-- ---------------------------------------------------------------------------- +-- +-- +-- VitalMemorySchedulePathDelay is overloaded for ScheduleDataArray, +-- and OutSignal +-- +-- ---------------------------------------------------------------------------- +-- OutSignal ScheduleDataArray +-- ---------------------------------------------------------------------------- +-- Scalar Scalar +-- Vector Vector +-- ---------------------------------------------------------------------------- +-- +-- Procedure Declarations: +-- +-- +-- Function : VitalMemoryInitPathDelay +-- +-- Arguments: +-- +-- INOUT Type Description +-- +-- ScheduleDataArray/ VitalMemoryScheduleDataVectorType/ +-- ScheduleData VitalMemoryScheduleDataType +-- Internal data variable for +-- storing delay and schedule +-- information for each output bit +-- +-- +-- IN +-- +-- OutputDataArray/ STD_LOGIC_VECTOR/Array containing current output +-- OutputData STD_ULOGIC value +-- +-- +-- NumBitsPerSubWord INTEGER Number of bits per subword. +-- Default value of this argument +-- is DefaultNumBitsPerSubword +-- which is interpreted as no +-- subwords +-- +-- ---------------------------------------------------------------------------- +-- +-- +-- ScheduleDataArray - Vector +-- OutputDataArray - Vector +-- +PROCEDURE VitalMemoryInitPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + VARIABLE OutputDataArray : IN STD_LOGIC_VECTOR; + CONSTANT NumBitsPerSubWord : IN INTEGER := DefaultNumBitsPerSubword +); +-- +-- ScheduleDataArray - Scalar +-- OutputDataArray - Scalar +-- +PROCEDURE VitalMemoryInitPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + VARIABLE OutputData : IN STD_ULOGIC +); + +-- ---------------------------------------------------------------------------- +-- +-- Function : VitalMemoryAddPathDelay +-- +-- Arguments +-- +-- INOUT Type Description +-- +-- ScheduleDataArray/ VitalMemoryScheduleDataVectorType/ +-- ScheduleData VitalMemoryScheduleDataType +-- Internal data variable for +-- storing delay and schedule +-- information for each output bit +-- +-- InputChangeTimeArray/ VitaltimeArrayT/Time +-- InputChangeTime Holds the time since the last +-- input change +-- +-- IN +-- +-- InputSignal STD_LOGIC_VECTOR +-- STD_ULOGIC/ Array holding the input value +-- +-- OutputSignalName STRING The output signal name +-- +-- PathDelayArray/ VitalDelayArrayType01ZX, +-- PathDelay VitalDelayArrayType01Z, +-- VitalDelayArrayType01, +-- VitalDelayArrayType/ +-- VitalDelayType01ZX, +-- VitalDelayType01Z, +-- VitalDelayType01, +-- VitalDelayType Array of delay values +-- +-- ArcType VitalMemoryArcType +-- Indicates the Path type. This +-- can be SubwordArc, CrossArc or +-- ParallelArc +-- +-- PathCondition BOOLEAN If True, the transition in +-- the corresponding input signal +-- is considered while +-- caluculating the prop. delay +-- else the transition is ignored. +-- +-- OutputRetainFlag BOOLEAN If specified TRUE,output retain +-- (hold) behavior is implemented. +-- +-- ---------------------------------------------------------------------------- +-- +-- #1 +-- DelayType - VitalDelayType +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelay : IN VitalDelayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #2 +-- DelayType - VitalDelayType +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #3 +-- DelayType - VitalDelayType +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT +); + +-- #4 +-- DelayType - VitalDelayType +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #5 +-- DelayType - VitalDelayType +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #6 +-- DelayType - VitalDelayType +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT +); + +-- #7 +-- DelayType - VitalDelayType01 +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelay : IN VitalDelayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #8 +-- DelayType - VitalDelayType01 +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #9 +-- DelayType - VitalDelayType01 +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT +); + +-- #10 +-- DelayType - VitalDelayType01 +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #11 +-- DelayType - VitalDelayType01 +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE +); + +-- #12 +-- DelayType - VitalDelayType01 +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT +); + +-- #13 +-- DelayType - VitalDelayType01Z +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelay : IN VitalDelayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #14 +-- DelayType - VitalDelayType01Z +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #15 +-- DelayType - VitalDelayType01Z +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #16 +-- DelayType - VitalDelayType01Z +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- #17 +-- DelayType - VitalDelayType01Z +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- #18 +-- DelayType - VitalDelayType01Z +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01Z; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- #19 +-- DelayType - VitalDelayType01ZX +-- Input - Scalar +-- Output - Scalar +-- Delay - Scalar +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelay : IN VitalDelayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #20 +-- DelayType - VitalDelayType01ZX +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #21 +-- DelayType - VitalDelayType01ZX +-- Input - Scalar +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_ULOGIC; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTime : INOUT Time; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray: IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE +); + +-- #22 +-- DelayType - VitalDelayType01ZX +-- Input - Vector +-- Output - Scalar +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- #23 +-- DelayType - VitalDelayType01ZX +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Scalar + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathCondition : IN BOOLEAN := TRUE; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- #24 +-- DelayType - VitalDelayType01ZX +-- Input - Vector +-- Output - Vector +-- Delay - Vector +-- Condition - Vector + +PROCEDURE VitalMemoryAddPathDelay ( + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType; + SIGNAL InputSignal : IN STD_LOGIC_VECTOR; + CONSTANT OutputSignalName : IN STRING := ""; + VARIABLE InputChangeTimeArray : INOUT VitalTimeArrayT; + CONSTANT PathDelayArray : IN VitalDelayArrayType01ZX; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT PathConditionArray : IN VitalBoolArrayT; + CONSTANT OutputRetainFlag : IN BOOLEAN := FALSE; + CONSTANT OutputRetainBehavior : IN OutputRetainBehaviorType := BitCorrupt +); + +-- ---------------------------------------------------------------------------- +-- +-- Function : VitalMemorySchedulePathDelay +-- +-- Arguments: +-- +-- OUT Type Description +-- OutSignal STD_LOGIC_VECTOR/ The output signal for +-- STD_ULOGIC scheduling +-- +-- IN +-- OutputSignalName STRING The name of the output signal +-- +-- IN +-- PortFlag VitalPortFlagType Port flag variable from +-- functional procedures +-- +-- IN +-- OutputMap VitalOutputMapType For VitalPathDelay01Z, the +-- output can be mapped to +-- alternate strengths to model +-- tri-state devices, pull-ups +-- and pull-downs. +-- +-- INOUT +-- ScheduleDataArray/ VitalMemoryScheduleDataVectorType/ +-- ScheduleData VitalMemoryScheduleDataType +-- Internal data variable for +-- storing delay and schedule +-- information for each +-- output bit +-- +-- ---------------------------------------------------------------------------- +-- +-- ScheduleDataArray - Vector +-- OutputSignal - Vector +-- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT std_logic_vector; + CONSTANT OutputSignalName : IN STRING := ""; + CONSTANT PortFlag : IN VitalPortFlagType := VitalDefaultPortFlag; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType +); +-- +-- ScheduleDataArray - Vector +-- OutputSignal - Vector +-- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT std_logic_vector; + CONSTANT OutputSignalName : IN STRING := ""; + CONSTANT PortFlag : IN VitalPortFlagVectorType; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + VARIABLE ScheduleDataArray : INOUT VitalMemoryScheduleDataVectorType +); +-- +-- ScheduleDataArray - Scalar +-- OutputSignal - Scalar +-- +PROCEDURE VitalMemorySchedulePathDelay ( + SIGNAL OutSignal : OUT std_ulogic; + CONSTANT OutputSignalName : IN STRING := ""; + CONSTANT PortFlag : IN VitalPortFlagType := VitalDefaultPortFlag; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + VARIABLE ScheduleData : INOUT VitalMemoryScheduleDataType +); + +-- ---------------------------------------------------------------------------- +FUNCTION VitalMemoryTimingDataInit RETURN VitalMemoryTimingDataType; + +-- ---------------------------------------------------------------------------- +-- +-- Function Name: VitalMemorySetupHoldCheck +-- +-- Description: The VitalMemorySetupHoldCheck procedure detects a setup or a +-- hold violation on the input test signal with respect +-- to the corresponding input reference signal. The timing +-- constraints are specified through parameters +-- representing the high and low values for the setup and +-- hold values for the setup and hold times. This +-- procedure assumes non-negative values for setup and hold +-- timing constraints. +-- +-- It is assumed that negative timing constraints +-- are handled by internally delaying the test or +-- reference signals. Negative setup times result in +-- a delayed reference signal. Negative hold times +-- result in a delayed test signal. Furthermore, the +-- delays and constraints associated with these and +-- other signals may need to be appropriately +-- adjusted so that all constraint intervals overlap +-- the delayed reference signals and all constraint +-- values (with respect to the delayed signals) are +-- non-negative. +-- +-- This function is overloaded based on the input +-- TestSignal and reference signals. Parallel, Subword and +-- Cross Arc relationships between test and reference +-- signals are supported. +-- +-- TestSignal XXXXXXXXXXXX____________________________XXXXXXXXXXXXXXXXXXXXXX +-- : +-- : -->| error region |<-- +-- : +-- _______________________________ +-- RefSignal \______________________________ +-- : | | | +-- : | -->| |<-- thold +-- : -->| tsetup |<-- +-- +-- Arguments: +-- +-- IN Type Description +-- TestSignal std_logic_vector Value of test signal +-- TestSignalName STRING Name of test signal +-- TestDelay VitalDelayArrayType Model's internal delay associated +-- with TestSignal +-- RefSignal std_ulogic Value of reference signal +-- std_logic_vector +-- RefSignalName STRING Name of reference signal +-- RefDelay TIME Model's internal delay associated +-- VitalDelayArrayType with RefSignal +-- SetupHigh VitalDelayArrayType Absolute minimum time duration +-- before the transition of RefSignal +-- for which transitions of +-- TestSignal are allowed to proceed +-- to the "1" state without causing +-- a setup violation. +-- SetupLow VitalDelayArrayType Absolute minimum time duration +-- before the transition of RefSignal +-- for which transitions of +-- TestSignal are allowed to proceed +-- to the "0" state without causing +-- a setup violation. +-- HoldHigh VitalDelayArrayType Absolute minimum time duration +-- after the transition of RefSignal +-- for which transitions of +-- TestSignal are allowed to +-- proceed to the "1" state without +-- causing a hold violation. +-- HoldLow VitalDelayArrayType Absolute minimum time duration +-- after the transition of RefSignal +-- for which transitions of +-- TestSignal are allowed to +-- proceed to the "0" state without +-- causing a hold violation. +-- CheckEnabled BOOLEAN Check performed if TRUE. +-- RefTransition VitalEdgeSymbolType +-- Reference edge specified. Events +-- on the RefSignal which match the +-- edge spec. are used as reference +-- edges. +-- ArcType VitalMemoryArcType +-- NumBitsPerSubWord INTEGER +-- HeaderMsg STRING String that will accompany any +-- assertion messages produced. +-- XOn BOOLEAN If TRUE, Violation output +-- parameter is set to "X". +-- Otherwise, Violation is always +-- set to "0." +-- MsgOn BOOLEAN If TRUE, set and hold violation +-- message will be generated. +-- Otherwise, no messages are +-- generated, even upon violations. +-- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. +-- MsgFormat VitalMemoryMsgFormatType +-- Format of the Test/Reference +-- signals in violation messages. +-- +-- INOUT +-- TimingData VitalMemoryTimingDataType +-- VitalMemorySetupHoldCheck information +-- storage area. This is used +-- internally to detect reference +-- edges and record the time of the +-- last edge. +-- +-- OUT +-- Violation X01 This is the violation flag returned. +-- X01ArrayT Overloaded for array type. +-- +-- +-- ---------------------------------------------------------------------------- + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayType; + CONSTANT SetupLow : IN VitalDelayType; + CONSTANT HoldHigh : IN VitalDelayType; + CONSTANT HoldLow : IN VitalDelayType; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArrayType; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArrayType; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN VitalBoolArrayT; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +--------------- following are not needed -------------------------- + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + +PROCEDURE VitalMemorySetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalMemoryTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + SIGNAL RefSignal : IN std_logic_vector; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN VitalDelayArrayType; + CONSTANT SetupHigh : IN VitalDelayArrayType; + CONSTANT SetupLow : IN VitalDelayArrayType; + CONSTANT HoldHigh : IN VitalDelayArrayType; + CONSTANT HoldLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT ArcType : IN VitalMemoryArcType := CrossArc; + CONSTANT NumBitsPerSubWord : IN INTEGER := 1; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE +); + + +-- ---------------------------------------------------------------------------- +-- +-- Function Name: VitalPeriodPulseCheck +-- +-- Description: VitalPeriodPulseCheck checks for minimum and maximum +-- periodicity and pulse width for "1" and "0" values of +-- the input test signal. The timing constraint is +-- specified through parameters representing the minimal +-- period between successive rising and falling edges of +-- the input test signal and the minimum pulse widths +-- associated with high and low values. +-- +-- VitalPeriodCheck's accepts rising and falling edges +-- from 1 and 0 as well as transitions to and from 'X.' +-- +-- _______________ __________ +-- ____________| |_______| +-- +-- |<--- pw_hi --->| +-- |<-------- period ----->| +-- -->| pw_lo |<-- +-- +-- Arguments: +-- IN Type Description +-- TestSignal std_logic_vector Value of test signal +-- TestSignalName STRING Name of the test signal +-- TestDelay VitalDelayArrayType +-- Model's internal delay associated +-- with TestSignal +-- Period VitalDelayArrayType +-- Minimum period allowed between +-- consecutive rising ('P') or +-- falling ('F') transitions. +-- PulseWidthHigh VitalDelayArrayType +-- Minimum time allowed for a high +-- pulse ('1' or 'H') +-- PulseWidthLow VitalDelayArrayType +-- Minimum time allowed for a low +-- pulse ('0' or 'L') +-- CheckEnabled BOOLEAN Check performed if TRUE. +-- HeaderMsg STRING String that will accompany any +-- assertion messages produced. +-- XOn BOOLEAN If TRUE, Violation output parameter +-- is set to "X". Otherwise, Violation +-- is always set to "0." +-- MsgOn BOOLEAN If TRUE, period/pulse violation +-- message will be generated. +-- Otherwise, no messages are generated, +-- even though a violation is detected. +-- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. +-- MsgFormat VitalMemoryMsgFormatType +-- Format of the Test/Reference signals +-- in violation messages. +-- +-- INOUT +-- PeriodData VitalPeriodDataArrayType +-- VitalPeriodPulseCheck information +-- storage area. This is used +-- internally to detect reference edges +-- and record the pulse and period +-- times. +-- OUT +-- Violation X01 This is the violation flag returned. +-- X01ArrayT Overloaded for array type. +-- +-- ---------------------------------------------------------------------------- +PROCEDURE VitalMemoryPeriodPulseCheck ( + VARIABLE Violation : OUT X01ArrayT; + VARIABLE PeriodData : INOUT VitalPeriodDataArrayType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + CONSTANT Period : IN VitalDelayArrayType; + CONSTANT PulseWidthHigh : IN VitalDelayArrayType; + CONSTANT PulseWidthLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType +); + +PROCEDURE VitalMemoryPeriodPulseCheck ( + VARIABLE Violation : OUT X01; + VARIABLE PeriodData : INOUT VitalPeriodDataArrayType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN VitalDelayArrayType; + CONSTANT Period : IN VitalDelayArrayType; + CONSTANT PulseWidthHigh : IN VitalDelayArrayType; + CONSTANT PulseWidthLow : IN VitalDelayArrayType; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT MsgFormat : IN VitalMemoryMsgFormatType +); + +-- ---------------------------------------------------------------------------- +-- Functionality Section +-- ---------------------------------------------------------------------------- + +-- ---------------------------------------------------------------------------- +-- All Memory Types and Record definitions. +-- ---------------------------------------------------------------------------- +TYPE MemoryWordType IS ARRAY (NATURAL RANGE <>) OF UX01; +TYPE MemoryWordPtr IS ACCESS MemoryWordType; + +TYPE MemoryArrayType IS ARRAY (NATURAL RANGE <>) OF MemoryWordPtr; +TYPE MemoryArrayPtrType IS ACCESS MemoryArrayType; + +TYPE VitalMemoryArrayRecType IS +RECORD +NoOfWords : POSITIVE; +NoOfBitsPerWord : POSITIVE; +NoOfBitsPerSubWord : POSITIVE; +NoOfBitsPerEnable : POSITIVE; +MemoryArrayPtr : MemoryArrayPtrType; +END RECORD; + +TYPE VitalMemoryDataType IS ACCESS VitalMemoryArrayRecType; + +TYPE VitalTimingDataVectorType IS +ARRAY (NATURAL RANGE <>) OF VitalTimingDataType; + +TYPE VitalMemoryViolFlagSizeType IS ARRAY (NATURAL RANGE <>) OF INTEGER; + +-- ---------------------------------------------------------------------------- +-- Symbol Literals used for Memory Table Modeling +-- ---------------------------------------------------------------------------- + +-- Symbol literals from '/' to 'S' are closely related to MemoryTableMatch +-- lookup matching and the order cannot be arbitrarily changed. +-- The remaining symbol literals are interpreted directly and matchting is +-- handled in the MemoryMatch procedure itself. + +TYPE VitalMemorySymbolType IS ( + '/', -- 0 -> 1 + '\', -- 1 -> 0 + 'P', -- Union of '/' and '^' (any edge to 1) + 'N', -- Union of '\' and 'v' (any edge to 0) + 'r', -- 0 -> X + 'f', -- 1 -> X + 'p', -- Union of '/' and 'r' (any edge from 0) + 'n', -- Union of '\' and 'f' (any edge from 1) + 'R', -- Union of '^' and 'p' (any possible rising edge) + 'F', -- Union of 'v' and 'n' (any possible falling edge) + '^', -- X -> 1 + 'v', -- X -> 0 + 'E', -- Union of 'v' and '^' (any edge from X) + 'A', -- Union of 'r' and '^' (rising edge to or from 'X') + + 'D', -- Union of 'f' and 'v' (falling edge to or from 'X') + + '*', -- Union of 'R' and 'F' (any edge) + 'X', -- Unknown level + '0', -- low level + '1', -- high level + '-', -- don't care + 'B', -- 0 or 1 + 'Z', -- High Impedance + 'S', -- steady value + + 'g', -- Good address (no transition) + 'u', -- Unknown address (no transition) + 'i', -- Invalid address (no transition) + 'G', -- Good address (with transition) + 'U', -- Unknown address (with transition) + 'I', -- Invalid address (with transition) + + 'w', -- Write data to memory + 's', -- Retain previous memory contents + + 'c', -- Corrupt entire memory with 'X' + 'l', -- Corrupt a word in memory with 'X' + 'd', -- Corrupt a single bit in memory with 'X' + 'e', -- Corrupt a word with 'X' based on data in + 'C', -- Corrupt a sub-word entire memory with 'X' + 'L', -- Corrupt a sub-word in memory with 'X' + + -- The following entries are commented since their + -- interpretation overlap with existing definitions. + + -- 'D', -- Corrupt a single bit of a sub-word with 'X' + -- 'E', -- Corrupt a sub-word with 'X' based on datain + + 'M', -- Implicit read data from memory + 'm', -- Read data from memory + 't' -- Immediate assign/transfer data in + +); + +TYPE VitalMemoryTableType IS ARRAY ( NATURAL RANGE <>, NATURAL RANGE <> ) + OF VitalMemorySymbolType; + +TYPE VitalMemoryViolationSymbolType IS ( + 'X', -- Unknown level + '0', -- low level + '-' -- don't care +); + +TYPE VitalMemoryViolationTableType IS + ARRAY ( NATURAL RANGE <>, NATURAL RANGE <> ) + OF VitalMemoryViolationSymbolType; + +TYPE VitalPortType IS ( + UNDEF, + READ, + WRITE, + RDNWR +); + +TYPE VitalCrossPortModeType IS ( + CpRead, -- CpReadOnly, + WriteContention, -- WrContOnly, + ReadWriteContention, -- CpContention + CpReadAndWriteContention, -- WrContAndCpRead, + CpReadAndReadContention +); + +SUBTYPE VitalAddressValueType IS INTEGER; +TYPE VitalAddressValueVectorType IS + ARRAY (NATURAL RANGE <>) OF VitalAddressValueType; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalDeclareMemory +-- Parameters: NoOfWords - Number of words in the memory +-- NoOfBitsPerWord - Number of bits per word in memory +-- NoOfBitsPerSubWord - Number of bits per sub word +-- MemoryLoadFile - Name of data file to load +-- Description: This function is intended to be used to initialize +-- memory data declarations, i.e. to be executed duing +-- simulation elaboration time. Handles the allocation +-- and initialization of memory for the memory data. +-- Default NoOfBitsPerSubWord is NoOfBits. +-- ---------------------------------------------------------------------------- + +IMPURE FUNCTION VitalDeclareMemory ( + CONSTANT NoOfWords : IN POSITIVE; + CONSTANT NoOfBitsPerWord : IN POSITIVE; + CONSTANT NoOfBitsPerSubWord : IN POSITIVE; + CONSTANT MemoryLoadFile : IN string := ""; + CONSTANT BinaryLoadFile : IN BOOLEAN := FALSE +) RETURN VitalMemoryDataType; + +IMPURE FUNCTION VitalDeclareMemory ( + CONSTANT NoOfWords : IN POSITIVE; + CONSTANT NoOfBitsPerWord : IN POSITIVE; + CONSTANT MemoryLoadFile : IN string := ""; + CONSTANT BinaryLoadFile : IN BOOLEAN := FALSE +) RETURN VitalMemoryDataType; + + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryTable +-- Parameters: DataOutBus - Output candidate zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- PrevControls - Previous data in for edge detection +-- PrevEnableBus - Previous enables for edge detection +-- PrevDataInBus - Previous data bus for edge detection +-- PrevAddressBus - Previous address bus for edge detection +-- PortFlag - Indicates port operating mode +-- PortFlagArray - Vector form of PortFlag for sub-word +-- Controls - Agregate of scalar control lines +-- EnableBus - Concatenation of vector control lines +-- DataInBus - Input value of data bus in +-- AddressBus - Input value of address bus in +-- AddressValue - Decoded value of the AddressBus +-- MemoryTable - Input memory action table +-- PortType - The type of port (currently not used) +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- MsgSeverity - Control level of message generation +-- Description: This procedure implements the majority of the memory +-- modeling functionality via lookup of the memory action +-- tables and performing the specified actions if matches +-- are found, or the default actions otherwise. The +-- overloadings are provided for the word and sub-word +-- (using the EnableBus and PortFlagArray arguments) addressing +-- cases. +-- ---------------------------------------------------------------------------- + +PROCEDURE VitalMemoryTable ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PrevControls : INOUT std_logic_vector; + VARIABLE PrevDataInBus : INOUT std_logic_vector; + VARIABLE PrevAddressBus : INOUT std_logic_vector; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT Controls : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressBus : IN std_logic_vector; + VARIABLE AddressValue : INOUT VitalAddressValueType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType := UNDEF; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +); + +PROCEDURE VitalMemoryTable ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PrevControls : INOUT std_logic_vector; + VARIABLE PrevEnableBus : INOUT std_logic_vector; + VARIABLE PrevDataInBus : INOUT std_logic_vector; + VARIABLE PrevAddressBus : INOUT std_logic_vector; + VARIABLE PortFlagArray : INOUT VitalPortFlagVectorType; + CONSTANT Controls : IN std_logic_vector; + CONSTANT EnableBus : IN std_logic_vector; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressBus : IN std_logic_vector; + VARIABLE AddressValue : INOUT VitalAddressValueType; + CONSTANT MemoryTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType := UNDEF; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +); + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryCrossPorts +-- Parameters: DataOutBus - Output candidate zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- SamePortFlag - Operating mode for same port +-- SamePortAddressValue - Decoded AddressBus for same port +-- CrossPortFlagArray - Operating modes for cross ports +-- CrossPortAddressArray - Decoded AddressBus for cross ports +-- CrossPortMode - Write contention and crossport read control +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- +-- Description: These procedures control the effect of memory operations +-- on a given port due to operations on other ports in a +-- multi-port memory. +-- This includes data write through when reading and writing +-- to the same address, as well as write contention when +-- there are multiple write to the same address. +-- If addresses do not match then data bus is unchanged. +-- The DataOutBus can be diabled with 'Z' value. +-- ---------------------------------------------------------------------------- + +PROCEDURE VitalMemoryCrossPorts ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE SamePortFlag : INOUT VitalPortFlagVectorType; + CONSTANT SamePortAddressValue : IN VitalAddressValueType; + CONSTANT CrossPortFlagArray : IN VitalPortFlagVectorType; + CONSTANT CrossPortAddressArray : IN VitalAddressValueVectorType; + CONSTANT CrossPortMode : IN VitalCrossPortModeType + := CpReadAndWriteContention; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) ; + +PROCEDURE VitalMemoryCrossPorts ( + VARIABLE MemoryData : INOUT VitalMemoryDataType; + CONSTANT CrossPortFlagArray : IN VitalPortFlagVectorType; + CONSTANT CrossPortAddressArray : IN VitalAddressValueVectorType; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE +) ; + +-- ---------------------------------------------------------------------------- +-- Procedure: VitalMemoryViolation +-- Parameters: DataOutBus - Output zero delay data bus out +-- MemoryData - Pointer to memory data structure +-- PortFlag - Indicates port operating mode +-- DataInBus - Input value of data bus in +-- AddressValue - Decoded value of the AddressBus +-- ViolationFlags - Aggregate of scalar violation vars +-- ViolationFlagsArray - Concatenation of vector violation vars +-- ViolationTable - Input memory violation table +-- PortType - The type of port (currently not used) +-- PortName - Port name string for messages +-- HeaderMsg - Header string for messages +-- MsgOn - Control the generation of messages +-- MsgSeverity - Control level of message generation +-- Description: This procedure is intended to implement all actions on the +-- memory contents and data out bus as a result of timing viols. +-- It uses the memory action table to perform various corruption +-- policies specified by the user. +-- ---------------------------------------------------------------------------- + +PROCEDURE VitalMemoryViolation ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressValue : IN VitalAddressValueType; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationFlagsArray : IN X01ArrayT; + CONSTANT ViolationSizesArray : IN VitalMemoryViolFlagSizeType; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) ; + +PROCEDURE VitalMemoryViolation ( + VARIABLE DataOutBus : INOUT std_logic_vector; + VARIABLE MemoryData : INOUT VitalMemoryDataType; + VARIABLE PortFlag : INOUT VitalPortFlagVectorType; + CONSTANT DataInBus : IN std_logic_vector; + CONSTANT AddressValue : IN VitalAddressValueType; + CONSTANT ViolationFlags : IN std_logic_vector; + CONSTANT ViolationTable : IN VitalMemoryTableType; + CONSTANT PortType : IN VitalPortType; + CONSTANT PortName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := ""; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING +) ; + +END Vital_Memory; diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_b.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_b.vhdl new file mode 100644 index 0000000..dcfc92b --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_b.vhdl @@ -0,0 +1,5622 @@ +------------------------------------------------------------------------------- +-- Title : Standard VITAL_Primitives Package +-- : $Revision$ +-- : +-- Library : VITAL +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : +-- Purpose : This packages defines standard types, constants, functions +-- : and procedures for use in developing ASIC models. +-- : Specifically a set of logic primitives are defined. +-- : +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Version No:|Auth:| Mod.Date:| Changes Made: +-- v95.0 A | | 06/02/95 | Initial ballot draft 1995 +-- v95.1 | | 08/31/95 | #204 - glitch detection prior to OutputMap +-- ---------------------------------------------------------------------------- +-- v95.2 | ddl | 09/14/96 | #223 - single input prmtvs use on-detect +-- | | | instead of glitch-on-event behavior +-- v95.3 | ddl | 09/24/96 | #236 - VitalTruthTable DataIn should be of +-- | | | of class SIGNAL +-- v95.4 | ddl | 01/16/97 | #243 - index constraint error in nbit xor/xnor +-- v99.1 | dbb | 03/31/99 | Updated for VHDL 93 +-- ---------------------------------------------------------------------------- + +LIBRARY STD; +USE STD.TEXTIO.ALL; + +PACKAGE BODY VITAL_Primitives IS + -- ------------------------------------------------------------------------ + -- Default values for Primitives + -- ------------------------------------------------------------------------ + -- default values for delay parameters + CONSTANT VitalDefDelay01 : VitalDelayType01 := VitalZeroDelay01; + CONSTANT VitalDefDelay01Z : VitalDelayType01Z := VitalZeroDelay01Z; + + TYPE VitalTimeArray IS ARRAY (NATURAL RANGE <>) OF TIME; + + -- default primitive model operation parameters + -- Glitch detection/reporting + TYPE VitalGlitchModeType IS ( MessagePlusX, MessageOnly, XOnly, NoGlitch); + CONSTANT PrimGlitchMode : VitalGlitchModeType := XOnly; + + -- ------------------------------------------------------------------------ + -- Local Type and Subtype Declarations + -- ------------------------------------------------------------------------ + --------------------------------------------------------------------------- + -- enumeration value representing the transition or level of the signal. + -- See function 'GetEdge' + --------------------------------------------------------------------------- + TYPE EdgeType IS ( 'U', -- Uninitialized level + 'X', -- Unknown level + '0', -- low level + '1', -- high level + '\', -- 1 to 0 falling edge + '/', -- 0 to 1 rising edge + 'F', -- * to 0 falling edge + 'R', -- * to 1 rising edge + 'f', -- rising to X edge + 'r', -- falling to X edge + 'x', -- Unknown edge (ie U->X) + 'V' -- Timing violation edge + ); + TYPE EdgeArray IS ARRAY ( NATURAL RANGE <> ) OF EdgeType; + + TYPE EdgeX1Table IS ARRAY ( EdgeType ) OF EdgeType; + TYPE EdgeX2Table IS ARRAY ( EdgeType, EdgeType ) OF EdgeType; + TYPE EdgeX3Table IS ARRAY ( EdgeType, EdgeType, EdgeType ) OF EdgeType; + TYPE EdgeX4Table IS ARRAY (EdgeType,EdgeType,EdgeType,EdgeType) OF EdgeType; + + TYPE LogicToEdgeT IS ARRAY(std_ulogic, std_ulogic) OF EdgeType; + TYPE LogicToLevelT IS ARRAY(std_ulogic ) OF EdgeType; + + TYPE GlitchDataType IS + RECORD + SchedTime : TIME; + GlitchTime : TIME; + SchedValue : std_ulogic; + CurrentValue : std_ulogic; + END RECORD; + TYPE GlitchDataArrayType IS ARRAY (NATURAL RANGE <>) + OF GlitchDataType; + + -- Enumerated type used in selection of output path delays + TYPE SchedType IS + RECORD + inp0 : TIME; -- time (abs) of output change due to input change to 0 + inp1 : TIME; -- time (abs) of output change due to input change to 1 + InpX : TIME; -- time (abs) of output change due to input change to X + Glch0 : TIME; -- time (abs) of output glitch due to input change to 0 + Glch1 : TIME; -- time (abs) of output glitch due to input change to 0 + END RECORD; + + TYPE SchedArray IS ARRAY ( NATURAL RANGE <> ) OF SchedType; + CONSTANT DefSchedType : SchedType := (TIME'HIGH, TIME'HIGH, 0 ns,0 ns,0 ns); + CONSTANT DefSchedAnd : SchedType := (TIME'HIGH, 0 ns,0 ns, TIME'HIGH,0 ns); + + -- Constrained array declarations (common sizes used by primitives) + SUBTYPE SchedArray2 IS SchedArray(1 DOWNTO 0); + SUBTYPE SchedArray3 IS SchedArray(2 DOWNTO 0); + SUBTYPE SchedArray4 IS SchedArray(3 DOWNTO 0); + SUBTYPE SchedArray8 IS SchedArray(7 DOWNTO 0); + + SUBTYPE TimeArray2 IS VitalTimeArray(1 DOWNTO 0); + SUBTYPE TimeArray3 IS VitalTimeArray(2 DOWNTO 0); + SUBTYPE TimeArray4 IS VitalTimeArray(3 DOWNTO 0); + SUBTYPE TimeArray8 IS VitalTimeArray(7 DOWNTO 0); + + SUBTYPE GlitchArray2 IS GlitchDataArrayType(1 DOWNTO 0); + SUBTYPE GlitchArray3 IS GlitchDataArrayType(2 DOWNTO 0); + SUBTYPE GlitchArray4 IS GlitchDataArrayType(3 DOWNTO 0); + SUBTYPE GlitchArray8 IS GlitchDataArrayType(7 DOWNTO 0); + + SUBTYPE EdgeArray2 IS EdgeArray(1 DOWNTO 0); + SUBTYPE EdgeArray3 IS EdgeArray(2 DOWNTO 0); + SUBTYPE EdgeArray4 IS EdgeArray(3 DOWNTO 0); + SUBTYPE EdgeArray8 IS EdgeArray(7 DOWNTO 0); + + CONSTANT DefSchedArray2 : SchedArray2 := + (OTHERS=> (0 ns, 0 ns, 0 ns, 0 ns, 0 ns)); + + TYPE stdlogic_table IS ARRAY(std_ulogic, std_ulogic) OF std_ulogic; + + CONSTANT InitialEdge : LogicToLevelT := ( + '1'|'H' => 'R', + '0'|'L' => 'F', + OTHERS => 'x' + ); + + CONSTANT LogicToEdge : LogicToEdgeT := ( -- previous, current + -- old \ new: U X 0 1 Z W L H - + 'U' => ( 'U', 'x', 'F', 'R', 'x', 'x', 'F', 'R', 'x' ), + 'X' => ( 'x', 'X', 'F', 'R', 'x', 'X', 'F', 'R', 'X' ), + '0' => ( 'r', 'r', '0', '/', 'r', 'r', '0', '/', 'r' ), + '1' => ( 'f', 'f', '\', '1', 'f', 'f', '\', '1', 'f' ), + 'Z' => ( 'x', 'X', 'F', 'R', 'X', 'x', 'F', 'R', 'x' ), + 'W' => ( 'x', 'X', 'F', 'R', 'x', 'X', 'F', 'R', 'X' ), + 'L' => ( 'r', 'r', '0', '/', 'r', 'r', '0', '/', 'r' ), + 'H' => ( 'f', 'f', '\', '1', 'f', 'f', '\', '1', 'f' ), + '-' => ( 'x', 'X', 'F', 'R', 'x', 'X', 'F', 'R', 'X' ) + ); + CONSTANT LogicToLevel : LogicToLevelT := ( + '1'|'H' => '1', + '0'|'L' => '0', + 'U' => 'U', + OTHERS => 'X' + ); + + -- ----------------------------------- + -- 3-state logic tables + -- ----------------------------------- + CONSTANT BufIf0_Table : stdlogic_table := + -- enable data value + ( '1'|'H' => ( OTHERS => 'Z' ), + '0'|'L' => ( '1'|'H' => '1', + '0'|'L' => '0', + 'U' => 'U', + OTHERS => 'X' ), + 'U' => ( OTHERS => 'U' ), + OTHERS => ( OTHERS => 'X' ) ); + CONSTANT BufIf1_Table : stdlogic_table := + -- enable data value + ( '0'|'L' => ( OTHERS => 'Z' ), + '1'|'H' => ( '1'|'H' => '1', + '0'|'L' => '0', + 'U' => 'U', + OTHERS => 'X' ), + 'U' => ( OTHERS => 'U' ), + OTHERS => ( OTHERS => 'X' ) ); + CONSTANT InvIf0_Table : stdlogic_table := + -- enable data value + ( '1'|'H' => ( OTHERS => 'Z' ), + '0'|'L' => ( '1'|'H' => '0', + '0'|'L' => '1', + 'U' => 'U', + OTHERS => 'X' ), + 'U' => ( OTHERS => 'U' ), + OTHERS => ( OTHERS => 'X' ) ); + CONSTANT InvIf1_Table : stdlogic_table := + -- enable data value + ( '0'|'L' => ( OTHERS => 'Z' ), + '1'|'H' => ( '1'|'H' => '0', + '0'|'L' => '1', + 'U' => 'U', + OTHERS => 'X' ), + 'U' => ( OTHERS => 'U' ), + OTHERS => ( OTHERS => 'X' ) ); + + + TYPE To_StateCharType IS ARRAY (VitalStateSymbolType) OF CHARACTER; + CONSTANT To_StateChar : To_StateCharType := + ( '/', '\', 'P', 'N', 'r', 'f', 'p', 'n', 'R', 'F', '^', 'v', + 'E', 'A', 'D', '*', 'X', '0', '1', '-', 'B', 'Z', 'S' ); + TYPE To_TruthCharType IS ARRAY (VitalTruthSymbolType) OF CHARACTER; + CONSTANT To_TruthChar : To_TruthCharType := + ( 'X', '0', '1', '-', 'B', 'Z' ); + + TYPE TruthTableOutMapType IS ARRAY (VitalTruthSymbolType) OF std_ulogic; + CONSTANT TruthTableOutMap : TruthTableOutMapType := + -- 'X', '0', '1', '-', 'B', 'Z' + ( 'X', '0', '1', 'X', '-', 'Z' ); + + TYPE StateTableOutMapType IS ARRAY (VitalStateSymbolType) OF std_ulogic; + -- does conversion to X01Z or '-' if invalid + CONSTANT StateTableOutMap : StateTableOutMapType := + -- '/' '\' 'P' 'N' 'r' 'f' 'p' 'n' 'R' 'F' '^' 'v' + -- 'E' 'A' 'D' '*' 'X' '0' '1' '-' 'B' 'Z' 'S' + ( '-','-','-','-','-','-','-','-','-','-','-','-', + '-','-','-','-','X','0','1','X','-','Z','W'); + + -- ------------------------------------------------------------------------ + TYPE ValidTruthTableInputType IS ARRAY (VitalTruthSymbolType) OF BOOLEAN; + -- checks if a symbol IS valid for the stimulus portion of a truth table + CONSTANT ValidTruthTableInput : ValidTruthTableInputType := + -- 'X' '0' '1' '-' 'B' 'Z' + ( TRUE, TRUE, TRUE, TRUE, TRUE, FALSE ); + + TYPE TruthTableMatchType IS ARRAY (X01, VitalTruthSymbolType) OF BOOLEAN; + -- checks if an input matches th corresponding truth table symbol + -- use: TruthTableMatch(input_converted_to_X01, truth_table_stimulus_symbol) + CONSTANT TruthTableMatch : TruthTableMatchType := ( + -- X, 0, 1, - B Z + ( TRUE, FALSE, FALSE, TRUE, FALSE, FALSE ), -- X + ( FALSE, TRUE, FALSE, TRUE, TRUE, FALSE ), -- 0 + ( FALSE, FALSE, TRUE, TRUE, TRUE, FALSE ) -- 1 + ); + + -- ------------------------------------------------------------------------ + TYPE ValidStateTableInputType IS ARRAY (VitalStateSymbolType) OF BOOLEAN; + CONSTANT ValidStateTableInput : ValidStateTableInputType := + -- '/', '\', 'P', 'N', 'r', 'f', + ( TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, + -- 'p', 'n', 'R', 'F', '^', 'v', + TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, + -- 'E', 'A', 'D', '*', + TRUE, TRUE, TRUE, TRUE, + -- 'X', '0', '1', '-', 'B', 'Z', + TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, + -- 'S' + TRUE ); + + CONSTANT ValidStateTableState : ValidStateTableInputType := + -- '/', '\', 'P', 'N', 'r', 'f', + ( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, + -- 'p', 'n', 'R', 'F', '^', 'v', + FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, + -- 'E', 'A', 'D', '*', + FALSE, FALSE, FALSE, FALSE, + -- 'X', '0', '1', '-', 'B', 'Z', + TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, + -- 'S' + FALSE ); + + TYPE StateTableMatchType IS ARRAY (X01,X01,VitalStateSymbolType) OF BOOLEAN; + -- last value, present value, table symbol + CONSTANT StateTableMatch : StateTableMatchType := ( + ( -- X (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + (FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE), + (FALSE,FALSE,FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, FALSE,TRUE, + TRUE, FALSE,TRUE, TRUE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,FALSE), + (FALSE,FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,TRUE, FALSE,TRUE, FALSE, + TRUE, TRUE, FALSE,TRUE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,FALSE) + ), + + (-- 0 (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + (FALSE,FALSE,FALSE,FALSE,TRUE, FALSE, + TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE), + (FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,TRUE ), + (TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + TRUE, FALSE,TRUE, FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,FALSE) + ), + + (-- 1 (lastvalue) + -- / \ P N r f + -- p n R F ^ v + -- E A D * + -- X 0 1 - B Z S + (FALSE,FALSE,FALSE,FALSE,FALSE,TRUE , + FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,TRUE, TRUE, + TRUE, FALSE,FALSE,TRUE, FALSE,FALSE,FALSE), + (FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,TRUE, FALSE,TRUE, FALSE,FALSE, + FALSE,FALSE,FALSE,TRUE, + FALSE,TRUE, FALSE,TRUE, TRUE, FALSE,FALSE), + (FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,FALSE,FALSE, + FALSE,FALSE,TRUE, TRUE, TRUE, FALSE,TRUE ) + ) + ); + + TYPE Logic_UX01Z_Table IS ARRAY (std_ulogic) OF UX01Z; + ---------------------------------------------------------- + -- table name : cvt_to_x01z + -- parameters : std_ulogic -- some logic value + -- returns : UX01Z -- state value of logic value + -- purpose : to convert state-strength to state only + ---------------------------------------------------------- + CONSTANT cvt_to_ux01z : Logic_UX01Z_Table := + ('U','X','0','1','Z','X','0','1','X' ); + + TYPE LogicCvtTableType IS ARRAY (std_ulogic) OF CHARACTER; + CONSTANT LogicCvtTable : LogicCvtTableType + := ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-'); + + -------------------------------------------------------------------- + -- LOCAL Utilities + -------------------------------------------------------------------- + -- ------------------------------------------------------------------------ + -- FUNCTION NAME : MINIMUM + -- + -- PARAMETERS : in1, in2 - integer, time + -- + -- DESCRIPTION : return smaller of in1 and in2 + -- ------------------------------------------------------------------------ + FUNCTION Minimum ( + CONSTANT in1, in2 : INTEGER + ) RETURN INTEGER IS + BEGIN + IF (in1 < in2) THEN + RETURN in1; + END IF; + RETURN in2; + END; + -- ------------------------------------------------------------------------ + FUNCTION Minimum ( + CONSTANT t1,t2 : IN TIME + ) RETURN TIME IS + BEGIN + IF ( t1 < t2 ) THEN RETURN (t1); ELSE RETURN (t2); END IF; + END Minimum; + + -- ------------------------------------------------------------------------ + -- FUNCTION NAME : MAXIMUM + -- + -- PARAMETERS : in1, in2 - integer, time + -- + -- DESCRIPTION : return larger of in1 and in2 + -- ------------------------------------------------------------------------ + FUNCTION Maximum ( + CONSTANT in1, in2 : INTEGER + ) RETURN INTEGER IS + BEGIN + IF (in1 > in2) THEN + RETURN in1; + END IF; + RETURN in2; + END; + ----------------------------------------------------------------------- + FUNCTION Maximum ( + CONSTANT t1,t2 : IN TIME + ) RETURN TIME IS + BEGIN + IF ( t1 > t2 ) THEN RETURN (t1); ELSE RETURN (t2); END IF; + END Maximum; + + ----------------------------------------------------------------------- + FUNCTION GlitchMinTime ( + CONSTANT Time1, Time2 : IN TIME + ) RETURN TIME IS + BEGIN + IF ( Time1 >= NOW ) THEN + IF ( Time2 >= NOW ) THEN + RETURN Minimum ( Time1, Time2); + ELSE + RETURN Time1; + END IF; + ELSE + IF ( Time2 >= NOW ) THEN + RETURN Time2; + ELSE + RETURN 0 ns; + END IF; + END IF; + END; + + -------------------------------------------------------------------- + -- Error Message Types and Tables + -------------------------------------------------------------------- + TYPE VitalErrorType IS ( + ErrNegDel, + ErrInpSym, + ErrOutSym, + ErrStaSym, + ErrVctLng, + ErrTabWidSml, + ErrTabWidLrg, + ErrTabResSml, + ErrTabResLrg + ); + + TYPE VitalErrorSeverityType IS ARRAY (VitalErrorType) OF SEVERITY_LEVEL; + CONSTANT VitalErrorSeverity : VitalErrorSeverityType := ( + ErrNegDel => WARNING, + ErrInpSym => ERROR, + ErrOutSym => ERROR, + ErrStaSym => ERROR, + ErrVctLng => ERROR, + ErrTabWidSml => ERROR, + ErrTabWidLrg => WARNING, + ErrTabResSml => WARNING, + ErrTabResLrg => WARNING + ); + + CONSTANT MsgNegDel : STRING := + "Negative delay. New output value not scheduled. Output signal is: "; + CONSTANT MsgInpSym : STRING := + "Illegal symbol in the input portion of a Truth/State table."; + CONSTANT MsgOutSym : STRING := + "Illegal symbol in the output portion of a Truth/State table."; + CONSTANT MsgStaSym : STRING := + "Illegal symbol in the state portion of a State table."; + CONSTANT MsgVctLng : STRING := + "Vector (array) lengths not equal. "; + CONSTANT MsgTabWidSml : STRING := + "Width of the Truth/State table is too small."; + CONSTANT MsgTabWidLrg : STRING := + "Width of Truth/State table is too large. Extra elements are ignored."; + CONSTANT MsgTabResSml : STRING := + "Result of Truth/State table has too many elements."; + CONSTANT MsgTabResLrg : STRING := + "Result of Truth/State table has too few elements."; + + CONSTANT MsgUnknown : STRING := + "Unknown error message."; + + -------------------------------------------------------------------- + -- LOCAL Utilities + -------------------------------------------------------------------- + FUNCTION VitalMessage ( + CONSTANT ErrorId : IN VitalErrorType + ) RETURN STRING IS + BEGIN + CASE ErrorId IS + WHEN ErrNegDel => RETURN MsgNegDel; + WHEN ErrInpSym => RETURN MsgInpSym; + WHEN ErrOutSym => RETURN MsgOutSym; + WHEN ErrStaSym => RETURN MsgStaSym; + WHEN ErrVctLng => RETURN MsgVctLng; + WHEN ErrTabWidSml => RETURN MsgTabWidSml; + WHEN ErrTabWidLrg => RETURN MsgTabWidLrg; + WHEN ErrTabResSml => RETURN MsgTabResSml; + WHEN ErrTabResLrg => RETURN MsgTabResLrg; + WHEN OTHERS => RETURN MsgUnknown; + END CASE; + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) + SEVERITY VitalErrorSeverity(ErrorId); + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType; + CONSTANT Info : IN STRING + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) & Info + SEVERITY VitalErrorSeverity(ErrorId); + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType; + CONSTANT Info : IN CHARACTER + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) & Info + SEVERITY VitalErrorSeverity(ErrorId); + END; + + --------------------------------------------------------------------------- + PROCEDURE ReportGlitch ( + CONSTANT GlitchRoutine : IN STRING; + CONSTANT OutSignalName : IN STRING; + CONSTANT PreemptedTime : IN TIME; + CONSTANT PreemptedValue : IN std_ulogic; + CONSTANT NewTime : IN TIME; + CONSTANT NewValue : IN std_ulogic; + CONSTANT Index : IN INTEGER := 0; + CONSTANT IsArraySignal : IN BOOLEAN := FALSE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + + VARIABLE StrPtr1, StrPtr2, StrPtr3, StrPtr4, StrPtr5 : LINE; + BEGIN + + Write (StrPtr1, PreemptedTime ); + Write (StrPtr2, NewTime); + Write (StrPtr3, LogicCvtTable(PreemptedValue)); + Write (StrPtr4, LogicCvtTable(NewValue)); + IF IsArraySignal THEN + Write (StrPtr5, STRING'( "(" ) ); + Write (StrPtr5, Index); + Write (StrPtr5, STRING'( ")" ) ); + ELSE + Write (StrPtr5, STRING'( " " ) ); + END IF; + + -- Issue Report only if Preemted value has not been + -- removed from event queue + ASSERT PreemptedTime > NewTime + REPORT GlitchRoutine & ": GLITCH Detected on port " & + OutSignalName & StrPtr5.ALL & + "; Preempted Future Value := " & StrPtr3.ALL & + " @ " & StrPtr1.ALL & + "; Newly Scheduled Value := " & StrPtr4.ALL & + " @ " & StrPtr2.ALL & + ";" + SEVERITY MsgSeverity; + + DEALLOCATE(StrPtr1); + DEALLOCATE(StrPtr2); + DEALLOCATE(StrPtr3); + DEALLOCATE(StrPtr4); + DEALLOCATE(StrPtr5); + RETURN; + END ReportGlitch; + + --------------------------------------------------------------------------- + -- Procedure : VitalGlitchOnEvent + -- : + -- Parameters : OutSignal ........ signal being driven + -- : OutSignalName..... name of the driven signal + -- : GlitchData........ internal data required by the procedure + -- : NewValue.......... new value being assigned + -- : NewDelay.......... Delay accompanying the assignment + -- : (Note: for vectors, this is an array) + -- : GlitchMode........ Glitch generation mode + -- : MessagePlusX, MessageOnly, + -- : XOnly, NoGlitch ) + -- : GlitchDelay....... if <= 0 ns , then there will be no Glitch + -- : if > NewDelay, then there is no Glitch, + -- : otherwise, this is the time when a FORCED + -- : generation of a glitch will occur. + ---------------------------------------------------------------------------- + PROCEDURE VitalGlitchOnEvent ( + SIGNAL OutSignal : OUT std_logic; + CONSTANT OutSignalName : IN STRING; + VARIABLE GlitchData : INOUT GlitchDataType; + CONSTANT NewValue : IN std_logic; + CONSTANT NewDelay : IN TIME := 0 ns; + CONSTANT GlitchMode : IN VitalGlitchModeType := MessagePlusX; + CONSTANT GlitchDelay : IN TIME := -1 ns; -- IR#223 + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + -- ------------------------------------------------------------------------ + VARIABLE NoGlitchDet : BOOLEAN := FALSE; + VARIABLE OldGlitch : BOOLEAN := FALSE; + VARIABLE Dly : TIME := NewDelay; + + BEGIN + -- If nothing to schedule, just return + IF NewDelay < 0 ns THEN + IF (NewValue /= GlitchData.SchedValue) THEN + VitalError ( "VitalGlitchOnEvent", ErrNegDel, OutSignalName ); + END IF; + + ELSE + -- If nothing currently scheduled + IF GlitchData.SchedTime <= NOW THEN + GlitchData.CurrentValue := GlitchData.SchedValue; + IF (GlitchDelay <= 0 ns) THEN + IF (NewValue = GlitchData.SchedValue) THEN RETURN; END IF; + NoGlitchDet := TRUE; + END IF; + + -- Transaction currently scheduled - if glitch already happened + ELSIF GlitchData.GlitchTime <= NOW THEN + GlitchData.CurrentValue := 'X'; + OldGlitch := TRUE; + IF (GlitchData.SchedValue = NewValue) THEN + dly := Minimum( GlitchData.SchedTime-NOW, NewDelay ); + END IF; + + -- Transaction currently scheduled (no glitch if same value) + ELSIF (GlitchData.SchedValue = NewValue) AND + (GlitchData.SchedTime = GlitchData.GlitchTime) AND + (GlitchDelay <= 0 ns) THEN + NoGlitchDet := TRUE; + Dly := Minimum( GlitchData.SchedTime-NOW, NewDelay ); + + END IF; + + GlitchData.SchedTime := NOW+Dly; + IF OldGlitch THEN + OutSignal <= NewValue AFTER Dly; + + ELSIF NoGlitchDet THEN + GlitchData.GlitchTime := NOW+Dly; + OutSignal <= NewValue AFTER Dly; + + ELSE -- new glitch + GlitchData.GlitchTime := GlitchMinTime ( GlitchData.GlitchTime, + NOW+GlitchDelay ); + + IF (GlitchMode = MessagePlusX) OR + (GlitchMode = MessageOnly) THEN + ReportGlitch ( "VitalGlitchOnEvent", OutSignalName, + GlitchData.GlitchTime, GlitchData.SchedValue, + (Dly + NOW), NewValue, + MsgSeverity=>MsgSeverity ); + END IF; + + IF (GlitchMode = MessagePlusX) OR (GlitchMode = XOnly) THEN + OutSignal <= 'X' AFTER GlitchData.GlitchTime-NOW; + OutSignal <= TRANSPORT NewValue AFTER Dly; + ELSE + OutSignal <= NewValue AFTER Dly; + END IF; + END IF; + + GlitchData.SchedValue := NewValue; + END IF; + + RETURN; + END; + + ---------------------------------------------------------------------------- + PROCEDURE VitalGlitchOnEvent ( + SIGNAL OutSignal : OUT std_logic_vector; + CONSTANT OutSignalName : IN STRING; + VARIABLE GlitchData : INOUT GlitchDataArrayType; + CONSTANT NewValue : IN std_logic_vector; + CONSTANT NewDelay : IN VitalTimeArray; + CONSTANT GlitchMode : IN VitalGlitchModeType := MessagePlusX; + CONSTANT GlitchDelay : IN VitalTimeArray; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + + ALIAS GlDataAlias : GlitchDataArrayType(1 TO GlitchData'LENGTH) + IS GlitchData; + ALIAS NewValAlias : std_logic_vector(1 TO NewValue'LENGTH) IS NewValue; + ALIAS GlDelayAlias : VitalTimeArray(1 TO GlitchDelay'LENGTH) + IS GlitchDelay; + ALIAS NewDelAlias : VitalTimeArray(1 TO NewDelay'LENGTH) IS NewDelay; + + VARIABLE Index : INTEGER := OutSignal'LEFT; + VARIABLE Direction : INTEGER; + VARIABLE NoGlitchDet : BOOLEAN; + VARIABLE OldGlitch : BOOLEAN; + VARIABLE Dly, GlDly : TIME; + + BEGIN + IF (OutSignal'LEFT > OutSignal'RIGHT) THEN + Direction := -1; + ELSE + Direction := 1; + END IF; + + IF ( (OutSignal'LENGTH /= GlitchData'LENGTH) OR + (OutSignal'LENGTH /= NewValue'LENGTH) OR + (OutSignal'LENGTH /= NewDelay'LENGTH) OR + (OutSignal'LENGTH /= GlitchDelay'LENGTH) ) THEN + VitalError ( "VitalGlitchOnEvent", ErrVctLng, OutSignalName ); + RETURN; + END IF; + + -- a call to the scalar function cannot be made since the actual + -- name associated with a signal parameter must be locally static + FOR n IN 1 TO OutSignal'LENGTH LOOP + + NoGlitchDet := FALSE; + OldGlitch := FALSE; + Dly := NewDelAlias(n); + + -- If nothing to schedule, just skip to next loop iteration + IF NewDelAlias(n) < 0 ns THEN + IF (NewValAlias(n) /= GlDataAlias(n).SchedValue) THEN + VitalError ( "VitalGlitchOnEvent", ErrNegDel, OutSignalName ); + END IF; + ELSE + -- If nothing currently scheduled (i.e. last scheduled + -- transaction already occurred) + IF GlDataAlias(n).SchedTime <= NOW THEN + GlDataAlias(n).CurrentValue := GlDataAlias(n).SchedValue; + IF (GlDelayAlias(n) <= 0 ns) THEN + -- Next iteration if no change in value + IF (NewValAlias(n) = GlDataAlias(n).SchedValue) THEN + Index := Index + Direction; + NEXT; + END IF; + -- since last transaction already occurred there is no glitch + NoGlitchDet := TRUE; + END IF; + + -- Transaction currently scheduled - if glitch already happened + ELSIF GlDataAlias(n).GlitchTime <= NOW THEN + GlDataAlias(n).CurrentValue := 'X'; + OldGlitch := TRUE; + IF (GlDataAlias(n).SchedValue = NewValAlias(n)) THEN + dly := Minimum( GlDataAlias(n).SchedTime-NOW, + NewDelAlias(n) ); + END IF; + + -- Transaction currently scheduled + ELSIF (GlDataAlias(n).SchedValue = NewValAlias(n)) AND + (GlDataAlias(n).SchedTime = GlDataAlias(n).GlitchTime) AND + (GlDelayAlias(n) <= 0 ns) THEN + NoGlitchDet := TRUE; + Dly := Minimum( GlDataAlias(n).SchedTime-NOW, + NewDelAlias(n) ); + END IF; + + -- update last scheduled transaction + GlDataAlias(n).SchedTime := NOW+Dly; + + IF OldGlitch THEN + OutSignal(Index) <= NewValAlias(n) AFTER Dly; + ELSIF NoGlitchDet THEN + -- if no glitch then update last glitch time + -- and OutSignal(actual_index) + GlDataAlias(n).GlitchTime := NOW+Dly; + OutSignal(Index) <= NewValAlias(n) AFTER Dly; + ELSE -- new glitch + GlDataAlias(n).GlitchTime := GlitchMinTime ( + GlDataAlias(n).GlitchTime, + NOW+GlDelayAlias(n) ); + + IF (GlitchMode = MessagePlusX) OR + (GlitchMode = MessageOnly) THEN + ReportGlitch ( "VitalGlitchOnEvent", OutSignalName, + GlDataAlias(n).GlitchTime, + GlDataAlias(n).SchedValue, + (Dly + NOW), NewValAlias(n), + Index, TRUE, MsgSeverity ); + END IF; + + IF (GlitchMode = MessagePlusX) OR (GlitchMode = XOnly) THEN + GlDly := GlDataAlias(n).GlitchTime - NOW; + OutSignal(Index) <= 'X' AFTER GlDly; + OutSignal(Index) <= TRANSPORT NewValAlias(n) AFTER Dly; + ELSE + OutSignal(Index) <= NewValAlias(n) AFTER Dly; + END IF; + + END IF; -- glitch / no-glitch + GlDataAlias(n).SchedValue := NewValAlias(n); + + END IF; -- NewDelAlias(n) < 0 ns + Index := Index + Direction; + END LOOP; + + RETURN; + END; + + --------------------------------------------------------------------------- + -- ------------------------------------------------------------------------ + -- PROCEDURE NAME : TruthOutputX01Z + -- + -- PARAMETERS : table_out - output of table + -- X01Zout - output converted to X01Z + -- err - true if illegal character is encountered + -- + -- + -- DESCRIPTION : converts the output of a truth table to a valid + -- std_ulogic + -- ------------------------------------------------------------------------ + PROCEDURE TruthOutputX01Z ( + CONSTANT TableOut : IN VitalTruthSymbolType; + VARIABLE X01Zout : OUT std_ulogic; + VARIABLE Err : OUT BOOLEAN + ) IS + VARIABLE TempOut : std_ulogic; + BEGIN + Err := FALSE; + TempOut := TruthTableOutMap(TableOut); + IF (TempOut = '-') THEN + Err := TRUE; + TempOut := 'X'; + VitalError ( "VitalTruthTable", ErrOutSym, To_TruthChar(TableOut)); + END IF; + X01Zout := TempOut; + END; + + -- ------------------------------------------------------------------------ + -- PROCEDURE NAME : StateOutputX01Z + -- + -- PARAMETERS : table_out - output of table + -- prev_out - previous output value + -- X01Zout - output cojnverted to X01Z + -- err - true if illegal character is encountered + -- + -- DESCRIPTION : converts the output of a state table to a + -- valid std_ulogic + -- ------------------------------------------------------------------------ + PROCEDURE StateOutputX01Z ( + CONSTANT TableOut : IN VitalStateSymbolType; + CONSTANT PrevOut : IN std_ulogic; + VARIABLE X01Zout : OUT std_ulogic; + VARIABLE Err : OUT BOOLEAN + ) IS + VARIABLE TempOut : std_ulogic; + BEGIN + Err := FALSE; + TempOut := StateTableOutMap(TableOut); + IF (TempOut = '-') THEN + Err := TRUE; + TempOut := 'X'; + VitalError ( "VitalStateTable", ErrOutSym, To_StateChar(TableOut)); + ELSIF (TempOut = 'W') THEN + TempOut := To_X01Z(PrevOut); + END IF; + X01Zout := TempOut; + END; + + -- ------------------------------------------------------------------------ + -- PROCEDURE NAME: StateMatch + -- + -- PARAMETERS : symbol - symbol from state table + -- in2 - input from VitalStateTble procedure + -- to state table + -- in2LastValue - previous value of input + -- state - false if the symbol is from the input + -- portion of the table, + -- true if the symbol is from the state + -- portion of the table + -- Err - true if symbol is not a valid input symbol + -- ReturnValue - true if match occurred + -- + -- DESCRIPTION : This procedure sets ReturnValue to true if in2 matches + -- symbol (from the state table). If symbol is an edge + -- value edge is set to true and in2 and in2LastValue are + -- checked against symbol. Err is set to true if symbol + -- is an invalid value for the input portion of the state + -- table. + -- + -- ------------------------------------------------------------------------ + PROCEDURE StateMatch ( + CONSTANT Symbol : IN VitalStateSymbolType; + CONSTANT in2 : IN std_ulogic; + CONSTANT in2LastValue : IN std_ulogic; + CONSTANT State : IN BOOLEAN; + VARIABLE Err : OUT BOOLEAN; + VARIABLE ReturnValue : OUT BOOLEAN + ) IS + BEGIN + IF (State) THEN + IF (NOT ValidStateTableState(Symbol)) THEN + VitalError ( "VitalStateTable", ErrStaSym, To_StateChar(Symbol)); + Err := TRUE; + ReturnValue := FALSE; + ELSE + Err := FALSE; + ReturnValue := StateTableMatch(in2LastValue, in2, Symbol); + END IF; + ELSE + IF (NOT ValidStateTableInput(Symbol) ) THEN + VitalError ( "VitalStateTable", ErrInpSym, To_StateChar(Symbol)); + Err := TRUE; + ReturnValue := FALSE; + ELSE + ReturnValue := StateTableMatch(in2LastValue, in2, Symbol); + Err := FALSE; + END IF; + END IF; + END; + + -- ----------------------------------------------------------------------- + -- FUNCTION NAME: StateTableLookUp + -- + -- PARAMETERS : StateTable - state table + -- PresentDataIn - current inputs + -- PreviousDataIn - previous inputs and states + -- NumStates - number of state variables + -- PresentOutputs - current state and current outputs + -- + -- DESCRIPTION : This function is used to find the output of the + -- StateTable corresponding to a given set of inputs. + -- + -- ------------------------------------------------------------------------ + FUNCTION StateTableLookUp ( + CONSTANT StateTable : VitalStateTableType; + CONSTANT PresentDataIn : std_logic_vector; + CONSTANT PreviousDataIn : std_logic_vector; + CONSTANT NumStates : NATURAL; + CONSTANT PresentOutputs : std_logic_vector + ) RETURN std_logic_vector IS + + CONSTANT InputSize : INTEGER := PresentDataIn'LENGTH; + CONSTANT NumInputs : INTEGER := InputSize + NumStates - 1; + CONSTANT TableEntries : INTEGER := StateTable'LENGTH(1); + CONSTANT TableWidth : INTEGER := StateTable'LENGTH(2); + CONSTANT OutSize : INTEGER := TableWidth - InputSize - NumStates; + VARIABLE Inputs : std_logic_vector(0 TO NumInputs); + VARIABLE PrevInputs : std_logic_vector(0 TO NumInputs) + := (OTHERS => 'X'); + VARIABLE ReturnValue : std_logic_vector(0 TO (OutSize-1)) + := (OTHERS => 'X'); + VARIABLE Temp : std_ulogic; + VARIABLE Match : BOOLEAN; + VARIABLE Err : BOOLEAN := FALSE; + + -- This needs to be done since the TableLookup arrays must be + -- ascending starting with 0 + VARIABLE TableAlias : VitalStateTableType(0 TO TableEntries - 1, + 0 TO TableWidth - 1) + := StateTable; + + BEGIN + Inputs(0 TO InputSize-1) := PresentDataIn; + Inputs(InputSize TO NumInputs) := PresentOutputs(0 TO NumStates - 1); + PrevInputs(0 TO InputSize - 1) := PreviousDataIn(0 TO InputSize - 1); + + ColLoop: -- Compare each entry in the table + FOR i IN TableAlias'RANGE(1) LOOP + + RowLoop: -- Check each element of the entry + FOR j IN 0 TO InputSize + NumStates LOOP + + IF (j = InputSize + NumStates) THEN -- a match occurred + FOR k IN 0 TO Minimum(OutSize, PresentOutputs'LENGTH)-1 LOOP + StateOutputX01Z ( + TableAlias(i, TableWidth - k - 1), + PresentOutputs(PresentOutputs'LENGTH - k - 1), + Temp, Err); + ReturnValue(OutSize - k - 1) := Temp; + IF (Err) THEN + ReturnValue := (OTHERS => 'X'); + RETURN ReturnValue; + END IF; + END LOOP; + RETURN ReturnValue; + END IF; + + StateMatch ( TableAlias(i,j), + Inputs(j), PrevInputs(j), + j >= InputSize, Err, Match); + EXIT RowLoop WHEN NOT(Match); + EXIT ColLoop WHEN Err; + END LOOP RowLoop; + END LOOP ColLoop; + + ReturnValue := (OTHERS => 'X'); + RETURN ReturnValue; + END; + + -------------------------------------------------------------------- + -- to_ux01z + ------------------------------------------------------------------- + FUNCTION To_UX01Z ( s : std_ulogic + ) RETURN UX01Z IS + BEGIN + RETURN cvt_to_ux01z (s); + END; + + --------------------------------------------------------------------------- + -- Function : GetEdge + -- Purpose : Converts transitions on a given input signal into a + -- enumeration value representing the transition or level + -- of the signal. + -- + -- previous "value" current "value" := "edge" + -- --------------------------------------------------------- + -- '1' | 'H' '1' | 'H' '1' level, no edge + -- '0' | 'L' '1' | 'H' '/' rising edge + -- others '1' | 'H' 'R' rising from X + -- + -- '1' | 'H' '0' | 'L' '\' falling egde + -- '0' | 'L' '0' | 'L' '0' level, no edge + -- others '0' | 'L' 'F' falling from X + -- + -- 'X' | 'W' | '-' 'X' | 'W' | '-' 'X' unknown (X) level + -- 'Z' 'Z' 'X' unknown (X) level + -- 'U' 'U' 'U' 'U' level + -- + -- '1' | 'H' others 'f' falling to X + -- '0' | 'L' others 'r' rising to X + -- 'X' | 'W' | '-' 'U' | 'Z' 'x' unknown (X) edge + -- 'Z' 'X' | 'W' | '-' | 'U' 'x' unknown (X) edge + -- 'U' 'X' | 'W' | '-' | 'Z' 'x' unknown (X) edge + -- + --------------------------------------------------------------------------- + FUNCTION GetEdge ( + SIGNAL s : IN std_logic + ) RETURN EdgeType IS + BEGIN + IF (s'EVENT) + THEN RETURN LogicToEdge ( s'LAST_VALUE, s ); + ELSE RETURN LogicToLevel ( s ); + END IF; + END; + + --------------------------------------------------------------------------- + PROCEDURE GetEdge ( + SIGNAL s : IN std_logic_vector; + VARIABLE LastS : INOUT std_logic_vector; + VARIABLE Edge : OUT EdgeArray ) IS + + ALIAS sAlias : std_logic_vector ( 1 TO s'LENGTH ) IS s; + ALIAS LastSAlias : std_logic_vector ( 1 TO LastS'LENGTH ) IS LastS; + ALIAS EdgeAlias : EdgeArray ( 1 TO Edge'LENGTH ) IS Edge; + BEGIN + IF s'LENGTH /= LastS'LENGTH OR + s'LENGTH /= Edge'LENGTH THEN + VitalError ( "GetEdge", ErrVctLng, "s, LastS, Edge" ); + END IF; + + FOR n IN 1 TO s'LENGTH LOOP + EdgeAlias(n) := LogicToEdge( LastSAlias(n), sAlias(n) ); + LastSAlias(n) := sAlias(n); + END LOOP; + END; + + --------------------------------------------------------------------------- + FUNCTION ToEdge ( Value : IN std_logic + ) RETURN EdgeType IS + BEGIN + RETURN LogicToLevel( Value ); + END; + + -- Note: This function will likely be replaced by S'DRIVING_VALUE in VHDL'92 + ---------------------------------------------------------------------------- + IMPURE FUNCTION CurValue ( + CONSTANT GlitchData : IN GlitchDataType + ) RETURN std_logic IS + BEGIN + IF NOW >= GlitchData.SchedTime THEN + RETURN GlitchData.SchedValue; + ELSIF NOW >= GlitchData.GlitchTime THEN + RETURN 'X'; + ELSE + RETURN GlitchData.CurrentValue; + END IF; + END; + --------------------------------------------------------------------------- + IMPURE FUNCTION CurValue ( + CONSTANT GlitchData : IN GlitchDataArrayType + ) RETURN std_logic_vector IS + VARIABLE Result : std_logic_vector(GlitchData'RANGE); + BEGIN + FOR n IN GlitchData'RANGE LOOP + IF NOW >= GlitchData(n).SchedTime THEN + Result(n) := GlitchData(n).SchedValue; + ELSIF NOW >= GlitchData(n).GlitchTime THEN + Result(n) := 'X'; + ELSE + Result(n) := GlitchData(n).CurrentValue; + END IF; + END LOOP; + RETURN Result; + END; + + --------------------------------------------------------------------------- + -- function calculation utilities + --------------------------------------------------------------------------- + + --------------------------------------------------------------------------- + -- Function : VitalSame + -- Returns : VitalSame compares the state (UX01) of two logic value. A + -- value of 'X' is returned if the values are different. The + -- common value is returned if the values are equal. + -- Purpose : When the result of a logic model may be either of two + -- separate input values (eg. when the select on a MUX is 'X'), + -- VitalSame may be used to determine if the result needs to + -- be 'X'. + -- Arguments : See the declarations below... + --------------------------------------------------------------------------- + FUNCTION VitalSame ( + CONSTANT a, b : IN std_ulogic + ) RETURN std_ulogic IS + BEGIN + IF To_UX01(a) = To_UX01(b) + THEN RETURN To_UX01(a); + ELSE RETURN 'X'; + END IF; + END; + + --------------------------------------------------------------------------- + -- delay selection utilities + --------------------------------------------------------------------------- + + --------------------------------------------------------------------------- + -- Procedure : BufPath, InvPath + -- + -- Purpose : BufPath and InvPath compute output change times, based on + -- a change on an input port. The computed output change times + -- returned in the composite parameter 'schd'. + -- + -- BufPath and InpPath are used together with the delay path + -- selection functions (GetSchedDelay, VitalAND, VitalOR... ) + -- The 'schd' value from each of the input ports of a model are + -- combined by the delay selection functions (VitalAND, + -- VitalOR, ...). The GetSchedDelay procedure converts the + -- combined output changes times to the single delay (delta + -- time) value for scheduling the output change (passed to + -- VitalGlitchOnEvent). + -- + -- The values in 'schd' are: (absolute times) + -- inp0 : time of output change due to input change to 0 + -- inp1 : time of output change due to input change to 1 + -- inpX : time of output change due to input change to X + -- glch0 : time of output glitch due to input change to 0 + -- glch1 : time of output glitch due to input change to 1 + -- + -- The output times are computed from the model INPUT value + -- and not the final value. For this reason, 'BufPath' should + -- be used to compute the output times for a non-inverting + -- delay paths and 'InvPath' should be used to compute the + -- ouput times for inverting delay paths. Delay paths which + -- include both non-inverting and paths require usage of both + -- 'BufPath' and 'InvPath'. (IE this is needed for the + -- select->output path of a MUX -- See the VitalMUX model). + -- + -- + -- Parameters : schd....... Computed output result times. (INOUT parameter + -- modified only on input edges) + -- Iedg....... Input port edge/level value. + -- tpd....... Propagation delays from this input + -- + --------------------------------------------------------------------------- + + PROCEDURE BufPath ( + VARIABLE Schd : INOUT SchedType; + CONSTANT Iedg : IN EdgeType; + CONSTANT tpd : IN VitalDelayType01 + ) IS + BEGIN + CASE Iedg IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd.inp0 := TIME'HIGH; + Schd.inp1 := NOW + tpd(tr01); Schd.Glch1 := Schd.inp1; + Schd.InpX := Schd.inp1; + WHEN '\'|'F' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := NOW + tpd(tr10); Schd.Glch0 := Schd.inp0; + Schd.InpX := Schd.inp0; + WHEN 'r' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := TIME'HIGH; + Schd.InpX := NOW + tpd(tr01); + WHEN 'f' => Schd.inp0 := TIME'HIGH; + Schd.inp1 := TIME'HIGH; + Schd.InpX := NOW + tpd(tr10); + WHEN 'x' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := TIME'HIGH; + -- update for X->X change + Schd.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END; + + PROCEDURE BufPath ( + VARIABLE Schd : INOUT SchedArray; + CONSTANT Iedg : IN EdgeArray; + CONSTANT tpd : IN VitalDelayArrayType01 + ) IS + BEGIN + FOR n IN Schd'RANGE LOOP + CASE Iedg(n) IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd(n).inp0 := TIME'HIGH; + Schd(n).inp1 := NOW + tpd(n)(tr01); + Schd(n).Glch1 := Schd(n).inp1; + Schd(n).InpX := Schd(n).inp1; + WHEN '\'|'F' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := NOW + tpd(n)(tr10); + Schd(n).Glch0 := Schd(n).inp0; + Schd(n).InpX := Schd(n).inp0; + WHEN 'r' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := TIME'HIGH; + Schd(n).InpX := NOW + tpd(n)(tr01); + WHEN 'f' => Schd(n).inp0 := TIME'HIGH; + Schd(n).inp1 := TIME'HIGH; + Schd(n).InpX := NOW + tpd(n)(tr10); + WHEN 'x' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := TIME'HIGH; + -- update for X->X change + Schd(n).InpX := NOW + Minimum ( tpd(n)(tr10), + tpd(n)(tr01) ); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END LOOP; + END; + + PROCEDURE InvPath ( + VARIABLE Schd : INOUT SchedType; + CONSTANT Iedg : IN EdgeType; + CONSTANT tpd : IN VitalDelayType01 + ) IS + BEGIN + CASE Iedg IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd.inp0 := TIME'HIGH; + Schd.inp1 := NOW + tpd(tr10); Schd.Glch1 := Schd.inp1; + Schd.InpX := Schd.inp1; + WHEN '\'|'F' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := NOW + tpd(tr01); Schd.Glch0 := Schd.inp0; + Schd.InpX := Schd.inp0; + WHEN 'r' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := TIME'HIGH; + Schd.InpX := NOW + tpd(tr10); + WHEN 'f' => Schd.inp0 := TIME'HIGH; + Schd.inp1 := TIME'HIGH; + Schd.InpX := NOW + tpd(tr01); + WHEN 'x' => Schd.inp1 := TIME'HIGH; + Schd.inp0 := TIME'HIGH; + -- update for X->X change + Schd.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END; + + PROCEDURE InvPath ( + VARIABLE Schd : INOUT SchedArray; + CONSTANT Iedg : IN EdgeArray; + CONSTANT tpd : IN VitalDelayArrayType01 + ) IS + BEGIN + FOR n IN Schd'RANGE LOOP + CASE Iedg(n) IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd(n).inp0 := TIME'HIGH; + Schd(n).inp1 := NOW + tpd(n)(tr10); + Schd(n).Glch1 := Schd(n).inp1; + Schd(n).InpX := Schd(n).inp1; + WHEN '\'|'F' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := NOW + tpd(n)(tr01); + Schd(n).Glch0 := Schd(n).inp0; + Schd(n).InpX := Schd(n).inp0; + WHEN 'r' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := TIME'HIGH; + Schd(n).InpX := NOW + tpd(n)(tr10); + WHEN 'f' => Schd(n).inp0 := TIME'HIGH; + Schd(n).inp1 := TIME'HIGH; + Schd(n).InpX := NOW + tpd(n)(tr01); + WHEN 'x' => Schd(n).inp1 := TIME'HIGH; + Schd(n).inp0 := TIME'HIGH; + -- update for X->X change + Schd(n).InpX := NOW + Minimum ( tpd(n)(tr10), + tpd(n)(tr01) ); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END LOOP; + END; + + --------------------------------------------------------------------------- + -- Procedure : BufEnab, InvEnab + -- + -- Purpose : BufEnab and InvEnab compute output change times, from a + -- change on an input enable port for a 3-state driver. The + -- computed output change times are returned in the composite + -- parameters 'schd1', 'schd0'. + -- + -- BufEnab and InpEnab are used together with the delay path + -- selection functions (GetSchedDelay, VitalAND, VitalOR... ) + -- The 'schd' value from each of the non-enable input ports of + -- a model (See BufPath, InvPath) are combined using the delay + -- selection functions (VitalAND, VitalOR, ...). The + -- GetSchedDelay procedure combines the output times on the + -- enable path with the output times from the data path(s) and + -- computes the single delay (delta time) value for scheduling + -- the output change (passed to VitalGlitchOnEvent) + -- + -- The values in 'schd*' are: (absolute times) + -- inp0 : time of output change due to input change to 0 + -- inp1 : time of output change due to input change to 1 + -- inpX : time of output change due to input change to X + -- glch0 : time of output glitch due to input change to 0 + -- glch1 : time of output glitch due to input change to 1 + -- + -- 'schd1' contains output times for 1->Z, Z->1 transitions. + -- 'schd0' contains output times for 0->Z, Z->0 transitions. + -- + -- 'BufEnab' is used for computing the output times for an + -- high asserted enable (output 'Z' for enable='0'). + -- 'InvEnab' is used for computing the output times for an + -- low asserted enable (output 'Z' for enable='1'). + -- + -- Note: separate 'schd1', 'schd0' parameters are generated + -- so that the combination of the delay paths from + -- multiple enable signals may be combined using the + -- same functions/operators used in combining separate + -- data paths. (See exampe 2 below) + -- + -- + -- Parameters : schd1...... Computed output result times for 1->Z, Z->1 + -- transitions. This parameter is modified only on + -- input edge values (events). + -- schd0...... Computed output result times for 0->Z, 0->1 + -- transitions. This parameter is modified only on + -- input edge values (events). + -- Iedg....... Input port edge/level value. + -- tpd....... Propagation delays for the enable -> output path. + -- + --------------------------------------------------------------------------- + PROCEDURE BufEnab ( + VARIABLE Schd1 : INOUT SchedType; + VARIABLE Schd0 : INOUT SchedType; + CONSTANT Iedg : IN EdgeType; + CONSTANT tpd : IN VitalDelayType01Z + ) IS + BEGIN + CASE Iedg IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := NOW + tpd(trz1); + Schd1.Glch1 := Schd1.inp1; + Schd1.InpX := Schd1.inp1; + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := NOW + tpd(trz0); + Schd0.Glch1 := Schd0.inp1; + Schd0.InpX := Schd0.inp1; + WHEN '\'|'F' => Schd1.inp1 := TIME'HIGH; + Schd1.inp0 := NOW + tpd(tr1z); + Schd1.Glch0 := Schd1.inp0; + Schd1.InpX := Schd1.inp0; + Schd0.inp1 := TIME'HIGH; + Schd0.inp0 := NOW + tpd(tr0z); + Schd0.Glch0 := Schd0.inp0; + Schd0.InpX := Schd0.inp0; + WHEN 'r' => Schd1.inp1 := TIME'HIGH; + Schd1.inp0 := TIME'HIGH; + Schd1.InpX := NOW + tpd(trz1); + Schd0.inp1 := TIME'HIGH; + Schd0.inp0 := TIME'HIGH; + Schd0.InpX := NOW + tpd(trz0); + WHEN 'f' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := TIME'HIGH; + Schd1.InpX := NOW + tpd(tr1z); + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := TIME'HIGH; + Schd0.InpX := NOW + tpd(tr0z); + WHEN 'x' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := TIME'HIGH; + Schd1.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := TIME'HIGH; + Schd0.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END; + + PROCEDURE InvEnab ( + VARIABLE Schd1 : INOUT SchedType; + VARIABLE Schd0 : INOUT SchedType; + CONSTANT Iedg : IN EdgeType; + CONSTANT tpd : IN VitalDelayType01Z + ) IS + BEGIN + CASE Iedg IS + WHEN '0'|'1' => NULL; -- no edge: no timing update + WHEN '/'|'R' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := NOW + tpd(tr1z); + Schd1.Glch1 := Schd1.inp1; + Schd1.InpX := Schd1.inp1; + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := NOW + tpd(tr0z); + Schd0.Glch1 := Schd0.inp1; + Schd0.InpX := Schd0.inp1; + WHEN '\'|'F' => Schd1.inp1 := TIME'HIGH; + Schd1.inp0 := NOW + tpd(trz1); + Schd1.Glch0 := Schd1.inp0; + Schd1.InpX := Schd1.inp0; + Schd0.inp1 := TIME'HIGH; + Schd0.inp0 := NOW + tpd(trz0); + Schd0.Glch0 := Schd0.inp0; + Schd0.InpX := Schd0.inp0; + WHEN 'r' => Schd1.inp1 := TIME'HIGH; + Schd1.inp0 := TIME'HIGH; + Schd1.InpX := NOW + tpd(tr1z); + Schd0.inp1 := TIME'HIGH; + Schd0.inp0 := TIME'HIGH; + Schd0.InpX := NOW + tpd(tr0z); + WHEN 'f' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := TIME'HIGH; + Schd1.InpX := NOW + tpd(trz1); + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := TIME'HIGH; + Schd0.InpX := NOW + tpd(trz0); + WHEN 'x' => Schd1.inp0 := TIME'HIGH; + Schd1.inp1 := TIME'HIGH; + Schd1.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + Schd0.inp0 := TIME'HIGH; + Schd0.inp1 := TIME'HIGH; + Schd0.InpX := NOW + Minimum(tpd(tr10),tpd(tr01)); + WHEN OTHERS => NULL; -- no timing change + END CASE; + END; + + --------------------------------------------------------------------------- + -- Procedure : GetSchedDelay + -- + -- Purpose : GetSchedDelay computes the final delay (incremental) for + -- for scheduling an output signal. The delay is computed + -- from the absolute output times in the 'NewSched' parameter. + -- (See BufPath, InvPath). + -- + -- Computation of the output delay for non-3_state outputs + -- consists of selection the appropriate output time based + -- on the new output value 'NewValue' and subtracting 'NOW' + -- to convert to an incremental delay value. + -- + -- The Computation of the output delay for 3_state output + -- also includes combination of the enable path delay with + -- the date path delay. + -- + -- Parameters : NewDelay... Returned output delay value. + -- GlchDelay.. Returned output delay for the start of a glitch. + -- NewValue... New output value. + -- CurValue... Current value of the output. + -- NewSched... Composite containing the combined absolute + -- output times from the data inputs. + -- EnSched1... Composite containing the combined absolute + -- output times from the enable input(s). + -- (for a 3_state output transitions 1->Z, Z->1) + -- EnSched0... Composite containing the combined absolute + -- output times from the enable input(s). + -- (for a 3_state output transitions 0->Z, Z->0) + -- + --------------------------------------------------------------------------- + PROCEDURE GetSchedDelay ( + VARIABLE NewDelay : OUT TIME; + VARIABLE GlchDelay : OUT TIME; + CONSTANT NewValue : IN std_ulogic; + CONSTANT CurValue : IN std_ulogic; + CONSTANT NewSched : IN SchedType + ) IS + VARIABLE Tim, Glch : TIME; + BEGIN + + CASE To_UX01(NewValue) IS + WHEN '0' => Tim := NewSched.inp0; + Glch := NewSched.Glch1; + WHEN '1' => Tim := NewSched.inp1; + Glch := NewSched.Glch0; + WHEN OTHERS => Tim := NewSched.InpX; + Glch := -1 ns; + END CASE; + IF (CurValue /= NewValue) + THEN Glch := -1 ns; + END IF; + + NewDelay := Tim - NOW; + IF Glch < 0 ns + THEN GlchDelay := Glch; + ELSE GlchDelay := Glch - NOW; + END IF; -- glch < 0 ns + END; + + PROCEDURE GetSchedDelay ( + VARIABLE NewDelay : OUT VitalTimeArray; + VARIABLE GlchDelay : OUT VitalTimeArray; + CONSTANT NewValue : IN std_logic_vector; + CONSTANT CurValue : IN std_logic_vector; + CONSTANT NewSched : IN SchedArray + ) IS + VARIABLE Tim, Glch : TIME; + ALIAS NewDelayAlias : VitalTimeArray( NewDelay'LENGTH DOWNTO 1) + IS NewDelay; + ALIAS GlchDelayAlias : VitalTimeArray(GlchDelay'LENGTH DOWNTO 1) + IS GlchDelay; + ALIAS NewSchedAlias : SchedArray( NewSched'LENGTH DOWNTO 1) + IS NewSched; + ALIAS NewValueAlias : std_logic_vector ( NewValue'LENGTH DOWNTO 1 ) + IS NewValue; + ALIAS CurValueAlias : std_logic_vector ( CurValue'LENGTH DOWNTO 1 ) + IS CurValue; + BEGIN + FOR n IN NewDelay'LENGTH DOWNTO 1 LOOP + CASE To_UX01(NewValueAlias(n)) IS + WHEN '0' => Tim := NewSchedAlias(n).inp0; + Glch := NewSchedAlias(n).Glch1; + WHEN '1' => Tim := NewSchedAlias(n).inp1; + Glch := NewSchedAlias(n).Glch0; + WHEN OTHERS => Tim := NewSchedAlias(n).InpX; + Glch := -1 ns; + END CASE; + IF (CurValueAlias(n) /= NewValueAlias(n)) + THEN Glch := -1 ns; + END IF; + + NewDelayAlias(n) := Tim - NOW; + IF Glch < 0 ns + THEN GlchDelayAlias(n) := Glch; + ELSE GlchDelayAlias(n) := Glch - NOW; + END IF; -- glch < 0 ns + END LOOP; + RETURN; + END; + + PROCEDURE GetSchedDelay ( + VARIABLE NewDelay : OUT TIME; + VARIABLE GlchDelay : OUT TIME; + CONSTANT NewValue : IN std_ulogic; + CONSTANT CurValue : IN std_ulogic; + CONSTANT NewSched : IN SchedType; + CONSTANT EnSched1 : IN SchedType; + CONSTANT EnSched0 : IN SchedType + ) IS + SUBTYPE v2 IS std_logic_vector(0 TO 1); + VARIABLE Tim, Glch : TIME; + BEGIN + + CASE v2'(To_X01Z(CurValue) & To_X01Z(NewValue)) IS + WHEN "00" => Tim := Maximum (NewSched.inp0, EnSched0.inp1); + Glch := GlitchMinTime(NewSched.Glch1,EnSched0.Glch0); + WHEN "01" => Tim := Maximum (NewSched.inp1, EnSched1.inp1); + Glch := EnSched1.Glch0; + WHEN "0Z" => Tim := EnSched0.inp0; + Glch := NewSched.Glch1; + WHEN "0X" => Tim := Maximum (NewSched.InpX, EnSched1.InpX); + Glch := 0 ns; + WHEN "10" => Tim := Maximum (NewSched.inp0, EnSched0.inp1); + Glch := EnSched0.Glch0; + WHEN "11" => Tim := Maximum (NewSched.inp1, EnSched1.inp1); + Glch := GlitchMinTime(NewSched.Glch0,EnSched1.Glch0); + WHEN "1Z" => Tim := EnSched1.inp0; + Glch := NewSched.Glch0; + WHEN "1X" => Tim := Maximum (NewSched.InpX, EnSched0.InpX); + Glch := 0 ns; + WHEN "Z0" => Tim := Maximum (NewSched.inp0, EnSched0.inp1); + IF NewSched.Glch0 > NOW + THEN Glch := Maximum(NewSched.Glch1,EnSched1.inp1); + ELSE Glch := 0 ns; + END IF; + WHEN "Z1" => Tim := Maximum (NewSched.inp1, EnSched1.inp1); + IF NewSched.Glch1 > NOW + THEN Glch := Maximum(NewSched.Glch0,EnSched0.inp1); + ELSE Glch := 0 ns; + END IF; + WHEN "ZX" => Tim := Maximum (NewSched.InpX, EnSched1.InpX); + Glch := 0 ns; + WHEN "ZZ" => Tim := Maximum (EnSched1.InpX, EnSched0.InpX); + Glch := 0 ns; + WHEN "X0" => Tim := Maximum (NewSched.inp0, EnSched0.inp1); + Glch := 0 ns; + WHEN "X1" => Tim := Maximum (NewSched.inp1, EnSched1.inp1); + Glch := 0 ns; + WHEN "XZ" => Tim := Maximum (EnSched1.InpX, EnSched0.InpX); + Glch := 0 ns; + WHEN OTHERS => Tim := Maximum (NewSched.InpX, EnSched1.InpX); + Glch := 0 ns; + + END CASE; + NewDelay := Tim - NOW; + IF Glch < 0 ns + THEN GlchDelay := Glch; + ELSE GlchDelay := Glch - NOW; + END IF; -- glch < 0 ns + END; + + --------------------------------------------------------------------------- + -- Operators and Functions for combination (selection) of path delays + -- > These functions support selection of the "appripriate" path delay + -- dependent on the logic function. + -- > These functions only "select" from the possable output times. No + -- calculation (addition) of delays is performed. + -- > See description of 'BufPath', 'InvPath' and 'GetSchedDelay' + -- > See primitive PROCEDURE models for examples. + --------------------------------------------------------------------------- + + FUNCTION "not" ( + CONSTANT a : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + z.inp1 := a.inp0 ; + z.inp0 := a.inp1 ; + z.InpX := a.InpX ; + z.Glch1 := a.Glch0; + z.Glch0 := a.Glch1; + RETURN (z); + END; + + FUNCTION "and" ( + CONSTANT a, b : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + z.inp1 := Maximum ( a.inp1 , b.inp1 ); + z.inp0 := Minimum ( a.inp0 , b.inp0 ); + z.InpX := GlitchMinTime ( a.InpX , b.InpX ); + z.Glch1 := Maximum ( a.Glch1, b.Glch1 ); + z.Glch0 := GlitchMinTime ( a.Glch0, b.Glch0 ); + RETURN (z); + END; + + FUNCTION "or" ( + CONSTANT a, b : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + z.inp0 := Maximum ( a.inp0 , b.inp0 ); + z.inp1 := Minimum ( a.inp1 , b.inp1 ); + z.InpX := GlitchMinTime ( a.InpX , b.InpX ); + z.Glch0 := Maximum ( a.Glch0, b.Glch0 ); + z.Glch1 := GlitchMinTime ( a.Glch1, b.Glch1 ); + RETURN (z); + END; + + IMPURE FUNCTION "nand" ( + CONSTANT a, b : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + z.inp0 := Maximum ( a.inp1 , b.inp1 ); + z.inp1 := Minimum ( a.inp0 , b.inp0 ); + z.InpX := GlitchMinTime ( a.InpX , b.InpX ); + z.Glch0 := Maximum ( a.Glch1, b.Glch1 ); + z.Glch1 := GlitchMinTime ( a.Glch0, b.Glch0 ); + RETURN (z); + END; + + IMPURE FUNCTION "nor" ( + CONSTANT a, b : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + z.inp1 := Maximum ( a.inp0 , b.inp0 ); + z.inp0 := Minimum ( a.inp1 , b.inp1 ); + z.InpX := GlitchMinTime ( a.InpX , b.InpX ); + z.Glch1 := Maximum ( a.Glch0, b.Glch0 ); + z.Glch0 := GlitchMinTime ( a.Glch1, b.Glch1 ); + RETURN (z); + END; + + -- ------------------------------------------------------------------------ + -- Delay Calculation for 2-bit Logical gates. + -- ------------------------------------------------------------------------ + IMPURE FUNCTION VitalXOR2 ( + CONSTANT ab,ai, bb,bi : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + -- z = (a AND b) NOR (a NOR b) + z.inp1 := Maximum ( Minimum (ai.inp0 , bi.inp0 ), + Minimum (ab.inp1 , bb.inp1 ) ); + z.inp0 := Minimum ( Maximum (ai.inp1 , bi.inp1 ), + Maximum (ab.inp0 , bb.inp0 ) ); + z.InpX := Maximum ( Maximum (ai.InpX , bi.InpX ), + Maximum (ab.InpX , bb.InpX ) ); + z.Glch1 := Maximum (GlitchMinTime (ai.Glch0, bi.Glch0), + GlitchMinTime (ab.Glch1, bb.Glch1) ); + z.Glch0 := GlitchMinTime ( Maximum (ai.Glch1, bi.Glch1), + Maximum (ab.Glch0, bb.Glch0) ); + RETURN (z); + END; + + IMPURE FUNCTION VitalXNOR2 ( + CONSTANT ab,ai, bb,bi : IN SchedType + ) RETURN SchedType IS + VARIABLE z : SchedType; + BEGIN + -- z = (a AND b) OR (a NOR b) + z.inp0 := Maximum ( Minimum (ab.inp0 , bb.inp0 ), + Minimum (ai.inp1 , bi.inp1 ) ); + z.inp1 := Minimum ( Maximum (ab.inp1 , bb.inp1 ), + Maximum (ai.inp0 , bi.inp0 ) ); + z.InpX := Maximum ( Maximum (ab.InpX , bb.InpX ), + Maximum (ai.InpX , bi.InpX ) ); + z.Glch0 := Maximum (GlitchMinTime (ab.Glch0, bb.Glch0), + GlitchMinTime (ai.Glch1, bi.Glch1) ); + z.Glch1 := GlitchMinTime ( Maximum (ab.Glch1, bb.Glch1), + Maximum (ai.Glch0, bi.Glch0) ); + RETURN (z); + END; + + -- ------------------------------------------------------------------------ + -- Delay Calculation for 3-bit Logical gates. + -- ------------------------------------------------------------------------ + IMPURE FUNCTION VitalXOR3 ( + CONSTANT ab,ai, bb,bi, cb,ci : IN SchedType ) + RETURN SchedType IS + BEGIN + RETURN VitalXOR2 ( VitalXOR2 (ab,ai, bb,bi), + VitalXOR2 (ai,ab, bi,bb), + cb, ci ); + END; + + IMPURE FUNCTION VitalXNOR3 ( + CONSTANT ab,ai, bb,bi, cb,ci : IN SchedType ) + RETURN SchedType IS + BEGIN + RETURN VitalXNOR2 ( VitalXOR2 ( ab,ai, bb,bi ), + VitalXOR2 ( ai,ab, bi,bb ), + cb, ci ); + END; + + -- ------------------------------------------------------------------------ + -- Delay Calculation for 4-bit Logical gates. + -- ------------------------------------------------------------------------ + IMPURE FUNCTION VitalXOR4 ( + CONSTANT ab,ai, bb,bi, cb,ci, db,di : IN SchedType ) + RETURN SchedType IS + BEGIN + RETURN VitalXOR2 ( VitalXOR2 ( ab,ai, bb,bi ), + VitalXOR2 ( ai,ab, bi,bb ), + VitalXOR2 ( cb,ci, db,di ), + VitalXOR2 ( ci,cb, di,db ) ); + END; + + IMPURE FUNCTION VitalXNOR4 ( + CONSTANT ab,ai, bb,bi, cb,ci, db,di : IN SchedType ) + RETURN SchedType IS + BEGIN + RETURN VitalXNOR2 ( VitalXOR2 ( ab,ai, bb,bi ), + VitalXOR2 ( ai,ab, bi,bb ), + VitalXOR2 ( cb,ci, db,di ), + VitalXOR2 ( ci,cb, di,db ) ); + END; + + -- ------------------------------------------------------------------------ + -- Delay Calculation for N-bit Logical gates. + -- ------------------------------------------------------------------------ + -- Note: index range on datab,datai assumed to be 1 TO length. + -- This is enforced by internal only usage of this Function + IMPURE FUNCTION VitalXOR ( + CONSTANT DataB, DataI : IN SchedArray + ) RETURN SchedType IS + CONSTANT Leng : INTEGER := DataB'LENGTH; + BEGIN + IF Leng = 2 THEN + RETURN VitalXOR2 ( DataB(1),DataI(1), DataB(2),DataI(2) ); + ELSE + RETURN VitalXOR2 ( VitalXOR ( DataB(1 TO Leng-1), + DataI(1 TO Leng-1) ), + VitalXOR ( DataI(1 TO Leng-1), + DataB(1 TO Leng-1) ), + DataB(Leng),DataI(Leng) ); + END IF; + END; + + -- Note: index range on datab,datai assumed to be 1 TO length. + -- This is enforced by internal only usage of this Function + IMPURE FUNCTION VitalXNOR ( + CONSTANT DataB, DataI : IN SchedArray + ) RETURN SchedType IS + CONSTANT Leng : INTEGER := DataB'LENGTH; + BEGIN + IF Leng = 2 THEN + RETURN VitalXNOR2 ( DataB(1),DataI(1), DataB(2),DataI(2) ); + ELSE + RETURN VitalXNOR2 ( VitalXOR ( DataB(1 TO Leng-1), + DataI(1 TO Leng-1) ), + VitalXOR ( DataI(1 TO Leng-1), + DataB(1 TO Leng-1) ), + DataB(Leng),DataI(Leng) ); + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Multiplexor + -- MUX .......... result := data(dselect) + -- MUX2 .......... 2-input mux; result := data0 when (dselect = '0'), + -- data1 when (dselect = '1'), + -- 'X' when (dselect = 'X') and (data0 /= data1) + -- MUX4 .......... 4-input mux; result := data(dselect) + -- MUX8 .......... 8-input mux; result := data(dselect) + -- ------------------------------------------------------------------------ + FUNCTION VitalMUX2 ( + CONSTANT d1, d0 : IN SchedType; + CONSTANT sb, SI : IN SchedType + ) RETURN SchedType IS + BEGIN + RETURN (d1 AND sb) OR (d0 AND (NOT SI) ); + END; +-- + FUNCTION VitalMUX4 ( + CONSTANT Data : IN SchedArray4; + CONSTANT sb : IN SchedArray2; + CONSTANT SI : IN SchedArray2 + ) RETURN SchedType IS + BEGIN + RETURN ( sb(1) AND VitalMUX2(Data(3),Data(2), sb(0), SI(0)) ) + OR ( (NOT SI(1)) AND VitalMUX2(Data(1),Data(0), sb(0), SI(0)) ); + END; + + FUNCTION VitalMUX8 ( + CONSTANT Data : IN SchedArray8; + CONSTANT sb : IN SchedArray3; + CONSTANT SI : IN SchedArray3 + ) RETURN SchedType IS + BEGIN + RETURN ( ( sb(2)) AND VitalMUX4 (Data(7 DOWNTO 4), + sb(1 DOWNTO 0), SI(1 DOWNTO 0) ) ) + OR ( (NOT SI(2)) AND VitalMUX4 (Data(3 DOWNTO 0), + sb(1 DOWNTO 0), SI(1 DOWNTO 0) ) ); + END; +-- + FUNCTION VInterMux ( + CONSTANT Data : IN SchedArray; + CONSTANT sb : IN SchedArray; + CONSTANT SI : IN SchedArray + ) RETURN SchedType IS + CONSTANT sMsb : INTEGER := sb'LENGTH; + CONSTANT dMsbHigh : INTEGER := Data'LENGTH; + CONSTANT dMsbLow : INTEGER := Data'LENGTH/2; + BEGIN + IF sb'LENGTH = 1 THEN + RETURN VitalMUX2( Data(2), Data(1), sb(1), SI(1) ); + ELSIF sb'LENGTH = 2 THEN + RETURN VitalMUX4( Data, sb, SI ); + ELSIF sb'LENGTH = 3 THEN + RETURN VitalMUX8( Data, sb, SI ); + ELSIF sb'LENGTH > 3 THEN + RETURN (( sb(sMsb)) AND VInterMux( Data(dMsbLow DOWNTO 1), + sb(sMsb-1 DOWNTO 1), + SI(sMsb-1 DOWNTO 1) )) + OR ((NOT SI(sMsb)) AND VInterMux( Data(dMsbHigh DOWNTO dMsbLow+1), + sb(sMsb-1 DOWNTO 1), + SI(sMsb-1 DOWNTO 1) )); + ELSE + RETURN (0 ns, 0 ns, 0 ns, 0 ns, 0 ns); -- dselect'LENGTH < 1 + END IF; + END; +-- + FUNCTION VitalMUX ( + CONSTANT Data : IN SchedArray; + CONSTANT sb : IN SchedArray; + CONSTANT SI : IN SchedArray + ) RETURN SchedType IS + CONSTANT msb : INTEGER := 2**sb'LENGTH; + VARIABLE lDat : SchedArray(msb DOWNTO 1); + ALIAS DataAlias : SchedArray ( Data'LENGTH DOWNTO 1 ) IS Data; + ALIAS sbAlias : SchedArray ( sb'LENGTH DOWNTO 1 ) IS sb; + ALIAS siAlias : SchedArray ( SI'LENGTH DOWNTO 1 ) IS SI; + BEGIN + IF Data'LENGTH <= msb THEN + FOR i IN Data'LENGTH DOWNTO 1 LOOP + lDat(i) := DataAlias(i); + END LOOP; + FOR i IN msb DOWNTO Data'LENGTH+1 LOOP + lDat(i) := DefSchedAnd; + END LOOP; + ELSE + FOR i IN msb DOWNTO 1 LOOP + lDat(i) := DataAlias(i); + END LOOP; + END IF; + RETURN VInterMux( lDat, sbAlias, siAlias ); + END; + + -- ------------------------------------------------------------------------ + -- Decoder + -- General Algorithm : + -- (a) Result(...) := '0' when (enable = '0') + -- (b) Result(data) := '1'; all other subelements = '0' + -- ... Result array is decending (n-1 downto 0) + -- + -- DECODERn .......... n:2**n decoder + -- ------------------------------------------------------------------------ + FUNCTION VitalDECODER2 ( + CONSTANT DataB : IN SchedType; + CONSTANT DataI : IN SchedType; + CONSTANT Enable : IN SchedType + ) RETURN SchedArray IS + VARIABLE Result : SchedArray2; + BEGIN + Result(1) := Enable AND ( DataB); + Result(0) := Enable AND (NOT DataI); + RETURN Result; + END; + + FUNCTION VitalDECODER4 ( + CONSTANT DataB : IN SchedArray2; + CONSTANT DataI : IN SchedArray2; + CONSTANT Enable : IN SchedType + ) RETURN SchedArray IS + VARIABLE Result : SchedArray4; + BEGIN + Result(3) := Enable AND ( DataB(1)) AND ( DataB(0)); + Result(2) := Enable AND ( DataB(1)) AND (NOT DataI(0)); + Result(1) := Enable AND (NOT DataI(1)) AND ( DataB(0)); + Result(0) := Enable AND (NOT DataI(1)) AND (NOT DataI(0)); + RETURN Result; + END; + + FUNCTION VitalDECODER8 ( + CONSTANT DataB : IN SchedArray3; + CONSTANT DataI : IN SchedArray3; + CONSTANT Enable : IN SchedType + ) RETURN SchedArray IS + VARIABLE Result : SchedArray8; + BEGIN + Result(7):= Enable AND ( DataB(2))AND( DataB(1))AND( DataB(0)); + Result(6):= Enable AND ( DataB(2))AND( DataB(1))AND(NOT DataI(0)); + Result(5):= Enable AND ( DataB(2))AND(NOT DataI(1))AND( DataB(0)); + Result(4):= Enable AND ( DataB(2))AND(NOT DataI(1))AND(NOT DataI(0)); + Result(3):= Enable AND (NOT DataI(2))AND( DataB(1))AND( DataB(0)); + Result(2):= Enable AND (NOT DataI(2))AND( DataB(1))AND(NOT DataI(0)); + Result(1):= Enable AND (NOT DataI(2))AND(NOT DataI(1))AND( DataB(0)); + Result(0):= Enable AND (NOT DataI(2))AND(NOT DataI(1))AND(NOT DataI(0)); + RETURN Result; + END; + + + FUNCTION VitalDECODER ( + CONSTANT DataB : IN SchedArray; + CONSTANT DataI : IN SchedArray; + CONSTANT Enable : IN SchedType + ) RETURN SchedArray IS + CONSTANT DMsb : INTEGER := DataB'LENGTH - 1; + ALIAS DataBAlias : SchedArray ( DMsb DOWNTO 0 ) IS DataB; + ALIAS DataIAlias : SchedArray ( DMsb DOWNTO 0 ) IS DataI; + BEGIN + IF DataB'LENGTH = 1 THEN + RETURN VitalDECODER2 ( DataBAlias( 0 ), + DataIAlias( 0 ), Enable ); + ELSIF DataB'LENGTH = 2 THEN + RETURN VitalDECODER4 ( DataBAlias(1 DOWNTO 0), + DataIAlias(1 DOWNTO 0), Enable ); + ELSIF DataB'LENGTH = 3 THEN + RETURN VitalDECODER8 ( DataBAlias(2 DOWNTO 0), + DataIAlias(2 DOWNTO 0), Enable ); + ELSIF DataB'LENGTH > 3 THEN + RETURN VitalDECODER ( DataBAlias(DMsb-1 DOWNTO 0), + DataIAlias(DMsb-1 DOWNTO 0), + Enable AND ( DataBAlias(DMsb)) ) + & VitalDECODER ( DataBAlias(DMsb-1 DOWNTO 0), + DataIAlias(DMsb-1 DOWNTO 0), + Enable AND (NOT DataIAlias(DMsb)) ); + ELSE + RETURN DefSchedArray2; + END IF; + END; + + +------------------------------------------------------------------------------- +-- PRIMITIVES +------------------------------------------------------------------------------- + -- ------------------------------------------------------------------------ + -- N-bit wide Logical gates. + -- ------------------------------------------------------------------------ + FUNCTION VitalAND ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '1'; + FOR i IN Data'RANGE LOOP + Result := Result AND Data(i); + END LOOP; + RETURN ResultMap(Result); + END; +-- + FUNCTION VitalOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '0'; + FOR i IN Data'RANGE LOOP + Result := Result OR Data(i); + END LOOP; + RETURN ResultMap(Result); + END; +-- + FUNCTION VitalXOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '0'; + FOR i IN Data'RANGE LOOP + Result := Result XOR Data(i); + END LOOP; + RETURN ResultMap(Result); + END; +-- + FUNCTION VitalNAND ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '1'; + FOR i IN Data'RANGE LOOP + Result := Result AND Data(i); + END LOOP; + RETURN ResultMap(NOT Result); + END; +-- + FUNCTION VitalNOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '0'; + FOR i IN Data'RANGE LOOP + Result := Result OR Data(i); + END LOOP; + RETURN ResultMap(NOT Result); + END; +-- + FUNCTION VitalXNOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + Result := '0'; + FOR i IN Data'RANGE LOOP + Result := Result XOR Data(i); + END LOOP; + RETURN ResultMap(NOT Result); + END; + + -- ------------------------------------------------------------------------ + -- Commonly used 2-bit Logical gates. + -- ------------------------------------------------------------------------ + FUNCTION VitalAND2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a AND b); + END; +-- + FUNCTION VitalOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a OR b); + END; +-- + FUNCTION VitalXOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a XOR b); + END; +-- + FUNCTION VitalNAND2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a NAND b); + END; +-- + FUNCTION VitalNOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a NOR b); + END; +-- + FUNCTION VitalXNOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a XOR b)); + END; +-- + -- ------------------------------------------------------------------------ + -- Commonly used 3-bit Logical gates. + -- ------------------------------------------------------------------------ + FUNCTION VitalAND3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a AND b AND c); + END; +-- + FUNCTION VitalOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a OR b OR c); + END; +-- + FUNCTION VitalXOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a XOR b XOR c); + END; +-- + FUNCTION VitalNAND3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a AND b AND c)); + END; +-- + FUNCTION VitalNOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a OR b OR c)); + END; +-- + FUNCTION VitalXNOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a XOR b XOR c)); + END; + + -- --------------------------------------------------------------------------- + -- Commonly used 4-bit Logical gates. + -- --------------------------------------------------------------------------- + FUNCTION VitalAND4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a AND b AND c AND d); + END; +-- + FUNCTION VitalOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a OR b OR c OR d); + END; +-- + FUNCTION VitalXOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(a XOR b XOR c XOR d); + END; +-- + FUNCTION VitalNAND4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a AND b AND c AND d)); + END; +-- + FUNCTION VitalNOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a OR b OR c OR d)); + END; +-- + FUNCTION VitalXNOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT (a XOR b XOR c XOR d)); + END; + + -- ------------------------------------------------------------------------ + -- Buffers + -- BUF ....... standard non-inverting buffer + -- BUFIF0 ....... non-inverting buffer Data passes thru if (Enable = '0') + -- BUFIF1 ....... non-inverting buffer Data passes thru if (Enable = '1') + -- ------------------------------------------------------------------------ + FUNCTION VitalBUF ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(To_UX01(Data)); + END; +-- + FUNCTION VitalBUFIF0 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(BufIf0_Table(Enable,Data)); + END; +-- + FUNCTION VitalBUFIF1 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(BufIf1_Table(Enable,Data)); + END; + FUNCTION VitalIDENT ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(To_UX01Z(Data)); + END; + + -- ------------------------------------------------------------------------ + -- Invertors + -- INV ......... standard inverting buffer + -- INVIF0 ......... inverting buffer Data passes thru if (Enable = '0') + -- INVIF1 ......... inverting buffer Data passes thru if (Enable = '1') + -- ------------------------------------------------------------------------ + FUNCTION VitalINV ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(NOT Data); + END; +-- + FUNCTION VitalINVIF0 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(InvIf0_Table(Enable,Data)); + END; +-- + FUNCTION VitalINVIF1 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic IS + BEGIN + RETURN ResultMap(InvIf1_Table(Enable,Data)); + END; + + -- ------------------------------------------------------------------------ + -- Multiplexor + -- MUX .......... result := data(dselect) + -- MUX2 .......... 2-input mux; result := data0 when (dselect = '0'), + -- data1 when (dselect = '1'), + -- 'X' when (dselect = 'X') and (data0 /= data1) + -- MUX4 .......... 4-input mux; result := data(dselect) + -- MUX8 .......... 8-input mux; result := data(dselect) + -- ------------------------------------------------------------------------ + FUNCTION VitalMUX2 ( + CONSTANT Data1, Data0 : IN std_ulogic; + CONSTANT dSelect : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + CASE To_X01(dSelect) IS + WHEN '0' => Result := To_UX01(Data0); + WHEN '1' => Result := To_UX01(Data1); + WHEN OTHERS => Result := VitalSame( Data1, Data0 ); + END CASE; + RETURN ResultMap(Result); + END; +-- + FUNCTION VitalMUX4 ( + CONSTANT Data : IN std_logic_vector4; + CONSTANT dSelect : IN std_logic_vector2; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Slct : std_logic_vector2; + VARIABLE Result : UX01; + BEGIN + Slct := To_X01(dSelect); + CASE Slct IS + WHEN "00" => Result := To_UX01(Data(0)); + WHEN "01" => Result := To_UX01(Data(1)); + WHEN "10" => Result := To_UX01(Data(2)); + WHEN "11" => Result := To_UX01(Data(3)); + WHEN "0X" => Result := VitalSame( Data(1), Data(0) ); + WHEN "1X" => Result := VitalSame( Data(2), Data(3) ); + WHEN "X0" => Result := VitalSame( Data(2), Data(0) ); + WHEN "X1" => Result := VitalSame( Data(3), Data(1) ); + WHEN OTHERS => Result := VitalSame( VitalSame(Data(3),Data(2)), + VitalSame(Data(1),Data(0))); + END CASE; + RETURN ResultMap(Result); + END; +-- + FUNCTION VitalMUX8 ( + CONSTANT Data : IN std_logic_vector8; + CONSTANT dSelect : IN std_logic_vector3; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + VARIABLE Result : UX01; + BEGIN + CASE To_X01(dSelect(2)) IS + WHEN '0' => Result := VitalMUX4( Data(3 DOWNTO 0), + dSelect(1 DOWNTO 0)); + WHEN '1' => Result := VitalMUX4( Data(7 DOWNTO 4), + dSelect(1 DOWNTO 0)); + WHEN OTHERS => Result := VitalSame( VitalMUX4( Data(3 DOWNTO 0), + dSelect(1 DOWNTO 0)), + VitalMUX4( Data(7 DOWNTO 4), + dSelect(1 DOWNTO 0))); + END CASE; + RETURN ResultMap(Result); + END; +-- + FUNCTION VInterMux ( + CONSTANT Data : IN std_logic_vector; + CONSTANT dSelect : IN std_logic_vector + ) RETURN std_ulogic IS + + CONSTANT sMsb : INTEGER := dSelect'LENGTH; + CONSTANT dMsbHigh : INTEGER := Data'LENGTH; + CONSTANT dMsbLow : INTEGER := Data'LENGTH/2; + ALIAS DataAlias : std_logic_vector ( Data'LENGTH DOWNTO 1) IS Data; + ALIAS dSelAlias : std_logic_vector (dSelect'LENGTH DOWNTO 1) IS dSelect; + + VARIABLE Result : UX01; + BEGIN + IF dSelect'LENGTH = 1 THEN + Result := VitalMUX2( DataAlias(2), DataAlias(1), dSelAlias(1) ); + ELSIF dSelect'LENGTH = 2 THEN + Result := VitalMUX4( DataAlias, dSelAlias ); + ELSIF dSelect'LENGTH > 2 THEN + CASE To_X01(dSelect(sMsb)) IS + WHEN '0' => + Result := VInterMux( DataAlias(dMsbLow DOWNTO 1), + dSelAlias(sMsb-1 DOWNTO 1) ); + WHEN '1' => + Result := VInterMux( DataAlias(dMsbHigh DOWNTO dMsbLow+1), + dSelAlias(sMsb-1 DOWNTO 1) ); + WHEN OTHERS => + Result := VitalSame( + VInterMux( DataAlias(dMsbLow DOWNTO 1), + dSelAlias(sMsb-1 DOWNTO 1) ), + VInterMux( DataAlias(dMsbHigh DOWNTO dMsbLow+1), + dSelAlias(sMsb-1 DOWNTO 1) ) + ); + END CASE; + ELSE + Result := 'X'; -- dselect'LENGTH < 1 + END IF; + RETURN Result; + END; +-- + FUNCTION VitalMUX ( + CONSTANT Data : IN std_logic_vector; + CONSTANT dSelect : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic IS + CONSTANT msb : INTEGER := 2**dSelect'LENGTH; + ALIAS DataAlias : std_logic_vector ( Data'LENGTH DOWNTO 1) IS Data; + ALIAS dSelAlias : std_logic_vector (dSelect'LENGTH DOWNTO 1) IS dSelect; + VARIABLE lDat : std_logic_vector(msb DOWNTO 1) := (OTHERS=>'X'); + VARIABLE Result : UX01; + BEGIN + IF Data'LENGTH <= msb THEN + FOR i IN Data'LENGTH DOWNTO 1 LOOP + lDat(i) := DataAlias(i); + END LOOP; + ELSE + FOR i IN msb DOWNTO 1 LOOP + lDat(i) := DataAlias(i); + END LOOP; + END IF; + Result := VInterMux( lDat, dSelAlias ); + RETURN ResultMap(Result); + END; + + -- ------------------------------------------------------------------------ + -- Decoder + -- General Algorithm : + -- (a) Result(...) := '0' when (enable = '0') + -- (b) Result(data) := '1'; all other subelements = '0' + -- ... Result array is decending (n-1 downto 0) + -- + -- DECODERn .......... n:2**n decoder + -- ------------------------------------------------------------------------ + FUNCTION VitalDECODER2 ( + CONSTANT Data : IN std_ulogic; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector2 IS + VARIABLE Result : std_logic_vector2; + BEGIN + Result(1) := ResultMap(Enable AND ( Data)); + Result(0) := ResultMap(Enable AND (NOT Data)); + RETURN Result; + END; +-- + FUNCTION VitalDECODER4 ( + CONSTANT Data : IN std_logic_vector2; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector4 IS + VARIABLE Result : std_logic_vector4; + BEGIN + Result(3) := ResultMap(Enable AND ( Data(1)) AND ( Data(0))); + Result(2) := ResultMap(Enable AND ( Data(1)) AND (NOT Data(0))); + Result(1) := ResultMap(Enable AND (NOT Data(1)) AND ( Data(0))); + Result(0) := ResultMap(Enable AND (NOT Data(1)) AND (NOT Data(0))); + RETURN Result; + END; +-- + FUNCTION VitalDECODER8 ( + CONSTANT Data : IN std_logic_vector3; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector8 IS + VARIABLE Result : std_logic_vector8; + BEGIN + Result(7) := ( Data(2)) AND ( Data(1)) AND ( Data(0)); + Result(6) := ( Data(2)) AND ( Data(1)) AND (NOT Data(0)); + Result(5) := ( Data(2)) AND (NOT Data(1)) AND ( Data(0)); + Result(4) := ( Data(2)) AND (NOT Data(1)) AND (NOT Data(0)); + Result(3) := (NOT Data(2)) AND ( Data(1)) AND ( Data(0)); + Result(2) := (NOT Data(2)) AND ( Data(1)) AND (NOT Data(0)); + Result(1) := (NOT Data(2)) AND (NOT Data(1)) AND ( Data(0)); + Result(0) := (NOT Data(2)) AND (NOT Data(1)) AND (NOT Data(0)); + + Result(0) := ResultMap ( Enable AND Result(0) ); + Result(1) := ResultMap ( Enable AND Result(1) ); + Result(2) := ResultMap ( Enable AND Result(2) ); + Result(3) := ResultMap ( Enable AND Result(3) ); + Result(4) := ResultMap ( Enable AND Result(4) ); + Result(5) := ResultMap ( Enable AND Result(5) ); + Result(6) := ResultMap ( Enable AND Result(6) ); + Result(7) := ResultMap ( Enable AND Result(7) ); + + RETURN Result; + END; +-- + FUNCTION VitalDECODER ( + CONSTANT Data : IN std_logic_vector; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector IS + + CONSTANT DMsb : INTEGER := Data'LENGTH - 1; + ALIAS DataAlias : std_logic_vector ( DMsb DOWNTO 0 ) IS Data; + BEGIN + IF Data'LENGTH = 1 THEN + RETURN VitalDECODER2 (DataAlias( 0 ), Enable, ResultMap ); + ELSIF Data'LENGTH = 2 THEN + RETURN VitalDECODER4 (DataAlias(1 DOWNTO 0), Enable, ResultMap ); + ELSIF Data'LENGTH = 3 THEN + RETURN VitalDECODER8 (DataAlias(2 DOWNTO 0), Enable, ResultMap ); + ELSIF Data'LENGTH > 3 THEN + RETURN VitalDECODER (DataAlias(DMsb-1 DOWNTO 0), + Enable AND ( DataAlias(DMsb)), ResultMap ) + & VitalDECODER (DataAlias(DMsb-1 DOWNTO 0), + Enable AND (NOT DataAlias(DMsb)), ResultMap ); + ELSE RETURN "X"; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- N-bit wide Logical gates. + -- ------------------------------------------------------------------------ + PROCEDURE VitalAND ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE Data_Schd : SchedArray(Data'RANGE); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalAND(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := '1'; + new_schd := Data_Schd(Data_Schd'LEFT); + FOR i IN Data'RANGE LOOP + NewValue := NewValue AND Data(i); + new_schd := new_schd AND Data_Schd(i); + END LOOP; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; --SN + END; +-- + PROCEDURE VitalOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE Data_Schd : SchedArray(Data'RANGE); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalOR(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := '0'; + new_schd := Data_Schd(Data_Schd'LEFT); + FOR i IN Data'RANGE LOOP + NewValue := NewValue OR Data(i); + new_schd := new_schd OR Data_Schd(i); + END LOOP; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; --SN + END; +-- + PROCEDURE VitalXOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE DataB_Schd : SchedArray(1 TO Data'LENGTH); + VARIABLE DataI_Schd : SchedArray(1 TO Data'LENGTH); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + ALIAS ADataB_Schd : SchedArray(Data'RANGE) IS DataB_Schd; + ALIAS ADataI_Schd : SchedArray(Data'RANGE) IS DataI_Schd; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalXOR(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( ADataB_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + InvPath ( ADataI_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( ADataB_Schd, Data_Edge, Atpd_data_q ); + InvPath ( ADataI_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalXOR ( Data ); + new_schd := VitalXOR ( DataB_Schd, DataI_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; --SN + END; +-- + PROCEDURE VitalNAND ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE Data_Schd : SchedArray(Data'RANGE); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalNAND(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + InvPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + InvPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := '1'; + new_schd := Data_Schd(Data_Schd'LEFT); + FOR i IN Data'RANGE LOOP + NewValue := NewValue AND Data(i); + new_schd := new_schd AND Data_Schd(i); + END LOOP; + NewValue := NOT NewValue; + new_schd := NOT new_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE Data_Schd : SchedArray(Data'RANGE); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalNOR(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + InvPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + InvPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := '0'; + new_schd := Data_Schd(Data_Schd'LEFT); + FOR i IN Data'RANGE LOOP + NewValue := NewValue OR Data(i); + new_schd := new_schd OR Data_Schd(i); + END LOOP; + NewValue := NOT NewValue; + new_schd := NOT new_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; --SN + END; +-- + PROCEDURE VitalXNOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE DataB_Schd : SchedArray(1 TO Data'LENGTH); + VARIABLE DataI_Schd : SchedArray(1 TO Data'LENGTH); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + ALIAS ADataB_Schd : SchedArray(Data'RANGE) IS DataB_Schd; + ALIAS ADataI_Schd : SchedArray(Data'RANGE) IS DataI_Schd; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN LOOP + q <= VitalXNOR(Data, ResultMap); + WAIT ON Data; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( ADataB_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + InvPath ( ADataI_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( ADataB_Schd, Data_Edge, Atpd_data_q ); + InvPath ( ADataI_Schd, Data_Edge, Atpd_data_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalXNOR ( Data ); + new_schd := VitalXNOR ( DataB_Schd, DataI_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data; + END LOOP; + END IF; --SN + END; +-- + + -- ------------------------------------------------------------------------ + -- Commonly used 2-bit Logical gates. + -- ------------------------------------------------------------------------ + PROCEDURE VitalAND2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalAND2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a AND b; + new_schd := a_schd AND b_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalOR2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a OR b; + new_schd := a_schd OR b_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNAND2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNAND2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a NAND b; + new_schd := a_schd NAND b_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNOR2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a NOR b; + new_schd := a_schd NOR b_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd : SchedType; + VARIABLE ai_schd, bi_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXOR2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a XOR b; + new_schd := VitalXOR2 ( ab_schd,ai_schd, bb_schd,bi_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXNOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd : SchedType; + VARIABLE ai_schd, bi_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ((tpd_a_q = VitalZeroDelay01) AND (tpd_b_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXNOR2 ( a, b, ResultMap ); + WAIT ON a, b; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := NOT (a XOR b); + new_schd := VitalXNOR2 ( ab_schd,ai_schd, bb_schd,bi_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Commonly used 3-bit Logical gates. + -- ------------------------------------------------------------------------ + PROCEDURE VitalAND3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN +-- + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalAND3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + BufPath ( c_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + BufPath ( c_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a AND b AND c; + new_schd := a_schd AND b_schd AND c_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalOR3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + BufPath ( c_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + BufPath ( c_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a OR b OR c; + new_schd := a_schd OR b_schd OR c_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNAND3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNAND3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + InvPath ( c_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + InvPath ( c_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := (a AND b) NAND c; + new_schd := (a_schd AND b_schd) NAND c_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNOR3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + InvPath ( c_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + InvPath ( c_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := (a OR b) NOR c; + new_schd := (a_schd OR b_schd) NOR c_schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd, cb_schd : SchedType; + VARIABLE ai_schd, bi_schd, ci_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXOR3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + BufPath ( cb_schd, InitialEdge(c), tpd_c_q ); + InvPath ( ci_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + BufPath ( cb_schd, GetEdge(c), tpd_c_q ); + InvPath ( ci_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a XOR b XOR c; + new_schd := VitalXOR3 ( ab_schd,ai_schd, + bb_schd,bi_schd, + cb_schd,ci_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXNOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd, cb_schd : SchedType; + VARIABLE ai_schd, bi_schd, ci_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXNOR3 ( a, b, c, ResultMap ); + WAIT ON a, b, c; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + BufPath ( cb_schd, InitialEdge(c), tpd_c_q ); + InvPath ( ci_schd, InitialEdge(c), tpd_c_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + BufPath ( cb_schd, GetEdge(c), tpd_c_q ); + InvPath ( ci_schd, GetEdge(c), tpd_c_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := NOT (a XOR b XOR c); + new_schd := VitalXNOR3 ( ab_schd, ai_schd, + bb_schd, bi_schd, + cb_schd, ci_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Commonly used 4-bit Logical gates. + -- ------------------------------------------------------------------------ + PROCEDURE VitalAND4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd, d_Schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalAND4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + BufPath ( c_schd, InitialEdge(c), tpd_c_q ); + BufPath ( d_Schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + BufPath ( c_schd, GetEdge(c), tpd_c_q ); + BufPath ( d_Schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a AND b AND c AND d; + new_schd := a_schd AND b_schd AND c_schd AND d_Schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd, d_Schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalOR4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( a_schd, InitialEdge(a), tpd_a_q ); + BufPath ( b_schd, InitialEdge(b), tpd_b_q ); + BufPath ( c_schd, InitialEdge(c), tpd_c_q ); + BufPath ( d_Schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( a_schd, GetEdge(a), tpd_a_q ); + BufPath ( b_schd, GetEdge(b), tpd_b_q ); + BufPath ( c_schd, GetEdge(c), tpd_c_q ); + BufPath ( d_Schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a OR b OR c OR d; + new_schd := a_schd OR b_schd OR c_schd OR d_Schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNAND4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd, d_Schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNAND4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + InvPath ( c_schd, InitialEdge(c), tpd_c_q ); + InvPath ( d_Schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + InvPath ( c_schd, GetEdge(c), tpd_c_q ); + InvPath ( d_Schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := (a AND b) NAND (c AND d); + new_schd := (a_schd AND b_schd) NAND (c_schd AND d_Schd); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalNOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE a_schd, b_schd, c_schd, d_Schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalNOR4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( a_schd, InitialEdge(a), tpd_a_q ); + InvPath ( b_schd, InitialEdge(b), tpd_b_q ); + InvPath ( c_schd, InitialEdge(c), tpd_c_q ); + InvPath ( d_Schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( a_schd, GetEdge(a), tpd_a_q ); + InvPath ( b_schd, GetEdge(b), tpd_b_q ); + InvPath ( c_schd, GetEdge(c), tpd_c_q ); + InvPath ( d_Schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := (a OR b) NOR (c OR d); + new_schd := (a_schd OR b_schd) NOR (c_schd OR d_Schd); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd, cb_schd, DB_Schd : SchedType; + VARIABLE ai_schd, bi_schd, ci_schd, di_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXOR4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + + BufPath ( cb_schd, InitialEdge(c), tpd_c_q ); + InvPath ( ci_schd, InitialEdge(c), tpd_c_q ); + + BufPath ( DB_Schd, InitialEdge(d), tpd_d_q ); + InvPath ( di_schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + BufPath ( cb_schd, GetEdge(c), tpd_c_q ); + InvPath ( ci_schd, GetEdge(c), tpd_c_q ); + + BufPath ( DB_Schd, GetEdge(d), tpd_d_q ); + InvPath ( di_schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := a XOR b XOR c XOR d; + new_schd := VitalXOR4 ( ab_schd,ai_schd, bb_schd,bi_schd, + cb_schd,ci_schd, DB_Schd,di_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalXNOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE ab_schd, bb_schd, cb_schd, DB_Schd : SchedType; + VARIABLE ai_schd, bi_schd, ci_schd, di_schd : SchedType; + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_a_q = VitalZeroDelay01) + AND (tpd_b_q = VitalZeroDelay01) + AND (tpd_c_q = VitalZeroDelay01) + AND (tpd_d_q = VitalZeroDelay01)) THEN + LOOP + q <= VitalXNOR4 ( a, b, c, d, ResultMap ); + WAIT ON a, b, c, d; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( ab_schd, InitialEdge(a), tpd_a_q ); + InvPath ( ai_schd, InitialEdge(a), tpd_a_q ); + + BufPath ( bb_schd, InitialEdge(b), tpd_b_q ); + InvPath ( bi_schd, InitialEdge(b), tpd_b_q ); + + BufPath ( cb_schd, InitialEdge(c), tpd_c_q ); + InvPath ( ci_schd, InitialEdge(c), tpd_c_q ); + + BufPath ( DB_Schd, InitialEdge(d), tpd_d_q ); + InvPath ( di_schd, InitialEdge(d), tpd_d_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( ab_schd, GetEdge(a), tpd_a_q ); + InvPath ( ai_schd, GetEdge(a), tpd_a_q ); + + BufPath ( bb_schd, GetEdge(b), tpd_b_q ); + InvPath ( bi_schd, GetEdge(b), tpd_b_q ); + + BufPath ( cb_schd, GetEdge(c), tpd_c_q ); + InvPath ( ci_schd, GetEdge(c), tpd_c_q ); + + BufPath ( DB_Schd, GetEdge(d), tpd_d_q ); + InvPath ( di_schd, GetEdge(d), tpd_d_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := NOT (a XOR b XOR c XOR d); + new_schd := VitalXNOR4 ( ab_schd,ai_schd, bb_schd,bi_schd, + cb_schd,ci_schd, DB_Schd,di_schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON a, b, c, d; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Buffers + -- BUF ....... standard non-inverting buffer + -- BUFIF0 ....... non-inverting buffer Data passes thru if (Enable = '0') + -- BUFIF1 ....... non-inverting buffer Data passes thru if (Enable = '1') + -- ------------------------------------------------------------------------ + PROCEDURE VitalBUF ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_a_q = VitalZeroDelay01) THEN + LOOP + q <= ResultMap(To_UX01(a)); + WAIT ON a; + END LOOP; + + ELSE + LOOP + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := To_UX01(a); -- convert to forcing strengths + CASE EdgeType'(GetEdge(a)) IS + WHEN '1'|'/'|'R'|'r' => Dly := tpd_a_q(tr01); + WHEN '0'|'\'|'F'|'f' => Dly := tpd_a_q(tr10); + WHEN OTHERS => Dly := Minimum (tpd_a_q(tr01), tpd_a_q(tr10)); + END CASE; + + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode ); + + WAIT ON a; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalBUFIF1 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) IS + VARIABLE NewValue : UX01Z; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE d_Schd, e1_Schd, e0_Schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_data_q = VitalZeroDelay01 ) + AND (tpd_enable_q = VitalZeroDelay01Z)) THEN + LOOP + q <= VitalBUFIF1( Data, Enable, ResultMap ); + WAIT ON Data, Enable; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( d_Schd, InitialEdge(Data), tpd_data_q ); + BufEnab ( e1_Schd, e0_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( d_Schd, GetEdge(Data), tpd_data_q ); + BufEnab ( e1_Schd, e0_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalBUFIF1( Data, Enable ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), + d_Schd, e1_Schd, e0_Schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalBUFIF0 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) IS + VARIABLE NewValue : UX01Z; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE d_Schd, e1_Schd, e0_Schd : SchedType; + VARIABLE ne1_schd, ne0_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_data_q = VitalZeroDelay01 ) + AND (tpd_enable_q = VitalZeroDelay01Z)) THEN + LOOP + q <= VitalBUFIF0( Data, Enable, ResultMap ); + WAIT ON Data, Enable; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( d_Schd, InitialEdge(Data), tpd_data_q ); + InvEnab ( e1_Schd, e0_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( d_Schd, GetEdge(Data), tpd_data_q ); + InvEnab ( e1_Schd, e0_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalBUFIF0( Data, Enable ); + ne1_schd := NOT e1_Schd; + ne0_schd := NOT e0_Schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), + d_Schd, ne1_schd, ne0_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; + + PROCEDURE VitalIDENT ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) IS + SUBTYPE v2 IS std_logic_vector(0 TO 1); + VARIABLE NewValue : UX01Z; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_a_q = VitalZeroDelay01Z) THEN + LOOP + q <= ResultMap(To_UX01Z(a)); + WAIT ON a; + END LOOP; + + ELSE + LOOP + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + CASE v2'(To_X01Z(NewValue) & To_X01Z(a)) IS + WHEN "00" => Dly := tpd_a_q(tr10); + WHEN "01" => Dly := tpd_a_q(tr01); + WHEN "0Z" => Dly := tpd_a_q(tr0z); + WHEN "0X" => Dly := tpd_a_q(tr01); + WHEN "10" => Dly := tpd_a_q(tr10); + WHEN "11" => Dly := tpd_a_q(tr01); + WHEN "1Z" => Dly := tpd_a_q(tr1z); + WHEN "1X" => Dly := tpd_a_q(tr10); + WHEN "Z0" => Dly := tpd_a_q(trz0); + WHEN "Z1" => Dly := tpd_a_q(trz1); + WHEN "ZZ" => Dly := 0 ns; + WHEN "ZX" => Dly := Minimum (tpd_a_q(trz1), tpd_a_q(trz0)); + WHEN "X0" => Dly := tpd_a_q(tr10); + WHEN "X1" => Dly := tpd_a_q(tr01); + WHEN "XZ" => Dly := Minimum (tpd_a_q(tr0z), tpd_a_q(tr1z)); + WHEN OTHERS => Dly := Minimum (tpd_a_q(tr01), tpd_a_q(tr10)); + END CASE; + NewValue := To_UX01Z(a); + + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode ); + + WAIT ON a; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Invertors + -- INV ......... standard inverting buffer + -- INVIF0 ......... inverting buffer Data passes thru if (Enable = '0') + -- INVIF1 ......... inverting buffer Data passes thru if (Enable = '1') + -- ------------------------------------------------------------------------ + PROCEDURE VitalINV ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic ; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + IF (tpd_a_q = VitalZeroDelay01) THEN + LOOP + q <= ResultMap(NOT a); + WAIT ON a; + END LOOP; + + ELSE + LOOP + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := NOT a; + CASE EdgeType'(GetEdge(a)) IS + WHEN '1'|'/'|'R'|'r' => Dly := tpd_a_q(tr10); + WHEN '0'|'\'|'F'|'f' => Dly := tpd_a_q(tr01); + WHEN OTHERS => Dly := Minimum (tpd_a_q(tr01), tpd_a_q(tr10)); + END CASE; + + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode ); + + WAIT ON a; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalINVIF1 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) IS + VARIABLE NewValue : UX01Z; + VARIABLE new_schd : SchedType; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE d_Schd, e1_Schd, e0_Schd : SchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_data_q = VitalZeroDelay01 ) + AND (tpd_enable_q = VitalZeroDelay01Z)) THEN + LOOP + q <= VitalINVIF1( Data, Enable, ResultMap ); + WAIT ON Data, Enable; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( d_Schd, InitialEdge(Data), tpd_data_q ); + BufEnab ( e1_Schd, e0_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( d_Schd, GetEdge(Data), tpd_data_q ); + BufEnab ( e1_Schd, e0_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalINVIF1( Data, Enable ); + new_schd := NOT d_Schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), + new_schd, e1_Schd, e0_Schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalINVIF0 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) IS + VARIABLE NewValue : UX01Z; + VARIABLE new_schd : SchedType; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE d_Schd, e1_Schd, e0_Schd : SchedType; + VARIABLE ne1_schd, ne0_schd : SchedType := DefSchedType; + VARIABLE Dly, Glch : TIME; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_data_q = VitalZeroDelay01 ) + AND (tpd_enable_q = VitalZeroDelay01Z)) THEN + LOOP + q <= VitalINVIF0( Data, Enable, ResultMap ); + WAIT ON Data, Enable; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + InvPath ( d_Schd, InitialEdge(Data), tpd_data_q ); + InvEnab ( e1_Schd, e0_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + InvPath ( d_Schd, GetEdge(Data), tpd_data_q ); + InvEnab ( e1_Schd, e0_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delay + -- ------------------------------------ + NewValue := VitalINVIF0( Data, Enable ); + ne1_schd := NOT e1_Schd; + ne0_schd := NOT e0_Schd; + new_schd := NOT d_Schd; + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), + new_schd, ne1_schd, ne0_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + -- Multiplexor + -- MUX .......... result := data(dselect) + -- MUX2 .......... 2-input mux; result := data0 when (dselect = '0'), + -- data1 when (dselect = '1'), + -- 'X' when (dselect = 'X') and (data0 /= data1) + -- MUX4 .......... 4-input mux; result := data(dselect) + -- MUX8 .......... 8-input mux; result := data(dselect) + -- ------------------------------------------------------------------------ + PROCEDURE VitalMUX2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL d1, d0 : IN std_ulogic; + SIGNAL dSel : IN std_ulogic; + CONSTANT tpd_d1_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d0_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_dsel_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + VARIABLE d1_Schd, d0_Schd : SchedType; + VARIABLE dSel_bSchd, dSel_iSchd : SchedType; + VARIABLE d1_Edge, d0_Edge, dSel_Edge : EdgeType; + BEGIN + + -- ------------------------------------------------------------------------ + -- For ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF ( (tpd_d1_q = VitalZeroDelay01) + AND (tpd_d0_q = VitalZeroDelay01) + AND (tpd_dsel_q = VitalZeroDelay01) ) THEN + LOOP + q <= VitalMUX2 ( d1, d0, dSel, ResultMap ); + WAIT ON d1, d0, dSel; + END LOOP; + + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( d1_Schd, InitialEdge(d1), tpd_d1_q ); + BufPath ( d0_Schd, InitialEdge(d0), tpd_d0_q ); + BufPath ( dSel_bSchd, InitialEdge(dSel), tpd_dsel_q ); + InvPath ( dSel_iSchd, InitialEdge(dSel), tpd_dsel_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( d1_Schd, GetEdge(d1), tpd_d1_q ); + BufPath ( d0_Schd, GetEdge(d0), tpd_d0_q ); + BufPath ( dSel_bSchd, GetEdge(dSel), tpd_dsel_q ); + InvPath ( dSel_iSchd, GetEdge(dSel), tpd_dsel_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalMUX2 ( d1, d0, dSel ); + new_schd := VitalMUX2 ( d1_Schd, d0_Schd, dSel_bSchd, dSel_iSchd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON d1, d0, dSel; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalMUX4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector4; + SIGNAL dSel : IN std_logic_vector2; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE LastdSel : std_logic_vector(dSel'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + VARIABLE Data_Schd : SchedArray4; + VARIABLE Data_Edge : EdgeArray4; + VARIABLE dSel_Edge : EdgeArray2; + VARIABLE dSel_bSchd : SchedArray2; + VARIABLE dSel_iSchd : SchedArray2; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + ALIAS Atpd_dsel_q : VitalDelayArrayType01(dSel'RANGE) IS tpd_dsel_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN dSel'RANGE LOOP + IF (Atpd_dsel_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + + IF (AllZeroDelay) THEN LOOP + q <= VitalMUX(Data, dSel, ResultMap); + WAIT ON Data, dSel; + END LOOP; + END IF; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + FOR n IN dSel'RANGE LOOP + BufPath ( dSel_bSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + InvPath ( dSel_iSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + GetEdge ( dSel, LastdSel, dSel_Edge ); + BufPath ( dSel_bSchd, dSel_Edge, Atpd_dsel_q ); + InvPath ( dSel_iSchd, dSel_Edge, Atpd_dsel_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalMUX4 ( Data, dSel ); + new_schd := VitalMUX4 ( Data_Schd, dSel_bSchd, dSel_iSchd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, dSel; + END LOOP; + END IF; --SN + END; + + PROCEDURE VitalMUX8 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector8; + SIGNAL dSel : IN std_logic_vector3; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE LastdSel : std_logic_vector(dSel'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + VARIABLE Data_Schd : SchedArray8; + VARIABLE Data_Edge : EdgeArray8; + VARIABLE dSel_Edge : EdgeArray3; + VARIABLE dSel_bSchd : SchedArray3; + VARIABLE dSel_iSchd : SchedArray3; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + ALIAS Atpd_dsel_q : VitalDelayArrayType01(dSel'RANGE) IS tpd_dsel_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN dSel'RANGE LOOP + IF (Atpd_dsel_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + + IF (AllZeroDelay) THEN LOOP + q <= VitalMUX(Data, dSel, ResultMap); + WAIT ON Data, dSel; + END LOOP; + END IF; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + FOR n IN dSel'RANGE LOOP + BufPath ( dSel_bSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + InvPath ( dSel_iSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + GetEdge ( dSel, LastdSel, dSel_Edge ); + BufPath ( dSel_bSchd, dSel_Edge, Atpd_dsel_q ); + InvPath ( dSel_iSchd, dSel_Edge, Atpd_dsel_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalMUX8 ( Data, dSel ); + new_schd := VitalMUX8 ( Data_Schd, dSel_bSchd, dSel_iSchd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, dSel; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalMUX ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + SIGNAL dSel : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE LastdSel : std_logic_vector(dSel'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : UX01; + VARIABLE Glitch_Data : GlitchDataType; + VARIABLE new_schd : SchedType; + VARIABLE Dly, Glch : TIME; + VARIABLE Data_Schd : SchedArray(Data'RANGE); + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE dSel_Edge : EdgeArray(dSel'RANGE); + VARIABLE dSel_bSchd : SchedArray(dSel'RANGE); + VARIABLE dSel_iSchd : SchedArray(dSel'RANGE); + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + ALIAS Atpd_dsel_q : VitalDelayArrayType01(dSel'RANGE) IS tpd_dsel_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + FOR i IN dSel'RANGE LOOP + IF (Atpd_dsel_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + IF (AllZeroDelay) THEN + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + + IF (AllZeroDelay) THEN LOOP + q <= VitalMUX(Data, dSel, ResultMap); + WAIT ON Data, dSel; + END LOOP; + END IF; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_Schd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + FOR n IN dSel'RANGE LOOP + BufPath ( dSel_bSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + InvPath ( dSel_iSchd(n), InitialEdge(dSel(n)), Atpd_dsel_q(n) ); + END LOOP; + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_Schd, Data_Edge, Atpd_data_q ); + + GetEdge ( dSel, LastdSel, dSel_Edge ); + BufPath ( dSel_bSchd, dSel_Edge, Atpd_dsel_q ); + InvPath ( dSel_iSchd, dSel_Edge, Atpd_dsel_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalMUX ( Data, dSel ); + new_schd := VitalMUX ( Data_Schd, dSel_bSchd, dSel_iSchd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, ResultMap(NewValue), Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, dSel; + END LOOP; + END IF; --SN + END; + + -- ------------------------------------------------------------------------ + -- Decoder + -- General Algorithm : + -- (a) Result(...) := '0' when (enable = '0') + -- (b) Result(data) := '1'; all other subelements = '0' + -- ... Result array is decending (n-1 downto 0) + -- + -- DECODERn .......... n:2**n decoder + -- Caution: If 'ResultMap' defines other than strength mapping, the + -- delay selection is not defined. + -- ------------------------------------------------------------------------ + PROCEDURE VitalDECODER2 ( + SIGNAL q : OUT std_logic_vector2; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE NewValue : std_logic_vector2; + VARIABLE Glitch_Data : GlitchArray2; + VARIABLE new_schd : SchedArray2; + VARIABLE Dly, Glch : TimeArray2; + VARIABLE Enable_Schd : SchedType := DefSchedType; + VARIABLE Data_BSchd, Data_ISchd : SchedType; + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_enable_q = VitalZeroDelay01) AND (tpd_data_q = VitalZeroDelay01) THEN + LOOP + q <= VitalDECODER2(Data, Enable, ResultMap); + WAIT ON Data, Enable; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + BufPath ( Data_BSchd, InitialEdge(Data), tpd_data_q ); + InvPath ( Data_ISchd, InitialEdge(Data), tpd_data_q ); + BufPath ( Enable_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + BufPath ( Data_BSchd, GetEdge(Data), tpd_data_q ); + InvPath ( Data_ISchd, GetEdge(Data), tpd_data_q ); + + BufPath ( Enable_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalDECODER2 ( Data, Enable, ResultMap ); + new_schd := VitalDECODER2 ( Data_BSchd, Data_ISchd, Enable_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, NewValue, Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; -- SN + END; +-- + PROCEDURE VitalDECODER4 ( + SIGNAL q : OUT std_logic_vector4; + SIGNAL Data : IN std_logic_vector2; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : std_logic_vector4; + VARIABLE Glitch_Data : GlitchArray4; + VARIABLE new_schd : SchedArray4; + VARIABLE Dly, Glch : TimeArray4; + VARIABLE Enable_Schd : SchedType; + VARIABLE Enable_Edge : EdgeType; + VARIABLE Data_Edge : EdgeArray2; + VARIABLE Data_BSchd, Data_ISchd : SchedArray2; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_enable_q /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + ELSE + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + END IF; + IF (AllZeroDelay) THEN LOOP + q <= VitalDECODER4(Data, Enable, ResultMap); + WAIT ON Data, Enable; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_BSchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + InvPath ( Data_ISchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + BufPath ( Enable_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_BSchd, Data_Edge, Atpd_data_q ); + InvPath ( Data_ISchd, Data_Edge, Atpd_data_q ); + + BufPath ( Enable_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalDECODER4 ( Data, Enable, ResultMap ); + new_schd := VitalDECODER4 ( Data_BSchd, Data_ISchd, Enable_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, NewValue, Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; +-- + PROCEDURE VitalDECODER8 ( + SIGNAL q : OUT std_logic_vector8; + SIGNAL Data : IN std_logic_vector3; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : std_logic_vector8; + VARIABLE Glitch_Data : GlitchArray8; + VARIABLE new_schd : SchedArray8; + VARIABLE Dly, Glch : TimeArray8; + VARIABLE Enable_Schd : SchedType; + VARIABLE Enable_Edge : EdgeType; + VARIABLE Data_Edge : EdgeArray3; + VARIABLE Data_BSchd, Data_ISchd : SchedArray3; + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; --SN + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_enable_q /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + ELSE + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + END IF; + IF (AllZeroDelay) THEN LOOP + q <= VitalDECODER(Data, Enable, ResultMap); + WAIT ON Data, Enable; + END LOOP; + ELSE + + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_BSchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + InvPath ( Data_ISchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + BufPath ( Enable_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_BSchd, Data_Edge, Atpd_data_q ); + InvPath ( Data_ISchd, Data_Edge, Atpd_data_q ); + + BufPath ( Enable_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalDECODER8 ( Data, Enable, ResultMap ); + new_schd := VitalDECODER8 ( Data_BSchd, Data_ISchd, Enable_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, NewValue, Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; --SN + END; +-- + PROCEDURE VitalDECODER ( + SIGNAL q : OUT std_logic_vector; + SIGNAL Data : IN std_logic_vector; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) IS + VARIABLE LastData : std_logic_vector(Data'RANGE) := (OTHERS=>'U'); + VARIABLE NewValue : std_logic_vector(q'RANGE); + VARIABLE Glitch_Data : GlitchDataArrayType(q'RANGE); + VARIABLE new_schd : SchedArray(q'RANGE); + VARIABLE Dly, Glch : VitalTimeArray(q'RANGE); + VARIABLE Enable_Schd : SchedType; + VARIABLE Enable_Edge : EdgeType; + VARIABLE Data_Edge : EdgeArray(Data'RANGE); + VARIABLE Data_BSchd, Data_ISchd : SchedArray(Data'RANGE); + ALIAS Atpd_data_q : VitalDelayArrayType01(Data'RANGE) IS tpd_data_q; + VARIABLE AllZeroDelay : BOOLEAN := TRUE; + BEGIN + -- ------------------------------------------------------------------------ + -- Check if ALL zero delay paths, use simple model + -- ( No delay selection, glitch detection required ) + -- ------------------------------------------------------------------------ + IF (tpd_enable_q /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + ELSE + FOR i IN Data'RANGE LOOP + IF (Atpd_data_q(i) /= VitalZeroDelay01) THEN + AllZeroDelay := FALSE; + EXIT; + END IF; + END LOOP; + END IF; + IF (AllZeroDelay) THEN LOOP + q <= VitalDECODER(Data, Enable, ResultMap); + WAIT ON Data, Enable; + END LOOP; + ELSE + -- -------------------------------------- + -- Initialize delay schedules + -- -------------------------------------- + FOR n IN Data'RANGE LOOP + BufPath ( Data_BSchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + InvPath ( Data_ISchd(n), InitialEdge(Data(n)), Atpd_data_q(n) ); + END LOOP; + BufPath ( Enable_Schd, InitialEdge(Enable), tpd_enable_q ); + + LOOP + -- -------------------------------------- + -- Process input signals + -- get edge values + -- re-evaluate output schedules + -- -------------------------------------- + GetEdge ( Data, LastData, Data_Edge ); + BufPath ( Data_BSchd, Data_Edge, Atpd_data_q ); + InvPath ( Data_ISchd, Data_Edge, Atpd_data_q ); + + BufPath ( Enable_Schd, GetEdge(Enable), tpd_enable_q ); + + -- ------------------------------------ + -- Compute function and propation delaq + -- ------------------------------------ + NewValue := VitalDECODER ( Data, Enable, ResultMap ); + new_schd := VitalDECODER ( Data_BSchd, Data_ISchd, Enable_Schd ); + + -- ------------------------------------------------------ + -- Assign Outputs + -- get delays to new value and possable glitch + -- schedule output change with On Event glitch detection + -- ------------------------------------------------------ + GetSchedDelay ( Dly, Glch, NewValue, CurValue(Glitch_Data), new_schd ); + VitalGlitchOnEvent ( q, "q", Glitch_Data, NewValue, Dly, + PrimGlitchMode, GlitchDelay=>Glch ); + + WAIT ON Data, Enable; + END LOOP; + END IF; + END; + + -- ------------------------------------------------------------------------ + FUNCTION VitalTruthTable ( + CONSTANT TruthTable : IN VitalTruthTableType; + CONSTANT DataIn : IN std_logic_vector + ) RETURN std_logic_vector IS + + CONSTANT InputSize : INTEGER := DataIn'LENGTH; + CONSTANT OutSize : INTEGER := TruthTable'LENGTH(2) - InputSize; + VARIABLE ReturnValue : std_logic_vector(OutSize - 1 DOWNTO 0) + := (OTHERS => 'X'); + VARIABLE DataInAlias : std_logic_vector(0 TO InputSize - 1) + := To_X01(DataIn); + VARIABLE Index : INTEGER; + VARIABLE Err : BOOLEAN := FALSE; + + -- This needs to be done since the TableLookup arrays must be + -- ascending starting with 0 + VARIABLE TableAlias : VitalTruthTableType(0 TO (TruthTable'LENGTH(1)-1), + 0 TO (TruthTable'LENGTH(2)-1)) + := TruthTable; + + BEGIN + -- search through each row of the truth table + IF OutSize > 0 THEN + ColLoop: + FOR i IN TableAlias'RANGE(1) LOOP + + RowLoop: -- Check each input element of the entry + FOR j IN 0 TO InputSize LOOP + + IF (j = InputSize) THEN -- This entry matches + -- Return the Result + Index := 0; + FOR k IN TruthTable'LENGTH(2) - 1 DOWNTO InputSize LOOP + TruthOutputX01Z ( TableAlias(i,k), + ReturnValue(Index), Err); + EXIT WHEN Err; + Index := Index + 1; + END LOOP; + + IF Err THEN + ReturnValue := (OTHERS => 'X'); + END IF; + RETURN ReturnValue; + END IF; + IF NOT ValidTruthTableInput(TableAlias(i,j)) THEN + VitalError ( "VitalTruthTable", ErrInpSym, + To_TruthChar(TableAlias(i,j)) ); + EXIT ColLoop; + END IF; + EXIT RowLoop WHEN NOT ( TruthTableMatch( DataInAlias(j), + TableAlias(i, j))); + END LOOP RowLoop; + END LOOP ColLoop; + + ELSE + VitalError ( "VitalTruthTable", ErrTabWidSml ); + END IF; + RETURN ReturnValue; + END VitalTruthTable; + + FUNCTION VitalTruthTable ( + CONSTANT TruthTable : IN VitalTruthTableType; + CONSTANT DataIn : IN std_logic_vector + ) RETURN std_logic IS + + CONSTANT InputSize : INTEGER := DataIn'LENGTH; + CONSTANT OutSize : INTEGER := TruthTable'LENGTH(2) - InputSize; + VARIABLE TempResult : std_logic_vector(OutSize - 1 DOWNTO 0) + := (OTHERS => 'X'); + BEGIN + IF (OutSize > 0) THEN + TempResult := VitalTruthTable(TruthTable, DataIn); + IF ( 1 > OutSize) THEN + VitalError ( "VitalTruthTable", ErrTabResSml ); + ELSIF ( 1 < OutSize) THEN + VitalError ( "VitalTruthTable", ErrTabResLrg ); + END IF; + RETURN (TempResult(0)); + ELSE + VitalError ( "VitalTruthTable", ErrTabWidSml ); + RETURN 'X'; + END IF; + END VitalTruthTable; + + PROCEDURE VitalTruthTable ( + SIGNAL Result : OUT std_logic_vector; + CONSTANT TruthTable : IN VitalTruthTableType; + SIGNAL DataIn : IN std_logic_vector -- IR#236 + ) IS + CONSTANT ResLeng : INTEGER := Result'LENGTH; + CONSTANT ActResLen : INTEGER := TruthTable'LENGTH(2) - DataIn'LENGTH; + CONSTANT FinalResLen : INTEGER := Minimum(ActResLen, ResLeng); + VARIABLE TempResult : std_logic_vector(ActResLen - 1 DOWNTO 0) + := (OTHERS => 'X'); + + BEGIN + TempResult := VitalTruthTable(TruthTable, DataIn); + + IF (ResLeng > ActResLen) THEN + VitalError ( "VitalTruthTable", ErrTabResSml ); + ELSIF (ResLeng < ActResLen) THEN + VitalError ( "VitalTruthTable", ErrTabResLrg ); + END IF; + TempResult(FinalResLen-1 DOWNTO 0) := TempResult(FinalResLen-1 DOWNTO 0); + Result <= TempResult; + + END VitalTruthTable; + + PROCEDURE VitalTruthTable ( + SIGNAL Result : OUT std_logic; + CONSTANT TruthTable : IN VitalTruthTableType; + SIGNAL DataIn : IN std_logic_vector -- IR#236 + ) IS + + CONSTANT ActResLen : INTEGER := TruthTable'LENGTH(2) - DataIn'LENGTH; + VARIABLE TempResult : std_logic_vector(ActResLen - 1 DOWNTO 0) + := (OTHERS => 'X'); + + BEGIN + TempResult := VitalTruthTable(TruthTable, DataIn); + + IF ( 1 > ActResLen) THEN + VitalError ( "VitalTruthTable", ErrTabResSml ); + ELSIF ( 1 < ActResLen) THEN + VitalError ( "VitalTruthTable", ErrTabResLrg ); + END IF; + IF (ActResLen > 0) THEN + Result <= TempResult(0); + END IF; + + END VitalTruthTable; + + -- ------------------------------------------------------------------------ + PROCEDURE VitalStateTable ( + VARIABLE Result : INOUT std_logic_vector; + VARIABLE PreviousDataIn : INOUT std_logic_vector; + CONSTANT StateTable : IN VitalStateTableType; + CONSTANT DataIn : IN std_logic_vector; + CONSTANT NumStates : IN NATURAL + ) IS + + CONSTANT InputSize : INTEGER := DataIn'LENGTH; + CONSTANT OutSize : INTEGER + := StateTable'LENGTH(2) - InputSize - NumStates; + CONSTANT ResLeng : INTEGER := Result'LENGTH; + VARIABLE DataInAlias : std_logic_vector(0 TO DataIn'LENGTH-1) + := To_X01(DataIn); + VARIABLE PrevDataAlias : std_logic_vector(0 TO PreviousDataIn'LENGTH-1) + := To_X01(PreviousDataIn); + VARIABLE ResultAlias : std_logic_vector(0 TO ResLeng-1) + := To_X01(Result); + VARIABLE ExpResult : std_logic_vector(0 TO OutSize-1); + + BEGIN + IF (PreviousDataIn'LENGTH < DataIn'LENGTH) THEN + VitalError ( "VitalStateTable", ErrVctLng, "PreviousDataIn 'X'); + Result := ResultAlias; + + ELSIF (OutSize <= 0) THEN + VitalError ( "VitalStateTable", ErrTabWidSml ); + + ResultAlias := (OTHERS => 'X'); + Result := ResultAlias; + + ELSE + IF (ResLeng > OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResSml ); + ELSIF (ResLeng < OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResLrg ); + END IF; + + ExpResult := StateTableLookUp ( StateTable, DataInAlias, + PrevDataAlias, NumStates, + ResultAlias); + ResultAlias := (OTHERS => 'X'); + ResultAlias ( Maximum(0, ResLeng - OutSize) TO ResLeng - 1) + := ExpResult(Maximum(0, OutSize - ResLeng) TO OutSize-1); + + Result := ResultAlias; + PrevDataAlias(0 TO InputSize - 1) := DataInAlias; + PreviousDataIn := PrevDataAlias; + + END IF; + END VitalStateTable; + + + PROCEDURE VitalStateTable ( + VARIABLE Result : INOUT std_logic; -- states + VARIABLE PreviousDataIn : INOUT std_logic_vector; -- previous inputs and states + CONSTANT StateTable : IN VitalStateTableType; -- User's StateTable data + CONSTANT DataIn : IN std_logic_vector -- Inputs + ) IS + + VARIABLE ResultAlias : std_logic_vector(0 TO 0); + BEGIN + ResultAlias(0) := Result; + VitalStateTable ( StateTable => StateTable, + DataIn => DataIn, + NumStates => 1, + Result => ResultAlias, + PreviousDataIn => PreviousDataIn + ); + Result := ResultAlias(0); + + END VitalStateTable; + + PROCEDURE VitalStateTable ( + SIGNAL Result : INOUT std_logic_vector; + CONSTANT StateTable : IN VitalStateTableType; + SIGNAL DataIn : IN std_logic_vector; + CONSTANT NumStates : IN NATURAL + ) IS + + CONSTANT InputSize : INTEGER := DataIn'LENGTH; + CONSTANT OutSize : INTEGER + := StateTable'LENGTH(2) - InputSize - NumStates; + CONSTANT ResLeng : INTEGER := Result'LENGTH; + + VARIABLE PrevData : std_logic_vector(0 TO DataIn'LENGTH-1) + := (OTHERS => 'X'); + VARIABLE DataInAlias : std_logic_vector(0 TO DataIn'LENGTH-1); + VARIABLE ResultAlias : std_logic_vector(0 TO ResLeng-1); + VARIABLE ExpResult : std_logic_vector(0 TO OutSize-1); + + BEGIN + IF (OutSize <= 0) THEN + VitalError ( "VitalStateTable", ErrTabWidSml ); + + ResultAlias := (OTHERS => 'X'); + Result <= ResultAlias; + + ELSE + IF (ResLeng > OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResSml ); + ELSIF (ResLeng < OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResLrg ); + END IF; + + LOOP + DataInAlias := To_X01(DataIn); + ResultAlias := To_X01(Result); + ExpResult := StateTableLookUp ( StateTable, DataInAlias, + PrevData, NumStates, + ResultAlias); + ResultAlias := (OTHERS => 'X'); + ResultAlias(Maximum(0, ResLeng - OutSize) TO ResLeng-1) + := ExpResult(Maximum(0, OutSize - ResLeng) TO OutSize-1); + + Result <= ResultAlias; + PrevData := DataInAlias; + + WAIT ON DataIn; + END LOOP; + + END IF; + + END VitalStateTable; + + PROCEDURE VitalStateTable ( + SIGNAL Result : INOUT std_logic; + CONSTANT StateTable : IN VitalStateTableType; + SIGNAL DataIn : IN std_logic_vector + ) IS + + CONSTANT InputSize : INTEGER := DataIn'LENGTH; + CONSTANT OutSize : INTEGER := StateTable'LENGTH(2) - InputSize-1; + + VARIABLE PrevData : std_logic_vector(0 TO DataIn'LENGTH-1) + := (OTHERS => 'X'); + VARIABLE DataInAlias : std_logic_vector(0 TO DataIn'LENGTH-1); + VARIABLE ResultAlias : std_logic_vector(0 TO 0); + VARIABLE ExpResult : std_logic_vector(0 TO OutSize-1); + + BEGIN + IF (OutSize <= 0) THEN + VitalError ( "VitalStateTable", ErrTabWidSml ); + + Result <= 'X'; + + ELSE + IF ( 1 > OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResSml ); + ELSIF ( 1 < OutSize) THEN + VitalError ( "VitalStateTable", ErrTabResLrg ); + END IF; + + LOOP + ResultAlias(0) := To_X01(Result); + DataInAlias := To_X01(DataIn); + ExpResult := StateTableLookUp ( StateTable, DataInAlias, + PrevData, 1, ResultAlias); + + Result <= ExpResult(OutSize-1); + PrevData := DataInAlias; + + WAIT ON DataIn; + END LOOP; + END IF; + + END VitalStateTable; + + -- ------------------------------------------------------------------------ + -- std_logic resolution primitive + -- ------------------------------------------------------------------------ + PROCEDURE VitalResolve ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector --IR236 4/2/98 + ) IS + VARIABLE uData : std_ulogic_vector(Data'RANGE); + BEGIN + FOR i IN Data'RANGE LOOP + uData(i) := Data(i); + END LOOP; + q <= resolved(uData); + END; + +END VITAL_Primitives; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_p.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_p.vhdl new file mode 100644 index 0000000..857899e --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/prmtvs_p.vhdl @@ -0,0 +1,1413 @@ +-- ----------------------------------------------------------------------------- +-- Title : Standard VITAL_Primitives Package +-- : $Revision$ +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : +-- Purpose : This packages defines standard types, constants, functions +-- : and procedures for use in developing ASIC models. +-- : Specifically a set of logic primitives are defined. +-- : +-- Known Errors : +-- : +-- Note : No declarations or definitions shall be included in, +-- : or excluded from this package. The "package declaration" +-- : defines the objects (types, subtypes, constants, functions, +-- : procedures ... etc.) that can be used by a user. The package +-- : body shall be considered the formal definition of the +-- : semantics of this package. Tool developers may choose to +-- : implement the package body in the most efficient manner +-- : available to them. +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Acknowledgments: +-- This code was originally developed under the "VHDL Initiative Toward ASIC +-- Libraries" (VITAL), an industry sponsored initiative. Technical +-- Director: William Billowitch, VHDL Technology Group; U.S. Coordinator: +-- Steve Schultz; Steering Committee Members: Victor Berman, Cadence Design +-- Systems; Oz Levia, Synopsys Inc.; Ray Ryan, Ryan & Ryan; Herman van Beek, +-- Texas Instruments; Victor Martin, Hewlett-Packard Company. +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Version No:|Auth:| Mod.Date:| Changes Made: +-- v95.0 A | | 06/02/95 | Initial ballot draft 1995 +-- ---------------------------------------------------------------------------- +-- v95.3 | ddl | 09/24/96 | #236 - VitalTruthTable DataIn should be of +-- | | | of class SIGNAL (PROPOSED) +-- ---------------------------------------------------------------------------- + +LIBRARY IEEE; +USE IEEE.Std_Logic_1164.ALL; +USE IEEE.VITAL_Timing.ALL; + +PACKAGE VITAL_Primitives IS + -- ------------------------------------------------------------------------ + -- Type and Subtype Declarations + -- ------------------------------------------------------------------------ + + -- For Truth and State Tables + SUBTYPE VitalTruthSymbolType IS VitalTableSymbolType RANGE 'X' TO 'Z'; + SUBTYPE VitalStateSymbolType IS VitalTableSymbolType RANGE '/' TO 'S'; + + TYPE VitalTruthTableType IS ARRAY ( NATURAL RANGE <>, NATURAL RANGE <> ) + OF VitalTruthSymbolType; + TYPE VitalStateTableType IS ARRAY ( NATURAL RANGE <>, NATURAL RANGE <> ) + OF VitalStateSymbolType; + + -- --------------------------------- + -- Default values used by primitives + -- --------------------------------- + CONSTANT VitalDefDelay01 : VitalDelayType01; -- Propagation delays + CONSTANT VitalDefDelay01Z : VitalDelayType01Z; + + -- ------------------------------------------------------------------------ + -- VITAL Primitives + -- + -- The primitives packages contains a collections of common gates, + -- including AND, OR, XOR, NAND, NOR, XNOR, BUF, INV, MUX and DECODER + -- functions. In addition, for sequential devices, a STATE TABLE construct + -- is provided. For complex functions a modeler may wish to use either + -- a collection of connected VITAL primitives, or a TRUTH TABLE construct. + -- + -- For each primitive a Function and Procedure is provided. The primitive + -- functions are provided to support behavioral modeling styles. The + -- primitive procedures are provided to support structural modeling styles. + -- + -- The procedures wait internally for an event on an input signal, compute + -- the new result, perform glitch handling, schedule transaction on the + -- output signals, and wait for future input events. All of the functional + -- (logic) input or output parameters of the primitive procedures are + -- signals. All the other parameters are constants. + -- + -- The procedure primitives are parameterized for separate path delays + -- from each input signal. All path delays default to 0 ns. + -- + -- The sequential primitive functions compute the defined function and + -- return a value of type std_ulogic or std_logic_vector. All parameters + -- of the primitive functions are constants of mode IN. + -- + -- The primitives are based on 1164 operators. The user may also elect to + -- express functions using the 1164 operators as well. These styles are + -- all equally acceptable methods for device modeling. + -- + -- ------------------------------------------------------------------------ + -- + -- Sequential + -- Primitive + -- Function Name: N-input logic device function calls: + -- VitalAND VitalOR VitalXOR + -- VitalNAND VitalNOR VitalXNOR + -- + -- Description: The function calls return the evaluated logic function + -- corresponding to the function name. + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_logic_vector The input signals for the n-bit + -- wide logic functions. + -- ResultMap VitalResultMapType The output signal strength + -- result map to modify default + -- result mapping. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_ulogic The evaluated logic function of + -- the n-bit wide primitives. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalAND ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNAND ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXNOR ( + CONSTANT Data : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap + ) RETURN std_ulogic; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: N-input logic device concurrent procedure calls. + -- VitalAND VitalOR VitalXOR + -- VitalNAND VitalNOR VitalXNOR + -- + -- Description: The procedure calls return the evaluated logic function + -- corresponding to the function name as a parameter to the + -- procedure. Propagation delay form data to q is a + -- a parameter to the procedure. A vector of delay values + -- for inputs to output are provided. It is noted that + -- limitations in SDF make the back annotation of the delay + -- array difficult. + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_logic_vector The input signals for the n- + -- bit wide logic functions. + -- tpd_data_q VitalDelayArrayType01 The propagation delay from + -- the data inputs to the output + -- q. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic The output signal of the + -- evaluated logic function. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalAND ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNAND ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXNOR ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + -- ------------------------------------------------------------------------- + -- + -- Sequential + -- Primitive + -- Function Name: 2,3 and 4 input logic device function calls. + -- + -- VitalAND2 VitalOR2 VitalXOR2 + -- VitalAND3 VitalOR3 VitalXOR3 + -- VitalAND4 VitalOR4 VitalXOR4 + -- + -- VitalNAND2 VitalNOR2 VitalXNOR2 + -- VitalNAND3 VitalNOR3 VitalXNOR3 + -- VitalNAND4 VitalNOR4 VitalXNOR4 + -- + -- Description: The function calls return the evaluated 2, 3 or 4 input + -- logic function corresponding to the function name. + -- + -- Arguments: + -- + -- IN Type Description + -- a, b, c, d std_ulogic 2 input devices have a and b as + -- inputs. 3 input devices have a, b + -- and c as inputs. 4 input devices + -- have a, b, c and d as inputs. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_ulogic The result of the evaluated logic + -- function. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalAND2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNAND2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXNOR2 ( + CONSTANT a, b : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalAND3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNAND3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXNOR3 ( + CONSTANT a, b, c : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalAND4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNAND4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalNOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalXNOR4 ( + CONSTANT a, b, c, d : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: 2, 3 and 4 input logic device concurrent procedure + -- calls. + -- + -- VitalAND2 VitalOR2 VitalXOR2 + -- VitalAND3 VitalOR3 VitalXOR3 + -- VitalAND4 VitalOR4 VitalXOR4 + -- + -- VitalNAND2 VitalNOR2 VitalXNOR2 + -- VitalNAND3 VitalNOR3 VitalXNOR3 + -- VitalNAND4 VitalNOR4 VitalXNOR4 + -- + -- Description: The procedure calls return the evaluated logic function + -- corresponding to the function name as a parameter to the + -- procedure. Propagation delays from a and b to q are + -- a parameter to the procedure. The default propagation + -- delay is 0 ns. + -- + -- Arguments: + -- + -- IN Type Description + -- a, b, c, d std_ulogic 2 input devices have a and b as + -- inputs. 3 input devices have a, b + -- and c as inputs. 4 input devices + -- have a, b, c and d as inputs. + -- tpd_a_q VitalDelayType01 The propagation delay from the a + -- input to output q for 2, 3 and 4 + -- input devices. + -- tpd_b_q VitalDelayType01 The propagation delay from the b + -- input to output q for 2, 3 and 4 + -- input devices. + -- tpd_c_q VitalDelayType01 The propagation delay from the c + -- input to output q for 3 and 4 input + -- devices. + -- tpd_d_q VitalDelayType01 The propagation delay from the d + -- input to output q for 4 input + -- devices. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic The output signal of the evaluated + -- logic function. + -- + -- Returns + -- none + -- ------------------------------------------------------------------------- + PROCEDURE VitalAND2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNAND2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXNOR2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalAND3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNAND3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXNOR3 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalAND4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNAND4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalNOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalXNOR4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL a, b, c, d : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_b_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_c_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + -- ------------------------------------------------------------------------ + -- + -- Sequential + -- Primitive + -- Function Name: Buffer logic device concurrent procedure calls. + -- + -- Description: Four buffer sequential primitive function calls are + -- provided. One is a simple buffer and the others + -- offer high and low enables and the four permits + -- propagation of Z as shown below: + -- + -- VitalBUF Standard non-inverting buffer + -- VitalBUFIF0 Non-inverting buffer with Enable low + -- VitalBUFIF1 Non-inverting buffer with Enable high + -- VitalIDENT Pass buffer capable of propagating Z + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_ulogic Input to the buffers + -- Enable std_ulogic Enable for the enable high and low + -- buffers. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping for + -- simple buffer. + -- VitalResultZMapType The output signal strength result map + -- to modify default result mapping + -- which has high impedance capability + -- for the enable high, enable low and + -- identity buffers. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_ulogic The output signal of the evaluated + -- buffer function. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalBUF ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + FUNCTION VitalBUFIF0 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic; + FUNCTION VitalBUFIF1 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic; + FUNCTION VitalIDENT ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: Buffer device procedure calls. + -- + -- Description: Four buffer concurrent primitive procedure calls are + -- provided. One is a simple buffer and the others + -- offer high and low enables and the fourth permits + -- propagation of Z as shown below: + -- + -- VitalBUF Standard non-inverting buffer + -- VitalBUFIF0 Non-inverting buffer with Enable low + -- VitalBUFIF1 Non-inverting buffer with Enable high + -- VitalIDENT Pass buffer capable of propagating Z + -- + -- Arguments: + -- + -- IN Type Description + -- a std_ulogic Input signal to the buffers + -- Enable std_ulogic Enable signal for the enable high and + -- low buffers. + -- tpd_a_q VitalDelayType01 Propagation delay from input to + -- output for the simple buffer. + -- VitalDelayType01Z Propagation delay from input to + -- to output for the enable high and low + -- and identity buffers. + -- tpd_enable_q VitalDelayType01Z Propagation delay from enable to + -- output for the enable high and low + -- buffers. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping for + -- simple buffer. + -- VitalResultZMapType The output signal strength result map + -- to modify default result mapping + -- which has high impedance capability + -- for the enable high, enable low and + -- identity buffers. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic Output of the buffers. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalBUF ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalBUFIF0 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap); + + + PROCEDURE VitalBUFIF1 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap); + + PROCEDURE VitalIDENT ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap ); + + -- ------------------------------------------------------------------------ + -- + -- Sequential + -- Primitive + -- Function Name: VitalINV, VitalINVIF0, VitalINVIF1 + -- + -- Description: Inverter functions which return the inverted signal + -- value. Inverters with enable low and high are provided + -- which can drive high impedance when inactive. + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_ulogic Input to the inverter + -- Enable std_ulogic Enable to the enable high and low + -- inverters. + -- ResultMap VitalResultMap The output signal strength result map + -- to modify default result mapping for + -- simple inverter. + -- VitalResultZMapType The output signal strength result map + -- to modify default result mapping + -- which has high impedance capability + -- for the enable high, enable low + -- inverters. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_ulogic Output of the inverter + -- + -- ------------------------------------------------------------------------- + + FUNCTION VitalINV ( + CONSTANT Data : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalINVIF0 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic; + + FUNCTION VitalINVIF1 ( + CONSTANT Data, Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap + ) RETURN std_ulogic; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: VitalINV, VitalINVIF0, VitalINVIF1 + -- + -- Description: The concurrent primitive procedure calls implement a + -- signal inversion function. The output is a parameter to + -- the procedure. The path delay information is passed as + -- a parameter to the call. + -- + -- Arguments: + -- + -- IN Type Description + -- a std_ulogic Input signal for the simple inverter + -- Data std_ulogic Input signal for the enable high and + -- low inverters. + -- Enable std_ulogic Enable signal for the enable high and + -- low inverters. + -- tpd_a_q VitalDelayType01 Propagation delay from input a to + -- output q for the simple inverter. + -- tpd_data_q VitalDelayType01 Propagation delay from input data to + -- output q for the enable high and low + -- inverters. + -- tpd_enable_q VitalDelayType01Z Propagation delay from input enable + -- to output q for the enable high and + -- low inverters. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping for + -- simple inverter. + -- VitalResultZMapType The output signal strength result map + -- to modify default result mapping + -- which has high impedance capability + -- for the enable high, enable low + -- inverters. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic Output signal of the inverter. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalINV ( + SIGNAL q : OUT std_ulogic; + SIGNAL a : IN std_ulogic; + CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + PROCEDURE VitalINVIF0 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap); + + PROCEDURE VitalINVIF1 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; + CONSTANT ResultMap : IN VitalResultZMapType + := VitalDefaultResultZMap); + + -- ------------------------------------------------------------------------ + -- + -- Sequential + -- Primitive + -- Function Name: VitalMUX, VitalMUX2, VitalMUX4, VitalMUX8 + -- + -- Description: The VitalMUX functions return the selected data bit + -- based on the value of dSelect. For MUX2, the function + -- returns data0 when dselect is 0 and returns data1 when + -- dselect is 1. When dselect is X, result is X for MUX2 + -- when data0 /= data1. X propagation is reduced when the + -- dselect signal is X and both data signals are identical. + -- When this is the case, the result returned is the value + -- of the data signals. + -- + -- For the N input device: + -- + -- N must equal 2**(bits of dSelect) + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_logic_vector Input signal for the N-bit, 4-bit and + -- 8-bit mux. + -- Data1,Data0 std_ulogic Input signals for the 2-bit mux. + -- dSelect std_ulogic Select signal for 2-bit mux + -- std_logic_vector2 Select signal for 4-bit mux + -- std_logic_vector3 Select signal for 8-bit mux + -- std_logic_vector Select signal for N-Bit mux + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping for + -- all muxes. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_ulogic The value of the selected bit is + -- returned. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalMUX ( + CONSTANT Data : IN std_logic_vector; + CONSTANT dSelect : IN std_logic_vector; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalMUX2 ( + CONSTANT Data1, Data0 : IN std_ulogic; + CONSTANT dSelect : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalMUX4 ( + CONSTANT Data : IN std_logic_vector4; + CONSTANT dSelect : IN std_logic_vector2; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + FUNCTION VitalMUX8 ( + CONSTANT Data : IN std_logic_vector8; + CONSTANT dSelect : IN std_logic_vector3; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_ulogic; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: VitalMUX, VitalMUX2, VitalMUX4, VitalMUX8 + -- + -- Description: The VitalMUX concurrent primitive procedures calls + -- return in the output q the value of the selected data + -- bit based on the value of dsel. For the two bit mux, + -- the data returned is either d0 or d1, the data input. + -- For 4, 8 and N-bit functions, data is the input and is + -- of type std_logic_vector. For the 2-bit mux, if d0 or + -- d1 are X, the output is X only when d0 do not equal d1. + -- When d0 and d1 are equal, the return value is this value + -- to reduce X propagation. + -- + -- Propagation delay information is passed as a parameter + -- to the procedure call for delays from data to output and + -- select to output. For 2-bit muxes, the propagation + -- delays from data are provided for d0 and d1 to output. + -- + -- + -- Arguments: + -- + -- IN Type Description + -- d1,d0 std_ulogic Input signals for the 2-bit mux. + -- Data std_logic_vector4 Input signals for the 4-bit mux. + -- std_logic_vector8 Input signals for the 8-bit mux. + -- std_logic_vector Input signals for the N-bit mux. + -- dsel std_ulogic Select signal for the 2-bit mux. + -- std_logic_vector2 Select signals for the 4-bit mux. + -- std_logic_vector3 Select signals for the 8-bit mux. + -- std_logic_vector Select signals for the N-bit mux. + -- tpd_d1_q VitalDelayType01 Propagation delay from input d1 to + -- output q for 2-bit mux. + -- tpd_d0_q VitalDelayType01 Propagation delay from input d0 to + -- output q for 2-bit mux. + -- tpd_data_q VitalDelayArrayType01 Propagation delay from input data + -- to output q for 4-bit, 8-bit and + -- N-bit muxes. + -- tpd_dsel_q VitalDelayType01 Propagation delay from input dsel + -- to output q for 2-bit mux. + -- VitalDelayArrayType01 Propagation delay from input dsel + -- to output q for 4-bit, 8-bit and + -- N-bit muxes. + -- ResultMap VitalResultMapType The output signal strength result + -- map to modify default result + -- mapping for all muxes. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic The value of the selected signal. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalMUX ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector; + SIGNAL dSel : IN std_logic_vector; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalMUX2 ( + SIGNAL q : OUT std_ulogic; + SIGNAL d1, d0 : IN std_ulogic; + SIGNAL dSel : IN std_ulogic; + CONSTANT tpd_d1_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_d0_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_dsel_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalMUX4 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector4; + SIGNAL dSel : IN std_logic_vector2; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalMUX8 ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector8; + SIGNAL dSel : IN std_logic_vector3; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + -- ------------------------------------------------------------------------ + -- + -- Sequential + -- Primitive + -- Function Name: VitalDECODER, VitalDECODER2, VitalDECODER4, + -- VitalDECODER8 + -- + -- Description: The VitalDECODER functions are the sequential primitive + -- calls for decoder logic. The functions are provided + -- for N, 2, 4 and 8-bit outputs. + -- + -- The N-bit decoder is (2**(bits of data)) wide. + -- + -- The VitalDECODER returns 0 if enable is 0. + -- The VitalDECODER returns the result bit set to 1 if + -- enable is 1. All other bits of returned result are + -- set to 0. + -- + -- The returned array is in descending order: + -- (n-1 downto 0). + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_ulogic Input signal for 2-bit decoder. + -- std_logic_vector2 Input signals for 4-bit decoder. + -- std_logic_vector3 Input signals for 8-bit decoder. + -- std_logic_vector Input signals for N-bit decoder. + -- Enable std_ulogic Enable input signal. The result is + -- output when enable is high. + -- ResultMap VitalResultMapType The output signal strength result map + -- to modify default result mapping for + -- all output signals of the decoders. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- std_logic_vector2 The output of the 2-bit decoder. + -- std_logic_vector4 The output of the 4-bit decoder. + -- std_logic_vector8 The output of the 8-bit decoder. + -- std_logic_vector The output of the n-bit decoder. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalDECODER ( + CONSTANT Data : IN std_logic_vector; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector; + + FUNCTION VitalDECODER2 ( + CONSTANT Data : IN std_ulogic; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector2; + + FUNCTION VitalDECODER4 ( + CONSTANT Data : IN std_logic_vector2; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector4; + + FUNCTION VitalDECODER8 ( + CONSTANT Data : IN std_logic_vector3; + CONSTANT Enable : IN std_ulogic; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap + ) RETURN std_logic_vector8; + + -- ------------------------------------------------------------------------- + -- + -- Concurrent + -- Primitive + -- Procedure Name: VitalDECODER, VitalDECODER2, VitalDECODER4, + -- VitalDECODER8 + -- + -- Description: The VitalDECODER procedures are the concurrent primitive + -- procedure calls for decoder functions. The procedures + -- are provided for N, 2, 4 and 8 outputs. + -- + -- The N-bit decoder is (2**(bits of data)) wide. + -- + -- The procedural form of the decoder is used for + -- distributed delay modeling. The delay information for + -- each path is passed as an argument to the procedure. + -- + -- Result is set to 0 if enable is 0. + -- The result bit represented by data is set to 1 if + -- enable is 1. All other bits of result are set to 0. + -- + -- The result array is in descending order: (n-1 downto 0). + -- + -- For the N-bit decoder, the delay path is a vector of + -- delays from inputs to outputs. + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_ulogic Input signal for 2-bit decoder. + -- std_logic_vector2 Input signals for 4-bit decoder. + -- std_logic_vector3 Input signals for 8-bit decoder. + -- std_logic_vector Input signals for N-bit decoder. + -- enable std_ulogic Enable input signal. The result is + -- output when enable is high. + -- tpd_data_q VitalDelayType01 Propagation delay from input data + -- to output q for 2-bit decoder. + -- VitalDelayArrayType01 Propagation delay from input data + -- to output q for 4, 8 and n-bit + -- decoders. + -- tpd_enable_q VitalDelayType01 Propagation delay from input enable + -- to output q for 2, 4, 8 and n-bit + -- decoders. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_logic_vector2 Output signals for 2-bit decoder. + -- std_logic_vector4 Output signals for 4-bit decoder. + -- std_logic_vector8 Output signals for 8-bit decoder. + -- std_logic_vector Output signals for n-bit decoder. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalDECODER ( + SIGNAL q : OUT std_logic_vector; + SIGNAL Data : IN std_logic_vector; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + PROCEDURE VitalDECODER2 ( + SIGNAL q : OUT std_logic_vector2; + SIGNAL Data : IN std_ulogic; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + PROCEDURE VitalDECODER4 ( + SIGNAL q : OUT std_logic_vector4; + SIGNAL Data : IN std_logic_vector2; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + PROCEDURE VitalDECODER8 ( + SIGNAL q : OUT std_logic_vector8; + SIGNAL Data : IN std_logic_vector3; + SIGNAL Enable : IN std_ulogic; + CONSTANT tpd_data_q : IN VitalDelayArrayType01; + CONSTANT tpd_enable_q : IN VitalDelayType01 := VitalDefDelay01; + CONSTANT ResultMap : IN VitalResultMapType + := VitalDefaultResultMap ); + + -- ------------------------------------------------------------------------- + -- Function Name: VitalTruthTable + -- + -- Description: VitalTruthTable implements a truth table. Given + -- a set of inputs, a sequential search is performed + -- to match the input. If a match is found, the output + -- is set based on the contents of the CONSTANT TruthTable. + -- If there is no match, all X's are returned. There is + -- no limit to the size of the table. + -- + -- There is a procedure and function for VitalTruthTable. + -- For each of these, a single value output (std_logic) and + -- a multi-value output (std_logic_vector) are provided. + -- + -- The first dimension of the table is for number of + -- entries in the truth table and second dimension is for + -- the number of elements in a row. The number of inputs + -- in the row should be Data'LENGTH plus result'LENGTH. + -- + -- Elements is a row will be interpreted as + -- Input(NumInputs - 1),.., Input(0), + -- Result(NumOutputs - 1),.., Result(0) + -- + -- All inputs will be mapped to the X01 subtype + -- + -- If the value of Result is not in the range 'X' to 'Z' + -- then an error will be reported. Also, the Result is + -- always given either as a 0, 1, X or Z value. + -- + -- Arguments: + -- + -- IN Type Description + -- TruthTable The input constant which defines the + -- behavior in truth table form. + -- DataIn The inputs to the truth table used to + -- perform input match to select + -- output(s) to value(s) to drive. + -- + -- INOUT + -- none + -- + -- OUT + -- Result std_logic Concurrent procedure version scalar + -- output. + -- std_logic_vector Concurrent procedure version vector + -- output. + -- + -- Returns + -- Result std_logic Function version scalar output. + -- std_logic_vector Function version vector output. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalTruthTable ( + CONSTANT TruthTable : IN VitalTruthTableType; + CONSTANT DataIn : IN std_logic_vector + ) RETURN std_logic_vector; + + FUNCTION VitalTruthTable ( + CONSTANT TruthTable : IN VitalTruthTableType; + CONSTANT DataIn : IN std_logic_vector + ) RETURN std_logic; + + PROCEDURE VitalTruthTable ( + SIGNAL Result : OUT std_logic_vector; + CONSTANT TruthTable : IN VitalTruthTableType; + SIGNAL DataIn : IN std_logic_vector -- IR#236 + ); + PROCEDURE VitalTruthTable ( + SIGNAL Result : OUT std_logic; + CONSTANT TruthTable : IN VitalTruthTableType; + SIGNAL DataIn : IN std_logic_vector -- IR#236 + ); + -- ------------------------------------------------------------------------- + -- + -- Function Name: VitalStateTable + -- + -- Description: VitalStateTable is a non-concurrent implementation of a + -- state machine (Moore Machine). It is used to model + -- sequential devices and devices with internal states. + -- + -- The procedure takes the value of the state table + -- data set and performs a sequential search of the + -- CONSTANT StateTable until a match is found. Once a + -- match is found, the result of that match is applied + -- to Result. If there is no match, all X's are returned. + -- The resultant output becomes the input for the next + -- state. + -- + -- The first dimension of the table is the number of + -- entries in the state table and second dimension is the + -- number of elements in a row of the table. The number of + -- inputs in the row should be DataIn'LENGTH. Result should + -- contain the current state (which will become the next + -- state) as well as the outputs + -- + -- Elements is a row of the table will be interpreted as + -- Input(NumInputs-1),.., Input(0), State(NumStates-1), + -- ..., State(0),Output(NumOutputs-1),.., Output(0) + -- + -- where State(numStates-1) DOWNTO State(0) represent the + -- present state and Output(NumOutputs - 1) DOWNTO + -- Outputs(NumOutputs - NumStates) represent the new + -- values of the state variables (i.e. the next state). + -- Also, Output(NumOutputs - NumStates - 1) + -- + -- This procedure returns the next state and the new + -- outputs when a match is made between the present state + -- and present inputs and the state table. A search is + -- made starting at the top of the state table and + -- terminates with the first match. If no match is found + -- then the next state and new outputs are set to all 'X's. + -- + -- (Asynchronous inputs (i.e. resets and clears) must be + -- handled by placing the corresponding entries at the top + -- of the table. ) + -- + -- All inputs will be mapped to the X01 subtype. + -- + -- NOTE: Edge transitions should not be used as values + -- for the state variables in the present state + -- portion of the state table. The only valid + -- values that can be used for the present state + -- portion of the state table are: + -- 'X', '0', '1', 'B', '-' + -- + -- Arguments: + -- + -- IN Type Description + -- StateTable VitalStateTableType The input constant which defines + -- the behavior in state table form. + -- DataIn std_logic_vector The current state inputs to the + -- state table used to perform input + -- matches and transition + -- calculations. + -- NumStates NATURAL Number of state variables + -- + -- INOUT + -- Result std_logic Output signal for scalar version of + -- the concurrent procedure call. + -- std_logic_vector Output signals for vector version + -- of the concurrent procedure call. + -- PreviousDataIn std_logic_vector The previous inputs and states used + -- in transition calculations and to + -- set outputs for steady state cases. + -- + -- OUT + -- none + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalStateTable ( + VARIABLE Result : INOUT std_logic_vector; + VARIABLE PreviousDataIn : INOUT std_logic_vector; + CONSTANT StateTable : IN VitalStateTableType; + CONSTANT DataIn : IN std_logic_vector; + CONSTANT NumStates : IN NATURAL + ); + + PROCEDURE VitalStateTable ( + VARIABLE Result : INOUT std_logic; + VARIABLE PreviousDataIn : INOUT std_logic_vector; + CONSTANT StateTable : IN VitalStateTableType; + CONSTANT DataIn : IN std_logic_vector + ); + + PROCEDURE VitalStateTable ( + SIGNAL Result : INOUT std_logic_vector; + CONSTANT StateTable : IN VitalStateTableType; + SIGNAL DataIn : IN std_logic_vector; + CONSTANT NumStates : IN NATURAL + ); + + PROCEDURE VitalStateTable ( + SIGNAL Result : INOUT std_logic; + CONSTANT StateTable : IN VitalStateTableType; + SIGNAL DataIn : IN std_logic_vector + ); + + -- ------------------------------------------------------------------------- + -- + -- Function Name: VitalResolve + -- + -- Description: VitalResolve takes a vector of signals and resolves + -- them to a std_ulogic value. This procedure can be used + -- to resolve multiple drivers in a single model. + -- + -- Arguments: + -- + -- IN Type Description + -- Data std_logic_vector Set of input signals which drive a + -- common signal. + -- + -- INOUT + -- none + -- + -- OUT + -- q std_ulogic Output signal which is the resolved + -- value being driven by the collection of + -- input signals. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalResolve ( + SIGNAL q : OUT std_ulogic; + SIGNAL Data : IN std_logic_vector); --IR236 4/2/98 + +END VITAL_Primitives; diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_b.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_b.vhdl new file mode 100644 index 0000000..cf6f6f5 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_b.vhdl @@ -0,0 +1,2187 @@ +------------------------------------------------------------------------------- +-- Title : Standard VITAL TIMING Package +-- : $Revision$ +-- Library : VITAL +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : +-- Purpose : This packages defines standard types, attributes, constants, +-- : functions and procedures for use in developing ASIC models. +-- : This file contains the Package Body. +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Version No:|Auth:| Mod.Date:| Changes Made: +-- v95.0 A | | 06/08/95 | Initial ballot draft 1995 +-- v95.1 | | 08/31/95 | #IR203 - Timing violations at time 0 +-- #IR204 - Output mapping prior to glitch detection +-- v98.0 |TAG | 03/27/98 | Initial ballot draft 1998 +-- | #IR225 - Negative Premptive Glitch +-- **Code_effected=ReportGlitch,VitalGlitch, +-- VitalPathDelay,VitalPathDelay01, +-- VitalPathDelay01z. +-- #IR105 - Skew timing check needed +-- **Code_effected=NONE, New code added!! +-- #IR245,IR246,IR251 ITC code to fix false boundry cases +-- **Code_effected=InternalTimingCheck. +-- #IR248 - Allows VPD to use a default timing delay +-- **Code_effected=VitalPathDelay, +-- VitalPathDelay01,VitalPathDelay01z, +-- VitalSelectPathDelay,VitalSelectPathDelay01, +-- VitalSelectPathDelay01z. +-- #IR250 - Corrects fastpath condition in VPD +-- **Code_effected=VitalPathDelay01, +-- VitalPathDelay01z, +-- #IR252 - Corrects cancelled timing check call if +-- condition expires. +-- **Code_effected=VitalSetupHoldCheck, +-- VitalRecoveryRemovalCheck. +-- v98.1 | jdc | 03/25/99 | Changed UseDefaultDelay to IgnoreDefaultDelay +-- and set default to FALSE in VitalPathDelay() +-- +-- ---------------------------------------------------------------------------- + +LIBRARY STD; +USE STD.TEXTIO.ALL; + +PACKAGE BODY VITAL_Timing IS + + -- -------------------------------------------------------------------- + -- Package Local Declarations + -- -------------------------------------------------------------------- + + TYPE CheckType IS ( SetupCheck, HoldCheck, RecoveryCheck, RemovalCheck, + PulseWidCheck, PeriodCheck ); + + TYPE CheckInfoType IS RECORD + Violation : BOOLEAN; + CheckKind : CheckType; + ObsTime : TIME; + ExpTime : TIME; + DetTime : TIME; + State : X01; + END RECORD; + + TYPE LogicCvtTableType IS ARRAY (std_ulogic) OF CHARACTER; + TYPE HiLoStrType IS ARRAY (std_ulogic RANGE 'X' TO '1') OF STRING(1 TO 4); + + CONSTANT LogicCvtTable : LogicCvtTableType + := ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-'); + CONSTANT HiLoStr : HiLoStrType := (" X ", " Low", "High" ); + + TYPE EdgeSymbolMatchType IS ARRAY (X01,X01,VitalEdgeSymbolType) OF BOOLEAN; + -- last value, present value, edge symbol + CONSTANT EdgeSymbolMatch : EdgeSymbolMatchType := ( + 'X'=>('X'=>( OTHERS => FALSE), + '0'=>('N'|'F'|'v'|'E'|'D'|'*' => TRUE, OTHERS => FALSE ), + '1'=>('P'|'R'|'^'|'E'|'A'|'*' => TRUE, OTHERS => FALSE ) ), + '0'=>('X'=>( 'r'|'p'|'R'|'A'|'*' => TRUE, OTHERS => FALSE ), + '0'=>( OTHERS => FALSE ), + '1'=>( '/'|'P'|'p'|'R'|'*' => TRUE, OTHERS => FALSE ) ), + '1'=>('X'=>( 'f'|'n'|'F'|'D'|'*' => TRUE, OTHERS => FALSE ), + '0'=>( '\'|'N'|'n'|'F'|'*' => TRUE, OTHERS => FALSE ), + '1'=>( OTHERS => FALSE ) ) ); + + + + + --------------------------------------------------------------------------- + -- Tables used to implement 'posedge' and 'negedge' in path delays + -- These are new tables for Skewcheck routines. IR105 + --------------------------------------------------------------------------- + + TYPE EdgeRable IS ARRAY(std_ulogic, std_ulogic) OF boolean; + + CONSTANT Posedge : EdgeRable := ( + -- ------------------------------------------------------------------------ + -- | U X 0 1 Z W L H - + -- ------------------------------------------------------------------------ + ( FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE ), -- U + ( FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE ), -- X + ( TRUE , TRUE , FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , TRUE ), -- 0 + ( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ), -- 1 + ( FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE ), -- Z + ( FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE ), -- W + ( TRUE , TRUE , FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , TRUE ), -- L + ( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ), -- H + ( FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE ) -- - + + ); --IR105 + + + CONSTANT Negedge : EdgeRable := ( + -- ----------------------------------------------------------------------- + -- | U X 0 1 Z W L H - + -- ----------------------------------------------------------------------- + ( FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE ), -- U + ( FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE ), -- X + ( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ), -- 0 + ( TRUE , TRUE , TRUE , FALSE, TRUE , TRUE , TRUE , FALSE, TRUE ), -- 1 + ( FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE ), -- Z + ( FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE ), -- W + ( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ), -- L + ( TRUE , TRUE , TRUE , FALSE, TRUE , TRUE , TRUE , FALSE, TRUE ), -- H + ( FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE ) -- - + + ); --IR105 + + TYPE SkewType IS (Inphase, Outphase); --IR105 + + CONSTANT noTrigger : TIME := -1 ns; --IR105 + --------------------------------------------------------------------------- + -- End of Skew (IR105 additions) + --------------------------------------------------------------------------- + + + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + -- Misc Utilities Local Utilities + --------------------------------------------------------------------------- + ----------------------------------------------------------------------- + FUNCTION Minimum ( CONSTANT t1,t2 : IN TIME ) RETURN TIME IS + BEGIN + IF ( t1 < t2 ) THEN RETURN (t1); ELSE RETURN (t2); END IF; + END Minimum; + ----------------------------------------------------------------------- + FUNCTION Maximum ( CONSTANT t1,t2 : IN TIME ) RETURN TIME IS + BEGIN + IF ( t1 > t2 ) THEN RETURN (t1); ELSE RETURN (t2); END IF; + END Maximum; + + -------------------------------------------------------------------- + -- Error Message Types and Tables + -------------------------------------------------------------------- + TYPE VitalErrorType IS ( + ErrVctLng , + ErrNoPath , + ErrNegPath , + ErrNegDel + ); + + TYPE VitalErrorSeverityType IS ARRAY (VitalErrorType) OF SEVERITY_LEVEL; + CONSTANT VitalErrorSeverity : VitalErrorSeverityType := ( + ErrVctLng => ERROR, + ErrNoPath => WARNING, + ErrNegPath => WARNING, + ErrNegDel => WARNING + ); + + CONSTANT MsgNoPath : STRING := + "No Delay Path Condition TRUE. 0-delay used. Output signal is: "; + CONSTANT MsgNegPath : STRING := + "Path Delay less than time since input. 0 delay used. Output signal is: "; + CONSTANT MsgNegDel : STRING := + "Negative delay. New output value not scheduled. Output signal is: "; + CONSTANT MsgVctLng : STRING := + "Vector (array) lengths not equal. "; + + CONSTANT MsgUnknown : STRING := + "Unknown error message."; + + FUNCTION VitalMessage ( + CONSTANT ErrorId : IN VitalErrorType + ) RETURN STRING IS + BEGIN + CASE ErrorId IS + WHEN ErrVctLng => RETURN MsgVctLng; + WHEN ErrNoPath => RETURN MsgNoPath; + WHEN ErrNegPath => RETURN MsgNegPath; + WHEN ErrNegDel => RETURN MsgNegDel; + WHEN OTHERS => RETURN MsgUnknown; + END CASE; + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) + SEVERITY VitalErrorSeverity(ErrorId); + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType; + CONSTANT Info : IN STRING + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) & Info + SEVERITY VitalErrorSeverity(ErrorId); + END; + + PROCEDURE VitalError ( + CONSTANT Routine : IN STRING; + CONSTANT ErrorId : IN VitalErrorType; + CONSTANT Info : IN CHARACTER + ) IS + BEGIN + ASSERT FALSE + REPORT Routine & ": " & VitalMessage(ErrorId) & Info + SEVERITY VitalErrorSeverity(ErrorId); + END; + + --------------------------------------------------------------------------- + -- Time Delay Assignment Subprograms + --------------------------------------------------------------------------- + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType + ) RETURN VitalDelayType01Z IS + BEGIN + RETURN (OTHERS => Delay); + END VitalExtendToFillDelay; + + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType01 + ) RETURN VitalDelayType01Z IS + VARIABLE Delay01Z : VitalDelayType01Z; + BEGIN + Delay01Z(tr01) := Delay(tr01); + Delay01Z(tr0z) := Delay(tr01); + Delay01Z(trz1) := Delay(tr01); + Delay01Z(tr10) := Delay(tr10); + Delay01Z(tr1z) := Delay(tr10); + Delay01Z(trz0) := Delay(tr10); + RETURN (Delay01Z); + END VitalExtendToFillDelay; + + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType01Z + ) RETURN VitalDelayType01Z IS + BEGIN + RETURN Delay; + END VitalExtendToFillDelay; + + --------------------------------------------------------------------------- + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType + ) RETURN TIME IS + BEGIN + RETURN delay; + END VitalCalcDelay; + + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType01 + ) RETURN TIME IS + VARIABLE Result : TIME; + BEGIN + CASE Newval IS + WHEN '0' | 'L' => Result := Delay(tr10); + WHEN '1' | 'H' => Result := Delay(tr01); + WHEN 'Z' => + CASE Oldval IS + WHEN '0' | 'L' => Result := Delay(tr01); + WHEN '1' | 'H' => Result := Delay(tr10); + WHEN OTHERS => Result := MAXIMUM(Delay(tr10), Delay(tr01)); + END CASE; + WHEN OTHERS => + CASE Oldval IS + WHEN '0' | 'L' => Result := Delay(tr01); + WHEN '1' | 'H' => Result := Delay(tr10); + WHEN 'Z' => Result := MINIMUM(Delay(tr10), Delay(tr01)); + WHEN OTHERS => Result := MAXIMUM(Delay(tr10), Delay(tr01)); + END CASE; + END CASE; + RETURN Result; + END VitalCalcDelay; + + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType01Z + ) RETURN TIME IS + VARIABLE Result : TIME; + BEGIN + CASE Oldval IS + WHEN '0' | 'L' => + CASE Newval IS + WHEN '0' | 'L' => Result := Delay(tr10); + WHEN '1' | 'H' => Result := Delay(tr01); + WHEN 'Z' => Result := Delay(tr0z); + WHEN OTHERS => Result := MINIMUM(Delay(tr01), Delay(tr0z)); + END CASE; + WHEN '1' | 'H' => + CASE Newval IS + WHEN '0' | 'L' => Result := Delay(tr10); + WHEN '1' | 'H' => Result := Delay(tr01); + WHEN 'Z' => Result := Delay(tr1z); + WHEN OTHERS => Result := MINIMUM(Delay(tr10), Delay(tr1z)); + END CASE; + WHEN 'Z' => + CASE Newval IS + WHEN '0' | 'L' => Result := Delay(trz0); + WHEN '1' | 'H' => Result := Delay(trz1); + WHEN 'Z' => Result := MAXIMUM (Delay(tr0z), Delay(tr1z)); + WHEN OTHERS => Result := MINIMUM (Delay(trz1), Delay(trz0)); + END CASE; + WHEN 'U' | 'X' | 'W' | '-' => + CASE Newval IS + WHEN '0' | 'L' => Result := MAXIMUM(Delay(tr10), Delay(trz0)); + WHEN '1' | 'H' => Result := MAXIMUM(Delay(tr01), Delay(trz1)); + WHEN 'Z' => Result := MAXIMUM(Delay(tr1z), Delay(tr0z)); + WHEN OTHERS => Result := MAXIMUM(Delay(tr10), Delay(tr01)); + END CASE; + END CASE; + RETURN Result; + END VitalCalcDelay; + + --------------------------------------------------------------------------- + -- + -- VitalSelectPathDelay returns the path delay selected by the Paths array. + -- If no paths are selected, it returns either the appropriate default + -- delay or TIME'HIGH, depending upon the value of IgnoreDefaultDelay. + -- + + FUNCTION VitalSelectPathDelay ( + CONSTANT NewValue : IN std_logic; + CONSTANT OldValue : IN std_logic; + CONSTANT OutSignalName : IN string; + CONSTANT Paths : IN VitalPathArrayType; + CONSTANT DefaultDelay : IN VitalDelayType; + CONSTANT IgnoreDefaultDelay : IN BOOLEAN + ) RETURN TIME IS + + VARIABLE TmpDelay : TIME; + VARIABLE InputAge : TIME := TIME'HIGH; + VARIABLE PropDelay : TIME := TIME'HIGH; + BEGIN + -- for each delay path + FOR i IN Paths'RANGE LOOP + -- ignore the delay path if it is not enabled + NEXT WHEN NOT Paths(i).PathCondition; + -- ignore the delay path if a more recent input event has been seen + NEXT WHEN Paths(i).InputChangeTime > InputAge; + + -- This is the most recent input change (so far) + -- Get the transition dependent delay + TmpDelay := VitalCalcDelay(NewValue, OldValue, Paths(i).PathDelay); + + -- If other inputs changed at the same time, + -- then use the minimum of their propagation delays, + -- else use the propagation delay from this input. + IF Paths(i).InputChangeTime < InputAge THEN + PropDelay := TmpDelay; + ELSE -- Simultaneous inputs change + IF TmpDelay < PropDelay THEN PropDelay := TmpDelay; END IF; + end if; + + InputAge := Paths(i).InputChangeTime; + END LOOP; + + -- If there were no paths (with an enabled condition), + -- use the default delay, if so indicated, otherwise return TIME'HIGH + IF (PropDelay = TIME'HIGH) THEN + IF (IgnoreDefaultDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + END IF; + + -- If the time since the most recent selected input event is + -- greater than the propagation delay from that input, + -- then use the default delay (won't happen if no paths are selected) + ELSIF (InputAge > PropDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + + -- Adjust the propagation delay by the time since the + -- the input event occurred (Usually 0 ns). + ELSE + PropDelay := PropDelay - InputAge; + END IF; + + RETURN PropDelay; + END; + + FUNCTION VitalSelectPathDelay ( + CONSTANT NewValue : IN std_logic; + CONSTANT OldValue : IN std_logic; + CONSTANT OutSignalName : IN string; + CONSTANT Paths : IN VitalPathArray01Type; + CONSTANT DefaultDelay : IN VitalDelayType01; + CONSTANT IgnoreDefaultDelay : IN BOOLEAN + ) RETURN TIME IS + + VARIABLE TmpDelay : TIME; + VARIABLE InputAge : TIME := TIME'HIGH; + VARIABLE PropDelay : TIME := TIME'HIGH; + BEGIN + -- for each delay path + FOR i IN Paths'RANGE LOOP + -- ignore the delay path if it is not enabled + NEXT WHEN NOT Paths(i).PathCondition; + -- ignore the delay path if a more recent input event has been seen + NEXT WHEN Paths(i).InputChangeTime > InputAge; + + -- This is the most recent input change (so far) + -- Get the transition dependent delay + TmpDelay := VitalCalcDelay(NewValue, OldValue, Paths(i).PathDelay); + + -- If other inputs changed at the same time, + -- then use the minimum of their propagation delays, + -- else use the propagation delay from this input. + IF Paths(i).InputChangeTime < InputAge THEN + PropDelay := TmpDelay; + ELSE -- Simultaneous inputs change + IF TmpDelay < PropDelay THEN PropDelay := TmpDelay; END IF; + end if; + + InputAge := Paths(i).InputChangeTime; + END LOOP; + + -- If there were no paths (with an enabled condition), + -- use the default delay, if so indicated, otherwise return TIME'HIGH + IF (PropDelay = TIME'HIGH) THEN + IF (IgnoreDefaultDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + END IF; + + -- If the time since the most recent selected input event is + -- greater than the propagation delay from that input, + -- then use the default delay (won't happen if no paths are selected) + ELSIF (InputAge > PropDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + + -- Adjust the propagation delay by the time since the + -- the input event occurred (Usually 0 ns). + ELSE + PropDelay := PropDelay - InputAge; + END IF; + + RETURN PropDelay; + END; + + FUNCTION VitalSelectPathDelay ( + CONSTANT NewValue : IN std_logic; + CONSTANT OldValue : IN std_logic; + CONSTANT OutSignalName : IN string; + CONSTANT Paths : IN VitalPathArray01ZType; + CONSTANT DefaultDelay : IN VitalDelayType01Z; + CONSTANT IgnoreDefaultDelay : IN BOOLEAN + ) RETURN TIME IS + + VARIABLE TmpDelay : TIME; + VARIABLE InputAge : TIME := TIME'HIGH; + VARIABLE PropDelay : TIME := TIME'HIGH; + BEGIN + -- for each delay path + FOR i IN Paths'RANGE LOOP + -- ignore the delay path if it is not enabled + NEXT WHEN NOT Paths(i).PathCondition; + -- ignore the delay path if a more recent input event has been seen + NEXT WHEN Paths(i).InputChangeTime > InputAge; + + -- This is the most recent input change (so far) + -- Get the transition dependent delay + TmpDelay := VitalCalcDelay(NewValue, OldValue, Paths(i).PathDelay); + + -- If other inputs changed at the same time, + -- then use the minimum of their propagation delays, + -- else use the propagation delay from this input. + IF Paths(i).InputChangeTime < InputAge THEN + PropDelay := TmpDelay; + ELSE -- Simultaneous inputs change + IF TmpDelay < PropDelay THEN PropDelay := TmpDelay; END IF; + end if; + + InputAge := Paths(i).InputChangeTime; + END LOOP; + + -- If there were no paths (with an enabled condition), + -- use the default delay, if so indicated, otherwise return TIME'HIGH + IF (PropDelay = TIME'HIGH) THEN + IF (IgnoreDefaultDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + END IF; + + -- If the time since the most recent selected input event is + -- greater than the propagation delay from that input, + -- then use the default delay (won't happen if no paths are selected) + ELSIF (InputAge > PropDelay) THEN + PropDelay := VitalCalcDelay(NewValue, OldValue, DefaultDelay); + + -- Adjust the propagation delay by the time since the + -- the input event occurred (Usually 0 ns). + ELSE + PropDelay := PropDelay - InputAge; + END IF; + + RETURN PropDelay; + END; + + + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + -- Glitch Handlers + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + PROCEDURE ReportGlitch ( + CONSTANT GlitchRoutine : IN STRING; + CONSTANT OutSignalName : IN STRING; + CONSTANT PreemptedTime : IN TIME; + CONSTANT PreemptedValue : IN std_ulogic; + CONSTANT NewTime : IN TIME; + CONSTANT NewValue : IN std_ulogic; + CONSTANT Index : IN INTEGER := 0; + CONSTANT IsArraySignal : IN BOOLEAN := FALSE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + + VARIABLE StrPtr1, StrPtr2, StrPtr3, StrPtr4, StrPtr5 : LINE; + BEGIN + + Write (StrPtr1, PreemptedTime ); + Write (StrPtr2, NewTime); + Write (StrPtr3, LogicCvtTable(PreemptedValue)); + Write (StrPtr4, LogicCvtTable(NewValue)); + IF IsArraySignal THEN + Write (StrPtr5, STRING'( "(" ) ); + Write (StrPtr5, Index); + Write (StrPtr5, STRING'( ")" ) ); + ELSE + Write (StrPtr5, STRING'( " " ) ); + END IF; + + -- Issue Report only if Preempted value has not been + -- removed from event queue + ASSERT PreemptedTime > NewTime + REPORT GlitchRoutine & ": GLITCH Detected on port " & + OutSignalName & StrPtr5.ALL & + "; Preempted Future Value := " & StrPtr3.ALL & + " @ " & StrPtr1.ALL & + "; Newly Scheduled Value := " & StrPtr4.ALL & + " @ " & StrPtr2.ALL & + ";" + SEVERITY MsgSeverity; + + + ASSERT PreemptedTime <= NewTime + REPORT GlitchRoutine & ": GLITCH Detected on port " & + OutSignalName & StrPtr5.ALL & + "; Negative Preempted Value := " & StrPtr3.ALL & + " @ " & StrPtr1.ALL & + "; Newly Scheduled Value := " & StrPtr4.ALL & + " @ " & StrPtr2.ALL & + ";" + SEVERITY MsgSeverity; + + + DEALLOCATE(StrPtr1); + DEALLOCATE(StrPtr2); + DEALLOCATE(StrPtr3); + DEALLOCATE(StrPtr4); + DEALLOCATE(StrPtr5); + RETURN; + END ReportGlitch; + + --------------------------------------------------------------------------- + PROCEDURE VitalGlitch ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT NewValue : IN std_logic; + CONSTANT NewDelay : IN TIME := 0 ns; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 + CONSTANT MsgOn : IN BOOLEAN := FALSE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + --------------------------------------------------------------------------- + VARIABLE NewGlitch : BOOLEAN := TRUE; + VARIABLE dly : TIME := NewDelay; + VARIABLE NOW_TIME : TIME := NOW; + VARIABLE NegPreemptGlitch : BOOLEAN := FALSE; + + BEGIN + NegPreemptGlitch:=FALSE;--reset Preempt-Glitch + + -- If nothing to schedule, just return + IF NewDelay < 0 ns THEN + IF (NewValue /= GlitchData.SchedValue) THEN + VitalError ( "VitalGlitch", ErrNegDel, OutSignalName ); + END IF; + RETURN; + END IF; + + -- If simple signal assignment + -- perform the signal assignment + IF ( Mode = VitalInertial) THEN + OutSignal <= NewValue AFTER dly; + ELSIF ( Mode = VitalTransport ) THEN + OutSignal <= TRANSPORT NewValue AFTER dly; + ELSE + -- Glitch Processing --- + -- If nothing currently scheduled + IF GlitchData.SchedTime <= NOW THEN -- NOW >= last event + -- Note: NewValue is always /= OldValue when called from VPPD + IF (NewValue = GlitchData.SchedValue) THEN RETURN; END IF; + NewGlitch := FALSE; + GlitchData.GlitchTime := NOW+dly; + + -- New value earlier than the earliest previous value scheduled + -- (negative preemptive) + ELSIF (NOW+dly <= GlitchData.GlitchTime) + AND (NOW+dly <= GlitchData.SchedTime) THEN + + -- Glitch is negative preemptive - check if same value and + -- NegPreempt is on IR225 + IF (GlitchData.SchedValue /= NewValue) AND (NegPreemptOn) AND + (NOW > 0 NS) THEN + NewGlitch := TRUE; + NegPreemptGlitch :=TRUE; -- Set preempt Glitch condition + ELSE + NewGlitch := FALSE; -- No new glitch, save time for + -- possible future glitch + END IF; + GlitchData.GlitchTime := NOW+dly; + + -- Transaction currently scheduled - if glitch already happened + ELSIF GlitchData.GlitchTime <= NOW THEN + IF (GlitchData.SchedValue = NewValue) THEN + dly := Minimum( GlitchData.SchedTime-NOW, NewDelay ); + END IF; + NewGlitch := FALSE; + + -- Transaction currently scheduled (no glitch if same value) + ELSIF (GlitchData.SchedValue = NewValue) + AND (GlitchData.SchedTime = GlitchData.GlitchTime) THEN + -- revise scheduled output time if new delay is sooner + dly := Minimum( GlitchData.SchedTime-NOW, NewDelay ); + -- No new glitch, save time for possable future glitch + NewGlitch := FALSE; + GlitchData.GlitchTime := NOW+dly; + + -- Transaction currently scheduled represents a glitch + ELSE + NewGlitch := TRUE; -- A new glitch has been detected + END IF; + + IF NewGlitch THEN + -- If messages requested, report the glitch + IF MsgOn THEN + IF NegPreemptGlitch THEN --IR225 + ReportGlitch ("VitalGlitch-Neg", OutSignalName, + GlitchData.GlitchTime, GlitchData.SchedValue, + (dly + NOW), NewValue, + MsgSeverity=>MsgSeverity ); + ELSE + ReportGlitch ("VitalGlitch", OutSignalName, + GlitchData.GlitchTime, GlitchData.SchedValue, + (dly + NOW), NewValue, + MsgSeverity=>MsgSeverity ); + END IF; + END IF; + + -- If 'X' generation is requested, schedule the new value + -- preceeded by a glitch pulse. + -- Otherwise just schedule the new value (inertial mode). + IF XOn THEN + IF (Mode = OnDetect) THEN + OutSignal <= 'X'; + ELSE + OutSignal <= 'X' AFTER GlitchData.GlitchTime-NOW; + END IF; + + IF NegPreemptGlitch THEN -- IR225 + OutSignal <= TRANSPORT NewValue AFTER GlitchData.SchedTime-NOW; + ELSE + OutSignal <= TRANSPORT NewValue AFTER dly; + END IF; + ELSE + OutSignal <= NewValue AFTER dly; -- no glitch regular prop delay + END IF; + + -- If there no new glitch was detected, just schedule the new value. + ELSE + OutSignal <= NewValue AFTER dly; + END IF; + END IF; + + -- Record the new value and time depending on glitch type just scheduled. + IF NOT NegPreemptGlitch THEN -- 5/2/96 for "x-pulse" IR225 + GlitchData.SchedValue := NewValue; + GlitchData.SchedTime := NOW+dly; -- pulse timing. + ELSE + GlitchData.SchedValue := 'X'; + -- leave GlitchData.SchedTime to old value since glitch is negative + END IF; + RETURN; + END; + + --------------------------------------------------------------------------- + PROCEDURE VitalPathDelay ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArrayType; + CONSTANT DefaultDelay : IN VitalDelayType := VitalZeroDelay; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE --IR248 3/14/98 + ) IS + + VARIABLE PropDelay : TIME; + + BEGIN + -- Check if the new value to be scheduled is different than the + -- previously scheduled value + IF (GlitchData.SchedTime <= NOW) AND + (GlitchData.SchedValue = OutTemp) + THEN RETURN; + END IF; + + -- Evaluate propagation delay paths + PropDelay := VitalSelectPathDelay (OutTemp, GlitchData.LastValue, + OutSignalName, Paths, DefaultDelay, + IgnoreDefaultDelay); + + GlitchData.LastValue := OutTemp; + + -- Schedule the output transactions - including glitch handling + VitalGlitch (OutSignal, GlitchData, OutSignalName, OutTemp, + PropDelay, Mode, XOn, NegPreemptOn, MsgOn, MsgSeverity ); + + END VitalPathDelay; + + --------------------------------------------------------------------------- + + PROCEDURE VitalPathDelay01 ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArray01Type; + CONSTANT DefaultDelay : IN VitalDelayType01 := VitalZeroDelay01; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE; --IR248 3/14/98 + CONSTANT RejectFastPath : IN BOOLEAN := FALSE --IR250 + + + ) IS + + VARIABLE PropDelay : TIME; + BEGIN + + -- Check if the new value to be scheduled is different than the + -- previously scheduled value + IF (GlitchData.SchedTime <= NOW) AND + (GlitchData.SchedValue = OutTemp) + THEN RETURN; + -- Check if the new value to be Scheduled is the same as the + -- previously scheduled output transactions. If this condition + -- exists and the new scheduled time is < the current GlitchData. + -- schedTime then a fast path condition exists (IR250). If the + -- modeler wants this condition rejected by setting the + -- RejectFastPath actual to true then exit out. + ELSIF (GlitchData.SchedValue=OutTemp) AND (RejectFastPath) + THEN RETURN; + END IF; + + -- Evaluate propagation delay paths + PropDelay := VitalSelectPathDelay (OutTemp, GlitchData.LastValue, + OutSignalName, Paths, DefaultDelay, + IgnoreDefaultDelay); + + GlitchData.LastValue := OutTemp; + + + VitalGlitch (OutSignal, GlitchData, OutSignalName, OutTemp, + PropDelay, Mode, XOn, NegPreemptOn, MsgOn, MsgSeverity ); + END VitalPathDelay01; + + --------------------------------------------------------------------------- + PROCEDURE VitalPathDelay01Z ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArray01ZType; + CONSTANT DefaultDelay : IN VitalDelayType01Z := VitalZeroDelay01Z; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE; --IR248 3/14/98 + CONSTANT RejectFastPath : IN BOOLEAN := FALSE --IR250 + ) IS + + VARIABLE PropDelay : TIME; + + BEGIN + -- Check if the new value to be scheduled is different than the + -- previously scheduled value + IF (GlitchData.SchedTime <= NOW) AND + (GlitchData.SchedValue = OutTemp) + THEN RETURN; + -- Check if the new value to be Scheduled is the same as the + -- previously scheduled output transactions. If this condition + -- exists and the new scheduled time is < the current GlitchData. + -- schedTime then a fast path condition exists (IR250). If the + -- modeler wants this condition rejected by setting the + -- RejectFastPath actual to true then exit out. + ELSIF (GlitchData.SchedValue=OutTemp) AND (RejectFastPath) + THEN RETURN; + END IF; + + -- Evaluate propagation delay paths + PropDelay := VitalSelectPathDelay (OutTemp, GlitchData.LastValue, + OutSignalName, Paths, DefaultDelay, + IgnoreDefaultDelay); + + GlitchData.LastValue := OutTemp; + + + -- Schedule the output transactions - including glitch handling + VitalGlitch (OutSignal, GlitchData, OutSignalName, OutTemp, + PropDelay, Mode, XOn, NegPreemptOn, MsgOn, MsgSeverity ); + END VitalPathDelay01Z; + + + ---------------------------------------------------------------------------- + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType + ) IS + BEGIN + OutSig <= TRANSPORT InSig AFTER twire; + END VitalWireDelay; + + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType01 + ) IS + VARIABLE Delay : TIME; + BEGIN + Delay := VitalCalcDelay( InSig, InSig'LAST_VALUE, twire ); + OutSig <= TRANSPORT InSig AFTER Delay; + END VitalWireDelay; + + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType01Z + ) IS + VARIABLE Delay : TIME; + BEGIN + Delay := VitalCalcDelay( InSig, InSig'LAST_VALUE, twire ); + OutSig <= TRANSPORT InSig AFTER Delay; + END VitalWireDelay; + + ---------------------------------------------------------------------------- + PROCEDURE VitalSignalDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT dly : IN TIME + ) IS + BEGIN + OutSig <= TRANSPORT InSig AFTER dly; + END; + + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + -- Setup and Hold Time Check Routine + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + PROCEDURE ReportViolation ( + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT CheckInfo : IN CheckInfoType; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + VARIABLE Message : LINE; + BEGIN + IF NOT CheckInfo.Violation THEN RETURN; END IF; + + Write ( Message, HeaderMsg ); + Case CheckInfo.CheckKind IS + WHEN SetupCheck => Write ( Message, STRING'(" SETUP ") ); + WHEN HoldCheck => Write ( Message, STRING'(" HOLD ") ); + WHEN RecoveryCheck => Write ( Message, STRING'(" RECOVERY ") ); + WHEN RemovalCheck => Write ( Message, STRING'(" REMOVAL ") ); + WHEN PulseWidCheck => Write ( Message, STRING'(" PULSE WIDTH ")); + WHEN PeriodCheck => Write ( Message, STRING'(" PERIOD ") ); + END CASE; + Write ( Message, HiLoStr(CheckInfo.State) ); + Write ( Message, STRING'(" VIOLATION ON ") ); + Write ( Message, TestSignalName ); + IF (RefSignalName'LENGTH > 0) THEN + Write ( Message, STRING'(" WITH RESPECT TO ") ); + Write ( Message, RefSignalName ); + END IF; + Write ( Message, ';' & LF ); + Write ( Message, STRING'(" Expected := ") ); + Write ( Message, CheckInfo.ExpTime); + Write ( Message, STRING'("; Observed := ") ); + Write ( Message, CheckInfo.ObsTime); + Write ( Message, STRING'("; At : ") ); + Write ( Message, CheckInfo.DetTime); + + ASSERT FALSE REPORT Message.ALL SEVERITY MsgSeverity; + + DEALLOCATE (Message); + END ReportViolation; + + + --------------------------------------------------------------------------- + -- Procedure : InternalTimingCheck + --------------------------------------------------------------------------- + PROCEDURE InternalTimingCheck ( + CONSTANT TestSignal : IN std_ulogic; + CONSTANT RefSignal : IN std_ulogic; + CONSTANT TestDelay : IN TIME := 0 ns; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + VARIABLE RefTime : IN TIME; + VARIABLE RefEdge : IN BOOLEAN; + VARIABLE TestTime : IN TIME; + VARIABLE TestEvent : IN BOOLEAN; + VARIABLE SetupEn : INOUT BOOLEAN; + VARIABLE HoldEn : INOUT BOOLEAN; + VARIABLE CheckInfo : INOUT CheckInfoType; + CONSTANT MsgOn : IN BOOLEAN + ) IS + VARIABLE bias : TIME; + VARIABLE actualObsTime : TIME; + VARIABLE BC : TIME; + VARIABLE Message:LINE; + BEGIN + -- Check SETUP constraint + IF RefEdge THEN + IF SetupEn THEN + CheckInfo.ObsTime := RefTime - TestTime; + CheckInfo.State := To_X01(TestSignal); + CASE CheckInfo.State IS + WHEN '0' => CheckInfo.ExpTime := SetupLow; + -- start of new code IR245-246 + BC := HoldHigh; + -- end of new code IR245-246 + WHEN '1' => CheckInfo.ExpTime := SetupHigh; + -- start of new code IR245-246 + BC := HoldLow; + -- end of new code IR245-246 + WHEN 'X' => CheckInfo.ExpTime := Maximum(SetupHigh,SetupLow); + -- start of new code IR245-246 + BC := Maximum(HoldHigh,HoldLow); + -- end of new code IR245-246 + END CASE; + -- added the second condition for IR 245-246 + CheckInfo.Violation := ( (CheckInfo.ObsTime < CheckInfo.ExpTime) + AND ( NOT ((CheckInfo.ObsTime = BC) and (BC = 0 ns))) ); + -- start of new code IR245-246 + IF(CheckInfo.ExpTime = 0 ns) THEN + CheckInfo.CheckKind := HoldCheck; + ELSE + CheckInfo.CheckKind := SetupCheck; + END IF; + -- end of new code IR245-246 + SetupEn := FALSE; + ELSE + CheckInfo.Violation := FALSE; + END IF; + + -- Check HOLD constraint + ELSIF TestEvent THEN + IF HoldEn THEN + CheckInfo.ObsTime := TestTime - RefTime; + CheckInfo.State := To_X01(TestSignal); + CASE CheckInfo.State IS + WHEN '0' => CheckInfo.ExpTime := HoldHigh; + + -- new code for unnamed IR + CheckInfo.State := '1'; + + -- start of new code IR245-246 + BC := SetupLow; + -- end of new code IR245-246 + WHEN '1' => CheckInfo.ExpTime := HoldLow; + + -- new code for unnamed IR + CheckInfo.State := '0'; + + -- start of new code IR245-246 + BC := SetupHigh; + -- end of new code IR245-246 + WHEN 'X' => CheckInfo.ExpTime := Maximum(HoldHigh,HoldLow); + -- start of new code IR245-246 + BC := Maximum(SetupHigh,SetupLow); + -- end of new code IR245-246 + END CASE; + -- added the second condition for IR 245-246 + CheckInfo.Violation := ( (CheckInfo.ObsTime < CheckInfo.ExpTime) + AND ( NOT ((CheckInfo.ObsTime = BC) and (BC = 0 ns))) ); + + -- start of new code IR245-246 + IF(CheckInfo.ExpTime = 0 ns) THEN + CheckInfo.CheckKind := SetupCheck; + ELSE + CheckInfo.CheckKind := HoldCheck; + END IF; + -- end of new code IR245-246 + HoldEn := NOT CheckInfo.Violation; + ELSE + CheckInfo.Violation := FALSE; + END IF; + ELSE + CheckInfo.Violation := FALSE; + END IF; + + -- Adjust report values to account for internal model delays + -- Note: TestDelay, RefDelay, TestTime, RefTime are non-negative + -- Note: bias may be negative or positive + IF MsgOn AND CheckInfo.Violation THEN + -- modified the code for correct reporting of violation in case of + -- order of signals being reversed because of internal delays + -- new variable + actualObsTime := (TestTime-TestDelay)-(RefTime-RefDelay); + bias := TestDelay - RefDelay; + IF (actualObsTime < 0 ns) THEN -- It should be a setup check + IF ( CheckInfo.CheckKind = HoldCheck) then + CheckInfo.CheckKind := SetupCheck; + CASE CheckInfo.State IS + WHEN '0' => CheckInfo.ExpTime := SetupLow; + WHEN '1' => CheckInfo.ExpTime := SetupHigh; + WHEN 'X' => CheckInfo.ExpTime := Maximum(SetupHigh,SetupLow); + END CASE; + END IF; + + CheckInfo.ObsTime := -actualObsTime; + CheckInfo.ExpTime := CheckInfo.ExpTime + bias; + CheckInfo.DetTime := RefTime - RefDelay; + ELSE -- It should be a hold check + IF ( CheckInfo.CheckKind = SetupCheck) then + CheckInfo.CheckKind := HoldCheck; + CASE CheckInfo.State IS + WHEN '0' => CheckInfo.ExpTime := HoldHigh; + CheckInfo.State := '1'; + WHEN '1' => CheckInfo.ExpTime := HoldLow; + CheckInfo.State := '0'; + WHEN 'X' => CheckInfo.ExpTime := Maximum(HoldHigh,HoldLow); + END CASE; + END IF; + + CheckInfo.ObsTime := actualObsTime; + CheckInfo.ExpTime := CheckInfo.ExpTime - bias; + CheckInfo.DetTime := TestTime - TestDelay; + END IF; + + END IF; + END InternalTimingCheck; + + --------------------------------------------------------------------------- + --------------------------------------------------------------------------- + FUNCTION VitalTimingDataInit + RETURN VitalTimingDataType IS + BEGIN + RETURN (FALSE,'X', 0 ns, FALSE, 'X', 0 ns, FALSE, NULL, NULL, NULL, NULL); + END; + + --------------------------------------------------------------------------- + -- Procedure : VitalSetupHoldCheck + --------------------------------------------------------------------------- + PROCEDURE VitalSetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + ) IS + + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge, TestEvent : BOOLEAN; + VARIABLE TestDly : TIME := Maximum(0 ns, TestDelay); + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; + BEGIN + + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLast := To_X01(TestSignal); + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF RefEdge THEN + TimingData.RefTime := NOW; + TimingData.SetupEn := TimingData.SetupEn AND EnableSetupOnRef; --IR252 3/23/98 + TimingData.HoldEn := EnableHoldOnRef; --IR252 3/23/98 + END IF; + + -- Detect test (data) changes and record the time of the last change + TestEvent := TimingData.TestLast /= To_X01Z(TestSignal); + TimingData.TestLast := To_X01Z(TestSignal); + IF TestEvent THEN + TimingData.TestTime := NOW; + TimingData.SetupEn := EnableSetupOnTest; --IR252 3/23/98 + TimingData.HoldEn := TimingData.HoldEn AND EnableHoldOnTest; --IR252 3/23/98 + END IF; + + -- Perform timing checks (if enabled) + Violation := '0'; + IF (CheckEnabled) THEN + InternalTimingCheck ( + TestSignal => TestSignal, + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh, + SetupLow => SetupLow, + HoldHigh => HoldHigh, + HoldLow => HoldLow, + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTime, + TestEvent => TestEvent, + SetupEn => TimingData.SetupEn, + HoldEn => TimingData.HoldEn, + CheckInfo => CheckInfo, + MsgOn => MsgOn ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + ReportViolation (TestSignalName, RefSignalName, + HeaderMsg, CheckInfo, MsgSeverity ); + END IF; + IF (XOn) THEN Violation := 'X'; END IF; + END IF; + END IF; + + END VitalSetupHoldCheck; + + --------------------------------------------------------------------------- + PROCEDURE VitalSetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + + ) IS + + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge : BOOLEAN; + VARIABLE TestEvent : VitalBoolArrayT(TestSignal'RANGE); + VARIABLE TestDly : TIME := Maximum(0 ns, TestDelay); + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; + VARIABLE ChangedAllAtOnce : BOOLEAN := TRUE; + VARIABLE StrPtr1 : LINE; + + BEGIN + -- Initialization of working area. + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLastA := NEW std_logic_vector(TestSignal'RANGE); + TimingData.TestTimeA := NEW VitalTimeArrayT(TestSignal'RANGE); + TimingData.HoldEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + TimingData.SetupEnA := NEW VitalBoolArrayT(TestSignal'RANGE); + FOR i IN TestSignal'RANGE LOOP + TimingData.TestLastA(i) := To_X01(TestSignal(i)); + END LOOP; + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF RefEdge THEN + TimingData.RefTime := NOW; + TimingData.SetupEn := TimingData.SetupEn AND EnableSetupOnRef; --IR252 3/23/98 + TimingData.HoldEnA.all := (TestSignal'RANGE => EnableHoldOnRef); --IR252 3/23/98 + END IF; + + -- Detect test (data) changes and record the time of the last change + FOR i IN TestSignal'RANGE LOOP + TestEvent(i) := TimingData.TestLastA(i) /= To_X01Z(TestSignal(i)); + TimingData.TestLastA(i) := To_X01Z(TestSignal(i)); + IF TestEvent(i) THEN + TimingData.TestTimeA(i) := NOW; + TimingData.SetupEnA(i) := EnableSetupOnTest; --IR252 3/23/98 + TimingData.HoldEnA(i) := TimingData.HoldEn AND EnableHoldOnTest; --IR252 3/23/98 + TimingData.TestTime := NOW; --IR252 3/23/98 + END IF; + END LOOP; + + -- Check to see if the Bus subelements changed all at the same time. + -- If so, then we can reduce the volume of error messages since we no + -- longer have to report every subelement individually + FOR i IN TestSignal'RANGE LOOP + IF TimingData.TestTimeA(i) /= TimingData.TestTime THEN + ChangedAllAtOnce := FALSE; + EXIT; + END IF; + END LOOP; + + -- Perform timing checks (if enabled) + Violation := '0'; + IF (CheckEnabled) THEN + FOR i IN TestSignal'RANGE LOOP + InternalTimingCheck ( + TestSignal => TestSignal(i), + RefSignal => RefSignal, + TestDelay => TestDly, + RefDelay => RefDly, + SetupHigh => SetupHigh, + SetupLow => SetupLow, + HoldHigh => HoldHigh, + HoldLow => HoldLow, + RefTime => TimingData.RefTime, + RefEdge => RefEdge, + TestTime => TimingData.TestTimeA(i), + TestEvent => TestEvent(i), + SetupEn => TimingData.SetupEnA(i), + HoldEn => TimingData.HoldEnA(i), + CheckInfo => CheckInfo, + MsgOn => MsgOn ); + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF (MsgOn) THEN + IF ( ChangedAllAtOnce AND (i = TestSignal'LEFT) ) THEN + ReportViolation (TestSignalName&"(...)", RefSignalName, + HeaderMsg, CheckInfo, MsgSeverity ); + ELSIF (NOT ChangedAllAtOnce) THEN + Write (StrPtr1, i); + ReportViolation (TestSignalName & "(" & StrPtr1.ALL & ")", + RefSignalName, + HeaderMsg, CheckInfo, MsgSeverity ); + DEALLOCATE (StrPtr1); + END IF; + END IF; + IF (XOn) THEN + Violation := 'X'; + END IF; + END IF; + END LOOP; + END IF; + + DEALLOCATE (StrPtr1); + + END VitalSetupHoldCheck; + + --------------------------------------------------------------------------- + -- Function : VitalRecoveryRemovalCheck + --------------------------------------------------------------------------- + PROCEDURE VitalRecoveryRemovalCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT Recovery : IN TIME := 0 ns; + CONSTANT Removal : IN TIME := 0 ns; + CONSTANT ActiveLow : IN BOOLEAN := TRUE; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableRecOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRecOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRemOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRemOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + ) IS + VARIABLE CheckInfo : CheckInfoType; + VARIABLE RefEdge, TestEvent : BOOLEAN; + VARIABLE TestDly : TIME := Maximum(0 ns, TestDelay); + VARIABLE RefDly : TIME := Maximum(0 ns, RefDelay); + VARIABLE bias : TIME; + BEGIN + + IF (TimingData.NotFirstFlag = FALSE) THEN + TimingData.TestLast := To_X01(TestSignal); + TimingData.RefLast := To_X01(RefSignal); + TimingData.NotFirstFlag := TRUE; + END IF; + + -- Detect reference edges and record the time of the last edge + RefEdge := EdgeSymbolMatch(TimingData.RefLast, To_X01(RefSignal), + RefTransition); + TimingData.RefLast := To_X01(RefSignal); + IF RefEdge THEN + TimingData.RefTime := NOW; + TimingData.SetupEn := TimingData.SetupEn AND EnableRecOnRef; --IR252 3/23/98 + TimingData.HoldEn := EnableRemOnRef; --IR252 3/23/98 + END IF; + + -- Detect test (data) changes and record the time of the last change + TestEvent := TimingData.TestLast /= To_X01Z(TestSignal); + TimingData.TestLast := To_X01Z(TestSignal); + IF TestEvent THEN + TimingData.TestTime := NOW; + TimingData.SetupEn := EnableRecOnTest; --IR252 3/23/98 + TimingData.HoldEn := TimingData.HoldEn AND EnableRemOnTest; --IR252 3/23/98 + END IF; + + -- Perform timing checks (if enabled) + Violation := '0'; + IF (CheckEnabled) THEN + + IF ActiveLow THEN + InternalTimingCheck ( + TestSignal, RefSignal, TestDly, RefDly, + Recovery, 0 ns, 0 ns, Removal, + TimingData.RefTime, RefEdge, + TimingData.TestTime, TestEvent, + TimingData.SetupEn, TimingData.HoldEn, + CheckInfo, MsgOn ); + ELSE + InternalTimingCheck ( + TestSignal, RefSignal, TestDly, RefDly, + 0 ns, Recovery, Removal, 0 ns, + TimingData.RefTime, RefEdge, + TimingData.TestTime, TestEvent, + TimingData.SetupEn, TimingData.HoldEn, + CheckInfo, MsgOn ); + END IF; + + + -- Report any detected violations and set return violation flag + IF CheckInfo.Violation THEN + IF CheckInfo.CheckKind = SetupCheck THEN + CheckInfo.CheckKind := RecoveryCheck; + ELSE + CheckInfo.CheckKind := RemovalCheck; + END IF; + IF (MsgOn) THEN + ReportViolation (TestSignalName, RefSignalName, + HeaderMsg, CheckInfo, MsgSeverity ); + END IF; + IF (XOn) THEN Violation := 'X'; END IF; + END IF; + END IF; + + END VitalRecoveryRemovalCheck; + + --------------------------------------------------------------------------- + PROCEDURE VitalPeriodPulseCheck ( + VARIABLE Violation : OUT X01; + VARIABLE PeriodData : INOUT VitalPeriodDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + CONSTANT Period : IN TIME := 0 ns; + CONSTANT PulseWidthHigh : IN TIME := 0 ns; + CONSTANT PulseWidthLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ) IS + + VARIABLE TestDly : TIME := Maximum(0 ns, TestDelay); + VARIABLE CheckInfo : CheckInfoType; + VARIABLE PeriodObs : TIME; + VARIABLE PulseTest, PeriodTest : BOOLEAN; + VARIABLE TestValue : X01 := To_X01(TestSignal); + BEGIN + + IF (PeriodData.NotFirstFlag = FALSE) THEN + PeriodData.Rise := + -maximum(Period, maximum(PulseWidthHigh, PulseWidthLow)); + PeriodData.Fall := + -maximum(Period, maximum(PulseWidthHigh, PulseWidthLow)); + PeriodData.Last := To_X01(TestSignal); + PeriodData.NotFirstFlag := TRUE; + END IF; + + -- Initialize for no violation + -- No violation possible if no test signal change + Violation := '0'; + IF (PeriodData.Last = TestValue) THEN + RETURN; + END IF; + + -- record starting pulse times + IF EdgeSymbolMatch(PeriodData.Last, TestValue, 'P') THEN + -- Compute period times, then record the High Rise Time + PeriodObs := NOW - PeriodData.Rise; + PeriodData.Rise := NOW; + PeriodTest := TRUE; + ELSIF EdgeSymbolMatch(PeriodData.Last, TestValue, 'N') THEN + -- Compute period times, then record the Low Fall Time + PeriodObs := NOW - PeriodData.Fall; + PeriodData.Fall := NOW; + PeriodTest := TRUE; + ELSE + PeriodTest := FALSE; + END IF; + + -- do checks on pulse ends + IF EdgeSymbolMatch(PeriodData.Last, TestValue, 'p') THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData.Fall; + CheckInfo.ExpTime := PulseWidthLow; + PulseTest := TRUE; + ELSIF EdgeSymbolMatch(PeriodData.Last, TestValue, 'n') THEN + -- Compute pulse times + CheckInfo.ObsTime := NOW - PeriodData.Rise; + CheckInfo.ExpTime := PulseWidthHigh; + PulseTest := TRUE; + ELSE + PulseTest := FALSE; + END IF; + + IF PulseTest AND CheckEnabled THEN + -- Verify Pulse Width [ignore 1st edge] + IF ( CheckInfo.ObsTime < CheckInfo.ExpTime ) THEN + IF (XOn) THEN Violation := 'X'; END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PulseWidCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := PeriodData.Last; + ReportViolation (TestSignalName, "", + HeaderMsg, CheckInfo, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + IF PeriodTest AND CheckEnabled THEN + -- Verify the Period [ignore 1st edge] + CheckInfo.ObsTime := PeriodObs; + CheckInfo.ExpTime := Period; + IF ( CheckInfo.ObsTime < CheckInfo.ExpTime ) THEN + IF (XOn) THEN Violation := 'X'; END IF; + IF (MsgOn) THEN + CheckInfo.Violation := TRUE; + CheckInfo.CheckKind := PeriodCheck; + CheckInfo.DetTime := NOW - TestDly; + CheckInfo.State := TestValue; + ReportViolation (TestSignalName, "", + HeaderMsg, CheckInfo, MsgSeverity ); + END IF; -- MsgOn + END IF; + END IF; + + PeriodData.Last := TestValue; + + END VitalPeriodPulseCheck; + + + + PROCEDURE ReportSkewViolation ( + CONSTANT Signal1Name : IN STRING := ""; + CONSTANT Signal2Name : IN STRING := ""; + CONSTANT ExpectedTime : IN TIME; + CONSTANT OccuranceTime : IN TIME; + CONSTANT HeaderMsg : IN STRING; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT SkewPhase : IN SkewType; + CONSTANT ViolationFlag : IN BOOLEAN := TRUE + ) IS + VARIABLE Message : LINE; + BEGIN + Write ( Message, HeaderMsg ); + IF (ViolationFlag /= TRUE) THEN + Write ( Message, STRING'(" POSSIBLE") ); + END IF; + IF (SkewPhase = Inphase) THEN + Write ( Message, STRING'(" IN PHASE ") ); + ELSE + Write ( Message, STRING'(" OUT OF PHASE ") ); + END IF; + Write ( Message, STRING'("SKEW VIOLATION ON ") ); + Write ( Message, Signal2Name ); + IF (Signal1Name'LENGTH > 0) THEN + Write ( Message, STRING'(" WITH RESPECT TO ") ); + Write ( Message, Signal1Name ); + END IF; + Write ( Message, ';' & LF ); + Write ( Message, STRING'(" At : ") ); + Write ( Message, OccuranceTime); + Write ( Message, STRING'("; Skew Limit : ") ); + Write ( Message, ExpectedTime); + + ASSERT FALSE REPORT Message.ALL SEVERITY MsgSeverity; + + DEALLOCATE (Message); + END ReportSkewViolation; + + + PROCEDURE VitalInPhaseSkewCheck ( + VARIABLE Violation : OUT X01; + VARIABLE SkewData : INOUT VitalSkewDataType; + SIGNAL Signal1 : IN std_ulogic; + CONSTANT Signal1Name : IN STRING := ""; + CONSTANT Signal1Delay : IN TIME := 0 ns; + SIGNAL Signal2 : IN std_ulogic; + CONSTANT Signal2Name : IN STRING := ""; + CONSTANT Signal2Delay : IN TIME := 0 ns; + CONSTANT SkewS1S2RiseRise : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1RiseRise : IN TIME := TIME'HIGH; + CONSTANT SkewS1S2FallFall : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1FallFall : IN TIME := TIME'HIGH; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT HeaderMsg : IN STRING := ""; + SIGNAL Trigger : INOUT std_ulogic + ) IS + VARIABLE ReportType : VitalSkewExpectedType := none; + VARIABLE ExpectedType : VitalSkewExpectedType := none; + VARIABLE ReportTime : TIME; + VARIABLE TriggerDelay : TIME; + VARIABLE ViolationCertain : Boolean := TRUE; + BEGIN + Violation := '0'; + ReportType := none; + TriggerDelay := noTrigger; + + IF (CheckEnabled) THEN + IF (SkewData.ExpectedType /= none) THEN + IF (trigger'Event) THEN + CASE SkewData.ExpectedType IS + WHEN s1r => ReportType := s1r; + ReportTime := NOW - Signal1Delay; + WHEN s1f => ReportType := s1f; + ReportTime := NOW - Signal1Delay; + WHEN s2r => ReportType := s2r; + ReportTime := NOW - Signal2Delay; + WHEN s2f => ReportType := s2f; + ReportTime := NOW - Signal2Delay; + WHEN OTHERS => + END CASE; + SkewData.ExpectedType := none; + ELSIF ( Signal1'Event OR Signal2'Event ) THEN + IF ( Signal1 /= 'X' AND Signal2 /= 'X' ) THEN + TriggerDelay := 0 ns; + ExpectedType := none; + END IF; + END IF; + END IF; + + IF (Signal1'EVENT and Signal2'EVENT) THEN + IF (Signal1 = Signal2) THEN + IF (Posedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - Signal2Delay) >= + SkewS1S2RiseRise) THEN + ReportType := s2r; + ReportTime := NOW - Signal1Delay + + SkewS1S2RiseRise; + ELSIF ((Signal2Delay -Signal1Delay) >= + SkewS2S1RiseRise) THEN + ReportType := s1r; + ReportTime := NOW - Signal2Delay + + SkewS2S1RiseRise; + END IF; + ELSIF (Negedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - Signal2Delay) >= + SkewS1S2FallFall) THEN + ReportType := s2f; + ReportTime := NOW - Signal1Delay + + SkewS1S2FallFall; + ELSIF ((Signal2Delay - Signal1Delay) >= + SkewS2S1FallFall) THEN + ReportType := s1f; + ReportTime := NOW - Signal2Delay + + SkewS2S1FallFall; + END IF; + END IF; + ELSIF (Posedge(Signal1'LAST_VALUE , Signal1)) THEN + IF ((Signal1Delay >= Signal2Delay) and (Signal2Delay > + SkewS2S1FallFall)) THEN + ReportType := s1f; + ReportTime := NOW - Signal2Delay + + SkewS2S1FallFall; + ELSIF ((Signal2Delay >= Signal1Delay) and (Signal1Delay > + SkewS1S2RiseRise)) THEN + ReportType := s2r; + ReportTime := NOW - Signal1Delay + + SkewS1S2RiseRise; + ELSIF (Signal2Delay > Signal1Delay) THEN + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2RiseRise + + Signal2Delay - Signal1Delay; + ELSIF (Signal1Delay > Signal2Delay) THEN + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1RiseRise + + Signal1Delay - Signal2Delay; + ELSIF (SkewS1S2RiseRise < SkewS2S1RiseRise) THEN + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2RiseRise; + ELSE + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1RiseRise; + END IF; + ELSIF (Negedge(Signal1'LAST_VALUE , Signal1)) THEN + IF ((Signal1Delay >= Signal2Delay) and (Signal2Delay > + SkewS2S1RiseRise)) THEN + ReportType := s1r; + ReportTime := NOW - Signal2Delay + + SkewS2S1RiseRise; + ELSIF ((Signal2Delay >= Signal1Delay) and (Signal1Delay > + SkewS1S2FallFall)) THEN + ReportType := s2f; + ReportTime := NOW - Signal1Delay + + SkewS1S2FallFall; + ELSIF (Signal2Delay > Signal1Delay) THEN + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2FallFall + + Signal2Delay - Signal1Delay; + ELSIF (Signal1Delay > Signal2Delay) THEN + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1FallFall + + Signal1Delay - Signal2Delay; + ELSIF (SkewS1S2FallFall < SkewS2S1FallFall) THEN + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2FallFall; + ELSE + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1FallFall; + END IF; + END IF; + ELSIF (Signal1'EVENT) THEN + IF ( Signal1 /= Signal2) THEN + IF ( Posedge( Signal1'LAST_VALUE, Signal1)) THEN + IF (SkewS1S2RiseRise > (Signal1Delay - + Signal2Delay)) THEN + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2RiseRise + + Signal2Delay - + Signal1Delay; + ELSE + ReportType := s2r; + ReportTime := NOW + SkewS1S2RiseRise - + Signal1Delay; + END IF; + ELSIF ( Negedge( Signal1'LAST_VALUE, Signal1)) THEN + IF (SkewS1S2FallFall > (Signal1Delay - + Signal2Delay)) THEN + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2FallFall + + Signal2Delay - + Signal1Delay; + ELSE + ReportType := s2f; + ReportTime := NOW + SkewS1S2FallFall - + Signal1Delay; + END IF; + END IF; + ELSE + IF ( Posedge( Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - SkewS1S2RiseRise) > + (Signal2'LAST_EVENT + Signal2Delay)) THEN + IF ((SkewData.Signal2Old2 - Signal2Delay) > + (NOW - Signal1Delay + + SkewS1S2RiseRise)) THEN + ViolationCertain := FALSE; + ReportType := s2r; + ReportTime := NOW + SkewS1S2RiseRise - + Signal1Delay; + END IF; + END IF; + ELSIF ( Negedge( Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - SkewS1S2FallFall) > + (Signal2'LAST_EVENT + Signal2Delay)) THEN + IF (( SkewData.Signal2Old2 - Signal2Delay) > + (NOW - Signal1Delay + + SkewS1S2FallFall )) THEN + ViolationCertain := FALSE; + ReportType := s2f; + ReportTime := NOW + SkewS1S2FallFall - + Signal1Delay; + END IF; + END IF; + END IF; + END IF; + ELSIF (Signal2'EVENT) THEN + IF (Signal1 /= Signal2) THEN + IF (Posedge(Signal2'LAST_VALUE,Signal2)) THEN + IF ( SkewS2S1RiseRise > (Signal2Delay - + Signal1Delay)) THEN + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1RiseRise + + Signal1Delay - + Signal2Delay; + ELSE + ReportType := s2r; + ReportTime := NOW + SkewS2S1RiseRise - + Signal2Delay; + END IF; + ELSIF (Negedge(Signal2'LAST_VALUE,Signal2)) THEN + IF ( SkewS2S1FallFall > (Signal2Delay - + Signal1Delay)) THEN + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1FallFall + + Signal1Delay - + Signal2Delay; + ELSE + ReportType := s1f; + ReportTime := NOW + SkewS2S1FallFall - + Signal2Delay; + END IF; + END IF; + ELSE + IF (Posedge(Signal2'LAST_VALUE, Signal2)) THEN + IF ((Signal2Delay - SkewS2S1RiseRise) > + (Signal1'LAST_EVENT + Signal1Delay)) THEN + IF (( SkewData.Signal1Old2 - Signal1Delay) > + (NOW - Signal2Delay + + SkewS2S1RiseRise )) THEN + ViolationCertain := FALSE; + ReportType := s1r; + ReportTime := NOW + SkewS2S1RiseRise - + Signal2Delay; + END IF; + END IF; + ELSIF (Negedge(Signal2'LAST_VALUE, Signal2)) THEN + IF ((Signal2Delay - SkewS2S1FallFall) > + (Signal1'LAST_EVENT + Signal1Delay)) THEN + IF (( SkewData.Signal1Old2 - Signal1Delay) > + (NOW - Signal2Delay + + SkewS2S1FallFall )) THEN + ViolationCertain := FALSE; + ReportType := s1f; + ReportTime := NOW + SkewS2S1FallFall - + Signal2Delay; + END IF; + END IF; + END IF; + END IF; + END IF; + + IF (ReportType /= none) THEN + IF (MsgOn) THEN + CASE ReportType IS + WHEN s1r => + ReportSkewViolation( + Signal2Name, + Signal1Name, + SkewS2S1RiseRise, + ReportTime, + HeaderMsg, + MsgSeverity, + Inphase, + ViolationCertain); + WHEN s1f => + ReportSkewViolation( + Signal2Name, + Signal1Name, + SkewS2S1FallFall, + ReportTime, + HeaderMsg, + MsgSeverity, + Inphase, + ViolationCertain); + WHEN s2r => + ReportSkewViolation( + Signal1Name, + Signal2Name, + SkewS1S2RiseRise, + ReportTime, + HeaderMsg, + MsgSeverity, + Inphase, + ViolationCertain); + WHEN s2f => + ReportSkewViolation( + Signal1Name, + Signal2Name, + SkewS1S2FallFall, + ReportTime, + HeaderMsg, + MsgSeverity, + Inphase, + ViolationCertain); + WHEN OTHERS => + END CASE; + END IF; + IF (XOn) THEN + Violation := 'X'; + END IF; + SkewData.ExpectedType := none; + END IF; + IF (TriggerDelay /= noTrigger) THEN + IF (TriggerDelay = 0 ns) THEN + trigger <= TRANSPORT trigger AFTER 0 ns; + ELSE + trigger <= TRANSPORT not (trigger) AFTER + TriggerDelay; + END IF; + END IF; + END IF; + IF (Signal1'EVENT and SkewData.Signal1Old1 /= NOW) THEN + SkewData.Signal1Old2 := SkewData.Signal1Old1; + SkewData.Signal1Old1 := NOW; + END IF; + IF (Signal2'EVENT and SkewData.Signal2Old1 /= NOW) THEN + SkewData.Signal2Old2 := SkewData.Signal2Old1; + SkewData.Signal2Old1 := NOW; + END IF; + END VitalInPhaseSkewCheck; + + PROCEDURE VitalOutPhaseSkewCheck ( + VARIABLE Violation : OUT X01; + VARIABLE SkewData : INOUT VitalSkewDataType; + SIGNAL Signal1 : IN std_ulogic; + CONSTANT Signal1Name : IN STRING := ""; + CONSTANT Signal1Delay : IN TIME := 0 ns; + SIGNAL Signal2 : IN std_ulogic; + CONSTANT Signal2Name : IN STRING := ""; + CONSTANT Signal2Delay : IN TIME := 0 ns; + CONSTANT SkewS1S2RiseFall : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1RiseFall : IN TIME := TIME'HIGH; + CONSTANT SkewS1S2FallRise : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1FallRise : IN TIME := TIME'HIGH; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT HeaderMsg : IN STRING := ""; + SIGNAL Trigger : INOUT std_ulogic + ) IS + VARIABLE ReportType : VitalSkewExpectedType := none; + VARIABLE ExpectedType : VitalSkewExpectedType := none; + VARIABLE ReportTime : TIME; + VARIABLE TriggerDelay : TIME; + VARIABLE ViolationCertain : Boolean := TRUE; + BEGIN + Violation := '0'; + TriggerDelay := noTrigger; + IF (CheckEnabled) THEN + IF (SkewData.ExpectedType /= none) THEN + IF (trigger'Event) THEN + CASE SkewData.ExpectedType IS + WHEN s1r => ReportType := s1r; + ReportTime := NOW - Signal1Delay; + WHEN s1f => ReportType := s1f; + ReportTime := NOW - Signal1Delay; + WHEN s2r => ReportType := s2r; + ReportTime := NOW - Signal2Delay; + WHEN s2f => ReportType := s2f; + ReportTime := NOW - Signal2Delay; + WHEN OTHERS => + END CASE; + SkewData.ExpectedType := none; + ELSIF (Signal1'Event OR Signal2'Event ) THEN + IF (Signal1 /= 'X' AND Signal2 /= 'X' ) THEN + TriggerDelay := 0 ns; + SkewData.ExpectedType := none; + END IF; + END IF; + END IF; + + IF (Signal1'EVENT and Signal2'EVENT) THEN + IF (Signal1 /= Signal2) THEN + IF (Posedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - Signal2Delay) >= + SkewS1S2RiseFall) THEN + ReportType := s2f; + ReportTime := NOW - Signal1Delay + + SkewS1S2RiseFall; + ELSIF ((Signal2Delay - Signal1Delay) >= + SkewS2S1FallRise) THEN + ReportType := s1r; + ReportTime := NOW - Signal2Delay + + SkewS2S1FallRise; + END IF; + ELSIF (Negedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - Signal2Delay) >= + SkewS1S2FallRise) THEN + ReportType := s2r; + ReportTime := NOW - Signal1Delay + + SkewS1S2FallRise; + ELSIF ((Signal2Delay - Signal1Delay) >= + SkewS2S1RiseFall) THEN + ReportType := s1f; + ReportTime := NOW - Signal2Delay + + SkewS2S1RiseFall; + END IF; + END IF; + ELSIF (Posedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay >= Signal2Delay) and (Signal2Delay > + SkewS2S1RiseFall)) THEN + ReportType := s1f; + ReportTime := NOW - Signal2Delay + + SkewS2S1RiseFall; + ELSIF ((Signal2Delay >= Signal1Delay) and (Signal1Delay > + SkewS1S2RiseFall)) THEN + ReportType := s2f; + ReportTime := NOW - Signal1Delay + + SkewS1S2RiseFall; + ELSIF (Signal1Delay > Signal2Delay) THEN + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1RiseFall + + Signal1Delay - Signal2Delay; + ELSIF (Signal2Delay > Signal1Delay) THEN + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2RiseFall + + Signal2Delay - Signal1Delay; + ELSIF (SkewS2S1RiseFall < SkewS1S2RiseFall) THEN + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1RiseFall; + ELSE + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2RiseFall; + END IF; + ELSIF (Negedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay >= Signal2Delay) and (Signal2Delay > + SkewS2S1FallRise)) THEN + ReportType := s1r; + ReportTime := NOW - Signal2Delay + + SkewS2S1FallRise; + ELSIF ((Signal2Delay >= Signal1Delay) and (Signal1Delay > + SkewS1S2FallRise)) THEN + ReportType := s2r; + ReportTime := NOW - Signal1Delay + + SkewS1S2FallRise; + ELSIF (Signal1Delay > Signal2Delay) THEN + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1FallRise + + Signal1Delay - Signal2Delay; + ELSIF (Signal2Delay > Signal1Delay) THEN + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2FallRise + + Signal2Delay - Signal1Delay; + ELSIF (SkewS2S1FallRise < SkewS1S2FallRise) THEN + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1FallRise; + ELSE + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2FallRise; + END IF; + END IF; + ELSIF (Signal1'EVENT) THEN + IF (Signal1 = Signal2) THEN + IF (Posedge(Signal1'LAST_VALUE,Signal1)) THEN + IF (SkewS1S2RiseFall > (Signal1Delay - + Signal2Delay)) THEN + SkewData.ExpectedType := s2f; + TriggerDelay := SkewS1S2RiseFall + + Signal2Delay - Signal1Delay; + ELSE + ReportType := s2f; + ReportTime := NOW - Signal1Delay + + SkewS1S2RiseFall; + END IF; + ELSIF ( Negedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ( SkewS1S2FallRise > (Signal1Delay - + Signal2Delay)) THEN + SkewData.ExpectedType := s2r; + TriggerDelay := SkewS1S2FallRise + + Signal2Delay - Signal1Delay; + ELSE + ReportType := s2r; + ReportTime := NOW - Signal1Delay + + SkewS1S2FallRise; + END IF; + END IF; + ELSE + IF (Posedge( Signal1'LAST_VALUE, Signal1 )) THEN + IF ((Signal1Delay - SkewS1S2RiseFall) > + (Signal2'LAST_EVENT + Signal2Delay)) THEN + IF (( SkewData.Signal2Old2 - Signal2Delay) > + (NOW - Signal1Delay + + SkewS1S2RiseFall )) THEN + ViolationCertain := FALSE; + ReportType := s2f; + ReportTime := NOW + SkewS1S2RiseFall - + Signal1Delay; + END IF; + END IF; + ELSIF (Negedge(Signal1'LAST_VALUE, Signal1)) THEN + IF ((Signal1Delay - SkewS1S2FallRise) > + (Signal2'LAST_EVENT + Signal2Delay)) THEN + IF (( SkewData.Signal2Old2 - Signal2Delay) > + (NOW - Signal1Delay + + SkewS1S2FallRise )) THEN + ViolationCertain := FALSE; + ReportType := s2r; + ReportTime := NOW + SkewS1S2FallRise - + Signal1Delay; + END IF; + END IF; + END IF; + END IF; + ELSIF (Signal2'EVENT) THEN + IF (Signal1 = Signal2) THEN + IF (Posedge(Signal2'LAST_VALUE,Signal2)) THEN + IF (SkewS2S1RiseFall > (Signal2Delay - + Signal1Delay)) THEN + SkewData.ExpectedType := s1f; + TriggerDelay := SkewS2S1RiseFall + Signal1Delay - + Signal2Delay ; + ELSE + ReportType := s1f; + ReportTime := NOW + SkewS2S1RiseFall - + Signal2Delay; + END IF; + ELSIF (Negedge(Signal2'LAST_VALUE,Signal2)) THEN + IF (SkewS2S1FallRise > (Signal2Delay - + Signal1Delay)) THEN + SkewData.ExpectedType := s1r; + TriggerDelay := SkewS2S1FallRise + Signal1Delay - + Signal2Delay; + ELSE + ReportType := s1r; + ReportTime := NOW + SkewS2S1FallRise - + Signal2Delay; + END IF; + END IF; + ELSE + IF (Posedge(Signal2'LAST_VALUE,Signal2)) THEN + IF ((Signal2Delay - SkewS2S1RiseFall) > + (Signal1'LAST_EVENT + Signal1Delay)) THEN + IF (( SkewData.Signal1Old2 - Signal1Delay) > + (NOW - Signal2Delay + + SkewS2S1RiseFall )) THEN + ViolationCertain := FALSE; + ReportType := s1f; + ReportTime := NOW + SkewS2S1RiseFall - + Signal2Delay; + END IF; + END IF; + ELSIF (Negedge(Signal2'LAST_VALUE,Signal2)) THEN + IF ((Signal2Delay - SkewS2S1FallRise) > + (Signal1'LAST_EVENT + Signal1Delay)) THEN + IF (( SkewData.Signal1Old2 - Signal1Delay) > + (NOW - Signal2Delay + + SkewS2S1FallRise )) THEN + ViolationCertain := FALSE; + ReportType := s1r; + ReportTime := NOW + SkewS2S1FallRise - + Signal2Delay; + END IF; + END IF; + END IF; + END IF; + END IF; + + IF (ReportType /= none) THEN + IF (MsgOn) THEN + CASE ReportType IS + WHEN s1r => + ReportSkewViolation( + Signal2Name, + Signal1Name, + SkewS2S1FallRise, + ReportTime, + HeaderMsg, + MsgSeverity, + Outphase, + ViolationCertain); + WHEN s1f => + ReportSkewViolation( + Signal2Name, + Signal1Name, + SkewS2S1RiseFall, + ReportTime, + HeaderMsg, + MsgSeverity, + Outphase, + ViolationCertain); + WHEN s2r => + ReportSkewViolation( + Signal1Name, + Signal2Name, + SkewS1S2FallRise, + ReportTime, + HeaderMsg, + MsgSeverity, + Outphase, + ViolationCertain); + WHEN s2f => + ReportSkewViolation( + Signal1Name, + Signal2Name, + SkewS1S2RiseFall, + ReportTime, + HeaderMsg, + MsgSeverity, + Outphase, + ViolationCertain); + WHEN OTHERS => + END CASE; + END IF; + IF (XOn) THEN + Violation := 'X'; + END IF; + ReportType := none; + END IF; + IF (TriggerDelay /= noTrigger) THEN + IF (TriggerDelay = 0 ns) THEN + trigger <= TRANSPORT trigger AFTER 0 ns; + ELSE + trigger <= TRANSPORT not (trigger) AFTER + TriggerDelay; + END IF; + END IF; + END IF; + IF (Signal1'EVENT and SkewData.Signal1Old1 /= NOW) THEN + SkewData.Signal1Old2 := SkewData.Signal1Old1; + SkewData.Signal1Old1 := NOW; + END IF; + IF (Signal2'EVENT and SkewData.Signal2Old1 /= NOW) THEN + SkewData.Signal2Old2 := SkewData.Signal2Old1; + SkewData.Signal2Old1 := NOW; + END IF; + END VitalOutPhaseSkewCheck; + +END VITAL_Timing; diff --git a/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_p.vhdl b/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_p.vhdl new file mode 100644 index 0000000..bbeb66f --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/vital2000/timing_p.vhdl @@ -0,0 +1,1202 @@ +------------------------------------------------------------------------------- +-- Title : Standard VITAL TIMING Package +-- : $Revision$ +-- : +-- Library : This package shall be compiled into a library +-- : symbolically named IEEE. +-- : +-- Developers : IEEE DASC Timing Working Group (TWG), PAR 1076.4 +-- : +-- Purpose : This packages defines standard types, attributes, constants, +-- : functions and procedures for use in developing ASIC models. +-- : +-- Known Errors : +-- : +-- Note : No declarations or definitions shall be included in, +-- : or excluded from this package. The "package declaration" +-- : defines the objects (types, subtypes, constants, functions, +-- : procedures ... etc.) that can be used by a user. The package +-- : body shall be considered the formal definition of the +-- : semantics of this package. Tool developers may choose to +-- : implement the package body in the most efficient manner +-- : available to them. +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Acknowledgments: +-- This code was originally developed under the "VHDL Initiative Toward ASIC +-- Libraries" (VITAL), an industry sponsored initiative. Technical +-- Director: William Billowitch, VHDL Technology Group; U.S. Coordinator: +-- Steve Schultz; Steering Committee Members: Victor Berman, Cadence Design +-- Systems; Oz Levia, Synopsys Inc.; Ray Ryan, Ryan & Ryan; Herman van Beek, +-- Texas Instruments; Victor Martin, Hewlett-Packard Company. +-- ---------------------------------------------------------------------------- +-- +-- ---------------------------------------------------------------------------- +-- Modification History : +-- ---------------------------------------------------------------------------- +-- Version No:|Auth:| Mod.Date:| Changes Made: +-- v95.0 A | | 06/02/95 | Initial ballot draft 1995 +-- v95.1 | | 08/31/95 | #203 - Timing violations at time 0 +-- #204 - Output mapping prior to glitch detection +-- v98.0 |TAG | 03/27/98 | Initial ballot draft 1998 +-- | #IR225 - Negative Premptive Glitch +-- **Pkg_effected=VitalPathDelay, +-- VitalPathDelay01,VitalPathDelay01z. +-- #IR105 - Skew timing check needed +-- **Pkg_effected=NONE, New code added!! +-- #IR248 - Allows VPD to use a default timing +-- delay +-- **Pkg_effected=VitalPathDelay, +-- VitalPathDelay01,VitalPathDelay01z, +-- #IR250 - Corrects fastpath condition in VPD +-- **Pkg_effected=VitalPathDelay01, +-- VitalPathDelay01z, +-- #IR252 - Corrects cancelled timing check call if +-- condition expires. +-- **Pkg_effected=VitalSetupHoldCheck, +-- VitalRecoveryRemovalCheck. +-- #IR105 - Skew timing check +-- **Pkg_effected=NONE, New code added +-- v98.1 | jdc | 03/25/99 | Changed UseDefaultDelay to IgnoreDefaultDelay +-- and set default to FALSE in VitalPathDelay() +-- v00.7 | dbb | 07/18/00 | Removed "maximum" from VitalPeriodPulse() +-- comments + + +LIBRARY IEEE; +USE IEEE.Std_Logic_1164.ALL; + +PACKAGE VITAL_Timing IS + TYPE VitalTransitionType IS ( tr01, tr10, tr0z, trz1, tr1z, trz0, + tr0X, trx1, tr1x, trx0, trxz, trzx); + + SUBTYPE VitalDelayType IS TIME; + TYPE VitalDelayType01 IS ARRAY (VitalTransitionType RANGE tr01 to tr10) + OF TIME; + TYPE VitalDelayType01Z IS ARRAY (VitalTransitionType RANGE tr01 to trz0) + OF TIME; + TYPE VitalDelayType01ZX IS ARRAY (VitalTransitionType RANGE tr01 to trzx) + OF TIME; + + TYPE VitalDelayArrayType IS ARRAY (NATURAL RANGE <>) OF VitalDelayType; + TYPE VitalDelayArrayType01 IS ARRAY (NATURAL RANGE <>) OF VitalDelayType01; + TYPE VitalDelayArrayType01Z IS ARRAY (NATURAL RANGE <>) OF VitalDelayType01Z; + TYPE VitalDelayArrayType01ZX IS ARRAY (NATURAL RANGE <>) OF VitalDelayType01ZX; + -- ---------------------------------------------------------------------- + -- ********************************************************************** + -- ---------------------------------------------------------------------- + + CONSTANT VitalZeroDelay : VitalDelayType := 0 ns; + CONSTANT VitalZeroDelay01 : VitalDelayType01 := ( 0 ns, 0 ns ); + CONSTANT VitalZeroDelay01Z : VitalDelayType01Z := ( OTHERS => 0 ns ); + CONSTANT VitalZeroDelay01ZX : VitalDelayType01ZX := ( OTHERS => 0 ns ); + + --------------------------------------------------------------------------- + -- examples of usage: + --------------------------------------------------------------------------- + -- tpd_CLK_Q : VitalDelayType := 5 ns; + -- tpd_CLK_Q : VitalDelayType01 := (tr01 => 2 ns, tr10 => 3 ns); + -- tpd_CLK_Q : VitalDelayType01Z := ( 1 ns, 2 ns, 3 ns, 4 ns, 5 ns, 6 ns ); + -- tpd_CLK_Q : VitalDelayArrayType(0 to 1) + -- := (0 => 5 ns, 1 => 6 ns); + -- tpd_CLK_Q : VitalDelayArrayType01(0 to 1) + -- := (0 => (tr01 => 2 ns, tr10 => 3 ns), + -- 1 => (tr01 => 2 ns, tr10 => 3 ns)); + -- tpd_CLK_Q : VitalDelayArrayType01Z(0 to 1) + -- := (0 => ( 1 ns, 2 ns, 3 ns, 4 ns, 5 ns, 6 ns ), + -- 1 => ( 1 ns, 2 ns, 3 ns, 4 ns, 5 ns, 6 ns )); + --------------------------------------------------------------------------- + + -- TRUE if the model is LEVEL0 | LEVEL1 compliant + ATTRIBUTE VITAL_Level0 : BOOLEAN; + ATTRIBUTE VITAL_Level1 : BOOLEAN; + + SUBTYPE std_logic_vector2 IS std_logic_vector(1 DOWNTO 0); + SUBTYPE std_logic_vector3 IS std_logic_vector(2 DOWNTO 0); + SUBTYPE std_logic_vector4 IS std_logic_vector(3 DOWNTO 0); + SUBTYPE std_logic_vector8 IS std_logic_vector(7 DOWNTO 0); + + -- Types for strength mapping of outputs + TYPE VitalOutputMapType IS ARRAY ( std_ulogic ) OF std_ulogic; + TYPE VitalResultMapType IS ARRAY ( UX01 ) OF std_ulogic; + TYPE VitalResultZMapType IS ARRAY ( UX01Z ) OF std_ulogic; + CONSTANT VitalDefaultOutputMap : VitalOutputMapType + := "UX01ZWLH-"; + CONSTANT VitalDefaultResultMap : VitalResultMapType + := ( 'U', 'X', '0', '1' ); + CONSTANT VitalDefaultResultZMap : VitalResultZMapType + := ( 'U', 'X', '0', '1', 'Z' ); + + -- Types for fields of VitalTimingDataType + TYPE VitalTimeArrayT IS ARRAY (INTEGER RANGE <>) OF TIME; + TYPE VitalTimeArrayPT IS ACCESS VitalTimeArrayT; + TYPE VitalBoolArrayT IS ARRAY (INTEGER RANGE <>) OF BOOLEAN; + TYPE VitalBoolArrayPT IS ACCESS VitalBoolArrayT; + TYPE VitalLogicArrayPT IS ACCESS std_logic_vector; + + TYPE VitalTimingDataType IS RECORD + NotFirstFlag : BOOLEAN; + RefLast : X01; + RefTime : TIME; + HoldEn : BOOLEAN; + TestLast : std_ulogic; + TestTime : TIME; + SetupEn : BOOLEAN; + TestLastA : VitalLogicArrayPT; + TestTimeA : VitalTimeArrayPT; + HoldEnA : VitalBoolArrayPT; + SetupEnA : VitalBoolArrayPT; + END RECORD; + + FUNCTION VitalTimingDataInit RETURN VitalTimingDataType; + + -- type for internal data of VitalPeriodPulseCheck + TYPE VitalPeriodDataType IS RECORD + Last : X01; + Rise : TIME; + Fall : TIME; + NotFirstFlag : BOOLEAN; + END RECORD; + CONSTANT VitalPeriodDataInit : VitalPeriodDataType + := ('X', 0 ns, 0 ns, FALSE ); + + -- Type for specifying the kind of Glitch handling to use + TYPE VitalGlitchKindType IS (OnEvent, + OnDetect, + VitalInertial, + VitalTransport); + + TYPE VitalGlitchDataType IS + RECORD + SchedTime : TIME; + GlitchTime : TIME; + SchedValue : std_ulogic; + LastValue : std_ulogic; + END RECORD; + TYPE VitalGlitchDataArrayType IS ARRAY (NATURAL RANGE <>) + OF VitalGlitchDataType; + + -- PathTypes: for handling simple PathDelay info + TYPE VitalPathType IS RECORD + InputChangeTime : TIME; -- timestamp for path input signal + PathDelay : VitalDelayType; -- delay for this path + PathCondition : BOOLEAN; -- path sensitize condition + END RECORD; + TYPE VitalPath01Type IS RECORD + InputChangeTime : TIME; -- timestamp for path input signal + PathDelay : VitalDelayType01; -- delay for this path + PathCondition : BOOLEAN; -- path sensitize condition + END RECORD; + TYPE VitalPath01ZType IS RECORD + InputChangeTime : TIME; -- timestamp for path input signal + PathDelay : VitalDelayType01Z;-- delay for this path + PathCondition : BOOLEAN; -- path sensitize condition + END RECORD; + + -- For representing multiple paths to an output + TYPE VitalPathArrayType IS ARRAY (NATURAL RANGE <> ) OF VitalPathType; + TYPE VitalPathArray01Type IS ARRAY (NATURAL RANGE <> ) OF VitalPath01Type; + TYPE VitalPathArray01ZType IS ARRAY (NATURAL RANGE <> ) OF VitalPath01ZType; + + TYPE VitalTableSymbolType IS ( + '/', -- 0 -> 1 + '\', -- 1 -> 0 + 'P', -- Union of '/' and '^' (any edge to 1) + 'N', -- Union of '\' and 'v' (any edge to 0) + 'r', -- 0 -> X + 'f', -- 1 -> X + 'p', -- Union of '/' and 'r' (any edge from 0) + 'n', -- Union of '\' and 'f' (any edge from 1) + 'R', -- Union of '^' and 'p' (any possible rising edge) + 'F', -- Union of 'v' and 'n' (any possible falling edge) + '^', -- X -> 1 + 'v', -- X -> 0 + 'E', -- Union of 'v' and '^' (any edge from X) + 'A', -- Union of 'r' and '^' (rising edge to or from 'X') + 'D', -- Union of 'f' and 'v' (falling edge to or from 'X') + '*', -- Union of 'R' and 'F' (any edge) + 'X', -- Unknown level + '0', -- low level + '1', -- high level + '-', -- don't care + 'B', -- 0 or 1 + 'Z', -- High Impedance + 'S' -- steady value + ); + + SUBTYPE VitalEdgeSymbolType IS VitalTableSymbolType RANGE '/' TO '*'; + + + + + -- Addition of Vital Skew Type Information + -- March 14, 1998 + + --------------------------------------------------------------------------- + -- Procedures and Type Definitions for Defining Skews + --------------------------------------------------------------------------- + + TYPE VitalSkewExpectedType IS (none, s1r, s1f, s2r, s2f); + + TYPE VitalSkewDataType IS RECORD + ExpectedType : VitalSkewExpectedType; + Signal1Old1 : TIME; + Signal2Old1 : TIME; + Signal1Old2 : TIME; + Signal2Old2 : TIME; + END RECORD; + + CONSTANT VitalSkewDataInit : VitalSkewDataType := ( none, 0 ns, 0 ns, 0 ns, 0 ns ); + + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalExtendToFillDelay + -- + -- Description: A six element array of delay values of type + -- VitalDelayType01Z is returned when a 1, 2 or 6 + -- element array is given. This function will convert + -- VitalDelayType and VitalDelayType01 delay values into + -- a VitalDelayType01Z type following these rules: + -- + -- When a VitalDelayType is passed, all six transition + -- values are assigned the input value. When a + -- VitalDelayType01 is passed, the 01 transitions are + -- assigned to the 01, 0Z and Z1 transitions and the 10 + -- transitions are assigned to 10, 1Z and Z0 transition + -- values. When a VitalDelayType01Z is passed, the values + -- are kept as is. + -- + -- The function is overloaded based on input type. + -- + -- There is no function to fill a 12 value delay + -- type. + -- + -- Arguments: + -- + -- IN Type Description + -- Delay A one, two or six delay value Vital- + -- DelayType is passed and a six delay, + -- VitalDelayType01Z, item is returned. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- VitalDelayType01Z + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType + ) RETURN VitalDelayType01Z; + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType01 + ) RETURN VitalDelayType01Z; + FUNCTION VitalExtendToFillDelay ( + CONSTANT Delay : IN VitalDelayType01Z + ) RETURN VitalDelayType01Z; + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalCalcDelay + -- + -- Description: This function accepts a 1, 2 or 6 value delay and + -- chooses the correct delay time to delay the NewVal + -- signal. This function is overloaded based on the + -- delay type passed. The function returns a single value + -- of time. + -- + -- This function is provided for Level 0 models in order + -- to calculate the delay which should be applied + -- for the passed signal. The delay selection is performed + -- using the OldVal and the NewVal to determine the + -- transition to select. The default value of OldVal is X. + -- + -- This function cannot be used in a Level 1 model since + -- the VitalPathDelay routines perform the delay path + -- selection and output driving function. + -- + -- Arguments: + -- + -- IN Type Description + -- NewVal New value of the signal to be + -- assigned + -- OldVal Previous value of the signal. + -- Default value is 'X' + -- Delay The delay structure from which to + -- select the appropriate delay. The + -- function overload is based on the + -- type of delay passed. In the case of + -- the single delay, VitalDelayType, no + -- selection is performed, since there + -- is only one value to choose from. + -- For the other cases, the transition + -- from the old value to the new value + -- decide the value returned. + -- + -- INOUT + -- none + -- + -- OUT + -- none + -- + -- Returns + -- Time The time value selected from the + -- Delay INPUT is returned. + -- + -- ------------------------------------------------------------------------- + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType + ) RETURN TIME; + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType01 + ) RETURN TIME; + FUNCTION VitalCalcDelay ( + CONSTANT NewVal : IN std_ulogic := 'X'; + CONSTANT OldVal : IN std_ulogic := 'X'; + CONSTANT Delay : IN VitalDelayType01Z + ) RETURN TIME; + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalPathDelay + -- + -- Description: VitalPathDelay is the Level 1 routine used to select + -- the propagation delay path and schedule a new output + -- value. + -- + -- For single and dual delay values, VitalDelayType and + -- VitalDelayType01 are used. The output value is + -- scheduled with a calculated delay without strength + -- modification. + -- + -- For the six delay value, VitalDelayType01Z, the output + -- value is scheduled with a calculated delay. The drive + -- strength can be modified to handle weak signal strengths + -- to model tri-state devices, pull-ups and pull-downs as + -- an example. + -- + -- The correspondence between the delay type and the + -- path delay function is as follows: + -- + -- Delay Type Path Type + -- + -- VitalDelayType VitalPathDelay + -- VitalDelayType01 VitalPathDelay01 + -- VitalDelayType01Z VitalPathDelay01Z + -- + -- For each of these routines, the following capabilities + -- is provided: + -- + -- o Transition dependent path delay selection + -- o User controlled glitch detection with the ability + -- to generate "X" on output and report the violation + -- o Control of the severity level for message generation + -- o Scheduling of the computed values on the specified + -- signal. + -- + -- Selection of the appropriate path delay begins with the + -- candidate paths. The candidate paths are selected by + -- identifying the paths for which the PathCondition is + -- true. If there is a single candidate path, then that + -- delay is selected. If there is more than one candidate + -- path, then the shortest delay is selected using + -- transition dependent delay selection. If there is no + -- candidate paths, then the delay specified by the + -- DefaultDelay parameter to the path delay is used. + -- + -- Once the delay is known, the output signal is then + -- scheduled with that delay. In the case of + -- VitalPathDelay01Z, an additional result mapping of + -- the output value is performed before scheduling. The + -- result mapping is performed after transition dependent + -- delay selection but before scheduling the final output. + -- + -- In order to perform glitch detection, the user is + -- obligated to provide a variable of VitalGlitchDataType + -- for the propagation delay functions to use. The user + -- cannot modify or use this information. + -- + -- Arguments: + -- + -- IN Type Description + -- OutSignalName string The name of the output signal + -- OutTemp std_logic The new output value to be driven + -- Paths VitalPathArrayType A list of paths of VitalPathArray + -- VitalPathArrayType01 type. The VitalPathDelay routine + -- VitalPathArrayType01Z is overloaded based on the type + -- of constant passed in. With + -- VitalPathArrayType01Z, the + -- resulting output strengths can be + -- mapped. + -- DefaultDelay VitalDelayType The default delay can be changed + -- VitalDelayType01 from zero-delay to another set + -- VitalDelayType01Z of values. + -- + -- IgnoreDefaultDelay BOOLEAN If TRUE, the default delay will + -- be used when no paths are + -- selected. If false, no event + -- will be scheduled if no paths are + -- selected. + -- + -- Mode VitalGlitchKindType The value of this constant + -- selects the type of glitch + -- detection. + -- OnEvent Glitch on transition event + -- | OnDetect Glitch immediate on detection + -- | VitalInertial No glitch, use INERTIAL + -- assignment + -- | VitalTransport No glitch, use TRANSPORT + -- assignment + -- XOn BOOLEAN Control for generation of 'X' on + -- glitch. When TRUE, 'X's are + -- scheduled for glitches, otherwise + -- no are generated. + -- MsgOn BOOLEAN Control for message generation on + -- glitch detect. When TRUE, + -- glitches are reported, otherwise + -- they are not reported. + -- MsgSeverity SEVERITY_LEVEL The level at which the message, + -- or assertion, will be reported. + -- IgnoreDefaultDelay BOOLEAN Tells the VPD whether to use the + -- default delay value in the absense + -- of a valid delay for input conditions 3/14/98 MG + -- + -- OutputMap VitalOutputMapType For VitalPathDelay01Z, the output + -- can be mapped to alternate + -- strengths to model tri-state + -- devices, pull-ups and pull-downs. + -- + -- INOUT + -- GlitchData VitalGlitchDataType The internal data storage + -- variable required to detect + -- glitches. + -- + -- OUT + -- OutSignal std_logic The output signal to be driven + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalPathDelay ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArrayType; + CONSTANT DefaultDelay : IN VitalDelayType := VitalZeroDelay; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE --IR248 3/14/98 + ); + PROCEDURE VitalPathDelay01 ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArray01Type; + CONSTANT DefaultDelay : IN VitalDelayType01 := VitalZeroDelay01; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE; --IR248 3/14/98 + CONSTANT RejectFastPath : IN BOOLEAN := FALSE --IR250 + ); + PROCEDURE VitalPathDelay01Z ( + SIGNAL OutSignal : OUT std_logic; + VARIABLE GlitchData : INOUT VitalGlitchDataType; + CONSTANT OutSignalName : IN string; + CONSTANT OutTemp : IN std_logic; + CONSTANT Paths : IN VitalPathArray01ZType; + CONSTANT DefaultDelay : IN VitalDelayType01Z := VitalZeroDelay01Z; + CONSTANT Mode : IN VitalGlitchKindType := OnEvent; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap; + CONSTANT NegPreemptOn : IN BOOLEAN := FALSE; --IR225 3/14/98 + CONSTANT IgnoreDefaultDelay : IN BOOLEAN := FALSE; --IR248 3/14/98 + CONSTANT RejectFastPath : IN BOOLEAN := FALSE --IR250 + ); + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalWireDelay + -- + -- Description: VitalWireDelay is used to delay an input signal. + -- The delay is selected from the input parameter passed. + -- The function is useful for back annotation of actual + -- net delays. + -- + -- The function is overloaded to permit passing a delay + -- value for twire for VitalDelayType, VitalDelayType01 + -- and VitalDelayType01Z. twire is a generic which can + -- be back annotated and must be constructed to follow + -- the SDF to generic mapping rules. + -- + -- Arguments: + -- + -- IN Type Description + -- InSig std_ulogic The input signal (port) to be + -- delayed. + -- twire VitalDelayType The delay value for which the input + -- VitalDelayType01 signal should be delayed. For Vital- + -- VitalDelayType01Z DelayType, the value is single value + -- passed. For VitalDelayType01 and + -- VitalDelayType01Z, the appropriate + -- delay value is selected by VitalCalc- + -- Delay. + -- + -- INOUT + -- none + -- + -- OUT + -- OutSig std_ulogic The internal delayed signal + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType + ); + + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType01 + ); + + PROCEDURE VitalWireDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT twire : IN VitalDelayType01Z + ); + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalSignalDelay + -- + -- Description: The VitalSignalDelay procedure is called in a signal + -- delay block in the architecture to delay the + -- appropriate test or reference signal in order to + -- accommodate negative constraint checks. + -- + -- The amount of delay is of type TIME and is a constant. + -- + -- Arguments: + -- + -- IN Type Description + -- InSig std_ulogic The signal to be delayed. + -- dly TIME The amount of time the signal is + -- delayed. + -- + -- INOUT + -- none + -- + -- OUT + -- OutSig std_ulogic The delayed signal + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalSignalDelay ( + SIGNAL OutSig : OUT std_ulogic; + SIGNAL InSig : IN std_ulogic; + CONSTANT dly : IN TIME + ); + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalSetupHoldCheck + -- + -- Description: The VitalSetupHoldCheck procedure detects a setup or a + -- hold violation on the input test signal with respect + -- to the corresponding input reference signal. The timing + -- constraints are specified through parameters + -- representing the high and low values for the setup and + -- hold values for the setup and hold times. This + -- procedure assumes non-negative values for setup and hold + -- timing constraints. + -- + -- It is assumed that negative timing constraints + -- are handled by internally delaying the test or + -- reference signals. Negative setup times result in + -- a delayed reference signal. Negative hold times + -- result in a delayed test signal. Furthermore, the + -- delays and constraints associated with these and + -- other signals may need to be appropriately + -- adjusted so that all constraint intervals overlap + -- the delayed reference signals and all constraint + -- values (with respect to the delayed signals) are + -- non-negative. + -- + -- This function is overloaded based on the input + -- TestSignal. A vector and scalar form are provided. + -- + -- TestSignal XXXXXXXXXXXX____________________________XXXXXXXXXXXXXXXXXXXXXX + -- : + -- : -->| error region |<-- + -- : + -- _______________________________ + -- RefSignal \______________________________ + -- : | | | + -- : | -->| |<-- thold + -- : -->| tsetup |<-- + -- + -- Arguments: + -- + -- IN Type Description + -- TestSignal std_ulogic Value of test signal + -- std_logic_vector + -- TestSignalName STRING Name of test signal + -- TestDelay TIME Model's internal delay associated + -- with TestSignal + -- RefSignal std_ulogic Value of reference signal + -- RefSignalName STRING Name of reference signal + -- RefDelay TIME Model's internal delay associated + -- with RefSignal + -- SetupHigh TIME Absolute minimum time duration before + -- the transition of RefSignal for which + -- transitions of TestSignal are allowed + -- to proceed to the "1" state without + -- causing a setup violation. + -- SetupLow TIME Absolute minimum time duration before + -- the transition of RefSignal for which + -- transitions of TestSignal are allowed + -- to proceed to the "0" state without + -- causing a setup violation. + -- HoldHigh TIME Absolute minimum time duration after + -- the transition of RefSignal for which + -- transitions of TestSignal are allowed + -- to proceed to the "1" state without + -- causing a hold violation. + -- HoldLow TIME Absolute minimum time duration after + -- the transition of RefSignal for which + -- transitions of TestSignal are allowed + -- to proceed to the "0" state without + -- causing a hold violation. + -- CheckEnabled BOOLEAN Check performed if TRUE. + -- RefTransition VitalEdgeSymbolType + -- Reference edge specified. Events on + -- the RefSignal which match the edge + -- spec. are used as reference edges. + -- HeaderMsg STRING String that will accompany any + -- assertion messages produced. + -- XOn BOOLEAN If TRUE, Violation output parameter + -- is set to "X". Otherwise, Violation + -- is always set to "0". + -- MsgOn BOOLEAN If TRUE, set and hold violation + -- message will be generated. + -- Otherwise, no messages are generated, + -- even upon violations. + -- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. + -- EnableSetupOnTest BOOLEAN If FALSE at the time that the + -- TestSignal signal changes, + -- no setup check will be performed. + -- EnableSetupOnRef BOOLEAN If FALSE at the time that the + -- RefSignal signal changes, + -- no setup check will be performed. + -- EnableHoldOnRef BOOLEAN If FALSE at the time that the + -- RefSignal signal changes, + -- no hold check will be performed. + -- EnableHoldOnTest BOOLEAN If FALSE at the time that the + -- TestSignal signal changes, + -- no hold check will be performed. + -- + -- INOUT + -- TimingData VitalTimingDataType + -- VitalSetupHoldCheck information + -- storage area. This is used + -- internally to detect reference edges + -- and record the time of the last edge. + -- + -- OUT + -- Violation X01 This is the violation flag returned. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalSetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + ); + + PROCEDURE VitalSetupHoldCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_logic_vector; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT SetupHigh : IN TIME := 0 ns; + CONSTANT SetupLow : IN TIME := 0 ns; + CONSTANT HoldHigh : IN TIME := 0 ns; + CONSTANT HoldLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableSetupOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableSetupOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableHoldOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + ); + + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalRecoveryRemovalCheck + -- + -- Description: The VitalRecoveryRemovalCheck detects the presence of + -- a recovery or removal violation on the input test + -- signal with respect to the corresponding input reference + -- signal. It assumes non-negative values of setup and + -- hold timing constraints. The timing constraint is + -- specified through parameters representing the recovery + -- and removal times associated with a reference edge of + -- the reference signal. A flag indicates whether a test + -- signal is asserted when it is high or when it is low. + -- + -- It is assumed that negative timing constraints + -- are handled by internally delaying the test or + -- reference signals. Negative recovery times result in + -- a delayed reference signal. Negative removal times + -- result in a delayed test signal. Furthermore, the + -- delays and constraints associated with these and + -- other signals may need to be appropriately + -- adjusted so that all constraint intervals overlap + -- the delayed reference signals and all constraint + -- values (with respect to the delayed signals) are + -- non-negative. + -- + -- Arguments: + -- + -- IN Type Description + -- TestSignal std_ulogic Value of TestSignal. The routine is + -- TestSignalName STRING Name of TestSignal + -- TestDelay TIME Model internal delay associated with + -- the TestSignal + -- RefSignal std_ulogic Value of RefSignal + -- RefSignalName STRING Name of RefSignal + -- RefDelay TIME Model internal delay associated with + -- the RefSignal + -- Recovery TIME A change to an unasserted value on + -- the asynchronous TestSignal must + -- precede reference edge (on RefSignal) + -- by at least this time. + -- Removal TIME An asserted condition must be present + -- on the asynchronous TestSignal for at + -- least the removal time following a + -- reference edge on RefSignal. + -- ActiveLow BOOLEAN A flag which indicates if TestSignal + -- is asserted when it is low - "0." + -- FALSE indicate that TestSignal is + -- asserted when it has a value "1." + -- CheckEnabled BOOLEAN The check in enabled when the value + -- is TRUE, otherwise the constraints + -- are not checked. + -- RefTransition VitalEdgeSymbolType + -- Reference edge specifier. Events on + -- RefSignal will match the edge + -- specified. + -- HeaderMsg STRING A header message that will accompany + -- any assertion message. + -- XOn BOOLEAN When TRUE, the output Violation is + -- set to "X." When FALSE, it is always + -- "0." + -- MsgOn BOOLEAN When TRUE, violation messages are + -- output. When FALSE, no messages are + -- generated. + -- MsgSeverity SEVERITY_LEVEL Severity level of the asserted + -- message. + -- EnableRecOnTest BOOLEAN If FALSE at the time that the + -- TestSignal signal changes, + -- no recovery check will be performed. + -- EnableRecOnRef BOOLEAN If FALSE at the time that the + -- RefSignal signal changes, + -- no recovery check will be performed. + -- EnableRemOnRef BOOLEAN If FALSE at the time that the + -- RefSignal signal changes, + -- no removal check will be performed. + -- EnableRemOnTest BOOLEAN If FALSE at the time that the + -- TestSignal signal changes, + -- no removal check will be performed. + -- + -- INOUT + -- TimingData VitalTimingDataType + -- VitalRecoveryRemovalCheck information + -- storage area. This is used + -- internally to detect reference edges + -- and record the time of the last edge. + -- OUT + -- Violation X01 This is the violation flag returned. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalRecoveryRemovalCheck ( + VARIABLE Violation : OUT X01; + VARIABLE TimingData : INOUT VitalTimingDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName: IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + SIGNAL RefSignal : IN std_ulogic; + CONSTANT RefSignalName : IN STRING := ""; + CONSTANT RefDelay : IN TIME := 0 ns; + CONSTANT Recovery : IN TIME := 0 ns; + CONSTANT Removal : IN TIME := 0 ns; + CONSTANT ActiveLow : IN BOOLEAN := TRUE; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT RefTransition : IN VitalEdgeSymbolType; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT EnableRecOnTest : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRecOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRemOnRef : IN BOOLEAN := TRUE; --IR252 3/23/98 + CONSTANT EnableRemOnTest : IN BOOLEAN := TRUE --IR252 3/23/98 + ); + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalPeriodPulseCheck + -- + -- Description: VitalPeriodPulseCheck checks for minimum + -- periodicity and pulse width for "1" and "0" values of + -- the input test signal. The timing constraint is + -- specified through parameters representing the minimal + -- period between successive rising and falling edges of + -- the input test signal and the minimum pulse widths + -- associated with high and low values. + -- + -- VitalPeriodCheck's accepts rising and falling edges + -- from 1 and 0 as well as transitions to and from 'X.' + -- + -- _______________ __________ + -- ____________| |_______| + -- + -- |<--- pw_hi --->| + -- |<-------- period ----->| + -- -->| pw_lo |<-- + -- + -- Arguments: + -- IN Type Description + -- TestSignal std_ulogic Value of test signal + -- TestSignalName STRING Name of the test signal + -- TestDelay TIME Model's internal delay associated + -- with TestSignal + -- Period TIME Minimum period allowed between + -- consecutive rising ('P') or + -- falling ('F') transitions. + -- PulseWidthHigh TIME Minimum time allowed for a high + -- pulse ('1' or 'H') + -- PulseWidthLow TIME Minimum time allowed for a low + -- pulse ('0' or 'L') + -- CheckEnabled BOOLEAN Check performed if TRUE. + -- HeaderMsg STRING String that will accompany any + -- assertion messages produced. + -- XOn BOOLEAN If TRUE, Violation output parameter + -- is set to "X". Otherwise, Violation + -- is always set to "0". + -- XOnChecks is a global that allows for + -- only timing checks to be turned on. + -- MsgOn BOOLEAN If TRUE, period/pulse violation + -- message will be generated. + -- Otherwise, no messages are generated, + -- even though a violation is detected. + -- MsgOnChecks allows for only timing + -- check messages to be turned on. + -- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. + -- + -- INOUT + -- PeriodData VitalPeriodDataType + -- VitalPeriodPulseCheck information + -- storage area. This is used + -- internally to detect reference edges + -- and record the pulse and period + -- times. + -- OUT + -- Violation X01 This is the violation flag returned. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------ + PROCEDURE VitalPeriodPulseCheck ( + VARIABLE Violation : OUT X01; + VARIABLE PeriodData : INOUT VitalPeriodDataType; + SIGNAL TestSignal : IN std_ulogic; + CONSTANT TestSignalName : IN STRING := ""; + CONSTANT TestDelay : IN TIME := 0 ns; + CONSTANT Period : IN TIME := 0 ns; + CONSTANT PulseWidthHigh : IN TIME := 0 ns; + CONSTANT PulseWidthLow : IN TIME := 0 ns; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT HeaderMsg : IN STRING := " "; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING + ); + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalInPhaseSkewCheck + -- + -- Description: The VitalInPhaseSkewCheck procedure detects an in-phase + -- skew violation between input signals Signal1 and Signal2. + -- This is a timer based skew check in which a + -- violation is detected if Signal1 and Signal2 are in + -- different logic states longer than the specified skew + -- interval. + -- + -- The timing constraints are specified through parameters + -- representing the skew values for the different states + -- of Signal1 and Signal2. + -- + -- + -- Signal2 XXXXXXXXXXXX___________________________XXXXXXXXXXXXXXXXXXXXXX + -- : + -- : -->| |<-- + -- : Signal2 should go low in this region + -- : + -- + -- ____________ + -- Signal1 \_________________________________________________ + -- : | | + -- : |<-------- tskew -------->| + -- + -- Arguments: + -- + -- IN Type Description + -- Signal1 std_ulogic Value of first signal + -- Signal1Name STRING Name of first signal + -- Signal1Delay TIME Model's internal delay associated + -- with Signal1 + -- Signal2 std_ulogic Value of second signal + -- Signal2Name STRING Name of second signal + -- Signal2Delay TIME Model's internal delay associated + -- with Signal2 + -- SkewS1S2RiseRise TIME Absolute maximum time duration for + -- which Signal2 can remain at "0" + -- after Signal1 goes to the "1" state, + -- without causing a skew violation. + -- SkewS2S1RiseRise TIME Absolute maximum time duration for + -- which Signal1 can remain at "0" + -- after Signal2 goes to the "1" state, + -- without causing a skew violation. + -- SkewS1S2FallFall TIME Absolute maximum time duration for + -- which Signal2 can remain at "1" + -- after Signal1 goes to the "0" state, + -- without causing a skew violation. + -- SkewS2S1FallFall TIME Absolute maximum time duration for + -- which Signal1 can remain at "1" + -- after Signal2 goes to the "0" state, + -- without causing a skew violation. + -- CheckEnabled BOOLEAN Check performed if TRUE. + -- HeaderMsg STRING String that will accompany any + -- assertion messages produced. + -- XOn BOOLEAN If TRUE, Violation output parameter + -- is set to "X". Otherwise, Violation + -- is always set to "0." + -- MsgOn BOOLEAN If TRUE, skew timing violation + -- messages will be generated. + -- Otherwise, no messages are generated, + -- even upon violations. + -- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. + -- + -- INOUT + -- SkewData VitalSkewDataType + -- VitalInPhaseSkewCheck information + -- storage area. This is used + -- internally to detect signal edges + -- and record the time of the last edge. + -- + -- + -- Trigger std_ulogic This signal is used to trigger the + -- process in which the timing check + -- occurs upon expiry of the skew + -- interval. + -- + -- OUT + -- Violation X01 This is the violation flag returned. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + + PROCEDURE VitalInPhaseSkewCheck ( + VARIABLE Violation : OUT X01; + VARIABLE SkewData : INOUT VitalSkewDataType; + SIGNAL Signal1 : IN std_ulogic; + CONSTANT Signal1Name : IN STRING := ""; + CONSTANT Signal1Delay : IN TIME := 0 ns; + SIGNAL Signal2 : IN std_ulogic; + CONSTANT Signal2Name : IN STRING := ""; + CONSTANT Signal2Delay : IN TIME := 0 ns; + CONSTANT SkewS1S2RiseRise : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1RiseRise : IN TIME := TIME'HIGH; + CONSTANT SkewS1S2FallFall : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1FallFall : IN TIME := TIME'HIGH; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT HeaderMsg : IN STRING := ""; + SIGNAL Trigger : INOUT std_ulogic + ); + + + -- ------------------------------------------------------------------------ + -- + -- Function Name: VitalOutPhaseSkewCheck + -- + -- Description: The VitalOutPhaseSkewCheck procedure detects an + -- out-of-phase skew violation between input signals Signal1 + -- and Signal2. This is a timer based skew check in + -- which a violation is detected if Signal1 and Signal2 are + -- in the same logic state longer than the specified skew + -- interval. + -- + -- The timing constraints are specified through parameters + -- representing the skew values for the different states + -- of Signal1 and Signal2. + -- + -- + -- Signal2 XXXXXXXXXXXX___________________________XXXXXXXXXXXXXXXXXXXXXX + -- : + -- : -->| |<-- + -- : Signal2 should go high in this region + -- : + -- + -- ____________ + -- Signal1 \_________________________________________________ + -- : | | + -- : |<-------- tskew -------->| + -- + -- Arguments: + -- + -- IN Type Description + -- Signal1 std_ulogic Value of first signal + -- Signal1Name STRING Name of first signal + -- Signal1Delay TIME Model's internal delay associated + -- with Signal1 + -- Signal2 std_ulogic Value of second signal + -- Signal2Name STRING Name of second signal + -- Signal2Delay TIME Model's internal delay associated + -- with Signal2 + -- SkewS1S2RiseFall TIME Absolute maximum time duration for + -- which Signal2 can remain at "1" + -- after Signal1 goes to the "1" state, + -- without causing a skew violation. + -- SkewS2S1RiseFall TIME Absolute maximum time duration for + -- which Signal1 can remain at "1" + -- after Signal2 goes to the "1" state, + -- without causing a skew violation. + -- SkewS1S2FallRise TIME Absolute maximum time duration for + -- which Signal2 can remain at "0" + -- after Signal1 goes to the "0" state, + -- without causing a skew violation. + -- SkewS2S1FallRise TIME Absolute maximum time duration for + -- which Signal1 can remain at "0" + -- after Signal2 goes to the "0" state, + -- without causing a skew violation. + -- CheckEnabled BOOLEAN Check performed if TRUE. + -- HeaderMsg STRING String that will accompany any + -- assertion messages produced. + -- XOn BOOLEAN If TRUE, Violation output parameter + -- is set to "X". Otherwise, Violation + -- is always set to "0." + -- MsgOn BOOLEAN If TRUE, skew timing violation + -- messages will be generated. + -- Otherwise, no messages are generated, + -- even upon violations. + -- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. + -- + -- INOUT + -- SkewData VitalSkewDataType + -- VitalInPhaseSkewCheck information + -- storage area. This is used + -- internally to detect signal edges + -- and record the time of the last edge. + -- + -- Trigger std_ulogic This signal is used to trigger the + -- process in which the timing check + -- occurs upon expiry of the skew + -- interval. + -- + -- OUT + -- Violation X01 This is the violation flag returned. + -- + -- Returns + -- none + -- + -- ------------------------------------------------------------------------- + PROCEDURE VitalOutPhaseSkewCheck ( + VARIABLE Violation : OUT X01; + VARIABLE SkewData : INOUT VitalSkewDataType; + SIGNAL Signal1 : IN std_ulogic; + CONSTANT Signal1Name : IN STRING := ""; + CONSTANT Signal1Delay : IN TIME := 0 ns; + SIGNAL Signal2 : IN std_ulogic; + CONSTANT Signal2Name : IN STRING := ""; + CONSTANT Signal2Delay : IN TIME := 0 ns; + CONSTANT SkewS1S2RiseFall : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1RiseFall : IN TIME := TIME'HIGH; + CONSTANT SkewS1S2FallRise : IN TIME := TIME'HIGH; + CONSTANT SkewS2S1FallRise : IN TIME := TIME'HIGH; + CONSTANT CheckEnabled : IN BOOLEAN := TRUE; + CONSTANT XOn : IN BOOLEAN := TRUE; + CONSTANT MsgOn : IN BOOLEAN := TRUE; + CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; + CONSTANT HeaderMsg : IN STRING := ""; + SIGNAL Trigger : INOUT std_ulogic + ); + + +END VITAL_Timing; From f6d6f47b621bb6ee1204d723933f288375d8710a Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 2 Dec 2024 00:30:09 +0800 Subject: [PATCH 011/107] =?UTF-8?q?=E6=89=A7=E8=A1=8C=200.4.0=20=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E8=BD=AE=E8=BF=AD=E4=BB=A3=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dide-lsp/static/xilinx/primitive.bin | Bin 3736879 -> 3736879 bytes src/function/sim/instance.ts | 2 +- src/function/sim/simulate.ts | 2 +- src/function/tool.ts | 16 +++++++++++++++- src/function/treeView/tree.ts | 14 ++++++++------ src/hdlParser/core.ts | 13 +++++++------ src/manager/ignore.ts | 7 +++++++ 7 files changed, 39 insertions(+), 15 deletions(-) diff --git a/resources/dide-lsp/static/xilinx/primitive.bin b/resources/dide-lsp/static/xilinx/primitive.bin index 4bd7e11b4c61551dd61d4b55ff9203c942c78340..fe9c9f14c57a8aa02538db77d8bab01706f5f503 100644 GIT binary patch delta 4339 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 BzU2S_ delta 4354 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 VNWPaY+jEkD57UV%c(ET#{}1a|lzIRF diff --git a/src/function/sim/instance.ts b/src/function/sim/instance.ts index d2cb4e3..93b2967 100644 --- a/src/function/sim/instance.ts +++ b/src/function/sim/instance.ts @@ -75,7 +75,7 @@ function instanceVhdlCode(module: HdlModule) { instContent += `generic map(\n${param})\n`; } - instContent += `port map(\n${port});\n`; + instContent += `port map(\n${port.trim()}\n);\n`; return instContent; } diff --git a/src/function/sim/simulate.ts b/src/function/sim/simulate.ts index 9e523d3..c478a78 100644 --- a/src/function/sim/simulate.ts +++ b/src/function/sim/simulate.ts @@ -207,7 +207,7 @@ class IcarusSimulate extends Simulate { continue; } // icarus 不支持 IP - if (dep.startsWith(opeParam.prjInfo.ipPath)) { + if (opeParam.prjInfo.ipPath.length > 0 && dep.startsWith(opeParam.prjInfo.ipPath)) { MainOutput.report(t('error.simluate.icarus.use-ip', dep), { level: ReportType.Error }); continue; } diff --git a/src/function/tool.ts b/src/function/tool.ts index 8746649..13fc6bd 100644 --- a/src/function/tool.ts +++ b/src/function/tool.ts @@ -156,7 +156,21 @@ function exportFilelist(view: ModuleDataItem) { deps.others.forEach(path => fileset.add(path)); deps.include.forEach(path => fileset.add(path)); const filelist = [view.path]; - filelist.push(...fileset); + + for (const dep of fileset) { + // 去除其中的原语 + if (dep === 'xilinx-primitives') { + continue; + } + + // 去除其中的 IP 文件 + if (opeParam.prjInfo.ipPath.length > 0 && dep.startsWith(opeParam.prjInfo.ipPath)) { + continue; + } + + filelist.push(dep); + } + askUserToSaveFilelist(filelist); } else { vscode.window.showErrorMessage('fail to get deps of view ' + view.name); diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index f953827..964fc27 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -10,7 +10,6 @@ import { getIconConfig } from '../../hdlFs/icons'; import { DoFastFileType } from '../../global/lsp'; import { t } from '../../i18n'; -let needExpand = true; interface ModuleDataItem { icon: string, // 图标 @@ -118,10 +117,13 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { let collapsibleState; if (!expandable) { collapsibleState = vscode.TreeItemCollapsibleState.None; - } else if (needExpand) { - collapsibleState = vscode.TreeItemCollapsibleState.Expanded; - } else { - collapsibleState = vscode.TreeItemCollapsibleState.Collapsed; + } else { + // 默认只让 src 和 sim 展开 + if (element.parent === undefined) { + collapsibleState = vscode.TreeItemCollapsibleState.Expanded; + } else { + collapsibleState = vscode.TreeItemCollapsibleState.Collapsed; + } } const treeItem = new vscode.TreeItem(itemName, collapsibleState); @@ -179,7 +181,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const hardwarePath = opeParam.prjInfo.arch.hardware; const moduleType = element.name as keyof (SrcPath & SimPath); - const topModules = hdlParam.getTopModulesByType(moduleType); + const topModules = hdlParam.getTopModulesByType(moduleType); const topModuleItemList = topModules.map(module => ({ icon: this.judgeTopModuleIconByDoFastType(module.file.doFastType), type: moduleType, diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 308bf8e..1047d40 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -314,7 +314,7 @@ class HdlParam { for (const p of pools) { const increment = Math.floor(p.id / fileNum * 100); await p.promise; - console.log("handle id " + p.id + ' increment: ' + increment); + // console.log("handle id " + p.id + ' increment: ' + increment); progress?.report({ message: reportTitle + ` ${p.id}/${fileNum}`, increment }); } pools.length = 0; @@ -351,7 +351,7 @@ class HdlParam { for (const p of pools) { const increment = Math.floor(p.id / fileNum * 100); await p.promise; - console.log("handle id " + p.id + ' increment: ' + increment); + // console.log("handle id " + p.id + ' increment: ' + increment); progress?.report({ message: reportTitle + ` ${p.id}/${fileNum}`, increment }); } pools.length = 0; @@ -454,14 +454,15 @@ class HdlParam { public updateFast(path: string, fast: common.Fast) { const moduleFile = this.getHdlFile(path); + if (moduleFile === undefined) { return; } - // 1. update marco directly + // 1. 更新 macro moduleFile.updateMacro(fast.macro); - // 2. update modules one by one + // 2. 增量更新所有 module const uncheckedModuleNames = new Set(); for (const name of moduleFile.getAllModuleNames()) { uncheckedModuleNames.add(name); @@ -482,7 +483,7 @@ class HdlParam { } } - // 3. delete module not visited yet + // 3. 删除没有被访问到的 module for (const moduleName of uncheckedModuleNames) { moduleFile.deleteHdlModule(moduleName); } @@ -1078,7 +1079,7 @@ export class HdlFile { hdlParam.setHdlFile(this); // make nameToModule - this.nameToModule = new Map(); + this.nameToModule = new Map(); for (const rawHdlModule of modules) { this.createHdlModule(rawHdlModule); } diff --git a/src/manager/ignore.ts b/src/manager/ignore.ts index d5e6fe9..007e1c8 100644 --- a/src/manager/ignore.ts +++ b/src/manager/ignore.ts @@ -23,6 +23,13 @@ class HdlIgnore { let relativePath = hdlPath.toPureRelativePath(hdlPath.relative(workspace, path)); for (const pattern of this.patterns) { + // 1. 如果当前 pattern 是一个文件夹,则通过包含前缀匹配 + const patternAbsPath = hdlPath.join(workspace, pattern); + if (fspath.isAbsolute(patternAbsPath) && relativePath.startsWith(pattern)) { + return true; + } + + // 2. 通过 glob 进行匹配 const matched = minimatch(relativePath, pattern); if (matched) { return true; From 06a6c92e459d4595f44c0dfe5ec9af6dd01a063f Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 2 Dec 2024 19:09:13 +0800 Subject: [PATCH 012/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=20Xilinx=20=E5=88=B0?= =?UTF-8?q?=E6=99=AE=E9=80=9A=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 6 +- l10n/bundle.l10n.en.json | 6 +- l10n/bundle.l10n.ja.json | 6 +- l10n/bundle.l10n.zh-cn.json | 6 +- l10n/bundle.l10n.zh-tw.json | 6 +- package.json | 7 +- package.nls.de.json | 3 +- package.nls.ja.json | 3 +- package.nls.json | 3 +- package.nls.zh-cn.json | 3 +- package.nls.zh-tw.json | 3 +- src/extension.ts | 16 +- src/function/index.ts | 23 +- src/function/lsp/completion/index.ts | 12 - src/function/lsp/completion/vhdl.ts | 174 ------------ src/function/lsp/completion/vlog.ts | 390 -------------------------- src/function/lsp/definition/index.ts | 7 - src/function/lsp/definition/vhdl.ts | 170 ----------- src/function/lsp/definition/vlog.ts | 161 ----------- src/function/lsp/docSemantic/index.ts | 6 - src/function/lsp/docSemantic/vlog.ts | 49 ---- src/function/lsp/docSymbol/index.ts | 8 - src/function/lsp/docSymbol/vhdl.ts | 85 ------ src/function/lsp/docSymbol/vlog.ts | 191 ------------- src/function/lsp/hover/index.ts | 7 - src/function/lsp/hover/vhdl.ts | 180 ------------ src/function/lsp/hover/vlog.ts | 209 -------------- src/function/treeView/tree.ts | 70 ++--- src/hdlFs/dir.ts | 22 +- src/hdlFs/file.ts | 19 +- src/hdlFs/path.ts | 36 +-- src/hdlParser/core.ts | 22 +- src/manager/index.ts | 5 - src/manager/prj.ts | 253 ++++++++++++++++- src/monitor/index.ts | 3 +- 35 files changed, 397 insertions(+), 1773 deletions(-) delete mode 100644 src/function/lsp/completion/index.ts delete mode 100644 src/function/lsp/completion/vhdl.ts delete mode 100644 src/function/lsp/completion/vlog.ts delete mode 100644 src/function/lsp/definition/index.ts delete mode 100644 src/function/lsp/definition/vhdl.ts delete mode 100644 src/function/lsp/definition/vlog.ts delete mode 100644 src/function/lsp/docSemantic/index.ts delete mode 100644 src/function/lsp/docSemantic/vlog.ts delete mode 100644 src/function/lsp/docSymbol/index.ts delete mode 100644 src/function/lsp/docSymbol/vhdl.ts delete mode 100644 src/function/lsp/docSymbol/vlog.ts delete mode 100644 src/function/lsp/hover/index.ts delete mode 100644 src/function/lsp/hover/vhdl.ts delete mode 100644 src/function/lsp/hover/vlog.ts diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 7d437cd..11a147a 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -78,5 +78,9 @@ "info.simulate.vvp.vcd-generate": "vcd-Datei wurde erstellt in {0}", "error.simluate.icarus.use-primitives": "Es wurde ein Primitiv {0} erkannt, aber Icarus iverilog unterstützt keine Primitiven.", "error.simluate.icarus.use-ip": "Es wurde die IP {0} verwendet, aber Icarus iverilog unterstützt keine IP.", - "error.simulation.error-happen-run-command": "Fehler bei der Icarus-Simulation:" + "error.simulation.error-happen-run-command": "Fehler bei der Icarus-Simulation:", + "info.command.structure.transform-xilinx-to-standard": "Konvertiere Xilinx-Projektstruktur in Digital IDE-Standardstruktur", + "error.command.structure.not-valid-xilinx-project": "Das aktuelle Projekt ist kein gültiges Xilinx-Projekt, die Konvertierung ist fehlgeschlagen!", + "info.command.structure.reload-vscode": "Projektstrukturkonvertierung abgeschlossen, bitte starten Sie vscode neu, um die Änderungen zu übernehmen.", + "info.common.confirm": "Bestätigen" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index d328292..e2b8d22 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -78,5 +78,9 @@ "info.simulate.vvp.vcd-generate": "vcd file has been generated to {0}", "error.simluate.icarus.use-primitives": "Primitive {0} detected, but Icarus iverilog does not support primitives.", "error.simluate.icarus.use-ip": "Detected the use of IP {0}, but Icarus iverilog does not support IP.", - "error.simulation.error-happen-run-command": "Error during Icarus simulation:" + "error.simulation.error-happen-run-command": "Error during Icarus simulation:", + "info.command.structure.transform-xilinx-to-standard": "Converting Xilinx project structure to Digital IDE standard structure", + "error.command.structure.not-valid-xilinx-project": "The current project is not a valid Xilinx project, the conversion failed!", + "info.command.structure.reload-vscode": "Project structure conversion completed, please restart vscode to apply the changes.", + "info.common.confirm": "Confirm" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 49eeed1..8b53441 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -78,5 +78,9 @@ "info.simulate.vvp.vcd-generate": "vcdファイルが生成されました: {0}", "error.simluate.icarus.use-primitives": "プリミティブ {0} が検出されましたが、Icarus iverilog はプリミティブをサポートしていません。", "error.simluate.icarus.use-ip": "IP {0} が使用されていますが、Icarus iverilog は IP をサポートしていません。", - "error.simulation.error-happen-run-command": "Icarusシミュレーション中にエラーが発生しました:" + "error.simulation.error-happen-run-command": "Icarusシミュレーション中にエラーが発生しました:", + "info.command.structure.transform-xilinx-to-standard": "Xilinx プロジェクト構造を Digital IDE 標準構造に変換しています", + "error.command.structure.not-valid-xilinx-project": "現在のプロジェクトは有効なXilinxプロジェクトではありません、変換に失敗しました!", + "info.command.structure.reload-vscode": "プロジェクト構造の変換が完了しました。変更を適用するために vscode を再起動してください。", + "info.common.confirm": "確認" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 77dc01a..299c638 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -78,5 +78,9 @@ "info.simulate.vvp.vcd-generate": "vcd 文件已经生成至 {0}", "error.simluate.icarus.use-primitives": "检测到使用了原语 {0},但是 Icarus iverilog 并不支持原语", "error.simluate.icarus.use-ip": "检测到使用了 IP {0},但是 Icarus iverilog 并不支持 IP", - "error.simulation.error-happen-run-command": "Icarus 仿真时,出现错误:" + "error.simulation.error-happen-run-command": "Icarus 仿真时,出现错误:", + "info.command.structure.transform-xilinx-to-standard": "正在将 Xilinx 项目结构转变为 Digital IDE 标准结构", + "error.command.structure.not-valid-xilinx-project": "当前项目不是一个有效的 Xilinx 项目,转换失败!", + "info.command.structure.reload-vscode": "项目结构转换完成,请重启 vscode 使应用生效", + "info.common.confirm": "确定" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index bd9ff8a..7d9500b 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -78,5 +78,9 @@ "info.simulate.vvp.vcd-generate": "vcd 檔案已生成至 {0}", "error.simluate.icarus.use-primitives": "偵測到使用了原語 {0},但是 Icarus iverilog 並不支援原語。", "error.simluate.icarus.use-ip": "偵測到使用了 IP {0},但是 Icarus iverilog 並不支援 IP。", - "error.simulation.error-happen-run-command": "Icarus 模擬時,出現錯誤:" + "error.simulation.error-happen-run-command": "Icarus 模擬時,出現錯誤:", + "info.command.structure.transform-xilinx-to-standard": "正在將 Xilinx 專案結構轉變為 Digital IDE 標準結構", + "error.command.structure.not-valid-xilinx-project": "當前專案不是一個有效的 Xilinx 專案,轉換失敗!", + "info.command.structure.reload-vscode": "專案結構轉換完成,請重新啟動 vscode 使應用生效。", + "info.common.confirm": "確定" } \ No newline at end of file diff --git a/package.json b/package.json index 8d64fa8..99be370 100644 --- a/package.json +++ b/package.json @@ -597,6 +597,11 @@ "command": "digital-ide.tool.clean", "category": "Digital-IDE", "title": "%digital-ide.tool.clean.title%" + }, + { + "command": "digital-ide.structure.from-xilinx-to-standard", + "category": "Digital-IDE", + "title": "%digital-ide.structure.from-xilinx-to-standard.title%" } ], "menus": { @@ -1245,4 +1250,4 @@ "wavedrom": "^2.9.1", "zlib": "^1.0.5" } -} +} \ No newline at end of file diff --git a/package.nls.de.json b/package.nls.de.json index 4396653..7cc7a5a 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -91,5 +91,6 @@ "digital-ide.function.instantiation.addComment.title": "add comment like // ports, // input, // output when doing instantiation, including completion for module invoking", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "auto declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", - "digital-ide.function.lsp.file-parse-maxsize.title": "" + "digital-ide.function.lsp.file-parse-maxsize.title": "", + "digital-ide.structure.from-xilinx-to-standard.title": "Konvertieren Sie Xilinx-Projekte in die Digital IDE-Standardprojektstruktur" } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index 69ad808..9c43731 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -91,5 +91,6 @@ "digital-ide.function.instantiation.addComment.title": "インスタンス化時に // ポート, // 入力, // 出力 のようなコメントを追加し、モジュール呼び出しの補完を含みます", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "インスタンス化が発生したときにスコープ内で出力タイプのネットを自動的に宣言します。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting のトリガー文字", - "digital-ide.function.lsp.file-parse-maxsize.title": "" + "digital-ide.function.lsp.file-parse-maxsize.title": "", + "digital-ide.structure.from-xilinx-to-standard.title": "Xilinx プロジェクトを Digital IDE 標準プロジェクト構造に変換する" } \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 2572ff2..0d03cda 100644 --- a/package.nls.json +++ b/package.nls.json @@ -91,5 +91,6 @@ "digital-ide.function.instantiation.addComment.title": "Add comments like // ports, // input, // output when doing instantiation, including completion for module invoking", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "Automatically declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", - "digital-ide.function.lsp.file-parse-maxsize.title": "" + "digital-ide.function.lsp.file-parse-maxsize.title": "", + "digital-ide.structure.from-xilinx-to-standard.title": "Convert Xilinx projects to Digital IDE standard project structure" } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index d246858..1427b24 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -91,5 +91,6 @@ "digital-ide.function.instantiation.addComment.title": "在进行实例化时添加注释,如 // 端口, // 输入, // 输出,包括模块调用的完成", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在实例化发生时自动在作用域中声明输出类型的网络。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的触发字符", - "digital-ide.function.lsp.file-parse-maxsize.title": "最大解析的文件阈值,大小超出这个值的文件不会被解析。单位为 MB,必须是整数。默认为 1MB" + "digital-ide.function.lsp.file-parse-maxsize.title": "最大解析的文件阈值,大小超出这个值的文件不会被解析。单位为 MB,必须是整数。默认为 1MB", + "digital-ide.structure.from-xilinx-to-standard.title": "将 Xilinx 项目转换成 Digital IDE 标准项目结构" } \ No newline at end of file diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index f3a39fe..d52eb33 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -91,5 +91,6 @@ "digital-ide.function.instantiation.addComment.title": "在進行實例化時添加註釋,如 // 端口, // 輸入, // 輸出,包括模塊調用的完成", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在實例化發生時自動在作用域中聲明輸出類型的網絡。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的觸發字符", - "digital-ide.function.lsp.file-parse-maxsize.title": "" + "digital-ide.function.lsp.file-parse-maxsize.title": "", + "digital-ide.structure.from-xilinx-to-standard.title": "將 Xilinx 專案轉換成 Digital IDE 標準專案結構" } \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index e23624e..3c71d64 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -16,12 +16,23 @@ import { initialiseI18n, t } from './i18n'; async function registerCommand(context: vscode.ExtensionContext, packageJson: any) { func.registerFunctionCommands(context); func.registerTreeViewDataProvider(context); - func.registerLsp(context, packageJson.version); func.registerToolCommands(context); func.registerFSM(context); func.registerNetlist(context); func.registerWaveViewer(context); + + // onCommand 激活事件中的命令 + context.subscriptions.push( + vscode.commands.registerCommand('digital-ide.property-json.generate', () => { + manager.prjManage.generatePropertyJson(context); + }) + ); + context.subscriptions.push( + vscode.commands.registerCommand('digital-ide.structure.from-xilinx-to-standard', () => { + manager.prjManage.transformXilinxToStandard(context); + }) + ); } function readPackageJson(context: vscode.ExtensionContext): any | undefined { @@ -37,7 +48,7 @@ function readPackageJson(context: vscode.ExtensionContext): any | undefined { async function launch(context: vscode.ExtensionContext) { initialiseI18n(context); - + console.log(t('info.welcome.title')); console.log(t('info.welcome.join-qq-group') + ' https://qm.qq.com/q/1M655h3GsA'); @@ -87,6 +98,7 @@ async function launch(context: vscode.ExtensionContext) { // 刷新结构树 refreshArchTree(); + // 启动监视器 hdlMonitor.start(); }); diff --git a/src/function/index.ts b/src/function/index.ts index e07dd5c..af46f69 100644 --- a/src/function/index.ts +++ b/src/function/index.ts @@ -5,7 +5,7 @@ import * as hdlDoc from './hdlDoc'; import * as sim from './sim'; import * as treeView from './treeView'; -import * as lspCompletion from './lsp/completion'; +import { tclCompletionProvider } from './lsp/completion/tcl'; import * as lspFormatter from '../../resources/formatter'; import * as lspTranslator from '../../resources/translator'; import * as lspLinter from './lsp/linter'; @@ -117,26 +117,8 @@ function registerLsp(context: vscode.ExtensionContext, version: string) { // translator vscode.commands.registerCommand('digital-ide.vhdl2vlog', uri => lspTranslator.vhdl2vlog(uri)); - // verilog lsp - // vscode.languages.registerDocumentSymbolProvider(vlogSelector, lspDocSymbol.vlogDocSymbolProvider); - // vscode.languages.registerDefinitionProvider(vlogSelector, lspDefinition.vlogDefinitionProvider); - // vscode.languages.registerHoverProvider(vlogSelector, lspHover.vlogHoverProvider); - // vscode.languages.registerCompletionItemProvider(vlogSelector, lspCompletion.vlogIncludeCompletionProvider, '/', '"'); - // vscode.languages.registerCompletionItemProvider(vlogSelector, lspCompletion.vlogMacroCompletionProvider, '`'); - // vscode.languages.registerCompletionItemProvider(vlogSelector, lspCompletion.vlogPositionPortProvider, '.'); - // vscode.languages.registerCompletionItemProvider(vlogSelector, lspCompletion.vlogCompletionProvider); - // vscode.languages.registerDocumentSemanticTokensProvider(vlogSelector, lspDocSemantic.vlogDocSenmanticProvider, lspDocSemantic.vlogLegend); - - - // vhdl lsp - // vscode.languages.registerDocumentSymbolProvider(vhdlSelector, lspDocSymbol.vhdlDocSymbolProvider); - // vscode.languages.registerDefinitionProvider(vhdlSelector, lspDefinition.vhdlDefinitionProvider); - // vscode.languages.registerHoverProvider(vhdlSelector, lspHover.vhdlHoverProvider); - // vscode.languages.registerCompletionItemProvider(vhdlSelector, lspCompletion.vhdlCompletionProvider); - - // tcl lsp - vscode.languages.registerCompletionItemProvider(tclSelector, lspCompletion.tclCompletionProvider); + vscode.languages.registerCompletionItemProvider(tclSelector, tclCompletionProvider); // lsp linter // make first symbols in workspace @@ -167,7 +149,6 @@ function registerNetlist(context: vscode.ExtensionContext) { if (typeof uri === 'string') { uri = vscode.Uri.file(uri); } - console.log('get uri: ', uri); Netlist.openNetlistViewer(context, uri); }); } diff --git a/src/function/lsp/completion/index.ts b/src/function/lsp/completion/index.ts deleted file mode 100644 index db3b07b..0000000 --- a/src/function/lsp/completion/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -// import { vlogCompletionProvider, vlogIncludeCompletionProvider, vlogMacroCompletionProvider, vlogPositionPortProvider } from './vlog'; -// import { vhdlCompletionProvider } from './vhdl'; -import { tclCompletionProvider } from './tcl'; - -export { - // vlogCompletionProvider, - // vlogIncludeCompletionProvider, - // vlogMacroCompletionProvider, - // vlogPositionPortProvider, - // vhdlCompletionProvider, - tclCompletionProvider -}; \ No newline at end of file diff --git a/src/function/lsp/completion/vhdl.ts b/src/function/lsp/completion/vhdl.ts deleted file mode 100644 index 16d76d0..0000000 --- a/src/function/lsp/completion/vhdl.ts +++ /dev/null @@ -1,174 +0,0 @@ -import * as vscode from 'vscode'; -import * as fs from 'fs'; - -import * as util from '../util'; -import { hdlParam } from '../../../hdlParser'; -import { AbsPath, MainOutput, RelPath, ReportType } from '../../../global'; -import { Define, Include, RawSymbol } from '../../../hdlParser/common'; -import { HdlInstance, HdlModule } from '../../../hdlParser/core'; -import { vhdlKeyword } from '../util/keyword'; -import { hdlPath } from '../../../hdlFs'; - -// class VhdlCompletionProvider implements vscode.CompletionItemProvider { -// public async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): Promise | null | undefined> { - -// try { -// const filePath = hdlPath.toSlash(document.fileName); - -// // 1. provide keyword -// const completions = this.makeKeywordItems(document, position); - -// const symbolResult = await hdlSymbolStorage.getSymbol(filePath); - -// if (!symbolResult) { -// return completions; -// } - -// const symbols = symbolResult.content; -// for (const symbol of symbols) { -// const kind = this.getCompletionItemKind(symbol.type); -// const clItem = new vscode.CompletionItem(symbol.name, kind); -// completions.push(clItem); -// } - -// return completions; - -// } catch (err) { -// console.log(err); -// } -// } - -// private getCompletionItemKind(type: string): vscode.CompletionItemKind { -// switch (type) { -// case 'entity': return vscode.CompletionItemKind.Class; break; -// case 'port': return vscode.CompletionItemKind.Variable; break; -// default: return vscode.CompletionItemKind.Value; break; -// } -// } - -// private makeKeywordItems(document: vscode.TextDocument, position: vscode.Position): vscode.CompletionItem[] { -// const vhdlKeywordItems: vscode.CompletionItem[] = []; -// for (const keyword of vhdlKeyword.keys()) { -// const clItem = this.makekeywordCompletionItem(keyword, 'vhdl keyword'); -// vhdlKeywordItems.push(clItem); -// } -// for (const keyword of vhdlKeyword.compilerKeys()) { -// const clItem = this.makekeywordCompletionItem(keyword, 'IEEE lib function'); -// vhdlKeywordItems.push(clItem); -// } -// for (const keyword of vhdlKeyword.systemKeys()) { -// const clItem = this.makekeywordCompletionItem(keyword, 'vhdl keyword'); -// vhdlKeywordItems.push(clItem); -// } -// return vhdlKeywordItems; -// } - -// private makekeywordCompletionItem(keyword: string, detail: string): vscode.CompletionItem { -// const clItem = new vscode.CompletionItem(keyword, vscode.CompletionItemKind.Keyword); -// clItem.detail = detail; - -// switch (keyword) { -// case 'begin': clItem.insertText = new vscode.SnippetString("begin$1\nend"); break; -// case 'entity': clItem.insertText = new vscode.SnippetString("entity ${1:name} is\n\t${2:content}\nend entity;"); break; -// case 'architecture': clItem.insertText = new vscode.SnippetString("architecture ${1:name} of ${2:entity} is\n\t${3:definition}\nbegin\n\t${4:content}\nend architecture;"); break; -// default: break; -// } -// return clItem; -// } - -// private async provideModules(document: vscode.TextDocument, position: vscode.Position, filePath: AbsPath, includes: Include[]): Promise { -// const suggestModules: vscode.CompletionItem[] = []; - -// const lspVhdlConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.completion.vhdl'); -// const auto-add-include: boolean = lspVhdlConfig.get('auto-add-include', true); -// const auto-add-output-declaration: boolean = lspVhdlConfig.get('auto-add-output-declaration', true); - -// const includePaths = new Set(); -// let lastIncludeLine = 0; -// for (const include of includes) { -// const absIncludePath = hdlPath.rel2abs(filePath, include.path); -// includePaths.add(absIncludePath); -// lastIncludeLine = Math.max(include.range.end.line, lastIncludeLine); -// } -// const insertPosition = new vscode.Position(lastIncludeLine, 0); -// const insertRange = new vscode.Range(insertPosition, insertPosition); -// const fileFolder = hdlPath.resolve(filePath, '..'); - -// // used only when auto-add-output-declaration is true -// let completePrefix = ''; -// if (auto-add-output-declaration) { -// const wordRange = document.getWordRangeAtPosition(position); -// const countStart = wordRange ? wordRange.start.character : position.character; -// const spaceNumber = Math.floor(countStart / 4) * 4; -// console.log(wordRange, countStart, spaceNumber); - -// completePrefix = ' '.repeat(spaceNumber); -// } - - -// // for (const module of hdlParam.getAllHdlModules()) { -// // const clItem = new vscode.CompletionItem(module.name, vscode.CompletionItemKind.Class); - -// // // feature 1 : auto add include path if there's no corresponding include path -// // if (auto-add-include && !includePaths.has(module.path)) { -// // const relPath: RelPath = hdlPath.relative(fileFolder, module.path); -// // const includeString = '`include "' + relPath + '"\n'; -// // const textEdit = new vscode.TextEdit(insertRange, includeString); -// // clItem.additionalTextEdits = [textEdit]; -// // } - -// // // feature 2 : auto complete instance -// // if (auto-add-output-declaration) { -// // const snippetString = instanceVhdlCode(module, '', true); -// // clItem.insertText = new vscode.SnippetString(snippetString); -// // } - -// // clItem.detail = 'module'; -// // suggestModules.push(clItem); -// // } - -// return suggestModules; -// } - -// private async provideParamsPorts(module: HdlModule): Promise { -// if (!module) { -// return []; -// } -// const suggestParamsPorts = []; -// for (const param of module.params) { -// const clItem = new vscode.CompletionItem(param.name, vscode.CompletionItemKind.Constant); -// clItem.detail = 'param'; -// suggestParamsPorts.push(clItem); -// } - -// for (const port of module.ports) { -// const clItem = new vscode.CompletionItem(port.name, vscode.CompletionItemKind.Interface); -// clItem.detail = 'port'; -// suggestParamsPorts.push(clItem); -// } - -// return suggestParamsPorts; -// } - -// private async provideNets(symbols: RawSymbol[]): Promise { -// if (!symbols) { -// return []; -// } -// const suggestNets = []; -// for (const symbol of symbols) { -// if (symbol.type === 'wire' || symbol.type === 'reg') { -// const clItem = new vscode.CompletionItem(symbol.name, vscode.CompletionItemKind.Variable); -// clItem.sortText = ''; -// clItem.detail = symbol.type; -// suggestNets.push(clItem); -// } -// } -// return suggestNets; -// } -// }; - -// const vhdlCompletionProvider = new VhdlCompletionProvider(); - -// export { -// vhdlCompletionProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/completion/vlog.ts b/src/function/lsp/completion/vlog.ts deleted file mode 100644 index 1ffccf1..0000000 --- a/src/function/lsp/completion/vlog.ts +++ /dev/null @@ -1,390 +0,0 @@ -import * as vscode from 'vscode'; -import * as fs from 'fs'; - -import * as util from '../util'; -import { hdlFile, hdlPath } from '../../../hdlFs'; -import { hdlParam } from '../../../hdlParser'; -import { AbsPath, MainOutput, RelPath, ReportType } from '../../../global'; -import { Define, Include, RawSymbol } from '../../../hdlParser/common'; -import { HdlInstance, HdlModule } from '../../../hdlParser/core'; -import { vlogKeyword } from '../util/keyword'; -import { instanceVlogCode } from '../../sim/instance'; - -// class VlogIncludeCompletionProvider implements vscode.CompletionItemProvider { -// public provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): vscode.ProviderResult> { -// // console.log('VlogIncludeCompletionProvider'); - -// try { -// const items = this.provideIncludeFiles(document, position); -// return items; -// } catch (err) { -// console.log(err); -// } -// } - -// private provideIncludeFiles(document: vscode.TextDocument, position: vscode.Position): vscode.CompletionItem[] { -// if (position.character === 0) { -// return []; -// } -// const filePath = hdlPath.toSlash(document.fileName); -// const lineText = document.lineAt(position).text; - -// let firstQIndex = lineText.lastIndexOf('"', position.character - 1); -// let lastQIndex = lineText.indexOf('"', position.character); - -// if (firstQIndex !== -1 && lastQIndex !== -1) { -// const currentPath = lineText.substring(firstQIndex + 1, lastQIndex); -// const folderName = currentPath.length === 0 ? '.' : currentPath; -// const folderAbsPath = hdlPath.rel2abs(filePath, folderName); -// return this.filterIncludeFiles(folderAbsPath, filePath); -// } - -// return []; -// } - -// private filterIncludeFiles(folderPath: AbsPath, currentPath: AbsPath) { -// if (fs.existsSync(folderPath)) { -// const suggestFiles = []; -// for (const fileName of fs.readdirSync(folderPath)) { -// const filePath = hdlPath.join(folderPath, fileName); -// if (filePath === currentPath) { -// continue; -// } - -// const stat = fs.statSync(filePath); -// const clItem = new vscode.CompletionItem(fileName); -// if (stat.isDirectory()) { -// clItem.kind = vscode.CompletionItemKind.Folder; -// } else if (stat.isFile()) { -// clItem.kind = vscode.CompletionItemKind.File; -// } -// suggestFiles.push(clItem); -// } -// return suggestFiles; -// } -// return []; -// } -// }; - - -// class VlogMacroCompletionProvider implements vscode.CompletionItemProvider { -// public async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): Promise | null | undefined> { -// // console.log('VlogMacroCompletionProvider'); - -// try { -// const targetWordRange = document.getWordRangeAtPosition(position, /[`_0-9a-zA-Z]+/); -// const targetWord = document.getText(targetWordRange); -// const filePath = document.fileName; - -// const symbolResult = await hdlSymbolStorage.getSymbol(filePath); -// if (!symbolResult) { -// return null; -// } - -// const items = this.provideMacros(targetWord, symbolResult.macro.defines); -// return items; -// } catch (err) { -// console.log(err); -// } -// } - -// private provideMacros(targetWord: string, defines: Define[]): vscode.CompletionItem[] { -// const suggestMacros: vscode.CompletionItem[] = []; -// if (!defines || defines.length === 0) { -// return suggestMacros; -// } -// for (const define of defines) { -// const name = '`' + define.name; -// const clItem = new vscode.CompletionItem(name, vscode.CompletionItemKind.Constant); -// clItem.detail = 'macro ' + define.replacement; -// clItem.insertText = targetWord.startsWith('`') ? define.name : name; -// suggestMacros.push(clItem); -// } -// return suggestMacros; -// } -// } - - -// class VlogPositionPortProvider implements vscode.CompletionItemProvider { -// public async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): Promise | null | undefined> { -// // console.log('enter VlogPositionPortProvider'); - -// try { -// const suggestPositionPorts: vscode.CompletionItem[] = []; -// const filePath = hdlPath.toSlash(document.fileName); -// const symbolResult = await hdlSymbolStorage.getSymbol(filePath); - -// // console.log(symbolResult?.content); -// // console.log(position.character, position.line); - -// if (!symbolResult) { -// return null; -// } - -// const scopeSymbols = util.locateVlogSymbol(position, symbolResult.content); -// if (!scopeSymbols || -// !scopeSymbols.module || -// !scopeSymbols.symbols || -// !hdlParam.hasHdlModule(filePath, scopeSymbols.module.name)) { -// return suggestPositionPorts; -// } - -// const currentModule = hdlParam.getHdlModule(filePath, scopeSymbols.module.name); -// if (!currentModule) { -// return; -// } - -// const currentInst = util.filterInstanceByPosition(position, scopeSymbols.symbols, currentModule); -// // find instance and instMod is not null (solve the dependence already) - -// if (currentInst && currentInst.module && currentInst.instModPath) { -// const portsparams = this.providePositionPorts(position, currentInst); -// suggestPositionPorts.push(...portsparams); -// } - -// return suggestPositionPorts; - -// } catch (err) { -// console.log(err); -// } -// } - -// private providePositionPorts(position: vscode.Position, currentInst: HdlInstance): vscode.CompletionItem[] { -// if (!currentInst.module) { -// return []; -// } - -// const params = currentInst.instparams; -// const ports = currentInst.instports; - -// if (params && -// util.positionAfterEqual(position, params.start) && -// util.positionAfterEqual(params.end, position)) { - -// return currentInst.module.params.map(param => { -// const clItem = new vscode.CompletionItem(param.name, vscode.CompletionItemKind.Constant); -// clItem.detail = 'param'; -// return clItem; -// }); -// } -// if (ports && -// util.positionAfterEqual(position, ports.start) && -// util.positionAfterEqual(ports.end, position)) { - -// return currentInst.module.ports.map(port => { -// const clItem = new vscode.CompletionItem(port.name, vscode.CompletionItemKind.Interface); -// clItem.detail = 'port'; -// return clItem; -// }); -// } - -// return []; -// } -// } - -// class VlogCompletionProvider implements vscode.CompletionItemProvider { -// public async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext): Promise | null | undefined> { -// // console.log('VlogCompletionProvider'); - -// try { -// const filePath = hdlPath.toSlash(document.fileName); - -// // 1. provide keyword -// const completions = this.makeKeywordItems(document, position); -// completions.push(...this.makeCompilerKeywordItems(document, position)); -// completions.push(...this.makeSystemKeywordItems(document, position)); - - -// const symbolResult = await hdlSymbolStorage.getSymbol(filePath); -// if (!symbolResult) { -// return completions; -// } - -// // locate at one module -// const scopeSymbols = util.locateVlogSymbol(position, symbolResult.content); -// if (!scopeSymbols || -// !scopeSymbols.module || -// !hdlParam.hasHdlModule(filePath, scopeSymbols.module.name)) { -// // MainOutput.report('Fail to get HdlModule ' + filePath + ' ' + scopeSymbols?.module.name, ReportType.Debug); -// return completions; -// } - -// // find wrapper module -// const currentModule = hdlParam.getHdlModule(filePath, scopeSymbols.module.name); -// if (!currentModule) { -// return completions; -// } - - -// // 3. provide modules -// const suggestModulesPromise = this.provideModules(document, position, filePath, symbolResult.macro.includes); - -// // 4. provide params and ports of wrapper module -// const suggestParamsPortsPromise = this.provideParamsPorts(currentModule); - -// // 5. provide nets -// const suggestNetsPromise = this.provideNets(scopeSymbols.symbols); - -// // collect -// completions.push(...await suggestModulesPromise); -// completions.push(...await suggestParamsPortsPromise); -// completions.push(...await suggestNetsPromise); - -// return completions; - -// } catch (err) { -// console.log(err); -// } -// } - -// private makeKeywordItems(document: vscode.TextDocument, position: vscode.Position): vscode.CompletionItem[] { -// const vlogKeywordItems: vscode.CompletionItem[] = []; -// for (const keyword of vlogKeyword.keys()) { -// const clItem = this.makekeywordCompletionItem(keyword); -// vlogKeywordItems.push(clItem); -// } - -// return vlogKeywordItems; -// } - -// private makeCompilerKeywordItems(document: vscode.TextDocument, position: vscode.Position): vscode.CompletionItem[] { -// const items = []; -// const targetRange = document.getWordRangeAtPosition(position, /[`_0-9a-zA-Z]+/); -// const targetWord = document.getText(targetRange); -// const prefix = targetWord.startsWith('`') ? '' : '`'; -// for (const keyword of vlogKeyword.compilerKeys()) { -// const clItem = new vscode.CompletionItem(keyword, vscode.CompletionItemKind.Keyword); -// clItem.insertText = new vscode.SnippetString(prefix + keyword); -// clItem.detail = 'compiler directive'; -// items.push(clItem); -// } -// return items; -// } - -// private makeSystemKeywordItems(document: vscode.TextDocument, position: vscode.Position): vscode.CompletionItem[] { -// const items = []; -// for (const keyword of vlogKeyword.systemKeys()) { -// const clItem = new vscode.CompletionItem(keyword, vscode.CompletionItemKind.Method); -// clItem.insertText = new vscode.SnippetString('\\$' + keyword + '($1);'); -// clItem.detail = 'system task'; -// items.push(clItem); -// } -// return items; -// } - - -// private makekeywordCompletionItem(keyword: string): vscode.CompletionItem { -// const clItem = new vscode.CompletionItem(keyword, vscode.CompletionItemKind.Keyword); -// clItem.detail = 'verilog keyword'; - -// switch (keyword) { -// case 'begin': clItem.insertText = new vscode.SnippetString("begin$1\nend"); break; -// case 'function': clItem.insertText = new vscode.SnippetString("function ${1:name}\n\nendfunction"); break; -// default: break; -// } -// return clItem; -// } - -// private async provideModules(document: vscode.TextDocument, position: vscode.Position, filePath: AbsPath, includes: Include[]): Promise { -// const suggestModules: vscode.CompletionItem[] = []; - -// const lspVlogConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.completion.vlog'); -// const auto-add-include: boolean = lspVlogConfig.get('auto-add-include', true); -// const auto-add-output-declaration: boolean = lspVlogConfig.get('auto-add-output-declaration', true); - -// const includePaths = new Set(); -// let lastIncludeLine = 0; -// for (const include of includes) { -// const absIncludePath = hdlPath.rel2abs(filePath, include.path); -// includePaths.add(absIncludePath); -// lastIncludeLine = Math.max(include.range.end.line, lastIncludeLine); -// } -// const insertPosition = new vscode.Position(lastIncludeLine, 0); -// const insertRange = new vscode.Range(insertPosition, insertPosition); -// const fileFolder = hdlPath.resolve(filePath, '..'); - -// // used only when auto-add-output-declaration is true -// let completePrefix = ''; -// if (auto-add-output-declaration) { -// const wordRange = document.getWordRangeAtPosition(position); -// const countStart = wordRange ? wordRange.start.character : position.character; -// const spaceNumber = Math.floor(countStart / 4) * 4; -// console.log(wordRange, countStart, spaceNumber); - -// completePrefix = ' '.repeat(spaceNumber); -// } - - -// for (const module of hdlParam.getAllHdlModules()) { -// const clItem = new vscode.CompletionItem(module.name, vscode.CompletionItemKind.Class); - -// // feature 1 : auto add include path if there's no corresponding include path -// if (auto-add-include && !includePaths.has(module.path)) { -// const relPath: RelPath = hdlPath.relative(fileFolder, module.path); -// const includeString = '`include "' + relPath + '"\n'; -// const textEdit = new vscode.TextEdit(insertRange, includeString); -// clItem.additionalTextEdits = [textEdit]; -// } - -// // feature 2 : auto complete instance -// if (auto-add-output-declaration) { -// const snippetString = instanceVlogCode(module, '', true); -// clItem.insertText = new vscode.SnippetString(snippetString); -// } - -// clItem.detail = 'module'; -// suggestModules.push(clItem); -// } - -// return suggestModules; -// } - -// private async provideParamsPorts(module: HdlModule): Promise { -// if (!module) { -// return []; -// } -// const suggestParamsPorts = []; -// for (const param of module.params) { -// const clItem = new vscode.CompletionItem(param.name, vscode.CompletionItemKind.Constant); -// clItem.detail = 'param'; -// suggestParamsPorts.push(clItem); -// } - -// for (const port of module.ports) { -// const clItem = new vscode.CompletionItem(port.name, vscode.CompletionItemKind.Interface); -// clItem.detail = 'port'; -// suggestParamsPorts.push(clItem); -// } - -// return suggestParamsPorts; -// } - -// private async provideNets(symbols: RawSymbol[]): Promise { -// if (!symbols) { -// return []; -// } -// const suggestNets = []; -// for (const symbol of symbols) { -// if (symbol.type === 'wire' || symbol.type === 'reg') { -// const clItem = new vscode.CompletionItem(symbol.name, vscode.CompletionItemKind.Variable); -// clItem.sortText = ''; -// clItem.detail = symbol.type; -// suggestNets.push(clItem); -// } -// } -// return suggestNets; -// } -// }; - - -// const vlogCompletionProvider = new VlogCompletionProvider(); -// const vlogIncludeCompletionProvider = new VlogIncludeCompletionProvider(); -// const vlogMacroCompletionProvider = new VlogMacroCompletionProvider(); -// const vlogPositionPortProvider = new VlogPositionPortProvider(); - -// export { -// vlogCompletionProvider, -// vlogIncludeCompletionProvider, -// vlogMacroCompletionProvider, -// vlogPositionPortProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/definition/index.ts b/src/function/lsp/definition/index.ts deleted file mode 100644 index 1daf8c7..0000000 --- a/src/function/lsp/definition/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// import { vlogDefinitionProvider } from './vlog'; -// import { vhdlDefinitionProvider } from './vhdl'; - -export { - // vlogDefinitionProvider, - // vhdlDefinitionProvider -}; \ No newline at end of file diff --git a/src/function/lsp/definition/vhdl.ts b/src/function/lsp/definition/vhdl.ts deleted file mode 100644 index 1eab3e9..0000000 --- a/src/function/lsp/definition/vhdl.ts +++ /dev/null @@ -1,170 +0,0 @@ -import * as vscode from 'vscode'; - -import { hdlPath } from '../../../hdlFs'; -import { hdlParam } from '../../../hdlParser'; -import { vlogKeyword } from '../util/keyword'; -import * as util from '../util'; -import { MainOutput, ReportType } from '../../../global'; -import { RawSymbol } from '../../../hdlParser/common'; - - -// class VhdlDefinitionProvider implements vscode.DefinitionProvider { -// public async provideDefinition(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { -// // console.log('VhdlDefinitionProvider'); - -// // get current words -// const wordRange = document.getWordRangeAtPosition(position, /[`_0-9A-Za-z]+/); -// if (!wordRange) { -// return null; -// } -// const targetWord = document.getText(wordRange); - -// // check if need skip -// if (this.needSkip(document, position, targetWord)) { -// return null; -// } - -// const filePath = document.fileName; -// const vlogAll = await hdlSymbolStorage.getSymbol(filePath); -// if (!vlogAll) { -// return null; -// } else { -// const location = await this.makeDefinition(document, position, vlogAll, targetWord, wordRange); -// return location; -// } -// } - -// private needSkip(document: vscode.TextDocument, position: vscode.Position, targetWord: string): boolean { -// // check keyword -// if (vlogKeyword.isKeyword(targetWord)) { -// return true; -// } - -// // TODO: check comment - - -// return false; -// } - -// private async makeDefinition(document: vscode.TextDocument, position: vscode.Position, all: All, targetWord: string, targetWordRange: vscode.Range): Promise { -// const filePath = hdlPath.toSlash(document.fileName); -// const lineText = document.lineAt(position).text; - -// // locate at one entity or architecture -// // TODO: remove it after adjust of backend -// const rawSymbols = []; -// for (const symbol of all.content) { -// const rawSymbol: RawSymbol = { -// name: symbol.name, -// type: symbol.type, -// parent: symbol.parent, -// range: util.transformRange(symbol.range, -1), -// signed: symbol.signed, -// netType: symbol.netType -// }; -// rawSymbols.push(rawSymbol); -// } - -// const moduleScope = util.locateVhdlSymbol(position, rawSymbols); - -// if (!moduleScope) { -// return null; -// } - -// const scopeType = moduleScope.module.type; -// if (scopeType === 'architecture') { -// return await this.makeArchitectureDefinition(filePath, targetWord, targetWordRange, moduleScope); -// } else if (scopeType === 'entity') { -// return await this.makeEntityDefinition(filePath, targetWord, targetWordRange, moduleScope); -// } - -// return null; -// } - -// private async makeArchitectureDefinition(filePath: string, targetWord: string, targetWordRange: vscode.Range, moduleScope: util.ModuleScope): Promise { -// const architecture = moduleScope.module; -// // point to the entity of the architecture -// if (architecture.parent && architecture.parent === targetWord) { -// const entity = hdlParam.getHdlModule(filePath, architecture.parent); -// if (entity) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(entity.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } - -// // filter defined signal -// for (const symbol of moduleScope.symbols) { -// if (symbol.name === targetWord) { -// const targetUri = vscode.Uri.file(filePath); -// const targetRange = util.transformRange(symbol.range, 0, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } - -// // inner variable mapping to entity -// if (architecture.parent) { -// const entity = hdlParam.getHdlModule(filePath, architecture.parent); -// if (entity) { -// // find params definitio -// for (const param of entity.params) { -// if (param.name === targetWord) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(param.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } -// // find ports definition -// for (const port of entity.ports) { -// if (port.name === targetWord) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(port.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } -// } -// } -// return null; -// } - -// private async makeEntityDefinition(filePath: string, targetWord: string, targetWordRange: vscode.Range, moduleScope: util.ModuleScope): Promise { -// const entity = hdlParam.getHdlModule(filePath, moduleScope.module.name); -// if (entity) { -// if (targetWord === entity.name) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(entity.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// // find params definitio -// for (const param of entity.params) { -// if (param.name === targetWord) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(param.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } -// // find ports definition -// for (const port of entity.ports) { -// if (port.name === targetWord) { -// const targetUri = vscode.Uri.file(entity.path); -// const targetRange = util.transformRange(port.range, -1, 0); -// const link: vscode.LocationLink = { targetUri, targetRange, originSelectionRange: targetWordRange }; -// return [ link ]; -// } -// } -// } -// return null; -// } -// } - -// const vhdlDefinitionProvider = new VhdlDefinitionProvider(); - -// export { -// vhdlDefinitionProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/definition/vlog.ts b/src/function/lsp/definition/vlog.ts deleted file mode 100644 index 58d74f4..0000000 --- a/src/function/lsp/definition/vlog.ts +++ /dev/null @@ -1,161 +0,0 @@ -import * as vscode from 'vscode'; - -import { hdlPath } from '../../../hdlFs'; -import { hdlParam } from '../../../hdlParser'; -import { vlogKeyword } from '../util/keyword'; -import * as util from '../util'; -import { MainOutput, ReportType } from '../../../global'; - - -// class VlogDefinitionProvider implements vscode.DefinitionProvider { -// public async provideDefinition(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { -// // console.log('VlogDefinitionProvider'); - -// // get current words -// const wordRange = document.getWordRangeAtPosition(position, /[`_0-9A-Za-z]+/); -// if (!wordRange) { -// return null; -// } -// const targetWord = document.getText(wordRange); - -// // check if need skip -// if (this.needSkip(document, position, targetWord)) { -// return null; -// } - -// const filePath = document.fileName; -// const vlogAll = await hdlSymbolStorage.getSymbol(filePath); -// if (!vlogAll) { -// return null; -// } else { -// const location = await this.makeDefinition(document, position, vlogAll, targetWord, wordRange); -// return location; -// } -// } - -// private needSkip(document: vscode.TextDocument, position: vscode.Position, targetWord: string): boolean { -// // check keyword -// if (vlogKeyword.isKeyword(targetWord)) { -// return true; -// } - -// // TODO: check comment - - -// return false; -// } - -// private async makeDefinition(document: vscode.TextDocument, position: vscode.Position, all: All, targetWord: string, targetWordRange: vscode.Range): Promise { -// const filePath = hdlPath.toSlash(document.fileName); -// const lineText = document.lineAt(position).text; - -// // match `include -// const includeResult = util.matchInclude(document, position, all.macro.includes); - -// if (includeResult) { -// const absPath = hdlPath.rel2abs(filePath, includeResult.name); -// const targetFile = vscode.Uri.file(absPath); -// const targetPosition = new vscode.Position(0, 0); -// const targetRange = new vscode.Range(targetPosition, targetPosition); -// const originSelectionRange = document.getWordRangeAtPosition(position, /["\.\\\/_0-9A-Za-z]+/); -// const link: vscode.LocationLink = { targetUri: targetFile, targetRange, originSelectionRange }; -// return [link]; -// } - - -// // match macro -// const macroResult = util.matchDefineMacro(position, targetWord, all.macro.defines); -// if (macroResult) { -// const targetRange = util.transformRange(macroResult.range, -1, -1); -// const link: vscode.LocationLink = { targetUri: document.uri, targetRange: targetRange, originSelectionRange: targetWordRange }; -// return [link]; -// } - -// // locate at one module -// const scopeSymbols = util.locateVlogSymbol(position, all.content); -// if (!scopeSymbols || !scopeSymbols.module) { -// return null; -// } -// const currentModule = hdlParam.getHdlModule(filePath, scopeSymbols.module.name); -// if (!currentModule) { -// MainOutput.report('Fail to get HdlModule ' + filePath + ' ' + scopeSymbols.module.name, ReportType.Debug); -// return null; -// } - -// // match instance -// const instResult = util.matchInstance(targetWord, currentModule); - -// if (instResult) { -// const instModule = instResult.module; -// if (!instModule || !instResult.instModPath) { -// return null; -// } -// const targetFile = vscode.Uri.file(instResult.instModPath); -// const targetRange = util.transformRange(instModule.range, -1, 0, 1); -// const link: vscode.LocationLink = { targetUri: targetFile, targetRange }; -// return [link]; -// } - -// // match port or param definition (position input) -// if (util.isPositionInput(lineText, position.character)) { -// const currentInstResult = util.filterInstanceByPosition(position, scopeSymbols.symbols, currentModule); -// if (!currentInstResult || !currentInstResult.instModPath) { -// return null; -// } -// const instParamPromise = util.getInstParamByPosition(currentInstResult, position, targetWord); -// const instPortPromise = util.getInstPortByPosition(currentInstResult, position, targetWord); - -// const instParam = await instParamPromise; -// const instPort = await instPortPromise; -// const instModPathUri = vscode.Uri.file(currentInstResult.instModPath); - -// if (instParam) { -// const targetRange = util.transformRange(instParam.range, -1, 0); -// const link: vscode.LocationLink = { targetUri: instModPathUri, targetRange }; -// return [link]; -// } -// if (instPort) { -// const targetRange = util.transformRange(instPort.range, -1, 0); -// const link: vscode.LocationLink = { targetUri: instModPathUri, targetRange }; -// return [link]; -// } - -// return null; -// } - - -// // match params -// const paramResult = util.matchParams(targetWord, currentModule); - -// if (paramResult) { -// const targetRange = util.transformRange(paramResult.range, -1, 0); -// const link: vscode.LocationLink = { targetUri: document.uri, targetRange }; -// return [link]; -// } - -// // match ports -// const portResult = util.matchPorts(targetWord, currentModule); - -// if (portResult) { -// const targetRange = util.transformRange(portResult.range, -1, 0); -// const link: vscode.LocationLink = { targetUri: document.uri, targetRange }; -// return [link]; -// } - -// // match others -// const normalResult = util.matchNormalSymbol(targetWord, scopeSymbols.symbols); -// if (normalResult) { -// const targetRange = util.transformRange(normalResult.range, -1, 0); -// const link: vscode.LocationLink = { targetUri: document.uri, targetRange }; -// return [link]; -// } - -// return null; -// } -// } - -// const vlogDefinitionProvider = new VlogDefinitionProvider(); - -// export { -// vlogDefinitionProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/docSemantic/index.ts b/src/function/lsp/docSemantic/index.ts deleted file mode 100644 index 373a465..0000000 --- a/src/function/lsp/docSemantic/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -// import { vlogDocSenmanticProvider, vlogLegend } from './vlog'; - -// export { -// vlogDocSenmanticProvider, -// vlogLegend -// }; \ No newline at end of file diff --git a/src/function/lsp/docSemantic/vlog.ts b/src/function/lsp/docSemantic/vlog.ts deleted file mode 100644 index 36d3777..0000000 --- a/src/function/lsp/docSemantic/vlog.ts +++ /dev/null @@ -1,49 +0,0 @@ -import * as vscode from 'vscode'; -import { transformRange } from '../util'; - -const tokenTypes = ['class', 'function', 'variable']; -const tokenModifiers = ['declaration', 'documentation']; -const vlogLegend = new vscode.SemanticTokensLegend(tokenTypes, tokenModifiers); - - -// class VlogDocSenmanticProvider implements vscode.DocumentSemanticTokensProvider { -// public async provideDocumentSemanticTokens(document: vscode.TextDocument, token: vscode.CancellationToken): Promise { -// // TODO : finish this -// const tokensBuilder = new vscode.SemanticTokensBuilder(vlogLegend); - -// return tokensBuilder.build(); -// } - -// private prepareTokensBuilder(builder: vscode.SemanticTokensBuilder, all: All){ -// for (const rawSymbol of all.content) { -// const semanticRange = transformRange(rawSymbol.range, -1, 0); -// const tokenType = this.getTokenTypes(rawSymbol.type); -// if (tokenType) { -// builder.push(semanticRange, tokenType); -// } -// } -// } - -// private getTokenTypes(type: string): string | undefined { -// switch (type) { -// case 'input': -// return 'variable'; -// case 'output': -// return 'variable'; -// case 'wire': -// return 'variable'; -// case 'reg': -// return 'variable'; -// default: -// return; -// } -// } - -// } - -// const vlogDocSenmanticProvider = new VlogDocSenmanticProvider(); - -// export { -// vlogDocSenmanticProvider, -// vlogLegend -// }; \ No newline at end of file diff --git a/src/function/lsp/docSymbol/index.ts b/src/function/lsp/docSymbol/index.ts deleted file mode 100644 index 9dc984d..0000000 --- a/src/function/lsp/docSymbol/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -// import { vlogDocSymbolProvider } from './vlog'; -// import { vhdlDocSymbolProvider } from './vhdl'; - - -// export { -// vlogDocSymbolProvider, -// vhdlDocSymbolProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/docSymbol/vhdl.ts b/src/function/lsp/docSymbol/vhdl.ts deleted file mode 100644 index 3318a56..0000000 --- a/src/function/lsp/docSymbol/vhdl.ts +++ /dev/null @@ -1,85 +0,0 @@ -import * as vscode from 'vscode'; - -import { AllowNull } from '../../../global'; -import { RawSymbol, Range } from '../../../hdlParser/common'; - -// interface DocSymbolContainer { -// docSymbol: AllowNull, -// range: AllowNull -// }; - -// const vhdlSymbolKind: Record = { -// entity: vscode.SymbolKind.Interface, -// port: vscode.SymbolKind.Property, -// architecture: vscode.SymbolKind.Variable, -// signal: vscode.SymbolKind.Property -// }; - -// class VhdlDocSymbolProvider implements vscode.DocumentSymbolProvider { -// public async provideDocumentSymbols(document: vscode.TextDocument, token: vscode.CancellationToken): Promise { - -// const path = document.fileName; -// const vhdlAll = await hdlSymbolStorage.getSymbol(path); - -// if (!vhdlAll || !vhdlAll.content) { -// return []; -// } else { -// const symbols = vhdlAll.content; -// const symbolInfos = this.makeDocumentSymbols(document, symbols); -// return symbolInfos; -// } -// } - - -// private makeDocumentSymbols(document: vscode.TextDocument, symbols: RawSymbol[]): vscode.DocumentSymbol[] { -// const docSymbols: vscode.DocumentSymbol[] = []; - -// for (const symbol of symbols) { -// const symbolStart = new vscode.Position(symbol.range.start.line - 1, symbol.range.start.character); -// const symbolEnd = new vscode.Position(symbol.range.end.line - 1, symbol.range.end.character); -// const symbolRange = new vscode.Range(symbolStart, symbolEnd); - -// if (symbol.type === 'entity') { -// const docSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.name, -// vhdlSymbolKind[symbol.type], -// symbolRange, -// symbolRange); -// docSymbols.push(docSymbol); -// } else if (symbol.type === 'port') { -// const parentEntity = docSymbols[docSymbols.length - 1]; -// const docSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.name, -// vhdlSymbolKind[symbol.type], -// symbolRange, -// symbolRange); -// parentEntity.children.push(docSymbol); -// } else if (symbol.type === 'architecture') { -// const docSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.name, -// vhdlSymbolKind[symbol.type], -// symbolRange, -// symbolRange); -// docSymbols.push(docSymbol); -// } else if (symbol.type === 'signal') { -// const parentArchitecture = docSymbols[docSymbols.length - 1]; -// if (parentArchitecture.kind === vhdlSymbolKind['architecture']) { -// const docSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.name, -// vhdlSymbolKind[symbol.type], -// symbolRange, -// symbolRange); -// parentArchitecture.children.push(docSymbol); -// } -// } -// } - -// return docSymbols; -// } -// } - -// const vhdlDocSymbolProvider = new VhdlDocSymbolProvider(); - -// export { -// vhdlDocSymbolProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/docSymbol/vlog.ts b/src/function/lsp/docSymbol/vlog.ts deleted file mode 100644 index 1cb09a6..0000000 --- a/src/function/lsp/docSymbol/vlog.ts +++ /dev/null @@ -1,191 +0,0 @@ -import * as vscode from 'vscode'; - -import { AllowNull } from '../../../global'; -import { RawSymbol, Range } from '../../../hdlParser/common'; - -import { positionAfterEqual } from '../util'; - -// interface DocSymbolContainer { -// docSymbol: AllowNull, -// range: AllowNull -// }; - -// class VlogDocSymbolProvider implements vscode.DocumentSymbolProvider { -// public async provideDocumentSymbols(document: vscode.TextDocument, token: vscode.CancellationToken): Promise { -// // console.log('VlogDocSymbolProvider'); - -// const path = document.fileName; -// const vlogAll = await hdlSymbolStorage.getSymbol(path); - -// if (!vlogAll || !vlogAll.content) { -// return []; -// } else { -// const symbols = vlogAll.content; -// const symbolInfos = this.makeDocumentSymbols(document, symbols); -// return symbolInfos; -// } -// } - - -// private makeDocumentSymbols(document: vscode.TextDocument, symbols: RawSymbol[]): vscode.DocumentSymbol[] { -// const docSymbols = []; -// const visitedSymbols = new Set(); -// const moduleSymbols = symbols.filter(symbol => { -// if (symbol.type === 'module') { -// visitedSymbols.add(symbol); -// return true; -// } -// return false; -// }); - -// for (const moduleSymbol of moduleSymbols) { -// const moduleName = moduleSymbol.name; -// const moduleKind = this.getSymbolKind(moduleSymbol.type); -// const moduleStart = new vscode.Position(moduleSymbol.range.start.line - 1, moduleSymbol.range.start.character); -// const moduleEnd = new vscode.Position(moduleSymbol.range.end.line - 1, moduleSymbol.range.start.character); -// const moduleRange = new vscode.Range(moduleStart, moduleEnd); -// const moduleDocSymbol = new vscode.DocumentSymbol(moduleName, -// moduleName, -// moduleKind, -// moduleRange, -// moduleRange); -// docSymbols.push(moduleDocSymbol); -// const paramContainer: DocSymbolContainer = { -// docSymbol: null, -// range: null -// }; -// const portContainer: DocSymbolContainer = { -// docSymbol: null, -// range: null -// }; -// const portTypes = ['input', 'inout', 'output']; - -// // make others in module inner -// for (const symbol of symbols) { -// if (visitedSymbols.has(symbol)) { -// continue; -// } -// if (!(positionAfterEqual(symbol.range.start, moduleSymbol.range.start) && -// positionAfterEqual(moduleSymbol.range.end, symbol.range.end))) { -// continue; -// } -// if (!symbol.name) { -// symbol.name = '???'; -// } -// visitedSymbols.add(symbol); -// const symbolStart = new vscode.Position(symbol.range.start.line - 1, symbol.range.start.character); -// const symbolEnd = new vscode.Position(symbol.range.end.line - 1, symbol.range.end.character); -// const symbolRange = new vscode.Range(symbolStart, symbolEnd); - -// if (symbol.type === 'parameter') { -// if (!paramContainer.range) { -// paramContainer.range = symbolRange; -// paramContainer.docSymbol = new vscode.DocumentSymbol('param', -// 'param description', -// vscode.SymbolKind.Method, -// symbolRange, -// symbolRange); -// moduleDocSymbol.children.push(paramContainer.docSymbol); -// } -// const paramDocSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.type, -// vscode.SymbolKind.Constant, -// symbolRange, -// symbolRange); -// paramContainer.docSymbol?.children.push(paramDocSymbol); - -// } else if (portTypes.includes(symbol.type)) { -// if (!portContainer.range) { -// portContainer.range = symbolRange; -// portContainer.docSymbol = new vscode.DocumentSymbol('port', -// 'port description', -// vscode.SymbolKind.Method, -// symbolRange, -// symbolRange); -// moduleDocSymbol.children.push(portContainer.docSymbol); -// } - -// const portDocSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.type, -// vscode.SymbolKind.Interface, -// symbolRange, -// symbolRange); -// portContainer.docSymbol?.children.push(portDocSymbol); -// } else { -// const symbolKind = this.getSymbolKind(symbol.type); -// const symbolDocSymbol = new vscode.DocumentSymbol(symbol.name, -// symbol.type, -// symbolKind, -// symbolRange, -// symbolRange); -// moduleDocSymbol.children.push(symbolDocSymbol); -// } -// } -// } - -// return docSymbols; -// } - - -// private getSymbolKind(name: string): vscode.SymbolKind { -// if (name.indexOf('[') !== -1) { -// return vscode.SymbolKind.Array; -// } -// switch (name) { -// case 'module': return vscode.SymbolKind.Class; -// case 'program': return vscode.SymbolKind.Module; -// case 'package': return vscode.SymbolKind.Package; -// case 'import': return vscode.SymbolKind.Package; -// case 'always': return vscode.SymbolKind.Operator; -// case 'processe': return vscode.SymbolKind.Operator; - -// case 'task': return vscode.SymbolKind.Method; -// case 'function': return vscode.SymbolKind.Function; - -// case 'assert': return vscode.SymbolKind.Boolean; -// case 'event': return vscode.SymbolKind.Event; -// case 'instance': return vscode.SymbolKind.Event; - -// case 'time': return vscode.SymbolKind.TypeParameter; -// case 'define': return vscode.SymbolKind.TypeParameter; -// case 'typedef': return vscode.SymbolKind.TypeParameter; -// case 'generate': return vscode.SymbolKind.Operator; -// case 'enum': return vscode.SymbolKind.Enum; -// case 'modport': return vscode.SymbolKind.Boolean; -// case 'property': return vscode.SymbolKind.Property; - -// // port -// case 'interface': return vscode.SymbolKind.Interface; -// case 'buffer': return vscode.SymbolKind.Interface; -// case 'output': return vscode.SymbolKind.Interface; -// case 'input': return vscode.SymbolKind.Interface; -// case 'inout': return vscode.SymbolKind.Interface; - -// // synth param -// case 'localparam': return vscode.SymbolKind.Constant; -// case 'parameter': return vscode.SymbolKind.Constant; -// case 'integer': return vscode.SymbolKind.Number; -// case 'char': return vscode.SymbolKind.Number; -// case 'float': return vscode.SymbolKind.Number; -// case 'int': return vscode.SymbolKind.Number; - -// // unsynth param -// case 'string': return vscode.SymbolKind.String; -// case 'struct': return vscode.SymbolKind.Struct; -// case 'class': return vscode.SymbolKind.Class; - -// case 'logic': return vscode.SymbolKind.Constant; -// case 'wire': return vscode.SymbolKind.Constant; -// case 'reg': return vscode.SymbolKind.Constant; -// case 'net': return vscode.SymbolKind.Variable; -// case 'bit': return vscode.SymbolKind.Boolean; -// default: return vscode.SymbolKind.Event; -// } -// } -// } - -// const vlogDocSymbolProvider = new VlogDocSymbolProvider(); - -// export { -// vlogDocSymbolProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/hover/index.ts b/src/function/lsp/hover/index.ts deleted file mode 100644 index d640307..0000000 --- a/src/function/lsp/hover/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// import { vlogHoverProvider } from './vlog'; -// import { vhdlHoverProvider } from './vhdl'; - -// export { -// vlogHoverProvider, -// vhdlHoverProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/hover/vhdl.ts b/src/function/lsp/hover/vhdl.ts deleted file mode 100644 index 9884a3b..0000000 --- a/src/function/lsp/hover/vhdl.ts +++ /dev/null @@ -1,180 +0,0 @@ -import * as vscode from 'vscode'; - -import { hdlPath } from '../../../hdlFs'; -import { hdlParam } from '../../../hdlParser'; -import { vhdlKeyword } from '../util/keyword'; -import * as util from '../util'; -import { MainOutput, ReportType } from '../../../global'; -import { HdlLangID } from '../../../global/enum'; -import { RawSymbol } from '../../../hdlParser/common'; - - -// class VhdlHoverProvider implements vscode.HoverProvider { -// public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { -// // console.log('VhdlHoverProvider'); - -// // get current words -// const wordRange = document.getWordRangeAtPosition(position, /[`_0-9A-Za-z]+/); -// if (!wordRange) { -// return null; -// } -// const targetWord = document.getText(wordRange); - -// // check if need skip -// if (this.needSkip(document, position, targetWord)) { -// return null; -// } - -// const keywordHover = this.getKeywordHover(targetWord); -// if (keywordHover) { -// return keywordHover; -// } - -// const filePath = document.fileName; -// const vhdlAll = await hdlSymbolStorage.getSymbol(filePath); -// if (!vhdlAll) { -// return null; -// } else { -// const hover = await this.makeHover(document, position, vhdlAll, targetWord, wordRange); -// return hover; -// } -// } - -// private getKeywordHover(words: string): vscode.Hover | undefined { -// const content = new vscode.MarkdownString('', true); -// if (vhdlKeyword.compilerKeys().has(words)) { -// content.appendMarkdown('IEEE Library data type'); -// return new vscode.Hover(content); -// } -// return undefined; -// } - -// private needSkip(document: vscode.TextDocument, position: vscode.Position, targetWord: string): boolean { -// // check keyword -// if (vhdlKeyword.isKeyword(targetWord)) { -// return true; -// } - -// // TODO: check comment - - -// return false; -// } - -// private async makeHover(document: vscode.TextDocument, position: vscode.Position, all: All, targetWord: string, targetWordRange: vscode.Range): Promise { -// const lineText = document.lineAt(position).text; -// const filePath = hdlPath.toSlash(document.fileName); - -// // locate at one entity or architecture -// // TODO: remove it after adjust of backend -// const rawSymbols = []; -// for (const symbol of all.content) { -// const rawSymbol: RawSymbol = { -// name: symbol.name, -// type: symbol.type, -// parent: symbol.parent, -// range: util.transformRange(symbol.range, -1), -// signed: symbol.signed, -// netType: symbol.netType -// }; -// rawSymbols.push(rawSymbol); -// } - -// const moduleScope = util.locateVhdlSymbol(position, rawSymbols); - -// if (!moduleScope) { -// return null; -// } - -// const scopeType = moduleScope.module.type; -// if (scopeType === 'architecture') { -// return await this.makeArchitectureHover(filePath, targetWord, targetWordRange, moduleScope); -// } else if (scopeType === 'entity') { -// return await this.makeEntityHover(filePath, targetWord, targetWordRange, moduleScope); -// } - -// return null; -// } - -// private async makeArchitectureHover(filePath: string, targetWord: string, targetWordRange: vscode.Range, moduleScope: util.ModuleScope): Promise { -// const architecture = moduleScope.module; -// const content = new vscode.MarkdownString('', true); - -// // point to the entity of the architecture -// if (architecture.parent && architecture.parent === targetWord) { -// const entity = hdlParam.getHdlModule(filePath, architecture.parent); -// if (entity) { -// await util.makeVhdlHoverContent(content, entity); -// return new vscode.Hover(content); -// } -// } - -// // filter defined signal -// for (const symbol of moduleScope.symbols) { -// if (symbol.name === targetWord) { -// content.appendCodeblock(symbol.type, 'vhdl'); -// return new vscode.Hover(content); -// } -// } - -// // inner variable mapping to entity -// if (architecture.parent) { -// const entity = hdlParam.getHdlModule(filePath, architecture.parent); -// if (entity) { -// // find params definitio -// for (const param of entity.params) { -// if (param.name === targetWord) { -// const desc = util.makeParamDesc(param); -// content.appendCodeblock(desc, 'vhdl'); -// return new vscode.Hover(content); -// } -// } -// // find ports definition -// for (const port of entity.ports) { -// if (port.name === targetWord) { -// const desc = util.makePortDesc(port); -// content.appendCodeblock(desc, 'vhdl'); -// return new vscode.Hover(content); -// } -// } -// } -// } - -// return null; -// } - -// private async makeEntityHover(filePath: string, targetWord: string, targetWordRange: vscode.Range, moduleScope: util.ModuleScope): Promise { -// const entity = hdlParam.getHdlModule(filePath, moduleScope.module.name); -// const content = new vscode.MarkdownString('', true); -// if (entity) { -// if (targetWord === entity.name) { -// await util.makeVhdlHoverContent(content, entity); -// return new vscode.Hover(content); -// } -// // find params definitio -// for (const param of entity.params) { -// if (param.name === targetWord) { -// const desc = util.makeParamDesc(param); -// content.appendCodeblock(desc, 'vhdl'); -// return new vscode.Hover(content); -// } -// } -// // find ports definition -// for (const port of entity.ports) { -// if (port.name === targetWord) { -// const desc = util.makePortDesc(port); -// content.appendCodeblock(desc, 'vhdl'); -// return new vscode.Hover(content); -// } -// } -// } -// return null; -// } -// } - - -// const vhdlHoverProvider = new VhdlHoverProvider(); - -// export { -// vhdlHoverProvider -// }; \ No newline at end of file diff --git a/src/function/lsp/hover/vlog.ts b/src/function/lsp/hover/vlog.ts deleted file mode 100644 index a1a1299..0000000 --- a/src/function/lsp/hover/vlog.ts +++ /dev/null @@ -1,209 +0,0 @@ -import * as vscode from 'vscode'; - -import { hdlPath } from '../../../hdlFs'; -import { hdlParam } from '../../../hdlParser'; -import { vlogKeyword } from '../util/keyword'; -import * as util from '../util'; -import { LspOutput, MainOutput, ReportType } from '../../../global'; -import { HdlLangID } from '../../../global/enum'; - - -// class VlogHoverProvider implements vscode.HoverProvider { -// public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { -// // console.log('VlogHoverProvider'); - -// // get current words -// const wordRange = document.getWordRangeAtPosition(position, /[`_0-9A-Za-z]+/); -// if (!wordRange) { -// return null; -// } -// const targetWord = document.getText(wordRange); - -// // check if need skip -// if (this.needSkip(document, position, targetWord)) { -// return null; -// } - -// const filePath = document.fileName; -// const vlogAll = await hdlSymbolStorage.getSymbol(filePath); -// if (!vlogAll) { -// return null; -// } else { -// const hover = await this.makeHover(document, position, vlogAll, targetWord, wordRange); -// return hover; -// } -// } - -// private needSkip(document: vscode.TextDocument, position: vscode.Position, targetWord: string): boolean { -// // check keyword -// if (vlogKeyword.isKeyword(targetWord)) { -// return true; -// } - -// // TODO: check comment - - -// return false; -// } - -// private async makeHover(document: vscode.TextDocument, position: vscode.Position, all: All, targetWord: string, targetWordRange: vscode.Range): Promise { -// const lineText = document.lineAt(position).text; -// const filePath = hdlPath.toSlash(document.fileName); - -// // total content rendered on the hover box -// const content = new vscode.MarkdownString('', true); - -// // match `include -// const includeResult = util.matchInclude(document, position, all.macro.includes); -// if (includeResult) { -// const absPath = hdlPath.rel2abs(filePath, includeResult.name); -// content.appendCodeblock(`"${absPath}"`, HdlLangID.Verilog); -// const targetRange = document.getWordRangeAtPosition(position, /[1-9a-zA-Z_\.]+/); -// return new vscode.Hover(content, targetRange); -// } else if (lineText.trim().startsWith('`include')) { -// return null; -// } - -// // match macro -// const macroResult = util.matchDefineMacro(position, targetWord, all.macro.defines); -// if (macroResult) { -// const name = macroResult.name; -// const value = macroResult.value; -// content.appendCodeblock(`\`define ${name} ${value}`, HdlLangID.Verilog); -// return new vscode.Hover(content, targetWordRange); -// } - -// // locate at one module -// const scopeSymbols = util.locateVlogSymbol(position, all.content); - -// if (!scopeSymbols || !scopeSymbols.module || !hdlParam.hasHdlModule(filePath, scopeSymbols.module.name)) { -// return null; -// } - -// const currentModule = hdlParam.getHdlModule(filePath, scopeSymbols.module.name); -// if (!currentModule) { -// MainOutput.report('Fail to get HdlModule ' + filePath + ' ' + scopeSymbols.module.name, ReportType.Debug); -// return null; -// } - -// // match instance -// const instResult = util.matchInstance(targetWord, currentModule); -// if (instResult) { -// const instModule = instResult.module; -// if (!instModule || !instResult.instModPath) { -// content.appendMarkdown('cannot find the definition of the module'); -// return new vscode.Hover(content); -// } -// await util.makeVlogHoverContent(content, instModule); -// return new vscode.Hover(content); -// } - - -// // match port or param definition (position input) -// /** for example, when you hover the ".clk" below, the branch will be entered -// template u_template( -// //input -// .clk ( clk ), -// ); -// * -// */ -// if (util.isPositionInput(lineText, position.character)) { -// // console.log('enter position input'); -// const currentInstResult = util.filterInstanceByPosition(position, scopeSymbols.symbols, currentModule); -// if (!currentInstResult || !currentInstResult.instModPath) { -// return null; -// } -// // console.log(currentInstResult); - -// const instParamPromise = util.getInstParamByPosition(currentInstResult, position, targetWord); -// const instPortPromise = util.getInstPortByPosition(currentInstResult, position, targetWord); - -// const instParam = await instParamPromise; -// const instPort = await instPortPromise; - -// if (instParam) { -// const paramComment = await util.searchCommentAround(currentInstResult.instModPath, instParam.range); -// const paramDesc = util.makeParamDesc(instParam); -// content.appendCodeblock(paramDesc, HdlLangID.Verilog); -// if (paramComment) { -// content.appendCodeblock(paramComment, HdlLangID.Verilog); -// } -// return new vscode.Hover(content); -// } -// if (instPort) { -// const portComment = await util.searchCommentAround(currentInstResult.instModPath, instPort.range); -// const portDesc = util.makePortDesc(instPort); -// content.appendCodeblock(portDesc, HdlLangID.Verilog); -// if (portComment) { -// content.appendCodeblock(portComment, HdlLangID.Verilog); -// } -// return new vscode.Hover(content); -// } - -// return null; -// } - - -// // match params -// const paramResult = util.matchParams(targetWord, currentModule); - -// if (paramResult) { -// LspOutput.report(' get param info ' + paramResult?.name; -// const paramComment = await util.searchCommentAround(filePath, paramResult.range); -// const paramDesc = util.makeParamDesc(paramResult); -// content.appendCodeblock(paramDesc, HdlLangID.Verilog); -// if (paramComment) { -// content.appendMarkdown(paramComment); -// } -// return new vscode.Hover(content); -// } - -// // match ports -// const portResult = util.matchPorts(targetWord, currentModule); - -// if (portResult) { -// LspOutput.report(' get port info ' + portResult?.name; -// const portComment = await util.searchCommentAround(filePath, portResult.range); -// const portDesc = util.makePortDesc(portResult); - -// content.appendCodeblock(portDesc, HdlLangID.Verilog); -// if (portComment) { -// content.appendMarkdown(portComment); -// } -// return new vscode.Hover(content); -// } - -// // match others -// const normalResult = util.matchNormalSymbol(targetWord, scopeSymbols.symbols); -// if (normalResult) { -// const normalComment = await util.searchCommentAround(filePath, normalResult.range); -// const normalDesc = util.makeNormalDesc(normalResult); - -// content.appendCodeblock(normalDesc, HdlLangID.Verilog); -// if (normalComment) { -// content.appendCodeblock(normalComment, HdlLangID.Verilog); -// } -// return new vscode.Hover(content); -// } - - -// // feature 1. number signed and unsigned number display -// const numberResult = util.transferVlogNumber(lineText, position.character); -// if (numberResult) { -// const bits = targetWord.length - 1; -// content.appendCodeblock(bits + "'" + targetWord, HdlLangID.Verilog); -// content.appendMarkdown("`unsigned` " + numberResult.unsigned); -// content.appendText('\n'); -// content.appendMarkdown("`signed` " + numberResult.signed); -// } - -// return new vscode.Hover(content); -// } -// } - - -// const vlogHoverProvider = new VlogHoverProvider(); - -// export { -// vlogHoverProvider -// }; \ No newline at end of file diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index 964fc27..3db8f62 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -178,11 +178,13 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { public getTopModuleItemList(element: ModuleDataItem): ModuleDataItem[] { // src or sim - const hardwarePath = opeParam.prjInfo.arch.hardware; const moduleType = element.name as keyof (SrcPath & SimPath); + // 获取所有对应类型(src | sim)下的顶层模块数量 const topModules = hdlParam.getTopModulesByType(moduleType); - const topModuleItemList = topModules.map(module => ({ + + // 将所有顶层模块转换成 ModuleDataItem 自定义 treeview item 数据结构 + let topModuleItemList = topModules.map(module => ({ icon: this.judgeTopModuleIconByDoFastType(module.file.doFastType), type: moduleType, doFastFileType: module.file.doFastType, @@ -198,40 +200,40 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { if (topModuleItemList.length > 0) { const type = moduleType as keyof FirstTop; - const firstTop = topModuleItemList[0]; - if (!this.firstTop[type]) { - this.setFirstTop(type, firstTop.name, firstTop.path); - } - const name = this.firstTop[type]!.name; - const path = this.firstTop[type]!.path; - const icon = this.makeFirstTopIconName(type); - const range = firstTop.range; - const parent = element; - // TODO: check - const doFastFileType = undefined; - - const tops = topModuleItemList.filter(item => item.path === path && item.name === name); - const adjustItemList = []; - if (tops.length > 0 || !hdlParam.hasHdlModule(path, name)) { - // mean that the seleted top is an original top module - // push it to the top of the *topModuleItemList* - const headItem = tops[0] ? tops[0] : topModuleItemList[0]; - - headItem.icon = icon; - adjustItemList.push(headItem); - for (const item of topModuleItemList) { - if (item !== headItem) { - adjustItemList.push(item); - } + // 默认选择依赖模块最多的作为 first top + let firstTop: { path: string, name: string } | undefined = undefined; + let maxDepSize = 0; + + for (const hdlModule of topModules) { + // 此处断言是因为当前的 name 和 path 是从 topModules 中提取的 + // 它们对应的 hdlModule 一定存在 + const deps = hdlParam.getAllDependences(hdlModule.path, hdlModule.name)!; + const depSize = deps.include.length + deps.others.length; + if (depSize > maxDepSize) { + maxDepSize = depSize; + firstTop = { path: hdlModule.path, name: hdlModule.name }; } - } else { - // mean the selected top is not an original top module - // create it and add it to the head of *topModuleItemList* - const selectedTopItem: ModuleDataItem = {icon, type, name, range, path, parent, doFastFileType}; - adjustItemList.push(selectedTopItem); - adjustItemList.push(...topModuleItemList); } - return adjustItemList; + + if (firstTop === undefined) { + // 没有找到顶层模块,代表当前本来就是空的 + // 此时 topModuleItemList 一定是 [] + return topModuleItemList; + } + + // 将当前模块设置为 first top + this.setFirstTop(type, firstTop.name, firstTop.path); + + // 将 first top 放到数据列表开头 + const firstTopIcon = this.makeFirstTopIconName(type); + + // 将 topModuleItemList 中的 first top 元素调整到第一个位置 + const dataItem = topModuleItemList.filter(item => item.name === firstTop.name && item.path === firstTop.path)[0]; + dataItem.icon = firstTopIcon; + let newTopModuleItemList = [dataItem]; + newTopModuleItemList = newTopModuleItemList.concat(topModuleItemList.filter(item => item !== dataItem)); + + return newTopModuleItemList; } return topModuleItemList; diff --git a/src/hdlFs/dir.ts b/src/hdlFs/dir.ts index 4f0be84..e77ba0d 100644 --- a/src/hdlFs/dir.ts +++ b/src/hdlFs/dir.ts @@ -3,7 +3,7 @@ import * as fspath from 'path'; import { AbsPath } from '../global'; import * as hdlPath from './path'; -function isDir(path: AbsPath): boolean { +export function isDir(path: AbsPath): boolean { if (!fs.existsSync(path)) { return false; } @@ -15,7 +15,7 @@ function isDir(path: AbsPath): boolean { return false; } -function mkdir(path: AbsPath): boolean { +export function mkdir(path: AbsPath): boolean { if (!path) { return false; } @@ -34,8 +34,10 @@ function mkdir(path: AbsPath): boolean { return false; } -function rmdir(path: AbsPath): void { - fs.rm(path, { recursive: true, force: true }, () => {}); +export function rmdir(path: AbsPath): void { + if (fs.existsSync(path)) { + fs.rmSync(path, { recursive: true, force: true }); + } // if (fs.existsSync(path)) { // if (fs.statSync(path).isDirectory()) { // const files = fs.readdirSync(path); @@ -54,7 +56,7 @@ function rmdir(path: AbsPath): void { // } } -function mvdir(src: AbsPath, dest: AbsPath, cover: boolean): boolean { +export function mvdir(src: AbsPath, dest: AbsPath, cover: boolean): boolean { if (src === dest) { return false; } @@ -67,7 +69,8 @@ function mvdir(src: AbsPath, dest: AbsPath, cover: boolean): boolean { } } -function cpdir(src: AbsPath, dest: AbsPath, cover: boolean) { + +export function cpdir(src: AbsPath, dest: AbsPath, cover: boolean) { if (src === dest) { return false; } @@ -123,10 +126,3 @@ function cpdir(src: AbsPath, dest: AbsPath, cover: boolean) { return true; } - -export { - mkdir, - rmdir, - cpdir, - mvdir -}; \ No newline at end of file diff --git a/src/hdlFs/file.ts b/src/hdlFs/file.ts index 9933e14..37caa4a 100644 --- a/src/hdlFs/file.ts +++ b/src/hdlFs/file.ts @@ -8,6 +8,7 @@ import * as hdlPath from './path'; import { HdlFileProjectType } from '../hdlParser/common'; import { opeParam } from '../global'; import { hdlIgnore } from '../manager/ignore'; +import { hdlDir } from '.'; /** * judge if the path represent a file @@ -172,7 +173,7 @@ export function writeFile(path: AbsPath, content: string): boolean { } } -export function readJSON(path: AbsPath): object { +export function readJSON(path: AbsPath): any { try { const context = fs.readFileSync(path, 'utf-8'); return JSON.parse(context); @@ -391,4 +392,20 @@ export function diffFiles(newFiles: AbsPath[], oldFiles: AbsPath[]): DiffResult return { addFiles, delFiles }; +} + +/** + * @description 移动 source 到 target 中,target 必须是一个文件夹路径 + * - 如果 source 是一个文件,则移动到 target/source + * - 如果 source 是一个文件夹,则移动到 target/source + * @param source + * @param target + */ +export function move(source: AbsPath, target: AbsPath) { + if (isDir(source)) { + hdlDir.mvdir(source, target, true); + } else { + const filename = fspath.basename(source); + moveFile(source, hdlPath.join(target, filename)); + } } \ No newline at end of file diff --git a/src/hdlFs/path.ts b/src/hdlFs/path.ts index b72a308..b905c3d 100644 --- a/src/hdlFs/path.ts +++ b/src/hdlFs/path.ts @@ -8,7 +8,7 @@ import { AbsPath, opeParam, RelPath } from '../global'; * @param path * @returns */ -function toSlash(path: AbsPath | RelPath): AbsPath | RelPath { +export function toSlash(path: AbsPath | RelPath): AbsPath | RelPath { return path.replace(/\\/g,"\/"); } @@ -18,7 +18,7 @@ function toSlash(path: AbsPath | RelPath): AbsPath | RelPath { * @param relPath relative path in curPath * @returns */ -function rel2abs(curPath: AbsPath, relPath: RelPath): AbsPath { +export function rel2abs(curPath: AbsPath, relPath: RelPath): AbsPath { if (fspath.isAbsolute(relPath)) { return relPath; } @@ -28,7 +28,7 @@ function rel2abs(curPath: AbsPath, relPath: RelPath): AbsPath { } -function relative(from: AbsPath, to: AbsPath): RelPath { +export function relative(from: AbsPath, to: AbsPath): RelPath { let rel = fspath.relative(from, to); if (!rel.startsWith('.') && !rel.startsWith('./')) { rel = './' + rel; @@ -41,7 +41,7 @@ function relative(from: AbsPath, to: AbsPath): RelPath { * @param paths * @returns */ -function join(...paths: string[]): AbsPath | RelPath { +export function join(...paths: string[]): AbsPath | RelPath { return paths.join('/'); } @@ -51,7 +51,7 @@ function join(...paths: string[]): AbsPath | RelPath { * @param paths * @returns */ -function resolve(...paths: string[]): AbsPath | RelPath { +export function resolve(...paths: string[]): AbsPath | RelPath { const absPath = fspath.resolve(...paths); return toSlash(absPath); } @@ -64,7 +64,7 @@ function resolve(...paths: string[]): AbsPath | RelPath { * @returns reserveSplitor=true src/file.txt -> .txt * reserveSplitor=false src/file.txt -> txt */ -function extname(path: AbsPath | RelPath, reserveSplitor: boolean = true): string { +export function extname(path: AbsPath | RelPath, reserveSplitor: boolean = true): string { let ext = fspath.extname(path).toLowerCase(); if (!reserveSplitor && ext.startsWith('.')) { ext = ext.substring(1); @@ -72,7 +72,7 @@ function extname(path: AbsPath | RelPath, reserveSplitor: boolean = true): strin return ext; } -function basename(path: AbsPath | RelPath) { +export function basename(path: AbsPath | RelPath) { return fspath.basename(path, extname(path, true)); } @@ -82,19 +82,19 @@ function basename(path: AbsPath | RelPath) { * @param path * @returns src/file.txt -> file */ -function filename(path: AbsPath | RelPath): string { +export function filename(path: AbsPath | RelPath): string { const ext = extname(path, true); return fspath.basename(path, ext); } -function exist(path: AbsPath | undefined): boolean { +export function exist(path: AbsPath | undefined): boolean { if (!path) { return false; } return fs.existsSync(path); } -function toEscapePath(path: AbsPath): AbsPath { +export function toEscapePath(path: AbsPath): AbsPath { if (os.platform() === 'win32') { return path.startsWith('/') ? toSlash(path.slice(1)) : toSlash(path); } else { @@ -102,24 +102,10 @@ function toEscapePath(path: AbsPath): AbsPath { } } -function toPureRelativePath(path: RelPath): RelPath { +export function toPureRelativePath(path: RelPath): RelPath { if (path.startsWith('./') || path.startsWith('.\\')) { return path.slice(2); } return path; } - -export { - toSlash, - rel2abs, - relative, - join, - resolve, - filename, - extname, - basename, - exist, - toEscapePath, - toPureRelativePath -}; \ No newline at end of file diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 1047d40..880d20a 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -32,6 +32,18 @@ class HdlParam { return this.pathToHdlFiles.get(path); } + /** + * @description 清空 + */ + public clear() { + this.topModules.clear(); + this.srcTopModules.clear(); + this.simTopModules.clear(); + this.pathToHdlFiles.clear(); + this.modules.clear(); + this.unhandleInstances.clear(); + } + public getAllHdlFiles(): HdlFile[] { const hdlFiles = []; for (const [_, hdlFile] of this.pathToHdlFiles) { @@ -163,16 +175,18 @@ class HdlParam { topModuleSource.delete(hdlModule); } + /** + * @description 获取模块的所有依赖项目 + * @param path + * @param name + * @returns + */ public getAllDependences(path: AbsPath, name: string): common.HdlDependence | undefined { const module = this.getHdlModule(path, name); if (!module) { return undefined; } - if (this.isTopModule(path, name)) { - console.log(module); - } - const dependencies : common.HdlDependence = { current: [], include: [], diff --git a/src/manager/index.ts b/src/manager/index.ts index 19e7fba..6a9e559 100644 --- a/src/manager/index.ts +++ b/src/manager/index.ts @@ -12,11 +12,6 @@ function registerManagerCommands(context: vscode.ExtensionContext) { const plManage = prjManage.pl; // const psManage = prjManage.ps; - vscode.commands.registerCommand('digital-ide.property-json.generate', prjManage.generatePropertyJson); - - // 丢弃原因:插件更新后,用户修改的部分会被覆盖,没有存在必要了 - // vscode.commands.registerCommand('digital-ide.property-json.overwrite', prjManage.overwritePropertyJson); - // libpick vscode.commands.registerCommand('digital-ide.pickLibrary', pickLibrary); diff --git a/src/manager/prj.ts b/src/manager/prj.ts index fd52ec0..f0d0a2c 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -7,17 +7,16 @@ import { AbsPath, IProgress, LspClient, MainOutput, opeParam, ReportType } from import { PathSet } from '../global/util'; import { RawPrjInfo } from '../global/prjInfo'; import { hdlDir, hdlFile, hdlPath } from '../hdlFs'; -import { libManage } from './lib'; import { hdlParam } from '../hdlParser'; import { PlManage } from './PL'; import { PsManage } from './PS'; import { hdlIgnore } from './ignore'; import { hdlMonitor } from '../monitor'; -import { NotificationType } from 'vscode-jsonrpc'; -import { refreshArchTree } from '../function/treeView'; -import { Fast } from '../hdlParser/common'; import { t } from '../i18n'; import { PpyAction } from '../monitor/propery'; +import { refreshArchTree } from '../function/treeView'; +import * as lspClient from '../function/lsp-client'; + interface RefreshPrjConfig { mkdir: boolean @@ -27,8 +26,11 @@ class PrjManage { pl?: PlManage; ps?: PsManage; - // generate property template and write it to .vscode/property.json - public async generatePropertyJson() { + /** + * @description 生成 .vscode/property.json + * @returns + */ + public async generatePropertyJson(context: vscode.ExtensionContext) { if (fs.existsSync(opeParam.propertyJsonPath)) { vscode.window.showWarningMessage('property file already exists !!!'); return; @@ -283,6 +285,245 @@ class PrjManage { } return 'PL'; } + + /** + * @description 指令 `digital-ide.structure.from-xilinx-to-standard` 的实现 + * + * 将 Xilinx 结构转变为标准项目结构 + */ + public async transformXilinxToStandard(context: vscode.ExtensionContext) { + function xprFile(): string | undefined { + if (opeParam.openMode === 'file' || opeParam.workspacePath.length === 0) { + return undefined; + } + for (const filename of fs.readdirSync(opeParam.workspacePath)) { + if (filename.endsWith('.xpr')) { + return filename; + } + } + return undefined; + } + + /** + * @description 转移非 PL PS 文件夹 + * @param workspace + * @param plname + */ + function transformXilinxNonP( + workspace: string, + plname: string + ) { + const xilinxPL = plname + '.srcs'; + const xilinxPS = plname + '.sdk'; + const ignores = ['user', 'prj', '.vscode', xilinxPL, xilinxPS]; + hdlDir.rmdir(hdlPath.join(workspace, '.Xil')); + for (const file of fs.readdirSync(workspace)) { + // 排除标准文件夹 + if (ignores.includes(file)) { + continue; + } + + if (file.startsWith(plname)) { + const targetFolder = hdlPath.join(workspace, 'prj', 'xilinx'); + const sourcePath = hdlPath.join(workspace, file); + hdlFile.move(sourcePath, targetFolder); + } else { + const targetFolder = hdlPath.join(workspace, 'user', 'src'); + const sourcePath = hdlPath.join(workspace, file); + hdlFile.move(sourcePath, targetFolder); + } + } + } + + /** + * @description 搬移 Xilinx 项目中的 IP + * + * IP 一般在 ${workspace}/${plname}.srcs/sources_xxx/ip 里面 + */ + function transformIP( + matchPrefix: string, + workspace: string, + plname: string + ) { + const xilinxSrcsPath = hdlPath.join(workspace, plname + '.srcs'); + const standardIpPath = hdlPath.join(workspace, 'user', 'ip'); + if (!fs.existsSync(xilinxSrcsPath)) { + return; + } + const sourceNames = fs.readdirSync(xilinxSrcsPath).filter(filename => filename.startsWith(matchPrefix)); + for (const sn of sourceNames) { + const ipPath = hdlPath.join(xilinxSrcsPath, sn, 'ip'); + + if (!hdlFile.isDir(ipPath)) { + continue; + } + + for (const ipname of fs.readdirSync(ipPath)) { + const sourcePath = hdlPath.join(ipPath, ipname); + hdlDir.mvdir(sourcePath, standardIpPath, true); + } + hdlDir.rmdir(ipPath); + } + } + + /** + * @description 将文件从 Xilinx 中迁移到标准结构去 + * 根据 ${workspace}/${plname}.srcs 下以 source_ 开头的前缀分两种情况: + * - 如果只有一个 source_1,则将 ${workspace}/${plname}.srcs/sources_1 迁移 + * - 如果有多个 source_*,则将 ${workspace}/${plname}.srcs 迁移 + * @returns + */ + function transformXilinxPL( + sourceType: 'src' | 'sim' | 'data', + matchPrefix: string, + workspace: string, + plname: string + ) { + const xilinxSrcsPath = hdlPath.join(workspace, plname + '.srcs'); + if (!fs.existsSync(xilinxSrcsPath)) { + return; + } + const sourceNames = fs.readdirSync(xilinxSrcsPath).filter(filename => filename.startsWith(matchPrefix)); + if (sourceNames.length === 0) { + return; + } else if (sourceNames.length === 1) { + // 如果只有一个 source_1,则将 ${workspace}/${plname}.srcs/sources_1 迁移 + const sourceFolderPath = hdlPath.join(workspace, plname + '.srcs', sourceNames[0]); + const targetPath = hdlPath.join(workspace, 'user', sourceType); + for (const filename of fs.readdirSync(sourceFolderPath)) { + const sourcePath = hdlPath.join(sourceFolderPath, filename); + hdlFile.move(sourcePath, targetPath); + } + hdlDir.rmdir(sourceFolderPath); + } else { + // 如果有多个 source_*,则将 ${workspace}/${plname}.srcs 迁移 + for (const sn of sourceNames) { + const sourcePath = hdlPath.join(workspace, plname + '.srcs', sn); + const targetPath = hdlPath.join(workspace, 'user', sourceType); + hdlDir.mvdir(sourcePath, targetPath, true); + } + } + } + + /** + * @description 迁移 ${workspace}/${plname}.sdk 到 user/sdk 下 + * @returns + */ + function transformXilinxPS( + workspace: string, + plname: string + ) { + const xilinxSdkPath = hdlPath.join(workspace, plname + '.sdk'); + if (!fs.existsSync(xilinxSdkPath)) { + return; + } + const standardSdkPath = hdlPath.join(workspace, 'user', 'sdk'); + hdlDir.mvdir(xilinxSdkPath, standardSdkPath, true); + + const hwNames = fs.readdirSync(standardSdkPath).filter(filename => filename.includes("_hw_platform_")); + if (hwNames.length === 0) { + return; + } else if (hwNames.length === 1) { + const hwFolderPath = hdlPath.join(standardSdkPath, hwNames[0]); + const targetPath = hdlPath.join(standardSdkPath, 'data'); + for (const filename of fs.readdirSync(hwFolderPath)) { + hdlFile.move(hdlPath.join(hwFolderPath, filename), targetPath); + } + hdlDir.rmdir(hwFolderPath); + } else { + for (const hw of hwNames) { + const hwPath = hdlPath.join(standardSdkPath, hw); + const targetPath = hdlPath.join(standardSdkPath, 'data'); + hdlDir.mvdir(hwPath, targetPath, true); + } + } + } + + // 下方操作会产生大量的文件移动,为了进行性能优化,先关闭 monitor + hdlMonitor.close(); + + await vscode.window.withProgress({ + title: t('info.command.structure.transform-xilinx-to-standard'), + location: vscode.ProgressLocation.Notification + }, async () => { + // 先获取 project name + const xprfile = xprFile(); + if (xprfile === undefined) { + MainOutput.report(t('error.command.structure.not-valid-xilinx-project'), { + level: ReportType.Error, + notify: true + }); + return; + } + + const plname = xprfile.slice(0, -4); + const workspacePath = opeParam.workspacePath; + + // 创建标准项目结构基本文件夹 + // xilinx prj + hdlDir.mkdir(hdlPath.join(workspacePath, 'prj', 'xilinx')); + // hardware + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'src')); + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'sim')); + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'data')); + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'ip')); + // software + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'sdk')); + hdlDir.mkdir(hdlPath.join(workspacePath, 'user', 'sdk', 'data')); + + // 非 ${workspace}/${plname}.srcs ${workspace}/${plname}.sdk 的 ${workspace}/${plname}.* 文件夹迁移到 prj/xilinx 下 + // 其他文件夹迁移到 user/src 下面 + transformXilinxNonP(workspacePath, plname); + + // 迁移 IP + transformIP('sources_', workspacePath, plname); + transformIP('sim_', workspacePath, plname); + + // 迁移文件夹 ${workspace}/${plname}.srcs + transformXilinxPL('src', 'sources_', workspacePath, plname); + transformXilinxPL('sim', 'sim_', workspacePath, plname); + transformXilinxPL('data', 'constrs_', workspacePath, plname); + // 迁移文件夹 ${workspace}/${plname}.sdk + transformXilinxPS(workspacePath, plname); + + // 删除原本的项目文件夹 ${workspace}/${plname}.srcs 和 ${workspace}/${plname}.sdk + hdlDir.rmdir(hdlPath.join(workspacePath, plname + '.srcs')); + hdlDir.rmdir(hdlPath.join(workspacePath, plname + '.sdk')); + + // 创建 property.json + const ppyTemplate = hdlFile.readJSON(opeParam.propertyInitPath); + ppyTemplate.prjName = { + PL: plname + }; + + hdlFile.writeJSON(opeParam.propertyJsonPath, ppyTemplate); + }); + + const res = await vscode.window.showInformationMessage( + t('info.command.structure.reload-vscode'), + { title: t('info.common.confirm'), value: true } + ); + + if (res?.value) { + await vscode.commands.executeCommand('workbench.action.reloadWindow'); + } + + // await vscode.window.withProgress({ + // location: vscode.ProgressLocation.Window, + // title: t('info.progress.initialization') + // }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { + // hdlParam.clear(); + + // // 初始化解析 + // await this.initialise(context, progress, false); + + // // 刷新结构树 + // refreshArchTree(); + + // // 启动监视器 + // hdlMonitor.start(); + // }); + } } const prjManage = new PrjManage(); diff --git a/src/monitor/index.ts b/src/monitor/index.ts index 30ee339..82ae434 100644 --- a/src/monitor/index.ts +++ b/src/monitor/index.ts @@ -1,8 +1,6 @@ import * as chokidar from 'chokidar'; import { MainOutput, opeParam, ReportType } from '../global'; -import { hdlExts } from '../global/lang'; import { PathSet } from '../global/util'; -import { hdlPath } from '../hdlFs'; import { t } from '../i18n'; import { HdlAction } from './hdl'; @@ -74,6 +72,7 @@ class HdlMonitor{ public close() { this.hdlMonitor?.close(); this.ppyMonitor?.close(); + this.ignoreMonitor?.close(); } public start() { From 5c5136b3161ce691c3933bad6f1dbdce30408500 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 3 Dec 2024 00:10:32 +0800 Subject: [PATCH 013/107] fix primitive bin --- .../dide-lsp/static/xilinx/primitive.bin | Bin 3736879 -> 3736879 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/dide-lsp/static/xilinx/primitive.bin b/resources/dide-lsp/static/xilinx/primitive.bin index fe9c9f14c57a8aa02538db77d8bab01706f5f503..f987783049b0d35255b555b3e7d114d536eb5eae 100644 GIT binary patch delta 4385 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 delta 4380 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 Date: Tue, 3 Dec 2024 18:35:55 +0800 Subject: [PATCH 014/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E6=A0=91=E9=80=92=E5=BD=92=E6=B8=B2=E6=9F=93=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/svg/dark/dide.svg | 42 +++++++++++ images/svg/light/dide.svg | 42 +++++++++++ l10n/bundle.l10n.de.json | 3 +- l10n/bundle.l10n.en.json | 3 +- l10n/bundle.l10n.ja.json | 3 +- l10n/bundle.l10n.zh-cn.json | 3 +- l10n/bundle.l10n.zh-tw.json | 3 +- resources/dide-doc/documentation.css | 14 ++++ resources/dide-doc/icon.png | Bin 0 -> 20789 bytes resources/dide-doc/index.html | 1 + .../dide-lsp/static/xilinx/primitive.bin | Bin 3736879 -> 3740719 bytes src/function/hdlDoc/html.ts | 8 ++- src/function/hdlDoc/markdown.ts | 47 +++++++----- src/function/lsp-client/index.ts | 2 + src/function/treeView/tree.ts | 1 + src/hdlParser/common.ts | 1 + src/hdlParser/core.ts | 68 ++++++++++++++++-- 17 files changed, 207 insertions(+), 34 deletions(-) create mode 100644 images/svg/dark/dide.svg create mode 100644 images/svg/light/dide.svg create mode 100644 resources/dide-doc/icon.png diff --git a/images/svg/dark/dide.svg b/images/svg/dark/dide.svg new file mode 100644 index 0000000..28ba1ed --- /dev/null +++ b/images/svg/dark/dide.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/svg/light/dide.svg b/images/svg/light/dide.svg new file mode 100644 index 0000000..28ba1ed --- /dev/null +++ b/images/svg/light/dide.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 11a147a..01cf885 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -81,6 +81,5 @@ "error.simulation.error-happen-run-command": "Fehler bei der Icarus-Simulation:", "info.command.structure.transform-xilinx-to-standard": "Konvertiere Xilinx-Projektstruktur in Digital IDE-Standardstruktur", "error.command.structure.not-valid-xilinx-project": "Das aktuelle Projekt ist kein gültiges Xilinx-Projekt, die Konvertierung ist fehlgeschlagen!", - "info.command.structure.reload-vscode": "Projektstrukturkonvertierung abgeschlossen, bitte starten Sie vscode neu, um die Änderungen zu übernehmen.", - "info.common.confirm": "Bestätigen" + "info.common.codedoc": "Code-Dokumentation" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index e2b8d22..3284640 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -81,6 +81,5 @@ "error.simulation.error-happen-run-command": "Error during Icarus simulation:", "info.command.structure.transform-xilinx-to-standard": "Converting Xilinx project structure to Digital IDE standard structure", "error.command.structure.not-valid-xilinx-project": "The current project is not a valid Xilinx project, the conversion failed!", - "info.command.structure.reload-vscode": "Project structure conversion completed, please restart vscode to apply the changes.", - "info.common.confirm": "Confirm" + "info.common.codedoc": "Code Documentation" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 8b53441..1a28725 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -81,6 +81,5 @@ "error.simulation.error-happen-run-command": "Icarusシミュレーション中にエラーが発生しました:", "info.command.structure.transform-xilinx-to-standard": "Xilinx プロジェクト構造を Digital IDE 標準構造に変換しています", "error.command.structure.not-valid-xilinx-project": "現在のプロジェクトは有効なXilinxプロジェクトではありません、変換に失敗しました!", - "info.command.structure.reload-vscode": "プロジェクト構造の変換が完了しました。変更を適用するために vscode を再起動してください。", - "info.common.confirm": "確認" + "info.common.codedoc": "コードドキュメント" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 299c638..78a78be 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -81,6 +81,5 @@ "error.simulation.error-happen-run-command": "Icarus 仿真时,出现错误:", "info.command.structure.transform-xilinx-to-standard": "正在将 Xilinx 项目结构转变为 Digital IDE 标准结构", "error.command.structure.not-valid-xilinx-project": "当前项目不是一个有效的 Xilinx 项目,转换失败!", - "info.command.structure.reload-vscode": "项目结构转换完成,请重启 vscode 使应用生效", - "info.common.confirm": "确定" + "info.common.codedoc": "代码文档" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 7d9500b..8463d8e 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -81,6 +81,5 @@ "error.simulation.error-happen-run-command": "Icarus 模擬時,出現錯誤:", "info.command.structure.transform-xilinx-to-standard": "正在將 Xilinx 專案結構轉變為 Digital IDE 標準結構", "error.command.structure.not-valid-xilinx-project": "當前專案不是一個有效的 Xilinx 專案,轉換失敗!", - "info.command.structure.reload-vscode": "專案結構轉換完成,請重新啟動 vscode 使應用生效。", - "info.common.confirm": "確定" + "info.common.codedoc": "程式碼文件" } \ No newline at end of file diff --git a/resources/dide-doc/documentation.css b/resources/dide-doc/documentation.css index c30e764..5d3b663 100644 --- a/resources/dide-doc/documentation.css +++ b/resources/dide-doc/documentation.css @@ -651,6 +651,20 @@ img { background-color: rgb(53,59,140); } +#write .source-ip-tag { + font-size: 0.85rem; + padding: 3px 4px; + border-radius: .5em; + background-color: rgb(24, 91, 149); +} + +#write .source-primitive-tag { + font-size: 0.85rem; + padding: 3px 4px; + border-radius: .5em; + background-color: rgb(108, 53, 140); +} + #write .source-unk-tag { font-size: 0.85rem; padding: 3px 4px; diff --git a/resources/dide-doc/icon.png b/resources/dide-doc/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cec516344091a738cc033ad9c90594e0c6732f51 GIT binary patch literal 20789 zcmZsDWmr{Rv^5||Nq2X5ryz%x?(XiAmJklzh_s{<(nyDNC@m@7-7O&8#e47f@ACnC zJnmR~?X~6{bBr;GQdO2kLm@_ifq_Ajmy=S5fq{*F{ziHUKEV!ri3$FK_khT2B7r~e zkt`#@zmZ+#^gLi-*lC`>VST=edw~y$-bw4e({QnV=WXV01>^1Q&2H!H;9+6rYQ^s2 zZj*H^N(=)-2_r8hq3M%-xa9rLaO<=9AV345* z{3c$KNUeVky#?-H3$^}q5qOOX#l@!VqOVSmXL{+a*I;FkYWb5n)$(e&$acQHLmZB^ zZ${K(CpBYY#}nP=`_GHTd;Xk^F*X%gBq}H-CSPH7906$rju%bIGlIQ@jFWUY3!-Lh{E2zDUMss( z2X*xuj2RJ3izFp<*b2K-9!YT6Z4s+@+22xZIZVnaf9^*>>$Rb55FUo(RC?QwR&>W#uuFxFu$kKrI4cRcc@l5h}oXf z?r`{ur_gEAN*HnJ$^?oW-v99LLdJk$R29LXvJ_j-q*~PrmAScZX$dH_FHTaIB8WbZ zzH&g2xaAKvfZ3fIl|-U~F$_Kx6 z@Y884L(t;X)TWxqtC(swT&uEgjUNUyZVwdgAV^XCaipi686P7OzLC);R&csYpr(obJ6>)yPy{XWN>)Mkiqvfc~U*dvI;tyD^*@8F>3$f3tW%p1wZQC zvvw|hd43o*62vv%7&V{jqN4t(UIVT_9j}N2#Jc;(QOwO{;58WA%VY)O!|{I?pKyF7ubOScxG%Urn?&)zI({E z>fc}cp7ye8ZD5{tgAfthkUC2)n~|w#3tZ)}gE4+-m#>stzmi6k-izM9M^L`SvHhw8 zK{B&~WoY~1XtgzMkDz);Cau?ZcZ3Q33{$60EjZT9 zOY)n&J9*5l#9Mn?gVomXODkI*`BqV=cxXyekF?EXvi)V(PWv1)f+TsOw}qk8AI(xL^}Hn zKVVnQ?|{~TZydVlvzHp={?|}&Dgg83-C@@k2T1J(HiTLQJjz0JgPGE`{x09|a!F<+ zIQ;?rGp~CCTSEK9^+XF|aUCs_pc1X<(3-@0)f8<_JXbiKP)u0?ElbT+7P^HbYx$3i zf6{#ai5;FSN9Y)M_3U~6@*;=G-OBUQnaQ4^myhbBp)stKEmZzwKeS(rnyE<)+8FZ? z%U3V;#jnMSuC2X_8b=+#?6wrn5+d?WTZyTy<3|2C;xzv{%qWgy-PR?}e1{fVBH3eC z{nZrJ+3-D&`MY1QdU4@lW&ILNb$XNq+u~KxJ;ysooWGToUA+Btq)r=9^FWkYSDu~L zWmYlwf>p)jgDgu&++mX=lLvz3R9_zTcQ~e0&1^Eekc1l+zd%SNw|QL6?e@OQ`meC8 zyh%m@%#Ry_oBccHM%Tjcl(Pq#91IWh@lQj<0&P#b$(b&UVp+oqz&<$%?RjB-zfyN; zy=W9D@Jiyxn`Cw6_vqSRsyg@bCtd$`TmQs^M8dnTdz`8qbVMxPB4AVK!5oAVe_V!s z%eGf+W|(+Q=iVcN?l8$sP=|(Ln7Fw$@Kw&3@t2Oa2|di%n_g11_{r5AtDDvRkg_hf zZ&f;xx)!9`R+Tavt~A!7JoW=rP&rezb81oTzhu3{7FL3Ot{n!%%ArPo;iCZ}7uVFsOf&Iy`l1}OR;17e{ciG|nr+qHHQSFx;70;eh$)I7_$A6xe z$ytd=X}ReM1I!c=@)U($DJpKH5$h@DK0X}teR!y$c@kF2*83EQFJD?_P}1Aw%l#a@ zdo5^4Uvx5};M}DZrXx=z%gxn7m{Od!;j_Zk^v|pn8IQ^mJ)D+4RJfKl|cX3Rq2*3sdMM%;g`r4dBQX-_apg_%MzvE z<+)9pp2ODZZGHL=eh=;+HRm6y*|BqV?G2(22#l({UP0s%f9MBda9i+9$73ZLm-R@N zk%!AO>{rSTTx1qEx~#DOZMBg{2?HS-Hkgzv;Do({06$bZnlQR4aN=q(c1T_1B^6Xn zPoL1bwnu9>b{1jOX;^;c^XRRFe7&t%eD#WlDOA^k>H5#b|ZfO z)zZJDSf|f?!JJjWpz?Y2FgmPl*rlnO^%n4P8@zMIwUUlEQtc*B0ZbQAO|Y6Yo#Cpr z6j%84%B+l9<()4pLlRGmX7{V>-_)~_LbS8hV?%o3+&&|SYU-=e)n259X)?kq)3n$d zY4|8H7Hcnc_lD^vw@DolLK78qKh~oo)2nH;bob9tPjr0r3%=JWb&q7nrND^5tiaND+Wt)mw*POd zy`f$&t-h~Cvwgef)r>;t;;~SvtlFvb5~2*>nnV%Q_Ab7H6Co;oi)vdKyfK zSWmeC%`zcaS@L1Gtr?^^0&I8d`%IJUjQk;yghXmSXQ|d` zPNPH&tB1dC&I_Vsnnw;q*rpI66Nr4WU{d3`*81EVr9nnq^dG-74yeonxqe- z#LT9oSK2~tSp%U`%oezT6c)W~B9GDq9G4lW(jeE`!%&GoTwFY=Vqkf-h3Fh1K@$`H z`sU7K(eB{U{^hAKYA9EqB1b;-#)YHR%eI@@NnYnPvzk#@D8$BQw+{GjFPoUX!1D8i zerMKJx*~bd5Uiy|<{FdDQ{k_Iin?yMr1r9u(D%c8Q9o7)TXiy52;*@!S#YXaa}{Qv;I9FGGI&5Kj~_#>0vuE6hZQ_e14|-A7vgU@2i^S`_~#g zKh)SN0y#kufUA<+A(X4#b^4{m;zF2>m+6_0%kRPWuOt{2vknBD$jA6r*S6J+P5zgKpRnMoSJp>6xT_nVE zG+yqWgys#-<^6VWnEBuHAyk;i1@k>@`+NJZqS^Ms^unC`c?5r;(5%!6kM!)%>LTH^ z_V@8`-%FXv%gaYmrIW*=B8>f|ZOyvv{rN$|)#&_e@@oS!ia6hE*{S$9NXDsa{54vWxut`f)$uUNv|AGz3mxXP*{H&HbsaxQq~^8v zQ7Gl9{Q%NW+0PWeJWRzy=KnC6=C8t2sk}=UYMZPUGusgrPPl~C6g`eoD&{EjWC+JSaErTJ{uKdt)%yf$N7!sTK*K%g3 zf6`M$c9^DQR^M21!KZbxSRTFTEIX{=OD#8SF#i|9S2->|`2QvY+;iz^+d4NgK6VuP z;y|VH;?KO=79W!5x!~+U;>mJyVRmEQLqXV?G=L0s_a9xX7Rv@jyUjLX7vpU8^&1Ha z`Md=&6fU>MlqaOJKqF%lB$`SWft51veUxuk!& ztVMsbJq%Efs^9gTop}`z2zcN}*9{{OkwPQBM)mdYd9H(8&KhYFjH{r^u}wF2mW9*N zzn0VU&59B_Sm@S-#gjwCTL0-y8L}S*#ZS^bp^)NuafCD!1F8G+_$T6%1B>|q-%&_X za!%H$n~z+k?%`sfK>Rg10tXV~Tjr2(jcbnchhE=@rtOY#E;r+e3v5Wrq|l$J{t#w7xPWoMEAGGZu7e5pZ3+A_SN0y)gdoTe`j@l2u+=& zmLa&X6HgmMHpZkx5;YVf@c9t2v=O{y5zzy_?q{DwH)8%;K_DTQU=3>PP4{+`i zN}MQi1f){Oj%3GHge|!K2^q3vB8=-n^VwJ=0ch{z!<@O4QT}atUqhd6?ssy$j50BA zJVu!TDMWj}_`ITW|5q1)xvt~1{-8FT3Bb?pOd(vZ? z7=A_mZf19IFKu4hc3Y>%2=o^UHxg_8(E?ZpWlxvqm}u&HdL2ZSCQdx#1$tS}{9CAm zLvO*RGyqj0(m!JookxQET=(+30++$0Ft*UQj*I%?+sKan-fZT?FN~2;Hbjq3j!{i- zLyAd`Hl4|uj>oIjTY28kvI{;e;P?sQnYRQ?W~@B?IDJfgy2FWa!I0^S7d?EYGmld#Ws}Yk2(8-sHzM1oqOoC}}jw@w~w{VOm)PU$W($&#X_NpPXw zj5QuxLeaus)$-ip@EVNo+#{$qzk`A?^(#luw_!d;1*R}J( zL;e%I?)VI#2Go3FVkVa2(`1Z1ywrc8ZBxf!Ri&+g94~05wcuo;qZsQywE#hkTi(K9;v1(E?3Rnr8TRGips1a_} z_b?!k+so2iz<}eK+Gm1)9lmwct%gO#A^1kNQ;==EQ;f3*^L`KEOZbLZfJwndUF1ZT z>F*5OF<+*$eji7c`EUo6Dv2RoRFFY>q8@R04^s!jQ4o@(vbo50*xTTA*cZRdFNH2y z43v1_T2yky3d?Y96ZfS%kb2!H4t_7~5F8SjA&jxq;7%U-DaTh#`O`6UB)i;JVoeZT z!AYTJssXofRPFHS0S2)JeZ2J*wGi=@6eQVRsi!C`tJCwH7079=7y`W1X%pkJ15m1|>@fMU+i?@cj z^mtSpR2VT%F-eXn_MtU-e|^P47C+M;DkF4@AM|6#&am}iO;XC_Lla>Cf$UH_GpJ2T zYK)i}o;A+77+jP@uh>FwDU_h@^Femjk^n4nv41D(6?Tj@pYlX2UMV>CaqfR<-x#;A zEBRI0y+6!1x6+Q`(%2sLQ}61eNzSrB1f`qyX9_ecZ87#&HnSdz)Yv-?Wwfb$vnH$^ zhS9MyExjv!GL(Td@GOhlcIS14Moq{kB!~jy|l}@Bvu}F)G{8OeC{&r(ivX)gd>pCmG2jP zsy5mq{oc!dkqrxh#%>6fkLX7n^_fT%Fv-_$D32X$ek(rH$KMJ~nG|w{fBq<^?$^-5^9-SP0T90QU8_q|w zX%QzZQ&V+M^M0y6;aWd2N!~@qQ<<*;&o~rb!+da{m2)~yJp1lNOOInH88rqoE>tge zG;%@Vq|>T7Ep%i1K@fh5XF60sf91{68#1E|X1S_~LhfReS&kO;pVkI)1LqfkZPVBE z%eDcb_~fzfnv6&v!=g~nR(~N%lIu+ZywkX_(mjz=c=;$H4T?gC@3ZUueF9W{+1S5p zgc*d-vOcO<3@XQ<%djxxS}KzkcU?)(u7%SHg!3|(4~ju&N86(<0tQOnK(PQzg@(#+ zZZP2~7a2tmkgbV zRiHJ5pRs1~jUviWs=|#6!PzYzgdfhPC~OOiQ}Q7a?DnNjOyq`FnCr1_1$P&435D&l zX8?zB9a-PKPvT6pecN53;3941^>z0~6#y7fw}*}ip$R58;R1YS+)WRV2kXJOi|7QR z0;i_GHT50}IJ4>LV5(2%y`ftht#< z{|6hS&;Yd{+O$vQsNW<%HT`91r&~dZV@<^-XF!vXbwjC_#3SA;=qAwT!5Np1EnFLC zQ94w+u#4?^@R90f;(yseO|s9ejpGSV^# z#Ni}A>OQeXz3N(2Q_YWrfIxjZm?>-e8?l4U=H7=SQ2RooF0TGpVk{H~7H(AK-RkC> z=Piy&v8k#LA{~g`*|~?EgcW#rZY8S27FidKs|Q0J=%4AEilYHmy_%Ulz1J8U=N$C4 z?&k^ZAwZWbn<$_xr7ZE*14+{1`;6HzU-4ZqMZ{&vHqOrS31Fj+7yA`e- z#vH-N-W@Mfnv0mUoAs^l9QmG?q~y9+0@b^0!vP@N{HR$c0gTR^e_&NCQ6{zvxkICZjCL@=|-0{|JoF_dETczyVj@dI!Hf2V6i=+JO=DO%&CKWBjodBXdM;_)R(o*3NaVQE7M#H)OokS7 zZDdH;+3TsEumJ#K%B5?2)5a-#!nh3!s5TN7iZ{|S(yIUHZHiBa=5r_Sk-9f~MlrZ7 zDY{oG9~bf(%$Kq|5a5D8qj3xp#52k~{LYu+BOO>~j$aDyd*}xg_;Ec`r0*9LVQ!p~pqu0^J2RTInG?BE1#teb( zn*$OZCCh5>NoK67J~H7Yk>Eum)d+j=IUD;as0Lhn9`&3kKc;H`rA3|iysc7OTQHt1qxqlh~_Q3{y0VBsrA4mKnT!jRyQU|Rsas$Ch zA{Sl~HeNKRr_+R|#7K)XsOG9vM5U!eO1d|^H`3}m-mJX3&)Em_N_P20tpJ@F*Q`YF zE1>`)S7Cin3r2_7nFBGLg67tx@Y%=AT=Q~A zNjEMQe*TevxZG7)yA-xkmXR|BW%F||S-tj6pC|ErDO!7nmHw{lq+c#Y5S8|ZU3(hvp{j#6v-eOv(@Wlk&GRMSRvW70~{5JJhN(AxM8p_Pd1)L z+T71T!O+wateuG_pvkD&0N%yLGPc-q1Vg+yZ0i8K2Q%agk1a(nPjQZ!bI=8#rLE0! zZQpLn8svYItD0Ur-n!vDk!@?Wy2);xq;ptzQ%W34WHIwzIB-SceeW$+b|C)Y#S&sV zdo+j=$3|y-53_4eU%uLQ!{edgEmhyr1Bj45-wn}d7)-usFiLKNpB6fB+wGP>NKSgQJMrpk*qt0|97i!1mWeJmO0`x6E#`_ZYH zf<{wWWHwSl^b*w)QzI`r6l~P=`5BDq4P8u&31nn%00F~LHI@{eSiZBUrD!sGP-7$E zp@i+#zg+BY`dSJSAV`-#vm-IBK!me7$hGoI`Q=9Hm9ji4x*9qdiW1gc$u=KuiL-Dx znKt$Vcj|36R4RHjO1UlQF`%dcAqqh^t6q6q%934^5jO>7@o5Cd9vu;S;pz^Dj^QXI zwK0~FR<3nYGyB#;ACXw$(BY`Tud4Z~<7^7f)_2vY;GQZ^N&HmQY9kxo7CIa3MGeSB zQjVh?Z?~m3)k{DiY5Opk1_s!v6ysvql0{gHu~t}#@!!S%EY*^*habIH z^5bd14_ooGo`^>Y8wSL`T2f7P>5;>ZaaiunPxTJzphnV8hiXTgw>II1kjsp+|KsQ0nB6K1gL8AXLnyT9AxeF{rn(|fQ^N{EGGCw z4ysAm1-f2ZQ>ANS@L}+EVPc%ILnj_;m8t!`{?LJ1fPfi)y4l*2$=ykPHoi>7S@J(c zKOSBaAII6((@I%?q_`T#LT^Ntdn)=&kms)VA1Vah*COFc!RpD-wAKLx$V*3oby5kV zloh4-Px};dUga)rf#UE0h*;mZ+^o$@&(g?v@5La&3`UK0sV}JWCh)VQI6fB0s&JbH z{JAzBXsx5dqRL%66?EP0hAnC!!FNm)LW3<)9i(PpC-Fu0g=74DM$2lhgrlY2AIAadR{?+jyr#NXO83C^{Ko*-FlqNrH_fQ@ zO~Kzdl(61c`ZP1vh~(HTNTOo7)OF+j2AK>YguY@ zR$%+@c2ns;Bw)VuN+7$EEQV_U{ECI!Z)z|jDw>S6b;2K=ABt$k0LaiN&2M{D&!@=ic=_kbwxG1D3bR`-zMSrdGU%DgjWK}|BpS0;}xh?1> zBQB*@+z@_aV!v(+q)Rd>PW^L@m@ebiI+`=^e3->k|@0XAG@v`I&SY2zjl zJ_02So;UlYf(BfI*M7!+{(v$xa$NBDU|lKJ0Rjm!I+z7e33DseitzcUf8d2mQHY<& z_NYpBdI`A+0gSCmIq?AA2VA)h7c0d($Y38|JpAJ$0ENj@>IlDwIl!$|Gx3{L1>4X8 zbk(FpqnapnD~Ym`*7JLyea(zZ#eFa`7&U}ES7}$0WF3c%9b$Kb%dTjIG#77`E)4D; zjfqE#$B7o>L|6pI2K|<_=8tO=E15~B^nv#RvEmB1pj)cJZNUa_u5tpb+&*>%ef%d1 zE%|D3F8aO=LwICS+(`PTG(hpX`I-|6ltBTcg7kS1hn{D^asV+$d_rJS;er7v zX&efum4w%(t%q}+D=OXLGOxpetqP1z-mMb2&~m3=TI*h|oh>d5`LCV%uUgI(QxRW{ zUYg6FFX9~3ZosXa;qYrRO1+Jg51uwfo2yJC7m<$J&$eIG^D3U_`q6t_V=>1SOLb5A z@-TFl&_#Bj*B8`Q^@Tr+Y`!s=<_|^>!49}#!b^Z@i9rdIV?AMj$@7i|d{El7Y1p)> zbm00E`t`;Yqdl*(vqhb-VsFX z4C59oYKHg?)kMw6kS~z;R(t4&ub;%Oy#j;vOg6JjU_o+x8~7!6soCE|55xP z9$fg2PO@7OqA2Rj_K5Q6F_cgv6oe`mj=FVvnKrmkW+6mcL_3blQ}!jVZRs{ zV^@~HWI1MS#d&i7+d;_#kwuK-F3;_E-%)`pgis}qVBfwFT#v3Kh@`#Sq}yD(C;5?3 zhEi#*&n})FD;)l!p=P3xL0)QxfkttcSGbpG9j<|-SOf(d_LBIuGe)$*-6rTithY=|_l#<;;Q#L50il)_#DWa5B$#nVpYUpK42fqmSD<4K)hDopu$ zx$Cpeh6l5un08yeJF8E|*FiMq5luwlSYa}sVf`v3KJZR}h>E05v%rn+l_0rI3zg&O zN{Kwt6dx7Ukz*^D9J6aa8&}K6?D~e$_73rlH!iI^T~_iL#;2!9L5o|lmKy&*?7ika zmI0M=GGP#S)E;7$w$2_d6#_?^i7xA!wJZm6c(@G)kF3Wds0R4egTEtVDq{W+}~F8gqYAikK( zs?mi!?)Kqnc{>^NBcb|}Ts>0|4xo|L#C`OS7;`ty{L|<6>MnT*nC}D_LuAU(=K2|K z@#MIlSR-u~0k3puqfdRX(pKwuLi?FEGVrIG5B6-UrsD;p!bR z8p}Hw9N0Pr3C3ilpG{VKZ1w}Uq!O5`J1xBWW_zs(sRkv(&g{T{^Py=^Z)`pz|nHXMr2?P`h)D7C0pA{eBgc{XI^? z0V)>BBF$F(fxg#f`fn5hqXHZ19$}I)h(v*1er+@7ne%EeF#6#)VXS@7;pdlZoa5}h z#VaHd_Rr{kI{u6f@B_p55LlSBE#r8AKC$pGpt>@=zC^OJNeYFsD%90&Zwet21zO2W z$T1)BOUYiq|SZ)BjJHj>-M`G5IRR8M`_a8eYKYj4xi+7YLH6Efq>iupNc^q zw?sct&Z_kfl5f@KP%NvG|NQD_34Hco3dLkT03#0#1G~-@Uy82x#s$}Vlb?&beaXzx9NSJPCy1Z}SyDYwPB<<3b;{SG=_ld=rBEo4)fZ0n-`@R*Ub5tWgl0Tz{=o>x?>V_DO7smqg z_s!qWJH%Usr~W%(MKnGNB&AL?pqVxXoO4+U}`< zUB@~k7nv-da@EI)NVM%a|5p%j@Kpj#l<_JTmk3ey=MlxQ5X|N|)(>f-6rSMk3xY#QVNj7ty@ySo6;C~h zS9O5O&*v>LB{DrU#V(R_^g>CF*6pw1w@0M!hQUH@=!)F2%CsNAgZy0cH2uwoRc++O zx}=u4J1II3XWU12>`r*h2;?PPIc{;)d?b+ER$HSFZ&?wNF$>Cz)?QAJj)0fF0T)!| zR|FnD3`H8rkEl|YyIfCkfe#y-32^8COxx{u8Z#V$Zx43iN~!Fo_Vqlt6zmXLm~ok; z^ZT3!GbFXaKS}hlt^HaeL2B+;8X~EvLfzr)o|3L+-?B=L)XZUp`xmT~aeg?nw`X?(@FwaLBQ~nhOUGypd`&K`QWo zNL|4JFz8h@t1p?ue#QjHd*i*u3sh%i0wuKuU+983YAAmlL?W1LmQWcZN1d;S+F(^A z8dZZ}wTMlXP7>@HN+dXt(%~9d6j9zINLkXCkWmV^xgC3Ir5*7D2vlwT(y@4Z)PEup zMLKf6A1;V;Bi2psd-Vt{-FcocR*Ts^Cc2T}7yIy#FL1U^o#F;g7q@Cv&-_Y>MeNZF zy=--A4{UCN_>HM}%rj$KABpK^92nJ1^ zSCc$|hNu9!zEknEn178|Z6s}t(5^{`WubCU{(kBzf1V2l=4AyIT|?&!2zV*0r^2{$ zyd9uA3#LS}wQP!(=PEXpcz}DZ%`!1YgMvGF+e^G+RoKRKN9zj7h5&3%Knar~CX|Ji zj~cRpf&_BW_4lUc`x!#L#e4LFoA4`txe!p`QeTB$o!-6RAgZQ!KzkiXZ5Bn~^RPF3 z;gi3HfCRaXWr&~X%gbK-*PHI}%IKrfIbvo6*aem|0z)L_nxA0S{1-Oj)tnLGRN zioz>=KqP8RKj#OjpVR7q^1yw3nAV3FdVsOtwLKAPwC*q3XMDu$KE7OKdN`1MitbN3 zCDqpNyA2SU8MyvO(*@#lJ|IQYwad$gjb&Lfu&0$;=ucZecJy&L1V!21)XlrGGlToq zR0x{3V(lQc5T*TNcs`2?l$J8#X?FC$rCQ63D>$p~{#BD2=35m+ zV;|BRo4U3gQ_Gkf1|=e`w)p#(8plk%BpW-9Iw_h^AlY4xU9zOa4$B%Z$Ass>3*e#l%>y;9g0!@S5>}5Y`L~DSZfHrpqtq#A2{A#N@i=? z-U%T5o*?JW%5-*GMkay1QOT7}CRFD23JG)dQh4pGdF|St^R-AA)edI(VbDJYb<`dk zs{t#EQYX7kFJNMb^HK-dfhbl`cAR?#`!uw2me|#5`O~u$BR{%uK+?V8|0I!Yk;EY) zz|fEvtmVFI@>15?J^uLgb-@E5GE`j zJ95@9t+bnL^TLCykcIP)fpeP}b&h?MFafYI&nuXy^4AL7XZq8g_?a5*cgpXW6C=S& zN9H)aU46J$bgD9VM>a_inrLgor(45yf>PArKYufr9sVAWFR?)LjTkz3H8*PAU>3l> z;Nu1<_yc4eDj5Qt>ZQa0B%APkz_h?HZVsFB2xP;5%E| zw-#@Zox*Xr{4Zg04{myT@gX9D9#9=UAw&NWHS-O-`bB)>fC3Txtx@=f`WzWhD?ZVicXDqMiGQ$Z1{59xqw$Cx!~unUz)t;pIqjU5(XsJ>0R?|y4V~t*I84;?tgrW zu`|n`E?&j=zg~x75JlwR>^;*%n}@XM@4hc-8ERGI*`@Mk;9y~k0U1Xv3Co8{3C5@F zN(t0C88}HC1(5v2#`$H_yWoR*;YI!TWuWX<%MG7gjjwG@w>DE5Rp!P(r~3VT*iXG{ zgKe#hvYNRD-Q_n>=!dK3gQT>?fvMChEcPUFJQRfX>ARN~aKSh1_rz>R5(SyS*IJ>_ z(LL1=RFvzhiuB(xfHY~FugxlTYT+YWz<2s6ghjRA{QZy}kl`8g$M%bTyu;c55qo0$ z^AXE-4NBUTY%SjpHMl<(J4E1mpc7hwc|w>7|f0w26a+5kXJ|h3DW2Hd4(4n zAH-Z=`M<=$W&*s*v9Xtch5^M%Pi2u2xWI>TjzpA9*-U`0GfSNU&Bge4TvEXZe*ICa zeZjPiThu`D?zk^8KyF)#7Lys5`R`{~ zW4Py$pKUSre99g0uGH-#r~($g^V~%ZUJ0LlI}z1h;-P%H0uK6$>&EnXchU$%?SE*F z_*uiHNJ+|O>R1hFho;UQWp)f;*>TfTcNIXeUK+djqLJZ{DLS$Fp_1!e+$bJg;}kRq zT8KV+P4^5N{F_0WS{n?b0R;Phhx>dOa5)IS0ugtc>yKvE4VR*!q{`4!;Gh>4AoV|-Q|cJ_07 zN-R=J*#_)RP5VN5i4vfnfHBgkL>TojAYy<3!IAEL7Cq6oI^nq@ zlguQ)Z3%@>CFy{{sPs$s4X6baOpfRoZpAB-ZE)@UoIPVvlP6J+duTfR!@qf#t}g;Z z>CuVJe};eF&a}8t$qevQClL6E`aUo{dmfZ!Aktyfie$$^u?a0=md?32xuGsq{waSI z-bSVXIoYS~oQt-Xmh;B9W>2~<{_{tm#{fN#v*EiL!v!`4%yT{e^nLrp)<(2|v8*e4 zpo{_t_o2-yPA+WACq63uno@7UWTq$FtO2p6*A;V!m7o}RBdI>&O_f#Fs+1g~qA<=6 zqrZf;=HD~!pNR+x<;nL^auD$Je_ne%lwaEn`#Ze|GWzxR!>6DgQIb?lF2JPz(E95H z>UXXiq6UmL8$NLh@^Xpp7eMsl1bSeVeGqch%D|$H*0%jaZhgY|?@cLu{7{4hEwOMQ zu5XK(v-`>U0G5Xe5Rs?Ddn*!{@Y`ZrrCSnl5GtrN;2VClKDG|34BH%UY_;EN9dXz; zwjhCN3Yof|Sr6+MN1V2K7Tn7o(1&^7rOI_$EBAYsJu#JdV*{BCcm|^y&b){|VhKIV ziT-0JeU<&I{8=1w%)K`=K^XiVwa?OEB2HS|N#zqcaG4ATfBKi(ghP+sO$rc%oJhrHYnd#fFQsA<|go2?6ljtqtM`S zpAsl-K2ZD{1nG0BwC2r!nt)_K&0a3h5y>3}my ziI>U*?@rYCU&3G%s`Fnz5LJdtS2lptjhl`}y#T_6QJ>J*bzEP_TF+WC01w#MPeNLR z?yt;Di%j~Vw2Poog6*%t>6^Y#35??Fb7SCvK+fJ3XV(y>=3~aa&;%Z(yCVM@>Hwj- zOra-xaoMVg=LVlIy6SFTUy#M-Nlcfcc>346v@k4yU~EfxlY9&9Ip`cqcqFxv&9r$Uecn==bgW1%Cm_N+ zdESaoyq;#04>M~Idx|O+zdgPCjDSdtRfhPgO;o= zT$K50%3nbA0AVpyT{7Mm@{m;A>3|##_1NTmTBwzpfen`b!a);0tGV}qXja#E7mkI6}YBOPM z_7YW0dif$+(du)T>bVBNFB>4Jzju8MXq!C~Gt}hNv;a`9{*>5pbOj!irABB6cPgt1 z#ZO2Pvs7xr*v{Z|Yv3!I>8@z9JBy<_sd~MU)8$WgVs3IHCMbIOqA&$sgBqa55SDZP zt`gLvlX1WbgF+72e5t|tl_jc)d0*2tT*uD+LydJ$&8-8Rr>@ESTFLx5Z7EVH$(qxF zd(*Jl6|A!|U}2OLTRwZ-xV-?tVSeOtL4ukTSP@YM+)76E5*FUNpzba8F@R_l^+6cW zx3B=B)5*yRDu3ie(zeQF%`q2}M*Dz4L1M?aZMl}@yI7I04sA5JL^6oR z17ud-1(Y>!YAx=3C_v%fos>h&8^_yua3k+^Xp2)A({+A{SMsX@0xF_iEu$TGzY=l| z{^MSNhiWa72O(i0a^b)g_e(eIh)yKLn1>lNVI}S^pGWYw2fR{G-07JnFHobSHKL!b z7R=n*VGr(iF)xooeQMkY_9OP`Ub9Du0`hw^R`><~j!9Srf`J(q^zm^$hLju;n1w)* z9NfRw?|bF*%UW5+&YlPq>S~$lr03%^F+>0!kIV=Fx&o$RLJ9^v5I6VUNE6URE18>! z=|9V-dLV@agMGq_Ca@0T$2-OBhyjY%W8**#jmAb*%hr#rt#b#WxTVPK<{|E~vp>## z>&=9P*tyWN8I{!!wE^EK6zHLd?c=7^pnSTq6ab>eI0z2cQC`n^{&le?h{w@F2w+Du z%CSlT>IG=4bO9@_T$9Ikhj#uX6kbO$->4P7NQQ+l_5)4VVp#^PNnm(}?;CZvnVaBQ z3Izt3OQo9vn{Na?@l;wi*nqxDa#oVmHsp6-cTXfs3oCDO{BzvKZVjw&-Xhnlu47n0 zd+8fhpvJ&MDG>ZD6T$b#!PWCo8?;%Lr1orim`w?VbL}9>d@dve4I;-4J;yaY$DWtyGQo9{bI}`z5k`=J~0F}z|(}C`?SYTFBA8tsrX^1HBEXM<- z(CV=2>-JDeMX+hK*p&35(V9uBK@RbA@^SH{M(R$(=iL-ko+=W1n{_p^u4}>utTd9d zmTB{Da!}+VRp?D)y408LBx~LTUeG6G;W=Y(n9(Rd-5T5MO3E{@6KY7 zi}2G)9Cd>#ZI%q~s z5}?DuV4GtDs}i((lNxl>QVEFZTu0fvgO;5a*Al>Am+w@7S7A{>=o$NsEXFVdEC)Ax z!!rlXJ6`0baQz!7ViG)M#Zc^avw(!(?EPx4a##+lfz?m;P89(eH z-5i*R>wz^=?M9ZcNQ<{8N6$s(I$mRW3^ZEAz4B-3$D_Q*WI55JiiOi>gP<^R* zljrgcqn+pV?&p2!6-5_KV<(v`gfrA?P=A9aTC#IaJL6RVae~3atW9EWe4_yPk^Czq8D#}yPpF`?W_ah#3i2O`Y+3ay6O;-HRV*LkLtj$A5EG47q5I~;j zB`&XJtra-P>Z|i7-uS)&9^4e{5;d?(NNIqX+0@-j{oDiF7mprqExd2GkhfkjbpvA_ z@l5+5t7NYNIVJ>4E6g0g(;qE|&UysO_wXF2a|_J`tyv~rAjMx_U|H?*`RT@L_wKV* z6PufH>2|?#?kTMbq6^2N_mAP?q`Ba?ts-)qreBSQ5ctfsd(ADO3%2o8`;*qu`r+2> zvfaKt^D_Lg>Ms3K!!Uin|Ke&4IQ1p3Jx1u5ff>W5Q)lQz!c)0^eTUpLetoZ{c!F!W z@)op(|I$mU!3L%;mE?+`(EpOGKS`^BSDBYLmLg~s8Bx^V4&g=b?)lwoo@O@E>HY0d zqW1NNP^+0Nwa*%8jVl#?(+p6#gbm)N_DlXnH9y2x%;gh(Zlw5h9NpN!0r85jv!WZN zBSh_@rzVHI=o1a-*(oK;kSFC`NukHj0tf-1M+`ZB1{U9WjtN)dl%mvb$LiHXIUM+L zA1_D&;7y;~OZ$O!SpK0z{!MTMuSv3_azF5=3i7;@Im@5Owm4srk&$^|b=o0!7_`GR zD)xD9@io3m04A`vIbO;J=Z&jBwr<7_qD-MusK8z4QW1cQM})^sYP9Gg1w3#ot%v?{ zjYSICHp&nUjgM*dpqUA>p>-U{$RLIo)Ny@6w?dtFJjAAT5w)A)-Q+)uQg97eib5G^N5aJZW3gP(+veqSnZaVcL-@z zRP=W@3Y4_!Tm2kw?CeYDxukgZ6z5VJooHq5gGiOP|G+bMRgHA=-Wr%@sm)t>F0O{g8k?F3E)&-#YpA}F%P%c_4w`w--& z0eq5p`UNzR&^yGO*=wp8s1gpe^P>DB~kQ&BqUla zwk=URf@IRHX-G6BNp?I=z@cFKFck`p`u#gjy8Ay8yi!hsH>}+;sn$NpXtj|Eh$nQCTwt=1~#)z?HGiRkEKM}ZwvsWm{X-X z)VpFju@BJYgm=W8;EPN;lN5&uD<*yP{h0`fRM9fp>9fod{l*Bu9x?rbC=^;M6qgXA zi%~lQA>?Dx_Z8=rFH~D$j99NS+yfbZq^(6pGgq#7qNYV zDij(mFZx8EaQUL|M|IX0eIHChB2_eAxJmFExOx%7@w7Ng%d(Z2%_=(IPMH;L%J^!fY)1&9TR+A#Do3cFv7T zzFh|)Bt)%at!hV*jNN0$Ku8y)!hZ+5TI?5z+7UzJ*Zc&4s9$@#$By3VUNK$6Qu7EE z3PQq7OB7weHIFuja&bMQIXv_KlHoPr}s^UnnCm)d%VE?KU`|-w*YE-YNFz0Q*B=@{Cr4vbc7HY zOuMIWX1GD^7$KYWxluQ8LUebHpZ|#zIYbwV##4t+a1h=S(|6c0jC14X#GX2A9KI0r zvhIWsg&giasCI;qo#;OXw@>6GWsZBYzP_eUiX5Ts+RbUd50Q5jZ?}qmaupUDM;g&R z)vb06LdYeY8a#yod*lws=LH^n+C{D52LKL1=lxHqvV>G9&eR<|DR2-q0;+Mi0bP?_ zp`2b-Z=QQY?FfXBIq(9Hw_8O$^au-e{U^{baykJA;fIa2wL?;63GI#ofY!%<4}e`v z-(8J6Bl2CviT>kJHT;f{XmzBwCL%9Ly?zf~J}Y`@y&gU1{+X0{LM{~b^)-DQ@Ix_u zTgO^)q*tvL@;u&d7oGQ=hPp#9 zNtp+bs8BRDHF-1|{(b;Kj}>)z9eDEClkoA9Y{@OFW4*OF7zHCK2$^qQY1xhD(Pp({ z1myHO@zjZ@#Qq*SIG^^LQfC4n-3}i^{k?r@nG50pR0i93a&`h!?kOxwTMjNvH#X`R zZ^skIpM+nac@u<09sy0mjaZqn5*C9+?JyVR<9+z$v0vcA>`ATg= z2?K1tY0 zQ7;0p?)3Vb3pbI_lW;xm%9}Tf>7^<3dV3K|#LSLDL>XF1t{@l<;z(T^%4}t3#{qEn zP2ytU03b9LWLjVU5>XzCC*l|k58_a*3zhatQ?sllSMj@RzeO;H zW_7=kteiqV7o8s7Q{UJCz@5(ZGs`mw%?{&G?IDzxlpCDx;dIe)`POAz3S2@`Pv-po zM3i0Yo9pmQdtkTOaj@#3DH$dgC(-LWpHZKODD}$`zvms}QaxB!3IzaE>^l6Rt#soQ zfG5(qeraO~-f0i)Ry&^h*8ZGLMa?YV#vccNkAdj{q`5l@5fuPkbd1b}FugnjXSFkD zQ&GuO0`L9nZ@3h^l+l#70^SV`d46tSwEuUn>~XtKKE5FduY&q^CgU_#HlpY7PqMnu zy|l4}_y7GqKAHHq;F@!YC^Mzj68ymVL!3Hz3J$9yEBDYv$Mx`a{AH{U^DFb24mVh$ z)=wJUSognV{bzcMyQ3Mp=7Brr1`k4k$b95x3WHU|=^B-WE_SWT{Cb|s40*es@& zrx4rVr>;b_eN~QX?5lVZb&u7dwrn@bY-O-pOJPw~tf$tonpnlc`W-~$vj{JT5s8Nl zpTZVkUPOC#G|+#;(1Euhr_Bnj&vc&=$X@|uXA+Qzs5pJC>vDQD=*{R{)O6*%tF85! zt`h?M9Y95{?@dHhfTB?P>5$)N+S#r-?`Rty^7JdEP79FnvOf_~ksB8!-DVaEz=T2p z0K@))tIDE|11S81vx$hZ<8!qsog;qlxYLPV4YQV{ieDByW*adI+m4(Z8{Em{Gz zxVz6m?jYDw}k=#dU|>+UyMgy0p!;JYRt|vz2>A#4%+9i1d0i;B9Pa3-))Lwq5WE7wW_BJTqBN{P)Njh|sa~JYw`O*johXPx zvE@*EXQNf&bs)VnxrvBOkO1UQo67P=zAjcjOhFZjEiLYjW{CDH0OtUdn4O1+=mBB? zE?NcW0|8Ii>@b-q$U?EDy}fJiCh#*TybP{k5K(@Zfv7)N#QIh+_|HYN!x*8U3&j?v z^K7ZTV);i3cnQGwVdB;#MD$2XD&Rd4Tx@pk{jjgEFJ*QhBNauVxYv;*9Svf&JP%!Z zCdzEtnlB7mB)2+(&CY+Ue3$s#{aiDbU&gX$C*HC87sg18@USLrRH9OIf_Z z;Ac0@4rPW%sZe}_+wHa`P|~b))ud}`KSZ8V&>8`$5lD>^RRe`8JmUW+q9U{@z@h@~ z0O}4P^8%UBlr|wLeNq!`?CGcL$BS*PAzgd`Zj;k_w$$N>m6@G`h|*V5vKIII{YkTP z5D^g(5fKp)5fKp)5fKp)5fKp)5fKp)5fKp)5fM?b`7c0mk002ovPDHLk FV1n9PXMF$w literal 0 HcmV?d00001 diff --git a/resources/dide-doc/index.html b/resources/dide-doc/index.html index 310e6ba..cb080a6 100644 --- a/resources/dide-doc/index.html +++ b/resources/dide-doc/index.html @@ -5,6 +5,7 @@ Digital IDE Document + diff --git a/resources/dide-lsp/static/xilinx/primitive.bin b/resources/dide-lsp/static/xilinx/primitive.bin index f987783049b0d35255b555b3e7d114d536eb5eae..aedc7c0ec16032aa9cda5915696878fce6fd1472 100644 GIT binary patch delta 11843 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 delta 10203 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 diff --git a/src/function/hdlDoc/html.ts b/src/function/hdlDoc/html.ts index 77692d5..08cf36e 100644 --- a/src/function/hdlDoc/html.ts +++ b/src/function/hdlDoc/html.ts @@ -9,6 +9,7 @@ import { Count, MarkdownString, ThemeColorConfig, WavedromString } from './commo import { getRenderList, getCurrentRenderList } from './markdown'; import { hdlPath, hdlIcon, hdlFile } from '../../hdlFs'; import { ThemeType } from '../../global/enum'; +import { t } from '../../i18n'; const _cache = { css : '' @@ -227,8 +228,9 @@ export async function makeDocWebview(uri: vscode.Uri, context: vscode.ExtensionC } ); - panel.iconPath = hdlIcon.getIconConfig('documentation'); - + panel.iconPath = hdlIcon.getIconConfig('dide'); + panel.title = t('info.common.codedoc') + ': ' + fspath.basename(uri.fsPath); + const html = getWebviewContent(context, panel); if (html === undefined) { return panel; @@ -241,7 +243,7 @@ export async function makeDocWebview(uri: vscode.Uri, context: vscode.ExtensionC let filePath: string = message.filePath; if (filePath.startsWith('file://')) { filePath = filePath.slice(7); - } + } vscode.commands.executeCommand('vscode.open', vscode.Uri.file(filePath)); return; case 'do-render': diff --git a/src/function/hdlDoc/markdown.ts b/src/function/hdlDoc/markdown.ts index 2696ee1..ab80e70 100644 --- a/src/function/hdlDoc/markdown.ts +++ b/src/function/hdlDoc/markdown.ts @@ -43,15 +43,34 @@ function selectFieldValue(obj: any, subName: string, ws: string, name: string, i if (fs.existsSync(value)) { // 判断 类型 const hdlFile = hdlParam.getHdlFile(value); - if (hdlFile && hdlFile.projectType === HdlFileProjectType.RemoteLib) { - // 如果是 库 文件,做出更加自定义的字面量 - const libRelPath = value.replace(`${opeParam.extensionPath}/library/`, ''); - value = `library [${libRelPath}](file://${value})`; - } else { + if (hdlFile) { + switch (hdlFile.projectType) { + case HdlFileProjectType.RemoteLib: + // 如果是 库 文件,做出更加自定义的字面量 + const libRelPath = value.replace(`${opeParam.extensionPath}/library/`, ''); + value = `library [${libRelPath}](file://${value})`; + break; + case HdlFileProjectType.IP: + // 如果是 IP,定向到 xci 上 + const ipname = fspath.basename(value); + const xciPath = hdlPath.join(value, ipname + '.xci'); + value = `ip core [${relativePath}](file://${xciPath})`; + break; + default: + value = `project [${relativePath}](file://${value})`; + break; + } + } else { value = `project [${relativePath}](file://${value})`; } } else { - value = 'unknown ' + t('info.dide-doc.source.cannot-find'); + // 如果不存在,可能是原语 + const inst = obj as HdlInstance; + if (inst.getDoFastFileType === 'primitives') { + value = `${opeParam.prjInfo.toolChain} primitive`; + } else { + value = 'unknown ' + t('info.dide-doc.source.cannot-find'); + } } } @@ -171,14 +190,7 @@ async function getDocsFromModule(module: HdlModule): Promise { await portPP; // 判断是否为单文件 - let isSingleFile = false; - if (!opeParam.workspacePath || !fs.existsSync(opeParam.workspacePath)) { - isSingleFile = true; - } else { - const workspacePath = opeParam.workspacePath; - const modulePath = module.path; - isSingleFile = !modulePath.startsWith(workspacePath); - } + const isSingleFile = opeParam.openMode === 'file'; // param section const paramTitleIcon = ' '; @@ -227,10 +239,10 @@ async function getDocsFromModule(module: HdlModule): Promise { const depTitleIcon = ' '; md.addTitle(depTitleIcon + t('info.dide-doc.dependency'), 2); - let insts = module.getAllInstances(); + let insts: HdlInstance[] = []; // 对于单文件模式而言,未进行 instance 搜索,所以insts必然是空的 if (isSingleFile && insts.length === 0 && module.rawInstances) { - insts = module.rawInstances.map(rawInstance => new HdlInstance( + insts = module.rawInstances.map(rawInstance => new HdlInstance( rawInstance.name, rawInstance.type, undefined, @@ -240,6 +252,9 @@ async function getDocsFromModule(module: HdlModule): Promise { rawInstance.range, module )); + } else { + // 对于多文件,找出所有依赖项 + insts = [...module.getAllDependenceInstance()]; } // 根据 start 进行排序 diff --git a/src/function/lsp-client/index.ts b/src/function/lsp-client/index.ts index dc07c8c..f29a9fb 100644 --- a/src/function/lsp-client/index.ts +++ b/src/function/lsp-client/index.ts @@ -210,8 +210,10 @@ export async function activate(context: vscode.ExtensionContext, packageJson: an ); LspClient.DigitalIDE = client; + // 启动 lsp await client.start(); + // 检测配置文件变动 registerConfigurationUpdater(client, packageJson); } diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index 3db8f62..b66c0f0 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -203,6 +203,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { // 默认选择依赖模块最多的作为 first top let firstTop: { path: string, name: string } | undefined = undefined; let maxDepSize = 0; + for (const hdlModule of topModules) { // 此处断言是因为当前的 name 和 path 是从 topModules 中提取的 diff --git a/src/hdlParser/common.ts b/src/hdlParser/common.ts index f1a48d2..340bd34 100644 --- a/src/hdlParser/common.ts +++ b/src/hdlParser/common.ts @@ -172,6 +172,7 @@ interface RawHdlInstance { interface RawHdlModule { name: string + archName: string params: HdlModuleParam[] ports: HdlModulePort[] instances: RawHdlInstance[] diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 880d20a..7d169ab 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -205,11 +205,14 @@ class HdlParam { } else if (status === common.InstModPathStatus.Others && inst.instModPath) { dependencies.others.push(inst.instModPath); } - const instDependencies = this.getAllDependences(inst.module.path, inst.module.name); - if (instDependencies) { - dependencies.current.push(...instDependencies.current); - dependencies.include.push(...instDependencies.include); - dependencies.others.push(...instDependencies.others); + // 防止无限递归 + if (inst.module && inst.module !== module) { + const instDependencies = this.getAllDependences(inst.module.path, inst.module.name); + if (instDependencies) { + dependencies.current.push(...instDependencies.current); + dependencies.include.push(...instDependencies.include); + dependencies.others.push(...instDependencies.others); + } } } @@ -819,6 +822,59 @@ class HdlModule { return this.nameToInstances.size; } + /** + * @description 获取当前模块的所有依赖路径 + * @returns + */ + public getAllDependences(): common.HdlDependence { + const dependencies : common.HdlDependence = { + current: [], + include: [], + others: [] + }; + + for (const inst of this.getAllInstances()) { + if (!inst.module) { + continue; + } + const status = inst.instModPathStatus; + if (status === common.InstModPathStatus.Current && inst.instModPath) { + dependencies.current.push(inst.instModPath); + } else if (status === common.InstModPathStatus.Include && inst.instModPath) { + dependencies.include.push(inst.instModPath); + } else if (status === common.InstModPathStatus.Others && inst.instModPath) { + dependencies.others.push(inst.instModPath); + } + if (inst.module) { + const instDependencies = inst.module.getAllDependences(); + dependencies.current.push(...instDependencies.current); + dependencies.include.push(...instDependencies.include); + dependencies.others.push(...instDependencies.others); + } + } + + return dependencies; + } + + /** + * @description 递归获取当前模块所有依赖 + */ + public getAllDependenceInstance(): Set { + const instances = new Set(); + // 获取自身的 + for (const inst of this.nameToInstances.values()) { + console.log(inst); + instances.add(inst); + // 递归获取 inst 的 + if (inst.module) { + for (const subInst of inst.module.getAllDependenceInstance()) { + instances.add(subInst); + } + } + } + return instances; + } + public createHdlInstance(rawHdlInstance: common.RawHdlInstance): HdlInstance { const instModName = rawHdlInstance.type; @@ -1092,6 +1148,8 @@ export class HdlFile { // add to global hdlParam hdlParam.setHdlFile(this); + console.log(modules); + // make nameToModule this.nameToModule = new Map(); for (const rawHdlModule of modules) { From aacd135f3662ccf5d5a525af54f3bfa0afbf2fc5 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Wed, 4 Dec 2024 01:28:33 +0800 Subject: [PATCH 015/107] rename ieee lib --- .../fixed_float_types.vhdl | 0 .../fixed_generic_pkg-body.vhdl | 0 .../fixed_generic_pkg.vhdl | 0 .../{ieee_2008 => ieee}/fixed_pkg.vhdl | 0 .../float_generic_pkg-body.vhdl | 0 .../float_generic_pkg.vhdl | 0 .../{ieee_2008 => ieee}/float_pkg.vhdl | 0 .../math_complex-body.vhdl | 0 .../{ieee_2008 => ieee}/math_complex.vhdl | 0 .../{ieee_2008 => ieee}/math_real-body.vhdl | 0 .../{ieee_2008 => ieee}/math_real.vhdl | 0 .../{ieee_2008 => ieee}/numeric_bit-body.vhdl | 0 .../{ieee_2008 => ieee}/numeric_bit.vhdl | 0 .../numeric_bit_unsigned-body.vhdl | 0 .../numeric_bit_unsigned.vhdl | 0 .../{ieee_2008 => ieee}/numeric_std-body.vhdl | 0 .../{ieee_2008 => ieee}/numeric_std.vhdl | 0 .../numeric_std_unsigned-body.vhdl | 0 .../numeric_std_unsigned.vhdl | 0 .../std_logic_1164-body.vhdl | 0 .../{ieee_2008 => ieee}/std_logic_1164.vhdl | 0 .../{ieee_2008 => ieee}/std_logic_textio.vhdl | 0 .../static/vhdl_std_lib/std_2008/env.vhd | 38 ++ .../static/vhdl_std_lib/std_2008/standard.vhd | 106 ++++ .../static/vhdl_std_lib/std_2008/textio.vhd | 532 ++++++++++++++++++ .../dide-lsp/static/vhdl_std_lib/vhdl_ls.toml | 4 +- 26 files changed, 678 insertions(+), 2 deletions(-) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/fixed_float_types.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/fixed_generic_pkg-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/fixed_generic_pkg.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/fixed_pkg.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/float_generic_pkg-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/float_generic_pkg.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/float_pkg.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/math_complex-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/math_complex.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/math_real-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/math_real.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_bit-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_bit.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_bit_unsigned-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_bit_unsigned.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_std-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_std.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_std_unsigned-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/numeric_std_unsigned.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/std_logic_1164-body.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/std_logic_1164.vhdl (100%) rename resources/dide-lsp/static/vhdl_std_lib/{ieee_2008 => ieee}/std_logic_textio.vhdl (100%) create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std_2008/env.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std_2008/standard.vhd create mode 100644 resources/dide-lsp/static/vhdl_std_lib/std_2008/textio.vhd diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_float_types.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_float_types.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_float_types.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_generic_pkg-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_generic_pkg-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_generic_pkg.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_generic_pkg.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_generic_pkg.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_pkg.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/fixed_pkg.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/fixed_pkg.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/float_generic_pkg-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/float_generic_pkg-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/float_generic_pkg.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_generic_pkg.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/float_generic_pkg.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/float_pkg.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/float_pkg.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/float_pkg.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/math_complex-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/math_complex-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/math_complex.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_complex.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/math_complex.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/math_real-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/math_real-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/math_real.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/math_real.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/math_real.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit_unsigned-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit_unsigned-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit_unsigned.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_bit_unsigned.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_bit_unsigned.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std_unsigned-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std_unsigned-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std_unsigned.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/numeric_std_unsigned.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/numeric_std_unsigned.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_1164-body.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164-body.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_1164-body.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_1164.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_1164.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_1164.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl b/resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_textio.vhdl similarity index 100% rename from resources/dide-lsp/static/vhdl_std_lib/ieee_2008/std_logic_textio.vhdl rename to resources/dide-lsp/static/vhdl_std_lib/ieee/std_logic_textio.vhdl diff --git a/resources/dide-lsp/static/vhdl_std_lib/std_2008/env.vhd b/resources/dide-lsp/static/vhdl_std_lib/std_2008/env.vhd new file mode 100644 index 0000000..2fe793e --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std_2008/env.vhd @@ -0,0 +1,38 @@ +package ENV is + procedure STOP (STATUS: INTEGER); + procedure STOP; + procedure FINISH (STATUS: INTEGER); + procedure FINISH; + function RESOLUTION_LIMIT return DELAY_LENGTH; + attribute foreign of ENV: package is "NO C code generation"; + attribute foreign of STOP[INTEGER] : procedure is "vhdl_stop"; + attribute foreign of FINISH[INTEGER] : procedure is "vhdl_finish"; + attribute foreign of RESOLUTION_LIMIT : function is "vhdl_resolution_limit"; +end package ENV; + +package body ENV is + + procedure STOP (STATUS: INTEGER) is + begin + end; + + procedure STOP is + begin + stop(0); + end; + + procedure FINISH (STATUS: INTEGER) is + begin + end; + + procedure FINISH is + begin + finish(0); + end; + + function RESOLUTION_LIMIT return DELAY_LENGTH is + begin + return 0 ns; + end; + +end package body ENV; diff --git a/resources/dide-lsp/static/vhdl_std_lib/std_2008/standard.vhd b/resources/dide-lsp/static/vhdl_std_lib/std_2008/standard.vhd new file mode 100644 index 0000000..5804853 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std_2008/standard.vhd @@ -0,0 +1,106 @@ +-- $Id: standard.vhd,v 1.1 2003/01/17 19:41:54 kumar Exp $ +package STANDARD is + + -- predefined enumeration types: + + type BOOLEAN is (FALSE, TRUE); + + type BIT is ('0', '1'); + + type CHARACTER is ( + NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, + BS, HT, LF, VT, FF, CR, SO, SI, + DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, + CAN, EM, SUB, ESC, FSP, GSP, RSP, USP, + + ' ', '!', '"', '#', '$', '%', '&', ''', + '(', ')', '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', ':', ';', '<', '=', '>', '?', + + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', + 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', + 'X', 'Y', 'Z', '[', '\', ']', '^', '_', + + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', + 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', + 'x', 'y', 'z', '{', '|', '}', '~', DEL, + + C128, C129, C130, C131, C132, C133, C134, C135, + C136, C137, C138, C139, C140, C141, C142, C143, + C144, C145, C146, C147, C148, C149, C150, C151, + C152, C153, C154, C155, C156, C157, C158, C159, + + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '' ); + + type SEVERITY_LEVEL is (NOTE, WARNING, ERROR, FAILURE); + + type FILE_OPEN_KIND is (READ_MODE, WRITE_MODE, APPEND_MODE); + + type FILE_OPEN_STATUS is (OPEN_OK, STATUS_ERROR, NAME_ERROR, MODE_ERROR); + + -- predefined numeric types: + + type INTEGER is range -2147483648 to 2147483647; + + type REAL is range -1.7014111e+308 to 1.7014111e+308; + + -- predefined type TIME: + + type TIME is range -2147483647 to 2147483647 + -- this declaration is for the convenience of the parser. Internally + -- the parser treats it as if the range were: + -- range -9223372036854775807 to 9223372036854775807 + units + fs; -- femtosecond + ps = 1000 fs; -- picosecond + ns = 1000 ps; -- nanosecond + us = 1000 ns; -- microsecond + ms = 1000 us; -- millisecond + sec = 1000 ms; -- second + min = 60 sec; -- minute + hr = 60 min; -- hour + end units; + + subtype DELAY_LENGTH is TIME range 0 fs to TIME'HIGH; + + -- function that returns the current simulation time: + + function NOW return DELAY_LENGTH; + + -- predefined numeric subtypes: + + subtype NATURAL is INTEGER range 0 to INTEGER'HIGH; + + subtype POSITIVE is INTEGER range 1 to INTEGER'HIGH; + + -- predefined array types: + + type STRING is array (POSITIVE range <>) of CHARACTER; + + type BIT_VECTOR is array (NATURAL range <>) of BIT; + + attribute FOREIGN: STRING; + + + --VHDL 2008 + type boolean_vector is array (natural range <>) of boolean; + type integer_vector is array (natural range <>) of integer; + type real_vector is array (natural range <>) of real; + type time_vector is array (natural range <>) of time; + + +end STANDARD; diff --git a/resources/dide-lsp/static/vhdl_std_lib/std_2008/textio.vhd b/resources/dide-lsp/static/vhdl_std_lib/std_2008/textio.vhd new file mode 100644 index 0000000..5a9c260 --- /dev/null +++ b/resources/dide-lsp/static/vhdl_std_lib/std_2008/textio.vhd @@ -0,0 +1,532 @@ + +--------------------------------------------------------------------------- +--------------------------------------------------------------------------- +-- This is Package TEXTIO as defined in Chapter 16.4 of the +-- IEEE Standard VHDL Language Reference Manual (IEEE Std. 1076-2008) +---------------------------------------------------------------------------- +-- +-- Verific : Added body/pragma's to handle file interfacing functions for synthesis +-- +--------------------------------------------------------------------------- +--------------------------------------------------------------------------- + +package TEXTIO is + + -- Type definitions for Text I/O + + type LINE is access string; + type TEXT is file of string; + type SIDE is (right, left); + subtype WIDTH is natural; + + function JUSTIFY(VALUE: STRING; + JUSTIFIED: SIDE := RIGHT; + FIELD: WIDTH := 0) return STRING; + + -- Standard Text Files + + file input : TEXT open READ_MODE is "STD_INPUT"; + file output : TEXT open WRITE_MODE is "STD_OUTPUT"; + + -- Input Routines for Standard Types + + procedure READLINE(file F: TEXT; L: out LINE); + + procedure READ(L:inout LINE; VALUE: out bit; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out bit); + + procedure READ(L:inout LINE; VALUE: out bit_vector; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out bit_vector); + + procedure READ(L:inout LINE; VALUE: out BOOLEAN; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out BOOLEAN); + + procedure READ(L:inout LINE; VALUE: out character; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out character); + + procedure READ(L:inout LINE; VALUE: out integer; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out integer); + + procedure READ(L:inout LINE; VALUE: out real; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out real); + + procedure READ(L:inout LINE; VALUE: out string; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out string); + + procedure READ(L:inout LINE; VALUE: out time; GOOD : out BOOLEAN); + procedure READ(L:inout LINE; VALUE: out time); + + procedure SREAD (L: inout LINE; VALUE: out STRING; STRLEN: out NATURAL); + alias STRING_READ is SREAD [LINE, STRING, NATURAL]; + + alias BREAD is READ [LINE, BIT_VECTOR, BOOLEAN]; + alias BREAD is READ [LINE, BIT_VECTOR]; + + alias BINARY_READ is READ [LINE, BIT_VECTOR, BOOLEAN]; + alias BINARY_READ is READ [LINE, BIT_VECTOR]; + + procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN); + procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR); + + alias OCTAL_READ is OREAD [LINE, BIT_VECTOR, BOOLEAN]; + alias OCTAL_READ is OREAD [LINE, BIT_VECTOR]; + + procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN); + procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR); + + alias HEX_READ is HREAD [LINE, BIT_VECTOR, BOOLEAN]; + alias HEX_READ is HREAD [LINE, BIT_VECTOR]; + + -- Output Routines for Standard Types + + procedure WRITELINE(file F : TEXT; L : inout LINE); + + procedure tee(file F: text; L: inout line); + + procedure WRITE(L : inout LINE; VALUE : in bit; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in bit_vector; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in BOOLEAN; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in character; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in integer; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in real; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0; + DIGITS: in NATURAL := 0); + + procedure WRITE(L : inout LINE; VALUE : in string; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0); + + procedure WRITE(L : inout LINE; VALUE : in time; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0; + UNIT: in TIME := ns); + + alias SWRITE is WRITE [LINE, STRING, SIDE, WIDTH]; + alias STRING_WRITE is WRITE [LINE, STRING, SIDE, WIDTH]; + + alias BWRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + alias BINARY_WRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + + procedure OWRITE (L: inout LINE; VALUE: in BIT_VECTOR; + JUSTIFIED: in SIDE := RIGHT; + FIELD: in WIDTH := 0); + + alias OCTAL_WRITE is OWRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + + procedure HWRITE (L: inout LINE; VALUE: in BIT_VECTOR; + JUSTIFIED: in SIDE := RIGHT; + FIELD: in WIDTH := 0); + + alias HEX_WRITE is HWRITE [LINE, BIT_VECTOR, SIDE, WIDTH]; + + -- File Position Predicates + + -- function ENDLINE(variable L : in LINE) return BOOLEAN; + + -- Function ENDLINE as declared cannot be legal VHDL, and + -- the entire function was deleted from the definition + -- by the Issues Screening and Analysis Committee (ISAC), + -- a subcommittee of the VHDL Analysis and Standardization + -- Group (VASG) on 10 November, 1988. See "The Sense of + -- the VASG", October, 1989, VHDL Issue Number 0032. + + -- function ENDFILE (file f: TEXT) return BOOLEAN ; + + ------------------------------------------------------------------- + -- Declare the textio directive attribute; to be set on + -- basic functions that have a 'builtin' implementation for elaboration + ------------------------------------------------------------------- + ATTRIBUTE synthesis_return : string ; + + + attribute foreign of TEXTIO: package is "NO C code generation"; + + -- File position Predicates predicate + + attribute foreign of readline:procedure is "std_textio_readline"; + attribute foreign of read[LINE,BIT,BOOLEAN] :procedure is "std_textio_read1"; + attribute foreign of read[LINE,BIT]:procedure is "std_textio_read2"; + attribute foreign of read[LINE,BIT_VECTOR, BOOLEAN]:procedure is "std_textio_read3"; + attribute foreign of read[LINE,BIT_VECTOR]:procedure is "std_textio_read4"; + attribute foreign of read[LINE,BOOLEAN, BOOLEAN]:procedure is "std_textio_read5"; + attribute foreign of read[LINE,BOOLEAN]:procedure is "std_textio_read6"; + attribute foreign of read[LINE,CHARACTER, BOOLEAN]:procedure is "std_textio_read7"; + attribute foreign of read[LINE,CHARACTER]:procedure is "std_textio_read8"; + attribute foreign of read[LINE,INTEGER, BOOLEAN]:procedure is "std_textio_read9"; + attribute foreign of read[LINE,INTEGER]:procedure is "std_textio_read10"; + attribute foreign of read[LINE,REAL, BOOLEAN]:procedure is "std_textio_read11"; + attribute foreign of read[LINE,REAL]:procedure is "std_textio_read12"; + attribute foreign of read[LINE,STRING, BOOLEAN]:procedure is "std_textio_read13"; + attribute foreign of read[LINE,STRING]:procedure is "std_textio_read14"; + attribute foreign of read[LINE,TIME, BOOLEAN]:procedure is "std_textio_read15"; + attribute foreign of read[LINE,TIME]:procedure is "std_textio_read16"; + + attribute foreign of writeline:procedure is "std_textio_writeline"; + attribute foreign of tee:procedure is "std_textio_tee"; + attribute foreign of write[LINE, BIT, SIDE, WIDTH]:procedure is "std_textio_write1"; + attribute foreign of write[LINE, BIT_VECTOR, SIDE, WIDTH]:procedure is "std_textio_write2"; + attribute foreign of write[LINE, BOOLEAN, SIDE, WIDTH]:procedure is "std_textio_write3"; + attribute foreign of write[LINE, CHARACTER, SIDE, WIDTH]:procedure is "std_textio_write4"; + attribute foreign of write[LINE, INTEGER, SIDE, WIDTH]:procedure is "std_textio_write5"; + attribute foreign of write[LINE, REAL, SIDE, WIDTH, NATURAL]:procedure is "std_textio_write6"; + attribute foreign of write[LINE, STRING, SIDE, WIDTH]:procedure is "std_textio_write7"; + attribute foreign of write[LINE, TIME, SIDE, WIDTH, TIME]:procedure is "std_textio_write8"; + + +end; + +package body TEXTIO is + -- The subprograms declared in the TEXTIO package are + -- ignored for synthesis. + -- Assertion warnings will be generated when these + -- functions are called unconditionally. + + function JUSTIFY(VALUE: STRING; + JUSTIFIED: SIDE := RIGHT; + FIELD: WIDTH := 0) return STRING is + begin + return VALUE ; -- do nothing for now + end JUSTIFY ; + + + procedure READLINE(file f: TEXT; L: out LINE) is + ATTRIBUTE synthesis_return OF L:variable IS "readline" ; + -- verific synthesis readline + begin + assert (FALSE) + report "Procedure call to READLINE ignored for synthesis" + severity WARNING ; + end READLINE ; + + procedure READ(L:inout LINE; VALUE: out bit; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out bit) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out bit_vector; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out bit_vector) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out BOOLEAN; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out character; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out character) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out integer; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out integer) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out real; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out real) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out string; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out string) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + + procedure READ(L:inout LINE; VALUE: out time; GOOD : out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure READ(L:inout LINE; VALUE: out time) is + ATTRIBUTE synthesis_return OF L:variable IS "read" ; + -- verific synthesis read + begin + assert (FALSE) + report "Procedure call to READ ignored for synthesis" + severity WARNING ; + end READ ; + procedure OREAD(L:inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "oread" ; + -- verific synthesis oread + begin + assert (FALSE) + report "Procedure call to OREAD ignored for synthesis" + severity WARNING ; + end OREAD ; + procedure OREAD(L:inout LINE; VALUE: out BIT_VECTOR) is + ATTRIBUTE synthesis_return OF L:variable IS "oread" ; + -- verific synthesis oread + begin + assert (FALSE) + report "Procedure call to OREAD ignored for synthesis" + severity WARNING ; + end OREAD ; + procedure HREAD(L:inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN) is + ATTRIBUTE synthesis_return OF L:variable IS "hread" ; + -- verific synthesis hread + begin + assert (FALSE) + report "Procedure call to HREAD ignored for synthesis" + severity WARNING ; + end HREAD ; + procedure HREAD(L:inout LINE; VALUE: out BIT_VECTOR) is + ATTRIBUTE synthesis_return OF L:variable IS "hread" ; + -- verific synthesis hread + begin + assert (FALSE) + report "Procedure call to HREAD ignored for synthesis" + severity WARNING ; + end HREAD ; + procedure SREAD(L:inout LINE; VALUE: out STRING; STRLEN: out NATURAL) is + ATTRIBUTE synthesis_return OF L:variable IS "sread" ; + -- verific synthesis sread + begin + assert (FALSE) + report "Procedure call to SREAD ignored for synthesis" + severity WARNING ; + end SREAD ; + + + procedure WRITELINE(file F : TEXT; L : inout LINE) is + ATTRIBUTE synthesis_return OF L:variable IS "writeline" ; + -- verific synthesis writeline + begin + assert (FALSE) + report "Procedure call to WRITELINE ignored for synthesis" + severity WARNING ; + end WRITELINE ; + + procedure tee(file F: text; L: inout line) is + ATTRIBUTE synthesis_return OF L:variable IS "tee" ; + -- verific synthesis writeline + begin + assert (FALSE) + report "Procedure call to TEE ignored for synthesis" + severity WARNING ; + end tee; + + procedure WRITE(L : inout LINE; VALUE : in bit; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in bit_vector; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in BOOLEAN; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in character; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in integer; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in real; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0; + DIGITS: in NATURAL := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in string; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure WRITE(L : inout LINE; VALUE : in time; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0; + UNIT: in TIME := ns) is + ATTRIBUTE synthesis_return OF L:variable IS "write" ; + -- verific synthesis write + begin + assert (FALSE) + report "Procedure call to WRITE ignored for synthesis" + severity WARNING ; + end WRITE ; + + procedure OWRITE(L : inout LINE; VALUE : in BIT_VECTOR; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "owrite" ; + -- verific synthesis owrite + begin + assert (FALSE) + report "Procedure call to OWRITE ignored for synthesis" + severity WARNING ; + end OWRITE ; + + procedure HWRITE(L : inout LINE; VALUE : in BIT_VECTOR; + JUSTIFIED: in SIDE := right; + FIELD: in WIDTH := 0) is + ATTRIBUTE synthesis_return OF L:variable IS "hwrite" ; + -- verific synthesis hwrite + begin + assert (FALSE) + report "Procedure call to HWRITE ignored for synthesis" + severity WARNING ; + end HWRITE ; + +-- function ENDFILE (f: in TEXT) return BOOLEAN is +-- begin +-- assert (FALSE) +-- report "Function call to ENDFILE returns TRUE for synthesis" +-- severity WARNING ; +-- return TRUE ; +-- end ENDFILE ; +end ; + diff --git a/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml b/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml index 61d9957..b5c0ac9 100644 --- a/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml +++ b/resources/dide-lsp/static/vhdl_std_lib/vhdl_ls.toml @@ -3,5 +3,5 @@ std.files = ['std/*.vhd'] std.is_third_party = true -ieee.files = ['ieee_2008/*.vhdl', 'synopsys/*.vhd', 'vital2000/*.vhdl', 'unifast/primitive/*.vhd', 'unifast/secureip/*.vhd', 'unimacro/*.vhd'] -ieee.is_third_party = true \ No newline at end of file +ieee.files = ['ieee/*.vhdl', 'synopsys/*.vhd', 'vital2000/*.vhdl', 'unifast/primitive/*.vhd', 'unifast/secureip/*.vhd', 'unimacro/*.vhd'] +ieee.is_third_party = true From 11b53495827e230b376792d3b49f585fb43f74a0 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Fri, 6 Dec 2024 23:23:50 +0800 Subject: [PATCH 016/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=E5=99=A8=E6=9E=B6=E6=9E=84=E9=87=8D=E6=96=B0=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 10 +- l10n/bundle.l10n.en.json | 10 +- l10n/bundle.l10n.ja.json | 10 +- l10n/bundle.l10n.zh-cn.json | 10 +- l10n/bundle.l10n.zh-tw.json | 10 +- package.json | 24 ++- package.nls.de.json | 6 +- package.nls.ja.json | 6 +- package.nls.json | 6 +- package.nls.zh-cn.json | 6 +- package.nls.zh-tw.json | 6 +- src/function/lsp-client/config.ts | 106 +++++++++++ src/function/lsp/linter/command.ts | 271 +++++++++++++++++------------ src/function/sim/simulate.ts | 2 +- src/function/treeView/tree.ts | 2 +- src/global/lsp.ts | 13 ++ 16 files changed, 364 insertions(+), 134 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 01cf885..b47a6fd 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -81,5 +81,13 @@ "error.simulation.error-happen-run-command": "Fehler bei der Icarus-Simulation:", "info.command.structure.transform-xilinx-to-standard": "Konvertiere Xilinx-Projektstruktur in Digital IDE-Standardstruktur", "error.command.structure.not-valid-xilinx-project": "Das aktuelle Projekt ist kein gültiges Xilinx-Projekt, die Konvertierung ist fehlgeschlagen!", - "info.common.codedoc": "Code-Dokumentation" + "info.common.codedoc": "Code-Dokumentation", + "info.linter.pick-for-verilog": "Wählen Sie einen Diagnostiker für Verilog-Code aus", + "info.command.loading": "Wird geladen", + "info.linter.pick-for-system-verilog": "Wählen Sie einen Diagnostiker für System Verilog-Code", + "info.linter.pick-for-vhdl": "Wählen Sie einen Diagnostiker für VHDL-Code aus", + "info.linter.vivado.xvlog-name": "Vivado-Diagnosetools", + "info.common.some-is-ready": "{0} ist bereit", + "info.common.not-available": "{0} ist derzeit nicht verfügbar", + "info.common.linter-name": "Diagnosetools" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 3284640..134401d 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -81,5 +81,13 @@ "error.simulation.error-happen-run-command": "Error during Icarus simulation:", "info.command.structure.transform-xilinx-to-standard": "Converting Xilinx project structure to Digital IDE standard structure", "error.command.structure.not-valid-xilinx-project": "The current project is not a valid Xilinx project, the conversion failed!", - "info.common.codedoc": "Code Documentation" + "info.common.codedoc": "Code Documentation", + "info.linter.pick-for-verilog": "Select a diagnostician for Verilog code", + "info.command.loading": "Loading", + "info.linter.pick-for-system-verilog": "Select a diagnostician for System Verilog code", + "info.linter.pick-for-vhdl": "Select a diagnostician for VHDL code", + "info.linter.vivado.xvlog-name": "Vivado diagnostic tools", + "info.common.some-is-ready": "{0} is ready", + "info.common.not-available": "{0} is currently unavailable", + "info.common.linter-name": "Diagnostic tools" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 1a28725..38f6811 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -81,5 +81,13 @@ "error.simulation.error-happen-run-command": "Icarusシミュレーション中にエラーが発生しました:", "info.command.structure.transform-xilinx-to-standard": "Xilinx プロジェクト構造を Digital IDE 標準構造に変換しています", "error.command.structure.not-valid-xilinx-project": "現在のプロジェクトは有効なXilinxプロジェクトではありません、変換に失敗しました!", - "info.common.codedoc": "コードドキュメント" + "info.common.codedoc": "コードドキュメント", + "info.linter.pick-for-verilog": "Verilogコードの診断機能を選択してください", + "info.command.loading": "読み込み中", + "info.linter.pick-for-system-verilog": "System Verilog コードの診断機能を選択", + "info.linter.pick-for-vhdl": "VHDLコードの診断機能を選択してください", + "info.linter.vivado.xvlog-name": "Vivado診断ツール", + "info.common.some-is-ready": "{0} は準備ができています", + "info.common.not-available": "{0} は現在使用できません", + "info.common.linter-name": "診断ツール" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 78a78be..9aa4855 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -81,5 +81,13 @@ "error.simulation.error-happen-run-command": "Icarus 仿真时,出现错误:", "info.command.structure.transform-xilinx-to-standard": "正在将 Xilinx 项目结构转变为 Digital IDE 标准结构", "error.command.structure.not-valid-xilinx-project": "当前项目不是一个有效的 Xilinx 项目,转换失败!", - "info.common.codedoc": "代码文档" + "info.common.codedoc": "代码文档", + "info.linter.pick-for-verilog": "为 Verilog 代码选择一个诊断器", + "info.command.loading": "加载中", + "info.linter.pick-for-system-verilog": "为 System Verilog 代码选择一个诊断器", + "info.linter.pick-for-vhdl": "为 VHDL 代码选择一个诊断器", + "info.linter.vivado.xvlog-name": "vivado 诊断工具", + "info.common.some-is-ready": "{0} 已经准备就绪", + "info.common.not-available": "{0} 目前不可用", + "info.common.linter-name": "诊断工具" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 8463d8e..d642891 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -81,5 +81,13 @@ "error.simulation.error-happen-run-command": "Icarus 模擬時,出現錯誤:", "info.command.structure.transform-xilinx-to-standard": "正在將 Xilinx 專案結構轉變為 Digital IDE 標準結構", "error.command.structure.not-valid-xilinx-project": "當前專案不是一個有效的 Xilinx 專案,轉換失敗!", - "info.common.codedoc": "程式碼文件" + "info.common.codedoc": "程式碼文件", + "info.linter.pick-for-verilog": "為 Verilog 程式碼選擇一個診斷器", + "info.command.loading": "載入中", + "info.linter.pick-for-system-verilog": "為 System Verilog 程式碼選擇一個診斷器", + "info.linter.pick-for-vhdl": "為VHDL代碼選擇一個診斷器", + "info.linter.vivado.xvlog-name": "Vivado診斷工具", + "info.common.some-is-ready": "{0} 已經準備就緒", + "info.common.not-available": "{0} 目前無法使用", + "info.common.linter-name": "診斷工具" } \ No newline at end of file diff --git a/package.json b/package.json index 99be370..c25fbb6 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,16 @@ "default": "C:/modeltech64_10.4/win64", "description": "%digital-ide.prj.modelsim.install.path.title%" }, + "digital-ide.prj.verible.install.path": { + "type": "string", + "default": "", + "description": "%digital-ide.prj.verible.install.path.title%" + }, + "digital-ide.prj.verilator.install.path": { + "type": "string", + "default": "", + "description": "%digital-ide.prj.verilator.install.path.title%" + }, "digital-ide.prj.xilinx.IP.repo.path": { "type": "string", "default": "", @@ -150,9 +160,9 @@ "default": "

          ", "description": "%digital-ide.function.doc.pdf.footerTemplate.title%" }, - "digital-ide.function.simulate.icarus.installPath": { + "digital-ide.prj.iverilog.install.path": { "type": "string", - "description": "%digital-ide.function.simulate.icarus.installPath.title%" + "description": "%digital-ide.prj.iverilog.install.path.title%" }, "digital-ide.function.simulate.simulationHome": { "type": "string", @@ -228,14 +238,16 @@ "digital-ide.function.lsp.linter.vlog.diagnostor": { "type": "string", "enumDescriptions": [ - "use diagnostor in vivado", - "use diagnostor in modelsim", - "use our buildin diagnostor" + "vivado", + "modelsim", + "verilator", + "verible" ], "enum": [ "vivado", "modelsim", - "default" + "verilator", + "verible" ], "default": "default", "description": "%digital-ide.function.lsp.linter.vlog.diagnostor.title%" diff --git a/package.nls.de.json b/package.nls.de.json index 7cc7a5a..fca8684 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -71,7 +71,7 @@ "digital-ide.function.doc.pdf.margin.left.title": "top margin of exported pdf, unit cm", "digital-ide.function.doc.pdf.headerTemplate.title": "html template of header, if displayHeaderFooter is set to false, this setting will be ignored", "digital-ide.function.doc.pdf.footerTemplate.title": "html template of footer, if displayHeaderFooter is set to false, this setting will be ignored", - "digital-ide.function.simulate.icarus.installPath.title": "Path of install path of iverilog components, if set to \"\", then iverilog and vvp in environment will be used for simulation. Otherwise, ones that in the install path will be used.", + "digital-ide.prj.iverilog.install.path.title": "Path of install path of iverilog components, if set to \"\", then iverilog and vvp in environment will be used for simulation. Otherwise, ones that in the install path will be used.", "digital-ide.function.simulate.simulationHome.title": "Path of simulation folder, .vvp and other file during simulation will be generated here", "digital-ide.function.simulate.gtkwavePath.title": "Absolute path of launch path of gtkwave software", "digital-ide.function.simulate.xilinxLibPath.title": "Path of Xilinx library for simulation", @@ -92,5 +92,7 @@ "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "auto declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", "digital-ide.function.lsp.file-parse-maxsize.title": "", - "digital-ide.structure.from-xilinx-to-standard.title": "Konvertieren Sie Xilinx-Projekte in die Digital IDE-Standardprojektstruktur" + "digital-ide.structure.from-xilinx-to-standard.title": "Konvertieren Sie Xilinx-Projekte in die Digital IDE-Standardprojektstruktur", + "digital-ide.prj.verible.install.path.title": "", + "digital-ide.prj.verilator.install.path.title": "" } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index 9c43731..e2b1ba1 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -71,7 +71,7 @@ "digital-ide.function.doc.pdf.margin.left.title": "エクスポートされた PDF の左余白、単位 cm", "digital-ide.function.doc.pdf.headerTemplate.title": "ヘッダーの HTML テンプレート、displayHeaderFooter が false に設定されている場合、この設定は無視されます", "digital-ide.function.doc.pdf.footerTemplate.title": "フッターの HTML テンプレート、displayHeaderFooter が false に設定されている場合、この設定は無視されます", - "digital-ide.function.simulate.icarus.installPath.title": "Icarus Verilog コンポーネントのインストールパス、空に設定されている場合、環境の iverilog と vvp がシミュレーションに使用されます。それ以外の場合、インストールパスのコンポーネントが使用されます。", + "digital-ide.prj.iverilog.install.path.title": "Icarus Verilog コンポーネントのインストールパス、空に設定されている場合、環境の iverilog と vvp がシミュレーションに使用されます。それ以外の場合、インストールパスのコンポーネントが使用されます。", "digital-ide.function.simulate.simulationHome.title": "シミュレーションフォルダのパス、シミュレーション中の .vvp およびその他のファイルがここに生成されます", "digital-ide.function.simulate.gtkwavePath.title": "gtkwave ソフトウェアの起動パスの絶対パス", "digital-ide.function.simulate.xilinxLibPath.title": "シミュレーション用の Xilinx ライブラリのパス", @@ -92,5 +92,7 @@ "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "インスタンス化が発生したときにスコープ内で出力タイプのネットを自動的に宣言します。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting のトリガー文字", "digital-ide.function.lsp.file-parse-maxsize.title": "", - "digital-ide.structure.from-xilinx-to-standard.title": "Xilinx プロジェクトを Digital IDE 標準プロジェクト構造に変換する" + "digital-ide.structure.from-xilinx-to-standard.title": "Xilinx プロジェクトを Digital IDE 標準プロジェクト構造に変換する", + "digital-ide.prj.verible.install.path.title": "", + "digital-ide.prj.verilator.install.path.title": "" } \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 0d03cda..966de39 100644 --- a/package.nls.json +++ b/package.nls.json @@ -71,7 +71,7 @@ "digital-ide.function.doc.pdf.margin.left.title": "Left margin of the exported PDF, unit cm", "digital-ide.function.doc.pdf.headerTemplate.title": "HTML template of the header, if displayHeaderFooter is set to false, this setting will be ignored", "digital-ide.function.doc.pdf.footerTemplate.title": "HTML template of the footer, if displayHeaderFooter is set to false, this setting will be ignored", - "digital-ide.function.simulate.icarus.installPath.title": "Installation path of Icarus Verilog components, if set to empty, the iverilog and vvp in the environment will be used for simulation. Otherwise, the components in the installation path will be used.", + "digital-ide.prj.iverilog.install.path.title": "Installation path of Icarus Verilog components, if set to empty, the iverilog and vvp in the environment will be used for simulation. Otherwise, the components in the installation path will be used.", "digital-ide.function.simulate.simulationHome.title": "Path of the simulation folder, .vvp and other files during simulation will be generated here", "digital-ide.function.simulate.gtkwavePath.title": "Absolute path of the launch path of the gtkwave software", "digital-ide.function.simulate.xilinxLibPath.title": "Path of the Xilinx library for simulation", @@ -92,5 +92,7 @@ "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "Automatically declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", "digital-ide.function.lsp.file-parse-maxsize.title": "", - "digital-ide.structure.from-xilinx-to-standard.title": "Convert Xilinx projects to Digital IDE standard project structure" + "digital-ide.structure.from-xilinx-to-standard.title": "Convert Xilinx projects to Digital IDE standard project structure", + "digital-ide.prj.verible.install.path.title": "", + "digital-ide.prj.verilator.install.path.title": "" } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 1427b24..3ef0456 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -71,7 +71,7 @@ "digital-ide.function.doc.pdf.margin.left.title": "导出的 PDF 的左边距,单位 cm", "digital-ide.function.doc.pdf.headerTemplate.title": "页眉的 HTML 模板,如果 displayHeaderFooter 设置为 false,则此设置将被忽略", "digital-ide.function.doc.pdf.footerTemplate.title": "页脚的 HTML 模板,如果 displayHeaderFooter 设置为 false,则此设置将被忽略", - "digital-ide.function.simulate.icarus.installPath.title": "Icarus Verilog 组件的安装路径,如果设置为空,则使用环境中的 iverilog 和 vvp 进行仿真。否则,将使用安装路径中的组件。", + "digital-ide.prj.iverilog.install.path.title": "Icarus Verilog 组件的安装路径,如果设置为空,则使用环境中的 iverilog 和 vvp 进行仿真。否则,将使用安装路径中的组件。", "digital-ide.function.simulate.simulationHome.title": "仿真文件夹路径,仿真期间的 .vvp 和其他文件将生成在此处", "digital-ide.function.simulate.gtkwavePath.title": "gtkwave 软件的启动路径的绝对路径", "digital-ide.function.simulate.xilinxLibPath.title": "仿真用 Xilinx 库的路径", @@ -92,5 +92,7 @@ "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在实例化发生时自动在作用域中声明输出类型的网络。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的触发字符", "digital-ide.function.lsp.file-parse-maxsize.title": "最大解析的文件阈值,大小超出这个值的文件不会被解析。单位为 MB,必须是整数。默认为 1MB", - "digital-ide.structure.from-xilinx-to-standard.title": "将 Xilinx 项目转换成 Digital IDE 标准项目结构" + "digital-ide.structure.from-xilinx-to-standard.title": "将 Xilinx 项目转换成 Digital IDE 标准项目结构", + "digital-ide.prj.verible.install.path.title": "", + "digital-ide.prj.verilator.install.path.title": "" } \ No newline at end of file diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index d52eb33..e26f5a1 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -71,7 +71,7 @@ "digital-ide.function.doc.pdf.margin.left.title": "導出的 PDF 的左邊距,單位 cm", "digital-ide.function.doc.pdf.headerTemplate.title": "頁眉的 HTML 模板,如果 displayHeaderFooter 設置為 false,則此設置將被忽略", "digital-ide.function.doc.pdf.footerTemplate.title": "頁腳的 HTML 模板,如果 displayHeaderFooter 設置為 false,則此設置將被忽略", - "digital-ide.function.simulate.icarus.installPath.title": "Icarus Verilog 組件的安裝路徑,如果設置為空,則使用環境中的 iverilog 和 vvp 進行仿真。否則,將使用安裝路徑中的組件。", + "digital-ide.prj.iverilog.install.path.title": "Icarus Verilog 組件的安裝路徑,如果設置為空,則使用環境中的 iverilog 和 vvp 進行仿真。否則,將使用安裝路徑中的組件。", "digital-ide.function.simulate.simulationHome.title": "仿真文件夾路徑,仿真期間的 .vvp 和其他文件將生成在此處", "digital-ide.function.simulate.gtkwavePath.title": "gtkwave 軟件的啟動路徑的絕對路徑", "digital-ide.function.simulate.xilinxLibPath.title": "仿真用 Xilinx 庫的路徑", @@ -92,5 +92,7 @@ "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在實例化發生時自動在作用域中聲明輸出類型的網絡。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的觸發字符", "digital-ide.function.lsp.file-parse-maxsize.title": "", - "digital-ide.structure.from-xilinx-to-standard.title": "將 Xilinx 專案轉換成 Digital IDE 標準專案結構" + "digital-ide.structure.from-xilinx-to-standard.title": "將 Xilinx 專案轉換成 Digital IDE 標準專案結構", + "digital-ide.prj.verible.install.path.title": "", + "digital-ide.prj.verilator.install.path.title": "" } \ No newline at end of file diff --git a/src/function/lsp-client/config.ts b/src/function/lsp-client/config.ts index ce1f028..0925374 100644 --- a/src/function/lsp-client/config.ts +++ b/src/function/lsp-client/config.ts @@ -1,6 +1,8 @@ import * as vscode from 'vscode'; import { LanguageClient } from 'vscode-languageclient/node'; import { UpdateConfigurationType } from '../../global/lsp'; +import * as linterCommand from '../../function/lsp/linter/command'; +import { HdlLangID } from '../../global/enum'; interface ConfigItem { name: string, @@ -10,6 +12,7 @@ interface ConfigItem { type CommonValue = string | boolean | number; export function registerConfigurationUpdater(client: LanguageClient, packageJson: any) { + // 常规 lsp 相关的配置 const lspConfigures: ConfigItem[] = []; const properties = packageJson?.contributes?.configuration?.properties; const dideConfig = vscode.workspace.getConfiguration('digital-ide'); @@ -21,12 +24,34 @@ export function registerConfigurationUpdater(client: LanguageClient, packageJson } } + const supportLinters: linterCommand.SupportLinterName[] = ['iverilog', 'vivado', 'modelsim', 'verible', 'verilator']; + // 初始化,配置参数全部同步到后端 client.sendRequest(UpdateConfigurationType, { configs: lspConfigures, configType: 'lsp' }); + // 初始化,配置全部 linter 到后端 + updateLinterConfiguration( + client, + linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', + getCurrentLinterName(HdlLangID.Verilog) + ); + + updateLinterConfiguration( + client, + linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', + getCurrentLinterName(HdlLangID.SystemVerilog) + ); + + updateLinterConfiguration( + client, + linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', + getCurrentLinterName(HdlLangID.Vhdl) + ); + + // 监听配置文件的变化,变化时需要做出的行为 vscode.workspace.onDidChangeConfiguration(async event => { const changeConfigs: ConfigItem[] = []; const dideConfig = vscode.workspace.getConfiguration(''); @@ -43,5 +68,86 @@ export function registerConfigurationUpdater(client: LanguageClient, packageJson configType: 'lsp' }); } + + const currentLinterConfiguration = { + vlog: getCurrentLinterName(HdlLangID.Verilog), + svlog: getCurrentLinterName(HdlLangID.SystemVerilog), + vhdl: getCurrentLinterName(HdlLangID.Vhdl) + }; + + // 对于诊断器路径的修改 + for (const linterName of supportLinters) { + const configuratioName = linterCommand.LinterInstallPathConfigurationNames[linterName]; + if (event.affectsConfiguration(configuratioName)) { + // 查看谁使用了这个诊断器,更新它的基本信息 + if (linterName === currentLinterConfiguration.vlog) { + await updateLinterConfiguration( + client, + linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', + linterName + ); + } + + if (linterName === currentLinterConfiguration.svlog) { + await updateLinterConfiguration( + client, + linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', + linterName + ); + } + + if (linterName === currentLinterConfiguration.vhdl) { + await updateLinterConfiguration( + client, + linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', + linterName + ); + } + } + } + + }); +} + +function getCurrentLinterName(langID: HdlLangID): linterCommand.SupportLinterName { + switch (langID) { + case HdlLangID.Verilog: + return vscode.workspace.getConfiguration().get( + linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', + 'vivado' + ); + + case HdlLangID.Vhdl: + return vscode.workspace.getConfiguration().get( + linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', + 'vivado' + ); + + case HdlLangID.SystemVerilog: + return vscode.workspace.getConfiguration().get( + linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', + 'vivado' + ); + + default: + break; + } + return 'vivado'; +} + +async function updateLinterConfiguration( + client: LanguageClient, + configurationName: string, + linterName: linterCommand.SupportLinterName +) { + const configuratioName = linterCommand.LinterInstallPathConfigurationNames[linterName]; + const linterPath = vscode.workspace.getConfiguration().get(configuratioName, ''); + + await client.sendRequest(UpdateConfigurationType, { + configs: [ + { name: configurationName, value: linterName }, + { name: 'path', value: linterPath } + ], + configType: 'linter' }); } \ No newline at end of file diff --git a/src/function/lsp/linter/command.ts b/src/function/lsp/linter/command.ts index 3c07979..8824740 100644 --- a/src/function/lsp/linter/command.ts +++ b/src/function/lsp/linter/command.ts @@ -1,106 +1,132 @@ import * as vscode from 'vscode'; +import * as fs from 'fs'; import { vivadoLinter } from './vivado'; import { modelsimLinter } from './modelsim'; -import { verilatorLinter } from './verilator'; import { HdlLangID } from '../../../global/enum'; -import { vlogLinterManager } from './vlog'; -import { vhdlLinterManager } from './vhdl'; -import { easyExec } from '../../../global/util'; -import { LspOutput } from '../../../global'; +import { t } from '../../../i18n'; +import { LspClient } from '../../../global'; +import { LinterStatusRequestType, UpdateConfigurationType } from '../../../global/lsp'; +import { LanguageClient } from 'vscode-languageclient/node'; -let _selectVlogLinter: string | null = null; -let _selectVhdlLinter: string | null = null; +export let _selectVlogLinterItem: LinterItem | null = null; +export let _selectSvlogLinterItem: LinterItem | null = null; +export let _selectVhdlLinterItem: LinterItem | null = null; + +export const VLOG_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.vlog'; +export const VHDL_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.vhdl'; +export const SVLOG_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.svlog'; + +// 第三方诊断器路径的相关配置 +// iverilog digital-ide.prj.iverilog.install.path +// vivado digital-ide.prj.vivado.install.path +// modelsim digital-ide.prj.modelsim.install.path +// verible digital-ide.prj.verible.install.path +// verilator digital-ide.prj.verilator.install.path +export type SupportLinterName = 'iverilog' | 'vivado' | 'modelsim' | 'verible' | 'verilator'; +export const LinterInstallPathConfigurationNames: Record = { + iverilog: 'digital-ide.prj.iverilog.install.path', + vivado: 'digital-ide.prj.vivado.install.path', + modelsim: 'digital-ide.prj.modelsim.install.path', + verible: 'digital-ide.prj.verible.install.path', + verilator: 'digital-ide.prj.verilator.install.path' +}; interface LinterItem extends vscode.QuickPickItem { name: string + linterPath: string available: boolean } -async function makeDefaultPickItem(): Promise { - return { - label: '$(getting-started-beginner) default', - name: 'default', - available: true, - description: 'Digital-IDE build in diagnostic tool', - detail: 'inner build is ready' - }; -} +async function makeLinterNamePickItem( + client: LanguageClient, + langID: HdlLangID, + linterName: SupportLinterName +): Promise { + const configuration = vscode.workspace.getConfiguration(); + const linterInstallConfigurationName = LinterInstallPathConfigurationNames[linterName]; + const linterPath = configuration.get(linterInstallConfigurationName, ''); -async function makeVivadoPickItem(langID: HdlLangID): Promise { - const executablePath = vivadoLinter.getExecutableFilePath(langID); - const linterName = vivadoLinter.executableFileMap.get(langID); - if (executablePath) { - const { stderr } = await easyExec(executablePath, []); - if (stderr.length > 0) { - return { - label: '$(extensions-warning-message) vivado', - name: 'vivado', - available: false, - description: `vivado diagnostic tool ${linterName}`, - detail: `${executablePath} is not available` - }; - } + const linterStatus = await client.sendRequest(LinterStatusRequestType, { + languageId: langID, + linterName, + linterPath + }); + + return { + label: '$(getting-started-beginner) ' + linterName, + name: linterName, + linterPath, + available: linterStatus.available, + description: linterName + ' ' + t('info.common.linter-name') + ' ' + linterStatus.toolName, + detail: t('info.common.some-is-ready', linterStatus.invokeName) } - return { - label: '$(getting-started-beginner) vivado', - name: 'vivado', - available: true, - description: `vivado diagnostic tool ${linterName}`, - detail: `${executablePath} is ready` - }; } -async function makeModelsimPickItem(langID: HdlLangID): Promise { - const executablePath = modelsimLinter.getExecutableFilePath(langID); - const linterName = modelsimLinter.executableFileMap.get(langID); - if (executablePath) { - const { stderr } = await easyExec(executablePath, []); - if (stderr.length > 0) { - return { - label: '$(extensions-warning-message) modelsim', - name: 'modelsim', - available: false, - description: `modelsim diagnostic tool ${linterName}`, - detail: `${executablePath} is not available` - }; - } + + +async function makeLinterOptions( + client: LanguageClient, + langID: HdlLangID, + linters: SupportLinterName[] +) { + const pools = []; + for (const name of linters) { + pools.push(makeLinterNamePickItem(client, langID, name)) } - return { - label: '$(getting-started-beginner) modelsim', - name: 'modelsim', - available: true, - description: `modelsim diagnostic tool ${linterName}`, - detail: `${executablePath} is ready` - }; + + const items = []; + for (const p of pools) { + items.push(await p); + } + return items; } -async function pickVlogLinter() { +/** + * @description 选择 verilog 的诊断器 + */ +export async function pickVlogLinter() { const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = 'select a linter for verilog code diagnostic'; + pickWidget.placeholder = t('info.linter.pick-for-verilog'); pickWidget.canSelectMany = false; + const client = LspClient.DigitalIDE; + if (!client) { + // 尚未启动,退出 + return; + } + await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: 'Parsing local environment ...', + title: t('info.command.loading'), cancellable: true }, async () => { - pickWidget.items = [ - await makeDefaultPickItem(), - await makeVivadoPickItem(HdlLangID.Verilog), - await makeModelsimPickItem(HdlLangID.Verilog) - ]; + pickWidget.items = await makeLinterOptions(client, HdlLangID.Verilog, [ + 'iverilog', + 'modelsim', + 'verible', + 'verilator', + 'vivado' + ]); }); pickWidget.onDidChangeSelection(items => { - const selectedItem = items[0]; - _selectVlogLinter = selectedItem.name; + _selectVlogLinterItem = items[0]; }); - pickWidget.onDidAccept(() => { - if (_selectVlogLinter) { - const vlogLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.vlog'); - vlogLspConfig.update('diagnostor', _selectVlogLinter); + pickWidget.onDidAccept(async () => { + if (_selectVlogLinterItem) { + const linterConfiguration = vscode.workspace.getConfiguration(VLOG_LINTER_CONFIG_NAME); + linterConfiguration.update('diagnostor', _selectVlogLinterItem.name); + + await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { + configs: [ + { name: VLOG_LINTER_CONFIG_NAME + '.diagnostor', value: _selectVlogLinterItem.name }, + { name: 'path', value: _selectVlogLinterItem.linterPath } + ], + configType: 'linter' + }); + pickWidget.hide(); } }); @@ -108,34 +134,50 @@ async function pickVlogLinter() { pickWidget.show(); } - -async function pickSvlogLinter() { +/** + * @description 选择 system verilog 的诊断器 + */ +export async function pickSvlogLinter() { const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = 'select a linter for verilog code diagnostic'; + pickWidget.placeholder = t('info.linter.pick-for-system-verilog'); pickWidget.canSelectMany = false; + const client = LspClient.DigitalIDE; + if (!client) { + // 尚未启动,退出 + return; + } + await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: 'Parsing local environment ...', + title: t("info.command.loading"), cancellable: true }, async () => { - pickWidget.items = [ - // TODO : add this if system verilog is supported - // await makeDefaultPickItem(), - await makeVivadoPickItem(HdlLangID.Verilog), - await makeModelsimPickItem(HdlLangID.Verilog) - ]; + pickWidget.items = await makeLinterOptions(client, HdlLangID.SystemVerilog, [ + 'modelsim', + 'verible', + 'verilator', + 'vivado' + ]); }); pickWidget.onDidChangeSelection(items => { - const selectedItem = items[0]; - _selectVlogLinter = selectedItem.name; + _selectSvlogLinterItem = items[0]; }); - pickWidget.onDidAccept(() => { - if (_selectVlogLinter) { - const vlogLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.svlog'); - vlogLspConfig.update('diagnostor', _selectVlogLinter); + pickWidget.onDidAccept(async () => { + if (_selectSvlogLinterItem) { + const linterConfiguration = vscode.workspace.getConfiguration(SVLOG_LINTER_CONFIG_NAME); + linterConfiguration.update('diagnostor', _selectSvlogLinterItem.name); + + await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { + configs: [ + { name: SVLOG_LINTER_CONFIG_NAME + '.diagnostor', value: _selectSvlogLinterItem.name }, + { name: 'path', value: _selectSvlogLinterItem.linterPath } + ], + configType: 'linter' + }); + pickWidget.hide(); } }); @@ -143,44 +185,51 @@ async function pickSvlogLinter() { pickWidget.show(); } - -async function pickVhdlLinter() { +/** + * @description 选择 vhdl 的诊断器 + */ +export async function pickVhdlLinter() { const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = 'select a linter for code diagnostic'; + pickWidget.placeholder = t('info.linter.pick-for-vhdl'); pickWidget.canSelectMany = false; + const client = LspClient.DigitalIDE; + if (!client) { + // 尚未启动,退出 + return; + } + await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: 'Parsing local environment ...', + title: t("info.command.loading"), cancellable: true }, async () => { - pickWidget.items = [ - await makeDefaultPickItem(), - await makeVivadoPickItem(HdlLangID.Vhdl), - await makeModelsimPickItem(HdlLangID.Vhdl) - ]; + pickWidget.items = await makeLinterOptions(client, HdlLangID.Vhdl, [ + 'modelsim', + 'vivado' + ]); }); pickWidget.onDidChangeSelection(items => { - const selectedItem = items[0]; - _selectVlogLinter = selectedItem.name; + _selectVhdlLinterItem = items[0]; }); - pickWidget.onDidAccept(() => { - if (_selectVlogLinter) { - const vlogLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.vhdl'); - vlogLspConfig.update('diagnostor', _selectVlogLinter); + pickWidget.onDidAccept(async () => { + if (_selectVhdlLinterItem) { + const linterConfiguration = vscode.workspace.getConfiguration(VHDL_LINTER_CONFIG_NAME); + linterConfiguration.update('diagnostor', _selectVhdlLinterItem.name); + + await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { + configs: [ + { name: VHDL_LINTER_CONFIG_NAME + '.diagnostor', value: _selectVhdlLinterItem.name }, + { name: 'path', value: _selectVhdlLinterItem.linterPath }, + ], + configType: 'linter' + }); + pickWidget.hide(); } }); pickWidget.show(); } - - - -export { - pickVlogLinter, - pickVhdlLinter, - pickSvlogLinter -}; \ No newline at end of file diff --git a/src/function/sim/simulate.ts b/src/function/sim/simulate.ts index c478a78..dd5916d 100644 --- a/src/function/sim/simulate.ts +++ b/src/function/sim/simulate.ts @@ -119,7 +119,7 @@ class Simulate { } } - simConfig.installPath = setting.get('digital-ide.function.simulate.icarus.installPath', ''); + simConfig.installPath = setting.get('digital-ide.prj.iverilog.install.path', ''); if (simConfig.installPath !== '' && !hdlFile.isDir(simConfig.installPath)) { MainOutput.report(`install path ${simConfig.installPath} is illegal`, { level: ReportType.Error, diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index b66c0f0..85c96a1 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -229,7 +229,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const firstTopIcon = this.makeFirstTopIconName(type); // 将 topModuleItemList 中的 first top 元素调整到第一个位置 - const dataItem = topModuleItemList.filter(item => item.name === firstTop.name && item.path === firstTop.path)[0]; + const dataItem = topModuleItemList.filter(item => item.name === firstTop!.name && item.path === firstTop!.path)[0]; dataItem.icon = firstTopIcon; let newTopModuleItemList = [dataItem]; newTopModuleItemList = newTopModuleItemList.concat(topModuleItemList.filter(item => item !== dataItem)); diff --git a/src/global/lsp.ts b/src/global/lsp.ts index a0cd5f8..8b1461e 100644 --- a/src/global/lsp.ts +++ b/src/global/lsp.ts @@ -29,6 +29,7 @@ export const DoFastRequestType = new RequestType('api/update-configuration'); export const DoPrimitivesJudgeType = new RequestType('api/do-primitives-judge'); export const SyncFastRequestType = new RequestType('api/sync-fast'); +export const LinterStatusRequestType = new RequestType('api/linter-status'); export interface ITextDocumentItem { uri: vscode.Uri, @@ -47,6 +48,7 @@ export interface ICommonParam { param: string } + export interface IUpdateConfigurationParam { configs: { name: string, @@ -55,6 +57,17 @@ export interface IUpdateConfigurationParam { configType: string } +export interface ILinterStatusRequestType { + languageId: string, + linterName: string, + linterPath: string +} + +interface LinterToolStatus { + toolName: string, + available: boolean, + invokeName: string +} export interface IDoPrimitivesJudgeParam { name: string From 8046a1eb00a4b3f30778971a556d116b0c3ab3a9 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Sat, 7 Dec 2024 23:39:10 +0800 Subject: [PATCH 017/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=E5=99=A8=E5=A4=9A=E7=AB=AF=E9=85=8D=E7=BD=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 4 +- l10n/bundle.l10n.en.json | 4 +- l10n/bundle.l10n.ja.json | 4 +- l10n/bundle.l10n.zh-cn.json | 4 +- l10n/bundle.l10n.zh-tw.json | 4 +- package.json | 90 ++++----- package.nls.de.json | 13 +- package.nls.ja.json | 13 +- package.nls.json | 13 +- package.nls.zh-cn.json | 13 +- package.nls.zh-tw.json | 13 +- src/function/index.ts | 11 -- src/function/lsp-client/config.ts | 128 +++++++------ src/function/lsp-client/index.ts | 7 +- src/function/lsp/linter/base.ts | 20 -- src/function/lsp/linter/command.ts | 235 ------------------------ src/function/lsp/linter/common.ts | 112 ++++++++++++ src/function/lsp/linter/default.ts | 166 ----------------- src/function/lsp/linter/index.ts | 15 +- src/function/lsp/linter/manager.ts | 261 +++++++++++++++++++++++++++ src/function/lsp/linter/modelsim.ts | 3 +- src/function/lsp/linter/svlog.ts | 202 --------------------- src/function/lsp/linter/verilator.ts | 3 +- src/function/lsp/linter/vhdl.ts | 202 --------------------- src/function/lsp/linter/vivado.ts | 3 +- src/function/lsp/linter/vlog.ts | 202 --------------------- src/hdlParser/core.ts | 3 - src/monitor/hdl.ts | 11 -- 28 files changed, 550 insertions(+), 1209 deletions(-) delete mode 100644 src/function/lsp/linter/base.ts delete mode 100644 src/function/lsp/linter/command.ts create mode 100644 src/function/lsp/linter/common.ts delete mode 100644 src/function/lsp/linter/default.ts create mode 100644 src/function/lsp/linter/manager.ts delete mode 100644 src/function/lsp/linter/svlog.ts delete mode 100644 src/function/lsp/linter/vhdl.ts delete mode 100644 src/function/lsp/linter/vlog.ts diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index b47a6fd..22670bb 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -89,5 +89,7 @@ "info.linter.vivado.xvlog-name": "Vivado-Diagnosetools", "info.common.some-is-ready": "{0} ist bereit", "info.common.not-available": "{0} ist derzeit nicht verfügbar", - "info.common.linter-name": "Diagnosetools" + "info.common.linter-name": "Diagnosetools", + "info.linter.finish-init": "Initialisierung des Diagnosewerkzeugs {0} abgeschlossen, aktueller Name des Diagnosewerkzeugs {1}", + "error.linter.status-bar.tooltip": "Kann Diagnose für {0} nicht abrufen" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 134401d..ea02a69 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -89,5 +89,7 @@ "info.linter.vivado.xvlog-name": "Vivado diagnostic tools", "info.common.some-is-ready": "{0} is ready", "info.common.not-available": "{0} is currently unavailable", - "info.common.linter-name": "Diagnostic tools" + "info.common.linter-name": "Diagnostic tools", + "info.linter.finish-init": "Completed initialization of the {0} diagnostic tool, current name of the diagnostic tool {1}", + "error.linter.status-bar.tooltip": "Unable to get {0} diagnoser" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 38f6811..81132eb 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -89,5 +89,7 @@ "info.linter.vivado.xvlog-name": "Vivado診断ツール", "info.common.some-is-ready": "{0} は準備ができています", "info.common.not-available": "{0} は現在使用できません", - "info.common.linter-name": "診断ツール" + "info.common.linter-name": "診断ツール", + "info.linter.finish-init": "{0} 診断ツールの初期化が完了しました。現在の診断ツールの名前は {1} です", + "error.linter.status-bar.tooltip": "{0} 診断機能を取得できません" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 9aa4855..3c87324 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -89,5 +89,7 @@ "info.linter.vivado.xvlog-name": "vivado 诊断工具", "info.common.some-is-ready": "{0} 已经准备就绪", "info.common.not-available": "{0} 目前不可用", - "info.common.linter-name": "诊断工具" + "info.common.linter-name": "诊断工具", + "info.linter.finish-init": "完成 {0} 诊断器的初始化,当前诊断器的名字 {1}", + "error.linter.status-bar.tooltip": "无法获取 {0} 诊断器" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index d642891..2f502d5 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -89,5 +89,7 @@ "info.linter.vivado.xvlog-name": "Vivado診斷工具", "info.common.some-is-ready": "{0} 已經準備就緒", "info.common.not-available": "{0} 目前無法使用", - "info.common.linter-name": "診斷工具" + "info.common.linter-name": "診斷工具", + "info.linter.finish-init": "完成 {0} 診斷器的初始化,當前診斷器的名字 {1}", + "error.linter.status-bar.tooltip": "無法取得 {0} 診斷器" } \ No newline at end of file diff --git a/package.json b/package.json index c25fbb6..6b83a7d 100644 --- a/package.json +++ b/package.json @@ -235,68 +235,70 @@ "type": "boolean", "default": true }, - "digital-ide.function.lsp.linter.vlog.diagnostor": { + "digital-ide.function.lsp.linter.verilog.diagnostor": { "type": "string", "enumDescriptions": [ + "iverilog (© Icarus Verilog Project)", + "xvlog (© Xilinx, Inc.)", + "vlog (© Mentor Graphics Corporation)", + "verilator (© Verilator Project)", + "verible-verilog-syntax (© Google LLC)" + ], + "enum": [ + "iverilog", "vivado", "modelsim", "verilator", "verible" ], - "enum": [ - "vivado", - "modelsim", - "verilator", - "verible" - ], - "default": "default", - "description": "%digital-ide.function.lsp.linter.vlog.diagnostor.title%" - }, - "digital-ide.function.lsp.linter.svlog.diagnostor": { - "type": "string", - "enumDescriptions": [ - "use diagnostor in vivado", - "use diagnostor in modelsim", - "use our buildin diagnostor" - ], - "enum": [ - "vivado", - "modelsim", - "default" - ], - "default": "default", - "description": "%digital-ide.function.lsp.linter.svlog.diagnostor.title%" - }, - "digital-ide.function.lsp.linter.vhdl.diagnostor": { - "type": "string", - "enumDescriptions": [ - "use diagnostor in vivado", - "use diagnostor in modelsim", - "use our buildin diagnostor" - ], - "enum": [ - "vivado", - "modelsim", - "default" - ], - "default": "default", - "description": "%digital-ide.function.lsp.linter.vhdl.diagnostor.title%" + "default": "vivado", + "description": "%digital-ide.function.lsp.linter.verilog.diagnostor.title%" }, "digital-ide.function.lsp.linter.systemverilog.diagnostor": { "type": "string", "enumDescriptions": [ - "use diagnostor in vivado", - "use diagnostor in modelsim", - "use our buildin diagnostor" + "xvlog (© Xilinx, Inc.)", + "vlog (© Mentor Graphics Corporation)", + "verilator (© Verilator Project)", + "verible-verilog-syntax (© Google LLC)" ], "enum": [ "vivado", "modelsim", - "default" + "verilator", + "verible" ], - "default": "default", + "default": "vivado", "description": "%digital-ide.function.lsp.linter.systemverilog.diagnostor.title%" }, + "digital-ide.function.lsp.linter.vhdl.diagnostor": { + "type": "string", + "enumDescriptions": [ + "xvlog (© Xilinx, Inc.)", + "vlog (© Mentor Graphics Corporation)" + ], + "enum": [ + "vivado", + "modelsim" + ], + "default": "vivado", + "description": "%digital-ide.function.lsp.linter.vhdl.diagnostor.title%" + }, + "digital-ide.function.lsp.linter.linter-mode": { + "type": "string", + "enumDescriptions": [ + "%digital-ide.function.lsp.linter.linter-mode.0.title%", + "%digital-ide.function.lsp.linter.linter-mode.1.title%", + "%digital-ide.function.lsp.linter.linter-mode.2.title%" + ], + "enum": [ + "full", + "single", + "shutdown" + ], + "default": "full", + "description": "%digital-ide.function.lsp.linter.linter-mode.title%" + }, "digital-ide.function.instantiation.addComment": { "description": "%digital-ide.function.instantiation.addComment.title%", "type": "boolean", diff --git a/package.nls.de.json b/package.nls.de.json index fca8684..cd4515b 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -84,15 +84,18 @@ "digital-ide.function.lsp.formatter.vhdl.default.indentation.title": "Indentation", "digital-ide.function.lsp.completion.vlog.auto-add-include.title": "`include \"xxx.v\" will be added to the top of the file automatically", "digital-ide.function.lsp.completion.vlog.auto-add-output-declaration.title": "complete everything invoking a module needs including paramters and ports", - "digital-ide.function.lsp.linter.vlog.diagnostor.title": "choose diagnostor to do linter in editing verilog", - "digital-ide.function.lsp.linter.svlog.diagnostor.title": "choose diagnostor to do linter in editing verilog", + "digital-ide.function.lsp.linter.verilog.diagnostor.title": "choose diagnostor to do linter in editing verilog", + "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "choose diagnostor to do linter in editing verilog", "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "choose diagnostor to do linter in editing vhdl", - "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "choose diagnostor to do linter in editing systemverilog", "digital-ide.function.instantiation.addComment.title": "add comment like // ports, // input, // output when doing instantiation, including completion for module invoking", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "auto declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", "digital-ide.function.lsp.file-parse-maxsize.title": "", "digital-ide.structure.from-xilinx-to-standard.title": "Konvertieren Sie Xilinx-Projekte in die Digital IDE-Standardprojektstruktur", - "digital-ide.prj.verible.install.path.title": "", - "digital-ide.prj.verilator.install.path.title": "" + "digital-ide.prj.verible.install.path.title": "Installationsverzeichnispfad für verible, also der absolute Pfad des Ordners, der die ausführbare Datei verible-verilog-syntax enthält. Wenn nicht angegeben, wird standardmäßig verible-verilog-syntax für die Diagnose verwendet.", + "digital-ide.prj.verilator.install.path.title": "Installationsverzeichnispfad für verilator, also der absolute Pfad des Ordners, der die ausführbare Datei verilator enthält. Wenn nicht angegeben, wird standardmäßig verilator für die Diagnose verwendet.", + "digital-ide.function.lsp.linter.linter-mode.title": "Diagnosemodus des Linters festlegen", + "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnostizieren Sie alle Designquellen direkt und melden Sie Fehler, unabhängig davon, ob die Dateien geöffnet sind.", + "digital-ide.function.lsp.linter.linter-mode.1.title": "Wenn eine einzelne Datei geschlossen ist, wird der entsprechende Fehler entfernt, und nur die geöffnete Datei wird diagnostiziert.", + "digital-ide.function.lsp.linter.linter-mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet." } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index e2b1ba1..07812bd 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -84,15 +84,18 @@ "digital-ide.function.lsp.formatter.vhdl.default.indentation.title": "インデント", "digital-ide.function.lsp.completion.vlog.auto-add-include.title": "モジュールの自動補完をトリガーするとき、トップの include マクロにインスタンス化されたモジュールがあるファイルが含まれていない場合、ファイルの先頭に `include \"xxx.v\" を自動的に追加します", "digital-ide.function.lsp.completion.vlog.auto-add-output-declaration.title": "モジュールの自動補完をトリガーするとき、インスタンス化されたモジュールの上に output タイプの信号の宣言を自動的に生成します", - "digital-ide.function.lsp.linter.vlog.diagnostor.title": "Verilog 編集時のリンターを行う診断器を選択します", - "digital-ide.function.lsp.linter.svlog.diagnostor.title": "SystemVerilog 編集時のリンターを行う診断器を選択します", - "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "VHDL 編集時のリンターを行う診断器を選択します", + "digital-ide.function.lsp.linter.verilog.diagnostor.title": "Verilog 編集時のリンターを行う診断器を選択します", "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "SystemVerilog 編集時のリンターを行う診断器を選択します", + "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "VHDL 編集時のリンターを行う診断器を選択します", "digital-ide.function.instantiation.addComment.title": "インスタンス化時に // ポート, // 入力, // 出力 のようなコメントを追加し、モジュール呼び出しの補完を含みます", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "インスタンス化が発生したときにスコープ内で出力タイプのネットを自動的に宣言します。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting のトリガー文字", "digital-ide.function.lsp.file-parse-maxsize.title": "", "digital-ide.structure.from-xilinx-to-standard.title": "Xilinx プロジェクトを Digital IDE 標準プロジェクト構造に変換する", - "digital-ide.prj.verible.install.path.title": "", - "digital-ide.prj.verilator.install.path.title": "" + "digital-ide.prj.verible.install.path.title": "verible のインストールディレクトリパス。つまり、verible-verilog-syntax 実行ファイルを含むフォルダの絶対パス。指定しない場合、デフォルトで verible-verilog-syntax が診断に使用されます。", + "digital-ide.prj.verilator.install.path.title": "verilator のインストールディレクトリパス。つまり、verilator 実行ファイルを含むフォルダの絶対パス。指定しない場合、デフォルトで verilator が診断に使用されます。", + "digital-ide.function.lsp.linter.linter-mode.title": "リンターの診断モードを指定", + "digital-ide.function.lsp.linter.linter-mode.0.title": "すべての設計ソースを直接診断し、エラーを報告します。ファイルが開いているかどうかに関係なく。", + "digital-ide.function.lsp.linter.linter-mode.1.title": "単一のファイルが閉じられた場合、対応するエラーが削除され、開いているファイルのみが診断されます。", + "digital-ide.function.lsp.linter.linter-mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。" } \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 966de39..144768e 100644 --- a/package.nls.json +++ b/package.nls.json @@ -84,15 +84,18 @@ "digital-ide.function.lsp.formatter.vhdl.default.indentation.title": "Indentation", "digital-ide.function.lsp.completion.vlog.auto-add-include.title": "When triggering module auto-completion, if the top include macro does not include the file where the instantiated module is located, automatically add `include \"xxx.v\" at the top of the file", "digital-ide.function.lsp.completion.vlog.auto-add-output-declaration.title": "When triggering module auto-completion, automatically generate the declaration of output type signals above the instantiated module", - "digital-ide.function.lsp.linter.vlog.diagnostor.title": "Choose the diagnostor to do linter in editing Verilog", - "digital-ide.function.lsp.linter.svlog.diagnostor.title": "Choose the diagnostor to do linter in editing SystemVerilog", - "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "Choose the diagnostor to do linter in editing VHDL", + "digital-ide.function.lsp.linter.verilog.diagnostor.title": "Choose the diagnostor to do linter in editing Verilog", "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "Choose the diagnostor to do linter in editing SystemVerilog", + "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "Choose the diagnostor to do linter in editing VHDL", "digital-ide.function.instantiation.addComment.title": "Add comments like // ports, // input, // output when doing instantiation, including completion for module invoking", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "Automatically declare output type nets in the scope when instantiation happens.", "fpga-support.onTypeFormattingTriggerCharacters.title": "Trigger characters for onTypeFormatting", "digital-ide.function.lsp.file-parse-maxsize.title": "", "digital-ide.structure.from-xilinx-to-standard.title": "Convert Xilinx projects to Digital IDE standard project structure", - "digital-ide.prj.verible.install.path.title": "", - "digital-ide.prj.verilator.install.path.title": "" + "digital-ide.prj.verible.install.path.title": "Installation directory path for verible, which is the absolute path of the folder containing the verible-verilog-syntax executable. If not specified, verible-verilog-syntax will be used for diagnostics by default.", + "digital-ide.prj.verilator.install.path.title": "Installation directory path for verilator, which is the absolute path of the folder containing the verilator executable. If not specified, verilator will be used for diagnostics by default.", + "digital-ide.function.lsp.linter.linter-mode.title": "Specify the diagnostic mode of the linter", + "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnose all design sources directly and report errors, regardless of whether the files are open.", + "digital-ide.function.lsp.linter.linter-mode.1.title": "When a single file is closed, the corresponding error is removed, and only the file that is opened is diagnosed.", + "digital-ide.function.lsp.linter.linter-mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project." } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 3ef0456..056b4f9 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -84,15 +84,18 @@ "digital-ide.function.lsp.formatter.vhdl.default.indentation.title": "缩进", "digital-ide.function.lsp.completion.vlog.auto-add-include.title": "触发模块的自动补全时,如果顶部 include 宏中没有包含被例化模块所在的文件,则自动在文件顶部添加 `include \"xxx.v\"", "digital-ide.function.lsp.completion.vlog.auto-add-output-declaration.title": "触发模块的自动补全时,在例化模块上方自动生成 output 类型信号的申明", - "digital-ide.function.lsp.linter.vlog.diagnostor.title": "选择编辑 Verilog 时的诊断器进行语法检查", - "digital-ide.function.lsp.linter.svlog.diagnostor.title": "选择编辑 SystemVerilog 时的诊断器进行语法检查", - "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "选择编辑 VHDL 时的诊断器进行语法检查", + "digital-ide.function.lsp.linter.verilog.diagnostor.title": "选择编辑 Verilog 时的诊断器进行语法检查", "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "选择编辑 SystemVerilog 时的诊断器进行语法检查", + "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "选择编辑 VHDL 时的诊断器进行语法检查", "digital-ide.function.instantiation.addComment.title": "在进行实例化时添加注释,如 // 端口, // 输入, // 输出,包括模块调用的完成", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在实例化发生时自动在作用域中声明输出类型的网络。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的触发字符", "digital-ide.function.lsp.file-parse-maxsize.title": "最大解析的文件阈值,大小超出这个值的文件不会被解析。单位为 MB,必须是整数。默认为 1MB", "digital-ide.structure.from-xilinx-to-standard.title": "将 Xilinx 项目转换成 Digital IDE 标准项目结构", - "digital-ide.prj.verible.install.path.title": "", - "digital-ide.prj.verilator.install.path.title": "" + "digital-ide.prj.verible.install.path.title": "verible 的安装目录路径,也就是包含 verible-verilog-syntax 可执行文件的文件夹的绝对路径。如果不指定,默认采用 verible-verilog-syntax 执行诊断。", + "digital-ide.prj.verilator.install.path.title": "verilator 的安装目录路径,也就是包含了 verilator 可执行文件的文件夹的绝对路径。不如不指定,默认采用 verilator 执行诊断。", + "digital-ide.function.lsp.linter.linter-mode.title": "指定诊断器的诊断模式", + "digital-ide.function.lsp.linter.linter-mode.0.title": "将所有设计源直接进行诊断,并报错,无论文件是否打开。", + "digital-ide.function.lsp.linter.linter-mode.1.title": "单文件关闭时,对应报错去除,打开哪个文件就对哪个文件进行诊断。", + "digital-ide.function.lsp.linter.linter-mode.2.title": "全局关闭,即整个工程都不进行工程报错。" } \ No newline at end of file diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index e26f5a1..de81213 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -84,15 +84,18 @@ "digital-ide.function.lsp.formatter.vhdl.default.indentation.title": "縮進", "digital-ide.function.lsp.completion.vlog.auto-add-include.title": "觸發模塊的自動補全時,如果頂部 include 宏中沒有包含被例化模塊所在的文件,則自動在文件頂部添加 `include \"xxx.v\"", "digital-ide.function.lsp.completion.vlog.auto-add-output-declaration.title": "觸發模塊的自動補全時,在例化模塊上方自動生成 output 類型信號的申明", - "digital-ide.function.lsp.linter.vlog.diagnostor.title": "選擇編輯 Verilog 時的診斷器進行語法檢查", - "digital-ide.function.lsp.linter.svlog.diagnostor.title": "選擇編輯 SystemVerilog 時的診斷器進行語法檢查", - "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "選擇編輯 VHDL 時的診斷器進行語法檢查", + "digital-ide.function.lsp.linter.verilog.diagnostor.title": "選擇編輯 Verilog 時的診斷器進行語法檢查", "digital-ide.function.lsp.linter.systemverilog.diagnostor.title": "選擇編輯 SystemVerilog 時的診斷器進行語法檢查", + "digital-ide.function.lsp.linter.vhdl.diagnostor.title": "選擇編輯 VHDL 時的診斷器進行語法檢查", "digital-ide.function.instantiation.addComment.title": "在進行實例化時添加註釋,如 // 端口, // 輸入, // 輸出,包括模塊調用的完成", "digital-ide.function.instantiation.autoNetOutputDeclaration.title": "在實例化發生時自動在作用域中聲明輸出類型的網絡。", "fpga-support.onTypeFormattingTriggerCharacters.title": "onTypeFormatting 的觸發字符", "digital-ide.function.lsp.file-parse-maxsize.title": "", "digital-ide.structure.from-xilinx-to-standard.title": "將 Xilinx 專案轉換成 Digital IDE 標準專案結構", - "digital-ide.prj.verible.install.path.title": "", - "digital-ide.prj.verilator.install.path.title": "" + "digital-ide.prj.verible.install.path.title": "verible 的安裝目錄路徑,也就是包含 verible-verilog-syntax 可執行文件的文件夾的絕對路徑。如果不指定,默認採用 verible-verilog-syntax 執行診斷。", + "digital-ide.prj.verilator.install.path.title": "verilator 的安裝目錄路徑,也就是包含了 verilator 可執行文件的文件夾的絕對路徑。不如不指定,默認採用 verilator 執行診斷。", + "digital-ide.function.lsp.linter.linter-mode.title": "指定診斷器的診斷模式", + "digital-ide.function.lsp.linter.linter-mode.0.title": "將所有設計源直接進行診斷,並報錯,無論文件是否打開。", + "digital-ide.function.lsp.linter.linter-mode.1.title": "單文件關閉時,對應報錯去除,打開哪個文件就對哪個文件進行診斷。", + "digital-ide.function.lsp.linter.linter-mode.2.title": "全局關閉,即整個工程都不進行工程報錯。" } \ No newline at end of file diff --git a/src/function/index.ts b/src/function/index.ts index af46f69..0b61fd6 100644 --- a/src/function/index.ts +++ b/src/function/index.ts @@ -8,7 +8,6 @@ import * as treeView from './treeView'; import { tclCompletionProvider } from './lsp/completion/tcl'; import * as lspFormatter from '../../resources/formatter'; import * as lspTranslator from '../../resources/translator'; -import * as lspLinter from './lsp/linter'; import * as tool from './tool'; @@ -119,16 +118,6 @@ function registerLsp(context: vscode.ExtensionContext, version: string) { // tcl lsp vscode.languages.registerCompletionItemProvider(tclSelector, tclCompletionProvider); - - // lsp linter - // make first symbols in workspace - lspLinter.vlogLinterManager.initialise(); - lspLinter.vhdlLinterManager.initialise(); - lspLinter.svlogLinterManager.initialise(); - - vscode.commands.registerCommand('digital-ide.lsp.vlog.linter.pick', lspLinter.pickVlogLinter); - vscode.commands.registerCommand('digital-ide.lsp.vhdl.linter.pick', lspLinter.pickVhdlLinter); - vscode.commands.registerCommand('digital-ide.lsp.svlog.linter.pick', lspLinter.pickSvlogLinter); } diff --git a/src/function/lsp-client/config.ts b/src/function/lsp-client/config.ts index 0925374..43f318e 100644 --- a/src/function/lsp-client/config.ts +++ b/src/function/lsp-client/config.ts @@ -1,8 +1,9 @@ import * as vscode from 'vscode'; import { LanguageClient } from 'vscode-languageclient/node'; import { UpdateConfigurationType } from '../../global/lsp'; -import * as linterCommand from '../../function/lsp/linter/command'; +import * as Linter from '../lsp/linter/common'; import { HdlLangID } from '../../global/enum'; +import * as lspLinter from '../lsp/linter'; interface ConfigItem { name: string, @@ -11,7 +12,13 @@ interface ConfigItem { type CommonValue = string | boolean | number; -export function registerConfigurationUpdater(client: LanguageClient, packageJson: any) { +/** + * @description 注册配置文件变动时发生的操作 + * 该操作一定发生在 lsp 启动后。 + * @param client + * @param packageJson + */ +export async function registerConfigurationUpdater(client: LanguageClient, packageJson: any) { // 常规 lsp 相关的配置 const lspConfigures: ConfigItem[] = []; const properties = packageJson?.contributes?.configuration?.properties; @@ -24,31 +31,31 @@ export function registerConfigurationUpdater(client: LanguageClient, packageJson } } - const supportLinters: linterCommand.SupportLinterName[] = ['iverilog', 'vivado', 'modelsim', 'verible', 'verilator']; + const supportLinters: Linter.SupportLinterName[] = ['iverilog', 'vivado', 'modelsim', 'verible', 'verilator']; // 初始化,配置参数全部同步到后端 - client.sendRequest(UpdateConfigurationType, { + await client.sendRequest(UpdateConfigurationType, { configs: lspConfigures, configType: 'lsp' }); // 初始化,配置全部 linter 到后端 - updateLinterConfiguration( + await updateLinterConfiguration( client, - linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', - getCurrentLinterName(HdlLangID.Verilog) + Linter.getLinterConfigurationName(HdlLangID.Verilog), + Linter.getLinterName(HdlLangID.Verilog) ); - updateLinterConfiguration( + await updateLinterConfiguration( client, - linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', - getCurrentLinterName(HdlLangID.SystemVerilog) + Linter.getLinterConfigurationName(HdlLangID.SystemVerilog), + Linter.getLinterName(HdlLangID.SystemVerilog) ); - updateLinterConfiguration( + await updateLinterConfiguration( client, - linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', - getCurrentLinterName(HdlLangID.Vhdl) + Linter.getLinterConfigurationName(HdlLangID.Vhdl), + Linter.getLinterName(HdlLangID.Vhdl) ); // 监听配置文件的变化,变化时需要做出的行为 @@ -69,80 +76,69 @@ export function registerConfigurationUpdater(client: LanguageClient, packageJson }); } - const currentLinterConfiguration = { - vlog: getCurrentLinterName(HdlLangID.Verilog), - svlog: getCurrentLinterName(HdlLangID.SystemVerilog), - vhdl: getCurrentLinterName(HdlLangID.Vhdl) + // 本次更新时,当前各个语言正在使用的诊断器的名字的映射表 + // 因为 getLinterName 需要进行一次映射,此处为后续的遍历预缓存一波 + const currentLinterConfiguration: Record = { + [HdlLangID.Verilog]: Linter.getLinterName(HdlLangID.Verilog), + [HdlLangID.SystemVerilog]: Linter.getLinterName(HdlLangID.SystemVerilog), + [HdlLangID.Vhdl]: Linter.getLinterName(HdlLangID.Vhdl), + [HdlLangID.Unknown]: HdlLangID.Unknown }; + // 需要讨论的可能受到配置文件更新影响 linter 功能的语言列表 + const affectsLangIDs = [HdlLangID.Verilog, HdlLangID.SystemVerilog, HdlLangID.Vhdl]; + // 对于诊断器路径的修改 for (const linterName of supportLinters) { - const configuratioName = linterCommand.LinterInstallPathConfigurationNames[linterName]; + const configuratioName = Linter.getLinterInstallConfigurationName(linterName); if (event.affectsConfiguration(configuratioName)) { // 查看谁使用了这个诊断器,更新它的基本信息 - if (linterName === currentLinterConfiguration.vlog) { - await updateLinterConfiguration( - client, - linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', - linterName - ); - } - - if (linterName === currentLinterConfiguration.svlog) { - await updateLinterConfiguration( - client, - linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', - linterName - ); - } - - if (linterName === currentLinterConfiguration.vhdl) { - await updateLinterConfiguration( - client, - linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', - linterName - ); + for (const langID of affectsLangIDs) { + if (linterName === currentLinterConfiguration[langID]) { + const linterConfigurationName = Linter.getLinterConfigurationName(langID); + await updateLinterConfiguration(client, linterConfigurationName, linterName); + } } } } - }); } -function getCurrentLinterName(langID: HdlLangID): linterCommand.SupportLinterName { - switch (langID) { - case HdlLangID.Verilog: - return vscode.workspace.getConfiguration().get( - linterCommand.VLOG_LINTER_CONFIG_NAME + '.diagnostor', - 'vivado' - ); +export async function registerLinter(client: LanguageClient) { + // 初始化,配置全部 linter 到 linterManager + lspLinter.vlogLinterManager.start(client); + lspLinter.vhdlLinterManager.start(client); + lspLinter.svlogLinterManager.start(client); - case HdlLangID.Vhdl: - return vscode.workspace.getConfiguration().get( - linterCommand.VHDL_LINTER_CONFIG_NAME + '.diagnostor', - 'vivado' - ); - - case HdlLangID.SystemVerilog: - return vscode.workspace.getConfiguration().get( - linterCommand.SVLOG_LINTER_CONFIG_NAME + '.diagnostor', - 'vivado' - ); + // 对应配置文件的变动需要修改全局的相关变量 + vscode.workspace.onDidChangeConfiguration(async event => { + if (event.affectsConfiguration(Linter.getLinterConfigurationName(HdlLangID.Verilog))) { + await lspLinter.vlogLinterManager.updateCurrentLinterItem(client); + lspLinter.vlogLinterManager.updateStatusBar(); + } - default: - break; - } - return 'vivado'; + if (event.affectsConfiguration(Linter.getLinterConfigurationName(HdlLangID.SystemVerilog))) { + await lspLinter.svlogLinterManager.updateCurrentLinterItem(client); + lspLinter.svlogLinterManager.updateStatusBar(); + } + + if (event.affectsConfiguration(Linter.getLinterConfigurationName(HdlLangID.Vhdl))) { + await lspLinter.vhdlLinterManager.updateCurrentLinterItem(client); + lspLinter.vhdlLinterManager.updateStatusBar(); + } + }); } async function updateLinterConfiguration( client: LanguageClient, configurationName: string, - linterName: linterCommand.SupportLinterName + linterName: Linter.SupportLinterName ) { - const configuratioName = linterCommand.LinterInstallPathConfigurationNames[linterName]; + const configuratioName = Linter.getLinterInstallConfigurationName(linterName); const linterPath = vscode.workspace.getConfiguration().get(configuratioName, ''); + console.log(linterName); + await client.sendRequest(UpdateConfigurationType, { configs: [ { name: configurationName, value: linterName }, @@ -150,4 +146,4 @@ async function updateLinterConfiguration( ], configType: 'linter' }); -} \ No newline at end of file +} diff --git a/src/function/lsp-client/index.ts b/src/function/lsp-client/index.ts index f29a9fb..8d3d309 100644 --- a/src/function/lsp-client/index.ts +++ b/src/function/lsp-client/index.ts @@ -15,7 +15,7 @@ import { IProgress, LspClient, opeParam } from '../../global'; import axios, { AxiosResponse } from "axios"; import { chooseBestDownloadSource, getGiteeDownloadLink, getGithubDownloadLink, getPlatformPlatformSignature } from "./cdn"; import { hdlDir, hdlPath } from "../../hdlFs"; -import { registerConfigurationUpdater } from "./config"; +import { registerConfigurationUpdater, registerLinter } from "./config"; import { t } from "../../i18n"; function getLspServerExecutionName() { @@ -214,7 +214,10 @@ export async function activate(context: vscode.ExtensionContext, packageJson: an await client.start(); // 检测配置文件变动 - registerConfigurationUpdater(client, packageJson); + await registerConfigurationUpdater(client, packageJson); + + // 配置诊断器 + await registerLinter(client); } diff --git a/src/function/lsp/linter/base.ts b/src/function/lsp/linter/base.ts deleted file mode 100644 index 1b87c1d..0000000 --- a/src/function/lsp/linter/base.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as vscode from 'vscode'; -import { HdlLangID } from '../../../global/enum'; - -interface BaseLinter { - diagnostic: vscode.DiagnosticCollection; - lint(document: vscode.TextDocument): Promise; - remove(uri: vscode.Uri): Promise; - initialise(langID: HdlLangID): Promise; -} - -interface BaseManager { - initialise(): Promise; - updateLinter(): Promise; -} - - -export { - BaseLinter, - BaseManager -}; diff --git a/src/function/lsp/linter/command.ts b/src/function/lsp/linter/command.ts deleted file mode 100644 index 8824740..0000000 --- a/src/function/lsp/linter/command.ts +++ /dev/null @@ -1,235 +0,0 @@ -import * as vscode from 'vscode'; -import * as fs from 'fs'; - -import { vivadoLinter } from './vivado'; -import { modelsimLinter } from './modelsim'; -import { HdlLangID } from '../../../global/enum'; -import { t } from '../../../i18n'; -import { LspClient } from '../../../global'; -import { LinterStatusRequestType, UpdateConfigurationType } from '../../../global/lsp'; -import { LanguageClient } from 'vscode-languageclient/node'; - -export let _selectVlogLinterItem: LinterItem | null = null; -export let _selectSvlogLinterItem: LinterItem | null = null; -export let _selectVhdlLinterItem: LinterItem | null = null; - -export const VLOG_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.vlog'; -export const VHDL_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.vhdl'; -export const SVLOG_LINTER_CONFIG_NAME = 'digital-ide.function.lsp.linter.svlog'; - -// 第三方诊断器路径的相关配置 -// iverilog digital-ide.prj.iverilog.install.path -// vivado digital-ide.prj.vivado.install.path -// modelsim digital-ide.prj.modelsim.install.path -// verible digital-ide.prj.verible.install.path -// verilator digital-ide.prj.verilator.install.path -export type SupportLinterName = 'iverilog' | 'vivado' | 'modelsim' | 'verible' | 'verilator'; -export const LinterInstallPathConfigurationNames: Record = { - iverilog: 'digital-ide.prj.iverilog.install.path', - vivado: 'digital-ide.prj.vivado.install.path', - modelsim: 'digital-ide.prj.modelsim.install.path', - verible: 'digital-ide.prj.verible.install.path', - verilator: 'digital-ide.prj.verilator.install.path' -}; - -interface LinterItem extends vscode.QuickPickItem { - name: string - linterPath: string - available: boolean -} - -async function makeLinterNamePickItem( - client: LanguageClient, - langID: HdlLangID, - linterName: SupportLinterName -): Promise { - const configuration = vscode.workspace.getConfiguration(); - const linterInstallConfigurationName = LinterInstallPathConfigurationNames[linterName]; - const linterPath = configuration.get(linterInstallConfigurationName, ''); - - const linterStatus = await client.sendRequest(LinterStatusRequestType, { - languageId: langID, - linterName, - linterPath - }); - - return { - label: '$(getting-started-beginner) ' + linterName, - name: linterName, - linterPath, - available: linterStatus.available, - description: linterName + ' ' + t('info.common.linter-name') + ' ' + linterStatus.toolName, - detail: t('info.common.some-is-ready', linterStatus.invokeName) - } -} - - - -async function makeLinterOptions( - client: LanguageClient, - langID: HdlLangID, - linters: SupportLinterName[] -) { - const pools = []; - for (const name of linters) { - pools.push(makeLinterNamePickItem(client, langID, name)) - } - - const items = []; - for (const p of pools) { - items.push(await p); - } - return items; -} - -/** - * @description 选择 verilog 的诊断器 - */ -export async function pickVlogLinter() { - const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = t('info.linter.pick-for-verilog'); - pickWidget.canSelectMany = false; - - const client = LspClient.DigitalIDE; - if (!client) { - // 尚未启动,退出 - return; - } - - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Notification, - title: t('info.command.loading'), - cancellable: true - }, async () => { - pickWidget.items = await makeLinterOptions(client, HdlLangID.Verilog, [ - 'iverilog', - 'modelsim', - 'verible', - 'verilator', - 'vivado' - ]); - }); - - pickWidget.onDidChangeSelection(items => { - _selectVlogLinterItem = items[0]; - }); - - pickWidget.onDidAccept(async () => { - if (_selectVlogLinterItem) { - const linterConfiguration = vscode.workspace.getConfiguration(VLOG_LINTER_CONFIG_NAME); - linterConfiguration.update('diagnostor', _selectVlogLinterItem.name); - - await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { - configs: [ - { name: VLOG_LINTER_CONFIG_NAME + '.diagnostor', value: _selectVlogLinterItem.name }, - { name: 'path', value: _selectVlogLinterItem.linterPath } - ], - configType: 'linter' - }); - - pickWidget.hide(); - } - }); - - pickWidget.show(); -} - -/** - * @description 选择 system verilog 的诊断器 - */ -export async function pickSvlogLinter() { - const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = t('info.linter.pick-for-system-verilog'); - pickWidget.canSelectMany = false; - - const client = LspClient.DigitalIDE; - if (!client) { - // 尚未启动,退出 - return; - } - - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Notification, - title: t("info.command.loading"), - cancellable: true - }, async () => { - pickWidget.items = await makeLinterOptions(client, HdlLangID.SystemVerilog, [ - 'modelsim', - 'verible', - 'verilator', - 'vivado' - ]); - }); - - pickWidget.onDidChangeSelection(items => { - _selectSvlogLinterItem = items[0]; - }); - - pickWidget.onDidAccept(async () => { - if (_selectSvlogLinterItem) { - const linterConfiguration = vscode.workspace.getConfiguration(SVLOG_LINTER_CONFIG_NAME); - linterConfiguration.update('diagnostor', _selectSvlogLinterItem.name); - - await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { - configs: [ - { name: SVLOG_LINTER_CONFIG_NAME + '.diagnostor', value: _selectSvlogLinterItem.name }, - { name: 'path', value: _selectSvlogLinterItem.linterPath } - ], - configType: 'linter' - }); - - pickWidget.hide(); - } - }); - - pickWidget.show(); -} - -/** - * @description 选择 vhdl 的诊断器 - */ -export async function pickVhdlLinter() { - const pickWidget = vscode.window.createQuickPick(); - pickWidget.placeholder = t('info.linter.pick-for-vhdl'); - pickWidget.canSelectMany = false; - - const client = LspClient.DigitalIDE; - if (!client) { - // 尚未启动,退出 - return; - } - - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Notification, - title: t("info.command.loading"), - cancellable: true - }, async () => { - pickWidget.items = await makeLinterOptions(client, HdlLangID.Vhdl, [ - 'modelsim', - 'vivado' - ]); - }); - - pickWidget.onDidChangeSelection(items => { - _selectVhdlLinterItem = items[0]; - }); - - pickWidget.onDidAccept(async () => { - if (_selectVhdlLinterItem) { - const linterConfiguration = vscode.workspace.getConfiguration(VHDL_LINTER_CONFIG_NAME); - linterConfiguration.update('diagnostor', _selectVhdlLinterItem.name); - - await LspClient.DigitalIDE?.sendRequest(UpdateConfigurationType, { - configs: [ - { name: VHDL_LINTER_CONFIG_NAME + '.diagnostor', value: _selectVhdlLinterItem.name }, - { name: 'path', value: _selectVhdlLinterItem.linterPath }, - ], - configType: 'linter' - }); - - pickWidget.hide(); - } - }); - - pickWidget.show(); -} diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts new file mode 100644 index 0000000..7c42ef9 --- /dev/null +++ b/src/function/lsp/linter/common.ts @@ -0,0 +1,112 @@ +import * as vscode from 'vscode'; +import * as fs from 'fs'; + +import { vivadoLinter } from './vivado'; +import { modelsimLinter } from './modelsim'; +import { HdlLangID } from '../../../global/enum'; +import { t } from '../../../i18n'; +import { LspClient } from '../../../global'; +import { LinterStatusRequestType, UpdateConfigurationType } from '../../../global/lsp'; +import { LanguageClient } from 'vscode-languageclient/node'; + +export interface LinterItem extends vscode.QuickPickItem { + name: SupportLinterName + linterPath: string + available: boolean +} + +export let _selectVlogLinterItem: LinterItem | undefined = undefined; +export let _selectSvlogLinterItem: LinterItem | undefined = undefined; +export let _selectVhdlLinterItem: LinterItem | undefined = undefined; + +// 第三方诊断器路径的相关配置 +// iverilog digital-ide.prj.iverilog.install.path +// vivado digital-ide.prj.vivado.install.path +// modelsim digital-ide.prj.modelsim.install.path +// verible digital-ide.prj.verible.install.path +// verilator digital-ide.prj.verilator.install.path +export type SupportLinterName = 'iverilog' | 'vivado' | 'modelsim' | 'verible' | 'verilator'; + +/** + * @description 获取指向【当前的 linter 的名字】的配置的名字,比如 `digital-ide.function.lsp.linter.verilog.diagnostor` + */ +export function getLinterConfigurationName(langID: HdlLangID): string { + return `digital-ide.function.lsp.linter.${langID}.diagnostor`; +} + +/** + * @description 获取当前的 linter 的名字,比如 `vivado` + */ +export function getLinterName(langID: HdlLangID): SupportLinterName { + const linterConfigurationName = getLinterConfigurationName(langID); + return vscode.workspace.getConfiguration().get(linterConfigurationName, 'vivado'); +} + +export function updateLinterConfigurationName(langID: HdlLangID, linterName: SupportLinterName) { + const sectionName = `digital-ide.function.lsp.linter.${langID}`; + const linterConfiguration = vscode.workspace.getConfiguration(sectionName); + linterConfiguration.update('diagnostor', linterName, vscode.ConfigurationTarget.Global); +} + +export function getLinterInstallConfigurationName(linterName: SupportLinterName): string { + return `digital-ide.prj.${linterName}.install.path`; +} + +/** + * @description 生成 PickItem,这个过程中会对当前 linterName 的有效性进行校验 + * @param client + * @param langID + * @param linterName + * @returns + */ +export async function makeLinterNamePickItem( + client: LanguageClient, + langID: HdlLangID, + linterName: SupportLinterName +): Promise { + const configuration = vscode.workspace.getConfiguration(); + const linterInstallConfigurationName = getLinterInstallConfigurationName(linterName); + const linterPath = configuration.get(linterInstallConfigurationName, ''); + + const linterStatus = await client.sendRequest(LinterStatusRequestType, { + languageId: langID, + linterName, + linterPath + }); + + return { + label: '$(getting-started-beginner) ' + linterName, + name: linterName, + linterPath, + available: linterStatus.available, + description: linterStatus.toolName, + detail: t('info.common.some-is-ready', linterStatus.invokeName) + } +} + +export async function makeLinterOptions( + client: LanguageClient, + langID: HdlLangID, + linters: SupportLinterName[] +) { + const pools = []; + for (const name of linters) { + pools.push(makeLinterNamePickItem(client, langID, name)) + } + + const items = []; + for (const p of pools) { + items.push(await p); + } + return items; +} + +export enum LinterMode { + Full = 'full', + Single = 'single', + Shutdown = 'shutdown' +} + +export function getLinterMode(): LinterMode { + return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Full); +} \ No newline at end of file diff --git a/src/function/lsp/linter/default.ts b/src/function/lsp/linter/default.ts deleted file mode 100644 index d9556cf..0000000 --- a/src/function/lsp/linter/default.ts +++ /dev/null @@ -1,166 +0,0 @@ -import * as vscode from 'vscode'; -import { isVerilogFile, isVhdlFile } from '../../../hdlFs/file'; -import { All, Position } from '../../../hdlParser/common'; -import { BaseLinter } from './base'; -import { LspOutput, ReportType } from '../../../global'; - - -class DefaultVlogLinter implements BaseLinter { - diagnostic: vscode.DiagnosticCollection; - constructor() { - this.diagnostic = vscode.languages.createDiagnosticCollection('Digital-IDE Default Linter'); - } - - async lint(document: vscode.TextDocument): Promise { - const filePath = document.fileName; - // const vlogAll = await hdlSymbolStorage.getSymbol(filePath); - // // console.log('lint all finish'); - - // if (vlogAll) { - // const diagnostics = this.provideDiagnostics(document, vlogAll); - // this.diagnostic.set(document.uri, diagnostics); - // } - } - - private provideDiagnostics(document: vscode.TextDocument, all: All): vscode.Diagnostic[] { - const diagnostics: vscode.Diagnostic[] = []; - if (all.error && all.error.length > 0) { - for (const hdlError of all.error) { - LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, { - level: ReportType.Run - }); - const syntaxInfo = hdlError.message.replace(/\\r\\n/g, '\n'); - const range = this.makeCorrectRange(document, hdlError.range); - const diag = new vscode.Diagnostic(range, syntaxInfo, hdlError.severity); - diag.source = hdlError.source; - diagnostics.push(diag); - } - } - return diagnostics; - } - - private makeCorrectRange(document: vscode.TextDocument, range: Position): vscode.Range { - range.line --; - if (range.character === 0 && range.line > 0) { - range.line --; - } - - while (range.line > 0) { - const lineContent = document.lineAt(range.line).text; - if (lineContent.trim().length > 0) { - break; - } else { - range.line --; - } - } - - const currentLine = document.lineAt(range.line).text; - if (range.character === 0 && currentLine.trim().length > 0) { - range.character = currentLine.trimEnd().length; - } - - const position = new vscode.Position(range.line, range.character); - const wordRange = document.getWordRangeAtPosition(position, /[`_0-9a-zA-Z]+/); - if (wordRange) { - return wordRange; - } else { - const errorEnd = new vscode.Position(range.line, range.character + 1); - const errorRange = new vscode.Range(position, errorEnd); - return errorRange; - } - } - - async remove(uri: vscode.Uri) { - this.diagnostic.delete(uri); - } - - public async initialise() { - // move code to outer layer - return true; - } -} - -class DefaultVhdlLinter implements BaseLinter { - diagnostic: vscode.DiagnosticCollection; - constructor() { - this.diagnostic = vscode.languages.createDiagnosticCollection(); - } - - async lint(document: vscode.TextDocument): Promise { - const filePath = document.fileName; - // const vhdlAll = await hdlSymbolStorage.getSymbol(filePath); - // // console.log('lint all finish'); - - // if (vhdlAll) { - // const diagnostics = this.provideDiagnostics(document, vhdlAll); - // this.diagnostic.set(document.uri, diagnostics); - // } - } - - private provideDiagnostics(document: vscode.TextDocument, all: All): vscode.Diagnostic[] { - const diagnostics: vscode.Diagnostic[] = []; - if (all.error && all.error.length > 0) { - for (const hdlError of all.error) { - LspOutput.report(` line: ${hdlError.range.line}, info: ${hdlError.message}`, { - level: ReportType.Run - }); - - const range = this.makeCorrectRange(document, hdlError.range); - const diag = new vscode.Diagnostic(range, hdlError.message, hdlError.severity); - diag.source = hdlError.source; - diagnostics.push(diag); - } - } - return diagnostics; - } - - private makeCorrectRange(document: vscode.TextDocument, range: Position): vscode.Range { - range.line --; - if (range.character === 0 && range.line > 0) { - range.line --; - } - - while (range.line > 0) { - const lineContent = document.lineAt(range.line).text; - if (lineContent.trim().length > 0) { - break; - } else { - range.line --; - } - } - - const currentLine = document.lineAt(range.line).text; - if (range.character === 0 && currentLine.trim().length > 0) { - range.character = currentLine.trimEnd().length; - } - - const position = new vscode.Position(range.line, range.character); - const wordRange = document.getWordRangeAtPosition(position, /[`_0-9a-zA-Z]+/); - if (wordRange) { - return wordRange; - } else { - const errorEnd = new vscode.Position(range.line, range.character + 1); - const errorRange = new vscode.Range(position, errorEnd); - return errorRange; - } - } - - async remove(uri: vscode.Uri) { - this.diagnostic.delete(uri); - } - - public async initialise() { - // move code to outer layer - return true; - } -} - -const defaultVlogLinter = new DefaultVlogLinter(); -const defaultVhdlLinter = new DefaultVhdlLinter(); - -export { - defaultVlogLinter, - defaultVhdlLinter, - DefaultVlogLinter, - DefaultVhdlLinter -}; diff --git a/src/function/lsp/linter/index.ts b/src/function/lsp/linter/index.ts index 2c70be1..d538760 100644 --- a/src/function/lsp/linter/index.ts +++ b/src/function/lsp/linter/index.ts @@ -1,14 +1,11 @@ -import { vlogLinterManager } from './vlog'; -import { vhdlLinterManager } from './vhdl'; -import { svlogLinterManager } from './svlog'; - -import { pickVlogLinter, pickVhdlLinter, pickSvlogLinter } from './command'; +import { + vlogLinterManager, + vhdlLinterManager, + svlogLinterManager +} from './manager'; export { vlogLinterManager, vhdlLinterManager, - svlogLinterManager, - pickVlogLinter, - pickVhdlLinter, - pickSvlogLinter, + svlogLinterManager }; \ No newline at end of file diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts new file mode 100644 index 0000000..9e25a34 --- /dev/null +++ b/src/function/lsp/linter/manager.ts @@ -0,0 +1,261 @@ +import * as vscode from 'vscode'; +import { LspClient, LspOutput, ReportType } from '../../../global'; +import { HdlLangID } from '../../../global/enum'; +import { hdlFile, hdlPath } from '../../../hdlFs'; +import { t } from '../../../i18n'; +import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterMode, getLinterName, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; +import { LinterStatusRequestType, UpdateConfigurationType } from '../../../global/lsp'; +import { LanguageClient } from 'vscode-languageclient/node'; + +class LinterManager { + /** + * @description 当前诊断器管理者绑定的语言 + */ + langID: HdlLangID; + + /** + * @description 描述当前诊断器管理者支持哪些第三方诊断器 + */ + supportLinters: SupportLinterName[]; + + /** + * @description 内部变量,用来存储用户选择的诊断器,也是 picker 操作结果的绑定值 + */ + currentLinterItem: LinterItem | undefined; + + /** + * @description 诊断器管理者绑定的右下角的 status item + */ + statusBarItem: vscode.StatusBarItem; + + /** + * @description 用户保证 start 函数的必要操作为幂等的 + */ + started: boolean; + + /** + * @description 绑定的 lsp,当 started 为 true 时,该值一定不为 undefined + */ + lspClient: LanguageClient | undefined; + + constructor(langID: HdlLangID, supportLinters: SupportLinterName[]) { + this.langID = langID; + this.supportLinters = supportLinters; + this.started = false; + this.currentLinterItem = undefined; + this.lspClient = undefined; + + // 在窗体右下角创建一个状态栏,用于显示目前激活的诊断器 + this.statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right); + this.statusBarItem.command = this.getLinterPickCommand(); + + // 对切换时间进行监听,如果不是目前的语言,则隐藏 + this.registerActiveTextEditorChangeEvent(langID); + } + + /** + * @description 根据 语言 或者对应选择诊断器的 command + * @param langID + * @returns + */ + public getLinterPickCommand() { + switch (this.langID) { + case HdlLangID.Verilog: + return 'digital-ide.lsp.vlog.linter.pick'; + case HdlLangID.SystemVerilog: + return 'digital-ide.lsp.svlog.linter.pick'; + case HdlLangID.Vhdl: + return 'digital-ide.lsp.vhdl.linter.pick'; + default: + break; + } + return 'digital-ide.lsp.vlog.linter.pick'; + } + + /** + * @description 手动更新 currentLinterItem,仅在外部更新 status bar 时使用 + * @param client + */ + public async updateCurrentLinterItem(client?: LanguageClient) { + client = client ? client : this.lspClient; + if (client) { + const linterName = getLinterName(this.langID); + this.currentLinterItem = await makeLinterNamePickItem(client, this.langID, linterName); + } + } + + /** + * @description 启动诊断器 + * @returns + */ + async start(client: LanguageClient): Promise { + // 根据配置选择对应的诊断器 + await this.updateCurrentLinterItem(client); + + // TODO: 根据当前的诊断模式进行选择 + + + // 注册内部命令 + if (!this.started) { + const pickerCommand = this.getLinterPickCommand(); + vscode.commands.registerCommand(pickerCommand, () => { + this.pickLinter(); + }); + } + + // 保证幂等 + this.started = true; + this.lspClient = client; + + // 如果当前窗口语言为绑定语言,则显示 bar;否则,隐藏它 + const editor = vscode.window.activeTextEditor; + if (editor && this.langID === hdlFile.getLanguageId(editor.document.fileName)) { + this.updateStatusBar(); + } else { + this.statusBarItem.hide(); + } + + LspOutput.report(t('info.linter.finish-init', "verilog", this.currentLinterItem?.name || 'unknown'), { + level: ReportType.Launch + }); + } + + /** + * @description 刷新当前工作区所有文件的 linter 状态。仅仅在初始化和更新配置文件时需要使用。 + */ + public async refreshWorkspaceLinterResult(linterMode: LinterMode) { + switch (linterMode) { + case LinterMode.Full: + + break; + case LinterMode.Single: + + break; + case LinterMode.Shutdown: + + break; + default: + break; + } + } + + /** + * @description 更新右下角 status bar 的状态 + */ + public updateStatusBar() { + const statusBarItem = this.statusBarItem; + const currentLinterItem = this.currentLinterItem; + if (currentLinterItem) { + if (currentLinterItem.available) { + statusBarItem.text = `$(getting-started-beginner) Linter(${currentLinterItem.name})`; + } else { + statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); + statusBarItem.tooltip = t('error.linter.status-bar.tooltip', currentLinterItem.name); + statusBarItem.text = `$(extensions-warning-message) Linter(${currentLinterItem.name})`; + LspOutput.report(t('error.linter.status-bar.tooltip', currentLinterItem.name), { + level: ReportType.Error + }); + } + statusBarItem.show(); + } + } + + private registerActiveTextEditorChangeEvent(langID: HdlLangID) { + vscode.window.onDidChangeActiveTextEditor(editor => { + if (!editor) { + return; + } + const currentFileName = hdlPath.toSlash(editor.document.fileName); + const currentID = hdlFile.getLanguageId(currentFileName); + if (langID === currentID) { + this.updateStatusBar(); + } else { + this.statusBarItem.hide(); + } + }); + } + + private makePickTitle() { + switch (this.langID) { + case HdlLangID.Verilog: + return t("info.linter.pick-for-verilog"); + case HdlLangID.SystemVerilog: + return t("info.linter.pick-for-system-verilog"); + case HdlLangID.Vhdl: + return t("info.linter.pick-for-vhdl"); + default: + return t("info.linter.pick-for-verilog"); + } + } + + /** + * @description 为当前的语言选择一个诊断器 + */ + public async pickLinter() { + const pickWidget = vscode.window.createQuickPick(); + pickWidget.placeholder = this.makePickTitle(); + pickWidget.canSelectMany = false; + + const client = this.lspClient; + if (!client) { + return; + } + + // 制作 pick 的选项卡,选项卡的每一个子项目都经过检查 + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: t('info.command.loading'), + cancellable: true + }, async () => { + pickWidget.items = await makeLinterOptions(client, this.langID, this.supportLinters); + }); + + // 激活当前的 linter name 对应的选项卡 + const currentLinterName = getLinterName(this.langID); + const activeItems = pickWidget.items.filter(item => item.name === currentLinterName); + pickWidget.activeItems = activeItems; + + pickWidget.onDidChangeSelection(items => { + this.currentLinterItem = items[0]; + }); + + pickWidget.onDidAccept(async () => { + if (this.currentLinterItem) { + // 更新 vscode 配置文件 + updateLinterConfigurationName(this.langID, this.currentLinterItem.name); + // 更新后端 + await client.sendRequest(UpdateConfigurationType, { + configs: [ + { name: getLinterConfigurationName(this.langID), value: this.currentLinterItem.name }, + { name: 'path', value: this.currentLinterItem.linterPath } + ], + configType: 'linter' + }); + // 更新 status bar + this.updateStatusBar(); + + pickWidget.hide(); + } + }); + + pickWidget.show(); + } +} + +export const vlogLinterManager = new LinterManager(HdlLangID.Verilog, [ + 'iverilog', + 'modelsim', + 'verible', + 'verilator', + 'vivado' +]); +export const vhdlLinterManager = new LinterManager(HdlLangID.Vhdl, [ + 'modelsim', + 'vivado' +]); +export const svlogLinterManager = new LinterManager(HdlLangID.SystemVerilog, [ + 'modelsim', + 'verible', + 'verilator', + 'vivado' +]); \ No newline at end of file diff --git a/src/function/lsp/linter/modelsim.ts b/src/function/lsp/linter/modelsim.ts index 91cfb8f..a973660 100644 --- a/src/function/lsp/linter/modelsim.ts +++ b/src/function/lsp/linter/modelsim.ts @@ -4,10 +4,9 @@ import * as fs from 'fs'; import { LspOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; -import { BaseLinter } from "./base"; import { HdlLangID } from "../../../global/enum"; -class ModelsimLinter implements BaseLinter { +class ModelsimLinter { diagnostic: vscode.DiagnosticCollection; executableFileMap: Map = new Map(); executableInvokeNameMap: Map = new Map(); diff --git a/src/function/lsp/linter/svlog.ts b/src/function/lsp/linter/svlog.ts deleted file mode 100644 index 4ff1307..0000000 --- a/src/function/lsp/linter/svlog.ts +++ /dev/null @@ -1,202 +0,0 @@ -import * as vscode from 'vscode'; -import { LspOutput, ReportType } from '../../../global'; -import { HdlLangID } from '../../../global/enum'; -import { BaseLinter, BaseManager } from './base'; -import { defaultVlogLinter } from './default'; -import { modelsimLinter } from './modelsim'; -import { vivadoLinter } from './vivado'; -import { hdlFile, hdlPath } from '../../../hdlFs'; - -class SvlogLinterManager implements BaseManager { - currentLinter: BaseLinter | undefined; - activateLinterName: string; - statusBarItem: vscode.StatusBarItem; - initialized: boolean; - - constructor() { - this.activateLinterName = 'default'; - this.initialized = false; - - // make a status bar for rendering - this.statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right); - this.statusBarItem.command = 'digital-ide.lsp.svlog.linter.pick'; - - // when changing file, hide if langID is not verilog - vscode.window.onDidChangeActiveTextEditor(editor => { - if (!editor) { - return; - } - const currentFileName = hdlPath.toSlash(editor.document.fileName); - - if (hdlFile.isSystemVerilogFile(currentFileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - }); - - // update when user's config is changed - vscode.workspace.onDidChangeConfiguration(() => { - this.updateLinter(); - }); - } - - async initialise(): Promise { - const success = await this.updateLinter(); - - if (!success) { - return; - } - - this.initialized = true; - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isSystemVerilogFile(fileName)) { - await this.lint(doc); - } - } - LspOutput.report(' finish initialization of svlog linter. Linter name: ' + this.activateLinterName, { - level: ReportType.Launch - }); - - // hide it if current window is not verilog - const editor = vscode.window.activeTextEditor; - if (editor && hdlFile.isSystemVerilogFile(editor.document.fileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - } - - async lint(document: vscode.TextDocument) { - this.currentLinter?.remove(document.uri); - await this.currentLinter?.lint(document); - } - - async remove(uri: vscode.Uri): Promise { - this.currentLinter?.remove(uri); - } - - public getUserDiagnostorSelection() { - const vlogLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.svlog'); - const diagnostor = vlogLspConfig.get('diagnostor', 'xxx'); - return diagnostor; - } - - public async updateLinter(): Promise { - const diagnostorName = this.getUserDiagnostorSelection(); - - const lastDiagnostorName = this.activateLinterName; - const lastDiagnostor = this.currentLinter; - - if (this.initialized && diagnostorName === lastDiagnostorName) { - // no need for update - return true; - } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { - level: ReportType.Launch - }); - - let launch = false; - switch (diagnostorName) { - case 'vivado': launch = await this.activateVivado(); break; - case 'modelsim': launch = await this.activateModelsim(); break; - case 'default': launch = await this.activateDefault(); break; - default: launch = await this.activateDefault(); break; - } - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isSystemVerilogFile(fileName)) { - lastDiagnostor?.remove(doc.uri); - await this.lint(doc); - } - } - - return launch; - } - - public async activateVivado(): Promise { - const selectedLinter = vivadoLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.SystemVerilog); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - - LspOutput.report(' vivado linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch vivado linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - - LspOutput.report(' Fail to launch vivado linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'vivado'; - this.statusBarItem.show(); - - return launch; - } - - public async activateModelsim(): Promise { - const selectedLinter = modelsimLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.SystemVerilog); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - - LspOutput.report(' modelsim linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - - LspOutput.report(' Fail to launch modelsim linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'modelsim'; - this.statusBarItem.show(); - - return launch; - } - - public async activateDefault(): Promise { - const selectedLinter = defaultVlogLinter; - let launch = true; - - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - - LspOutput.report(' default build-in linter has been activated'); - } else { - this.statusBarItem.backgroundColor = undefined; - this.statusBarItem.tooltip = 'Fail to launch default linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - - LspOutput.report(' Fail to launch default linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'default'; - this.statusBarItem.show(); - - return launch; - } -} - -const svlogLinterManager = new SvlogLinterManager(); - -export { - svlogLinterManager -}; diff --git a/src/function/lsp/linter/verilator.ts b/src/function/lsp/linter/verilator.ts index 84a32eb..06668b0 100644 --- a/src/function/lsp/linter/verilator.ts +++ b/src/function/lsp/linter/verilator.ts @@ -4,12 +4,11 @@ import * as fs from 'fs'; import { LspOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; -import { BaseLinter } from "./base"; import { HdlLangID } from "../../../global/enum"; type Path = string; -class VerilatorLinter implements BaseLinter { +class VerilatorLinter { diagnostic: vscode.DiagnosticCollection; executableFileMap: Map = new Map(); executableInvokeNameMap: Map = new Map(); diff --git a/src/function/lsp/linter/vhdl.ts b/src/function/lsp/linter/vhdl.ts deleted file mode 100644 index 612a2b5..0000000 --- a/src/function/lsp/linter/vhdl.ts +++ /dev/null @@ -1,202 +0,0 @@ -import * as vscode from 'vscode'; -import { LspOutput, ReportType } from '../../../global'; -import { HdlLangID } from '../../../global/enum'; -import { BaseLinter, BaseManager } from './base'; -import { defaultVhdlLinter } from './default'; -import { modelsimLinter } from './modelsim'; -import { vivadoLinter } from './vivado'; -import { hdlFile, hdlPath } from '../../../hdlFs'; - -class VhdlLinterManager implements BaseManager { - currentLinter: BaseLinter | undefined; - activateLinterName: string; - statusBarItem: vscode.StatusBarItem; - initialized: boolean; - - constructor() { - this.activateLinterName = 'default'; - this.initialized = false; - - // make a status bar for rendering - this.statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right); - this.statusBarItem.command = 'digital-ide.lsp.vhdl.linter.pick'; - - // when changing file, hide if langID is not vhdl - vscode.window.onDidChangeActiveTextEditor(editor => { - if (!editor) { - return; - } - const currentFileName = hdlPath.toSlash(editor.document.fileName); - - if (hdlFile.isVhdlFile(currentFileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - }); - - // update when user's config is changed - vscode.workspace.onDidChangeConfiguration(() => { - this.updateLinter(); - }); - } - - async initialise(): Promise { - const success = await this.updateLinter(); - - if (!success) { - return; - } - - this.initialized = true; - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isVhdlFile(fileName)) { - await this.lint(doc); - } - } - LspOutput.report(' finish initialization of vhdl linter. Linter name: ' + this.activateLinterName, { - level: ReportType.Launch - }); - - // hide it if current window is not vhdl - const editor = vscode.window.activeTextEditor; - if (editor && hdlFile.isVhdlFile(editor.document.fileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - } - - async lint(document: vscode.TextDocument) { - this.currentLinter?.remove(document.uri); - await this.currentLinter?.lint(document); - } - - async remove(uri: vscode.Uri): Promise { - this.currentLinter?.remove(uri); - } - - public getUserDiagnostorSelection() { - const vhdlLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.vhdl'); - const diagnostor = vhdlLspConfig.get('diagnostor', 'xxx'); - return diagnostor; - } - - public async updateLinter(): Promise { - const diagnostorName = this.getUserDiagnostorSelection(); - - const lastDiagnostorName = this.activateLinterName; - const lastDiagnostor = this.currentLinter; - - if (this.initialized && diagnostorName === lastDiagnostorName) { - // no need for update - return true; - } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { - level: ReportType.Launch - }); - - let launch = false; - switch (diagnostorName) { - case 'vivado': launch = await this.activateVivado(); break; - case 'modelsim': launch = await this.activateModelsim(); break; - case 'default': launch = await this.activateDefault(); break; - default: launch = await this.activateDefault(); break; - } - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isVhdlFile(fileName)) { - lastDiagnostor?.remove(doc.uri); - await this.lint(doc); - } - } - - return launch; - } - - public async activateVivado(): Promise { - const selectedLinter = vivadoLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.Vhdl); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - - LspOutput.report(' vivado linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch vivado linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - - LspOutput.report(' Fail to launch vivado linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'vivado'; - this.statusBarItem.show(); - - return launch; - } - - public async activateModelsim(): Promise { - const selectedLinter = modelsimLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.Vhdl); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - - LspOutput.report(' modelsim linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - - LspOutput.report(' Fail to launch modelsim linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'modelsim'; - this.statusBarItem.show(); - - return launch; - } - - public async activateDefault(): Promise { - const selectedLinter = defaultVhdlLinter; - let launch = true; - - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - - LspOutput.report(' default build-in linter has been activated'); - } else { - this.statusBarItem.backgroundColor = undefined; - this.statusBarItem.tooltip = 'Fail to launch default linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - - LspOutput.report(' Fail to launch default linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'default'; - this.statusBarItem.show(); - - return launch; - } -} - -const vhdlLinterManager = new VhdlLinterManager(); - -export { - vhdlLinterManager -}; diff --git a/src/function/lsp/linter/vivado.ts b/src/function/lsp/linter/vivado.ts index ae357f6..157679d 100644 --- a/src/function/lsp/linter/vivado.ts +++ b/src/function/lsp/linter/vivado.ts @@ -4,12 +4,11 @@ import * as fs from 'fs'; import { LspOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; -import { BaseLinter } from "./base"; import { HdlLangID } from "../../../global/enum"; type Path = string; -class VivadoLinter implements BaseLinter { +class VivadoLinter { diagnostic: vscode.DiagnosticCollection; executableFileMap: Map = new Map(); executableInvokeNameMap: Map = new Map(); diff --git a/src/function/lsp/linter/vlog.ts b/src/function/lsp/linter/vlog.ts deleted file mode 100644 index 18500cb..0000000 --- a/src/function/lsp/linter/vlog.ts +++ /dev/null @@ -1,202 +0,0 @@ -import * as vscode from 'vscode'; -import { LspOutput, ReportType } from '../../../global'; -import { HdlLangID } from '../../../global/enum'; -import { BaseLinter, BaseManager } from './base'; -import { defaultVlogLinter } from './default'; -import { modelsimLinter } from './modelsim'; -import { vivadoLinter } from './vivado'; -import { hdlFile, hdlPath } from '../../../hdlFs'; - -class VlogLinterManager implements BaseManager { - currentLinter: BaseLinter | undefined; - activateLinterName: string; - statusBarItem: vscode.StatusBarItem; - initialized: boolean; - - constructor() { - this.activateLinterName = 'default'; - this.initialized = false; - - // make a status bar for rendering - this.statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right); - this.statusBarItem.command = 'digital-ide.lsp.vlog.linter.pick'; - - // when changing file, hide if langID is not verilog - vscode.window.onDidChangeActiveTextEditor(editor => { - if (!editor) { - return; - } - const currentFileName = hdlPath.toSlash(editor.document.fileName); - - if (hdlFile.isVerilogFile(currentFileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - }); - - // update when user's config is changed - vscode.workspace.onDidChangeConfiguration(() => { - this.updateLinter(); - }); - } - - async initialise(): Promise { - const success = await this.updateLinter(); - - if (!success) { - return; - } - - this.initialized = true; - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isVerilogFile(fileName)) { - await this.lint(doc); - } - } - LspOutput.report(' finish initialization of vlog linter. Linter name: ' + this.activateLinterName, { - level: ReportType.Launch - }); - - // hide it if current window is not verilog - const editor = vscode.window.activeTextEditor; - if (editor && hdlFile.isVerilogFile(editor.document.fileName)) { - this.statusBarItem.show(); - } else { - this.statusBarItem.hide(); - } - } - - async lint(document: vscode.TextDocument) { - this.currentLinter?.remove(document.uri); - await this.currentLinter?.lint(document); - } - - async remove(uri: vscode.Uri): Promise { - this.currentLinter?.remove(uri); - } - - public getUserDiagnostorSelection() { - const vlogLspConfig = vscode.workspace.getConfiguration('digital-ide.function.lsp.linter.vlog'); - const diagnostor = vlogLspConfig.get('diagnostor', 'xxx'); - return diagnostor; - } - - public async updateLinter(): Promise { - const diagnostorName = this.getUserDiagnostorSelection(); - - const lastDiagnostorName = this.activateLinterName; - const lastDiagnostor = this.currentLinter; - - if (this.initialized && diagnostorName === lastDiagnostorName) { - // no need for update - return true; - } - LspOutput.report(` detect linter setting changes, switch from ${lastDiagnostorName} to ${diagnostorName}.`, { - level: ReportType.Launch - }); - - let launch = false; - switch (diagnostorName) { - case 'vivado': launch = await this.activateVivado(); break; - case 'modelsim': launch = await this.activateModelsim(); break; - case 'default': launch = await this.activateDefault(); break; - default: launch = await this.activateDefault(); break; - } - - for (const doc of vscode.workspace.textDocuments) { - const fileName = hdlPath.toSlash(doc.fileName); - if (hdlFile.isVerilogFile(fileName)) { - lastDiagnostor?.remove(doc.uri); - await this.lint(doc); - } - } - - return launch; - } - - public async activateVivado(): Promise { - const selectedLinter = vivadoLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.Verilog); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(vivado)'; - - LspOutput.report(' vivado linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch vivado linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(vivado)'; - - LspOutput.report(' Fail to launch vivado linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'vivado'; - this.statusBarItem.show(); - - return launch; - } - - public async activateModelsim(): Promise { - const selectedLinter = modelsimLinter; - let launch = true; - - launch = await selectedLinter.initialise(HdlLangID.Verilog); - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(modelsim)'; - - LspOutput.report(' modelsim linter has been activated'); - } else { - this.statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); - this.statusBarItem.tooltip = 'Fail to launch modelsim linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(modelsim)'; - - LspOutput.report(' Fail to launch modelsim linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'modelsim'; - this.statusBarItem.show(); - - return launch; - } - - public async activateDefault(): Promise { - const selectedLinter = defaultVlogLinter; - let launch = true; - - if (launch) { - this.statusBarItem.text = '$(getting-started-beginner) Linter(default)'; - - LspOutput.report(' default build-in linter has been activated'); - } else { - this.statusBarItem.backgroundColor = undefined; - this.statusBarItem.tooltip = 'Fail to launch default linter'; - this.statusBarItem.text = '$(extensions-warning-message) Linter(default)'; - - LspOutput.report(' Fail to launch default linter', { - level: ReportType.Error - }); - } - - this.currentLinter = selectedLinter; - this.activateLinterName = 'default'; - this.statusBarItem.show(); - - return launch; - } -} - -const vlogLinterManager = new VlogLinterManager(); - -export { - vlogLinterManager -}; diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 7d169ab..82dcf36 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -863,7 +863,6 @@ class HdlModule { const instances = new Set(); // 获取自身的 for (const inst of this.nameToInstances.values()) { - console.log(inst); instances.add(inst); // 递归获取 inst 的 if (inst.module) { @@ -1148,8 +1147,6 @@ export class HdlFile { // add to global hdlParam hdlParam.setHdlFile(this); - console.log(modules); - // make nameToModule this.nameToModule = new Map(); for (const rawHdlModule of modules) { diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts index 712fe8d..5f6b023 100644 --- a/src/monitor/hdl.ts +++ b/src/monitor/hdl.ts @@ -164,17 +164,6 @@ export class HdlAction extends BaseAction { // 下一个版本丢弃,完全由后端承担这部分功能 async updateLinter(path: string) { - const uri = vscode.Uri.file(path); - const document = await vscode.workspace.openTextDocument(uri); - const langID = hdlFile.getLanguageId(path); - - if (langID === HdlLangID.Verilog) { - vlogLinterManager.lint(document); - } else if (langID === HdlLangID.Vhdl) { - vhdlLinterManager.lint(document); - } else if (langID === HdlLangID.SystemVerilog) { - svlogLinterManager.lint(document); - } } } From 9b77a614d524aac45bb741c8a30e4e5873701857 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 10 Dec 2024 21:52:10 +0800 Subject: [PATCH 018/107] =?UTF-8?q?=E5=AE=8C=E6=88=90=20iverilog=20|=20ver?= =?UTF-8?q?ilator=20|=20verible=20=E8=AF=8A=E6=96=AD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 5 ++- l10n/bundle.l10n.en.json | 5 ++- l10n/bundle.l10n.ja.json | 5 ++- l10n/bundle.l10n.zh-cn.json | 5 ++- l10n/bundle.l10n.zh-tw.json | 5 ++- package.json | 13 ++++++++ package.nls.de.json | 5 ++- package.nls.ja.json | 5 ++- package.nls.json | 5 ++- package.nls.zh-cn.json | 5 ++- package.nls.zh-tw.json | 5 ++- src/function/index.ts | 3 -- src/function/lsp-client/cdn.ts | 40 ----------------------- src/function/lsp-client/config.ts | 44 +++++++++++++++++++++++--- src/function/lsp-client/index.ts | 6 ++-- src/function/lsp/linter/common.ts | 28 +++++++++++++---- src/function/lsp/linter/index.ts | 8 +++-- src/function/lsp/linter/manager.ts | 47 +++++++++++++++++++++------- src/function/lsp/linter/modelsim.ts | 18 +++++------ src/function/lsp/linter/verilator.ts | 14 ++++----- src/function/lsp/linter/vivado.ts | 16 +++++----- src/function/lsp/util/feature.ts | 4 +-- src/global/index.ts | 4 +-- src/global/outputChannel.ts | 4 +-- src/global/util.ts | 47 ++++++++++++++++++++++++++++ src/monitor/hdl.ts | 13 -------- 26 files changed, 236 insertions(+), 123 deletions(-) diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 22670bb..11a433f 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -91,5 +91,8 @@ "info.common.not-available": "{0} ist derzeit nicht verfügbar", "info.common.linter-name": "Diagnosetools", "info.linter.finish-init": "Initialisierung des Diagnosewerkzeugs {0} abgeschlossen, aktueller Name des Diagnosewerkzeugs {1}", - "error.linter.status-bar.tooltip": "Kann Diagnose für {0} nicht abrufen" + "error.linter.status-bar.tooltip": "Kann Diagnose für {0} nicht abrufen", + "info.linter.status-bar.tooltip": "Diagnosegerät {0} arbeitet", + "warning.linter.cannot-get-valid-linter-invoker": "Die digitale IDE kann keinen Aufrufpfad für {0} abrufen. Bitte installieren Sie den entsprechenden Diagnose-Tool und konfigurieren Sie ihn entweder in der Umgebungsvariablen PATH oder im digitalen IDE-Diagnosetool-Installationspfad.", + "info.linter.config-linter-install-path": "Installationsverzeichnis konfigurieren" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index ea02a69..7255ed1 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -91,5 +91,8 @@ "info.common.not-available": "{0} is currently unavailable", "info.common.linter-name": "Diagnostic tools", "info.linter.finish-init": "Completed initialization of the {0} diagnostic tool, current name of the diagnostic tool {1}", - "error.linter.status-bar.tooltip": "Unable to get {0} diagnoser" + "error.linter.status-bar.tooltip": "Unable to get {0} diagnoser", + "info.linter.status-bar.tooltip": "Diagnostics {0} is working", + "warning.linter.cannot-get-valid-linter-invoker": "The Digital IDE cannot retrieve the call path for {0}. Please install the corresponding diagnostic tool and configure it either in the environment variable PATH or in the Digital IDE's diagnostic tool installation path.", + "info.linter.config-linter-install-path": "Configure installation directory" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 81132eb..26b172f 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -91,5 +91,8 @@ "info.common.not-available": "{0} は現在使用できません", "info.common.linter-name": "診断ツール", "info.linter.finish-init": "{0} 診断ツールの初期化が完了しました。現在の診断ツールの名前は {1} です", - "error.linter.status-bar.tooltip": "{0} 診断機能を取得できません" + "error.linter.status-bar.tooltip": "{0} 診断機能を取得できません", + "info.linter.status-bar.tooltip": "診断ツール {0} が作動中", + "warning.linter.cannot-get-valid-linter-invoker": "デジタルIDEは{0}の呼び出しパスを取得できません。対応する診断ツールをインストールし、環境変数PATHに設定するか、デジタルIDEの診断ツールインストールパスを設定してください。", + "info.linter.config-linter-install-path": "インストールディレクトリを設定" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 3c87324..37dc988 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -91,5 +91,8 @@ "info.common.not-available": "{0} 目前不可用", "info.common.linter-name": "诊断工具", "info.linter.finish-init": "完成 {0} 诊断器的初始化,当前诊断器的名字 {1}", - "error.linter.status-bar.tooltip": "无法获取 {0} 诊断器" + "error.linter.status-bar.tooltip": "无法获取 {0} 诊断器", + "info.linter.status-bar.tooltip": "诊断器 {0} 正在工作", + "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 无法获取到关于 {0} 的调用路径,请安装对应诊断器后,配置到环境变量 PATH 或者配置 Digital IDE 对应的诊断工具安装路径", + "info.linter.config-linter-install-path": "配置安装目录" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 2f502d5..823e443 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -91,5 +91,8 @@ "info.common.not-available": "{0} 目前無法使用", "info.common.linter-name": "診斷工具", "info.linter.finish-init": "完成 {0} 診斷器的初始化,當前診斷器的名字 {1}", - "error.linter.status-bar.tooltip": "無法取得 {0} 診斷器" + "error.linter.status-bar.tooltip": "無法取得 {0} 診斷器", + "info.linter.status-bar.tooltip": "診斷器 {0} 正在運作", + "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 無法取得關於 {0} 的呼叫路徑,請安裝對應診斷器後,配置到環境變數 PATH 或者配置 Digital IDE 對應的診斷工具安裝路徑。", + "info.linter.config-linter-install-path": "配置安裝目錄" } \ No newline at end of file diff --git a/package.json b/package.json index 6b83a7d..7a58c21 100644 --- a/package.json +++ b/package.json @@ -299,6 +299,19 @@ "default": "full", "description": "%digital-ide.function.lsp.linter.linter-mode.title%" }, + "digital-ide.function.lsp.linter.linter-level": { + "type": "string", + "enumDescriptions": [ + "%digital-ide.function.lsp.linter.linter-level.error.title%", + "%digital-ide.function.lsp.linter.linter-level.warning.title%" + ], + "enum": [ + "error", + "warning" + ], + "default": "warning", + "description": "%digital-ide.function.lsp.linter.linter-level.title%" + }, "digital-ide.function.instantiation.addComment": { "description": "%digital-ide.function.instantiation.addComment.title%", "type": "boolean", diff --git a/package.nls.de.json b/package.nls.de.json index cd4515b..150bb24 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -97,5 +97,8 @@ "digital-ide.function.lsp.linter.linter-mode.title": "Diagnosemodus des Linters festlegen", "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnostizieren Sie alle Designquellen direkt und melden Sie Fehler, unabhängig davon, ob die Dateien geöffnet sind.", "digital-ide.function.lsp.linter.linter-mode.1.title": "Wenn eine einzelne Datei geschlossen ist, wird der entsprechende Fehler entfernt, und nur die geöffnete Datei wird diagnostiziert.", - "digital-ide.function.lsp.linter.linter-mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet." + "digital-ide.function.lsp.linter.linter-mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet.", + "digital-ide.function.lsp.linter.linter-level.title": "Diagnoselevel-Einstellungen des Linters", + "digital-ide.function.lsp.linter.linter-level.error.title": "Nur Fehler anzeigen", + "digital-ide.function.lsp.linter.linter-level.warning.title": "Fehler und Warnungen anzeigen" } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index 07812bd..1c6017e 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -97,5 +97,8 @@ "digital-ide.function.lsp.linter.linter-mode.title": "リンターの診断モードを指定", "digital-ide.function.lsp.linter.linter-mode.0.title": "すべての設計ソースを直接診断し、エラーを報告します。ファイルが開いているかどうかに関係なく。", "digital-ide.function.lsp.linter.linter-mode.1.title": "単一のファイルが閉じられた場合、対応するエラーが削除され、開いているファイルのみが診断されます。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。" + "digital-ide.function.lsp.linter.linter-mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。", + "digital-ide.function.lsp.linter.linter-level.title": "診断器の診断レベル設定", + "digital-ide.function.lsp.linter.linter-level.error.title": "エラーのみ表示", + "digital-ide.function.lsp.linter.linter-level.warning.title": "エラーと警告を表示" } \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 144768e..e94a291 100644 --- a/package.nls.json +++ b/package.nls.json @@ -97,5 +97,8 @@ "digital-ide.function.lsp.linter.linter-mode.title": "Specify the diagnostic mode of the linter", "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnose all design sources directly and report errors, regardless of whether the files are open.", "digital-ide.function.lsp.linter.linter-mode.1.title": "When a single file is closed, the corresponding error is removed, and only the file that is opened is diagnosed.", - "digital-ide.function.lsp.linter.linter-mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project." + "digital-ide.function.lsp.linter.linter-mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project.", + "digital-ide.function.lsp.linter.linter-level.title": "Diagnostic Level Settings for the Linter", + "digital-ide.function.lsp.linter.linter-level.error.title": "Show Only Errors", + "digital-ide.function.lsp.linter.linter-level.warning.title": "Show Errors and Warnings" } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 056b4f9..3270938 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -97,5 +97,8 @@ "digital-ide.function.lsp.linter.linter-mode.title": "指定诊断器的诊断模式", "digital-ide.function.lsp.linter.linter-mode.0.title": "将所有设计源直接进行诊断,并报错,无论文件是否打开。", "digital-ide.function.lsp.linter.linter-mode.1.title": "单文件关闭时,对应报错去除,打开哪个文件就对哪个文件进行诊断。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "全局关闭,即整个工程都不进行工程报错。" + "digital-ide.function.lsp.linter.linter-mode.2.title": "全局关闭,即整个工程都不进行工程报错。", + "digital-ide.function.lsp.linter.linter-level.title": "诊断器诊断等级设置", + "digital-ide.function.lsp.linter.linter-level.error.title": "只显示错误", + "digital-ide.function.lsp.linter.linter-level.warning.title": "显示错误和警告" } \ No newline at end of file diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index de81213..3a5cafa 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -97,5 +97,8 @@ "digital-ide.function.lsp.linter.linter-mode.title": "指定診斷器的診斷模式", "digital-ide.function.lsp.linter.linter-mode.0.title": "將所有設計源直接進行診斷,並報錯,無論文件是否打開。", "digital-ide.function.lsp.linter.linter-mode.1.title": "單文件關閉時,對應報錯去除,打開哪個文件就對哪個文件進行診斷。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "全局關閉,即整個工程都不進行工程報錯。" + "digital-ide.function.lsp.linter.linter-mode.2.title": "全局關閉,即整個工程都不進行工程報錯。", + "digital-ide.function.lsp.linter.linter-level.title": "診斷器診斷等級設置", + "digital-ide.function.lsp.linter.linter-level.error.title": "只顯示錯誤", + "digital-ide.function.lsp.linter.linter-level.warning.title": "顯示錯誤和警告" } \ No newline at end of file diff --git a/src/function/index.ts b/src/function/index.ts index 0b61fd6..0dfb863 100644 --- a/src/function/index.ts +++ b/src/function/index.ts @@ -18,9 +18,6 @@ import * as WaveView from './dide-viewer'; import { ModuleDataItem } from './treeView/tree'; import { downloadLsp } from './lsp-client'; import { hdlPath } from '../hdlFs'; -import { LspClient, opeParam } from '../global'; -import { DoFastToolChainType, SyncFastRequestType } from '../global/lsp'; -import { makeDocBody } from './hdlDoc/html'; function registerDocumentation(context: vscode.ExtensionContext) { vscode.commands.registerCommand('digital-ide.hdlDoc.showWebview', async (uri: vscode.Uri) => { diff --git a/src/function/lsp-client/cdn.ts b/src/function/lsp-client/cdn.ts index 012e7ed..0daffdd 100644 --- a/src/function/lsp-client/cdn.ts +++ b/src/function/lsp-client/cdn.ts @@ -1,46 +1,6 @@ -import * as os from 'os'; import axios from 'axios'; import { performance } from 'perf_hooks'; -enum IPlatformSignature { - x86Windows = 'windows_amd64', - aach64Windows = 'windows_aarch64', - x86Darwin = 'darwin_amd64', - aarch64Darwin = 'darwin_aarch64', - x86Linux = 'linux_amd64', - aarch64Linux = 'linux_aarch64', - unsupport = 'unsupport' -}; - -export function getPlatformPlatformSignature(): IPlatformSignature { - // Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'` - const arch = os.arch(); - - // Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`. - const osName = os.platform(); - - switch (arch) { - case 'arm': - case 'arm64': - switch (osName) { - case 'win32': return IPlatformSignature.aach64Windows; - case 'darwin': return IPlatformSignature.aarch64Darwin; - case 'linux': return IPlatformSignature.aarch64Linux; - default: return IPlatformSignature.unsupport; - } - - case 'x32': - case 'x64': - switch (osName) { - case 'win32': return IPlatformSignature.x86Windows; - case 'darwin': return IPlatformSignature.x86Darwin; - case 'linux': return IPlatformSignature.x86Linux; - default: return IPlatformSignature.unsupport; - } - - default: return IPlatformSignature.unsupport; - } -} // const link1 = 'https://gitee.com/Digital-IDE/Digital-IDE/releases/download/0.4.0/digital-lsp_0.4.0_darwin_aarch64.tar.gz'; // const link2 = 'https://github.com/Digital-EDA/Digital-IDE/releases/download/0.4.0/digital-lsp_0.4.0_darwin_aarch64.tar.gz'; diff --git a/src/function/lsp-client/config.ts b/src/function/lsp-client/config.ts index 43f318e..74048de 100644 --- a/src/function/lsp-client/config.ts +++ b/src/function/lsp-client/config.ts @@ -40,18 +40,30 @@ export async function registerConfigurationUpdater(client: LanguageClient, packa }); // 初始化,配置全部 linter 到后端 + await updateLinterInstallPathConfiguration( + client, + Linter.getLinterConfigurationName(HdlLangID.Verilog) + ); await updateLinterConfiguration( client, Linter.getLinterConfigurationName(HdlLangID.Verilog), Linter.getLinterName(HdlLangID.Verilog) ); + await updateLinterInstallPathConfiguration( + client, + Linter.getLinterConfigurationName(HdlLangID.SystemVerilog) + ); await updateLinterConfiguration( client, Linter.getLinterConfigurationName(HdlLangID.SystemVerilog), Linter.getLinterName(HdlLangID.SystemVerilog) ); + await updateLinterInstallPathConfiguration( + client, + Linter.getLinterConfigurationName(HdlLangID.Vhdl) + ); await updateLinterConfiguration( client, Linter.getLinterConfigurationName(HdlLangID.Vhdl), @@ -84,6 +96,13 @@ export async function registerConfigurationUpdater(client: LanguageClient, packa [HdlLangID.Vhdl]: Linter.getLinterName(HdlLangID.Vhdl), [HdlLangID.Unknown]: HdlLangID.Unknown }; + + const linterManager: Record = { + [HdlLangID.Verilog]: lspLinter.vlogLinterManager, + [HdlLangID.SystemVerilog]: lspLinter.svlogLinterManager, + [HdlLangID.Vhdl]: lspLinter.vhdlLinterManager, + [HdlLangID.Unknown]: lspLinter.reserveLinterManager + }; // 需要讨论的可能受到配置文件更新影响 linter 功能的语言列表 const affectsLangIDs = [HdlLangID.Verilog, HdlLangID.SystemVerilog, HdlLangID.Vhdl]; @@ -96,7 +115,11 @@ export async function registerConfigurationUpdater(client: LanguageClient, packa for (const langID of affectsLangIDs) { if (linterName === currentLinterConfiguration[langID]) { const linterConfigurationName = Linter.getLinterConfigurationName(langID); + // 低频操作,随便糟蹋 await updateLinterConfiguration(client, linterConfigurationName, linterName); + // 更新当前诊断器状态 + await linterManager[langID].updateCurrentLinterItem(); + linterManager[langID].updateStatusBar(); } } } @@ -129,16 +152,27 @@ export async function registerLinter(client: LanguageClient) { }); } +/** + * @description 更新所有诊断器的路径信息到后端 + */ +async function updateLinterInstallPathConfiguration( + client: LanguageClient, + configurationName: string +) { + for (const linterName of Linter.SupportLinters) { + await updateLinterConfiguration(client, configurationName, linterName); + } +} + +/** + * @description 更新当前诊断器的所有信息到后端 + */ async function updateLinterConfiguration( client: LanguageClient, configurationName: string, linterName: Linter.SupportLinterName ) { - const configuratioName = Linter.getLinterInstallConfigurationName(linterName); - const linterPath = vscode.workspace.getConfiguration().get(configuratioName, ''); - - console.log(linterName); - + const linterPath = Linter.getLinterInstallPath(linterName); await client.sendRequest(UpdateConfigurationType, { configs: [ { name: configurationName, value: linterName }, diff --git a/src/function/lsp-client/index.ts b/src/function/lsp-client/index.ts index 8d3d309..af17c89 100644 --- a/src/function/lsp-client/index.ts +++ b/src/function/lsp-client/index.ts @@ -13,10 +13,11 @@ import * as tar from 'tar'; import { platform } from "os"; import { IProgress, LspClient, opeParam } from '../../global'; import axios, { AxiosResponse } from "axios"; -import { chooseBestDownloadSource, getGiteeDownloadLink, getGithubDownloadLink, getPlatformPlatformSignature } from "./cdn"; +import { chooseBestDownloadSource } from "./cdn"; import { hdlDir, hdlPath } from "../../hdlFs"; import { registerConfigurationUpdater, registerLinter } from "./config"; import { t } from "../../i18n"; +import { getPlatformPlatformSignature } from "../../global/util"; function getLspServerExecutionName() { const osname = platform(); @@ -198,7 +199,8 @@ export async function activate(context: vscode.ExtensionContext, packageJson: an workspaceFolder, initializationOptions: { extensionPath, - toolChain: opeParam.prjInfo.toolChain + toolChain: opeParam.prjInfo.toolChain, + version: version } }; diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts index 7c42ef9..d6d9aa0 100644 --- a/src/function/lsp/linter/common.ts +++ b/src/function/lsp/linter/common.ts @@ -26,6 +26,7 @@ export let _selectVhdlLinterItem: LinterItem | undefined = undefined; // verible digital-ide.prj.verible.install.path // verilator digital-ide.prj.verilator.install.path export type SupportLinterName = 'iverilog' | 'vivado' | 'modelsim' | 'verible' | 'verilator'; +export const SupportLinters: SupportLinterName[] = ['iverilog', 'vivado', 'modelsim', 'verible', 'verilator']; /** * @description 获取指向【当前的 linter 的名字】的配置的名字,比如 `digital-ide.function.lsp.linter.verilog.diagnostor` @@ -52,6 +53,12 @@ export function getLinterInstallConfigurationName(linterName: SupportLinterName) return `digital-ide.prj.${linterName}.install.path`; } +export function getLinterInstallPath(linterName: SupportLinterName): string { + const configuration = vscode.workspace.getConfiguration(); + const linterInstallConfigurationName = getLinterInstallConfigurationName(linterName); + return configuration.get(linterInstallConfigurationName, ''); +} + /** * @description 生成 PickItem,这个过程中会对当前 linterName 的有效性进行校验 * @param client @@ -64,23 +71,27 @@ export async function makeLinterNamePickItem( langID: HdlLangID, linterName: SupportLinterName ): Promise { - const configuration = vscode.workspace.getConfiguration(); - const linterInstallConfigurationName = getLinterInstallConfigurationName(linterName); - const linterPath = configuration.get(linterInstallConfigurationName, ''); + const linterPath = getLinterInstallPath(linterName); const linterStatus = await client.sendRequest(LinterStatusRequestType, { languageId: langID, linterName, linterPath }); - + + const labelIcon = linterStatus.available ? 'getting-started-beginner': 'extensions-warning-message'; + + const detail = linterStatus.available ? + t('info.common.some-is-ready', linterStatus.invokeName) : + t("info.common.not-available", linterStatus.invokeName); + return { - label: '$(getting-started-beginner) ' + linterName, + label: `$(${labelIcon}) ` + linterName, name: linterName, linterPath, available: linterStatus.available, description: linterStatus.toolName, - detail: t('info.common.some-is-ready', linterStatus.invokeName) + detail } } @@ -109,4 +120,9 @@ export enum LinterMode { export function getLinterMode(): LinterMode { return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Full); +} + +export interface IConfigReminder { + title: string, + value: 'config' | 'download' } \ No newline at end of file diff --git a/src/function/lsp/linter/index.ts b/src/function/lsp/linter/index.ts index d538760..d9d5fc3 100644 --- a/src/function/lsp/linter/index.ts +++ b/src/function/lsp/linter/index.ts @@ -1,11 +1,15 @@ import { vlogLinterManager, vhdlLinterManager, - svlogLinterManager + svlogLinterManager, + reserveLinterManager, + LinterManager } from './manager'; export { vlogLinterManager, vhdlLinterManager, - svlogLinterManager + svlogLinterManager, + reserveLinterManager, + LinterManager }; \ No newline at end of file diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index 9e25a34..aacc872 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -1,13 +1,13 @@ import * as vscode from 'vscode'; -import { LspClient, LspOutput, ReportType } from '../../../global'; +import { LspClient, LinterOutput, ReportType } from '../../../global'; import { HdlLangID } from '../../../global/enum'; import { hdlFile, hdlPath } from '../../../hdlFs'; import { t } from '../../../i18n'; -import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterMode, getLinterName, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; -import { LinterStatusRequestType, UpdateConfigurationType } from '../../../global/lsp'; +import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterName, IConfigReminder, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; +import { UpdateConfigurationType } from '../../../global/lsp'; import { LanguageClient } from 'vscode-languageclient/node'; -class LinterManager { +export class LinterManager { /** * @description 当前诊断器管理者绑定的语言 */ @@ -115,7 +115,7 @@ class LinterManager { this.statusBarItem.hide(); } - LspOutput.report(t('info.linter.finish-init', "verilog", this.currentLinterItem?.name || 'unknown'), { + LinterOutput.report(t('info.linter.finish-init', this.langID, this.currentLinterItem?.name || 'unknown'), { level: ReportType.Launch }); } @@ -145,16 +145,38 @@ class LinterManager { public updateStatusBar() { const statusBarItem = this.statusBarItem; const currentLinterItem = this.currentLinterItem; - if (currentLinterItem) { + if (currentLinterItem) { if (currentLinterItem.available) { + // 当前诊断器正常 + statusBarItem.backgroundColor = new vscode.ThemeColor('statusBar.background'); + statusBarItem.tooltip = t('info.linter.status-bar.tooltip', currentLinterItem.name); statusBarItem.text = `$(getting-started-beginner) Linter(${currentLinterItem.name})`; + LinterOutput.report(t('info.linter.finish-init', this.langID, currentLinterItem.name)); } else { + // 当前诊断器不可用 statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); statusBarItem.tooltip = t('error.linter.status-bar.tooltip', currentLinterItem.name); statusBarItem.text = `$(extensions-warning-message) Linter(${currentLinterItem.name})`; - LspOutput.report(t('error.linter.status-bar.tooltip', currentLinterItem.name), { + LinterOutput.report(t('error.linter.status-bar.tooltip', currentLinterItem.name), { level: ReportType.Error }); + // 当前诊断器不可用,遂提醒用户【配置文件】or【下载(如果有的话)】 + vscode.window.showWarningMessage( + t('warning.linter.cannot-get-valid-linter-invoker', currentLinterItem.name), + { title: t('info.linter.config-linter-install-path'), value: "config" }, + ).then(async res => { + // 用户选择配置 + if (res?.value === 'config') { + const linterInstallConfigurationName = getLinterInstallConfigurationName(currentLinterItem.name); + await vscode.commands.executeCommand('workbench.action.openSettings', linterInstallConfigurationName); + } + // 用户选择下载 + if (res?.value === 'download') { + + } + }); + + } statusBarItem.show(); } @@ -221,8 +243,7 @@ class LinterManager { pickWidget.onDidAccept(async () => { if (this.currentLinterItem) { - // 更新 vscode 配置文件 - updateLinterConfigurationName(this.langID, this.currentLinterItem.name); + // 更新后端 await client.sendRequest(UpdateConfigurationType, { configs: [ @@ -231,8 +252,9 @@ class LinterManager { ], configType: 'linter' }); - // 更新 status bar - this.updateStatusBar(); + // 更新 vscode 配置文件,这会改变配置,顺便触发一次 this.updateStatusBar() + // 详细请见 async function registerLinter(client: LanguageClient) + updateLinterConfigurationName(this.langID, this.currentLinterItem.name); pickWidget.hide(); } @@ -258,4 +280,5 @@ export const svlogLinterManager = new LinterManager(HdlLangID.SystemVerilog, [ 'verible', 'verilator', 'vivado' -]); \ No newline at end of file +]); +export const reserveLinterManager = new LinterManager(HdlLangID.Unknown, []); \ No newline at end of file diff --git a/src/function/lsp/linter/modelsim.ts b/src/function/lsp/linter/modelsim.ts index a973660..1562241 100644 --- a/src/function/lsp/linter/modelsim.ts +++ b/src/function/lsp/linter/modelsim.ts @@ -1,7 +1,7 @@ import * as vscode from "vscode"; import * as fs from 'fs'; -import { LspOutput, ReportType, opeParam } from "../../../global"; +import { LinterOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; import { HdlLangID } from "../../../global/enum"; @@ -49,7 +49,7 @@ class ModelsimLinter { this.diagnostic.set(document.uri, diagnostics); } } else { - LspOutput.report('modelsim linter is not available, please check prj.modelsim.install.path in your setting!', { + LinterOutput.report('modelsim linter is not available, please check prj.modelsim.install.path in your setting!', { level: ReportType.Error, notify: true }); @@ -74,7 +74,7 @@ class ModelsimLinter { if (headerInfo === 'Error') { const errorLine = parseInt(tokens[2]) - 1; const syntaxInfo = tokens[5]; - LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { level: ReportType.Run }); @@ -84,7 +84,7 @@ class ModelsimLinter { } else if (headerInfo === 'Warning') { const errorLine = parseInt(tokens[2]) - 1; const syntaxInfo = tokens[5]; - LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { level: ReportType.Run }); @@ -143,15 +143,15 @@ class ModelsimLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; if (modelsimInstallPath.trim() === '' || !fs.existsSync(modelsimInstallPath)) { - LspOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid. Use ${executorName} in default.`, { + LinterOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid. Use ${executorName} in default.`, { level: ReportType.Warn }); - LspOutput.report('If you have doubts, check prj.modelsim.install.path in setting', { + LinterOutput.report('If you have doubts, check prj.modelsim.install.path in setting', { level: ReportType.Warn }); return executorName; } else { - LspOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid`); + LinterOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid`); const executorPath = hdlPath.join( hdlPath.toSlash(modelsimInstallPath), @@ -172,13 +172,13 @@ class ModelsimLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from modelsim is ready to go!`, { + LinterOutput.report(`success to verify ${executorPath}, linter from modelsim is ready to go!`, { level: ReportType.Launch }); return true; } else { this.executableInvokeNameMap.set(langID, undefined); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { level: ReportType.Error, notify: true }); diff --git a/src/function/lsp/linter/verilator.ts b/src/function/lsp/linter/verilator.ts index 06668b0..3b0ed76 100644 --- a/src/function/lsp/linter/verilator.ts +++ b/src/function/lsp/linter/verilator.ts @@ -1,7 +1,7 @@ import * as vscode from "vscode"; import * as fs from 'fs'; -import { LspOutput, ReportType, opeParam } from "../../../global"; +import { LinterOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; import { HdlLangID } from "../../../global/enum"; @@ -49,7 +49,7 @@ class VerilatorLinter { this.diagnostic.set(document.uri, diagnostics); } } else { - LspOutput.report('verilator linter is not available, please check prj.verilator.install.path in your setting', { + LinterOutput.report('verilator linter is not available, please check prj.verilator.install.path in your setting', { level: ReportType.Error, notify: true }); @@ -120,15 +120,15 @@ class VerilatorLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; if (verilatorInstallPath.trim() === '' || !fs.existsSync(verilatorInstallPath)) { - LspOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid. Use ${executorName} in default.`, { + LinterOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid. Use ${executorName} in default.`, { level: ReportType.Warn }); - LspOutput.report('If you have doubts, check prj.verilator.install.path in setting', { + LinterOutput.report('If you have doubts, check prj.verilator.install.path in setting', { level: ReportType.Warn }); return executorName; } else { - LspOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid`); + LinterOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid`); const executorPath = hdlPath.join( hdlPath.toSlash(verilatorInstallPath), @@ -149,7 +149,7 @@ class VerilatorLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from verilator is ready to go!`, { + LinterOutput.report(`success to verify ${executorPath}, linter from verilator is ready to go!`, { level: ReportType.Launch }); return true; @@ -157,7 +157,7 @@ class VerilatorLinter { this.executableInvokeNameMap.set(langID, undefined); console.log(stderr); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { level: ReportType.Error, notify: true }); diff --git a/src/function/lsp/linter/vivado.ts b/src/function/lsp/linter/vivado.ts index 157679d..83f37e5 100644 --- a/src/function/lsp/linter/vivado.ts +++ b/src/function/lsp/linter/vivado.ts @@ -1,7 +1,7 @@ import * as vscode from "vscode"; import * as fs from 'fs'; -import { LspOutput, ReportType, opeParam } from "../../../global"; +import { LinterOutput, ReportType, opeParam } from "../../../global"; import { hdlFile, hdlPath } from "../../../hdlFs"; import { easyExec } from "../../../global/util"; import { HdlLangID } from "../../../global/enum"; @@ -54,7 +54,7 @@ class VivadoLinter { this.diagnostic.set(document.uri, diagnostics); } } else { - LspOutput.report('vivado linter is not available, please check prj.vivado.install.path in your setting', { + LinterOutput.report('vivado linter is not available, please check prj.vivado.install.path in your setting', { level: ReportType.Error, notify: true }); @@ -81,7 +81,7 @@ class VivadoLinter { if (headerInfo === 'ERROR') { const errorInfos = parsedPath.split(':'); const errorLine = Math.max(parseInt(errorInfos[errorInfos.length - 1]) - 1, 0); - LspOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { + LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { level: ReportType.Run }); @@ -140,16 +140,16 @@ class VivadoLinter { const fullExecutorName = opeParam.os === 'win32' ? executorName + '.bat' : executorName; if (vivadoInstallPath.trim() === '' || !fs.existsSync(vivadoInstallPath)) { - LspOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid. Use ${executorName} in default.`, { + LinterOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid. Use ${executorName} in default.`, { level: ReportType.Warn }); - LspOutput.report('If you have doubts, check prj.vivado.install.path in setting', { + LinterOutput.report('If you have doubts, check prj.vivado.install.path in setting', { level: ReportType.Warn }); return executorName; } else { - LspOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid`); + LinterOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid`); const executorPath = hdlPath.join( hdlPath.toSlash(vivadoInstallPath), @@ -170,13 +170,13 @@ class VivadoLinter { const { stderr } = await easyExec(executorPath, []); if (stderr.length === 0) { this.executableInvokeNameMap.set(langID, executorPath); - LspOutput.report(`success to verify ${executorPath}, linter from vivado is ready to go!`, { + LinterOutput.report(`success to verify ${executorPath}, linter from vivado is ready to go!`, { level: ReportType.Launch }); return true; } else { this.executableInvokeNameMap.set(langID, undefined); - LspOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { + LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { level: ReportType.Error, notify: true }); diff --git a/src/function/lsp/util/feature.ts b/src/function/lsp/util/feature.ts index 45c21b6..09df001 100644 --- a/src/function/lsp/util/feature.ts +++ b/src/function/lsp/util/feature.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ import * as vscode from 'vscode'; -import { AbsPath, LspOutput } from '../../../global'; +import { AbsPath, LinterOutput } from '../../../global'; import { HdlLangID } from '../../../global/enum'; import { hdlPath, hdlFile } from '../../../hdlFs'; import { Range } from '../../../hdlParser/common'; @@ -278,7 +278,7 @@ async function getFullSymbolInfo(document: vscode.TextDocument, range: Range, no while (line) { line --; content = document.lineAt(line).text; - LspOutput.report(content); + LinterOutput.report(content); // 首先判断该行是否是空白 if (content.trim().length === 0) { diff --git a/src/global/index.ts b/src/global/index.ts index 5e4b2ba..960e1d9 100644 --- a/src/global/index.ts +++ b/src/global/index.ts @@ -1,6 +1,6 @@ import { opeParam, OpeParamDefaults } from './opeParam'; import { PrjInfo, PrjInfoDefaults } from './prjInfo'; -import { MainOutput, LspOutput, YosysOutput, WaveViewOutput, ReportType } from './outputChannel'; +import { MainOutput, LinterOutput, YosysOutput, WaveViewOutput, ReportType } from './outputChannel'; import * as Enum from './enum'; import * as Lang from './lang'; @@ -27,7 +27,7 @@ export { AbsPath, RelPath, MainOutput, - LspOutput, + LinterOutput, YosysOutput, WaveViewOutput, ReportType, diff --git a/src/global/outputChannel.ts b/src/global/outputChannel.ts index 93cd4d2..d6499f6 100644 --- a/src/global/outputChannel.ts +++ b/src/global/outputChannel.ts @@ -117,7 +117,7 @@ class Output { } const MainOutput = new Output('Digital-IDE'); -const LspOutput = new Output('Digital-IDE Linter'); +const LinterOutput = new Output('Digital-IDE Linter'); const YosysOutput = new Output('Digital-IDE Yosys'); const WaveViewOutput = new Output('Digital-IDE Wave Viewer'); const HardwareOutput = new Output('Digital-IDE Hareware'); @@ -126,7 +126,7 @@ const HardwareErrorOutput = new Output('Digital-IDE Hareware Error'); export { ReportType, MainOutput, - LspOutput, + LinterOutput, YosysOutput, WaveViewOutput, HardwareOutput, diff --git a/src/global/util.ts b/src/global/util.ts index 23741b2..e2f32d2 100644 --- a/src/global/util.ts +++ b/src/global/util.ts @@ -1,4 +1,5 @@ import * as fs from 'fs'; +import * as os from 'os'; import * as vscode from 'vscode'; import * as childProcess from 'child_process'; @@ -113,4 +114,50 @@ export function debounce(fn: (...args: any[]) => any, timeout: number) { fn(...args); }, timeout); }; +} + +/** + * @description 平台签名 + */ +export enum IPlatformSignature { + x86Windows = 'windows_amd64', + aach64Windows = 'windows_aarch64', + x86Darwin = 'darwin_amd64', + aarch64Darwin = 'darwin_aarch64', + x86Linux = 'linux_amd64', + aarch64Linux = 'linux_aarch64', + unsupport = 'unsupport' +}; + +/** + * @description 获取平台签名 + */ +export function getPlatformPlatformSignature(): IPlatformSignature { + // Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'` + const arch = os.arch(); + + // Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`. + const osName = os.platform(); + + switch (arch) { + case 'arm': + case 'arm64': + switch (osName) { + case 'win32': return IPlatformSignature.aach64Windows; + case 'darwin': return IPlatformSignature.aarch64Darwin; + case 'linux': return IPlatformSignature.aarch64Linux; + default: return IPlatformSignature.unsupport; + } + + case 'x32': + case 'x64': + switch (osName) { + case 'win32': return IPlatformSignature.x86Windows; + case 'darwin': return IPlatformSignature.x86Darwin; + case 'linux': return IPlatformSignature.x86Linux; + default: return IPlatformSignature.unsupport; + } + + default: return IPlatformSignature.unsupport; + } } \ No newline at end of file diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts index 5f6b023..8df3eb5 100644 --- a/src/monitor/hdl.ts +++ b/src/monitor/hdl.ts @@ -6,12 +6,9 @@ import { AbsPath, MainOutput, opeParam, ReportType } from '../global'; import { hdlFile, hdlPath } from '../hdlFs'; import { hdlParam, HdlSymbol } from '../hdlParser'; import type { HdlMonitor } from './index'; -import { HdlLangID } from '../global/enum'; -import { vlogLinterManager, vhdlLinterManager, svlogLinterManager } from '../function/lsp/linter'; import { BaseAction, Event } from './event'; import { hdlIgnore } from '../manager/ignore'; - export class HdlAction extends BaseAction { selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { return m.hdlMonitor; @@ -68,16 +65,6 @@ export class HdlAction extends BaseAction { hdlParam.deleteHdlFile(path); refreshArchTree(); - - const uri = vscode.Uri.file(path); - const langID = hdlFile.getLanguageId(path); - if (langID === HdlLangID.Verilog) { - vlogLinterManager.remove(uri); - } else if (langID === HdlLangID.Vhdl) { - vhdlLinterManager.remove(uri); - } else if (langID === HdlLangID.SystemVerilog) { - svlogLinterManager.remove(uri); - } } /** From 0dd947addd8fff71b7e78239795fd5246804a7b8 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Wed, 11 Dec 2024 15:41:04 +0800 Subject: [PATCH 019/107] =?UTF-8?q?=E4=BC=98=E5=8C=96=20fast=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/monitor/hdl.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/monitor/hdl.ts b/src/monitor/hdl.ts index 8df3eb5..48c5aad 100644 --- a/src/monitor/hdl.ts +++ b/src/monitor/hdl.ts @@ -2,12 +2,13 @@ import * as chokidar from 'chokidar'; import * as vscode from 'vscode'; import { refreshArchTree } from '../function/treeView'; -import { AbsPath, MainOutput, opeParam, ReportType } from '../global'; +import { AbsPath, LspClient, MainOutput, opeParam, ReportType } from '../global'; import { hdlFile, hdlPath } from '../hdlFs'; import { hdlParam, HdlSymbol } from '../hdlParser'; import type { HdlMonitor } from './index'; import { BaseAction, Event } from './event'; import { hdlIgnore } from '../manager/ignore'; +import { DoFastToolChainType, SyncFastRequestType } from '../global/lsp'; export class HdlAction extends BaseAction { selectFSWatcher(m: HdlMonitor): chokidar.FSWatcher | undefined { @@ -99,8 +100,10 @@ export class HdlAction extends BaseAction { return; } + const fileType = 'common'; + const toolChain = opeParam.prjInfo.toolChain as DoFastToolChainType; // 更新 hdl 文件 - const fast = await HdlSymbol.fast(path, 'common'); + const fast = await LspClient.DigitalIDE?.sendRequest(SyncFastRequestType, { path, fileType, toolChain }) if (fast) { hdlParam.updateFast(path, fast); } From 758a108096ac57e8e3dbcd023e55cabd1c6d5634 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 17 Dec 2024 20:35:43 +0800 Subject: [PATCH 020/107] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=B8=89=E7=A7=8D?= =?UTF-8?q?=E8=AF=8A=E6=96=AD=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.de.json | 4 +- l10n/bundle.l10n.en.json | 4 +- l10n/bundle.l10n.ja.json | 4 +- l10n/bundle.l10n.zh-cn.json | 4 +- l10n/bundle.l10n.zh-tw.json | 4 +- package.json | 2 +- src/extension.ts | 16 ++- src/function/lsp-client/config.ts | 13 ++ src/function/lsp/linter/common.ts | 4 +- src/function/lsp/linter/index.ts | 21 ++- src/function/lsp/linter/manager.ts | 151 +++++++++++++++++--- src/function/lsp/linter/modelsim.ts | 200 --------------------------- src/function/lsp/linter/verilator.ts | 180 ------------------------ src/function/lsp/linter/vivado.ts | 198 -------------------------- src/global/lsp.ts | 4 +- src/hdlParser/core.ts | 2 +- src/manager/index.ts | 5 +- src/manager/prj.ts | 3 + 18 files changed, 199 insertions(+), 620 deletions(-) delete mode 100644 src/function/lsp/linter/modelsim.ts delete mode 100644 src/function/lsp/linter/verilator.ts delete mode 100644 src/function/lsp/linter/vivado.ts diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 11a433f..1385094 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -94,5 +94,7 @@ "error.linter.status-bar.tooltip": "Kann Diagnose für {0} nicht abrufen", "info.linter.status-bar.tooltip": "Diagnosegerät {0} arbeitet", "warning.linter.cannot-get-valid-linter-invoker": "Die digitale IDE kann keinen Aufrufpfad für {0} abrufen. Bitte installieren Sie den entsprechenden Diagnose-Tool und konfigurieren Sie ihn entweder in der Umgebungsvariablen PATH oder im digitalen IDE-Diagnosetool-Installationspfad.", - "info.linter.config-linter-install-path": "Installationsverzeichnis konfigurieren" + "info.linter.config-linter-install-path": "Installationsverzeichnis konfigurieren", + "info.progress.doing-diagnostic": "Diagnostizierung", + "error.common.fail-to-launch-lsp": "Start des Sprachservers fehlgeschlagen!" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index 7255ed1..a48a8f2 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -94,5 +94,7 @@ "error.linter.status-bar.tooltip": "Unable to get {0} diagnoser", "info.linter.status-bar.tooltip": "Diagnostics {0} is working", "warning.linter.cannot-get-valid-linter-invoker": "The Digital IDE cannot retrieve the call path for {0}. Please install the corresponding diagnostic tool and configure it either in the environment variable PATH or in the Digital IDE's diagnostic tool installation path.", - "info.linter.config-linter-install-path": "Configure installation directory" + "info.linter.config-linter-install-path": "Configure installation directory", + "info.progress.doing-diagnostic": "Diagnosing", + "error.common.fail-to-launch-lsp": "Language server startup failed!" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 26b172f..a5bf450 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -94,5 +94,7 @@ "error.linter.status-bar.tooltip": "{0} 診断機能を取得できません", "info.linter.status-bar.tooltip": "診断ツール {0} が作動中", "warning.linter.cannot-get-valid-linter-invoker": "デジタルIDEは{0}の呼び出しパスを取得できません。対応する診断ツールをインストールし、環境変数PATHに設定するか、デジタルIDEの診断ツールインストールパスを設定してください。", - "info.linter.config-linter-install-path": "インストールディレクトリを設定" + "info.linter.config-linter-install-path": "インストールディレクトリを設定", + "info.progress.doing-diagnostic": "診断中", + "error.common.fail-to-launch-lsp": "言語サーバーの起動に失敗しました!" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index 37dc988..e063f47 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -94,5 +94,7 @@ "error.linter.status-bar.tooltip": "无法获取 {0} 诊断器", "info.linter.status-bar.tooltip": "诊断器 {0} 正在工作", "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 无法获取到关于 {0} 的调用路径,请安装对应诊断器后,配置到环境变量 PATH 或者配置 Digital IDE 对应的诊断工具安装路径", - "info.linter.config-linter-install-path": "配置安装目录" + "info.linter.config-linter-install-path": "配置安装目录", + "info.progress.doing-diagnostic": "诊断中", + "error.common.fail-to-launch-lsp": "语言服务器启动失败!" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 823e443..9ca7fe1 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -94,5 +94,7 @@ "error.linter.status-bar.tooltip": "無法取得 {0} 診斷器", "info.linter.status-bar.tooltip": "診斷器 {0} 正在運作", "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 無法取得關於 {0} 的呼叫路徑,請安裝對應診斷器後,配置到環境變數 PATH 或者配置 Digital IDE 對應的診斷工具安裝路徑。", - "info.linter.config-linter-install-path": "配置安裝目錄" + "info.linter.config-linter-install-path": "配置安裝目錄", + "info.progress.doing-diagnostic": "診斷中", + "error.common.fail-to-launch-lsp": "語言伺服器啟動失敗!" } \ No newline at end of file diff --git a/package.json b/package.json index 7a58c21..15ba99f 100644 --- a/package.json +++ b/package.json @@ -293,7 +293,7 @@ ], "enum": [ "full", - "single", + "common", "shutdown" ], "default": "full", diff --git a/src/extension.ts b/src/extension.ts index 3c71d64..130b7e6 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -4,12 +4,12 @@ import * as fs from 'fs'; import { MainOutput, ReportType, IProgress } from './global'; import { hdlParam } from './hdlParser'; import * as manager from './manager'; +import * as lspLinter from './function/lsp/linter'; import * as func from './function'; import { hdlMonitor } from './monitor'; import * as lspClient from './function/lsp-client'; import { refreshArchTree } from './function/treeView'; -import { hdlFile } from './hdlFs'; import { initialiseI18n, t } from './i18n'; @@ -85,12 +85,12 @@ async function launch(context: vscode.ExtensionContext) { await lspClient.activate(context, packageJson); }); - await vscode.window.withProgress({ + const hdlFiles = await vscode.window.withProgress({ location: vscode.ProgressLocation.Window, title: t('info.progress.initialization') }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { // 初始化解析 - await manager.prjManage.initialise(context, progress); + const hdlFiles = await manager.prjManage.initialise(context, progress); // 这里是因为 pl 对象在 initialise 完成初始化,此处再注册它的行为 manager.registerManagerCommands(context); @@ -100,9 +100,19 @@ async function launch(context: vscode.ExtensionContext) { // 启动监视器 hdlMonitor.start(); + + return hdlFiles; }); + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Window, + title: t('info.progress.doing-diagnostic') + }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { + // 完成诊断器初始化 + await lspLinter.initialise(context, hdlFiles, progress); + }); + console.log(hdlParam); // show welcome information (if first install) diff --git a/src/function/lsp-client/config.ts b/src/function/lsp-client/config.ts index 74048de..b8c60db 100644 --- a/src/function/lsp-client/config.ts +++ b/src/function/lsp-client/config.ts @@ -4,6 +4,10 @@ import { UpdateConfigurationType } from '../../global/lsp'; import * as Linter from '../lsp/linter/common'; import { HdlLangID } from '../../global/enum'; import * as lspLinter from '../lsp/linter'; +import { t } from '../../i18n'; +import { IProgress } from '../../global'; +import { refreshWorkspaceDiagonastics } from '../lsp/linter/manager'; +import { prjManage } from '../../manager'; interface ConfigItem { name: string, @@ -124,6 +128,15 @@ export async function registerConfigurationUpdater(client: LanguageClient, packa } } } + + // 如果诊断模式发生变化,进行一次刷新 + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Window, + title: t('info.progress.doing-diagnostic') + }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { + const hdlFiles = await prjManage.getPrjHardwareFiles(); + await refreshWorkspaceDiagonastics(client, hdlFiles, false, progress); + }); }); } diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts index d6d9aa0..8ed79b7 100644 --- a/src/function/lsp/linter/common.ts +++ b/src/function/lsp/linter/common.ts @@ -1,8 +1,6 @@ import * as vscode from 'vscode'; import * as fs from 'fs'; -import { vivadoLinter } from './vivado'; -import { modelsimLinter } from './modelsim'; import { HdlLangID } from '../../../global/enum'; import { t } from '../../../i18n'; import { LspClient } from '../../../global'; @@ -114,7 +112,7 @@ export async function makeLinterOptions( export enum LinterMode { Full = 'full', - Single = 'single', + Common = 'common', Shutdown = 'shutdown' } diff --git a/src/function/lsp/linter/index.ts b/src/function/lsp/linter/index.ts index d9d5fc3..0b4dae6 100644 --- a/src/function/lsp/linter/index.ts +++ b/src/function/lsp/linter/index.ts @@ -1,10 +1,29 @@ +import * as vscode from 'vscode'; +import { AbsPath, IProgress, LspClient } from '../../../global'; + import { vlogLinterManager, vhdlLinterManager, svlogLinterManager, reserveLinterManager, - LinterManager + LinterManager, + refreshWorkspaceDiagonastics } from './manager'; +import { t } from '../../../i18n'; + +export async function initialise( + context: vscode.ExtensionContext, + hdlFiles: AbsPath[], + progress: vscode.Progress +) { + const client = LspClient.DigitalIDE; + if (!client) { + vscode.window.showErrorMessage(t('error.common.fail-to-launch-lsp')); + throw Error('初始化失败'); + } + + await refreshWorkspaceDiagonastics(client, hdlFiles, true, progress); +} export { vlogLinterManager, diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index aacc872..be7fc02 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -1,11 +1,14 @@ import * as vscode from 'vscode'; -import { LspClient, LinterOutput, ReportType } from '../../../global'; +import * as os from 'os'; + +import { LspClient, LinterOutput, ReportType, AbsPath, IProgress } from '../../../global'; import { HdlLangID } from '../../../global/enum'; import { hdlFile, hdlPath } from '../../../hdlFs'; import { t } from '../../../i18n'; import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterName, IConfigReminder, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; import { UpdateConfigurationType } from '../../../global/lsp'; import { LanguageClient } from 'vscode-languageclient/node'; +import { toEscapePath } from '../../../hdlFs/path'; export class LinterManager { /** @@ -92,9 +95,6 @@ export class LinterManager { // 根据配置选择对应的诊断器 await this.updateCurrentLinterItem(client); - // TODO: 根据当前的诊断模式进行选择 - - // 注册内部命令 if (!this.started) { const pickerCommand = this.getLinterPickCommand(); @@ -120,25 +120,6 @@ export class LinterManager { }); } - /** - * @description 刷新当前工作区所有文件的 linter 状态。仅仅在初始化和更新配置文件时需要使用。 - */ - public async refreshWorkspaceLinterResult(linterMode: LinterMode) { - switch (linterMode) { - case LinterMode.Full: - - break; - case LinterMode.Single: - - break; - case LinterMode.Shutdown: - - break; - default: - break; - } - } - /** * @description 更新右下角 status bar 的状态 */ @@ -264,6 +245,130 @@ export class LinterManager { } } +export async function publishDiagnostics( + client: LanguageClient, + path: string +) { + await client.sendRequest("workspace/executeCommand", { + command: 'publish-diagnostics', + arguments: [path] + }); +} + +export async function clearDiagnostics( + client: LanguageClient, + path: string +) { + await client.sendRequest("workspace/executeCommand", { + command: 'clear-diagnostics', + arguments: [path] + }); +} + +/** + * @description 异步方法的受限并发消费 + * @param arrays + * @param consumer + * @param poolNum + */ +export async function asyncConsumer( + arrays: T[], + consumer: (item: T) => Promise, + poolNum: number, + progress?: vscode.Progress +): Promise { + const rets: R[] = []; + const pools = []; + let i = 0; + + progress?.report({ message: `${1}/${arrays.length}`, increment: 0 }); + + while (i < arrays.length) { + const p = consumer(arrays[i]); + pools.push({ id: i + 1, promise: p }); + if (pools.length % poolNum === 0) { + for (const p of pools) { + const ret = await p.promise; + const increment = Math.floor(p.id / arrays.length * 100); + progress?.report({ message: `${p.id}/${arrays.length}`, increment }); + rets.push(ret); + } + pools.length = 0; + } + i ++; + } + + for (const p of pools) { + const ret = await p.promise; + const increment = Math.floor(p.id / arrays.length * 100); + progress?.report({ message: `${p.id}/${arrays.length}`, increment }); + rets.push(ret); + } + + return rets; +} + +/** + * @description 刷新当前工作区所有文件的 linter 状态。仅仅在初始化和更新配置文件时需要使用。 + */ +export async function refreshWorkspaceDiagonastics( + client: LanguageClient, + lintPaths: AbsPath[], + isInitialise: boolean, + progress: vscode.Progress +) { + const parallelChunk = Math.min(os.cpus().length, 32); + const configuration = vscode.workspace.getConfiguration(); + const linterMode = configuration.get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Common); + + console.log('进入诊断,当前诊断模式:', linterMode, lintPaths); + + if (linterMode === LinterMode.Full) { + // full,对工作区所有文件进行诊断 + const consumer = async (path: string) => { + await publishDiagnostics(client, path); + } + await asyncConsumer(lintPaths, consumer, parallelChunk); + } else if (linterMode === LinterMode.Common) { + // common, 只对打开文件进行操作 + // 先清除所有的诊断结果 + const clearConsumer = async (path: string) => { + await clearDiagnostics(client, path); + } + await asyncConsumer(lintPaths, clearConsumer, parallelChunk); + + // 再对激活区域进行诊断 + const consumer = async (path: string) => { + await publishDiagnostics(client, path); + } + + const tabs = vscode.window.tabGroups.all; + const tabArray = tabs.flatMap(group => { + const files = []; + for (const tab of group.tabs) { + if (tab.input) { + const doc = tab.input as vscode.TabInputText; + if (doc.uri) { + const absPath = hdlPath.toEscapePath(doc.uri.fsPath); + files.push(absPath); + } + } + } + return files; + }); + + await asyncConsumer(tabArray, consumer, parallelChunk); + } else { + // shutdown, 如果是初始化阶段,什么都不需要做 + const consumer = async (path: string) => { + await clearDiagnostics(client, path); + }; + if (!isInitialise) { + await asyncConsumer(lintPaths, consumer, parallelChunk); + } + } +} + export const vlogLinterManager = new LinterManager(HdlLangID.Verilog, [ 'iverilog', 'modelsim', diff --git a/src/function/lsp/linter/modelsim.ts b/src/function/lsp/linter/modelsim.ts deleted file mode 100644 index 1562241..0000000 --- a/src/function/lsp/linter/modelsim.ts +++ /dev/null @@ -1,200 +0,0 @@ -import * as vscode from "vscode"; -import * as fs from 'fs'; - -import { LinterOutput, ReportType, opeParam } from "../../../global"; -import { hdlFile, hdlPath } from "../../../hdlFs"; -import { easyExec } from "../../../global/util"; -import { HdlLangID } from "../../../global/enum"; - -class ModelsimLinter { - diagnostic: vscode.DiagnosticCollection; - executableFileMap: Map = new Map(); - executableInvokeNameMap: Map = new Map(); - linterArgsMap: Map = new Map(); - - constructor() { - this.diagnostic = vscode.languages.createDiagnosticCollection(); - - // configure map for executable file name - this.executableFileMap.set(HdlLangID.Verilog, 'vlog'); - this.executableFileMap.set(HdlLangID.Vhdl, 'vcom'); - this.executableFileMap.set(HdlLangID.SystemVerilog, 'vlog'); - this.executableFileMap.set(HdlLangID.Unknown, undefined); - - // configure map for argruments when lintering - this.linterArgsMap.set(HdlLangID.Verilog, ['-quiet', '-nologo']); - this.linterArgsMap.set(HdlLangID.Vhdl, ['-quiet', '-nologo', '-2008']); - this.linterArgsMap.set(HdlLangID.SystemVerilog, ['-quiet', '-nolog', '-sv']); - this.linterArgsMap.set(HdlLangID.Unknown, []); - } - - - async lint(document: vscode.TextDocument) { - const filePath = hdlPath.toSlash(document.fileName); - const langID = hdlFile.getLanguageId(filePath); - - // acquire install path - const linterArgs = this.linterArgsMap.get(langID); - - if (linterArgs === undefined) { - return; - } - - const args = [filePath, ...linterArgs]; - const executor = this.executableInvokeNameMap.get(langID); - if (executor !== undefined) { - const { stdout } = await easyExec(executor, args); - if (stdout.length > 0) { - const diagnostics = this.provideDiagnostics(document, stdout); - this.diagnostic.set(document.uri, diagnostics); - } - } else { - LinterOutput.report('modelsim linter is not available, please check prj.modelsim.install.path in your setting!', { - level: ReportType.Error, - notify: true - }); - } - } - - async remove(uri: vscode.Uri) { - this.diagnostic.delete(uri); - } - - /** - * @param document - * @param stdout stdout from xvlog - * @returns { vscode.Diagnostic[] } linter info - */ - private provideDiagnostics(document: vscode.TextDocument, stdout: string): vscode.Diagnostic[] { - const diagnostics = []; - for (const line of stdout.split(/\r?\n/g)) { - const tokens = line.split(/(Error|Warning).+?(?: *?(?:.+?(?:\\|\/))+.+?\((\d+?)\):|)(?: *?near "(.+?)":|)(?: *?\((.+?)\)|) +?(.+)/gm); - - const headerInfo = tokens[1]; - if (headerInfo === 'Error') { - const errorLine = parseInt(tokens[2]) - 1; - const syntaxInfo = tokens[5]; - LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { - level: ReportType.Run - }); - - const range = this.makeCorrectRange(document, errorLine, syntaxInfo); - const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Error); - diagnostics.push(diag); - } else if (headerInfo === 'Warning') { - const errorLine = parseInt(tokens[2]) - 1; - const syntaxInfo = tokens[5]; - LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { - level: ReportType.Run - }); - - const range = this.makeCorrectRange(document, errorLine, syntaxInfo); - const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Warning); - diagnostics.push(diag); - } - } - return diagnostics; - } - - private makeCorrectRange(document: vscode.TextDocument, line: number, syntaxInfo: string): vscode.Range { - // extract all the words like 'adawwd' in a syntax info - const singleQuoteWords = syntaxInfo.match(/'([^']*)'/g); - if (singleQuoteWords && singleQuoteWords.length > 0) { - const targetWord = singleQuoteWords.map(val => val.replace(/'/g, ''))[0]; - // find range of target word - const textLine = document.lineAt(line); - const text = textLine.text; - const startCharacter = text.indexOf(targetWord); - if (startCharacter > -1) { - const endCharacter = startCharacter + targetWord.length; - const range = new vscode.Range( - new vscode.Position(line, startCharacter), - new vscode.Position(line, endCharacter) - ); - return range; - } - } - - // else target the first word in the line - return this.makeCommonRange(document, line, syntaxInfo); - } - - private makeCommonRange(document: vscode.TextDocument, line: number, syntaxInfo: string): vscode.Range { - const startPosition = new vscode.Position(line, 0); - - const wordRange = document.getWordRangeAtPosition(startPosition, /[`_0-9a-zA-Z]+/); - if (wordRange) { - return wordRange; - } else { - return new vscode.Range(startPosition, startPosition); - } - } - - public getExecutableFilePath(langID: HdlLangID): string | undefined { - // modelsim install path stored in prj.modelsim.install.path - const modelsimConfig = vscode.workspace.getConfiguration('digital-ide.prj.modelsim'); - const modelsimInstallPath = modelsimConfig.get('install.path', ''); - const executorName = this.executableFileMap.get(langID); - if (executorName === undefined) { - return undefined; - } - - // e.g. vlog.exe in windows, vlog in linux - const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; - - if (modelsimInstallPath.trim() === '' || !fs.existsSync(modelsimInstallPath)) { - LinterOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid. Use ${executorName} in default.`, { - level: ReportType.Warn - }); - LinterOutput.report('If you have doubts, check prj.modelsim.install.path in setting', { - level: ReportType.Warn - }); - return executorName; - } else { - LinterOutput.report(`User's modelsim Install Path "${modelsimInstallPath}", which is invalid`); - - const executorPath = hdlPath.join( - hdlPath.toSlash(modelsimInstallPath), - fullExecutorName - ); - // prevent path like C://stupid name/xxx/xxx/bin - // blank space - const safeExecutorPath = '"' + executorPath + '"'; - return safeExecutorPath; - } - } - - - public async setExecutableFilePath(executorPath: string | undefined, langID: HdlLangID): Promise { - if (executorPath === undefined) { - return false; - } - const { stderr } = await easyExec(executorPath, []); - if (stderr.length === 0) { - this.executableInvokeNameMap.set(langID, executorPath); - LinterOutput.report(`success to verify ${executorPath}, linter from modelsim is ready to go!`, { - level: ReportType.Launch - }); - return true; - } else { - this.executableInvokeNameMap.set(langID, undefined); - LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { - level: ReportType.Error, - notify: true - }); - return false; - } - } - - public async initialise(langID: HdlLangID): Promise { - const executorPath = this.getExecutableFilePath(langID); - return this.setExecutableFilePath(executorPath, langID); - } -} - -const modelsimLinter = new ModelsimLinter(); - -export { - modelsimLinter, - ModelsimLinter -}; diff --git a/src/function/lsp/linter/verilator.ts b/src/function/lsp/linter/verilator.ts deleted file mode 100644 index 3b0ed76..0000000 --- a/src/function/lsp/linter/verilator.ts +++ /dev/null @@ -1,180 +0,0 @@ -import * as vscode from "vscode"; -import * as fs from 'fs'; - -import { LinterOutput, ReportType, opeParam } from "../../../global"; -import { hdlFile, hdlPath } from "../../../hdlFs"; -import { easyExec } from "../../../global/util"; -import { HdlLangID } from "../../../global/enum"; - -type Path = string; - -class VerilatorLinter { - diagnostic: vscode.DiagnosticCollection; - executableFileMap: Map = new Map(); - executableInvokeNameMap: Map = new Map(); - linterArgsMap: Map = new Map(); - - constructor() { - this.diagnostic = vscode.languages.createDiagnosticCollection(); - - // configure map for executable file name - this.executableFileMap.set(HdlLangID.Verilog, 'verilator'); - this.executableFileMap.set(HdlLangID.SystemVerilog, 'verilator'); - this.executableFileMap.set(HdlLangID.Unknown, undefined); - - // configure map for argruments when lintering - this.linterArgsMap.set(HdlLangID.Verilog, ['--lint-only', '-Wall', '-bbox-sys', '--bbox-unsup', '-DGLBL']); - this.linterArgsMap.set(HdlLangID.SystemVerilog, ['--lint-only', '-sv', '-Wall', '-bbox-sys', '--bbox-unsup', '-DGLBL']); - this.linterArgsMap.set(HdlLangID.Unknown, []); - } - - - async lint(document: vscode.TextDocument) { - const filePath = hdlPath.toSlash(document.fileName); - const langID = hdlFile.getLanguageId(filePath); - - // acquire install path - const linterArgs = this.linterArgsMap.get(langID); - - if (linterArgs === undefined) { - return; - } - - const args = [filePath, ...linterArgs]; - const executor = this.executableInvokeNameMap.get(langID); - if (executor !== undefined) { - const { stderr } = await easyExec(executor, args); - if (stderr.length > 0) { - const diagnostics = this.provideDiagnostics(document, stderr); - this.diagnostic.set(document.uri, diagnostics); - } - } else { - LinterOutput.report('verilator linter is not available, please check prj.verilator.install.path in your setting', { - level: ReportType.Error, - notify: true - }); - } - } - - async remove(uri: vscode.Uri) { - this.diagnostic.delete(uri); - } - - /** - * @param document - * @param stdout stdout from xvlog - * @returns { vscode.Diagnostic[] } linter info - */ - private provideDiagnostics(document: vscode.TextDocument, stderr: string): vscode.Diagnostic[] { - const diagnostics = []; - for (let line of stderr.split(/\r?\n/g)) { - if (!line.startsWith('%')) { - continue; - } else { - line = line.substring(1); - } - - const tokens = line.split(':'); - if (tokens.length < 3) { - continue; - } - const header = tokens[0].toLowerCase(); - const fileName = tokens[1]; - const lineNo = parseInt(tokens[2]) - 1; - const characterNo = parseInt(tokens[3]) - 1; - const syntaxInfo = tokens[4]; - - if (header.startsWith('warning')) { - const range = this.makeCorrectRange(document, lineNo, characterNo); - const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Warning); - diagnostics.push(diag); - } else if (header.startsWith('error')) { - const range = this.makeCorrectRange(document, lineNo, characterNo); - const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Error); - diagnostics.push(diag); - } - } - return diagnostics; - } - - private makeCorrectRange(document: vscode.TextDocument, line: number, character: number): vscode.Range { - const startPosition = new vscode.Position(line, character); - const wordRange = document.getWordRangeAtPosition(startPosition, /[`_0-9a-zA-Z]+/); - if (wordRange) { - return wordRange; - } else { - return new vscode.Range(startPosition, startPosition); - } - } - - public getExecutableFilePath(langID: HdlLangID): string | Path | undefined { - // verilator install path stored in prj.verilator.install.path - const verilatorConfig = vscode.workspace.getConfiguration('digital-ide.prj.verilator'); - const verilatorInstallPath = verilatorConfig.get('install.path', ''); - const executorName = this.executableFileMap.get(langID); - if (executorName === undefined) { - return undefined; - } - - // e.g. vlog.exe in windows, vlog in linux - const fullExecutorName = opeParam.os === 'win32' ? executorName + '.exe' : executorName; - - if (verilatorInstallPath.trim() === '' || !fs.existsSync(verilatorInstallPath)) { - LinterOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid. Use ${executorName} in default.`, { - level: ReportType.Warn - }); - LinterOutput.report('If you have doubts, check prj.verilator.install.path in setting', { - level: ReportType.Warn - }); - return executorName; - } else { - LinterOutput.report(`User's verilator Install Path ${verilatorInstallPath}, which is invalid`); - - const executorPath = hdlPath.join( - hdlPath.toSlash(verilatorInstallPath), - fullExecutorName - ); - // prevent path like C://stupid name/xxx/xxx/bin - // blank space - const safeExecutorPath = '"' + executorPath + '"'; - return safeExecutorPath; - } - } - - - public async setExecutableFilePath(executorPath: string | Path | undefined, langID: HdlLangID): Promise { - if (executorPath === undefined) { - return false; - } - const { stderr } = await easyExec(executorPath, []); - if (stderr.length === 0) { - this.executableInvokeNameMap.set(langID, executorPath); - LinterOutput.report(`success to verify ${executorPath}, linter from verilator is ready to go!`, { - level: ReportType.Launch - }); - return true; - } else { - this.executableInvokeNameMap.set(langID, undefined); - console.log(stderr); - - LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { - level: ReportType.Error, - notify: true - }); - - return false; - } - } - - public async initialise(langID: HdlLangID): Promise { - const executorPath = this.getExecutableFilePath(langID); - return this.setExecutableFilePath(executorPath, langID); - } -} - -const verilatorLinter = new VerilatorLinter(); - -export { - verilatorLinter, - VerilatorLinter -}; diff --git a/src/function/lsp/linter/vivado.ts b/src/function/lsp/linter/vivado.ts deleted file mode 100644 index 83f37e5..0000000 --- a/src/function/lsp/linter/vivado.ts +++ /dev/null @@ -1,198 +0,0 @@ -import * as vscode from "vscode"; -import * as fs from 'fs'; - -import { LinterOutput, ReportType, opeParam } from "../../../global"; -import { hdlFile, hdlPath } from "../../../hdlFs"; -import { easyExec } from "../../../global/util"; -import { HdlLangID } from "../../../global/enum"; - -type Path = string; - -class VivadoLinter { - diagnostic: vscode.DiagnosticCollection; - executableFileMap: Map = new Map(); - executableInvokeNameMap: Map = new Map(); - linterArgsMap: Map = new Map(); - - constructor() { - this.diagnostic = vscode.languages.createDiagnosticCollection(); - - // configure map for executable file name - this.executableFileMap.set(HdlLangID.Verilog, 'xvlog'); - this.executableFileMap.set(HdlLangID.Vhdl, 'xvhdl'); - this.executableFileMap.set(HdlLangID.SystemVerilog, 'xvlog'); - this.executableFileMap.set(HdlLangID.Unknown, undefined); - - // configure map for argruments when lintering - this.linterArgsMap.set(HdlLangID.Verilog, ['--nolog']); - this.linterArgsMap.set(HdlLangID.Vhdl, ['--nolog']); - this.linterArgsMap.set(HdlLangID.SystemVerilog, ['--sv', '--nolog']); - this.linterArgsMap.set(HdlLangID.Unknown, []); - - // this.initialise(HdlLangID.Verilog); - // this.initialise(HdlLangID.Vhdl); - // this.initialise(HdlLangID.SystemVerilog); - } - - - async lint(document: vscode.TextDocument) { - const filePath = hdlPath.toSlash(document.fileName); - const langID = hdlFile.getLanguageId(filePath); - - // acquire install path - const linterArgs = this.linterArgsMap.get(langID); - if (linterArgs === undefined) { - return; - } - - const args = [filePath, ...linterArgs]; - const executor = this.executableInvokeNameMap.get(langID); - if (executor !== undefined) { - const { stdout } = await easyExec(executor, args); - if (stdout.length > 0) { - const diagnostics = this.provideDiagnostics(document, stdout); - this.diagnostic.set(document.uri, diagnostics); - } - } else { - LinterOutput.report('vivado linter is not available, please check prj.vivado.install.path in your setting', { - level: ReportType.Error, - notify: true - }); - } - } - - async remove(uri: vscode.Uri) { - this.diagnostic.delete(uri); - } - - /** - * @param document - * @param stdout stdout from xvlog - * @returns { vscode.Diagnostic[] } linter info - */ - private provideDiagnostics(document: vscode.TextDocument, stdout: string): vscode.Diagnostic[] { - const diagnostics = []; - for (const line of stdout.split(/\r?\n/g)) { - const tokens = line.split(/:?\s*(?:\[|\])\s*/); - const headerInfo = tokens[0]; - // const standardInfo = tokens[1]; - const syntaxInfo = tokens[2]; - const parsedPath = tokens[3]; - if (headerInfo === 'ERROR') { - const errorInfos = parsedPath.split(':'); - const errorLine = Math.max(parseInt(errorInfos[errorInfos.length - 1]) - 1, 0); - LinterOutput.report(` line: ${errorLine}, info: ${syntaxInfo}`, { - level: ReportType.Run - }); - - const range = this.makeCorrectRange(document, errorLine, syntaxInfo); - const diag = new vscode.Diagnostic(range, syntaxInfo, vscode.DiagnosticSeverity.Error); - diagnostics.push(diag); - } - } - return diagnostics; - } - - private makeCorrectRange(document: vscode.TextDocument, line: number, syntaxInfo: string): vscode.Range { - // extract all the words like 'adawwd' in a syntax info - const singleQuoteWords = syntaxInfo.match(/'([^']*)'/g); - if (singleQuoteWords && singleQuoteWords.length > 0) { - const targetWord = singleQuoteWords.map(val => val.replace(/'/g, ''))[0]; - // find range of target word - const textLine = document.lineAt(line); - const text = textLine.text; - const startCharacter = text.indexOf(targetWord); - if (startCharacter > -1) { - const endCharacter = startCharacter + targetWord.length; - const range = new vscode.Range( - new vscode.Position(line, startCharacter), - new vscode.Position(line, endCharacter) - ); - return range; - } - } - - // else target the first word in the line - return this.makeCommonRange(document, line, syntaxInfo); - } - - private makeCommonRange(document: vscode.TextDocument, line: number, syntaxInfo: string): vscode.Range { - const startPosition = new vscode.Position(line, 0); - - const wordRange = document.getWordRangeAtPosition(startPosition, /[`_0-9a-zA-Z]+/); - if (wordRange) { - return wordRange; - } else { - return new vscode.Range(startPosition, startPosition); - } - } - - public getExecutableFilePath(langID: HdlLangID): string | Path | undefined { - // vivado install path stored in prj.vivado.install.path - const vivadoConfig = vscode.workspace.getConfiguration('digital-ide.prj.vivado'); - const vivadoInstallPath = vivadoConfig.get('install.path', ''); - const executorName = this.executableFileMap.get(langID); - if (executorName === undefined) { - return undefined; - } - - // e.g. xvlog.bat in windows, xvlog in linux - const fullExecutorName = opeParam.os === 'win32' ? executorName + '.bat' : executorName; - - if (vivadoInstallPath.trim() === '' || !fs.existsSync(vivadoInstallPath)) { - LinterOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid. Use ${executorName} in default.`, { - level: ReportType.Warn - }); - LinterOutput.report('If you have doubts, check prj.vivado.install.path in setting', { - level: ReportType.Warn - }); - - return executorName; - } else { - LinterOutput.report(`User's Vivado Install Path "${vivadoInstallPath}", which is invalid`); - - const executorPath = hdlPath.join( - hdlPath.toSlash(vivadoInstallPath), - fullExecutorName - ); - // prevent path like C://stupid name/xxx/xxx/bin - // blank space - const safeExecutorPath = '"' + executorPath + '"'; - return safeExecutorPath; - } - } - - - public async setExecutableFilePath(executorPath: string | Path | undefined, langID: HdlLangID): Promise { - if (executorPath === undefined) { - return false; - } - const { stderr } = await easyExec(executorPath, []); - if (stderr.length === 0) { - this.executableInvokeNameMap.set(langID, executorPath); - LinterOutput.report(`success to verify ${executorPath}, linter from vivado is ready to go!`, { - level: ReportType.Launch - }); - return true; - } else { - this.executableInvokeNameMap.set(langID, undefined); - LinterOutput.report(`Fail to execute ${executorPath}! Reason: ${stderr}`, { - level: ReportType.Error, - notify: true - }); - return false; - } - } - - public async initialise(langID: HdlLangID): Promise { - const executorPath = this.getExecutableFilePath(langID); - return await this.setExecutableFilePath(executorPath, langID); - } -} - -const vivadoLinter = new VivadoLinter(); - -export { - vivadoLinter, - VivadoLinter -}; diff --git a/src/global/lsp.ts b/src/global/lsp.ts index 8b1461e..42227fb 100644 --- a/src/global/lsp.ts +++ b/src/global/lsp.ts @@ -29,7 +29,7 @@ export const DoFastRequestType = new RequestType('api/update-configuration'); export const DoPrimitivesJudgeType = new RequestType('api/do-primitives-judge'); export const SyncFastRequestType = new RequestType('api/sync-fast'); -export const LinterStatusRequestType = new RequestType('api/linter-status'); +export const LinterStatusRequestType = new RequestType('api/linter-status'); export interface ITextDocumentItem { uri: vscode.Uri, @@ -57,7 +57,7 @@ export interface IUpdateConfigurationParam { configType: string } -export interface ILinterStatusRequestType { +export interface ILinterStatusParam { languageId: string, linterName: string, linterPath: string diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 82dcf36..260de88 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -332,7 +332,7 @@ class HdlParam { const increment = Math.floor(p.id / fileNum * 100); await p.promise; // console.log("handle id " + p.id + ' increment: ' + increment); - progress?.report({ message: reportTitle + ` ${p.id}/${fileNum}`, increment }); + progress.report({ message: reportTitle + ` ${p.id}/${fileNum}`, increment }); } pools.length = 0; } diff --git a/src/manager/index.ts b/src/manager/index.ts index 6a9e559..104668c 100644 --- a/src/manager/index.ts +++ b/src/manager/index.ts @@ -4,7 +4,7 @@ import * as assert from 'assert'; import { prjManage } from './prj'; import { pickLibrary } from './libPick'; -function registerManagerCommands(context: vscode.ExtensionContext) { +export function registerManagerCommands(context: vscode.ExtensionContext) { // make ps and ps have been prepared assert(prjManage.pl, 'pl is undefined'); // assert(prjManage.ps, 'ps is undefined'); @@ -45,6 +45,5 @@ function registerManagerCommands(context: vscode.ExtensionContext) { } export { - prjManage, - registerManagerCommands + prjManage }; \ No newline at end of file diff --git a/src/manager/prj.ts b/src/manager/prj.ts index f0d0a2c..d0af706 100644 --- a/src/manager/prj.ts +++ b/src/manager/prj.ts @@ -16,6 +16,7 @@ import { t } from '../i18n'; import { PpyAction } from '../monitor/propery'; import { refreshArchTree } from '../function/treeView'; import * as lspClient from '../function/lsp-client'; +import { refreshWorkspaceDiagonastics } from '../function/lsp/linter/manager'; interface RefreshPrjConfig { @@ -211,6 +212,8 @@ class PrjManage { if (countTimeCost) { console.timeLog('launch'); } + + return hdlFiles; } public async refreshPrjFolder(config?: RefreshPrjConfig) { From 8900b2b920c0c2a0959b4866ad685ccc39f733b3 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 17 Dec 2024 23:32:53 +0800 Subject: [PATCH 021/107] =?UTF-8?q?=E5=85=BC=E5=AE=B9=20entity(archName)?= =?UTF-8?q?=20=E7=9A=84=E6=A8=A1=E5=9D=97=E6=A0=91=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/lsp/linter/manager.ts | 4 +-- src/function/treeView/tree.ts | 4 +-- src/hdlParser/core.ts | 58 +++++++++++++++++++++++++++--- 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index be7fc02..c27674c 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -320,9 +320,7 @@ export async function refreshWorkspaceDiagonastics( const parallelChunk = Math.min(os.cpus().length, 32); const configuration = vscode.workspace.getConfiguration(); const linterMode = configuration.get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Common); - - console.log('进入诊断,当前诊断模式:', linterMode, lintPaths); - + if (linterMode === LinterMode.Full) { // full,对工作区所有文件进行诊断 const consumer = async (path: string) => { diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index 85c96a1..967ee89 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -181,14 +181,14 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const moduleType = element.name as keyof (SrcPath & SimPath); // 获取所有对应类型(src | sim)下的顶层模块数量 - const topModules = hdlParam.getTopModulesByType(moduleType); + const topModules = hdlParam.getTopModulesByType(moduleType); // 将所有顶层模块转换成 ModuleDataItem 自定义 treeview item 数据结构 let topModuleItemList = topModules.map(module => ({ icon: this.judgeTopModuleIconByDoFastType(module.file.doFastType), type: moduleType, doFastFileType: module.file.doFastType, - name: module.name, + name: module.archName === undefined ? module.name : `${module.name}(${module.archName})`, range: module.range, path: module.path, parent: element, diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 260de88..b3f329e 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -656,7 +656,7 @@ class HdlInstance { // 构造 fake hdlfile if (opeParam.prjInfo.toolChain === 'xilinx') { const fakeModule = new HdlModule( - XilinxPrimitivesHdlFile, instModName, defaultRange, [], [], []); + XilinxPrimitivesHdlFile, instModName, undefined, defaultRange, [], [], []); this.module = fakeModule; // 原语在任何情况下都不是顶层模块 hdlParam.deleteTopModule(fakeModule); @@ -749,6 +749,7 @@ class HdlInstance { class HdlModule { file: HdlFile; name: string; + archName: string | undefined; range: common.Range; params: common.HdlModuleParam[]; ports: common.HdlModulePort[]; @@ -761,6 +762,7 @@ class HdlModule { constructor(file: HdlFile, name: string, + archName: string | undefined, range: common.Range, params: common.HdlModuleParam[], ports: common.HdlModulePort[], @@ -768,6 +770,7 @@ class HdlModule { this.file = file; this.name = name; + this.archName = archName; this.range = range; this.params = params ? params : []; this.ports = ports ? ports : []; @@ -1149,28 +1152,73 @@ export class HdlFile { // make nameToModule this.nameToModule = new Map(); - for (const rawHdlModule of modules) { + + if (path.endsWith('vhd')) { + console.log(path); + console.log(modules); + } + + for (const rawHdlModule of modules) { this.createHdlModule(rawHdlModule); } } public createHdlModule(rawHdlModule: common.RawHdlModule): HdlModule { + const archName = rawHdlModule.archName.trim().length === 0 ? undefined: rawHdlModule.archName; const module: HdlModule = new HdlModule(this, rawHdlModule.name, + archName, rawHdlModule.range, rawHdlModule.params, rawHdlModule.ports, rawHdlModule.instances); - this.nameToModule.set(rawHdlModule.name, module); + const key = this.makeKey(rawHdlModule.name, archName); + this.nameToModule.set(key, module); return module; } + public makeKey(name: string, archName: string | undefined): string { + return archName === undefined ? name: `${name}(${archName})`; + } + + /** + * @description 判断一个名为 name 的 module 在不在当前文件中 + * 如果存在关于 name 的映射,则直接返回,否则,寻找全文匹配含有 name 的 item + * @param name + * @returns + */ public hasHdlModule(name: string): boolean { - return this.nameToModule.has(name); + if (this.nameToModule.has(name)) { + return true; + } + + for (const moduleName of this.nameToModule.keys()) { + if (moduleName.includes('(')) { + const entityName = moduleName.split('(')[0]; + if (entityName === name) { + return true; + } + } + } + return false; } public getHdlModule(name: string): HdlModule | undefined { - return this.nameToModule.get(name); + const hdlModule = this.nameToModule.get(name); + if (hdlModule !== undefined) { + return hdlModule; + } + + for (const [moduleName, hdlModule] of this.nameToModule.entries()) { + if (moduleName.includes('(')) { + const entityName = moduleName.split('(')[0]; + if (entityName === name) { + return hdlModule; + } + } + } + + return undefined; } public getAllModuleNames(): string[] { From 54b676ea9da3bb5909d755d3814b3a66fa758547 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Wed, 18 Dec 2024 00:45:27 +0800 Subject: [PATCH 022/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20entity=20=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=20module=20=E5=88=A0=E9=99=A4=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hdlParser/core.ts | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index b3f329e..b127d0f 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -1153,10 +1153,6 @@ export class HdlFile { // make nameToModule this.nameToModule = new Map(); - if (path.endsWith('vhd')) { - console.log(path); - console.log(modules); - } for (const rawHdlModule of modules) { this.createHdlModule(rawHdlModule); @@ -1238,7 +1234,7 @@ export class HdlFile { } public deleteHdlModule(name: string) { - const hdlModule = this.getHdlModule(name); + let hdlModule = this.getHdlModule(name); if (hdlModule) { // delete child reference in the module which use this for (const childInst of hdlModule.getAllGlobalRefers()) { @@ -1260,7 +1256,27 @@ export class HdlFile { hdlParam.deleteTopModule(hdlModule); hdlParam.deleteTopModuleToSource(hdlModule); hdlParam.modules.delete(hdlModule); - this.nameToModule.delete(hdlModule.name); + + // TODO: 未来迁移这段逻辑 + hdlModule = this.nameToModule.get(name); + if (hdlModule !== undefined) { + this.nameToModule.delete(name); + } else { + let entityComName: undefined | string = undefined; + for (const moduleName of this.nameToModule.keys()) { + if (moduleName.includes('(')) { + const entityName = moduleName.split('(')[0]; + if (entityName === name) { + entityComName = moduleName; + break; + } + } + } + + if (entityComName) { + this.nameToModule.delete(entityComName); + } + } } } From 78da956c67d0c091619fb2b3248ffd95d58c0bdd Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Thu, 19 Dec 2024 22:11:26 +0800 Subject: [PATCH 023/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20vhdl=20=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E6=A0=91=E6=9B=B4=E6=96=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/script/xilinx/program.tcl | 27 +++++++++++++++++++++++++++ src/hdlParser/core.ts | 15 ++++++++------- 2 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 resources/script/xilinx/program.tcl diff --git a/resources/script/xilinx/program.tcl b/resources/script/xilinx/program.tcl new file mode 100644 index 0000000..b2174e7 --- /dev/null +++ b/resources/script/xilinx/program.tcl @@ -0,0 +1,27 @@ + +open_hw -quiet +connect_hw_server -quiet +set found 0 +foreach hw_target [get_hw_targets] { + current_hw_target $hw_target + open_hw_target -quiet + foreach hw_device [get_hw_devices] { + if { [string equal -length 6 [get_property PART $hw_device] xc7z020clg400-2] == 1 } { + puts "------Successfully Found Hardware Target with a xc7z020clg400-2 device------ " + current_hw_device $hw_device + set found 1 + } + } + if {$found == 1} {break} + close_hw_target +} + +#download the hw_targets +if {$found == 0 } { + puts "******ERROR : Did not find any Hardware Target with a xc7z020clg400-2 device****** " +} else { + set_property PROGRAM.FILE ./[current_project].bit [current_hw_device] + program_hw_devices [current_hw_device] -quiet + disconnect_hw_server -quiet +} +file delete /home/dide/project/Digital-IDE/resources/script/xilinx/program.tcl -force diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index b127d0f..b2037e5 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -486,13 +486,13 @@ class HdlParam { } for (const rawHdlModule of fast.content) { - const moduleName = rawHdlModule.name; - if (uncheckedModuleNames.has(moduleName)) { + const renderName = moduleFile.makeKey(rawHdlModule.name, rawHdlModule.archName); + if (uncheckedModuleNames.has(renderName)) { // match the same module, check then - const originalModule = moduleFile.getHdlModule(moduleName); - uncheckedModuleNames.delete(moduleName); - originalModule?.update(rawHdlModule); - } else { + const originalModule = moduleFile.getHdlModule(renderName); + uncheckedModuleNames.delete(renderName); + originalModule?.update(rawHdlModule); + } else { // no matched, create it const newModule = moduleFile.createHdlModule(rawHdlModule); newModule.makeNameToInstances(); @@ -1153,7 +1153,6 @@ export class HdlFile { // make nameToModule this.nameToModule = new Map(); - for (const rawHdlModule of modules) { this.createHdlModule(rawHdlModule); } @@ -1174,6 +1173,7 @@ export class HdlFile { } public makeKey(name: string, archName: string | undefined): string { + archName = archName ? archName: undefined; return archName === undefined ? name: `${name}(${archName})`; } @@ -1235,6 +1235,7 @@ export class HdlFile { public deleteHdlModule(name: string) { let hdlModule = this.getHdlModule(name); + if (hdlModule) { // delete child reference in the module which use this for (const childInst of hdlModule.getAllGlobalRefers()) { From e65b531da39adc2de02f4bc05e35eec9c878e6f8 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 16:32:34 +0800 Subject: [PATCH 024/107] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snippets/svlog.json | 53 ------------------------------ src/function/lsp/linter/manager.ts | 6 ++-- src/manager/PL/index.ts | 5 +++ 3 files changed, 8 insertions(+), 56 deletions(-) diff --git a/snippets/svlog.json b/snippets/svlog.json index 18f2510..f66795b 100644 --- a/snippets/svlog.json +++ b/snippets/svlog.json @@ -581,14 +581,6 @@ "description":"interface name; ... endinterface" }, - "display":{ - "prefix":"display", - "body":[ - "\\$display($0);" - ], - "description":"$display(\"...\", params...)" - }, - "set Module":{ "prefix":"setmodule", "body":[ @@ -663,22 +655,6 @@ "description": "forever begin ... end" }, - "write":{ - "prefix": "$write", - "body": [ - "\\$write($1)" - ], - "description": "" - }, - - "clog2":{ - "prefix": "$clog2", - "body": [ - "\\$clog2($1)" - ], - "description": "" - }, - "signed":{ "prefix": "$signed", "body": [ @@ -695,14 +671,6 @@ "description": "" }, - "random" : { - "prefix": "$random", - "body": [ - "\\$random($1)" - ], - "description": "" - }, - "wavedrom comment": { "prefix" : "wavedrom", "body": [ @@ -712,26 +680,5 @@ "}", "*/" ] - }, - - "dumpfile": { - "prefix": "$dumpfile", - "body": [ - "\\$dumpfile(\"$1\");" - ] - }, - - "dumpvars": { - "prefix": "$dumpvars", - "body": [ - "\\$dumpvars;" - ] - }, - - "finish": { - "prefix": "$finish", - "body": [ - "\\$finish;" - ] } } \ No newline at end of file diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index c27674c..88f5539 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -326,7 +326,7 @@ export async function refreshWorkspaceDiagonastics( const consumer = async (path: string) => { await publishDiagnostics(client, path); } - await asyncConsumer(lintPaths, consumer, parallelChunk); + await asyncConsumer(lintPaths, consumer, parallelChunk, progress); } else if (linterMode === LinterMode.Common) { // common, 只对打开文件进行操作 // 先清除所有的诊断结果 @@ -355,14 +355,14 @@ export async function refreshWorkspaceDiagonastics( return files; }); - await asyncConsumer(tabArray, consumer, parallelChunk); + await asyncConsumer(tabArray, consumer, parallelChunk, progress); } else { // shutdown, 如果是初始化阶段,什么都不需要做 const consumer = async (path: string) => { await clearDiagnostics(client, path); }; if (!isInitialise) { - await asyncConsumer(lintPaths, consumer, parallelChunk); + await asyncConsumer(lintPaths, consumer, parallelChunk, progress); } } } diff --git a/src/manager/PL/index.ts b/src/manager/PL/index.ts index 857fc34..df243d5 100644 --- a/src/manager/PL/index.ts +++ b/src/manager/PL/index.ts @@ -105,6 +105,11 @@ class PlManage extends BaseManage { public setSrcTop(item: ModuleDataItem) { this.context.ope.setSrcTop(item.name, this.context); const type = moduleTreeProvider.getItemType(item); + console.log('set top'); + console.log(type); + console.log(item); + + if (type === HdlFileProjectType.Src) { moduleTreeProvider.setFirstTop(HdlFileProjectType.Src, item.name, item.path); moduleTreeProvider.refreshSrc(); From 0987738ed9a8fe058e3624ab6d0a1765a0dfe7cf Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 16:48:30 +0800 Subject: [PATCH 025/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E6=A0=91=E4=B8=AD=EF=BC=8C=E8=AE=BE=E7=BD=AE=E9=A1=B6=E5=B1=82?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/lsp/linter/manager.ts | 10 +++++---- src/function/treeView/tree.ts | 35 ++++++++++++++++-------------- src/manager/PL/index.ts | 4 ---- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index 88f5539..87786b0 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -329,11 +329,13 @@ export async function refreshWorkspaceDiagonastics( await asyncConsumer(lintPaths, consumer, parallelChunk, progress); } else if (linterMode === LinterMode.Common) { // common, 只对打开文件进行操作 - // 先清除所有的诊断结果 - const clearConsumer = async (path: string) => { - await clearDiagnostics(client, path); + if (!isInitialise) { + // 先清除所有的诊断结果 + const clearConsumer = async (path: string) => { + await clearDiagnostics(client, path); + } + await asyncConsumer(lintPaths, clearConsumer, parallelChunk); } - await asyncConsumer(lintPaths, clearConsumer, parallelChunk); // 再对激活区域进行诊断 const consumer = async (path: string) => { diff --git a/src/function/treeView/tree.ts b/src/function/treeView/tree.ts index 967ee89..4736481 100644 --- a/src/function/treeView/tree.ts +++ b/src/function/treeView/tree.ts @@ -137,7 +137,7 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { // set tooltip treeItem.tooltip = element.path; if (!treeItem.tooltip) { - treeItem.tooltip = t('info.treeview.item.tooltip'); + treeItem.tooltip = 'src'; } // set iconPath @@ -201,30 +201,33 @@ class ModuleTreeProvider implements vscode.TreeDataProvider { const type = moduleType as keyof FirstTop; // 默认选择依赖模块最多的作为 first top - let firstTop: { path: string, name: string } | undefined = undefined; - let maxDepSize = 0; + let firstTop = this.firstTop[type]; - - for (const hdlModule of topModules) { - // 此处断言是因为当前的 name 和 path 是从 topModules 中提取的 - // 它们对应的 hdlModule 一定存在 - const deps = hdlParam.getAllDependences(hdlModule.path, hdlModule.name)!; - const depSize = deps.include.length + deps.others.length; - if (depSize > maxDepSize) { - maxDepSize = depSize; - firstTop = { path: hdlModule.path, name: hdlModule.name }; + if (!firstTop) { + let maxDepSize = 0; + for (const hdlModule of topModules) { + // 此处断言是因为当前的 name 和 path 是从 topModules 中提取的 + // 它们对应的 hdlModule 一定存在 + const deps = hdlParam.getAllDependences(hdlModule.path, hdlModule.name)!; + const depSize = deps.include.length + deps.others.length; + if (depSize > maxDepSize) { + maxDepSize = depSize; + firstTop = { path: hdlModule.path, name: hdlModule.name }; + } + } + + if (firstTop) { + // 将当前模块设置为 first top + this.setFirstTop(type, firstTop.name, firstTop.path); } } - if (firstTop === undefined) { + if (!firstTop) { // 没有找到顶层模块,代表当前本来就是空的 // 此时 topModuleItemList 一定是 [] return topModuleItemList; } - // 将当前模块设置为 first top - this.setFirstTop(type, firstTop.name, firstTop.path); - // 将 first top 放到数据列表开头 const firstTopIcon = this.makeFirstTopIconName(type); diff --git a/src/manager/PL/index.ts b/src/manager/PL/index.ts index df243d5..eed32e0 100644 --- a/src/manager/PL/index.ts +++ b/src/manager/PL/index.ts @@ -105,10 +105,6 @@ class PlManage extends BaseManage { public setSrcTop(item: ModuleDataItem) { this.context.ope.setSrcTop(item.name, this.context); const type = moduleTreeProvider.getItemType(item); - console.log('set top'); - console.log(type); - console.log(item); - if (type === HdlFileProjectType.Src) { moduleTreeProvider.setFirstTop(HdlFileProjectType.Src, item.name, item.path); From 734d44603850be41c9966f97dce45527147fd000 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 17:35:37 +0800 Subject: [PATCH 026/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E6=A0=91=E4=B8=AD=EF=BC=8C=E8=AE=BE=E7=BD=AE=E9=A1=B6=E5=B1=82?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/lsp-client/config.ts | 16 +++++++++------- src/function/lsp/linter/common.ts | 9 ++++++++- src/function/lsp/linter/manager.ts | 20 ++++++++++---------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/function/lsp-client/config.ts b/src/function/lsp-client/config.ts index b8c60db..c70446f 100644 --- a/src/function/lsp-client/config.ts +++ b/src/function/lsp-client/config.ts @@ -130,13 +130,15 @@ export async function registerConfigurationUpdater(client: LanguageClient, packa } // 如果诊断模式发生变化,进行一次刷新 - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Window, - title: t('info.progress.doing-diagnostic') - }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { - const hdlFiles = await prjManage.getPrjHardwareFiles(); - await refreshWorkspaceDiagonastics(client, hdlFiles, false, progress); - }); + if (event.affectsConfiguration(Linter.getLinterModeConfigurationName())) { + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Window, + title: t('info.progress.doing-diagnostic') + }, async (progress: vscode.Progress, token: vscode.CancellationToken) => { + const hdlFiles = await prjManage.getPrjHardwareFiles(); + await refreshWorkspaceDiagonastics(client, hdlFiles, false, progress); + }); + } }); } diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts index 8ed79b7..3d9f3ca 100644 --- a/src/function/lsp/linter/common.ts +++ b/src/function/lsp/linter/common.ts @@ -51,6 +51,10 @@ export function getLinterInstallConfigurationName(linterName: SupportLinterName) return `digital-ide.prj.${linterName}.install.path`; } +export function getLinterModeConfigurationName(): string { + return 'digital-ide.function.lsp.linter.linter-mode'; +} + export function getLinterInstallPath(linterName: SupportLinterName): string { const configuration = vscode.workspace.getConfiguration(); const linterInstallConfigurationName = getLinterInstallConfigurationName(linterName); @@ -117,7 +121,10 @@ export enum LinterMode { } export function getLinterMode(): LinterMode { - return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Full); + console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode')); + console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-level')); + + return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode') || LinterMode.Common; } export interface IConfigReminder { diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index 87786b0..7e856b9 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -1,14 +1,13 @@ import * as vscode from 'vscode'; import * as os from 'os'; -import { LspClient, LinterOutput, ReportType, AbsPath, IProgress } from '../../../global'; +import { LinterOutput, ReportType, AbsPath, IProgress } from '../../../global'; import { HdlLangID } from '../../../global/enum'; import { hdlFile, hdlPath } from '../../../hdlFs'; import { t } from '../../../i18n'; -import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterName, IConfigReminder, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; +import { getLinterConfigurationName, getLinterInstallConfigurationName, getLinterMode, getLinterName, IConfigReminder, LinterItem, LinterMode, makeLinterNamePickItem, makeLinterOptions, SupportLinterName, updateLinterConfigurationName } from './common'; import { UpdateConfigurationType } from '../../../global/lsp'; import { LanguageClient } from 'vscode-languageclient/node'; -import { toEscapePath } from '../../../hdlFs/path'; export class LinterManager { /** @@ -318,9 +317,10 @@ export async function refreshWorkspaceDiagonastics( progress: vscode.Progress ) { const parallelChunk = Math.min(os.cpus().length, 32); - const configuration = vscode.workspace.getConfiguration(); - const linterMode = configuration.get('digital-ide.function.lsp.linter.linter-mode', LinterMode.Common); - + const linterMode = getLinterMode(); + + console.log('[refreshWorkspaceDiagonastics]', linterMode); + if (linterMode === LinterMode.Full) { // full,对工作区所有文件进行诊断 const consumer = async (path: string) => { @@ -359,11 +359,11 @@ export async function refreshWorkspaceDiagonastics( await asyncConsumer(tabArray, consumer, parallelChunk, progress); } else { - // shutdown, 如果是初始化阶段,什么都不需要做 - const consumer = async (path: string) => { - await clearDiagnostics(client, path); - }; if (!isInitialise) { + // shutdown, 如果是初始化阶段,什么都不需要做 + const consumer = async (path: string) => { + await clearDiagnostics(client, path); + }; await asyncConsumer(lintPaths, consumer, parallelChunk, progress); } } From 2101054860b734e0b59d6f15774371edba3f1453 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 17:38:54 +0800 Subject: [PATCH 027/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=BF=AE=E6=94=B9=E4=B8=8D=E7=94=9F=E6=95=88?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 +++++----- package.nls.de.json | 8 ++++---- package.nls.ja.json | 8 ++++---- package.nls.json | 8 ++++---- package.nls.zh-cn.json | 8 ++++---- package.nls.zh-tw.json | 8 ++++---- src/function/lsp/linter/common.ts | 6 +++--- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 15ba99f..efb7c88 100644 --- a/package.json +++ b/package.json @@ -284,12 +284,12 @@ "default": "vivado", "description": "%digital-ide.function.lsp.linter.vhdl.diagnostor.title%" }, - "digital-ide.function.lsp.linter.linter-mode": { + "digital-ide.function.lsp.linter.mode": { "type": "string", "enumDescriptions": [ - "%digital-ide.function.lsp.linter.linter-mode.0.title%", - "%digital-ide.function.lsp.linter.linter-mode.1.title%", - "%digital-ide.function.lsp.linter.linter-mode.2.title%" + "%digital-ide.function.lsp.linter.mode.0.title%", + "%digital-ide.function.lsp.linter.mode.1.title%", + "%digital-ide.function.lsp.linter.mode.2.title%" ], "enum": [ "full", @@ -297,7 +297,7 @@ "shutdown" ], "default": "full", - "description": "%digital-ide.function.lsp.linter.linter-mode.title%" + "description": "%digital-ide.function.lsp.linter.mode.title%" }, "digital-ide.function.lsp.linter.linter-level": { "type": "string", diff --git a/package.nls.de.json b/package.nls.de.json index 150bb24..924029e 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -94,10 +94,10 @@ "digital-ide.structure.from-xilinx-to-standard.title": "Konvertieren Sie Xilinx-Projekte in die Digital IDE-Standardprojektstruktur", "digital-ide.prj.verible.install.path.title": "Installationsverzeichnispfad für verible, also der absolute Pfad des Ordners, der die ausführbare Datei verible-verilog-syntax enthält. Wenn nicht angegeben, wird standardmäßig verible-verilog-syntax für die Diagnose verwendet.", "digital-ide.prj.verilator.install.path.title": "Installationsverzeichnispfad für verilator, also der absolute Pfad des Ordners, der die ausführbare Datei verilator enthält. Wenn nicht angegeben, wird standardmäßig verilator für die Diagnose verwendet.", - "digital-ide.function.lsp.linter.linter-mode.title": "Diagnosemodus des Linters festlegen", - "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnostizieren Sie alle Designquellen direkt und melden Sie Fehler, unabhängig davon, ob die Dateien geöffnet sind.", - "digital-ide.function.lsp.linter.linter-mode.1.title": "Wenn eine einzelne Datei geschlossen ist, wird der entsprechende Fehler entfernt, und nur die geöffnete Datei wird diagnostiziert.", - "digital-ide.function.lsp.linter.linter-mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet.", + "digital-ide.function.lsp.linter.mode.title": "Diagnosemodus des Linters festlegen", + "digital-ide.function.lsp.linter.mode.0.title": "Diagnostizieren Sie alle Designquellen direkt und melden Sie Fehler, unabhängig davon, ob die Dateien geöffnet sind.", + "digital-ide.function.lsp.linter.mode.1.title": "Wenn eine einzelne Datei geschlossen ist, wird der entsprechende Fehler entfernt, und nur die geöffnete Datei wird diagnostiziert.", + "digital-ide.function.lsp.linter.mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet.", "digital-ide.function.lsp.linter.linter-level.title": "Diagnoselevel-Einstellungen des Linters", "digital-ide.function.lsp.linter.linter-level.error.title": "Nur Fehler anzeigen", "digital-ide.function.lsp.linter.linter-level.warning.title": "Fehler und Warnungen anzeigen" diff --git a/package.nls.ja.json b/package.nls.ja.json index 1c6017e..9ca105b 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -94,10 +94,10 @@ "digital-ide.structure.from-xilinx-to-standard.title": "Xilinx プロジェクトを Digital IDE 標準プロジェクト構造に変換する", "digital-ide.prj.verible.install.path.title": "verible のインストールディレクトリパス。つまり、verible-verilog-syntax 実行ファイルを含むフォルダの絶対パス。指定しない場合、デフォルトで verible-verilog-syntax が診断に使用されます。", "digital-ide.prj.verilator.install.path.title": "verilator のインストールディレクトリパス。つまり、verilator 実行ファイルを含むフォルダの絶対パス。指定しない場合、デフォルトで verilator が診断に使用されます。", - "digital-ide.function.lsp.linter.linter-mode.title": "リンターの診断モードを指定", - "digital-ide.function.lsp.linter.linter-mode.0.title": "すべての設計ソースを直接診断し、エラーを報告します。ファイルが開いているかどうかに関係なく。", - "digital-ide.function.lsp.linter.linter-mode.1.title": "単一のファイルが閉じられた場合、対応するエラーが削除され、開いているファイルのみが診断されます。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。", + "digital-ide.function.lsp.linter.mode.title": "リンターの診断モードを指定", + "digital-ide.function.lsp.linter.mode.0.title": "すべての設計ソースを直接診断し、エラーを報告します。ファイルが開いているかどうかに関係なく。", + "digital-ide.function.lsp.linter.mode.1.title": "単一のファイルが閉じられた場合、対応するエラーが削除され、開いているファイルのみが診断されます。", + "digital-ide.function.lsp.linter.mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。", "digital-ide.function.lsp.linter.linter-level.title": "診断器の診断レベル設定", "digital-ide.function.lsp.linter.linter-level.error.title": "エラーのみ表示", "digital-ide.function.lsp.linter.linter-level.warning.title": "エラーと警告を表示" diff --git a/package.nls.json b/package.nls.json index e94a291..6e0e000 100644 --- a/package.nls.json +++ b/package.nls.json @@ -94,10 +94,10 @@ "digital-ide.structure.from-xilinx-to-standard.title": "Convert Xilinx projects to Digital IDE standard project structure", "digital-ide.prj.verible.install.path.title": "Installation directory path for verible, which is the absolute path of the folder containing the verible-verilog-syntax executable. If not specified, verible-verilog-syntax will be used for diagnostics by default.", "digital-ide.prj.verilator.install.path.title": "Installation directory path for verilator, which is the absolute path of the folder containing the verilator executable. If not specified, verilator will be used for diagnostics by default.", - "digital-ide.function.lsp.linter.linter-mode.title": "Specify the diagnostic mode of the linter", - "digital-ide.function.lsp.linter.linter-mode.0.title": "Diagnose all design sources directly and report errors, regardless of whether the files are open.", - "digital-ide.function.lsp.linter.linter-mode.1.title": "When a single file is closed, the corresponding error is removed, and only the file that is opened is diagnosed.", - "digital-ide.function.lsp.linter.linter-mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project.", + "digital-ide.function.lsp.linter.mode.title": "Specify the diagnostic mode of the linter", + "digital-ide.function.lsp.linter.mode.0.title": "Diagnose all design sources directly and report errors, regardless of whether the files are open.", + "digital-ide.function.lsp.linter.mode.1.title": "When a single file is closed, the corresponding error is removed, and only the file that is opened is diagnosed.", + "digital-ide.function.lsp.linter.mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project.", "digital-ide.function.lsp.linter.linter-level.title": "Diagnostic Level Settings for the Linter", "digital-ide.function.lsp.linter.linter-level.error.title": "Show Only Errors", "digital-ide.function.lsp.linter.linter-level.warning.title": "Show Errors and Warnings" diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 3270938..71b54f6 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -94,10 +94,10 @@ "digital-ide.structure.from-xilinx-to-standard.title": "将 Xilinx 项目转换成 Digital IDE 标准项目结构", "digital-ide.prj.verible.install.path.title": "verible 的安装目录路径,也就是包含 verible-verilog-syntax 可执行文件的文件夹的绝对路径。如果不指定,默认采用 verible-verilog-syntax 执行诊断。", "digital-ide.prj.verilator.install.path.title": "verilator 的安装目录路径,也就是包含了 verilator 可执行文件的文件夹的绝对路径。不如不指定,默认采用 verilator 执行诊断。", - "digital-ide.function.lsp.linter.linter-mode.title": "指定诊断器的诊断模式", - "digital-ide.function.lsp.linter.linter-mode.0.title": "将所有设计源直接进行诊断,并报错,无论文件是否打开。", - "digital-ide.function.lsp.linter.linter-mode.1.title": "单文件关闭时,对应报错去除,打开哪个文件就对哪个文件进行诊断。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "全局关闭,即整个工程都不进行工程报错。", + "digital-ide.function.lsp.linter.mode.title": "指定诊断器的诊断模式", + "digital-ide.function.lsp.linter.mode.0.title": "将所有设计源直接进行诊断,并报错,无论文件是否打开。", + "digital-ide.function.lsp.linter.mode.1.title": "单文件关闭时,对应报错去除,打开哪个文件就对哪个文件进行诊断。", + "digital-ide.function.lsp.linter.mode.2.title": "全局关闭,即整个工程都不进行工程报错。", "digital-ide.function.lsp.linter.linter-level.title": "诊断器诊断等级设置", "digital-ide.function.lsp.linter.linter-level.error.title": "只显示错误", "digital-ide.function.lsp.linter.linter-level.warning.title": "显示错误和警告" diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index 3a5cafa..d5279c0 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -94,10 +94,10 @@ "digital-ide.structure.from-xilinx-to-standard.title": "將 Xilinx 專案轉換成 Digital IDE 標準專案結構", "digital-ide.prj.verible.install.path.title": "verible 的安裝目錄路徑,也就是包含 verible-verilog-syntax 可執行文件的文件夾的絕對路徑。如果不指定,默認採用 verible-verilog-syntax 執行診斷。", "digital-ide.prj.verilator.install.path.title": "verilator 的安裝目錄路徑,也就是包含了 verilator 可執行文件的文件夾的絕對路徑。不如不指定,默認採用 verilator 執行診斷。", - "digital-ide.function.lsp.linter.linter-mode.title": "指定診斷器的診斷模式", - "digital-ide.function.lsp.linter.linter-mode.0.title": "將所有設計源直接進行診斷,並報錯,無論文件是否打開。", - "digital-ide.function.lsp.linter.linter-mode.1.title": "單文件關閉時,對應報錯去除,打開哪個文件就對哪個文件進行診斷。", - "digital-ide.function.lsp.linter.linter-mode.2.title": "全局關閉,即整個工程都不進行工程報錯。", + "digital-ide.function.lsp.linter.mode.title": "指定診斷器的診斷模式", + "digital-ide.function.lsp.linter.mode.0.title": "將所有設計源直接進行診斷,並報錯,無論文件是否打開。", + "digital-ide.function.lsp.linter.mode.1.title": "單文件關閉時,對應報錯去除,打開哪個文件就對哪個文件進行診斷。", + "digital-ide.function.lsp.linter.mode.2.title": "全局關閉,即整個工程都不進行工程報錯。", "digital-ide.function.lsp.linter.linter-level.title": "診斷器診斷等級設置", "digital-ide.function.lsp.linter.linter-level.error.title": "只顯示錯誤", "digital-ide.function.lsp.linter.linter-level.warning.title": "顯示錯誤和警告" diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts index 3d9f3ca..f8db5c7 100644 --- a/src/function/lsp/linter/common.ts +++ b/src/function/lsp/linter/common.ts @@ -52,7 +52,7 @@ export function getLinterInstallConfigurationName(linterName: SupportLinterName) } export function getLinterModeConfigurationName(): string { - return 'digital-ide.function.lsp.linter.linter-mode'; + return 'digital-ide.function.lsp.linter.mode'; } export function getLinterInstallPath(linterName: SupportLinterName): string { @@ -121,10 +121,10 @@ export enum LinterMode { } export function getLinterMode(): LinterMode { - console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode')); + console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.mode')); console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-level')); - return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-mode') || LinterMode.Common; + return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.mode') || LinterMode.Common; } export interface IConfigReminder { From c26bd9316e3e2aa7ea423859f61f94f814ef0ccf Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 19:00:25 +0800 Subject: [PATCH 028/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20vhdl=20=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=8C=96=E6=B8=B2=E6=9F=93=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/function/hdlDoc/diagram.ts | 29 +++++++++++++++++++++-------- src/function/hdlDoc/markdown.ts | 2 ++ src/function/lsp/linter/common.ts | 5 +---- src/function/lsp/linter/manager.ts | 2 -- src/hdlParser/common.ts | 4 +++- src/hdlParser/core.ts | 11 +++-------- 6 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/function/hdlDoc/diagram.ts b/src/function/hdlDoc/diagram.ts index b28c924..00a6477 100644 --- a/src/function/hdlDoc/diagram.ts +++ b/src/function/hdlDoc/diagram.ts @@ -42,6 +42,12 @@ function getArrowSvgString(name: 'left' | 'right' | 'left-right' | 'left-dot' | return svgString; } +/** + * @description 生成文档化中用于描述一个 module 的简易 diagram + * @param params + * @param ports + * @returns + */ function makeDiagram(params: HdlModuleParam[], ports: HdlModulePort[]): string { // make params block const diagramParamWrapper = makeDiagramParamWrapper(params); @@ -77,8 +83,15 @@ function makeDiagramPortWrapper(ports: HdlModulePort[]): string { return ''; } - const leftPorts = ports.filter(port => port.type === HdlModulePortType.Input || port.type === HdlModulePortType.Inout); - const rightPorts = ports.filter(port => port.type === HdlModulePortType.Output); + const leftPorts = ports.filter(port => + port.type === HdlModulePortType.Input || + port.type === HdlModulePortType.Inout || + port.type === HdlModulePortType.VhdlInput + ); + const rightPorts = ports.filter(port => + port.type === HdlModulePortType.Output || + port.type === HdlModulePortType.VhdlOutput + ); const leftDirection = makeLeftDirection(leftPorts); const diagramPorts = makeDiagramPorts(leftPorts, rightPorts); @@ -107,13 +120,13 @@ function makePortArrow(port: HdlModulePort, direction: 'left' | 'right'): string return getArrowSvgString('left-right'); } if (direction === 'left') { - if (port.type === HdlModulePortType.Input) { + if (port.type === HdlModulePortType.Input || port.type === HdlModulePortType.VhdlInput) { if (isValidWidth(port.width)) { return getArrowSvgString('right-dot'); } else { return getArrowSvgString('right'); } - } else if (port.type === HdlModulePortType.Output) { + } else if (port.type === HdlModulePortType.Output || port.type === HdlModulePortType.VhdlOutput) { if (isValidWidth(port.width)) { return getArrowSvgString('left-dot'); } else { @@ -121,13 +134,13 @@ function makePortArrow(port: HdlModulePort, direction: 'left' | 'right'): string } } } else if (direction === 'right') { - if (port.type === HdlModulePortType.Input) { + if (port.type === HdlModulePortType.Input || port.type === HdlModulePortType.VhdlInput) { if (isValidWidth(port.width)) { return getArrowSvgString('left-dot'); } else { return getArrowSvgString('left'); } - } else if (port.type === HdlModulePortType.Output) { + } else if (port.type === HdlModulePortType.Output || port.type === HdlModulePortType.VhdlOutput) { if (isValidWidth(port.width)) { return getArrowSvgString('right-dot'); } else { @@ -151,9 +164,9 @@ function makeLeftDirection(leftPorts: HdlModulePort[]): string { function makePortName(port: HdlModulePort): string { let portClass = ''; - if (port.type === HdlModulePortType.Input) { + if (port.type === HdlModulePortType.Input || port.type === HdlModulePortType.VhdlInput) { portClass = 'i-port-name'; - } else if (port.type === HdlModulePortType.Output) { + } else if (port.type === HdlModulePortType.Output || port.type === HdlModulePortType.VhdlOutput) { portClass = 'o-port-name'; } else { portClass = 'io-port-name'; diff --git a/src/function/hdlDoc/markdown.ts b/src/function/hdlDoc/markdown.ts index ab80e70..3a414d8 100644 --- a/src/function/hdlDoc/markdown.ts +++ b/src/function/hdlDoc/markdown.ts @@ -254,6 +254,8 @@ async function getDocsFromModule(module: HdlModule): Promise { )); } else { // 对于多文件,找出所有依赖项 + console.log(module); + insts = [...module.getAllDependenceInstance()]; } diff --git a/src/function/lsp/linter/common.ts b/src/function/lsp/linter/common.ts index f8db5c7..307d6fa 100644 --- a/src/function/lsp/linter/common.ts +++ b/src/function/lsp/linter/common.ts @@ -120,10 +120,7 @@ export enum LinterMode { Shutdown = 'shutdown' } -export function getLinterMode(): LinterMode { - console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.mode')); - console.log(vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.linter-level')); - +export function getLinterMode(): LinterMode { return vscode.workspace.getConfiguration().get('digital-ide.function.lsp.linter.mode') || LinterMode.Common; } diff --git a/src/function/lsp/linter/manager.ts b/src/function/lsp/linter/manager.ts index 7e856b9..1e34530 100644 --- a/src/function/lsp/linter/manager.ts +++ b/src/function/lsp/linter/manager.ts @@ -319,8 +319,6 @@ export async function refreshWorkspaceDiagonastics( const parallelChunk = Math.min(os.cpus().length, 32); const linterMode = getLinterMode(); - console.log('[refreshWorkspaceDiagonastics]', linterMode); - if (linterMode === LinterMode.Full) { // full,对工作区所有文件进行诊断 const consumer = async (path: string) => { diff --git a/src/hdlParser/common.ts b/src/hdlParser/common.ts index 340bd34..0694ccc 100644 --- a/src/hdlParser/common.ts +++ b/src/hdlParser/common.ts @@ -26,7 +26,9 @@ interface Range { enum HdlModulePortType { Inout = 'inout', Output = 'output', - Input = 'input', + Input = 'input', + VhdlInput = 'in', + VhdlOutput = 'out', Unknown = 'unknown' }; diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index b2037e5..9898293 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -471,7 +471,6 @@ class HdlParam { public updateFast(path: string, fast: common.Fast) { const moduleFile = this.getHdlFile(path); - if (moduleFile === undefined) { return; } @@ -867,8 +866,8 @@ class HdlModule { // 获取自身的 for (const inst of this.nameToInstances.values()) { instances.add(inst); - // 递归获取 inst 的 - if (inst.module) { + // 递归获取 inst 的,防止无限递归 + if (inst.module && inst.module !== this) { for (const subInst of inst.module.getAllDependenceInstance()) { instances.add(subInst); } @@ -910,9 +909,6 @@ class HdlModule { rawHdlInstance.range, this); - if (hdlInstance.module === undefined) { - hdlInstance.module = this; - } if (this.nameToInstances) { const key = this.makeInstanceKey(rawHdlInstance.name, rawHdlInstance.type); this.nameToInstances.set(key, hdlInstance); @@ -1152,8 +1148,7 @@ export class HdlFile { // make nameToModule this.nameToModule = new Map(); - - for (const rawHdlModule of modules) { + for (const rawHdlModule of modules) { this.createHdlModule(rawHdlModule); } } From b5671ae75262967a7760b535d27469bc85891275 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Mon, 23 Dec 2024 22:03:22 +0800 Subject: [PATCH 029/107] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20endmodule=20?= =?UTF-8?q?=E5=90=8E=E9=9D=A2=E7=9A=84=20inlay=20hints=20=E5=9C=A8?= =?UTF-8?q?=E7=BB=93=E5=B0=BE=E5=A4=84=E7=9A=84=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hdlParser/core.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/hdlParser/core.ts b/src/hdlParser/core.ts index 9898293..94eb2db 100644 --- a/src/hdlParser/core.ts +++ b/src/hdlParser/core.ts @@ -247,6 +247,11 @@ class HdlParam { for (const inst of this.unhandleInstances) { if (inst.type === moduleName) { unsolvedInstances.push(inst); + } else if (inst.type.includes('(')) { + const entityName = moduleName.split('(')[0]; + if (entityName === moduleName) { + unsolvedInstances.push(inst); + } } } return unsolvedInstances; @@ -490,7 +495,7 @@ class HdlParam { // match the same module, check then const originalModule = moduleFile.getHdlModule(renderName); uncheckedModuleNames.delete(renderName); - originalModule?.update(rawHdlModule); + originalModule?.update(rawHdlModule); } else { // no matched, create it const newModule = moduleFile.createHdlModule(rawHdlModule); @@ -889,7 +894,7 @@ class HdlModule { rawHdlInstance.instports, rawHdlInstance.range, this); - if (!searchResult.path) { + if (!searchResult.path || !hdlPath.exist(searchResult.path)) { hdlParam.addUnhandleInstance(hdlInstance); this.addUnhandleInstance(hdlInstance); } @@ -908,7 +913,11 @@ class HdlModule { rawHdlInstance.instports, rawHdlInstance.range, this); - + + if (!searchResult.path || !hdlPath.exist(searchResult.path)) { + hdlParam.addUnhandleInstance(hdlInstance); + this.addUnhandleInstance(hdlInstance); + } if (this.nameToInstances) { const key = this.makeInstanceKey(rawHdlInstance.name, rawHdlInstance.type); this.nameToInstances.set(key, hdlInstance); @@ -1069,7 +1078,7 @@ class HdlModule { */ public solveUnhandleInstance() { const instances = hdlParam.getUnhandleInstancesByModuleName(this.name); - + for (const instance of instances) { const belongScopeModule = instance.parentMod; // 先从 unsolved 堆中删除当前的 instance From 098f8808698158fdf9e01d0e15fe765d7b51d4dd Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Wed, 25 Dec 2024 21:23:16 +0800 Subject: [PATCH 030/107] update primitive bin --- .../dide-lsp/static/xilinx/primitive.bin | Bin 3740719 -> 3744567 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/dide-lsp/static/xilinx/primitive.bin b/resources/dide-lsp/static/xilinx/primitive.bin index aedc7c0ec16032aa9cda5915696878fce6fd1472..d39564cd0d126cba41607d785589b2b0c709561a 100644 GIT binary patch delta 6762 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 From 972cd86bc60b45544bee52eba8ee24765c60f96a Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Mon, 30 Dec 2024 23:15:27 +0800 Subject: [PATCH 031/107] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 050b9c3..2ef3dd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,11 @@ All notable changes to the "digital-ide" extension will be documented in this fi Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +## [0.4.0] +- 新的 VCD 波形渲染器 +- 新的 Netlist 渲染器 +- 新的 LSP 后端 ## [0.3.4] - 2024-08-28 From 2ef8b78d26fd78b7a756e08785dc6d77e1990c1c Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 16:04:01 +0800 Subject: [PATCH 032/107] =?UTF-8?q?=E5=8F=96=E6=B6=88=20fsm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- efinity.json | 635 ------ package.json | 15 - resources/fsm/index.d.ts | 10 - resources/fsm/index.js | 217 -- .../tree-sitter/tree-sitter-verilog.wasm | Bin 46868606 -> 0 bytes .../tree-sitter/tree-sitter-vhdl.wasm | Bin 1576834 -> 0 bytes .../resources/tree-sitter/tree-sitter.wasm | Bin 224972 -> 0 bytes resources/fsm/utils/fsm_parser.js | 1958 ----------------- resources/fsm/utils/state-machine-cat.js | 2 - resources/fsm/utils/tree-sitter.js | 1 - resources/fsm/view/fsm_draw.js | 234 -- resources/fsm/view/fsm_viewer.html | 38 - script/test.bat | 13 - script/test/callParser.js | 10 - script/test/svlogAll.js | 8 - script/test/vhdlAll.js | 9 - script/test/vhdlFast.js | 8 - script/test/vlogAll.js | 8 - script/test/vlogFast.js | 8 - src/extension.ts | 1 - src/function/fsm/index.ts | 5 +- 21 files changed, 1 insertion(+), 3179 deletions(-) delete mode 100644 efinity.json delete mode 100644 resources/fsm/index.d.ts delete mode 100644 resources/fsm/index.js delete mode 100644 resources/fsm/resources/tree-sitter/tree-sitter-verilog.wasm delete mode 100644 resources/fsm/resources/tree-sitter/tree-sitter-vhdl.wasm delete mode 100644 resources/fsm/resources/tree-sitter/tree-sitter.wasm delete mode 100644 resources/fsm/utils/fsm_parser.js delete mode 100644 resources/fsm/utils/state-machine-cat.js delete mode 100644 resources/fsm/utils/tree-sitter.js delete mode 100644 resources/fsm/view/fsm_draw.js delete mode 100644 resources/fsm/view/fsm_viewer.html delete mode 100644 script/test.bat delete mode 100644 script/test/callParser.js delete mode 100644 script/test/svlogAll.js delete mode 100644 script/test/vhdlAll.js delete mode 100644 script/test/vhdlFast.js delete mode 100644 script/test/vlogAll.js delete mode 100644 script/test/vlogFast.js diff --git a/efinity.json b/efinity.json deleted file mode 100644 index 0b4f524..0000000 --- a/efinity.json +++ /dev/null @@ -1,635 +0,0 @@ -{ - "efx:project": { - "_attributes": { - "xmlns:efx": "http://www.efinixinc.com/enf_proj", - "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", - "name": "Ti60_Demo", - "description": "", - "last_change": "1724637727", - "sw_version": "2023.2.307", - "last_run_state": "pass", - "last_run_flow": "bitstream", - "config_result_in_sync": "sync", - "design_ood": "sync", - "place_ood": "sync", - "route_ood": "sync", - "xsi:schemaLocation": "http://www.efinixinc.com/enf_proj enf_proj.xsd" - }, - "efx:device_info": { - "efx:family": { - "_attributes": { - "name": "Titanium" - } - }, - "efx:device": { - "_attributes": { - "name": "Ti60F100S3F2" - } - }, - "efx:timing_model": { - "_attributes": { - "name": "C4" - } - } - }, - "efx:design_info": { - "_attributes": { - "def_veri_version": "verilog_2k", - "def_vhdl_version": "vhdl_2008" - }, - "efx:top_module": { - "_attributes": { - "name": "example_top" - } - }, - "efx:design_file": [ - { - "_attributes": { - "name": "example_top.v", - "version": "default", - "library": "default" - } - }, - { - "_attributes": { - "name": "src/Reset.v", - "version": "default", - "library": "default" - } - }, - { - "_attributes": { - "name": "src/uart_index/precise_divider.v", - "version": "default", - "library": "default" - } - }, - { - "_attributes": { - "name": "src/uart_index/uart_transfer.v", - "version": "default", - "library": "default" - } - }, - { - "_attributes": { - "name": "src/uart_index/uart_receiver.v", - "version": "default", - "library": "default" - } - }, - { - "_attributes": { - "name": "src/uart_index/integer_divider.v", - "version": "default", - "library": "default" - } - } - ], - "efx:top_vhdl_arch": { - "_attributes": { - "name": "" - } - } - }, - "efx:constraint_info": { - "efx:sdc_file": { - "_attributes": { - "name": "Ti60_Demo.pt.sdc" - } - }, - "efx:inter_file": { - "_attributes": { - "name": "" - } - } - }, - "efx:sim_info": {}, - "efx:misc_info": {}, - "efx:ip_info": { - "efx:ip": { - "_attributes": { - "instance_name": "FIFO_4Kx8", - "path": "ip/FIFO_4Kx8/settings.json" - }, - "efx:ip_src_file": { - "_attributes": { - "name": "FIFO_4Kx8.v" - } - } - } - }, - "efx:synthesis": { - "_attributes": { - "tool_name": "efx_map" - }, - "efx:param": [ - { - "_attributes": { - "name": "work_dir", - "value": "prj/work_syn", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "write_efx_verilog", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "mode", - "value": "speed", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "max_ram", - "value": "-1", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "max_mult", - "value": "-1", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "infer-clk-enable", - "value": "3", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "infer-sync-set-reset", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "fanout-limit", - "value": "0", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "seq_opt", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "retiming", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "dsp-mac-packing", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "dsp-input-regs-packing", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "dsp-output-regs-packing", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "bram_output_regs_packing", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "blast_const_operand_adders", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "operator-sharing", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "optimize-adder-tree", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "pack-luts-to-comb4", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "min-sr-fanout", - "value": "0", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "min-ce-fanout", - "value": "0", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "seq-opt-sync-only", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "blackbox-error", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "allow-const-ram-index", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "hdl-compile-unit", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "create-onehot-fsms", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "mult-decomp-retime", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "optimize-zero-init-rom", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "insert-carry-skip", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "mult-auto-pipeline", - "value": "0", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "use-logic-for-small-mem", - "value": "64", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "use-logic-for-small-rom", - "value": "64", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "include", - "value": "ip/FIFO_4Kx8", - "value_type": "e_string" - } - } - ] - }, - "efx:place_and_route": { - "_attributes": { - "tool_name": "efx_pnr" - }, - "efx:param": [ - { - "_attributes": { - "name": "work_dir", - "value": "prj/work_pnr", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "verbose", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "load_delaym", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "optimization_level", - "value": "CONGESTION_1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "seed", - "value": "1", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "placer_effort_level", - "value": "1", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "max_threads", - "value": "32", - "value_type": "e_integer" - } - }, - { - "_attributes": { - "name": "beneficial_skew", - "value": "on", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "print_critical_path", - "value": "10", - "value_type": "e_integer" - } - } - ] - }, - "efx:bitstream_generation": { - "_attributes": { - "tool_name": "efx_pgm" - }, - "efx:param": [ - { - "_attributes": { - "name": "mode", - "value": "active", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "width", - "value": "2", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "cold_boot", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "cascade", - "value": "off", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "enable_roms", - "value": "on", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "spi_low_power_mode", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "io_weak_pullup", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "oscillator_clock_divider", - "value": "DIV8", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "enable_crc_check", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "bitstream_compression", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "active_capture_clk_edge", - "value": "negedge", - "value_type": "e_option" - } - }, - { - "_attributes": { - "name": "release_tri_then_reset", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "enable_external_master_clock", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "jtag_usercode", - "value": "0xFFFFFFFF", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "generate_bit", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "generate_bitbin", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "generate_hex", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "generate_hexbin", - "value": "on", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "four_byte_addressing", - "value": "off", - "value_type": "e_bool" - } - } - ] - }, - "efx:debugger": { - "efx:param": [ - { - "_attributes": { - "name": "work_dir", - "value": "prj/work_dbg", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "auto_instantiation", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "profile", - "value": "NONE", - "value_type": "e_string" - } - } - ] - }, - "efx:security": { - "efx:param": [ - { - "_attributes": { - "name": "enable_bitstream_encrypt", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "enable_bitstream_auth", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "encryption_key_file", - "value": "NONE", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "auth_key_file", - "value": "NONE", - "value_type": "e_string" - } - }, - { - "_attributes": { - "name": "randomize_iv_value", - "value": "off", - "value_type": "e_bool" - } - }, - { - "_attributes": { - "name": "iv_value", - "value": "", - "value_type": "e_string" - } - } - ] - } - } -} \ No newline at end of file diff --git a/package.json b/package.json index efb7c88..1037d45 100644 --- a/package.json +++ b/package.json @@ -696,11 +696,6 @@ "command": "digital-ide.tool.icarus.simulateFile", "group": "navigation@1" }, - { - "when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl", - "command": "digital-ide.fsm.show", - "group": "navigation@2" - }, { "when": "editorLangId == verilog || editorLangId == systemverilog || editorLangId == vhdl", "command": "digital-ide.netlist.show", @@ -758,11 +753,6 @@ "command": "digital-ide.waveviewer.show", "group": "navigation@7" }, - { - "when": "resourceLangId == verilog || resourceLangId == systemverilog || resourceLangId == vhdl", - "command": "digital-ide.fsm.show", - "group": "navigation@8" - }, { "when": "resourceLangId == vhdl", "command": "digital-ide.vhdl2vlog", @@ -805,11 +795,6 @@ "command": "digital-ide.waveviewer.show", "group": "navigation@10" }, - { - "when": "resourceLangId == verilog || resourceLangId == systemverilog || resourceLangId == vhdl", - "command": "digital-ide.fsm.show", - "group": "navigation@11" - }, { "when": "resourceLangId == vhdl", "command": "digital-ide.vhdl2vlog", diff --git a/resources/fsm/index.d.ts b/resources/fsm/index.d.ts deleted file mode 100644 index fa77cc5..0000000 --- a/resources/fsm/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type * as vscode from 'vscode'; - -declare module FSM { - export class FsmViewer { - constructor(context: vscode.ExtensionContext); - public open(uri: vscode.Uri); - } -} - -export = FSM; \ No newline at end of file diff --git a/resources/fsm/index.js b/resources/fsm/index.js deleted file mode 100644 index 46c1f11..0000000 --- a/resources/fsm/index.js +++ /dev/null @@ -1,217 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -const fs = require("fs"); -const fspath = require("path"); -const vscode = require("vscode"); -const parse = require("./utils/fsm_parser"); - -function getLanguageId(path) { - let vhdlExtensions = [".vhd",".vhdl",".vho",".vht"]; - let vlogExtensions = [".v",".V",".vh",".vl"]; - let svlogExtensions = [".sv",".SV"]; - let value = fspath.extname(path); - if (vlogExtensions.includes(value)) { - return 'verilog'; - } - else if (svlogExtensions.includes(value)) { - return 'systemverilog'; - } - else if (vhdlExtensions.includes(value)) { - return 'vhdl'; - } - return null; -} - -class FsmViewer { - /** - * - * @param {vscode.ExtensionContext} context - */ - constructor(context) { - this.panel = undefined; - this.sources = []; - this.context = context; - this.rootPath = context.extensionPath.replace(/\\/g, '/'); - } - - /** - * CN: 打开FSM图表的 webview 网页 - * @param {*} uri 指定所需转换为图表的文件uri信息 - */ - open(uri) { - this.current_uri = uri; - const docPath = uri.fsPath.replace(/\\/g, '/'); - if (this.panel === undefined) { - this.create(); - } - this.send(docPath); - } - - async create() { - // Create panel - this.panel = vscode.window.createWebviewPanel( - 'state_machine_viewer', - 'State machine viewer', - vscode.ViewColumn.Two, - { - enableScripts: true - } - ); - this.panel.onDidDispose(() => { - // When the panel is closed, cancel any future updates to the webview content - this.panel = undefined; - }, null, this.context.subscriptions); - // Handle messages from the webview - this.panel.webview.onDidReceiveMessage((message) => { - switch (message.command) { - case 'export': - this.export_as(message.text); - return; - case 'go_to_state': - this.go_to_state(message.stm_index, message.state); - return; - case 'go_to_condition': - this.go_to_condition(message.stm_index, message.transition, message.condition); - return; - } - }, undefined, this.context.subscriptions); - let previewHtml = this.getWebviewContent(this.context); - this.panel.webview.html = previewHtml; - } - - async send(path) { - let languageId = getLanguageId(path); - let content = fs.readFileSync(path, "utf-8"); - let state_machines = await parse(languageId, content); - this.state_machines = state_machines; - this.panel.webview.postMessage({ - command: "update", - svg: state_machines.svg, - stms: state_machines.stm - }); - } - - go_to_state(stm_index, state) { - if (this.state_machines === undefined) { - return; - } - let states = this.state_machines.stm[stm_index].states; - let state_stm; - for (let i = 0; i < states.length; ++i) { - if (states[i].name.replace(/\"/g, '').replace(/\'/g, '') === state) { - state_stm = states[i]; - } - } - if (state_stm !== undefined) { - let start_position = state_stm.start_position; - let end_position = state_stm.end_position; - let pos_1 = new vscode.Position(start_position[0], start_position[1]); - let pos_2 = new vscode.Position(end_position[0], end_position[1]); - vscode.workspace.openTextDocument(this.current_uri).then(doc => { - vscode.window.showTextDocument(doc, vscode.ViewColumn.One).then(editor => { - // Line added - by having a selection at the same position twice, the cursor jumps there - editor.selections = [new vscode.Selection(pos_1, pos_2)]; - // And the visible range jumps there too - var range = new vscode.Range(pos_1, pos_2); - editor.revealRange(range); - }); - }); - } - } - - go_to_condition(stm_index, transition, condition) { - let normalized_condition = this.normalize_string(condition); - let state_origen = transition[0]; - let state_destination = transition[1]; - if (this.state_machines === undefined) { - return; - } - let states = this.state_machines.stm[stm_index].states; - let transition_match; - //Search state - for (let i = 0; i < states.length; ++i) { - if (states[i].name.replace(/\"/g, '').replace(/\'/g, '') === state_origen) { - let transitions = states[i].transitions; - //Search condition - for (let j = 0; j < transitions.length; ++j) { - let normalized_condition_state = this.normalize_string(transitions[j].condition); - if (transitions[j].destination.replace(/\"/g, '').replace(/\'/g, '') === state_destination - && normalized_condition_state === normalized_condition) { - transition_match = transitions[j]; - } - } - } - } - if (transition_match !== undefined) { - if (transition_match.start_position === undefined || transition_match.end_position === undefined) { - return; - } - let start_position = transition_match.start_position; - let end_position = transition_match.end_position; - let pos_1 = new vscode.Position(start_position[0], start_position[1]); - let pos_2 = new vscode.Position(end_position[0], end_position[1]); - vscode.workspace.openTextDocument(this.current_uri).then(doc => { - vscode.window.showTextDocument(doc, vscode.ViewColumn.One).then(editor => { - // Line added - by having a selection at the same position twice, the cursor jumps there - editor.selections = [new vscode.Selection(pos_1, pos_2)]; - // And the visible range jumps there too - var range = new vscode.Range(pos_1, pos_2); - editor.revealRange(range); - }); - }); - } - } - - export_as(type) { - if (type === "svg") { - let filter = { 'svg': ['svg'] }; - vscode.window.showSaveDialog({ filters: filter }).then(fileInfos => { - if ((fileInfos === null || fileInfos === void 0 ? void 0 : fileInfos.path) !== undefined) { - let path_full = this.normalize_path(fileInfos === null || fileInfos === void 0 ? void 0 : fileInfos.path); - let dir_name = fspath.dirname(path_full); - let file_name = fspath.basename(path_full).split('.')[0]; - for (let i = 0; i < this.state_machines.svg.length; ++i) { - let custom_path = `${dir_name}${fspath.sep}${file_name}_${i}.svg`; - fs.writeFileSync(custom_path, this.state_machines.svg[i].svg); - } - vscode.window.showInformationMessage('Documentation has been saved.'); - } - }); - } - else { - console.log("Error export documentation."); - } - } - - normalize_path(path) { - if (path[0] === '/' && require('os').platform() === 'win32') { - return path.substring(1); - } - else { - return path; - } - } - - normalize_string(str) { - let n_string = str.replace(/[^ -~]+/g, ''); - n_string = n_string.replace(/ /g, ''); - n_string = n_string.replace(/\n/g, ''); - return n_string; - } - - getWebviewContent() { - const resource_path = fspath.join(this.rootPath, 'resources', 'fsm', 'view', 'fsm_viewer.html'); - const dir_path = fspath.dirname(resource_path); - - let html = fs.readFileSync(resource_path, 'utf-8'); - html = html.replace(/( { - const absLocalPath = fspath.resolve(dir_path, $2); - const webviewUri = this.panel.webview.asWebviewUri(vscode.Uri.file(absLocalPath)); - const replaceHref = $1 + webviewUri.toString() + '"'; - return replaceHref; - }); - return html; - } -} -module.exports = { - FsmViewer -}; diff --git a/resources/fsm/resources/tree-sitter/tree-sitter-verilog.wasm b/resources/fsm/resources/tree-sitter/tree-sitter-verilog.wasm deleted file mode 100644 index 53297f5992f657f9e9b10aaba79b0d22f38d150e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46868606 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

          XWGr}Jr7>$&Y~TKl^DyZ3qH`@0YO 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ઓ)JwKVbV`iV(Z1z89{$u7FGjp?FnYs7ucV=*h z_RQ>=xzFswMxUJd$;@c>v&jlHVgAbOn(T(kzzZVJ%gp?+(F?OH#|_4pj=M{;OR_uj zyDMaWH1lv1Z--~u$=z@aEwHe=_J3k_X0|(jpSir!Q?gT*#^){D)_!p9=%@QjyK3Cm z^EovSIk!HnWyJGZ=7;Immi*)iBQU#q^oBh0>e1EX_^U=&<^3NVc*W?NrF@xRKe~Q= z6))Ni%icFFjRZ|%@sgj)S$1l+dtH{DzfSEEbJghD(M_Y*joVG5*N>ajK<3(9FUUVb z@F{XZ&id@^^z4nJ3&&JWUm}$E+eN2l{AAZZKRZ9aJ}Z--0cT|o%CqHlcHU$^y*WqP zcf(oPIoa>$vvaZ+|6rh)4i zu7E4x3b+Dk3hZ7wQApN#W{lbH#q-9EJ!ZH{#O{)YOz~xz`Z4BJIZA|BVPQP$s8uuK zQHUU3qOqE;i};Ap%4&y=S8FdD$6Vq$>cm#gwSLSQc{baQnLpjWY<-h$(AUOHml4pq zU->jx%O1nIMt9pZa2>-Ha0OfeS0GJ+icjtciS{@9m5rH1zZ7FAWeZwmrfLt^$Ih_?9#YPv4sBSI^y9X4LAy=)wF ziRY*jTRGSIF=yo2Y&&NDbo;XPO}0T_8#7%-Ksr6H zRgH^mLW?p9?VJ%8E2ouxT{h#U)2CL0dbol?D#CPl_X9=t7|u1i+xo%GS-1kOfGaR8 z1#XPaA8D(>fjw#lzez3k7%!7L?fFphgS3 z8i!1ZGi6friG{cr#W8i+aeTXZYBi{bD=McVwBy^aY}sQt*XVBR7ei;`3b+EUz%Uee z_Ar*|t8@iAR{-al&dYcKSHKk*tO9?M|9$!5>%0Dc`3^*Rd-Pl-aMn)VzF2HXdS`?y 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

          g?gAB*Cp%6_rw>n;E898)%E90CwaQN2x=Xs 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%0D}cn*5W;vbN=`vzDH1$zS<7QEh78nlXyE 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

          (AwyVdky!aLt$2qycJcX+3D<_MT7o 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%0D+((;6|@`siOGOpZG-a%S4IMMgV$EwA(lM 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

          cn^)=B|gGa>1E6Bhq^>l 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%0D*K9V1KA|_Ybwp4gsZW{)GPuveRMI6atwe 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ⅇa=I92-upX$4H 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

          i8X5`Oe1ZJdLwd**fGN(s}=dsKHnl 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

            p?cuq{(YY&5 zz3tICGiUF$Pw>2hQwI#zXtcjN0qxfX`s7;nJ=q_K55=TfJBSo9tVuWLmeJ}oBWjB} zbURf;(Lr<+oyB&di|8i0i#^3&VsFt?>?8IUy+j{zAieZ>sTe1&6jzC>#WXQpTq|xC zGZ1wz6YIo!@sZddKK8V|9?%adchCoxCy8Dk=!d)LgAzq=0Q8ew^b=x6=U!2IA=Uph z1Rv>tbgRQS>);vz`!rVvS@22^~7zYBhU|Y(fh=Vp0AfWMeHSKpH%IowV`^6&kC|CL#@Z?45qoy%$uvn;JvmT zun%!p3jT1b5!gGpHq{D>-xMR>1M)#Py1m(w)W3!*aMmIw2*vcH6QnuC|NqLaQVt+8WkXCZ9h<*YyD4gg_3Cs}y5q6GFXNGWA0=Ne^-}Z_|LG=PEh_U?LFdhTgPHVcI%ek9ZaN*w zbCZW)T=fByq)tzA4|f2t*J@_F_hXsu^6BD0MHl)tO888x-^cJhNO_aRL15slNY(oh zR?wckv-caW!pMIQQLsJ+!8ZCPs*hkc(o*{=Z1i5vWbbfG?GNl}?rb<^8_b64s2!l_ zLO=hQ)J49Y8K|()&&?*;@TgHn3bGzw)zHBTCtV%7bB3(=Itu?t=C*POkk`AmvMy0u zQ8Oa^v%sCByqqRRO5H-CwjvlV` zm(FtAV;%@|&W_iw6ceu;p>WcTaC7krA4^99cd)xdaAeFo1RVV+p!avt`zDG$80Z~b z^md7&9}V<2E_$m((T@T8o-TTin9=zR=ihHR7JPEwULMyNI1bqB+=_&?iB=@2EAhh- z6&?>h(s%2lWRt5+J|a&5cDXyZ)=G44Rdpe=5+`m$U7Q5$ZtfV_KISpPd*WoEZ|9LjYE&jYsbon-v0qzkPZ$|+ZC=UIzi_3HEF-B~WUF74Eoi{A7dKnNCP z){mv{4dQJ2&K0sMYE6pH(TUCUohGiM+_5E&q^P2v7);-b#4+?8BaWl*rQ!tojuR)* z_iAwpeXkX#(f2xW27Rv=XVLdYaSnZN66eu(h8RlU55#c#t`j5a`=PjizUxILeLoVT z=(|CTrtimM2y`TC^cK+Hyk&hw-#e{Ssa|h_wWzLL!S@V(7g%HKSz@-efW8Z@G~F;a z);gHJ?^ta!@|Evf8l}W4>s@PK8sihK%dJUP`;7D2H@C>4z})IaF2B}{(AIJ9JuY=HF%p^aq5Ei!w6v4bFu5hid|Sgj8ys|-rWGMi}Qgy*ww|6vFd_j zUjXcRu8*9XppU!|*sI;yVO3dj_E!n)^IV;u6RXbo9>Ybze&5x3tMYnu#wX}>kA1dh zADrr0Q{G&ezxJdPKlXW_;IlqKCw)c%f0m0sGr>N;7}(Fd*w4j^op0RBnz+&6B>k^$ zB^_5>dI@k}b#<{UR$b^KbvYNw+^2f}XpEwfICG!e7ySdMVhHr6qj&o*S%eypO2 zcx{9Gh)aQcjvJ?(SF z*jp0Bo($}6uFkhlQ0G?ydpj4qQ-au60lU;U#?lFlv8#dIz-@QESli9#lPSPH!Ns0Z z;CynNq4{Jg@H@Ep?P6^^_b=0cJ=vYhCM7tRT?6cLpS{&ez}}_w(?Qr}H)m===s?-|vpGc?piO8-e|^i~VDQ*f#Vg7$Yiu-mx(&??q`;IYgcV0Un1nRc

            k5Wc{)}pkFq`&@cA@zm6~d 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


            "},27:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t="function"==typeof(n=null!=(n=l(r,"name")||(null!=A?l(A,"name"):A))?n:e.hooks.helperMissing)?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:21,column:3},end:{line:21,column:13}}}):n)?t:"")+'" [shape=circle '+(null!=(t=l(r,"if").call(f,null!=A?l(A,"color"):A,{name:"if",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:29},end:{line:21,column:69}}}))?t:"")+(null!=(t=l(r,"if").call(f,null!=A?l(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:69},end:{line:21,column:103}}}))?t:"")+'label="H"]\n'},29:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t="function"==typeof(n=null!=(n=l(r,"name")||(null!=A?l(A,"name"):A))?n:e.hooks.helperMissing)?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:24,column:3},end:{line:24,column:13}}}):n)?t:"")+'" [shape=circle '+(null!=(t=l(r,"if").call(f,null!=A?l(A,"color"):A,{name:"if",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:29},end:{line:24,column:69}}}))?t:"")+(null!=(t=l(r,"if").call(f,null!=A?l(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:69},end:{line:24,column:103}}}))?t:"")+'label="H*"]\n'},31:function(e,A,r,i,a,t,n){var f,l,s,c=null!=A?A:e.nullContext||{},o=e.hooks.helperMissing,u="function",b=e.hooks.blockHelperMissing,h=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},w=' "'+(null!=(f=typeof(l=null!=(l=h(r,"name")||(null!=A?h(A,"name"):A))?l:o)===u?l.call(c,{name:"name",hash:{},data:a,loc:{start:{line:27,column:3},end:{line:27,column:13}}}):l)?f:"")+'" [shape=diamond fixedsize=true width=0.35 height=0.35 fontsize=10 '+(null!=(f=h(r,"if").call(c,null!=A?h(A,"color"):A,{name:"if",hash:{},fn:e.program(12,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:27,column:80},end:{line:27,column:120}}}))?f:"")+(null!=(f=h(r,"if").call(c,null!=A?h(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:27,column:120},end:{line:27,column:154}}}))?f:"")+'label=" "]\n "'+(null!=(f=typeof(l=null!=(l=h(r,"name")||(null!=A?h(A,"name"):A))?l:o)===u?l.call(c,{name:"name",hash:{},data:a,loc:{start:{line:28,column:3},end:{line:28,column:13}}}):l)?f:"")+'" -> "'+(null!=(f=typeof(l=null!=(l=h(r,"name")||(null!=A?h(A,"name"):A))?l:o)===u?l.call(c,{name:"name",hash:{},data:a,loc:{start:{line:28,column:19},end:{line:28,column:29}}}):l)?f:"")+'" [label=<';return l=null!=(l=h(r,"actions")||(null!=A?h(A,"actions"):A))?l:o,s={name:"actions",hash:{},fn:e.program(32,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:28,column:39},end:{line:28,column:144}}},f=typeof l===u?l.call(c,s):l,h(r,"actions")||(f=b.call(A,f,s)),null!=f&&(w+=f),w+="> color=transparent",l=null!=(l=h(r,"color")||(null!=A?h(A,"color"):A))?l:o,s={name:"color",hash:{},fn:e.program(41,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:28,column:163},end:{line:28,column:203}}},f=typeof l===u?l.call(c,s):l,h(r,"color")||(f=b.call(A,f,s)),null!=f&&(w+=f),w+"];\n"},32:function(e,A,r,i,a,t,n){var f,l=null!=A?A:e.nullContext||{},s=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return(null!=(f=s(r,"if").call(l,a&&s(a,"first"),{name:"if",hash:{},fn:e.program(33,a,0,t,n),inverse:e.program(35,a,0,t,n),data:a,loc:{start:{line:28,column:51},end:{line:28,column:82}}}))?f:"")+(null!=(f=s(r,"if").call(l,null!=n[1]?s(n[1],"active"):n[1],{name:"if",hash:{},fn:e.program(37,a,0,t,n),inverse:e.program(39,a,0,t,n),data:a,loc:{start:{line:28,column:82},end:{line:28,column:131}}}))?f:"")},33:function(e,A,r,i,a){return""},35:function(e,A,r,i,a){return"\\n"},37:function(e,A,r,i,a){return""+e.escapeExpression(e.lambda(A,A))+""},39:function(e,A,r,i,a){return e.escapeExpression(e.lambda(A,A))},41:function(e,A,r,i,a){var t;return' fontcolor="'+(null!=(t=e.lambda(A,A))?t:"")+'"'},43:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t=typeof(n=null!=(n=c(r,"name")||(null!=A?c(A,"name"):A))?n:l)===s?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:31,column:3},end:{line:31,column:13}}}):n)?t:"")+'" [shape=rect '+(null!=(t=c(r,"if").call(f,null!=A?c(A,"color"):A,{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.program(7,a,0),data:a,loc:{start:{line:31,column:27},end:{line:31,column:115}}}))?t:"")+(null!=(t=c(r,"if").call(f,null!=A?c(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:31,column:115},end:{line:31,column:149}}}))?t:"")+'label=" " fixedsize=true style=filled '+(null!=(t=typeof(n=null!=(n=c(r,"sizingExtras")||(null!=A?c(A,"sizingExtras"):A))?n:l)===s?n.call(f,{name:"sizingExtras",hash:{},data:a,loc:{start:{line:31,column:187},end:{line:31,column:205}}}):n)?t:"")+"]\n"},45:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t=typeof(n=null!=(n=c(r,"name")||(null!=A?c(A,"name"):A))?n:l)===s?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:37,column:3},end:{line:37,column:13}}}):n)?t:"")+'" [label= < \n \n \n \n
            X
            "+e.escapeExpression(typeof(n=null!=(n=c(r,"label")||(null!=A?c(A,"label"):A))?n:l)===s?n.call(f,{name:"label",hash:{},data:a,loc:{start:{line:40,column:78},end:{line:40,column:87}}}):n)+"
            \n >]\n"},46:function(e,A,r,i,a){var t,n,f=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'color="'+(null!=(t="function"==typeof(n=null!=(n=f(r,"color")||(null!=A?f(A,"color"):A))?n:e.hooks.helperMissing)?n.call(null!=A?A:e.nullContext||{},{name:"color",hash:{},data:a,loc:{start:{line:40,column:58},end:{line:40,column:69}}}):n)?t:"")+'"'},48:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t="function"==typeof(n=null!=(n=l(r,"name")||(null!=A?l(A,"name"):A))?n:e.hooks.helperMissing)?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:45,column:3},end:{line:45,column:13}}}):n)?t:"")+'" [shape=circle style=filled '+(null!=(t=l(r,"if").call(f,null!=A?l(A,"color"):A,{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.program(7,a,0),data:a,loc:{start:{line:45,column:42},end:{line:45,column:130}}}))?t:"")+"fixedsize=true height=0.15 peripheries=2 "+(null!=(t=l(r,"if").call(f,null!=A?l(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:45,column:171},end:{line:45,column:205}}}))?t:"")+'label=""]\n'},50:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},u=' subgraph "cluster_'+(null!=(t=typeof(n=null!=(n=o(r,"name")||(null!=A?o(A,"name"):A))?n:s)===c?n.call(l,{name:"name",hash:{},data:a,loc:{start:{line:48,column:20},end:{line:48,column:30}}}):n)?t:"")+'" {\n '+(null!=(t=o(r,"if").call(l,null!=A?o(A,"color"):A,{name:"if",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:49,column:4},end:{line:49,column:44}}}))?t:"")+'label= <\n \n \n";return n=null!=(n=o(r,"actions")||(null!=A?o(A,"actions"):A))?n:s,f={name:"actions",hash:{},fn:e.program(51,a,0),inverse:e.noop,data:a,loc:{start:{line:52,column:6},end:{line:55,column:18}}},t=typeof n===c?n.call(l,f):n,o(r,"actions")||(t=e.hooks.blockHelperMissing.call(A,t,f)),null!=t&&(u+=t),u+"
            '+(null!=(t=o(r,"if").call(l,null!=A?o(A,"active"):A,{name:"if",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:51,column:14},end:{line:51,column:68}}}))?t:"")+"
            \n > "+(null!=(t=o(r,"if").call(l,null!=A?o(A,"parentIsParallel"):A,{name:"if",hash:{},fn:e.program(53,a,0),inverse:e.program(55,a,0),data:a,loc:{start:{line:57,column:6},end:{line:57,column:137}}}))?t:"")+'\n "'+(null!=(t=typeof(n=null!=(n=o(r,"name")||(null!=A?o(A,"name"):A))?n:s)===c?n.call(l,{name:"name",hash:{},data:a,loc:{start:{line:58,column:5},end:{line:58,column:15}}}):n)?t:"")+'" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true]\n '+(null!=(t=(o(r,"stateSection")||A&&o(A,"stateSection")||s).call(l,null!=A?o(A,"statemachine"):A,{name:"stateSection",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:59,column:4},end:{line:59,column:51}}}))?t:"")+"\n }\n"},51:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" "+(null!=(t=n(r,"if").call(null!=A?A:e.nullContext||{},a&&n(a,"first"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:53,column:8},end:{line:53,column:34}}}))?t:"")+'\n '+e.escapeExpression(e.lambda(A,A))+"\n"},53:function(e,A,r,i,a){return'style="dashed" penwidth=1'},55:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return"style=rounded "+(null!=(t=n(r,"if").call(null!=A?A:e.nullContext||{},null!=A?n(A,"active"):A,{name:"if",hash:{},fn:e.program(56,a,0),inverse:e.program(58,a,0),data:a,loc:{start:{line:57,column:77},end:{line:57,column:130}}}))?t:"")},56:function(e,A,r,i,a){return"penwidth=3.0"},58:function(e,A,r,i,a){return"penwidth=2.0"},60:function(e,A,r,i,a,t,n){var f,l,s,c=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},o="";return l=null!=(l=c(r,"noteName")||(null!=A?c(A,"noteName"):A))?l:e.hooks.helperMissing,s={name:"noteName",hash:{},fn:e.program(61,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:63,column:4},end:{line:66,column:17}}},f="function"==typeof l?l.call(null!=A?A:e.nullContext||{},s):l,c(r,"noteName")||(f=e.hooks.blockHelperMissing.call(A,f,s)),null!=f&&(o+=f),o},61:function(e,A,r,i,a,t,n){var f,l=e.lambda,s=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(f=l(A,A))?f:"")+'" [color=black fontcolor=black label="'+(null!=(f=l(null!=n[1]?s(n[1],"noteFlattened"):n[1],A))?f:"")+'" shape=note fontsize=10 fillcolor="#ffffcc" penwidth=1.0]\n "'+(null!=(f=l(null!=n[1]?s(n[1],"name"):n[1],A))?f:"")+'" -> "'+(null!=(f=l(A,A))?f:"")+'" [style=dashed arrowtail=none arrowhead=none]\n'},compiler:[8,">= 4.3.0"],main:function(e,A,r,i,a,t,n){var f,l,s,c=null!=A?A:e.nullContext||{},o=e.hooks.helperMissing,u="function",b=e.hooks.blockHelperMissing,h=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},w="";return l=null!=(l=h(r,"compositeStates")||(null!=A?h(A,"compositeStates"):A))?l:o,s={name:"compositeStates",hash:{},fn:e.program(1,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:20}}},f=typeof l===u?l.call(c,s):l,h(r,"compositeStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"initialStates")||(null!=A?h(A,"initialStates"):A))?l:o,s={name:"initialStates",hash:{},fn:e.program(4,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:18}}},f=typeof l===u?l.call(c,s):l,h(r,"initialStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"regularStates")||(null!=A?h(A,"regularStates"):A))?l:o,s={name:"regularStates",hash:{},fn:e.program(11,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:19,column:18}}},f=typeof l===u?l.call(c,s):l,h(r,"regularStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"historyStates")||(null!=A?h(A,"historyStates"):A))?l:o,s={name:"historyStates",hash:{},fn:e.program(27,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:18}}},f=typeof l===u?l.call(c,s):l,h(r,"historyStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"deepHistoryStates")||(null!=A?h(A,"deepHistoryStates"):A))?l:o,s={name:"deepHistoryStates",hash:{},fn:e.program(29,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:22}}},f=typeof l===u?l.call(c,s):l,h(r,"deepHistoryStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"choiceStates")||(null!=A?h(A,"choiceStates"):A))?l:o,s={name:"choiceStates",hash:{},fn:e.program(31,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:29,column:17}}},f=typeof l===u?l.call(c,s):l,h(r,"choiceStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"forkjoinStates")||(null!=A?h(A,"forkjoinStates"):A))?l:o,s={name:"forkjoinStates",hash:{},fn:e.program(43,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:30,column:0},end:{line:32,column:19}}},f=typeof l===u?l.call(c,s):l,h(r,"forkjoinStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"junctionStates")||(null!=A?h(A,"junctionStates"):A))?l:o,s={name:"junctionStates",hash:{},fn:e.program(4,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:33,column:0},end:{line:35,column:19}}},f=typeof l===u?l.call(c,s):l,h(r,"junctionStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"terminateStates")||(null!=A?h(A,"terminateStates"):A))?l:o,s={name:"terminateStates",hash:{},fn:e.program(45,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:36,column:0},end:{line:43,column:20}}},f=typeof l===u?l.call(c,s):l,h(r,"terminateStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"finalStates")||(null!=A?h(A,"finalStates"):A))?l:o,s={name:"finalStates",hash:{},fn:e.program(48,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:16}}},f=typeof l===u?l.call(c,s):l,h(r,"finalStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"compositeStates")||(null!=A?h(A,"compositeStates"):A))?l:o,s={name:"compositeStates",hash:{},fn:e.program(50,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:47,column:0},end:{line:61,column:20}}},f=typeof l===u?l.call(c,s):l,h(r,"compositeStates")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"states")||(null!=A?h(A,"states"):A))?l:o,s={name:"states",hash:{},fn:e.program(60,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:62,column:0},end:{line:67,column:11}}},f=typeof l===u?l.call(c,s):l,h(r,"states")||(f=b.call(A,f,s)),null!=f&&(w+=f),w},useData:!0,useDepths:!0})},6070:(e,A,r)=>{var i=r(5631),a=i.template;(i.templates=i.templates||{})["dot.template.hbs"]=a({1:function(e,A,r,i,a,t,n){var f,l,s,c=null!=A?A:e.nullContext||{},o=e.hooks.helperMissing,u="function",b=e.hooks.blockHelperMissing,h=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},w="";return l=null!=(l=h(r,"noteName")||(null!=A?h(A,"noteName"):A))?l:o,s={name:"noteName",hash:{},fn:e.noop,inverse:e.program(2,a,0,t,n),data:a,loc:{start:{line:9,column:2},end:{line:24,column:15}}},f=typeof l===u?l.call(c,s):l,h(r,"noteName")||(f=b.call(A,f,s)),null!=f&&(w+=f),l=null!=(l=h(r,"noteName")||(null!=A?h(A,"noteName"):A))?l:o,s={name:"noteName",hash:{},fn:e.program(17,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:25,column:2},end:{line:35,column:15}}},f=typeof l===u?l.call(c,s):l,h(r,"noteName")||(f=b.call(A,f,s)),null!=f&&(w+=f),w},2:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b="";return n=null!=(n=u(r,"isCompositeSelf")||(null!=A?u(A,"isCompositeSelf"):A))?n:s,f={name:"isCompositeSelf",hash:{},fn:e.noop,inverse:e.program(3,a,0),data:a,loc:{start:{line:10,column:4},end:{line:15,column:24}}},t=typeof n===c?n.call(l,f):n,u(r,"isCompositeSelf")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"isCompositeSelf")||(null!=A?u(A,"isCompositeSelf"):A))?n:s,f={name:"isCompositeSelf",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:4},end:{line:23,column:24}}},t=typeof n===c?n.call(l,f):n,u(r,"isCompositeSelf")||(t=o.call(A,t,f)),null!=t&&(b+=t),b},3:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b=' "'+(null!=(t=typeof(n=null!=(n=u(r,"from")||(null!=A?u(A,"from"):A))?n:s)===c?n.call(l,{name:"from",hash:{},data:a,loc:{start:{line:11,column:5},end:{line:11,column:15}}}):n)?t:"")+'" -> "'+(null!=(t=typeof(n=null!=(n=u(r,"to")||(null!=A?u(A,"to"):A))?n:s)===c?n.call(l,{name:"to",hash:{},data:a,loc:{start:{line:11,column:21},end:{line:11,column:29}}}):n)?t:"")+'" [label="';return n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s,f={name:"label",hash:{},fn:e.noop,inverse:e.program(4,a,0),data:a,loc:{start:{line:11,column:39},end:{line:11,column:60}}},t=typeof n===c?n.call(l,f):n,u(r,"label")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=(null!=(t=typeof(n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s)===c?n.call(l,{name:"label",hash:{},data:a,loc:{start:{line:11,column:60},end:{line:11,column:71}}}):n)?t:"")+'"',n=null!=(n=u(r,"fromComposite")||(null!=A?u(A,"fromComposite"):A))?n:s,f={name:"fromComposite",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:28},end:{line:12,column:92}}},t=typeof n===c?n.call(l,f):n,u(r,"fromComposite")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"toComposite")||(null!=A?u(A,"toComposite"):A))?n:s,f={name:"toComposite",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:28},end:{line:13,column:86}}},t=typeof n===c?n.call(l,f):n,u(r,"toComposite")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"color")||(null!=A?u(A,"color"):A))?n:s,f={name:"color",hash:{},fn:e.program(10,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:28},end:{line:14,column:85}}},t=typeof n===c?n.call(l,f):n,u(r,"color")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+"]\n"},4:function(e,A,r,i,a){return" "},6:function(e,A,r,i,a){var t,n,f=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' ltail="cluster_'+(null!=(t="function"==typeof(n=null!=(n=f(r,"from")||(null!=A?f(A,"from"):A))?n:e.hooks.helperMissing)?n.call(null!=A?A:e.nullContext||{},{name:"from",hash:{},data:a,loc:{start:{line:12,column:63},end:{line:12,column:73}}}):n)?t:"")+'"'},8:function(e,A,r,i,a){var t,n,f=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' lhead="cluster_'+(null!=(t="function"==typeof(n=null!=(n=f(r,"to")||(null!=A?f(A,"to"):A))?n:e.hooks.helperMissing)?n.call(null!=A?A:e.nullContext||{},{name:"to",hash:{},data:a,loc:{start:{line:13,column:61},end:{line:13,column:69}}}):n)?t:"")+'"'},10:function(e,A,r,i,a){var t,n=e.lambda;return' color="'+(null!=(t=n(A,A))?t:"")+'" fontcolor="'+(null!=(t=n(A,A))?t:"")+'"'},12:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b=' "'+(null!=(t=typeof(n=null!=(n=u(r,"from")||(null!=A?u(A,"from"):A))?n:s)===c?n.call(l,{name:"from",hash:{},data:a,loc:{start:{line:17,column:7},end:{line:17,column:17}}}):n)?t:"")+'" -> "self_'+(null!=(t=typeof(n=null!=(n=u(r,"name")||(null!=A?u(A,"name"):A))?n:s)===c?n.call(l,{name:"name",hash:{},data:a,loc:{start:{line:17,column:28},end:{line:17,column:38}}}):n)?t:"")+'" [label="';return n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s,f={name:"label",hash:{},fn:e.noop,inverse:e.program(4,a,0),data:a,loc:{start:{line:17,column:48},end:{line:17,column:69}}},t=typeof n===c?n.call(l,f):n,u(r,"label")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=(null!=(t=typeof(n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s)===c?n.call(l,{name:"label",hash:{},data:a,loc:{start:{line:17,column:69},end:{line:17,column:80}}}):n)?t:"")+'" arrowhead=none',n=null!=(n=u(r,"tailportflags")||(null!=A?u(A,"tailportflags"):A))?n:s,f={name:"tailportflags",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:18,column:28},end:{line:18,column:73}}},t=typeof n===c?n.call(l,f):n,u(r,"tailportflags")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=' ltail="cluster_'+(null!=(t=typeof(n=null!=(n=u(r,"from")||(null!=A?u(A,"from"):A))?n:s)===c?n.call(l,{name:"from",hash:{},data:a,loc:{start:{line:18,column:89},end:{line:18,column:99}}}):n)?t:"")+'"',n=null!=(n=u(r,"color")||(null!=A?u(A,"color"):A))?n:s,f={name:"color",hash:{},fn:e.program(10,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:28},end:{line:19,column:85}}},t=typeof n===c?n.call(l,f):n,u(r,"color")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=']\n "self_'+(null!=(t=typeof(n=null!=(n=u(r,"name")||(null!=A?u(A,"name"):A))?n:s)===c?n.call(l,{name:"name",hash:{},data:a,loc:{start:{line:20,column:12},end:{line:20,column:22}}}):n)?t:"")+'" -> "'+(null!=(t=typeof(n=null!=(n=u(r,"from")||(null!=A?u(A,"from"):A))?n:s)===c?n.call(l,{name:"from",hash:{},data:a,loc:{start:{line:20,column:28},end:{line:20,column:38}}}):n)?t:"")+'" [lhead="cluster_'+(null!=(t=typeof(n=null!=(n=u(r,"from")||(null!=A?u(A,"from"):A))?n:s)===c?n.call(l,{name:"from",hash:{},data:a,loc:{start:{line:20,column:56},end:{line:20,column:66}}}):n)?t:"")+'"',n=null!=(n=u(r,"headportflags")||(null!=A?u(A,"headportflags"):A))?n:s,f={name:"headportflags",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:28},end:{line:21,column:73}}},t=typeof n===c?n.call(l,f):n,u(r,"headportflags")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"color")||(null!=A?u(A,"color"):A))?n:s,f={name:"color",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:22,column:28},end:{line:22,column:65}}},t=typeof n===c?n.call(l,f):n,u(r,"color")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+"]\n"},13:function(e,A,r,i,a){var t;return" "+(null!=(t=e.lambda(A,A))?t:"")},15:function(e,A,r,i,a){var t;return' color="'+(null!=(t=e.lambda(A,A))?t:"")+'"'},17:function(e,A,r,i,a,t,n){var f,l=e.lambda,s=e.hooks.blockHelperMissing,c=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "i_'+(null!=(f=l(A,A))?f:"")+'" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true]\n "'+(null!=(f=l(null!=n[1]?c(n[1],"from"):n[1],A))?f:"")+'" -> "i_'+(null!=(f=l(A,A))?f:"")+'" [arrowhead=none'+(null!=(f=s.call(A,l(null!=n[1]?c(n[1],"fromComposite"):n[1],A),{name:"../fromComposite",hash:{},fn:e.program(18,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:28,column:32},end:{line:28,column:105}}}))?f:"")+(null!=(f=s.call(A,l(null!=n[1]?c(n[1],"color"):n[1],A),{name:"../color",hash:{},fn:e.program(15,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:29,column:32},end:{line:29,column:75}}}))?f:"")+']\n "i_'+(null!=(f=l(A,A))?f:"")+'" -> "'+(null!=(f=l(null!=n[1]?c(n[1],"to"):n[1],A))?f:"")+'" [label="'+(null!=(f=s.call(A,l(null!=n[1]?c(n[1],"label"):n[1],A),{name:"../label",hash:{},fn:e.noop,inverse:e.program(4,a,0,t,n),data:a,loc:{start:{line:30,column:43},end:{line:30,column:70}}}))?f:"")+(null!=(f=l(null!=n[1]?c(n[1],"label"):n[1],A))?f:"")+'"'+(null!=(f=s.call(A,l(null!=n[1]?c(n[1],"toComposite"):n[1],A),{name:"../toComposite",hash:{},fn:e.program(20,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:31,column:32},end:{line:31,column:99}}}))?f:"")+(null!=(f=s.call(A,l(null!=n[1]?c(n[1],"color"):n[1],A),{name:"../color",hash:{},fn:e.program(10,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:32,column:32},end:{line:32,column:95}}}))?f:"")+']\n "i_'+(null!=(f=l(A,A))?f:"")+'" -> "'+(null!=(f=l(A,A))?f:"")+'" [style=dashed arrowtail=none arrowhead=none weight=0]\n "'+(null!=(f=l(A,A))?f:"")+'" [label="'+(null!=(f=l(null!=n[1]?c(n[1],"noteFlattened"):n[1],A))?f:"")+'" shape=note fontsize=10 color=black fontcolor=black fillcolor="#ffffcc" penwidth=1.0]\n'},18:function(e,A,r,i,a,t,n){var f,l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' ltail="cluster_'+(null!=(f=e.lambda(null!=n[1]?l(n[1],"from"):n[1],A))?f:"")+'"'},20:function(e,A,r,i,a,t,n){var f,l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' lhead="cluster_'+(null!=(f=e.lambda(null!=n[1]?l(n[1],"to"):n[1],A))?f:"")+'"'},compiler:[8,">= 4.3.0"],main:function(e,A,r,i,a,t,n){var f,l,s,c=null!=A?A:e.nullContext||{},o=e.hooks.helperMissing,u="function",b=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},h='digraph "state transitions" {\n '+(null!=(f=typeof(l=null!=(l=b(r,"graphAttributes")||(null!=A?b(A,"graphAttributes"):A))?l:o)===u?l.call(c,{name:"graphAttributes",hash:{},data:a,loc:{start:{line:2,column:2},end:{line:2,column:23}}}):l)?f:"")+"\n node ["+(null!=(f=typeof(l=null!=(l=b(r,"nodeAttributes")||(null!=A?b(A,"nodeAttributes"):A))?l:o)===u?l.call(c,{name:"nodeAttributes",hash:{},data:a,loc:{start:{line:3,column:8},end:{line:3,column:28}}}):l)?f:"")+"]\n edge ["+(null!=(f=typeof(l=null!=(l=b(r,"edgeAttributes")||(null!=A?b(A,"edgeAttributes"):A))?l:o)===u?l.call(c,{name:"edgeAttributes",hash:{},data:a,loc:{start:{line:4,column:8},end:{line:4,column:28}}}):l)?f:"")+"]\n\n"+(null!=(f=e.invokePartial(b(i,"dot.states.template.hbs"),A,{name:"dot.states.template.hbs",data:a,indent:" ",helpers:r,partials:i,decorators:e.decorators}))?f:"")+"\n";return l=null!=(l=b(r,"transitions")||(null!=A?b(A,"transitions"):A))?l:o,s={name:"transitions",hash:{},fn:e.program(1,a,0,t,n),inverse:e.noop,data:a,loc:{start:{line:8,column:2},end:{line:36,column:18}}},f=typeof l===u?l.call(c,s):l,b(r,"transitions")||(f=e.hooks.blockHelperMissing.call(A,f,s)),null!=f&&(h+=f),h+"}\n"},usePartial:!0,useData:!0,useDepths:!0})},3047:(e,A,r)=>{const i=r(5631),a=r(467),t=r(7766),n=r(2375),f=r(2502),l=r(4377),s=r(8600),c=r(8578),o=r(6408);let u={};function b(e,A,r,i){return e.filter((e=>e.statemachine)).forEach((e=>{e.statemachine.states=b(e.statemachine.states,A,r,i)})),e.map(l.setLabel).map(l.nameNote).map(l.escapeStateStrings).map(l.flattenNote).map(l.flattenActions).map(l.flagParallelChildren).map(l.tipForkJoinStates(A)).map(l.recolor(r)).map(function(e){return A=>(Object.prototype.hasOwnProperty.call(A,"statemachine")&&(A.nestedExternalSelfTransitions=e.findExternalSelfTransitions(A.name).map((e=>e.name))),A)}(i))}function h(e){return e.initialStates=e.states.filter(l.isType("initial")),e.regularStates=e.states.filter((e=>l.isType("regular")(e)&&!e.statemachine)),e.historyStates=e.states.filter(l.isType("history")),e.deepHistoryStates=e.states.filter(l.isType("deephistory")),e.choiceStates=e.states.filter(l.isType("choice")),e.forkjoinStates=e.states.filter(l.isOneOfTypes(["fork","join","forkjoin"])),e.junctionStates=e.states.filter(l.isType("junction")),e.terminateStates=e.states.filter(l.isType("terminate")),e.finalStates=e.states.filter(l.isType("final")),e.compositeStates=e.states.filter((e=>e.statemachine)),e}function w(e){return e.name=`tr_${e.from}_${e.to}_${u.nextAsString()}`,Boolean(e.note)&&(e.noteName=`note_${e.name}`),e}r(6070),r(9604),i.registerPartial("dot.states.template.hbs",i.templates["dot.states.template.hbs"]),i.registerHelper("stateSection",(e=>i.templates["dot.states.template.hbs"](h(e)))),e.exports=(e,A)=>{A=A||{},u=new c;let r=a(e);const k=new n(r);return r.transitions=(d=k,v=A.direction,d.flattenedTransitions.map(w).map(s.escapeTransitionStrings).map(l.flattenNote).map(function(e){return A=>(e.findStateByName(A.from).statemachine&&(A.fromComposite=!0),e.findStateByName(A.to).statemachine&&(A.toComposite=!0),A)}(d)).map(function(e){return A=>{let r={};return o.isCompositeSelf(e,A)&&(r=e.findStateByName(A.from).hasParent?{hasParent:!0,isCompositeSelf:!0}:{isCompositeSelf:!0}),{...A,...r}}}(d)).map(s.addPorts(v))),r.states=b(r.states,A.direction,A.dotNodeAttrs,k),r=h(r),r.graphAttributes=f.buildGraphAttributes(t.getOptionValue(A,"engine"),t.getOptionValue(A,"direction"),A.dotGraphAttrs),r.nodeAttributes=f.buildNodeAttributes(A.dotNodeAttrs),r.edgeAttributes=f.buildEdgeAttributes(A.dotEdgeAttrs),i.templates["dot.template.hbs"](r);var d,v}},4377:(e,A,r)=>{const i=r(3278),a=r(6408);function t(e){return A=>A.type===e}function n(e){return A=>e.includes(A.type)}e.exports={isType:t,isOneOfTypes:n,setLabel:function(e){return e.label=e.label||e.name,e},nameNote:function(e){return Object.prototype.hasOwnProperty.call(e,"note")&&(e.noteName=`note_${e.name}`),e},flattenActions:function(e){const A={...e};return e.actions&&(A.actions=e.actions.map((e=>{return`${A=e.type,"activity"===A?"":`${A}/ `}${e.body}`;var A}))),A},flattenNote:function(e){return Object.prototype.hasOwnProperty.call(e,"note")&&(e.noteFlattened=e.note.join("")),e},recolor:function(e){return A=>{const r=i((e||[]).find((e=>"color"===e.name)),"value");return r&&!A.color&&n(["initial","fork","join","junction","forkjoin","final"])(A)&&(A.color=r),A}},escapeStateStrings:function(e){return e.note&&(e.note=e.note.map(a.escapeString)),e},tipForkJoinStates:function(e){return A=>n(["fork","join","forkjoin"])(A)?{sizingExtras:a.isVertical(e)?"height=0.1":"width=0.1",...A}:A},flagParallelChildren:function(e){return"parallel"===e.type&&e.statemachine&&e.statemachine.states&&(e.statemachine.states=e.statemachine.states.map((e=>t("regular")(e)?{...e,parentIsParallel:!0}:e))),e}}},8600:(e,A,r)=>{const i=r(6408);e.exports={escapeTransitionStrings:function(e){return e.note&&(e.note=e.note.map(i.escapeString)),e.label&&(e.label=i.escapeLabelString(e.label)),e},addPorts:function(e){return A=>{let r={};return A.isCompositeSelf&&(r=i.isVertical(e)?{tailportflags:'tailport="e" headport="e"',headportflags:'tailport="w"'}:A.hasParent?{tailportflags:'tailport="n" headport="n"',headportflags:'tailport="s"'}:{tailportflags:'tailport="s" headport="s"',headportflags:'tailport="n"'}),{...A,...r}}}}},6408:e=>{e.exports={escapeString:function(e){return e.replace(/\\/g,"\\\\").replace(/\n\s*/g,"\\l").replace(/"/g,'\\"').concat("\\l")},escapeLabelString:function(e){return e.replace(/\\/g,"\\\\").replace(/\n\s*/g," \\l").replace(/"/g,'\\"').concat(" \\l")},isVertical:function(e){const A=e||"top-down";return"top-down"===A||"bottom-top"===A},isCompositeSelf:function(e,A){return A.from===A.to&&e.findStateByName(A.from).statemachine&&!("internal"===A.type)}}},6558:(e,A,r)=>{const i=r(9184),a=r(3047),t=r(5309),n=r(3469),f=r(825);e.exports=function(e){const A={smcat:i,dot:a,svg:t,scjson:n,scxml:f};return Object.prototype.hasOwnProperty.call(A,e)?A[e]:e=>e}},3469:(e,A,r)=>{const i=r(2375),a=r(9376),t=r(8375),n={regular:"state",initial:"initial",final:"final",terminate:"final",parallel:"parallel",history:"history",deephistory:"history"};function f(e){const A={target:a(e.to)};return Boolean(e.event)&&(A.event=t(e.event)),Boolean(e.cond)&&(A.cond=e.cond),Boolean(e.action)&&(A.action=e.action),Boolean(e.type)&&(A.type=e.type),A}function l(e,A,r,i){const a=(t=i,r.filter((e=>e.type===t)).map((e=>e.body)));var t;a.length>0&&(e[A]=(e[A]||[]).concat(a))}function s(e){return e=e||[],A=>{const r={kind:(i=A.type,n[i]||"state"),id:a(A.name)};var i;return"deephistory"===A.type&&(r.type="deep"),function(e,A){Boolean(A.actions)&&(l(e,"onentries",A.actions,"entry"),l(e,"onentries",A.actions,"activity"),l(e,"onexits",A.actions,"exit"))}(r,A),function(e,A,r){const i=r.filter((e=>e.from===A.name)).map(f);i.length>0&&(e.transitions=i)}(r,A,e),function(e,A,r){if(Boolean(A.statemachine)){const i=c(A.statemachine,0,r);e.states=(e.states||[]).concat(i.states),i.initial&&(e.initial=i.initial)}}(r,A,e),r}}function c(e,A,r){const t=function(e){let A=null;const r=e.states.filter((e=>"initial"===e.type));return r.length>0&&(A=r[0].name),A}(e),n=function(e,A){let r=A;if(A&&e.transitions){const i=e.transitions.filter((e=>e.from===A));i.length>0&&!i[0].action&&(r=i[0].to)}return r}(e,t),f={states:e.states.filter((e=>!n||n===t||"initial"!==e.type)).map(s(r||new i(e).flattenedTransitions))};return n&&(f.initial=a(n)),f}e.exports=c},8375:e=>{const A=/[\u00B7|\u0300-\u036F|\u203F-\u2040|\u0000-\u0029|\u002B-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,r=/[.]/g;function i(e){return e.replace(A,"_")}function a(e){return function(e){let A=i(e);return A.match(r)&&(A=`_${e}`),A}((e=e.replace(/\s+/g," ").trim())[0]).concat(i(e.slice(1)))}e.exports=e=>0===(e=e||"").length?"empty":e.split(/[\n\r]+/).filter((e=>e.length>0)).map(a).join(" ")},9376:e=>{const A=/[\u0000-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,r=/[-|.|0-9|\u00B7|\u0300-\u036F|\u203F-\u2040]/g;function i(e){return e.replace(A,"_")}e.exports=e=>0===(e=e||"").length?"__empty":function(e){let A=i(e);return A.match(r)&&(A=`_${e}`),A}(e[0]).concat(i(e.slice(1)))},825:(e,A,r)=>{const i=r(5631),a=r(3469);r(2270),r(9145),i.registerPartial("scxml.states.template.hbs",i.templates["scxml.states.template.hbs"]),e.exports=e=>i.templates["scxml.template.hbs"](a(e))},9145:(e,A,r)=>{var i=r(5631),a=i.template;(i.templates=i.templates||{})["scxml.states.template.hbs"]=a({1:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,o=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" <"+c(typeof(n=null!=(n=o(r,"kind")||(null!=A?o(A,"kind"):A))?n:l)===s?n.call(f,{name:"kind",hash:{},data:a,loc:{start:{line:2,column:5},end:{line:2,column:13}}}):n)+' id="'+c(typeof(n=null!=(n=o(r,"id")||(null!=A?o(A,"id"):A))?n:l)===s?n.call(f,{name:"id",hash:{},data:a,loc:{start:{line:2,column:18},end:{line:2,column:24}}}):n)+'"'+(null!=(t=o(r,"if").call(f,null!=A?o(A,"initial"):A,{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:69}}}))?t:"")+(null!=(t=o(r,"if").call(f,null!=A?o(A,"type"):A,{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:69},end:{line:2,column:104}}}))?t:"")+">\n"+(null!=(t=e.invokePartial(o(i,"scxml.states.template.hbs"),A,{name:"scxml.states.template.hbs",data:a,indent:" ",helpers:r,partials:i,decorators:e.decorators}))?t:"")+(null!=(t=o(r,"each").call(f,null!=A?o(A,"onentries"):A,{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))?t:"")+(null!=(t=o(r,"each").call(f,null!=A?o(A,"onexits"):A,{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:9,column:13}}}))?t:"")+(null!=(t=o(r,"each").call(f,null!=A?o(A,"transitions"):A,{name:"each",hash:{},fn:e.program(10,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:4},end:{line:18,column:13}}}))?t:"")+" \n"},2:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' initial="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"initial")||(null!=A?n(A,"initial"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"initial",hash:{},data:a,loc:{start:{line:2,column:50},end:{line:2,column:61}}}):t)+'"'},4:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' type="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"type")||(null!=A?n(A,"type"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"type",hash:{},data:a,loc:{start:{line:2,column:88},end:{line:2,column:96}}}):t)+'"'},6:function(e,A,r,i,a){return" "+e.escapeExpression(e.lambda(A,A))+"\n"},8:function(e,A,r,i,a){return" "+e.escapeExpression(e.lambda(A,A))+"\n"},10:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return null!=(t=n(r,"if").call(null!=A?A:e.nullContext||{},null!=A?n(A,"action"):A,{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.program(18,a,0),data:a,loc:{start:{line:11,column:8},end:{line:17,column:15}}}))?t:""},11:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.escapeExpression,o=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" \n '+c(typeof(n=null!=(n=o(r,"action")||(null!=A?o(A,"action"):A))?n:l)===s?n.call(f,{name:"action",hash:{},data:a,loc:{start:{line:13,column:12},end:{line:13,column:22}}}):n)+"\n \n"},12:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'event="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"event")||(null!=A?n(A,"event"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"event",hash:{},data:a,loc:{start:{line:12,column:40},end:{line:12,column:49}}}):t)+'" '},14:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'cond="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"cond")||(null!=A?n(A,"cond"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"cond",hash:{},data:a,loc:{start:{line:12,column:76},end:{line:12,column:84}}}):t)+'" '},16:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'type="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"type")||(null!=A?n(A,"type"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"type",hash:{},data:a,loc:{start:{line:12,column:111},end:{line:12,column:119}}}):t)+'" '},18:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" \n'},compiler:[8,">= 4.3.0"],main:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return null!=(t=n(r,"each").call(null!=A?A:e.nullContext||{},null!=A?n(A,"states"):A,{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:20,column:9}}}))?t:""},usePartial:!0,useData:!0})},2270:(e,A,r)=>{var i=r(5631),a=i.template;(i.templates=i.templates||{})["scxml.template.hbs"]=a({1:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'initial="'+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"initial")||(null!=A?n(A,"initial"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"initial",hash:{},data:a,loc:{start:{line:2,column:71},end:{line:2,column:82}}}):t)+'" '},compiler:[8,">= 4.3.0"],main:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'\n\n'+(null!=(t=e.invokePartial(n(i,"scxml.states.template.hbs"),A,{name:"scxml.states.template.hbs",data:a,helpers:r,partials:i,decorators:e.decorators}))?t:"")+"\n"},usePartial:!0,useData:!0})},9184:(e,A,r)=>{const i=r(5631),a=r(467);r(3939);const t=/;|,|{| |\[/,n=/;|,|{/,f=/;|{/;function l(e,A){return e.test(A)?`"${A}"`:A}function s(e){const A={...e};return A.actions=(e.actions||[]).map((e=>{return`${A=e.type,"activity"===A?"":`${A}/ `}${e.body}`;var A})).join("\n "),A}function c(e){return(Object.prototype.hasOwnProperty.call(e,"label")||Object.prototype.hasOwnProperty.call(e,"type")&&Object.prototype.hasOwnProperty.call(e,"typeExplicitlySet")||Object.prototype.hasOwnProperty.call(e,"color")||Object.prototype.hasOwnProperty.call(e,"active"))&&(e.hasExtendedAttributes=!0),e}function o(e,A){return e.map(c).filter((e=>e.statemachine)).forEach((e=>{e.statemachine.states=o(e.statemachine.states,A)})),e.map(s)}function u(e){return(Object.prototype.hasOwnProperty.call(e,"type")||Object.prototype.hasOwnProperty.call(e,"color"))&&(e.hasExtendedAttributes=!0),e}i.registerPartial("smcat.template.hbs",i.templates["smcat.template.hbs"]),i.registerHelper("quotifyState",(e=>l(t,e))),i.registerHelper("quotifyLabel",(e=>l(f,e))),i.registerHelper("quotifyActions",(e=>l(n,e))),e.exports=e=>{return i.templates["smcat.template.hbs"]({...e,states:o(a(e.states)),transitions:(A=a(e.transitions||[]),A.map(u))});var A}},3939:(e,A,r)=>{var i=r(5631),a=i.template;(i.templates=i.templates||{})["smcat.template.hbs"]=a({1:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b="";return n=null!=(n=u(r,"note")||(null!=A?u(A,"note"):A))?n:s,f={name:"note",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:9}}},t=typeof n===c?n.call(l,f):n,u(r,"note")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=null!=(t=(u(r,"quotifyState")||A&&u(A,"quotifyState")||s).call(l,null!=A?u(A,"name"):A,{name:"quotifyState",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:40}}}))?t:"",n=null!=(n=u(r,"hasExtendedAttributes")||(null!=A?u(A,"hasExtendedAttributes"):A))?n:s,f={name:"hasExtendedAttributes",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:4},end:{line:6,column:234}}},t=typeof n===c?n.call(l,f):n,u(r,"hasExtendedAttributes")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=null!=(t=u(r,"if").call(l,null!=A?u(A,"actions"):A,{name:"if",hash:{},fn:e.program(16,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:7,column:28}}}))?t:"",n=null!=(n=u(r,"actions")||(null!=A?u(A,"actions"):A))?n:s,f={name:"actions",hash:{},fn:e.program(18,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:28},end:{line:7,column:93}}},t=typeof n===c?n.call(l,f):n,u(r,"actions")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"statemachine")||(null!=A?u(A,"statemachine"):A))?n:s,f={name:"statemachine",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:10,column:19}}},t=typeof n===c?n.call(l,f):n,u(r,"statemachine")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+(null!=(t=u(r,"if").call(l,a&&u(a,"last"),{name:"if",hash:{},fn:e.program(22,a,0),inverse:e.program(24,a,0),data:a,loc:{start:{line:11,column:0},end:{line:11,column:30}}}))?t:"")+"\n"},2:function(e,A,r,i,a){var t;return"# "+(null!=(t=e.lambda(A,A))?t:"")+"\n"},4:function(e,A,r,i,a){return""},6:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b=" [";return n=null!=(n=u(r,"typeExplicitlySet")||(null!=A?u(A,"typeExplicitlySet"):A))?n:s,f={name:"typeExplicitlySet",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:32},end:{line:6,column:107}}},t=typeof n===c?n.call(l,f):n,u(r,"typeExplicitlySet")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s,f={name:"label",hash:{},fn:e.program(10,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:107},end:{line:6,column:142}}},t=typeof n===c?n.call(l,f):n,u(r,"label")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"color")||(null!=A?u(A,"color"):A))?n:s,f={name:"color",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:142},end:{line:6,column:178}}},t=typeof n===c?n.call(l,f):n,u(r,"color")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+(null!=(t=u(r,"if").call(l,null!=A?u(A,"active"):A,{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:178},end:{line:6,column:206}}}))?t:"")+"]"},7:function(e,A,r,i,a){var t,n,f,l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return n=null!=(n=l(r,"type")||(null!=A?l(A,"type"):A))?n:e.hooks.helperMissing,f={name:"type",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:54},end:{line:6,column:85}}},t="function"==typeof n?n.call(null!=A?A:e.nullContext||{},f):n,l(r,"type")||(t=e.hooks.blockHelperMissing.call(A,t,f)),null!=t?t:""},8:function(e,A,r,i,a){var t;return"type="+(null!=(t=e.lambda(A,A))?t:"")+" "},10:function(e,A,r,i,a){var t;return'label="'+(null!=(t=e.lambda(A,A))?t:"")+'"'},12:function(e,A,r,i,a){var t;return' color="'+(null!=(t=e.lambda(A,A))?t:"")+'"'},14:function(e,A,r,i,a){return" active"},16:function(e,A,r,i,a){return": "},18:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return null!=(t=(n(r,"quotifyActions")||A&&n(A,"quotifyActions")||e.hooks.helperMissing).call(null!=A?A:e.nullContext||{},A,{name:"quotifyActions",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:40},end:{line:7,column:80}}}))?t:""},20:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" {\n"+(null!=(t=e.invokePartial(n(i,"smcat.template.hbs"),A,{name:"smcat.template.hbs",data:a,indent:" ",helpers:r,partials:i,decorators:e.decorators}))?t:"")+"}"},22:function(e,A,r,i,a){return";"},24:function(e,A,r,i,a){return","},26:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b="";return n=null!=(n=u(r,"note")||(null!=A?u(A,"note"):A))?n:s,f={name:"note",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}},t=typeof n===c?n.call(l,f):n,u(r,"note")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+=(null!=(t=(u(r,"quotifyState")||A&&u(A,"quotifyState")||s).call(l,null!=A?u(A,"from"):A,{name:"quotifyState",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:18,column:0},end:{line:18,column:39}}}))?t:"")+" => "+(null!=(t=(u(r,"quotifyState")||A&&u(A,"quotifyState")||s).call(l,null!=A?u(A,"to"):A,{name:"quotifyState",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:18,column:43},end:{line:18,column:81}}}))?t:""),n=null!=(n=u(r,"hasExtendedAttributes")||(null!=A?u(A,"hasExtendedAttributes"):A))?n:s,f={name:"hasExtendedAttributes",hash:{},fn:e.program(27,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:4},end:{line:19,column:130}}},t=typeof n===c?n.call(l,f):n,u(r,"hasExtendedAttributes")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"label")||(null!=A?u(A,"label"):A))?n:s,f={name:"label",hash:{},fn:e.program(32,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:4},end:{line:20,column:62}}},t=typeof n===c?n.call(l,f):n,u(r,"label")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+";\n"},27:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.hooks.blockHelperMissing,u=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},b=" [";return n=null!=(n=u(r,"color")||(null!=A?u(A,"color"):A))?n:s,f={name:"color",hash:{},fn:e.program(28,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:32},end:{line:19,column:68}}},t=typeof n===c?n.call(l,f):n,u(r,"color")||(t=o.call(A,t,f)),null!=t&&(b+=t),n=null!=(n=u(r,"type")||(null!=A?u(A,"type"):A))?n:s,f={name:"type",hash:{},fn:e.program(30,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:69},end:{line:19,column:102}}},t=typeof n===c?n.call(l,f):n,u(r,"type")||(t=o.call(A,t,f)),null!=t&&(b+=t),b+"]"},28:function(e,A,r,i,a){var t;return'color="'+(null!=(t=e.lambda(A,A))?t:"")+'"'},30:function(e,A,r,i,a){var t;return" type="+(null!=(t=e.lambda(A,A))?t:"")},32:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return": "+(null!=(t=(n(r,"quotifyLabel")||A&&n(A,"quotifyLabel")||e.hooks.helperMissing).call(null!=A?A:e.nullContext||{},A,{name:"quotifyLabel",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:16},end:{line:20,column:52}}}))?t:"")},compiler:[8,">= 4.3.0"],main:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},c=(null!=(t=s(r,"each").call(l,null!=A?s(A,"states"):A,{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:12,column:9}}}))?t:"")+"\n";return n=null!=(n=s(r,"transitions")||(null!=A?s(A,"transitions"):A))?n:e.hooks.helperMissing,f={name:"transitions",hash:{},fn:e.program(26,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:0},end:{line:21,column:16}}},t="function"==typeof n?n.call(l,f):n,s(r,"transitions")||(t=e.hooks.blockHelperMissing.call(A,t,f)),null!=t&&(c+=t),c},usePartial:!0,useData:!0})},5309:(e,A,r)=>{const i=r(6780),a=r(7766),t=r(3047),n="function"==typeof i?i:Viz;e.exports=(e,A)=>n(t(e,A),{engine:a.getOptionValue(A,"engine")})},2375:e=>{function A(e,r=!1){let i=[];return e.filter((e=>Boolean(e.statemachine))).forEach((e=>{Object.prototype.hasOwnProperty.call(e.statemachine,"states")&&(i=i.concat(A(e.statemachine.states,!0)))})),i.concat(e.map((e=>({name:e.name,type:e.type,statemachine:Boolean(e.statemachine),hasParent:r}))))}function r(e){let A=[];return Object.prototype.hasOwnProperty.call(e,"transitions")&&(A=e.transitions),Object.prototype.hasOwnProperty.call(e,"states")&&e.states.filter((e=>Boolean(e.statemachine))).forEach((e=>{A=A.concat(r(e.statemachine))})),A}e.exports=class{constructor(e){this._flattenedStates=A(e.states||[]),this._flattenedTransitions=r(e)}get flattenedTransitions(){return this._flattenedTransitions}findStateByName(e){return this._flattenedStates.find((A=>A.name===e))}findStatesByTypes(e){return this._flattenedStates.filter((A=>e.some((e=>A.type===e))))}findExternalSelfTransitions(e){return this._flattenedTransitions.filter((A=>A.from===e&&A.to===e&&"internal"!==A.type))}findTransitionsByFrom(e){return this._flattenedTransitions.filter((A=>A.from===e))}findTransitionsByTo(e){return this._flattenedTransitions.filter((A=>A.to===e))}}},1514:(e,A,r)=>{const i=r(467),a=r(3020),t=r(2375),n=r(4851);function f(e,A,r){const a=i(e);return a.transitions&&A.length>0&&(a.transitions=function(e,A,r){return e.reduce(((e,i)=>(A.forEach(((A,a)=>{e=A===i.to&&r[A]?e.concat(r[A].map((e=>function(e,A){const r={...e,...A,from:e.from,to:A.to};var i,a;return A.action&&(r.action=(i=e.action,a=A.action,i?`${i}\n${a}`:a)),(r.event||r.cond||r.action)&&(r.label=n.formatLabel(r.event,r.cond,r.action)),r}(i,e)))):0===a?e.concat(i):e})),e)),[])}(a.transitions,A,r)),a.states=a.states.map((e=>e.statemachine?{...e,statemachine:f(e.statemachine,A,r)}:e)),a}function l(e,A){const r=i(e);return r.transitions&&(r.transitions=a(r.transitions,(e=>A.some((A=>A===e.from||A===e.to))))),r.states=a(r.states,(e=>A.some((A=>A===e.name)))).map((e=>e.statemachine?{...e,statemachine:l(e.statemachine,A)}:e)),r}e.exports=(e,A=["fork","junction","choice"])=>{const r=new t(e),i=r.findStatesByTypes(A).map((e=>e.name)),a=i.reduce(((e,A)=>(e[A]=r.findTransitionsByFrom(A),e)),{});return l(f(e,i,a),i)}},4851:e=>{e.exports={formatLabel:function(e,A,r){let i="";return e&&(i+=e),A&&(i+=` [${A}]`),r&&(i+=`/ ${r}`),i.trim()}}},5980:function(e,A){!function(e){"use strict";function A(){for(var e=arguments.length,A=Array(e),r=0;r1){A[0]=A[0].slice(0,-1);for(var i=A.length-1,a=1;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},w=Math.floor,k=String.fromCharCode;function d(e){throw new RangeError(h[e])}function v(e,A){var r=e.split("@"),i="";return r.length>1&&(i=r[0]+"@",e=r[1]),i+function(e,A){for(var r=[],i=e.length;i--;)r[i]=A(e[i]);return r}((e=e.replace(b,".")).split("."),A).join(".")}function g(e){for(var A=[],r=0,i=e.length;r=55296&&a<=56319&&r>1,e+=w(e/A);e>455;i+=c)e=w(e/35);return w(i+36*e/(e+38))},E=function(e){var A,r=[],i=e.length,a=0,t=128,n=72,f=e.lastIndexOf("-");f<0&&(f=0);for(var l=0;l=128&&d("not-basic"),r.push(e.charCodeAt(l));for(var o=f>0?f+1:0;o=i&&d("invalid-input");var k=(A=e.charCodeAt(o++))-48<10?A-22:A-65<26?A-65:A-97<26?A-97:c;(k>=c||k>w((s-a)/b))&&d("overflow"),a+=k*b;var v=h<=n?1:h>=n+26?26:h-n;if(kw(s/g)&&d("overflow"),b*=g}var m=r.length+1;n=p(a-u,m,0==u),w(a/m)>s-t&&d("overflow"),t+=w(a/m),a%=m,r.splice(a++,0,t)}return String.fromCodePoint.apply(String,r)},B=function(e){var A=[],r=(e=g(e)).length,i=128,a=0,t=72,n=!0,f=!1,l=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var b=o.value;b<128&&A.push(k(b))}}catch(e){f=!0,l=e}finally{try{!n&&u.return&&u.return()}finally{if(f)throw l}}var h=A.length,v=h;for(h&&A.push("-");v=i&&Gw((s-a)/L)&&d("overflow"),a+=(E-i)*L,i=E;var Q=!0,D=!1,z=void 0;try{for(var W,Y=e[Symbol.iterator]();!(Q=(W=Y.next()).done);Q=!0){var F=W.value;if(Fs&&d("overflow"),F==i){for(var M=a,V=c;;V+=c){var N=V<=t?1:V>=t+26?26:V-t;if(M>6|192).toString(16).toUpperCase()+"%"+(63&A|128).toString(16).toUpperCase():"%"+(A>>12|224).toString(16).toUpperCase()+"%"+(A>>6&63|128).toString(16).toUpperCase()+"%"+(63&A|128).toString(16).toUpperCase()}function G(e){for(var A="",r=0,i=e.length;r=194&&a<224){if(i-r>=6){var t=parseInt(e.substr(r+4,2),16);A+=String.fromCharCode((31&a)<<6|63&t)}else A+=e.substr(r,6);r+=6}else if(a>=224){if(i-r>=9){var n=parseInt(e.substr(r+4,2),16),f=parseInt(e.substr(r+7,2),16);A+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&f)}else A+=e.substr(r,9);r+=9}else A+=e.substr(r,3),r+=3}return A}function L(e,A){function r(e){var r=G(e);return r.match(A.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(A.PCT_ENCODED,r).toLowerCase().replace(A.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(A.PCT_ENCODED,r).replace(A.NOT_USERINFO,Z).replace(A.PCT_ENCODED,a)),void 0!==e.host&&(e.host=String(e.host).replace(A.PCT_ENCODED,r).toLowerCase().replace(A.NOT_HOST,Z).replace(A.PCT_ENCODED,a)),void 0!==e.path&&(e.path=String(e.path).replace(A.PCT_ENCODED,r).replace(e.scheme?A.NOT_PATH:A.NOT_PATH_NOSCHEME,Z).replace(A.PCT_ENCODED,a)),void 0!==e.query&&(e.query=String(e.query).replace(A.PCT_ENCODED,r).replace(A.NOT_QUERY,Z).replace(A.PCT_ENCODED,a)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(A.PCT_ENCODED,r).replace(A.NOT_FRAGMENT,Z).replace(A.PCT_ENCODED,a)),e}function Q(e){return e.replace(/^0*(.*)/,"$1")||"0"}function D(e,A){var r=e.match(A.IPV4ADDRESS)||[],i=l(r,2)[1];return i?i.split(".").map(Q).join("."):e}function z(e,A){var r=e.match(A.IPV6ADDRESS)||[],i=l(r,3),a=i[1],t=i[2];if(a){for(var n=a.toLowerCase().split("::").reverse(),f=l(n,2),s=f[0],c=f[1],o=c?c.split(":").map(Q):[],u=s.split(":").map(Q),b=A.IPV4ADDRESS.test(u[u.length-1]),h=b?7:8,w=u.length-h,k=Array(h),d=0;d1){var m=k.slice(0,v.index),p=k.slice(v.index+v.length);g=m.join(":")+"::"+p.join(":")}else g=k.join(":");return t&&(g+="%"+t),g}return e}var W=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Y=void 0==="".match(/(){0}/)[1];function F(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},i=!1!==A.iri?f:n;"suffix"===A.reference&&(e=(A.scheme?A.scheme+":":"")+"//"+e);var a=e.match(W);if(a){Y?(r.scheme=a[1],r.userinfo=a[3],r.host=a[4],r.port=parseInt(a[5],10),r.path=a[6]||"",r.query=a[7],r.fragment=a[8],isNaN(r.port)&&(r.port=a[5])):(r.scheme=a[1]||void 0,r.userinfo=-1!==e.indexOf("@")?a[3]:void 0,r.host=-1!==e.indexOf("//")?a[4]:void 0,r.port=parseInt(a[5],10),r.path=a[6]||"",r.query=-1!==e.indexOf("?")?a[7]:void 0,r.fragment=-1!==e.indexOf("#")?a[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?a[4]:void 0)),r.host&&(r.host=z(D(r.host,i),i)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",A.reference&&"suffix"!==A.reference&&A.reference!==r.reference&&(r.error=r.error||"URI is not a "+A.reference+" reference.");var t=I[(A.scheme||r.scheme||"").toLowerCase()];if(A.unicodeSupport||t&&t.unicodeSupport)L(r,i);else{if(r.host&&(A.domainHost||t&&t.domainHost))try{r.host=y(r.host.replace(i.PCT_ENCODED,G).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}L(r,n)}t&&t.parse&&t.parse(r,A)}else r.error=r.error||"URI can not be parsed.";return r}function M(e,A){var r=!1!==A.iri?f:n,i=[];return void 0!==e.userinfo&&(i.push(e.userinfo),i.push("@")),void 0!==e.host&&i.push(z(D(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,A,r){return"["+A+(r?"%25"+r:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(i.push(":"),i.push(String(e.port))),i.length?i.join(""):void 0}var V=/^\.\.?\//,N=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,x=/^\/?(?:.|\n)*?(?=\/|$)/;function J(e){for(var A=[];e.length;)if(e.match(V))e=e.replace(V,"");else if(e.match(N))e=e.replace(N,"/");else if(e.match(R))e=e.replace(R,"/"),A.pop();else if("."===e||".."===e)e="";else{var r=e.match(x);if(!r)throw new Error("Unexpected dot segment condition");var i=r[0];e=e.slice(i.length),A.push(i)}return A.join("")}function H(e){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=A.iri?f:n,i=[],a=I[(A.scheme||e.scheme||"").toLowerCase()];if(a&&a.serialize&&a.serialize(e,A),e.host)if(r.IPV6ADDRESS.test(e.host));else if(A.domainHost||a&&a.domainHost)try{e.host=A.iri?C(e.host):y(e.host.replace(r.PCT_ENCODED,G).toLowerCase())}catch(r){e.error=e.error||"Host's domain name can not be converted to "+(A.iri?"Unicode":"ASCII")+" via punycode: "+r}L(e,r),"suffix"!==A.reference&&e.scheme&&(i.push(e.scheme),i.push(":"));var t=M(e,A);if(void 0!==t&&("suffix"!==A.reference&&i.push("//"),i.push(t),e.path&&"/"!==e.path.charAt(0)&&i.push("/")),void 0!==e.path){var l=e.path;A.absolutePath||a&&a.absolutePath||(l=J(l)),void 0===t&&(l=l.replace(/^\/\//,"/%2F")),i.push(l)}return void 0!==e.query&&(i.push("?"),i.push(e.query)),void 0!==e.fragment&&(i.push("#"),i.push(e.fragment)),i.join("")}function P(e,A){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i={};return arguments[3]||(e=F(H(e,r),r),A=F(H(A,r),r)),!(r=r||{}).tolerant&&A.scheme?(i.scheme=A.scheme,i.userinfo=A.userinfo,i.host=A.host,i.port=A.port,i.path=J(A.path||""),i.query=A.query):(void 0!==A.userinfo||void 0!==A.host||void 0!==A.port?(i.userinfo=A.userinfo,i.host=A.host,i.port=A.port,i.path=J(A.path||""),i.query=A.query):(A.path?("/"===A.path.charAt(0)?i.path=J(A.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+A.path:i.path=A.path:i.path="/"+A.path,i.path=J(i.path)),i.query=A.query):(i.path=e.path,void 0!==A.query?i.query=A.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=A.fragment,i}function X(e,A){return e&&e.toString().replace(A&&A.iri?f.PCT_ENCODED:n.PCT_ENCODED,G)}var S={scheme:"http",domainHost:!0,parse:function(e,A){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,A){var r="https"===String(e.scheme).toLowerCase();return e.port!==(r?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:S.domainHost,parse:S.parse,serialize:S.serialize};function U(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var T={scheme:"ws",domainHost:!0,parse:function(e,A){var r=e;return r.secure=U(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,A){if(e.port!==(U(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),i=l(r,2),a=i[0],t=i[1];e.path=a&&"/"!==a?a:void 0,e.query=t,e.resourceName=void 0}return e.fragment=void 0,e}},O={scheme:"wss",domainHost:T.domainHost,parse:T.parse,serialize:T.serialize},_={},q="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",$=r(r("%[EFef][0-9A-Fa-f]%"+K+K+"%"+K+K)+"|"+r("%[89A-Fa-f][0-9A-Fa-f]%"+K+K)+"|"+r("%"+K+K)),ee=A("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Ae=new RegExp(q,"g"),re=new RegExp($,"g"),ie=new RegExp(A("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),ae=new RegExp(A("[^]",q,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),te=ae;function ne(e){var A=G(e);return A.match(Ae)?A:e}var fe={scheme:"mailto",parse:function(e,A){var r=e,i=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var a=!1,t={},n=r.query.split("&"),f=0,l=n.length;f\n\n'});return"png-image-element"==t?i.svgXmlToPngImageElement(a(e,"svg",n,l,s),f):a(e,t,n,l,s)}function a(A,i,a,t,n){var f,l=function(A){A=void 0!==(A=A||{})?A:{};var i,a={};for(i in A)A.hasOwnProperty(i)&&(a[i]=A[i]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(e,A){throw A},A.preRun=[],A.postRun=[];var t,n,f=!1,l=!1,s=!1,c=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)f=!0;else if("WORKER"===A.ENVIRONMENT)l=!0;else if("NODE"===A.ENVIRONMENT)s=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");c=!0}else f="object"==typeof window,l="function"==typeof importScripts,s="object"==typeof process&&!f&&!l,c=!f&&!s&&!l;for(i in s?(A.read=function(e,A){var i;return(i=UA(e))||(t||(t=r(5747)),n||(n=r(5622)),e=n.normalize(e),i=t.readFileSync(e)),A?i:i.toString()},A.readBinary=function(e){var r=A.read(e,!0);return r.buffer||(r=new Uint8Array(r)),v(r.buffer),r},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\/g,"/")),A.arguments=process.argv.slice(2),e.exports=A,process.on("uncaughtException",(function(e){if(!(e instanceof Lr))throw e})),process.on("unhandledRejection",(function(e,A){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(A.read=function(e){var A=UA(e);return A?XA(A):read(e)}),A.readBinary=function(e){var A;return(A=UA(e))?A:"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(v("object"==typeof(A=read(e,"binary"))),A)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(e,A){quit(e)})):(f||l)&&(A.read=function(e){try{var A=new XMLHttpRequest;return A.open("GET",e,!1),A.send(null),A.responseText}catch(A){var r=UA(e);if(r)return XA(r);throw A}},l&&(A.readBinary=function(e){try{var A=new XMLHttpRequest;return A.open("GET",e,!1),A.responseType="arraybuffer",A.send(null),new Uint8Array(A.response)}catch(A){var r=UA(e);if(r)return r;throw A}}),A.readAsync=function(e,A,r){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)A(i.response);else{var a=UA(e);a?A(a.buffer):r()}},i.onerror=r,i.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(e){document.title=e}),A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,a)a.hasOwnProperty(i)&&(A[i]=a[i]);a=void 0;var o=16;function u(e){v(!j);var A=S;return S=S+e+15&-16,A}function b(e){v(q);var A=H[q>>2],r=A+e+15&-16;return H[q>>2]=r,r>=ie&&!Ae()?(H[q>>2]=A,0):A}function h(e,A){return A||(A=o),Math.ceil(e/A)*A}function w(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return 4;if("i"===e[0]){var A=parseInt(e.substr(1));return v(A%8==0),A/8}return 0}}new Array(0);var k=8,d=0;function v(e,A){e||zr("Assertion failed: "+A)}function g(e){var r=A["_"+e];return v(r,"Cannot call unknown function "+e+", make sure it is exported"),r}var m={stackSave:function(){Br()},stackRestore:function(){Er()},arrayToC:function(e){var A=pr(e.length);return ge(e,A),A},stringToC:function(e){var A=0;if(null!=e&&0!==e){var r=1+(e.length<<2);z(e,A=pr(r),r)}return A}},p={string:m.stringToC,array:m.arrayToC};function E(e,A,r,i,a){var t=g(e),n=[],f=0;if(i)for(var l=0;l>0]=A;break;case"i16":J[e>>1]=A;break;case"i32":H[e>>2]=A;break;case"i64":tempI64=[A>>>0,(tempDouble=A,+pe(tempDouble)>=1?tempDouble>0?(0|Ie(+ye(tempDouble/4294967296),4294967295))>>>0:~~+Be((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],H[e>>2]=tempI64[0],H[e+4>>2]=tempI64[1];break;case"float":P[e>>2]=A;break;case"double":X[e>>3]=A;break;default:zr("invalid type for setValue: "+r)}}var y=2,C=4;function I(e,A,r,i){var a,t;"number"==typeof e?(a=!0,t=e):(a=!1,t=e.length);var n,f="string"==typeof A?A:null;if(n=r==C?i:["function"==typeof vr?vr:u,pr,u,b][void 0===r?y:r](Math.max(t,f?1:A.length)),a){var l;for(i=n,v(0==(3&n)),l=n+(-4&t);i>2]=0;for(l=n+t;i>0]=0;return n}if("i8"===f)return e.subarray||e.slice?x.set(e,n):x.set(new Uint8Array(e),n),n;for(var s,c,o,h=0;h>0],(0!=r||A)&&(a++,!A||a!=A););A||(A=a);var t="";if(i<128){for(var n,f=1024;A>0;)n=String.fromCharCode.apply(String,x.subarray(e,e+Math.min(A,f))),t=t?t+n:n,e+=f,A-=f;return t}return Q(e)}var G="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function L(e,A){for(var r=A;e[r];)++r;if(r-A>16&&e.subarray&&G)return G.decode(e.subarray(A,r));for(var i,a,t,n,f,l="";;){if(!(i=e[A++]))return l;if(128&i)if(a=63&e[A++],192!=(224&i))if(t=63&e[A++],224==(240&i)?i=(15&i)<<12|a<<6|t:(n=63&e[A++],240==(248&i)?i=(7&i)<<18|a<<12|t<<6|n:(f=63&e[A++],i=248==(252&i)?(3&i)<<24|a<<18|t<<12|n<<6|f:(1&i)<<30|a<<24|t<<18|n<<12|f<<6|63&e[A++])),i<65536)l+=String.fromCharCode(i);else{var s=i-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&i)<<6|a);else l+=String.fromCharCode(i)}}function Q(e){return L(x,e)}function D(e,A,r,i){if(!(i>0))return 0;for(var a=r,t=r+i-1,n=0;n=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++n)),f<=127){if(r>=t)break;A[r++]=f}else if(f<=2047){if(r+1>=t)break;A[r++]=192|f>>6,A[r++]=128|63&f}else if(f<=65535){if(r+2>=t)break;A[r++]=224|f>>12,A[r++]=128|f>>6&63,A[r++]=128|63&f}else if(f<=2097151){if(r+3>=t)break;A[r++]=240|f>>18,A[r++]=128|f>>12&63,A[r++]=128|f>>6&63,A[r++]=128|63&f}else if(f<=67108863){if(r+4>=t)break;A[r++]=248|f>>24,A[r++]=128|f>>18&63,A[r++]=128|f>>12&63,A[r++]=128|f>>6&63,A[r++]=128|63&f}else{if(r+5>=t)break;A[r++]=252|f>>30,A[r++]=128|f>>24&63,A[r++]=128|f>>18&63,A[r++]=128|f>>12&63,A[r++]=128|f>>6&63,A[r++]=128|63&f}}return A[r]=0,r-a}function z(e,A,r){return D(e,x,A,r)}function W(e){for(var A=0,r=0;r=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++A:A+=i<=2047?2:i<=65535?3:i<=2097151?4:i<=67108863?5:6}return A}function Y(e){var A=W(e)+1,r=vr(A);return r&&D(e,R,r,A),r}function F(e){return e.replace(/__Z[\w\d_]+/g,(function(e){return e==e?e:e+" ["+e+"]"}))}function M(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(A){e=A}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function V(){var e=M();return A.extraStackTrace&&(e+="\n"+A.extraStackTrace()),F(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var N,R,x,J,H,P,X,S,j,U,T,O,_,q,K=16384;function $(){A.HEAP8=R=new Int8Array(N),A.HEAP16=J=new Int16Array(N),A.HEAP32=H=new Int32Array(N),A.HEAPU8=x=new Uint8Array(N),A.HEAPU16=new Uint16Array(N),A.HEAPU32=new Uint32Array(N),A.HEAPF32=P=new Float32Array(N),A.HEAPF64=X=new Float64Array(N)}function ee(){zr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ie+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function Ae(){ee()}S=U=T=O=_=q=0,j=!1;var re=A.TOTAL_STACK||5242880,ie=A.TOTAL_MEMORY||16777216;function ae(){return ie}if(ie0;){var r=e.shift();if("function"!=typeof r){var i=r.func;"number"==typeof i?void 0===r.arg?A.dynCall_v(i):A.dynCall_vi(i,r.arg):i(void 0===r.arg?null:r.arg)}else r()}}var ne=[],fe=[],le=[],se=[],ce=[],oe=!1;function ue(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)de(A.preRun.shift());te(ne)}function be(){oe||(oe=!0,te(fe))}function he(){te(le)}function we(){te(se)}function ke(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)ve(A.postRun.shift());te(ce)}function de(e){ne.unshift(e)}function ve(e){ce.unshift(e)}function ge(e,A){R.set(e,A)}function me(e,A,r){for(var i=0;i>0]=e.charCodeAt(i);r||(R[A>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,A){var r=65535&e,i=65535&A;return r*i+((e>>>16)*i+r*(A>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var A=0;A<32;A++)if(e&1<<31-A)return A;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var pe=Math.abs,Ee=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),Be=Math.ceil,ye=Math.floor,Ce=Math.pow,Ie=(Math.imul,Math.fround,Math.round,Math.min),Ze=(Math.max,Math.clz32,Math.trunc,0),Ge=null,Le=null;function Qe(e){Ze++,A.monitorRunDependencies&&A.monitorRunDependencies(Ze)}function De(e){if(Ze--,A.monitorRunDependencies&&A.monitorRunDependencies(Ze),0==Ze&&(null!==Ge&&(clearInterval(Ge),Ge=null),Le)){var r=Le;Le=null,r()}}A.preloadedImages={},A.preloadedAudios={};var ze=null,We="data:application/octet-stream;base64,";function Ye(e){return String.prototype.startsWith?e.startsWith(We):0===e.indexOf(We)}var Fe=[function(e,A){var r=Z(e),i=Z(A);eA.createPath("/",Te.dirname(r)),eA.writeFile(Te.join("/",r),i)}];function Me(e,A,r){return Fe[e](A,r)}S=k+197232,fe.push(),ze="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr4VQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAABAAAAAUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAGAAAAAQAAAAEAAAAHAAAACAAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAQAAAAEAAAALAAAAAQAAAAwAAAABAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABMAAAATAAAAEwAAABMAAAAXAAAAGAAAABkAAAATAAAAGgAAABsAAAAcAAAAHQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAB4AAAABAAAAAQAAABMAAAABAAAAHwAAACAAAAAhAAAAIgAAACMAAAATAAAAJAAAACUAAAAmAAAAEwAAABMAAAATAAAAEwAAACcAAAAoAAAAKQAAABMAAAAqAAAAKwAAACwAAAAtAAAAEwAAABMAAAATAAAAEwAAABMAAAABAAAAAQAAAAEAAAABAAAAAQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAALgAAABMAAAATAAAAEwAAAC8AAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAA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Ag4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAABP7//4f+//8HAAAAAAAAAAD//3////9///////////N//v3//////3///////////w/g/////zH8////AAAAAAAAAP//////////////AQD4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AAAAAAAAAAAD///8HBwAAAAAA/v//B/4HAAAAAP7//////////3z/fy8AYAAAAOD///////8jAAAA/wMAAADgn/n///3FAwAAALADAAMA4If5///9bQMAAABeAAAcAOCv+////e0jAAAAAAEAAADgn/n///3NIwAAALADAAAA4Mc91hjHvwMAAAAAAAAAAODf/f///e8DAAAAAAMAAADg3/3///3vAwAAAEADAAAA4N/9///9/wMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAD+/////38NAD8AAAAAAAAAliXw/q5sDSAfAAAAAAAAAAAAAAAAAAAA//7///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////PwD/////fwDt2gcAAAAAUAFQMYKrYiwAAAAAQADJgPUHAAAAAAgBAv////////////////////////8P//////////////8D//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAQEwAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAIAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////z8AAAAAAAAAAAAAAP//////////////////////////DwAAAAAAAAAAAAAAAAAAAABg/wf+//+H/v//BwAAAAAAAIAA//9/////f/////8AAAAAAAAA//////////////8BAPgDAAMAAAAAAP//////////PwAAAAMAAADA1///+/////9/f1T9/w8A/t////////////7f/////3sA////////nxn////PPwMAAAAAAAD+////fwL+////fwD+//v//7sWAP///wcHAAAAAAD+//8H//8HAP8D////////////fP9/7///Pf8D7v////////P/Px7/z/8AAO6f+f///cXTnzmAsM//AwDkh/n///1t04c5AF7A/x8A7q/7///97fO/OwAAwf8AAO6f+f///c3zjznAsMP/AADsxz3WGMe/w8c9gACA/wAA7t/9///978PfPWAAw/8AAOzf/f///e/D3z1gQMP/AADs3/3///3/w889gADD/wAAAAAAAAAAAAAAAAAAAAAAAP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF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FAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/FwCu/3cArv8HAC4Arv8mAK7/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YWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAY29tcABjbnQgPT0gc3oAbWluY3Jvc3MuYwBmaXhMYWJlbE9yZGVyAHJlbWluY3Jvc3MAbWluY3Jvc3MgJXM6ICVkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAdgBuZWlnaGJvcgAocnYgPT0gMCkgfHwgKE5EX29yZGVyKHJ2KS1ORF9vcmRlcih2KSkqZGlyID4gMABjb25zdHJhaW5pbmdfZmxhdF9lZGdlKGcsdixlKSA9PSBGQUxTRQBmbGF0X3Jlb3JkZXIATkRfcmFuayh2KSA9PSByAHBvc3RvcmRlcgBmbGF0aW5kZXgoYWdoZWFkKGUpKSA8IE0tPm5yb3dzAGZsYXRfc2VhcmNoAGZsYXRpbmRleChhZ3RhaWwoZSkpIDwgTS0+bmNvbHMAb3V0AG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQuCgBvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkIGZvciBub2RlICclcycuCgBtZXJnZTI6IGdyYXBoICVzLCByYW5rICVkIGhhcyBvbmx5ICVkIDwgJWQgbm9kZXMKAG1pbmNyb3NzOiBwYXNzICVkIGl0ZXIgJWQgdHJ5aW5nICVkIGN1cl9jcm9zcyAlZCBiZXN0X2Nyb3NzICVkCgBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAGJhbGFuY2UAdHJhbnNwb3NlX3N0ZXAAc3VycHJpc2UKAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogJXMgJXMgcmFuayAlZCBpID0gJWQgYW4gPSAwCgBHRF9yYW5rKGcpW3JdLm4gPD0gR0RfcmFuayhnKVtyXS5hbgBpbnN0YWxsX2luX3JhbmsAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogcmFuayAlZCBub3QgaW4gcmFuayByYW5nZSBbJWQsJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IEdEX3JhbmsoZylbJWRdLnYgKyBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoZylbJWRdLmF2ICsgR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAX25ld19yYW5rAG1jbGltaXQAcmFuayhnLCAyLCBuc2l0ZXIyKGcpKSA9PSAwAHBvc2l0aW9uLmMAZG90X3Bvc2l0aW9uAEFSPSUwLjRsZgkgQXJlYT0gJTAuNGxmCQBEdW1teT0lZAoAR29pbmcgdG8gYXBwbHkgYW5vdGhlciBleHBhbnNpb24uCgBuZXh0I2l0ZXI9JWQKAGhwAGNvbm5lY3RHcmFwaABFZGdlIGxlbmd0aCAlZiBsYXJnZXIgdGhhbiBtYXhpbXVtICV1IGFsbG93ZWQuCkNoZWNrIGZvciBvdmVyd2lkZSBub2RlKHMpLgoAbnNsaW1pdABjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgBuc2xpbWl0MQBuZXdyYW5rAE1heHJhbmsgPSAlZCwgbWlucmFuayA9ICVkCgBsZWFkZXIgIT0gTlVMTAByYW5rLmMAY2x1c3Rlcl9sZWFkZXIAKE5EX1VGX3NpemUobikgPD0gMSkgfHwgKG4gPT0gbGVhZGVyKQBhZ2hlYWQoZSkgPT0gVUZfZmluZChhZ2hlYWQoZSkpAG1pbm1heF9lZGdlcwBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAHJhbmsAc2FtZQBtaW4Ac291cmNlAG1heABzaW5rAGxldmVsIGFzc2lnbm1lbnQgY29uc3RyYWludHMAbGV2ZWwgZ3JhcGggcmVjAH9yb290AH90b3AAf2JvdABjb21wYWN0AF93ZWFrXyVkAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKACVzIGhhcyB1bnJlY29nbml6ZWQgcmFuaz0lcwBsZXZlbCBlZGdlIHJlYwBsZXZlbCBub2RlIHJlYwBzYW1laGVhZABzYW1ldGFpbAB0b28gbWFueSAoPiAlZCkgc2FtZXtoZWFkLHRhaWx9IGdyb3VwcyBmb3Igbm9kZSAlcwoAY29tYmlBUiA9ICVsZgoAJWxmLCVkAHRoZSBhc3BlY3QgYXR0cmlidXRlIGhhcyBiZWVuIGRpc2FibGVkIGR1ZSB0byBpbXBsZW1lbnRhdGlvbiBmbGF3cyAtIGF0dHJpYnV0ZSBpZ25vcmVkLgoARURfdG9fdmlydChlKSA9PSBOVUxMAGNsYXNzMi5jAG1lcmdlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgPT0gTlVMTABtYWtlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgIT0gTlVMTABORF9yYW5rKGZyb20pIDwgTkRfcmFuayh0bykAY2x1c3Rlci5jAG1hcF9wYXRoACVzIHdhcyBhbHJlYWR5IGluIGEgcmFua3NldCwgZGVsZXRlZCBmcm9tIGNsdXN0ZXIgJXMKAGxoZWFkAGx0YWlsACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGJlei0+c2ZsYWcAY29tcG91bmQuYwBtYWtlQ29tcG91bmRFZGdlAGJlei0+ZWZsYWcAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHNlZ21lbnQgWyVzLCVzXSBkb2VzIG5vdCBpbnRlcnNlY3QgYm94IGxsPSVzLHVyPSVzCgBib3hJbnRlcnNlY3RmACglLjVnLCUuNWcpAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBjb25jZW50cmF0ZT10cnVlIG1heSBub3Qgd29yayBjb3JyZWN0bHkuCgByZWJ1aWx0ZF92bGlzdHM6IHJhbmsgbGVhZCAlcyBub3QgaW4gb3JkZXIgJWQgb2YgcmFuayAlZAoAZGVnZW5lcmF0ZSBjb25jZW50cmF0ZWQgcmFuayAlcywlZAoATkRfaW4ocmlnaHQpLnNpemUgKyBORF9vdXQocmlnaHQpLnNpemUgPT0gMABjb25jLmMAbWVyZ2V2aXJ0dWFsAGRvdDogT3V0IG9mIG1lbW9yeQoATkRfb3V0KHYpLnNpemUgPT0gMgBmbGF0LmMAc2V0Ym91bmRzAEdEX21pbnJhbmsoZykgPT0gMABhYm9taW5hdGlvbgBuZWF0b19sYXlvdXQAbmVhdG8AZmRwAHNmZHAAdHdvcGkAY2lyY28AcGF0Y2h3b3JrAG9zYWdlAG5vcABub3AxAG5vcDIAJWxmLCVsZiwlbGYlYwBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGRvdWJsZXMKAG5vdHJhbnNsYXRlAG5vZGUgJXMgaW4gZ3JhcGggJXMgaGFzIG5vIHBvc2l0aW9uCgBzLCVsZiwlbGYlbgAgZSwlbGYsJWxmJW4AcG9zIGF0dHJpYnV0ZSBmb3IgZWRnZSAoJXMsJXMpIGRvZXNuJ3QgaGF2ZSAzbisxIHBvaW50cwoAJWxmLCVsZiVuAHN5bnRheCBlcnJvciBpbiBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykKACVsZiwlbGYsJWxmLCVsZgBzdGFydABzZWxmAHJhbmRvbQBub2RlIHBvc2l0aW9ucyBhcmUgaWdub3JlZCB1bmxlc3Mgc3RhcnQ9cmFuZG9tCgBhcyByZXF1aXJlZCBieSB0aGUgLW4gZmxhZwoAX25lYXRvX2NjAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBBbHRlcm5hdGl2ZWx5LCBjb25zaWRlciBydW5uaW5nIG5lYXRvIHVzaW5nIC1HcGFjaz10cnVlIG9yIGRlY29tcG9zaW5nCgB0aGUgZ3JhcGggaW50byBjb25uZWN0ZWQgY29tcG9uZW50cy4KAFNvbHZpbmcgbW9kZWwgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAE5EX2lkKG5wKSA9PSBpAG5lYXRvaW5pdC5jAG1ha2VHcmFwaERhdGEAZiA8IGdyYXBoW2pdLm5lZGdlcwBkZnNDeWNsZQBtb2RlbCAlZCBzbWFydF9pbml0ICVkIHN0cmVzc3d0ICVkIGl0ZXJhdGlvbnMgJWQgdG9sICVmCgBjb252ZXJ0IGdyYXBoOiAAbWFqb3JpemF0aW9uCgAlZCBub2RlcyAlLjJmIHNlYwoAbGV2ZWxzZ2FwAGxheW91dCBhYm9ydGVkCgBzdHJlc3N3dAAlcyBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSAxIG9yIDIgLSBpZ25vcmluZwoAbW9kZWwAY2lyY3VpdABzdWJzZXQAc2hvcnRwYXRoAG1kcwBlZGdlcyBpbiBncmFwaCAlcyBoYXZlIG5vIGxlbiBhdHRyaWJ1dGUuIEhlbmNlLCB0aGUgbWRzIG1vZGVsCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBVbmtub3duIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGVsIiBpbiBncmFwaCAlcyAtIGlnbm9yZWQKAG1vZGUAS0sAbWFqb3IAaGllcgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbWFrZVNwbGluZTogZmFpbGVkIHRvIG1ha2Ugc3BsaW5lIGVkZ2UgKCVzLCVzKQoAc3BsaW5lICVzICVzCgBiID09IG4AbmVhdG9zcGxpbmVzLmMAbWFrZV9iYXJyaWVycwB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcG9seWxpbmVzAGxpbmUgc2VnbWVudHMAb3J0aG9nb25hbCBsaW5lcwBDcmVhdGluZyBlZGdlcyB1c2luZyAlcwoAcG9seWxpbmUgJXMgJXMKAG1kc01vZGVsOiBkZWx0YSA9ICVmCgBTZXR0aW5nIHVwIHN0cmVzcyBmdW5jdGlvbgBTb2x2aW5nIG1vZGVsOiAACmZpbmFsIGUgPSAlZiAlZCBpdGVyYXRpb25zICUuMmYgc2VjCgBEYW1waW5nAGRlZmF1bHRkaXN0ACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGJhZCBlZGdlIGxlbiAiJXMiAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMKAHN0YXJ0PSVzIG5vdCBzdXBwb3J0ZWQgd2l0aCBtb2RlPXNlbGYgLSBpZ25vcmVkCgBTZXR0aW5nIHVwIHNwcmluZyBtb2RlbDogACUuMmYgc2VjCgAKZmluYWwgZSA9ICVmACEAICVkJXMgaXRlcmF0aW9ucyAlLjJmIHNlYwoATWF4LiBpdGVyYXRpb25zICglZCkgcmVhY2hlZCBvbiBncmFwaCAlcwoAJXMgJS4zZgoAJS4zZiAATkRfaGVhcGluZGV4KHYpIDwgMABzdHVmZi5jAG5lYXRvX2VucXVldWUAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHM6IABzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgByZXBvc2l0aW9uICVzCgAlcyA6ICVmICVmCgAlcyA6ICVmICVmICVmICVmCgAgIABHcmFwaCAlcyBoYXMgYXJyYXkgcGFja2luZyB3aXRoIHVzZXIgdmFsdWVzIGJ1dCBubyAic29ydHYiIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGxheW91dCAlcwoAZW5kICVzCgBpZHggPT0gc3oAbGF5b3V0LmMAZXhwYW5kQ2x1c3RlcgBpID09IGRlZwBnZXRFZGdlTGlzdABfZGdfJWQAZGVyaXZlIGdyYXBoICVzIG9mICVzCgBub2RlICIlcyIgaXMgY29udGFpbmVkIGluIHR3byBub24tY29tcGFyYWJsZSBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBfcG9ydF8lc18lc18lc18lbGQAX3BvcnRfJXNfKCVkKV8oJWQpXyVsZAAlbGYsJWxmLCVsZiwlbGYlYwBncmFwaCAlcywgY29vcmQgJXMsIGV4cGVjdGVkIGZvdXIgZG91YmxlcwoAc3BsaW5lcyBhbmQgY2x1c3RlciBlZGdlcyBub3Qgc3VwcG9ydGVkIC0gdXNpbmcgbGluZSBzZWdtZW50cwoAbWF4aXRlcgBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Ac2ZkcCBvbmx5IHN1cHBvcnRzIHN0YXJ0PXJhbmRvbQoASwByZXB1bHNpdmVmb3JjZQBsZXZlbHMAc21vb3RoaW5nAHF1YWR0cmVlAGJlYXV0aWZ5AG92ZXJsYXBfc2hyaW5rAHJvdGF0aW9uAGxhYmVsX3NjaGVtZQBsYWJlbF9zY2hlbWUgPSAlZCA+IDQgOiBpZ25vcmluZwoAZmFzdABhdmdfZGlzdABncmFwaF9kaXN0AHBvd2VyX2Rpc3QAc3ByaW5nAGRpbWVuAGRpbQBzcHJpbmdfZWxlY3RyaWNhbF9jb250cm9sOgoAICByZXB1bHNpdmUgYW5kIGF0dHJhY3RpdmUgZXhwb25lbnRzOiAlLjAzZiAlLjAzZgoAICByYW5kb20gc3RhcnQgJWQgc2VlZCAlZAoAICBLIDogJS4wM2YgQyA6ICUuMDNmCgAgIG1heCBsZXZlbHMgJWQgY29hcnNlbl9zY2hlbWUgJWQgY29hcnNlbl9ub2RlICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgAgIEJhcm5lcy1IdXR0IGNvbnN0YW50ICUuMDNmIHRvbGVyYW5jZSAgJS4wM2YgbWF4aXRlciAlZAoAICBjb29saW5nICUuMDNmIHN0ZXAgc2l6ZSAgJS4wM2YgYWRhcHRpdmUgJWQKACAgYmVhdXRpZnlfbGVhdmVzICVkIG5vZGUgd2VpZ2h0cyAlZCByb3RhdGlvbiAlLjAzZgoAICBzbW9vdGhpbmcgJXMgb3ZlcmxhcCAlZCBpbml0aWFsX3NjYWxpbmcgJS4wM2YgZG9fc2hyaW5raW5nICVkCgAgIG9jdHJlZSBzY2hlbWUgJXMgbWV0aG9kICVzCgAgIGVkZ2VfbGFiZWxpbmdfc2NoZW1lICVkCgBTUFJJTkdfRUxFQ1RSSUNBTABTUFJJTkdfTUFYRU5UAFNUUkVTU19NQVhFTlQAU1RSRVNTX0FQUFJPWABTVFJFU1MAVU5JRk9STV9TVFJFU1MARlVMTF9TVFJFU1MATk9ORQBOT1JNQUwARkFTVABIWUJSSUQAU1RSRVNTX01BSk9SSVpBVElPTl9HUkFQSF9ESVNUAFNUUkVTU19NQUpPUklaQVRJT05fQVZHX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9QT1dFUl9ESVNUAFNQUklORwBUUklBTkdMRQBSTkcADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJWQgIEsgPSAlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX3Nsb3cAZG1lYW4gPSAlZiwgcmhvID0gJWYKAHNlbmQgcmFuZG9tIGNvb3JkaW5hdGVzCgBzY2FsaW5nIGZhY3RvciA9ICVmCgBRVUFEX1RSRUVfSFlCUklELCBzaXplIGxhcmdlciB0aGFuICVkLCBzd2l0Y2ggdG8gZmFzdCBxdWFkdHJlZQBjdHJsLT5vdmVybGFwPSVkCgAlZCAlZAoAdW5pZm9ybV9zdHJlc3MuYwBVbmlmb3JtU3RyZXNzU21vb3RoZXJfbmV3AFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQiwgRkFMU0UpAHVuaWZvcm1fc3RyZXNzAHxlZGdlbGFiZWx8AGxlbgBub3JtYWxpemUAb3ZlcmxhcABPdmVybGFwIHZhbHVlICIlcyIgdW5zdXBwb3J0ZWQgLSBpZ25vcmVkCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAFZvcm9ub2kAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAb3ZlcmxhcF9zY2FsaW5nAHZvcm9ub2kAc2NhbGluZwB2cHNjAGlwc2VwAG9zY2FsZQBvbGQgc2NhbGluZwBzY2FsZXh5AHggYW5kIHkgc2NhbGluZwBvcnRobwBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAG9ydGhvX3l4AG9ydGhveHkAeHkgb3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob3l4AHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhvAHBzZXVkby1vcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRob195eABwb3J0aG94eQB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG95eAB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwcmlzbQBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKAFVuaGFuZGxlZCBhZGp1c3Qgb3B0aW9uICVzCgBOdW1iZXIgb2YgaXRlcmF0aW9ucyA9ICVkCgBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJWQKAG92ZXJsYXAgWyVkXSA6ICVkCgB2b3JvX21hcmdpbgBzZXAAZXNlcABOb2RlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgAlZiwlZgBzY2FsZSA9ICglLjAzZiwlLjAzZikKAEVkZ2Ugc2VwYXJhdGlvbjogYWRkPSVkICglZiwlZikKAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAGdyYXBoIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAENhbGN1bGF0aW5nIE1EUyBtb2RlbABDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRocwA6ICUuMmYgc2VjCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zADogJS4yZiBzZWMAY2cAZGVsdGEgPD0gMHhGRkZGAGNvbnN0cmFpbnQuYwBta05Db25zdHJhaW50RwB2ZwBjb21wcmVzcyAlZyAKAHNjYWxlIGJ5ICVnLCVnIAoAYmVzdGNvc3QgPCBIVUdFX1ZBTABjb21wdXRlU2NhbGVYWQBHcmFwaHZpeiBidWlsdCB3aXRob3V0IGFueSB0cmlhbmd1bGF0aW9uIGxpYnJhcnkKAGRlbGF1bmF5X3RyaWFuZ3VsYXRpb246ICVzCgBkZWxhdW5heV90cmk6ICVzCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKAAppbnRlcnNlY3Rpb24gYXQgJS4zZiAlLjNmCgBzZWcjJWQgOiAoJS4zZiwgJS4zZikgKCUuM2YsICUuM2YpCgByZW1vdmVfb3ZlcmxhcDogR3JhcGh2aXogbm90IGJ1aWx0IHdpdGggdHJpYW5ndWxhdGlvbiBsaWJyYXJ5CgBtYWtlQWRkUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgBtYWtlUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgB4IT1OVUxMAHNtYXJ0X2luaV94LmMASU1EU19naXZlbl9kaW0AaWxsLWNvbmRpdGlvbmVkAHJvb3QgPSAlcyBtYXggc3RlcHMgdG8gcm9vdCA9ICVkCgB0d29waTogdXNlIG9mIHdlaWdodD0wIGNyZWF0ZXMgZGlzY29ubmVjdGVkIGNvbXBvbmVudC4KAFJhbmsgc2VwYXJhdGlvbiA9IAAlLjAzbGYgAGFyZWEAaW5zZXQAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgAlLjAzZgByZWMgJWYgJWYgJWYgJWYKACVmIC0gJWYgJWYgJWYgJWYgPSAlZiAoJWYgJWYgJWYgJWYpCgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAdG90YWwgYWRkZWQgc28gZmFyID0gJWQKAGFkZGluZyAlZCBpdGVtcywgdG90YWwgYXJlYSA9ICVmLCB3ID0gJWYsIGFyZWEvdz0lZgoAY29tcG91bmRFZGdlczogY291bGQgbm90IGNvbnN0cnVjdCBvYnN0YWNsZXMgLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAY29tcG91bmRFZGdlczogbm9kZXMgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcGFjayB2YWx1ZSAlZCBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBzZXAgdmFsdWUgKCUuMDNmLCUuMDNmKSBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBjYyVzXyVkAGNjJXMrJWQAY19jbnQgPT0gMABjb21wLmMAZmluZENDb21wAGdyaWQoJWQsJWQpOiAlcwoAd2d0ID4gMABRdWFkVHJlZS5jAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9hY2N1bXVsYXRlAHF0Mi0+biA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9pbnRlcmFjdABkaXN0ID4gMAAhKHEtPmwpAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABpaSA8IDE8PGRpbSAmJiBpaSA+PSAwAHEtPnF0c1tpaV0AcS0+biA9PSAxACEocS0+cXRzKQBxLT5sAHdpZHRoID4gMABRdWFkVHJlZV9uZXcAQS0+Zm9ybWF0ID09IEZPUk1BVF9DU1IAU3BhcnNlTWF0cml4LmMAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBBICYmIEIAU3BhcnNlTWF0cml4X2FkZABBLT5mb3JtYXQgPT0gQi0+Zm9ybWF0ICYmIEEtPmZvcm1hdCA9PSBGT1JNQVRfQ1NSAEEtPnR5cGUgPT0gQi0+dHlwZQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljAEEtPmZvcm1hdCA9PSBGT1JNQVRfQ09PUkQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAbSA+IDAgJiYgbiA+IDAgJiYgbnogPj0gMABTcGFyc2VNYXRyaXhfZnJvbV9jb29yZGluYXRlX2FycmF5c19pbnRlcm5hbABBAGphW21hc2tbamFbal1dXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfc3VtX3JlcGVhdF9lbnRyaWVzAGlkIDwgbiooeW1heC15bWluKzEpAGphW21hc2tbaWRdXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UyAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTABTcGFyc2VNYXRyaXhfbXVsdGlwbHlfdmVjdG9yAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTCB8fCBBLT50eXBlID09IE1BVFJJWF9UWVBFX0lOVEVHRVIAU3BhcnNlTWF0cml4X211bHRpcGx5X2RlbnNlMQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAamNbbWFza1tqYltrXV1dID09IGpiW2tdAFNwYXJzZU1hdHJpeF9tdWx0aXBseTMAamRbbWFza1tqY1trXV1dID09IGpjW2tdAFNwYXJzZU1hdHJpeF9jb29yZGluYXRlX2Zvcm1fYWRkX2VudHJpZXMAU3BhcnNlTWF0cml4X2RpdmlkZV9yb3dfYnlfZGVncmVlAG4gPiAxAGdlbmVyYWwuYwBpcmFuZABvbmVibG9jawBtaW5kaXN0AGFydGljdWxhdGlvbl9wb3MAcm9vdABQcmlvcml0eVF1ZXVlLmMAUHJpb3JpdHlRdWV1ZV9wdXNoAGdhaW4gPD0gcS0+bmdhaW4AU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkAcG9zdF9wcm9jZXNzLmMAaWRlYWxfZGlzdGFuY2VfbWF0cml4AGxlbiA+IDAAU3RyZXNzTWFqb3JpemF0aW9uU21vb3RoZXIyX25ldwBueiA+IDAAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkgJiYgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9SRUFMAFNwYXJzZVN0cmVzc01ham9yaXphdGlvblNtb290aGVyX25ldwBpZGlhZyA+PSAwAFN0cmVzc01ham9yaXphdGlvblNtb290aGVyX3Ntb290aAAoIWpjbikgJiYgKCF2YWwpAGdldF9lZGdlX2xhYmVsX21hdHJpeABUcmlhbmdsZVNtb290aGVyX25ldwBqZGlhZyA+PSAwAFNwcmluZ1Ntb290aGVyX25ldwAhZmxhZwBTcHJpbmdTbW9vdGhlcl9zbW9vdGgAbmVpZ2hiPSVkCgByb290ID0gJXMKAF9ibG9ja18lZABzLT5zeiA+IDAAYmxvY2t0cmVlLmMAcG9wAGFjdHVhbABub2RlbGlzdC5jAGluc2VydE5vZGVsaXN0AF9zcGFuXyVkAF9jbG9uZV8lZABpcABkZWdsaXN0LmMAcmVtb3ZlRGVnbGlzdABFcnJvcgBXYXJuaW5nACVzOiAAdXNlcm91dDogY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAX0FHX3N0cmRhdGEAX0FHX2RhdGFkaWN0AGFnZGljdG9mOiB1bmtub3duIGtpbmQgJWQKACVjJWxkAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAYWdkZWxldGUgb24gd3JvbmcgZ3JhcGgAX0FHX3BlbmRpbmcAYWdyZWNvcmRfY2FsbGJhY2sgb2YgYSBiYWQgb2JqZWN0AHBlbmQgZGljdG9mIGEgYmFkIG9iamVjdABtb3ZlIHRvIGZyb250IGxvY2sgaW5jb25zaXN0ZW5jeQBcXABmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZAAlcwoAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZABmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiBhYWdfZ2V0X25leHRfYnVmZmVyKCkAaW5wdXQAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJwAnIGluIGxpbmUgJWQgb2YgACBzcGxpdHMgaW50byB0d28gdG9rZW5zCgAlcwBsaW5lACVkICUxWyJdJW4Ab3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ2Vuc3VyZV9idWZmZXJfc3RhY2soKQA6IAAgaW4gbGluZSAlZAAgbmVhciAnACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzoiACBzY2FubmluZyBhIEhUTUwgc3RyaW5nIChtaXNzaW5nICc+Jz8gYmFkIG5lc3Rpbmc/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzo8ACBzY2FubmluZyBhIC8qLi4uKi8gY29tbWVudCAobWlzc2luZyAnKi8/IGxvbmdlciB0aGFuICVkPykAZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdwAiIgBzdHJpY3QAbGluZWxlbmd0aAA7CgAgW2tleT0AXQAgWwAsCgA9AF8lbGRfU1VTUEVDVABkaQBzdHJpY3QgAHsKAF07CgAS7u4UCQPu/u7u7gHu7u4B7u4K/u4TGRXuEwHu7u7uCxHu7u7u7u7u7u4B7u4WCQEBHQ8X7u4aFxvu7hzu7u7uARn77u7uAe4Q7u4e7u7u7gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXEQICAgICAgICAgICAgISEAITAgIWAgICAgICAgICAgICAgICAgICAgICAgICAgIUAhUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4CDwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNCwMEBQ8HAwwNBgwNDgwNGhUWAAEAAwcOBg8IDA0SEyoQEQkQLzARMhcTDRQSLhIUQRMyEyxAKkIZLEJGIgwNDiMPCRARChARyRARLUVG/AEG9g8H9iQCEBEvMDZNTigmOzwqNjE5PT8vOkDYRDA+JTdDNUsrOElMAAMJAAAAAQ4CCwwIIyQlNjs9AA0QEhsWHBInMiIXMx48Bgc1BQ8RFBgpABMpAAAAAAA3FSgdHgAhJjQfMD4ZLAAbACAaKgArOi4vADE4OS0AAgIBAAMDAQABAAEBAQACAQEAAgIDAQEAAAUAAQMBAwUDAQEBAQIAAQAEAgACAQEDAgEAAwIBAAEBAAEBAQMAGBkZGRobHBwdHR4eHx8gICEhIiIjJCQmJyUlKCgpKSkqKisrKywsLS0uLy8wMTEyMzQ2NTc3Nzg4ODk5Ojru7v/u7u7u7u4fIO4A7+7u7gzu7u4IDe7u7vju7u7u7u717v8DCAQhBQsSEycUFRYpMkEXGBkaLDM0QkdIG0ocHS4eTx8ga2V5AGF0dHJpYnV0ZSBtYWNyb3Mgbm90IGltcGxlbWVudGVkACVzOiVzAENvdWxkIG5vdCBvcGVuICIlcyIgZm9yIHdyaXRpbmcgOiAlcwoATm8gbGlieiBzdXBwb3J0LgoALiVkAG5vbmFtZS5ndgBndndyaXRlX25vX3ogcHJvYmxlbSAlZAoAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQoATm8gbGlieiBzdXBwb3J0CgBndnByaW50ZjogJXMKAC05OTk5OTk5OTk5OTk5OTkuOTkAZ3JhcGh2aXoAMi40MC4xADIwMTYxMjI1LjAzMDQAcmVuZGVyAGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwAlZCAlZCAlZCAlZABMYXlvdXQgd2FzIG5vdCBkb25lCgBmYWlsdXJlIG1hbGxvYydpbmcgZm9yIHJlc3VsdCBzdHJpbmcAZ2M6IE91dCBvZiBtZW1vcnkKAF9jY18Ab3JpZwBvcABjY29tcHMuYwBtYXBDbHVzdABjY2dyYXBoaW5mbwBjY2dub2RlaW5mbwAoJTRsZCkgJTdsZCBub2RlcyAlN2xkIGVkZ2VzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN2xkIGNvbXBvbmVudHMgJXMKAGRnAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBzb3J0dgByb3cgbWFqb3IAY29sdW1uIG1ham9yAGFycmF5IHBhY2tpbmc6ICVzICVkIHJvd3MgJWQgY29sdW1ucwoAYmJbJXNdICUuNWcgJS41ZyAlLjVnICUuNWcKAHN0ZXAgc2l6ZSA9ICVkCgBwb3NbJWRdICVkICVkCgBjYyAoJWQgY2VsbHMpIGF0ICglZCwlZCkgKCVkLCVkKQoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpCgAlcyBuby4gY2VsbHMgJWQgVyAlZCBIICVkCgAgICVkICVkIGNlbGwKAGxpYnBhY2s6IGRpc2MgPSAlZiAoIDwgMCkKAFBhY2tpbmc6IGNvbXB1dGUgZ3JpZCBzaXplCgBhICVmIGIgJWYgYyAlZiBkICVmIHIgJWYKAHJvb3QgJWQgKCVmKSAlZCAoJWYpCgAgcjEgJWYgcjIgJWYKAHBpbmZvAHBhY2suYwBnZXRQYWNrSW5mbwAgIG1hcmdpbiAlZAoAcGFja21vZGUAcGFyc2VQYWNrTW9kZUluZm8AYXJyYXkAYXNwZWN0ACVmAHBhY2sgaW5mbzoKACAgbW9kZSAgICVzCgAgIGFzcGVjdCAlZgoAICBzaXplICAgJWQKACAgZmxhZ3MgICVkCgB1bmRlZmluZWQAcGFjawBBcnJvdyB0eXBlICIlcyIgdW5rbm93biAtIGlnbm9yaW5nCgBub3JtYWwAY3JvdwB0ZWUAZG90AGludgB2ZWUAcGVuAG1wdHkAY3VydmUAaWN1cnZlAGwAaGFsZgBpbnZlbXB0eQBfYmFja2dyb3VuZABfZHJhd18AQ291bGQgbm90IHBhcnNlICJfYmFja2dyb3VuZCIgYXR0cmlidXRlIGluIGdyYXBoICVzCgAgICIlcyIKAG5vIG1lbW9yeSBmcm9tIHptYWxsb2MoKQoAb2JqAGVtaXQuYwBwb3Bfb2JqX3N0YXRlAGNsdXN0ACVsZABwYWdlJWQsJWRfAFRvdGFsIHNpemUgPiAxIGluICIlcyIgY29sb3Igc3BlYyAASWxsZWdhbCBsZW5ndGggdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGUgAGxucmNvbG9yc2NoZW1lAGVtaXRfZWRnZV9sYWJlbAAlcy0lcwBmb3J3YXJkAGJhY2sAIC0+IAAgLS0gAGluIGVkZ2UgJXMlcyVzCgBsYWJlbGFsaWduZWQAZWRnZWhyZWYAZWRnZVVSTABsYWJlbGhyZWYAbGFiZWxVUkwAdGFpbGhyZWYAdGFpbFVSTABoZWFkaHJlZgBoZWFkVVJMAGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAaW4gY2x1c3RlciAlcwoATW9yZSB0aGFuIDIgY29sb3JzIHNwZWNpZmllZCBmb3IgYSBncmFkaWVudCAtIGlnbm9yaW5nIHJlbWFpbmluZwoAZ3JhZGllbnQgcGVuIGNvbG9ycyBub3QgeWV0IHN1cHBvcnRlZC4KAEltYWdlcyB1bnN1cHBvcnRlZCBpbiAiYmFja2dyb3VuZCIgYXR0cmlidXRlCgBsYXllcnMgbm90IHN1cHBvcnRlZCBpbiAlcyBvdXRwdXQKAExheW91dCB3YXMgbm90IGRvbmUuICBNaXNzaW5nIGxheW91dCBwbHVnaW5zPyAKAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgoAbGF5b3V0IHdhcyBub3QgZG9uZQoAcmVuZGVyZXIgZm9yICVzIGlzIHVuYXZhaWxhYmxlCgBwYWdlZGlyPSVzIGlnbm9yZWQKAHZpZXdwb3J0ACVsZiwlbGYsJWxmLCclW14nXScAJWxmLCVsZiwlbGYsJVteLF0lcwAlbGYsJWxmLCVsZiwlbGYsJWxmAG91dHB1dG9yZGVyAG9kZXNmaXJzdABkZ2VzZmlyc3QAbGF5ZXJzAGxheWVyc2VsZWN0AFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAbGF5ZXJzZXAAOgkgAGxheWVybGlzdHNlcAAsAFRoZSBjaGFyYWN0ZXIgJyVjJyBhcHBlYXJzIGluIGJvdGggdGhlIGxheWVyc2VwIGFuZCBsYXllcmxpc3RzZXAgYXR0cmlidXRlcyAtIGxheWVybGlzdHNlcCBpZ25vcmVkLgoAcGFkAEJMAHBhZ2VkaXIAc29saWQAAHNldGxpbmV3aWR0aAAxAABzcGwtPnNpemUgPiAwAGluaXRfc3BsaW5lc19iYgBiei5zaXplID4gMABiZXppZXJfYmIAYnouc2l6ZSAlIDMgPT0gMQAlbGYAZm9udHBhdGgARE9URk9OVFBBVEgAR0RGT05UUEFUSABpbWFnZXBhdGgAcXVhbnR1bQByYW5rZGlyAExSAEJUAFJMAG5vZGVzZXAAcmFua3NlcABlcXVhbGx5AHNob3dib3hlcwBmb250bmFtZXMAc2l6ZQBwYWdlAGNlbnRlcgByb3RhdGUAb3JpZW50YXRpb24AbGFuZHNjYXBlAGNsdXN0ZXJyYW5rAGNvbmNlbnRyYXRlAGRwaQByZXNvbHV0aW9uAG9yZGVyaW5nAGZpbGxjb2xvcgBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBub2p1c3RpZnkAbGF5ZXIAZ3JvdXAAY29tbWVudAB2ZXJ0aWNlcwB6AHdlaWdodABsYWJlbGZsb2F0AGRpcgBhcnJvd2hlYWQAYXJyb3d0YWlsAGhlYWRsYWJlbAB0YWlsbGFiZWwAbGFiZWxmb250c2l6ZQBsYWJlbGZvbnRuYW1lAGxhYmVsZm9udGNvbG9yAGxhYmVsZGlzdGFuY2UAbGFiZWxhbmdsZQBtaW5sZW4AZGVjb3JhdGUAYXJyb3dzaXplAGNvbnN0cmFpbnQAdGFpbGNsaXAAaGVhZGNsaXAAbGFiZWxqdXN0AGxvY2FsAGdsb2JhbAAlbGYsJWxmJWMAJWxmJWMAcmF0aW8AYXV0bwBjb21wcmVzcwBleHBhbmQAZmlsbABnZABwcwBzdmcAY2hhcnNldAB1dGYtOABsYXRpbi0xAGxhdGluMQBsMQBJU08tODg1OS0xAElTT184ODU5LTEASVNPODg1OS0xAElTTy1JUi0xMDAAYmlnLTUAYmlnNQB1dGY4AFVuc3VwcG9ydGVkIGNoYXJzZXQgIiVzIiAtIGFzc3VtaW5nIHV0Zi04CgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBVVEYtOABCSUctNQBpbiBsYWJlbCBvZiBncmFwaCAlcwoAaW4gbGFiZWwgb2Ygbm9kZSAlcwoAaW4gbGFiZWwgb2YgZWRnZSAlcyAlcyAlcwoAa2luZCA9PSBMVF9OT05FAGxhYmVscy5jAG1ha2VfbGFiZWwAXEwAXEcAXEUAXEgAXFQAJiMxMzsAJiMxMDsAJnF1b3Q7ACYjMTYwOwAmYW1wOwAmZ3Q7ACYjMzk7ACYjNDU7ACZsdDsAJXMgJWQgbm9kZXMgJWQgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgBuZXR3b3JrIHNpbXBsZXg6IAAlZCAAJXMlZCBub2RlcyAlZCBlZGdlcyAlZCBpdGVyICUuMmYgc2VjCgB1cGRhdGU6IG1pc21hdGNoZWQgbGNhIGluIHRyZWV1cGRhdGVzCgBUcmVlX2VkZ2Uuc2l6ZSA9PSBOX25vZGVzIC0gMQBucy5jAGZlYXNpYmxlX3RyZWUAIVRSRUVfRURHRShlKQBtZXJnZV90cmVlcwAocjAtPmhlYXBfaW5kZXggPiAtMSkgfHwgKHIxLT5oZWFwX2luZGV4ID4gLTEpAFNUc2V0VW5pb24Aci0+aGVhcF9pbmRleCA+PSAwAGFkZF90cmVlX2VkZ2U6IG1pc3NpbmcgdHJlZSBlZGdlCgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBvdXRlZGdlIGxpc3QKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IGluZWRnZSBsaXN0CgB0cm91YmxlIGluIGluaXRfcmFuawoACSVzICVkCgBzZWFyY2hzaXplAGdyYXBoIAAgAG5v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JXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBFT0YAQkVHSU4ARU5EAFRSQUlMRVIAL3VzZXJfc2hhcGVfJWQgewoAJSVCZWdpbkRvY3VtZW50OgoAJSVFbmREb2N1bWVudAoAfSBiaW5kIGRlZgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoAY2Fubm90IHJlLWFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXNpbml0OiBjYW5ub3QgYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICVkIGJveGVzICUuMmYgc2VjCgBpbiByb3V0ZXNwbGluZXMsIGNhbm5vdCBmaW5kIE5PUk1BTCBlZGdlCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKAGluIHJvdXRlc3BsaW5lcywgZWRnZSBpcyBhIGxvb3AgYXQgJXMKAGluIHJvdXRlc3BsaW5lcywgUHNob3J0ZXN0cGF0aCBmYWlsZWQKAGluIHJvdXRlc3BsaW5lcywgUHJvdXRlc3BsaW5lIGZhaWxlZAoAVW5hYmxlIHRvIHJlY2xhaW0gYm94IHNwYWNlIGluIHNwbGluZSByb3V0aW5nIGZvciBlZGdlICIlcyIgLT4gIiVzIi4gU29tZXRoaW5nIGlzIHByb2JhYmx5IHNlcmlvdXNseSB3cm9uZy4KAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ICVkIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveGVzICVkIGFuZCAlZCBkb24ndCB0b3VjaAoAaW4gY2hlY2twYXRoLCBzdGFydCBwb3J0IG5vdCBpbiBmaXJzdCBib3gKAGluIGNoZWNrcGF0aCwgZW5kIHBvcnQgbm90IGluIGxhc3QgYm94CgAlZCBib3hlczoKACVkICglLjVnLCAlLjVnKSwgKCUuNWcsICUuNWcpCgBjb25zdHJhaW5lZABub3QgY29uc3RyYWluZWQAc3RhcnQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAZW5kIHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAHNpZGVzID09IDQAc2hhcGVzLmMAcm91bmRfY29ybmVycwBiYWQgbGFiZWwgZm9ybWF0ICVzCgBcTgBtYXJnaW4AJWxmLCVsZgByZWd1bGFyAGN1c3RvbQBzaGFwZWZpbGUAPG5pbD4ATm8gb3IgaW1wcm9wZXIgc2hhcGVmaWxlPSIlcyIgZm9yIG5vZGUgIiVzIgoATm8gb3IgaW1wcm9wZXIgaW1hZ2U9IiVzIiBmb3Igbm9kZSAiJXMiCgBsYWJlbGxvYwBub2RlICclcycsIGdyYXBoICclcycgc2l6ZSB0b28gc21hbGwgZm9yIGxhYmVsCgBlcHNmAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgBwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBpbnB1dHNjYWxlAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAY2x1c3RlciBjeWNsZSAlcyAtLSAlcyBub3Qgc3VwcG9ydGVkCgB0YWlsIGNsdXN0ZXIgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBjbHVzdGVyICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHRhaWwgbm9kZSAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAX18AbGFiZWwAc2hhcGUAYm94AFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0AYm90aABsYXlvdXQATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGpvYgBndmxvYWRpbWFnZS5jAGd2bG9hZGltYWdlAHVzAHVzLT5uYW1lAHVzLT5uYW1lWzBdAE5vIGxvYWRpbWFnZSBwbHVnaW4gZm9yICIlcyIKAFEATGVmdABLUF9MZWZ0AFJpZ2h0AEtQX1JpZ2h0AFVwAEtQX1VwAERvd24AS1BfRG93bgBwbHVzAEtQX0FkZABtaW51cwBLUF9TdWJ0cmFjdABGAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AFVSTABub2RlAGRpZ3JhcGgAZ3JhcGgAc3ViZ3JhcGgAX0xUWF9saWJyYXJ5AHRleHRsYXlvdXQAb2JqcC0+bGJsAHhsYWJlbHMuYwB4bGFkanVzdAB4bGludGVyc2VjdGlvbnMAbHAgIT0gY2xwAGdldGludHJzeGkAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGxibGVuY2xvc2luZwB2cAB4bGhkeHVubG9hZABzaXplPT1mcmVlZAByZWN0LmJvdW5kYXJ5WzJdIDwgSU5UX01BWABvYmpwbHBta3MAcmVjdC5ib3VuZGFyeVszXSA8IElOVF9NQVgAb3V0IG9mIG1lbW9yeQoAIyUyeCUyeCUyeCUyeAAlbGYlbGYlbGYAL2FjY2VudDMvMQAvYWNjZW50My8yAC9hY2NlbnQzLzMAL2FjY2VudDQvMQAvYWNjZW50NC8yAC9hY2NlbnQ0LzMAL2FjY2VudDQvNAAvYWNjZW50NS8xAC9hY2NlbnQ1LzIAL2FjY2VudDUvMwAvYWNjZW50NS80AC9hY2NlbnQ1LzUAL2FjY2VudDYvMQAvYWNjZW50Ni8yAC9hY2NlbnQ2LzMAL2FjY2VudDYvNAAvYWNjZW50Ni81AC9hY2NlbnQ2LzYAL2FjY2VudDcvMQAvYWNjZW50Ny8yAC9hY2NlbnQ3LzMAL2FjY2VudDcvNAAvYWNjZW50Ny81AC9hY2NlbnQ3LzYAL2FjY2VudDcvNwAvYWNjZW50OC8xAC9hY2NlbnQ4LzIAL2FjY2VudDgvMwAvYWNjZW50OC80AC9hY2NlbnQ4LzUAL2FjY2VudDgvNgAvYWNjZW50OC83AC9hY2NlbnQ4LzgAL2JsdWVzMy8xAC9ibHVlczMvMgAvYmx1ZXMzLzMAL2JsdWVzNC8xAC9ibHVlczQvMgAvYmx1ZXM0LzMAL2JsdWVzNC80AC9ibHVlczUvMQAvYmx1ZXM1LzIAL2JsdWVzNS8zAC9ibHVlczUvNAAvYmx1ZXM1LzUAL2JsdWVzNi8xAC9ibHVlczYvMgAvYmx1ZXM2LzMAL2JsdWVzNi80AC9ibHVlczYvNQAvYmx1ZXM2LzYAL2JsdWVzNy8xAC9ibHVlczcvMgAvYmx1ZXM3LzMAL2JsdWVzNy80AC9ibHVlczcvNQAvYmx1ZXM3LzYAL2JsdWVzNy83AC9ibHVlczgvMQAvYmx1ZXM4LzIAL2JsdWVzOC8zAC9ibHVlczgvNAAvYmx1ZXM4LzUAL2JsdWVzOC82AC9ibHVlczgvNwAvYmx1ZXM4LzgAL2JsdWVzOS8xAC9ibHVlczkvMgAvYmx1ZXM5LzMAL2JsdWVzOS80AC9ibHVlczkvNQAvYmx1ZXM5LzYAL2JsdWVzOS83AC9ibHVlczkvOAAvYmx1ZXM5LzkAL2JyYmcxMC8xAC9icmJnMTAvMTAAL2JyYmcxMC8yAC9icmJnMTAvMwAvYnJiZzEwLzQAL2JyYmcxMC81AC9icmJnMTAvNgAvYnJiZzEwLzcAL2JyYmcxMC84AC9icmJnMTAvOQAvYnJiZzExLzEAL2JyYmcxMS8xMAAvYnJiZzExLzExAC9icmJnMTEvMgAvYnJiZzExLzMAL2JyYmcxMS80AC9icmJnMTEvNQAvYnJiZzExLzYAL2JyYmcxMS83AC9icmJnMTEvOAAvYnJiZzExLzkAL2JyYmczLzEAL2JyYmczLzIAL2JyYmczLzMAL2JyYmc0LzEAL2JyYmc0LzIAL2JyYmc0LzMAL2JyYmc0LzQAL2JyYmc1LzEAL2JyYmc1LzIAL2JyYmc1LzMAL2JyYmc1LzQAL2JyYmc1LzUAL2JyYmc2LzEAL2JyYmc2LzIAL2JyYmc2LzMAL2JyYmc2LzQAL2JyYmc2LzUAL2JyYmc2LzYAL2JyYmc3LzEAL2JyYmc3LzIAL2JyYmc3LzMAL2JyYmc3LzQAL2JyYmc3LzUAL2JyYmc3LzYAL2JyYmc3LzcAL2JyYmc4LzEAL2JyYmc4LzIAL2JyYmc4LzMAL2JyYmc4LzQAL2JyYmc4LzUAL2JyYmc4LzYAL2JyYmc4LzcAL2JyYmc4LzgAL2JyYmc5LzEAL2JyYmc5LzIAL2JyYmc5LzMAL2JyYmc5LzQAL2JyYmc5LzUAL2JyYmc5LzYAL2JyYmc5LzcAL2JyYmc5LzgAL2JyYmc5LzkAL2J1Z24zLzEAL2J1Z24zLzIAL2J1Z24zLzMAL2J1Z240LzEAL2J1Z240LzIAL2J1Z240LzMAL2J1Z240LzQAL2J1Z241LzEAL2J1Z241LzIAL2J1Z241LzMAL2J1Z241LzQAL2J1Z241LzUAL2J1Z242LzEAL2J1Z242LzIAL2J1Z242LzMAL2J1Z242LzQAL2J1Z242LzUAL2J1Z242LzYAL2J1Z243LzEAL2J1Z243LzIAL2J1Z243LzMAL2J1Z243LzQAL2J1Z243LzUAL2J1Z243LzYAL2J1Z243LzcAL2J1Z244LzEAL2J1Z244LzIAL2J1Z244LzMAL2J1Z244LzQAL2J1Z244LzUAL2J1Z244LzYAL2J1Z244LzcAL2J1Z244LzgAL2J1Z245LzEAL2J1Z245LzIAL2J1Z245LzMAL2J1Z245LzQAL2J1Z245LzUAL2J1Z245LzYAL2J1Z245LzcAL2J1Z245LzgAL2J1Z245LzkAL2J1cHUzLzEAL2J1cHUzLzIAL2J1cHUzLzMAL2J1cHU0LzEAL2J1cHU0LzIAL2J1cHU0LzMAL2J1cHU0LzQAL2J1cHU1LzEAL2J1cHU1LzIAL2J1cHU1LzMAL2J1cHU1LzQAL2J1cHU1LzUAL2J1cHU2LzEAL2J1cHU2LzIAL2J1cHU2LzMAL2J1cHU2LzQAL2J1cHU2LzUAL2J1cHU2LzYAL2J1cHU3LzEAL2J1cHU3LzIAL2J1cHU3LzMAL2J1cHU3LzQAL2J1cHU3LzUAL2J1cHU3LzYAL2J1cHU3LzcAL2J1cHU4LzEAL2J1cHU4LzIAL2J1cHU4LzMAL2J1cHU4LzQAL2J1cHU4LzUAL2J1cHU4LzYAL2J1cHU4LzcAL2J1cHU4LzgAL2J1cHU5LzEAL2J1cHU5LzIAL2J1cHU5LzMAL2J1cHU5LzQAL2J1cHU5LzUAL2J1cHU5LzYAL2J1cHU5LzcAL2J1cHU5LzgAL2J1cHU5LzkAL2RhcmsyMy8xAC9kYXJrMjMvMgAvZGFyazIzLzMAL2RhcmsyNC8xAC9kYXJrMjQvMgAvZGFyazI0LzMAL2RhcmsyNC80AC9kYXJrMjUvMQAvZGFyazI1LzIAL2RhcmsyNS8zAC9kYXJrMjUvNAAvZGFyazI1LzUAL2RhcmsyNi8xAC9kYXJrMjYvMgAvZGFyazI2LzMAL2RhcmsyNi80AC9kYXJrMjYvNQAvZGFyazI2LzYAL2RhcmsyNy8xAC9kYXJrMjcvMgAvZGFyazI3LzMAL2RhcmsyNy80AC9kYXJrMjcvNQAvZGFyazI3LzYAL2RhcmsyNy83AC9kYXJrMjgvMQAvZGFyazI4LzIAL2RhcmsyOC8zAC9kYXJrMjgvNAAvZGFyazI4LzUAL2RhcmsyOC82AC9kYXJrMjgvNwAvZGFyazI4LzgAL2duYnUzLzEAL2duYnUzLzIAL2duYnUzLzMAL2duYnU0LzEAL2duYnU0LzIAL2duYnU0LzMAL2duYnU0LzQAL2duYnU1LzEAL2duYnU1LzIAL2duYnU1LzMAL2duYnU1LzQAL2duYnU1LzUAL2duYnU2LzEAL2duYnU2LzIAL2duYnU2LzMAL2duYnU2LzQAL2duYnU2LzUAL2duYnU2LzYAL2duYnU3LzEAL2duYnU3LzIAL2duYnU3LzMAL2duYnU3LzQAL2duYnU3LzUAL2duYnU3LzYAL2duYnU3LzcAL2duYnU4LzEAL2duYnU4LzIAL2duYnU4LzMAL2duYnU4LzQAL2duYnU4LzUAL2duYnU4LzYAL2duYnU4LzcAL2duYnU4LzgAL2duYnU5LzEAL2duYnU5LzIAL2duYnU5LzMAL2duYnU5LzQAL2duYnU5LzUAL2duYnU5LzYAL2duYnU5LzcAL2duYnU5LzgAL2duYnU5LzkAL2dyZWVuczMvMQAvZ3JlZW5zMy8yAC9ncmVlbnMzLzMAL2dyZWVuczQvMQAvZ3JlZW5zNC8yAC9ncmVlbnM0LzMAL2dyZWVuczQvNAAvZ3JlZW5zNS8xAC9ncmVlbnM1LzIAL2dyZWVuczUvMwAvZ3JlZW5zNS80AC9ncmVlbnM1LzUAL2dyZWVuczYvMQAvZ3JlZW5zNi8yAC9ncmVlbnM2LzMAL2dyZWVuczYvNAAvZ3JlZW5zNi81AC9ncmVlbnM2LzYAL2dyZWVuczcvMQAvZ3JlZW5zNy8yAC9ncmVlbnM3LzMAL2dyZWVuczcvNAAvZ3JlZW5zNy81AC9ncmVlbnM3LzYAL2dyZWVuczcvNwAvZ3JlZW5zOC8xAC9ncmVlbnM4LzIAL2dyZWVuczgvMwAvZ3JlZW5zOC80AC9ncmVlbnM4LzUAL2dyZWVuczgvNgAvZ3JlZW5zOC83AC9ncmVlbnM4LzgAL2dyZWVuczkvMQAvZ3JlZW5zOS8yAC9ncmVlbnM5LzMAL2dyZWVuczkvNAAvZ3JlZW5zOS81AC9ncmVlbnM5LzYAL2dyZWVuczkvNwAvZ3JlZW5zOS84AC9ncmVlbnM5LzkAL2dyZXlzMy8xAC9ncmV5czMvMgAvZ3JleXMzLzMAL2dyZXlzNC8xAC9ncmV5czQvMgAvZ3JleXM0LzMAL2dyZXlzNC80AC9ncmV5czUvMQAvZ3JleXM1LzIAL2dyZXlzNS8zAC9ncmV5czUvNAAvZ3JleXM1LzUAL2dyZXlzNi8xAC9ncmV5czYvMgAvZ3JleXM2LzMAL2dyZXlzNi80AC9ncmV5czYvNQAvZ3JleXM2LzYAL2dyZXlzNy8xAC9ncmV5czcvMgAvZ3JleXM3LzMAL2dyZXlzNy80AC9ncmV5czcvNQAvZ3JleXM3LzYAL2dyZXlzNy83AC9ncmV5czgvMQAvZ3JleXM4LzIAL2dyZXlzOC8zAC9ncmV5czgvNAAvZ3JleXM4LzUAL2dyZXlzOC82AC9ncmV5czgvNwAvZ3JleXM4LzgAL2dyZXlzOS8xAC9ncmV5czkvMgAvZ3JleXM5LzMAL2dyZXlzOS80AC9ncmV5czkvNQAvZ3JleXM5LzYAL2dyZXlzOS83AC9ncmV5czkvOAAvZ3JleXM5LzkAL29yYW5nZXMzLzEAL29yYW5nZXMzLzIAL29yYW5nZXMzLzMAL29yYW5nZXM0LzEAL29yYW5nZXM0LzIAL29yYW5nZXM0LzMAL29yYW5nZXM0LzQAL29yYW5nZXM1LzEAL29yYW5nZXM1LzIAL29yYW5nZXM1LzMAL29yYW5nZXM1LzQAL29yYW5nZXM1LzUAL29yYW5nZXM2LzEAL29yYW5nZXM2LzIAL29yYW5nZXM2LzMAL29yYW5nZXM2LzQAL29yYW5nZXM2LzUAL29yYW5nZXM2LzYAL29yYW5nZXM3LzEAL29yYW5nZXM3LzIAL29yYW5nZXM3LzMAL29yYW5nZXM3LzQAL29yYW5nZXM3LzUAL29yYW5nZXM3LzYAL29yYW5nZXM3LzcAL29yYW5nZXM4LzEAL29yYW5nZXM4LzIAL29yYW5nZXM4LzMAL29yYW5nZXM4LzQAL29yYW5nZXM4LzUAL29yYW5nZXM4LzYAL29yYW5nZXM4LzcAL29yYW5nZXM4LzgAL29yYW5nZXM5LzEAL29yYW5nZXM5LzIAL29yYW5nZXM5LzMAL29yYW5nZXM5LzQAL29yYW5nZXM5LzUAL29yYW5nZXM5LzYAL29yYW5nZXM5LzcAL29yYW5nZXM5LzgAL29yYW5nZXM5LzkAL29ycmQzLzEAL29ycmQzLzIAL29ycmQzLzMAL29ycmQ0LzEAL29ycmQ0LzIAL29ycmQ0LzMAL29ycmQ0LzQAL29ycmQ1LzEAL29ycmQ1LzIAL29ycmQ1LzMAL29ycmQ1LzQAL29ycmQ1LzUAL29ycmQ2LzEAL29ycmQ2LzIAL29ycmQ2LzMAL29ycmQ2LzQAL29ycmQ2LzUAL29ycmQ2LzYAL29ycmQ3LzEAL29ycmQ3LzIAL29ycmQ3LzMAL29ycmQ3LzQAL29ycmQ3LzUAL29ycmQ3LzYAL29ycmQ3LzcAL29ycmQ4LzEAL29ycmQ4LzIAL29ycmQ4LzMAL29ycmQ4LzQAL29ycmQ4LzUAL29ycmQ4LzYAL29ycmQ4LzcAL29ycmQ4LzgAL29ycmQ5LzEAL29ycmQ5LzIAL29ycmQ5LzMAL29ycmQ5LzQAL29ycmQ5LzUAL29ycmQ5LzYAL29ycmQ5LzcAL29ycmQ5LzgAL29ycmQ5LzkAL3BhaXJlZDEwLzEAL3BhaXJlZDEwLzEwAC9wYWlyZWQxMC8yAC9wYWlyZWQxMC8zAC9wYWlyZWQxMC80AC9wYWlyZWQxMC81AC9wYWlyZWQxMC82AC9wYWlyZWQxMC83AC9wYWlyZWQxMC84AC9wYWlyZWQxMC85AC9wYWlyZWQxMS8xAC9wYWlyZWQxMS8xMAAvcGFpcmVkMTEvMTEAL3BhaXJlZDExLzIAL3BhaXJlZDExLzMAL3BhaXJlZDExLzQAL3BhaXJlZDExLzUAL3BhaXJlZDExLzYAL3BhaXJlZDExLzcAL3BhaXJlZDExLzgAL3BhaXJlZDExLzkAL3BhaXJlZDEyLzEAL3BhaXJlZDEyLzEwAC9wYWlyZWQxMi8xMQAvcGFpcmVkMTIvMTIAL3BhaXJlZDEyLzIAL3BhaXJlZDEyLzMAL3BhaXJlZDEyLzQAL3BhaXJlZDEyLzUAL3BhaXJlZDEyLzYAL3BhaXJlZDEyLzcAL3BhaXJlZDEyLzgAL3BhaXJlZDEyLzkAL3BhaXJlZDMvMQAvcGFpcmVkMy8yAC9wYWlyZWQzLzMAL3BhaXJlZDQvMQAvcGFpcmVkNC8yAC9wYWlyZWQ0LzMAL3BhaXJlZDQvNAAvcGFpcmVkNS8xAC9wYWlyZWQ1LzIAL3BhaXJlZDUvMwAvcGFpcmVkNS80AC9wYWlyZWQ1LzUAL3BhaXJlZDYvMQAvcGFpcmVkNi8yAC9wYWlyZWQ2LzMAL3BhaXJlZDYvNAAvcGFpcmVkNi81AC9wYWlyZWQ2LzYAL3BhaXJlZDcvMQAvcGFpcmVkNy8yAC9wYWlyZWQ3LzMAL3BhaXJlZDcvNAAvcGFpcmVkNy81AC9wYWlyZWQ3LzYAL3BhaXJlZDcvNwAvcGFpcmVkOC8xAC9wYWlyZWQ4LzIAL3BhaXJlZDgvMwAvcGFpcmVkOC80AC9wYWlyZWQ4LzUAL3BhaXJlZDgvNgAvcGFpcmVkOC83AC9wYWlyZWQ4LzgAL3BhaXJlZDkvMQAvcGFpcmVkOS8yAC9wYWlyZWQ5LzMAL3BhaXJlZDkvNAAvcGFpcmVkOS81AC9wYWlyZWQ5LzYAL3BhaXJlZDkvNwAvcGFpcmVkOS84AC9wYWlyZWQ5LzkAL3Bhc3RlbDEzLzEAL3Bhc3RlbDEzLzIAL3Bhc3RlbDEzLzMAL3Bhc3RlbDE0LzEAL3Bhc3RlbDE0LzIAL3Bhc3RlbDE0LzMAL3Bhc3RlbDE0LzQAL3Bhc3RlbDE1LzEAL3Bhc3RlbDE1LzIAL3Bhc3RlbDE1LzMAL3Bhc3RlbDE1LzQAL3Bhc3RlbDE1LzUAL3Bhc3RlbDE2LzEAL3Bhc3RlbDE2LzIAL3Bhc3RlbDE2LzMAL3Bhc3RlbDE2LzQAL3Bhc3RlbDE2LzUAL3Bhc3RlbDE2LzYAL3Bhc3RlbDE3LzEAL3Bhc3RlbDE3LzIAL3Bhc3RlbDE3LzMAL3Bhc3RlbDE3LzQAL3Bhc3RlbDE3LzUAL3Bhc3RlbDE3LzYAL3Bhc3RlbDE3LzcAL3Bhc3RlbDE4LzEAL3Bhc3RlbDE4LzIAL3Bhc3RlbDE4LzMAL3Bhc3RlbDE4LzQAL3Bhc3RlbDE4LzUAL3Bhc3RlbDE4LzYAL3Bhc3RlbDE4LzcAL3Bhc3RlbDE4LzgAL3Bhc3RlbDE5LzEAL3Bhc3RlbDE5LzIAL3Bhc3RlbDE5LzMAL3Bhc3RlbDE5LzQAL3Bhc3RlbDE5LzUAL3Bhc3RlbDE5LzYAL3Bhc3RlbDE5LzcAL3Bhc3RlbDE5LzgAL3Bhc3RlbDE5LzkAL3Bhc3RlbDIzLzEAL3Bhc3RlbDIzLzIAL3Bhc3RlbDIzLzMAL3Bhc3RlbDI0LzEAL3Bhc3RlbDI0LzIAL3Bhc3RlbDI0LzMAL3Bhc3RlbDI0LzQAL3Bhc3RlbDI1LzEAL3Bhc3RlbDI1LzIAL3Bhc3RlbDI1LzMAL3Bhc3RlbDI1LzQAL3Bhc3RlbDI1LzUAL3Bhc3RlbDI2LzEAL3Bhc3RlbDI2LzIAL3Bhc3RlbDI2LzMAL3Bhc3RlbDI2LzQAL3Bhc3RlbDI2LzUAL3Bhc3RlbDI2LzYAL3Bhc3RlbDI3LzEAL3Bhc3RlbDI3LzIAL3Bhc3RlbDI3LzMAL3Bhc3RlbDI3LzQAL3Bhc3RlbDI3LzUAL3Bhc3RlbDI3LzYAL3Bhc3RlbDI3LzcAL3Bhc3RlbDI4LzEAL3Bhc3RlbDI4LzIAL3Bhc3RlbDI4LzMAL3Bhc3RlbDI4LzQAL3Bhc3RlbDI4LzUAL3Bhc3RlbDI4LzYAL3Bhc3RlbDI4LzcAL3Bhc3RlbDI4LzgAL3BpeWcxMC8xAC9waXlnMTAvMTAAL3BpeWcxMC8yAC9waXlnMTAvMwAvcGl5ZzEwLzQAL3BpeWcxMC81AC9waXlnMTAvNgAvcGl5ZzEwLzcAL3BpeWcxMC84AC9waXlnMTAvOQAvcGl5ZzExLzEAL3BpeWcxMS8xMAAvcGl5ZzExLzExAC9waXlnMTEvMgAvcGl5ZzExLzMAL3BpeWcxMS80AC9waXlnMTEvNQAvcGl5ZzExLzYAL3BpeWcxMS83AC9waXlnMTEvOAAvcGl5ZzExLzkAL3BpeWczLzEAL3BpeWczLzIAL3BpeWczLzMAL3BpeWc0LzEAL3BpeWc0LzIAL3BpeWc0LzMAL3BpeWc0LzQAL3BpeWc1LzEAL3BpeWc1LzIAL3BpeWc1LzMAL3BpeWc1LzQAL3BpeWc1LzUAL3BpeWc2LzEAL3BpeWc2LzIAL3BpeWc2LzMAL3BpeWc2LzQAL3BpeWc2LzUAL3BpeWc2LzYAL3BpeWc3LzEAL3BpeWc3LzIAL3BpeWc3LzMAL3BpeWc3LzQAL3BpeWc3LzUAL3BpeWc3LzYAL3BpeWc3LzcAL3BpeWc4LzEAL3BpeWc4LzIAL3BpeWc4LzMAL3BpeWc4LzQAL3BpeWc4LzUAL3BpeWc4LzYAL3BpeWc4LzcAL3BpeWc4LzgAL3BpeWc5LzEAL3BpeWc5LzIAL3BpeWc5LzMAL3BpeWc5LzQAL3BpeWc5LzUAL3BpeWc5LzYAL3BpeWc5LzcAL3BpeWc5LzgAL3BpeWc5LzkAL3ByZ24xMC8xAC9wcmduMTAvMTAAL3ByZ24xMC8yAC9wcmduMTAvMwAvcHJnbjEwLzQAL3ByZ24xMC81AC9wcmduMTAvNgAvcHJnbjEwLzcAL3ByZ24xMC84AC9wcmduMTAvOQAvcHJnbjExLzEAL3ByZ24xMS8xMAAvcHJnbjExLzExAC9wcmduMTEvMgAvcHJnbjExLzMAL3ByZ24xMS80AC9wcmduMTEvNQAvcHJnbjExLzYAL3ByZ24xMS83AC9wcmduMTEvOAAvcHJnbjExLzkAL3ByZ24zLzEAL3ByZ24zLzIAL3ByZ24zLzMAL3ByZ240LzEAL3ByZ240LzIAL3ByZ240LzMAL3ByZ240LzQAL3ByZ241LzEAL3ByZ241LzIAL3ByZ241LzMAL3ByZ241LzQAL3ByZ241LzUAL3ByZ242LzEAL3ByZ242LzIAL3ByZ242LzMAL3ByZ242LzQAL3ByZ242LzUAL3ByZ242LzYAL3ByZ243LzEAL3ByZ243LzIAL3ByZ243LzMAL3ByZ243LzQAL3ByZ243LzUAL3ByZ243LzYAL3ByZ243LzcAL3ByZ244LzEAL3ByZ244LzIAL3ByZ244LzMAL3ByZ244LzQAL3ByZ244LzUAL3ByZ244LzYAL3ByZ244LzcAL3ByZ244LzgAL3ByZ245LzEAL3ByZ245LzIAL3ByZ245LzMAL3ByZ245LzQAL3ByZ245LzUAL3ByZ245LzYAL3ByZ245LzcAL3ByZ245LzgAL3ByZ245LzkAL3B1YnUzLzEAL3B1YnUzLzIAL3B1YnUzLzMAL3B1YnU0LzEAL3B1YnU0LzIAL3B1YnU0LzMAL3B1YnU0LzQAL3B1YnU1LzEAL3B1YnU1LzIAL3B1YnU1LzMAL3B1YnU1LzQAL3B1YnU1LzUAL3B1YnU2LzEAL3B1YnU2LzIAL3B1YnU2LzMAL3B1YnU2LzQAL3B1YnU2LzUAL3B1YnU2LzYAL3B1YnU3LzEAL3B1YnU3LzIAL3B1YnU3LzMAL3B1YnU3LzQAL3B1YnU3LzUAL3B1YnU3LzYAL3B1YnU3LzcAL3B1YnU4LzEAL3B1YnU4LzIAL3B1YnU4LzMAL3B1YnU4LzQAL3B1YnU4LzUAL3B1YnU4LzYAL3B1YnU4LzcAL3B1YnU4LzgAL3B1YnU5LzEAL3B1YnU5LzIAL3B1YnU5LzMAL3B1YnU5LzQAL3B1YnU5LzUAL3B1YnU5LzYAL3B1YnU5LzcAL3B1YnU5LzgAL3B1YnU5LzkAL3B1YnVnbjMvMQAvcHVidWduMy8yAC9wdWJ1Z24zLzMAL3B1YnVnbjQvMQAvcHVidWduNC8yAC9wdWJ1Z240LzMAL3B1YnVnbjQvNAAvcHVidWduNS8xAC9wdWJ1Z241LzIAL3B1YnVnbjUvMwAvcHVidWduNS80AC9wdWJ1Z241LzUAL3B1YnVnbjYvMQAvcHVidWduNi8yAC9wdWJ1Z242LzMAL3B1YnVnbjYvNAAvcHVidWduNi81AC9wdWJ1Z242LzYAL3B1YnVnbjcvMQAvcHVidWduNy8yAC9wdWJ1Z243LzMAL3B1YnVnbjcvNAAvcHVidWduNy81AC9wdWJ1Z243LzYAL3B1YnVnbjcvNwAvcHVidWduOC8xAC9wdWJ1Z244LzIAL3B1YnVnbjgvMwAvcHVidWduOC80AC9wdWJ1Z244LzUAL3B1YnVnbjgvNgAvcHVidWduOC83AC9wdWJ1Z244LzgAL3B1YnVnbjkvMQAvcHVidWduOS8yAC9wdWJ1Z245LzMAL3B1YnVnbjkvNAAvcHVidWduOS81AC9wdWJ1Z245LzYAL3B1YnVnbjkvNwAvcHVidWduOS84AC9wdWJ1Z245LzkAL3B1b3IxMC8xAC9wdW9yMTAvMTAAL3B1b3IxMC8yAC9wdW9yMTAvMwAvcHVvcjEwLzQAL3B1b3IxMC81AC9wdW9yMTAvNgAvcHVvcjEwLzcAL3B1b3IxMC84AC9wdW9yMTAvOQAvcHVvcjExLzEAL3B1b3IxMS8xMAAvcHVvcjExLzExAC9wdW9yMTEvMgAvcHVvcjExLzMAL3B1b3IxMS80AC9wdW9yMTEvNQAvcHVvcjExLzYAL3B1b3IxMS83AC9wdW9yMTEvOAAvcHVvcjExLzkAL3B1b3IzLzEAL3B1b3IzLzIAL3B1b3IzLzMAL3B1b3I0LzEAL3B1b3I0LzIAL3B1b3I0LzMAL3B1b3I0LzQAL3B1b3I1LzEAL3B1b3I1LzIAL3B1b3I1LzMAL3B1b3I1LzQAL3B1b3I1LzUAL3B1b3I2LzEAL3B1b3I2LzIAL3B1b3I2LzMAL3B1b3I2LzQAL3B1b3I2LzUAL3B1b3I2LzYAL3B1b3I3LzEAL3B1b3I3LzIAL3B1b3I3LzMAL3B1b3I3LzQAL3B1b3I3LzUAL3B1b3I3LzYAL3B1b3I3LzcAL3B1b3I4LzEAL3B1b3I4LzIAL3B1b3I4LzMAL3B1b3I4LzQAL3B1b3I4LzUAL3B1b3I4LzYAL3B1b3I4LzcAL3B1b3I4LzgAL3B1b3I5LzEAL3B1b3I5LzIAL3B1b3I5LzMAL3B1b3I5LzQAL3B1b3I5LzUAL3B1b3I5LzYAL3B1b3I5LzcAL3B1b3I5LzgAL3B1b3I5LzkAL3B1cmQzLzEAL3B1cmQzLzIAL3B1cmQzLzMAL3B1cmQ0LzEAL3B1cmQ0LzIAL3B1cmQ0LzMAL3B1cmQ0LzQAL3B1cmQ1LzEAL3B1cmQ1LzIAL3B1cmQ1LzMAL3B1cmQ1LzQAL3B1cmQ1LzUAL3B1cmQ2LzEAL3B1cmQ2LzIAL3B1cmQ2LzMAL3B1cmQ2LzQAL3B1cmQ2LzUAL3B1cmQ2LzYAL3B1cmQ3LzEAL3B1cmQ3LzIAL3B1cmQ3LzMAL3B1cmQ3LzQAL3B1cmQ3LzUAL3B1cmQ3LzYAL3B1cmQ3LzcAL3B1cmQ4LzEAL3B1cmQ4LzIAL3B1cmQ4LzMAL3B1cmQ4LzQAL3B1cmQ4LzUAL3B1cmQ4LzYAL3B1cmQ4LzcAL3B1cmQ4LzgAL3B1cmQ5LzEAL3B1cmQ5LzIAL3B1cmQ5LzMAL3B1cmQ5LzQAL3B1cmQ5LzUAL3B1cmQ5LzYAL3B1cmQ5LzcAL3B1cmQ5LzgAL3B1cmQ5LzkAL3B1cnBsZXMzLzEAL3B1cnBsZXMzLzIAL3B1cnBsZXMzLzMAL3B1cnBsZXM0LzEAL3B1cnBsZXM0LzIAL3B1cnBsZXM0LzMAL3B1cnBsZXM0LzQAL3B1cnBsZXM1LzEAL3B1cnBsZXM1LzIAL3B1cnBsZXM1LzMAL3B1cnBsZXM1LzQAL3B1cnBsZXM1LzUAL3B1cnBsZXM2LzEAL3B1cnBsZXM2LzIAL3B1cnBsZXM2LzMAL3B1cnBsZXM2LzQAL3B1cnBsZXM2LzUAL3B1cnBsZXM2LzYAL3B1cnBsZXM3LzEAL3B1cnBsZXM3LzIAL3B1cnBsZXM3LzMAL3B1cnBsZXM3LzQAL3B1cnBsZXM3LzUAL3B1cnBsZXM3LzYAL3B1cnBsZXM3LzcAL3B1cnBsZXM4LzEAL3B1cnBsZXM4LzIAL3B1cnBsZXM4LzMAL3B1cnBsZXM4LzQAL3B1cnBsZXM4LzUAL3B1cnBsZXM4LzYAL3B1cnBsZXM4LzcAL3B1cnBsZXM4LzgAL3B1cnBsZXM5LzEAL3B1cnBsZXM5LzIAL3B1cnBsZXM5LzMAL3B1cnBsZXM5LzQAL3B1cnBsZXM5LzUAL3B1cnBsZXM5LzYAL3B1cnBsZXM5LzcAL3B1cnBsZXM5LzgAL3B1cnBsZXM5LzkAL3JkYnUxMC8xAC9yZGJ1MTAvMTAAL3JkYnUxMC8yAC9yZGJ1MTAvMwAvcmRidTEwLzQAL3JkYnUxMC81AC9yZGJ1MTAvNgAvcmRidTEwLzcAL3JkYnUxMC84AC9yZGJ1MTAvOQAvcmRidTExLzEAL3JkYnUxMS8xMAAvcmRidTExLzExAC9yZGJ1MTEvMgAvcmRidTExLzMAL3JkYnUxMS80AC9yZGJ1MTEvNQAvcmRidTExLzYAL3JkYnUxMS83AC9yZGJ1MTEvOAAvcmRidTExLzkAL3JkYnUzLzEAL3JkYnUzLzIAL3JkYnUzLzMAL3JkYnU0LzEAL3JkYnU0LzIAL3JkYnU0LzMAL3JkYnU0LzQAL3JkYnU1LzEAL3JkYnU1LzIAL3JkYnU1LzMAL3JkYnU1LzQAL3JkYnU1LzUAL3JkYnU2LzEAL3JkYnU2LzIAL3JkYnU2LzMAL3JkYnU2LzQAL3JkYnU2LzUAL3JkYnU2LzYAL3JkYnU3LzEAL3JkYnU3LzIAL3JkYnU3LzMAL3JkYnU3LzQAL3JkYnU3LzUAL3JkYnU3LzYAL3JkYnU3LzcAL3JkYnU4LzEAL3JkYnU4LzIAL3JkYnU4LzMAL3JkYnU4LzQAL3JkYnU4LzUAL3JkYnU4LzYAL3JkYnU4LzcAL3JkYnU4LzgAL3JkYnU5LzEAL3JkYnU5LzIAL3JkYnU5LzMAL3JkYnU5LzQAL3JkYnU5LzUAL3JkYnU5LzYAL3JkYnU5LzcAL3JkYnU5LzgAL3JkYnU5LzkAL3JkZ3kxMC8xAC9yZGd5MTAvMTAAL3JkZ3kxMC8yAC9yZGd5MTAvMwAvcmRneTEwLzQAL3JkZ3kxMC81AC9yZGd5MTAvNgAvcmRneTEwLzcAL3JkZ3kxMC84AC9yZGd5MTAvOQAvcmRneTExLzEAL3JkZ3kxMS8xMAAvcmRneTExLzExAC9yZGd5MTEvMgAvcmRneTExLzMAL3JkZ3kxMS80AC9yZGd5MTEvNQAvcmRneTExLzYAL3JkZ3kxMS83AC9yZGd5MTEvOAAvcmRneTExLzkAL3JkZ3kzLzEAL3JkZ3kzLzIAL3JkZ3kzLzMAL3JkZ3k0LzEAL3JkZ3k0LzIAL3JkZ3k0LzMAL3JkZ3k0LzQAL3JkZ3k1LzEAL3JkZ3k1LzIAL3JkZ3k1LzMAL3JkZ3k1LzQAL3JkZ3k1LzUAL3JkZ3k2LzEAL3JkZ3k2LzIAL3JkZ3k2LzMAL3JkZ3k2LzQAL3JkZ3k2LzUAL3JkZ3k2LzYAL3JkZ3k3LzEAL3JkZ3k3LzIAL3JkZ3k3LzMAL3JkZ3k3LzQAL3JkZ3k3LzUAL3JkZ3k3LzYAL3JkZ3k3LzcAL3JkZ3k4LzEAL3JkZ3k4LzIAL3JkZ3k4LzMAL3JkZ3k4LzQAL3JkZ3k4LzUAL3JkZ3k4LzYAL3JkZ3k4LzcAL3JkZ3k4LzgAL3JkZ3k5LzEAL3JkZ3k5LzIAL3JkZ3k5LzMAL3JkZ3k5LzQAL3JkZ3k5LzUAL3JkZ3k5LzYAL3JkZ3k5LzcAL3JkZ3k5LzgAL3JkZ3k5LzkAL3JkcHUzLzEAL3JkcHUzLzIAL3JkcHUzLzMAL3JkcHU0LzEAL3JkcHU0LzIAL3JkcHU0LzMAL3JkcHU0LzQAL3JkcHU1LzEAL3JkcHU1LzIAL3JkcHU1LzMAL3JkcHU1LzQAL3JkcHU1LzUAL3JkcHU2LzEAL3JkcHU2LzIAL3JkcHU2LzMAL3JkcHU2LzQAL3JkcHU2LzUAL3JkcHU2LzYAL3JkcHU3LzEAL3JkcHU3LzIAL3JkcHU3LzMAL3JkcHU3LzQAL3JkcHU3LzUAL3JkcHU3LzYAL3JkcHU3LzcAL3JkcHU4LzEAL3JkcHU4LzIAL3JkcHU4LzMAL3JkcHU4LzQAL3JkcHU4LzUAL3JkcHU4LzYAL3JkcHU4LzcAL3JkcHU4LzgAL3JkcHU5LzEAL3JkcHU5LzIAL3JkcHU5LzMAL3JkcHU5LzQAL3JkcHU5LzUAL3JkcHU5LzYAL3JkcHU5LzcAL3JkcHU5LzgAL3JkcHU5LzkAL3JkeWxidTEwLzEAL3JkeWxidTEwLzEwAC9yZHlsYnUxMC8yAC9yZHlsYnUxMC8zAC9yZHlsYnUxMC80AC9yZHlsYnUxMC81AC9yZHlsYnUxMC82AC9yZHlsYnUxMC83AC9yZHlsYnUxMC84AC9yZHlsYnUxMC85AC9yZHlsYnUxMS8xAC9yZHlsYnUxMS8xMAAvcmR5bGJ1MTEvMTEAL3JkeWxidTExLzIAL3JkeWxidTExLzMAL3JkeWxidTExLzQAL3JkeWxidTExLzUAL3JkeWxidTExLzYAL3JkeWxidTExLzcAL3JkeWxidTExLzgAL3JkeWxidTExLzkAL3JkeWxidTMvMQAvcmR5bGJ1My8yAC9yZHlsYnUzLzMAL3JkeWxidTQvMQAvcmR5bGJ1NC8yAC9yZHlsYnU0LzMAL3JkeWxidTQvNAAvcmR5bGJ1NS8xAC9yZHlsYnU1LzIAL3JkeWxidTUvMwAvcmR5bGJ1NS80AC9yZHlsYnU1LzUAL3JkeWxidTYvMQAvcmR5bGJ1Ni8yAC9yZHlsYnU2LzMAL3JkeWxidTYvNAAvcmR5bGJ1Ni81AC9yZHlsYnU2LzYAL3JkeWxidTcvMQAvcmR5bGJ1Ny8yAC9yZHlsYnU3LzMAL3JkeWxidTcvNAAvcmR5bGJ1Ny81AC9yZHlsYnU3LzYAL3JkeWxidTcvNwAvcmR5bGJ1OC8xAC9yZHlsYnU4LzIAL3JkeWxidTgvMwAvcmR5bGJ1OC80AC9yZHlsYnU4LzUAL3JkeWxidTgvNgAvcmR5bGJ1OC83AC9yZHlsYnU4LzgAL3JkeWxidTkvMQAvcmR5bGJ1OS8yAC9yZHlsYnU5LzMAL3JkeWxidTkvNAAvcmR5bGJ1OS81AC9yZHlsYnU5LzYAL3JkeWxidTkvNwAvcmR5bGJ1OS84AC9yZHlsYnU5LzkAL3JkeWxnbjEwLzEAL3JkeWxnbjEwLzEwAC9yZHlsZ24xMC8yAC9yZHlsZ24xMC8zAC9yZHlsZ24xMC80AC9yZHlsZ24xMC81AC9yZHlsZ24xMC82AC9yZHlsZ24xMC83AC9yZHlsZ24xMC84AC9yZHlsZ24xMC85AC9yZHlsZ24xMS8xAC9yZHlsZ24xMS8xMAAvcmR5bGduMTEvMTEAL3JkeWxnbjExLzIAL3JkeWxnbjExLzMAL3JkeWxnbjExLzQAL3JkeWxnbjExLzUAL3JkeWxnbjExLzYAL3JkeWxnbjExLzcAL3JkeWxnbjExLzgAL3JkeWxnbjExLzkAL3JkeWxnbjMvMQAvcmR5bGduMy8yAC9yZHlsZ24zLzMAL3JkeWxnbjQvMQAvcmR5bGduNC8yAC9yZHlsZ240LzMAL3JkeWxnbjQvNAAvcmR5bGduNS8xAC9yZHlsZ241LzIAL3JkeWxnbjUvMwAvcmR5bGduNS80AC9yZHlsZ241LzUAL3JkeWxnbjYvMQAvcmR5bGduNi8yAC9yZHlsZ242LzMAL3JkeWxnbjYvNAAvcmR5bGduNi81AC9yZHlsZ242LzYAL3JkeWxnbjcvMQAvcmR5bGduNy8yAC9yZHlsZ243LzMAL3JkeWxnbjcvNAAvcmR5bGduNy81AC9yZHlsZ243LzYAL3JkeWxnbjcvNwAvcmR5bGduOC8xAC9yZHlsZ244LzIAL3JkeWxnbjgvMwAvcmR5bGduOC80AC9yZHlsZ244LzUAL3JkeWxnbjgvNgAvcmR5bGduOC83AC9yZHlsZ244LzgAL3JkeWxnbjkvMQAvcmR5bGduOS8yAC9yZHlsZ245LzMAL3JkeWxnbjkvNAAvcmR5bGduOS81AC9yZHlsZ245LzYAL3JkeWxnbjkvNwAvcmR5bGduOS84AC9yZHlsZ245LzkAL3JlZHMzLzEAL3JlZHMzLzIAL3JlZHMzLzMAL3JlZHM0LzEAL3JlZHM0LzIAL3JlZHM0LzMAL3JlZHM0LzQAL3JlZHM1LzEAL3JlZHM1LzIAL3JlZHM1LzMAL3JlZHM1LzQAL3JlZHM1LzUAL3JlZHM2LzEAL3JlZHM2LzIAL3JlZHM2LzMAL3JlZHM2LzQAL3JlZHM2LzUAL3JlZHM2LzYAL3JlZHM3LzEAL3JlZHM3LzIAL3JlZHM3LzMAL3JlZHM3LzQAL3JlZHM3LzUAL3JlZHM3LzYAL3JlZHM3LzcAL3JlZHM4LzEAL3JlZHM4LzIAL3JlZHM4LzMAL3JlZHM4LzQAL3JlZHM4LzUAL3JlZHM4LzYAL3JlZHM4LzcAL3JlZHM4LzgAL3JlZHM5LzEAL3JlZHM5LzIAL3JlZHM5LzMAL3JlZHM5LzQAL3JlZHM5LzUAL3JlZHM5LzYAL3JlZHM5LzcAL3JlZHM5LzgAL3JlZHM5LzkAL3NldDEzLzEAL3NldDEzLzIAL3NldDEzLzMAL3NldDE0LzEAL3NldDE0LzIAL3NldDE0LzMAL3NldDE0LzQAL3NldDE1LzEAL3NldDE1LzIAL3NldDE1LzMAL3NldDE1LzQAL3NldDE1LzUAL3NldDE2LzEAL3NldDE2LzIAL3NldDE2LzMAL3NldDE2LzQAL3NldDE2LzUAL3NldDE2LzYAL3NldDE3LzEAL3NldDE3LzIAL3NldDE3LzMAL3NldDE3LzQAL3NldDE3LzUAL3NldDE3LzYAL3NldDE3LzcAL3NldDE4LzEAL3NldDE4LzIAL3NldDE4LzMAL3NldDE4LzQAL3NldDE4LzUAL3NldDE4LzYAL3NldDE4LzcAL3NldDE4LzgAL3NldDE5LzEAL3NldDE5LzIAL3NldDE5LzMAL3NldDE5LzQAL3NldDE5LzUAL3NldDE5LzYAL3NldDE5LzcAL3NldDE5LzgAL3NldDE5LzkAL3NldDIzLzEAL3NldDIzLzIAL3NldDIzLzMAL3NldDI0LzEAL3NldDI0LzIAL3NldDI0LzMAL3NldDI0LzQAL3NldDI1LzEAL3NldDI1LzIAL3NldDI1LzMAL3NldDI1LzQAL3NldDI1LzUAL3NldDI2LzEAL3NldDI2LzIAL3NldDI2LzMAL3NldDI2LzQAL3NldDI2LzUAL3NldDI2LzYAL3NldDI3LzEAL3NldDI3LzIAL3NldDI3LzMAL3NldDI3LzQAL3NldDI3LzUAL3NldDI3LzYAL3NldDI3LzcAL3NldDI4LzEAL3NldDI4LzIAL3NldDI4LzMAL3NldDI4LzQAL3NldDI4LzUAL3NldDI4LzYAL3NldDI4LzcAL3NldDI4LzgAL3NldDMxMC8xAC9zZXQzMTAvMTAAL3NldDMxMC8yAC9zZXQzMTAvMwAvc2V0MzEwLzQAL3NldDMxMC81AC9zZXQzMTAvNgAvc2V0MzEwLzcAL3NldDMxMC84AC9zZXQzMTAvOQAvc2V0MzExLzEAL3NldDMxMS8xMAAvc2V0MzExLzExAC9zZXQzMTEvMgAvc2V0MzExLzMAL3NldDMxMS80AC9zZXQzMTEvNQAvc2V0MzExLzYAL3NldDMxMS83AC9zZXQzMTEvOAAvc2V0MzExLzkAL3NldDMxMi8xAC9zZXQzMTIvMTAAL3NldDMxMi8xMQAvc2V0MzEyLzEyAC9zZXQzMTIvMgAvc2V0MzEyLzMAL3NldDMxMi80AC9zZXQzMTIvNQAvc2V0MzEyLzYAL3NldDMxMi83AC9zZXQzMTIvOAAvc2V0MzEyLzkAL3NldDMzLzEAL3NldDMzLzIAL3NldDMzLzMAL3NldDM0LzEAL3NldDM0LzIAL3NldDM0LzMAL3NldDM0LzQAL3NldDM1LzEAL3NldDM1LzIAL3NldDM1LzMAL3NldDM1LzQAL3NldDM1LzUAL3NldDM2LzEAL3NldDM2LzIAL3NldDM2LzMAL3NldDM2LzQAL3NldDM2LzUAL3NldDM2LzYAL3NldDM3LzEAL3NldDM3LzIAL3NldDM3LzMAL3NldDM3LzQAL3NldDM3LzUAL3NldDM3LzYAL3NldDM3LzcAL3NldDM4LzEAL3NldDM4LzIAL3NldDM4LzMAL3NldDM4LzQAL3NldDM4LzUAL3NldDM4LzYAL3NldDM4LzcAL3NldDM4LzgAL3NldDM5LzEAL3NldDM5LzIAL3NldDM5LzMAL3NldDM5LzQAL3NldDM5LzUAL3NldDM5LzYAL3NldDM5LzcAL3NldDM5LzgAL3NldDM5LzkAL3NwZWN0cmFsMTAvMQAvc3BlY3RyYWwxMC8xMAAvc3BlY3RyYWwxMC8yAC9zcGVjdHJhbDEwLzMAL3NwZWN0cmFsMTAvNAAvc3BlY3RyYWwxMC81AC9zcGVjdHJhbDEwLzYAL3NwZWN0cmFsMTAvNwAvc3BlY3RyYWwxMC84AC9zcGVjdHJhbDEwLzkAL3NwZWN0cmFsMTEvMQAvc3BlY3RyYWwxMS8xMAAvc3BlY3RyYWwxMS8xMQAvc3BlY3RyYWwxMS8yAC9zcGVjdHJhbDExLzMAL3NwZWN0cmFsMTEvNAAvc3BlY3RyYWwxMS81AC9zcGVjdHJhbDExLzYAL3NwZWN0cmFsMTEvNwAvc3BlY3RyYWwxMS84AC9zcGVjdHJhbDExLzkAL3NwZWN0cmFsMy8xAC9zcGVjdHJhbDMvMgAvc3BlY3RyYWwzLzMAL3NwZWN0cmFsNC8xAC9zcGVjdHJhbDQvMgAvc3BlY3RyYWw0LzMAL3NwZWN0cmFsNC80AC9zcGVjdHJhbDUvMQAvc3BlY3RyYWw1LzIAL3NwZWN0cmFsNS8zAC9zcGVjdHJhbDUvNAAvc3BlY3RyYWw1LzUAL3NwZWN0cmFsNi8xAC9zcGVjdHJhbDYvMgAvc3BlY3RyYWw2LzMAL3NwZWN0cmFsNi80AC9zcGVjdHJhbDYvNQAvc3BlY3RyYWw2LzYAL3NwZWN0cmFsNy8xAC9zcGVjdHJhbDcvMgAvc3BlY3RyYWw3LzMAL3NwZWN0cmFsNy80AC9zcGVjdHJhbDcvNQAvc3BlY3RyYWw3LzYAL3NwZWN0cmFsNy83AC9zcGVjdHJhbDgvMQAvc3BlY3RyYWw4LzIAL3NwZWN0cmFsOC8zAC9zcGVjdHJhbDgvNAAvc3BlY3RyYWw4LzUAL3NwZWN0cmFsOC82AC9zcGVjdHJhbDgvNwAvc3BlY3RyYWw4LzgAL3NwZWN0cmFsOS8xAC9zcGVjdHJhbDkvMgAvc3BlY3RyYWw5LzMAL3NwZWN0cmFsOS80AC9zcGVjdHJhbDkvNQAvc3BlY3RyYWw5LzYAL3NwZWN0cmFsOS83AC9zcGVjdHJhbDkvOAAvc3BlY3RyYWw5LzkAL3N2Zy9hbGljZWJsdWUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy9hcXVhAC9zdmcvYXF1YW1hcmluZQAvc3ZnL2F6dXJlAC9zdmcvYmVpZ2UAL3N2Zy9iaXNxdWUAL3N2Zy9ibGFjawAvc3ZnL2JsYW5jaGVkYWxtb25kAC9zdmcvYmx1ZQAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy9icm93bgAvc3ZnL2J1cmx5d29vZAAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2NoYXJ0cmV1c2UAL3N2Zy9jaG9jb2xhdGUAL3N2Zy9jb3JhbAAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvY29ybnNpbGsAL3N2Zy9jcmltc29uAC9zdmcvY3lhbgAvc3ZnL2RhcmtibHVlAC9zdmcvZGFya2N5YW4AL3N2Zy9kYXJrZ29sZGVucm9kAC9zdmcvZGFya2dyYXkAL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9kYXJrZ3JleQAvc3ZnL2RhcmtraGFraQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9kYXJrb3JhbmdlAC9zdmcvZGFya29yY2hpZAAvc3ZnL2RhcmtyZWQAL3N2Zy9kYXJrc2FsbW9uAC9zdmcvZGFya3NlYWdyZWVuAC9zdmcvZGFya3NsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvZGFya3R1cnF1b2lzZQAvc3ZnL2Rhcmt2aW9sZXQAL3N2Zy9kZWVwcGluawAvc3ZnL2RlZXBza3libHVlAC9zdmcvZGltZ3JheQAvc3ZnL2RpbWdyZXkAL3N2Zy9kb2RnZXJibHVlAC9zdmcvZmlyZWJyaWNrAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9mb3Jlc3RncmVlbgAvc3ZnL2Z1Y2hzaWEAL3N2Zy9nYWluc2Jvcm8AL3N2Zy9naG9zdHdoaXRlAC9zdmcvZ29sZAAvc3ZnL2dvbGRlbnJvZAAvc3ZnL2dyYXkAL3N2Zy9ncmVlbgAvc3ZnL2dyZWVueWVsbG93AC9zdmcvZ3JleQAvc3ZnL2hvbmV5ZGV3AC9zdmcvaG90cGluawAvc3ZnL2luZGlhbnJlZAAvc3ZnL2luZGlnbwAvc3ZnL2l2b3J5AC9zdmcva2hha2kAL3N2Zy9sYXZlbmRlcgAvc3ZnL2xhdmVuZGVyYmx1c2gAL3N2Zy9sYXduZ3JlZW4AL3N2Zy9sZW1vbmNoaWZmb24AL3N2Zy9saWdodGJsdWUAL3N2Zy9saWdodGNvcmFsAC9zdmcvbGlnaHRjeWFuAC9zdmcvbGlnaHRnb2xkZW5yb2R5ZWxsb3cAL3N2Zy9saWdodGdyYXkAL3N2Zy9saWdodGdyZWVuAC9zdmcvbGlnaHRncmV5AC9zdmcvbGlnaHRwaW5rAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbGlnaHRza3libHVlAC9zdmcvbGlnaHRzbGF0ZWdyYXkAL3N2Zy9saWdodHNsYXRlZ3JleQAvc3ZnL2xpZ2h0c3RlZWxibHVlAC9zdmcvbGlnaHR5ZWxsb3cAL3N2Zy9saW1lAC9zdmcvbGltZWdyZWVuAC9zdmcvbGluZW4AL3N2Zy9tYWdlbnRhAC9zdmcvbWFyb29uAC9zdmcvbWVkaXVtYXF1YW1hcmluZQAvc3ZnL21lZGl1bWJsdWUAL3N2Zy9tZWRpdW1vcmNoaWQAL3N2Zy9tZWRpdW1wdXJwbGUAL3N2Zy9tZWRpdW1zZWFncmVlbgAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNwcmluZ2dyZWVuAC9zdmcvbWVkaXVtdHVycXVvaXNlAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvbWlkbmlnaHRibHVlAC9zdmcvbWludGNyZWFtAC9zdmcvbWlzdHlyb3NlAC9zdmcvbW9jY2FzaW4AL3N2Zy9uYXZham93aGl0ZQAvc3ZnL25hdnkAL3N2Zy9vbGRsYWNlAC9zdmcvb2xpdmUAL3N2Zy9vbGl2ZWRyYWIAL3N2Zy9vcmFuZ2UAL3N2Zy9vcmFuZ2VyZWQAL3N2Zy9vcmNoaWQAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvcGFsZWdyZWVuAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3BhbGV2aW9sZXRyZWQAL3N2Zy9wYXBheWF3aGlwAC9zdmcvcGVhY2hwdWZmAC9zdmcvcGVydQAvc3ZnL3BpbmsAL3N2Zy9wbHVtAC9zdmcvcG93ZGVyYmx1ZQAvc3ZnL3B1cnBsZQAvc3ZnL3JlZAAvc3ZnL3Jvc3licm93bgAvc3ZnL3JveWFsYmx1ZQAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvc2FsbW9uAC9zdmcvc2FuZHlicm93bgAvc3ZnL3NlYWdyZWVuAC9zdmcvc2Vhc2hlbGwAL3N2Zy9zaWVubmEAL3N2Zy9zaWx2ZXIAL3N2Zy9za3libHVlAC9zdmcvc2xhdGVibHVlAC9zdmcvc2xhdGVncmF5AC9zdmcvc2xhdGVncmV5AC9zdmcvc25vdwAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvc3RlZWxibHVlAC9zdmcvdGFuAC9zdmcvdGVhbAAvc3ZnL3RoaXN0bGUAL3N2Zy90b21hdG8AL3N2Zy90dXJxdW9pc2UAL3N2Zy92aW9sZXQAL3N2Zy93aGVhdAAvc3ZnL3doaXRlAC9zdmcvd2hpdGVzbW9rZQAvc3ZnL3llbGxvdwAvc3ZnL3llbGxvd2dyZWVuAC95bGduMy8xAC95bGduMy8yAC95bGduMy8zAC95bGduNC8xAC95bGduNC8yAC95bGduNC8zAC95bGduNC80AC95bGduNS8xAC95bGduNS8yAC95bGduNS8zAC95bGduNS80AC95bGduNS81AC95bGduNi8xAC95bGduNi8yAC95bGduNi8zAC95bGduNi80AC95bGduNi81AC95bGduNi82AC95bGduNy8xAC95bGduNy8yAC95bGduNy8zAC95bGduNy80AC95bGduNy81AC95bGduNy82AC95bGduNy83AC95bGduOC8xAC95bGduOC8yAC95bGduOC8zAC95bGduOC80AC95bGduOC81AC95bGduOC82AC95bGduOC83AC95bGduOC84AC95bGduOS8xAC95bGduOS8yAC95bGduOS8zAC95bGduOS80AC95bGduOS81AC95bGduOS82AC95bGduOS83AC95bGduOS84AC95bGduOS85AC95bGduYnUzLzEAL3lsZ25idTMvMgAveWxnbmJ1My8zAC95bGduYnU0LzEAL3lsZ25idTQvMgAveWxnbmJ1NC8zAC95bGduYnU0LzQAL3lsZ25idTUvMQAveWxnbmJ1NS8yAC95bGduYnU1LzMAL3lsZ25idTUvNAAveWxnbmJ1NS81AC95bGduYnU2LzEAL3lsZ25idTYvMgAveWxnbmJ1Ni8zAC95bGduYnU2LzQAL3lsZ25idTYvNQAveWxnbmJ1Ni82AC95bGduYnU3LzEAL3lsZ25idTcvMgAveWxnbmJ1Ny8zAC95bGduYnU3LzQAL3lsZ25idTcvNQAveWxnbmJ1Ny82AC95bGduYnU3LzcAL3lsZ25idTgvMQAveWxnbmJ1OC8yAC95bGduYnU4LzMAL3lsZ25idTgvNAAveWxnbmJ1OC81AC95bGduYnU4LzYAL3lsZ25idTgvNwAveWxnbmJ1OC84AC95bGduYnU5LzEAL3lsZ25idTkvMgAveWxnbmJ1OS8zAC95bGduYnU5LzQAL3lsZ25idTkvNQAveWxnbmJ1OS82AC95bGduYnU5LzcAL3lsZ25idTkvOAAveWxnbmJ1OS85AC95bG9yYnIzLzEAL3lsb3JicjMvMgAveWxvcmJyMy8zAC95bG9yYnI0LzEAL3lsb3JicjQvMgAveWxvcmJyNC8zAC95bG9yYnI0LzQAL3lsb3JicjUvMQAveWxvcmJyNS8yAC95bG9yYnI1LzMAL3lsb3JicjUvNAAveWxvcmJyNS81AC95bG9yYnI2LzEAL3lsb3JicjYvMgAveWxvcmJyNi8zAC95bG9yYnI2LzQAL3lsb3JicjYvNQAveWxvcmJyNi82AC95bG9yYnI3LzEAL3lsb3JicjcvMgAveWxvcmJyNy8zAC95bG9yYnI3LzQAL3lsb3JicjcvNQAveWxvcmJyNy82AC95bG9yYnI3LzcAL3lsb3JicjgvMQAveWxvcmJyOC8yAC95bG9yYnI4LzMAL3lsb3JicjgvNAAveWxvcmJyOC81AC95bG9yYnI4LzYAL3lsb3JicjgvNwAveWxvcmJyOC84AC95bG9yYnI5LzEAL3lsb3JicjkvMgAveWxvcmJyOS8zAC95bG9yYnI5LzQAL3lsb3JicjkvNQAveWxvcmJyOS82AC95bG9yYnI5LzcAL3lsb3JicjkvOAAveWxvcmJyOS85AC95bG9ycmQzLzEAL3lsb3JyZDMvMgAveWxvcnJkMy8zAC95bG9ycmQ0LzEAL3lsb3JyZDQvMgAveWxvcnJkNC8zAC95bG9ycmQ0LzQAL3lsb3JyZDUvMQAveWxvcnJkNS8yAC95bG9ycmQ1LzMAL3lsb3JyZDUvNAAveWxvcnJkNS81AC95bG9ycmQ2LzEAL3lsb3JyZDYvMgAveWxvcnJkNi8zAC95bG9ycmQ2LzQAL3lsb3JyZDYvNQAveWxvcnJkNi82AC95bG9ycmQ3LzEAL3lsb3JyZDcvMgAveWxvcnJkNy8zAC95bG9ycmQ3LzQAL3lsb3JyZDcvNQAveWxvcnJkNy82AC95bG9ycmQ3LzcAL3lsb3JyZDgvMQAveWxvcnJkOC8yAC95bG9ycmQ4LzMAL3lsb3JyZDgvNAAveWxvcnJkOC81AC95bG9ycmQ4LzYAL3lsb3JyZDgvNwAveWxvcnJkOC84AC95bG9ycmQ5LzEAL3lsb3JyZDkvMgAveWxvcnJkOS8zAC95bG9ycmQ5LzQAL3lsb3JyZDkvNQAveWxvcnJkOS82AC95bG9ycmQ5LzcAL3lsb3JyZDkvOAAveWxvcnJkOS85AGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAYW50aXF1ZXdoaXRlMQBhbnRpcXVld2hpdGUyAGFudGlxdWV3aGl0ZTMAYW50aXF1ZXdoaXRlNABhcXVhbWFyaW5lAGFxdWFtYXJpbmUxAGFxdWFtYXJpbmUyAGFxdWFtYXJpbmUzAGFxdWFtYXJpbmU0AGF6dXJlAGF6dXJlMQBhenVyZTIAYXp1cmUzAGF6dXJlNABiZWlnZQBiaXNxdWUAYmlzcXVlMQBiaXNxdWUyAGJpc3F1ZTMAYmlzcXVlNABibGFuY2hlZGFsbW9uZABibHVlAGJsdWUxAGJsdWUyAGJsdWUzAGJsdWU0AGJsdWV2aW9sZXQAYnJvd24AYnJvd24xAGJyb3duMgBicm93bjMAYnJvd240AGJ1cmx5d29vZABidXJseXdvb2QxAGJ1cmx5d29vZDIAYnVybHl3b29kMwBidXJseXdvb2Q0AGNhZGV0Ymx1ZQBjYWRldGJsdWUxAGNhZGV0Ymx1ZTIAY2FkZXRibHVlMwBjYWRldGJsdWU0AGNoYXJ0cmV1c2UAY2hhcnRyZXVzZTEAY2hhcnRyZXVzZTIAY2hhcnRyZXVzZTMAY2hhcnRyZXVzZTQAY2hvY29sYXRlAGNob2NvbGF0ZTEAY2hvY29sYXRlMgBjaG9jb2xhdGUzAGNob2NvbGF0ZTQAY29yYWwAY29yYWwxAGNvcmFsMgBjb3JhbDMAY29yYWw0AGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNvcm5zaWxrMQBjb3Juc2lsazIAY29ybnNpbGszAGNvcm5zaWxrNABjcmltc29uAGN5YW4AY3lhbjEAY3lhbjIAY3lhbjMAY3lhbjQAZGFya2dvbGRlbnJvZABkYXJrZ29sZGVucm9kMQBkYXJrZ29sZGVucm9kMgBkYXJrZ29sZGVucm9kMwBkYXJrZ29sZGVucm9kNABkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmtvbGl2ZWdyZWVuAGRhcmtvbGl2ZWdyZWVuMQBkYXJrb2xpdmVncmVlbjIAZGFya29saXZlZ3JlZW4zAGRhcmtvbGl2ZWdyZWVuNABkYXJrb3JhbmdlAGRhcmtvcmFuZ2UxAGRhcmtvcmFuZ2UyAGRhcmtvcmFuZ2UzAGRhcmtvcmFuZ2U0AGRhcmtvcmNoaWQAZGFya29yY2hpZDEAZGFya29yY2hpZDIAZGFya29yY2hpZDMAZGFya29yY2hpZDQAZGFya3NhbG1vbgBkYXJrc2VhZ3JlZW4AZGFya3NlYWdyZWVuMQBkYXJrc2VhZ3JlZW4yAGRhcmtzZWFncmVlbjMAZGFya3NlYWdyZWVuNABkYXJrc2xhdGVibHVlAGRhcmtzbGF0ZWdyYXkAZGFya3NsYXRlZ3JheTEAZGFya3NsYXRlZ3JheTIAZGFya3NsYXRlZ3JheTMAZGFya3NsYXRlZ3JheTQAZGFya3NsYXRlZ3JleQBkYXJrdHVycXVvaXNlAGRhcmt2aW9sZXQAZGVlcHBpbmsAZGVlcHBpbmsxAGRlZXBwaW5rMgBkZWVwcGluazMAZGVlcHBpbms0AGRlZXBza3libHVlAGRlZXBza3libHVlMQBkZWVwc2t5Ymx1ZTIAZGVlcHNreWJsdWUzAGRlZXBza3libHVlNABkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBkb2RnZXJibHVlMQBkb2RnZXJibHVlMgBkb2RnZXJibHVlMwBkb2RnZXJibHVlNABmaXJlYnJpY2sAZmlyZWJyaWNrMQBmaXJlYnJpY2syAGZpcmVicmljazMAZmlyZWJyaWNrNABmbG9yYWx3aGl0ZQBmb3Jlc3RncmVlbgBnYWluc2Jvcm8AZ2hvc3R3aGl0ZQBnb2xkAGdvbGQxAGdvbGQyAGdvbGQzAGdvbGQ0AGdvbGRlbnJvZABnb2xkZW5yb2QxAGdvbGRlbnJvZDIAZ29sZGVucm9kMwBnb2xkZW5yb2Q0AGdyYXkAZ3JheTAAZ3JheTEAZ3JheTEwAGdyYXkxMDAAZ3JheTExAGdyYXkxMgBncmF5MTMAZ3JheTE0AGdyYXkxNQBncmF5MTYAZ3JheTE3AGdyYXkxOABncmF5MTkAZ3JheTIAZ3JheTIwAGdyYXkyMQBncmF5MjIAZ3JheTIzAGdyYXkyNABncmF5MjUAZ3JheTI2AGdyYXkyNwBncmF5MjgAZ3JheTI5AGdyYXkzAGdyYXkzMABncmF5MzEAZ3JheTMyAGdyYXkzMwBncmF5MzQAZ3JheTM1AGdyYXkzNgBncmF5MzcAZ3JheTM4AGdyYXkzOQBncmF5NABncmF5NDAAZ3JheTQxAGdyYXk0MgBncmF5NDMAZ3JheTQ0AGdyYXk0NQBncmF5NDYAZ3JheTQ3AGdyYXk0OABncmF5NDkAZ3JheTUAZ3JheTUwAGdyYXk1MQBncmF5NTIAZ3JheTUzAGdyYXk1NABncmF5NTUAZ3JheTU2AGdyYXk1NwBncmF5NTgAZ3JheTU5AGdyYXk2AGdyYXk2MABncmF5NjEAZ3JheTYyAGdyYXk2MwBncmF5NjQAZ3JheTY1AGdyYXk2NgBncmF5NjcAZ3JheTY4AGdyYXk2OQBncmF5NwBncmF5NzAAZ3JheTcxAGdyYXk3MgBncmF5NzMAZ3JheTc0AGdyYXk3NQBncmF5NzYAZ3JheTc3AGdyYXk3OABncmF5NzkAZ3JheTgAZ3JheTgwAGdyYXk4MQBncmF5ODIAZ3JheTgzAGdyYXk4NABncmF5ODUAZ3JheTg2AGdyYXk4NwBncmF5ODgAZ3JheTg5AGdyYXk5AGdyYXk5MABncmF5OTEAZ3JheTkyAGdyYXk5MwBncmF5OTQAZ3JheTk1AGdyYXk5NgBncmF5OTcAZ3JheTk4AGdyYXk5OQBncmVlbgBncmVlbjEAZ3JlZW4yAGdyZWVuMwBncmVlbjQAZ3JlZW55ZWxsb3cAZ3JleQBncmV5MABncmV5MQBncmV5MTAAZ3JleTEwMABncmV5MTEAZ3JleTEyAGdyZXkxMwBncmV5MTQAZ3JleTE1AGdyZXkxNgBncmV5MTcAZ3JleTE4AGdyZXkxOQBncmV5MgBncmV5MjAAZ3JleTIxAGdyZXkyMgBncmV5MjMAZ3JleTI0AGdyZXkyNQBncmV5MjYAZ3JleTI3AGdyZXkyOABncmV5MjkAZ3JleTMAZ3JleTMwAGdyZXkzMQBncmV5MzIAZ3JleTMzAGdyZXkzNABncmV5MzUAZ3JleTM2AGdyZXkzNwBncmV5MzgAZ3JleTM5AGdyZXk0AGdyZXk0MABncmV5NDEAZ3JleTQyAGdyZXk0MwBncmV5NDQAZ3JleTQ1AGdyZXk0NgBncmV5NDcAZ3JleTQ4AGdyZXk0OQBncmV5NQBncmV5NTAAZ3JleTUxAGdyZXk1MgBncmV5NTMAZ3JleTU0AGdyZXk1NQBncmV5NTYAZ3JleTU3AGdyZXk1OABncmV5NTkAZ3JleTYAZ3JleTYwAGdyZXk2MQBncmV5NjIAZ3JleTYzAGdyZXk2NABncmV5NjUAZ3JleTY2AGdyZXk2NwBncmV5NjgAZ3JleTY5AGdyZXk3AGdyZXk3MABncmV5NzEAZ3JleTcyAGdyZXk3MwBncmV5NzQAZ3JleTc1AGdyZXk3NgBncmV5NzcAZ3JleTc4AGdyZXk3OQBncmV5OABncmV5ODAAZ3JleTgxAGdyZXk4MgBncmV5ODMAZ3JleTg0AGdyZXk4NQBncmV5ODYAZ3JleTg3AGdyZXk4OABncmV5ODkAZ3JleTkAZ3JleTkwAGdyZXk5MQBncmV5OTIAZ3JleTkzAGdyZXk5NABncmV5OTUAZ3JleTk2AGdyZXk5NwBncmV5OTgAZ3JleTk5AGhvbmV5ZGV3AGhvbmV5ZGV3MQBob25leWRldzIAaG9uZXlkZXczAGhvbmV5ZGV3NABob3RwaW5rAGhvdHBpbmsxAGhvdHBpbmsyAGhvdHBpbmszAGhvdHBpbms0AGluZGlhbnJlZABpbmRpYW5yZWQxAGluZGlhbnJlZDIAaW5kaWFucmVkMwBpbmRpYW5yZWQ0AGluZGlnbwBpbnZpcwBpdm9yeQBpdm9yeTEAaXZvcnkyAGl2b3J5MwBpdm9yeTQAa2hha2kAa2hha2kxAGtoYWtpMgBraGFraTMAa2hha2k0AGxhdmVuZGVyAGxhdmVuZGVyYmx1c2gAbGF2ZW5kZXJibHVzaDEAbGF2ZW5kZXJibHVzaDIAbGF2ZW5kZXJibHVzaDMAbGF2ZW5kZXJibHVzaDQAbGF3bmdyZWVuAGxlbW9uY2hpZmZvbgBsZW1vbmNoaWZmb24xAGxlbW9uY2hpZmZvbjIAbGVtb25jaGlmZm9uMwBsZW1vbmNoaWZmb240AGxpZ2h0Ymx1ZQBsaWdodGJsdWUxAGxpZ2h0Ymx1ZTIAbGlnaHRibHVlMwBsaWdodGJsdWU0AGxpZ2h0Y29yYWwAbGlnaHRjeWFuAGxpZ2h0Y3lhbjEAbGlnaHRjeWFuMgBsaWdodGN5YW4zAGxpZ2h0Y3lhbjQAbGlnaHRnb2xkZW5yb2QAbGlnaHRnb2xkZW5yb2QxAGxpZ2h0Z29sZGVucm9kMgBsaWdodGdvbGRlbnJvZDMAbGlnaHRnb2xkZW5yb2Q0AGxpZ2h0Z29sZGVucm9keWVsbG93AGxpZ2h0Z3JheQBsaWdodGdyZXkAbGlnaHRwaW5rAGxpZ2h0cGluazEAbGlnaHRwaW5rMgBsaWdodHBpbmszAGxpZ2h0cGluazQAbGlnaHRzYWxtb24AbGlnaHRzYWxtb24xAGxpZ2h0c2FsbW9uMgBsaWdodHNhbG1vbjMAbGlnaHRzYWxtb240AGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2t5Ymx1ZTEAbGlnaHRza3libHVlMgBsaWdodHNreWJsdWUzAGxpZ2h0c2t5Ymx1ZTQAbGlnaHRzbGF0ZWJsdWUAbGlnaHRzbGF0ZWdyYXkAbGlnaHRzbGF0ZWdyZXkAbGlnaHRzdGVlbGJsdWUAbGlnaHRzdGVlbGJsdWUxAGxpZ2h0c3RlZWxibHVlMgBsaWdodHN0ZWVsYmx1ZTMAbGlnaHRzdGVlbGJsdWU0AGxpZ2h0eWVsbG93AGxpZ2h0eWVsbG93MQBsaWdodHllbGxvdzIAbGlnaHR5ZWxsb3czAGxpZ2h0eWVsbG93NABsaW1lZ3JlZW4AbGluZW4AbWFnZW50YQBtYWdlbnRhMQBtYWdlbnRhMgBtYWdlbnRhMwBtYWdlbnRhNABtYXJvb24AbWFyb29uMQBtYXJvb24yAG1hcm9vbjMAbWFyb29uNABtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bW9yY2hpZDEAbWVkaXVtb3JjaGlkMgBtZWRpdW1vcmNoaWQzAG1lZGl1bW9yY2hpZDQAbWVkaXVtcHVycGxlAG1lZGl1bXB1cnBsZTEAbWVkaXVtcHVycGxlMgBtZWRpdW1wdXJwbGUzAG1lZGl1bXB1cnBsZTQAbWVkaXVtc2VhZ3JlZW4AbWVkaXVtc2xhdGVibHVlAG1lZGl1bXNwcmluZ2dyZWVuAG1lZGl1bXR1cnF1b2lzZQBtZWRpdW12aW9sZXRyZWQAbWlkbmlnaHRibHVlAG1pbnRjcmVhbQBtaXN0eXJvc2UAbWlzdHlyb3NlMQBtaXN0eXJvc2UyAG1pc3R5cm9zZTMAbWlzdHlyb3NlNABtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZham93aGl0ZTEAbmF2YWpvd2hpdGUyAG5hdmFqb3doaXRlMwBuYXZham93aGl0ZTQAbmF2eQBuYXZ5Ymx1ZQBub25lAG9sZGxhY2UAb2xpdmVkcmFiAG9saXZlZHJhYjEAb2xpdmVkcmFiMgBvbGl2ZWRyYWIzAG9saXZlZHJhYjQAb3JhbmdlAG9yYW5nZTEAb3JhbmdlMgBvcmFuZ2UzAG9yYW5nZTQAb3JhbmdlcmVkAG9yYW5nZXJlZDEAb3JhbmdlcmVkMgBvcmFuZ2VyZWQzAG9yYW5nZXJlZDQAb3JjaGlkAG9yY2hpZDEAb3JjaGlkMgBvcmNoaWQzAG9yY2hpZDQAcGFsZWdvbGRlbnJvZABwYWxlZ3JlZW4AcGFsZWdyZWVuMQBwYWxlZ3JlZW4yAHBhbGVncmVlbjMAcGFsZWdyZWVuNABwYWxldHVycXVvaXNlAHBhbGV0dXJxdW9pc2UxAHBhbGV0dXJxdW9pc2UyAHBhbGV0dXJxdW9pc2UzAHBhbGV0dXJxdW9pc2U0AHBhbGV2aW9sZXRyZWQAcGFsZXZpb2xldHJlZDEAcGFsZXZpb2xldHJlZDIAcGFsZXZpb2xldHJlZDMAcGFsZXZpb2xldHJlZDQAcGFwYXlhd2hpcABwZWFjaHB1ZmYAcGVhY2hwdWZmMQBwZWFjaHB1ZmYyAHBlYWNocHVmZjMAcGVhY2hwdWZmNABwZXJ1AHBpbmsAcGluazEAcGluazIAcGluazMAcGluazQAcGx1bQBwbHVtMQBwbHVtMgBwbHVtMwBwbHVtNABwb3dkZXJibHVlAHB1cnBsZQBwdXJwbGUxAHB1cnBsZTIAcHVycGxlMwBwdXJwbGU0AHJlZAByZWQxAHJlZDIAcmVkMwByZWQ0AHJvc3licm93bgByb3N5YnJvd24xAHJvc3licm93bjIAcm9zeWJyb3duMwByb3N5YnJvd240AHJveWFsYmx1ZQByb3lhbGJsdWUxAHJveWFsYmx1ZTIAcm95YWxibHVlMwByb3lhbGJsdWU0AHNhZGRsZWJyb3duAHNhbG1vbgBzYWxtb24xAHNhbG1vbjIAc2FsbW9uMwBzYWxtb240AHNhbmR5YnJvd24Ac2VhZ3JlZW4Ac2VhZ3JlZW4xAHNlYWdyZWVuMgBzZWFncmVlbjMAc2VhZ3JlZW40AHNlYXNoZWxsAHNlYXNoZWxsMQBzZWFzaGVsbDIAc2Vhc2hlbGwzAHNlYXNoZWxsNABzaWVubmEAc2llbm5hMQBzaWVubmEyAHNpZW5uYTMAc2llbm5hNABza3libHVlAHNreWJsdWUxAHNreWJsdWUyAHNreWJsdWUzAHNreWJsdWU0AHNsYXRlYmx1ZQBzbGF0ZWJsdWUxAHNsYXRlYmx1ZTIAc2xhdGVibHVlMwBzbGF0ZWJsdWU0AHNsYXRlZ3JheQBzbGF0ZWdyYXkxAHNsYXRlZ3JheTIAc2xhdGVncmF5MwBzbGF0ZWdyYXk0AHNsYXRlZ3JleQBzbm93AHNub3cxAHNub3cyAHNub3czAHNub3c0AHNwcmluZ2dyZWVuAHNwcmluZ2dyZWVuMQBzcHJpbmdncmVlbjIAc3ByaW5nZ3JlZW4zAHNwcmluZ2dyZWVuNABzdGVlbGJsdWUAc3RlZWxibHVlMQBzdGVlbGJsdWUyAHN0ZWVsYmx1ZTMAc3RlZWxibHVlNAB0YW4AdGFuMQB0YW4yAHRhbjMAdGFuNAB0aGlzdGxlAHRoaXN0bGUxAHRoaXN0bGUyAHRoaXN0bGUzAHRoaXN0bGU0AHRvbWF0bwB0b21hdG8xAHRvbWF0bzIAdG9tYXRvMwB0b21hdG80AHR1cnF1b2lzZQB0dXJxdW9pc2UxAHR1cnF1b2lzZTIAdHVycXVvaXNlMwB0dXJxdW9pc2U0AHZpb2xldAB2aW9sZXRyZWQAdmlvbGV0cmVkMQB2aW9sZXRyZWQyAHZpb2xldHJlZDMAdmlvbGV0cmVkNAB3aGVhdAB3aGVhdDEAd2hlYXQyAHdoZWF0MwB3aGVhdDQAd2hpdGUAd2hpdGVzbW9rZQB5ZWxsb3cAeWVsbG93MQB5ZWxsb3cyAHllbGxvdzMAeWVsbG93NAB5ZWxsb3dncmVlbgBsYWNrAGhpdGUAaWdodGdyZXkAWDExLwAvJXMvJXMAaW1hZ2VzY2FsZQBmYWxzZQBibGFjawBkb3R0ZWQAZGFzaGVkAGNwLT5zcmMAaHRtbHRhYmxlLmMAZW1pdF9odG1sX2ltZwBjcC0+c3JjWzBdAHRyYW5zcGFyZW50AF8lZAAlZAAyADMANAA1ADYANwA4ADkAMTAAMTEAMTIAMTMAMTQAMTUAMTYAMTcAMTgAMTkAMjAAQWdub2RlaW5mb190AEFnZWRnZWluZm9fdAByb3dnAGNvbGcAQWdyYXBoaW5mb190AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IALT4AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpbWVtb3J5IGV4aGF1c3RlZAAlcyBpbiBsaW5lICVkIAoALi4uICVzIC4uLgoAVEFCTEUAVFIAVEgAVEQASFRNTABGT05UAEIAVQBPAEkAU1VQAFNVQgBTAEJSAEhSAFZSAElNRwBVbmtub3duIEhUTUwgZWxlbWVudCA8JXM+IG9uIGxpbmUgJWQgCgA8SU1HPgBJbGxlZ2FsIGF0dHJpYnV0ZSAlcyBpbiAlcyAtIGlnbm9yZWQKAHNjYWxlAHNyYwA8QlI+AGFsaWduAElHSFQARUZUAEVOVEVSAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIC0gaWdub3JlZAoAPEZPTlQ+AGNvbG9yAGZhY2UAcG9pbnQtc2l6ZQBQT0lOVC1TSVpFAEltcHJvcGVyICVzIHZhbHVlICVzIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA+ICVkIC0gdG9vIGxhcmdlIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA8ICVkIC0gdG9vIHNtYWxsIC0gaWdub3JlZAA8VEQ+AGJhbGlnbgBiZ2NvbG9yAGJvcmRlcgBjZWxscGFkZGluZwBjZWxsc3BhY2luZwBjb2xzcGFuAGZpeGVkc2l6ZQBncmFkaWVudGFuZ2xlAGhlaWdodABocmVmAGlkAHBvcnQAcm93c3BhbgBzaWRlcwBzdHlsZQB0YXJnZXQAdGl0bGUAdG9vbHRpcAB2YWxpZ24Ad2lkdGgAV0lEVEgAT1RUT00AT1AASURETEUASWxsZWdhbCB2YWx1ZSAlcyBmb3IgVkFMSUdOIC0gaWdub3JlZAoAICwAT1VOREVEAEFESUFMAElsbGVnYWwgdmFsdWUgJXMgZm9yIFNUWUxFIC0gaWdub3JlZAoAU09MSUQASU5WSVNJQkxFAElOVklTAERPVFRFRABEQVNIRUQAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBST1dTUEFOAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBIRUlHSFQAR1JBRElFTlRBTkdMRQBSVUUAQUxTRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBGSVhFRFNJWkUgLSBpZ25vcmVkCgBDT0xTUEFOAENPTFNQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDRUxMU1BBQ0lORwBDRUxMUEFERElORwBCT1JERVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQkFMSUdOIGluIFREIC0gaWdub3JlZAoARVhUAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIGluIFREIC0gaWdub3JlZAoAPFRBQkxFPgBjZWxsYm9yZGVyAGNvbHVtbnMAcm93cwBVbmtub3duIHZhbHVlICVzIGZvciBST1dTIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgQ09MVU1OUyAtIGlnbm9yZWQKAENFTExTQk9SREVSADxIVE1MPgA8L0hUTUw+AC0tAExhYmVsIGNsb3NlZCBiZWZvcmUgZW5kIG9mIEhUTUwgZWxlbWVudAoAVW5jbG9zZWQgY29tbWVudAoAaiA9PSAwAGN2dC5jAFBvYnNwYXRoAHJvdXRlLmMAbGlicGF0aC8lczolZDogJXMKAHNob3J0ZXN0LmMAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGVzdGluYXRpb24gcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBjYW5ub3QgZmluZCB0cmlhbmdsZSBwYXRoAGNhbm5vdCBtYWxsb2Mgb3BzAGNhbm5vdCByZWFsbG9jIG9wcwB0cmlhbmd1bGF0aW9uIGZhaWxlZABjYW5ub3QgbWFsbG9jIHRyaXMAY2Fubm90IHJlYWxsb2MgdHJpcwBjYW5ub3QgbWFsbG9jIGRxLnBubHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgbWFsbG9jIHBubHMAY2Fubm90IG1hbGxvYyBwbmxwcwBjYW5ub3QgcmVhbGxvYyBwbmxzAGNhbm5vdCByZWFsbG9jIHBubHBzAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVFkARU5USVRJRVMATk1UT0tFTgBOTVRPS0VOUwBOT1RBVElPTigAKAB8AGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZQBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLwB4bWw9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAC9kZXYvdXJhbmRvbQBmYWxsYmFjayg0KQBnZXR0aW1lb2ZkYXlfcmVzID09IDAAeG1scGFyc2UuYwBnYXRoZXJfdGltZV9lbnRyb3B5AEVYUEFUX0VOVFJPUFlfREVCVUcAMQBFbnRyb3B5OiAlcyAtLT4gMHglMCpseCAoJWx1IGJ5dGVzKQoAaW52YWxpZCBhcmd1bWVudABwcmVmaXggbXVzdCBub3QgYmUgYm91bmQgdG8gb25lIG9mIHRoZSByZXNlcnZlZCBuYW1lc3BhY2UgbmFtZXMAcmVzZXJ2ZWQgcHJlZml4ICh4bWxucykgbXVzdCBub3QgYmUgZGVjbGFyZWQgb3IgdW5kZWNsYXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbCkgbXVzdCBub3QgYmUgdW5kZWNsYXJlZCBvciBib3VuZCB0byBhbm90aGVyIG5hbWVzcGFjZSBuYW1lAGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAcGFyc2luZyBmaW5pc2hlZABwYXJzaW5nIGFib3J0ZWQAcGFyc2VyIG5vdCBzdXNwZW5kZWQAcGFyc2VyIHN1c3BlbmRlZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAdGV4dCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAWE1MIGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AG11c3Qgbm90IHVuZGVjbGFyZSBwcmVmaXgAdW5ib3VuZCBwcmVmaXgAY2Fubm90IGNoYW5nZSBzZXR0aW5nIG9uY2UgcGFyc2luZyBoYXMgYmVndW4AcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AHVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlIC0gcGxlYXNlIHNlbmQgYSBidWcgcmVwb3J0AGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGVycm9yIGluIHByb2Nlc3NpbmcgZXh0ZXJuYWwgZW50aXR5IHJlZmVyZW5jZQB1bmNsb3NlZCBDREFUQSBzZWN0aW9uAGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AHVua25vd24gZW5jb2RpbmcAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQByZWZlcmVuY2UgdG8gYmluYXJ5IGVudGl0eQByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAGFzeW5jaHJvbm91cyBlbnRpdHkAcmVjdXJzaXZlIGVudGl0eSByZWZlcmVuY2UAdW5kZWZpbmVkIGVudGl0eQBpbGxlZ2FsIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlAGp1bmsgYWZ0ZXIgZG9jdW1lbnQgZWxlbWVudABkdXBsaWNhdGUgYXR0cmlidXRlAG1pc21hdGNoZWQgdGFnAHBhcnRpYWwgY2hhcmFjdGVyAHVuY2xvc2VkIHRva2VuAG5vdCB3ZWxsLWZvcm1lZCAoaW52YWxpZCB0b2tlbikAbm8gZWxlbWVudCBmb3VuZABzeW50YXggZXJyb3IAb3V0IG9mIG1lbW9yeQACAwQFBgcIAAAJCgsMDQ4PEBEAAAAAAAAAAAAAAAASEwAUAAAAAAAAAAAAAAAAAAAVFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQMaGxwdHgAAHyAhIiMkJRARAAAAAAAAAAAAAAAAEhMmFAAAAAAAAAAAAAAAAAAAJxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENEQVRBW1VTLUFTQ0lJAFVURi0xNgBVVEYtMTZCRQBVVEYtMTZMRQB2ZXJzaW9uAGVuY29kaW5nAHN0YW5kYWxvbmUARE9DVFlQRQBTWVNURU0AUFVCTElDAEVOVElUWQBBVFRMSVNUAEVMRU1FTlQATk9UQVRJT04ASU5DTFVERQBJR05PUkUARU1QVFkAQU5ZAFBDREFUQQBJTVBMSUVEAFJFUVVJUkVEAEZJWEVEAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5EQVRBAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQASERMUFRYXGBkaGxwdHh8gIREiIyQRJSYnKCkqKywRLS4vEBAwEBAQEBAQEDEyMxA0NRAQERERERERERERERERERERERERERERERERETYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE3ERERETgROTo7PD0+ERERERERERERERERERERERERERERERERERERERERERERERERERERERERET8QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARQEERQkNERUZHSEkQEBBKS0xNThAQEE9QEBAQEFEQEBAQEBAQEBARERFSUxAQEBAQEBAQEBAQEREREVQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREVUQEBAQVhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBYWVpbEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFwQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUAAAAAAAAAAAAAAgAAAAAADfPEDX///7////////////v///////////////////////A/z/////////////////////////AP7///9/Av7/////AAAAAAD/v7YA////BwcAAAD/B//////////+/8P////////////////vH/7h/58AAP///////wDg////////////////AwD//////wcwBP////z/HwAA////AQAAAAAAAAAA/R8AAAAAAADwA/9//////////+//3+H/z//+/u6f+f///cXjn1mAsM//AwDuh/n///1tw4cZAl7A/z8A7r/7///97eO/GwEAz/8AAO6f+f///e3jnxnAsM//AgDsxz3WGMf/w8cdgQDA/wAA7t/9///97+PfHWADz/8AAOzf/f///e/j3x1gQM//BgDs3/3/////599dgADP/wD87P9//P//+y9/gF//AAAMAP7/////f/8HPyD/AwAAAACWJfD+ruz/O18g//MAAAAAAQAAAP8DAAD//v///x/+/wP///7///8fAAAAAAAAAAD///////9/+f8D///nwf//f0D/M/////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////+HAAAAAP//AAD/////////////HwD+//////////////////////////////////////////////////////////+f///+//8H////////////xwEA/98PAP//DwD//w8A/98NAP///////8///wGAEP8DAAAAAP8D//////////////8A//////8H//////////8/AP///x//D/8BwP////8/HwD//////w////8D/wMAAAAA////D/////////9//v8fAP8D/wOAAAAAAAAAAAAAAAD////////v/+8P/wMAAAAA///////z////////v/8DAP///////z8A/+P//////z8AAAAAAAAAAAAAAAAA3m8A////////////////////////////////AAAAAAAAAAD//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAAAAAAAAAAAAAAAAAoAAAP8fAAAAAAAAAAAAAAAAhPwvPlC9//PgQwAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAD+Az4f/v///////////3/g/v/////////////34P////8//v////////////9/AAD///8HAAAAAAAA////////////////////////////////PwAAAAAAAAAAAP////////////////////////////////8fAAAAAAAA//////////////////////8fAAAAAAAAAAD//////z//H////w8AAP//////f/CP////gP////////////8AAAAAgP/8////////////////eQ8A/wcAAAAAAAAAAAD/u/f///8AAAD///////8PAP//////////DwD/AwAA/Aj//////wf/////BwD///8f////////9/8AgP8DAAAAAP///////38A/z//A///fwT/////////fwUAADj//zwAfn5+AH9/AAAAAAAAAAAAAAAAAAAAAAAA//////8H/wP//////////////////////////w8A//9/+P//////D/////////////////8//////////////////wMAAAAAfwD44P/9f1/b/////////////////wMAAAD4////////////////PwAA///////////8////////AAAAAAD/DwAAAAAAAAAAAAAAAAAA3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///x////////8BAAAAAAD///9/AAD///8HAAAAAAAA////P/////8P/z4AAAAAAP////////////////////////8//wMAAAAAAAAAAAAAP/3/////v5H//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//w8AAAAAAP///x8AAAAAAAAAAAAAAAAAAAAA////////PwD//z8A//8HAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/8AAAAAAAAAAP//////////HgD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////PwD/AwAAAAAAAP////////////////9/AAAAAAAAAAAAAAAAAAAAAAAA////////////////BwAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8fAP//////fwAA+P8AAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAABMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUYuAGFsbnVtAGFscGhhAGJsYW5rAGNudHJsAGRpZ2l0AGdyYXBoAGxvd2VyAHByaW50AHB1bmN0AHNwYWNlAHVwcGVyAHhkaWdpdABDLlVURi04AAAAAAAAAAAAQwAvcHJvYy9zZWxmL2ZkLwByd2EAaW5maW5pdHkAbmFuAAkACgANAAwABwAbAFtbOmFsbnVtOl1fXQBbXls6YWxudW06XV9dAFtbOnNwYWNlOl1dAFteWzpzcGFjZTpdXQBbWzpkaWdpdDpdXQBbXls6ZGlnaXQ6XV0AL3RtcC90bXBmaWxlX1hYWFhYWAB3Kw==";var Ve=S;function Ne(e,A,r,i){zr("Assertion failed: "+Z(e)+", at: "+[A?Z(A):"unknown filename",r,i?Z(i):"unknown function"])}function Re(){zr()}function xe(){return s||"undefined"!=typeof dateNow||(f||l)&&self.performance&&self.performance.now}S+=16;var Je={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function He(e){return A.___errno_location&&(H[A.___errno_location()>>2]=e),e}function Pe(e,A){var r;if(0===e)r=Date.now();else{if(1!==e||!xe())return He(Je.EINVAL),-1;r=Re()}return H[A>>2]=r/1e3|0,H[A+4>>2]=r%1e3*1e3*1e3|0,0}function Xe(){return Pe.apply(null,arguments)}function Se(){}function je(e,A){return He(Je.EPERM),-1}var Ue={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Te={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,A){for(var r=0,i=e.length-1;i>=0;i--){var a=e[i];"."===a?e.splice(i,1):".."===a?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(A)for(;r;r--)e.unshift("..");return e},normalize:function(e){var A="/"===e.charAt(0),r="/"===e.substr(-1);return(e=Te.normalizeArray(e.split("/").filter((function(e){return!!e})),!A).join("/"))||A||(e="."),e&&r&&(e+="/"),(A?"/":"")+e},dirname:function(e){var A=Te.splitPath(e),r=A[0],i=A[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:function(e){if("/"===e)return"/";var A=e.lastIndexOf("/");return-1===A?e:e.substr(A+1)},extname:function(e){return Te.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Te.normalize(e.join("/"))},join2:function(e,A){return Te.normalize(e+"/"+A)},resolve:function(){for(var e="",A=!1,r=arguments.length-1;r>=-1&&!A;r--){var i=r>=0?arguments[r]:eA.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,A="/"===i.charAt(0)}return(A?"/":"")+(e=Te.normalizeArray(e.split("/").filter((function(e){return!!e})),!A).join("/"))||"."},relative:function(e,A){function r(e){for(var A=0;A=0&&""===e[r];r--);return A>r?[]:e.slice(A,r-A+1)}e=Te.resolve(e).substr(1),A=Te.resolve(A).substr(1);for(var i=r(e.split("/")),a=r(A.split("/")),t=Math.min(i.length,a.length),n=t,f=0;f0?r.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(A=window.prompt("Input: "))&&(A+="\n"):"function"==typeof readline&&null!==(A=readline())&&(A+="\n");if(!A)return null;e.input=PA(A,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(A.print(L(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(A.print(L(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(A.printErr(L(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(L(e.output,0)),e.output=[])}}},_e={ops_table:null,mount:function(e){return _e.createNode(null,"/",16895,0)},createNode:function(e,A,r,i){if(eA.isBlkdev(r)||eA.isFIFO(r))throw new eA.ErrnoError(Je.EPERM);_e.ops_table||(_e.ops_table={dir:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,lookup:_e.node_ops.lookup,mknod:_e.node_ops.mknod,rename:_e.node_ops.rename,unlink:_e.node_ops.unlink,rmdir:_e.node_ops.rmdir,readdir:_e.node_ops.readdir,symlink:_e.node_ops.symlink},stream:{llseek:_e.stream_ops.llseek}},file:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:{llseek:_e.stream_ops.llseek,read:_e.stream_ops.read,write:_e.stream_ops.write,allocate:_e.stream_ops.allocate,mmap:_e.stream_ops.mmap,msync:_e.stream_ops.msync}},link:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,readlink:_e.node_ops.readlink},stream:{}},chrdev:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:eA.chrdev_stream_ops}});var a=eA.createNode(e,A,r,i);return eA.isDir(a.mode)?(a.node_ops=_e.ops_table.dir.node,a.stream_ops=_e.ops_table.dir.stream,a.contents={}):eA.isFile(a.mode)?(a.node_ops=_e.ops_table.file.node,a.stream_ops=_e.ops_table.file.stream,a.usedBytes=0,a.contents=null):eA.isLink(a.mode)?(a.node_ops=_e.ops_table.link.node,a.stream_ops=_e.ops_table.link.stream):eA.isChrdev(a.mode)&&(a.node_ops=_e.ops_table.chrdev.node,a.stream_ops=_e.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[A]=a),a},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var A=[],r=0;re.contents.length&&(e.contents=_e.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var r=e.contents?e.contents.length:0;if(r>=A)return;A=Math.max(A,r*(r<1048576?2:1.125)|0),0!=r&&(A=Math.max(A,256));var i=e.contents;return e.contents=new Uint8Array(A),void(e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0))}for(!e.contents&&A>0&&(e.contents=[]);e.contents.lengthA)e.contents.length=A;else for(;e.contents.length=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-a,i);if(v(n>=0),n>8&&t.subarray)A.set(t.subarray(a,a+n),r);else for(var f=0;f0||a+in.timestamp)&&(a.push(r),i++)}));var t=[];if(Object.keys(A.entries).forEach((function(r){A.entries[r],e.entries[r]||(t.push(r),i++)})),!i)return r(null);var n=0,f=("remote"===e.type?e.db:A.db).transaction([qe.DB_STORE_NAME],"readwrite"),l=f.objectStore(qe.DB_STORE_NAME);function s(e){return e?s.errored?void 0:(s.errored=!0,r(e)):++n>=i?r(null):void 0}f.onerror=function(e){s(this.error),e.preventDefault()},a.sort().forEach((function(e){"local"===A.type?qe.loadRemoteEntry(l,e,(function(A,r){if(A)return s(A);qe.storeLocalEntry(e,r,s)})):qe.loadLocalEntry(e,(function(A,r){if(A)return s(A);qe.storeRemoteEntry(l,e,r,s)}))})),t.sort().reverse().forEach((function(e){"local"===A.type?qe.removeLocalEntry(e,s):qe.removeRemoteEntry(l,e,s)}))}},Ke={isWindows:!1,staticInit:function(){Ke.isWindows=!!process.platform.match(/^win/);var e=process.binding("constants");e.fs&&(e=e.fs),Ke.flagsForNodeMap={1024:e.O_APPEND,64:e.O_CREAT,128:e.O_EXCL,0:e.O_RDONLY,2:e.O_RDWR,4096:e.O_SYNC,512:e.O_TRUNC,1:e.O_WRONLY}},bufferFrom:function(e){return Buffer.alloc?Buffer.from(e):new Buffer.from(e)},mount:function(e){return v(s),Ke.createNode(null,"/",Ke.getMode(e.opts.root),0)},createNode:function(e,A,r,i){if(!eA.isDir(r)&&!eA.isFile(r)&&!eA.isLink(r))throw new eA.ErrnoError(Je.EINVAL);var a=eA.createNode(e,A,r);return a.node_ops=Ke.node_ops,a.stream_ops=Ke.stream_ops,a},getMode:function(e){var A;try{A=xA.lstatSync(e),Ke.isWindows&&(A.mode=A.mode|(292&A.mode)>>2)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}return A.mode},realPath:function(e){for(var A=[];e.parent!==e;)A.push(e.name),e=e.parent;return A.push(e.mount.opts.root),A.reverse(),Te.join.apply(null,A)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var A=0;for(var r in Ke.flagsForNodeMap)e&r&&(A|=Ke.flagsForNodeMap[r],e^=r);if(e)throw new eA.ErrnoError(Je.EINVAL);return A},node_ops:{getattr:function(e){var A,r=Ke.realPath(e);try{A=xA.lstatSync(r)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}return Ke.isWindows&&!A.blksize&&(A.blksize=4096),Ke.isWindows&&!A.blocks&&(A.blocks=(A.size+A.blksize-1)/A.blksize|0),{dev:A.dev,ino:A.ino,mode:A.mode,nlink:A.nlink,uid:A.uid,gid:A.gid,rdev:A.rdev,size:A.size,atime:A.atime,mtime:A.mtime,ctime:A.ctime,blksize:A.blksize,blocks:A.blocks}},setattr:function(e,A){var r=Ke.realPath(e);try{if(void 0!==A.mode&&(xA.chmodSync(r,A.mode),e.mode=A.mode),void 0!==A.timestamp){var i=new Date(A.timestamp);xA.utimesSync(r,i,i)}void 0!==A.size&&xA.truncateSync(r,A.size)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},lookup:function(e,A){var r=Te.join2(Ke.realPath(e),A),i=Ke.getMode(r);return Ke.createNode(e,A,i)},mknod:function(e,A,r,i){var a=Ke.createNode(e,A,r,i),t=Ke.realPath(a);try{eA.isDir(a.mode)?xA.mkdirSync(t,a.mode):xA.writeFileSync(t,"",{mode:a.mode})}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}return a},rename:function(e,A,r){var i=Ke.realPath(e),a=Te.join2(Ke.realPath(A),r);try{xA.renameSync(i,a)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},unlink:function(e,A){var r=Te.join2(Ke.realPath(e),A);try{xA.unlinkSync(r)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},rmdir:function(e,A){var r=Te.join2(Ke.realPath(e),A);try{xA.rmdirSync(r)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},readdir:function(e){var A=Ke.realPath(e);try{return xA.readdirSync(A)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},symlink:function(e,A,r){var i=Te.join2(Ke.realPath(e),A);try{xA.symlinkSync(r,i)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},readlink:function(e){var A=Ke.realPath(e);try{return A=xA.readlinkSync(A),A=JA.relative(JA.resolve(e.mount.opts.root),A)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}}},stream_ops:{open:function(e){var A=Ke.realPath(e.node);try{eA.isFile(e.node.mode)&&(e.nfd=xA.openSync(A,Ke.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},close:function(e){try{eA.isFile(e.node.mode)&&e.nfd&&xA.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new eA.ErrnoError(Je[e.code])}},read:function(e,A,r,i,a){if(0===i)return 0;try{return xA.readSync(e.nfd,Ke.bufferFrom(A.buffer),r,i,a)}catch(e){throw new eA.ErrnoError(Je[e.code])}},write:function(e,A,r,i,a){try{return xA.writeSync(e.nfd,Ke.bufferFrom(A.buffer),r,i,a)}catch(e){throw new eA.ErrnoError(Je[e.code])}},llseek:function(e,A,r){var i=A;if(1===r)i+=e.position;else if(2===r&&eA.isFile(e.node.mode))try{i+=xA.fstatSync(e.nfd).size}catch(e){throw new eA.ErrnoError(Je[e.code])}if(i<0)throw new eA.ErrnoError(Je.EINVAL);return i}}},$e={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){v(l),$e.reader||($e.reader=new FileReaderSync);var A=$e.createNode(null,"/",$e.DIR_MODE,0),r={};function i(e){for(var i=e.split("/"),a=A,t=0;t=e.node.size)return 0;var t=e.node.contents.slice(a,a+i),n=$e.reader.readAsArrayBuffer(t);return A.set(new Uint8Array(n),r),t.size},write:function(e,A,r,i,a){throw new eA.ErrnoError(Je.EIO)},llseek:function(e,A,r){var i=A;if(1===r?i+=e.position:2===r&&eA.isFile(e.node.mode)&&(i+=e.node.size),i<0)throw new eA.ErrnoError(Je.EINVAL);return i}}};S+=16,S+=16,S+=16;var eA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof eA.ErrnoError))throw e+" : "+V();return He(e.errno)},lookupPath:function(e,A){if(A=A||{},!(e=Te.resolve(eA.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)void 0===A[i]&&(A[i]=r[i]);if(A.recurse_count>8)throw new eA.ErrnoError(Je.ELOOP);for(var a=Te.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),t=eA.root,n="/",f=0;f40)throw new eA.ErrnoError(Je.ELOOP)}}return{path:n,node:t}},getPath:function(e){for(var A;;){if(eA.isRoot(e)){var r=e.mount.mountpoint;return A?"/"!==r[r.length-1]?r+"/"+A:r+A:r}A=A?e.name+"/"+A:e.name,e=e.parent}},hashName:function(e,A){for(var r=0,i=0;i>>0)%eA.nameTable.length},hashAddNode:function(e){var A=eA.hashName(e.parent.id,e.name);e.name_next=eA.nameTable[A],eA.nameTable[A]=e},hashRemoveNode:function(e){var A=eA.hashName(e.parent.id,e.name);if(eA.nameTable[A]===e)eA.nameTable[A]=e.name_next;else for(var r=eA.nameTable[A];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,A){var r=eA.mayLookup(e);if(r)throw new eA.ErrnoError(r,e);for(var i=eA.hashName(e.id,A),a=eA.nameTable[i];a;a=a.name_next){var t=a.name;if(a.parent.id===e.id&&t===A)return a}return eA.lookup(e,A)},createNode:function(e,A,r,i){eA.FSNode||(eA.FSNode=function(e,A,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eA.nextInode++,this.name=A,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},eA.FSNode.prototype={},Object.defineProperties(eA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eA.isDir(this.mode)}},isDevice:{get:function(){return eA.isChrdev(this.mode)}}}));var a=new eA.FSNode(e,A,r,i);return eA.hashAddNode(a),a},destroyNode:function(e){eA.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var A=eA.flagModes[e];if(void 0===A)throw new Error("Unknown file open mode: "+e);return A},flagsToPermissionString:function(e){var A=["r","w","rw"][3&e];return 512&e&&(A+="w"),A},nodePermissions:function(e,A){return eA.ignorePermissions||(-1===A.indexOf("r")||292&e.mode)&&(-1===A.indexOf("w")||146&e.mode)&&(-1===A.indexOf("x")||73&e.mode)?0:Je.EACCES},mayLookup:function(e){return eA.nodePermissions(e,"x")||(e.node_ops.lookup?0:Je.EACCES)},mayCreate:function(e,A){try{return eA.lookupNode(e,A),Je.EEXIST}catch(e){}return eA.nodePermissions(e,"wx")},mayDelete:function(e,A,r){var i;try{i=eA.lookupNode(e,A)}catch(e){return e.errno}var a=eA.nodePermissions(e,"wx");if(a)return a;if(r){if(!eA.isDir(i.mode))return Je.ENOTDIR;if(eA.isRoot(i)||eA.getPath(i)===eA.cwd())return Je.EBUSY}else if(eA.isDir(i.mode))return Je.EISDIR;return 0},mayOpen:function(e,A){return e?eA.isLink(e.mode)?Je.ELOOP:eA.isDir(e.mode)&&("r"!==eA.flagsToPermissionString(A)||512&A)?Je.EISDIR:eA.nodePermissions(e,eA.flagsToPermissionString(A)):Je.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,A){e=e||0,A=A||eA.MAX_OPEN_FDS;for(var r=e;r<=A;r++)if(!eA.streams[r])return r;throw new eA.ErrnoError(Je.EMFILE)},getStream:function(e){return eA.streams[e]},createStream:function(e,A,r){eA.FSStream||(eA.FSStream=function(){},eA.FSStream.prototype={},Object.defineProperties(eA.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var i=new eA.FSStream;for(var a in e)i[a]=e[a];e=i;var t=eA.nextfd(A,r);return e.fd=t,eA.streams[t]=e,e},closeStream:function(e){eA.streams[e]=null},chrdev_stream_ops:{open:function(e){var A=eA.getDevice(e.node.rdev);e.stream_ops=A.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new eA.ErrnoError(Je.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,A){return e<<8|A},registerDevice:function(e,A){eA.devices[e]={stream_ops:A}},getDevice:function(e){return eA.devices[e]},getMounts:function(e){for(var A=[],r=[e];r.length;){var i=r.pop();A.push(i),r.push.apply(r,i.mounts)}return A},syncfs:function(e,A){"function"==typeof e&&(A=e,e=!1),eA.syncFSRequests++,eA.syncFSRequests>1&&console.log("warning: "+eA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=eA.getMounts(eA.root.mount),i=0;function a(e){return v(eA.syncFSRequests>0),eA.syncFSRequests--,A(e)}function t(e){if(e)return t.errored?void 0:(t.errored=!0,a(e));++i>=r.length&&a(null)}r.forEach((function(A){if(!A.type.syncfs)return t(null);A.type.syncfs(A,e,t)}))},mount:function(e,A,r){var i,a="/"===r,t=!r;if(a&&eA.root)throw new eA.ErrnoError(Je.EBUSY);if(!a&&!t){var n=eA.lookupPath(r,{follow_mount:!1});if(r=n.path,i=n.node,eA.isMountpoint(i))throw new eA.ErrnoError(Je.EBUSY);if(!eA.isDir(i.mode))throw new eA.ErrnoError(Je.ENOTDIR)}var f={type:e,opts:A,mountpoint:r,mounts:[]},l=e.mount(f);return l.mount=f,f.root=l,a?eA.root=l:i&&(i.mounted=f,i.mount&&i.mount.mounts.push(f)),l},unmount:function(e){var A=eA.lookupPath(e,{follow_mount:!1});if(!eA.isMountpoint(A.node))throw new eA.ErrnoError(Je.EINVAL);var r=A.node,i=r.mounted,a=eA.getMounts(i);Object.keys(eA.nameTable).forEach((function(e){for(var A=eA.nameTable[e];A;){var r=A.name_next;-1!==a.indexOf(A.mount)&&eA.destroyNode(A),A=r}})),r.mounted=null;var t=r.mount.mounts.indexOf(i);v(-1!==t),r.mount.mounts.splice(t,1)},lookup:function(e,A){return e.node_ops.lookup(e,A)},mknod:function(e,A,r){var i=eA.lookupPath(e,{parent:!0}).node,a=Te.basename(e);if(!a||"."===a||".."===a)throw new eA.ErrnoError(Je.EINVAL);var t=eA.mayCreate(i,a);if(t)throw new eA.ErrnoError(t);if(!i.node_ops.mknod)throw new eA.ErrnoError(Je.EPERM);return i.node_ops.mknod(i,a,A,r)},create:function(e,A){return A=void 0!==A?A:438,A&=4095,A|=32768,eA.mknod(e,A,0)},mkdir:function(e,A){return A=void 0!==A?A:511,A&=1023,A|=16384,eA.mknod(e,A,0)},mkdirTree:function(e,A){for(var r=e.split("/"),i="",a=0;athis.length-1||e<0)){var A=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[A]}},t.prototype.setDataGetter=function(e){this.getter=e},t.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var A,i=Number(e.getResponseHeader("Content-length")),a=(A=e.getResponseHeader("Accept-Ranges"))&&"bytes"===A,t=(A=e.getResponseHeader("Content-Encoding"))&&"gzip"===A,n=1048576;a||(n=i);var f=this;f.setDataGetter((function(e){var A=e*n,a=(e+1)*n-1;if(a=Math.min(a,i-1),void 0===f.chunks[e]&&(f.chunks[e]=function(e,A){if(e>A)throw new Error("invalid range ("+e+", "+A+") or no bytes requested!");if(A>i-1)throw new Error("only "+i+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",r,!1),i!==n&&a.setRequestHeader("Range","bytes="+e+"-"+A),"undefined"!=typeof Uint8Array&&(a.responseType="arraybuffer"),a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+r+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):PA(a.responseText||"",!0)}(A,a)),void 0===f.chunks[e])throw new Error("doXHR failed!");return f.chunks[e]})),!t&&i||(n=i=1,i=this.getter(0).length,n=i,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new t;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var f={isDevice:!1,contents:n}}else f={isDevice:!1,url:r};var s=eA.createFile(e,A,f,i,a);f.contents?s.contents=f.contents:f.url&&(s.contents=null,s.url=f.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(s.stream_ops).forEach((function(e){var A=s.stream_ops[e];c[e]=function(){if(!eA.forceLoadFile(s))throw new eA.ErrnoError(Je.EIO);return A.apply(null,arguments)}})),c.read=function(e,A,r,i,a){if(!eA.forceLoadFile(s))throw new eA.ErrnoError(Je.EIO);var t=e.node.contents;if(a>=t.length)return 0;var n=Math.min(t.length-a,i);if(v(n>=0),t.slice)for(var f=0;f>2]=i.dev,H[r+4>>2]=0,H[r+8>>2]=i.ino,H[r+12>>2]=i.mode,H[r+16>>2]=i.nlink,H[r+20>>2]=i.uid,H[r+24>>2]=i.gid,H[r+28>>2]=i.rdev,H[r+32>>2]=0,H[r+36>>2]=i.size,H[r+40>>2]=4096,H[r+44>>2]=i.blocks,H[r+48>>2]=i.atime.getTime()/1e3|0,H[r+52>>2]=0,H[r+56>>2]=i.mtime.getTime()/1e3|0,H[r+60>>2]=0,H[r+64>>2]=i.ctime.getTime()/1e3|0,H[r+68>>2]=0,H[r+72>>2]=i.ino,0},doMsync:function(e,A,r,i){var a=new Uint8Array(x.subarray(e,e+r));eA.msync(A,a,0,r,i)},doMkdir:function(e,A){return"/"===(e=Te.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),eA.mkdir(e,A,0),0},doMknod:function(e,A,r){switch(61440&A){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-Je.EINVAL}return eA.mknod(e,A,r),0},doReadlink:function(e,A,r){if(r<=0)return-Je.EINVAL;var i=eA.readlink(e),a=Math.min(r,W(i)),t=R[A+a];return z(i,A,r+1),R[A+a]=t,a},doAccess:function(e,A){if(-8&A)return-Je.EINVAL;var r;r=eA.lookupPath(e,{follow:!0}).node;var i="";return 4&A&&(i+="r"),2&A&&(i+="w"),1&A&&(i+="x"),i&&eA.nodePermissions(r,i)?-Je.EACCES:0},doDup:function(e,A,r){var i=eA.getStream(r);return i&&eA.close(i),eA.open(e,A,0,r,r).fd},doReadv:function(e,A,r,i){for(var a=0,t=0;t>2],f=H[A+(8*t+4)>>2],l=eA.read(e,R,n,f,i);if(l<0)return-1;if(a+=l,l>2],f=H[A+(8*t+4)>>2],l=eA.write(e,R,n,f,i);if(l<0)return-1;a+=l}return a},varargs:0,get:function(e){return AA.varargs+=4,H[AA.varargs-4>>2]},getStr:function(){return Z(AA.get())},getStreamFromFD:function(){var e=eA.getStream(AA.get());if(!e)throw new eA.ErrnoError(Je.EBADF);return e},getSocketFromFD:function(){var e=SOCKFS.getSocket(AA.get());if(!e)throw new eA.ErrnoError(Je.EBADF);return e},getSocketAddress:function(e){var A=AA.get(),r=AA.get();if(e&&0===A)return null;var i=__read_sockaddr(A,r);if(i.errno)throw new eA.ErrnoError(i.errno);return i.addr=DNS.lookup_addr(i.addr)||i.addr,i},get64:function(){var e=AA.get(),A=AA.get();return v(e>=0?0===A:-1===A),e},getZero:function(){v(0===AA.get())}};function rA(e,A){AA.varargs=A;try{var r=AA.getStr();return eA.unlink(r),0}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function iA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=(AA.get(),AA.get()),a=AA.get(),t=AA.get(),n=i;return eA.llseek(r,n,t),H[a>>2]=r.position,r.getdents&&0===n&&0===t&&(r.getdents=null),0}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function aA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=AA.get(),a=AA.get();return AA.doReadv(r,i,a)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function tA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=AA.get(),a=AA.get();return AA.doWritev(r,i,a)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function nA(e,A){AA.varargs=A;try{var r,i=AA.get(),a=AA.get(),t=AA.get(),n=AA.get(),f=AA.get(),l=AA.get();l<<=12;var s=!1;if(-1===f){if(!(r=gr(K,a)))return-Je.ENOMEM;mr(r,0,a),s=!0}else{var c=eA.getStream(f);if(!c)return-Je.EBADF;var o=eA.mmap(c,x,i,a,l,t,n);r=o.ptr,s=o.allocated}return AA.mappings[r]={malloc:r,len:a,allocated:s,fd:f,flags:n},r}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function fA(e,A){AA.varargs=A;try{var r=AA.getStr(),i=AA.get();return AA.doStat(eA.stat,r,i)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function lA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=AA.get();return AA.doStat(eA.stat,r.path,i)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}var sA={ppid:1,pid:42,sid:42,pgid:42};function cA(e,A){AA.varargs=A;try{return sA.pid}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function oA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD();switch(AA.get()){case 0:return(i=AA.get())<0?-Je.EINVAL:eA.open(r.path,r.flags,0,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:var i=AA.get();return r.flags|=i,0;case 12:case 12:return i=AA.get(),J[i+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-Je.EINVAL;case 9:return He(Je.EINVAL),-1;default:return-Je.EINVAL}}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function uA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=AA.get(),a=AA.get();return eA.read(r,R,i,a)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function bA(e,A){AA.varargs=A;try{var r=AA.getStr(),i=AA.get();return AA.doAccess(r,i)}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function hA(e,A){AA.varargs=A;try{var r=AA.getStr(),i=AA.get(),a=AA.get();return eA.open(r,i,a).fd}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function wA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD(),i=AA.get();switch(i){case 21509:case 21505:return r.tty?0:-Je.ENOTTY;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return r.tty?0:-Je.ENOTTY;case 21519:if(!r.tty)return-Je.ENOTTY;var a=AA.get();return H[a>>2]=0,0;case 21520:return r.tty?-Je.EINVAL:-Je.ENOTTY;case 21531:return a=AA.get(),eA.ioctl(r,i,a);case 21523:return r.tty?0:-Je.ENOTTY;default:zr("bad ioctl syscall "+i)}}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function kA(e,A){AA.varargs=A;try{var r=AA.getStreamFromFD();return eA.close(r),0}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}function dA(e,A){AA.varargs=A;try{var r=AA.get(),i=AA.get(),a=AA.mappings[r];if(!a)return 0;if(i===a.len){var t=eA.getStream(a.fd);AA.doMsync(r,t,i,a.flags),eA.munmap(t),AA.mappings[r]=null,a.allocated&&dr(a.malloc)}return 0}catch(e){return void 0!==eA&&e instanceof eA.ErrnoError||zr(e),-e.errno}}var vA=I([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",y);function gA(){}function mA(e){A.exit(e)}function pA(e){mA(e)}var EA=S;function BA(e){var r,i;BA.called?(i=H[EA>>2],r=H[i>>2]):(BA.called=!0,yA.USER=yA.LOGNAME="web_user",yA.PATH="/",yA.PWD="/",yA.HOME="/home/web_user",yA.LANG="C.UTF-8",yA._=A.thisProgram,r=u(1024),i=u(256),H[i>>2]=r,H[EA>>2]=i);var a=[],t=0;for(var n in e)if("string"==typeof e[n]){var f=n+"="+e[n];a.push(f),t+=f.length}if(t>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var l=0;l>2]=r,r+=f.length+1;H[i+4*a.length>>2]=0}S+=16;var yA={};function CA(e){return 0===e?0:(e=Z(e),yA.hasOwnProperty(e)?(CA.ret&&dr(CA.ret),CA.ret=Y(yA[e]),CA.ret):0)}function IA(e){var A=Date.now();return H[e>>2]=A/1e3|0,H[e+4>>2]=A%1e3*1e3|0,0}var ZA=Be,GA=pe,LA=pe,QA=ye,DA=Ce,zA=Ee,WA=Ee;function YA(){zr("trap!")}function FA(e,r){throw A.setThrew(e,r||1),"longjmp"}function MA(e,A,r){return x.set(x.subarray(A,A+r),e),e}function VA(e,A,r){if(0===e)return He(Je.EINVAL),-1;var i=Z(e),a=Z(A);return""===i||-1!==i.indexOf("=")?(He(Je.EINVAL),-1):(yA.hasOwnProperty(i)&&!r||(yA[i]=a,BA(yA)),0)}function NA(e){var A=Date.now()/1e3|0;return e&&(H[e>>2]=A),A}function RA(e){return 0!==e&&mr(e,0,16),0}if(Re=s?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,eA.staticInit(),fe.unshift((function(){A.noFSInit||eA.init.initialized||eA.init()})),le.push((function(){eA.ignorePermissions=!1})),se.push((function(){eA.quit()})),fe.unshift((function(){Oe.init()})),se.push((function(){Oe.shutdown()})),s){var xA=r(5747),JA=r(5622);Ke.staticInit()}BA(yA),q=u(4),U=T=h(S),_=h(O=U+re),H[q>>2]=_,j=!0;var HA=!1;function PA(e,A,r){var i=r>0?r:W(e)+1,a=new Array(i),t=D(e,a,0,a.length);return A&&(a.length=t),a}function XA(e){for(var A=[],r=0;r255&&(HA&&v(!1,"Character code "+i+" ("+String.fromCharCode(i)+") at offset "+r+" not in 0x00-0xFF."),i&=255),A.push(String.fromCharCode(i))}return A.join("")}var SA="function"==typeof atob?atob:function(e){var A,r,i,a,t,n,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l="",s=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{A=f.indexOf(e.charAt(s++))<<2|(a=f.indexOf(e.charAt(s++)))>>4,r=(15&a)<<4|(t=f.indexOf(e.charAt(s++)))>>2,i=(3&t)<<6|(n=f.indexOf(e.charAt(s++))),l+=String.fromCharCode(A),64!==t&&(l+=String.fromCharCode(r)),64!==n&&(l+=String.fromCharCode(i))}while(s>2]=0;k=y;d=0;r=re(29,e|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;e:do{if((n|0)!=1){d=0;p=re(23,r<<3|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){r=L6(t[a>>2]|0,E|0,B|0)|0;if(!r)aA(a|0,v|0);G=v}else r=-1;if((r|0)!=1){if(!(i[194954]|0))g=0;else{d=0;r=Ae(3)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){u=0;c=0;o=0;s=0;l=0;A=p;f=p;r=G;n=0;m=74;break}g=r}d=0;r=ie(97,e|0,110064)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)!=1){t[47323]=0;A:do{if(r|0?(l=i[r>>0]|0,l<<24>>24):0){f=r;a=l;n=0;while(1){l=f+1|0;if(!(a<<24>>24))break A;switch(a<<24>>24|0){case 99:{r=8;m=16;break}case 105:{r=18;m=16;break}case 109:{r=1;m=16;break}case 114:{r=4;m=16;break}case 115:{r=2;m=16;break}default:r=n}if((m|0)==16){m=0;r=n|r;t[47323]=r}f=l;a=i[l>>0]|0;n=r}}}while(0);if(A|0){d=0;te(20,0,110068,s|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){u=0;c=g;o=0;s=0;l=0;A=p;f=p;r=G;n=0;m=74;break}}d=0;w=ie(98,e|0,0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){o=t[w+16>>2]|0;if(t[47323]&2|0){d=0;ue(26,t[15712]|0,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){u=0;c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break}}d=0;n=re(25,e|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){u=0;while(1){if(!n)break;d=0;r=ie(99,e|0,n|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){f=L6(t[a>>2]|0,E|0,B|0)|0;if(!f)aA(a|0,v|0);G=v}else f=-1;if((f|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}l=u;while(1){if(!r)break;if(!((t[47134]|0)==2?(t[(t[r+16>>2]|0)+8>>2]|0)!=0:0))m=32;A:do{if((m|0)==32){m=0;do{if(i[194954]|0){c=t[r>>2]&3;s=(t[t[((c|0)==3?r:r+48|0)+40>>2]>>2]|0)>>>4;c=(t[t[((c|0)==2?r:r+-48|0)+40>>2]>>2]|0)>>>4;if(s>>>0>c>>>0){d=0;a=te(34,g|0,c|0,s|0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){A=L6(t[f>>2]|0,E|0,B|0)|0;if(!A)aA(f|0,v|0);G=v}else A=-1;if((A|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}if(a|0)break A;d=0;be(64,g|0,c|0,s|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){f=L6(t[a>>2]|0,E|0,B|0)|0;if(!f)aA(a|0,v|0);G=v}else f=-1;if((f|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}break}else{d=0;a=te(34,g|0,s|0,c|0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){A=L6(t[f>>2]|0,E|0,B|0)|0;if(!A)aA(f|0,v|0);G=v}else A=-1;if((A|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}if(a|0)break A;d=0;be(64,g|0,s|0,c|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){f=L6(t[a>>2]|0,E|0,B|0)|0;if(!f)aA(a|0,v|0);G=v}else f=-1;if((f|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}break}}}while(0);t[p+(l<<3)+4>>2]=r;d=0;A=re(30,r|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){f=L6(t[a>>2]|0,E|0,B|0)|0;if(!f)aA(a|0,v|0);G=v}else f=-1;if((f|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}t[p+(l<<3)>>2]=A;l=l+1|0}}while(0);d=0;r=ie(100,e|0,r|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){f=L6(t[a>>2]|0,E|0,B|0)|0;if(!f)aA(a|0,v|0);G=v}else f=-1;if((f|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}}d=0;n=ie(86,e|0,n|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74;break e}u=l}d=0;s=re(31,u<<3|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){d=0;we(28,p|0,u|0,8,101);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){n=t[o>>2]|0;d=0;oe(110,n+2|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){l=t[o+16>>2]|0;A=l+(n*40|0)|0;l=l+((n+1|0)*40|0)|0;b=t[15712]|0;f=0;while(1){if((f|0)>=(u|0))break;if((f|0)>0?t[47323]&16|0:0){d=0;ue(26,b|0,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}}r=t[p+(f<<3)+4>>2]|0;c=t[r>>2]&3;n=t[(t[(t[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;r=t[(t[(t[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((n|0)==(r|0)){d=0;we(29,o|0,n|0,l|0,A|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}}else{d=0;be(65,o|0,r|0,l|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}d=0;be(65,o|0,n|0,A|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}}d=0;r=te(35,o|0,l|0,A|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}if(r|0){c=g;o=s;l=w;A=p;f=p;break e}r=s+(f<<3)|0;d=0;we(30,k|0,o|0,A|0,l|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}n=k;c=t[n+4>>2]|0;t[r>>2]=t[n>>2];t[r+4>>2]=c;d=0;oe(111,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74;break e}f=f+1|0}d=0;ce(8);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){d=0;r=re(32,w|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)!=1){t[w+20>>2]=r;d=0;r=re(33,w|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)!=1){t[w+24>>2]=r;d=0;be(66,u|0,s|0,w|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){E=G6(189296,1,E|0,B|0)|0;B=G;d=0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)!=1){c=g;o=s;l=w;A=p;f=p;r=0;n=b;m=74}else{c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=b;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=0;m=74}}else{c=g;o=s;l=w;A=p;f=p;r=G;n=0;m=74}}else{c=g;o=0;l=w;A=p;f=p;r=G;n=0;m=74}}else{u=0;c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74}}else{u=0;c=g;o=0;s=0;l=w;A=p;f=p;r=G;n=0;m=74}}else{u=0;c=g;o=0;s=0;l=0;A=p;f=p;r=G;n=0;m=74}}else{u=0;c=0;o=0;s=0;l=0;A=0;f=p;r=G;n=0;m=74}}else{u=0;c=0;o=0;s=0;l=0;A=0;f=0;r=G;n=0;m=74}}while(0);e:while(1){if((m|0)==74){m=0;if(r|0){b=n;continue}d=0;oe(112,l|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){C=n;a=f;b=A;w=l;k=s;g=o;p=c;m=u;r=G;n=C;f=a;A=b;l=w;s=k;o=g;c=p;u=m;m=74;continue}if(t[47323]&4|0){d=0;ke(8,n|0,l|0,u|0,o|0,A|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){a=n;b=f;w=A;k=l;g=s;p=o;C=c;m=u;r=G;n=a;f=b;A=w;l=k;s=g;o=p;c=C;u=m;m=74;continue}}d=0;de(10,e|0,l|0,u|0,o|0,A|0,0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){a=n;b=f;w=A;k=l;g=s;p=o;C=c;m=u;r=G;n=a;f=b;A=w;l=k;s=g;o=p;c=C;u=m;m=74;continue}b=n}if(!(i[194954]|0))r=0;else{d=0;oe(113,c|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){r=G;n=b;m=74;continue}r=0}while(1){if((r|0)>=(u|0))break;d=0;oe(105,t[o+(r<<3)+4>>2]|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,E|0,B|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){r=G;n=b;m=74;continue e}r=r+1|0}d=0;oe(105,s|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){r=G;n=b;m=74;continue}d=0;oe(114,l|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){r=G;n=b;m=74;continue}d=0;oe(105,f|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,E|0,B|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){r=G;n=b;m=74}else break}G2(E|0);h=y;return}function cA(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+64|0;w=k+32|0;b=k+16|0;l=k;s=k+48|0;Z3(110935,e)|0;Z3(110946,e)|0;o=A+16|0;u=l+8|0;f=s+4|0;n=0;while(1){if((n|0)>=(t[A>>2]|0))break;r=t[o>>2]|0;i=t[r+(n*40|0)+20>>2]|0;a=t[r+(n*40|0)+24>>2]|0;if((i|0)==(a|0)){ir(l,i);r=~~+c[l>>3];i=~~+c[u>>3]}else{tr(s,(t[i>>2]&1|0)==0?i:a,r+(n*40|0)|0);r=t[s>>2]|0;i=t[f>>2]|0}t[b>>2]=n;t[b+4>>2]=r;t[b+8>>2]=i;a3(e,110966,b)|0;n=n+1|0}a=A+4|0;i=A+20|0;r=0;while(1){if((r|0)>=(t[a>>2]|0))break;b=t[i>>2]|0;A=t[b+(r*24|0)+16>>2]|0;d=+c[b+(r*24|0)>>3];t[w>>2]=t[b+(r*24|0)+12>>2];t[w+4>>2]=A;c[w+8>>3]=d;a3(e,110986,w)|0;r=r+1|0}Z3(111008,e)|0;h=k;return}function oA(e){e=e|0;var A=0.0,r=0.0,i=0,a=0;a=t[e>>2]&3;i=t[(t[((a|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0;e=t[(t[((a|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;A=+c[i+16>>3]-+c[e+16>>3];r=+c[i+24>>3]-+c[e+24>>3];return~~(r*r+A*A)|0}function uA(e,A){e=e|0;A=A|0;return(t[e>>2]|0)-(t[A>>2]|0)|0}function bA(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+32|0;s=u;ir(u+16|0,A);c=A+32|0;o=A+36|0;n=0;while(1){if((n|0)>=(t[c>>2]|0))break;f=t[(t[o>>2]|0)+(n<<2)>>2]|0;do{if(!(i[f+36>>0]|0)){l=t[f+20>>2]|0;if((l|0)==(A|0)){Ar(s,f,t[f+24>>2]|0);Er(e,a,f,0.0)|0;break}else{Ar(s,f,l);Er(e,r,f,0.0)|0;break}}}while(0);n=n+1|0}t[e>>2]=(t[e>>2]|0)+2;h=u;return}function hA(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+32|0;f=c;ir(c+16|0,A);l=A+32|0;s=A+36|0;a=0;while(1){if((a|0)>=(t[l>>2]|0))break;n=t[(t[s>>2]|0)+(a<<2)>>2]|0;i=t[n+20>>2]|0;if((i|0)==(A|0))i=t[n+24>>2]|0;Ar(f,n,i);Er(e,r,n,0.0)|0;a=a+1|0}t[e>>2]=(t[e>>2]|0)+1;t[r+24>>2]=A;t[r+20>>2]=A;h=c;return}function wA(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0.0,o=0.0,u=0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0,B=0.0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+128|0;G=W+64|0;u=W+48|0;L=W+32|0;Q=W+16|0;D=W;n=0;f=r;while(1){if(!f)break;n=n+1|0;f=t[f+8>>2]|0}Z=KF((n*56|0)+-112|0)|0;t[G+52>>2]=0;t[G+48>>2]=0;I=r+8|0;r=t[I>>2]|0;f=t[r+8>>2]|0;n=t[r+20>>2]|0;if(t[n>>2]&1)n=t[r+24>>2]|0;Ar(u,r,n);l=r;k=r;w=0.0;b=+c[u>>3];C=0;o=0.0;B=+c[u+8>>3];while(1){y=f+8|0;if(!(t[y>>2]|0))break;p=rr(l,f)|0;Tt(A,p,t[k+12>>2]|0);g=k+36|0;m=f+36|0;if((i[g>>0]|0)==(i[m>>0]|0))if((t[y>>2]|0)==(a|0)){Ar(Q,f,p);r=Q;z=12}else{l=k;r=C;s=B}else{ir(L,p);r=L;z=12}if((z|0)==12){z=0;E=+c[r>>3];s=+c[r+8>>3];r=i[g>>0]|0;v=r<<24>>24==0;d=(k|0)==(t[I>>2]|0);if(v){if(!(i[m>>0]|0))r=0;else r=(t[f+20>>2]|0)==(p|0)?4:2;u=p+48|0;k=n+48|0;l=n+40|0;n=d?0:w>b?4:2}else{if(r<<24>>24==(i[m>>0]|0))r=0;else r=(t[f+20>>2]|0)==(p|0)?1:3;u=p+40|0;k=n+40|0;l=n+48|0;n=d?0:o>B?1:3}ar(G,v&1,+c[l>>3],+c[k>>3],+c[u>>3],n,r);k=C+1|0;n=Z+(C*56|0)|0;r=G;l=n+56|0;do{t[n>>2]=t[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(l|0));if((i[g>>0]|0)!=(i[m>>0]|0)?(t[y>>2]|0)==(a|0):0){Ar(D,f,p);u=(i[m>>0]|0)==0;r=p+40|0;n=p+48|0;w=+c[(u?n:r)>>3];ar(G,u&1,+c[(u?r:n)>>3],w,w,u?b>E?4:2:B>s?1:3,0);u=C+2|0;n=Z+(k*56|0)|0;r=G;l=n+56|0;do{t[n>>2]=t[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(l|0));n=p;l=f;w=b;b=E;r=u;o=B}else{n=p;l=f;w=b;b=E;r=k;o=B}}p=f;f=t[y>>2]|0;k=l;C=r;B=s;l=p}f=Q2(Z,C*56|0)|0;r=C+-1|0;n=0;while(1){if((n|0)>=(C|0))break;if((n|0)>0)t[f+(n*56|0)+48>>2]=f+((n+-1|0)*56|0);if((n|0)<(r|0)){z=n+1|0;t[f+(n*56|0)+52>>2]=f+(z*56|0);n=z;continue}else{n=n+1|0;continue}}t[e>>2]=C;t[e+4>>2]=f;h=W;return}function kA(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;l=Uh(25692,t[4581]|0)|0;s=e+8|0;f=0;while(1){if((f|0)>=(t[e>>2]|0))break;A=(t[s>>2]|0)+(f*72|0)|0;if(!(t[A>>2]&4)){while(1){r=t[(t[A+36>>2]|0)+8>>2]|0;if(!r)break;r=t[r+20>>2]|0;if(!r)break;if(!(t[r>>2]&1))A=r;else break}n=KF(40)|0;t[n+36>>2]=A;c[n+8>>3]=+c[A+40>>3];a=A;r=t[A>>2]|0;while(1){t[a>>2]=r|4;r=t[t[a+36>>2]>>2]|0;if(!r)break;i=t[r+24>>2]|0;if(!i)break;r=t[i>>2]|0;if(r&1|0)break;else a=i}c[n+16>>3]=+c[a+56>>3];_A(l,n,+c[A+48>>3])}f=f+1|0}return l|0}function dA(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;l=Uh(25692,t[4581]|0)|0;s=e+8|0;f=0;while(1){if((f|0)>=(t[e>>2]|0))break;A=(t[s>>2]|0)+(f*72|0)|0;if(!(t[A>>2]&2)){while(1){r=t[(t[A+36>>2]|0)+12>>2]|0;if(!r)break;r=t[r+20>>2]|0;if(!r)break;if(!(t[r>>2]&1))A=r;else break}n=KF(40)|0;t[n+36>>2]=A;c[n+8>>3]=+c[A+48>>3];a=A;r=t[A>>2]|0;while(1){t[a>>2]=r|2;r=t[(t[a+36>>2]|0)+4>>2]|0;if(!r)break;i=t[r+24>>2]|0;if(!i)break;r=t[i>>2]|0;if(r&1|0)break;else a=i}c[n+16>>3]=+c[a+64>>3];_A(l,n,+c[A+40>>3])}f=f+1|0}return l|0}function vA(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;s=r+20|0;l=r+24|0;r=0;while(1){if((r|0)>=(e|0))break;n=t[A+(r<<3)>>2]|0;f=t[A+(r<<3)+4>>2]|0;a=0;while(1){if((a|0)>=(n|0))break;c=f+(a*56|0)|0;OA(ZA(t[((i[c>>0]|0)==0?s:l)>>2]|0,c)|0,c);a=a+1|0}r=r+1|0}return}function gA(e){e=e|0;var A=0,r=0;r=e+20|0;LA(t[r>>2]|0);A=e+24|0;LA(t[A>>2]|0);QA(t[r>>2]|0);QA(t[A>>2]|0);DA(t[r>>2]|0,e);DA(t[A>>2]|0,e);zA(t[r>>2]|0);zA(t[A>>2]|0);return}function mA(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0,G=0.0,L=0,Q=0.0;C=h;h=h+224|0;u=C+176|0;o=C+208|0;B=C+160|0;y=C+128|0;s=C+96|0;g=C+64|0;m=C;b=C+32|0;p=m+8|0;c[p>>3]=1797693134862315708145274.0e284;c[m>>3]=1797693134862315708145274.0e284;E=m+24|0;c[E>>3]=-1797693134862315708145274.0e284;w=m+16|0;c[w>>3]=-1797693134862315708145274.0e284;Z3(110183,e)|0;t[u>>2]=10;t[u+4>>2]=10;a3(e,110589,u)|0;Z3(138265,e)|0;f=A+4|0;l=A+12|0;k=g+8|0;d=g+16|0;v=g+24|0;n=0;while(1){if((n|0)>=(t[f>>2]|0))break;L=(t[l>>2]|0)+(n*72|0)+40|0;t[g>>2]=t[L>>2];t[g+4>>2]=t[L+4>>2];t[g+8>>2]=t[L+8>>2];t[g+12>>2]=t[L+12>>2];t[g+16>>2]=t[L+16>>2];t[g+20>>2]=t[L+20>>2];t[g+24>>2]=t[L+24>>2];t[g+28>>2]=t[L+28>>2];G=+c[k>>3];Z=+c[d>>3];I=+c[v>>3];c[s>>3]=+c[g>>3];c[s+8>>3]=G;c[s+16>>3]=Z;c[s+24>>3]=I;a3(e,138284,s)|0;n=n+1|0}n=0;while(1){if((n|0)>=(r|0))break;L=t[a+(n<<3)+4>>2]|0;s=i+(n<<3)|0;t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[u>>2]=t[m>>2];t[u+4>>2]=t[m+4>>2];t[u+8>>2]=t[m+8>>2];t[u+12>>2]=t[m+12>>2];t[u+16>>2]=t[m+16>>2];t[u+20>>2]=t[m+20>>2];t[u+24>>2]=t[m+24>>2];t[u+28>>2]=t[m+28>>2];GA(b,e,L,o,A,u);t[m>>2]=t[b>>2];t[m+4>>2]=t[b+4>>2];t[m+8>>2]=t[b+8>>2];t[m+12>>2]=t[b+12>>2];t[m+16>>2]=t[b+16>>2];t[m+20>>2]=t[b+20>>2];t[m+24>>2]=t[b+24>>2];t[m+28>>2]=t[b+28>>2];n=n+1|0}Z3(110606,e)|0;f=A+8|0;n=0;while(1){if((n|0)>=(t[A>>2]|0))break;L=(t[f>>2]|0)+(n*72|0)+40|0;t[g>>2]=t[L>>2];t[g+4>>2]=t[L+4>>2];t[g+8>>2]=t[L+8>>2];t[g+12>>2]=t[L+12>>2];t[g+16>>2]=t[L+16>>2];t[g+20>>2]=t[L+20>>2];t[g+24>>2]=t[L+24>>2];t[g+28>>2]=t[L+28>>2];Q=+c[g>>3];I=+c[k>>3];Z=+c[d>>3];G=+c[v>>3];c[y>>3]=Q;c[y+8>>3]=I;c[y+16>>3]=Z;c[y+24>>3]=G;a3(e,138321,y)|0;c[m>>3]=+c[(+c[m>>3]>3];c[p>>3]=+c[(+c[p>>3]>3];c[w>>3]=+c[(+c[w>>3]>Z?m:g)+16>>3];c[E>>3]=+c[(+c[E>>3]>G?m:g)+24>>3];n=n+1|0}p=~~(+c[p>>3]+10.0);y=~~(+c[w>>3]+10.0);L=~~(+c[E>>3]+10.0);t[B>>2]=~~(+c[m>>3]+10.0);t[B+4>>2]=p;t[B+8>>2]=y;t[B+12>>2]=L;a3(e,110631,B)|0;h=C;return}function pA(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;R=h;h=h+112|0;D=R+88|0;Q=R+72|0;N=R+32|0;Y=R+16|0;F=R;M=R+56|0;V=R+40|0;z=t[15712]|0;E=(f|0)==0;B=F+8|0;y=Y+8|0;p=0;o=0;u=0;b=0;w=0;f=0;while(1){if((p|0)>=(r|0))break;C=t[n+(p<<3)+4>>2]|0;I=C+48|0;m=(t[(t[((t[C>>2]&3|0)==3?C:I)+40>>2]|0)+16>>2]|0)+16|0;Z=C+16|0;G=(t[Z>>2]|0)+16|0;t[Q>>2]=t[m>>2];t[Q+4>>2]=t[m+4>>2];t[Q+8>>2]=t[m+8>>2];t[Q+12>>2]=t[m+12>>2];t[D>>2]=t[G>>2];t[D+4>>2]=t[G+4>>2];t[D+8>>2]=t[G+8>>2];t[D+12>>2]=t[G+12>>2];EA(M,Q,D);t[Y>>2]=t[M>>2];t[Y+4>>2]=t[M+4>>2];t[Y+8>>2]=t[M+8>>2];t[Y+12>>2]=t[M+12>>2];G=C+-48|0;m=(t[(t[((t[C>>2]&3|0)==2?C:G)+40>>2]|0)+16>>2]|0)+16|0;g=(t[Z>>2]|0)+56|0;t[Q>>2]=t[m>>2];t[Q+4>>2]=t[m+4>>2];t[Q+8>>2]=t[m+8>>2];t[Q+12>>2]=t[m+12>>2];t[D>>2]=t[g>>2];t[D+4>>2]=t[g+4>>2];t[D+8>>2]=t[g+8>>2];t[D+12>>2]=t[g+12>>2];EA(V,Q,D);t[F>>2]=t[V>>2];t[F+4>>2]=t[V+4>>2];t[F+8>>2]=t[V+8>>2];t[F+12>>2]=t[V+12>>2];g=t[a+(p<<3)>>2]|0;m=t[a+(p<<3)+4>>2]|0;v=g*3|0;L=v+1|0;if((v|0)>=(u|0)){if(o|0)G2(f);w=$F(L<<4)|0;o=w;u=L;b=w;f=w}if(!(i[m>>0]|0)){s=+(yA(m,A)|0);l=+c[Y>>3]}else{l=+BA(m,A);s=+c[y>>3]}d=o+16|0;c[o+16>>3]=l;c[o+24>>3]=s;t[w>>2]=t[d>>2];t[w+4>>2]=t[d+4>>2];t[w+8>>2]=t[d+8>>2];t[w+12>>2]=t[d+12>>2];d=1;k=m;v=2;while(1){if((d|0)>=(g|0))break;k=m+(d*56|0)|0;if(!(i[k>>0]|0))s=+(yA(k,A)|0);else l=+BA(k,A);x=o+(v+2<<4)|0;H=o+(v+1<<4)|0;J=o+(v<<4)|0;c[J>>3]=l;c[o+(v<<4)+8>>3]=s;t[H>>2]=t[J>>2];t[H+4>>2]=t[J+4>>2];t[H+8>>2]=t[J+8>>2];t[H+12>>2]=t[J+12>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];d=d+1|0;v=v+3|0}if(!(i[k>>0]|0)){s=+(yA(k,A)|0);l=+c[F>>3]}else{l=+BA(k,A);s=+c[B>>3]}H=o+(v<<4)|0;x=v+1|0;J=o+(x<<4)|0;c[J>>3]=l;c[o+(x<<4)+8>>3]=s;t[H>>2]=t[J>>2];t[H+4>>2]=t[J+4>>2];t[H+8>>2]=t[J+8>>2];t[H+12>>2]=t[J+12>>2];if(0>1){J=Mk(t[((t[C>>2]&3|0)==3?C:I)+40>>2]|0)|0;H=Mk(t[((t[C>>2]&3|0)==2?C:G)+40>>2]|0)|0;t[N>>2]=J;t[N+4>>2]=H;a3(z,110142,N)|0}mR(C,t[((t[C>>2]&3|0)==2?C:G)+40>>2]|0,o,L,25680);if((!E?(W=t[(t[Z>>2]|0)+96>>2]|0,W|0):0)?(i[W+81>>0]|0)==0:0){t[Q>>2]=t[Y>>2];t[Q+4>>2]=t[Y+4>>2];t[Q+8>>2]=t[Y+8>>2];t[Q+12>>2]=t[Y+12>>2];t[D>>2]=t[F>>2];t[D+4>>2]=t[F+4>>2];t[D+8>>2]=t[F+8>>2];t[D+12>>2]=t[F+12>>2];JR(e,C,Q,D)}p=p+1|0}G2(b);h=R;return}function EA(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;c[A>>3]=+c[A>>3]+ +c[r>>3];i=A+8|0;c[i>>3]=+c[i>>3]+ +c[r+8>>3];t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function BA(e,A){e=e|0;A=A|0;var r=0.0,i=0;A=ZA(t[A+24>>2]|0,e)|0;i=t[A+36>>2]|0;r=+c[i+40>>3];return+((+c[i+56>>3]-r)*(+(t[e+44>>2]|0)/+((t[A+24>>2]|0)+1|0))+r)}function yA(e,A){e=e|0;A=A|0;var r=0.0,i=0;i=ZA(t[A+20>>2]|0,e)|0;A=t[i+36>>2]|0;r=+c[A+48>>3];return~~((1.0-+(t[e+44>>2]|0)/+((t[i+24>>2]|0)+1|0))*(+c[A+64>>3]-r)+r)|0}function CA(e){e=e|0;return 0}function IA(e){e=e|0;return 0}function ZA(e,A){e=e|0;A=A|0;e=L5[t[e>>2]&63](e,A+8|0,512)|0;if(!e)ge(110155,110161,423,110169);e=t[e+16>>2]|0;e=L5[t[e>>2]&63](e,A+16|0,512)|0;if(!e)ge(110180,110161,425,110169);else return e|0;return 0}function GA(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0.0,o=0,u=0,b=0,w=0.0,k=0.0,d=0.0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0.0,G=0.0,L=0.0;C=h;h=h+32|0;y=C+16|0;m=C+8|0;o=C;l=t[(t[(t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;g=t[a+4>>2]|0;if(!(i[g>>0]|0)){s=+c[l+56>>3];v=+c[l+40>>3];l=yA(g,n)|0;s=(v+s)*.5}else{s=+c[l+64>>3];v=+c[l+48>>3];l=~~((v+s)*.5);s=+BA(g,n)}I=~~s;w=+c[f>>3];d=+(I|0);w=w>3]=w;p=f+8|0;k=+c[p>>3];v=+(l|0);k=k>3]=k;E=f+16|0;s=+c[E>>3];d=s>d?s:d;c[E>>3]=d;B=f+24|0;s=+c[B>>3];v=s>v?s:v;c[B>>3]=v;t[o>>2]=I;t[o+4>>2]=l;a3(A,110682,o)|0;b=t[a>>2]|0;o=g;u=1;a=I;while(1){if((u|0)>=(b|0))break;o=g+(u*56|0)|0;if(!(i[o>>0]|0))l=yA(o,n)|0;else a=~~+BA(o,n);Z=+(a|0);L=w>3]=L;s=+(l|0);G=k>3]=G;Z=d>Z?d:Z;c[E>>3]=Z;s=v>s?v:s;c[B>>3]=s;t[m>>2]=a;t[m+4>>2]=l;a3(A,110704,m)|0;u=u+1|0;w=L;k=G;d=Z;v=s}l=t[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(i[o>>0]|0)){s=+c[l+56>>3];L=+c[l+40>>3];l=yA(o,n)|0;s=(L+s)*.5}else{s=+c[l+64>>3];L=+c[l+48>>3];l=~~((L+s)*.5);s=+BA(o,n)}I=~~s;G=+(I|0);c[f>>3]=w>3]=k>3]=d>G?d:G;c[B>>3]=v>L?v:L;t[y>>2]=I;t[y+4>>2]=l;a3(A,110718,y)|0;t[e>>2]=t[f>>2];t[e+4>>2]=t[f+4>>2];t[e+8>>2]=t[f+8>>2];t[e+12>>2]=t[f+12>>2];t[e+16>>2]=t[f+16>>2];t[e+20>>2]=t[f+20>>2];t[e+24>>2]=t[f+24>>2];t[e+28>>2]=t[f+28>>2];h=C;return}function LA(e){e=e|0;var A=0;e=Sh(e)|0;while(1){if(!e)break;A=Sh(t[e+16>>2]|0)|0;while(1){if(!A)break;t[A+32>>2]=nr(t[A+24>>2]|0)|0;A=t[A>>2]|0}e=t[e>>2]|0}return}function QA(e){e=e|0;var A=0;e=Sh(e)|0;while(1){if(!e)break;A=Sh(t[e+16>>2]|0)|0;while(1){if(!A)break;if(t[A+24>>2]|0)TA(A);A=t[A>>2]|0}e=t[e>>2]|0}return}function DA(e,A){e=e|0;A=A|0;var r=0;r=Sh(e)|0;while(1){if(!r)break;e=Sh(t[r+16>>2]|0)|0;while(1){if(!e)break;MA(e,A);e=t[e>>2]|0}r=t[r>>2]|0}return}function zA(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;i=Sh(e)|0;while(1){if(!i)break;f=i+8|0;a=Sh(t[i+16>>2]|0)|0;while(1){if(!a)break;e=a+24|0;e:do{if(t[e>>2]|0){if(t[47323]&8|0)WA(a,~~+c[f>>3]);n=a+32|0;or(t[n>>2]|0);A=t[e>>2]|0;r=a+28|0;e=0;while(1){if((e|0)>=(A|0))break e;t[(t[(t[r>>2]|0)+(e<<2)>>2]|0)+44>>2]=(t[(t[(t[n>>2]|0)+4>>2]|0)+(e*12|0)+4>>2]|0)+1;e=e+1|0}}}while(0);a=t[a>>2]|0}i=t[i>>2]|0}return}function WA(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0.0,o=0.0;l=h;h=h+32|0;r=l;n=e+24|0;e:do{if((t[n>>2]|0)>=2){f=t[15712]|0;o=+c[e+8>>3];s=+c[e+16>>3];t[r>>2]=A;c[r+8>>3]=o;c[r+16>>3]=s;a3(f,110739,r)|0;a=e+32|0;e=e+28|0;A=0;while(1){if((A|0)>=(t[n>>2]|0))break e;i=t[(t[(t[a>>2]|0)+4>>2]|0)+(A*12|0)+8>>2]|0;A:do{if(Oh(i)|0){YA(f,t[(t[e>>2]|0)+(A<<2)>>2]|0);Z3(110759,f)|0;r=L5[t[i>>2]&63](i,0,128)|0;while(1){if(!r)break A;Z3(110764,f)|0;YA(f,t[(t[e>>2]|0)+(t[r>>2]<<2)>>2]|0);Z3(153599,f)|0;r=L5[t[i>>2]&63](i,r,8)|0}}}while(0);A=A+1|0}}}while(0);h=l;return}function YA(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0.0,s=0.0,o=0.0;n=h;h=h+80|0;a=n+40|0;r=n;if(!(i[A>>0]|0)){o=+c[A+16>>3];l=+c[A+8>>3];s=+c[A+24>>3];f=FA(t[A+32>>2]|0)|0;r=FA(t[A+36>>2]|0)|0;c[a>>3]=o;c[a+8>>3]=l;c[a+16>>3]=s;c[a+24>>3]=l;t[a+32>>2]=f;t[a+36>>2]=r;a3(e,110770,a)|0}else{s=+c[A+8>>3];l=+c[A+16>>3];o=+c[A+24>>3];a=FA(t[A+32>>2]|0)|0;f=FA(t[A+36>>2]|0)|0;c[r>>3]=s;c[r+8>>3]=l;c[r+16>>3]=s;c[r+24>>3]=o;t[r+32>>2]=a;t[r+36>>2]=f;a3(e,110770,r)|0}h=n;return}function FA(e){e=e|0;switch(e|0){case 0:{e=110821;break}case 1:{e=110816;break}case 2:{e=110809;break}case 3:{e=110802;break}case 4:{e=110794;break}default:e=0}return e|0}function MA(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;E=h;h=h+16|0;d=E+8|0;g=E;m=t[e+32>>2]|0;p=t[e+28>>2]|0;w=e+24|0;o=d+4|0;u=g+4|0;l=0;e=t[w>>2]|0;e:while(1){k=l+1|0;if((k|0)>=(e|0))break;b=p+(l<<2)|0;s=k;while(1){if((s|0)>=(e|0)){l=k;continue e}A:do{if(((cr(m,l,s)|0)==0?(cr(m,s,l)|0)==0:0)?(v=p+(s<<2)|0,VA(t[b>>2]|0,t[v>>2]|0)|0):0){a=t[b>>2]|0;e=t[a+48>>2]|0;f=t[v>>2]|0;r=t[f+48>>2]|0;i=(r|0)==0;if(e)if(i)e=1;else e=+c[e+8>>3]!=+c[r+8>>3];else e=i^1;n=e&1;NA(d,a,f,0,n);e=t[d>>2]|0;f=t[o>>2]|0;a=n^1;NA(g,t[b>>2]|0,t[v>>2]|0,1,a);r=t[g>>2]|0;i=t[u>>2]|0;switch(f|0){case-1:{RA(t[v>>2]|0,t[b>>2]|0,n,0,e,A);RA(t[v>>2]|0,t[b>>2]|0,a,1,r,A);if((i|0)!=1)break A;xA(t[b>>2]|0,t[v>>2]|0,a,A);break A}case 0:switch(i|0){case-1:{RA(t[v>>2]|0,t[b>>2]|0,n,0,e,A);RA(t[v>>2]|0,t[b>>2]|0,a,1,r,A);break A}case 0:{RA(t[b>>2]|0,t[v>>2]|0,0,n,e,A);RA(t[b>>2]|0,t[v>>2]|0,1,a,r,A);break A}case 1:{RA(t[b>>2]|0,t[v>>2]|0,0,n,e,A);RA(t[b>>2]|0,t[v>>2]|0,1,a,r,A);break A}default:break A}case 1:{RA(t[b>>2]|0,t[v>>2]|0,0,n,e,A);RA(t[b>>2]|0,t[v>>2]|0,1,a,r,A);if((i|0)!=-1)break A;xA(t[b>>2]|0,t[v>>2]|0,a,A);break A}default:break A}}}while(0);s=s+1|0;e=t[w>>2]|0}}h=E;return}function VA(e,A){e=e|0;A=A|0;if(!(+c[e+8>>3]==+c[A+8>>3]))ge(110892,110161,843,110923);if((+c[e+16>>3]==+c[A+16>>3]?+c[e+24>>3]==+c[A+24>>3]:0)?(t[e+32>>2]|0)==(t[A+32>>2]|0):0)e=(t[e+36>>2]|0)==(t[A+36>>2]|0)&1;else e=0;return e|0}function NA(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;n=0;while(1){A=JA(A,i)|0;if(!A){f=0;break}r=JA(r,a)|0;if(!r){l=6;break}if(!(VA(A,r)|0)){l=7;break}n=n+1|0}if((l|0)==6)ge(138394,110161,871,110841);else if((l|0)==7)f=PA(A,HA(A,r)|0,n+1|0,1-i|0)|0;t[e>>2]=n;t[e+4>>2]=f;return}function RA(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,h=0,w=0;h=f+20|0;b=f+24|0;f=ZA(t[((i[e>>0]|0)==0?h:b)>>2]|0,e)|0;lr(t[f+32>>2]|0,t[e+40>>2]|0,t[A+40>>2]|0);s=1;while(1){if((s|0)>(n|0))break;o=JA(e,r)|0;u=JA(A,a)|0;do{if(!(i[e>>0]|0)){l=ZA(t[b>>2]|0,o)|0;if(+c[o+8>>3]==+c[e+16>>3]){w=(t[e+32>>2]|0)==1;f=(cr(t[f+32>>2]|0,t[e+40>>2]|0,t[A+40>>2]|0)|0)!=0;e=t[l+32>>2]|0;if(w)if(f){lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else{lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else if(f){lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else{lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}}else{w=(t[e+36>>2]|0)==1;f=(cr(t[f+32>>2]|0,t[e+40>>2]|0,t[A+40>>2]|0)|0)!=0;e=t[l+32>>2]|0;if(w)if(f){lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else{lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else if(f){lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else{lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}}}else{l=ZA(t[h>>2]|0,o)|0;if(+c[o+8>>3]==+c[e+16>>3]){w=(t[e+32>>2]|0)==2;f=(cr(t[f+32>>2]|0,t[e+40>>2]|0,t[A+40>>2]|0)|0)!=0;e=t[l+32>>2]|0;if(w)if(f){lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else{lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else if(f){lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else{lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}}else{w=(t[e+36>>2]|0)==2;f=(cr(t[f+32>>2]|0,t[e+40>>2]|0,t[A+40>>2]|0)|0)!=0;e=t[l+32>>2]|0;if(w)if(f){lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}else{lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else if(f){lr(e,t[o+40>>2]|0,t[u+40>>2]|0);f=l;break}else{lr(e,t[u+40>>2]|0,t[o+40>>2]|0);f=l;break}}}}while(0);e=o;A=u;s=s+1|0}return}function xA(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0;while(1){if(!(VA(e,A)|0))break;n=JA(e,1)|0;A=JA(A,r)|0;e=n}n=t[(ZA(t[((i[e>>0]|0)==0?a+20|0:a+24|0)>>2]|0,e)|0)+32>>2]|0;sr(n,t[e+40>>2]|0,t[A+40>>2]|0);return}function JA(e,A){e=e|0;A=A|0;if(!e)ge(110828,110161,798,110832);else return t[((A|0)==0?e+48|0:e+52|0)>>2]|0;return 0}function HA(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;t=h;h=h+16|0;a=t;r=i[e>>0]|0;if(r<<24>>24==(i[A>>0]|0)?!(+c[e+8>>3]!=+c[A+8>>3]):0){if(!(r<<24>>24))e=XA(e,A,3,1)|0;else e=XA(e,A,4,2)|0;h=t;return e|0}nw(1,110854,a)|0;aA(189296,1);return 0}function PA(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0;l=1;while(1){if((l|0)>(r|0))break;f=JA(e,a)|0;n=+c[f+8>>3]==+c[e+16>>3];do{if(!(i[e>>0]|0))if(n){n=(t[e+32>>2]|0)==1;break}else{n=(t[e+36>>2]|0)==3;break}else if(n){n=(t[e+32>>2]|0)==4;break}else{n=(t[e+36>>2]|0)==2;break}}while(0);e=f;l=l+1|0;A=n?0-A|0:A}return A|0}function XA(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,h=0;l=+c[e+24>>3];s=+c[A+16>>3];do{if(!(l>3],f=+c[A+24>>3],!(n>f)):0){if(s>2]|0;return((r|0)==(t[A+32>>2]|0)?0:(r|0)==(i|0)?1:-1)|0}else{r=t[e+32>>2]|0;A=(r|0)==(t[A+36>>2]|0)?0:(r|0)==(i|0)?1:-1;break}if(!(l==f))if(l>2]|0)==(r|0);r=UA(t[A+32>>2]|0,t[e+32>>2]|0,r,i)|0;return(h?r:0-r|0)|0}else{h=(t[A+36>>2]|0)==(i|0);A=UA(t[e+32>>2]|0,t[A+32>>2]|0,r,i)|0;A=h?A:0-A|0;break}h=t[e+32>>2]|0;b=t[A+32>>2]|0;if((h|0)==(b|0)){A=t[A+36>>2]|0;if((t[e+36>>2]|0)==(A|0)){A=0;break}}else A=t[A+36>>2]|0;u=(b|0)==(r|0);if((b|0)==(A|0)){if(u){A=1;break}if((b|0)==(i|0)){A=-1;break}if((h|0)!=(r|0)?(t[e+36>>2]|0)!=(r|0):0){A=1;break}if((h|0)!=(i|0)?(t[e+36>>2]|0)!=(i|0):0){A=-1;break}A=0;break}a=(A|0)==(i|0);if(u&a){A=(t[e+36>>2]|0)==(i|0);if((h|0)==(r|0)){if(!A){A=-1;break}}else if(A){A=1;break}A=0;break}o=(A|0)==(r|0);if((b|0)==(i|0)&o){A=(h|0)==(i|0);if((t[e+36>>2]|0)==(r|0)){if(!A){A=-1;break}}else if(A){A=1;break}A=0;break}if(!b){if(o){A=jA(h,t[e+36>>2]|0,r)|0;break}if(a){A=0-(jA(h,t[e+36>>2]|0,i)|0)|0;break}}a=t[e+36>>2]|0;if(u&(A|0)==0){A=jA(a,h,r)|0;break}else{A=0-(jA(a,h,i)|0)|0;break}}else A=0}while(0);return A|0}function SA(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0.0;f=+c[e+24>>3];l=+c[A+24>>3];do{if(f>2]|0;if((e|0)==(r|0)?(t[A+32>>2]|0)==(i|0):0){e=-1;break}if((e|0)==(i|0)?(t[A+32>>2]|0)==(r|0):0){e=1;break}e=0}else{a=t[A+32>>2]|0;n=(a|0)==(i|0);if(f==l)if(n){e=UA(t[e+36>>2]|0,t[A+36>>2]|0,r,i)|0;break}else{e=0-(UA(t[A+36>>2]|0,t[e+36>>2]|0,r,i)|0)|0;break}if(n?(t[A+36>>2]|0)==(i|0):0){e=-1;break}if((a|0)==(r|0)?(t[A+36>>2]|0)==(r|0):0){e=1;break}e=0}}while(0);return e|0}function jA(e,A,r){e=e|0;A=A|0;r=r|0;return((e|0)==(r|0)?((A|0)==(r|0))<<31>>31:1)|0}function UA(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;if((e|0)==(i|0)){A=(e|0)==0;if(A)return 0;else A=A&1}return((e|0)!=0|(A|0)!=(r|0))<<31>>31|0}function TA(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;n=t[e+28>>2]|0;f=t[e+24>>2]|0;r=t[e+32>>2]|0;e=0;e:while(1){i=e+1|0;if((i|0)>=(f|0))break;a=n+(e<<2)|0;A=i;while(1){if((A|0)==(f|0)){e=i;continue e}switch(HA(t[a>>2]|0,t[n+(A<<2)>>2]|0)|0){case 1:{lr(r,e,A);break}case-1:{lr(r,A,e);break}default:{}}A=A+1|0}}return}function OA(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+24|0;i=t[a>>2]|0;r=i+1|0;t[a>>2]=r;t[A+40>>2]=i;i=e+28|0;e=t[i>>2]|0;if(!e)e=$F(r<<2)|0;else e=AM(e,r<<2)|0;t[i>>2]=e;t[e+((t[a>>2]|0)+-1<<2)>>2]=A;return}function _A(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,n=0;n=h;h=h+16|0;a=n;c[a>>3]=r;i=L5[t[e>>2]&63](e,a,512)|0;if(!i){i=KF(24)|0;c[i+8>>3]=+c[a>>3];t[i+16>>2]=Uh(25728,t[4581]|0)|0;L5[t[e>>2]&63](e,i,1)|0}a=t[i+16>>2]|0;L5[t[a>>2]&63](a,A,1)|0;h=n;return}function qA(e,A,r){e=e|0;A=A|0;r=r|0;fr(t[A+32>>2]|0);G2(t[A+28>>2]|0);G2(A);return}function KA(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0;a=+c[A>>3];t=+c[r>>3];if(!(a>t))if(a>3]>=+c[r+8>>3])<<31>>31;else e=0;else e=!(+c[A+8>>3]<=+c[r+8>>3])&1;return e|0}function $A(e,A,r){e=e|0;A=A|0;r=r|0;Ph(t[A+16>>2]|0)|0;G2(A);return}function er(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0;t=+c[A>>3];a=+c[r>>3];return(t>a?1:(t>31)|0}function Ar(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0.0,f=0,l=0;f=(i[A+36>>0]|0)!=0;l=r+40|0;do{if((t[A+24>>2]|0)==(r|0)){a=+c[l>>3];if(f){n=(+c[r+64>>3]+ +c[r+48>>3])*.5;break}else{n=+c[r+48>>3];a=(+c[r+56>>3]+a)*.5;break}}else if(f){n=(+c[r+64>>3]+ +c[r+48>>3])*.5;a=+c[r+56>>3];break}else{n=+c[r+64>>3];a=(+c[r+56>>3]+ +c[l>>3])*.5;break}}while(0);c[e>>3]=a;c[e+8>>3]=n;return}function rr(e,A){e=e|0;A=A|0;var r=0;r=t[e+20>>2]|0;if((r|0)!=(t[A+20>>2]|0)?(r|0)!=(t[A+24>>2]|0):0)r=t[e+24>>2]|0;return r|0}function ir(e,A){e=e|0;A=A|0;var r=0.0;r=(+c[A+64>>3]+ +c[A+48>>3])*.5;c[e>>3]=(+c[A+56>>3]+ +c[A+40>>3])*.5;c[e+8>>3]=r;return}function ar(e,A,r,a,n,f,l){e=e|0;A=A|0;r=+r;a=+a;n=+n;f=f|0;l=l|0;var s=0,o=0;i[e>>0]=A;c[e+8>>3]=r;if(a>3]=a;c[e+16>>3]=r;t[e+36>>2]=A;t[e+32>>2]=o;i[e+1>>0]=s;return}function tr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=t[A+36>>2]|0;do{if((t[i+4>>2]|0)!=(r|0)){if((t[i+12>>2]|0)==(r|0)){i=~~((+c[A+56>>3]+ +c[A+40>>3])*.5);r=~~+c[A+48>>3];break}if((t[i+8>>2]|0)==(r|0)){i=~~+c[A+40>>3];r=~~((+c[A+64>>3]+ +c[A+48>>3])*.5);break}if((t[i>>2]|0)==(r|0)){i=~~+c[A+56>>3];r=~~((+c[A+64>>3]+ +c[A+48>>3])*.5)}else{i=0;r=0}}else{i=~~((+c[A+56>>3]+ +c[A+40>>3])*.5);r=~~+c[A+64>>3]}}while(0);t[e>>2]=i;t[e+4>>2]=r;return}function nr(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;r=KF(8)|0;t[r>>2]=e;i=r+4|0;t[i>>2]=KF(e*12|0)|0;A=0;while(1){if((A|0)>=(e|0))break;n=Wt()|0;a=t[i>>2]|0;t[a+(A*12|0)+8>>2]=n;t[a+(A*12|0)>>2]=0;A=A+1|0}return r|0}function fr(e){e=e|0;var A=0,r=0,i=0;r=e+4|0;A=0;while(1){i=t[r>>2]|0;if((A|0)>=(t[e>>2]|0))break;Ph(t[i+(A*12|0)+8>>2]|0)|0;A=A+1|0}G2(i);G2(e);return}function lr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=t[(t[e+4>>2]|0)+(A*12|0)+8>>2]|0;L5[t[r>>2]&63](r,a,1)|0;h=i;return}function sr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=h;h=h+16|0;a=i;t[a>>2]=r;e=e+4|0;n=t[(t[e>>2]|0)+(A*12|0)+8>>2]|0;L5[t[n>>2]&63](n,a,2)|0;t[a>>2]=A;r=t[(t[e>>2]|0)+(r*12|0)+8>>2]|0;L5[t[r>>2]&63](r,a,2)|0;h=i;return}function cr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=t[(t[e+4>>2]|0)+(A*12|0)+8>>2]|0;r=(L5[t[r>>2]&63](r,a,512)|0)!=0&1;h=i;return r|0}function or(e){e=e|0;var A=0,r=0,i=0,a=0;A=t[e>>2]|0;switch(A|0){case 0:break;case 1:{t[(t[e+4>>2]|0)+4>>2]=0;break}default:{i=ur(A)|0;a=e+4|0;r=0;A=0;while(1){if((r|0)>=(t[e>>2]|0)){A=0;break}if(!(t[(t[a>>2]|0)+(r*12|0)>>2]|0))A=br(e,r,A,i)|0;r=r+1|0}while(1){r=hr(i)|0;if((r|0)<=-1)break;t[(t[a>>2]|0)+(r*12|0)+4>>2]=A;A=A+1|0}wr(i)}}return}function ur(e){e=e|0;var A=0;A=KF(8)|0;t[A+4>>2]=KF(e<<2)|0;t[A>>2]=-1;return A|0}function br(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;l=e+4|0;n=t[l>>2]|0;s=n+(A*12|0)|0;t[s>>2]=1;n=t[n+(A*12|0)+8>>2]|0;f=n+4|0;r=r+1|0;n=Sh(n)|0;while(1){if(!n)break;a=t[(t[f>>2]|0)+8>>2]|0;if((a|0)<0)a=t[n+8>>2]|0;else a=n+(0-a)|0;a=t[a>>2]|0;if(!(t[(t[l>>2]|0)+(a*12|0)>>2]|0))r=br(e,a,r,i)|0;n=t[n>>2]|0}t[s>>2]=2;kr(i,A);return r+1|0}function hr(e){e=e|0;var A=0,r=0;A=t[e>>2]|0;if((A|0)==-1)e=-1;else{r=t[(t[e+4>>2]|0)+(A<<2)>>2]|0;t[e>>2]=A+-1;e=r}return e|0}function wr(e){e=e|0;G2(t[e+4>>2]|0);G2(e);return}function kr(e,A){e=e|0;A=A|0;var r=0;r=(t[e>>2]|0)+1|0;t[e>>2]=r;t[(t[e+4>>2]|0)+(r<<2)>>2]=A;return}function dr(e){e=e|0;var A=0,r=0,i=0;r=t[e>>2]|0;t[e+8>>2]=r;t[e+12>>2]=t[e+4>>2];A=e+16|0;e=0;while(1){if((e|0)>=(r|0))break;i=t[A>>2]|0;a[i+(e*40|0)+18>>1]=a[i+(e*40|0)+16>>1]|0;e=e+1|0}return}function vr(e){e=e|0;var A=0,r=0,i=0;A=t[e+8>>2]|0;t[e>>2]=A;t[e+4>>2]=t[e+12>>2];r=e+16|0;e=0;while(1){if((e|0)>=(A|0))break;i=t[r>>2]|0;a[i+(e*40|0)+16>>1]=a[i+(e*40|0)+18>>1]|0;e=e+1|0}A=A+2|0;while(1){if((e|0)>=(A|0))break;a[(t[r>>2]|0)+(e*40|0)+16>>1]=0;e=e+1|0}return}function gr(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=KF(((t[e>>2]|0)*6|0)+(A<<1)<<2)|0;t[e+20>>2]=KF((((t[e>>2]|0)*3|0)+A|0)*24|0)|0;i=t[e>>2]|0;a=e+16|0;e=0;while(1){if((e|0)>=(i|0))break;t[(t[a>>2]|0)+(e*40|0)+28>>2]=r;r=r+24|0;e=e+1|0}i=i+2|0;while(1){if((e|0)>=(i|0))break;t[(t[a>>2]|0)+(e*40|0)+28>>2]=r;r=r+(A<<2)|0;e=e+1|0}return}function mr(e){e=e|0;var A=0;A=KF(24)|0;t[A>>2]=0;t[A+16>>2]=KF(e*40|0)|0;return A|0}function pr(e){e=e|0;var A=0,r=0;r=t[e+16>>2]|0;A=t[e>>2]|0;t[r+(A*40|0)+32>>2]=A;t[e>>2]=A+1;return r+(A*40|0)|0}function Er(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,n=0;n=e+4|0;a=t[n>>2]|0;t[n>>2]=a+1;n=t[e+20>>2]|0;e=n+(a*24|0)|0;t[n+(a*24|0)+12>>2]=t[A+32>>2];t[n+(a*24|0)+16>>2]=t[r+32>>2];c[e>>3]=i;t[n+(a*24|0)+8>>2]=0;Br(A,a);Br(r,a);return e|0}function Br(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+16|0;i=a[r>>1]|0;t[(t[e+28>>2]|0)+(i<<16>>16<<2)>>2]=A;a[r>>1]=i+1<<16>>16;return}function yr(e){e=e|0;var A=0;A=e+16|0;G2(t[(t[A>>2]|0)+28>>2]|0);G2(t[A>>2]|0);G2(t[e+20>>2]|0);G2(e);return}function Cr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;n=t[e>>2]|0;f=e+16|0;i=0;while(1){if((i|0)>=(n|0))break;t[(t[f>>2]|0)+(i*40|0)>>2]=-2147483648;i=i+1|0}Jt();e:do{if(!(Xt(A)|0)){t[A+8>>2]=0;t[A>>2]=0;A=e+20|0;A:while(1){n=jt()|0;if(!n){i=0;break e}t[n>>2]=0-(t[n>>2]|0);if((n|0)==(r|0)){i=0;break e}f=n+16|0;l=n+28|0;i=0;while(1){if((i|0)>=(a[f>>1]|0))continue A;s=(t[A>>2]|0)+((t[(t[l>>2]|0)+(i<<2)>>2]|0)*24|0)|0;o=Ir(e,s,n)|0;u=t[o>>2]|0;do{if((u|0)<0){b=~~-(+c[s>>3]+ +(t[n>>2]|0));if((u|0)==-2147483648){t[o>>2]=b;if(Xt(o)|0){i=1;break e}t[o+8>>2]=n;t[o+12>>2]=s;break}else{if((u|0)>=(b|0))break;Ut(o,b);t[o+8>>2]=n;t[o+12>>2]=s;break}}}while(0);i=i+1|0}}}else i=1}while(0);return i|0}function Ir(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=t[A+12>>2]|0;if((i|0)==(t[r+32>>2]|0))i=t[A+16>>2]|0;return(t[e+16>>2]|0)+(i*40|0)|0}function Zr(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;n=t[e>>2]|0;Vm(n,3,A)|0;A=t[n+92>>2]|0;do{if(A){r=t[A+16>>2]|0;f=t[r+12>>2]|0;t[e+76>>2]=f;i=t[r+16>>2]|0;t[e+84>>2]=i;a=e+80|0;t[a>>2]=t[r>>2];t[e+88>>2]=t[A+4>>2];r=e+152|0;i=t[r>>2]|t[i>>2];t[r>>2]=i;A=t[n+80>>2]|0;if(!A){t[e+60>>2]=0;A=999;break}else{n=t[A+16>>2]|0;t[e+60>>2]=t[n+12>>2];l=t[n+16>>2]|0;t[e+68>>2]=l;t[e+72>>2]=t[A+4>>2];t[r>>2]=i|t[l>>2];t[e+64>>2]=t[((f|0)==0?a:n)>>2];A=300;break}}else A=999}while(0);return A|0}function Gr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(!(cm(e)|0))if((A|0)!=0?(r=t[A>>2]|0,(r|0)!=0):0){F5[r&127](e);e=0}else e=0;else e=1;return e|0}function Lr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+4>>2]|0,r|0):0)F5[r&127](e);t[(t[e>>2]|0)+24>>2]=0;vm(e);return}function Qr(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0.0,f=0.0;i=+c[A+504>>3];a=+c[A+512>>3];f=+c[A+352>>3];if(!(t[A+360>>2]|0)){n=+c[r>>3]+i;r=r+8|0;i=a}else n=-(a+ +c[r+8>>3]);a=+c[A+528>>3]*f*(+c[r>>3]+i);c[e>>3]=+c[A+520>>3]*f*n;c[e+8>>3]=a;return}function Dr(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0.0,s=0.0;a=+c[e+504>>3];n=+c[e+512>>3];f=+c[e+352>>3];l=+c[e+520>>3]*f;f=+c[e+528>>3]*f;e:do{if(!(t[e+360>>2]|0)){e=0;while(1){if((e|0)>=(i|0))break e;c[r+(e<<4)>>3]=(+c[A+(e<<4)>>3]+a)*l;c[r+(e<<4)+8>>3]=(+c[A+(e<<4)+8>>3]+n)*f;e=e+1|0}}else{e=0;while(1){if((e|0)>=(i|0))break e;s=-(l*(+c[A+(e<<4)+8>>3]+n));c[r+(e<<4)+8>>3]=(+c[A+(e<<4)>>3]+a)*f;c[r+(e<<4)>>3]=s;e=e+1|0}}}while(0);return r|0}function zr(e,A){e=e|0;A=A|0;var r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+8>>2]|0,r|0):0)F5[r&127](e);return}function Wr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+12>>2]|0,r|0):0)F5[r&127](e);dm(e);return}function Yr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+24>>2]|0,r|0):0)F5[r&127](e);return}function Fr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+28>>2]|0,r|0):0)F5[r&127](e);return}function Mr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+16>>2]|0,r|0):0){A=t[e+160>>2]|0;R5[r&31](e,t[(t[(t[e>>2]|0)+308>>2]|0)+(A<<2)>>2]|0,A,t[e+156>>2]|0)}return}function Vr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+20>>2]|0,r|0):0)F5[r&127](e);return}function Nr(e,A){e=e|0;A=A|0;var r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+32>>2]|0,r|0):0)F5[r&127](e);return}function Rr(e,A){e=e|0;A=A|0;var r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+36>>2]|0,r|0):0)F5[r&127](e);return}function xr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+40>>2]|0,r|0):0)F5[r&127](e);return}function Jr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+44>>2]|0,r|0):0)F5[r&127](e);return}function Hr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+48>>2]|0,r|0):0)F5[r&127](e);return}function Pr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+52>>2]|0,r|0):0)F5[r&127](e);return}function Xr(e,A){e=e|0;A=A|0;var r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+56>>2]|0,r|0):0)F5[r&127](e);return}function Sr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+60>>2]|0,r|0):0)F5[r&127](e);return}function jr(e,A){e=e|0;A=A|0;var r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+64>>2]|0,r|0):0)F5[r&127](e);return}function Ur(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+68>>2]|0,r|0):0)F5[r&127](e);return}function Tr(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;n=t[e+60>>2]|0;if(n|0?(f=t[n+72>>2]|0,f|0):0)x5[f&15](e,A,r,i,a);return}function Or(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+76>>2]|0,r|0):0)F5[r&127](e);return}function _r(e,A){e=e|0;A=A|0;var r=0,i=0;r=t[e+60>>2]|0;if(r|0?(i=t[r+80>>2]|0,i|0):0)M5[i&63](e,A);return}function qr(e){e=e|0;var A=0,r=0;A=t[e+60>>2]|0;if(A|0?(r=t[A+84>>2]|0,r|0):0)F5[r&127](e);return}function Kr(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0;c=h;h=h+48|0;a=c+32|0;f=c;l=c+16|0;s=t[e+60>>2]|0;o=t[r>>2]|0;do{if(o|0?i[o>>0]|0:0){o=t[e+16>>2]|0;if(o|0?(t[o+144>>2]|0)==0:0)break;if(!(t[e+152>>2]&8192)){t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];Qr(l,e,a);t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];t[f+8>>2]=t[l+8>>2];t[f+12>>2]=t[l+12>>2]}else{t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2]}if(s|0?(n=t[s+88>>2]|0,n|0):0){t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2];V5[n&127](e,a,r)}}}while(0);h=c;return}function $r(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;a=t[e+60>>2]|0;n=(t[e+16>>2]|0)+16|0;l=C1(A,58)|0;f=(l|0)!=0;if(f)i[l>>0]=0;if(a|0?(ei(t[e+68>>2]|0,A,n),r=t[a+92>>2]|0,r|0):0)M5[r&63](e,n);if(f)i[l>>0]=58;return}function ei(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+32|0;n=c+16|0;s=c+8|0;l=c;t[r>>2]=A;t[r+32>>2]=5;i=da(A)|0;a=t[e+16>>2]|0;if(!((a|0)!=0?(r8(i,a,t[e+20>>2]|0,4,102)|0)!=0:0))f=3;e:do{if((f|0)==3){switch(va(A,r,t[e+24>>2]|0)|0){case 0:break e;case 1:break;default:{nw(1,111046,n)|0;break e}}e=$F((U2(A)|0)+16|0)|0;t[l>>2]=A;T4(e,111011,l)|0;if(aF(e)|0){t[s>>2]=A;nw(0,111020,s)|0}G2(e)}}while(0);h=c;return}function Ai(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;a=t[e+60>>2]|0;n=(t[e+16>>2]|0)+56|0;l=C1(A,58)|0;f=(l|0)!=0;if(f)i[l>>0]=0;if(a|0?(ei(t[e+68>>2]|0,A,n),r=t[a+92>>2]|0,r|0):0)M5[r&63](e,n);if(f)i[l>>0]=58;return}function ri(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,n=0,f=0,l=0;n=t[e+60>>2]|0;f=e+16|0;l=(t[f>>2]|0)+96|0;if(n|0?(ei(t[e+68>>2]|0,A,l),a=t[n+92>>2]|0,a|0):0)M5[a&63](e,l);l=t[f>>2]|0;t[l+136>>2]=r;s[l+140>>2]=i;return}function ii(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+16|0;s=o;l=t[e+60>>2]|0;e=t[e+16>>2]|0;t[e+160>>2]=A;e:do{if((A|0)!=0&(l|0)!=0){l=e+144|0;f=e+152|0;n=e+148|0;e=A;A:while(1){a=e+4|0;e=t[e>>2]|0;if(!e)break e;r:do{switch(i[e>>0]|0){case 115:{if(!(e1(e,111067)|0)){t[l>>2]=3;e=a;continue A}if(!(e1(e,111088)|0)){r=115;while(1){A=e+1|0;if(!(r<<24>>24))break;e=A;r=i[A>>0]|0}c[f>>3]=+$3(A);e=a;continue A}break}case 100:{if(!(e1(e,137327)|0)){t[l>>2]=1;e=a;continue A}if(!(e1(e,137320)|0)){t[l>>2]=2;e=a;continue A}break}case 105:{if(e1(e,134335)|0?e1(e,111073)|0:0)break r;t[l>>2]=0;e=a;continue A}case 98:{if(!(e1(e,111083)|0)){c[f>>3]=2.0;e=a;continue A}break}case 102:{if(!(e1(e,111101)|0)){t[n>>2]=1;e=a;continue A}break}case 117:{if(!(e1(e,111108)|0)){t[n>>2]=0;e=a;continue A}break}case 116:{if(!(e1(e,111117)|0)){e=a;continue A}break}default:{}}}while(0);t[s>>2]=e;nw(0,111125,s)|0;e=a}}}while(0);h=o;return}function ai(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+32|0;n=l;r=t[e+60>>2]|0;if((r|0?(f=r+96|0,a=t[f>>2]|0,a|0):0)?t[(t[e+16>>2]|0)+144>>2]|0:0){r=A+16|0;c[n>>3]=(+c[r>>3]+ +c[A>>3])*.5;c[n+8>>3]=(+c[A+24>>3]+ +c[A+8>>3])*.5;A=n+16|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];if(!(t[e+152>>2]&8192)){Dr(e,n,n,2)|0;a=t[f>>2]|0}V5[a&127](e,n,i)}h=l;return}function ti(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+48|0;o=b;a=t[e+60>>2]|0;if((a|0?(u=a+100|0,t[u>>2]|0):0)?(c=e+16|0,s=t[c>>2]|0,t[s+144>>2]|0):0){if(!(i&4)){a=i;n=0}else{a=i&-5;i=s+16|0;n=o;f=i;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0));n=i;f=s+56|0;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0));n=1}if(!(t[e+152>>2]&8192)){i=r+10|0;if((t[47363]|0)<(r|0)){t[47363]=i;i=AM(t[47364]|0,i<<4)|0;t[47364]=i}else i=t[47364]|0;Dr(e,A,i,r)|0;R5[t[u>>2]&31](e,i,r,a)}else R5[t[u>>2]&31](e,A,r,a);if(n|0){n=(t[c>>2]|0)+16|0;f=o;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0))}}h=b;return}function ni(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=h;h=h+64|0;a=i;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];n=a+32|0;A=A+16|0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];c[a+16>>3]=+c[a>>3];c[a+24>>3]=+c[a+40>>3];c[a+48>>3]=+c[n>>3];c[a+56>>3]=+c[a+8>>3];ti(e,a,4,r);h=i;return}function fi(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0;l=t[e+60>>2]|0;do{if((l|0?(s=l+104|0,f=t[s>>2]|0,f|0):0)?t[(t[e+16>>2]|0)+144>>2]|0:0){if(t[e+152>>2]&8192|0){J5[f&15](e,A,r,i,a,n&255);break}f=r+10|0;if((t[47363]|0)<(r|0)){t[47363]=f;f=AM(t[47364]|0,f<<4)|0;t[47364]=f}else f=t[47364]|0;Dr(e,A,f,r)|0;J5[t[s>>2]&15](e,f,r,i,a,n&255)}}while(0);return}function li(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=t[e+60>>2]|0;do{if((i|0?(n=i+108|0,a=t[n>>2]|0,a|0):0)?t[(t[e+16>>2]|0)+144>>2]|0:0){if(t[e+152>>2]&8192|0){V5[a&127](e,A,r);break}i=r+10|0;if((t[47363]|0)<(r|0)){t[47363]=i;i=AM(t[47364]|0,i<<4)|0;t[47364]=i}else i=t[47364]|0;Dr(e,A,i,r)|0;V5[t[n>>2]&127](e,i,r)}}while(0);return}function si(e,A){e=e|0;A=A|0;var r=0,a=0;r=t[e+60>>2]|0;if((A|0?!((r|0)==0|(i[A>>0]|0)==0):0)?(a=t[r+112>>2]|0,a|0):0)M5[a&63](e,A);return}function ci(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0.0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0,g=0.0,m=0.0,p=0.0,E=0.0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0;D=h;h=h+112|0;Z=D+64|0;Q=D;u=D+96|0;B=D+48|0;y=D+32|0;G=t[e+60>>2]|0;if(!e)ge(111282,111178,691,111189);if(!A)ge(111208,111178,692,111189);if(!(i[A>>0]|0))ge(111213,111178,693,111189);L=Rm(A)|0;if(!L){if((G|0)!=0&(CN(A)|0)!=0?(o=t[G+116>>2]|0,o|0):0)x5[o&15](e,A,r,a,n&255)}else{v=e+432|0;t[Z>>2]=t[v>>2];t[Z+4>>2]=t[v+4>>2];t[Z+8>>2]=t[v+8>>2];t[Z+12>>2]=t[v+12>>2];Hm(u,L,Z);v=t[u>>2]|0;o=t[u+4>>2]|0;if(!((v|0)<1&(o|0)<1)){u=Q+16|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];t[Q>>2]=t[r>>2];t[Q+4>>2]=t[r+4>>2];t[Q+8>>2]=t[r+8>>2];t[Q+12>>2]=t[r+12>>2];C=Q+8|0;I=Q+24|0;A=1;while(1){if((A|0)>=(a|0))break;z=r+(A<<4)|0;p=+c[z>>3];c[Q>>3]=+c[(+c[Q>>3]>3];E=+c[r+(A<<4)+8>>3];c[C>>3]=+c[(+c[C>>3]>3];c[u>>3]=+c[(+c[u>>3]>p?u:z)>>3];c[I>>3]=+c[(+c[I>>3]>E?u:z)+8>>3];A=A+1|0}s=+c[u>>3];l=+c[Q>>3];g=s-l;m=+c[I>>3];p=+c[C>>3];E=m-p;b=+(o|0);w=+(v|0);k=g/w;d=E/b;e:do{switch(oi(f)|0){case 1:if(k>3]=l;s=s-g;c[u>>3]=s}if(b>3]=p+E;c[I>>3]=m-E}if(!(t[e+152>>2]&8192)){t[Z>>2]=t[Q>>2];t[Z+4>>2]=t[Q+4>>2];t[Z+8>>2]=t[Q+8>>2];t[Z+12>>2]=t[Q+12>>2];Qr(B,e,Z);t[Q>>2]=t[B>>2];t[Q+4>>2]=t[B+4>>2];t[Q+8>>2]=t[B+8>>2];t[Q+12>>2]=t[B+12>>2];t[Z>>2]=t[u>>2];t[Z+4>>2]=t[u+4>>2];t[Z+8>>2]=t[u+8>>2];t[Z+12>>2]=t[u+12>>2];Qr(y,e,Z);t[u>>2]=t[y>>2];t[u+4>>2]=t[y+4>>2];t[u+8>>2]=t[y+8>>2];t[u+12>>2]=t[y+12>>2];s=+c[u>>3];l=+c[Q>>3]}if(l>s){c[Q>>3]=s;c[u>>3]=l}l=+c[C>>3];s=+c[I>>3];if(l>s){c[C>>3]=s;c[I>>3]=l}if(G|0){z=t[e+72>>2]|0;t[Z>>2]=t[Q>>2];t[Z+4>>2]=t[Q+4>>2];t[Z+8>>2]=t[Q+8>>2];t[Z+12>>2]=t[Q+12>>2];t[Z+16>>2]=t[Q+16>>2];t[Z+20>>2]=t[Q+20>>2];t[Z+24>>2]=t[Q+24>>2];t[Z+28>>2]=t[Q+28>>2];wi(e,L,Z,n,z)}}}h=D;return}function oi(e){e=e|0;if(i[e>>0]|0)if(N1(e,141116)|0)if(N1(e,141048)|0)if(!(N1(e,111221)|0))e=4;else e=(mx(e)|0)<<24>>24!=0&1;else e=3;else e=2;else e=0;return e|0}function ui(e,A){e=e|0;A=+A;if(t[e+60>>2]|0)c[(t[e+16>>2]|0)+152>>3]=A;return}function bi(e,A){e=e|0;A=A|0;A=Vm(e,1,A)|0;if(!A)A=999;else{A=t[A+16>>2]|0;t[e+184>>2]=t[A+4>>2];t[e+172>>2]=t[A+12>>2];t[e+176>>2]=t[A>>2];t[e+180>>2]=t[A+16>>2];A=300}return A|0}function hi(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;a=l;Sd(A,137483,280,1)|0;n=A+16|0;t[(t[n>>2]|0)+144>>2]=e;if((yd(A)|0)!=(A|0))t[(t[(yd(A)|0)+16>>2]|0)+144>>2]=e;i=Hw(A,111226)|0;r=e+172|0;if((i|0)!=0?(t[r>>2]=0,(bi(e,i)|0)==999):0){r=Nm(e,1,i)|0;t[a>>2]=i;t[a+4>>2]=r;nw(1,111233,a)|0;r=-1}else{i=t[r>>2]|0;if(!i)r=-1;else{nF(1);WF(A,t[t[e+180>>2]>>2]&1);r=t[(t[n>>2]|0)+8>>2]|0;t[(t[(yd(A)|0)+16>>2]|0)+8>>2]=r;wR();r=t[i>>2]|0;if(r|0?(F5[r&127](A),f=t[i+4>>2]|0,f|0):0)t[(t[n>>2]|0)+148>>2]=f;nF(0);r=0}}h=l;return r|0}function wi(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+176|0;c=u+8|0;s=u;f=u+40|0;if(!e)ge(111282,111286,52,111300);if(!A)ge(111312,111286,53,111300);l=t[A+8>>2]|0;if(!l)ge(111315,111286,54,111300);if(!(i[l>>0]|0))ge(111324,111286,55,111300);$1(f,t[A+28>>2]|0)|0;l=f+(U2(f)|0)|0;i[l>>0]=58;i[l+1>>0]=0;b3(f,n)|0;if((ki(e,f)|0)==999){t[s>>2]=f;nw(0,111336,s)|0}n=t[e+92>>2]|0;if(n|0?(o=t[n>>2]|0,o|0):0){t[c>>2]=t[r>>2];t[c+4>>2]=t[r+4>>2];t[c+8>>2]=t[r+8>>2];t[c+12>>2]=t[r+12>>2];t[c+16>>2]=t[r+16>>2];t[c+20>>2]=t[r+20>>2];t[c+24>>2]=t[r+24>>2];t[c+28>>2]=t[r+28>>2];R5[o&31](e,A,c,a)}h=u;return}function ki(e,A){e=e|0;A=A|0;A=Vm(t[e>>2]|0,4,A)|0;if(!A)A=999;else{A=t[A+16>>2]|0;t[e+92>>2]=t[A+12>>2];t[e+96>>2]=t[A>>2];A=300}return A|0}function di(e){e=e|0;return 1}function vi(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+336|0;c[A>>3]=+c[A>>3]+10.0/+c[e+352>>3];i[e+537>>0]=1;return 0}function gi(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+336|0;c[A>>3]=+c[A>>3]-10.0/+c[e+352>>3];i[e+537>>0]=1;return 0}function mi(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+344|0;c[A>>3]=+c[A>>3]-10.0/+c[e+352>>3];i[e+537>>0]=1;return 0}function pi(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+344|0;c[A>>3]=+c[A>>3]+10.0/+c[e+352>>3];i[e+537>>0]=1;return 0}function Ei(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+352|0;c[A>>3]=+c[A>>3]*1.1;i[e+537>>0]=1;return 0}function Bi(e){e=e|0;var A=0;i[e+536>>0]=0;A=e+352|0;c[A>>3]=+c[A>>3]*.9090909090909091;i[e+537>>0]=1;return 0}function yi(e){e=e|0;var A=0,r=0,a=0,n=0.0,f=0.0;r=e+536|0;A=(i[r>>0]|0)==0;i[r>>0]=A&1;if(A){A=t[e+448>>2]|0;r=t[e+452>>2]|0;f=+(A>>>0);n=+(r>>>0);a=f/+(A|0)>3]=(a?f:n)/+((a?A:r)|0);r=e+336|0;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;t[r+12>>2]=0;i[e+537>>0]=1}return 0}function Ci(e){e=e|0;var A=0,r=0;A=t[(t[e>>2]|0)+168>>2]|0;r=e+580|0;if(!(t[r>>2]|0)){t[r>>2]=A;r=(t[A+16>>2]|0)+112|0;i[r>>0]=i[r>>0]|2;Ji(e,A)}vB(e,A);i[e+540>>0]=1;return}function Ii(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0.0,l=0,s=0;s=h;h=h+16|0;a=s;switch(A|0){case 1:{t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];Yi(e,a);xi(e);i[e+538>>0]=1;i[e+541>>0]=1;l=13;break}case 2:{i[e+538>>0]=1;i[e+541>>0]=2;l=13;break}case 3:{t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];Yi(e,a);i[e+538>>0]=1;i[e+541>>0]=3;l=13;break}case 4:{i[e+536>>0]=0;if(!(t[e+360>>2]|0)){a=e+352|0;f=+c[a>>3];A=e+336|0;c[A>>3]=(+c[r>>3]-+((t[e+448>>2]|0)>>>0)*.5)*.10000000000000009/(+c[e+520>>3]*f)+ +c[A>>3];n=+c[r+8>>3]-+((t[e+452>>2]|0)>>>0)*.5;A=e+528|0}else{a=e+352|0;f=+c[a>>3];A=e+336|0;c[A>>3]=+c[A>>3]-(+c[r+8>>3]-+((t[e+452>>2]|0)>>>0)*.5)*.10000000000000009/(+c[e+528>>3]*f);n=+c[r>>3]-+((t[e+448>>2]|0)>>>0)*.5;A=e+520|0}l=e+344|0;c[l>>3]=n*.10000000000000009/(+c[A>>3]*f)+ +c[l>>3];c[a>>3]=f*1.1;l=13;break}case 5:{i[e+536>>0]=0;l=e+352|0;f=+c[l>>3]*.9090909090909091;c[l>>3]=f;if(!(t[e+360>>2]|0)){a=e+336|0;c[a>>3]=+c[a>>3]-(+c[r>>3]-+((t[e+448>>2]|0)>>>0)*.5)*.10000000000000009/(+c[e+520>>3]*f);n=+c[r+8>>3]-+((t[e+452>>2]|0)>>>0)*.5;a=e+528|0}else{a=e+336|0;c[a>>3]=(+c[r+8>>3]-+((t[e+452>>2]|0)>>>0)*.5)*.10000000000000009/(+c[e+528>>3]*f)+ +c[a>>3];n=+c[r>>3]-+((t[e+448>>2]|0)>>>0)*.5;a=e+520|0}l=e+344|0;c[l>>3]=+c[l>>3]-n*.10000000000000009/(+c[a>>3]*f);l=13;break}default:{}}if((l|0)==13)i[e+537>>0]=1;e=e+560|0;t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];h=s;return}function Zi(e,A,r){e=e|0;A=A|0;r=r|0;i[e+538>>0]=0;i[e+541>>0]=0;return}function Gi(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0,l=0.0,s=0;s=h;h=h+16|0;r=s;f=e+560|0;l=(+c[A>>3]-+c[f>>3])/+c[e+520>>3];n=(+c[A+8>>3]-+c[e+568>>3])/+c[e+528>>3];if(!(+Q(+l)<.0001&+Q(+n)<.0001)){switch(i[e+541>>0]|0){case 0:{t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];Yi(e,r);break}case 2:{a=+c[e+352>>3];if(!(t[e+360>>2]|0)){r=e+336|0;c[r>>3]=+c[r>>3]-l/a;r=e+344|0;c[r>>3]=+c[r>>3]-n/a}else{r=e+336|0;c[r>>3]=+c[r>>3]-n/a;r=e+344|0;c[r>>3]=+c[r>>3]+l/a}i[e+537>>0]=1;break}default:{}}t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2]}h=s;return}function Li(e,A,r){e=e|0;A=A|0;r=r|0;return}function Qi(e){e=e|0;return}function Di(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;s=t[e>>2]|0;if(A){A=F3(A,138821)|0;if(A|0){l=sm(A,0)|0;k3(A)|0;a=5}}else{l=sm(t[15647]|0,0)|0;a=5}if((a|0)==5?l|0:0){n=s+168|0;A=t[n>>2]|0;if(A|0){a=t[s+172>>2]|0;if((a|0)!=0?(f=t[a+4>>2]|0,(f|0)!=0):0){F5[f&127](A);A=t[n>>2]|0}NF(A);vk(t[n>>2]|0)|0}_d(l,0,137483,280,1);_d(l,1,137447,304,1);_d(l,2,137460,176,1);t[n>>2]=l;t[(t[l+16>>2]|0)+144>>2]=s;if((bp(s,l,r)|0)!=-1){t[e+580>>2]=0;t[e+576>>2]=0;i[e+537>>0]=1}}return}function zi(e,A){e=e|0;A=A|0;e=t[e>>2]|0;bp(e,t[e+168>>2]|0,A)|0;return}function Wi(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;n=t[e>>2]|0;a=n+160|0;i=t[a>>2]|0;if((i|0)!=0?(t[n+164>>2]|0)==0:0){l=n+192|0;f=t[l>>2]|0;t[a>>2]=0;t[l>>2]=0;a=f}else{a=0;i=0}wp(n,t[n+168>>2]|0,A,r)|0;if(i|0){l=t[e>>2]|0;t[l+160>>2]=i;t[l+192>>2]=a}return}function Yi(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0.0,l=0.0,s=0.0,o=0;a=h;h=h+80|0;r=a+48|0;n=a;o=a+32|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];Fi(o,e,r);s=+c[o>>3];l=+c[o+8>>3];f=1.0/+c[e+352>>3];c[n+16>>3]=f+s;c[n+24>>3]=f+l;c[n>>3]=s-f;c[n+8>>3]=l-f;A=t[(t[e>>2]|0)+168>>2]|0;t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2];t[r+16>>2]=t[n+16>>2];t[r+20>>2]=t[n+20>>2];t[r+24>>2]=t[n+24>>2];t[r+28>>2]=t[n+28>>2];A=Mi(A,r)|0;r=e+576|0;if((A|0)!=(t[r>>2]|0)){Vi(e);t[r>>2]=A;Ni(e);i[e+537>>0]=1}h=a;return}function Fi(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0.0,f=0;if(!(t[A+360>>2]|0)){i=+c[A+352>>3];a=+c[r+8>>3];n=i;f=A+528|0;i=+c[r>>3]/(+c[A+520>>3]*i)-+c[A+504>>3]}else{i=+c[A+352>>3];a=-+c[r>>3];n=i;f=A+520|0;i=+c[r+8>>3]/(+c[A+528>>3]*i)-+c[A+504>>3]}n=a/(+c[f>>3]*n)-+c[A+512>>3];c[e>>3]=i;c[e+8>>3]=n;return}function Mi(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+32|0;a=n;i=sd(e)|0;e:while(1){if(!i){i=9;break}r=Ow(e,i)|0;while(1){if(!r)break;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];t[a+16>>2]=t[A+16>>2];t[a+20>>2]=t[A+20>>2];t[a+24>>2]=t[A+24>>2];t[a+28>>2]=t[A+28>>2];if((IJ(r,a)|0)<<24>>24){i=6;break e}r=qw(e,r)|0}i=cd(e,i)|0}do{if((i|0)!=6)if((i|0)==9){r=od(e)|0;while(1){if(!r)break;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];t[a+16>>2]=t[A+16>>2];t[a+20>>2]=t[A+20>>2];t[a+24>>2]=t[A+24>>2];t[a+28>>2]=t[A+28>>2];if((BJ(r,a)|0)<<24>>24){i=12;break}r=ud(e,r)|0}if((i|0)==12)break;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];t[a+16>>2]=t[A+16>>2];t[a+20>>2]=t[A+20>>2];t[a+24>>2]=t[A+24>>2];t[a+28>>2]=t[A+28>>2];r=Ri(e,a)|0;if(!r){r=e;break}else break}}while(0);h=n;return r|0}function Vi(e){e=e|0;var A=0;A=t[e+576>>2]|0;e:do{if(A|0)switch(Yd(A)|0){case 0:{A=(t[A+16>>2]|0)+112|0;i[A>>0]=i[A>>0]&-2;break e}case 1:{A=(t[A+16>>2]|0)+117|0;i[A>>0]=i[A>>0]&-2;break e}case 2:{A=(t[A+16>>2]|0)+115|0;i[A>>0]=i[A>>0]&-2;break e}default:break e}}while(0);t[e+584>>2]=0;return}function Ni(e){e=e|0;var A=0,r=0;r=e+584|0;A=t[r>>2]|0;if(A|0){G2(A);t[r>>2]=0}A=t[e+576>>2]|0;e:do{if(A|0)switch(Yd(A)|0){case 0:{e=(t[A+16>>2]|0)+112|0;i[e>>0]=i[e>>0]|1;e=zw(A,0,141101,0)|0;if(!e)break e;t[r>>2]=UF(Pw(A,e)|0,A)|0;break e}case 1:{e=(t[A+16>>2]|0)+117|0;i[e>>0]=i[e>>0]|1;e=zw(Bd(A)|0,1,141101,0)|0;if(!e)break e;t[r>>2]=UF(Pw(A,e)|0,A)|0;break e}case 2:{e=(t[A+16>>2]|0)+115|0;i[e>>0]=i[e>>0]|1;e=zw(Bd(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0,2,141101,0)|0;if(!e)break e;t[r>>2]=UF(Pw(A,e)|0,A)|0;break e}default:break e}}while(0);return}function Ri(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0;o=h;h=h+32|0;i=o;n=t[e+16>>2]|0;f=t[n+180>>2]|0;l=n+184|0;r=1;while(1){if((r|0)>(f|0)){s=4;break}a=t[(t[l>>2]|0)+(r<<2)>>2]|0;t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];t[i+16>>2]=t[A+16>>2];t[i+20>>2]=t[A+20>>2];t[i+24>>2]=t[A+24>>2];t[i+28>>2]=t[A+28>>2];a=Ri(a,i)|0;if(!a)r=r+1|0;else{e=a;break}}do{if((s|0)==4){b=+c[n+24>>3];u=+c[n+40>>3];if(((+c[A+16>>3]>=+c[n+16>>3]?+c[n+32>>3]>=+c[A>>3]:0)?+c[A+24>>3]>=b:0)?u>=+c[A+8>>3]:0)break;e=0}}while(0);h=o;return e|0}function xi(e){e=e|0;var A=0,r=0,a=0;a=e+580|0;A=t[a>>2]|0;e:do{if(A|0)switch(Yd(A)|0){case 0:{r=(t[A+16>>2]|0)+112|0;i[r>>0]=i[r>>0]&-7|4;break e}case 1:{r=(t[A+16>>2]|0)+117|0;i[r>>0]=i[r>>0]&-7|4;break e}case 2:{r=(t[A+16>>2]|0)+115|0;i[r>>0]=i[r>>0]&-7|4;break e}default:break e}}while(0);A=e+588|0;r=t[A>>2]|0;if(r|0){G2(r);t[A>>2]=0}A=t[e+576>>2]|0;t[a>>2]=A;e:do{if(A|0)switch(Yd(A)|0){case 0:{a=(t[A+16>>2]|0)+112|0;i[a>>0]=i[a>>0]|2;Ji(e,A);break e}case 1:{a=(t[A+16>>2]|0)+117|0;i[a>>0]=i[a>>0]|2;Hi(e,A);break e}case 2:{a=(t[A+16>>2]|0)+115|0;i[a>>0]=i[a>>0]|2;Pi(e,A);break e}default:break e}}while(0);return}function Ji(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=e+592|0;do{if((yd(A)|0)==(A|0))if(!(Bk(A)|0)){zm(r,0,111494);break}else{zm(r,0,111486);break}else zm(r,0,111500)}while(0);zm(r,1,Mk(A)|0);t[e+596>>2]=2;a=e+604|0;r=0;i=2;while(1){r=Vw(A,0,r)|0;if(!r)break;zm(a,i,t[r+8>>2]|0);zm(a,i+1|0,Pw(A,r)|0);zm(a,i+2|0,0);i=i+3|0}t[e+608>>2]=i;r=zw(A,0,141055,0)|0;if(!r){r=zw(A,0,111477,0)|0;if(r|0)n=11}else n=11;if((n|0)==11)t[e+588>>2]=UF(Pw(A,r)|0,A)|0;return}function Hi(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;a=e+592|0;zm(a,0,111481);zm(a,1,Mk(A)|0);t[e+596>>2]=2;a=e+604|0;n=yd(Bd(A)|0)|0;i=2;r=0;while(1){r=Vw(n,1,r)|0;if(!r)break;zm(a,i,t[r+8>>2]|0);zm(a,i|1,Pw(A,r)|0);i=i+2|0}t[e+608>>2]=i;r=zw(Bd(A)|0,1,141055,0)|0;if(!r){r=zw(Bd(A)|0,1,111477,0)|0;if(r|0)f=6}else f=6;if((f|0)==6)t[e+588>>2]=UF(Pw(A,r)|0,A)|0;return}function Pi(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;f=e+592|0;zm(f,0,111450);c=A+48|0;zm(f,1,Mk(t[((t[A>>2]&3|0)==3?A:c)+40>>2]|0)|0);c=(Bk(Bd(t[((t[A>>2]&3|0)==3?A:c)+40>>2]|0)|0)|0)!=0;zm(f,3,c?137738:141747);c=A+-48|0;zm(f,4,Mk(t[((t[A>>2]&3|0)==2?A:c)+40>>2]|0)|0);t[e+596>>2]=7;l=e+604|0;s=yd(Bd(t[((t[A>>2]&3|0)==2?A:c)+40>>2]|0)|0)|0;n=7;r=0;e:while(1){while(1){r=Vw(s,2,r)|0;if(!r)break e;i=r+8|0;a=t[i>>2]|0;if(!(e1(a,111455)|0)){o=5;break}if(!(e1(a,111464)|0)){o=7;break}if(e1(a,111473)|0)break;zm(f,6,Pw(A,r)|0)}if((o|0)==5){o=0;zm(f,2,Pw(A,r)|0)}else if((o|0)==7){o=0;zm(f,5,Pw(A,r)|0)}zm(l,n,t[i>>2]|0);zm(l,n+1|0,Pw(A,r)|0);n=n+2|0}t[e+608>>2]=n;r=zw(Bd(t[((t[A>>2]&3|0)==2?A:c)+40>>2]|0)|0,2,141055,0)|0;if(!r){r=zw(Bd(t[((t[A>>2]&3|0)==2?A:c)+40>>2]|0)|0,2,111477,0)|0;if(r|0)o=13}else o=13;if((o|0)==13)t[e+588>>2]=UF(Pw(A,r)|0,A)|0;return}function Xi(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=Si(e,A,t[r>>2]|0)|0;r=t[r+4>>2]|0;while(1){a=t[r+4>>2]|0;if(!a)break;A=0;while(1){i=t[a+(A*20|0)+4>>2]|0;if(!i)break;Fm(e,t[r>>2]|0,i,t[a+(A*20|0)+8>>2]|0,n,a+(A*20|0)|0)|0;A=A+1|0}r=r+8|0}return}function Si(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=$F(12)|0;if(!A)A=0;else A=o3(A)|0;t[i+4>>2]=A;t[i+8>>2]=o3(r)|0;r=e+100|0;t[i>>2]=t[r>>2];t[r>>2]=i;return i|0}function ji(e,A){e=e|0;A=A|0;Ui(e);i[e+44>>0]=0;Ti(e)|0;ax(e)|0;return}function Ui(e){e=e|0;var A=0,r=0;A=t[e+32>>2]|0;e:do{if(A|0)while(1){r=t[A>>2]|0;if(!r)break e;if((i[r>>0]|0)==103?R4(r,111509)|0:0)Xi(e,0,t[A+4>>2]|0);A=A+8|0}}while(0);return}function Ti(e){e=e|0;var A=0;A=Vm(e,2,111522)|0;if(!A)e=999;else{t[e+148>>2]=t[(t[A+16>>2]|0)+12>>2];e=300}return e|0}function Oi(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;e=t[e+148>>2]|0;if((e|0)!=0?(i=t[e>>2]|0,(i|0)!=0):0)e=Z5[i&127](A,r)|0;else e=0;return e|0}function _i(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return(t[A>>2]|0)-(t[r>>2]|0)|0}function qi(e){e=e|0;var A=0.0,r=0.0;e=t[e+16>>2]|0;r=+c[e+16>>3];A=+c[e+24>>3];return(Ki(~~(r>A?r:A)>>>0)|0)+1|0}function Ki(e){e=e|0;var A=0,r=0;if(!e)e=-1;else{r=e>>>0>65535;e=r?e>>>16:e;r=r?16:0;A=e>>>0>255;e=A?e>>>8:e;r=A?r|8:r;A=e>>>0>15;e=A?e>>>4:e;r=A?r|4:r;A=e>>>0>3;e=(A?r|2:r)+((A?e>>>2:e)>>>0>1&1)|0}return e|0}function $i(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;k=d;w=ea(e,A,r,a,n)|0;r=Aa(w)|0;if((r|0)>=0){u=k+16|0;b=k+24|0;o=k+8|0;s=n+32|0;r=0;n=0;while(1){if((n|0)>=(A|0))break;a=e+(n*40|0)+32|0;do{if(t[a>>2]|0){ra(k,w,e+(n*40|0)|0);f=+c[u>>3];l=+c[b>>3];if(!(t[k>>2]|0)){i[(t[a>>2]|0)+36>>0]=1;break}if(+c[o>>3]==0.0){a=t[a>>2]|0;c[a+16>>3]=f;c[a+24>>3]=l;i[a+36>>0]=1;break}if((i[s>>0]|0)==1){a=t[a>>2]|0;c[a+16>>3]=f;c[a+24>>3]=l;i[a+36>>0]=1}else r=1}}while(0);n=n+1|0}ia(w)}h=d;return r|0}function ea(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;n=KF(28)|0;s=Uh(25912,t[4584]|0)|0;f=n+20|0;t[f>>2]=s;do{if(s){s=Nn()|0;t[n+24>>2]=s;if(!s){G3(111740,14,1,t[15712]|0)|0;l=6;break}else{t[n>>2]=e;t[n+4>>2]=A;t[n+8>>2]=r;t[n+12>>2]=i;t[n+16>>2]=a;break}}else{G3(111740,14,1,t[15712]|0)|0;l=6}}while(0);if((l|0)==6){e=t[f>>2]|0;if(e|0)Ph(e)|0;e=t[n+24>>2]|0;if(e|0)xn(e)|0;G2(n);n=0}return n|0}function Aa(e){e=e|0;var A=0;A=ua(e)|0;if((A|0)>=0){ba(e);ha(e);A=Ph(t[e+20>>2]|0)|0}return A|0}function ra(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0.0,l=0,s=0.0,o=0,u=0,b=0,w=0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0.0,V=0,N=0;N=h;h=h+464|0;F=N+416|0;V=N+400|0;z=N+384|0;o=N+352|0;u=N+320|0;b=N+288|0;w=N+256|0;d=N+224|0;v=N+192|0;g=N+160|0;m=N+128|0;p=N+96|0;B=N+64|0;y=N+32|0;W=N;C=t[r+32>>2]|0;i=+c[C>>3];G=r+16|0;I=(i*2.0+ +c[G>>3])*.125;L=C+8|0;Y=r+24|0;f=+c[Y>>3];M=(+c[L>>3]*2.0+f)*.5;if(!C)ge(111533,111543,445,111553);a=F;n=a+36|0;do{t[a>>2]=0;a=a+4|0}while((a|0)<(n|0));Z=C+16|0;c[Z>>3]=+c[r>>3]-i;Q=r+8|0;D=C+24|0;c[D>>3]=f+ +c[Q>>3];aa(o,A,r,F);l=t[o>>2]|0;a=t[o+4>>2]|0;i=+c[o+8>>3];o=o+16|0;t[V>>2]=t[o>>2];t[V+4>>2]=t[o+4>>2];t[V+8>>2]=t[o+8>>2];t[V+12>>2]=t[o+12>>2];e:do{if(!l){t[e>>2]=0;t[e+4>>2]=a;c[e+8>>3]=i;e=e+16|0;t[e>>2]=t[V>>2];t[e+4>>2]=t[V+4>>2];t[e+8>>2]=t[V+8>>2];t[e+12>>2]=t[V+12>>2]}else{c[D>>3]=+c[Q>>3];aa(u,A,r,F);n=t[u>>2]|0;o=t[u+4>>2]|0;f=+c[u+8>>3];u=u+16|0;t[z>>2]=t[u>>2];t[z+4>>2]=t[u+4>>2];t[z+8>>2]=t[u+8>>2];t[z+12>>2]=t[u+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=o;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];a=o;i=f}else n=l;c[D>>3]=+c[Q>>3]-+c[L>>3];aa(b,A,r,F);o=t[b>>2]|0;l=t[b+4>>2]|0;f=+c[b+8>>3];b=b+16|0;t[z>>2]=t[b>>2];t[z+4>>2]=t[b+4>>2];t[z+8>>2]=t[b+8>>2];t[z+12>>2]=t[b+12>>2];if(!o){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];a=l;i=f}else o=n;c[Z>>3]=+c[r>>3];c[D>>3]=+c[Y>>3]+ +c[Q>>3];aa(w,A,r,F);n=t[w>>2]|0;l=t[w+4>>2]|0;f=+c[w+8>>3];w=w+16|0;t[z>>2]=t[w>>2];t[z+4>>2]=t[w+4>>2];t[z+8>>2]=t[w+8>>2];t[z+12>>2]=t[w+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=n;a=l;i=f}c[D>>3]=+c[Q>>3]-+c[L>>3];aa(d,A,r,F);n=t[d>>2]|0;l=t[d+4>>2]|0;f=+c[d+8>>3];d=d+16|0;t[z>>2]=t[d>>2];t[z+4>>2]=t[d+4>>2];t[z+8>>2]=t[d+8>>2];t[z+12>>2]=t[d+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=n;a=l;i=f}c[Z>>3]=+c[G>>3]+ +c[r>>3];c[D>>3]=+c[Y>>3]+ +c[Q>>3];aa(v,A,r,F);n=t[v>>2]|0;l=t[v+4>>2]|0;f=+c[v+8>>3];v=v+16|0;t[z>>2]=t[v>>2];t[z+4>>2]=t[v+4>>2];t[z+8>>2]=t[v+8>>2];t[z+12>>2]=t[v+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=n;a=l;i=f}c[D>>3]=+c[Q>>3];aa(g,A,r,F);n=t[g>>2]|0;l=t[g+4>>2]|0;f=+c[g+8>>3];g=g+16|0;t[z>>2]=t[g>>2];t[z+4>>2]=t[g+4>>2];t[z+8>>2]=t[g+8>>2];t[z+12>>2]=t[g+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=n;a=l;i=f}c[D>>3]=+c[Q>>3]-+c[L>>3];aa(m,A,r,F);n=t[m>>2]|0;l=t[m+4>>2]|0;f=+c[m+8>>3];m=m+16|0;t[z>>2]=t[m>>2];t[z+4>>2]=t[m+4>>2];t[z+8>>2]=t[m+8>>2];t[z+12>>2]=t[m+12>>2];if(!n){t[e>>2]=0;t[e+4>>2]=l;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break}if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];a=l;i=f}else n=o;l=(t[F+28>>2]|0)==0;do{if(!(t[F+24>>2]|0))if(l){if(t[F+32>>2]|0){E=38;break}if(!((t[F+12>>2]|0)==0&(t[F>>2]|0)==0))E=38}else E=46;else if(l)E=38;else E=46}while(0);A:do{if((E|0)==38)if(!(t[F+32>>2]|0)){c[Z>>3]=+c[r>>3]-+c[C>>3];w=p+4|0;d=p+8|0;v=p+16|0;o=D;l=Q;f=+c[Y>>3];r:while(1){while(1){c[o>>3]=+c[l>>3]+f;if(!(+c[Z>>3]<=+c[G>>3]+ +c[r>>3])){E=46;break A}aa(p,A,r,F);u=t[p>>2]|0;b=t[w>>2]|0;s=+c[d>>3];t[z>>2]=t[v>>2];t[z+4>>2]=t[v+4>>2];t[z+8>>2]=t[v+8>>2];t[z+12>>2]=t[v+12>>2];if(!u)break r;if(s>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=Z;l=Z;f=I;n=u;a=b;i=s}t[e>>2]=0;t[e+4>>2]=b;c[e+8>>3]=s;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break e}else E=46}while(0);A:do{if((E|0)==46)if((t[F+12>>2]|0)==0&(t[F>>2]|0)==0){c[Z>>3]=+c[r>>3]-+c[C>>3];s=+c[Q>>3];u=B+4|0;b=B+8|0;w=B+16|0;f=s;s=+c[Y>>3]+s;while(1){c[D>>3]=s;if(!(s>=f-+c[L>>3]))break A;aa(B,A,r,F);l=t[B>>2]|0;o=t[u>>2]|0;f=+c[b>>3];t[z>>2]=t[w>>2];t[z+4>>2]=t[w+4>>2];t[z+8>>2]=t[w+8>>2];t[z+12>>2]=t[w+12>>2];if(!l)break;if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];n=l;a=o;i=f}f=+c[Q>>3];s=+c[D>>3]-M}t[e>>2]=0;t[e+4>>2]=o;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break e}}while(0);f=+c[r>>3];s=+c[G>>3]+f;c[Z>>3]=s;k=+c[L>>3];c[D>>3]=+c[Q>>3]-k;l=t[F+4>>2]|0;do{if(!(t[F+8>>2]|0)){o=t[F>>2]|0;if(!((l|0)==0&(o|0)==0)){E=59;break}if(t[F+20>>2]|0){l=0;o=0;E=59;break}if(t[F+32>>2]|0){l=0;o=0;E=59}}else{o=t[F>>2]|0;E=59}}while(0);A:do{if((E|0)==59){r:do{if((l|0)==0&(o|0)==0){c[Z>>3]=s;w=y+4|0;d=y+8|0;v=y+16|0;o=D;l=Q;f=k;i:while(1){while(1){c[o>>3]=+c[l>>3]-f;f=+c[r>>3];if(!(+c[Z>>3]>=f-+c[C>>3]))break r;aa(y,A,r,F);u=t[y>>2]|0;b=t[w>>2]|0;s=+c[d>>3];t[z>>2]=t[v>>2];t[z+4>>2]=t[v+4>>2];t[z+8>>2]=t[v+8>>2];t[z+12>>2]=t[v+12>>2];if(!u)break i;if(s>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];o=Z;l=Z;f=I;n=u;a=b;i=s}t[e>>2]=0;t[e+4>>2]=b;c[e+8>>3]=s;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break e}}while(0);if(t[F+20>>2]|0)break;if(t[F+32>>2]|0)break;c[Z>>3]=+c[G>>3]+f;f=+c[Q>>3];u=W+4|0;b=W+8|0;w=W+16|0;s=f;f=f-+c[L>>3];while(1){c[D>>3]=f;if(!(f<=+c[Y>>3]+s))break A;aa(W,A,r,F);l=t[W>>2]|0;o=t[u>>2]|0;f=+c[b>>3];t[z>>2]=t[w>>2];t[z+4>>2]=t[w+4>>2];t[z+8>>2]=t[w+8>>2];t[z+12>>2]=t[w+12>>2];if(!l)break;if(f>2]=t[z>>2];t[V+4>>2]=t[z+4>>2];t[V+8>>2]=t[z+8>>2];t[V+12>>2]=t[z+12>>2];n=l;a=o;i=f}s=+c[Q>>3];f=+c[D>>3]+M}t[e>>2]=0;t[e+4>>2]=o;c[e+8>>3]=f;e=e+16|0;t[e>>2]=t[z>>2];t[e+4>>2]=t[z+4>>2];t[e+8>>2]=t[z+8>>2];t[e+12>>2]=t[z+12>>2];break e}}while(0);t[e>>2]=n;t[e+4>>2]=a;c[e+8>>3]=i;e=e+16|0;t[e>>2]=t[V>>2];t[e+4>>2]=t[V+4>>2];t[e+8>>2]=t[V+8>>2];t[e+12>>2]=t[V+12>>2]}}while(0);h=N;return}function ia(e){e=e|0;xn(t[e+24>>2]|0)|0;G2(e);return}function aa(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0.0,l=0,s=0,o=0,u=0.0,b=0,w=0,k=0,d=0.0,v=0,g=0;g=h;h=h+48|0;k=g+32|0;v=g+16|0;w=g;n=t[r+32>>2]|0;if(!n)ge(111533,111543,382,111562);b=n+16|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2];b=A+4|0;o=0;n=0;while(1){if((o|0)>=(t[b>>2]|0))break;l=t[A>>2]|0;s=l+(o*40|0)|0;do{if((s|0)!=(r|0)){if(+c[l+(o*40|0)+16>>3]>0.0?+c[l+(o*40|0)+24>>3]>0.0:0)break;n=n+((ta(r,s)|0)!=0&1)|0}}while(0);o=o+1|0}na(r,k);o=t[A+24>>2]|0;o=Hn(o,t[o>>2]|0,k)|0;if(!o){t[e>>2]=n;c[e+8>>3]=0.0;v=e+16|0;t[v>>2]=t[w>>2];t[v+4>>2]=t[w+4>>2];t[v+8>>2]=t[w+8>>2];t[v+12>>2]=t[w+12>>2]}else{s=o;f=0.0;while(1){if(!s)break;l=t[(t[s+4>>2]|0)+16>>2]|0;if((l|0)!=(r|0)){fa(l,v);u=+la(k,v);if(u>0.0){n=n+1|0;f=+sa(r,l,k,u,a)+f}A=t[l+32>>2]|0;if(((A|0)!=0?(i[A+36>>0]|0)!=0:0)?(na(l,v),d=+la(k,v),d>0.0):0){n=n+1|0;f=+ca(r,l,k,d,a)+f}}s=t[s>>2]|0}Vn(o);t[e>>2]=n;c[e+8>>3]=f;v=e+16|0;t[v>>2]=t[w>>2];t[v+4>>2]=t[w+4>>2];t[v+8>>2]=t[w+8>>2];t[v+12>>2]=t[w+12>>2]}h=g;return}function ta(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,n=0.0;e=t[e+32>>2]|0;if(+c[A+16>>3]==0.0?+c[A+24>>3]==0.0:0){if((((e|0)!=0?(r=+c[A>>3],i=+c[e+16>>3],r>i):0)?r<+c[e>>3]+i:0)?(a=+c[A+8>>3],n=+c[e+24>>3],a>n):0)e=a<+c[e+8>>3]+n&1;else e=0;return e|0}ge(111599,111543,219,111636);return 0}function na(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;e=t[e+32>>2]|0;i=+c[e+16>>3];t[A>>2]=~~i;r=+c[e+24>>3];t[A+4>>2]=~~r;t[A+8>>2]=~~(+c[e>>3]+i);t[A+12>>2]=~~(+c[e+8>>3]+r);return}function fa(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[e>>3];t[A>>2]=~~i;r=+c[e+8>>3];t[A+4>>2]=~~r;t[A+8>>2]=~~(+c[e+16>>3]+i);t[A+12>>2]=~~(+c[e+24>>3]+r);return}function la(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;l=t[e+8>>2]|0;s=t[A>>2]|0;if((((l|0)>=(s|0)?(c=t[e>>2]|0,o=t[A+8>>2]|0,(c|0)<=(o|0)):0)?(i=t[e+12>>2]|0,a=t[A+4>>2]|0,(i|0)>=(a|0)):0)?(n=t[e+4>>2]|0,f=t[A+12>>2]|0,(n|0)<=(f|0)):0)r=(+(t[((i|0)<(f|0)?e:A)+12>>2]|0)-+(t[((n|0)>(a|0)?e:A)+4>>2]|0))*(+(t[((l|0)<(o|0)?e:A)+8>>2]|0)-+(t[((c|0)>(s|0)?e:A)>>2]|0));else r=0.0;return+r}function sa(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var n=0.0,f=0.0,l=0,s=0;s=h;h=h+16|0;l=s;e=oa(e,A)|0;a=a+(((e|0)<0?5:e)<<2)|0;e=t[a>>2]|0;if(!e){t[a>>2]=A;n=i}else{fa(e,l);n=+la(r,l);n=n>i?n:0.0;e=t[a>>2]|0;if((t[e+32>>2]|0)!=0?(na(e,l),f=+la(r,l),f>i):0)n=f>n?f:n;if(!(n>0.0)){t[a>>2]=A;n=i}}h=s;return+n}function ca(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var n=0.0,f=0.0,l=0,s=0;s=h;h=h+16|0;l=s;e=oa(e,A)|0;a=a+(((e|0)<0?5:e)<<2)|0;e=t[a>>2]|0;if(!e){t[a>>2]=A;n=i}else{fa(e,l);n=+la(r,l);n=n>i?n:0.0;e=t[a>>2]|0;if((t[e+32>>2]|0)!=0?(na(e,l),f=+la(r,l),f>i):0)n=f>n?f:n;if(!(n>0.0)){t[a>>2]=A;n=i}}h=s;return+n}function oa(e,A){e=e|0;A=A|0;var r=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0;r=t[e+32>>2]|0;a=t[A+32>>2]|0;if((r|0)==(a|0))ge(111578,111543,276,111588);do{if((i[r+36>>0]|0)!=0?(i[a+36>>0]|0)!=0:0){l=+c[e>>3];if(l==0.0?+c[e+8>>3]==0.0:0){r=-1;break}s=+c[A>>3];f=+c[A+8>>3];if(!(s==0.0&f==0.0)){n=+c[e+8>>3];if(fl?2:1;break}r=sn){if(r){r=6;break}r=s>l?8:7;break}if(!r)if(s>l)r=5;else r=-1;else r=3}else r=-1}else r=-1}while(0);return r|0}function ua(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;c=h;h=h+32|0;r=c+24|0;i=c+16|0;a=c;n=qi(e)|0;f=e+4|0;l=i+4|0;s=e+20|0;A=0;while(1){if((A|0)>=(t[f>>2]|0)){A=0;break}o=KF(32)|0;b=(t[e>>2]|0)+(A*40|0)|0;u=o+12|0;t[o+28>>2]=b;wa(a,b);t[u>>2]=t[a>>2];t[u+4>>2]=t[a+4>>2];t[u+8>>2]=t[a+8>>2];t[u+12>>2]=t[a+12>>2];u=t[u>>2]|0;t[i>>2]=(((t[o+20>>2]|0)-u|0)/2|0)+u;u=t[o+16>>2]|0;t[l>>2]=(((t[o+24>>2]|0)-u|0)/2|0)+u;t[r>>2]=t[i>>2];t[r+4>>2]=t[i+4>>2];t[o+8>>2]=ka(r,n)|0;u=t[s>>2]|0;if(!(L5[t[u>>2]&63](u,o,1)|0)){A=-1;break}else A=A+1|0}h=c;return A|0}function ba(e){e=e|0;var A=0,r=0,i=0;r=e+20|0;i=t[r>>2]|0;A=e+24|0;e=L5[t[i>>2]&63](i,0,128)|0;while(1){if(!e)break;i=t[A>>2]|0;Pn(i,e+12|0,t[e+28>>2]|0,i,0)|0;i=t[r>>2]|0;e=L5[t[i>>2]&63](i,e,8)|0}return}function ha(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;i=e+20|0;a=Oh(t[i>>2]|0)|0;r=0;while(1){if(!(Oh(t[i>>2]|0)|0))break;n=t[i>>2]|0;e=t[(t[n+8>>2]|0)+4>>2]|0;if(!e){f=8;break}A=t[(t[n+4>>2]|0)+8>>2]|0;if((A|0)<0)e=t[e+8>>2]|0;else e=e+(0-A)|0;if(!e){f=8;break}L5[t[n>>2]&63](n,e,4096)|0;G2(e);r=r+1|0}if((f|0)==8)ge(111649,111543,616,111652);if((a|0)==(r|0))return;else ge(111664,111543,623,111652)}function wa(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0.0,f=0,l=0,s=0,o=0.0;r=t[A+32>>2]|0;if(!r){i=0.0;a=0.0}else{i=+c[r>>3];a=+c[r+8>>3]}o=+c[A>>3];s=~~+L(+(o-i));n=+c[A+8>>3];l=~~+L(+(n-a));f=~~+H(+(o+i+ +c[A+16>>3]));if((f|0)==2147483647)ge(111676,111543,264,111703);r=~~+H(+(n+a+ +c[A+24>>3]));if((r|0)==2147483647)ge(111713,111543,266,111703);else{t[e>>2]=s;t[e+4>>2]=l;t[e+8>>2]=f;t[e+12>>2]=r;return}}function ka(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;a=0;i=t[e>>2]|0;r=t[e+4>>2]|0;while(1){e=A+-1|0;if((A|0)<=0)break;l=i>>>e&1;A=r>>>e&1;n=A+-1|0;f=n&(i^r);n=n&0-l;a=l<<1|a<<2|l^A;A=e;i=f^i^n;r=f^r^n}return a|0}function da(e){e=e|0;var A=0,r=0,a=0,n=0;A=U2(e)|0;if(A>>>0>=(t[47365]|0)>>>0){A=A+11|0;t[47365]=A;A=AM(t[47366]|0,A)|0;t[47366]=A;if(!A)A=0;else r=4}else{A=t[47366]|0;r=4}if((r|0)==4){n=A;while(1){r=i[e>>0]|0;if(!(r<<24>>24))break;a=r&255;if(x1(a)|0)r=(R1(a)|0)&255;i[n>>0]=r;n=n+1|0;e=e+1|0}i[n>>0]=0}return A|0}function va(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,f=0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0.0;D=h;h=h+144|0;v=D+96|0;w=D+80|0;p=D+124|0;g=D+72|0;E=D+64|0;B=D+56|0;G=D+48|0;L=D+40|0;Q=D+32|0;y=D+24|0;C=D+16|0;I=D+8|0;Z=D;f=D+120|0;o=D+116|0;u=D+112|0;b=D+108|0;t[A+32>>2]=r;d=e;while(1)if((i[d>>0]|0)==32)d=d+1|0;else break;t[b>>2]=255;e=i[d>>0]|0;e:do{if(e<<24>>24==35){t[w>>2]=f;t[w+4>>2]=o;t[w+8>>2]=u;t[w+12>>2]=b;if((V3(d,111755,w)|0)<=2){e=i[d>>0]|0;k=12;break}switch(r|0){case 0:{z=+((t[f>>2]|0)>>>0)*.00392156862745098;c[G>>3]=z;a=+((t[o>>2]|0)>>>0)*.00392156862745098;c[L>>3]=a;l=+((t[u>>2]|0)>>>0)*.00392156862745098;c[Q>>3]=l;s=+((t[b>>2]|0)>>>0)*.00392156862745098;ga(z,a,l,g,E,B);c[A>>3]=+c[g>>3];c[A+8>>3]=+c[E>>3];c[A+16>>3]=+c[B>>3];c[A+24>>3]=s;e=0;break e}case 1:{i[A>>0]=t[f>>2];i[A+1>>0]=t[o>>2];i[A+2>>0]=t[u>>2];i[A+3>>0]=t[b>>2];e=0;break e}case 3:{l=+((t[f>>2]|0)>>>0)*.00392156862745098;c[G>>3]=l;s=+((t[o>>2]|0)>>>0)*.00392156862745098;c[L>>3]=s;z=+((t[u>>2]|0)>>>0)*.00392156862745098;c[Q>>3]=z;ma(l,s,z,y,C,I,Z);i[A>>0]=~~+c[y>>3]*255;i[A+1>>0]=~~+c[C>>3]*255;i[A+2>>0]=~~+c[I>>3]*255;i[A+3>>0]=~~+c[Z>>3]*255;e=0;break e}case 2:{t[A>>2]=(((t[f>>2]|0)*65535|0)>>>0)/255|0;t[A+4>>2]=(((t[o>>2]|0)*65535|0)>>>0)/255|0;t[A+8>>2]=(((t[u>>2]|0)*65535|0)>>>0)/255|0;t[A+12>>2]=(((t[b>>2]|0)*65535|0)>>>0)/255|0;e=0;break e}case 4:{c[A>>3]=+((t[f>>2]|0)>>>0)*.00392156862745098;c[A+8>>3]=+((t[o>>2]|0)>>>0)*.00392156862745098;c[A+16>>3]=+((t[u>>2]|0)>>>0)*.00392156862745098;c[A+24>>3]=+((t[b>>2]|0)>>>0)*.00392156862745098;e=0;break e}default:{e=0;break e}}}else k=12}while(0);e:do{if((k|0)==12){if(!(e<<24>>24!=46?((e&255)+-48|0)>>>0>=10:0)){e=U2(d)|0;if(e>>>0>=(t[47367]|0)>>>0){e=e+11|0;t[47367]=e;e=AM(t[47368]|0,e)|0;t[47368]=e;if(!e){e=-1;break}}else e=t[47368]|0;o=e;f=d;A:while(1){u=f+1|0;f=i[f>>0]|0;switch(f<<24>>24){case 0:break A;case 44:{f=32;break}default:{}}i[o>>0]=f;o=o+1|0;f=u}i[o>>0]=0;t[v>>2]=g;t[v+4>>2]=E;t[v+8>>2]=B;if((V3(e,111769,v)|0)==3){s=+c[g>>3];s=s<1.0?s:1.0;s=s>0.0?s:0.0;c[g>>3]=s;l=+c[E>>3];l=l<1.0?l:1.0;l=l>0.0?l:0.0;c[E>>3]=l;a=+c[B>>3];a=a<1.0?a:1.0;a=a>0.0?a:0.0;c[B>>3]=a;switch(r|0){case 0:{c[A>>3]=s;c[A+8>>3]=l;c[A+16>>3]=a;c[A+24>>3]=1.0;e=0;break e}case 1:{pa(s,l,a,G,L,Q);i[A>>0]=~~(+c[G>>3]*255.0);i[A+1>>0]=~~(+c[L>>3]*255.0);i[A+2>>0]=~~(+c[Q>>3]*255.0);i[A+3>>0]=-1;e=0;break e}case 3:{pa(s,l,a,G,L,Q);ma(+c[G>>3],+c[L>>3],+c[Q>>3],y,C,I,Z);i[A>>0]=~~+c[y>>3]*255;i[A+1>>0]=~~+c[C>>3]*255;i[A+2>>0]=~~+c[I>>3]*255;i[A+3>>0]=~~+c[Z>>3]*255;e=0;break e}case 2:{pa(s,l,a,G,L,Q);t[A>>2]=~~(+c[G>>3]*65535.0);t[A+4>>2]=~~(+c[L>>3]*65535.0);t[A+8>>2]=~~(+c[Q>>3]*65535.0);t[A+12>>2]=65535;e=0;break e}case 4:{pa(s,l,a,G,L,Q);c[A>>3]=+c[G>>3];c[A+8>>3]=+c[L>>3];c[A+16>>3]=+c[Q>>3];c[A+24>>3]=1.0;e=0;break e}default:{e=0;break e}}}}f=Ea(d)|0;t[p>>2]=f;if(!f)e=-1;else{e=t[47369]|0;if(!(((e|0)!=0?(m=t[e>>2]|0,(i[m>>0]|0)==(i[f>>0]|0)):0)?(e1(m,f)|0)==0:0)){e=r8(p,25948,2491,12,103)|0;t[47369]=e;if(!e)switch(r|0){case 0:{t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;t[A+16>>2]=0;t[A+20>>2]=0;c[A+24>>3]=1.0;e=1;break e}case 1:{i[A+2>>0]=0;i[A+1>>0]=0;i[A>>0]=0;i[A+3>>0]=-1;e=1;break e}case 3:{t[A>>2]=0;e=1;break e}case 2:{t[A+8>>2]=0;t[A+4>>2]=0;t[A>>2]=0;t[A+12>>2]=65535;e=1;break e}case 4:{t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;t[A+16>>2]=0;t[A+20>>2]=0;c[A+24>>3]=1.0;e=1;break e}default:{e=1;break e}}}switch(r|0){case 0:{c[A>>3]=+(n[e+4>>0]|0)*.00392156862745098;c[A+8>>3]=+(n[e+5>>0]|0)*.00392156862745098;c[A+16>>3]=+(n[e+6>>0]|0)*.00392156862745098;c[A+24>>3]=+(n[e+10>>0]|0)*.00392156862745098;e=0;break e}case 1:{i[A>>0]=i[e+7>>0]|0;i[A+1>>0]=i[e+8>>0]|0;i[A+2>>0]=i[e+9>>0]|0;i[A+3>>0]=i[e+10>>0]|0;e=0;break e}case 3:{l=+(n[e+7>>0]|0)*.00392156862745098;c[G>>3]=l;s=+(n[e+8>>0]|0)*.00392156862745098;c[L>>3]=s;z=+(n[e+9>>0]|0)*.00392156862745098;c[Q>>3]=z;ma(l,s,z,y,C,I,Z);i[A>>0]=~~+c[y>>3]*255;i[A+1>>0]=~~+c[C>>3]*255;i[A+2>>0]=~~+c[I>>3]*255;i[A+3>>0]=~~+c[Z>>3]*255;e=0;break e}case 2:{t[A>>2]=(n[e+7>>0]|0)*257;t[A+4>>2]=(n[e+8>>0]|0)*257;t[A+8>>2]=(n[e+9>>0]|0)*257;t[A+12>>2]=(n[e+10>>0]|0)*257;e=0;break e}case 4:{c[A>>3]=+(n[e+7>>0]|0)*.00392156862745098;c[A+8>>3]=+(n[e+8>>0]|0)*.00392156862745098;c[A+16>>3]=+(n[e+9>>0]|0)*.00392156862745098;c[A+24>>3]=+(n[e+10>>0]|0)*.00392156862745098;e=0;break e}default:{e=0;break e}}}}}while(0);h=D;return e|0}function ga(e,A,r,i,a,t){e=+e;A=+A;r=+r;i=i|0;a=a|0;t=t|0;var n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0;f=Ar?A:r;u=ue?e:f);n=f/u;if(u>0.0)if(n>0.0){l=(u-e)/f;s=(u-A)/f;o=(u-r)/f;do{if(!(u==e)){if(u==A){e=l+2.0-o;break}if(u==r)e=s+4.0-l;else e=0.0}else e=(A-r)/f}while(0);e=e*60.0;if(e<0.0)e=e+360.0}else e=0.0;else{n=0.0;e=0.0}c[i>>3]=e*.002777777777777778;c[t>>3]=u;c[a>>3]=n;return}function ma(e,A,r,i,a,t,n){e=+e;A=+A;r=+r;i=i|0;a=a|0;t=t|0;n=n|0;c[i>>3]=1.0-e;c[a>>3]=1.0-A;c[t>>3]=1.0-r;A=+c[i>>3];r=+c[a>>3];r=A>3]=r;A=+c[t>>3];r=A>3]=r;c[i>>3]=+c[i>>3]-r;c[a>>3]=+c[a>>3]-+c[n>>3];c[t>>3]=+c[t>>3]-+c[n>>3];return}function pa(e,A,r,i,a,t){e=+e;A=+A;r=+r;i=i|0;a=a|0;t=t|0;var n=0.0,f=0.0,l=0.0,s=0,o=0;e:do{if(!(A<=0.0)){f=!(e>=1.0)?e*6.0:0.0;o=~~f;f=f-+(o|0);e=(1.0-A)*r;l=(1.0-f*A)*r;A=(1.0-(1.0-f)*A)*r;switch(o|0){case 0:{n=e;f=A;e=r;s=8;break e}case 1:{n=e;f=r;e=l;s=8;break e}case 2:{n=A;f=r;s=8;break e}case 3:{n=r;f=l;s=8;break e}case 4:{n=r;f=e;e=A;s=8;break e}case 5:{n=l;f=e;e=r;s=8;break e}default:break e}}else{n=r;f=r;e=r;s=8}}while(0);if((s|0)==8){c[i>>3]=e;c[a>>3]=f;c[t>>3]=n}return}function Ea(e){e=e|0;var A=0,r=0;A=i[e>>0]|0;if(((A<<24>>24!=98?(r=e+1|0,!(A<<24>>24==119|(y1(r,137266,4)|0)==0)):0)?!(A<<24>>24==108|(y1(r,137271,4)|0)==0):0)?(y1(r,137276,8)|0)!=0:0){do{if(A<<24>>24==47){A=C1(r,47)|0;if(!A)e=r;else{if((i[r>>0]|0)!=47){r=(S1(137285,r,4)|0)==0;e=r?A+1|0:e;break}A=t[47370]|0;if((A|0?i[A>>0]|0:0)?S1(137285,A,3)|0:0){e=ya(A,e+2|0)|0;break}e=e+2|0}}else{A=t[47370]|0;if(((A|0)!=0?(i[A>>0]|0)!=0:0)?(S1(137285,A,3)|0)!=0:0)e=ya(A,e)|0}}while(0);e=da(e)|0}return e|0}function Ba(e,A){e=e|0;A=A|0;return N1(t[e>>2]|0,t[A>>2]|0)|0}function ya(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;a=h;h=h+16|0;i=a;n=U2(e)|0;n=(U2(A)|0)+n|0;r=n+13|0;if((n+3|0)>>>0<(t[47371]|0)>>>0)r=t[47372]|0;else{t[47371]=r;r=AM(t[47372]|0,r)|0;t[47372]=r}t[i>>2]=e;t[i+4>>2]=A;T4(r,137290,i)|0;h=a;return t[47372]|0}function Ca(e){e=e|0;t[47370]=e;return}function Ia(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;var t=0,n=0;t=h;h=h+208|0;n=t;Za(n,+c[e>>3],+c[e+8>>3],A,r,i,a);e=Ga(n)|0;h=t;return e|0}function Za(e,A,r,i,a,t,n){e=e|0;A=+A;r=+r;i=+i;a=+a;t=+t;n=+n;var f=0,l=0;c[e>>3]=A;c[e+8>>3]=r;l=e+16|0;c[l>>3]=i;f=e+24|0;c[f>>3]=a;c[e+32>>3]=0.0;r=+R(+(+Y(+t)/a),+(+W(+t)/i));c[e+56>>3]=r;a=+R(+(+Y(+n)/a),+(+W(+n)/i));c[e+40>>3]=1.0;c[e+48>>3]=0.0;a=a-+L(+((a-r)*.15915494309189535))*6.283185307179586;c[e+64>>3]=n-t>3.141592653589793&a-r<3.141592653589793?a+6.283185307179586:a;Ya(e);Fa(e);Ma(e);n=+c[l>>3];n=(n-+c[f>>3])/n;c[e+168>>3]=n;c[e+176>>3]=(2.0-n)*n;n=1.0-n;c[e+184>>3]=n;c[e+192>>3]=n*n;return}function Ga(e){e=e|0;var A=0,r=0.0,i=0,a=0.0,t=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0.0,h=0.0,w=0,k=0,d=0.0,v=0.0,g=0.0,m=0.0,p=0.0,E=0.0,B=0.0,y=0.0,C=0.0;k=KF(8)|0;t=+c[e+56>>3];a=+c[e+64>>3]-t;w=1;A=0;while(1){h=a/+(w|0);if(!(A<<24>>24==0&(w|0)<1024))break;e:do{if(!(h<=1.5707963267948966))A=0;else{r=t;i=0;A=1;while(1){if(!(A<<24>>24!=0&(i|0)<(w|0)))break e;b=r+h;A=+La(e,r,b)<=1.0e-05&1;r=b;i=i+1|0}}}while(0);w=w<<1}f=+W(+t);m=+Y(+t);i=e+16|0;v=+c[i>>3];p=v*f;l=e+24|0;r=+c[l>>3];n=r*m;f=r*f;r=+c[e>>3];s=e+40|0;g=+c[s>>3];o=e+48|0;d=+c[o>>3];a=g*p+r-d*n;u=e+8|0;b=+c[u>>3];n=d*p+g*n+b;v=-(m*v);Qa(k,r,b);Da(k,a,n);b=+F(+(h*.5));b=+Y(+h)*.3333333333333333*(+D(+(b*b*3.0+4.0))+-1.0);r=t;t=n;n=d*v+g*f;f=g*v-d*f;A=0;while(1){if((A|0)>=(w|0))break;d=r+h;m=+W(+d);p=+Y(+d);B=+c[i>>3];C=B*m;E=+c[l>>3];g=E*p;m=E*m;E=+c[s>>3];y=+c[o>>3];v=E*C+ +c[e>>3]-y*g;g=y*C+E*g+ +c[u>>3];B=-(p*B);p=E*B-y*m;m=y*B+E*m;za(k,a+f*b,t+n*b,v-p*b,g-m*b,v,g);r=d;a=v;t=g;n=m;f=p;A=A+1|0}Wa(k);return k|0}function La(e,A,r){e=e|0;A=+A;r=+r;var i=0.0,a=0.0,t=0.0,n=0.0,f=0.0;i=r+A;f=+c[e+16>>3];a=+c[e+24>>3]/f;n=+W(+i);t=+W(+(i*2.0));i=+W(+(i*3.0));e=a<.25?10392:10648;return+(((a*.001+4.98)*a+.207)/(a+.0067)*f*+x(+(((+c[e+32>>3]*a+ +c[e+40>>3])*a+ +c[e+48>>3])/(+c[e+56>>3]+a)*n+((+c[e>>3]*a+ +c[e+8>>3])*a+ +c[e+16>>3])/(+c[e+24>>3]+a)+((+c[e+64>>3]*a+ +c[e+72>>3])*a+ +c[e+80>>3])/(+c[e+88>>3]+a)*t+((+c[e+96>>3]*a+ +c[e+104>>3])*a+ +c[e+112>>3])/(+c[e+120>>3]+a)*i+(((+c[e+160>>3]*a+ +c[e+168>>3])*a+ +c[e+176>>3])/(+c[e+184>>3]+a)*n+((+c[e+128>>3]*a+ +c[e+136>>3])*a+ +c[e+144>>3])/(+c[e+152>>3]+a)+((+c[e+192>>3]*a+ +c[e+200>>3])*a+ +c[e+208>>3])/(+c[e+216>>3]+a)*t+((+c[e+224>>3]*a+ +c[e+232>>3])*a+ +c[e+240>>3])/(+c[e+248>>3]+a)*i)*(r-A))))}function Qa(e,A,r){e=e|0;A=+A;r=+r;var i=0;t[47373]=100;i=KF(1600)|0;t[e>>2]=i;c[i>>3]=A;c[i+8>>3]=r;t[e+4>>2]=1;return}function Da(e,A,r){e=e|0;A=+A;r=+r;var i=0,a=0;a=t[e>>2]|0;i=(t[e+4>>2]|0)+-1|0;za(e,+c[a+(i<<4)>>3],+c[a+(i<<4)+8>>3],A,r,A,r);return}function za(e,A,r,i,a,n,f){e=e|0;A=+A;r=+r;i=+i;a=+a;n=+n;f=+f;var l=0,s=0,o=0,u=0;o=e+4|0;l=t[o>>2]|0;s=t[47373]|0;if((l+3|0)<(s|0))e=t[e>>2]|0;else{t[47373]=s<<1;l=Q2(t[e>>2]|0,s<<5)|0;t[e>>2]=l;e=l;l=t[o>>2]|0}c[e+(l<<4)>>3]=A;u=l+1|0;c[e+(l<<4)+8>>3]=r;c[e+(u<<4)>>3]=i;s=l+2|0;c[e+(u<<4)+8>>3]=a;c[e+(s<<4)>>3]=n;t[o>>2]=l+3;c[e+(s<<4)+8>>3]=f;return}function Wa(e){e=e|0;var A=0;A=t[e>>2]|0;Da(e,+c[A>>3],+c[A+8>>3]);t[e>>2]=Q2(t[e>>2]|0,t[e+4>>2]<<4)|0;t[47373]=0;return}function Ya(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0.0;i=+c[e+16>>3];A=+c[e+24>>3];A=+D(+(i*i-A*A));i=A*+c[e+40>>3];A=A*+c[e+48>>3];a=+c[e>>3];c[e+104>>3]=a-i;r=+c[e+8>>3];c[e+112>>3]=r-A;c[e+120>>3]=a+i;c[e+128>>3]=r+A;return}function Fa(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0.0,t=0.0,n=0.0,f=0.0,l=0.0;i=+c[e+16>>3];f=+c[e+56>>3];l=+W(+f)*i;A=+c[e+24>>3];f=+Y(+f)*A;n=+c[e+64>>3];i=+W(+n)*i;A=+Y(+n)*A;n=+c[e>>3];r=+c[e+40>>3];a=+c[e+48>>3];c[e+72>>3]=r*l+n-a*f;t=+c[e+8>>3];c[e+80>>3]=a*l+t+r*f;c[e+88>>3]=n+r*i-a*A;c[e+96>>3]=t+a*i+r*A;return}function Ma(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0.0,t=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0;s=+c[e+24>>3];o=+c[e+16>>3];a=s/o;u=+c[e+48>>3];b=+Q(+u)<.1;l=+c[e+40>>3];do{if(b){A=u/l;r=+N(+(A*a));i=-r;if(l<0.0){A=+N(+(A/a));a=i;i=3.141592653589793-r;r=4.71238898038469-A;A=1.5707963267948966-A;break}else{A=+N(+(A/a));a=-3.141592653589793-r;r=1.5707963267948966-A;A=-1.5707963267948966-A;break}}else{A=l/u;r=+N(+(A/a));i=r+1.5707963267948966;if(u<0.0){A=+N(+(A*a));a=r+-1.5707963267948966;r=A+3.141592653589793;break}else{A=+N(+(A*a));a=i;i=r+4.71238898038469;r=A;A=A+-3.141592653589793;break}}}while(0);n=+c[e+56>>3];a=a-+L(+((a-n)*.15915494309189535))*6.283185307179586;A=A-+L(+((A-n)*.15915494309189535))*6.283185307179586;t=i-+L(+((i-n)*.15915494309189535))*6.283185307179586;n=r-+L(+((r-n)*.15915494309189535))*6.283185307179586;f=+c[e+64>>3];if(!(a<=f)){a=+c[e+72>>3];r=+c[e+88>>3];r=a>3]-s*+Y(+a)*u;c[e+136>>3]=r;if(!(A<=f)){a=+c[e+80>>3];i=+c[e+96>>3];i=a>3]+ +Y(+A)*s*l;c[e+144>>3]=i;if(!(t<=f)){t=+c[e+72>>3];A=+c[e+88>>3];A=t>A?t:A}else A=+W(+t)*o*l+ +c[e>>3]-s*+Y(+t)*u;c[e+152>>3]=A-r;if(!(n<=f)){u=+c[e+80>>3];A=+c[e+96>>3];A=u>A?u:A}else A=+W(+n)*o*u+ +c[e+8>>3]+ +Y(+n)*s*l;c[e+160>>3]=A-i;return}function Va(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0,l=0,s=0.0,o=0,u=0;u=h;h=h+80|0;o=u;Na(e);s=+c[r+56>>3];n=+c[r+64>>3];switch(i[r+80>>0]|0){case 116:{n=(+c[r+48>>3]-+Ra(A))*.5+n;a=4;break}case 98:{n=n-(+c[r+48>>3]-+Ra(A))*.5;a=4;break}default:{}}if((a|0)==4)n=n+-1.0;c[o>>3]=s;c[o+8>>3]=n;t[o+20>>2]=t[r+8>>2];t[o+16>>2]=t[r+4>>2];c[o+32>>3]=+c[r+16>>3];l=e+16|0;a=Hw(t[(t[l>>2]|0)+8>>2]|0,137297)|0;r=o+56|0;t[r>>2]=a;f=o+60|0;t[f>>2]=t[(t[l>>2]|0)+212>>2];l=o+64|0;i[l>>0]=0;if(!((a|0)!=0?(i[a>>0]|0)!=0:0))t[r>>2]=137308;if((i[A+4>>0]|0)==1){r=t[A>>2]|0;ii(e,t[(t[e>>2]|0)+336>>2]|0);a=t[r+24>>2]|0;if(!a)$r(e,137314);else $r(e,a);Ja(e,r,o);if(i[l>>0]|0)G2(t[f>>2]|0)}else xa(e,t[A>>2]|0,o);Ha(e);h=u;return}function Na(e){e=e|0;var A=0,r=0,i=0;A=eB(e)|0;r=t[A>>2]|0;e=t[r+4>>2]|0;t[A+4>>2]=e;t[A+12>>2]=t[r+12>>2];switch(e|0){case 2:{e=r+8|0;i=6;break}case 0:{e=r+8|0;i=6;break}case 1:{e=r+8|0;i=6;break}case 3:{e=r+8|0;i=6;break}default:{}}if((i|0)==6)t[A+8>>2]=t[e>>2];t[A+208>>2]=t[r+208>>2];t[A+228>>2]=t[r+228>>2];t[A+244>>2]=t[r+244>>2];i=A+260|0;a[i>>1]=a[i>>1]&-2|a[r+260>>1]&1;return}function Ra(e){e=e|0;var A=0.0,r=0,a=0;switch(i[e+4>>0]|0){case 1:{r=t[e>>2]|0;e=r+72|0;r=r+56|0;a=5;break}case 3:{r=t[e>>2]|0;e=r+24|0;r=r+8|0;a=5;break}case 2:{r=t[e>>2]|0;e=r+32|0;r=r+16|0;a=5;break}default:A=0.0}if((a|0)==5)A=+c[e>>3]-+c[r>>3];return+A}function xa(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0,d=0,v=0;u=h;h=h+96|0;l=u+64|0;f=u+32|0;n=u+16|0;s=u;o=a[A+4>>1]|0;if(o<<16>>16>=1){d=A+8|0;w=+c[A+24>>3];b=+c[d>>3];c[s>>3]=(b+w)*.5+ +c[r>>3];c[s+8>>3]=(+c[A+16>>3]+ +c[A+32>>3])*.5+ +c[r+8>>3];k=t[A>>2]|0;v=r+16|0;r=i[A+6>>0]|0;t[n>>2]=t[s>>2];t[n+4>>2]=t[s+4>>2];t[n+8>>2]=t[s+8>>2];t[n+12>>2]=t[s+12>>2];t[f>>2]=t[v>>2];t[f+4>>2]=t[v+4>>2];t[f+8>>2]=t[v+8>>2];t[f+12>>2]=t[v+12>>2];t[f+16>>2]=t[v+16>>2];t[f+20>>2]=t[v+20>>2];t[f+24>>2]=t[v+24>>2];t[f+28>>2]=t[v+28>>2];t[l>>2]=t[d>>2];t[l+4>>2]=t[d+4>>2];t[l+8>>2]=t[d+8>>2];t[l+12>>2]=t[d+12>>2];t[l+16>>2]=t[d+16>>2];t[l+20>>2]=t[d+20>>2];t[l+24>>2]=t[d+24>>2];t[l+28>>2]=t[d+28>>2];et(e,o<<16>>16,k,n,(w-b)*.5,f,l,r)}h=u;return}function Ja(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,s=0,o=0.0,u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=h;h=h+176|0;g=y+96|0;p=y+64|0;E=y+136|0;w=y;k=y+128|0;d=A+48|0;t[p>>2]=t[d>>2];t[p+4>>2]=t[d+4>>2];t[p+8>>2]=t[d+8>>2];t[p+12>>2]=t[d+12>>2];t[p+16>>2]=t[d+16>>2];t[p+20>>2]=t[d+20>>2];t[p+24>>2]=t[d+24>>2];t[p+28>>2]=t[d+28>>2];o=+c[r>>3];u=+c[r+8>>3];d=A+84|0;f=t[d>>2]|0;if(!(t[A>>2]|0))B=(t[A+8>>2]|0)!=0;else B=1;m=A+108|0;l=t[m>>2]|0;if(l|0)Pa(r,l,186544);c[p>>3]=+c[p>>3]+o;v=p+16|0;c[v>>3]=+c[v>>3]+o;v=p+8|0;c[v>>3]=+c[v>>3]+u;v=p+24|0;c[v>>3]=+c[v>>3]+u;if(B?(t[e+152>>2]&4|0)==0:0){t[g>>2]=t[p>>2];t[g+4>>2]=t[p+4>>2];t[g+8>>2]=t[p+8>>2];t[g+12>>2]=t[p+12>>2];t[g+16>>2]=t[p+16>>2];t[g+20>>2]=t[p+20>>2];t[g+24>>2]=t[p+24>>2];t[g+28>>2]=t[p+28>>2];v=Xa(e,r,A,g,E)|0}else v=0;b=A+42|0;l=a[b>>1]|0;if(!(l&32)){s=t[A+20>>2]|0;if(s){l=Sa(e,s,t[A+28>>2]|0,l&65535,k)|0;if(!(a[b>>1]&4)){t[g>>2]=t[p>>2];t[g+4>>2]=t[p+4>>2];t[g+8>>2]=t[p+8>>2];t[g+12>>2]=t[p+12>>2];t[g+16>>2]=t[p+16>>2];t[g+20>>2]=t[p+20>>2];t[g+24>>2]=t[p+24>>2];t[g+28>>2]=t[p+28>>2];ni(e,g,l)}else{b=n[A+33>>0]|0;t[g>>2]=t[p>>2];t[g+4>>2]=t[p+4>>2];t[g+8>>2]=t[p+8>>2];t[g+12>>2]=t[p+12>>2];t[g+16>>2]=t[p+16>>2];t[g+20>>2]=t[p+20>>2];t[g+24>>2]=t[p+24>>2];t[g+28>>2]=t[p+28>>2];lN(e,ja(w,g,b)|0,4,4,l)}G2(t[k>>2]|0)}while(1){l=t[f>>2]|0;if(!l)break;Ua(e,l,r);f=f+4|0}f=t[d>>2]|0;ui(e,1.0);l=A+24|0;while(1){s=f+4|0;f=t[f>>2]|0;if(!f)break;if(!(i[f+100>>0]|0)){f=s;continue}Ta(e,f,r,t[l>>2]|0,t[s>>2]|0);f=s}if(i[A+33>>0]|0){t[g>>2]=t[p>>2];t[g+4>>2]=t[p+4>>2];t[g+8>>2]=t[p+8>>2];t[g+12>>2]=t[p+12>>2];t[g+16>>2]=t[p+16>>2];t[g+20>>2]=t[p+20>>2];t[g+24>>2]=t[p+24>>2];t[g+28>>2]=t[p+28>>2];Oa(e,A,g)}}if(v|0)_a(e,E);if((B?t[e+152>>2]&4|0:0)?(t[g>>2]=t[p>>2],t[g+4>>2]=t[p+4>>2],t[g+8>>2]=t[p+8>>2],t[g+12>>2]=t[p+12>>2],t[g+16>>2]=t[p+16>>2],t[g+20>>2]=t[p+20>>2],t[g+24>>2]=t[p+24>>2],t[g+28>>2]=t[p+28>>2],Xa(e,r,A,g,E)|0):0)_a(e,E);if(t[m>>2]|0)qa(r,186544);h=y;return}function Ha(e){e=e|0;var A=0;A=t[e+16>>2]|0;t[A+208>>2]=0;t[A+228>>2]=0;t[A+244>>2]=0;t[A+212>>2]=0;AB(e);return}function Pa(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0;f=e+16|0;a=t[f>>2]|0;if(a|0){if(!(t[A>>2]|0)){a=0;n=r}else{t[r>>2]=a;a=t[A>>2]|0;n=f}t[n>>2]=a}a=t[e+20>>2]|0;if(a|0){n=A+4|0;if(!(t[n>>2]|0)){a=0;n=r}else{t[r+4>>2]=a;a=t[n>>2]|0;n=f}t[n+4>>2]=a}i=+c[e+32>>3];if(i>=0.0){a=A+16|0;if(!(+c[a>>3]>=0.0))i=-1.0;else{c[r+16>>3]=i;i=+c[a>>3];r=f}c[r+16>>3]=i}return}function Xa(e,A,r,n,f){e=e|0;A=A|0;r=r|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+224|0;u=m+8|0;c=m;g=m+40|0;s=m+184|0;l=m+56|0;o=t[e+16>>2]|0;b=o+208|0;t[f>>2]=t[b>>2];w=o+228|0;t[f+4>>2]=t[w>>2];k=o+244|0;t[f+8>>2]=t[k>>2];d=o+212|0;t[f+12>>2]=t[d>>2];v=o+260|0;i[f+16>>0]=(a[v>>1]<<15&65535)<<16>>16>>15;f=t[r+16>>2]|0;if((f|0)!=0?(i[f>>0]|0)!=0:0)l=0;else{cw(g,128,l);l=A+60|0;f=t[l>>2]|0;if(!f){f=o3(iB(e,t[o+8>>2]|0,g)|0)|0;t[l>>2]=f;i[A+64>>0]=1}bw(g,f)|0;l=t[47374]|0;t[47374]=l+1;t[c>>2]=l;T4(s,137391,c)|0;bw(g,s)|0;l=g+4|0;f=t[l>>2]|0;if(f>>>0>=(t[g+8>>2]|0)>>>0){ow(g,1)|0;f=t[l>>2]|0}i[f>>0]=0;f=t[g>>2]|0;t[l>>2]=f;l=1}f=rB(e,0,t[r>>2]|0,t[r+12>>2]|0,t[r+8>>2]|0,f,t[o+8>>2]|0)|0;if(l)hw(g);do{if(f|0){if((t[b>>2]|0)==0?(a[v>>1]&1)==0:0)break;t[u>>2]=t[n>>2];t[u+4>>2]=t[n+4>>2];t[u+8>>2]=t[n+8>>2];t[u+12>>2]=t[n+12>>2];t[u+16>>2]=t[n+16>>2];t[u+20>>2]=t[n+20>>2];t[u+24>>2]=t[n+24>>2];t[u+28>>2]=t[n+28>>2];cB(e,u);Tr(e,t[b>>2]|0,t[w>>2]|0,t[k>>2]|0,t[d>>2]|0)}}while(0);h=m;return f|0}function Sa(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0,l=0;l=h;h=h+16|0;f=l;if(!((KY(A,a,f)|0)<<24>>24)){Ai(e,A);A=1}else{Ai(e,t[a>>2]|0);A=t[a+4>>2]|0;n=+s[f>>2];if(!A)ri(e,137314,r,n);else ri(e,A,r,n);A=i>>>1&1|2}$r(e,137379);h=l;return A|0}function ja(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0.0,l=0.0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];i=e+32|0;A=A+16|0;t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];if((r|0)>1){l=+(r|0)*.5;f=+c[e>>3]+l;c[e>>3]=f;r=e+8|0;n=+c[r>>3]+l;c[r>>3]=n;a=+c[i>>3]-l;c[i>>3]=a;i=e+40|0;l=+c[i>>3]-l;c[i>>3]=l}else{a=+c[i>>3];n=+c[e+8>>3];f=+c[e>>3];l=+c[e+40>>3]}c[e+16>>3]=a;c[e+24>>3]=n;c[e+48>>3]=f;c[e+56>>3]=l;return e|0}function Ua(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+176|0;d=p+96|0;v=p+136|0;g=p+64|0;w=p;k=p+128|0;m=A+48|0;t[g>>2]=t[m>>2];t[g+4>>2]=t[m+4>>2];t[g+8>>2]=t[m+8>>2];t[g+12>>2]=t[m+12>>2];t[g+16>>2]=t[m+16>>2];t[g+20>>2]=t[m+20>>2];t[g+24>>2]=t[m+24>>2];t[g+28>>2]=t[m+28>>2];l=+c[r>>3];s=+c[r+8>>3];if(!(t[A>>2]|0))m=(t[A+8>>2]|0)!=0;else m=1;c[g>>3]=+c[g>>3]+l;b=g+16|0;c[b>>3]=+c[b>>3]+l;b=g+8|0;c[b>>3]=+c[b>>3]+s;b=g+24|0;c[b>>3]=+c[b>>3]+s;if(m?(t[e+152>>2]&4|0)==0:0){t[d>>2]=t[g>>2];t[d+4>>2]=t[g+4>>2];t[d+8>>2]=t[g+8>>2];t[d+12>>2]=t[g+12>>2];t[d+16>>2]=t[g+16>>2];t[d+20>>2]=t[g+20>>2];t[d+24>>2]=t[g+24>>2];t[d+28>>2]=t[g+28>>2];b=Xa(e,r,A,d,v)|0}else b=0;u=A+42|0;f=a[u>>1]|0;e:do{if(!(f&32)){o=t[A+20>>2]|0;if(o|0){f=Sa(e,o,t[A+28>>2]|0,f&65535,k)|0;if(!(a[u>>1]&4)){t[d>>2]=t[g>>2];t[d+4>>2]=t[g+4>>2];t[d+8>>2]=t[g+8>>2];t[d+12>>2]=t[g+12>>2];t[d+16>>2]=t[g+16>>2];t[d+20>>2]=t[g+20>>2];t[d+24>>2]=t[g+24>>2];t[d+28>>2]=t[g+28>>2];ni(e,d,f)}else{u=n[A+33>>0]|0;t[d>>2]=t[g>>2];t[d+4>>2]=t[g+4>>2];t[d+8>>2]=t[g+8>>2];t[d+12>>2]=t[g+12>>2];t[d+16>>2]=t[g+16>>2];t[d+20>>2]=t[g+20>>2];t[d+24>>2]=t[g+24>>2];t[d+28>>2]=t[g+28>>2];lN(e,ja(w,d,u)|0,4,4,f)}G2(t[k>>2]|0)}if(i[A+33>>0]|0){t[d>>2]=t[g>>2];t[d+4>>2]=t[g+4>>2];t[d+8>>2]=t[g+8>>2];t[d+12>>2]=t[g+12>>2];t[d+16>>2]=t[g+16>>2];t[d+20>>2]=t[g+20>>2];t[d+24>>2]=t[g+24>>2];t[d+28>>2]=t[g+28>>2];Oa(e,A,d)}f=A+88|0;switch(i[A+92>>0]|0){case 1:{Ja(e,t[f>>2]|0,r);break e}case 3:{$a(e,t[f>>2]|0,r);break e}default:{xa(e,t[f>>2]|0,r);break e}}}}while(0);if(b|0)_a(e,v);if((m?t[e+152>>2]&4|0:0)?(t[d>>2]=t[g>>2],t[d+4>>2]=t[g+4>>2],t[d+8>>2]=t[g+8>>2],t[d+12>>2]=t[g+12>>2],t[d+16>>2]=t[g+16>>2],t[d+20>>2]=t[g+20>>2],t[d+24>>2]=t[g+24>>2],t[d+28>>2]=t[g+28>>2],Xa(e,r,A,d,v)|0):0)_a(e,v);h=p;return}function Ta(e,A,r,l,s){e=e|0;A=A|0;r=r|0;l=l|0;s=s|0;var o=0.0,u=0,b=0.0,w=0.0,k=0,d=0.0,v=0.0,g=0.0,m=0.0,p=0,E=0,B=0.0,y=0,C=0,I=0,Z=0,G=0;I=h;h=h+32|0;y=I+16|0;C=I;d=+c[r>>3];B=+c[r+8>>3];k=(l|0)==0?137314:l;Ai(e,k);$r(e,k);g=+c[A+48>>3];b=+c[A+56>>3];m=+c[A+64>>3];w=+c[A+72>>3];v=g+d;d=m+d;B=b+B;k=A+100|0;r=i[k>>0]|0;if((r&1)!=0?(u=t[A+96>>2]|0,((f[A+80>>1]|0)+(f[A+84>>1]|0)|0)<(t[u+104>>2]|0)):0){r=a[A+86>>1]|0;do{if(r<<16>>16)if(((f[A+82>>1]|0)+(r&65535)|0)==(t[u+100>>2]|0)){Z=i[u+32>>0]|0;G=(Z<<24>>24)/2|0;l=(G<<24>>24)+(n[u+33>>0]|0)|0;r=l;l=l&255;o=B-+(G<<24>>24);u=Z;break}else{u=i[u+32>>0]|0;r=0;l=((u<<24>>24)/2|0)<<24>>24;o=B;break}else{G=i[u+32>>0]|0;l=((G<<24>>24)/2|0)<<24>>24;r=l+(n[u+33>>0]|0)|0;o=B;u=G}}while(0);c[C+8>>3]=o-+(l|0);c[C>>3]=d+ +(((u<<24>>24)/2|0)<<24>>24);t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];Ka(e,y,0.0,w-b+ +(r&255|0)+ +(u<<24>>24));r=i[k>>0]|0}if(r&2?(p=a[A+86>>1]|0,E=t[A+96>>2]|0,((f[A+82>>1]|0)+(p&65535)|0)<(t[E+100>>2]|0)):0){r=a[A+84>>1]|0;do{if(!(r<<16>>16)){r=i[E+32>>0]|0;G=(r<<24>>24)/2|0;u=(G<<24>>24)+(n[E+33>>0]|0)|0;l=u&255;u=u&255;o=+(G<<24>>24);c[C>>3]=v-o-+(u|0);if((t[E+104>>2]|0)==(f[A+80>>1]|0)){l=u<<1&255;break}if((s|0)!=0?(a[s+86>>1]|0)!=p<<16>>16:0)l=~~(+(l&255)-m+ +c[E+64>>3]-o)&255}else{if(((f[A+80>>1]|0)+(r&65535)|0)==(t[E+104>>2]|0)){r=i[E+32>>0]|0;G=(r<<24>>24)/2|0;l=(G&255)+(n[E+33>>0]|0)&255;c[C>>3]=v-+(G<<24>>24);break}r=i[E+32>>0]|0;o=+(((r<<24>>24)/2|0)<<24>>24);c[C>>3]=v-o;if((s|0)!=0?(a[s+86>>1]|0)!=p<<16>>16:0)l=~~(+c[E+64>>3]-m-o)&255;else l=0}}while(0);c[C+8>>3]=B-+(((r<<24>>24)/2|0)<<24>>24);t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];Ka(e,y,m-g+ +(l&255)+ +(r<<24>>24),0.0)}h=I;return}function Oa(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0;w=h;h=h+160|0;b=w+112|0;u=w;l=w+144|0;o=t[A+24>>2]|0;$r(e,(o|0)==0?137314:o);o=A+42|0;f=a[o>>1]|0;if(!(f&384))ii(e,t[(t[e>>2]|0)+336>>2]|0);else{t[l+4>>2]=0;t[l>>2]=0;f=f&65535;if(!(f&256)){if(f&128|0){f=137320;s=4}}else{f=137327;s=4}if((s|0)==4)t[l>>2]=f;ii(e,l)}s=A+33|0;ui(e,+(n[s>>0]|0));e:do{if(!(a[o>>1]&4)){f=a[A+36>>1]&15360;if(!(f<<16>>16)){f=i[s>>0]|0;if((f&255)>1){k=+(f&255)*.5;c[r>>3]=+c[r>>3]+k;u=r+8|0;c[u>>3]=+c[u>>3]+k;u=r+16|0;c[u>>3]=+c[u>>3]-k;u=r+24|0;c[u>>3]=+c[u>>3]-k}t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];t[b+16>>2]=t[r+16>>2];t[b+20>>2]=t[r+20>>2];t[b+24>>2]=t[r+24>>2];t[b+28>>2]=t[r+28>>2];ni(e,b,0);break}l=u+16|0;o=n[s>>0]|0;t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];t[b+16>>2]=t[r+16>>2];t[b+20>>2]=t[r+20>>2];t[b+24>>2]=t[r+24>>2];t[b+28>>2]=t[r+28>>2];ja(l,b,o)|0;do{switch(((f&65535)+-1024|0)>>>10&4194303|0){case 7:{li(e,l,2);break e}case 3:{li(e,u+32|0,2);break e}case 1:{li(e,u+48|0,2);break e}case 0:{r=u+64|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];li(e,u,2);break e}case 11:{li(e,l,3);break e}case 5:{li(e,u+32|0,3);break e}case 2:{r=u+80|0;t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];t[r+8>>2]=t[l+8>>2];t[r+12>>2]=t[l+12>>2];li(e,u+48|0,3);break e}case 8:{r=u+64|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];li(e,u,3);break e}case 13:{li(e,l,4);break e}case 6:{r=u+80|0;t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];t[r+8>>2]=t[l+8>>2];t[r+12>>2]=t[l+12>>2];li(e,u+32|0,4);break e}case 10:{r=u+80|0;t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];t[r+8>>2]=t[l+8>>2];t[r+12>>2]=t[l+12>>2];r=u+96|0;b=u+32|0;t[r>>2]=t[b>>2];t[r+4>>2]=t[b+4>>2];t[r+8>>2]=t[b+8>>2];t[r+12>>2]=t[b+12>>2];li(e,u+48|0,4);break e}case 12:{r=u+64|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];li(e,u,4);break e}case 9:{li(e,l,2);li(e,u+48|0,2);break e}case 4:{r=u+64|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];li(e,u,2);li(e,u+32|0,2);break e}default:break e}}while(0)}else{o=n[s>>0]|0;t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];t[b+16>>2]=t[r+16>>2];t[b+20>>2]=t[r+20>>2];t[b+24>>2]=t[r+24>>2];t[b+28>>2]=t[r+28>>2];lN(e,ja(u,b,o)|0,4,4,0)}}while(0);h=w;return}function _a(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;f=t[e+16>>2]|0;r=f+208|0;if((t[r>>2]|0)==0?(a[f+260>>1]&1)==0:0)e=0;else{Or(e);e=t[r>>2]|0}if((e|0)!=(t[A>>2]|0)){G2(e);t[r>>2]=t[A>>2]}e=f+228|0;r=t[e>>2]|0;n=A+4|0;if((r|0)!=(t[n>>2]|0)){G2(r);t[e>>2]=t[n>>2]}e=f+244|0;r=t[e>>2]|0;n=A+8|0;if((r|0)!=(t[n>>2]|0)){G2(r);t[e>>2]=t[n>>2]}e=f+212|0;r=t[e>>2]|0;n=A+12|0;if((r|0)!=(t[n>>2]|0)){G2(r);t[e>>2]=t[n>>2]}f=f+260|0;a[f>>1]=a[f>>1]&-2|i[A+16>>0]&1;return}function qa(e,A){e=e|0;A=A|0;var r=0.0,i=0;i=t[A>>2]|0;if(i|0)t[e+16>>2]=i;i=t[A+4>>2]|0;if(i|0)t[e+20>>2]=i;r=+c[A+16>>3];if(r>=0.0)c[e+32>>3]=r;return}function Ka(e,A,r,i){e=e|0;A=A|0;r=+r;i=+i;var a=0,n=0,f=0;a=h;h=h+64|0;n=a+32|0;f=a;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];c[f+16>>3]=+c[A>>3]+r;c[f+24>>3]=+c[A+8>>3]+i;t[n>>2]=t[f>>2];t[n+4>>2]=t[f+4>>2];t[n+8>>2]=t[f+8>>2];t[n+12>>2]=t[f+12>>2];t[n+16>>2]=t[f+16>>2];t[n+20>>2]=t[f+20>>2];t[n+24>>2]=t[f+24>>2];t[n+28>>2]=t[f+28>>2];ni(e,n,1);h=a;return}function $a(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0.0,s=0.0,o=0.0,u=0.0;f=h;h=h+64|0;n=f;s=+c[r>>3];u=s+ +c[A>>3];o=+c[r+8>>3];l=o+ +c[A+8>>3];s=s+ +c[A+16>>3];o=o+ +c[A+24>>3];c[n>>3]=s;c[n+8>>3]=o;c[n+32>>3]=u;c[n+40>>3]=l;c[n+16>>3]=u;c[n+24>>3]=o;c[n+48>>3]=s;c[n+56>>3]=l;a=t[A+36>>2]|0;if(!a)a=t[r+56>>2]|0;r=t[A+32>>2]|0;if(!r)ge(137334,137342,623,137354);if(!(i[r>>0]|0))ge(137368,137342,624,137354);else{ci(e,r,n,4,1,a);h=f;return}}function et(e,A,r,n,f,l,s,o){e=e|0;A=A|0;r=r|0;n=n|0;f=+f;l=l|0;s=s|0;o=o|0;var u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0.0,F=0,M=0,V=0,N=0.0,R=0.0,x=0,J=0,H=0,P=0;P=h;h=h+128|0;M=P+104|0;x=P+48|0;J=P+16|0;V=P;F=V;t[F>>2]=0;t[F+4>>2]=0;N=+c[n>>3];R=N-f;Y=N+f;F=V+8|0;c[F>>3]=(+c[s+24>>3]-+c[s+8>>3])*.5+ +c[n+8>>3];_r(e,1);L=J+16|0;Q=J+4|0;D=J+24|0;z=x+4|0;W=x+16|0;v=(o|0)==0;g=x+24|0;m=x+8|0;p=x+32|0;E=x+40|0;B=x+48|0;y=l+16|0;C=l+4|0;I=J+8|0;k=0;while(1){if((k|0)>=(A|0))break;switch(i[r+(k*24|0)+6>>0]|0){case 108:{f=R;break}case 114:{f=Y-+c[r+(k*24|0)+8>>3];break}default:f=N-+c[r+(k*24|0)+8>>3]*.5}c[n>>3]=f;Z=r+(k*24|0)+16|0;c[F>>3]=+c[F>>3]-+c[Z>>3];G=r+(k*24|0)+4|0;w=t[r+(k*24|0)>>2]|0;d=0;while(1){if((d|0)>=(a[G>>1]|0))break;b=w+4|0;o=t[b>>2]|0;if(o){c[L>>3]=+c[(+c[o+16>>3]>0.0?o:l)+16>>3];t[J>>2]=t[((t[o>>2]|0)==0?l:o)>>2];s=t[((t[o+4>>2]|0)==0?l:o)+4>>2]|0;t[Q>>2]=s;o=t[o+24>>2]&127;if(!o)H=12;else o=t[D>>2]&-128|o}else{c[L>>3]=+c[y>>3];t[J>>2]=t[l>>2];s=t[C>>2]|0;t[Q>>2]=s;H=12}if((H|0)==12){H=0;o=t[D>>2]&-128}t[D>>2]=o;$r(e,s);t[x>>2]=t[w>>2];t[z>>2]=J;c[W>>3]=+c[w+16>>3];if(v)u=1.0;else u=+c[w+24>>3];c[g>>3]=u;t[I>>2]=t[(t[b>>2]|0)+8>>2];t[m>>2]=t[w+8>>2];b=w+32|0;c[p>>3]=+c[b>>3];c[E>>3]=+c[Z>>3];i[B>>0]=108;c[V>>3]=f;t[M>>2]=t[V>>2];t[M+4>>2]=t[V+4>>2];t[M+8>>2]=t[V+8>>2];t[M+12>>2]=t[V+12>>2];Kr(e,M,x);u=+c[b>>3]+f;c[n>>3]=u;w=w+56|0;d=d+1|0;f=u}k=k+1|0}qr(e);h=P;return}function At(e){e=e|0;G2(t[e>>2]|0);G2(t[e+4>>2]|0);G2(t[e+8>>2]|0);G2(t[e+16>>2]|0);G2(t[e+12>>2]|0);G2(t[e+20>>2]|0);G2(t[e+24>>2]|0);return}function rt(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0;if(e|0){s=e+4|0;r=0;n=t[e>>2]|0;while(1){if((r|0)>=(a[s>>1]|0))break;c=n+4|0;A=0;i=t[n>>2]|0;while(1){if((A|0)>=(a[c>>1]|0))break;G2(t[i>>2]|0);f=t[i+8>>2]|0;if(f|0?(l=t[i+12>>2]|0,l|0):0)F5[l&127](f);A=A+1|0;i=i+56|0}r=r+1|0;n=n+24|0}A=t[e>>2]|0;if(A|0)G2(A);G2(e)}return}function it(e){e=e|0;G2(t[e+32>>2]|0);G2(e);return}function at(e,A){e=e|0;A=A|0;switch(i[e+4>>0]|0){case 1:{tt(t[e>>2]|0);break}case 3:{it(t[e>>2]|0);break}default:rt(t[e>>2]|0)}if(A|0)G2(e);return}function tt(e){e=e|0;var A=0,r=0,i=0;i=e+84|0;if((t[e+100>>2]|0)==-1)Ph(t[i>>2]|0)|0;else{A=t[i>>2]|0;G2(t[e+92>>2]|0);G2(t[e+96>>2]|0);while(1){r=t[A>>2]|0;if(!r)break;nt(r);A=A+4|0}G2(t[i>>2]|0)}At(e);G2(e);return}function nt(e){e=e|0;at(e+88|0,0);At(e);G2(e);return}function ft(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;e=t[(t[(t[e+16>>2]|0)+104>>2]|0)+72>>2]|0;if((i[e+4>>0]|0)!=2?(a=lt(t[e>>2]|0,A)|0,(a|0)!=0):0){t[r>>2]=n[a+35>>0];e=a+48|0}else e=0;return e|0}function lt(e,A){e=e|0;A=A|0;var r=0,i=0;r=t[e+4>>2]|0;if(!((r|0)!=0?(N1(r,A)|0)==0:0))i=3;e:do{if((i|0)==3){r=t[e+84>>2]|0;while(1){e=t[r>>2]|0;if(!e){e=0;break e}e=st(e,A)|0;if(!e)r=r+4|0;else break}}}while(0);return e|0}function st(e,A){e=e|0;A=A|0;var r=0;r=t[e+4>>2]|0;if(!((r|0)!=0?(N1(r,A)|0)==0:0))if((i[e+92>>0]|0)==1)e=lt(t[e+88>>2]|0,A)|0;else e=0;return e|0}function ct(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;return 0}function ot(e){e=e|0;var A=0.0,r=0,n=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;w=e+92|0;t[w>>2]=KF((t[e+100>>2]<<2)+4|0)|0;b=KF((t[e+104>>2]<<2)+4|0)|0;t[e+96>>2]=b;h=e+32|0;u=t[e+84>>2]|0;while(1){o=t[u>>2]|0;if(!o)break;e=a[o+82>>1]|0;A=+c[o+72>>3];if(e<<16>>16==1)n=~~A;else{n=~~((A-+(P((i[h>>0]|0)+-1|0,(e&65535)+-1|0)|0))/+(e&65535));n=(n|0)>1?n:1}l=a[o+80>>1]|0;A=+c[o+64>>3];if(l<<16>>16==1)s=~~A;else{s=~~((A-+(P((i[h>>0]|0)+-1|0,(l&65535)+-1|0)|0))/+(l&65535));s=(s|0)>1?s:1}k=f[o+86>>1]|0;r=(e&65535)+k|0;e=k;while(1){if((e|0)>=(r|0))break;k=(t[w>>2]|0)+(e<<2)|0;d=t[k>>2]|0;t[k>>2]=(d|0)>(n|0)?d:n;e=e+1|0}e=f[o+84>>1]|0;r=(l&65535)+e|0;while(1){if((e|0)>=(r|0))break;d=b+(e<<2)|0;k=t[d>>2]|0;t[d>>2]=(k|0)>(s|0)?k:s;e=e+1|0}u=u+4|0}return}function ut(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=r;if(e>>>0<21)e=t[55840+(e<<2)>>2]|0;else{t[A>>2]=e;T4(194959,137395,A)|0;e=194959}h=r;return e|0}function bt(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,l=0,s=0,o=0,u=0,b=0,h=0;s=e+104|0;o=e+100|0;l=r+16|0;i=0;a=0;while(1){if((i|0)>(t[s>>2]|0))break;n=gd(r,ut(i)|0,1)|0;Sd(n,137447,304,1)|0;u=n+16|0;t[(t[u>>2]|0)+176>>2]=0;h=KF((t[o>>2]<<2)+4|0)|0;b=t[u>>2]|0;t[b+172>>2]=h;t[b+184>>2]=0;b=KF((t[o>>2]<<2)+4|0)|0;t[(t[u>>2]|0)+180>>2]=b;if(!a)t[(t[l>>2]|0)+192>>2]=n;else t[(t[a+16>>2]|0)+164>>2]=n;i=i+1|0;a=n}l=A+16|0;i=0;a=0;while(1){if((i|0)>(t[o>>2]|0))break;n=gd(A,ut(i)|0,1)|0;Sd(n,137447,304,1)|0;h=n+16|0;t[(t[h>>2]|0)+176>>2]=0;u=KF((t[s>>2]<<2)+4|0)|0;b=t[h>>2]|0;t[b+172>>2]=u;t[b+184>>2]=0;b=KF((t[s>>2]<<2)+4|0)|0;t[(t[h>>2]|0)+180>>2]=b;if(!a)t[(t[l>>2]|0)+192>>2]=n;else t[(t[a+16>>2]|0)+164>>2]=n;i=i+1|0;a=n}i=t[e+84>>2]|0;while(1){a=t[i>>2]|0;if(!a)break;h=a+84|0;b=gd(r,ut(f[h>>1]|0)|0,0)|0;h=gd(r,ut((f[a+80>>1]|0)+(f[h>>1]|0)|0)|0,0)|0;ht(r,b,h,~~+c[a+64>>3]);h=a+86|0;b=gd(A,ut(f[h>>1]|0)|0,0)|0;h=gd(A,ut((f[a+82>>1]|0)+(f[h>>1]|0)|0)|0,0)|0;ht(A,b,h,~~+c[a+72>>3]);i=i+4|0}wt(r);wt(A);return}function ht(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,l=0;n=lk(e,A,r,0,0)|0;if(!n){l=lk(e,A,r,0,1)|0;Sd(l,137460,176,1)|0;a[(t[l+16>>2]|0)+170>>1]=i;A=A+16|0;e=t[A>>2]|0;n=t[e+180>>2]|0;if(!n)e=$F((t[e+184>>2]<<2)+8|0)|0;else e=AM(n,(t[e+184>>2]<<2)+8|0)|0;i=t[A>>2]|0;t[i+180>>2]=e;i=i+184|0;n=t[i>>2]|0;t[i>>2]=n+1;t[e+(n<<2)>>2]=l;A=t[A>>2]|0;t[(t[A+180>>2]|0)+(t[A+184>>2]<<2)>>2]=0;A=r+16|0;e=t[A>>2]|0;n=t[e+172>>2]|0;if(!n)e=$F((t[e+176>>2]<<2)+8|0)|0;else e=AM(n,(t[e+176>>2]<<2)+8|0)|0;i=t[A>>2]|0;t[i+172>>2]=e;i=i+176|0;r=t[i>>2]|0;t[i>>2]=r+1;t[e+(r<<2)>>2]=l;l=t[A>>2]|0;t[(t[l+172>>2]|0)+(t[l+176>>2]<<2)>>2]=0}else{l=(t[n+16>>2]|0)+170|0;r=f[l>>1]|0;a[l>>1]=(r|0)>(i|0)?r:i}return}function wt(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0;A=t[(t[e+16>>2]|0)+192>>2]|0;while(1){i=A+16|0;f=t[(t[i>>2]|0)+164>>2]|0;if(!f)break;if(lk(e,A,f,0,0)|0){A=f;continue}n=lk(e,A,f,0,1)|0;Sd(n,137460,176,1)|0;a[(t[n+16>>2]|0)+170>>1]=0;A=t[i>>2]|0;r=t[A+180>>2]|0;if(!r)A=$F((t[A+184>>2]<<2)+8|0)|0;else A=AM(r,(t[A+184>>2]<<2)+8|0)|0;l=t[i>>2]|0;t[l+180>>2]=A;l=l+184|0;r=t[l>>2]|0;t[l>>2]=r+1;t[A+(r<<2)>>2]=n;i=t[i>>2]|0;t[(t[i+180>>2]|0)+(t[i+184>>2]<<2)>>2]=0;i=f+16|0;A=t[i>>2]|0;r=t[A+172>>2]|0;if(!r)A=$F((t[A+176>>2]<<2)+8|0)|0;else A=AM(r,(t[A+176>>2]<<2)+8|0)|0;r=t[i>>2]|0;t[r+172>>2]=A;r=r+176|0;l=t[r>>2]|0;t[r>>2]=l+1;t[A+(l<<2)>>2]=n;A=t[i>>2]|0;t[(t[A+172>>2]|0)+(t[A+176>>2]<<2)>>2]=0;A=f}return}function kt(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=e+92|0;i=0;a=0;A=t[(t[(t[A+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){A=t[A+164>>2]|0;if(!A)break;A=t[A+16>>2]|0;f=A+232|0;t[(t[n>>2]|0)+(a<<2)>>2]=(t[f>>2]|0)-i;i=t[f>>2]|0;a=a+1|0}e=e+96|0;i=0;a=0;A=t[(t[(t[r+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){A=t[A+164>>2]|0;if(!A)break;A=t[A+16>>2]|0;f=A+232|0;t[(t[e>>2]|0)+(a<<2)>>2]=(t[f>>2]|0)-i;i=t[f>>2]|0;a=a+1|0}return}function dt(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f+4|0;A=f;t[A>>2]=t[4647];r=t[e+100>>2]|0;if((r|0)!=1?(a=e+104|0,(t[a>>2]|0)!=1):0){t[e+92>>2]=KF((r<<2)+4|0)|0;t[e+96>>2]=KF((t[a>>2]<<2)+4|0)|0;i[n>>0]=i[A>>0]|0;i[n+1>>0]=i[A+1>>0]|0;i[n+2>>0]=i[A+2>>0]|0;i[n+3>>0]=i[A+3>>0]|0;a=hk(137473,n,0)|0;i[n>>0]=i[A>>0]|0;i[n+1>>0]=i[A+1>>0]|0;i[n+2>>0]=i[A+2>>0]|0;i[n+3>>0]=i[A+3>>0]|0;n=hk(137478,n,0)|0;Sd(a,137483,280,1)|0;Sd(n,137483,280,1)|0;bt(e,a,n);VM(a,2,2147483647)|0;VM(n,2,2147483647)|0;kt(e,a,n);vt(a,n)}else ot(e);h=f;return}function vt(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=(t[A+16>>2]|0)+192|0;while(1){r=t[r>>2]|0;if(!r)break;a=r+16|0;r=t[a>>2]|0;i=t[r+172>>2]|0;if(i){G2(i);r=t[a>>2]|0}i=t[r+180>>2]|0;if(i){G2(i);r=t[a>>2]|0}r=r+164|0}vk(e)|0;vk(A)|0;return}function gt(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0.0;w=h;h=h+272|0;u=w+104|0;b=w+136|0;l=w+72|0;s=w;n=w+144|0;t[s+48>>2]=e;switch(Yd(e)|0){case 0:{r=t[e+60>>2]|0;break}case 1:{r=Bd(e)|0;break}case 2:{r=Bd(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;break}default:{}}f=s+52|0;t[f>>2]=r;o=t[r+60>>2]|0;c[s+32>>3]=+c[A+16>>3];t[s+16>>2]=t[A+4>>2];t[s+20>>2]=t[A+8>>2];t[s+40>>2]=0;a=Df(t[A>>2]|0,b,s)|0;if(!a){cw(u,128,n);i[A+82>>0]=0;r=o3(mt(e,u)|0)|0;t[A>>2]=r;if((t[A+12>>2]|0)==1)r=pJ(r)|0;else r=vJ(r,t[f>>2]|0)|0;G2(t[A>>2]|0);t[A>>2]=r;xF(t[(t[o+16>>2]|0)+144>>2]|0,A);hw(u);r=t[b>>2]|0}else{r=a+4|0;if((i[r>>0]|0)==1){if((t[(t[a>>2]|0)+24>>2]|0)==0?pt(e)|0:0){f=o3(pt(e)|0)|0;t[(t[a>>2]|0)+24>>2]=f}o=Et(o,t[a>>2]|0,0,s)|0;t[b>>2]=t[b>>2]|o;o=t[a>>2]|0;d=+c[o+64>>3]*.5;k=+c[o+72>>3]*.5;Bt(l,-d,-k,d,k);o=t[a>>2]|0;t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];t[u+8>>2]=t[l+8>>2];t[u+12>>2]=t[l+12>>2];t[u+16>>2]=t[l+16>>2];t[u+20>>2]=t[l+20>>2];t[u+24>>2]=t[l+24>>2];t[u+28>>2]=t[l+28>>2];yt(o,u,15)}else{Ct(t[(t[o+16>>2]|0)+144>>2]|0,t[a>>2]|0,s);u=t[a>>2]|0;k=+c[u+24>>3]*.5;d=+c[u+32>>3]*.5;Bt(l,-k,-d,k,d);u=(t[a>>2]|0)+8|0;t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];t[u+8>>2]=t[l+8>>2];t[u+12>>2]=t[l+12>>2];t[u+16>>2]=t[l+16>>2];t[u+20>>2]=t[l+20>>2];t[u+24>>2]=t[l+24>>2];t[u+28>>2]=t[l+28>>2]}c[A+24>>3]=+c[l+16>>3]-+c[l>>3];c[A+32>>3]=+c[l+24>>3]-+c[l+8>>3];t[A+72>>2]=a;if((i[r>>0]|0)==1){G2(t[A>>2]|0);t[A>>2]=o3(141611)|0}r=t[b>>2]|0}h=w;return r|0}function mt(e,A){e=e|0;A=A|0;var r=0;e:do{switch(Yd(e)|0){case 0:{bw(A,Mk(e)|0)|0;break}case 1:{bw(A,Mk(e)|0)|0;break}case 2:{bw(A,Mk(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)|0;r=e+-48|0;bw(A,Mk(t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0)|0)|0;if(!(Bk(Bd(t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0)|0)|0)){bw(A,141747)|0;break e}else{bw(A,137738)|0;break e}}default:{}}}while(0);r=A+4|0;e=t[r>>2]|0;if(e>>>0>=(t[A+8>>2]|0)>>>0){ow(A,1)|0;e=t[r>>2]|0}i[e>>0]=0;A=t[A>>2]|0;t[r>>2]=A;return A|0}function pt(e){e=e|0;var A=0,r=0;A=Hw(e,137729)|0;if(!((A|0)!=0?(i[A>>0]|0)!=0:0))r=3;do{if((r|0)==3){A=Hw(e,140823)|0;if(A|0?i[A>>0]|0:0)break;A=0}}while(0);return A|0}function Et(e,A,r,l){e=e|0;A=A|0;r=r|0;l=l|0;var s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;E=h;h=h+16|0;m=E+8|0;g=E;p=A+108|0;s=t[p>>2]|0;if(s|0)Pa(l,s,186576);t[A+80>>2]=r;s=Lt(e,A,l)|0;d=A+36|0;e=a[d>>1]|0;if(!(e&128))i[A+32>>0]=2;r=A+33|0;if(!(e&32))i[r>>0]=1;dt(A);u=t[A+104>>2]|0;w=i[A+32>>0]|0;e=P(u+1|0,w)|0;b=n[r>>0]<<1;k=t[A+100>>2]|0;w=P(k+1|0,w)|0;o=A+96|0;e=b+e|0;r=0;while(1){if((r|0)>=(u|0))break;e=(t[(t[o>>2]|0)+(r<<2)>>2]|0)+e|0;r=r+1|0}u=A+92|0;r=w+b|0;o=0;while(1){if((o|0)>=(k|0))break;r=(t[(t[u>>2]|0)+(o<<2)>>2]|0)+r|0;o=o+1|0}u=A+38|0;do{if(a[d>>1]&1){d=a[u>>1]|0;o=d&65535;if(d<<16>>16?(v=a[A+40>>1]|0,v<<16>>16):0){if(!((e|0)>(o|0)|(r|0)>(v&65535|0))){r=0;e=0;break}nw(0,137529,g)|0;s=1;r=0;e=0;break}nw(0,137563,m)|0;s=1}}while(0);m=f[u>>1]|0;c[A+64>>3]=+(((e|0)>(m|0)?e:m)|0);m=f[A+40>>1]|0;c[A+72>>3]=+(((r|0)>(m|0)?r:m)|0);if(t[p>>2]|0)qa(l,186576);h=E;return s|0}function Bt(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;c[e>>3]=A;c[e+8>>3]=r;c[e+16>>3]=i;c[e+24>>3]=a;return}function yt(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,s=0,o=0.0,u=0.0,b=0,w=0,k=0.0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0.0,M=0;Y=h;h=h+64|0;z=Y+32|0;W=Y;Q=t[e+84>>2]|0;s=t[e+80>>2]|0;if((s|0?(f=t[s+24>>2]|0,f|0):0)?(l=e+24|0,(t[l>>2]|0)==0):0)t[l>>2]=o3(f)|0;D=e+48|0;f=A+16|0;u=+c[f>>3];o=+c[A>>3];s=~~(u-o-+(~~+c[e+64>>3]|0));if((s|0)<=-1)ge(137496,137342,1761,137506);b=A+24|0;y=+c[b>>3];w=A+8|0;k=+c[w>>3];d=+(~~+c[e+72>>3]|0);v=~~(y-k-d);if((v|0)<=-1)ge(137519,137342,1764,137506);g=a[e+36>>1]|0;l=g&65535;e:do{if(l&1){A:do{if((s|0)>0)switch(l&6){case 4:{c[f>>3]=o+d;break A}case 2:{F=+(s|0);c[f>>3]=u+F;o=o+F;c[A>>3]=o;break A}default:{F=+(s>>>1|0);o=o+F;c[A>>3]=o;c[f>>3]=u-F;break A}}}while(0);if((v|0)>0)switch(g&24){case 16:{y=k+d;c[b>>3]=y;v=0;f=0;break e}case 8:{F=+(v|0);y=y+F;c[b>>3]=y;c[w>>3]=k+F;v=0;f=0;break e}default:{F=+(v>>>1|0);c[w>>3]=k+F;y=y-F;c[b>>3]=y;v=0;f=0;break e}}else{v=0;f=0}}else f=s}while(0);u=+(n[e+33>>0]|0);G=e+32|0;m=i[G>>0]|0;k=+(m<<24>>24);L=e+104|0;s=t[L>>2]|0;g=(f|0)/(s|0)|0;b=f-(P(g,s)|0)|0;b=~~(((b|0)>-1?.5:-.5)+ +(b|0));Z=e+96|0;w=m<<24>>24;f=~~(o+u+k);l=0;while(1){if((l|0)>(s|0))break;I=(t[Z>>2]|0)+(l<<2)|0;s=t[I>>2]|0;t[I>>2]=f;f=f+g+((l|0)<(b|0)&1)+s+w|0;l=l+1|0;s=t[L>>2]|0}I=e+100|0;s=t[I>>2]|0;g=(v|0)/(s|0)|0;w=v-(P(g,s)|0)|0;w=~~(((w|0)>-1?.5:-.5)+ +(w|0));C=e+92|0;b=m<<24>>24;f=~~(y-u-k);l=0;while(1){if((l|0)>(s|0))break;B=(t[C>>2]|0)+(l<<2)|0;s=t[B>>2]|0;t[B>>2]=f;f=f-g+(((l|0)<(w|0))<<31>>31)-s-b|0;l=l+1|0;s=t[I>>2]|0}m=(r|0)==0;p=W+16|0;E=W+24|0;B=W+8|0;f=Q;while(1){b=t[f>>2]|0;if(!b)break;s=a[b+84>>1]|0;if(m){l=0;w=a[b+80>>1]|0;v=a[b+86>>1]|0;g=a[b+82>>1]|0}else{l=s<<16>>16==0?8:0;v=a[b+86>>1]|0;l=v<<16>>16==0?l|4:l;w=a[b+80>>1]|0;g=a[b+82>>1]|0;l=(((w&65535)+(s&65535)|0)==(t[L>>2]|0)?l|2:l)|((g&65535)+(v&65535)|0)==(t[I>>2]|0)}M=t[Z>>2]|0;s=s&65535;c[W>>3]=+(t[M+(s<<2)>>2]|0);Q=i[G>>0]|0;c[p>>3]=+((t[M+((w&65535)+s<<2)>>2]|0)-Q|0);w=t[C>>2]|0;c[E>>3]=+(t[w+((v&65535)<<2)>>2]|0);c[B>>3]=+((t[w+((g&65535)+(v&65535)<<2)>>2]|0)+Q|0);t[z>>2]=t[W>>2];t[z+4>>2]=t[W+4>>2];t[z+8>>2]=t[W+8>>2];t[z+12>>2]=t[W+12>>2];t[z+16>>2]=t[W+16>>2];t[z+20>>2]=t[W+20>>2];t[z+24>>2]=t[W+24>>2];t[z+28>>2]=t[W+28>>2];It(b,z,l&r);f=f+4|0}i[e+35>>0]=r;t[D>>2]=t[A>>2];t[D+4>>2]=t[A+4>>2];t[D+8>>2]=t[A+8>>2];t[D+12>>2]=t[A+12>>2];t[D+16>>2]=t[A+16>>2];t[D+20>>2]=t[A+20>>2];t[D+24>>2]=t[A+24>>2];t[D+28>>2]=t[A+28>>2];h=Y;return}function Ct(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0.0,s=0.0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0,v=0.0,g=0.0,m=0.0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0.0,H=0.0,P=0.0;x=h;h=h+112|0;W=x+48|0;Y=x+16|0;F=x;t[Y>>2]=0;t[Y+4>>2]=0;t[Y+8>>2]=0;t[Y+12>>2]=0;t[Y+16>>2]=0;t[Y+20>>2]=0;t[Y+24>>2]=0;t[Y+28>>2]=0;M=A+4|0;V=r+16|0;N=r+32|0;R=Y+16|0;d=a[M>>1]|0;u=d<<16>>16;n=0;l=-1.0;o=0;while(1){if((o|0)>=(u|0)){n=1;break}f=t[A>>2]|0;if((a[f+(o*24|0)+4>>1]|0)>1){n=0;break}f=t[(t[f+(o*24|0)>>2]|0)+4>>2]|0;if(!f){s=+c[N>>3];c[R>>3]=s;f=V}else{if(t[f+24>>2]&127|0){n=0;break}s=+c[(+c[f+16>>3]>0.0?f:V)+16>>3];c[R>>3]=s;f=(t[f>>2]|0)==0?V:f}f=t[f>>2]|0;t[Y>>2]=f;if(!(l==-1.0)){if(s!=l){n=0;break}}else l=s;if(n){if(e1(f,n)|0){n=0;break}}else n=f;o=o+1|0}i[A+6>>0]=n;Q=r+48|0;D=r+20|0;z=Y+4|0;E=r+40|0;B=Y+24|0;y=e+144|0;C=W+4|0;p=F+8|0;I=W+16|0;Z=W+24|0;G=W+8|0;L=W+12|0;r=(n|0)==0;l=0.0;v=0.0;g=0.0;m=0.0;u=0;n=d;while(1){if((u|0)>=(n<<16>>16|0))break;s=0.0;k=0.0;o=0;w=0.0;l=0.0;f=t[A>>2]|0;while(1){if((o|0)>=(a[f+(u*24|0)+4>>1]|0))break;t[W>>2]=UF(t[(t[f+(u*24|0)>>2]|0)+(o*56|0)>>2]|0,t[Q>>2]|0)|0;f=(t[A>>2]|0)+(u*24|0)|0;n=t[(t[f>>2]|0)+(o*56|0)+4>>2]|0;if(!n){c[R>>3]=+c[N>>3];t[Y>>2]=t[V>>2];t[z>>2]=t[D>>2];t[B>>2]=t[B>>2]&-128|t[E>>2]&127}else{n=t[n+24>>2]&127;if(!n)n=t[E>>2]&127;t[B>>2]=t[B>>2]&-128|n;d=t[(t[f>>2]|0)+(o*56|0)+4>>2]|0;c[R>>3]=+c[(+c[d+16>>3]>0.0?d:V)+16>>3];t[Y>>2]=t[((t[d>>2]|0)==0?V:d)>>2];t[z>>2]=t[((t[d+4>>2]|0)==0?V:d)+4>>2]}f=t[y>>2]|0;t[C>>2]=L5[t[f>>2]&63](f,Y,1)|0;ex(F,e,W);H=+c[F>>3];b=+c[p>>3];G2(t[(t[(t[A>>2]|0)+(u*24|0)>>2]|0)+(o*56|0)>>2]|0);f=t[A>>2]|0;d=t[f+(u*24|0)>>2]|0;t[d+(o*56|0)>>2]=t[W>>2];c[d+(o*56|0)+32>>3]=H;c[d+(o*56|0)+16>>3]=+c[I>>3];c[d+(o*56|0)+24>>3]=+c[Z>>3];t[d+(o*56|0)+4>>2]=t[C>>2];t[d+(o*56|0)+8>>2]=t[G>>2];t[d+(o*56|0)+12>>2]=t[L>>2];J=+c[R>>3];P=+c[Z>>3];s=P>s?P:s;k=H+k;o=o+1|0;w=J>w?J:w;l=b>l?b:l}c[f+(u*24|0)+8>>3]=k;n=(u|0)==0;do{if(r)if(n){b=w;s=w-s;n=f;break}else{b=w;s=g-m+w-s;n=f+(u*24|0)|0;break}else{b=l;s=n?w:l;n=f+(u*24|0)|0}}while(0);c[n+16>>3]=s;v=k>v?k:v;g=b+g;m=+c[f+(u*24|0)+16>>3]+m;u=u+1|0;n=a[M>>1]|0}c[A+24>>3]=v;c[A+32>>3]=n<<16>>16==1?l:g;h=x;return}function It(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0.0,I=0.0;y=h;h=h+64|0;p=y+32|0;B=y;l=e+24|0;if((t[l>>2]|0)==0?(f=t[(t[e+96>>2]|0)+24>>2]|0,f|0):0)t[l>>2]=o3(f)|0;g=e+36|0;E=a[g>>1]|0;f=E&65535;e:do{if(f&1){s=+c[e+64>>3];k=+c[e+72>>3];l=A+16|0;o=+c[l>>3];b=+c[A>>3];u=o-b-s;A:do{if(u>0.0)switch(f&6){case 4:{o=b+s;c[l>>3]=o;s=b;break A}case 2:{o=u+o;c[l>>3]=o;s=b+u;c[A>>3]=s;break A}default:{w=u*.5;s=w+b;c[A>>3]=s;o=o-w;c[l>>3]=o;break A}}else s=b}while(0);f=A+24|0;w=+c[f>>3];l=A+8|0;u=+c[l>>3];b=w-u-k;if(b>0.0)switch(E&24){case 16:{b=u+k;c[f>>3]=b;break e}case 8:{k=b+w;c[f>>3]=k;u=u+b;c[l>>3]=u;b=k;break e}default:{b=b*.5;u=b+u;c[l>>3]=u;b=w-b;c[f>>3]=b;break e}}else b=w}else{s=+c[A>>3];u=+c[A+8>>3];o=+c[A+16>>3];b=+c[A+24>>3]}}while(0);v=e+48|0;t[v>>2]=t[A>>2];t[v+4>>2]=t[A+4>>2];t[v+8>>2]=t[A+8>>2];t[v+12>>2]=t[A+12>>2];t[v+16>>2]=t[A+16>>2];t[v+20>>2]=t[A+20>>2];t[v+24>>2]=t[A+24>>2];t[v+28>>2]=t[A+28>>2];i[e+35>>0]=r;I=+(n[e+33>>0]|0);C=+(n[e+34>>0]|0);w=s+I+C;c[B>>3]=w;k=u+I+C;v=B+8|0;c[v>>3]=k;u=o-I-C;A=B+16|0;c[A>>3]=u;b=b-I-C;d=B+24|0;c[d>>3]=b;l=e+88|0;switch(i[e+92>>0]|0){case 1:{E=t[l>>2]|0;t[p>>2]=t[B>>2];t[p+4>>2]=t[B+4>>2];t[p+8>>2]=t[B+8>>2];t[p+12>>2]=t[B+12>>2];t[p+16>>2]=t[B+16>>2];t[p+20>>2]=t[B+20>>2];t[p+24>>2]=t[B+24>>2];t[p+28>>2]=t[B+28>>2];yt(E,p,r);break}case 3:{f=t[l>>2]|0;s=+c[f+24>>3];o=u-w-+c[f+16>>3];e:do{if(o>0.0)switch(E&6){case 4:{c[A>>3]=u-o;break e}case 2:{c[B>>3]=o+w;break e}default:break e}}while(0);s=b-k-s;e:do{if(s>0.0)switch(E&24){case 16:{c[d>>3]=b-s;break e}case 8:{c[v>>3]=s+k;break e}default:break e}}while(0);t[p>>2]=t[B>>2];t[p+4>>2]=t[B+4>>2];t[p+8>>2]=t[B+8>>2];t[p+12>>2]=t[B+12>>2];t[p+16>>2]=t[B+16>>2];t[p+20>>2]=t[B+20>>2];t[p+24>>2]=t[B+24>>2];t[p+28>>2]=t[B+28>>2];Zt(f,p);break}default:{f=t[l>>2]|0;s=+c[f+32>>3];o=u-w-+c[f+24>>3];e:do{if(o>0.0?(m=E&6,m<<16>>16!=6):0)switch(m&7){case 4:{c[A>>3]=u-o;break e}case 2:{c[B>>3]=o+w;break e}default:{I=o*.5;c[B>>3]=I+w;c[A>>3]=u-I;break e}}}while(0);s=b-k-s;e:do{if(s>0.0)switch(E&24){case 16:{c[d>>3]=b-s;break e}case 8:{c[v>>3]=s+k;break e}default:{I=s*.5;c[v>>3]=I+k;c[d>>3]=b-I;break e}}}while(0);E=f+8|0;t[E>>2]=t[B>>2];t[E+4>>2]=t[B+4>>2];t[E+8>>2]=t[B+8>>2];t[E+12>>2]=t[B+12>>2];t[E+16>>2]=t[B+16>>2];t[E+20>>2]=t[B+20>>2];t[E+24>>2]=t[B+24>>2];t[E+28>>2]=t[B+28>>2];B=a[g>>1]&768;Gt(t[l>>2]|0,(B&1023)==512?108:(B&1023)==256?114:110)}}h=y;return}function Zt(e,A){e=e|0;A=A|0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];t[e+16>>2]=t[A+16>>2];t[e+20>>2]=t[A+20>>2];t[e+24>>2]=t[A+24>>2];t[e+28>>2]=t[A+28>>2];return}function Gt(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;n=a[e+4>>1]|0;r=0;while(1){if((r|0)>=(n|0))break;f=(t[e>>2]|0)+(r*24|0)+6|0;if(!(i[f>>0]|0))i[f>>0]=A;r=r+1|0}return}function Lt(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;o=A+84|0;g=t[o>>2]|0;m=$M()|0;p=Wt()|0;l=0;n=0;c=Sh(g)|0;while(1){if(!c)break;s=Sh(t[c+8>>2]|0)|0;while(1){if(!s)break;s=t[s>>2]|0;l=l+1|0}n=n+1|0;if(i[c+12>>0]|0)Vt(p,n);c=t[c>>2]|0}n=KF((l<<2)+4|0)|0;t[o>>2]=n;l=0;s=0;c=0;k=0;d=Sh(g)|0;while(1){if(!d)break;v=k&65535;w=0;h=Sh(t[d+8>>2]|0)|0;while(1){if(!h)break;b=t[h+8>>2]|0;t[n>>2]=b;c=Qt(e,b,A,r)|0|c;o=Dt(m,k,w,b)|0;a[b+86>>1]=v;a[b+84>>1]=o;o=o+(f[b+80>>1]|0)|0;u=k+(f[b+82>>1]|0)|0;if(Nt(p,u)|0){w=b+100|0;i[w>>0]=i[w>>0]|2}w=o;n=n+4|0;h=t[h>>2]|0;l=(o|0)>(l|0)?o:l;s=(u|0)>(s|0)?u:s}k=k+1|0;d=t[d>>2]|0}t[A+100>>2]=s;t[A+104>>2]=l;Ph(g)|0;Ph(p)|0;rV(m);return c|0}function Qt(e,A,r,l){e=e|0;A=A|0;r=r|0;l=l|0;var s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0.0;m=h;h=h+16|0;g=m+8|0;v=m;t[A+96>>2]=r;k=A+36|0;b=a[k>>1]|0;if(!(b&64)){if(!(a[r+36>>1]&64))u=2;else u=i[r+34>>0]|0;i[A+34>>0]=u}if(!(b&32)){u=i[r+88>>0]|0;if(u<<24>>24<=-1)if(!(a[r+36>>1]&32))u=1;else u=i[r+33>>0]|0;i[A+33>>0]=u}u=A+88|0;w=A+92|0;switch(i[w>>0]|0){case 1:{b=Et(e,t[u>>2]|0,A,l)|0;r=t[u>>2]|0;u=b;b=r+64|0;r=r+72|0;break}case 3:{b=zt(t[u>>2]|0,l)|0;r=t[u>>2]|0;u=b;b=r+16|0;r=r+24|0;break}default:{Ct(t[(t[e+16>>2]|0)+144>>2]|0,t[u>>2]|0,l);r=t[u>>2]|0;u=0;b=r+24|0;r=r+32|0}}s=+((n[A+33>>0]|0)+(n[A+34>>0]|0)<<1|0);o=+c[b>>3]+s;s=+c[r>>3]+s;r=A+38|0;do{if(a[k>>1]&1){b=a[r>>1]|0;if(b<<16>>16?(d=a[A+40>>1]|0,d<<16>>16):0){if(!(o>+(b&65535)|s>+(d&65535))){o=0.0;s=0.0;break}if((i[w>>0]|0)==3){o=0.0;s=0.0;break}nw(0,137614,v)|0;u=1;o=0.0;s=0.0;break}nw(0,137647,g)|0;u=1}}while(0);p=+(f[r>>1]|0);c[A+64>>3]=o>p?o:p;o=+(f[A+40>>1]|0);c[A+72>>3]=s>o?s:o;h=m;return u|0}function Dt(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0,n=0,l=0,s=0;s=i+80|0;l=(f[s>>1]|0)+-1|0;n=0;e:while(1){a=r;while(1){if(n)break e;t=l+a|0;while(1){if((t|0)<(a|0)){r=a;n=1;continue e}if(fV(e,t,A)|0)break;t=t+-1|0}a=t+1|0}}n=i+82|0;a=r;while(1){if((a|0)<(r+(f[s>>1]|0)|0))t=A;else break;while(1){if((t|0)>=((f[n>>1]|0)+A|0))break;tV(e,a,t);t=t+1|0}a=a+1|0}return r|0}function zt(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+16|0;l=o;f=o+8|0;A=A+52|0;n=e+32|0;Pm(f,t[A>>2]|0,t[n>>2]|0);s=t[f>>2]|0;f=t[f+4>>2]|0;if((f&s|0)==-1){t[l>>2]=t[n>>2];nw(1,137697,l)|0;A=1;a=0.0;r=0.0}else{i[(t[(t[A>>2]|0)+16>>2]|0)+114>>0]=1;A=0;a=+(f|0);r=+(s|0)}t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;c[e+16>>3]=r;c[e+24>>3]=a;h=o;return A|0}function Wt(){return Uh(55924,t[4581]|0)|0}function Yt(e,A,r){e=e|0;A=A|0;r=r|0;r=KF(12)|0;t[r>>2]=t[A>>2];return r|0}function Ft(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function Mt(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=t[A>>2]|0;i=t[r>>2]|0;return((A|0)>(i|0)?1:((A|0)<(i|0))<<31>>31)|0}function Vt(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;L5[t[e>>2]&63](e,i,1)|0;h=r;return}function Nt(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;A=(L5[t[e>>2]&63](e,i,512)|0)!=0&1;h=r;return A|0}function Rt(e){e=e|0;var A=0;if(!(t[47375]|0)){A=KF((e<<2)+4|0)|0;t[47375]=A;t[A>>2]=189504;t[47386]=e}t[47387]=0;return}function xt(){G2(t[47375]|0);t[47375]=0;t[47387]=0;return}function Jt(){t[47387]=0;return}function Ht(){var e=0,A=0,r=0;A=t[47387]|0;r=t[47375]|0;e=1;while(1){if((e|0)>(A|0)){e=5;break}if((t[(t[r+(e<<2)>>2]|0)+4>>2]|0)==(e|0))e=e+1|0;else{e=4;break}}if((e|0)==4)ge(138394,137741,59,137747);else if((e|0)==5)return}function Pt(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;a=t[47375]|0;n=t[a+(e<<2)>>2]|0;f=t[n>>2]|0;while(1){A=(e|0)/2|0;r=t[a+(A<<2)>>2]|0;i=a+(e<<2)|0;if((t[r>>2]|0)>=(f|0))break;t[i>>2]=r;t[r+4>>2]=e;e=A}t[i>>2]=n;t[n+4>>2]=e;return}function Xt(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=t[47387]|0;if((A|0)==(t[47386]|0)){nw(1,137755,r)|0;e=1}else{A=A+1|0;t[47387]=A;t[(t[47375]|0)+(A<<2)>>2]=e;Pt(A);Ht();e=0}h=r;return e|0}function St(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;i=t[47375]|0;a=t[i+(e<<2)>>2]|0;n=t[a>>2]|0;f=t[47387]|0;l=(f|0)/2|0;while(1){if((e|0)>(l|0))break;r=e<<1;A=t[i+(r<<2)>>2]|0;if((r|0)<(f|0)){o=r|1;s=t[i+(o<<2)>>2]|0;c=(t[A>>2]|0)<(t[s>>2]|0);r=c?o:r;A=c?s:A}if((n|0)>=(t[A>>2]|0))break;t[i+(e<<2)>>2]=A;t[A+4>>2]=e;e=r}t[i+(e<<2)>>2]=a;t[a+4>>2]=e;return}function jt(){var e=0,A=0,r=0,i=0;A=t[47387]|0;if(!A)e=0;else{i=t[47375]|0;r=i+4|0;e=t[r>>2]|0;t[r>>2]=t[i+(A<<2)>>2];A=A+-1|0;t[47387]=A;if(A|0)St(1);Ht()}return e|0}function Ut(e,A){e=e|0;A=A|0;t[e>>2]=A;Pt(t[e+4>>2]|0);Ht();return}function Tt(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0;u=e+16|0;l=t[u>>2]|0;l=(i[l+((t[r+12>>2]|0)*40|0)+36>>0]|0)!=(i[l+((t[r+16>>2]|0)*40|0)+36>>0]|0);s=~~((+c[A+64>>3]+-3.0-+c[A+48>>3])*.5);o=~~((+c[A+56>>3]+-3.0-+c[A+40>>3])*.5);n=(s|0)<(o|0)?s:o;b=A+4|0;a=0;while(1){e=t[b>>2]|0;if((a|0)>=(e|0)){n=a;break}f=t[A+8+(a<<2)>>2]|0;h=t[u>>2]|0;if((i[h+((t[f+12>>2]|0)*40|0)+36>>0]|0)==(i[h+((t[f+16>>2]|0)*40|0)+36>>0]|0)){n=a;break}Ot(f,n);a=a+1|0}while(1){if((n|0)>=(e|0))break;a=t[A+8+(n<<2)>>2]|0;if(l|(a|0)==(r|0)){Ot(a,i[(t[u>>2]|0)+((t[a+12>>2]|0)*40|0)+36>>0]|0?s:o);e=t[b>>2]|0}n=n+1|0}return}function Ot(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+8|0;i=t[r>>2]|0;t[r>>2]=i+1;if((i|0)>=(A|0)){t[r>>2]=0;c[e>>3]=+c[e>>3]+16384.0}return}function _t(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0.0,I=0.0,Z=0.0,G=0,L=0,Q=0.0;B=h;h=h+112|0;m=B+64|0;g=B+96|0;o=B+32|0;p=B;E=KF(28)|0;A=gk(e)|0;v=E+4|0;t[v>>2]=A;A=KF(A*72|0)|0;d=E+12|0;t[d>>2]=A;i=p+8|0;c[i>>3]=1797693134862315708145274.0e284;c[p>>3]=1797693134862315708145274.0e284;a=p+24|0;c[a>>3]=-1797693134862315708145274.0e284;n=p+16|0;c[n>>3]=-1797693134862315708145274.0e284;f=o+16|0;l=o+8|0;s=o+24|0;r=sd(e)|0;u=1797693134862315708145274.0e284;b=1797693134862315708145274.0e284;w=-1797693134862315708145274.0e284;k=-1797693134862315708145274.0e284;while(1){if(!r)break;G=r+16|0;L=t[G>>2]|0;C=(+c[L+96>>3]+ +c[L+88>>3])*.5;C=C<1.0?1.0:C;y=+c[L+80>>3]*.5;y=y<1.0?1.0:y;Q=+c[L+16>>3];Z=Q-C;c[o>>3]=Z;C=Q+C;c[f>>3]=C;Q=+c[L+24>>3];I=Q-y;c[l>>3]=I;y=Q+y;c[s>>3]=y;Z=+c[(u>3];c[p>>3]=Z;I=+c[(b>3];c[i>>3]=I;C=+c[(w>C?p:o)+16>>3];c[n>>3]=C;y=+c[(k>y?p:o)+24>>3];c[a>>3]=y;L=A+40|0;t[L>>2]=t[o>>2];t[L+4>>2]=t[o+4>>2];t[L+8>>2]=t[o+8>>2];t[L+12>>2]=t[o+12>>2];t[L+16>>2]=t[o+16>>2];t[L+20>>2]=t[o+20>>2];t[L+24>>2]=t[o+24>>2];t[L+28>>2]=t[o+28>>2];t[A>>2]=t[A>>2]|1;t[(t[G>>2]|0)+112>>2]=A;A=A+72|0;r=cd(e,r)|0;u=Z;b=I;w=C;k=y}c[p>>3]=u+-36.0;c[i>>3]=b+-36.0;c[n>>3]=w+36.0;c[a>>3]=k+36.0;L=t[d>>2]|0;a=t[v>>2]|0;t[m>>2]=t[p>>2];t[m+4>>2]=t[p+4>>2];t[m+8>>2]=t[p+8>>2];t[m+12>>2]=t[p+12>>2];t[m+16>>2]=t[p+16>>2];t[m+20>>2]=t[p+20>>2];t[m+24>>2]=t[p+24>>2];t[m+28>>2]=t[p+28>>2];a=fn(L,a,g,m)|0;if(t[47323]&1|0){d=t[d>>2]|0;G=t[v>>2]|0;L=t[g>>2]|0;t[m>>2]=t[p>>2];t[m+4>>2]=t[p+4>>2];t[m+8>>2]=t[p+8>>2];t[m+12>>2]=t[p+12>>2];t[m+16>>2]=t[p+16>>2];t[m+20>>2]=t[p+20>>2];t[m+24>>2]=t[p+24>>2];t[m+28>>2]=t[p+28>>2];qt(d,G,m,a,L)}i=E+8|0;t[i>>2]=KF((t[g>>2]|0)*72|0)|0;t[E>>2]=t[g>>2];r=t[g>>2]|0;A=0;while(1){if((A|0)>=(r|0))break;L=(t[i>>2]|0)+(A*72|0)+40|0;G=a+(A<<5)|0;t[L>>2]=t[G>>2];t[L+4>>2]=t[G+4>>2];t[L+8>>2]=t[G+8>>2];t[L+12>>2]=t[G+12>>2];t[L+16>>2]=t[G+16>>2];t[L+20>>2]=t[G+20>>2];t[L+24>>2]=t[G+24>>2];t[L+28>>2]=t[G+28>>2];A=A+1|0}G2(a);t[m>>2]=t[p>>2];t[m+4>>2]=t[p+4>>2];t[m+8>>2]=t[p+8>>2];t[m+12>>2]=t[p+12>>2];t[m+16>>2]=t[p+16>>2];t[m+20>>2]=t[p+20>>2];t[m+24>>2]=t[p+24>>2];t[m+28>>2]=t[p+28>>2];t[E+16>>2]=Kt(E,m)|0;h=B;return E|0}function qt(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0,l=0,s=0.0,o=0.0,u=0.0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0.0,p=0.0;k=h;h=h+128|0;w=k+96|0;b=k+64|0;l=k+32|0;d=k+16|0;v=k;o=+c[r+16>>3];u=+c[r>>3];s=+c[r+24>>3];n=+c[r+8>>3];f=t[15712]|0;Z3(137770,f)|0;t[v>>2]=10;t[v+4>>2]=10;t[v+8>>2]=~~(o+10.0-u);t[v+12>>2]=~~(s+10.0-n);a3(f,138200,v)|0;c[d>>3]=10.0-u;c[d+8>>3]=10.0-n;a3(f,138248,d)|0;Z3(138265,f)|0;r=0;while(1){if((r|0)>=(A|0))break;p=+c[e+(r*72|0)+48>>3];m=+c[e+(r*72|0)+56>>3];g=+c[e+(r*72|0)+64>>3];c[l>>3]=+c[e+(r*72|0)+40>>3];c[l+8>>3]=p;c[l+16>>3]=m;c[l+24>>3]=g;a3(f,138284,l)|0;r=r+1|0}Z3(138302,f)|0;r=0;while(1){if((r|0)>=(a|0))break;g=+c[i+(r<<5)+8>>3];m=+c[i+(r<<5)+16>>3];p=+c[i+(r<<5)+24>>3];c[b>>3]=+c[i+(r<<5)>>3];c[b+8>>3]=g;c[b+16>>3]=m;c[b+24>>3]=p;a3(f,138321,b)|0;r=r+1|0}Z3(138339,f)|0;c[w>>3]=u;c[w+8>>3]=n;c[w+16>>3]=o;c[w+24>>3]=s;a3(f,138321,w)|0;Z3(138086,f)|0;h=k;return}function Kt(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0;I=h;h=h+32|0;g=I+16|0;s=I;E=t[e>>2]|0;y=mr(E<<2|2)|0;C=Uh(55960,t[4581]|0)|0;p=Uh(55996,t[4581]|0)|0;E=KF(E<<7)|0;a=KF(t[e>>2]<<4)|0;B=e+8|0;n=A+16|0;f=s+8|0;l=A+24|0;o=A+8|0;r=0;while(1){if((r|0)>=(t[e>>2]|0))break;u=t[B>>2]|0;b=u+(r*72|0)|0;t[u+(r*72|0)+32>>2]=4;w=u+(r*72|0)+36|0;t[w>>2]=a+(r<<2<<2);k=u+(r*72|0)+40|0;i=+c[u+(r*72|0)+56>>3];if(i<+c[n>>3]){c[s>>3]=i;c[f>>3]=+c[u+(r*72|0)+48>>3];t[g>>2]=t[s>>2];t[g+4>>2]=t[s+4>>2];t[g+8>>2]=t[s+8>>2];t[g+12>>2]=t[s+12>>2];v=$t(y,C,g,E,1)|0;t[v+20>>2]=b;t[t[w>>2]>>2]=v}i=+c[u+(r*72|0)+64>>3];if(i<+c[l>>3]){c[s>>3]=+c[k>>3];c[f>>3]=i;t[g>>2]=t[s>>2];t[g+4>>2]=t[s+4>>2];t[g+8>>2]=t[s+8>>2];t[g+12>>2]=t[s+12>>2];v=$t(y,p,g,E,0)|0;t[v+20>>2]=b;t[(t[w>>2]|0)+4>>2]=v}if(+c[k>>3]>+c[A>>3]){t[g>>2]=t[k>>2];t[g+4>>2]=t[k+4>>2];t[g+8>>2]=t[k+8>>2];t[g+12>>2]=t[k+12>>2];v=$t(y,C,g,E,1)|0;t[v+24>>2]=b;t[(t[w>>2]|0)+8>>2]=v}if(+c[u+(r*72|0)+48>>3]>+c[o>>3]){t[g>>2]=t[k>>2];t[g+4>>2]=t[k+4>>2];t[g+8>>2]=t[k+8>>2];t[g+12>>2]=t[k+12>>2];v=$t(y,p,g,E,0)|0;t[v+24>>2]=b;t[(t[w>>2]|0)+12>>2]=v}r=r+1|0}b=KF(t[y>>2]<<2)|0;d=e+4|0;v=e+12|0;w=g+8|0;o=0;k=0;u=0;while(1){r=t[d>>2]|0;if((u|0)>=(r|0)){A=0;break}n=t[v>>2]|0;f=n+(u*72|0)|0;l=n+(u*72|0)+36|0;t[l>>2]=b+(o<<2);A=n+(u*72|0)+40|0;t[g>>2]=t[A>>2];t[g+4>>2]=t[A+4>>2];t[g+8>>2]=t[A+8>>2];t[g+12>>2]=t[A+12>>2];A=n+(u*72|0)+56|0;s=n+(u*72|0)+32|0;r=L5[t[p>>2]&63](p,g,512)|0;while(1){if(!r)break;if(!(+c[r+8>>3]<+c[A>>3]))break;G=t[r>>2]|0;Z=t[l>>2]|0;a=t[s>>2]|0;t[s>>2]=a+1;t[Z+(a<<2)>>2]=G;t[(t[r>>2]|0)+24>>2]=f;r=L5[t[p>>2]&63](p,r,8)|0}a=n+(u*72|0)+64|0;r=L5[t[C>>2]&63](C,g,512)|0;while(1){if(!r){m=20;break}i=+c[a>>3];if(!(+c[r+16>>3]>2]|0;Z=t[l>>2]|0;G=t[s>>2]|0;t[s>>2]=G+1;t[Z+(G<<2)>>2]=A;t[(t[r>>2]|0)+24>>2]=f;r=L5[t[C>>2]&63](C,r,8)|0}if((m|0)==20){m=0;i=+c[a>>3]}c[w>>3]=i;A=n+(u*72|0)+56|0;r=L5[t[p>>2]&63](p,g,512)|0;while(1){if(!r){m=25;break}i=+c[A>>3];if(!(+c[r+8>>3]>2]|0;Z=t[l>>2]|0;G=t[s>>2]|0;t[s>>2]=G+1;t[Z+(G<<2)>>2]=L;t[(t[r>>2]|0)+20>>2]=f;r=L5[t[p>>2]&63](p,r,8)|0}if((m|0)==25){m=0;i=+c[A>>3]}c[g>>3]=i;c[w>>3]=+c[n+(u*72|0)+48>>3];r=L5[t[C>>2]&63](C,g,512)|0;while(1){if(!r)break;if(!(+c[r+16>>3]<+c[a>>3]))break;Z=t[r>>2]|0;G=t[l>>2]|0;L=t[s>>2]|0;t[s>>2]=L+1;t[G+(L<<2)>>2]=Z;t[(t[r>>2]|0)+20>>2]=f;r=L5[t[C>>2]&63](C,r,8)|0}L=t[s>>2]|0;o=L+o|0;k=(L|0)>(k|0)?L:k;u=u+1|0}while(1){if((A|0)>=(r|0))break;en((t[v>>2]|0)+(A*72|0)|0);A=A+1|0;r=t[d>>2]|0}r=t[y>>2]|0;L=t[y+16>>2]|0;t[L+(r*40|0)+32>>2]=r;r=r+1|0;t[L+(r*40|0)+32>>2]=r;gr(y,k);r=0;while(1){if((r|0)>=(t[e>>2]|0))break;An((t[B>>2]|0)+(r*72|0)|0,y);r=r+1|0}Ph(C)|0;Ph(p)|0;G2(E);rn(y);dr(y);h=I;return y|0}function $t(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0;f=L5[t[A>>2]&63](A,r,512)|0;do{if(!f){e=pr(e)|0;if(!a)ge(138183,138131,291,138190);else{f=t[e+32>>2]|0;l=a+(f<<5)|0;a=a+(f<<5)+8|0;t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];t[l>>2]=e;i[e+36>>0]=n;L5[t[A>>2]&63](A,l,1)|0;break}}else l=f}while(0);return t[l>>2]|0}function en(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;e:do{if((+c[e+64>>3]+-3.0-+c[e+48>>3])*.5<2.0){f=t[e+32>>2]|0;l=e+36|0;n=0;while(1){if((n|0)>=(f|0))break e;A=t[(t[l>>2]|0)+(n<<2)>>2]|0;A:do{if(i[A+36>>0]|0){a=t[A+20>>2]|0;if((a|0)==(e|0)){r=t[A+24>>2]|0;A=r;r=t[r>>2]|0;do{t[A>>2]=r|8;A=t[t[A+36>>2]>>2]|0;if(!A)break A;A=t[A+24>>2]|0;r=t[A>>2]|0}while(!(r&1|0))}else{r=a;A=t[a>>2]|0;do{t[r>>2]=A|8;A=t[(t[r+36>>2]|0)+8>>2]|0;if(!A)break A;r=t[A+20>>2]|0;A=t[r>>2]|0}while(!(A&1|0))}}}while(0);n=n+1|0}}}while(0);e:do{if((+c[e+56>>3]+-3.0-+c[e+40>>3])*.5<2.0){f=t[e+32>>2]|0;l=e+36|0;n=0;while(1){if((n|0)>=(f|0))break e;A=t[(t[l>>2]|0)+(n<<2)>>2]|0;A:do{if(!(i[A+36>>0]|0)){a=t[A+20>>2]|0;if((a|0)==(e|0)){r=t[A+24>>2]|0;A=r;r=t[r>>2]|0;do{t[A>>2]=r|16;A=t[(t[A+36>>2]|0)+4>>2]|0;if(!A)break A;A=t[A+24>>2]|0;r=t[A>>2]|0}while(!(r&1|0))}else{r=a;A=t[a>>2]|0;do{t[r>>2]=A|16;A=t[(t[r+36>>2]|0)+12>>2]|0;if(!A)break A;r=t[A+20>>2]|0;A=t[r>>2]|0}while(!(A&1|0))}}}while(0);n=n+1|0}}}while(0);return}function An(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,h=0,w=0.0,k=0;n=+c[e+56>>3]-+c[e+40>>3];f=+c[e+64>>3]-+c[e+48>>3];a=(f+n)*.5+500.0;if((f+-3.0)*.5<2.0){o=(t[e>>2]&8|0)==0;a=o?16384.0:a;w=o?16384.0:n}else w=n;if((n+-3.0)*.5<2.0){o=(t[e>>2]&16|0)==0;f=o?16384.0:f;a=o?16384.0:a}o=e+36|0;r=t[o>>2]|0;i=t[r+8>>2]|0;if((i|0)!=0?(l=t[r+4>>2]|0,(l|0)!=0):0){l=Er(A,i,l,a)|0;i=e+4|0;r=t[i>>2]|0;t[i>>2]=r+1;t[e+8+(r<<2)>>2]=l;r=t[o>>2]|0}i=t[r+4>>2]|0;if((i|0)!=0?(s=t[r>>2]|0,(s|0)!=0):0){s=Er(A,i,s,a)|0;l=e+4|0;r=t[l>>2]|0;t[l>>2]=r+1;t[e+8+(r<<2)>>2]=s;r=t[o>>2]|0}i=t[r+8>>2]|0;if((i|0)!=0?(u=t[r+12>>2]|0,(u|0)!=0):0){u=Er(A,i,u,a)|0;s=e+4|0;r=t[s>>2]|0;t[s>>2]=r+1;t[e+8+(r<<2)>>2]=u;r=t[o>>2]|0}i=t[r+12>>2]|0;if((i|0)!=0?(b=t[r>>2]|0,(b|0)!=0):0){b=Er(A,i,b,a)|0;u=e+4|0;r=t[u>>2]|0;t[u>>2]=r+1;t[e+8+(r<<2)>>2]=b;r=t[o>>2]|0}i=t[r+4>>2]|0;if((i|0)!=0?(h=t[r+12>>2]|0,(h|0)!=0):0){h=Er(A,i,h,f)|0;b=e+4|0;r=t[b>>2]|0;t[b>>2]=r+1;t[e+8+(r<<2)>>2]=h;r=t[o>>2]|0}i=t[r+8>>2]|0;if(i|0?(k=t[r>>2]|0,k|0):0){A=Er(A,i,k,w)|0;h=e+4|0;k=t[h>>2]|0;t[h>>2]=k+1;t[e+8+(k<<2)>>2]=A}return}function rn(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s+8|0;f=s;a=e+16|0;n=t[15712]|0;i=0;while(1){if((i|0)>=(t[e>>2]|0)){A=10;break}A=t[a>>2]|0;r=A+(i*40|0)+20|0;if((t[r>>2]|0)==0?(t[f>>2]=i,a3(n,138096,f)|0,(t[r>>2]|0)==0):0){A=5;break}A=A+(i*40|0)+24|0;if((t[A>>2]|0)==0?(t[l>>2]=i,a3(n,138148,l)|0,(t[A>>2]|0)==0):0){A=8;break}i=i+1|0}if((A|0)==5)ge(138118,138131,311,138138);else if((A|0)==8)ge(138170,138131,313,138138);else if((A|0)==10){h=s;return}}function an(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0;a=+c[A+8>>3];t=+c[r+8>>3];if(!(a>t))if(!(a>3];a=+c[r>>3];if(t>a)e=1;else e=(t>31}else e=-1;else e=1;return e|0}function tn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0;a=+c[A>>3];t=+c[r>>3];if(!(a>t))if(!(a>3];a=+c[r+8>>3];if(t>a)e=1;else e=(t>31}else e=-1;else e=1;return e|0}function nn(e){e=e|0;var A=0,r=0;r=e+8|0;G2(t[(t[r>>2]|0)+36>>2]|0);A=e+12|0;G2(t[(t[A>>2]|0)+36>>2]|0);G2(t[r>>2]|0);G2(t[A>>2]|0);yr(t[e+16>>2]|0);Ph(t[e+20>>2]|0)|0;Ph(t[e+24>>2]|0)|0;G2(e);return}function fn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+32|0;f=w;l=A<<2;a=l+4|0;l=l+5|0;b=$F(l*56|0)|0;l=KF(l<<2)|0;n=a*5|1;s=$F(n*72|0)|0;o=n<<5;c=KF(o)|0;o=KF(o)|0;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2];t[f+16>>2]=t[i+16>>2];t[f+20>>2]=t[i+20>>2];t[f+24>>2]=t[i+24>>2];t[f+28>>2]=t[i+28>>2];ln(e,A,f,b,0);f8(173);sn(a,l);gn(a,b,l,n,s)|0;u=cn(a,b,s,0,c)|0;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2];t[f+16>>2]=t[i+16>>2];t[f+20>>2]=t[i+20>>2];t[f+24>>2]=t[i+24>>2];t[f+28>>2]=t[i+28>>2];ln(e,A,f,b,1);sn(a,l);gn(a,b,l,n,s)|0;a=cn(a,b,s,1,o)|0;n=KF(P(u<<5,a)|0)|0;A=0;e=0;while(1){if((A|0)>=(a|0))break;f=o+(A<<5)|0;i=0;while(1){if((i|0)>=(u|0))break;k=e+((on(n+(e<<5)|0,f,c+(i<<5)|0)|0)!=0&1)|0;i=i+1|0;e=k}A=A+1|0}k=AM(n,e<<5)|0;G2(b);G2(l);G2(s);G2(c);G2(o);t[r>>2]=e;h=w;return k|0}function ln(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0;s=h;h=h+96|0;f=s+64|0;l=s;t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];t[f+16>>2]=t[r+16>>2];t[f+20>>2]=t[r+20>>2];t[f+24>>2]=t[r+24>>2];t[f+28>>2]=t[r+28>>2];dn(f,a,1,l);r=vn(i,1,l)|0;n=0;while(1){if((n|0)>=(A|0))break;c=e+(n*72|0)+40|0;t[f>>2]=t[c>>2];t[f+4>>2]=t[c+4>>2];t[f+8>>2]=t[c+8>>2];t[f+12>>2]=t[c+12>>2];t[f+16>>2]=t[c+16>>2];t[f+20>>2]=t[c+20>>2];t[f+24>>2]=t[c+24>>2];t[f+28>>2]=t[c+28>>2];dn(f,a,0,l);r=vn(i,r,l)|0;n=n+1|0}h=s;return}function sn(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;r=0;while(1){if((r|0)>(e|0))break;t[A+(r<<2)>>2]=r;r=r+1|0}n=e+1|0;r=1;while(1){if((r|0)>(e|0))break;f=~~(+s8()*+(n-r|0)+ +(r|0));i=A+(r<<2)|0;a=A+(f<<2)|0;if((r|0)!=(f|0)){f=t[i>>2]|0;t[i>>2]=t[a>>2];t[a>>2]=f}r=r+1|0}return}function cn(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;n=e*5|0;s=n+1|0;o=KF(s<<2)|0;t[47388]=KF(s<<4)|0;t[47389]=KF((e*56|0)+56|0)|0;s=KF(e<<2)|0;t[47390]=s;c=0;while(1){if((c|0)>(n|0))break;if(un(r+(c*72|0)|0,A)|0)break;c=c+1|0}f=t[47388]|0;l=t[47389]|0;n=1;while(1){if((n|0)>(e|0))break;t[f+(n<<4)+8>>2]=t[A+(n*56|0)+48>>2];u=A+(n*56|0)+44|0;t[f+(n<<4)+4>>2]=t[u>>2];t[f+(n<<4)>>2]=n;b=l+(n*56|0)|0;h=A+(n*56|0)|0;t[b>>2]=t[h>>2];t[b+4>>2]=t[h+4>>2];t[b+8>>2]=t[h+8>>2];t[b+12>>2]=t[h+12>>2];t[l+(n*56|0)+16>>2]=t[u>>2];t[l+(n*56|0)+32>>2]=n;t[l+(n*56|0)+48>>2]=1;n=n+1|0}t[47391]=e;t[47392]=0;t[s>>2]=1;n=t[r+(c*72|0)+40>>2]|0;if((n|0)<=0){n=t[r+(c*72|0)+48>>2]|0;if((n|0)>0)n=bn(o,a,0,A,r,0,c,n,i,2)|0;else n=0}else n=bn(o,a,0,A,r,0,c,n,i,1)|0;G2(o);G2(t[47388]|0);G2(t[47389]|0);G2(t[47390]|0);return n|0}function on(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0;n=+c[(+c[A>>3]>+c[r>>3]?A:r)>>3];t=+c[(+c[A+16>>3]<+c[r+16>>3]?A:r)+16>>3];c[e+16>>3]=t;c[e>>3]=n;a=+c[(+c[A+8>>3]>+c[r+8>>3]?A:r)+8>>3];i=+c[(+c[A+24>>3]<+c[r+24>>3]?A:r)+24>>3];c[e+24>>3]=i;c[e+8>>3]=a;return!(n>=t)&!(a>=i)&1|0}function un(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0;a=t[e+4>>2]|0;do{if((t[e+68>>2]|0)!=2?!((a|0)<1|(t[e>>2]|0)<1):0){if(!((t[e+40>>2]|0)<1?(t[e+44>>2]|0)<1:0)){if((t[e+48>>2]|0)>=1){e=0;break}if((t[e+52>>2]|0)>=1){e=0;break}}r=+c[A+(a*56|0)+24>>3];i=+c[A+(a*56|0)+8>>3];if(!(r>i+1.0e-07))if(r>3]>+c[A+(a*56|0)>>3]&1;else e=1}else e=0}while(0);return e|0}function bn(e,A,r,i,a,n,f,l,s,o){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;var u=0,b=0,h=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0.0,F=0,M=0.0,V=0,N=0,R=0,x=0,J=0;G=(s|0)==0;Z=f;e:while(1){y=a+(Z*72|0)|0;if((Z|0)<1)break;f=e+(Z<<2)|0;if(t[f>>2]|0)break;t[f>>2]=1;p=a+(Z*72|0)+8|0;g=a+(Z*72|0)+16|0;w=+c[g>>3];E=a+(Z*72|0)+24|0;B=a+(Z*72|0)+32|0;h=+c[B>>3];if((w>h?(I=t[y>>2]|0,Y=+c[i+(I*56|0)>>3],Y==+c[i+(I*56|0)+16>>3]):0)?(I=t[a+(Z*72|0)+4>>2]|0,M=+c[i+(I*56|0)>>3],M==+c[i+(I*56|0)+16>>3]):0){f=A+(r<<5)|0;if(G){c[f>>3]=Y;k=w;w=M}else{c[f>>3]=h;k=-Y;h=-M}c[A+(r<<5)+8>>3]=h;c[A+(r<<5)+16>>3]=w;c[A+(r<<5)+24>>3]=k;r=r+1|0}f=a+(Z*72|0)+40|0;C=t[f>>2]|0;do{if((C|0)<1?(V=a+(Z*72|0)+44|0,(t[V>>2]|0)<1):0){f=a+(Z*72|0)+48|0;b=a+(Z*72|0)+52|0;if((t[f>>2]|0)>0?(N=t[b>>2]|0,(N|0)>0):0){u=t[a+(N*72|0)>>2]|0;o=t[y>>2]|0;if((N|0)==(l|0)){o=hn(n,o,u)|0;r=bn(e,A,r,i,a,n,t[b>>2]|0,Z,s,1)|0;n=o;o=1;break}else{o=hn(n,u,o)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,1)|0;n=o;f=b;o=1;break}}r=bn(e,A,r,i,a,n,C,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[V>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,1)|0;f=b;o=1}else J=19}while(0);do{if((J|0)==19){J=0;I=a+(Z*72|0)+48|0;d=t[I>>2]|0;if((d|0)<1?(R=a+(Z*72|0)+52|0,(t[R>>2]|0)<1):0){b=a+(Z*72|0)+44|0;if((C|0)>0?(x=t[b>>2]|0,(x|0)>0):0){u=t[a+(Z*72|0)+4>>2]|0;o=t[a+(C*72|0)+4>>2]|0;if((x|0)==(l|0)){o=hn(n,o,u)|0;r=bn(e,A,r,i,a,n,t[b>>2]|0,Z,s,2)|0;n=o;o=2;break}else{o=hn(n,u,o)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;n=o;f=b;o=2;break}}r=bn(e,A,r,i,a,n,C,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[b>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;f=R;o=1;break}m=a+(Z*72|0)+44|0;v=t[m>>2]|0;u=(v|0)>0;if((C|0)>0){if(u){if((d|0)>0?(L=a+(Z*72|0)+52|0,D=t[L>>2]|0,(D|0)>0):0){b=t[a+(D*72|0)>>2]|0;u=t[a+(C*72|0)+4>>2]|0;if(!((o|0)==2&(D|0)==(l|0))?!((o|0)==1&(v|0)==(l|0)):0){o=hn(n,b,u)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[m>>2]|0,Z,s,2)|0;n=o;f=L;o=1;break}o=hn(n,u,b)|0;r=bn(e,A,r,i,a,n,t[m>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[L>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[f>>2]|0,Z,s,2)|0;n=o;f=I;o=1;break}u=t[y>>2]|0;if(+Q(+(+c[B>>3]-+c[i+(u*56|0)+24>>3]))<=1.0e-07?+Q(+(+c[E>>3]-+c[i+(u*56|0)+16>>3]))<=1.0e-07:0){b=t[a+(C*72|0)+4>>2]|0;u=t[i+(u*56|0)+44>>2]|0;if((o|0)==1&(C|0)==(l|0)){o=hn(n,u,b)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[m>>2]|0,Z,s,2)|0;n=o;f=a+(Z*72|0)+52|0;o=1;break}else{o=hn(n,b,u)|0;r=bn(e,A,r,i,a,n,t[m>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;n=o;o=2;break}}b=t[a+(Z*72|0)+4>>2]|0;u=t[a+(C*72|0)+4>>2]|0;if((o|0)==1&(v|0)==(l|0)){o=hn(n,u,b)|0;r=bn(e,A,r,i,a,n,t[m>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[I>>2]|0,Z,s,1)|0;n=o;o=2;break}else{o=hn(n,b,u)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;n=o;f=m;o=2;break}}}else if(!u)break e;if((d|0)>0?(z=a+(Z*72|0)+52|0,W=t[z>>2]|0,(W|0)>0):0){b=t[y>>2]|0;if(+Q(+(+c[g>>3]-+c[i+(b*56|0)+8>>3]))<=1.0e-07?+Q(+(+c[p>>3]-+c[i+(b*56|0)>>3]))<=1.0e-07:0){u=t[a+(W*72|0)>>2]|0;if((o|0)==2&(d|0)==(l|0)){o=hn(n,u,b)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;n=o;f=z;o=1;break}else{o=hn(n,b,u)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[z>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;n=o;f=I;o=1;break}}u=t[a+(W*72|0)>>2]|0;b=t[i+((t[a+(Z*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((o|0)==2&(W|0)==(l|0)){o=hn(n,b,u)|0;r=bn(e,A,r,i,a,n,t[z>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[f>>2]|0,Z,s,2)|0;n=o;f=I;o=1;break}else{o=hn(n,u,b)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;n=o;f=z;o=1;break}}h=+c[g>>3];b=t[y>>2]|0;if(((+Q(+(h-+c[i+(b*56|0)+8>>3]))<=1.0e-07?+Q(+(+c[p>>3]-+c[i+(b*56|0)>>3]))<=1.0e-07:0)?(F=t[a+(Z*72|0)+4>>2]|0,+Q(+(+c[B>>3]-+c[i+(F*56|0)+8>>3]))<=1.0e-07):0)?+Q(+(+c[E>>3]-+c[i+(F*56|0)>>3]))<=1.0e-07:0)if((o|0)==1){o=hn(n,b,F)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;n=o;f=I;o=1;break}else{o=hn(n,F,b)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[f>>2]|0,Z,s,2)|0;n=o;f=a+(Z*72|0)+44|0;o=2;break}l=t[a+(Z*72|0)+4>>2]|0;if(((+Q(+(h-+c[i+(l*56|0)+24>>3]))<=1.0e-07?+Q(+(+c[p>>3]-+c[i+(l*56|0)+16>>3]))<=1.0e-07:0)?+Q(+(+c[B>>3]-+c[i+(b*56|0)+24>>3]))<=1.0e-07:0)?+Q(+(+c[E>>3]-+c[i+(b*56|0)+16>>3]))<=1.0e-07:0){u=t[i+(l*56|0)+44>>2]|0;l=t[i+(b*56|0)+44>>2]|0;if((o|0)==1){o=hn(n,l,u)|0;r=bn(e,A,r,i,a,n,t[f>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;r=bn(e,A,r,i,a,o,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;n=o;f=I;o=1;break}else{o=hn(n,u,l)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+52>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,o,t[f>>2]|0,Z,s,2)|0;n=o;f=a+(Z*72|0)+44|0;o=2;break}}r=bn(e,A,r,i,a,n,C,Z,s,2)|0;r=bn(e,A,r,i,a,n,t[I>>2]|0,Z,s,1)|0;r=bn(e,A,r,i,a,n,t[a+(Z*72|0)+44>>2]|0,Z,s,2)|0;f=a+(Z*72|0)+52|0;o=1}}while(0);l=Z;Z=t[f>>2]|0}return r|0}function hn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;a=h;h=h+16|0;d=a+4|0;l=a;i=(t[47392]|0)+1|0;t[47392]=i;o=t[47389]|0;wn(A,r,d,l);d=t[d>>2]|0;f=t[o+(A*56|0)+32+(d<<2)>>2]|0;l=t[o+(r*56|0)+32+(t[l>>2]<<2)>>2]|0;u=t[47391]|0;n=u+1|0;u=u+2|0;t[47391]=u;k=t[47388]|0;t[k+(n<<4)>>2]=A;t[k+(u<<4)>>2]=r;b=k+(f<<4)+4|0;w=k+(n<<4)+4|0;t[w>>2]=t[b>>2];t[k+(t[b>>2]<<4)+8>>2]=n;t[k+(n<<4)+8>>2]=u;t[k+(u<<4)+4>>2]=n;s=k+(l<<4)+8|0;t[k+(u<<4)+8>>2]=t[s>>2];t[k+(t[s>>2]<<4)+4>>2]=u;t[b>>2]=l;t[s>>2]=f;s=o+(A*56|0)+48|0;b=t[s>>2]|0;l=o+(r*56|0)+48|0;c=t[l>>2]|0;t[o+(A*56|0)+16+(d<<2)>>2]=r;t[o+(A*56|0)+32+(b<<2)>>2]=n;t[o+(A*56|0)+16+(b<<2)>>2]=t[k+(t[w>>2]<<4)>>2];t[o+(r*56|0)+32+(c<<2)>>2]=u;t[o+(r*56|0)+16+(c<<2)>>2]=A;t[s>>2]=(t[s>>2]|0)+1;t[l>>2]=(t[l>>2]|0)+1;r=t[47390]|0;t[r+(e<<2)>>2]=f;t[r+(i<<2)>>2]=n;h=a;return i|0}function wn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0,l=0,s=0.0,c=0.0,o=0,u=0,b=0;o=t[47389]|0;u=o+(e*56|0)|0;b=o+(A*56|0)|0;a=0;n=-4.0;l=0;while(1){if((l|0)==4)break;f=t[o+(e*56|0)+16+(l<<2)>>2]|0;if((f|0)>=1?(s=+kn(u,o+(f*56|0)|0,b),s>n):0){a=l;n=s}l=l+1|0}t[r>>2]=a;a=0;l=0;n=-4.0;while(1){if((l|0)==4)break;f=t[o+(A*56|0)+16+(l<<2)>>2]|0;if((f|0)>=1?(c=+kn(b,o+(f*56|0)|0,u),c>n):0){a=l;n=c}l=l+1|0}t[i>>2]=a;return}function kn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0,f=0.0;n=+c[e>>3];f=+c[A>>3]-n;i=+c[e+8>>3];t=+c[A+8>>3]-i;n=+c[r>>3]-n;i=+c[r+8>>3]-i;a=i*t+n*f;if(!(i*f-n*t>=0.0))i=-a/(+D(+(i*i+n*n))*+D(+(t*t+f*f)))+-2.0;else i=a/(+D(+(i*i+n*n))*+D(+(t*t+f*f)));return+i}function dn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0.0;t[i>>2]=t[e>>2];t[i+4>>2]=t[e+4>>2];t[i+8>>2]=t[e+8>>2];t[i+12>>2]=t[e+12>>2];f=i+32|0;l=e+16|0;t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];t[f+8>>2]=t[l+8>>2];t[f+12>>2]=t[l+12>>2];if(!r){a=e+8|0;n=l;f=e+24|0;r=e}else{a=e+24|0;n=e;f=e+8|0;r=l}s=+c[n>>3];o=+c[f>>3];c[i+16>>3]=+c[r>>3];c[i+24>>3]=o;c[i+48>>3]=s;c[i+56>>3]=+c[a>>3];e:do{if(A|0){r=0;while(1){if((r|0)==4)break e;l=i+(r<<4)+8|0;o=+c[l>>3];A=i+(r<<4)|0;c[l>>3]=+c[A>>3];c[A>>3]=-o;r=r+1|0}}}while(0);return}function vn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;f=A+3|0;l=A+1|0;s=A+2|0;c=e+(A*56|0)+44|0;o=e+(f*56|0)+44|0;i=0;a=A;while(1){if((a|0)>(f|0))break;do{if((a|0)!=(A|0))if((a|0)==(f|0)){t[o>>2]=A;n=s;break}else{t[e+(a*56|0)+44>>2]=a+1;n=a+-1|0;break}else{t[c>>2]=l;n=f}}while(0);t[e+(a*56|0)+48>>2]=n;t[e+(a*56|0)+32>>2]=0;b=e+(a*56|0)|0;u=r+(i<<4)|0;t[b>>2]=t[u>>2];t[b+4>>2]=t[u+4>>2];t[b+8>>2]=t[u+8>>2];t[b+12>>2]=t[u+12>>2];D6(e+(n*56|0)+16|0,u|0,16)|0;i=i+1|0;a=a+1|0}return A+4|0}function gn(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0;t[47393]=i<<1;t[47394]=i;c=KF(i*80|0)|0;t[47395]=1;t[47396]=1;z6(a|0,0,i*72|0)|0;n=mn(t[r+4>>2]|0,A,a,c)|0;i=1;while(1){if((i|0)>(e|0))break;t[A+(i*56|0)+40>>2]=n;t[A+(i*56|0)+36>>2]=n;i=i+1|0}s=pn(e)|0;n=2;l=1;while(1){if((l|0)>(s|0))break;i=En(e,l+-1|0)|0;f=En(e,l)|0;while(1){if((i|0)>=(f|0)){i=1;break}Bn(t[r+(n<<2)>>2]|0,A,a,c);i=i+1|0;n=n+1|0}while(1){if((i|0)>(e|0))break;yn(i,A,a,c);i=i+1|0}l=l+1|0}i=En(e,s)|0;while(1){if((i|0)>=(e|0))break;Bn(t[r+(n<<2)>>2]|0,A,a,c);n=n+1|0;i=i+1|0}G2(c);return t[47395]|0}function mn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0;a=Ln()|0;t[i+(a*40|0)>>2]=2;v=i+(a*40|0)+8|0;s=A+(e*56|0)|0;o=A+(e*56|0)+16|0;Wn(v,s,o);b=Ln()|0;t[i+(a*40|0)+36>>2]=b;t[i+(b*40|0)>>2]=3;t[i+(b*40|0)+28>>2]=a;l=Ln()|0;t[i+(a*40|0)+32>>2]=l;t[i+(l*40|0)>>2]=2;d=i+(l*40|0)+8|0;Yn(d,s,o);t[i+(l*40|0)+28>>2]=a;o=Ln()|0;t[i+(l*40|0)+32>>2]=o;t[i+(o*40|0)>>2]=3;t[i+(o*40|0)+28>>2]=l;s=Ln()|0;t[i+(l*40|0)+36>>2]=s;t[i+(s*40|0)>>2]=1;t[i+(s*40|0)+4>>2]=e;t[i+(s*40|0)+28>>2]=l;l=Ln()|0;t[i+(s*40|0)+32>>2]=l;t[i+(l*40|0)>>2]=3;t[i+(l*40|0)+28>>2]=s;n=Ln()|0;t[i+(s*40|0)+36>>2]=n;t[i+(n*40|0)>>2]=3;t[i+(n*40|0)+28>>2]=s;s=Gn(r)|0;f=Gn(r)|0;u=Gn(r)|0;h=Gn(r)|0;w=r+(s*72|0)+8|0;k=r+(f*72|0)+8|0;g=r+(h*72|0)+24|0;t[g>>2]=t[v>>2];t[g+4>>2]=t[v+4>>2];t[g+8>>2]=t[v+8>>2];t[g+12>>2]=t[v+12>>2];D6(k|0,v|0,16)|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];w=r+(s*72|0)+24|0;k=r+(f*72|0)+24|0;v=r+(u*72|0)+8|0;t[v>>2]=t[d>>2];t[v+4>>2]=t[d+4>>2];t[v+8>>2]=t[d+8>>2];t[v+12>>2]=t[d+12>>2];D6(k|0,d|0,16)|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];c[r+(h*72|0)+16>>3]=1073741824.0;c[r+(h*72|0)+8>>3]=1073741824.0;c[r+(u*72|0)+32>>3]=-1073741824.0;c[r+(u*72|0)+24>>3]=-1073741824.0;t[r+(f*72|0)>>2]=e;t[r+(s*72|0)+4>>2]=e;t[r+(f*72|0)+40>>2]=h;t[r+(s*72|0)+40>>2]=h;t[r+(f*72|0)+48>>2]=u;t[r+(s*72|0)+48>>2]=u;t[r+(u*72|0)+40>>2]=s;t[r+(h*72|0)+48>>2]=s;t[r+(u*72|0)+44>>2]=f;t[r+(h*72|0)+52>>2]=f;t[r+(s*72|0)+56>>2]=l;t[r+(f*72|0)+56>>2]=n;t[r+(u*72|0)+56>>2]=o;t[r+(h*72|0)+56>>2]=b;t[r+(f*72|0)+68>>2]=1;t[r+(s*72|0)+68>>2]=1;t[r+(h*72|0)+68>>2]=1;t[r+(u*72|0)+68>>2]=1;t[i+(b*40|0)+24>>2]=h;t[i+(o*40|0)+24>>2]=u;t[i+(l*40|0)+24>>2]=s;t[i+(n*40|0)+24>>2]=f;t[A+(e*56|0)+32>>2]=1;return a|0}function pn(e){e=e|0;var A=0.0;A=+(e|0);e=0;while(1){if(!(A>=1.0))break;A=+t1(A);e=e+1|0}return e+-1|0}function En(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+(e|0);r=i;e=0;while(1){if((e|0)>=(A|0))break;r=+t1(r);e=e+1|0}return~~+H(+(i/r))|0}function Bn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0;T=h;h=h+96|0;X=T+32|0;a=T+16|0;S=T;v=X;s=A+(e*56|0)|0;d=v+56|0;do{t[v>>2]=t[s>>2];v=v+4|0;s=s+4|0}while((v|0)<(d|0));j=X+16|0;U=X+24|0;f=+c[U>>3];W=X+8|0;l=+c[W>>3];do{if(!(f>l+1.0e-07)){if(!(f>3]>+c[X>>3]:0){z=4;break}z=(Zn(e,A,1)|0)==0;a=t[X+36>>2]|0;if(z){u=0;z=7}else{a=Cn(X,j,a,A,i)|0;z=20}}else z=4}while(0);if((z|0)==4){t[a>>2]=t[X>>2];t[a+4>>2]=t[X+4>>2];t[a+8>>2]=t[X+8>>2];t[a+12>>2]=t[X+12>>2];t[X>>2]=t[j>>2];t[X+4>>2]=t[j+4>>2];t[X+8>>2]=t[j+8>>2];t[X+12>>2]=t[j+12>>2];t[j>>2]=t[a>>2];t[j+4>>2]=t[a+4>>2];t[j+8>>2]=t[a+8>>2];t[j+12>>2]=t[a+12>>2];L=X+36|0;D=t[L>>2]|0;z=X+40|0;a=t[z>>2]|0;t[L>>2]=a;t[z>>2]=D;if(!(Zn(e,A,2)|0)){u=1;z=7}else{a=Cn(X,j,a,A,i)|0;z=19}}if((z|0)==7){o=Cn(X,j,a,A,i)|0;a=Gn(r)|0;t[r+(a*72|0)+68>>2]=1;v=r+(a*72|0)|0;s=r+(o*72|0)|0;d=v+72|0;do{t[v>>2]=t[s>>2];v=v+4|0;s=s+4|0}while((v|0)<(d|0));k=+c[W>>3];c[r+(a*72|0)+16>>3]=k;c[r+(o*72|0)+32>>3]=k;k=+c[X>>3];c[r+(a*72|0)+8>>3]=k;c[r+(o*72|0)+24>>3]=k;t[r+(o*72|0)+48>>2]=a;t[r+(o*72|0)+52>>2]=0;t[r+(a*72|0)+40>>2]=o;t[r+(a*72|0)+44>>2]=0;n=t[r+(a*72|0)+48>>2]|0;if((n|0)>0){s=r+(n*72|0)+40|0;if((t[s>>2]|0)==(o|0))t[s>>2]=a;n=r+(n*72|0)+44|0;if((t[n>>2]|0)==(o|0))t[n>>2]=a}n=t[r+(a*72|0)+52>>2]|0;if((n|0)>0){s=r+(n*72|0)+40|0;if((t[s>>2]|0)==(o|0))t[s>>2]=a;n=r+(n*72|0)+44|0;if((t[n>>2]|0)==(o|0))t[n>>2]=a}L=Ln()|0;z=Ln()|0;D=r+(o*72|0)+56|0;G=t[D>>2]|0;t[i+(G*40|0)>>2]=2;Z=i+(G*40|0)+8|0;t[Z>>2]=t[X>>2];t[Z+4>>2]=t[X+4>>2];t[Z+8>>2]=t[X+8>>2];t[Z+12>>2]=t[X+12>>2];t[i+(G*40|0)+4>>2]=e;t[i+(G*40|0)+32>>2]=z;t[i+(G*40|0)+36>>2]=L;t[i+(L*40|0)>>2]=3;t[i+(L*40|0)+24>>2]=o;t[i+(L*40|0)+28>>2]=G;t[i+(z*40|0)>>2]=3;t[i+(z*40|0)+24>>2]=a;t[i+(z*40|0)+28>>2]=G;t[D>>2]=L;t[r+(a*72|0)+56>>2]=z;if(u)z=19;else z=20}if((z|0)==19)if(!(Zn(e,A,1)|0)){n=1;z=21}else{n=1;z=32}else if((z|0)==20)if(!(Zn(e,A,2)|0)){n=0;z=21}else{n=0;z=32}if((z|0)==21){b=Cn(j,X,t[X+40>>2]|0,A,i)|0;u=Gn(r)|0;t[r+(u*72|0)+68>>2]=1;v=r+(u*72|0)|0;s=r+(b*72|0)|0;d=v+72|0;do{t[v>>2]=t[s>>2];v=v+4|0;s=s+4|0}while((v|0)<(d|0));k=+c[U>>3];c[r+(u*72|0)+16>>3]=k;c[r+(b*72|0)+32>>3]=k;k=+c[j>>3];c[r+(u*72|0)+8>>3]=k;c[r+(b*72|0)+24>>3]=k;t[r+(b*72|0)+48>>2]=u;t[r+(b*72|0)+52>>2]=0;t[r+(u*72|0)+40>>2]=b;t[r+(u*72|0)+44>>2]=0;s=t[r+(u*72|0)+48>>2]|0;if((s|0)>0){o=r+(s*72|0)+40|0;if((t[o>>2]|0)==(b|0))t[o>>2]=u;s=r+(s*72|0)+44|0;if((t[s>>2]|0)==(b|0))t[s>>2]=u}s=t[r+(u*72|0)+52>>2]|0;if((s|0)>0){o=r+(s*72|0)+40|0;if((t[o>>2]|0)==(b|0))t[o>>2]=u;s=r+(s*72|0)+44|0;if((t[s>>2]|0)==(b|0))t[s>>2]=u}G=Ln()|0;D=Ln()|0;L=r+(b*72|0)+56|0;Z=t[L>>2]|0;t[i+(Z*40|0)>>2]=2;I=i+(Z*40|0)+8|0;t[I>>2]=t[j>>2];t[I+4>>2]=t[j+4>>2];t[I+8>>2]=t[j+8>>2];t[I+12>>2]=t[j+12>>2];t[i+(Z*40|0)+4>>2]=e;t[i+(Z*40|0)+32>>2]=D;t[i+(Z*40|0)+36>>2]=G;t[i+(G*40|0)>>2]=3;t[i+(G*40|0)+24>>2]=b;t[i+(G*40|0)+28>>2]=Z;t[i+(D*40|0)>>2]=3;t[i+(D*40|0)+24>>2]=u;t[i+(D*40|0)+28>>2]=Z;t[L>>2]=G;t[r+(u*72|0)+56>>2]=D;D=a;a=0}else if((z|0)==32){D=a;b=Cn(j,X,t[X+40>>2]|0,A,i)|0;a=1}e:do{if((D|0)>0){G=r+(b*72|0)+24|0;L=r+(b*72|0)+32|0;Z=(a|0)!=0;y=n?A+(e*56|0)+48|0:A+(e*56|0)+44|0;C=S+8|0;n=0;a=0;B=D;A:while(1){s=r+(B*72|0)|0;p=r+(B*72|0)+24|0;if(!(Qn(p,G)|0))break e;o=r+(B*72|0)+56|0;m=t[o>>2]|0;u=Ln()|0;w=Ln()|0;t[i+(m*40|0)>>2]=1;t[i+(m*40|0)+4>>2]=e;t[i+(m*40|0)+32>>2]=u;t[i+(m*40|0)+36>>2]=w;t[i+(u*40|0)>>2]=3;t[i+(u*40|0)+24>>2]=B;t[i+(u*40|0)+28>>2]=m;t[i+(w*40|0)>>2]=3;E=Gn(r)|0;t[i+(w*40|0)+24>>2]=E;I=r+(E*72|0)|0;t[r+(E*72|0)+68>>2]=1;t[i+(w*40|0)+28>>2]=m;n=(B|0)==(D|0)?E:n;m=r+(B*72|0)+32|0;if(+Q(+(+c[m>>3]-+c[L>>3]))<=1.0e-07?+Q(+(+c[p>>3]-+c[G>>3]))<=1.0e-07:0)a=E;v=I;d=v+72|0;do{t[v>>2]=t[s>>2];v=v+4|0;s=s+4|0}while((v|0)<(d|0));t[o>>2]=u;t[r+(E*72|0)+56>>2]=w;g=r+(B*72|0)+48|0;o=r+(B*72|0)+52|0;s=(t[o>>2]|0)<1;do{if((t[g>>2]|0)<1){if(s)break A;v=r+(B*72|0)+40|0;s=t[v>>2]|0;do{if((s|0)>0?(N=r+(B*72|0)+44|0,R=t[N>>2]|0,(R|0)>0):0){d=r+(B*72|0)+60|0;s=t[d>>2]|0;if((s|0)<=0){t[r+(E*72|0)+40>>2]=R;t[r+(E*72|0)+44>>2]=-1;t[N>>2]=-1;t[r+(R*72|0)+48>>2]=E;break}if((t[r+(B*72|0)+64>>2]|0)==1){t[r+(E*72|0)+40>>2]=R;t[N>>2]=-1;t[r+(E*72|0)+44>>2]=s;t[r+((t[v>>2]|0)*72|0)+48>>2]=B;w=E;u=R}else{t[r+(E*72|0)+44>>2]=-1;g=r+(E*72|0)+40|0;t[g>>2]=t[N>>2];u=t[v>>2]|0;t[N>>2]=u;t[v>>2]=s;t[r+(s*72|0)+48>>2]=B;w=B;s=t[g>>2]|0}t[r+(u*72|0)+48>>2]=w;t[r+(s*72|0)+48>>2]=E;t[r+(E*72|0)+60>>2]=0;t[d>>2]=0}else z=77}while(0);do{if((z|0)==77){z=0;u=r+(s*72|0)+48|0;w=t[u>>2]|0;s=r+(s*72|0)+52|0;if((w|0)>0?(t[s>>2]|0)>0:0){s=t[r+(w*72|0)+4>>2]|0;if((s|0)>0?(In(s,A,j)|0)==0:0){t[r+(E*72|0)+44>>2]=-1;t[r+(B*72|0)+44>>2]=-1;t[v>>2]=-1;t[r+((t[r+(E*72|0)+40>>2]|0)*72|0)+52>>2]=E;break}t[r+(B*72|0)+44>>2]=-1;t[r+(E*72|0)+44>>2]=-1;t[r+(E*72|0)+40>>2]=-1;t[r+((t[v>>2]|0)*72|0)+48>>2]=B;break}t[u>>2]=B;t[s>>2]=E}}while(0);if(+Q(+(+c[m>>3]-+c[L>>3]))<=1.0e-07?Z&+Q(+(+c[p>>3]-+c[G>>3]))<=1.0e-07:0){s=t[y>>2]|0;if((s|0)>0?(In(s,A,X)|0)!=0:0){t[r+((t[o>>2]|0)*72|0)+40>>2]=B;u=r+(E*72|0)+52|0;s=E}else{t[r+((t[r+(E*72|0)+52>>2]|0)*72|0)+44>>2]=E;u=o;s=B}t[u>>2]=-1;t[r+(s*72|0)+48>>2]=-1;s=t[o>>2]|0;break}s=t[o>>2]|0;o=r+(s*72|0)+40|0;u=t[o>>2]|0;w=r+(s*72|0)+44|0;if((u|0)>0?(x=t[w>>2]|0,J=(u|0)==(B|0),(x|0)>0):0){t[r+(s*72|0)+60>>2]=J?x:u;t[r+(s*72|0)+64>>2]=J?1:2}t[o>>2]=B;t[w>>2]=E}else{if(!s){f=+c[m>>3];l=+c[W>>3];k=f-l;if(!(+Q(+k)<=1.0e-07)){c[C>>3]=f;f=+c[X>>3];c[S>>3]=(+c[j>>3]-f)*(k/(+c[U>>3]-l))+f;v=(Dn(S,p)|0)!=0}else v=+c[p>>3]>+c[X>>3];d=r+(B*72|0)+40|0;s=t[d>>2]|0;do{if((s|0)>0?(H=r+(B*72|0)+44|0,P=t[H>>2]|0,(P|0)>0):0){w=r+(B*72|0)+60|0;s=t[w>>2]|0;if((s|0)<=0){t[r+(E*72|0)+40>>2]=P;t[r+(E*72|0)+44>>2]=-1;t[H>>2]=-1;t[r+(P*72|0)+48>>2]=E;break}if((t[r+(B*72|0)+64>>2]|0)==1){t[r+(E*72|0)+40>>2]=P;t[H>>2]=-1;t[r+(E*72|0)+44>>2]=s;t[r+((t[d>>2]|0)*72|0)+48>>2]=B;u=E;o=P}else{t[r+(E*72|0)+44>>2]=-1;O=r+(E*72|0)+40|0;t[O>>2]=t[H>>2];o=t[d>>2]|0;t[H>>2]=o;t[d>>2]=s;t[r+(s*72|0)+48>>2]=B;u=B;s=t[O>>2]|0}t[r+(o*72|0)+48>>2]=u;t[r+(s*72|0)+48>>2]=E;t[r+(E*72|0)+60>>2]=0;t[w>>2]=0}else z=106}while(0);do{if((z|0)==106){z=0;o=r+(s*72|0)+48|0;u=t[o>>2]|0;s=r+(s*72|0)+52|0;if((u|0)>0?(t[s>>2]|0)>0:0){s=t[r+(u*72|0)+4>>2]|0;if((s|0)>0?(In(s,A,j)|0)==0:0){t[r+(E*72|0)+44>>2]=-1;t[r+(B*72|0)+44>>2]=-1;t[d>>2]=-1;t[r+((t[r+(E*72|0)+40>>2]|0)*72|0)+52>>2]=E;break}t[r+(B*72|0)+44>>2]=-1;t[r+(E*72|0)+44>>2]=-1;t[r+(E*72|0)+40>>2]=-1;t[r+((t[d>>2]|0)*72|0)+48>>2]=B;break}t[o>>2]=B;t[s>>2]=E}}while(0);if(+Q(+(+c[m>>3]-+c[L>>3]))<=1.0e-07?Z&+Q(+(+c[p>>3]-+c[G>>3]))<=1.0e-07:0){s=t[g>>2]|0;t[r+(s*72|0)+40>>2]=B;t[r+(s*72|0)+44>>2]=-1;s=r+(B*72|0)+52|0;O=t[s>>2]|0;t[r+(O*72|0)+40>>2]=E;t[r+(O*72|0)+44>>2]=-1;t[r+(E*72|0)+48>>2]=O;t[r+(E*72|0)+52>>2]=-1;t[s>>2]=-1;s=-1}else z=116;do{if((z|0)==116){z=0;s=t[g>>2]|0;t[r+(s*72|0)+40>>2]=B;o=r+(s*72|0)+44|0;if(v){t[o>>2]=E;O=r+(B*72|0)+52|0;p=t[O>>2]|0;t[r+(p*72|0)+40>>2]=E;t[r+(p*72|0)+44>>2]=-1;t[O>>2]=-1;break}else{t[o>>2]=-1;s=r+(B*72|0)+52|0;O=t[s>>2]|0;t[r+(O*72|0)+40>>2]=B;t[r+(O*72|0)+44>>2]=E;t[r+(E*72|0)+48>>2]=O;t[r+(E*72|0)+52>>2]=-1;s=t[s>>2]|0;break}}}while(0);break}v=r+(B*72|0)+40|0;s=t[v>>2]|0;do{if((s|0)>0?(Y=r+(B*72|0)+44|0,F=t[Y>>2]|0,(F|0)>0):0){d=r+(B*72|0)+60|0;s=t[d>>2]|0;if((s|0)<=0){t[r+(E*72|0)+40>>2]=F;t[r+(E*72|0)+44>>2]=-1;t[Y>>2]=-1;t[r+(F*72|0)+48>>2]=E;break}if((t[r+(B*72|0)+64>>2]|0)==1){t[r+(E*72|0)+40>>2]=F;t[Y>>2]=-1;t[r+(E*72|0)+44>>2]=s;t[r+((t[v>>2]|0)*72|0)+48>>2]=B;w=E;u=F}else{t[r+(E*72|0)+44>>2]=-1;O=r+(E*72|0)+40|0;t[O>>2]=t[Y>>2];u=t[v>>2]|0;t[Y>>2]=u;t[v>>2]=s;t[r+(s*72|0)+48>>2]=B;w=B;s=t[O>>2]|0}t[r+(u*72|0)+48>>2]=w;t[r+(s*72|0)+48>>2]=E;t[r+(E*72|0)+60>>2]=0;t[d>>2]=0}else z=51}while(0);do{if((z|0)==51){z=0;u=r+(s*72|0)+48|0;w=t[u>>2]|0;s=r+(s*72|0)+52|0;if((w|0)>0?(t[s>>2]|0)>0:0){s=t[r+(w*72|0)+4>>2]|0;if((s|0)>0?(In(s,A,j)|0)==0:0){t[r+(E*72|0)+44>>2]=-1;t[r+(B*72|0)+44>>2]=-1;t[v>>2]=-1;t[r+((t[r+(E*72|0)+40>>2]|0)*72|0)+52>>2]=E;break}t[r+(B*72|0)+44>>2]=-1;t[r+(E*72|0)+44>>2]=-1;t[r+(E*72|0)+40>>2]=-1;t[r+((t[v>>2]|0)*72|0)+48>>2]=B;break}t[u>>2]=B;t[s>>2]=E}}while(0);if(+Q(+(+c[m>>3]-+c[L>>3]))<=1.0e-07?Z&+Q(+(+c[p>>3]-+c[G>>3]))<=1.0e-07:0){s=t[y>>2]|0;if((s|0)>0?(In(s,A,X)|0)!=0:0){t[r+((t[g>>2]|0)*72|0)+40>>2]=B;o=r+(E*72|0)+52|0;s=E}else{t[r+((t[r+(E*72|0)+48>>2]|0)*72|0)+44>>2]=E;s=B}t[o>>2]=-1;t[r+(s*72|0)+48>>2]=-1;s=t[g>>2]|0;break}s=t[g>>2]|0;o=r+(s*72|0)+40|0;u=t[o>>2]|0;w=r+(s*72|0)+44|0;if((u|0)>0?(M=t[w>>2]|0,V=(u|0)==(B|0),(M|0)>0):0){t[r+(s*72|0)+60>>2]=V?M:u;t[r+(s*72|0)+64>>2]=V?1:2}t[o>>2]=B;t[w>>2]=E}}while(0);t[I>>2]=e;t[r+(B*72|0)+4>>2]=e;if((s|0)>0)B=s;else break e}G3(138424,19,1,t[15712]|0)|0}else{n=0;a=0}}while(0);zn(e,D,b,1,r,i);zn(e,n,a,2,r,i);t[A+(e*56|0)+32>>2]=1;h=T;return}function yn(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;if(!(t[A+(e*56|0)+32>>2]|0)){a=A+(e*56|0)|0;n=A+(e*56|0)+16|0;f=A+(e*56|0)+36|0;t[f>>2]=t[r+((Cn(a,n,t[f>>2]|0,A,i)|0)*72|0)+56>>2];e=A+(e*56|0)+40|0;t[e>>2]=t[r+((Cn(n,a,t[e>>2]|0,A,i)|0)*72|0)+56>>2]}return}function Cn(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,h=0,w=0.0,k=0,d=0;h=e+8|0;k=A+8|0;e:while(1){A:do{switch(t[a+(r*40|0)>>2]|0){case 3:{d=3;break e}case 2:{n=+c[h>>3];f=a+(r*40|0)+8|0;l=+c[a+(r*40|0)+16>>3];s=l+1.0e-07;do{if(!(n>s)){o=l+-1.0e-07;if(!(n>3]>+c[f>>3]:0)break;if(+Q(+(n-l))<=1.0e-07?(u=+c[f>>3],+Q(+(+c[e>>3]-u))<=1.0e-07):0){n=+c[k>>3];do{if(!(n>s)){if(!(n>3]>u:0)break;r=a+(r*40|0)+32|0;break A}}while(0);r=a+(r*40|0)+36|0;break A}r=a+(r*40|0)+32|0;break A}}while(0);r=a+(r*40|0)+36|0;break}case 1:{n=+c[h>>3];f=t[a+(r*40|0)+4>>2]|0;if(+Q(+(n-+c[i+(f*56|0)+8>>3]))<=1.0e-07?(b=+c[e>>3],+Q(+(b-+c[i+(f*56|0)>>3]))<=1.0e-07):0)l=b;else d=19;do{if((d|0)==19){d=0;if(+Q(+(n-+c[i+(f*56|0)+24>>3]))<=1.0e-07?(w=+c[e>>3],+Q(+(w-+c[i+(f*56|0)+16>>3]))<=1.0e-07):0){l=w;break}if(!(In(f,i,e)|0)){r=a+(r*40|0)+36|0;break A}else{r=a+(r*40|0)+32|0;break A}}}while(0);if(!(+Q(+(n-+c[k>>3]))<=1.0e-07))if(!(In(f,i,A)|0)){r=a+(r*40|0)+36|0;break A}else{r=a+(r*40|0)+32|0;break A}else if(+c[A>>3]>2]|0}if((d|0)==3)return t[a+(r*40|0)+24>>2]|0;else if((d|0)==31){G3(138358,35,1,t[15712]|0)|0;ge(138394,138396,349,138408)}return 0}function In(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0,n=0.0,f=0,l=0,s=0.0;t=A+(e*56|0)+16|0;n=+c[A+(e*56|0)+24>>3];f=A+(e*56|0)|0;a=+c[A+(e*56|0)+8>>3];do{if(!(n>a+1.0e-07)){if(!(n>3]>+c[f>>3]:0){l=4;break}i=+c[r+8>>3];if(+Q(+(n-i))<=1.0e-07){i=+c[r>>3]<+c[t>>3]?1.0:-1.0;break}if(!(+Q(+(a-i))<=1.0e-07)){s=+c[t>>3];i=(+c[f>>3]-s)*(i-n)-(+c[r>>3]-s)*(a-n);break}else{i=+c[r>>3]<+c[f>>3]?1.0:-1.0;break}}else l=4}while(0);do{if((l|0)==4){i=+c[r+8>>3];if(+Q(+(n-i))<=1.0e-07){i=+c[r>>3]<+c[t>>3]?1.0:-1.0;break}if(!(+Q(+(a-i))<=1.0e-07)){s=+c[f>>3];i=(+c[t>>3]-s)*(i-a)-(+c[r>>3]-s)*(n-a);break}else{i=+c[r>>3]<+c[f>>3]?1.0:-1.0;break}}}while(0);return i>0.0|0}function Zn(e,A,r){e=e|0;A=A|0;r=r|0;return t[A+((t[((r|0)==1?A+(e*56|0)+48|0:A+(e*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Gn(e){e=e|0;var A=0,r=0,i=0;i=h;h=h+16|0;r=i;A=t[47395]|0;if((A|0)<(t[47394]|0)){t[e+(A*72|0)>>2]=-1;t[e+(A*72|0)+4>>2]=-1;t[e+(A*72|0)+68>>2]=1;t[47395]=A+1;h=i;return A|0}else{i=t[15712]|0;t[r>>2]=A;a3(i,138483,r)|0;ge(138394,138396,88,138521)}return 0}function Ln(){var e=0;e=t[47396]|0;if((e|0)<(t[47393]|0)){t[47396]=e+1;return e|0}else{G3(138444,30,1,t[15712]|0)|0;ge(138394,138396,72,138475)}return 0}function Qn(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e+8>>3];i=+c[A+8>>3];if(!(r>i+1.0e-07))if(r>3]>=+c[A>>3]&1;else e=1;return e|0}function Dn(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e+8>>3];i=+c[A+8>>3];if(!(ri+1.0e-07)e=0;else e=+c[e>>3]<+c[A>>3]&1;else e=1;return e|0}function zn(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;k=a+(r*72|0)+24|0;w=(i|0)==1;e:while(1){h=a+(A*72|0)+24|0;s=a+(A*72|0)+48|0;c=a+(A*72|0)+52|0;o=a+(A*72|0)|0;u=a+(A*72|0)+4|0;b=a+(A*72|0)+56|0;if((A|0)<=0)break;while(1){if(!(Qn(h,k)|0))break e;r=t[s>>2]|0;i=(r|0)>0;do{if(w){if(i?(t[a+(r*72|0)+4>>2]|0)==(e|0):0)break;r=t[c>>2]|0;if((r|0)<=0){A=r;continue e}if((t[a+(r*72|0)+4>>2]|0)!=(e|0)){A=r;continue e}}else{if(i?(t[a+(r*72|0)>>2]|0)==(e|0):0)break;r=t[c>>2]|0;if((r|0)<=0){A=r;continue e}if((t[a+(r*72|0)>>2]|0)!=(e|0)){A=r;continue e}}}while(0);if((t[o>>2]|0)!=(t[a+(r*72|0)>>2]|0)){A=r;continue e}if((t[u>>2]|0)!=(t[a+(r*72|0)+4>>2]|0)){A=r;continue e}d=t[a+(r*72|0)+56>>2]|0;i=t[n+(d*40|0)+28>>2]|0;f=n+(i*40|0)+32|0;l=t[b>>2]|0;if((t[f>>2]|0)==(d|0))t[f>>2]=l;else t[n+(i*40|0)+36>>2]=l;i=t[a+(r*72|0)+48>>2]|0;t[s>>2]=i;do{if((i|0)>0){f=a+(i*72|0)+40|0;if((t[f>>2]|0)==(r|0)){t[f>>2]=A;break}i=a+(i*72|0)+44|0;if((t[i>>2]|0)==(r|0))t[i>>2]=A}}while(0);i=t[a+(r*72|0)+52>>2]|0;t[c>>2]=i;do{if((i|0)>0){f=a+(i*72|0)+40|0;if((t[f>>2]|0)==(r|0)){t[f>>2]=A;break}i=a+(i*72|0)+44|0;if((t[i>>2]|0)==(r|0))t[i>>2]=A}}while(0);d=a+(r*72|0)+24|0;t[h>>2]=t[d>>2];t[h+4>>2]=t[d+4>>2];t[h+8>>2]=t[d+8>>2];t[h+12>>2]=t[d+12>>2];t[a+(r*72|0)+68>>2]=2}}return}function Wn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[r+8>>3];do{if(!(i>a+1.0e-07)){if(!(+Q(+(i-a))<=1.0e-07)){t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}if(+c[A>>3]>+c[r>>3]+1.0e-07){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];break}else{t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}}else{t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2]}}while(0);return}function Yn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[r+8>>3];do{if(!(i>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}if(+c[A>>3]<+c[r>>3]){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];break}else{t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}}else{t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2]}}while(0);return}function Fn(e){e=e|0;var A=0;A=KF(8)|0;if(A|0){t[A+4>>2]=e;t[A>>2]=0}return A|0}function Mn(e,A){e=e|0;A=A|0;if(A){A=Fn(A)|0;t[A>>2]=e;e=A}return e|0}function Vn(e){e=e|0;var A=0;do{A=e;e=t[e>>2]|0;G2(A)}while((e|0)!=0);return}function Nn(){var e=0;e=KF(1992)|0;if(e|0)t[e>>2]=Rn(e)|0;return e|0}function Rn(e){e=e|0;var A=0;A=Sn(e)|0;t[A+4>>2]=0;e=e+1972|0;t[e>>2]=(t[e>>2]|0)+1;return A|0}function xn(e){e=e|0;Jn(e,t[e>>2]|0);G2(t[e>>2]|0);G2(e);return 0}function Jn(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;n=e+1980|0;f=e+1912|0;l=e+1936|0;e:do{if((t[A+4>>2]|0)>0){r=0;while(1){if((r|0)==64)break e;i=A+8+(r*20|0)+16|0;a=t[i>>2]|0;if(a|0?(Jn(e,a),G2(t[i>>2]|0),qn(A,r),t[n>>2]=(t[n>>2]|0)+-1,t[f>>2]|0):0)t[l>>2]=(t[l>>2]|0)+1;r=r+1|0}}else{r=0;while(1){if((r|0)==64)break e;if(t[A+8+(r*20|0)+16>>2]|0?(qn(A,r),t[n>>2]=(t[n>>2]|0)+-1,t[f>>2]|0):0)t[l>>2]=(t[l>>2]|0)+1;r=r+1|0}}}while(0);return}function Hn(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;if(!A)ge(138879,138529,194,138537);i=t[A+4>>2]|0;if((i|0)<=-1)ge(138549,138529,195,138537);if(!r)ge(138821,138529,196,138537);l=e+1952|0;t[l>>2]=(t[l>>2]|0)+1;e:do{if((i|0)>0){l=0;i=0;while(1){if((l|0)==64)break e;a=A+8+(l*20|0)+16|0;if((t[a>>2]|0)!=0?(rf(r,A+8+(l*20|0)|0)|0)!=0:0){n=Hn(e,t[a>>2]|0,r)|0;if(!i)i=n;else{a=i;while(1){f=t[a>>2]|0;if(!f)break;else a=f}t[a>>2]=n}}l=l+1|0}}else{n=0;i=0;while(1){if((n|0)==64)break e;a=A+8+(n*20|0)|0;if((t[A+8+(n*20|0)+16>>2]|0)!=0?(rf(r,a)|0)!=0:0)i=Mn(i,a)|0;n=n+1|0}}}while(0);return i|0}function Pn(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+64|0;c=w+52|0;o=w+32|0;u=w+16|0;b=w;t[c>>2]=0;if(!((A|0)!=0&(i|0)!=0))ge(138735,138529,247,138563);if((a|0)>-1?(s=t[i>>2]|0,(t[s+4>>2]|0)>=(a|0)):0){n=0;while(1){if((n|0)>=2)break;if((t[A+(n<<2)>>2]|0)>(t[A+(n+2<<2)>>2]|0)){f=8;break}else n=n+1|0}if((f|0)==8)ge(138610,138529,250,138563);l=e+1912|0;n=e+1908|0;f=t[n>>2]|0;if(t[l>>2]|0){k=f|0?e+1924|0:e+1916|0;t[k>>2]=(t[k>>2]|0)+1}if(!f){k=e+1964|0;t[k>>2]=(t[k>>2]|0)+1}if(!(Xn(e,A,r,s,c,a)|0))n=0;else{if(t[l>>2]|0){k=t[n>>2]|0?e+1948|0:e+1944|0;t[k>>2]=(t[k>>2]|0)+1}n=Sn(e)|0;k=e+1976|0;t[k>>2]=(t[k>>2]|0)+1;k=t[i>>2]|0;t[n+4>>2]=(t[k+4>>2]|0)+1;Tn(u,k);t[o>>2]=t[u>>2];t[o+4>>2]=t[u+4>>2];t[o+8>>2]=t[u+8>>2];t[o+12>>2]=t[u+12>>2];k=o+16|0;t[k>>2]=t[i>>2];_n(e,o,n,0)|0;Tn(b,t[c>>2]|0);t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];t[k>>2]=t[c>>2];_n(e,o,n,0)|0;t[i>>2]=n;n=e+1980|0;t[n>>2]=(t[n>>2]|0)+2;n=1}h=w;return n|0}ge(138575,138529,248,138563);return 0}function Xn(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+80|0;o=k+52|0;u=k+48|0;b=k+32|0;w=k+16|0;c=k;t[u>>2]=0;if(!((A|0)!=0&(i|0)!=0&(a|0)!=0))ge(138653,138529,311,138667);if((n|0)>-1?(l=i+4|0,f=t[l>>2]|0,(f|0)>=(n|0)):0){if(t[e+1912>>2]|0){f=t[e+1908>>2]|0?e+1948|0:e+1944|0;t[f>>2]=(t[f>>2]|0)+1;f=t[l>>2]|0}do{if((f|0)>(n|0)){l=On(A,i)|0;f=i+8+(l*20|0)+16|0;l=i+8+(l*20|0)|0;if(!(Xn(e,A,r,t[f>>2]|0,u,n)|0)){Af(b,A,l);t[l>>2]=t[b>>2];t[l+4>>2]=t[b+4>>2];t[l+8>>2]=t[b+8>>2];t[l+12>>2]=t[b+12>>2];s=0;break}else{Tn(w,t[f>>2]|0);t[l>>2]=t[w>>2];t[l+4>>2]=t[w+4>>2];t[l+8>>2]=t[w+8>>2];t[l+12>>2]=t[w+12>>2];s=t[u>>2]|0;t[o+16>>2]=s;Tn(c,s);t[o>>2]=t[c>>2];t[o+4>>2]=t[c+4>>2];t[o+8>>2]=t[c+8>>2];t[o+12>>2]=t[c+12>>2];s=e+1980|0;t[s>>2]=(t[s>>2]|0)+1;s=_n(e,o,i,a)|0;break}}else if((f|0)==(n|0)){t[o>>2]=t[A>>2];t[o+4>>2]=t[A+4>>2];t[o+8>>2]=t[A+8>>2];t[o+12>>2]=t[A+12>>2];t[o+16>>2]=r;s=e+1980|0;t[s>>2]=(t[s>>2]|0)+1;s=_n(e,o,i,a)|0;break}else ge(138712,138529,341,138667)}while(0);h=k;return s|0}ge(138680,138529,312,138667);return 0}function Sn(e){e=e|0;e=e+1968|0;t[e>>2]=(t[e>>2]|0)+1;e=Z2(1288)|0;jn(e);return e|0}function jn(e){e=e|0;var A=0;t[e>>2]=0;t[e+4>>2]=-1;A=0;while(1){if((A|0)==64)break;Un(e+8+(A*20|0)|0);A=A+1|0}return}function Un(e){e=e|0;Kn(e);t[e+16>>2]=0;return}function Tn(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+32|0;n=l+16|0;f=l;if(!A)ge(138879,138718,99,138725);Kn(n);r=1;a=0;while(1){if((a|0)==64)break;do{if(t[A+8+(a*20|0)+16>>2]|0){i=A+8+(a*20|0)|0;if(!r){Af(f,n,i);t[n>>2]=t[f>>2];t[n+4>>2]=t[f+4>>2];t[n+8>>2]=t[f+8>>2];t[n+12>>2]=t[f+12>>2];r=0;break}else{t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];t[n+8>>2]=t[i+8>>2];t[n+12>>2]=t[i+12>>2];r=0;break}}}while(0);a=a+1|0}t[e>>2]=t[n>>2];t[e+4>>2]=t[n+4>>2];t[e+8>>2]=t[n+8>>2];t[e+12>>2]=t[n+12>>2];h=l;return}function On(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;c=h;h=h+32|0;l=c+16|0;s=c;if(!((e|0)!=0&(A|0)!=0))ge(138735,138718,125,138742);r=0;i=0;a=0;n=1;f=0;while(1){if((f|0)==64)break;if(t[A+8+(f*20|0)+16>>2]|0){u=A+8+(f*20|0)|0;w=ef(u)|0;Af(s,e,u);t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];u=(ef(l)|0)-w|0;o=(n|0)!=0|(u|0)<(a|0);b=o|(w|0)<(i|0)&(u|0)==(a|0);r=b?f:r;i=b?w:i;a=b?u:a;n=o?0:n}f=f+1|0}h=c;return r|0}function _n(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;if(!A)ge(138901,138718,167,138753);if(!r)ge(138879,138718,168,138753);do{if((t[r>>2]|0)<64){e=0;while(1){if((e|0)>=64){i=10;break}if(!(t[r+8+(e*20|0)+16>>2]|0)){i=8;break}e=e+1|0}if((i|0)==8){a=r+8+(e*20|0)|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];t[a+16>>2]=t[A+16>>2];a=0;n=r;break}else if((i|0)==10)ge(138763,138718,178,138753)}else{if(t[e+1912>>2]|0){f=t[e+1908>>2]|0?e+1948|0:e+1944|0;t[f>>2]=(t[f>>2]|0)+1}if(!i)ge(138776,138718,187,138753);else{af(e,r,A,i);a=1;n=(t[r+4>>2]|0)==0?e+1972|0:e+1976|0;break}}}while(0);t[n>>2]=(t[n>>2]|0)+1;return a|0}function qn(e,A){e=e|0;A=A|0;if(!((e|0)!=0&A>>>0<64))ge(138780,138718,201,138808);if(!(t[e+8+(A*20|0)+16>>2]|0))ge(139302,138718,202,138808);else{Un(e+8+(A*20|0)|0);t[e>>2]=(t[e>>2]|0)+-1;return}}function Kn(e){e=e|0;var A=0;A=0;while(1){if((A|0)==4)break;t[e+(A<<2)>>2]=0;A=A+1|0}return}function $n(e){e=e|0;var A=0,r=0,i=0;i=h;h=h+16|0;r=i;t[r>>2]=1;t[r+8>>2]=-1;A=1;while(1){if((A|0)==2)break;t[r+(A+2<<2)>>2]=0;t[r+(A<<2)>>2]=0;A=A+1|0}t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];h=i;return}function ef(e){e=e|0;var A=0,r=0,i=0;if(!e)ge(138821,138823,128,138835);e:do{if((t[e>>2]|0)>(t[e+8>>2]|0))A=0;else{A=1;r=0;while(1){if((r|0)==2)break e;i=P(t[e+(r+2<<2)>>2]|0,A)|0;A=i-(t[e+(r<<2)>>2]|0)|0;r=r+1|0}}}while(0);return A|0}function Af(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0;n=h;h=h+16|0;a=n;if(!((A|0)!=0&(r|0)!=0))ge(138844,138823,195,138852);do{if((t[A>>2]|0)>(t[A+8>>2]|0)){t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2]}else{if((t[r>>2]|0)>(t[r+8>>2]|0)){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];break}else i=0;while(1){if((i|0)==2)break;s=t[A+(i<<2)>>2]|0;f=t[r+(i<<2)>>2]|0;t[a+(i<<2)>>2]=(s|0)<(f|0)?s:f;f=i+2|0;s=t[A+(f<<2)>>2]|0;l=t[r+(f<<2)>>2]|0;t[a+(f<<2)>>2]=(s|0)>(l|0)?s:l;i=i+1|0}t[e>>2]=t[a>>2];t[e+4>>2]=t[a+4>>2];t[e+8>>2]=t[a+8>>2];t[e+12>>2]=t[a+12>>2]}}while(0);h=n;return}function rf(e,A){e=e|0;A=A|0;var r=0,i=0;if((e|0)!=0&(A|0)!=0)r=0;else ge(138864,138823,216,138871);while(1){if((r|0)>=2){r=1;break}i=r+2|0;if((t[e+(r<<2)>>2]|0)>(t[A+(i<<2)>>2]|0)){r=0;break}if((t[A+(r<<2)>>2]|0)>(t[e+(i<<2)>>2]|0)){r=0;break}else r=r+1|0}return r|0}function af(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;if(!A)ge(138879,138881,40,138891);if(!r)ge(138901,138881,41,138891);l=e+1912|0;if(t[l>>2]|0){f=t[e+1908>>2]|0?e+1932|0:e+1928|0;t[f>>2]=(t[f>>2]|0)+1}n=A+4|0;f=t[n>>2]|0;tf(e,A,r);r=e+1324|0;nf(e);a=ef(e+1852|0)|0;a=(ef(e+1868|0)|0)+a|0;if(t[l>>2]|0?(a|0)!=0&(t[e+1908>>2]|0)==0:0){l=e+1960|0;s[l>>2]=+((t[e+1320>>2]|0)>>>0)/+(a|0)+ +s[l>>2]}l=Sn(e)|0;t[i>>2]=l;t[n>>2]=f;t[l+4>>2]=f;ff(e,A,l,r);if(((t[t[i>>2]>>2]|0)+(t[A>>2]|0)|0)==65)return;else ge(138903,138881,86,138891)}function tf(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0;f=h;h=h+16|0;n=f;if(!A)ge(138879,138881,106,139290);if(!r)ge(138901,138881,107,139290);else i=0;while(1){if((i|0)>=64)break;if(!(t[A+8+(i*20|0)+16>>2]|0)){a=7;break}s=A+8+(i*20|0)|0;l=e+4+(i*20|0)|0;t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];t[l+16>>2]=t[s+16>>2];i=i+1|0}if((a|0)==7)ge(139302,138881,111,139290);i=e+4|0;s=e+1284|0;t[s>>2]=t[r>>2];t[s+4>>2]=t[r+4>>2];t[s+8>>2]=t[r+8>>2];t[s+12>>2]=t[r+12>>2];t[s+16>>2]=t[r+16>>2];r=e+1304|0;t[r>>2]=t[i>>2];t[r+4>>2]=t[i+4>>2];t[r+8>>2]=t[i+8>>2];t[r+12>>2]=t[i+12>>2];i=1;while(1){if((i|0)==65)break;Af(n,r,e+4+(i*20|0)|0);t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2];i=i+1|0}t[e+1320>>2]=ef(r)|0;jn(A);h=f;return}function nf(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;m=h;h=h+48|0;l=m+32|0;c=m+16|0;o=m;lf(e);sf(e);k=e+1844|0;v=e+1848|0;g=e+1892|0;u=e+1852|0;b=e+1884|0;w=e+1868|0;s=e+1888|0;a=0;i=0;while(1){r=t[k>>2]|0;A=t[v>>2]|0;if((A+r|0)>=65)break;f=65-(t[g>>2]|0)|0;if((r|0)<(f|0)&(A|0)<(f|0)){n=-1;f=0}else{d=12;break}while(1){if((f|0)==65)break;if(!(t[e+1584+(f<<2)>>2]|0)){p=e+4+(f*20|0)|0;Af(c,p,u);t[l>>2]=t[c>>2];t[l+4>>2]=t[c+4>>2];t[l+8>>2]=t[c+8>>2];t[l+12>>2]=t[c+12>>2];A=ef(l)|0;r=t[b>>2]|0;Af(o,p,w);t[l>>2]=t[o>>2];t[l+4>>2]=t[o+4>>2];t[l+8>>2]=t[o+8>>2];t[l+12>>2]=t[o+12>>2];p=ef(l)|0;A=p-(t[s>>2]|0)+(r-A)|0;r=(A|0)>-1;A=r?A:0-A|0;r=(r^1)&1;if((A|0)<=(n|0))if((A|0)==(n|0)){p=(t[e+1844+(r<<2)>>2]|0)<(t[e+1844+(a<<2)>>2]|0);A=n;r=p?r:a;i=p?f:i}else{A=n;r=a}else i=f}else{A=n;r=a}n=A;f=f+1|0;a=r}cf(e,i,a)}if((d|0)==12){A=(r|0)>=(65-(t[g>>2]|0)|0)&1;r=0;while(1){if((r|0)==65)break;if(!(t[e+1584+(r<<2)>>2]|0))cf(e,r,A);r=r+1|0}r=t[k>>2]|0;A=t[v>>2]|0}if((A+r|0)!=65)ge(139046,138881,210,139132);p=t[g>>2]|0;if((r|0)<(p|0)|(A|0)<(p|0))ge(139143,138881,212,139132);else{h=m;return}}function ff(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;if(!A)ge(138879,138881,297,138943);if(!r)ge(138953,138881,298,138943);if(!i)ge(138955,138881,299,138943);else a=0;while(1){if((a|0)>=65){i=14;break}i=t[e+1324+(a<<2)>>2]|0;if(i>>>0>=2){i=9;break}switch(i|0){case 0:{_n(e,e+4+(a*20|0)|0,A,0)|0;break}case 1:{_n(e,e+4+(a*20|0)|0,r,0)|0;break}default:{}}a=a+1|0}if((i|0)==9)ge(138957,138881,303,138943);else if((i|0)==14)return}function lf(e){e=e|0;var A=0,r=0,i=0,a=0;r=h;h=h+16|0;i=r;t[e+1848>>2]=0;t[e+1844>>2]=0;A=e+1852|0;a=e+1868|0;$n(i);t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];t[a+8>>2]=t[i+8>>2];t[a+12>>2]=t[i+12>>2];t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[A+12>>2]=t[i+12>>2];t[e+1888>>2]=0;t[e+1884>>2]=0;A=0;while(1){if((A|0)==65)break;t[e+1584+(A<<2)>>2]=0;t[e+1324+(A<<2)>>2]=-1;A=A+1|0}h=r;return}function sf(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;b=h;h=h+304|0;c=b+32|0;o=b+16|0;u=b;A=0;while(1){if((A|0)==65)break;t[c+(A<<2)>>2]=ef(e+4+(A*20|0)|0)|0;A=A+1|0}A=0;r=0;i=0;n=0;e:while(1){if((n|0)==64)break;l=n+1|0;s=e+4+(n*20|0)|0;f=c+(n<<2)|0;a=l;while(1){if((a|0)==65){n=l;continue e}Af(u,s,e+4+(a*20|0)|0);t[o>>2]=t[u>>2];t[o+4>>2]=t[u+4>>2];t[o+8>>2]=t[u+8>>2];t[o+12>>2]=t[u+12>>2];w=ef(o)|0;w=w-(t[f>>2]|0)-(t[c+(a<<2)>>2]|0)|0;k=w>>>0>i>>>0;d=k?a:A;a=a+1|0;A=d;r=k?n:r;i=k?w:i}}cf(e,r,0);cf(e,A,1);h=b;return}function cf(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;i=e+1584+(A<<2)|0;if(t[i>>2]|0)ge(139246,138881,257,139281);t[e+1324+(A<<2)>>2]=r;t[i>>2]=1;n=e+1844+(r<<2)|0;a=e+1852+(r<<4)|0;i=e+4+(A*20|0)|0;if(!(t[n>>2]|0)){t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];t[a+8>>2]=t[i+8>>2];t[a+12>>2]=t[i+12>>2]}else{Af(f,i,a);t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2]}t[e+1884+(r<<2)>>2]=ef(a)|0;t[n>>2]=(t[n>>2]|0)+1;h=l;return}function of(){var e=0,A=0,r=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+1200|0;d=g+800|0;r=g;t[47397]=0;t[47398]=-2;A=d;l=200;u=r;w=0;k=0;b=d;e:while(1){a[b>>1]=w;if((A+(l<<1)+-2|0)>>>0>b>>>0)c=l;else{o=b-A>>1;e=o+1|0;if(l>>>0>9999){v=95;break}c=l<<1;c=c>>>0<1e4?c:1e4;f=Z2(c*6|3)|0;if(f){Q6(f|0,A|0,e<<1|0)|0;l=f+(c>>>1<<2)|0;Q6(l|0,u|0,e<<2|0)|0;if((A|0)==(d|0)){e=0;A=f}else{G2(A);e=0;A=f}}else{e=4;l=u}s=(e|0)==0;f=A+(o<<1)|0;switch((s?(A+(c<<1)+-2|0)>>>0>f>>>0?0:9:e)&15){case 9:{e=1;v=96;break e}case 4:{v=95;break e}case 0:{r=s?l+(o<<2)|0:r;u=l;b=s?f:b;break}default:{e=0;break e}}}if((w|0)==31){e=0;v=96;break}e=a[65534+(w<<1)>>1]|0;s=e<<16>>16;do{if(e<<16>>16!=-82){f=t[47398]|0;if((f|0)==-2){f=Il()|0;t[47398]=f}if((f|0)>=1)if(f>>>0<296)l=n[139321+f>>0]|0;else l=2;else{t[47398]=0;l=0}f=l+s|0;if(f>>>0<=271?(l|0)==(i[139617+f>>0]|0):0){w=i[139889+f>>0]|0;e=w<<24>>24;if(w<<24>>24<1){f=0-e|0;v=23;break}else{t[47398]=-2;r=r+4|0;t[r>>2]=t[47399];s=(k|0)==0?0:k+-1|0;f=b;break}}else v=22}else v=22}while(0);if((v|0)==22){v=0;w=i[140161+w>>0]|0;f=w&255;if(!(w<<24>>24)){f=t[47398]|0;A:do{switch(k|0){case 0:{t[47397]=(t[47397]|0)+1;zf(143761);f=b;break}case 3:if((f|0)<1)if(!f){e=1;v=96;break e}else{f=b;break A}else{t[47398]=-2;f=b;break A}default:f=b}}while(0);while(1){if(e<<16>>16==8)break;if((f|0)==(A|0)){e=1;v=96;break e}e=f+-2|0;r=r+-4|0;f=e;e=a[65534+(a[e>>1]<<1)>>1]|0}r=r+4|0;t[r>>2]=t[47399];e=1;s=3}else v=23}do{if((v|0)==23){v=0;s=n[140277+f>>0]|0;e=t[r+(1-s<<2)>>2]|0;do{switch(f|0){case 4:{v=26;break e}case 2:{t[47400]=uf(t[r+-4>>2]|0,2)|0;break}case 3:{t[47400]=uf(t[r+-4>>2]|0,1)|0;break}case 5:{e=hf()|0;break}case 8:{wf(t[47401]|0);break}case 9:{kf(t[r>>2]|0);break}case 18:{df(t[r>>2]|0);break}case 19:{vf();break}case 20:{df(t[r>>2]|0);break}case 21:{vf();break}case 22:{df(t[r>>2]|0);break}case 23:{vf();break}case 24:{df(t[r>>2]|0);break}case 25:{vf();break}case 26:{df(t[r>>2]|0);break}case 27:{vf();break}case 28:{df(t[r>>2]|0);break}case 29:{vf();break}case 30:{df(t[r>>2]|0);break}case 31:{vf();break}case 32:{df(t[r>>2]|0);break}case 33:{vf();break}case 34:{e=t[r+-4>>2]|0;break}case 35:{e=t[r>>2]|0;break}case 38:{e=t[47401]|0;l=t[e+4>>2]|0;if(l>>>0>=(t[e+8>>2]|0)>>>0){ow(e,1)|0;l=t[47401]|0;e=l;l=t[l+4>>2]|0}i[l>>0]=0;w=t[e>>2]|0;t[e+4>>2]=w;if(gf(w)|0){v=51;break e}t[(t[r>>2]|0)+80>>2]=t[47402];e=Uh(56032,t[4580]|0)|0;t[(t[r>>2]|0)+84>>2]=e;t[47402]=t[r>>2];t[(t[r>>2]|0)+108>>2]=t[t[47403]>>2];e=t[r>>2]|0;break}case 39:{e=t[47401]|0;l=t[e+4>>2]|0;if(l>>>0>=(t[e+8>>2]|0)>>>0){ow(e,1)|0;l=t[47401]|0;e=l;l=t[l+4>>2]|0}i[l>>0]=0;w=t[e>>2]|0;t[e+4>>2]=w;if(gf(w)|0){v=56;break e}e=t[47402]|0;t[47402]=t[e+80>>2];break}case 40:{e=t[r>>2]|0;break}case 41:{e=t[r+-4>>2]|0;break}case 42:{e=t[r+-4>>2]|0;break}case 43:{e=t[r+-4>>2]|0;break}case 44:{e=t[r+-4>>2]|0;break}case 45:{e=t[r+-4>>2]|0;break}case 48:{e=t[r>>2]|0;break}case 49:{e=t[r>>2]|0;break}case 50:{i[(t[r+-8>>2]|0)+12>>0]=1;e=t[r>>2]|0;break}case 51:{mf();break}case 52:{e=pf()|0;break}case 53:{e=t[r>>2]|0;break}case 54:{e=t[r>>2]|0;break}case 55:{e=(t[r+-8>>2]|0)+100|0;i[e>>0]=i[e>>0]|1;e=t[r>>2]|0;break}case 56:{Ef(t[r+-4>>2]|0,t[r>>2]|0,1);break}case 57:{e=t[r+-12>>2]|0;break}case 58:{Ef(t[r+-4>>2]|0,t[r>>2]|0,2);break}case 59:{e=t[r+-12>>2]|0;break}case 60:{Ef(t[r+-4>>2]|0,t[r>>2]|0,3);break}case 61:{e=t[r+-12>>2]|0;break}case 62:{Ef(t[r>>2]|0,hf()|0,2);break}case 63:{e=t[r+-8>>2]|0;break}case 64:{e=t[r+-4>>2]|0;break}case 65:{e=t[r>>2]|0;break}default:{}}}while(0);l=0-s|0;w=r+(l<<2)|0;l=b+(l<<1)|0;r=w+4|0;t[w+4>>2]=e;e=(n[140449+f>>0]|0)+-41|0;w=a[l>>1]|0;f=w+(a[65766+(e<<1)>>1]|0)|0;if(f>>>0<272?(i[139617+f>>0]|0)==(w|0):0){e=i[139889+f>>0]|0;s=k;f=l;break}e=i[140519+e>>0]|0;s=k;f=l}}while(0);l=c;w=e;k=s;b=f+2|0}if((v|0)==26){bf();e=1;v=96}else if((v|0)==51){zf(140347);bf();e=1;v=96}else if((v|0)==56){zf(140398);bf();e=1;v=96}else if((v|0)==95){zf(140558);e=2;v=96}if((v|0)==96)if((A|0)!=(d|0))G2(A);h=g;return e|0}function uf(e,A){e=e|0;A=A|0;var r=0;r=KF(8)|0;i[r+4>>0]=A;t[r>>2]=e;return r|0}function bf(){var e=0,A=0;e=t[47402]|0;A=t[47400]|0;if(A|0){at(A,1);t[47400]=0}t[14021]=67;while(1){if(!e)break;A=t[e+80>>2]|0;If(e);e=A}t[14021]=56;t[14030]=68;A=t[47405]|0;L5[t[A>>2]&63](A,0,64)|0;t[14030]=56;t[14039]=69;A=t[47406]|0;L5[t[A>>2]&63](A,0,64)|0;t[14039]=56;Lf();return}function hf(){var e=0,A=0,r=0,i=0,n=0,f=0;r=t[47406]|0;i=KF(40)|0;if(Oh(t[47405]|0)|0)kf(0);e=Oh(r)|0;a[i+4>>1]=e;e:do{if(!e)e=r;else{t[i>>2]=KF(e*24|0)|0;e=0;A=L5[t[r>>2]&63](r,0,128)|0;while(1){if(!A){e=r;break e}n=(t[i>>2]|0)+(e*24|0)|0;f=A+8|0;t[n>>2]=t[f>>2];t[n+4>>2]=t[f+4>>2];t[n+8>>2]=t[f+8>>2];t[n+12>>2]=t[f+12>>2];t[n+16>>2]=t[f+16>>2];t[n+20>>2]=t[f+20>>2];e=e+1|0;A=L5[t[r>>2]&63](r,A,8)|0}}}while(0);L5[t[e>>2]&63](r,0,64)|0;return i|0}function wf(e){e=e|0;var A=0,r=0,a=0;r=KF(64)|0;a=e+4|0;A=t[a>>2]|0;if(A>>>0>=(t[e+8>>2]|0)>>>0){ow(e,1)|0;A=t[a>>2]|0}i[A>>0]=0;e=t[e>>2]|0;t[a>>2]=e;t[r+8>>2]=o3(e)|0;t[r+12>>2]=t[t[47403]>>2];a=t[47405]|0;L5[t[a>>2]&63](a,r,1)|0;return}function kf(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0;l=KF(32)|0;s=t[47405]|0;A=Oh(s)|0;c=l+8|0;i[l+14>>0]=e;e:do{if(!A){t[c>>2]=KF(56)|0;a[l+12>>1]=1;f=o3(195059)|0;c=t[c>>2]|0;t[c>>2]=f;t[c+4>>2]=t[t[47403]>>2]}else{a[l+12>>1]=A;t[c>>2]=KF(A*56|0)|0;e=0;A=Sh(s)|0;while(1){if(!A)break e;r=(t[c>>2]|0)+(e*56|0)|0;n=A+8|0;f=r+56|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(f|0));e=e+1|0;A=t[A>>2]|0}}}while(0);L5[t[s>>2]&63](s,0,64)|0;c=t[47406]|0;L5[t[c>>2]&63](c,l,1)|0;return}function df(e){e=e|0;var A=0,r=0.0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+32|0;n=l;f=KF(8)|0;a=t[t[47403]>>2]|0;t[n>>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[n+16>>2]=t[e+16>>2];t[n+20>>2]=t[e+20>>2];t[n+24>>2]=t[e+24>>2];t[n+28>>2]=t[e+28>>2];if(a|0){e=n+4|0;if((t[e>>2]|0)==0?(A=t[a+4>>2]|0,A|0):0)t[e>>2]=A;e=n+16|0;if(+c[e>>3]<0.0?(r=+c[a+16>>3],r>=0.0):0)c[e>>3]=r;if((t[n>>2]|0)==0?(i=t[a>>2]|0,i|0):0)t[n>>2]=i;e=t[a+24>>2]&127;if(e|0){a=n+24|0;i=t[a>>2]|0;t[a>>2]=i&127|e|i&-128}}a=t[(t[47404]|0)+144>>2]|0;t[f>>2]=L5[t[a>>2]&63](a,n,1)|0;t[f+4>>2]=t[47403];t[47403]=f;h=l;return}function vf(){var e=0,A=0;A=t[47403]|0;e=t[A+4>>2]|0;G2(A);t[47403]=e;return}function gf(e){e=e|0;var A=0;while(1){A=i[e>>0]|0;if(!(A<<24>>24)){e=0;break}if(A<<24>>24==32)e=e+1|0;else{e=1;break}}return e|0}function mf(){var e=0,A=0,r=0;r=Uh(56068,t[4580]|0)|0;e=t[47402]|0;A=KF(16)|0;t[A+8>>2]=r;if(i[e+112>>0]&2)i[A+12>>0]=1;r=t[e+84>>2]|0;L5[t[r>>2]&63](r,A,1)|0;return}function pf(){var e=0;e=t[(t[47402]|0)+84>>2]|0;return L5[t[e>>2]&63](e,0,256)|0}function Ef(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;n=KF(16)|0;a=t[47402]|0;f=t[a+84>>2]|0;f=t[(L5[t[f>>2]&63](f,0,256)|0)+8>>2]|0;t[n+8>>2]=e;L5[t[f>>2]&63](f,n,1)|0;i[e+92>>0]=r;if(i[a+112>>0]&1)i[e+100>>0]=1;t[e+88>>2]=A;return}function Bf(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function yf(e,A,r){e=e|0;A=A|0;r=r|0;Ph(t[A+8>>2]|0)|0;G2(A);return}function Cf(e,A,r){e=e|0;A=A|0;r=r|0;Qf(t[A+8>>2]|0);G2(A);return}function If(e){e=e|0;Ph(t[e+84>>2]|0)|0;At(e);G2(e);return}function Zf(e,A,r){e=e|0;A=A|0;r=r|0;G2(t[A+8>>2]|0);G2(A);return}function Gf(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0;n=A+12|0;e=a[n>>1]|0;if(e<<16>>16){f=A+8|0;r=0;i=t[f>>2]|0;while(1){if((r|0)>=(e<<16>>16|0))break;G2(t[i>>2]|0);r=r+1|0;i=i+56|0;e=a[n>>1]|0}G2(t[f>>2]|0)}G2(A);return}function Lf(){var e=0,A=0;e=t[47403]|0;while(1){A=t[e+4>>2]|0;if(!A)break;G2(e);e=A}return}function Qf(e){e=e|0;var A=0;A=e+88|0;switch(i[e+92>>0]|0){case 1:{If(t[A>>2]|0);break}case 2:{rt(t[A>>2]|0);break}default:{}}At(e);G2(e);return}function Df(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;a=h;h=h+160|0;i=a+8|0;n=a;t[n>>2]=0;t[n+4>>2]=0;t[47403]=n;t[47402]=0;t[47400]=0;t[47404]=t[(t[(t[r+52>>2]|0)+16>>2]|0)+144>>2];t[47405]=Uh(56104,t[4580]|0)|0;t[47406]=Uh(56140,t[4580]|0)|0;cw(i,128,a+24|0);t[47401]=i;if(!(Ff(e,i,r)|0)){of()|0;t[A>>2]=Cl()|0;e=t[47400]|0}else{t[A>>2]=2;e=0}Ph(t[47405]|0)|0;Ph(t[47406]|0)|0;t[47405]=0;t[47406]=0;t[47403]=0;hw(i);h=a;return e|0}function zf(e){e=e|0;var A=0,r=0,a=0;r=h;h=h+16|0;A=r;if(!(i[189661]|0)){i[189661]=1;a=Wf()|0;t[A>>2]=e;t[A+4>>2]=a;nw(1,140575,A)|0;Yf()}h=r;return}function Wf(){return ho(t[47407]|0)|0}function Yf(){var e=0,A=0,r=0,a=0;a=h;h=h+16|0;r=a;e=t[47410]|0;t[e+4>>2]=t[e>>2];A=t[47419]|0;if((A|0)>0){uw(e,t[47417]|0,A)|0;e=t[47410]|0}uw(e,t[47416]|0,t[47418]|0)|0;A=t[47410]|0;e=t[A+4>>2]|0;if(e>>>0>=(t[A+8>>2]|0)>>>0){ow(A,1)|0;e=t[47410]|0;A=e;e=t[e+4>>2]|0}t[A+4>>2]=e+1;i[e>>0]=0;e=t[47410]|0;A=t[e>>2]|0;t[e+4>>2]=A;t[r>>2]=A;nw(3,140591,r)|0;h=a;return}function Ff(e,A,r){e=e|0;A=A|0;r=r|0;t[47410]=A;cw(189644,128,0);t[47408]=e;i[189663]=0;i[189660]=0;i[189661]=0;t[47418]=0;t[47419]=0;i[189662]=1;r=r+52|0;A=xs(RF(n[(t[(t[r>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;t[47407]=A;Ao(A,t[(t[(t[r>>2]|0)+16>>2]|0)+144>>2]|0);ro(t[47407]|0,70,27);io(t[47407]|0,71);return 0}function Mf(e,A,r){e=e|0;A=A|0;r=r|0;do{if(!(N1(A,140603)|0)){t[47399]=xf(r)|0;i[189662]=0;t[47409]=286}else{if(N1(A,140609)|0?N1(A,140612)|0:0){if(!(N1(A,140615)|0)){i[189662]=1;t[47399]=Jf(r)|0;t[47409]=287;break}if(!(N1(A,140623)|0)){t[47399]=Hf(e,r,0)|0;t[47409]=288;break}if(!(N1(A,140628)|0)){t[47399]=Hf(e,0,1)|0;t[47409]=290;break}if(!(N1(A,140644)|0)){t[47399]=Hf(e,0,32)|0;t[47409]=295;break}if(!(N1(A,140630)|0)){t[47399]=Hf(e,0,4)|0;t[47409]=291;break}if(!(N1(A,140632)|0)){t[47399]=Hf(e,0,64)|0;t[47409]=292;break}if(!(N1(A,140634)|0)){t[47399]=Hf(e,0,2)|0;t[47409]=289;break}if(!(N1(A,140636)|0)){t[47399]=Hf(e,0,8)|0;t[47409]=293;break}if(!(N1(A,140640)|0)){t[47399]=Hf(e,0,16)|0;t[47409]=294;break}if(!(N1(A,140646)|0)){Pf(r);t[47409]=283;break}if(!(N1(A,140649)|0)){t[47409]=277;break}if(!(N1(A,140652)|0)){t[47409]=280;break}if(!(N1(A,140655)|0)){t[47399]=Xf(r)|0;t[47409]=285;break}if(!(N1(A,140618)|0)){t[47409]=262;break}else{Rf(A);break}}i[189662]=0;t[47409]=260}}while(0);return}function Vf(e,A){e=e|0;A=A|0;do{if(!(N1(A,140603)|0)){t[47409]=264;i[189662]=1}else{if(N1(A,140609)|0?N1(A,140612)|0:0){if(!(N1(A,140615)|0)){t[47409]=265;i[189662]=0;break}if(!(N1(A,140618)|0)){t[47409]=263;break}if(!(N1(A,140623)|0)){t[47409]=266;break}if(!(N1(A,140628)|0)){t[47409]=270;break}if(!(N1(A,140630)|0)){t[47409]=271;break}if(!(N1(A,140632)|0)){t[47409]=272;break}if(!(N1(A,140634)|0)){t[47409]=269;break}if(!(N1(A,140636)|0)){t[47409]=273;break}if(!(N1(A,140640)|0)){t[47409]=274;break}if(!(N1(A,140644)|0)){t[47409]=275;break}if(!(N1(A,140646)|0)){t[47409]=(t[47409]|0)==283?282:258;break}if(!(N1(A,140649)|0)){t[47409]=(t[47409]|0)==277?276:278;break}if(!(N1(A,140652)|0)){t[47409]=(t[47409]|0)==280?279:281;break}if(!(N1(A,140655)|0)){t[47409]=(t[47409]|0)==285?284:259;break}else{Rf(A);break}}t[47409]=261}}while(0);return}function Nf(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;if(i[189662]|0){e=0;while(1){if(!r)break;f=A+1|0;n=i[A>>0]|0;if((n&255)>31){A=t[47410]|0;a=t[A+4>>2]|0;if(a>>>0>=(t[A+8>>2]|0)>>>0){ow(A,1)|0;a=t[47410]|0;A=a;a=t[a+4>>2]|0}t[A+4>>2]=a+1;i[a>>0]=n;e=e+1|0}A=f;r=r+-1|0}if(e|0)t[47409]=267}return}function Rf(e){e=e|0;var A=0,r=0,a=0;A=h;h=h+16|0;r=A;t[47409]=268;i[189661]=1;a=Wf()|0;t[r>>2]=e;t[r+4>>2]=a;nw(1,140659,r)|0;h=A;return}function xf(e){e=e|0;var A=0;A=KF(120)|0;t[A+100>>2]=-1;i[A+88>>0]=-1;Sf(A,56400,22,e,141611);return A|0}function Jf(e){e=e|0;var A=0;A=KF(104)|0;a[A+80>>1]=1;a[A+82>>1]=1;Sf(A,56224,22,e,140965);return A|0}function Hf(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=h;h=h+32|0;i=a;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;t[i+28>>2]=0;c[i+16>>3]=-1.0;t[i+24>>2]=r&127;if(A|0)Sf(i,56200,3,A,140816);r=t[e+144>>2]|0;i=L5[t[r>>2]&63](r,i,1)|0;h=a;return i|0}function Pf(e){e=e|0;t[47399]=0;Sf(189596,56192,1,e,140752);return}function Xf(e){e=e|0;var A=0;A=KF(40)|0;Sf(A,56176,2,e,140698);return A|0}function Sf(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b;o=b+8|0;while(1){c=t[a>>2]|0;if(!c)break;l=t[a+4>>2]|0;t[o>>2]=c;s=r8(o,A,r,8,104)|0;if(!s){t[u>>2]=c;t[u+4>>2]=f;nw(0,140704,u)|0;l=1}else{l=Z5[t[s+4>>2]&127](e,l)|0;l=(l|(n[189660]|0))&255}i[189660]=l;a=a+8|0}h=b;return}function jf(e,A){e=e|0;A=A|0;return N1(t[e>>2]|0,t[A>>2]|0)|0}function Uf(e,A){e=e|0;A=A|0;t[e+36>>2]=o3(A)|0;return 0}function Tf(e,A){e=e|0;A=A|0;t[e+32>>2]=o3(A)|0;return 0}function Of(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;a=(z4(i[A>>0]|0)|0)<<24>>24;switch(a|0){case 82:{r=A+1|0;if(!(N1(r,140763)|0)){t[e>>2]=114;r=0}else f=5;break}case 76:{f=6;break}default:{r=A+1|0;f=5}}do{if((f|0)==5)if(!(N1(r,140768)|0))f=6;else{if((a|0)!=67?(N1(r,140772)|0)==0:0){t[n>>2]=A;nw(0,140778,n)|0;r=1;break}t[e>>2]=110;r=0}}while(0);if((f|0)==6){t[e>>2]=108;r=0}h=l;return r|0}function _f(e,A){e=e|0;A=A|0;t[e+4>>2]=A;return 0}function qf(e,A){e=e|0;A=A|0;t[e>>2]=A;return 0}function Kf(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!($f(A,140845,0,255,r)|0)){c[e+16>>3]=+(t[r>>2]|0);e=0}else e=1;h=i;return e|0}function $f(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;c=h;h=h+48|0;s=c+24|0;l=c+8|0;f=c;o=c+36|0;n=n3(e,o,10)|0;do{if((t[o>>2]|0)!=(e|0)){if((n|0)>(i|0)){t[l>>2]=A;t[l+4>>2]=e;t[l+8>>2]=i;nw(0,140887,l)|0;e=1;break}if((n|0)<(r|0)){t[s>>2]=A;t[s+4>>2]=e;t[s+8>>2]=r;nw(0,140926,s)|0;e=1;break}else{t[a>>2]=n;e=0;break}}else{t[f>>2]=A;t[f+4>>2]=e;nw(0,140856,f)|0;e=1}}while(0);h=c;return e|0}function el(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;f=h;h=h+16|0;r=f;switch((z4(i[A>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(A+1|0,140768)|0)){e=e+36|0;a[e>>1]=a[e>>1]|4;e=0}else n=9;break}case 82:{if(!(N1(A+1|0,140763)|0)){e=e+36|0;a[e>>1]=a[e>>1]|2;e=0}else n=9;break}case 84:{if(!(N1(A+1|0,141563)|0)){e=e+36|0;a[e>>1]=a[e>>1]|6;e=0}else n=9;break}case 67:{if(!(N1(A+1|0,140772)|0))e=0;else n=9;break}default:n=9}if((n|0)==9){t[r>>2]=A;nw(0,141567,r)|0;e=1}h=f;return e|0}function Al(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;f=h;h=h+16|0;r=f;switch((z4(i[A>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(A+1|0,140768)|0)){e=e+36|0;a[e>>1]=a[e>>1]|512;e=0}else n=7;break}case 82:{if(!(N1(A+1|0,140763)|0)){e=e+36|0;a[e>>1]=a[e>>1]|256;e=0}else n=7;break}case 67:{if(!(N1(A+1|0,140772)|0))e=0;else n=7;break}default:n=7}if((n|0)==7){t[r>>2]=A;nw(0,141518,r)|0;e=1}h=f;return e|0}function rl(e,A){e=e|0;A=A|0;t[e+20>>2]=o3(A)|0;return 0}function il(e,A){e=e|0;A=A|0;var r=0,n=0;n=h;h=h+16|0;r=n;if(!($f(A,141511,0,255,r)|0)){i[e+33>>0]=t[r>>2];e=e+36|0;a[e>>1]=a[e>>1]|32;e=0}else e=1;h=n;return e|0}function al(e,A){e=e|0;A=A|0;var r=0,n=0;n=h;h=h+16|0;r=n;if(!($f(A,141499,0,255,r)|0)){i[e+34>>0]=t[r>>2];e=e+36|0;a[e>>1]=a[e>>1]|64;e=0}else e=1;h=n;return e|0}function tl(e,A){e=e|0;A=A|0;var r=0,n=0;n=h;h=h+16|0;r=n;if(!($f(A,141487,-128,127,r)|0)){i[e+32>>0]=t[r>>2];e=e+36|0;a[e>>1]=a[e>>1]|128;e=0}else e=1;h=n;return e|0}function nl(e,A){e=e|0;A=A|0;t[e+24>>2]=o3(A)|0;return 0}function fl(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;n=h;h=h+16|0;i=n;r=n+4|0;do{if(!($f(A,141442,0,65535,r)|0)){A=t[r>>2]|0;if(!A){nw(0,141450,i)|0;A=1;break}else{a[e+80>>1]=A;A=0;break}}else A=1}while(0);h=n;return A|0}function ll(e,A){e=e|0;A=A|0;var r=0,i=0,f=0;f=h;h=h+16|0;r=f;switch((z4(n[A>>0]|0)|0)<<24>>24|0){case 84:{if(!(N1(A+1|0,141391)|0)){e=e+36|0;a[e>>1]=a[e>>1]|1;e=0}else i=5;break}case 70:{if(!(N1(A+1|0,141395)|0))e=0;else i=5;break}default:i=5}if((i|0)==5){t[r>>2]=A;nw(0,141400,r)|0;e=1}h=f;return e|0}function sl(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!($f(A,141377,0,360,r)|0)){t[e+28>>2]=t[r>>2]&65535;e=0}else e=1;h=i;return e|0}function cl(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!($f(A,141370,0,65535,r)|0)){a[e+40>>1]=t[r>>2];e=0}else e=1;h=i;return e|0}function ol(e,A){e=e|0;A=A|0;t[e>>2]=o3(A)|0;return 0}function ul(e,A){e=e|0;A=A|0;t[e+16>>2]=o3(A)|0;return 0}function bl(e,A){e=e|0;A=A|0;t[e+4>>2]=o3(A)|0;return 0}function hl(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;n=h;h=h+16|0;i=n;r=n+4|0;do{if(!($f(A,141325,0,65535,r)|0)){A=t[r>>2]|0;if(!A){nw(0,141333,i)|0;A=1;break}else{a[e+82>>1]=A;A=0;break}}else A=1}while(0);h=n;return A|0}function wl(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;l=c;f=0;e:while(1){A:while(1){n=A+1|0;A=i[A>>0]|0;if(!(A<<24>>24))break e;A=A<<24>>24;r=(R1(A)|0)+-98|0;switch(r>>>1|r<<31|0){case 5:{s=5;break A}case 9:{r=2048;break A}case 8:{s=6;break A}case 0:{s=7;break A}default:{}}t[l>>2]=A;t[l+4>>2]=A;nw(0,141272,l)|0;A=n}if((s|0)==5){s=0;r=1024}else if((s|0)==6){s=0;r=4096}else if((s|0)==7){s=0;r=8192}A=n;f=f|r}if(f<<16>>16!=15360){s=e+36|0;a[s>>1]=a[s>>1]|f}h=c;return 0}function kl(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c+8|0;l=c;f=o3(A)|0;n=e+42|0;r=0;A=f;while(1){e=l3(A,141182)|0;if(!e)break;if(((z4(i[e>>0]|0)|0)&255|0)==82){A=e+1|0;if(!(N1(A,141185)|0)){a[n>>1]=a[n>>1]|4;e=r;A=0;r=e;continue}if(!(N1(A,141192)|0)){a[n>>1]=a[n>>1]|2;e=r;A=0;r=e;continue}else{t[l>>2]=e;nw(0,141198,l)|0;r=1;A=0;continue}}if(!(N1(e,141236)|0)){a[n>>1]=a[n>>1]&-385;e=r;A=0;r=e;continue}if(N1(e,141242)|0?N1(e,141252)|0:0){if(!(N1(e,141258)|0)){a[n>>1]=a[n>>1]|128;e=r;A=0;r=e;continue}if(!(N1(e,141265)|0)){a[n>>1]=a[n>>1]|256;e=r;A=0;r=e;continue}else{t[s>>2]=e;nw(0,141198,s)|0;r=1;A=0;continue}}a[n>>1]=a[n>>1]|32;e=r;A=0;r=e}G2(f);h=c;return r|0}function dl(e,A){e=e|0;A=A|0;t[e+8>>2]=o3(A)|0;return 0}function vl(e,A){e=e|0;A=A|0;t[e+12>>2]=o3(A)|0;return 0}function gl(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;f=h;h=h+16|0;r=f;switch((z4(i[A>>0]|0)|0)<<24>>24|0){case 66:{if(!(N1(A+1|0,141128)|0)){e=e+36|0;a[e>>1]=a[e>>1]|16;e=0}else n=7;break}case 84:{if(!(N1(A+1|0,141134)|0)){e=e+36|0;a[e>>1]=a[e>>1]|8;e=0}else n=7;break}case 77:{if(!(N1(A+1|0,141137)|0))e=0;else n=7;break}default:n=7}if((n|0)==7){t[r>>2]=A;nw(0,141143,r)|0;e=1}h=f;return e|0}function ml(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!($f(A,141122,0,65535,r)|0)){a[e+38>>1]=t[r>>2];e=0}else e=1;h=i;return e|0}function pl(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;f=h;h=h+16|0;r=f;switch((z4(i[A>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(A+1|0,140768)|0)){e=e+36|0;a[e>>1]=a[e>>1]|4;e=0}else n=7;break}case 82:{if(!(N1(A+1|0,140763)|0)){e=e+36|0;a[e>>1]=a[e>>1]|2;e=0}else n=7;break}case 67:{if(!(N1(A+1|0,140772)|0))e=0;else n=7;break}default:n=7}if((n|0)==7){t[r>>2]=A;nw(0,140778,r)|0;e=1}h=f;return e|0}function El(e,A){e=e|0;A=A|0;var r=0,a=0;a=h;h=h+16|0;r=a;if(!($f(A,141720,0,127,r)|0)){i[e+88>>0]=t[r>>2];e=0}else e=1;h=a;return e|0}function Bl(e,A){e=e|0;A=A|0;var r=0,a=0;a=h;h=h+16|0;r=a;if((i[A>>0]|0)==42){e=e+112|0;i[e>>0]=i[e>>0]|1;e=0}else{t[r>>2]=A;nw(0,141680,r)|0;e=1}h=a;return e|0}function yl(e,A){e=e|0;A=A|0;var r=0,a=0;a=h;h=h+16|0;r=a;if((i[A>>0]|0)==42){e=e+112|0;i[e>>0]=i[e>>0]|2;e=0}else{t[r>>2]=A;nw(0,141643,r)|0;e=1}h=a;return e|0}function Cl(){var e=0;e=(i[189661]|i[189660])<<24>>24;js(t[47407]|0);hw(189644);return e|0}function Il(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s;t[47409]=0;A=0;e:do{A:do{switch(i[189663]|0){case 2:{e=-1;break e}case 0:{i[189663]=1;f=6;e=141732;A=0;break}default:{e=t[47408]|0;if(!(i[e>>0]|0)){i[189663]=2;f=7;e=141739;break A}else{A=Zl(e)|0;f=A-e|0;break A}}}}while(0);t[47417]=t[47416];t[47419]=t[47418];t[47416]=e;t[47418]=f;r=t[47412]|0;a=r-(t[47411]|0)|0;n=t[47407]|0;if(!a)e=ao(n,e,f,(f|0)==0&1)|0;else{if(r>>>0<(t[47413]|0)>>>0)e=r;else{ow(189644,1)|0;e=t[47412]|0}i[e>>0]=0;e=t[47411]|0;t[47412]=e;e=ao(n,e,a,0)|0}if(!((e|0)!=0|(i[189661]|0)!=0)){n=wo(bo(t[47407]|0)|0)|0;f=Wf()|0;t[l>>2]=n;t[l+4>>2]=f;nw(1,140575,l)|0;Yf();i[189661]=1;t[47409]=268}if(A|0)t[47408]=A;e=t[47409]|0}while((e|0)==0);h=s;return e|0}function Zl(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;A=e+1|0;r=i[e>>0]|0;e:do{if(r<<24>>24==60){r=i[A>>0]|0;if(r<<24>>24==33)if(!(y1(e+2|0,141747,2)|0)){r=Gl(e+4|0)|0;A=r;r=i[r>>0]|0;n=8}else{r=A;n=5}else n=6;A:while(1)if((n|0)==5){A=r;r=i[r>>0]|0;n=6;continue}else if((n|0)==6){switch(r<<24>>24){case 62:case 0:{n=8;continue A}default:{}}r=A+1|0;n=5;continue}else if((n|0)==8)if(r<<24>>24==62){n=10;break}else{n=9;break}if((n|0)==9){nw(0,141750,a)|0;i[189660]=1;break}else if((n|0)==10){A=A+1|0;break}}else{A=e;e=r;while(1){switch(e<<24>>24){case 60:case 0:break e;case 38:{r=A+1|0;if((i[r>>0]|0)==35)n=15;else r=kJ(r,189644)|0;break}default:n=15}if((n|0)==15){n=0;r=t[47412]|0;if(r>>>0>=(t[47413]|0)>>>0){ow(189644,1)|0;r=t[47412]|0}t[47412]=r+1;i[r>>0]=e;r=A+1|0}A=r;e=i[r>>0]|0}}}while(0);h=f;return A|0}function Gl(e){e=e|0;var A=0,r=0,a=0,t=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s;t=1;A=e;e:while(1){a=(t|0)==0;r=A;A:while(1){if(a)break e;n=r+1|0;switch(i[r>>0]|0){case 0:{A=n;break e}case 60:{f=5;break A}case 62:{A=-1;break A}default:r=n}}if((f|0)==5){f=0;A=1}t=t+A|0;A=n}r=A+-1|0;do{if(i[r>>0]|0){A=A+-3|0;if(A>>>0>=e>>>0?(y1(A,141747,2)|0)==0:0)break;nw(0,141791,l)|0;i[189660]=1}}while(0);h=s;return r|0}function Ll(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0;r=Z2(28)|0;if(!r)r=0;else{i=0;a=0;while(1){if((i|0)>=(A|0))break;d=(t[(t[e+(i<<2)>>2]|0)+4>>2]|0)+a|0;i=i+1|0;a=d}h=r+8|0;t[h>>2]=Ql(a<<4)|0;w=r+12|0;t[w>>2]=Ql((A<<2)+4|0)|0;i=a<<2;k=r+16|0;t[k>>2]=Ql(i)|0;i=Ql(i)|0;d=r+20|0;t[d>>2]=i;t[r+4>>2]=a;t[r>>2]=A;a=0;f=0;while(1){t[(t[w>>2]|0)+(f<<2)>>2]=a;if((f|0)>=(A|0))break;s=e+(f<<2)|0;b=t[s>>2]|0;c=t[b+4>>2]|0;o=a+-1|0;n=0;l=a;u=c;while(1){if((n|0)>=(u|0))break;u=(t[h>>2]|0)+(l<<4)|0;i=(t[b>>2]|0)+(n<<4)|0;t[u>>2]=t[i>>2];t[u+4>>2]=t[i+4>>2];t[u+8>>2]=t[i+8>>2];t[u+12>>2]=t[i+12>>2];u=l+1|0;t[(t[k>>2]|0)+(l<<2)>>2]=u;i=t[d>>2]|0;t[i+(l<<2)>>2]=l+-1;v=t[s>>2]|0;n=n+1|0;l=u;u=t[v+4>>2]|0;b=v}v=o+c|0;t[(t[k>>2]|0)+(v<<2)>>2]=a;t[i+(a<<2)>>2]=v;a=l;f=f+1|0}Qs(r)}return r|0}function Ql(e){e=e|0;if(!e)e=0;else e=Z2(e)|0;return e|0}function Dl(e){e=e|0;var A=0,r=0;G2(t[e+8>>2]|0);G2(t[e+12>>2]|0);G2(t[e+16>>2]|0);G2(t[e+20>>2]|0);r=e+24|0;A=t[r>>2]|0;if(A|0){G2(t[A>>2]|0);G2(t[r>>2]|0)}G2(e);return}function zl(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+32|0;o=w+16|0;s=w;t[o>>2]=t[A>>2];t[o+4>>2]=t[A+4>>2];t[o+8>>2]=t[A+8>>2];t[o+12>>2]=t[A+12>>2];u=Vs(e,r,o)|0;t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];b=Vs(e,a,o)|0;t[s>>2]=t[A>>2];t[s+4>>2]=t[A+4>>2];t[s+8>>2]=t[A+8>>2];t[s+12>>2]=t[A+12>>2];t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];o=ms(s,r,u,o,a,b,e)|0;r=t[e+4>>2]|0;s=r+1|0;a=1;f=r;while(1){f=t[o+(f<<2)>>2]|0;c=a+1|0;if((f|0)==(s|0))break;else a=c}l=Z2(c<<4)|0;f=l+(a<<4)|0;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2];e=e+8|0;while(1){r=t[o+(r<<2)>>2]|0;a=a+-1|0;f=l+(a<<4)|0;if((r|0)==(s|0))break;i=(t[e>>2]|0)+(r<<4)|0;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2]}t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];if(a|0)ge(141809,141816,148,141822);if(u|0)G2(u);if(b|0)G2(b);t[n+4>>2]=c;t[n>>2]=l;G2(o);h=w;return 1}function Wl(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;s=h;h=h+48|0;f=s+32|0;n=s+16|0;a=s;l=t[e>>2]|0;r=t[e+4>>2]|0;i=r+-1|0;e=0;while(1){if((e|0)>=(r|0)){e=1;break}o=l+(((i+e|0)%(r|0)|0)<<4)|0;c=l+(e<<4)|0;t[a>>2]=t[o>>2];t[a+4>>2]=t[o+4>>2];t[a+8>>2]=t[o+8>>2];t[a+12>>2]=t[o+12>>2];t[n>>2]=t[c>>2];t[n+4>>2]=t[c+4>>2];t[n+8>>2]=t[c+8>>2];t[n+12>>2]=t[c+12>>2];t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];if((Is(a,n,f)|0)==1){e=0;break}else e=e+1|0}h=s;return e|0}function Yl(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,g=0,m=0;m=h;h=h+64|0;o=m+48|0;c=m+32|0;k=4;s=Z2(40)|0;t[s>>2]=0;u=m+16|0;b=m;w=t[r>>2]|0;l=t[r+4>>2]|0;k=G6(189680,1,s|0,k|0)|0;s=G;d=0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,k|0,s|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1)r=G;else r=0;while(1){if(r|0){r=-1;break}d=0;t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];ue(28,u|0,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,k|0,s|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){r=G;continue}t[i>>2]=t[u>>2];t[i+4>>2]=t[u+4>>2];t[i+8>>2]=t[u+8>>2];t[i+12>>2]=t[u+12>>2];f=i+16|0;d=0;t[o>>2]=t[f>>2];t[o+4>>2]=t[f+4>>2];t[o+8>>2]=t[f+8>>2];t[o+12>>2]=t[f+12>>2];ue(28,b|0,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,k|0,s|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){r=G;continue}t[f>>2]=t[b>>2];t[f+4>>2]=t[b+4>>2];t[f+8>>2]=t[b+8>>2];t[f+12>>2]=t[b+12>>2];t[47459]=0;d=0;oe(115,4);r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,k|0,s|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){r=G;continue}n=t[47460]|0;r=t[47459]|0;t[47459]=r+1;r=n+(r<<4)|0;t[r>>2]=t[w>>2];t[r+4>>2]=t[w+4>>2];t[r+8>>2]=t[w+8>>2];t[r+12>>2]=t[w+12>>2];d=0;t[c>>2]=t[i>>2];t[c+4>>2]=t[i+4>>2];t[c+8>>2]=t[i+8>>2];t[c+12>>2]=t[i+12>>2];t[o>>2]=t[f>>2];t[o+4>>2]=t[f+4>>2];t[o+8>>2]=t[f+8>>2];t[o+12>>2]=t[f+12>>2];r=le(1,e|0,A|0,w|0,l|0,c|0,o|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,k|0,s|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1)r=G;else{g=8;break}}if((g|0)==8)if((r|0)==-1)r=-1;else{t[a+4>>2]=t[47459];t[a>>2]=t[47460];r=0}G2(k|0);h=m;return r|0}function Fl(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,n=0.0,f=0.0;r=+c[A>>3];i=A+8|0;a=+c[i>>3];f=a*a+r*r;n=+D(+f);if(f>1.0e-06){c[A>>3]=r/n;c[i>>3]=a/n}t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function Ml(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+32|0;i=a+16|0;r=a;if((t[47463]|0)<(e|0)){A=t[47460]|0;if(!A){i=Z2(e<<4)|0;t[47460]=i;if(!i){i=t[15712]|0;t[r>>2]=141831;t[r+4>>2]=531;t[r+8>>2]=141966;a3(i,141839,r)|0;aA(189680,1)}}else{r=Q2(A,e<<4)|0;t[47460]=r;if(!r){r=t[15712]|0;t[i>>2]=141831;t[i+4>>2]=537;t[i+8>>2]=141984;a3(r,141839,i)|0;aA(189680,1)}}t[47463]=e}h=a;return}function Vl(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,s=0,o=0.0,u=0,b=0.0,w=0.0,k=0,d=0.0,v=0.0,g=0.0,m=0.0,p=0.0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0.0,j=0.0,U=0.0,T=0.0;P=h;h=h+336|0;F=P+320|0;Y=P+304|0;E=P+144|0;k=P+128|0;z=P+112|0;W=P+96|0;H=P+80|0;I=P+64|0;G=P+48|0;M=P+32|0;V=P+16|0;N=P;B=P+288|0;y=P+272|0;C=P+256|0;Z=P+240|0;L=P+224|0;Q=P+208|0;R=P+192|0;x=P+176|0;J=P+160|0;f=t[47462]|0;do{if((t[47461]|0)<(i|0)){if(!f){f=Z2(i*40|0)|0;t[47462]=f;if(!f){f=-1;break}}else{f=Q2(f,i*40|0)|0;t[47462]=f;if(!f){f=-1;break}}t[47461]=i;s=6}else s=6}while(0);if((s|0)==6){c[f>>3]=0.0;s=1;l=0.0;while(1){if((s|0)>=(i|0))break;u=r+(s<<4)|0;D=r+(s+-1<<4)|0;t[Y>>2]=t[u>>2];t[Y+4>>2]=t[u+4>>2];t[Y+8>>2]=t[u+8>>2];t[Y+12>>2]=t[u+12>>2];t[F>>2]=t[D>>2];t[F+4>>2]=t[D+4>>2];t[F+8>>2]=t[D+8>>2];t[F+12>>2]=t[D+12>>2];p=+Nl(Y,F)+l;c[f+(s*40|0)>>3]=p;s=s+1|0;l=p}D=i+-1|0;u=f+(D*40|0)|0;s=1;while(1){if((s|0)>=(i|0))break;X=f+(s*40|0)|0;c[X>>3]=+c[X>>3]/+c[u>>3];s=s+1|0}s=0;while(1){if((s|0)>=(i|0))break;X=f+(s*40|0)+8|0;u=f+(s*40|0)|0;p=+Rl(+c[u>>3]);t[F>>2]=t[a>>2];t[F+4>>2]=t[a+4>>2];t[F+8>>2]=t[a+8>>2];t[F+12>>2]=t[a+12>>2];xl(B,F,p);t[X>>2]=t[B>>2];t[X+4>>2]=t[B+4>>2];t[X+8>>2]=t[B+8>>2];t[X+12>>2]=t[B+12>>2];X=f+(s*40|0)+24|0;p=+Jl(+c[u>>3]);t[F>>2]=t[n>>2];t[F+4>>2]=t[n+4>>2];t[F+8>>2]=t[n+8>>2];t[F+12>>2]=t[n+12>>2];xl(y,F,p);t[X>>2]=t[y>>2];t[X+4>>2]=t[y+4>>2];t[X+8>>2]=t[y+8>>2];t[X+12>>2]=t[y+12>>2];s=s+1|0}t[Y>>2]=t[a>>2];t[Y+4>>2]=t[a+4>>2];t[Y+8>>2]=t[a+8>>2];t[Y+12>>2]=t[a+12>>2];t[F>>2]=t[n>>2];t[F+4>>2]=t[n+4>>2];t[F+8>>2]=t[n+8>>2];t[F+12>>2]=t[n+12>>2];Hl(r,i,f,Y,F,z,I,W,G);t[k>>2]=t[z>>2];t[k+4>>2]=t[z+4>>2];t[k+8>>2]=t[z+8>>2];t[k+12>>2]=t[z+12>>2];t[E>>2]=t[I>>2];t[E+4>>2]=t[I+4>>2];t[E+8>>2]=t[I+8>>2];t[E+12>>2]=t[I+12>>2];t[Y>>2]=t[W>>2];t[Y+4>>2]=t[W+4>>2];t[Y+8>>2]=t[W+8>>2];t[Y+12>>2]=t[W+12>>2];t[F>>2]=t[G>>2];t[F+4>>2]=t[G+4>>2];t[F+8>>2]=t[G+8>>2];t[F+12>>2]=t[G+12>>2];if(!(Pl(e,A,k,E,Y,F,r,i)|0)){t[F>>2]=t[I>>2];t[F+4>>2]=t[I+4>>2];t[F+8>>2]=t[I+8>>2];t[F+12>>2]=t[I+12>>2];xl(C,F,.3333333333333333);t[Y>>2]=t[z>>2];t[Y+4>>2]=t[z+4>>2];t[Y+8>>2]=t[z+8>>2];t[Y+12>>2]=t[z+12>>2];t[F>>2]=t[C>>2];t[F+4>>2]=t[C+4>>2];t[F+8>>2]=t[C+8>>2];t[F+12>>2]=t[C+12>>2];Xl(Z,Y,F);p=+c[Z>>3];m=+c[Z+8>>3];t[F>>2]=t[G>>2];t[F+4>>2]=t[G+4>>2];t[F+8>>2]=t[G+8>>2];t[F+12>>2]=t[G+12>>2];xl(L,F,.3333333333333333);t[Y>>2]=t[W>>2];t[Y+4>>2]=t[W+4>>2];t[Y+8>>2]=t[W+8>>2];t[Y+12>>2]=t[W+12>>2];t[F>>2]=t[L>>2];t[F+4>>2]=t[L+4>>2];t[F+8>>2]=t[L+8>>2];t[F+12>>2]=t[L+12>>2];Sl(Q,Y,F);g=+c[Q>>3];w=+c[Q+8>>3];k=t[47462]|0;d=+c[z>>3];v=+c[W>>3];b=+c[z+8>>3];o=+c[W+8>>3];u=H+8|0;f=-1;l=-1.0;s=1;while(1){if((s|0)>=(D|0))break;S=+c[k+(s*40|0)>>3];j=+jl(S);U=+Rl(S);T=+Jl(S);S=+Ul(S);c[H>>3]=U*p+d*j+T*g+v*S;c[u>>3]=T*w+U*m+b*j+o*S;X=r+(s<<4)|0;t[Y>>2]=t[H>>2];t[Y+4>>2]=t[H+4>>2];t[Y+8>>2]=t[H+8>>2];t[Y+12>>2]=t[H+12>>2];t[F>>2]=t[X>>2];t[F+4>>2]=t[X+4>>2];t[F+8>>2]=t[X+8>>2];t[F+12>>2]=t[X+12>>2];S=+Nl(Y,F);X=S>l;f=X?s:f;l=X?S:l;s=s+1|0}X=r+(f<<4)|0;H=r+(f+-1<<4)|0;t[Y>>2]=t[X>>2];t[Y+4>>2]=t[X+4>>2];t[Y+8>>2]=t[X+8>>2];t[Y+12>>2]=t[X+12>>2];t[F>>2]=t[H>>2];t[F+4>>2]=t[H+4>>2];t[F+8>>2]=t[H+8>>2];t[F+12>>2]=t[H+12>>2];Sl(R,Y,F);t[F>>2]=t[R>>2];t[F+4>>2]=t[R+4>>2];t[F+8>>2]=t[R+8>>2];t[F+12>>2]=t[R+12>>2];Fl(V,F);H=f+1|0;R=r+(H<<4)|0;t[Y>>2]=t[R>>2];t[Y+4>>2]=t[R+4>>2];t[Y+8>>2]=t[R+8>>2];t[Y+12>>2]=t[R+12>>2];t[F>>2]=t[X>>2];t[F+4>>2]=t[X+4>>2];t[F+8>>2]=t[X+8>>2];t[F+12>>2]=t[X+12>>2];Sl(x,Y,F);t[F>>2]=t[x>>2];t[F+4>>2]=t[x+4>>2];t[F+8>>2]=t[x+8>>2];t[F+12>>2]=t[x+12>>2];Fl(N,F);t[Y>>2]=t[V>>2];t[Y+4>>2]=t[V+4>>2];t[Y+8>>2]=t[V+8>>2];t[Y+12>>2]=t[V+12>>2];t[F>>2]=t[N>>2];t[F+4>>2]=t[N+4>>2];t[F+8>>2]=t[N+8>>2];t[F+12>>2]=t[N+12>>2];Xl(J,Y,F);t[F>>2]=t[J>>2];t[F+4>>2]=t[J+4>>2];t[F+8>>2]=t[J+8>>2];t[F+12>>2]=t[J+12>>2];Fl(M,F);t[Y>>2]=t[a>>2];t[Y+4>>2]=t[a+4>>2];t[Y+8>>2]=t[a+8>>2];t[Y+12>>2]=t[a+12>>2];t[F>>2]=t[M>>2];t[F+4>>2]=t[M+4>>2];t[F+8>>2]=t[M+8>>2];t[F+12>>2]=t[M+12>>2];Vl(e,A,r,H,Y,F)|0;t[Y>>2]=t[M>>2];t[Y+4>>2]=t[M+4>>2];t[Y+8>>2]=t[M+8>>2];t[Y+12>>2]=t[M+12>>2];t[F>>2]=t[n>>2];t[F+4>>2]=t[n+4>>2];t[F+8>>2]=t[n+8>>2];t[F+12>>2]=t[n+12>>2];Vl(e,A,X,i-f|0,Y,F)|0;f=0}else f=0}h=P;return f|0}function Nl(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[A>>3]-+c[e>>3];i=+c[A+8>>3]-+c[e+8>>3];return+ +D(+(i*i+r*r))}function Rl(e){e=+e;var A=0.0;A=1.0-e;return+(A*A*(e*3.0))}function xl(e,A,r){e=e|0;A=A|0;r=+r;var i=0;c[A>>3]=+c[A>>3]*r;i=A+8|0;c[i>>3]=+c[i>>3]*r;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function Jl(e){e=+e;return+(e*e*3.0*(1.0-e))}function Hl(e,A,r,i,a,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;var o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0,B=0.0,y=0.0,C=0.0,I=0.0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0.0,Y=0.0,F=0,M=0,V=0,N=0;z=h;h=h+128|0;Z=z+112|0;p=z+80|0;m=z;d=z+96|0;v=z+64|0;g=z+48|0;G=z+32|0;L=z+16|0;Q=e+(A+-1<<4)|0;k=0;E=0.0;B=0.0;y=0.0;C=0.0;I=0.0;while(1){if((k|0)>=(A|0))break;M=r+(k*40|0)+8|0;t[p>>2]=t[M>>2];t[p+4>>2]=t[M+4>>2];t[p+8>>2]=t[M+8>>2];t[p+12>>2]=t[M+12>>2];t[Z>>2]=t[M>>2];t[Z+4>>2]=t[M+4>>2];t[Z+8>>2]=t[M+8>>2];t[Z+12>>2]=t[M+12>>2];W=+$l(p,Z)+B;F=r+(k*40|0)+24|0;t[p>>2]=t[M>>2];t[p+4>>2]=t[M+4>>2];t[p+8>>2]=t[M+8>>2];t[p+12>>2]=t[M+12>>2];t[Z>>2]=t[F>>2];t[Z+4>>2]=t[F+4>>2];t[Z+8>>2]=t[F+8>>2];t[Z+12>>2]=t[F+12>>2];w=+$l(p,Z)+I;t[p>>2]=t[F>>2];t[p+4>>2]=t[F+4>>2];t[p+8>>2]=t[F+8>>2];t[p+12>>2]=t[F+12>>2];t[Z>>2]=t[F>>2];t[Z+4>>2]=t[F+4>>2];t[Z+8>>2]=t[F+8>>2];t[Z+12>>2]=t[F+12>>2];b=+$l(p,Z)+y;V=e+(k<<4)|0;N=r+(k*40|0)|0;Y=+es(+c[N>>3]);t[Z>>2]=t[e>>2];t[Z+4>>2]=t[e+4>>2];t[Z+8>>2]=t[e+8>>2];t[Z+12>>2]=t[e+12>>2];xl(v,Z,Y);Y=+As(+c[N>>3]);t[Z>>2]=t[Q>>2];t[Z+4>>2]=t[Q+4>>2];t[Z+8>>2]=t[Q+8>>2];t[Z+12>>2]=t[Q+12>>2];xl(g,Z,Y);t[p>>2]=t[v>>2];t[p+4>>2]=t[v+4>>2];t[p+8>>2]=t[v+8>>2];t[p+12>>2]=t[v+12>>2];t[Z>>2]=t[g>>2];t[Z+4>>2]=t[g+4>>2];t[Z+8>>2]=t[g+8>>2];t[Z+12>>2]=t[g+12>>2];Xl(d,p,Z);t[p>>2]=t[V>>2];t[p+4>>2]=t[V+4>>2];t[p+8>>2]=t[V+8>>2];t[p+12>>2]=t[V+12>>2];t[Z>>2]=t[d>>2];t[Z+4>>2]=t[d+4>>2];t[Z+8>>2]=t[d+8>>2];t[Z+12>>2]=t[d+12>>2];Sl(m,p,Z);t[p>>2]=t[M>>2];t[p+4>>2]=t[M+4>>2];t[p+8>>2]=t[M+8>>2];t[p+12>>2]=t[M+12>>2];t[Z>>2]=t[m>>2];t[Z+4>>2]=t[m+4>>2];t[Z+8>>2]=t[m+8>>2];t[Z+12>>2]=t[m+12>>2];Y=+$l(p,Z)+E;t[p>>2]=t[F>>2];t[p+4>>2]=t[F+4>>2];t[p+8>>2]=t[F+8>>2];t[p+12>>2]=t[F+12>>2];t[Z>>2]=t[m>>2];t[Z+4>>2]=t[m+4>>2];t[Z+8>>2]=t[m+8>>2];t[Z+12>>2]=t[m+12>>2];k=k+1|0;E=Y;B=W;y=b;C=+$l(p,Z)+C;I=w}b=y*B-I*I;w=b>=0.0?b:-b;if(!(w>=1.0e-06?(o=(y*E-I*C)/b,u=(B*C-I*E)/b,!(w<1.0e-06|o<=0.0|u<=0.0)):0))D=6;if((D|0)==6){t[p>>2]=t[e>>2];t[p+4>>2]=t[e+4>>2];t[p+8>>2]=t[e+8>>2];t[p+12>>2]=t[e+12>>2];t[Z>>2]=t[Q>>2];t[Z+4>>2]=t[Q+4>>2];t[Z+8>>2]=t[Q+8>>2];t[Z+12>>2]=t[Q+12>>2];o=+Nl(p,Z)*.3333333333333333;u=o}t[n>>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[Z>>2]=t[i>>2];t[Z+4>>2]=t[i+4>>2];t[Z+8>>2]=t[i+8>>2];t[Z+12>>2]=t[i+12>>2];xl(G,Z,o);t[f>>2]=t[G>>2];t[f+4>>2]=t[G+4>>2];t[f+8>>2]=t[G+8>>2];t[f+12>>2]=t[G+12>>2];t[l>>2]=t[Q>>2];t[l+4>>2]=t[Q+4>>2];t[l+8>>2]=t[Q+8>>2];t[l+12>>2]=t[Q+12>>2];t[Z>>2]=t[a>>2];t[Z+4>>2]=t[a+4>>2];t[Z+8>>2]=t[a+8>>2];t[Z+12>>2]=t[a+12>>2];xl(L,Z,u);t[s>>2]=t[L>>2];t[s+4>>2]=t[L+4>>2];t[s+8>>2]=t[L+8>>2];t[s+12>>2]=t[L+12>>2];h=z;return}function Pl(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0.0,v=0.0,g=0,m=0.0,p=0,E=0.0,B=0,y=0.0,C=0,I=0,Z=0,G=0,L=0.0,Q=0;G=h;h=h+64|0;Z=G;C=(l|0)==2;y=+c[r>>3];m=+c[r+8>>3];p=Z+8|0;E=+c[i>>3];B=Z+16|0;w=+c[i+8>>3];k=Z+24|0;d=+c[a>>3];v=+c[n>>3];g=Z+32|0;b=+c[a+8>>3];u=+c[n+8>>3];i=Z+40|0;a=Z+48|0;n=Z+56|0;r=1;s=4.0;o=4.0;while(1){c[Z>>3]=y;c[p>>3]=m;L=o*.3333333333333333;c[B>>3]=L*E+y;c[k>>3]=L*w+m;L=s*.3333333333333333;c[g>>3]=d-L*v;c[i>>3]=b-L*u;c[a>>3]=d;c[n>>3]=b;if(r?(L=+Tl(Z,4),L<+Tl(f,l)+-.001):0){r=0;break}if(Ol(e,A,Z)|0){I=5;break}if(o==0.0&s==0.0){I=9;break}Q=o>.01;r=0;s=Q?s*.5:0.0;o=Q?o*.5:0.0}e:do{if((I|0)==5){Ml((t[47459]|0)+4|0);i=t[47460]|0;r=1;while(1){if((r|0)==4){r=1;break e}Q=t[47459]|0;c[i+(Q<<4)>>3]=+c[Z+(r<<4)>>3];L=+c[Z+(r<<4)+8>>3];t[47459]=Q+1;c[i+(Q<<4)+8>>3]=L;r=r+1|0}}else if((I|0)==9)if(C){Ml((t[47459]|0)+4|0);i=t[47460]|0;r=1;while(1){if((r|0)==4){r=1;break e}Q=t[47459]|0;c[i+(Q<<4)>>3]=+c[Z+(r<<4)>>3];L=+c[Z+(r<<4)+8>>3];t[47459]=Q+1;c[i+(Q<<4)+8>>3]=L;r=r+1|0}}else r=0}while(0);h=G;return r|0}function Xl(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;c[A>>3]=+c[A>>3]+ +c[r>>3];i=A+8|0;c[i>>3]=+c[i>>3]+ +c[r+8>>3];t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function Sl(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;c[A>>3]=+c[A>>3]-+c[r>>3];i=A+8|0;c[i>>3]=+c[i>>3]-+c[r+8>>3];t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function jl(e){e=+e;e=1.0-e;return+(e*e*e)}function Ul(e){e=+e;return+(e*e*e)}function Tl(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,t=0.0,n=0;r=0.0;i=1;while(1){if((i|0)>=(A|0))break;n=i+-1|0;a=+c[e+(i<<4)>>3]-+c[e+(n<<4)>>3];t=+c[e+(i<<4)+8>>3]-+c[e+(n<<4)+8>>3];r=+D(+(t*t+a*a))+r;i=i+1|0}return+r}function Ol(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0.0,g=0,m=0,p=0.0,E=0,B=0.0,y=0,C=0,I=0,Z=0,G=0,L=0.0,Q=0.0;G=h;h=h+64|0;g=G+32|0;m=G;E=m+16|0;y=r+16|0;C=r+32|0;I=r+48|0;Z=r+8|0;n=r+24|0;f=r+40|0;l=r+56|0;s=m+8|0;o=m+24|0;a=0;e:while(1){if((a|0)>=(A|0)){i=1;break}u=e+(a<<5)|0;t[m>>2]=t[u>>2];t[m+4>>2]=t[u+4>>2];t[m+8>>2]=t[u+8>>2];t[m+12>>2]=t[u+12>>2];u=e+(a<<5)+16|0;t[E>>2]=t[u>>2];t[E+4>>2]=t[u+4>>2];t[E+8>>2]=t[u+8>>2];t[E+12>>2]=t[u+12>>2];u=_l(r,m,g)|0;A:do{if((u|0)!=4){b=+c[m>>3];w=+c[s>>3];k=+c[E>>3];d=+c[o>>3];i=0;while(1){if((i|0)>=(u|0))break A;v=+c[g+(i<<3)>>3];if((!(v<1.0e-06|v>.999999)?(B=v*v*v,Q=v*3.0,L=1.0-v,v=Q*v*L,p=L*L,Q=p*Q,L=p*L,p=+c[y>>3]*Q+ +c[r>>3]*L+ +c[C>>3]*v+ +c[I>>3]*B,B=+c[n>>3]*Q+ +c[Z>>3]*L+ +c[f>>3]*v+ +c[l>>3]*B,v=p-b,L=B-w,!(L*L+v*v<.001)):0)?(Q=p-k,L=B-d,!(L*L+Q*Q<.001)):0){i=0;break e}i=i+1|0}}}while(0);a=a+1|0}h=G;return i|0}function _l(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+96|0;v=p+48|0;g=p+24|0;s=p;m=p+80|0;w=+c[A>>3];n=+c[A+16>>3]-w;k=+c[A+8>>3];l=+c[A+24>>3]-k;t[m>>2]=0;e:do{if(!(n==0.0)){l=l/n;o=e+16|0;u=e+32|0;b=e+48|0;ql(+c[e+8>>3]-+c[e>>3]*l,+c[e+24>>3]-+c[o>>3]*l,+c[e+40>>3]-+c[u>>3]*l,+c[e+56>>3]-+c[b>>3]*l,v);c[v>>3]=l*w-k+ +c[v>>3];i=ps(v,g)|0;if((i|0)==4)A=4;else{a=v+8|0;f=v+16|0;s=v+24|0;n=1.0/n;A=0;while(1){if((A|0)>=(i|0))break;l=+c[g+(A<<3)>>3];if(l>=0.0&l<=1.0?(ql(+c[e>>3],+c[o>>3],+c[u>>3],+c[b>>3],v),k=(+c[v>>3]-w+((+c[s>>3]*l+ +c[f>>3])*l+ +c[a>>3])*l)*n,k>=0.0&k<=1.0):0)Kl(l,r,m);A=A+1|0}A=t[m>>2]|0}}else{ql(+c[e>>3],+c[e+16>>3],+c[e+32>>3],+c[e+48>>3],v);c[v>>3]=+c[v>>3]-w;d=ps(v,g)|0;if(!(l==0.0)){if((d|0)==4){A=4;break}o=e+8|0;u=e+24|0;b=e+40|0;i=e+56|0;a=v+8|0;f=v+16|0;s=v+24|0;n=1.0/l;A=0;while(1){if((A|0)>=(d|0))break;l=+c[g+(A<<3)>>3];if(l>=0.0&l<=1.0?(ql(+c[o>>3],+c[u>>3],+c[b>>3],+c[i>>3],v),w=(+c[v>>3]-k+((+c[s>>3]*l+ +c[f>>3])*l+ +c[a>>3])*l)*n,w>=0.0&w<=1.0):0)Kl(l,r,m);A=A+1|0}A=t[m>>2]|0;break}ql(+c[e+8>>3],+c[e+24>>3],+c[e+40>>3],+c[e+56>>3],v);c[v>>3]=+c[v>>3]-k;f=ps(v,s)|0;A=(f|0)==4;A:do{if((d|0)==4){if(A){A=4;break e}else A=0;while(1){if((A|0)>=(f|0))break A;Kl(+c[s+(A<<3)>>3],r,m);A=A+1|0}}else{if(A){A=0;while(1){if((A|0)>=(d|0))break A;Kl(+c[g+(A<<3)>>3],r,m);A=A+1|0}}else i=0;while(1){if((i|0)>=(d|0))break A;a=g+(i<<3)|0;A=0;while(1){if((A|0)>=(f|0))break;n=+c[a>>3];if(n==+c[s+(A<<3)>>3])Kl(n,r,m);A=A+1|0}i=i+1|0}}}while(0);A=t[m>>2]|0}}while(0);h=p;return A|0}function ql(e,A,r,i,a){e=+e;A=+A;r=+r;i=+i;a=a|0;c[a+24>>3]=i-e+(A-r)*3.0;c[a+16>>3]=(r+e)*3.0-A*6.0;c[a+8>>3]=(A-e)*3.0;c[a>>3]=e;return}function Kl(e,A,r){e=+e;A=A|0;r=r|0;var i=0;if(e>=0.0&e<=1.0){i=t[r>>2]|0;c[A+(i<<3)>>3]=e;t[r>>2]=i+1}return}function $l(e,A){e=e|0;A=A|0;return+(+c[A+8>>3]*+c[e+8>>3]+ +c[A>>3]*+c[e>>3])}function es(e){e=+e;var A=0.0;A=1.0-e;return+(A*A*(A+e*3.0))}function As(e){e=+e;return+(e*e*((1.0-e)*3.0+e))}function rs(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,g=0,m=0,p=0,B=0,y=0,C=0,I=0,Z=0,L=0,Q=0,D=0,z=0,W=0,Y=0.0;W=h;h=h+112|0;Q=W+80|0;L=W+64|0;Z=W+48|0;z=4;D=Z2(40)|0;t[D>>2]=0;p=W+32|0;B=W+16|0;y=W;C=W+96|0;z=G6(189856,1,D|0,z|0)|0;D=G;d=0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1)i=G;else i=0;e:while(1){if(i|0){i=-2;break}n=e+4|0;d=0;oe(116,t[n>>2]|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}t[47503]=0;t[47504]=0;d=0;oe(117,t[n>>2]<<1|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}o=(t[47506]|0)/2|0;t[47507]=o;t[47508]=o+-1;o=t[n>>2]|0;n=t[e>>2]|0;i=0;a=-1;f=E;while(1){if((i|0)>=(o|0))break;Y=+c[n+(i<<4)>>3];m=f>Y;g=m?i:a;i=i+1|0;a=g;f=m?Y:f}m=n+(a<<4)|0;t[B>>2]=t[m>>2];t[B+4>>2]=t[m+4>>2];t[B+8>>2]=t[m+8>>2];t[B+12>>2]=t[m+12>>2];m=n+(((a|0)==0?o:a)+-1<<4)|0;t[p>>2]=t[m>>2];t[p+4>>2]=t[m+4>>2];t[p+8>>2]=t[m+8>>2];t[p+12>>2]=t[m+12>>2];m=n+(((a|0)==(o+-1|0)?0:a+1|0)<<4)|0;t[y>>2]=t[m>>2];t[y+4>>2]=t[m+4>>2];t[y+8>>2]=t[m+8>>2];t[y+12>>2]=t[m+12>>2];Y=+c[B>>3];if((+c[p>>3]==Y?Y==+c[y>>3]:0)?+c[y+8>>3]>+c[B+8>>3]:0)m=15;else m=12;A:do{if((m|0)==12){m=0;d=0;i=te(36,p|0,B|0,y|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,z|0,D|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}if((i|0)==1){n=t[47510]|0;i=t[47511]|0;a=0;while(1){if((a|0)>=(o|0))break A;l=t[e>>2]|0;if(!(((a|0)>0?(I=a+-1|0,+c[l+(a<<4)>>3]==+c[l+(I<<4)>>3]):0)?+c[l+(a<<4)+8>>3]==+c[l+(I<<4)+8>>3]:0)){g=t[47503]|0;t[n+(g<<3)>>2]=l+(a<<4);t[n+(g<<3)+4>>2]=n+(((g|0)%(o|0)|0)<<3);t[i+(g<<2)>>2]=n+(g<<3);t[47503]=g+1}a=a+1|0}}else m=15}}while(0);A:do{if((m|0)==15){m=0;l=t[47510]|0;i=t[47511]|0;n=o;while(1){a=n+-1|0;if((n|0)<=0)break A;s=t[e>>2]|0;if(((n|0)<(o|0)?+c[s+(a<<4)>>3]==+c[s+(n<<4)>>3]:0)?+c[s+(a<<4)+8>>3]==+c[s+(n<<4)+8>>3]:0){n=a;continue}n=t[47503]|0;t[l+(n<<3)>>2]=s+(a<<4);t[l+(n<<3)+4>>2]=l+(((n|0)%(o|0)|0)<<3);t[i+(n<<2)>>2]=l+(n<<3);t[47503]=n+1;n=a}}}while(0);d=0;ue(29,i|0,t[47503]|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}l=0;i=t[47504]|0;A:while(1){if((l|0)>=(i|0)){k=0;break}s=l+1|0;n=s;while(1){if((n|0)>=(i|0)){l=s;continue A}d=0;ue(30,l|0,n|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue e}n=n+1|0;i=t[47504]|0}}while(1){if((k|0)>=(i|0))break;d=0;a=ie(105,k|0,A|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,z|0,D|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1){i=G;continue e}if(a|0)break;k=k+1|0}if((k|0)==(i|0)){i=t[15712]|0;d=0;t[Z>>2]=141858;t[Z+4>>2]=192;t[Z+8>>2]=141869;te(32,i|0,141839,Z|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}else{m=41;break}}g=A+16|0;s=0;while(1){if((s|0)>=(i|0))break;d=0;a=ie(105,s|0,g|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,z|0,D|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1){i=G;continue e}if(a|0)break;s=s+1|0}if((s|0)==(i|0)){i=t[15712]|0;d=0;t[L>>2]=141858;t[L+4>>2]=200;t[L+8>>2]=141902;te(32,i|0,141839,L|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}else{m=48;break}}d=0;i=ie(106,k|0,s|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,z|0,D|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue}if(!i){i=t[15712]|0;d=0;t[Q>>2]=141858;t[Q+4>>2]=207;t[Q+8>>2]=141940;te(32,i|0,141839,Q|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}d=0;oe(118,2);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}else{m=53;break}}if((k|0)==(s|0)){d=0;oe(118,2);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,z|0,D|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){i=G;continue}else{m=56;break}}t[C>>2]=A;t[C+4>>2]=0;a=C+8|0;t[a>>2]=g;t[C+12>>2]=0;d=0;ue(31,1,C|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue}t[47509]=t[47507];b=k;A:while(1){if((b|0)==-1){n=a;i=0;break}w=t[47513]|0;t[w+(b*52|0)>>2]=2;i=0;while(1){if((i|0)>=3){m=65;break}m=t[w+(b*52|0)+4+(i<<4)+12>>2]|0;if(m|0?(t[m>>2]|0)==1:0){m=68;break}i=i+1|0}if((m|0)==65){m=0;if((i|0)==3){i=t[47505]|0;s=t[i+(t[47508]<<2)>>2]|0;d=0;i=te(36,g|0,t[t[i+(t[47507]<<2)>>2]>>2]|0,t[s>>2]|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,z|0,D|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1){i=G;continue e}l=(i|0)==1;u=l?a:s;l=l?s:a}else m=68}if((m|0)==68){m=0;s=t[w+(b*52|0)+4+(i<<4)>>2]|0;o=t[w+(b*52|0)+4+(i<<4)+4>>2]|0;d=0;i=te(36,t[s>>2]|0,t[t[w+(b*52|0)+4+(((i+1|0)%3|0)<<4)+4>>2]>>2]|0,t[o>>2]|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,z|0,D|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1){i=G;continue e}l=(i|0)==1;u=l?s:o;l=l?o:s}do{if((b|0)==(k|0)){d=0;ue(31,2,l|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}d=0;ue(31,1,u|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}i=0}else{o=t[47505]|0;if((t[o+(t[47507]<<2)>>2]|0)!=(u|0)?(t[o+(t[47508]<<2)>>2]|0)!=(u|0):0){d=0;l=re(34,u|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}d=0;ue(32,2,l|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}d=0;ue(31,1,u|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}if((l|0)<=(t[47509]|0)){i=0;break}t[47509]=l;i=0;break}d=0;s=re(34,l|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}d=0;ue(32,1,s|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}d=0;ue(31,2,l|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,z|0,D|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){i=G;continue e}if((s|0)>=(t[47509]|0)){i=0;break}t[47509]=s;i=0}}while(0);while(1){if((i|0)>=3){b=-1;continue A}n=t[w+(b*52|0)+4+(i<<4)+12>>2]|0;if(n|0?(t[n>>2]|0)==1:0)break;i=i+1|0}b=(n-(t[47513]|0)|0)/52|0}while(1){if(!n)break;n=t[n+4>>2]|0;i=i+1|0}d=0;oe(118,i|0);n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,z|0,D|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1)i=G;else{m=94;break}}if((m|0)==41)i=-1;else if((m|0)==48)i=-1;else if((m|0)==53){t[r+4>>2]=2;i=t[47512]|0;t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];D=i+16|0;t[D>>2]=t[g>>2];t[D+4>>2]=t[g+4>>2];t[D+8>>2]=t[g+8>>2];t[D+12>>2]=t[g+12>>2];t[r>>2]=i;i=0}else if((m|0)==56){t[r+4>>2]=2;i=t[47512]|0;t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];D=i+16|0;t[D>>2]=t[g>>2];t[D+4>>2]=t[g+4>>2];t[D+8>>2]=t[g+8>>2];t[D+12>>2]=t[g+12>>2];t[r>>2]=i;i=0}else if((m|0)==94){t[r+4>>2]=i;n=t[47512]|0;while(1){i=i+-1|0;if(!a)break;D=n+(i<<4)|0;Q=t[a>>2]|0;t[D>>2]=t[Q>>2];t[D+4>>2]=t[Q+4>>2];t[D+8>>2]=t[Q+8>>2];t[D+12>>2]=t[Q+12>>2];a=t[a+4>>2]|0}t[r>>2]=n;i=0}G2(z|0);h=W;return i|0}function is(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=h;h=h+64|0;i=f+48|0;n=f+32|0;a=f+16|0;r=f;if((t[47516]|0)<(e|0)){A=t[47510]|0;if(!A){n=Z2(e<<3)|0;t[47510]=n;if(!n){n=t[15712]|0;t[r>>2]=141858;t[r+4>>2]=523;t[r+8>>2]=142108;a3(n,141839,r)|0;aA(189856,1)}n=Z2(e<<2)|0;t[47511]=n;if(!n){n=t[15712]|0;t[a>>2]=141858;t[a+4>>2]=527;t[a+8>>2]=142127;a3(n,141839,a)|0;aA(189856,1)}}else{a=Q2(A,e<<3)|0;t[47510]=a;if(!a){a=t[15712]|0;t[n>>2]=141858;t[n+4>>2]=533;t[n+8>>2]=142147;a3(a,141839,n)|0;aA(189856,1)}n=Q2(t[47511]|0,e<<2)|0;t[47511]=n;if(!n){n=t[15712]|0;t[i>>2]=141858;t[i+4>>2]=539;t[i+8>>2]=142167;a3(n,141839,i)|0;aA(189856,1)}}t[47516]=e}h=f;return}function as(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+32|0;i=a+16|0;r=a;if((t[47506]|0)<(e|0)){A=t[47505]|0;if(!A){i=Z2(e<<2)|0;t[47505]=i;if(!i){i=t[15712]|0;t[r>>2]=141858;t[r+4>>2]=573;t[r+8>>2]=142063;a3(i,141839,r)|0;aA(189856,1)}}else{r=Q2(A,e<<2)|0;t[47505]=r;if(!r){r=t[15712]|0;t[i>>2]=141858;t[i+4>>2]=580;t[i+8>>2]=142085;a3(r,141839,i)|0;aA(189856,1)}}t[47506]=e}h=a;return}function ts(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[A>>3];i=(+c[r>>3]-a)*(+c[e+8>>3]-i)-(+c[e>>3]-a)*(+c[r+8>>3]-i);return(i>0.0?1:i<0.0?2:3)|0}function ns(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;e:while(1){if((A|0)>3)i=0;else{A=9;break}while(1){if((i|0)>=(A|0)){A=8;break e}a=i+1|0;r=(a|0)%(A|0)|0;n=(i+2|0)%(A|0)|0;if(!(hs(i,n,e,A)|0))i=a;else break}ws(t[e+(i<<2)>>2]|0,t[e+(r<<2)>>2]|0,t[e+(n<<2)>>2]|0);A=A+-1|0;while(1){if((r|0)>=(A|0))continue e;n=r+1|0;t[e+(r<<2)>>2]=t[e+(n<<2)>>2];r=n}}if((A|0)==8){e=t[15712]|0;t[f>>2]=141858;t[f+4>>2]=324;t[f+8>>2]=142003;a3(e,141839,f)|0}else if((A|0)==9)ws(t[e>>2]|0,t[e+4>>2]|0,t[e+8>>2]|0);h=l;return}function fs(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;l=t[47513]|0;s=l+(e*52|0)|0;c=l+(A*52|0)|0;n=0;while(1){if((n|0)==3)break;o=l+(e*52|0)+4+(n<<4)|0;u=l+(e*52|0)+4+(n<<4)+4|0;b=l+(e*52|0)+4+(n<<4)+12|0;a=0;while(1){if((a|0)==3)break;h=t[t[o>>2]>>2]|0;f=t[t[l+(A*52|0)+4+(a<<4)>>2]>>2]|0;if((h|0)==(f|0)){r=t[t[l+(A*52|0)+4+(a<<4)+4>>2]>>2]|0;if((t[t[u>>2]>>2]|0)==(r|0))i=10;else i=8}else{r=t[t[l+(A*52|0)+4+(a<<4)+4>>2]>>2]|0;i=8}if(((i|0)==8?(i=0,(h|0)==(r|0)):0)?(t[t[u>>2]>>2]|0)==(f|0):0)i=10;if((i|0)==10){t[b>>2]=c;t[l+(A*52|0)+4+(a<<4)+12>>2]=s}a=a+1|0}n=n+1|0}return}function ls(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=t[47513]|0;r=0;i=0;while(1){if((i|0)==3)break;r=r+((ts(t[t[a+(e*52|0)+4+(i<<4)>>2]>>2]|0,t[t[a+(e*52|0)+4+(i<<4)+4>>2]>>2]|0,A)|0)!=2&1)|0;i=i+1|0}return((r|0)==3|(r|0)==0)&1|0}function ss(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[47513]|0;i=r+(e*52|0)|0;e:do{if(!(t[i>>2]|0)){t[i>>2]=1;if((e|0)==(A|0))r=1;else{a=0;while(1){if((a|0)>=3)break;i=t[r+(e*52|0)+4+(a<<4)+12>>2]|0;if(i){if(ss((i-r|0)/52|0,A)|0){r=1;break e}r=t[47513]|0}a=a+1|0}t[r+(e*52|0)>>2]=0;r=0}}else r=0}while(0);return r|0}function cs(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+32|0;i=a+16|0;r=a;if((t[47514]|0)<(e|0)){A=t[47512]|0;if(!A){i=Z2(e<<4)|0;t[47512]=i;if(!i){i=t[15712]|0;t[r>>2]=141858;t[r+4>>2]=593;t[r+8>>2]=141966;a3(i,141839,r)|0;aA(189856,1)}}else{r=Q2(A,e<<4)|0;t[47512]=r;if(!r){r=t[15712]|0;t[i>>2]=141858;t[i+4>>2]=599;t[i+8>>2]=141984;a3(r,141839,i)|0;aA(189856,1)}}t[47514]=e}h=a;return}function os(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[47508]|0;i=t[47507]|0;a=(r|0)>=(i|0);if((e|0)==1)if(a){t[A+4>>2]=t[(t[47505]|0)+(i<<2)>>2];e=190028;r=-1}else{e=190028;r=-1}else if(a){t[A+4>>2]=t[(t[47505]|0)+(r<<2)>>2];e=190032;r=1}else{e=190032;r=1}a=(t[e>>2]|0)+r|0;t[e>>2]=a;t[(t[47505]|0)+(a<<2)>>2]=A;return}function us(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=t[47509]|0;n=t[47505]|0;A=t[47507]|0;while(1){if((A|0)>=(a|0)){i=4;break}r=A+1|0;if((ts(t[t[n+(r<<2)>>2]>>2]|0,t[t[n+(A<<2)>>2]>>2]|0,t[e>>2]|0)|0)==1)break;else A=r}e:do{if((i|0)==4){A=t[47508]|0;while(1){if((A|0)<=(a|0)){A=a;break e}r=A+-1|0;if((ts(t[t[n+(r<<2)>>2]>>2]|0,t[t[n+(A<<2)>>2]>>2]|0,t[e>>2]|0)|0)==2)break;else A=r}}}while(0);return A|0}function bs(e,A){e=e|0;A=A|0;t[((e|0)==1?190032:190028)>>2]=A;return}function hs(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;a=t[t[r+(((e+-1+i|0)%(i|0)|0)<<2)>>2]>>2]|0;l=t[t[r+(e<<2)>>2]>>2]|0;n=t[t[r+(((e+1|0)%(i|0)|0)<<2)>>2]>>2]|0;c=(ts(a,l,n)|0)==1;s=t[t[r+(A<<2)>>2]>>2]|0;if(c)if((ts(l,s,a)|0)==1){a=ts(s,l,n)|0;n=1;f=5}else a=0;else{a=ts(l,s,n)|0;n=2;f=5}e:do{if((f|0)==5)if((a|0)==(n|0)){a=0;while(1){if((a|0)>=(i|0)){a=1;break e}n=a;a=a+1|0;f=(a|0)%(i|0)|0;if((f|0)==(A|0)|((n|0)==(A|0)|((n|0)==(e|0)|(f|0)==(e|0))))continue;if(ds(l,s,t[t[r+(n<<2)>>2]>>2]|0,t[t[r+(f<<2)>>2]>>2]|0)|0){a=0;break}}}else a=0}while(0);return a|0}function ws(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;i=t[47504]|0;a=t[47515]|0;if((i|0)<(a|0))f=i;else{ks(a+20|0);f=t[47504]|0}n=t[47513]|0;t[47504]=f+1;a=n+(f*52|0)|0;t[a>>2]=0;t[n+(f*52|0)+4>>2]=e;t[n+(f*52|0)+8>>2]=A;t[n+(f*52|0)+16>>2]=0;t[n+(f*52|0)+20>>2]=A;t[n+(f*52|0)+24>>2]=r;t[n+(f*52|0)+32>>2]=0;t[n+(f*52|0)+36>>2]=r;t[n+(f*52|0)+40>>2]=e;t[n+(f*52|0)+48>>2]=0;i=0;while(1){if((i|0)==3)break;t[n+(f*52|0)+4+(i<<4)+8>>2]=a;i=i+1|0}return}function ks(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+32|0;i=a+16|0;r=a;if((t[47515]|0)<(e|0)){A=t[47513]|0;if(!A){i=Z2(e*52|0)|0;t[47513]=i;if(!i){i=t[15712]|0;t[r>>2]=141858;t[r+4>>2]=552;t[r+8>>2]=142024;a3(i,141839,r)|0;aA(189856,1)}}else{r=Q2(A,e*52|0)|0;t[47513]=r;if(!r){r=t[15712]|0;t[i>>2]=141858;t[i+4>>2]=558;t[i+8>>2]=142043;a3(r,141839,i)|0;aA(189856,1)}}t[47515]=e}h=a;return}function ds(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0,n=0,f=0;t=ts(e,A,r)|0;if((((t|0)!=3?(n=ts(e,A,i)|0,(n|0)!=3):0)?(f=ts(r,i,e)|0,(f|0)!=3):0)?(a=ts(r,i,A)|0,(a|0)!=3):0)return((t|0)==1^(n|0)==1)&((f|0)==1^(a|0)==1)&1|0;if(((vs(e,A,r)|0)==0?(vs(e,A,i)|0)==0:0)?(vs(r,i,e)|0)==0:0)return(vs(r,i,A)|0)!=0|0;return 1}function vs(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0;a=+c[e>>3];n=+c[A>>3]-a;t=+c[e+8>>3];i=+c[A+8>>3]-t;a=+c[r>>3]-a;t=+c[r+8>>3]-t;if((ts(e,A,r)|0)==3?t*i+a*n>=0.0:0)e=t*t+a*a<=i*i+n*n&1;else e=0;return e|0}function gs(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0.0,k=0;u=Z2(r<<2)|0;b=Z2((r<<3)+8|0)|0;h=b+8|0;a=0;while(1){if((a|0)>=(r|0))break;t[u+(a<<2)>>2]=-1;c[h+(a<<3)>>3]=-2147483647.0;a=a+1|0}c[b>>3]=-2147483648.0;e:while(1){if((e|0)==(A|0))break;o=h+(e<<3)|0;l=+c[o>>3];c[o>>3]=l==-2147483647.0?0.0:-l;s=0;a=-1;while(1){if((s|0)>=(r|0)){e=a;continue e}f=h+(s<<3)|0;n=+c[f>>3];if(n<0.0){k=(e|0)<(s|0);w=+c[(t[i+((k?s:e)<<2)>>2]|0)+((k?e:s)<<3)>>3];l=-(w+ +c[o>>3]);if(w!=0.0&n>3]=l;t[u+(s<<2)>>2]=e;n=l}a=n>+c[h+(a<<3)>>3]?s:a}s=s+1|0}}G2(b);return u|0}function ms(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0;s=h;h=h+32|0;c=s+16|0;o=s;l=t[f+4>>2]|0;t[o>>2]=t[e>>2];t[o+4>>2]=t[e+4>>2];t[o+8>>2]=t[e+8>>2];t[o+12>>2]=t[e+12>>2];t[c>>2]=t[i>>2];t[c+4>>2]=t[i+4>>2];t[c+8>>2]=t[i+8>>2];t[c+12>>2]=t[i+12>>2];if(!(Rs(o,A,c,a,f)|0)){e=t[f+24>>2]|0;t[e+(l<<2)>>2]=n;o=l+1|0;t[e+(o<<2)>>2]=r;e=gs(o,l,l+2|0,e)|0}else{e=Z2((l<<2)+8|0)|0;o=l+1|0;t[e+(l<<2)>>2]=o;t[e+(o<<2)>>2]=-1}h=s;return e|0}function ps(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,t=0.0,n=0.0,f=0.0,l=0;i=+c[e+24>>3];e:do{if(i<1.0e-07&i>-1.0e-07)e=Es(e,A)|0;else{n=+c[e+16>>3]/(i*3.0);t=+c[e+8>>3]/i;a=n*n;i=n*2.0*a-n*t+ +c[e>>3]/i;a=t*.3333333333333333-a;a=a*a*4.0*a;t=i*i+a;if(!(t<0.0)){f=(+D(+t)-i)*.5;a=+u1(f);i=+u1(-i-f)+a;c[A>>3]=i;if(t>0.0)e=1;else{i=i*-.5;c[A+16>>3]=i;e=1;r=7}}else{f=+R(+ +D(+-t),+-i);i=+u1(+D(+-a)*.5)*2.0;c[A>>3]=i*+W(+(f*.3333333333333333));c[A+8>>3]=+W(+((f+6.283185307179586)*.3333333333333333))*i;i=+W(+((f+-6.283185307179586)*.3333333333333333))*i;e=2;r=7}if((r|0)==7){c[A+(e<<3)>>3]=i;e=3}r=0;while(1){if((r|0)>=(e|0))break e;l=A+(r<<3)|0;c[l>>3]=+c[l>>3]-n;r=r+1|0}}}while(0);return e|0}function Es(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e+16>>3];do{if(!(r<1.0e-07&r>-1.0e-07)){i=+c[e+8>>3]/(r*2.0);r=i*i-+c[e>>3]/r;if(!(r<0.0))if(r==0.0){c[A>>3]=-i;e=1;break}else{r=+D(+r)-i;c[A>>3]=r;c[A+8>>3]=i*-2.0-r;e=2;break}else e=0}else e=Bs(e,A)|0}while(0);return e|0}function Bs(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[e+8>>3];r=+c[e>>3];if(i<1.0e-07&i>-1.0e-07)e=r<1.0e-07&r>-1.0e-07?4:0;else{c[A>>3]=-r/i;e=1}return e|0}function ys(e){e=e|0;G2(t[e>>2]|0);G2(e);return}function Cs(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;i=t[e+4>>2]|0;l=(i*3|0)+-2|0;r=t[47518]|0;if((l|0)>(t[47517]|0)){if(!r)r=Z2(l<<4)|0;else r=Q2(r,l<<4)|0;t[47518]=r;t[47517]=l;f=r;n=r}else{f=r;n=r}a=t[e>>2]|0;t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];D6(f+16|0,a|0,16)|0;i=i+-1|0;r=1;e=2;while(1){if((r|0)>=(i|0))break;s=f+(e+2<<4)|0;c=f+(e+1<<4)|0;u=f+(e<<4)|0;o=a+(r<<4)|0;t[u>>2]=t[o>>2];t[u+4>>2]=t[o+4>>2];t[u+8>>2]=t[o+8>>2];t[u+12>>2]=t[o+12>>2];D6(c|0,o|0,16)|0;t[s>>2]=t[c>>2];t[s+4>>2]=t[c+4>>2];t[s+8>>2]=t[c+8>>2];t[s+12>>2]=t[c+12>>2];r=r+1|0;e=e+3|0}o=f+(e<<4)|0;u=a+(r<<4)|0;t[o>>2]=t[u>>2];t[o+4>>2]=t[u+4>>2];t[o+8>>2]=t[u+8>>2];t[o+12>>2]=t[u+12>>2];D6(f+(e+1<<4)|0,u|0,16)|0;t[A+4>>2]=l;t[A>>2]=n;return}function Is(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[A>>3];i=(+c[r>>3]-a)*(+c[e+8>>3]-i)-(+c[e>>3]-a)*(+c[r+8>>3]-i);return(i>.0001?1:(i<-.0001)<<31>>31)|0}function Zs(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0;a=+c[e>>3];t=+c[A>>3];if(a!=t){i=+c[r>>3];if(!(a>3];a=+c[r+8>>3];i=+c[A+8>>3];if(!(t>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];s=Is(n,f,l)|0;if((s|0)==0?(t[n>>2]=t[e>>2],t[n+4>>2]=t[e+4>>2],t[n+8>>2]=t[e+8>>2],t[n+12>>2]=t[e+12>>2],t[f>>2]=t[A>>2],t[f+4>>2]=t[A+4>>2],t[f+8>>2]=t[A+8>>2],t[f+12>>2]=t[A+12>>2],t[l>>2]=t[r>>2],t[l+4>>2]=t[r+4>>2],t[l+8>>2]=t[r+8>>2],t[l+12>>2]=t[r+12>>2],(Zs(n,f,l)|0)!=0):0)a=1;else c=3;do{if((c|0)==3){t[n>>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];t[l>>2]=t[i>>2];t[l+4>>2]=t[i+4>>2];t[l+8>>2]=t[i+8>>2];t[l+12>>2]=t[i+12>>2];a=Is(n,f,l)|0;if((a|0)==0?(t[n>>2]=t[e>>2],t[n+4>>2]=t[e+4>>2],t[n+8>>2]=t[e+8>>2],t[n+12>>2]=t[e+12>>2],t[f>>2]=t[A>>2],t[f+4>>2]=t[A+4>>2],t[f+8>>2]=t[A+8>>2],t[f+12>>2]=t[A+12>>2],t[l>>2]=t[i>>2],t[l+4>>2]=t[i+4>>2],t[l+8>>2]=t[i+8>>2],t[l+12>>2]=t[i+12>>2],Zs(n,f,l)|0):0){a=1;break}t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2];t[l>>2]=t[e>>2];t[l+4>>2]=t[e+4>>2];t[l+8>>2]=t[e+8>>2];t[l+12>>2]=t[e+12>>2];e=Is(n,f,l)|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];t[f+12>>2]=t[i+12>>2];t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];c=(P(a,s)|0)<0;a=(P(Is(n,f,l)|0,e)|0)>>>31;a=c?a:0}}while(0);h=o;return a|0}function Ls(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e>>3]-+c[A>>3];i=+c[e+8>>3]-+c[A+8>>3];return+(i*i+r*r)}function Qs(e){e=e|0;t[e+24>>2]=Ds(t[e+4>>2]|0)|0;zs(e);return}function Ds(e){e=e|0;var A=0,r=0,i=0,a=0;i=e+2|0;a=Z2(i<<2)|0;A=L2(P(e,e)|0,8)|0;r=0;while(1){if((r|0)>=(e|0))break;t[a+(r<<2)>>2]=A;A=A+(e<<3)|0;r=r+1|0}while(1){if((e|0)>=(i|0))break;t[a+(e<<2)>>2]=0;e=e+1|0}return a|0}function zs(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;w=h;h=h+32|0;f=w+16|0;n=w;l=t[e+4>>2]|0;o=t[e+8>>2]|0;u=t[e+16>>2]|0;b=t[e+20>>2]|0;r=t[e+24>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;k=t[b+(A<<2)>>2]|0;i=o+(A<<4)|0;a=o+(k<<4)|0;t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];t[n+8>>2]=t[i+8>>2];t[n+12>>2]=t[i+12>>2];t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];d=+Ws(n,f);a=t[r+(A<<2)>>2]|0;c[a+(k<<3)>>3]=d;c[(t[r+(k<<2)>>2]|0)+(A<<3)>>3]=d;e=A+-1|0;e=(k|0)==(e|0)?A+-2|0:e;while(1){if((e|0)<=-1)break;if((Ys(A,e,o,u,b)|0?Ys(e,A,o,u,b)|0:0)?(s=o+(e<<4)|0,t[n>>2]=t[i>>2],t[n+4>>2]=t[i+4>>2],t[n+8>>2]=t[i+8>>2],t[n+12>>2]=t[i+12>>2],t[f>>2]=t[s>>2],t[f+4>>2]=t[s+4>>2],t[f+8>>2]=t[s+8>>2],t[f+12>>2]=t[s+12>>2],Fs(n,f,l,l,l,o,u)|0):0){t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];t[n+8>>2]=t[i+8>>2];t[n+12>>2]=t[i+12>>2];t[f>>2]=t[s>>2];t[f+4>>2]=t[s+4>>2];t[f+8>>2]=t[s+8>>2];t[f+12>>2]=t[s+12>>2];d=+Ws(n,f);c[a+(e<<3)>>3]=d;c[(t[r+(e<<2)>>2]|0)+(A<<3)>>3]=d}e=e+-1|0}A=A+1|0}h=w;return}function Ws(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0;i=h;h=h+32|0;a=i+16|0;n=i;t[n>>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];r=+D(+ +Ls(n,a));h=i;return+r}function Ys(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;n=h;h=h+64|0;f=n+48|0;l=n+32|0;s=n+16|0;c=n;u=r+(t[a+(e<<2)>>2]<<4)|0;o=r+(e<<4)|0;i=r+(t[i+(e<<2)>>2]<<4)|0;a=r+(A<<4)|0;t[c>>2]=t[u>>2];t[c+4>>2]=t[u+4>>2];t[c+8>>2]=t[u+8>>2];t[c+12>>2]=t[u+12>>2];t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];t[l>>2]=t[i>>2];t[l+4>>2]=t[i+4>>2];t[l+8>>2]=t[i+8>>2];t[l+12>>2]=t[i+12>>2];t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];a=Ms(c,s,l,f)|0;h=n;return a|0}function Fs(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;w=h;h=h+64|0;u=w+48|0;o=w+32|0;c=w+16|0;s=w;l=0;while(1){if((l|0)>=(r|0)){b=4;break}d=n+(l<<4)|0;k=n+(t[f+(l<<2)>>2]<<4)|0;t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];t[s+12>>2]=t[e+12>>2];t[c>>2]=t[A>>2];t[c+4>>2]=t[A+4>>2];t[c+8>>2]=t[A+8>>2];t[c+12>>2]=t[A+12>>2];t[o>>2]=t[d>>2];t[o+4>>2]=t[d+4>>2];t[o+8>>2]=t[d+8>>2];t[o+12>>2]=t[d+12>>2];t[u>>2]=t[k>>2];t[u+4>>2]=t[k+4>>2];t[u+8>>2]=t[k+8>>2];t[u+12>>2]=t[k+12>>2];if(!(Gs(s,c,o,u)|0))l=l+1|0;else{i=0;break}}e:do{if((b|0)==4)while(1){if((i|0)>=(a|0)){i=1;break e}k=n+(i<<4)|0;d=n+(t[f+(i<<2)>>2]<<4)|0;t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];t[s+12>>2]=t[e+12>>2];t[c>>2]=t[A>>2];t[c+4>>2]=t[A+4>>2];t[c+8>>2]=t[A+8>>2];t[c+12>>2]=t[A+12>>2];t[o>>2]=t[k>>2];t[o+4>>2]=t[k+4>>2];t[o+8>>2]=t[k+8>>2];t[o+12>>2]=t[k+12>>2];t[u>>2]=t[d>>2];t[u+4>>2]=t[d+4>>2];t[u+8>>2]=t[d+8>>2];t[u+12>>2]=t[d+12>>2];if(!(Gs(s,c,o,u)|0)){i=i+1|0;b=4}else{i=0;break}}}while(0);h=w;return i|0}function Ms(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;n=h;h=h+48|0;f=n+32|0;l=n+16|0;s=n;t[s>>2]=t[i>>2];t[s+4>>2]=t[i+4>>2];t[s+8>>2]=t[i+8>>2];t[s+12>>2]=t[i+12>>2];t[l>>2]=t[e>>2];t[l+4>>2]=t[e+4>>2];t[l+8>>2]=t[e+8>>2];t[l+12>>2]=t[e+12>>2];t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];a=Is(s,l,f)|0;t[s>>2]=t[i>>2];t[s+4>>2]=t[i+4>>2];t[s+8>>2]=t[i+8>>2];t[s+12>>2]=t[i+12>>2];t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];i=Is(s,l,f)|0;t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];t[s+12>>2]=t[e+12>>2];t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];r=(Is(s,l,f)|0)>0;h=n;return(r?i|a:i&a)>>>31^1|0}function Vs(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;v=h;h=h+80|0;l=v+64|0;f=v+48|0;n=v+32|0;s=v+16|0;b=v;w=t[e+4>>2]|0;k=t[e+8>>2]|0;d=t[e+16>>2]|0;o=t[e+20>>2]|0;u=Z2((w<<3)+16|0)|0;if((A|0)==-2222){t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];A=Ns(e,l)|0}if((A|0)>-1){e=t[e+12>>2]|0;a=t[e+(A+1<<2)>>2]|0;e=t[e+(A<<2)>>2]|0}else{a=w;e=w}A=0;while(1){if((A|0)>=(e|0)){A=e;break}m=k+(A<<4)|0;t[b>>2]=t[m>>2];t[b+4>>2]=t[m+4>>2];t[b+8>>2]=t[m+8>>2];t[b+12>>2]=t[m+12>>2];m=k+(t[o+(A<<2)>>2]<<4)|0;g=k+(t[d+(A<<2)>>2]<<4)|0;t[s>>2]=t[m>>2];t[s+4>>2]=t[m+4>>2];t[s+8>>2]=t[m+8>>2];t[s+12>>2]=t[m+12>>2];t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[f>>2]=t[g>>2];t[f+4>>2]=t[g+4>>2];t[f+8>>2]=t[g+8>>2];t[f+12>>2]=t[g+12>>2];t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];if((Ms(s,n,f,l)|0)!=0?(t[f>>2]=t[r>>2],t[f+4>>2]=t[r+4>>2],t[f+8>>2]=t[r+8>>2],t[f+12>>2]=t[r+12>>2],t[l>>2]=t[b>>2],t[l+4>>2]=t[b+4>>2],t[l+8>>2]=t[b+8>>2],t[l+12>>2]=t[b+12>>2],(Fs(f,l,e,a,w,k,d)|0)!=0):0){t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];t[l>>2]=t[b>>2];t[l+4>>2]=t[b+4>>2];t[l+8>>2]=t[b+8>>2];t[l+12>>2]=t[b+12>>2];i=+Ws(f,l)}else i=0.0;c[u+(A<<3)>>3]=i;A=A+1|0}while(1){if((A|0)>=(a|0)){A=a;break}c[u+(A<<3)>>3]=0.0;A=A+1|0}while(1){if((A|0)>=(w|0))break;g=k+(A<<4)|0;t[b>>2]=t[g>>2];t[b+4>>2]=t[g+4>>2];t[b+8>>2]=t[g+8>>2];t[b+12>>2]=t[g+12>>2];g=k+(t[o+(A<<2)>>2]<<4)|0;m=k+(t[d+(A<<2)>>2]<<4)|0;t[s>>2]=t[g>>2];t[s+4>>2]=t[g+4>>2];t[s+8>>2]=t[g+8>>2];t[s+12>>2]=t[g+12>>2];t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];if((Ms(s,n,f,l)|0)!=0?(t[f>>2]=t[r>>2],t[f+4>>2]=t[r+4>>2],t[f+8>>2]=t[r+8>>2],t[f+12>>2]=t[r+12>>2],t[l>>2]=t[b>>2],t[l+4>>2]=t[b+4>>2],t[l+8>>2]=t[b+8>>2],t[l+12>>2]=t[b+12>>2],(Fs(f,l,e,a,w,k,d)|0)!=0):0){t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];t[l>>2]=t[b>>2];t[l+4>>2]=t[b+4>>2];t[l+8>>2]=t[b+8>>2];t[l+12>>2]=t[b+12>>2];i=+Ws(f,l)}else i=0.0;c[u+(A<<3)>>3]=i;A=A+1|0}c[u+(w<<3)>>3]=0.0;c[u+(w+1<<3)>>3]=0.0;h=v;return u|0}function Ns(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;o=h;h=h+32|0;a=o+8|0;i=o;f=o+24|0;l=e+8|0;s=e+12|0;c=f+4|0;r=0;while(1){if((r|0)>=(t[e>>2]|0)){r=-1111;break}b=t[s>>2]|0;u=t[b+(r<<2)>>2]|0;t[f>>2]=(t[l>>2]|0)+(u<<4);n=r+1|0;t[c>>2]=(t[b+(n<<2)>>2]|0)-u;t[i>>2]=t[f>>2];t[i+4>>2]=t[f+4>>2];t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];if(!(Wl(i,a)|0))r=n;else break}h=o;return r|0}function Rs(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+64|0;u=g+48|0;o=g+32|0;w=g+16|0;b=g;d=t[a+4>>2]|0;v=t[a+8>>2]|0;k=t[a+16>>2]|0;n=(i|0)<0;do{if((A|0)<0)if(n){n=0;l=0;a=0;f=0}else{A=t[a+12>>2]|0;a=0;f=0;l=i;s=A;A=A+(i<<2)|0;c=9}else{if(n){c=t[a+12>>2]|0;a=0;f=0;l=A;s=c;A=c+(A<<2)|0;c=9;break}n=t[a+12>>2]|0;if((A|0)>(i|0)){a=t[n+(i+1<<2)>>2]|0;f=t[n+(i<<2)>>2]|0;l=A;s=n;A=n+(A<<2)|0;c=9;break}else{a=t[n+(A+1<<2)>>2]|0;f=t[n+(A<<2)>>2]|0;l=i;s=n;A=n+(i<<2)|0;c=9;break}}}while(0);if((c|0)==9){n=t[s+(l+1<<2)>>2]|0;l=t[A>>2]|0}A=0;while(1){if((A|0)>=(f|0)){c=13;break}s=v+(A<<4)|0;i=v+(t[k+(A<<2)>>2]<<4)|0;t[b>>2]=t[e>>2];t[b+4>>2]=t[e+4>>2];t[b+8>>2]=t[e+8>>2];t[b+12>>2]=t[e+12>>2];t[w>>2]=t[r>>2];t[w+4>>2]=t[r+4>>2];t[w+8>>2]=t[r+8>>2];t[w+12>>2]=t[r+12>>2];t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];t[u>>2]=t[i>>2];t[u+4>>2]=t[i+4>>2];t[u+8>>2]=t[i+8>>2];t[u+12>>2]=t[i+12>>2];if(!(Gs(b,w,o,u)|0))A=A+1|0;else{n=0;break}}e:do{if((c|0)==13){while(1){if((a|0)>=(l|0))break;i=v+(a<<4)|0;c=v+(t[k+(a<<2)>>2]<<4)|0;t[b>>2]=t[e>>2];t[b+4>>2]=t[e+4>>2];t[b+8>>2]=t[e+8>>2];t[b+12>>2]=t[e+12>>2];t[w>>2]=t[r>>2];t[w+4>>2]=t[r+4>>2];t[w+8>>2]=t[r+8>>2];t[w+12>>2]=t[r+12>>2];t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];t[u>>2]=t[c>>2];t[u+4>>2]=t[c+4>>2];t[u+8>>2]=t[c+8>>2];t[u+12>>2]=t[c+12>>2];if(!(Gs(b,w,o,u)|0)){a=a+1|0;c=13}else{n=0;break e}}while(1){if((n|0)>=(d|0)){n=1;break e}i=v+(n<<4)|0;c=v+(t[k+(n<<2)>>2]<<4)|0;t[b>>2]=t[e>>2];t[b+4>>2]=t[e+4>>2];t[b+8>>2]=t[e+8>>2];t[b+12>>2]=t[e+12>>2];t[w>>2]=t[r>>2];t[w+4>>2]=t[r+4>>2];t[w+8>>2]=t[r+8>>2];t[w+12>>2]=t[r+12>>2];t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];t[u>>2]=t[c>>2];t[u+4>>2]=t[c+4>>2];t[u+8>>2]=t[c+8>>2];t[u+12>>2]=t[c+12>>2];if(!(Gs(b,w,o,u)|0))n=n+1|0;else{n=0;break}}}}while(0);h=g;return n|0}function xs(e){e=e|0;return Js(e,0,0)|0}function Js(e,A,r){e=e|0;A=A|0;r=r|0;return Hs(e,A,r,0)|0}function Hs(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;if(!A){n=Z2(496)|0;if(!n)n=0;else{t[n+12>>2]=35;t[n+16>>2]=107;t[n+20>>2]=105;A=35;f=6}}else{n=I5[t[A>>2]&63](496)|0;if(!n)n=0;else{f=t[A>>2]|0;t[n+12>>2]=f;t[n+16>>2]=t[A+4>>2];t[n+20>>2]=t[A+8>>2];A=f;f=6}}do{if((f|0)==6){t[n+8>>2]=0;t[n+32>>2]=0;t[n+376>>2]=16;s=n+12|0;l=I5[A&63](256)|0;A=n+388|0;t[A>>2]=l;if(!l){F5[t[n+20>>2]&127](n);n=0;break}f=I5[t[s>>2]&63](1024)|0;l=n+44|0;t[l>>2]=f;if(!f){r=n+20|0;F5[t[r>>2]&127](t[A>>2]|0);F5[t[r>>2]&127](n);n=0;break}t[n+48>>2]=f+1024;if(!a){a=Ps(s)|0;t[n+352>>2]=a;if(!a){r=n+20|0;F5[t[r>>2]&127](t[l>>2]|0);F5[t[r>>2]&127](t[A>>2]|0);F5[t[r>>2]&127](n);n=0;break}}else t[n+352>>2]=a;t[n+372>>2]=0;t[n+364>>2]=0;t[n+300>>2]=0;t[n+464>>2]=0;t[n+460>>2]=0;t[n+124>>2]=0;t[n+244>>2]=0;A=n+468|0;i[A>>0]=33;f=n+232|0;i[f>>0]=0;i[n+233>>0]=0;t[n+392>>2]=0;t[n+396>>2]=0;i[n+400>>0]=0;a=n+228|0;t[a>>2]=0;Xs(n+412|0,s);Xs(n+436|0,s);Ss(n,e);if(e|0?(t[a>>2]|0)==0:0){js(n);n=0;break}if(!r){t[n+224>>2]=XK()|0;break}else{i[f>>0]=1;t[n+224>>2]=E0()|0;i[A>>0]=i[r>>0]|0;break}}}while(0);return n|0}function Ps(e){e=e|0;var A=0;A=I5[t[e>>2]&63](188)|0;if(A|0){Xs(A+80|0,e);Xs(A+104|0,e);$c(A,e);$c(A+20|0,e);$c(A+40|0,e);$c(A+60|0,e);i[A+131>>0]=0;$c(A+132|0,e);t[A+152>>2]=0;t[A+156>>2]=0;i[A+160>>0]=0;e=A+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[e+20>>2]=0;i[A+128>>0]=1;i[A+129>>0]=0;i[A+130>>0]=0}return A|0}function Xs(e,A){e=e|0;A=A|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[e+20>>2]=A;return}function Ss(e,A){e=e|0;A=A|0;var r=0,n=0,f=0;t[e+276>>2]=56;L0(e+252|0);if(A|0)t[e+228>>2]=ec(A,e+12|0)|0;t[e+356>>2]=0;z$(e+148|0,e+144|0,0)|0;t[e>>2]=0;t[e+4>>2]=0;A=e+116|0;n=e+52|0;f=n+64|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(f|0));t[A>>2]=e;t[e+120>>2]=0;A=e+128|0;t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;A=t[e+8>>2]|0;t[e+24>>2]=A;t[e+28>>2]=A;t[e+36>>2]=0;t[e+40>>2]=0;A=e+312|0;n=e+404|0;t[n>>2]=0;t[n+4>>2]=0;n=e+280|0;r=e+304|0;t[n>>2]=0;t[n+4>>2]=0;t[n+8>>2]=0;t[n+12>>2]=0;t[n+16>>2]=0;n=A;f=n+36|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(f|0));a[A+36>>1]=0;i[r>>0]=1;t[e+308>>2]=0;t[e+360>>2]=0;t[e+368>>2]=0;t[e+380>>2]=0;t[e+236>>2]=0;t[e+248>>2]=0;t[e+240>>2]=0;t[e+472>>2]=0;t[e+476>>2]=0;i[e+484>>0]=0;i[e+485>>0]=0;t[e+488>>2]=0;t[e+492>>2]=0;return}function js(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;if(e|0){r=e+364|0;n=e+20|0;A=t[e+360>>2]|0;while(1){if(!A){A=t[r>>2]|0;if(!A)break;t[r>>2]=0}f=t[A>>2]|0;F5[t[n>>2]&127](t[A+36>>2]|0);Us(t[A+44>>2]|0,e);F5[t[n>>2]&127](A);A=f}r=e+300|0;A=t[e+296>>2]|0;while(1){if(!A){A=t[r>>2]|0;if(!A)break;t[r>>2]=0}f=t[A+8>>2]|0;F5[t[n>>2]&127](A);A=f}Us(t[e+372>>2]|0,e);Us(t[e+368>>2]|0,e);Ts(e+412|0);Ts(e+436|0);A=e+12|0;F5[t[n>>2]&127](t[e+228>>2]|0);if((i[e+484>>0]|0)==0?(a=t[e+352>>2]|0,a|0):0)Os(a,(t[e+472>>2]|0)==0&1,A);F5[t[n>>2]&127](t[e+388>>2]|0);F5[t[n>>2]&127](t[e+460>>2]|0);F5[t[n>>2]&127](t[e+8>>2]|0);F5[t[n>>2]&127](t[e+44>>2]|0);F5[t[n>>2]&127](t[e+392>>2]|0);F5[t[n>>2]&127](t[e+236>>2]|0);A=t[e+248>>2]|0;if(A|0)F5[A&127](t[e+240>>2]|0);F5[t[n>>2]&127](e)}return}function Us(e,A){e=e|0;A=A|0;var r=0;A=A+20|0;while(1){if(!e)break;r=t[e+4>>2]|0;F5[t[A>>2]&127](t[e+16>>2]|0);F5[t[A>>2]&127](e);e=r}return}function Ts(e){e=e|0;var A=0,r=0,i=0;r=e+20|0;A=t[e>>2]|0;while(1){if(!A)break;i=t[A>>2]|0;F5[t[(t[r>>2]|0)+8>>2]&127](A);A=i}A=t[e+4>>2]|0;while(1){if(!A)break;i=t[A>>2]|0;F5[t[(t[r>>2]|0)+8>>2]&127](A);A=i}return}function Os(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;n=e+20|0;_s(a,n);r=r+8|0;while(1){i=qs(a)|0;if(!i)break;if(!(t[i+16>>2]|0))continue;F5[t[r>>2]&127](t[i+20>>2]|0)}Ks(e);Ks(e+132|0);Ks(n);Ks(e+40|0);Ks(e+60|0);Ts(e+80|0);Ts(e+104|0);if(A<<24>>24){F5[t[r>>2]&127](t[e+184>>2]|0);F5[t[r>>2]&127](t[e+164>>2]|0)}F5[t[r>>2]&127](e);h=f;return}function _s(e,A){e=e|0;A=A|0;var r=0;r=t[A>>2]|0;t[e>>2]=r;t[e+4>>2]=r+(t[A+8>>2]<<2);return}function qs(e){e=e|0;var A=0,r=0,i=0;r=t[e+4>>2]|0;i=t[e>>2]|0;do{if((i|0)==(r|0)){A=0;break}A=i;i=i+4|0;t[e>>2]=i;A=t[A>>2]|0}while(!(A|0));return A|0}function Ks(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;r=e+8|0;i=e+16|0;A=0;while(1){a=t[(t[i>>2]|0)+8>>2]|0;n=t[e>>2]|0;if(A>>>0>=(t[r>>2]|0)>>>0)break;F5[a&127](t[n+(A<<2)>>2]|0);A=A+1|0}F5[a&127](n);return}function $s(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=Ac(e)|0;if(!a){t[e+276>>2]=57;a=rc(e,A,r,i)|0}return a|0}function ec(e,A){e=e|0;A=A|0;var r=0,a=0;r=0;do{a=r;r=r+1|0}while((i[e+a>>0]|0)!=0);A=I5[t[A>>2]&63](r)|0;if(!A)A=0;else Q6(A|0,e|0,r|0)|0;return A|0}function Ac(e){e=e|0;var A=0;A=e+228|0;if(!(L5[(i[e+232>>0]<<24>>24?38:37)&63](e+148|0,e+144|0,t[A>>2]|0)|0))e=Kc(e,t[A>>2]|0)|0;else e=0;return e|0}function rc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;n=h;h=h+16|0;f=n;t[f>>2]=A;s=e+144|0;l=t[s>>2]|0;l=Q5[t[l>>2]&127](l,A,r,f)|0;a=ic(e,t[s>>2]|0,A,r,l,t[f>>2]|0,a,(i[e+480>>0]|0)==0&1)|0;h=n;return a|0}function ic(e,A,r,a,f,l,s,c){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;l=l|0;s=s|0;c=c|0;var o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0,q=0,K=0,$=0,ee=0,Ae=0,re=0,ie=0,ae=0,te=0,ne=0,fe=0,le=0,se=0,ce=0,oe=0,ue=0,be=0,he=0,we=0,ke=0,de=0,ve=0,ge=0,me=0,pe=0,Ee=0,Be=0,ye=0,Ce=0,Ie=0,Ze=0,Ge=0,Le=0,Qe=0,De=0,ze=0;ze=h;h=h+16|0;Le=ze;t[Le>>2]=l;d=t[e+352>>2]|0;v=e+144|0;if((t[v>>2]|0)==(A|0)){w=e+284|0;k=e+288|0;be=e+296|0}else{be=e+296|0;k=t[be>>2]|0;w=k;k=k+4|0}g=c<<24>>24!=0;we=e+252|0;m=e+80|0;p=e+476|0;E=e+84|0;B=e+320|0;y=e+412|0;C=e+316|0;I=e+424|0;Z=e+428|0;G=e+324|0;de=e+4|0;L=e+485|0;Q=d+132|0;D=e+312|0;ge=d+129|0;z=d+128|0;W=d+80|0;Y=d+92|0;F=d+96|0;M=e+136|0;V=e+88|0;N=e+488|0;pe=e+112|0;Ee=d+131|0;Be=e+116|0;ye=d+130|0;Ce=e+108|0;Ie=e+356|0;R=e+340|0;x=e+132|0;J=e+344|0;H=e+348|0;P=e+328|0;X=e+349|0;S=e+420|0;j=d+120|0;U=d+116|0;T=e+92|0;O=e+472|0;_=e+336|0;q=e+332|0;K=e+96|0;$=e+256|0;ee=e+464|0;Ae=e+460|0;re=d+160|0;ie=d+184|0;ae=d+180|0;te=d+164|0;ne=e+128|0;fe=e+12|0;le=e+16|0;se=e+268|0;ce=e+120|0;oe=d+176|0;ue=d+168|0;b=A;u=r;A=f;e:while(1){t[w>>2]=u;r=t[Le>>2]|0;t[k>>2]=r;l=r;A:do{if((A|0)<1){if(g&(A|0)!=0){o=7;break e}switch(A|0){case-1:{l=5;o=280;break e}case 0:{o=9;break e}case-2:{l=6;break e}case-4:{o=10;break e}case-15:{A=15;break A}default:{}}t[Le>>2]=a;A=0-A|0;l=a}}while(0);f=D5[t[we>>2]&127](we,A,u,l,b)|0;A:do{switch(f|0){case 2:{o=58;break e}case-1:{o=184;break e}case 1:{l=ac(e,0,u,t[Le>>2]|0)|0;if(l|0){o=280;break e}l=t[v>>2]|0;break}case 4:{if(!(t[E>>2]|0))l=1;else{o=tc(y,b,u,t[Le>>2]|0)|0;t[C>>2]=o;if(!o){l=1;o=280;break e}t[Z>>2]=t[I>>2];t[G>>2]=0;l=0}t[B>>2]=0;o=274;break}case 7:{l=t[E>>2]|0;if(!l)o=275;else{x5[l&15](t[de>>2]|0,t[C>>2]|0,t[B>>2]|0,t[G>>2]|0,1);t[C>>2]=0;nc(y);l=b}break}case 57:{l=ac(e,1,u,t[Le>>2]|0)|0;if(l|0){o=280;break e}l=t[v>>2]|0;break}case 6:{i[L>>0]=0;o=fc(e,Q,75395,36)|0;t[D>>2]=o;if(!o){l=1;o=280;break e}i[ge>>0]=1;if(!(t[E>>2]|0))o=33;else{if(!(Q5[t[b+52>>2]&127](b,u,t[Le>>2]|0,w)|0)){l=32;o=280;break e}l=t[b+64>>2]|0;l=tc(y,b,u+l|0,(t[Le>>2]|0)+(0-l)|0)|0;if(!l){l=1;o=280;break e}lc(l);t[Z>>2]=t[I>>2];t[G>>2]=l;l=0;o=34}break}case 14:{o=33;break}case 8:{l=t[C>>2]|0;if(!l)l=1;else{x5[t[E>>2]&15](t[de>>2]|0,l,t[B>>2]|0,t[G>>2]|0,0);nc(y);l=0}if(!((t[B>>2]|0)==0?!(i[L>>0]|0):0)){r=i[ge>>0]|0;i[ge>>0]=1;do{if(t[N>>2]|0?t[pe>>2]|0:0){f=fc(e,Q,75395,36)|0;if(!f){l=1;o=280;break e}if(!(i[L>>0]|0))A=f+20|0;else{A=f+20|0;t[A>>2]=t[Ie>>2]}i[Ee>>0]=0;if(!(D5[t[pe>>2]&127](t[Be>>2]|0,0,t[A>>2]|0,t[f+16>>2]|0,t[f+24>>2]|0)|0)){l=21;o=280;break e}if(!(i[Ee>>0]|0)){if(t[B>>2]|0)break;i[ge>>0]=r;break}if(((i[ye>>0]|0)==0?(he=t[Ce>>2]|0,he|0):0)?(I5[he&63](t[de>>2]|0)|0)==0:0){l=22;o=280;break e}}}while(0);i[L>>0]=0}A=t[V>>2]|0;if(!A)o=274;else{F5[A&127](t[de>>2]|0);l=b}break}case 34:{o=cc(e,b,u,t[Le>>2]|0)|0;t[R>>2]=o;if(!o){l=1;o=280;break e}else o=80;break}case 22:{o=oc(e,b,u,t[Le>>2]|0)|0;t[J>>2]=o;if(!o){l=1;o=280;break e}i[H>>0]=0;t[P>>2]=0;i[X>>0]=0;o=80;break}case 23:{i[H>>0]=1;t[P>>2]=142188;o=80;break}case 24:{i[X>>0]=1;t[P>>2]=142194;o=80;break}case 25:{t[P>>2]=142197;o=80;break}case 26:{t[P>>2]=142203;o=80;break}case 27:{t[P>>2]=142210;o=80;break}case 28:{t[P>>2]=142217;o=80;break}case 29:{t[P>>2]=142226;o=80;break}case 30:{t[P>>2]=142234;o=80;break}case 32:case 31:{if((i[z>>0]|0)!=0?(t[x>>2]|0)!=0:0){if(!(uc(y,(t[P>>2]|0)==0?(f|0)==32?142243:142253:142255)|0)){l=1;o=280;break e}if(!(bc(y,b,u,t[Le>>2]|0)|0)){l=1;o=280;break e}t[P>>2]=t[Z>>2];l=b}else o=275;break}case 36:case 35:{if(i[z>>0]|0){if(!(hc(t[R>>2]|0,t[J>>2]|0,i[H>>0]|0,i[X>>0]|0,0,e)|0)){l=1;o=280;break e}if((t[x>>2]|0)!=0?(ke=t[P>>2]|0,(ke|0)!=0):0){switch(i[ke>>0]|0){case 40:{o=93;break}case 78:{if((i[ke+1>>0]|0)==79)o=93;break}default:{}}if((o|0)==93){o=0;l=t[I>>2]|0;if((l|0)==(t[S>>2]|0)){if(!((wc(y)|0)<<24>>24)){l=1;o=280;break e}l=t[I>>2]|0}t[I>>2]=l+1;i[l>>0]=41;l=t[I>>2]|0;if((l|0)==(t[S>>2]|0)){if(!((wc(y)|0)<<24>>24)){l=1;o=280;break e}l=t[I>>2]|0}t[I>>2]=l+1;i[l>>0]=0;t[P>>2]=t[Z>>2];t[Z>>2]=t[I>>2]}t[k>>2]=u;J5[t[x>>2]&15](t[de>>2]|0,t[t[R>>2]>>2]|0,t[t[J>>2]>>2]|0,t[P>>2]|0,0,(f|0)==36&1);nc(y);l=b}else o=275}else o=275;break}case 38:case 37:{if(i[z>>0]|0){l=t[b+64>>2]|0;l=kc(e,b,i[H>>0]|0,u+l|0,(t[Le>>2]|0)+(0-l)|0,W)|0;if(l|0){o=280;break e}A=t[F>>2]|0;t[F>>2]=t[Y>>2];if(!(hc(t[R>>2]|0,t[J>>2]|0,i[H>>0]|0,0,A,e)|0)){l=1;o=280;break e}if((t[x>>2]|0)!=0?(ve=t[P>>2]|0,(ve|0)!=0):0){switch(i[ve>>0]|0){case 40:{o=108;break}case 78:{if((i[ve+1>>0]|0)==79)o=108;break}default:{}}if((o|0)==108){o=0;l=t[I>>2]|0;if((l|0)==(t[S>>2]|0)){if(!((wc(y)|0)<<24>>24)){l=1;o=280;break e}l=t[I>>2]|0}t[I>>2]=l+1;i[l>>0]=41;l=t[I>>2]|0;if((l|0)==(t[S>>2]|0)){if(!((wc(y)|0)<<24>>24)){l=1;o=280;break e}l=t[I>>2]|0}t[I>>2]=l+1;i[l>>0]=0;t[P>>2]=t[Z>>2];t[Z>>2]=t[I>>2]}t[k>>2]=u;J5[t[x>>2]&15](t[de>>2]|0,t[t[R>>2]>>2]|0,t[t[J>>2]>>2]|0,t[P>>2]|0,A,(f|0)==38&1);nc(y);l=b}else o=275}else o=275;break}case 12:{if(i[z>>0]|0){l=t[b+64>>2]|0;l=dc(e,b,u+l|0,(t[Le>>2]|0)+(0-l)|0)|0;A=t[D>>2]|0;r=t[j>>2]|0;if(A){t[A+4>>2]=r;t[(t[D>>2]|0)+8>>2]=(t[U>>2]|0)-(t[j>>2]|0);t[j>>2]=t[U>>2];if(!(t[M>>2]|0))A=1;else{t[k>>2]=u;A=t[D>>2]|0;H5[t[M>>2]&0](t[de>>2]|0,t[A>>2]|0,n[A+33>>0]|0,t[A+4>>2]|0,t[A+8>>2]|0,t[Ie>>2]|0,0,0,0);A=0}}else{t[U>>2]=r;A=1}if(!l){l=A;o=274}else{o=280;break e}}else o=275;break}case 5:{i[L>>0]=0;i[ge>>0]=1;if(!(t[E>>2]|0)){t[B>>2]=75395;l=1}else{o=t[b+64>>2]|0;o=tc(y,b,u+o|0,(t[Le>>2]|0)+(0-o)|0)|0;t[B>>2]=o;if(!o){l=1;o=280;break e}t[Z>>2]=t[I>>2];l=0}if((((i[ye>>0]|0)==0?(t[N>>2]|0)==0:0)?(me=t[Ce>>2]|0,me|0):0)?(I5[me&63](t[de>>2]|0)|0)==0:0){l=22;o=280;break e}if(!(t[D>>2]|0)){A=fc(e,Q,75395,36)|0;t[D>>2]=A;if(!A){l=1;o=280;break e}t[A+24>>2]=0;o=133}else o=133;break}case 13:{l=1;o=133;break}case 15:{if(((i[z>>0]|0)!=0?(t[D>>2]|0)!=0:0)?(t[M>>2]|0)!=0:0){t[k>>2]=u;l=t[D>>2]|0;H5[t[M>>2]&0](t[de>>2]|0,t[l>>2]|0,n[l+33>>0]|0,0,0,t[l+20>>2]|0,t[l+16>>2]|0,t[l+24>>2]|0,0);l=b}else o=275;break}case 16:{if((i[z>>0]|0)!=0?(t[D>>2]|0)!=0:0){f=tc(W,b,u,t[Le>>2]|0)|0;t[(t[D>>2]|0)+28>>2]=f;if(!(t[(t[D>>2]|0)+28>>2]|0)){l=1;o=280;break e}t[F>>2]=t[Y>>2];if(t[T>>2]|0){t[k>>2]=u;l=t[D>>2]|0;J5[t[T>>2]&15](t[de>>2]|0,t[l>>2]|0,t[l+20>>2]|0,t[l+16>>2]|0,t[l+24>>2]|0,t[l+28>>2]|0);l=b;break A}if(t[M>>2]|0){t[k>>2]=u;l=t[D>>2]|0;H5[t[M>>2]&0](t[de>>2]|0,t[l>>2]|0,0,0,0,t[l+20>>2]|0,t[l+16>>2]|0,t[l+24>>2]|0,t[l+28>>2]|0);l=b}else o=275}else o=275;break}case 9:{if(L5[t[b+44>>2]&63](b,u,t[Le>>2]|0)|0){t[D>>2]=0;o=275;break A}if(!(i[z>>0]|0)){t[Y>>2]=t[F>>2];t[D>>2]=0;o=275;break A}l=tc(W,b,u,t[Le>>2]|0)|0;if(!l){l=1;o=280;break e}A=fc(e,d,l,36)|0;t[D>>2]=A;if(!A){l=1;o=280;break e}if((t[A>>2]|0)!=(l|0)){t[Y>>2]=t[F>>2];t[D>>2]=0;o=275;break A}t[F>>2]=t[Y>>2];t[(t[D>>2]|0)+24>>2]=0;i[(t[D>>2]|0)+33>>0]=0;if(!(t[O>>2]|0))l=(t[be>>2]|0)!=0;else l=1;i[(t[D>>2]|0)+34>>0]=(l^1)&1;if(!(t[M>>2]|0))o=275;else l=b;break}case 10:{if(!(i[z>>0]|0)){t[Y>>2]=t[F>>2];t[D>>2]=0;o=275;break A}l=tc(W,b,u,t[Le>>2]|0)|0;if(!l){l=1;o=280;break e}A=fc(e,Q,l,36)|0;t[D>>2]=A;if(!A){l=1;o=280;break e}if((t[A>>2]|0)!=(l|0)){t[Y>>2]=t[F>>2];t[D>>2]=0;o=275;break A}t[F>>2]=t[Y>>2];t[(t[D>>2]|0)+24>>2]=0;i[(t[D>>2]|0)+33>>0]=1;if(!(t[O>>2]|0))l=(t[be>>2]|0)!=0;else l=1;i[(t[D>>2]|0)+34>>0]=(l^1)&1;if(!(t[M>>2]|0))o=275;else l=b;break}case 18:{t[_>>2]=0;t[q>>2]=0;if(!(t[K>>2]|0))o=275;else{u=tc(y,b,u,t[Le>>2]|0)|0;t[q>>2]=u;if(!u){l=1;o=280;break e}t[Z>>2]=t[I>>2];l=b}break}case 21:{if(!(Q5[t[b+52>>2]&127](b,u,t[Le>>2]|0,w)|0)){l=32;o=280;break e}if(!(t[q>>2]|0))o=275;else{l=t[b+64>>2]|0;l=tc(y,b,u+l|0,(t[Le>>2]|0)+(0-l)|0)|0;if(!l){l=1;o=280;break e}lc(l);t[_>>2]=l;t[Z>>2]=t[I>>2];l=b}break}case 19:{if((t[q>>2]|0)!=0?(t[K>>2]|0)!=0:0){l=t[b+64>>2]|0;l=tc(y,b,u+l|0,(t[Le>>2]|0)+(0-l)|0)|0;if(!l){l=1;o=280;break e}t[k>>2]=u;x5[t[K>>2]&15](t[de>>2]|0,t[q>>2]|0,t[Ie>>2]|0,l,t[_>>2]|0);l=0}else l=1;nc(y);o=274;break}case 20:{if((t[_>>2]|0)!=0?(t[K>>2]|0)!=0:0){t[k>>2]=u;x5[t[K>>2]&15](t[de>>2]|0,t[q>>2]|0,t[Ie>>2]|0,0,t[_>>2]|0);l=0}else l=1;nc(y);o=274;break}case 58:{if(t[m>>2]|0)vc(e,b,u,t[Le>>2]|0);l=gc(e,b,Le,a,s,c)|0;if(l|0){o=280;break e}if(!(t[Le>>2]|0)){o=189;break e}else l=b;break}case 44:{l=t[ee>>2]|0;do{if((t[$>>2]|0)>>>0>=l>>>0){if(!l){f=t[fe>>2]|0;t[ee>>2]=32;f=I5[f&63](32)|0;t[Ae>>2]=f;if(!f){o=198;break e}else break}r=t[le>>2]|0;f=t[Ae>>2]|0;l=l<<1;t[ee>>2]=l;l=Z5[r&127](f,l)|0;if(!l){o=193;break e}t[Ae>>2]=l;l=t[ie>>2]|0;if(l|0){l=Z5[t[le>>2]&127](l,t[ee>>2]<<2)|0;if(!l){l=1;o=280;break e}t[ie>>2]=l}}}while(0);i[(t[Ae>>2]|0)+(t[$>>2]|0)>>0]=0;if(i[re>>0]|0){l=pc(e)|0;if((l|0)<0){l=1;o=280;break e}t[(t[ie>>2]|0)+(t[ae>>2]<<2)>>2]=l;t[ae>>2]=(t[ae>>2]|0)+1;t[(t[te>>2]|0)+(l*28|0)>>2]=6;if(t[ne>>2]|0)l=b;else o=275}else o=275;break}case 50:{l=(t[Ae>>2]|0)+(t[$>>2]|0)|0;if((i[l>>0]|0)==124){l=2;o=280;break e}i[l>>0]=44;if((i[re>>0]|0)!=0?(t[ne>>2]|0)!=0:0)l=b;else o=275;break}case 49:{r=t[Ae>>2]|0;A=t[$>>2]|0;l=i[r+A>>0]|0;if(l<<24>>24==44){l=2;o=280;break e}if(l<<24>>24==0&(i[re>>0]|0)!=0?(Ze=(t[te>>2]|0)+((t[(t[ie>>2]|0)+((t[ae>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(t[Ze>>2]|0)!=3):0){t[Ze>>2]=5;l=(t[ne>>2]|0)==0&1;r=t[Ae>>2]|0;A=t[$>>2]|0}else l=1;i[r+A>>0]=124;o=274;break}case 59:case 60:{i[ge>>0]=1;if(t[N>>2]|0){A=t[b+64>>2]|0;A=tc(W,b,u+A|0,(t[Le>>2]|0)+(0-A)|0)|0;if(!A){l=1;o=280;break e}r=fc(e,Q,A,0)|0;t[Y>>2]=t[F>>2];do{if(t[se>>2]|0){if(!(i[ye>>0]|0)){if(i[ge>>0]|0){o=219;break}}else if(t[be>>2]|0){o=219;break}if(!r){l=11;o=280;break e}if(!(i[r+34>>0]|0)){l=24;o=280;break e}}else o=219}while(0);if((o|0)==219?(o=0,(r|0)==0):0){i[z>>0]=i[ye>>0]|0;if((f|0)!=60){o=275;break A}l=t[ce>>2]|0;if(!l){o=275;break A}V5[l&127](t[de>>2]|0,A,1);l=b;break A}l=r+32|0;if(i[l>>0]|0){l=12;o=280;break e}if(t[r+4>>2]|0){l=Ec(e,r,(f|0)==60&1)|0;A=(l|0)==0;if(A){l=(A^1)&1;o=274;break A}else{o=280;break e}}if(!(t[pe>>2]|0)){i[z>>0]=i[ye>>0]|0;o=275;break A}i[Ee>>0]=0;i[l>>0]=1;f=(D5[t[pe>>2]&127](t[Be>>2]|0,0,t[r+20>>2]|0,t[r+16>>2]|0,t[r+24>>2]|0)|0)==0;i[l>>0]=0;if(f){l=21;o=280;break e}A=i[ye>>0]|0;if(!(i[Ee>>0]|0)){i[z>>0]=A;l=b;break A}else l=0}else{A=i[ye>>0]|0;i[z>>0]=A;l=1}if((A<<24>>24==0?(Ge=t[Ce>>2]|0,(Ge|0)!=0):0)?(I5[Ge&63](t[de>>2]|0)|0)==0:0){l=22;o=280;break e}else o=274;break}case 40:{if(!(t[ne>>2]|0))o=275;else{u=cc(e,b,u,t[Le>>2]|0)|0;t[R>>2]=u;if(!u){l=1;o=280;break e}t[ae>>2]=0;t[oe>>2]=0;i[re>>0]=1;l=b}break}case 42:case 41:{if(!(i[re>>0]|0))o=275;else{if(!(t[ne>>2]|0))l=1;else{l=I5[t[fe>>2]&63](20)|0;if(!l){l=1;o=280;break e}o=l+4|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[l>>2]=(f|0)==41?2:1;t[k>>2]=u;V5[t[ne>>2]&127](t[de>>2]|0,t[t[R>>2]>>2]|0,l);l=0}i[re>>0]=0;o=274}break}case 43:{if((i[re>>0]|0)!=0?(t[(t[te>>2]|0)+((t[(t[ie>>2]|0)+((t[ae>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(t[ne>>2]|0)!=0):0)l=b;else o=275;break}case 51:{A=0;o=247;break}case 53:{A=1;o=247;break}case 52:{A=2;o=247;break}case 54:{A=3;o=247;break}case 45:{r=0;o=258;break}case 47:{r=1;o=258;break}case 46:{r=2;o=258;break}case 48:{r=3;o=258;break}case 55:{if(!(yc(e,b,u,t[Le>>2]|0)|0)){l=1;o=280;break e}else l=b;break}case 56:{if(!(Cc(e,b,u,t[Le>>2]|0)|0)){l=1;o=280;break e}else l=b;break}case 0:{if((A|0)==14)l=b;else o=275;break}case 3:{if(!(t[E>>2]|0))o=275;else l=b;break}case 11:{if((i[z>>0]|0)!=0?(t[M>>2]|0)!=0:0)l=b;else o=275;break}case 17:{if(!(t[K>>2]|0))o=275;else l=b;break}case 33:{if((i[z>>0]|0)!=0?(t[x>>2]|0)!=0:0)l=b;else o=275;break}case 39:{if(!(t[ne>>2]|0))o=275;else l=b;break}default:o=275}}while(0);if((o|0)==33)if(!(Q5[t[b+52>>2]&127](b,u,t[Le>>2]|0,w)|0)){l=32;o=280;break}else{l=1;o=34}else if((o|0)==80){o=0;if((i[z>>0]|0)!=0?(t[x>>2]|0)!=0:0)l=b;else o=275}else if((o|0)==133){o=0;if((i[z>>0]|0)!=0?(t[D>>2]|0)!=0:0){A=t[b+64>>2]|0;A=tc(W,b,u+A|0,(t[Le>>2]|0)+(0-A)|0)|0;t[(t[D>>2]|0)+16>>2]=A;A=t[D>>2]|0;if(!(t[A+16>>2]|0)){l=1;o=280;break}t[A+20>>2]=t[Ie>>2];t[F>>2]=t[Y>>2];if((f|0)==13&(t[M>>2]|0)!=0)l=b;else o=274}else o=274}else if((o|0)==247){o=0;if(i[re>>0]|0){l=t[Le>>2]|0;if(A)l=l+(0-(t[b+64>>2]|0))|0;r=pc(e)|0;if((r|0)<0){l=1;o=280;break}t[(t[te>>2]|0)+(r*28|0)>>2]=4;t[(t[te>>2]|0)+(r*28|0)+4>>2]=A;l=cc(e,b,u,l)|0;if(!l){l=1;o=280;break}A=t[l>>2]|0;t[(t[te>>2]|0)+(r*28|0)+8>>2]=A;l=0;do{f=l;l=l+1|0}while((i[A+f>>0]|0)!=0);t[ue>>2]=(t[ue>>2]|0)+l;if(t[ne>>2]|0)l=b;else o=275}else o=275}else if((o|0)==258)if(i[re>>0]|0){A=(t[ne>>2]|0)==0;l=A&1;o=(t[ae>>2]|0)+-1|0;t[ae>>2]=o;t[(t[te>>2]|0)+((t[(t[ie>>2]|0)+(o<<2)>>2]|0)*28|0)+4>>2]=r;if(!(t[ae>>2]|0)){if(!A){A=Bc(e)|0;if(!A){l=1;o=280;break}t[k>>2]=u;V5[t[ne>>2]&127](t[de>>2]|0,t[t[R>>2]>>2]|0,A)}i[re>>0]=0;t[ue>>2]=0;o=274}else o=274}else o=275;if((o|0)==34){o=0;if((i[z>>0]|0)!=0?(t[D>>2]|0)!=0:0){A=t[b+64>>2]|0;A=tc(W,b,u+A|0,(t[Le>>2]|0)+(0-A)|0)|0;if(!A){l=1;o=280;break}lc(A);t[(t[D>>2]|0)+24>>2]=A;t[F>>2]=t[Y>>2];if((f|0)==14&(t[M>>2]|0)!=0)l=b;else o=274}else o=274}if((o|0)==274){o=0;if(!(l<<24>>24))l=b;else o=275}if((o|0)==275){o=0;if(!(t[m>>2]|0))l=b;else{vc(e,b,u,t[Le>>2]|0);l=b}}switch(t[p>>2]|0){case 3:{o=278;break e}case 2:{l=35;o=280;break e}default:{}}A=t[Le>>2]|0;b=l;u=A;A=Q5[t[l>>2]&127](l,A,a,Le)|0}e:switch(o|0){case 7:{t[s>>2]=u;l=0;break}case 9:{t[w>>2]=r;l=4;break}case 10:{l=(b|0)==(t[v>>2]|0);if(!l?(i[(t[be>>2]|0)+20>>0]|0)==0:0){t[s>>2]=u;l=0;break}if((i[e+484>>0]|0)!=0|l^1)if((D5[t[we>>2]&127](we,-4,a,a,b)|0)==-1)l=29;else{t[s>>2]=u;l=0}else l=3;break}case 58:{do{if((i[L>>0]|0?(Qe=i[ge>>0]|0,i[ge>>0]=1,t[N>>2]|0):0)?t[pe>>2]|0:0){l=fc(e,Q,75395,36)|0;if(!l){l=1;break e}Le=l+20|0;t[Le>>2]=t[Ie>>2];i[Ee>>0]=0;if(!(D5[t[pe>>2]&127](t[Be>>2]|0,0,t[Le>>2]|0,t[l+16>>2]|0,t[l+24>>2]|0)|0)){l=21;break e}if(!(i[Ee>>0]|0)){i[ge>>0]=Qe;break}if(((i[ye>>0]|0)==0?(De=t[Ce>>2]|0,De|0):0)?(I5[De&63](t[de>>2]|0)|0)==0:0){l=22;break e}}}while(0);t[e+276>>2]=58;l=sc(e,u,a,s)|0;break}case 184:{l=(A|0)==28?10:(A|0)==12?17:2;break}case 189:{t[e+276>>2]=59;l=0;break}case 193:{t[ee>>2]=(t[ee>>2]|0)>>>1;l=1;break}case 198:{t[ee>>2]=0;l=1;break}case 278:{t[s>>2]=t[Le>>2];l=0;break}case 280:break}h=ze;return l|0}function ac(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+32|0;w=k+16|0;o=k+12|0;l=k+8|0;s=k+4|0;c=k;t[w>>2]=0;t[o>>2]=0;t[l>>2]=0;t[c>>2]=-1;u=e+144|0;b=e+284|0;n=(A|0)!=0;e:do{if(W5[(i[e+232>>0]<<24>>24?2:1)&3](A,t[u>>2]|0,r,a,b,l,s,w,o,c)|0){if((t[c>>2]|0)==1&(n^1)?(i[(t[e+352>>2]|0)+130>>0]=1,f=e+488|0,(t[f>>2]|0)==1):0)t[f>>2]=0;f=e+140|0;if(!(t[f>>2]|0))if(!(t[e+80>>2]|0)){r=0;A=0}else{vc(e,t[u>>2]|0,r,a);r=0;A=0}else{A=t[w>>2]|0;if(!A)A=0;else{a=t[u>>2]|0;A=tc(e+436|0,a,A,A+(Z5[t[a+28>>2]&127](a,A)|0)|0)|0;if(!A){A=1;break}t[e+452>>2]=t[e+448>>2]}n=t[l>>2]|0;if(n){l=t[u>>2]|0;n=tc(e+436|0,l,n,(t[s>>2]|0)+(0-(t[l+64>>2]|0))|0)|0;if(!n){A=1;break}}else n=0;R5[t[f>>2]&31](t[e+4>>2]|0,n,A,t[c>>2]|0);r=n}do{if(!(t[e+228>>2]|0)){n=t[o>>2]|0;f=n;if(n|0){c=t[n+64>>2]|0;o=t[u>>2]|0;if((c|0)==(t[o+64>>2]|0)?(c|0)!=2|(n|0)==(o|0):0){t[u>>2]=f;break}t[b>>2]=t[w>>2];A=19;break e}n=t[w>>2]|0;if(n|0){f=e+436|0;if(!A){A=t[u>>2]|0;A=tc(f,A,n,n+(Z5[t[A+28>>2]&127](A,n)|0)|0)|0;if(!A){A=1;break e}}A=Kc(e,A)|0;nc(f);if((A|0)!=18)break e;t[b>>2]=t[w>>2];A=18;break e}}}while(0);if((A|0)!=0|(r|0)!=0){nc(e+436|0);A=0}else A=0}else A=n?31:30}while(0);h=k;return A|0}function tc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;do{if(!(bc(e,A,r,a)|0))A=0;else{r=e+12|0;A=t[r>>2]|0;if((A|0)==(t[e+8>>2]|0)){if(!((wc(e)|0)<<24>>24)){A=0;break}A=t[r>>2]|0}t[r>>2]=A+1;i[A>>0]=0;A=t[e+16>>2]|0}}while(0);return A|0}function nc(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;i=e+4|0;A=t[i>>2]|0;e:do{if(!A){t[i>>2]=t[e>>2];A=e}else{r=t[e>>2]|0;while(1){if(!r){A=e;break e}n=t[r>>2]|0;t[r>>2]=A;t[i>>2]=r;a=r;r=n;A=a}}}while(0);t[A>>2]=0;t[e+16>>2]=0;t[e+12>>2]=0;t[e+8>>2]=0;return}function fc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0;E=A+8|0;e:do{if(!(t[E>>2]|0))if(a){i[A+4>>0]=6;t[E>>2]=64;f=A+16|0;l=I5[t[t[f>>2]>>2]&63](256)|0;t[A>>2]=l;if(!l){t[E>>2]=0;f=0;break}else{z6(l|0,0,256)|0;s=_c(e,r)|0;s=(t[E>>2]|0)+-1&s;l=A;h=27;break}}else f=0;else{p=_c(e,r)|0;c=t[E>>2]|0;s=c+-1|0;o=t[A>>2]|0;u=p&0-c;m=A+4|0;b=s>>>2;l=0;s=s&p;while(1){f=t[o+(s<<2)>>2]|0;if(!f)break;if((qc(r,t[f>>2]|0)|0)<<24>>24)break e;if(!(l<<24>>24))f=(u>>>((n[m>>0]|0)+-1|0)&b|1)&255;else f=l;g=f&255;l=f;s=s-g+(s>>>0>>0?c:0)|0}if(a){l=i[m>>0]|0;f=l&255;if(!((t[A+12>>2]|0)>>>(f+-1|0))){f=A+16|0;l=A;h=27;break}k=f+1&255;s=l+1&255;v=1<>2]>>2]&63](l)|0;if(g){z6(g|0,0,l|0)|0;w=0-v|0;b=s+-1|0;h=d>>>2;u=0;while(1){if(u>>>0>=(t[E>>2]|0)>>>0)break;l=t[(t[A>>2]|0)+(u<<2)>>2]|0;if(l|0){l=_c(e,t[l>>2]|0)|0;c=((l&w)>>>b&h|1)&255;l=l&d;s=0;while(1){o=g+(l<<2)|0;if(!(t[o>>2]|0))break;o=s<<24>>24==0?c:s;B=o&255;l=l+(l>>>0>>0?v:0)-B|0;s=o}t[o>>2]=t[(t[A>>2]|0)+(u<<2)>>2]}u=u+1|0}F5[t[(t[f>>2]|0)+8>>2]&127](t[A>>2]|0);t[A>>2]=g;i[m>>0]=k;t[E>>2]=v;c=((p&w)>>>b&h|1)&255;l=d&p;s=0;while(1){if(!(t[g+(l<<2)>>2]|0)){s=l;l=A;h=27;break e}B=s<<24>>24==0?c:s;E=B&255;l=l+(l>>>0>>0?v:0)-E|0;s=B}}else f=0}else f=0}}while(0);if((h|0)==27){f=I5[t[t[f>>2]>>2]&63](a)|0;t[(t[l>>2]|0)+(s<<2)>>2]=f;f=t[(t[l>>2]|0)+(s<<2)>>2]|0;if(!f)f=0;else{z6(f|0,0,a|0)|0;t[t[(t[l>>2]|0)+(s<<2)>>2]>>2]=r;f=A+12|0;t[f>>2]=(t[f>>2]|0)+1;f=t[(t[l>>2]|0)+(s<<2)>>2]|0}}return f|0}function lc(e){e=e|0;var A=0,r=0,a=0;a=e;A=e;while(1){r=i[a>>0]|0;if(!(r<<24>>24))break;switch(r<<24>>24|0){case 10:case 13:case 32:{if((A|0)!=(e|0)){if((i[A+-1>>0]|0)!=32){i[A>>0]=32;A=A+1|0}}else A=e;break}default:{i[A>>0]=r;A=A+1|0}}a=a+1|0}if((A|0)!=(e|0)){e=A+-1|0;e=(i[e>>0]|0)==32?e:A}i[e>>0]=0;return}function sc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;A=Gc(e,0,t[e+144>>2]|0,A,r,a,(i[e+480>>0]|0)==0&1)|0;if((A|0)==0?(Vc(e)|0)<<24>>24==0:0)A=1;return A|0}function cc(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=t[e+352>>2]|0;A=tc(n+80|0,A,r,i)|0;do{if((A|0)!=0?(a=fc(e,n+20|0,A,24)|0,(a|0)!=0):0)if((t[a>>2]|0)==(A|0)){t[n+96>>2]=t[n+92>>2];if(!(Rc(e,a)|0)){a=0;break}}else t[n+92>>2]=t[n+96>>2];else a=0}while(0);return a|0}function oc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=t[e+352>>2]|0;c=u+80|0;b=u+92|0;f=t[b>>2]|0;o=u+88|0;if((f|0)==(t[o>>2]|0))if(!((wc(c)|0)<<24>>24))n=0;else{f=t[b>>2]|0;l=4}else l=4;e:do{if((l|0)==4){t[b>>2]=f+1;i[f>>0]=0;A=tc(c,A,r,a)|0;if((A|0)!=0?(s=A+1|0,n=fc(e,u+40|0,s,12)|0,(n|0)!=0):0){if((t[n>>2]|0)!=(s|0)){t[b>>2]=t[u+96>>2];break}f=t[b>>2]|0;l=u+96|0;t[l>>2]=f;if(i[e+232>>0]|0){r=i[s>>0]|0;A:do{if(r<<24>>24==120)if((((i[A+2>>0]|0)==109?(i[A+3>>0]|0)==108:0)?(i[A+4>>0]|0)==110:0)?(i[A+5>>0]|0)==115:0){switch(i[A+6>>0]|0){case 0:{f=u+152|0;break}case 58:{f=fc(e,u+60|0,A+7|0,8)|0;break}default:{a=0;A=120;break A}}t[n+4>>2]=f;i[n+9>>0]=1;break e}else{a=0;A=120}else{a=0;A=r}}while(0);A:while(1){switch(A<<24>>24){case 0:break e;case 58:{r=0;break A}default:{}}A=a+1|0;a=A;A=i[s+A>>0]|0}while(1){A=(f|0)==(t[o>>2]|0);if((r|0)>=(a|0))break;if(A){if(!((wc(c)|0)<<24>>24)){n=0;break e}f=t[b>>2]|0}A=i[s+r>>0]|0;t[b>>2]=f+1;i[f>>0]=A;r=r+1|0;f=t[b>>2]|0}if(A){if(!((wc(c)|0)<<24>>24)){n=0;break}f=t[b>>2]|0}t[b>>2]=f+1;i[f>>0]=0;f=fc(e,u+60|0,t[l>>2]|0,8)|0;t[n+4>>2]=f;if(f){A=t[l>>2]|0;if((t[f>>2]|0)==(A|0)){t[l>>2]=t[b>>2];break}else{t[b>>2]=A;break}}else n=0}}else n=0}}while(0);return n|0}function uc(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;n=e+12|0;f=e+8|0;while(1){r=i[A>>0]|0;if(!(r<<24>>24)){l=7;break}a=t[n>>2]|0;if((a|0)==(t[f>>2]|0)){if(!((wc(e)|0)<<24>>24)){A=0;break}a=t[n>>2]|0;r=i[A>>0]|0}t[n>>2]=a+1;i[a>>0]=r;A=A+1|0}if((l|0)==7)A=t[e+16>>2]|0;return A|0}function bc(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;t[f>>2]=r;n=e+12|0;if((t[n>>2]|0)==0?(wc(e)|0)<<24>>24==0:0)r=0;else a=3;e:do{if((a|0)==3){r=A+56|0;a=e+8|0;while(1){if((D5[t[r>>2]&127](A,f,i,n,t[a>>2]|0)|0)>>>0<2)break;if(!((wc(e)|0)<<24>>24)){r=0;break e}}r=t[e+16>>2]|0}}while(0);h=l;return r|0}function hc(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0;l=a<<24>>24==0;b=e+12|0;u=t[b>>2]|0;e:do{if(!(l&(n|0)==0)){s=e+20|0;a=0;while(1){if((a|0)>=(u|0))break;if((t[(t[s>>2]|0)+(a*12|0)>>2]|0)==(A|0)){a=1;break e}else a=a+1|0}if((!l?(c=e+8|0,(t[c>>2]|0)==0):0)?(i[A+9>>0]|0)==0:0){t[c>>2]=A;o=9}else o=9}else o=9}while(0);e:do{if((o|0)==9){s=e+16|0;do{if((u|0)==(t[s>>2]|0))if(!u){t[s>>2]=8;a=I5[t[f+12>>2]&63](96)|0;t[e+20>>2]=a;if(a|0)break;t[s>>2]=0;a=0;break e}else{l=e+20|0;a=Z5[t[f+16>>2]&127](t[l>>2]|0,u*24|0)|0;if(!a){a=0;break e}t[s>>2]=u<<1;t[l>>2]=a;break}else a=t[e+20>>2]|0}while(0);f=t[b>>2]|0;t[a+(f*12|0)>>2]=A;t[a+(f*12|0)+8>>2]=n;i[a+(f*12|0)+4>>0]=r;if(!(r<<24>>24))i[A+8>>0]=1;t[b>>2]=(t[b>>2]|0)+1;a=1}}while(0);return a|0}function wc(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;A=e+4|0;i=t[A>>2]|0;do{if(i){a=e+16|0;n=t[a>>2]|0;if(!n){t[e>>2]=i;t[A>>2]=t[i>>2];t[i>>2]=0;o=t[e>>2]|0;A=o+8|0;t[a>>2]=A;t[e+8>>2]=(t[o+4>>2]|0)+(o+8);t[e+12>>2]=A;A=1;break}r=e+8|0;if(((t[r>>2]|0)-n|0)<(t[i+4>>2]|0)){c=t[i>>2]|0;t[i>>2]=t[e>>2];o=t[A>>2]|0;t[e>>2]=o;t[A>>2]=c;A=t[a>>2]|0;Q6(o+8|0,A|0,(t[r>>2]|0)-A|0)|0;A=t[e>>2]|0;o=e+12|0;t[o>>2]=(t[o>>2]|0)-(t[a>>2]|0)+(A+8);t[a>>2]=A+8;t[r>>2]=(t[A+4>>2]|0)+(A+8);A=1}else f=6}else f=6}while(0);e:do{if((f|0)==6){i=t[e>>2]|0;c=e+16|0;do{if(!i){l=c;A=t[c>>2]|0}else{s=t[c>>2]|0;A=s;if((s|0)!=(i+8|0)){l=c;break}a=e+8|0;n=(t[a>>2]|0)-A<<1;f=e+12|0;r=(t[f>>2]|0)-A|0;if((n|0)<0){A=0;break e}A=Oc(n)|0;if(!A){A=0;break e}A=Z5[t[(t[e+20>>2]|0)+4>>2]&127](i,A)|0;if(!A){A=0;break e}t[e>>2]=A;t[A+4>>2]=n;A=t[e>>2]|0;t[f>>2]=A+8+r;t[c>>2]=A+8;t[a>>2]=A+8+n;A=1;break e}}while(0);s=e+8|0;A=(t[s>>2]|0)-A|0;if((A|0)>=0){if((A|0)>=1024){A=A<<1;if((A|0)<0){A=0;break}}else A=1024;r=Oc(A)|0;if((r|0)!=0?(o=I5[t[t[e+20>>2]>>2]&63](r)|0,(o|0)!=0):0){t[o+4>>2]=A;t[o>>2]=t[e>>2];t[e>>2]=o;f=e+12|0;e=t[f>>2]|0;i=t[c>>2]|0;r=e;a=i;if((e|0)==(i|0)){n=o+8|0;i=a}else{n=o+8|0;Q6(n|0,i|0,r-a|0)|0;i=t[l>>2]|0;r=t[f>>2]|0}t[f>>2]=o+8+(r-i);t[c>>2]=n;t[s>>2]=o+8+A;A=1}else A=0}else A=0}}while(0);return A|0}function kc(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0;e=Tc(e,A,r,a,n,f)|0;do{if(!e){A=f+12|0;e=t[A>>2]|0;if((r<<24>>24==0?(t[f+16>>2]|0)!=(e|0):0)?(l=e+-1|0,(i[l>>0]|0)==32):0){t[A>>2]=l;e=l}if((e|0)==(t[f+8>>2]|0)){if(!((wc(f)|0)<<24>>24)){e=1;break}e=t[A>>2]|0}t[A>>2]=e+1;i[e>>0]=0;e=0}}while(0);return e|0}function dc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+16|0;Z=W;G=W+4|0;n=t[e+352>>2]|0;L=n+104|0;D=e+272|0;Q=t[D>>2]|0;t[D>>2]=1;if((t[L>>2]|0)==0?(wc(L)|0)<<24>>24==0:0)n=1;else{u=A+20|0;b=e+484|0;w=e+144|0;k=e+412|0;d=A+64|0;v=n+132|0;g=e+428|0;m=e+424|0;p=e+224|0;E=e+112|0;o=n+130|0;B=n+128|0;y=n+131|0;C=e+116|0;I=n+112|0;s=n+116|0;c=A+40|0;e:while(1){A:do{switch(Q5[t[u>>2]&127](A,r,a,Z)|0){case-4:{n=0;break e}case-1:{z=37;break e}case 0:{z=39;break e}case 28:{if((i[b>>0]|0)==0?(t[w>>2]|0)==(A|0):0){z=19;break e}n=t[d>>2]|0;n=tc(k,A,r+n|0,(t[Z>>2]|0)+(0-n)|0)|0;if(!n){n=1;break e}f=fc(e,v,n,0)|0;t[m>>2]=t[g>>2];if(!f){z=9;break e}l=f+32|0;if(i[l>>0]|0){z=11;break e}n=f+16|0;if(!(t[n>>2]|0)){i[l>>0]=1;n=t[f+4>>2]|0;n=dc(e,t[p>>2]|0,n,n+(t[f+8>>2]|0)|0)|0;i[l>>0]=0;if(!n)break A;else break e}if(t[E>>2]|0){i[y>>0]=0;i[l>>0]=1;f=(D5[t[E>>2]&127](t[C>>2]|0,0,t[f+20>>2]|0,t[n>>2]|0,t[f+24>>2]|0)|0)==0;i[l>>0]=0;if(f){n=21;break e}if(i[y>>0]|0)break A}i[B>>0]=i[o>>0]|0;break}case 6:case 9:{if(!(bc(L,A,r,t[Z>>2]|0)|0)){n=1;break e}break}case-3:{t[Z>>2]=r+(t[d>>2]|0);z=22;break}case 7:{z=22;break}case 10:{n=Z5[t[c>>2]&127](A,r)|0;if((n|0)<0){z=27;break e}f=vo(n,G)|0;r=0;while(1){if((r|0)>=(f|0))break;n=t[s>>2]|0;if((t[I>>2]|0)==(n|0)){if(!((wc(L)|0)<<24>>24)){n=1;z=35;break e}n=t[s>>2]|0}l=i[G+r>>0]|0;t[s>>2]=n+1;i[n>>0]=l;r=r+1|0}break}default:{z=41;break e}}}while(0);if((z|0)==22){z=0;n=t[s>>2]|0;if((t[I>>2]|0)==(n|0)){if(!((wc(L)|0)<<24>>24)){n=1;break}n=t[s>>2]|0}t[s>>2]=n+1;i[n>>0]=10}r=t[Z>>2]|0}if((z|0)==9){i[B>>0]=i[o>>0]|0;n=0}else if((z|0)==11)if((t[w>>2]|0)==(A|0)){t[e+284>>2]=r;n=12}else n=12;else if((z|0)==19){t[e+284>>2]=r;n=10}else if((z|0)==27)if((t[w>>2]|0)==(A|0)){t[e+284>>2]=r;n=14;z=35}else{n=14;z=35}else if((z|0)==37)if((t[w>>2]|0)==(A|0)){t[e+284>>2]=r;n=4}else n=4;else if((z|0)==39)if((t[w>>2]|0)==(A|0)){t[e+284>>2]=t[Z>>2];n=4}else n=4;else if((z|0)==41)if((t[w>>2]|0)==(A|0)){t[e+284>>2]=r;n=23}else n=23;t[D>>2]=Q}h=W;return n|0}function vc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+16|0;u=w;b=w+4|0;t[u>>2]=r;if(!(i[A+68>>0]|0)){if((t[e+144>>2]|0)==(A|0)){n=e+288|0;f=e+284|0}else{f=t[e+296>>2]|0;n=f+4|0}l=e+44|0;s=A+56|0;c=e+48|0;o=e+80|0;r=e+4|0;do{t[b>>2]=t[l>>2];e=D5[t[s>>2]&127](A,u,a,b,t[c>>2]|0)|0;t[n>>2]=t[u>>2];k=t[l>>2]|0;V5[t[o>>2]&127](t[r>>2]|0,k,(t[b>>2]|0)-k|0);t[f>>2]=t[u>>2]}while(e>>>0>1)}else V5[t[e+80>>2]&127](t[e+4>>2]|0,r,a-r|0);h=w;return}function gc(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+16|0;s=o;c=t[r>>2]|0;if((t[e+144>>2]|0)==(A|0)){l=e+284|0;t[l>>2]=c;f=e+288|0}else{l=t[e+296>>2]|0;f=l+4|0}t[l>>2]=c;t[r>>2]=0;u=Q5[t[A+12>>2]&127](A,c,i,s)|0;i=t[s>>2]|0;t[f>>2]=i;switch(u|0){case 42:{if(t[e+80>>2]|0){vc(e,A,c,i);i=t[s>>2]|0}t[r>>2]=i;t[a>>2]=i;i=(t[e+476>>2]|0)==2?35:0;break}case 0:{t[l>>2]=i;i=4;break}case-2:{if(!(n<<24>>24))i=6;else{t[a>>2]=c;i=0}break}case-4:case-1:{if(!(n<<24>>24))i=2;else{t[a>>2]=c;i=0}break}default:{t[l>>2]=i;i=23}}h=o;return i|0}function mc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;f=h;h=h+16|0;n=f;t[n>>2]=A;A=gc(e,t[e+144>>2]|0,n,r,a,(i[e+480>>0]|0)==0&1)|0;n=t[n>>2]|0;if(!((A|0)!=0|(n|0)==0)){t[e+276>>2]=57;A=rc(e,n,r,a)|0}h=f;return A|0}function pc(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;l=t[e+352>>2]|0;s=l+184|0;if(!(t[s>>2]|0)){A=I5[t[e+12>>2]&63](t[e+464>>2]<<2)|0;t[s>>2]=A;if(!A)A=-1;else{t[A>>2]=0;r=4}}else r=4;do{if((r|0)==4){f=l+176|0;A=t[f>>2]|0;n=l+172|0;r=t[n>>2]|0;a=l+164|0;i=t[a>>2]|0;if(A>>>0>>0)n=i;else{if(!i){A=I5[t[e+12>>2]&63](896)|0;if(!A){A=-1;break}else{r=A;A=32}}else{A=Z5[t[e+16>>2]&127](i,r*56|0)|0;if(!A){A=-1;break}r=A;A=t[n>>2]<<1}t[n>>2]=A;t[a>>2]=r;A=t[f>>2]|0;n=r}t[f>>2]=A+1;r=t[l+180>>2]|0;if(r|0){e=t[(t[s>>2]|0)+(r+-1<<2)>>2]|0;a=n+(e*28|0)+16|0;r=t[a>>2]|0;if(r|0)t[n+(r*28|0)+24>>2]=A;r=n+(e*28|0)+20|0;i=t[r>>2]|0;if(!i)t[n+(e*28|0)+12>>2]=A;t[a>>2]=A;t[r>>2]=i+1}s=n+(A*28|0)+12|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0}}while(0);return A|0}function Ec(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;u=w;b=e+300|0;a=t[b>>2]|0;if(!a){a=I5[t[e+12>>2]&63](24)|0;if(!a)a=1;else{o=a;n=4}}else{t[b>>2]=t[a+8>>2];o=a;n=4}do{if((n|0)==4){f=A+32|0;i[f>>0]=1;l=A+12|0;t[l>>2]=0;s=e+296|0;c=o+8|0;t[c>>2]=t[s>>2];t[s>>2]=o;t[o+12>>2]=A;a=e+308|0;t[o+16>>2]=t[a>>2];i[o+20>>0]=r;t[o>>2]=0;t[o+4>>2]=0;n=t[A+4>>2]|0;r=n+(t[A+8>>2]|0)|0;t[u>>2]=n;if(!(i[A+33>>0]|0))a=Gc(e,t[a>>2]|0,t[e+224>>2]|0,n,r,u,0)|0;else{A=e+224|0;a=t[A>>2]|0;a=Q5[t[a>>2]&127](a,n,r,u)|0;a=ic(e,t[A>>2]|0,n,r,a,t[u>>2]|0,u,0)|0}if(!a){a=t[u>>2]|0;if((r|0)!=(a|0)?(t[e+476>>2]|0)==3:0){t[l>>2]=a-n;t[e+276>>2]=60;a=0;break}i[f>>0]=0;t[s>>2]=t[c>>2];t[c>>2]=t[b>>2];t[b>>2]=o;a=0}}}while(0);h=w;return a|0}function Bc(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;n=h;h=h+16|0;r=n+4|0;i=n;A=t[e+352>>2]|0;a=A+176|0;A=I5[t[e+12>>2]&63](((t[a>>2]|0)*20|0)+(t[A+168>>2]|0)|0)|0;if(!A)A=0;else{t[i>>2]=A+((t[a>>2]|0)*20|0);t[r>>2]=A+20;Zc(e,0,A,r,i)}h=n;return A|0}function yc(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;s=e+64|0;if(!(t[s>>2]|0))if(!(t[e+80>>2]|0))r=1;else{vc(e,A,r,i);r=1}else{f=A+64|0;n=r+(t[f>>2]<<1)|0;r=n+(Z5[t[A+28>>2]&127](A,n)|0)|0;a=e+412|0;n=tc(a,A,n,r)|0;if((n|0)!=0?(t[e+428>>2]=t[e+424>>2],l=Z5[t[A+32>>2]&127](A,r)|0,l=tc(a,A,l,i+(0-(t[f>>2]<<1))|0)|0,(l|0)!=0):0){Ic(l);V5[t[s>>2]&127](t[e+4>>2]|0,n,l);nc(a);r=1}else r=0}return r|0}function Cc(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;n=e+68|0;if(!(t[n>>2]|0))if(!(t[e+80>>2]|0))A=1;else{vc(e,A,r,i);A=1}else{a=e+412|0;f=t[A+64>>2]|0;A=tc(a,A,r+(f<<2)|0,i+(P(f,-3)|0)|0)|0;if(!A)A=0;else{Ic(A);M5[t[n>>2]&63](t[e+4>>2]|0,A);nc(a);A=1}}return A|0}function Ic(e){e=e|0;var A=0,r=0,a=0;e:while(1){switch(i[e>>0]|0){case 0:break e;case 13:{r=e;A=13;a=4;break e}default:{}}e=e+1|0}if((a|0)==4){while(1){if(A<<24>>24==13){i[r>>0]=10;a=e+1|0;e=(i[a>>0]|0)==10?e+2|0:a}else{i[r>>0]=A;e=e+1|0}r=r+1|0;A=i[e>>0]|0;if(!(A<<24>>24))break;else a=4}i[r>>0]=0}return}function Zc(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0;c=(t[e+352>>2]|0)+164|0;s=t[(t[c>>2]|0)+(A*28|0)>>2]|0;t[r>>2]=s;t[r+4>>2]=t[(t[c>>2]|0)+(A*28|0)+4>>2];if((s|0)==4){t[r+8>>2]=t[n>>2];A=t[(t[c>>2]|0)+(A*28|0)+8>>2]|0;while(1){s=i[A>>0]|0;c=t[n>>2]|0;t[n>>2]=c+1;i[c>>0]=s;if(!(i[A>>0]|0))break;else A=A+1|0}t[r+12>>2]=0;t[r+16>>2]=0}else{f=t[(t[c>>2]|0)+(A*28|0)+20>>2]|0;l=r+12|0;t[l>>2]=f;s=r+16|0;t[s>>2]=t[a>>2];t[a>>2]=(t[a>>2]|0)+(f*20|0);A=(t[c>>2]|0)+(A*28|0)+12|0;f=0;while(1){A=t[A>>2]|0;if(f>>>0>=(t[l>>2]|0)>>>0)break;Zc(e,A,(t[s>>2]|0)+(f*20|0)|0,a,n);A=(t[c>>2]|0)+(A*28|0)+24|0;f=f+1|0}t[r+8>>2]=0}return}function Gc(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0,q=0,K=0,$=0,ee=0,Ae=0,re=0,ie=0,ae=0,te=0,ne=0,fe=0,le=0,se=0,ce=0,oe=0,ue=0,be=0;ue=h;h=h+48|0;se=ue+28|0;ae=ue+32|0;ce=ue+24|0;q=ue;t[se>>2]=a;K=t[e+352>>2]|0;if((t[e+144>>2]|0)==(r|0)){te=e+284|0;_=e+288|0}else{_=t[e+296>>2]|0;te=_;_=_+4|0}t[te>>2]=a;g=r+4|0;ne=e+80|0;m=e+476|0;p=r+44|0;E=r+64|0;B=K+80|0;y=K+96|0;C=K+92|0;I=K+129|0;Z=e+112|0;G=e+116|0;L=e+428|0;Q=e+424|0;D=e+304|0;z=e+120|0;fe=e+4|0;W=K+130|0;$=e+60|0;Y=e+364|0;F=e+12|0;M=e+360|0;V=r+28|0;le=e+308|0;ee=r+56|0;N=e+16|0;R=e+52|0;x=e+412|0;J=e+388|0;H=e+56|0;P=e+232|0;X=e+233|0;S=e+468|0;j=e+104|0;U=e+372|0;T=r+40|0;O=e+72|0;Ae=r+68|0;re=e+44|0;ie=e+48|0;e:while(1){v=t[se>>2]|0;t[ae>>2]=v;v=Q5[t[g>>2]&127](r,v,n,ae)|0;a=t[ae>>2]|0;t[_>>2]=a;c=a;A:do{switch(v|0){case-3:{oe=6;break e}case-4:{oe=15;break e}case 0:{oe=20;break e}case-1:{oe=21;break e}case-2:{oe=23;break e}case 12:{a=17;break e}case-5:{oe=134;break e}case 9:{v=t[E>>2]|0;v=(L5[t[p>>2]&63](r,(t[se>>2]|0)+v|0,c+(0-v)|0)|0)&255;i[ce>>0]=v;do{if(v<<24>>24){a=t[$>>2]|0;if(a|0){V5[a&127](t[fe>>2]|0,ce,1);break}if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,t[ae>>2]|0)}else{s=t[E>>2]|0;s=tc(B,r,(t[se>>2]|0)+s|0,(t[ae>>2]|0)+(0-s)|0)|0;if(!s){a=1;oe=56;break e}c=fc(e,K,s,0)|0;t[C>>2]=t[y>>2];if((i[I>>0]|0)!=0?(i[W>>0]|0)==0:0){if(!c){a=t[z>>2]|0;if(a|0){V5[a&127](t[fe>>2]|0,s,0);break}if(!(t[ne>>2]|0))break;vc(e,r,t[se>>2]|0,t[ae>>2]|0);break}}else{if(!c){a=11;oe=56;break e}if(!(i[c+34>>0]|0)){a=24;oe=56;break e}}a=c+32|0;if(i[a>>0]|0){a=12;oe=56;break e}if(t[c+28>>2]|0){a=15;oe=56;break e}if(!(t[c+4>>2]|0)){if(!(t[Z>>2]|0)){if(!(t[ne>>2]|0))break;vc(e,r,t[se>>2]|0,t[ae>>2]|0);break}i[a>>0]=1;s=Qc(e)|0;i[a>>0]=0;if(!s){a=1;oe=56;break e}if(!(D5[t[Z>>2]&127](t[G>>2]|0,s,t[c+20>>2]|0,t[c+16>>2]|0,t[c+24>>2]|0)|0)){a=21;oe=56;break e}t[Q>>2]=t[L>>2];break}if(i[D>>0]|0){a=Ec(e,c,0)|0;if(!a)break;else{oe=58;break e}}a=t[z>>2]|0;if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,t[ae>>2]|0)}else V5[a&127](t[fe>>2]|0,t[c>>2]|0,0);break A}}while(0);break}case 1:case 2:{a=t[Y>>2]|0;if(!a){a=I5[t[F>>2]&63](48)|0;if(!a){a=1;oe=75;break e}s=I5[t[F>>2]&63](32)|0;t[a+36>>2]=s;if(!s){oe=63;break e}t[a+40>>2]=s+32}else t[Y>>2]=t[a>>2];b=a+44|0;t[b>>2]=0;t[a>>2]=t[M>>2];t[M>>2]=a;v=a+12|0;t[a+16>>2]=0;t[a+20>>2]=0;d=(t[se>>2]|0)+(t[E>>2]|0)|0;k=a+4|0;t[k>>2]=d;w=a+8|0;t[w>>2]=Z5[t[V>>2]&127](r,d)|0;t[le>>2]=(t[le>>2]|0)+1;k=t[k>>2]|0;w=k+(t[w>>2]|0)|0;t[q>>2]=k;k=a+36|0;t[ce>>2]=t[k>>2];d=a+40|0;s=t[d>>2]|0;while(1){be=D5[t[ee>>2]&127](r,q,w,ce,s+-1|0)|0;s=t[ce>>2]|0;o=t[k>>2]|0;c=o;u=s-c|0;if((be|0)==1?1:(t[q>>2]|0)>>>0>=w>>>0)break;c=(t[d>>2]|0)-c<<1;s=Z5[t[N>>2]&127](o,c)|0;if(!s){oe=69;break e}t[k>>2]=s;be=s+c|0;t[d>>2]=be;t[ce>>2]=s+u;s=be}t[a+24>>2]=u;t[v>>2]=c;i[s>>0]=0;a=Dc(e,r,t[se>>2]|0,v,b)|0;if(a|0){oe=75;break e}a=t[R>>2]|0;if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,t[ae>>2]|0)}else V5[a&127](t[fe>>2]|0,t[v>>2]|0,t[J>>2]|0);nc(x);break}case 3:case 4:{be=(t[se>>2]|0)+(t[E>>2]|0)|0;t[ce>>2]=0;be=tc(x,r,be,be+(Z5[t[V>>2]&127](r,be)|0)|0)|0;t[q>>2]=be;if(!be){a=1;oe=89;break e}t[L>>2]=t[Q>>2];a=Dc(e,r,t[se>>2]|0,q,ce)|0;if(a|0){oe=79;break e}t[L>>2]=t[Q>>2];a=t[R>>2]|0;if(!a)s=1;else{V5[a&127](t[fe>>2]|0,t[q>>2]|0,t[J>>2]|0);s=0}a=t[H>>2]|0;if(!a){if(s|0?t[ne>>2]|0:0)vc(e,r,t[se>>2]|0,t[ae>>2]|0)}else{if(t[R>>2]|0){t[te>>2]=t[_>>2];a=t[H>>2]|0}M5[a&63](t[fe>>2]|0,t[q>>2]|0)}nc(x);zc(e,t[ce>>2]|0);if((t[le>>2]|0)==0?(t[m>>2]&-2|0)!=2:0){oe=92;break e}break}case 5:{if((t[le>>2]|0)==(A|0)){a=13;break e}u=t[M>>2]|0;t[M>>2]=t[u>>2];t[u>>2]=t[Y>>2];t[Y>>2]=u;a=(t[se>>2]|0)+(t[E>>2]<<1)|0;s=Z5[t[V>>2]&127](r,a)|0;if((s|0)!=(t[u+8>>2]|0)){oe=96;break e}if(F4(t[u+4>>2]|0,a,s)|0){oe=96;break e}t[le>>2]=(t[le>>2]|0)+-1;a=t[H>>2]|0;if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,t[ae>>2]|0)}else{s=t[u+16>>2]|0;o=u+12|0;if((s|0)!=0&(i[P>>0]|0)!=0){a=(t[o>>2]|0)+(t[u+28>>2]|0)|0;while(1){c=i[s>>0]|0;if(!(c<<24>>24))break;i[a>>0]=c;a=a+1|0;s=s+1|0}s=t[u+20>>2]|0;r:do{if((s|0)!=0&(i[X>>0]|0)!=0){i[a>>0]=i[S>>0]|0;while(1){a=a+1|0;c=i[s>>0]|0;if(!(c<<24>>24))break r;i[a>>0]=c;s=s+1|0}}}while(0);i[a>>0]=0;a=t[H>>2]|0}M5[a&63](t[fe>>2]|0,t[o>>2]|0)}c=u+44|0;while(1){o=t[c>>2]|0;if(!o)break;a=t[j>>2]|0;if(!a){a=o;s=o}else{M5[a&63](t[fe>>2]|0,t[t[o>>2]>>2]|0);a=o;s=t[c>>2]|0}t[c>>2]=t[s+4>>2];t[o+4>>2]=t[U>>2];t[U>>2]=o;t[(t[a>>2]|0)+4>>2]=t[o+8>>2]}if(!(t[le>>2]|0)){oe=117;break e}break}case 10:{a=Z5[t[T>>2]&127](r,t[se>>2]|0)|0;if((a|0)<0){a=14;break e}s=t[$>>2]|0;if(s|0){v=t[fe>>2]|0;be=vo(a,ce)|0;V5[s&127](v,ce,be);break A}if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,t[ae>>2]|0);break}case 7:{a=t[$>>2]|0;if(a|0){i[ce>>0]=10;V5[a&127](t[fe>>2]|0,ce,1);break A}if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,c);break}case 8:{a=t[O>>2]|0;if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,c)}else F5[a&127](t[fe>>2]|0);a=Yc(e,r,ae,n,f,l)|0;if(a|0)break e;if(!(t[ae>>2]|0)){oe=133;break e}break}case 6:{s=t[$>>2]|0;if(!s){if(!(t[ne>>2]|0))break A;vc(e,r,t[se>>2]|0,c);break A}if(!(i[Ae>>0]|0))a=c;else{be=t[se>>2]|0;V5[s&127](t[fe>>2]|0,be,a-be|0);break A}while(1){t[ce>>2]=t[re>>2];be=D5[t[ee>>2]&127](r,se,a,ce,t[ie>>2]|0)|0;t[_>>2]=t[se>>2];v=t[re>>2]|0;V5[s&127](t[fe>>2]|0,v,(t[ce>>2]|0)-v|0);if(be>>>0<2)break;t[te>>2]=t[se>>2];a=t[ae>>2]|0}break}case 11:{if(!(yc(e,r,t[se>>2]|0,c)|0)){a=1;break e}break}case 13:{if(!(Cc(e,r,t[se>>2]|0,c)|0)){a=1;break e}break}default:if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,c)}}while(0);be=t[ae>>2]|0;t[se>>2]=be;t[te>>2]=be;switch(t[m>>2]|0){case 2:{a=35;break e}case 3:{oe=160;break e}default:{}}}switch(oe|0){case 6:{if(l<<24>>24){t[f>>2]=t[se>>2];a=0;break}t[_>>2]=n;a=t[$>>2]|0;if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,n)}else{i[ce>>0]=10;V5[a&127](t[fe>>2]|0,ce,1)}if(A)if((t[le>>2]|0)==(A|0)){t[f>>2]=n;a=0}else a=13;else a=3;break}case 15:{if(l<<24>>24){t[f>>2]=t[se>>2];a=0;break}if((A|0)>0)if((t[le>>2]|0)==(A|0)){t[f>>2]=t[se>>2];a=0}else a=13;else a=3;break}case 20:{t[te>>2]=a;a=4;break}case 21:{if(!(l<<24>>24))a=5;else{t[f>>2]=t[se>>2];a=0}break}case 23:{if(!(l<<24>>24))a=6;else{t[f>>2]=t[se>>2];a=0}break}case 56:break;case 58:break;case 63:{F5[t[e+20>>2]&127](a);a=1;oe=75;break}case 69:{a=1;oe=75;break}case 79:{zc(e,t[ce>>2]|0);oe=89;break}case 92:{a=Wc(e,t[ae>>2]|0,n,f)|0;break}case 96:{t[te>>2]=a;a=7;break}case 117:{a=Wc(e,t[ae>>2]|0,n,f)|0;break}case 133:{t[e+276>>2]=61;a=0;break}case 134:{if(l<<24>>24){t[f>>2]=t[se>>2];a=0;break}a=t[$>>2]|0;do{if(!a){if(t[ne>>2]|0)vc(e,r,t[se>>2]|0,n)}else if(!(i[Ae>>0]|0)){t[ce>>2]=t[re>>2];D5[t[ee>>2]&127](r,se,n,ce,t[ie>>2]|0)|0;be=t[re>>2]|0;V5[t[$>>2]&127](t[fe>>2]|0,be,(t[ce>>2]|0)-be|0);break}else{be=t[se>>2]|0;V5[a&127](t[fe>>2]|0,be,n-be|0);break}}while(0);if(!A){t[te>>2]=n;a=3;break}if((t[le>>2]|0)==(A|0)){t[f>>2]=n;a=0;break}else{t[te>>2]=n;a=13;break}}case 160:{t[f>>2]=t[ae>>2];a=0;break}}h=ue;return a|0}function Lc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;k=h;h=h+16|0;w=k;c=e+296|0;o=t[c>>2]|0;do{if(o){u=t[o+12>>2]|0;f=u+4|0;s=t[f>>2]|0;l=u+12|0;n=s+(t[l>>2]|0)|0;s=s+(t[u+8>>2]|0)|0;t[w>>2]=n;b=u+33|0;if(!(i[b>>0]|0))n=Gc(e,t[o+16>>2]|0,t[e+224>>2]|0,n,s,w,0)|0;else{v=e+224|0;d=t[v>>2]|0;d=Q5[t[d>>2]&127](d,n,s,w)|0;n=ic(e,t[v>>2]|0,n,s,d,t[w>>2]|0,w,0)|0}if(!n){n=t[w>>2]|0;if((s|0)!=(n|0)?(t[e+476>>2]|0)==3:0){t[l>>2]=n-(t[f>>2]|0);n=0;break}i[u+32>>0]=0;v=o+8|0;t[c>>2]=t[v>>2];n=e+300|0;t[v>>2]=t[n>>2];t[n>>2]=o;n=e+276|0;if(!(i[b>>0]|0)){t[n>>2]=58;n=Gc(e,(t[e+472>>2]|0)!=0&1,t[e+144>>2]|0,A,r,a,(i[e+480>>0]|0)==0&1)|0;break}else{t[n>>2]=57;v=e+144|0;n=t[v>>2]|0;n=Q5[t[n>>2]&127](n,A,r,w)|0;n=ic(e,t[v>>2]|0,A,r,n,t[w>>2]|0,a,(i[e+480>>0]|0)==0&1)|0;break}}}else n=23}while(0);h=k;return n|0}function Qc(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;u=k;o=t[e+352>>2]|0;f=o+156|0;b=e+412|0;w=e+424|0;e:do{if(!(t[f>>2]|0)){A=0;l=e+420|0;c=e+468|0;s=12}else{A=t[w>>2]|0;l=e+420|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break}A=t[w>>2]|0}t[w>>2]=A+1;i[A>>0]=61;n=e+468|0;r=(t[(t[f>>2]|0)+20>>2]|0)+(((i[n>>0]|0)!=0)<<31>>31)|0;a=0;while(1){if((a|0)>=(r|0)){A=1;c=n;s=12;break e}A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0}c=i[(t[(t[f>>2]|0)+16>>2]|0)+a>>0]|0;t[w>>2]=A+1;i[A>>0]=c;a=a+1|0}}}while(0);e:do{if((s|0)==12){_s(u,o+60|0);A:while(1){do{r=qs(u)|0;if(!r)break A;f=r+4|0}while(!(t[f>>2]|0));if(A<<24>>24){A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0}t[w>>2]=A+1;i[A>>0]=12}n=t[r>>2]|0;while(1){r=i[n>>0]|0;A=t[w>>2]|0;a=(A|0)==(t[l>>2]|0);if(!(r<<24>>24))break;if(a){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0;r=i[n>>0]|0}t[w>>2]=A+1;i[A>>0]=r;n=n+1|0}if(a){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0}t[w>>2]=A+1;i[A>>0]=61;a=(t[(t[f>>2]|0)+20>>2]|0)+(((i[c>>0]|0)!=0)<<31>>31)|0;r=0;while(1){if((r|0)>=(a|0)){A=1;continue A}A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0}s=i[(t[(t[f>>2]|0)+16>>2]|0)+r>>0]|0;t[w>>2]=A+1;i[A>>0]=s;r=r+1|0}}_s(u,o);A:while(1){do{r=qs(u)|0;if(!r)break A}while(!(i[r+32>>0]|0));if(A<<24>>24){A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0}t[w>>2]=A+1;i[A>>0]=12}a=t[r>>2]|0;while(1){r=i[a>>0]|0;if(!(r<<24>>24)){A=1;continue A}A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break e}A=t[w>>2]|0;r=i[a>>0]|0}t[w>>2]=A+1;i[A>>0]=r;a=a+1|0}}A=t[w>>2]|0;if((A|0)==(t[l>>2]|0)){if(!((wc(b)|0)<<24>>24)){A=0;break}A=t[w>>2]|0}t[w>>2]=A+1;i[A>>0]=0;A=t[e+428>>2]|0}}while(0);h=k;return A|0}function Dc(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0;x=h;h=h+80|0;M=x+16|0;V=x;N=t[e+352>>2]|0;c=N+20|0;l=fc(e,c,t[a>>2]|0,0)|0;if(!l){l=Nc(N+80|0,t[a>>2]|0)|0;if((l|0)!=0?(s=fc(e,c,l,24)|0,(s|0)!=0):0)if((i[e+232>>0]|0)!=0?(Rc(e,s)|0)==0:0)l=1;else I=6;else l=1}else{s=l;I=6}e:do{if((I|0)==6){B=t[s+12>>2]|0;c=A+36|0;o=e+376|0;g=e+388|0;m=Q5[t[c>>2]&127](A,r,t[o>>2]|0,t[g>>2]|0)|0;l=m+B|0;u=t[o>>2]|0;if((l|0)>(u|0)){l=l+16|0;t[o>>2]=l;l=Z5[t[e+16>>2]&127](t[g>>2]|0,l<<4)|0;if(!l){t[o>>2]=u;l=1;break}t[g>>2]=l;if((m|0)>(u|0))Q5[t[c>>2]&127](A,r,m,l)|0}F=t[g>>2]|0;d=A+28|0;W=e+412|0;Y=e+428|0;E=s+20|0;k=e+424|0;v=0;w=0;c=0;while(1){if((w|0)>=(m|0))break;b=t[(t[g>>2]|0)+(w<<4)>>2]|0;b=oc(e,A,b,b+(Z5[t[d>>2]&127](A,b)|0)|0)|0;if(!b){l=1;break e}l=(t[b>>2]|0)+-1|0;if(i[l>>0]|0){I=15;break}i[l>>0]=1;r=v+1|0;t[F+(v<<2)>>2]=t[b>>2];u=t[g>>2]|0;if(i[u+(w<<4)+12>>0]|0){z=tc(W,A,t[u+(w<<4)+4>>2]|0,t[u+(w<<4)+8>>2]|0)|0;t[F+(r<<2)>>2]=z;if(!z){l=1;break e}}else{A:do{if(!(i[b+8>>0]|0))l=1;else{l=0;while(1){if((l|0)>=(B|0)){l=1;break A}o=t[E>>2]|0;if((b|0)==(t[o+(l*12|0)>>2]|0))break;l=l+1|0}l=i[o+(l*12|0)+4>>0]|0}}while(0);l=kc(e,A,l,t[u+(w<<4)+4>>2]|0,t[u+(w<<4)+8>>2]|0,W)|0;if(l|0)break e;t[F+(r<<2)>>2]=t[Y>>2]}t[Y>>2]=t[k>>2];l=t[b+4>>2]|0;do{if(l)if(i[b+9>>0]|0){l=xc(e,l,b,t[F+(r<<2)>>2]|0,f)|0;if(!l){l=v;break}else break e}else{i[(t[b>>2]|0)+-1>>0]=2;c=c+1|0;l=v+2|0;break}else l=v+2|0}while(0);v=l;w=w+1|0}if((I|0)==15){if((t[e+144>>2]|0)!=(A|0)){l=8;break}t[e+284>>2]=t[(t[g>>2]|0)+(w<<4)>>2];l=8;break}t[e+380>>2]=v;l=t[s+8>>2]|0;A:do{if((l|0)!=0?(p=t[l>>2]|0,(i[p+-1>>0]|0)!=0):0){l=0;while(1){if((l|0)>=(v|0)){r=0;w=c;z=v;break A}if((t[F+(l<<2)>>2]|0)==(p|0)){I=37;break A}l=l+2|0}}else{l=-1;I=37}}while(0);if((I|0)==37){t[e+384>>2]=l;r=0;w=c;z=v}while(1){if((r|0)>=(B|0))break;l=t[E>>2]|0;u=l+(r*12|0)|0;c=t[u>>2]|0;o=(t[c>>2]|0)+-1|0;A:do{if((i[o>>0]|0)==0?(y=l+(r*12|0)+8|0,C=t[y>>2]|0,(C|0)!=0):0){l=t[c+4>>2]|0;do{if(l)if(i[c+9>>0]|0){l=xc(e,l,c,C,f)|0;if(!l){l=w;c=z;break A}else break e}else{i[o>>0]=2;l=w+1|0;break}else{i[o>>0]=1;l=w}}while(0);t[F+(z<<2)>>2]=t[t[u>>2]>>2];t[F+(z+1<<2)>>2]=t[y>>2];c=z+2|0}else{l=w;c=z}}while(0);r=r+1|0;w=l;z=c}t[F+(z<<2)>>2]=0;A:do{if(!w)l=0;else{b=e+396|0;u=t[b>>2]|0;D=e+400|0;r=i[D>>0]|0;l=r&255;do{if(!(w<<1>>l)){l=1<>24}while((w>>(Q&255)|0)!=0);l=(l&255)>3?l:3;i[D>>0]=l;l=l&255;o=e+392|0;c=Z5[t[e+16>>2]&127](t[o>>2]|0,12<>0]=r;l=1;break e}else{t[o>>2]=c;c=1<>2]|0)+(Q*12|0)>>2]=-1;l=Q}}}while(0);Q=l+-1|0;t[b>>2]=Q;E=N+40|0;B=e+424|0;y=e+420|0;C=c+-1|0;I=0-c|0;Z=C>>>2;G=e+233|0;L=e+468|0;l=0;p=w;r:while(1){while(1){if((l|0)>=(z|0))break A;A=F+(l<<2)|0;u=t[A>>2]|0;r=u+-1|0;if((i[r>>0]|0)==2)break;i[r>>0]=0;l=l+2|0}Jc(e,V);Hc(M,V);i[r>>0]=0;r=fc(e,E,u,0)|0;if(!r){l=1;break}r=t[r+4>>2]|0;if(!r){l=1;break}m=t[r+4>>2]|0;if(!m){l=27;break}k=m+20|0;d=m+16|0;w=0;while(1){r=t[k>>2]|0;b=t[d>>2]|0;if((w|0)>=(r|0))break;b=i[b+w>>0]|0;r=t[B>>2]|0;if((r|0)==(t[y>>2]|0)){if(!((wc(W)|0)<<24>>24)){l=1;break r}r=t[B>>2]|0}t[B>>2]=r+1;i[r>>0]=b;w=w+1|0}Pc(M,b,r);do{g=u;u=u+1|0}while((i[g>>0]|0)!=58);Pc(M,u,Xc(u)|0);while(1){r=t[B>>2]|0;if((r|0)==(t[y>>2]|0)){if(!((wc(W)|0)<<24>>24)){l=1;break r}r=t[B>>2]|0}g=i[u>>0]|0;t[B>>2]=r+1;i[r>>0]=g;if(!(i[u>>0]|0))break;else u=u+1|0}g=Sc(M)|0;k=t[o>>2]|0;d=g&I;u=0;v=C&g;while(1){if((t[k+(v*12|0)>>2]|0)!=(Q|0))break;if((t[k+(v*12|0)+4>>2]|0)==(g|0)){r=t[k+(v*12|0)+8>>2]|0;b=t[Y>>2]|0;while(1){J=i[b>>0]|0;w=J<<24>>24==0;if(w|J<<24>>24!=(i[r>>0]|0))break;r=r+1|0;b=b+1|0}if(w){l=8;break r}}if(!(u<<24>>24))u=(d>>>((n[D>>0]|0)+-1|0)&Z|1)&255;J=u&255;v=v+((v|0)<(J|0)?c:0)-J|0}if(i[G>>0]|0){i[(t[B>>2]|0)+-1>>0]=i[L>>0]|0;r=t[t[m>>2]>>2]|0;while(1){u=t[B>>2]|0;if((u|0)==(t[y>>2]|0)){if(!((wc(W)|0)<<24>>24)){l=1;break r}u=t[B>>2]|0}J=i[r>>0]|0;t[B>>2]=u+1;i[u>>0]=J;if(!(i[r>>0]|0))break;else r=r+1|0}}J=t[Y>>2]|0;t[Y>>2]=t[B>>2];t[A>>2]=J;t[(t[o>>2]|0)+(v*12|0)>>2]=Q;t[(t[o>>2]|0)+(v*12|0)+4>>2]=g;t[(t[o>>2]|0)+(v*12|0)+8>>2]=J;p=p+-1|0;l=l+2|0;if(!p)break A}break e}}while(0);while(1){if((l|0)>=(z|0)){l=f;break}i[(t[F+(l<<2)>>2]|0)+-1>>0]=0;l=l+2|0}while(1){l=t[l>>2]|0;if(!l)break;i[(t[t[l+12>>2]>>2]|0)+-1>>0]=0;l=l+4|0}if(!(i[e+232>>0]|0))l=0;else{l=t[s+4>>2]|0;if(!l){l=t[N+156>>2]|0;if(!l){l=0;break}c=t[a>>2]|0}else{l=t[l+4>>2]|0;if(!l){l=27;break}s=t[a>>2]|0;while(1){c=s+1|0;if((i[s>>0]|0)==58)break;else s=c}}if((i[e+233>>0]|0)!=0?(R=t[t[l>>2]>>2]|0,(R|0)!=0):0){s=0;while(1){o=s+1|0;if(!(i[R+s>>0]|0))break;else s=o}}else o=0;t[a+4>>2]=c;w=l+20|0;t[a+16>>2]=t[w>>2];t[a+8>>2]=t[t[l>>2]>>2];t[a+20>>2]=o;k=0;while(1){d=k+1|0;if(!(i[c+k>>0]|0))break;else k=d}s=t[w>>2]|0;u=d+o+s|0;r=l+24|0;if((u|0)>(t[r>>2]|0)){s=u+24|0;b=I5[t[e+12>>2]&63](s)|0;if(!b){l=1;break}t[r>>2]=s;r=l+16|0;Q6(b|0,t[r>>2]|0,t[w>>2]|0)|0;s=e+360|0;while(1){s=t[s>>2]|0;if(!s)break;u=s+12|0;if((t[u>>2]|0)==(t[r>>2]|0))t[u>>2]=b}F5[t[e+20>>2]&127](t[r>>2]|0);t[r>>2]=b;u=b;s=t[w>>2]|0}else{u=l+16|0;r=u;u=t[u>>2]|0}s=u+s|0;Q6(s|0,c|0,d|0)|0;if(o|0){J=s+k|0;i[J>>0]=i[e+468>>0]|0;Q6(J+1|0,t[t[l>>2]>>2]|0,o|0)|0}t[a>>2]=t[r>>2];l=0}}}while(0);h=x;return l|0}function zc(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;i=e+104|0;a=e+372|0;r=e+4|0;while(1){if(!A)break;e=t[i>>2]|0;if(!e)e=A;else{M5[e&63](t[r>>2]|0,t[t[A>>2]>>2]|0);e=A}f=A+4|0;n=t[f>>2]|0;t[f>>2]=t[a>>2];t[a>>2]=A;t[(t[e>>2]|0)+4>>2]=t[A+8>>2];A=n}return}function Wc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;k=h;h=h+16|0;s=k;t[e+276>>2]=62;c=e+284|0;t[c>>2]=A;o=e+144|0;u=e+288|0;b=e+80|0;l=e+476|0;n=A;e:while(1){t[s>>2]=0;d=t[o>>2]|0;d=Q5[t[d>>2]&127](d,n,r,s)|0;A=t[s>>2]|0;t[u>>2]=A;f=A;switch(d|0){case-15:{w=3;break e}case-4:{w=7;break e}case 0:{w=12;break e}case-1:{w=13;break e}case-2:{w=15;break e}case 15:{if(t[b>>2]|0)vc(e,t[o>>2]|0,n,f);break}case 11:{if(!(yc(e,t[o>>2]|0,n,f)|0)){A=1;break e}break}case 13:{if(!(Cc(e,t[o>>2]|0,n,f)|0)){A=1;break e}break}default:{A=9;break e}}A=t[s>>2]|0;t[c>>2]=A;switch(t[l>>2]|0){case 2:{A=35;break e}case 3:{w=18;break e}default:{}}n=A}do{if((w|0)==3){if(t[b>>2]|0){vc(e,t[o>>2]|0,n,f);if((t[l>>2]|0)==2){A=35;break}A=t[s>>2]|0}t[a>>2]=A;A=0}else if((w|0)==7){t[a>>2]=n;A=0}else if((w|0)==12){t[c>>2]=A;A=4}else if((w|0)==13)if(!(i[e+480>>0]|0)){t[a>>2]=n;A=0}else A=5;else if((w|0)==15)if(!(i[e+480>>0]|0)){t[a>>2]=n;A=0}else A=6;else if((w|0)==18){t[a>>2]=A;A=0}}while(0);h=k;return A|0}function Yc(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0;Z=h;h=h+16|0;y=Z+8|0;C=Z+4|0;B=Z;l=t[r>>2]|0;t[y>>2]=l;if((t[e+144>>2]|0)==(A|0)){v=e+284|0;t[v>>2]=l;g=e+288|0}else{g=t[e+296>>2]|0;v=g;g=g+4|0}t[v>>2]=l;t[r>>2]=0;c=A+8|0;o=e+60|0;m=e+80|0;p=e+4|0;E=e+476|0;u=A+68|0;b=e+44|0;w=A+56|0;k=e+48|0;e:while(1){s=Q5[t[c>>2]&127](A,t[y>>2]|0,a,C)|0;l=t[C>>2]|0;t[g>>2]=l;d=l;A:do{switch(s|0){case 40:{I=6;break e}case 0:{I=23;break e}case-2:{I=24;break e}case-4:case-1:{I=26;break e}case 7:{l=t[o>>2]|0;if(l|0){i[B>>0]=10;V5[l&127](t[p>>2]|0,B,1);break A}if(t[m>>2]|0)vc(e,A,t[y>>2]|0,d);break}case 6:{s=t[o>>2]|0;if(!s){if(!(t[m>>2]|0))break A;vc(e,A,t[y>>2]|0,d);break A}if(!(i[u>>0]|0))l=d;else{d=t[y>>2]|0;V5[s&127](t[p>>2]|0,d,l-d|0);break A}while(1){t[B>>2]=t[b>>2];d=D5[t[w>>2]&127](A,y,l,B,t[k>>2]|0)|0;t[g>>2]=t[C>>2];l=t[b>>2]|0;V5[s&127](t[p>>2]|0,l,(t[B>>2]|0)-l|0);if(d>>>0<2)break;t[v>>2]=t[y>>2];l=t[C>>2]|0}break}default:{I=28;break e}}}while(0);d=t[C>>2]|0;t[y>>2]=d;t[v>>2]=d;switch(t[E>>2]|0){case 3:{I=30;break e}case 2:{l=35;break e}default:{}}}if((I|0)==6){l=t[e+76>>2]|0;if(!l){if(t[m>>2]|0)vc(e,A,t[y>>2]|0,d)}else F5[l&127](t[p>>2]|0);l=t[C>>2]|0;t[r>>2]=l;t[n>>2]=l;l=(t[E>>2]|0)==2?35:0}else if((I|0)==23){t[v>>2]=l;l=4}else if((I|0)==24)if(!(f<<24>>24))l=6;else{t[n>>2]=t[y>>2];l=0}else if((I|0)==26)if(!(f<<24>>24))l=20;else{t[n>>2]=t[y>>2];l=0}else if((I|0)==28){t[v>>2]=l;l=23}else if((I|0)==30){t[n>>2]=t[C>>2];l=0}h=Z;return l|0}function Fc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;f=h;h=h+16|0;n=f;t[n>>2]=A;A=Yc(e,t[e+144>>2]|0,n,r,a,(i[e+480>>0]|0)==0&1)|0;n=t[n>>2]|0;do{if(!((A|0)!=0|(n|0)==0)){A=e+276|0;if(!(t[e+472>>2]|0)){t[A>>2]=58;A=sc(e,n,r,a)|0;break}else{t[A>>2]=63;A=Mc(e,n,r,a)|0;break}}}while(0);h=f;return A|0}function Mc(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;A=Gc(e,1,t[e+144>>2]|0,A,r,a,(i[e+480>>0]|0)==0&1)|0;if((A|0)==0?(Vc(e)|0)<<24>>24==0:0)A=1;return A|0}function Vc(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=e+16|0;e=e+360|0;while(1){e=t[e>>2]|0;if(!e){e=1;break}l=(t[e+24>>2]|0)+1|0;s=e+36|0;a=t[s>>2]|0;i=a+l|0;o=e+4|0;r=t[o>>2]|0;if((r|0)==(i|0)){e=1;break}c=e+8|0;A=t[c>>2]|0;n=A+l|0;f=e+40|0;if((n|0)>((t[f>>2]|0)-a|0)){i=Z5[t[u>>2]&127](a,n)|0;if(!i){e=0;break}A=e+12|0;a=t[s>>2]|0;if((t[A>>2]|0)==(a|0))t[A>>2]=i;A=e+16|0;r=t[A>>2]|0;if(r|0)t[A>>2]=i+(r-a);t[s>>2]=i;t[f>>2]=i+n;i=i+l|0;r=t[o>>2]|0;A=t[c>>2]|0}Q6(i|0,r|0,A|0)|0;t[o>>2]=i}return e|0}function Nc(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;a=e+12|0;n=e+8|0;while(1){r=t[a>>2]|0;if((r|0)==(t[n>>2]|0)){if(!((wc(e)|0)<<24>>24)){A=0;break}r=t[a>>2]|0}l=i[A>>0]|0;t[a>>2]=r+1;i[r>>0]=l;if(!(i[A>>0]|0)){f=6;break}else A=A+1|0}if((f|0)==6){l=e+16|0;A=t[l>>2]|0;t[l>>2]=t[a>>2]}return A|0}function Rc(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=t[e+352>>2]|0;s=b+80|0;c=b+92|0;o=b+88|0;u=b+60|0;b=b+96|0;l=A+4|0;f=t[A>>2]|0;e:while(1){switch(i[f>>0]|0){case 0:{r=1;break e}case 58:{n=t[A>>2]|0;while(1){r=t[c>>2]|0;a=(r|0)==(t[o>>2]|0);if((n|0)==(f|0))break;if(a){if(!((wc(s)|0)<<24>>24)){r=0;break e}r=t[c>>2]|0}a=i[n>>0]|0;t[c>>2]=r+1;i[r>>0]=a;n=n+1|0}if(a){if(!((wc(s)|0)<<24>>24)){r=0;break e}r=t[c>>2]|0}t[c>>2]=r+1;i[r>>0]=0;r=fc(e,u,t[b>>2]|0,8)|0;if(!r){r=0;break e}a=t[b>>2]|0;if((t[r>>2]|0)==(a|0))t[b>>2]=t[c>>2];else t[c>>2]=a;t[l>>2]=r;break}default:{}}f=f+1|0}return r|0}function xc(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;c=i[a>>0]|0;l=t[A>>2]|0;f=(l|0)==0;do{if(!(c<<24>>24))if(f){u=0;s=11}else f=28;else if(((!f?(i[l>>0]|0)==120:0)?(i[l+1>>0]|0)==109:0)?(i[l+2>>0]|0)==108:0){f=i[l+3>>0]|0;if((f<<24>>24==110?(i[l+4>>0]|0)==115:0)?(i[l+5>>0]|0)==0:0){f=39;break}u=f<<24>>24==0&1;s=11}else{u=0;s=11}}while(0);e:do{if((s|0)==11){o=u<<24>>24!=0;f=1;l=1;b=0;while(1){s=l<<24>>24!=0;if(!(c<<24>>24))break;do{if(s){if((b|0)<=36?c<<24>>24==(i[142257+b>>0]|0):0)break;l=0}else l=0}while(0);do{if(!(o|f<<24>>24==0)){if((b|0)<=29?c<<24>>24==(i[142294+b>>0]|0):0)break;f=0}}while(0);c=b+1|0;b=c;c=i[a+c>>0]|0}if((u&255|0)!=(s&(b|0)==36&1|0)){f=o?38:40;break}if(!(f<<24>>24!=0&(b|0)==29)){h=e+468|0;b=b+((i[h>>0]|0)!=0&1)|0;f=e+372|0;s=t[f>>2]|0;do{if(!s){f=e+12|0;l=I5[t[f>>2]&63](28)|0;if(!l){f=1;break e}s=b+24|0;u=I5[t[f>>2]&63](s)|0;t[l+16>>2]=u;if(!u){F5[t[e+20>>2]&127](l);f=1;break e}else{t[l+24>>2]=s;s=l;break}}else{l=s+24|0;if((b|0)>(t[l>>2]|0)){c=s+16|0;o=b+24|0;u=Z5[t[e+16>>2]&127](t[c>>2]|0,o)|0;if(!u){f=1;break e}t[c>>2]=u;t[l>>2]=o}t[f>>2]=t[s+4>>2]}}while(0);t[s+20>>2]=b;l=s+16|0;Q6(t[l>>2]|0,a|0,b|0)|0;f=i[h>>0]|0;if(f<<24>>24)i[(t[l>>2]|0)+(b+-1)>>0]=f;t[s>>2]=A;t[s+12>>2]=r;l=A+4|0;t[s+8>>2]=t[l>>2];if((i[a>>0]|0)==0?((t[e+352>>2]|0)+152|0)==(A|0):0)f=0;else f=s;t[l>>2]=f;t[s+4>>2]=t[n>>2];t[n>>2]=s;if((r|0)!=0?(w=t[e+100>>2]|0,(w|0)!=0):0){V5[w&127](t[e+4>>2]|0,t[A>>2]|0,t[l>>2]|0?a:0);f=0}else f=0}else f=40}}while(0);return f|0}function Jc(e,A){e=e|0;A=A|0;var r=0;r=A;t[r>>2]=0;t[r+4>>2]=0;A=A+8|0;t[A>>2]=Uc(e)|0;t[A+4>>2]=0;return}function Hc(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=A;n=t[r+4>>2]^1936682341;i=e;t[i>>2]=t[r>>2]^1886610805;t[i+4>>2]=n;i=A+8|0;n=i;r=t[n+4>>2]^1685025377;a=e+8|0;t[a>>2]=t[n>>2]^1852075885;t[a+4>>2]=r;a=A;A=t[a+4>>2]^1819895653;r=e+16|0;t[r>>2]=t[a>>2]^1852142177;t[r+4>>2]=A;r=t[i+4>>2]^1952801890;A=e+24|0;t[A>>2]=t[i>>2]^2037671283;t[A+4>>2]=r;t[e+40>>2]=e+32;A=e+48|0;t[A>>2]=0;t[A+4>>2]=0;return}function Pc(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;b=A+r|0;h=e+40|0;w=e+40|0;k=e+32|0;d=e+33|0;v=e+34|0;g=e+35|0;f=e+36|0;l=e+37|0;s=e+38|0;c=e+39|0;o=e+24|0;u=e+48|0;r=A;do{while(1){a=t[h>>2]|0;if(r>>>0>=b>>>0){A=0;break}if(a>>>0>=w>>>0){A=1;break}A=i[r>>0]|0;t[h>>2]=a+1;i[a>>0]=A;r=r+1|0}if(a>>>0>>0)break;C=n[k>>0]|0;I=C6(n[d>>0]|0|0,0,8)|0;a=G;y=C6(n[v>>0]|0|0,0,16)|0;a=a|G;E=C6(n[g>>0]|0|0,0,24)|0;a=a|G|(n[f>>0]|0);m=C6(n[l>>0]|0|0,0,40)|0;a=a|G;B=C6(n[s>>0]|0|0,0,48)|0;a=a|G;p=C6(n[c>>0]|0|0,0,56)|0;p=I|C|y|E|m|B|p;a=a|G;B=o;m=a^t[B+4>>2];E=o;t[E>>2]=p^t[B>>2];t[E+4>>2]=m;jc(e,2);E=e;a=t[E+4>>2]^a;m=e;t[m>>2]=t[E>>2]^p;t[m+4>>2]=a;t[h>>2]=k;m=u;m=d6(t[m>>2]|0,t[m+4>>2]|0,8,0)|0;a=u;t[a>>2]=m;t[a+4>>2]=G}while(A);return}function Xc(e){e=e|0;var A=0;A=0;while(1){if(!(i[e>>0]|0))break;A=A+1|0;e=e+1|0}return A|0}function Sc(e){e=e|0;var A=0,r=0,i=0,a=0,f=0,l=0;i=e+32|0;f=(t[e+40>>2]|0)-i|0;r=e+48|0;r=d6(t[r>>2]|0,t[r+4>>2]|0,f|0,0)|0;r=C6(r|0,G|0,56)|0;A=G;switch(f<<24>>24|0){case 7:{r=C6(n[e+38>>0]|0|0,0,48)|0|r;A=G|A;a=3;break}case 6:{a=3;break}case 5:{a=4;break}case 4:{a=5;break}case 3:{a=6;break}case 2:{a=7;break}case 1:{a=8;break}default:{}}if((a|0)==3){f=C6(n[e+37>>0]|0|0,0,40)|0;r=f|r;A=G|A;a=4}if((a|0)==4){A=n[e+36>>0]|0|A;a=5}if((a|0)==5){f=C6(n[e+35>>0]|0|0,0,24)|0;r=f|r;A=G|A;a=6}if((a|0)==6){f=C6(n[e+34>>0]|0|0,0,16)|0;r=f|r;A=G|A;a=7}if((a|0)==7){f=C6(n[e+33>>0]|0|0,0,8)|0;A=G|A;r=f|r;a=8}if((a|0)==8)r=r|(n[i>>0]|0);f=e+24|0;l=f;a=t[l+4>>2]^A;i=f;t[i>>2]=t[l>>2]^r;t[i+4>>2]=a;jc(e,2);i=e;A=t[i+4>>2]^A;a=e;t[a>>2]=t[i>>2]^r;t[a+4>>2]=A;a=e+16|0;A=a;r=t[A+4>>2]|0;i=a;t[i>>2]=t[A>>2]^255;t[i+4>>2]=r;jc(e,4);i=e;e=e+8|0;G=t[e+4>>2]^t[i+4>>2]^t[a+4>>2]^t[f+4>>2];return t[e>>2]^t[i>>2]^t[a>>2]^t[f>>2]|0}function jc(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;i=e+8|0;a=e+24|0;n=e+16|0;r=0;while(1){if((r|0)>=(A|0))break;f=i;b=t[f>>2]|0;f=t[f+4>>2]|0;h=e;h=d6(t[h>>2]|0,t[h+4>>2]|0,b|0,f|0)|0;c=G;u=C6(b|0,f|0,13)|0;o=G;f=y6(b|0,f|0,51)|0;f=(u|f)^h;o=(o|G)^c;u=a;b=t[u>>2]|0;u=t[u+4>>2]|0;s=n;s=d6(t[s>>2]|0,t[s+4>>2]|0,b|0,u|0)|0;l=G;k=C6(b|0,u|0,16)|0;w=G;u=y6(b|0,u|0,48)|0;u=(k|u)^s;w=(w|G)^l;h=d6(c|0,h|0,u|0,w|0)|0;c=G;k=e;t[k>>2]=h;t[k+4>>2]=c;k=C6(u|0,w|0,21)|0;b=G;w=y6(u|0,w|0,43)|0;u=a;t[u>>2]=(k|w)^h;t[u+4>>2]=(b|G)^c;l=d6(s|0,l|0,f|0,o|0)|0;s=G;u=C6(f|0,o|0,17)|0;c=G;o=y6(f|0,o|0,47)|0;f=i;t[f>>2]=(u|o)^l;t[f+4>>2]=(c|G)^s;f=n;t[f>>2]=s;t[f+4>>2]=l;r=r+1|0}return}function Uc(e){e=e|0;var A=0;while(1){A=t[e+472>>2]|0;if(!A)break;else e=A}return t[e+492>>2]|0}function Tc(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0;V=h;h=h+16|0;Y=V;F=V+4|0;M=t[e+352>>2]|0;b=A+16|0;w=A+40|0;k=e+144|0;d=e+284|0;v=r<<24>>24==0;g=f+12|0;p=f+16|0;E=f+8|0;B=A+44|0;y=A+64|0;C=e+436|0;I=e+452|0;Z=e+448|0;G=(M+80|0)==(f|0);L=e+268|0;Q=M+130|0;D=M+129|0;z=e+296|0;W=e+224|0;l=0;e:while(1){A:while(1){switch(Q5[t[b>>2]&127](A,a,n,Y)|0){case-4:{l=0;u=61;break e}case 0:{u=4;break e}case-1:{u=6;break e}case 6:{u=21;break A}case-3:{u=22;break A}case 7:case 39:{u=23;break A}case 10:{s=Z5[t[w>>2]&127](A,a)|0;r:do{if((s|0)<0)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;s=1;l=14}else{s=1;l=14}else{if(v&(s|0)==32){c=t[g>>2]|0;if((t[p>>2]|0)==(c|0)){s=4;break}if((i[c+-1>>0]|0)==32){s=4;break}}o=vo(s,F)|0;c=0;while(1){if((c|0)>=(o|0)){s=0;break r}s=t[g>>2]|0;if((s|0)==(t[E>>2]|0)){if(!((wc(f)|0)<<24>>24)){s=1;l=1;break r}s=t[g>>2]|0}N=i[F+c>>0]|0;t[g>>2]=s+1;i[s>>0]=N;c=c+1|0}}}while(0);switch(s&7){case 4:case 0:break A;default:{}}break}case 9:{s=t[y>>2]|0;s=(L5[t[B>>2]&63](A,a+s|0,(t[Y>>2]|0)+(0-s)|0)|0)&255;if(s<<24>>24){u=31;break A}s=t[y>>2]|0;s=tc(C,A,a+s|0,(t[Y>>2]|0)+(0-s)|0)|0;if(!s){l=1;u=61;break e}o=fc(e,M,s,0)|0;t[Z>>2]=t[I>>2];do{if(G){if(!(t[L>>2]|0))if(!o)break A;else break;if(!(i[Q>>0]|0)){s=(o|0)!=0;if(!(i[D>>0]|0)){u=45;break}else{m=s;u=47;break}}else{s=(o|0)!=0;if(!(t[z>>2]|0)){u=45;break}else{m=s;u=47;break}}}else if(!(i[D>>0]|0))if(!o){l=11;u=61;break e}else{u=46;break}else{s=(o|0)!=0;if(!(i[Q>>0]|0)){m=s;u=47;break}else{u=45;break}}}while(0);if((u|0)==45)if(s)u=46;else{l=11;u=61;break e}else if((u|0)==47?(u=0,!m):0)break A;if((u|0)==46?(u=0,(i[o+34>>0]|0)==0):0){l=24;u=61;break e}c=o+32|0;if(i[c>>0]|0){u=49;break e}if(t[o+28>>2]|0){u=52;break e}s=t[o+4>>2]|0;if(!s){u=55;break e}o=s+(t[o+8>>2]|0)|0;i[c>>0]=1;o=Tc(e,t[W>>2]|0,r,s,o,f)|0;i[c>>0]=0;s=(o|0)==0;if(s)break A;else{s=(s^1)&1;l=o}break}default:{u=58;break e}}if(s)break e}if((u|0)==21){u=0;if(!(bc(f,A,a,t[Y>>2]|0)|0)){l=1;u=61;break}}else if((u|0)==22){t[Y>>2]=a+(t[y>>2]|0);u=23}else if((u|0)==31){u=0;a=t[g>>2]|0;if((a|0)==(t[E>>2]|0)){if(!((wc(f)|0)<<24>>24)){l=1;u=61;break}a=t[g>>2]|0}t[g>>2]=a+1;i[a>>0]=s}do{if((u|0)==23){u=0;a=t[g>>2]|0;if(v){if((t[p>>2]|0)==(a|0))break;if((i[a+-1>>0]|0)==32)break}if((a|0)==(t[E>>2]|0)){if(!((wc(f)|0)<<24>>24)){l=1;u=61;break e}a=t[g>>2]|0}t[g>>2]=a+1;i[a>>0]=32}}while(0);a=t[Y>>2]|0}if((u|0)==4)if((t[k>>2]|0)==(A|0)){t[d>>2]=t[Y>>2];l=4;u=61}else{l=4;u=61}else if((u|0)==6)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;l=4;u=61}else{l=4;u=61}else if((u|0)==49)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;l=12;u=61}else{l=12;u=61}else if((u|0)==52)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;l=15;u=61}else{l=15;u=61}else if((u|0)==55)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;l=16;u=61}else{l=16;u=61}else if((u|0)==58)if((t[k>>2]|0)==(A|0)){t[d>>2]=a;l=23;u=61}else{l=23;u=61}h=V;return l|0}function Oc(e){e=e|0;var A=0;A=e+8|0;return((e|0)<1?0:(A|0)>0?A:0)|0}function _c(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+80|0;i=r+16|0;a=r;Jc(e,a);Hc(i,a);Pc(i,A,Xc(A)|0);A=Sc(i)|0;h=r;return A|0}function qc(e,A){e=e|0;A=A|0;var r=0;while(1){r=i[e>>0]|0;if(r<<24>>24!=(i[A>>0]|0)){A=0;break}if(!(r<<24>>24)){A=1;break}A=A+1|0;e=e+1|0}return A|0}function Kc(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+1040|0;l=c;a=t[e+124>>2]|0;e:do{if(!a)r=18;else{r=0;while(1){if((r|0)==256)break;t[l+(r<<2)>>2]=-1;r=r+1|0}n=l+1028|0;t[n>>2]=0;s=l+1024|0;t[s>>2]=0;f=l+1032|0;t[f>>2]=0;do{if(L5[a&63](t[e+244>>2]|0,A,l)|0){a=t[e+12>>2]|0;r=go()|0;r=I5[a&63](r)|0;t[e+236>>2]=r;if(!r){r=t[f>>2]|0;if(!r)r=1;else{F5[r&127](t[s>>2]|0);r=1}}else{r=Q5[(i[e+232>>0]<<24>>24?65:64)&127](r,l,t[n>>2]|0,t[s>>2]|0)|0;if(!r)break;t[e+240>>2]=t[s>>2];t[e+248>>2]=t[f>>2];t[e+144>>2]=r;r=0}break e}}while(0);r=t[f>>2]|0;if(r|0)F5[r&127](t[s>>2]|0);r=18}}while(0);h=c;return r|0}function $c(e,A){e=e|0;A=A|0;i[e+4>>0]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e>>2]=0;t[e+16>>2]=A;return}function eo(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0;o=t[e+352>>2]|0;u=e+424|0;b=e+420|0;h=e+412|0;w=e+428|0;k=o+152|0;d=e+368|0;s=o+60|0;c=o+80|0;e:while(1){f=A;A:while(1){if(!(i[A>>0]|0)){A=1;break e}a=i[f>>0]|0;switch(a<<24>>24){case 0:case 12:{v=5;break A}case 61:break A;default:{}}r=t[u>>2]|0;if((r|0)==(t[b>>2]|0)){if(!((wc(h)|0)<<24>>24)){A=0;break e}r=t[u>>2]|0;a=i[f>>0]|0}t[u>>2]=r+1;i[r>>0]=a;f=f+1|0}if((v|0)==5){v=0;A=t[u>>2]|0;if((A|0)==(t[b>>2]|0)){if(!((wc(h)|0)<<24>>24)){A=0;break}A=t[u>>2]|0}t[u>>2]=A+1;i[A>>0]=0;A=fc(e,o,t[w>>2]|0,0)|0;if(A|0)i[A+32>>0]=1;A=(i[f>>0]|0)==0?f:f+1|0;t[u>>2]=t[w>>2];continue}A=t[u>>2]|0;if((t[w>>2]|0)==(A|0))a=k;else{if((A|0)==(t[b>>2]|0)){if(!((wc(h)|0)<<24>>24)){A=0;break}A=t[u>>2]|0}t[u>>2]=A+1;i[A>>0]=0;a=fc(e,s,t[w>>2]|0,8)|0;if(!a){A=0;break}r=t[a>>2]|0;l=t[w>>2]|0;A=l;if((r|0)==(l|0)){l=Nc(c,r)|0;t[a>>2]=l;if(!l){A=0;break}A=t[w>>2]|0}t[u>>2]=A}A:while(1){l=f+1|0;r=i[l>>0]|0;n=(A|0)==(t[b>>2]|0);switch(r<<24>>24){case 0:case 12:break A;default:{}}if(n){if(!((wc(h)|0)<<24>>24)){A=0;break e}A=t[u>>2]|0;r=i[l>>0]|0}t[u>>2]=A+1;i[A>>0]=r;f=l;A=t[u>>2]|0}if(n){if(!((wc(h)|0)<<24>>24)){A=0;break}A=t[u>>2]|0}t[u>>2]=A+1;i[A>>0]=0;if(xc(e,a,0,t[w>>2]|0,d)|0){A=0;break}t[u>>2]=t[w>>2];A=(i[l>>0]|0)==0?l:f+2|0}return A|0}function Ao(e,A){e=e|0;A=A|0;var r=0,i=0;if(e|0?(r=e+4|0,i=(t[r>>2]|0)==(t[e>>2]|0),t[e>>2]=A,i):0)t[r>>2]=A;return}function ro(e,A,r){e=e|0;A=A|0;r=r|0;if(e|0){t[e+52>>2]=A;t[e+56>>2]=r}return}function io(e,A){e=e|0;A=A|0;if(e|0)t[e+60>>2]=A;return}function ao(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;n=(e|0)==0;e:do{if(!(n|(r|0)<0)?!((A|0)==0&(r|0)!=0):0){f=e+476|0;switch(t[f>>2]|0){case 3:{t[e+280>>2]=33;n=0;break e}case 2:{t[e+280>>2]=36;n=0;break e}case 0:{if((t[e+472>>2]|0)==0?(to(e)|0)<<24>>24==0:0){t[e+280>>2]=1;n=0;break e}break}default:{}}t[f>>2]=1;if(r|0){n=fo(e,r)|0;if(!n){n=0;break}Q6(n|0,A|0,r|0)|0;n=lo(e,r,a)|0;break}i[e+480>>0]=a;if(!a)n=1;else{n=e+24|0;s=t[n>>2]|0;A=e+292|0;t[A>>2]=s;a=t[e+28>>2]|0;t[e+40>>2]=a;r=e+276|0;a=Q5[t[r>>2]&127](e,s,a,n)|0;t[e+280>>2]=a;if(a|0){t[e+288>>2]=t[e+284>>2];t[r>>2]=66;n=0;break}switch(t[f>>2]|0){case 3:{s=t[e+144>>2]|0;R5[t[s+48>>2]&31](s,t[A>>2]|0,t[n>>2]|0,e+404|0);t[A>>2]=t[n>>2];n=2;break e}case 1:case 0:{t[f>>2]=2;n=1;break e}default:{n=1;break e}}}}else l=3}while(0);if((l|0)==3)if(n)n=0;else{t[e+280>>2]=41;n=0}return n|0}function to(e){e=e|0;var A=0;A=e+492|0;if(!(t[A>>2]|0))t[A>>2]=so()|0;if(!(i[e+232>>0]|0))e=1;else e=eo(e,142324)|0;return e|0}function no(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return t[e+280>>2]|0}function fo(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;e:do{if(!e)r=0;else{if((A|0)<0){t[e+280>>2]=1;r=0;break}switch(t[e+476>>2]|0){case 3:{t[e+280>>2]=33;r=0;break e}case 2:{t[e+280>>2]=36;r=0;break e}default:{u=e+32|0;s=t[u>>2]|0;b=e+28|0;i=t[b>>2]|0;r=i;if((s-i|0)>=(A|0))break e;w=e+24|0;c=t[w>>2]|0;l=i-c|0;i=l+A|0;if((i|0)<0){t[e+280>>2]=1;r=0;break e}o=e+8|0;a=t[o>>2]|0;k=a;n=c-k|0;f=(n|0)>1024;A=f?1024:n;i=A+i|0;do{if((i|0)>(s-k|0)){r=s-c|0;r=(r|0)==0?1024:r;do{r=r<<1}while((r|0)<(i|0)&(r|0)>0);if((r|0)<1){t[e+280>>2]=1;r=0;break e}i=I5[t[e+12>>2]&63](r)|0;if(!i){t[e+280>>2]=1;r=0;break e}t[u>>2]=i+r;r=t[w>>2]|0;if(!r){r=i+(t[b>>2]|0)|0;t[b>>2]=r;t[o>>2]=i;h=22;break}else{k=r;h=k-(t[o>>2]|0)|0;h=(h|0)<1024?h:1024;Q6(i|0,r+(0-h)|0,(t[b>>2]|0)-k+h|0)|0;F5[t[e+20>>2]&127](t[o>>2]|0);t[o>>2]=i;r=i+((t[b>>2]|0)-(t[w>>2]|0))+h|0;t[b>>2]=r;i=i+h|0;h=22;break}}else if(f){i=n-A|0;D6(a|0,a+i|0,A+l|0)|0;i=0-i|0;r=(t[b>>2]|0)+i|0;t[b>>2]=r;i=(t[w>>2]|0)+i|0;h=22}}while(0);if((h|0)==22)t[w>>2]=i;t[e+288>>2]=0;t[e+284>>2]=0;t[e+292>>2]=0;break e}}}}while(0);return r|0}function lo(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;e:do{if(!e)A=0;else{a=e+476|0;switch(t[a>>2]|0){case 3:{t[e+280>>2]=33;A=0;break e}case 2:{t[e+280>>2]=36;A=0;break e}case 0:{if((t[e+472>>2]|0)==0?(to(e)|0)<<24>>24==0:0){t[e+280>>2]=1;A=0;break e}break}default:{}}t[a>>2]=1;n=e+24|0;s=t[n>>2]|0;f=e+292|0;t[f>>2]=s;c=e+28|0;l=(t[c>>2]|0)+A|0;t[c>>2]=l;t[e+40>>2]=l;c=e+36|0;t[c>>2]=(t[c>>2]|0)+A;i[e+480>>0]=r;A=e+276|0;l=Q5[t[A>>2]&127](e,s,l,n)|0;t[e+280>>2]=l;if(l|0){t[e+288>>2]=t[e+284>>2];t[A>>2]=66;A=0;break}switch(t[a>>2]|0){case 3:{A=2;break}case 1:case 0:{if(!r)A=1;else{t[a>>2]=2;A=1;break e}break}default:A=1}c=t[e+144>>2]|0;R5[t[c+48>>2]&31](c,t[f>>2]|0,t[n>>2]|0,e+404|0);t[f>>2]=t[n>>2]}}while(0);return A|0}function so(){var e=0,A=0,r=0;A=h;h=h+16|0;e=A;if(!(co(e)|0)){r=uo()|0;r=(D3()|0)^r;t[e>>2]=r;e=oo(142378,P(r,2147483647)|0)|0}else e=oo(142365,t[e>>2]|0)|0;h=A;return e|0}function co(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=h;h=h+16|0;i=T2(142365,0,a)|0;if((i|0)<0)A=0;else{A=0;while(1){n=Q3(i,e+A|0,4-A|0)|0;r=n+A|0;if((n|0)>0)if(r>>>0<4)A=r;else{A=1;break}if((t[(R2()|0)>>2]|0)!=4){A=0;break}}U4(i)|0}h=a;return A|0}function oo(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=h;h=h+16|0;i=a;r=Te(142443)|0;if(r|0?(e1(r,142463)|0)==0:0){r=t[15712]|0;t[i>>2]=e;t[i+4>>2]=8;t[i+8>>2]=A;t[i+12>>2]=4;a3(r,142465,i)|0}h=a;return A|0}function uo(){var e=0,A=0;A=h;h=h+16|0;e=A;if(!(Oe(e|0,0)|0)){h=A;return t[e+4>>2]|0}else ge(142390,142412,819,142423);return 0}function bo(e){e=e|0;if(!e)e=41;else e=t[e+280>>2]|0;return e|0}function ho(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if(!e)e=0;else{A=e+284|0;r=t[A>>2]|0;if(r|0?(i=e+292|0,a=t[i>>2]|0,r>>>0>=a>>>0):0){n=t[e+144>>2]|0;R5[t[n+48>>2]&31](n,a,r,e+404|0);t[i>>2]=t[A>>2]}e=(t[e+404>>2]|0)+1|0}return e|0}function wo(e){e=e|0;do{switch(e|0){case 41:{e=142502;break}case 1:{e=143774;break}case 2:{e=143761;break}case 3:{e=143744;break}case 4:{e=143712;break}case 5:{e=143697;break}case 6:{e=143679;break}case 7:{e=143664;break}case 8:{e=143644;break}case 9:{e=143616;break}case 10:{e=143581;break}case 11:{e=143564;break}case 12:{e=143537;break}case 13:{e=143517;break}case 14:{e=143479;break}case 15:{e=143452;break}case 16:{e=143410;break}case 17:{e=143363;break}case 18:{e=143346;break}case 19:{e=143295;break}case 20:{e=143272;break}case 21:{e=143226;break}case 22:{e=143199;break}case 23:{e=143148;break}case 24:{e=143112;break}case 25:{e=143060;break}case 26:{e=143015;break}case 27:{e=143e3;break}case 28:{e=142974;break}case 29:{e=142936;break}case 30:{e=142904;break}case 31:{e=142871;break}case 32:{e=142837;break}case 33:{e=142820;break}case 34:{e=142799;break}case 35:{e=142783;break}case 36:{e=142766;break}case 37:{e=142722;break}case 38:{e=142642;break}case 39:{e=142583;break}case 40:{e=142519;break}default:e=0}}while(0);return e|0}function ko(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,f=0,l=0;r=t[A>>2]|0;i=0;e:while(1){if(r>>>0<=e>>>0)break;f=r+-1|0;a=n[f>>0]|0;do{if((a&248|0)==240)if((i+1|0)>>>0>3){l=5;break e}else i=0;else{if((a&240|0)==224)if((i+1|0)>>>0>2){l=8;break e}else{i=0;break}if((a&224|0)==192)if((i+1|0)>>>0>1){l=11;break e}else{i=0;break}else if(!(a&128))break e;else break}}while(0);r=f;i=i+1|0}if((l|0)==5)r=r+3|0;else if((l|0)==8)r=r+2|0;else if((l|0)==11)r=r+1|0;t[A>>2]=r;return}function vo(e,A){e=e|0;A=A|0;do{if((e|0)>=0){if((e|0)<128){i[A>>0]=e;e=1;break}if((e|0)<2048){i[A>>0]=e>>>6|192;i[A+1>>0]=e&63|128;e=2;break}if((e|0)<65536){i[A>>0]=e>>>12|224;i[A+1>>0]=e>>>6&63|128;i[A+2>>0]=e&63|128;e=3;break}if((e|0)<1114112){i[A>>0]=e>>>18|240;i[A+1>>0]=e>>>12&63|128;i[A+2>>0]=e>>>6&63|128;i[A+3>>0]=e&63|128;e=4}else e=0}else e=0}while(0);return e|0}function go(){return 1908}function mo(e,A,r,f){e=e|0;A=A|0;r=r|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;l=0;while(1){if((l|0)==364){l=0;break}i[e+l>>0]=i[56576+l>>0]|0;l=l+1|0}e:while(1){if((l|0)>=128){s=5;break}switch(i[56648+l>>0]|0){case 0:case 28:break;default:if((t[A+(l<<2)>>2]|0)!=(l|0)){e=0;break e}}l=l+1|0}e:do{if((s|0)==5){k=e+72|0;u=e+372|0;b=e+884|0;h=(r|0)==0;o=0;while(1){if((o|0)>=256)break;w=t[A+(o<<2)>>2]|0;do{if((w|0)==-1){i[k+o>>0]=1;a[u+(o<<1)>>1]=-1;i[b+(o<<2)>>0]=1;i[b+(o<<2)+1>>0]=0}else{if((w|0)<0){if(h|(w|0)<-4){e=0;break e}i[k+o>>0]=3-w;i[b+(o<<2)>>0]=0;a[u+(o<<1)>>1]=0;break}if((w|0)<128){l=i[56648+w>>0]|0;switch(l<<24>>24){case 0:case 28:break;default:if((w|0)!=(o|0)){e=0;break e}}i[k+o>>0]=l;i[b+(o<<2)>>0]=1;i[b+(o<<2)+1>>0]=w;a[u+(o<<1)>>1]=(w|0)==0?-1:w&65535;break}if((po(w)|0)<0){i[k+o>>0]=0;a[u+(o<<1)>>1]=-1;i[b+(o<<2)>>0]=1;i[b+(o<<2)+1>>0]=0;break}if((w|0)>65535){e=0;break e}l=w>>>8;s=w>>>5&7;c=1<<(w&31);if(!(t[56940+((n[143788+l>>0]<<3|s)<<2)>>2]&c))i[k+o>>0]=t[56940+((n[144044+l>>0]<<3|s)<<2)>>2]&c|0?26:28;else i[k+o>>0]=22;i[b+(o<<2)>>0]=vo(w,b+(o<<2)+1|0)|0;a[u+(o<<1)>>1]=w}}while(0);o=o+1|0}t[e+368>>2]=f;t[e+364>>2]=r;if(!h){t[e+328>>2]=108;t[e+332>>2]=108;t[e+336>>2]=108;t[e+340>>2]=109;t[e+344>>2]=109;t[e+348>>2]=109;t[e+352>>2]=110;t[e+356>>2]=110;t[e+360>>2]=110}t[e+56>>2]=13;t[e+60>>2]=14}}while(0);return e|0}function po(e){e=e|0;var A=0;switch(e>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{e=-1;break}case 0:{if(!(i[56648+e>>0]|0))e=-1;else A=4;break}case 255:{if((e|1|0)==65535)e=-1;else A=4;break}default:A=4}return e|0}function Eo(e,A){e=e|0;A=A|0;e=Z5[t[e+364>>2]&127](t[e+368>>2]|0,A)|0;if(e>>>0>65535)e=0;else e=t[56940+(((n[144044+(e>>>8)>>0]|0)<<3|e>>>5&7)<<2)>>2]&1<<(e&31);return e|0}function Bo(e,A){e=e|0;A=A|0;e=Z5[t[e+364>>2]&127](t[e+368>>2]|0,A)|0;if(e>>>0>65535)e=0;else e=t[56940+(((n[143788+(e>>>8)>>0]|0)<<3|e>>>5&7)<<2)>>2]&1<<(e&31);return e|0}function yo(e,A){e=e|0;A=A|0;e=Z5[t[e+364>>2]&127](t[e+368>>2]|0,A)|0;if(e>>>0>65535)e=1;else e=(po(e)|0)>>>31;return e|0}function Co(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;k=h;h=h+16|0;o=k;u=e+364|0;b=e+884|0;w=e+368|0;c=e+72|0;while(1){l=t[A>>2]|0;if((l|0)==(r|0)){f=0;break}d=n[l>>0]|0;s=b+(d<<2)+1|0;d=i[b+(d<<2)>>0]|0;e=d<<24>>24;if(!(d<<24>>24)){e=vo(Z5[t[u>>2]&127](t[w>>2]|0,l)|0,o)|0;if((e|0)>(f-(t[a>>2]|0)|0)){f=2;break}l=t[A>>2]|0;s=o;l=l+((n[c+(n[l>>0]|0)>>0]|0)+-3)|0}else{if((f-(t[a>>2]|0)|0)<(e|0)){f=2;break}l=l+1|0}t[A>>2]=l;Q6(t[a>>2]|0,s|0,e|0)|0;t[a>>2]=(t[a>>2]|0)+e}h=k;return f|0}function Io(e,A,r,i,f){e=e|0;A=A|0;r=r|0;i=i|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;u=e+372|0;b=e+364|0;h=e+368|0;o=e+72|0;while(1){c=t[A>>2]|0;e=c>>>0>>0;l=t[i>>2]|0;if(!(e&l>>>0>>0))break;e=a[u+((n[c>>0]|0)<<1)>>1]|0;if(!(e<<16>>16)){e=(Z5[t[b>>2]&127](t[h>>2]|0,c)|0)&65535;l=t[A>>2]|0;s=(n[o+(n[l>>0]|0)>>0]|0)+-3|0}else{s=1;l=c}t[A>>2]=l+s;c=t[i>>2]|0;t[i>>2]=c+2;a[c>>1]=e}return((l|0)!=(f|0)|e^1?0:2)|0}function Zo(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0;e:do{if(A>>>0>>0){b=e+72|0;do{switch(i[b+(n[A>>0]|0)>>0]|0){case 12:{f=JK(12,e,A+1|0,r,a)|0;break e}case 13:{f=JK(13,e,A+1|0,r,a)|0;break e}case 2:{f=A+1|0;if((r-f|0)<=0){f=-1;break e}switch(i[b+(n[f>>0]|0)>>0]|0){case 16:{f=HK(e,A+2|0,r,a)|0;break e}case 15:{f=VK(e,A+2|0,r,a)|0;break e}case 7:case 6:case 5:case 29:case 24:case 22:{t[a>>2]=A;f=29;break e}default:{t[a>>2]=f;f=0;break e}}}case 9:{if((A+1|0)==(r|0)){t[a>>2]=r;f=-15;break e}else c=3;break}case 10:case 21:{c=3;break}case 30:{f=DK(e,A+1|0,r,a)|0;break e}case 35:{t[a>>2]=A+1;f=38;break e}case 20:{t[a>>2]=A+1;f=25;break e}case 4:{l=A+1|0;f=r-l|0;if((f|0)<=0){f=-26;break e}if((i[l>>0]|0)==93){if((f|0)<=1){f=-1;break e}if((i[A+2>>0]|0)==62){t[a>>2]=A+3;f=34;break e}}t[a>>2]=l;f=26;break e}case 31:{t[a>>2]=A+1;f=23;break e}case 32:{f=A+1|0;if((r-f|0)<=0){f=-24;break e}switch(i[b+(n[f>>0]|0)>>0]|0){case 33:{t[a>>2]=A+2;f=36;break e}case 15:{t[a>>2]=A+2;f=35;break e}case 34:{t[a>>2]=A+2;f=37;break e}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{t[a>>2]=f;f=24;break e}default:{t[a>>2]=f;f=0;break e}}}case 36:{t[a>>2]=A+1;f=21;break e}case 11:{t[a>>2]=A+1;f=17;break e}case 19:{f=PK(e,A+1|0,r,a)|0;break e}case 5:{if((r-A|0)<2){f=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0))if(!(Z5[t[e+328>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else{f=19;l=2}else{f=18;l=2}break}case 6:{if((r-A|0)<3){f=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0))if(!(Z5[t[e+332>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else{f=19;l=3}else{f=18;l=3}break}case 7:{if((r-A|0)<4){f=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0))if(!(Z5[t[e+336>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else{f=19;l=4}else{f=18;l=4}break}case 24:case 22:{f=18;l=1;break}case 23:case 27:case 26:case 25:{f=19;l=1;break}default:{t[a>>2]=A;f=0;break e}}}while(0);if((c|0)==3){s=r;l=A;A:while(1){f=l;l=l+1|0;if((s-l|0)<=0){c=18;break}switch(i[b+(n[l>>0]|0)>>0]|0){case 10:case 21:continue A;case 9:break;default:{c=17;break A}}if((f+2|0)==(r|0)){c=17;break}}if((c|0)==17){t[a>>2]=l;f=15;break}else if((c|0)==18){t[a>>2]=l;f=15;break}}c=e+328|0;o=e+332|0;u=e+336|0;s=A+l|0;A:while(1){l=r-s|0;if((l|0)<=0){c=99;break}switch(i[b+(n[s>>0]|0)>>0]|0){case 29:{c=56;break A}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{c=70;break A}case 34:{c=89;break A}case 33:{c=92;break A}case 15:{c=95;break A}case 27:case 26:case 25:case 24:case 22:{A=f;s=s+1|0;f=A;continue A}case 5:{if((l|0)<2){f=-2;break e}if(!(Z5[t[c>>2]&127](e,s)|0)){c=60;break A}A=f;s=s+2|0;f=A;continue A}case 6:{if((l|0)<3){f=-2;break e}if(!(Z5[t[o>>2]&127](e,s)|0)){c=64;break A}A=f;s=s+3|0;f=A;continue A}case 7:{if((l|0)<4){f=-2;break e}if(!(Z5[t[u>>2]&127](e,s)|0)){c=68;break A}A=f;s=s+4|0;f=A;continue A}case 23:{l=s+1|0;switch(f&63){case 18:break;case 41:{f=19;s=l;continue A}default:{A=f;s=l;f=A;continue A}}f=r-l|0;if((f|0)<=0){f=-1;break e}switch(i[b+(n[l>>0]|0)>>0]|0){case 29:{c=74;break A}case 27:case 26:case 25:case 24:case 22:{f=41;s=s+2|0;continue A}case 5:{if((f|0)<2){f=-2;break e}if(!(Z5[t[c>>2]&127](e,l)|0)){c=78;break A}f=41;s=s+3|0;continue A}case 6:{if((f|0)<3){f=-2;break e}if(!(Z5[t[o>>2]&127](e,l)|0)){c=82;break A}f=41;s=s+4|0;continue A}case 7:{if((f|0)<4){f=-2;break e}if(!(Z5[t[u>>2]&127](e,l)|0)){c=86;break A}f=41;s=s+5|0;continue A}default:{f=19;s=l;continue A}}}default:{c=98;break A}}}switch(c|0){case 56:{t[a>>2]=s;f=0;break e}case 60:{t[a>>2]=s;f=0;break e}case 64:{t[a>>2]=s;f=0;break e}case 68:{t[a>>2]=s;f=0;break e}case 70:{t[a>>2]=s;break e}case 74:{t[a>>2]=l;f=0;break e}case 78:{t[a>>2]=l;f=0;break e}case 82:{t[a>>2]=l;f=0;break e}case 86:{t[a>>2]=l;f=0;break e}case 89:if((f|0)==19){t[a>>2]=s;f=0;break e}else{t[a>>2]=s+1;f=32;break e}case 92:if((f|0)==19){t[a>>2]=s;f=0;break e}else{t[a>>2]=s+1;f=31;break e}case 95:if((f|0)==19){t[a>>2]=s;f=0;break e}else{t[a>>2]=s+1;f=30;break e}case 98:{t[a>>2]=s;f=0;break e}case 99:{f=0-f|0;break e}}}else f=-4}while(0);return f|0}function Go(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0;e:do{if(A>>>0>>0){u=e+72|0;A:do{switch(i[u+(n[A>>0]|0)>>0]|0){case 2:{f=YK(e,A+1|0,r,a)|0;break e}case 3:{f=QK(e,A+1|0,r,a)|0;break e}case 9:{f=A+1|0;if((r-f|0)<=0){f=-3;break e}t[a>>2]=(i[u+(n[f>>0]|0)>>0]|0)==10?A+2|0:f;f=7;break e}case 10:{t[a>>2]=A+1;f=7;break e}case 4:{l=A+1|0;if((r-l|0)<=0){f=-5;break e}if((i[l>>0]|0)==93){f=A+2|0;if((r-f|0)<=0){f=-5;break e}if((i[f>>0]|0)==62){t[a>>2]=f;f=0;break e}else f=r}else f=r;break}case 5:{f=r;if((f-A|0)<2){f=-2;break e}if(!(Z5[t[e+352>>2]&127](e,A)|0)){l=A+2|0;break A}else{t[a>>2]=A;f=0;break e}}case 6:{f=r;if((f-A|0)<3){f=-2;break e}if(!(Z5[t[e+356>>2]&127](e,A)|0)){l=A+3|0;break A}else{t[a>>2]=A;f=0;break e}}case 7:{f=r;if((f-A|0)<4){f=-2;break e}if(!(Z5[t[e+360>>2]&127](e,A)|0)){l=A+4|0;break A}else{t[a>>2]=A;f=0;break e}}case 8:case 1:case 0:{t[a>>2]=A;f=0;break e}default:{l=A+1|0;f=r}}}while(0);s=e+352|0;c=e+356|0;o=e+360|0;A:while(1){r=f-l|0;if((r|0)<=0){r=49;break}switch(i[u+(n[l>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{r=47;break A}case 5:{if((r|0)<2){r=32;break A}if(Z5[t[s>>2]&127](e,l)|0){r=32;break A}l=l+2|0;continue A}case 6:{if((r|0)<3){r=36;break A}if(Z5[t[c>>2]&127](e,l)|0){r=36;break A}l=l+3|0;continue A}case 7:{if((r|0)<4){r=40;break A}if(Z5[t[o>>2]&127](e,l)|0){r=40;break A}l=l+4|0;continue A}case 4:{if((r|0)<=1){r=47;break A}A=l+1|0;if((i[A>>0]|0)!=93){l=A;continue A}if((r|0)<=2){r=47;break A}l=l+2|0;if((i[l>>0]|0)==62){r=46;break A}else{l=A;continue A}}default:{l=l+1|0;continue A}}}if((r|0)==32){t[a>>2]=l;f=6;break}else if((r|0)==36){t[a>>2]=l;f=6;break}else if((r|0)==40){t[a>>2]=l;f=6;break}else if((r|0)==46){t[a>>2]=l;f=0;break}else if((r|0)==47){t[a>>2]=l;f=6;break}else if((r|0)==49){t[a>>2]=l;f=6;break}}else f=-4}while(0);return f|0}function Lo(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;e:do{if(A>>>0>>0){o=e+72|0;A:do{switch(i[o+(n[A>>0]|0)>>0]|0){case 4:{l=A+1|0;f=r;if((f-l|0)<=0){f=-1;break e}if((i[l>>0]|0)==93){r=A+2|0;if((f-r|0)<=0){f=-1;break e}if((i[r>>0]|0)==62){t[a>>2]=A+3;f=40;break e}}break}case 9:{f=A+1|0;if((r-f|0)<=0){f=-1;break e}t[a>>2]=(i[o+(n[f>>0]|0)>>0]|0)==10?A+2|0:f;f=7;break e}case 10:{t[a>>2]=A+1;f=7;break e}case 5:{f=r;if((f-A|0)<2){f=-2;break e}if(!(Z5[t[e+352>>2]&127](e,A)|0)){l=A+2|0;break A}else{t[a>>2]=A;f=0;break e}}case 6:{f=r;if((f-A|0)<3){f=-2;break e}if(!(Z5[t[e+356>>2]&127](e,A)|0)){l=A+3|0;break A}else{t[a>>2]=A;f=0;break e}}case 7:{f=r;if((f-A|0)<4){f=-2;break e}if(!(Z5[t[e+360>>2]&127](e,A)|0)){l=A+4|0;break A}else{t[a>>2]=A;f=0;break e}}case 8:case 1:case 0:{t[a>>2]=A;f=0;break e}default:{l=A+1|0;f=r}}}while(0);A=e+352|0;s=e+356|0;c=e+360|0;A:while(1){r=f-l|0;if((r|0)<=0){r=39;break}switch(i[o+(n[l>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{r=37;break A}case 5:{if((r|0)<2){r=30;break A}if(!(Z5[t[A>>2]&127](e,l)|0))r=2;else{r=30;break A}break}case 6:{if((r|0)<3){r=33;break A}if(!(Z5[t[s>>2]&127](e,l)|0))r=3;else{r=33;break A}break}case 7:{if((r|0)<4){r=36;break A}if(!(Z5[t[c>>2]&127](e,l)|0))r=4;else{r=36;break A}break}default:r=1}l=l+r|0}if((r|0)==30){t[a>>2]=l;f=6;break}else if((r|0)==33){t[a>>2]=l;f=6;break}else if((r|0)==36){t[a>>2]=l;f=6;break}else if((r|0)==37){t[a>>2]=l;f=6;break}else if((r|0)==39){t[a>>2]=l;f=6;break}}else f=-4}while(0);return f|0}function Qo(e,A,r,i,a,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;var o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0;if(!((e|0)>-1&((A|0)>0&(r|0)>0)))ge(95162,94943,843,95188);l=uK(A,r,e,f,l,1)|0;if(!l)ge(95233,94943,847,95188);m=t[l+20>>2]|0;g=t[l+24>>2]|0;u=A+1|0;o=0;while(1){if((o|0)==(u|0))break;t[m+(o<<2)>>2]=0;o=o+1|0}e:do{switch(f|0){case 1:{f=t[l+28>>2]|0;o=0;while(1){if((o|0)>=(e|0)){k=0;break}u=t[i+(o<<2)>>2]|0;if(!((u|0)>-1&(u|0)<(A|0))){v=13;break}d=t[a+(o<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(r|0))){v=13;break}d=m+(u+1<<2)|0;t[d>>2]=(t[d>>2]|0)+1;o=o+1|0}if((v|0)==13)ge(138394,94943,862,95188);while(1){if((k|0)==(A|0)){o=0;break}v=k+1|0;r=m+(v<<2)|0;t[r>>2]=(t[r>>2]|0)+(t[m+(k<<2)>>2]|0);k=v}while(1){if((o|0)==(e|0))break;d=m+(t[i+(o<<2)>>2]<<2)|0;v=t[d>>2]|0;c[f+(v<<3)>>3]=+c[n+(o<<3)>>3];r=t[a+(o<<2)>>2]|0;t[d>>2]=v+1;t[g+(v<<2)>>2]=r;o=o+1|0}while(1){if((A|0)<=0)break e;a=A+-1|0;t[m+(A<<2)>>2]=t[m+(a<<2)>>2];A=a}}case 2:{f=t[l+28>>2]|0;o=0;while(1){if((o|0)>=(e|0)){d=0;break}u=t[i+(o<<2)>>2]|0;if(!((u|0)>-1&(u|0)<(A|0))){v=25;break}k=t[a+(o<<2)>>2]|0;if(!((k|0)>-1&(k|0)<(r|0))){v=25;break}k=m+(u+1<<2)|0;t[k>>2]=(t[k>>2]|0)+1;o=o+1|0}if((v|0)==25)ge(138394,94943,880,95188);while(1){if((d|0)==(A|0)){o=0;break}v=d+1|0;r=m+(v<<2)|0;t[r>>2]=(t[r>>2]|0)+(t[m+(d<<2)>>2]|0);d=v}while(1){if((o|0)==(e|0))break;d=m+(t[i+(o<<2)>>2]<<2)|0;v=t[d>>2]|0;r=v<<1;c[f+(r<<3)>>3]=+c[n>>3];c[f+((r|1)<<3)>>3]=+c[n+8>>3];r=t[a+(o<<2)>>2]|0;t[d>>2]=v+1;t[g+(v<<2)>>2]=r;n=n+16|0;o=o+1|0}while(1){if((A|0)<=0)break e;a=A+-1|0;t[m+(A<<2)>>2]=t[m+(a<<2)>>2];A=a}}case 4:{f=t[l+28>>2]|0;o=0;while(1){if((o|0)>=(e|0)){w=0;break}u=t[i+(o<<2)>>2]|0;if(!((u|0)>-1&(u|0)<(A|0))){v=37;break}d=t[a+(o<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(r|0))){v=37;break}d=m+(u+1<<2)|0;t[d>>2]=(t[d>>2]|0)+1;o=o+1|0}if((v|0)==37)ge(138394,94943,899,95188);while(1){if((w|0)==(A|0)){o=0;break}v=w+1|0;r=m+(v<<2)|0;t[r>>2]=(t[r>>2]|0)+(t[m+(w<<2)>>2]|0);w=v}while(1){if((o|0)==(e|0))break;d=i+(o<<2)|0;t[f+(t[m+(t[d>>2]<<2)>>2]<<2)>>2]=t[n+(o<<2)>>2];r=t[a+(o<<2)>>2]|0;d=m+(t[d>>2]<<2)|0;v=t[d>>2]|0;t[d>>2]=v+1;t[g+(v<<2)>>2]=r;o=o+1|0}while(1){if((A|0)<=0)break e;a=A+-1|0;t[m+(A<<2)>>2]=t[m+(a<<2)>>2];A=a}}case 8:{n=0;while(1){if((n|0)>=(e|0)){b=0;break}o=t[i+(n<<2)>>2]|0;if(!((o|0)>-1&(o|0)<(A|0))){v=48;break}d=t[a+(n<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(r|0))){v=48;break}d=m+(o+1<<2)|0;t[d>>2]=(t[d>>2]|0)+1;n=n+1|0}if((v|0)==48)ge(138394,94943,915,95188);while(1){if((b|0)==(A|0)){n=0;break}v=b+1|0;r=m+(v<<2)|0;t[r>>2]=(t[r>>2]|0)+(t[m+(b<<2)>>2]|0);b=v}while(1){if((n|0)==(e|0))break;r=t[a+(n<<2)>>2]|0;d=m+(t[i+(n<<2)>>2]<<2)|0;v=t[d>>2]|0;t[d>>2]=v+1;t[g+(v<<2)>>2]=r;n=n+1|0}while(1){if((A|0)<=0)break e;a=A+-1|0;t[m+(A<<2)>>2]=t[m+(a<<2)>>2];A=a}}case 16:{o=0;while(1){if((o|0)>=(e|0)){h=0;break}u=t[i+(o<<2)>>2]|0;if(!((u|0)>-1&(u|0)<(A|0))){v=59;break}d=t[a+(o<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(r|0))){v=59;break}d=m+(u+1<<2)|0;t[d>>2]=(t[d>>2]|0)+1;o=o+1|0}if((v|0)==59)ge(138394,94943,930,95188);while(1){if((h|0)==(A|0))break;v=h+1|0;r=m+(v<<2)|0;t[r>>2]=(t[r>>2]|0)+(t[m+(h<<2)>>2]|0);h=v}Q6(t[l+28>>2]|0,n|0,P(t[l+40>>2]|0,e)|0)|0;n=0;while(1){if((n|0)==(e|0))break;r=t[a+(n<<2)>>2]|0;d=m+(t[i+(n<<2)>>2]<<2)|0;v=t[d>>2]|0;t[d>>2]=v+1;t[g+(v<<2)>>2]=r;n=n+1|0}while(1){if((A|0)<=0)break e;a=A+-1|0;t[m+(A<<2)>>2]=t[m+(a<<2)>>2];A=a}}default:ge(138394,94943,944,95188)}}while(0);t[m>>2]=0;t[l+8>>2]=e;if(s)l=Do(l,s)|0;return l|0}function Do(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;g=t[e+20>>2]|0;m=t[e+24>>2]|0;i=t[e+16>>2]|0;d=t[e+4>>2]|0;e:do{if(A){u=d<<2;b=$F(u)|0;r=0;while(1){if((r|0)>=(d|0))break;t[b+(r<<2)>>2]=-1;r=r+1|0}A:do{switch(i|0){case 1:{s=t[e+28>>2]|0;a=0;i=t[g>>2]|0;r=0;r:while(1){if((r|0)>=(t[e>>2]|0)){p=a;E=b;break A}o=r+1|0;u=g+(o<<2)|0;f=g+(r<<2)|0;r=a;while(1){A=t[u>>2]|0;if((i|0)>=(A|0))break;A=m+(i<<2)|0;a=t[A>>2]|0;n=t[b+(a<<2)>>2]|0;if((n|0)<(t[f>>2]|0)){t[m+(r<<2)>>2]=a;c[s+(r<<3)>>3]=+c[s+(i<<3)>>3];t[b+(t[A>>2]<<2)>>2]=r;r=r+1|0}else{if((t[m+(n<<2)>>2]|0)!=(a|0))break r;v=s+(n<<3)|0;c[v>>3]=+c[v>>3]+ +c[s+(i<<3)>>3]}i=i+1|0}t[u>>2]=r;a=r;i=A;r=o}ge(95235,94943,1792,95260);break}case 2:{v=t[e+28>>2]|0;switch(A|0){case 1:{A=t[g>>2]|0;i=0;r=0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=b;break A}s=i+1|0;o=g+(s<<2)|0;f=g+(i<<2)|0;while(1){i=t[o>>2]|0;if((A|0)>=(i|0))break;i=m+(A<<2)|0;a=t[i>>2]|0;n=t[b+(a<<2)>>2]|0;if((n|0)<(t[f>>2]|0)){t[m+(r<<2)>>2]=a;k=A<<1;d=r<<1;c[v+(d<<3)>>3]=+c[v+(k<<3)>>3];c[v+((d|1)<<3)>>3]=+c[v+((k|1)<<3)>>3];t[b+(t[i>>2]<<2)>>2]=r;r=r+1|0}else{if((t[m+(n<<2)>>2]|0)!=(a|0))break r;k=A<<1;d=n<<1;w=v+(d<<3)|0;c[w>>3]=+c[w>>3]+ +c[v+(k<<3)>>3];d=v+((d|1)<<3)|0;c[d>>3]=+c[d>>3]+ +c[v+((k|1)<<3)>>3]}A=A+1|0}t[o>>2]=r;A=i;i=s}ge(95235,94943,1815,95260);break}case 4:{A=t[g>>2]|0;i=0;r=0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=b;break A}o=i+1|0;s=g+(o<<2)|0;f=g+(i<<2)|0;while(1){i=t[s>>2]|0;if((A|0)>=(i|0))break;i=m+(A<<2)|0;a=t[i>>2]|0;n=t[b+(a<<2)>>2]|0;if((n|0)<(t[f>>2]|0)){t[m+(r<<2)>>2]=a;k=A<<1;d=r<<1;c[v+(d<<3)>>3]=+c[v+(k<<3)>>3];c[v+((d|1)<<3)>>3]=+c[v+((k|1)<<3)>>3];t[b+(t[i>>2]<<2)>>2]=r;r=r+1|0}else{if((t[m+(n<<2)>>2]|0)!=(a|0))break r;k=A<<1;d=n<<1;w=v+(d<<3)|0;c[w>>3]=+c[w>>3]+ +c[v+(k<<3)>>3];c[v+((d|1)<<3)>>3]=+c[v+((k|1)<<3)>>3]}A=A+1|0}t[s>>2]=r;A=i;i=o}ge(95235,94943,1835,95260);break}case 2:{k=~~+c[v+8>>3];f=t[e>>2]|0;i=k;n=0;r=0;r:while(1){if((n|0)>=(f|0))break;s=n+1|0;o=t[g+(s<<2)>>2]|0;a=r;A=k;r=t[g+(n<<2)>>2]|0;while(1){if((r|0)>=(o|0)){k=A;n=s;r=a;continue r}k=~~+c[v+((a<<1|1)<<3)>>3];a=a+1|0;i=(i|0)>(k|0)?i:k;A=(A|0)<(k|0)?A:k;r=r+1|0}}G2(b);w=i-k+1|0;h=$F(P(w,u)|0)|0;w=P(w,d)|0;r=0;while(1){if((r|0)>=(w|0))break;t[h+(r<<2)>>2]=-1;r=r+1|0}r=0;A=t[g>>2]|0;i=0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=h;break A}u=i+1|0;b=g+(u<<2)|0;o=g+(i<<2)|0;while(1){i=t[b>>2]|0;if((A|0)>=(i|0))break;i=t[m+(A<<2)>>2]|0;a=A<<1;l=+c[v+((a|1)<<3)>>3];n=(P(~~l-k|0,d)|0)+i|0;f=h+(n<<2)|0;s=t[f>>2]|0;if((s|0)<(t[o>>2]|0)){t[m+(r<<2)>>2]=i;s=r<<1;c[v+(s<<3)>>3]=+c[v+(a<<3)>>3];c[v+((s|1)<<3)>>3]=l;t[f>>2]=r;r=r+1|0}else{if((n|0)>=(w|0)){r=55;break r}if((t[m+(s<<2)>>2]|0)!=(i|0)){r=57;break r}s=s<<1;f=v+(s<<3)|0;c[f>>3]=+c[f>>3]+ +c[v+(a<<3)>>3];c[v+((s|1)<<3)>>3]=l}A=A+1|0}t[b>>2]=r;A=i;i=u}if((r|0)==55)ge(95292,94943,1869,95260);else if((r|0)==57)ge(95313,94943,1870,95260);break}case 3:{a=~~+c[v+8>>3];f=t[e>>2]|0;r=a;i=0;n=0;r:while(1){if((n|0)>=(f|0))break;s=n+1|0;o=t[g+(s<<2)>>2]|0;A=r;r=t[g+(n<<2)>>2]|0;while(1){if((r|0)>=(o|0)){r=A;n=s;continue r}k=~~+c[v+(i<<1<<3)>>3];A=(A|0)>(k|0)?A:k;a=(a|0)>(k|0)?a:k;i=i+1|0;r=r+1|0}}G2(b);i=r-a+1|0;h=$F(P(i,u)|0)|0;i=P(i,d)|0;r=0;while(1){if((r|0)>=(i|0))break;t[h+(r<<2)>>2]=-1;r=r+1|0}r=0;A=t[g>>2]|0;i=0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=h;break A}u=i+1|0;b=g+(u<<2)|0;o=g+(i<<2)|0;while(1){i=t[b>>2]|0;if((A|0)>=(i|0))break;i=t[m+(A<<2)>>2]|0;n=A<<1;l=+c[v+(n<<3)>>3];f=h+((P(~~l-a|0,d)|0)+i<<2)|0;s=t[f>>2]|0;if((s|0)<(t[o>>2]|0)){t[m+(r<<2)>>2]=i;k=r<<1;c[v+(k<<3)>>3]=l;c[v+((k|1)<<3)>>3]=+c[v+((n|1)<<3)>>3];t[f>>2]=r;r=r+1|0}else{if((t[m+(s<<2)>>2]|0)!=(i|0))break r;k=s<<1;c[v+(k<<3)>>3]=l;k=v+((k|1)<<3)|0;c[k>>3]=+c[k>>3]+ +c[v+((n|1)<<3)>>3]}A=A+1|0}t[b>>2]=r;A=i;i=u}ge(95313,94943,1905,95260);break}default:{p=0;E=b;break A}}break}case 4:{s=t[e+28>>2]|0;i=0;r=0;A=t[g>>2]|0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=b;break A}o=i+1|0;u=g+(o<<2)|0;f=g+(i<<2)|0;while(1){a=t[u>>2]|0;if((A|0)>=(a|0))break;i=m+(A<<2)|0;a=t[i>>2]|0;n=t[b+(a<<2)>>2]|0;if((n|0)<(t[f>>2]|0)){t[m+(r<<2)>>2]=a;t[s+(r<<2)>>2]=t[s+(A<<2)>>2];t[b+(t[i>>2]<<2)>>2]=r;r=r+1|0}else{if((t[m+(n<<2)>>2]|0)!=(a|0))break r;v=s+(n<<2)|0;t[v>>2]=(t[v>>2]|0)+(t[s+(A<<2)>>2]|0)}A=A+1|0}t[u>>2]=r;i=o;A=a}ge(95235,94943,1929,95260);break}case 8:{i=0;r=0;A=t[g>>2]|0;r:while(1){if((i|0)>=(t[e>>2]|0)){p=r;E=b;break A}s=i+1|0;o=g+(s<<2)|0;f=g+(i<<2)|0;while(1){a=t[o>>2]|0;if((A|0)>=(a|0))break;i=m+(A<<2)|0;a=t[i>>2]|0;n=t[b+(a<<2)>>2]|0;if((n|0)>=(t[f>>2]|0)){if((t[m+(n<<2)>>2]|0)!=(a|0))break r}else{t[m+(r<<2)>>2]=a;t[b+(t[i>>2]<<2)>>2]=r;r=r+1|0}A=A+1|0}t[o>>2]=r;i=s;A=a}ge(95235,94943,1948,95260);break}default:{e=0;break e}}}while(0);t[e+8>>2]=p;G2(E)}}while(0);return e|0}function zo(e,A,r,i,a,t,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;if(!i)Wo(e,r,a,n,A,t);else Yo(e,r,a,n,A,t);return}function Wo(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0.0,m=0;if((t[e+32>>2]|0)!=1)ge(94919,94943,1121,95483);if((t[e+16>>2]|0)!=1)ge(95364,94943,1122,95483);w=t[e+28>>2]|0;k=t[e+20>>2]|0;d=t[e+24>>2]|0;v=t[e>>2]|0;h=t[e+4>>2]|0;e=t[r>>2]|0;f=(e|0)!=0;if(!a){if(!f)e=$F(P(i<<3,v)|0)|0;a=0;e:while(1){if((a|0)>=(v|0))break;b=P(a,i)|0;f=0;while(1){if((f|0)>=(i|0))break;c[e+(f+b<<3)>>3]=0.0;f=f+1|0}o=a+1|0;u=t[k+(o<<2)>>2]|0;f=t[k+(a<<2)>>2]|0;while(1){if((f|0)>=(u|0)){a=o;continue e}l=w+(f<<3)|0;s=d+(f<<2)|0;a=0;while(1){if((a|0)>=(i|0))break;g=+c[A+((P(t[s>>2]|0,i)|0)+a<<3)>>3]*+c[l>>3];h=e+(a+b<<3)|0;c[h>>3]=+c[h>>3]+g;a=a+1|0}f=f+1|0}}if(n)Mo(e,v,i)}else{if(!f)e=$F(P(i<<3,h)|0)|0;a=P(h,i)|0;f=0;while(1){if((f|0)>=(a|0)){f=0;break}c[e+(f<<3)>>3]=0.0;f=f+1|0}e:while(1){if((f|0)>=(v|0))break;o=f+1|0;u=t[k+(o<<2)>>2]|0;b=P(f,i)|0;f=t[k+(f<<2)>>2]|0;while(1){if((f|0)>=(u|0)){f=o;continue e}l=w+(f<<3)|0;s=d+(f<<2)|0;a=0;while(1){if((a|0)>=(i|0))break;m=e+((P(t[s>>2]|0,i)|0)+a<<3)|0;c[m>>3]=+c[m>>3]+ +c[A+(a+b<<3)>>3]*+c[l>>3];a=a+1|0}f=f+1|0}}if(n)Mo(e,h,i)}t[r>>2]=e;return}function Yo(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+16|0;o=u;if((t[e+32>>2]|0)!=1)ge(94919,94943,1163,95335);if((t[e+16>>2]|0)!=1)ge(95364,94943,1164,95335);f=t[r>>2]|0;s=t[e>>2]|0;c=t[e+4>>2]|0;l=(f|0)!=0;if(!a){if(!l)f=$F(P(i<<3,s)|0)|0;l=0;while(1){if((l|0)>=(i|0))break;t[o>>2]=f+((P(l,s)|0)<<3);Fo(e,A+((P(l,c)|0)<<3)|0,o,0);l=l+1|0}if(!n)Mo(f,i,s)}else{if(!l)f=$F(P(i<<3,c)|0)|0;l=0;while(1){if((l|0)>=(i|0))break;t[o>>2]=f+((P(l,c)|0)<<3);Fo(e,A+((P(l,s)|0)<<3)|0,o,a);l=l+1|0}if(!n)Mo(f,i,c)}t[r>>2]=f;h=u;return}function Fo(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0.0;if((t[e+32>>2]|0)!=1)ge(94919,94943,1222,95392);f=t[e+16>>2]|0;switch(f|0){case 4:case 1:break;default:ge(95421,94943,1223,95392)}b=t[e+20>>2]|0;u=t[e+24>>2]|0;h=t[e>>2]|0;s=t[e+4>>2]|0;l=t[r>>2]|0;e:do{switch(f|0){case 1:{o=t[e+28>>2]|0;e=(i|0)!=0;a=(l|0)!=0;if(!A){if(!e){if(a)a=l;else a=$F(h<<3)|0;e=0;A:while(1){if((e|0)>=(h|0))break e;f=a+(e<<3)|0;c[f>>3]=0.0;l=e+1|0;i=t[b+(l<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;n=0.0;while(1){if((e|0)>=(i|0)){e=l;continue A}w=n+ +c[o+(e<<3)>>3];c[f>>3]=w;e=e+1|0;n=w}}}if(!a)l=$F(s<<3)|0;e=0;while(1){if((e|0)>=(s|0)){e=0;break}c[l+(e<<3)>>3]=0.0;e=e+1|0}A:while(1){if((e|0)>=(h|0)){a=l;break e}a=e+1|0;f=t[b+(a<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;while(1){if((e|0)>=(f|0)){e=a;continue A}A=l+(t[u+(e<<2)>>2]<<3)|0;c[A>>3]=+c[A>>3]+ +c[o+(e<<3)>>3];e=e+1|0}}}else{if(!e){if(a)a=l;else a=$F(h<<3)|0;e=0;A:while(1){if((e|0)>=(h|0))break e;f=a+(e<<3)|0;c[f>>3]=0.0;l=e+1|0;i=t[b+(l<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;n=0.0;while(1){if((e|0)>=(i|0)){e=l;continue A}w=n+ +c[A+(t[u+(e<<2)>>2]<<3)>>3]*+c[o+(e<<3)>>3];c[f>>3]=w;e=e+1|0;n=w}}}if(a)a=l;else a=$F(s<<3)|0;e=0;while(1){if((e|0)>=(s|0)){e=0;break}c[a+(e<<3)>>3]=0.0;e=e+1|0}A:while(1){if((e|0)>=(h|0))break e;f=e+1|0;l=t[b+(f<<2)>>2]|0;i=A+(e<<3)|0;e=t[b+(e<<2)>>2]|0;while(1){if((e|0)>=(l|0)){e=f;continue A}s=a+(t[u+(e<<2)>>2]<<3)|0;c[s>>3]=+c[s>>3]+ +c[i>>3]*+c[o+(e<<3)>>3];e=e+1|0}}}}case 4:{o=t[e+28>>2]|0;e=(i|0)!=0;a=(l|0)!=0;if(!A){if(!e){if(a)a=l;else a=$F(h<<3)|0;e=0;A:while(1){if((e|0)>=(h|0))break e;f=a+(e<<3)|0;c[f>>3]=0.0;l=e+1|0;i=t[b+(l<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;n=0.0;while(1){if((e|0)>=(i|0)){e=l;continue A}w=n+ +(t[o+(e<<2)>>2]|0);c[f>>3]=w;e=e+1|0;n=w}}}if(!a)l=$F(s<<3)|0;e=0;while(1){if((e|0)>=(s|0)){e=0;break}c[l+(e<<3)>>3]=0.0;e=e+1|0}A:while(1){if((e|0)>=(h|0)){a=l;break e}a=e+1|0;f=t[b+(a<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;while(1){if((e|0)>=(f|0)){e=a;continue A}A=l+(t[u+(e<<2)>>2]<<3)|0;c[A>>3]=+c[A>>3]+ +(t[o+(e<<2)>>2]|0);e=e+1|0}}}else{if(!e){if(a)a=l;else a=$F(h<<3)|0;e=0;A:while(1){if((e|0)>=(h|0))break e;f=a+(e<<3)|0;c[f>>3]=0.0;l=e+1|0;i=t[b+(l<<2)>>2]|0;e=t[b+(e<<2)>>2]|0;n=0.0;while(1){if((e|0)>=(i|0)){e=l;continue A}w=n+ +c[A+(t[u+(e<<2)>>2]<<3)>>3]*+(t[o+(e<<2)>>2]|0);c[f>>3]=w;e=e+1|0;n=w}}}if(a)a=l;else a=$F(s<<3)|0;e=0;while(1){if((e|0)>=(s|0)){e=0;break}c[a+(e<<3)>>3]=0.0;e=e+1|0}A:while(1){if((e|0)>=(h|0))break e;f=e+1|0;l=t[b+(f<<2)>>2]|0;i=A+(e<<3)|0;e=t[b+(e<<2)>>2]|0;while(1){if((e|0)>=(l|0)){e=f;continue A}s=a+(t[u+(e<<2)>>2]<<3)|0;c[s>>3]=+c[s>>3]+ +c[i>>3]*+(t[o+(e<<2)>>2]|0);e=e+1|0}}}}default:ge(138394,94943,1315,95392)}}while(0);t[r>>2]=a;return}function Mo(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,t=0,n=0;i=P(A<<3,r)|0;t=$F(i)|0;Q6(t|0,e|0,i|0)|0;i=0;while(1){if((i|0)>=(A|0))break;n=P(i,r)|0;a=0;while(1){if((a|0)>=(r|0))break;c[e+((P(a,A)|0)+i<<3)>>3]=+c[t+(a+n<<3)>>3];a=a+1|0}i=i+1|0}G2(t);return}function Vo(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0;B=t[e+20>>2]|0;y=t[e+24>>2]|0;C=t[A+20>>2]|0;I=t[A+24>>2]|0;E=t[e+32>>2]|0;if(!((E|0)==1?(E|0)==(t[A+32>>2]|0):0))ge(95005,94943,1408,95512);E=t[e>>2]|0;if(((t[e+4>>2]|0)==(t[A>>2]|0)?(b=t[e+16>>2]|0,(b|0)==(t[A+16>>2]|0)):0)?(u=A+4|0,Z=$F(t[u>>2]<<2)|0,(Z|0)!=0):0){r=0;while(1){if((r|0)>=(t[u>>2]|0)){i=0;r=0;break}t[Z+(r<<2)>>2]=-1;r=r+1|0}e:while(1){if((r|0)>=(E|0))break;l=r+1|0;s=B+(l<<2)|0;o=-2-r|0;f=t[B+(r<<2)>>2]|0;while(1){if((f|0)>=(t[s>>2]|0)){r=l;continue e}a=t[y+(f<<2)>>2]|0;n=C+(a+1<<2)|0;a=t[C+(a<<2)>>2]|0;while(1){if((a|0)>=(t[n>>2]|0))break;r=Z+(t[I+(a<<2)>>2]<<2)|0;if((t[r>>2]|0)!=(o|0)){t[r>>2]=o;i=i+1|0}a=a+1|0}f=f+1|0}}r=aK(E,t[u>>2]|0,i,b,1)|0;e:do{if(!r)r=0;else{g=t[r+20>>2]|0;m=t[r+24>>2]|0;A:do{switch(b|0){case 1:{d=t[e+28>>2]|0;b=t[A+28>>2]|0;A=t[r+28>>2]|0;t[g>>2]=0;i=0;a=0;r:while(1){if((i|0)>=(E|0)){p=a;break A}h=i+1|0;w=B+(h<<2)|0;k=g+(i<<2)|0;e=t[B+(i<<2)>>2]|0;while(1){if((e|0)>=(t[w>>2]|0))break;s=t[y+(e<<2)>>2]|0;o=C+(s+1<<2)|0;u=d+(e<<3)|0;s=t[C+(s<<2)>>2]|0;while(1){if((s|0)>=(t[o>>2]|0))break;i=I+(s<<2)|0;n=t[i>>2]|0;f=Z+(n<<2)|0;l=t[f>>2]|0;if((l|0)<(t[k>>2]|0)){t[f>>2]=a;t[m+(a<<2)>>2]=t[i>>2];c[A+(a<<3)>>3]=+c[b+(s<<3)>>3]*+c[u>>3];a=a+1|0}else{if((t[m+(l<<2)>>2]|0)!=(n|0))break r;v=A+(l<<3)|0;c[v>>3]=+c[v>>3]+ +c[b+(s<<3)>>3]*+c[u>>3]}s=s+1|0}e=e+1|0}t[g+(h<<2)>>2]=a;i=h}ge(95534,94943,1468,95512);break}case 2:{v=t[e+28>>2]|0;A=t[A+28>>2]|0;h=t[r+28>>2]|0;t[g>>2]=0;i=0;a=0;r:while(1){if((i|0)>=(E|0)){p=a;break A}w=i+1|0;k=B+(w<<2)|0;d=g+(i<<2)|0;b=t[B+(i<<2)>>2]|0;while(1){if((b|0)>=(t[k>>2]|0))break;s=t[y+(b<<2)>>2]|0;o=C+(s+1<<2)|0;e=b<<1;u=v+(e<<3)|0;e=v+((e|1)<<3)|0;s=t[C+(s<<2)>>2]|0;while(1){if((s|0)>=(t[o>>2]|0))break;i=I+(s<<2)|0;n=t[i>>2]|0;f=Z+(n<<2)|0;l=t[f>>2]|0;if((l|0)<(t[d>>2]|0)){t[f>>2]=a;t[m+(a<<2)>>2]=t[i>>2];f=s<<1;n=A+(f<<3)|0;f=A+((f|1)<<3)|0;l=a<<1;c[h+(l<<3)>>3]=+c[n>>3]*+c[u>>3]-+c[f>>3]*+c[e>>3];c[h+((l|1)<<3)>>3]=+c[n>>3]*+c[e>>3]+ +c[f>>3]*+c[u>>3];a=a+1|0}else{if((t[m+(l<<2)>>2]|0)!=(n|0))break r;f=s<<1;n=A+(f<<3)|0;f=A+((f|1)<<3)|0;l=l<<1;i=h+(l<<3)|0;c[i>>3]=+c[i>>3]+ +c[n>>3]*+c[u>>3]-+c[f>>3]*+c[e>>3];l=h+((l|1)<<3)|0;c[l>>3]=+c[n>>3]*+c[e>>3]+ +c[f>>3]*+c[u>>3]+ +c[l>>3]}s=s+1|0}b=b+1|0}t[g+(w<<2)>>2]=a;i=w}ge(95534,94943,1497,95512);break}case 4:{d=t[e+28>>2]|0;b=t[A+28>>2]|0;A=t[r+28>>2]|0;t[g>>2]=0;i=0;a=0;r:while(1){if((a|0)>=(E|0)){p=i;break A}h=a+1|0;w=B+(h<<2)|0;k=g+(a<<2)|0;o=t[B+(a<<2)>>2]|0;while(1){if((o|0)>=(t[w>>2]|0))break;s=t[y+(o<<2)>>2]|0;u=C+(s+1<<2)|0;e=d+(o<<2)|0;s=t[C+(s<<2)>>2]|0;while(1){if((s|0)>=(t[u>>2]|0))break;a=I+(s<<2)|0;n=t[a>>2]|0;f=Z+(n<<2)|0;l=t[f>>2]|0;if((l|0)<(t[k>>2]|0)){t[f>>2]=i;t[m+(i<<2)>>2]=t[a>>2];t[A+(i<<2)>>2]=P(t[b+(s<<2)>>2]|0,t[e>>2]|0)|0;i=i+1|0}else{if((t[m+(l<<2)>>2]|0)!=(n|0))break r;f=P(t[b+(s<<2)>>2]|0,t[e>>2]|0)|0;v=A+(l<<2)|0;t[v>>2]=(t[v>>2]|0)+f}s=s+1|0}o=o+1|0}t[g+(h<<2)>>2]=i;a=h}ge(95534,94943,1523,95512);break}case 8:{t[g>>2]=0;i=0;a=0;r:while(1){if((a|0)>=(E|0)){p=i;break A}e=a+1|0;b=B+(e<<2)|0;A=g+(a<<2)|0;o=t[B+(a<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0))break;s=t[y+(o<<2)>>2]|0;u=C+(s+1<<2)|0;s=t[C+(s<<2)>>2]|0;while(1){if((s|0)>=(t[u>>2]|0))break;a=I+(s<<2)|0;n=t[a>>2]|0;f=Z+(n<<2)|0;l=t[f>>2]|0;if((l|0)>=(t[A>>2]|0)){if((t[m+(l<<2)>>2]|0)!=(n|0))break r}else{t[f>>2]=i;t[m+(i<<2)>>2]=t[a>>2];i=i+1|0}s=s+1|0}o=o+1|0}t[g+(e<<2)>>2]=i;a=e}ge(95534,94943,1543,95512);break}default:{iK(r);r=0;break e}}}while(0);t[r+8>>2]=p}}while(0);G2(Z)}else r=0;return r|0}function No(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0.0,M=0.0,V=0.0,N=0.0;D=t[e+20>>2]|0;z=t[e+24>>2]|0;W=t[A+20>>2]|0;Z=t[A+24>>2]|0;G=t[r+20>>2]|0;L=t[r+24>>2]|0;Q=t[e+32>>2]|0;if(!((Q|0)==1?(Q|0)==(t[A+32>>2]|0):0))ge(95005,94943,1574,95559);Q=t[e>>2]|0;if(((((t[e+4>>2]|0)==(t[A>>2]|0)?(t[A+4>>2]|0)==(t[r>>2]|0):0)?(k=t[e+16>>2]|0,(k|0)==(t[A+16>>2]|0)):0)?(k|0)==(t[r+16>>2]|0):0)?(w=r+4|0,Y=$F(t[w>>2]<<2)|0,(Y|0)!=0):0){i=0;while(1){if((i|0)>=(t[w>>2]|0)){a=0;i=0;break}t[Y+(i<<2)>>2]=-1;i=i+1|0}e:while(1){if((i|0)>=(Q|0))break;u=i+1|0;b=D+(u<<2)|0;h=-2-i|0;o=t[D+(i<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0)){i=u;continue e}l=t[z+(o<<2)>>2]|0;s=W+(l+1<<2)|0;l=t[W+(l<<2)>>2]|0;while(1){if((l|0)>=(t[s>>2]|0))break;n=t[Z+(l<<2)>>2]|0;f=G+(n+1<<2)|0;n=t[G+(n<<2)>>2]|0;while(1){if((n|0)>=(t[f>>2]|0))break;i=Y+(t[L+(n<<2)>>2]<<2)|0;if((t[i>>2]|0)!=(h|0)){t[i>>2]=h;a=a+1|0}n=n+1|0}l=l+1|0}o=o+1|0}}i=aK(Q,t[w>>2]|0,a,k,1)|0;e:do{if(!i)i=0;else{y=t[i+20>>2]|0;C=t[i+24>>2]|0;A:do{switch(k|0){case 1:{p=t[e+28>>2]|0;m=t[A+28>>2]|0;r=t[r+28>>2]|0;d=t[i+28>>2]|0;t[y>>2]=0;a=0;n=0;r:while(1){if((a|0)>=(Q|0)){I=n;break A}v=a+1|0;g=D+(v<<2)|0;A=y+(a<<2)|0;k=t[D+(a<<2)>>2]|0;while(1){if((k|0)>=(t[g>>2]|0))break;h=t[z+(k<<2)>>2]|0;w=W+(h+1<<2)|0;e=p+(k<<3)|0;h=t[W+(h<<2)>>2]|0;while(1){if((h|0)>=(t[w>>2]|0))break;o=t[Z+(h<<2)>>2]|0;u=G+(o+1<<2)|0;b=m+(h<<3)|0;o=t[G+(o<<2)>>2]|0;while(1){if((o|0)>=(t[u>>2]|0))break;a=L+(o<<2)|0;f=t[a>>2]|0;l=Y+(f<<2)|0;s=t[l>>2]|0;if((s|0)<(t[A>>2]|0)){t[l>>2]=n;t[C+(n<<2)>>2]=t[a>>2];c[d+(n<<3)>>3]=+c[b>>3]*+c[e>>3]*+c[r+(o<<3)>>3];n=n+1|0}else{if((t[C+(s<<2)>>2]|0)!=(f|0))break r;B=d+(s<<3)|0;c[B>>3]=+c[B>>3]+ +c[b>>3]*+c[e>>3]*+c[r+(o<<3)>>3]}o=o+1|0}h=h+1|0}k=k+1|0}t[y+(v<<2)>>2]=n;a=v}ge(95582,94943,1642,95559);break}case 2:{B=t[e+28>>2]|0;E=t[A+28>>2]|0;d=t[r+28>>2]|0;v=t[i+28>>2]|0;t[y>>2]=0;a=0;n=0;r:while(1){if((n|0)>=(Q|0)){I=a;break A}g=n+1|0;m=D+(g<<2)|0;p=y+(n<<2)|0;e=t[D+(n<<2)>>2]|0;while(1){if((e|0)>=(t[m>>2]|0))break;u=t[z+(e<<2)>>2]|0;k=W+(u+1<<2)|0;r=e<<1;A=B+(r<<3)|0;r=B+((r|1)<<3)|0;u=t[W+(u<<2)>>2]|0;while(1){if((u|0)>=(t[k>>2]|0))break;o=t[Z+(u<<2)>>2]|0;b=G+(o+1<<2)|0;w=u<<1;h=E+(w<<3)|0;w=E+((w|1)<<3)|0;o=t[G+(o<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0))break;n=L+(o<<2)|0;f=t[n>>2]|0;l=Y+(f<<2)|0;s=t[l>>2]|0;if((s|0)<(t[p>>2]|0)){t[l>>2]=a;t[C+(a<<2)>>2]=t[n>>2];M=+c[A>>3];V=+c[h>>3];F=+c[r>>3];N=+c[w>>3];l=o<<1;f=d+(l<<3)|0;l=d+((l|1)<<3)|0;s=a<<1;c[v+(s<<3)>>3]=(V*M-N*F)*+c[f>>3]-(N*M+F*V)*+c[l>>3];V=+c[A>>3];F=+c[w>>3];M=+c[r>>3];N=+c[h>>3];c[v+((s|1)<<3)>>3]=(N*M+F*V)*+c[f>>3]+(N*V-M*F)*+c[l>>3];a=a+1|0}else{if((t[C+(s<<2)>>2]|0)!=(f|0))break r;V=+c[A>>3];M=+c[h>>3];N=+c[r>>3];F=+c[w>>3];l=o<<1;f=d+(l<<3)|0;l=d+((l|1)<<3)|0;s=s<<1;n=v+(s<<3)|0;c[n>>3]=+c[n>>3]+(M*V-F*N)*+c[f>>3]-(F*V+N*M)*+c[l>>3];M=+c[A>>3];N=+c[w>>3];V=+c[r>>3];F=+c[h>>3];s=v+((s|1)<<3)|0;c[s>>3]=(F*V+N*M)*+c[f>>3]+(F*M-V*N)*+c[l>>3]+ +c[s>>3]}o=o+1|0}u=u+1|0}e=e+1|0}t[y+(g<<2)>>2]=a;n=g}ge(95582,94943,1674,95559);break}case 4:{p=t[e+28>>2]|0;m=t[A+28>>2]|0;A=t[r+28>>2]|0;r=t[i+28>>2]|0;t[y>>2]=0;a=0;n=0;r:while(1){if((n|0)>=(Q|0)){I=a;break A}d=n+1|0;v=D+(d<<2)|0;g=y+(n<<2)|0;w=t[D+(n<<2)>>2]|0;while(1){if((w|0)>=(t[v>>2]|0))break;u=t[z+(w<<2)>>2]|0;e=W+(u+1<<2)|0;k=p+(w<<2)|0;u=t[W+(u<<2)>>2]|0;while(1){if((u|0)>=(t[e>>2]|0))break;o=t[Z+(u<<2)>>2]|0;b=G+(o+1<<2)|0;h=m+(u<<2)|0;o=t[G+(o<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0))break;n=L+(o<<2)|0;f=t[n>>2]|0;l=Y+(f<<2)|0;s=t[l>>2]|0;if((s|0)<(t[g>>2]|0)){t[l>>2]=a;t[C+(a<<2)>>2]=t[n>>2];E=P(t[h>>2]|0,t[k>>2]|0)|0;E=P(E,t[A+(o<<2)>>2]|0)|0;B=r+(a<<2)|0;t[B>>2]=(t[B>>2]|0)+E;a=a+1|0}else{if((t[C+(s<<2)>>2]|0)!=(f|0))break r;E=P(t[h>>2]|0,t[k>>2]|0)|0;E=P(E,t[A+(o<<2)>>2]|0)|0;B=r+(s<<2)|0;t[B>>2]=(t[B>>2]|0)+E}o=o+1|0}u=u+1|0}w=w+1|0}t[y+(d<<2)>>2]=a;n=d}ge(95582,94943,1706,95559);break}case 8:{t[y>>2]=0;a=0;n=0;r:while(1){if((n|0)>=(Q|0)){I=a;break A}e=n+1|0;k=D+(e<<2)|0;A=y+(n<<2)|0;h=t[D+(n<<2)>>2]|0;while(1){if((h|0)>=(t[k>>2]|0))break;u=t[z+(h<<2)>>2]|0;w=W+(u+1<<2)|0;u=t[W+(u<<2)>>2]|0;while(1){if((u|0)>=(t[w>>2]|0))break;o=t[Z+(u<<2)>>2]|0;b=G+(o+1<<2)|0;o=t[G+(o<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0))break;n=L+(o<<2)|0;f=t[n>>2]|0;l=Y+(f<<2)|0;s=t[l>>2]|0;if((s|0)>=(t[A>>2]|0)){if((t[C+(s<<2)>>2]|0)!=(f|0))break r}else{t[l>>2]=a;t[C+(a<<2)>>2]=t[n>>2];a=a+1|0}o=o+1|0}u=u+1|0}h=h+1|0}t[y+(e<<2)>>2]=a;n=e}ge(95582,94943,1729,95559);break}default:{iK(i);i=0;break e}}}while(0);t[i+8>>2]=I}}while(0);G2(Y)}else i=0;return i|0}function Ro(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;if((t[e+32>>2]|0)!=2)ge(95100,94943,1971,95607);if((A|0)>=1){f=t[e+8>>2]|0;n=f+A|0;if((n|0)>=(t[e+12>>2]|0))xo(e,n+10|0)|0;l=f<<2;n=A<<2;Q6((t[e+20>>2]|0)+l|0,r|0,n|0)|0;Q6((t[e+24>>2]|0)+l|0,i|0,n|0)|0;n=t[e+40>>2]|0;if(n|0){l=P(n,A)|0;f=P(n,f)|0;Q6((t[e+28>>2]|0)+f|0,a|0,l|0)|0}a=e+4|0;f=0;while(1){if((f|0)>=(A|0))break;n=t[r+(f<<2)>>2]|0;if((n|0)>=(t[e>>2]|0))t[e>>2]=n+1;n=t[i+(f<<2)>>2]|0;if((n|0)>=(t[a>>2]|0))t[a>>2]=n+1;f=f+1|0}l=e+8|0;t[l>>2]=(t[l>>2]|0)+A}return e|0}function xo(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;if((t[e+32>>2]|0)==2){r=e+20|0;a=A<<2;t[r>>2]=AM(t[r>>2]|0,a)|0;r=e+24|0;t[r>>2]=AM(t[r>>2]|0,a)|0;r=t[e+40>>2]|0;if((r|0)>0){a=e+28|0;i=t[a>>2]|0;r=P(r,A)|0;if(!i)r=$F(r)|0;else r=AM(i,r)|0;t[a>>2]=r}}else{r=e+24|0;t[r>>2]=AM(t[r>>2]|0,A<<2)|0;r=t[e+40>>2]|0;if((r|0)>0){a=e+28|0;i=t[a>>2]|0;r=P(r,A)|0;if(!i)r=$F(r)|0;else r=AM(i,r)|0;t[a>>2]=r}}t[e+12>>2]=A;return e|0}function Jo(e){e=e|0;var A=0,r=0.0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;e:do{if(!e)e=0;else{o=t[e+20>>2]|0;s=t[e+24>>2]|0;A:do{switch(t[e+16>>2]|0){case 1:{f=t[e+28>>2]|0;i=t[e>>2]|0;A=0;r:while(1){if((A|0)>=(i|0))break A;a=A+1|0;n=t[o+(a<<2)>>2]|0;A=t[o+(A<<2)>>2]|0;r=1.0/+(n-A|0);while(1){if((A|0)>=(n|0)){A=a;continue r}s=f+(A<<3)|0;c[s>>3]=+c[s>>3]*r;A=A+1|0}}}case 2:{a=t[e+28>>2]|0;n=t[e>>2]|0;A=0;r:while(1){if((A|0)>=(n|0))break A;f=A+1|0;l=t[o+(f<<2)>>2]|0;i=t[o+(A<<2)>>2]|0;r=1.0/+(l-i|0);while(1){if((i|0)>=(l|0)){A=f;continue r}if((t[s+(i<<2)>>2]|0)!=(A|0)){u=i<<1;b=a+(u<<3)|0;c[b>>3]=+c[b>>3]*r;u=a+((u|1)<<3)|0;c[u>>3]=+c[u>>3]*r}i=i+1|0}}}case 4:{ge(138394,94943,2192,95648);break}case 8:break;default:{e=0;break e}}}while(0)}}while(0);return e|0}function Ho(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if((e|0)!=0?(A=e+8|0,r=t[A>>2]|0,i=t[e+4>>2]|0,(i|0)==(t[e>>2]|0)):0){n=t[e+24>>2]|0;e=t[e+20>>2]|0;a=aK(i,i,r,8,1)|0;Q6(t[a+20>>2]|0,e|0,(i<<2)+4|0)|0;Q6(t[a+24>>2]|0,n|0,r<<2|0)|0;t[a+8>>2]=t[A>>2];e=lK(a,1)|0;iK(a);e=hK(e)|0;i=e+8|0;r=$F(t[i>>2]<<3)|0;t[e+28>>2]=r;i=t[i>>2]|0;A=0;while(1){if((A|0)>=(i|0))break;c[r+(A<<3)>>3]=1.0;A=A+1|0}t[e+16>>2]=1;t[e+40>>2]=8}else e=0;return e|0}function Po(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;w=t[e+20>>2]|0;k=t[e+24>>2]|0;p=t[e+4>>2]|0;b=t[e>>2]|0;d=p<<2;v=$F(d)|0;g=$F(d+4|0)|0;m=$F(d)|0;d=$F(d)|0;h=g+4|0;e=0;while(1){if((e|0)>=(p|0))break;t[v+(e<<2)>>2]=0;e=e+1|0}t[h>>2]=p;e=0;while(1){if((e|0)>=(p|0)){f=1;c=0;break}t[m+(e<<2)>>2]=-1;e=e+1|0}e:while(1){if((c|0)>=(b|0))break;n=w+(c<<2)|0;o=c+1|0;u=w+(o<<2)|0;e=t[n>>2]|0;while(1){a=t[u>>2]|0;if((e|0)>=(a|0))break;s=h+(t[v+(t[k+(e<<2)>>2]<<2)>>2]<<2)|0;t[s>>2]=(t[s>>2]|0)+-1;e=e+1|0}e=f;s=t[n>>2]|0;while(1){if((s|0)>=(a|0)){f=e;c=o;continue e}f=k+(s<<2)|0;a=v+(t[f>>2]<<2)|0;l=t[a>>2]|0;n=m+(l<<2)|0;if((t[n>>2]|0)<(c|0)){t[n>>2]=c;a=h+(l<<2)|0;if(!(t[a>>2]|0)){t[a>>2]=1;n=e;e=l;a=d+(l<<2)|0}else{t[d+(l<<2)>>2]=e;t[h+(e<<2)>>2]=1;n=e+1|0;a=v+(t[f>>2]<<2)|0}t[a>>2]=e;e=n}else{l=d+(l<<2)|0;t[a>>2]=t[l>>2];l=h+(t[l>>2]<<2)|0;t[l>>2]=(t[l>>2]|0)+1}s=s+1|0;a=t[u>>2]|0}}t[g>>2]=0;e=0;a=0;while(1){if((e|0)>=(f|0))break;w=e+1|0;h=g+(w<<2)|0;k=(t[h>>2]|0)+a|0;t[h>>2]=k;e=w;a=k}t[r>>2]=d;e=0;while(1){if((e|0)>=(p|0)){e=f;break}k=g+(t[v+(e<<2)>>2]<<2)|0;r=t[k>>2]|0;t[k>>2]=r+1;t[d+(r<<2)>>2]=e;e=e+1|0}while(1){if((e|0)<=0)break;p=e+-1|0;t[g+(e<<2)>>2]=t[g+(p<<2)>>2];e=p}t[g>>2]=0;t[i>>2]=g;t[A>>2]=f;G2(m);G2(v);return}function Xo(){return+(+(t8()|0)*4.656612875245797e-10)}function So(e){e=e|0;if((e|0)>1)return(t8()|0)%(e|0)|0|0;else ge(95682,95688,58,95698);return 0}function jo(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;e:do{if((e|0)<1)A=0;else{A=$F(e<<2)|0;r=0;while(1){if((r|0)==(e|0))break;t[A+(r<<2)>>2]=r;r=r+1|0}while(1){if((e|0)<=1)break e;i=So(e)|0;r=e+-1|0;n=A+(r<<2)|0;a=t[n>>2]|0;i=A+(i<<2)|0;t[n>>2]=t[i>>2];t[i>>2]=a;e=r}}}while(0);return A|0}function Uo(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=0;while(1){if((i|0)>=(e|0))break;a=r+(i<<3)|0;c[a>>3]=+c[A+(i<<3)>>3]-+c[a>>3];i=i+1|0}return r|0}function To(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,t=0.0;i=0;a=0.0;while(1){if((i|0)>=(e|0))break;t=+c[r+(i<<3)>>3]*+c[A+(i<<3)>>3]+a;i=i+1|0;a=t}return+a}function Oo(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,t=0;a=0;while(1){if((a|0)>=(e|0))break;t=r+(a<<3)|0;c[t>>3]=+c[t>>3]*i+ +c[A+(a<<3)>>3];a=a+1|0}return r|0}function _o(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,t=0;a=0;while(1){if((a|0)>=(e|0))break;t=A+(a<<3)|0;c[t>>3]=+c[r+(a<<3)>>3]*i+ +c[t>>3];a=a+1|0}return A|0}function qo(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0,n=0.0;t=P(r,A)|0;i=P(i,A)|0;a=0.0;r=0;while(1){if((r|0)>=(A|0))break;n=+c[e+(r+t<<3)>>3]-+c[e+(r+i<<3)>>3];a=n*n+a;r=r+1|0}n=+D(+a);return+(n>1.0e-15?n:1.0e-15)}function Ko(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0,n=0.0;t=P(r,A)|0;i=P(i,A)|0;a=0.0;r=0;while(1){if((r|0)>=(A|0))break;n=+c[e+(r+t<<3)>>3]-+c[e+(r+i<<3)>>3];a=n*n+a;r=r+1|0}return+ +D(+a)}function $o(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,t=0.0;i=0.0;a=0;while(1){if((a|0)>=(r|0))break;t=+c[e+(a<<3)>>3]-+c[A+(a<<3)>>3];i=t*t+i;a=a+1|0}return+ +D(+i)}function eu(e,A,r,i,a,t,n){e=+e;A=+A;r=+r;i=+i;a=a|0;t=t|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0,v=0.0;w=h;h=h+80|0;u=w+48|0;o=w+24|0;b=w;f=0;while(1){if((f|0)>=(t|0)){l=0;break}k=+c[n+(f<<3)>>3];c[u+(f<<3)>>3]=k;c[o+(f<<3)>>3]=k;f=f+1|0}while(1){if((l|0)>=(a|0))break;s=P(l,t)|0;f=0;while(1){if((f|0)>=(t|0))break;v=+c[n+(f+s<<3)>>3];d=u+(f<<3)|0;k=+c[d>>3];c[d>>3]=v>3];c[d>>3]=v>k?v:k;f=f+1|0}l=l+1|0}k=+c[o>>3]-+c[u>>3];r=k!=0.0?(r-e)/k:1.0;k=+c[o+8>>3]-+c[u+8>>3];v=(i-A)/k;r=k!=0.0?r>3]=e;c[b+8>>3]=A;c[b+16>>3]=0.0;l=0;while(1){if((l|0)>=(a|0))break;s=P(l,t)|0;f=0;while(1){if((f|0)>=(t|0))break;d=n+(f+s<<3)|0;c[d>>3]=(+c[d>>3]-+c[u+(f<<3)>>3])*r+ +c[b+(f<<3)>>3];f=f+1|0}l=l+1|0}h=w;return}function Au(e,A){e=e|0;A=A|0;if((gk(e)|0)==1){e=t[(t[(sd(e)|0)+16>>2]|0)+132>>2]|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0}else{ru(e);if(!((mx(Hw(A,95704)|0)|0)<<24>>24))A=Nb(e,186208)|0;else A=iu(e)|0;Ub(e,A,186208);au(A)}return}function ru(e){e=e|0;var A=0;A=Bd(t[t[(t[(sd(e)|0)+16>>2]|0)+112>>2]>>2]|0)|0;e=t[46925]|0;if((A|0)!=(e|0)){t[46555]=0;t[46925]=A;t[46926]=zw(A,0,95713,0)|0;t[46927]=zw(t[46925]|0,1,95721,0)|0;t[46928]=zw(t[46925]|0,1,95738,0)|0;e=t[46925]|0}t[46929]=Hw(e,95738)|0;zb(186208);t[46554]=1;c[23280]=+wx(t[46925]|0,t[46926]|0,1.0,0.0);t[46556]=t[46927];t[46557]=t[46928];t[46558]=t[46929];return}function iu(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+144|0;i=a;r=a+8|0;A=t[46555]|0;t[46555]=A+1;t[i>>2]=A;T4(r,96234,i)|0;r=Wb(Rv(e,r,1)|0)|0;i=r+8|0;A=sd(e)|0;while(1){if(!A)break;hd(t[i>>2]|0,A,1)|0;t[(t[(t[A+16>>2]|0)+112>>2]|0)+12>>2]=r;A=cd(e,A)|0}h=a;return r|0}function au(e){e=e|0;jb(e);return}function tu(e,A){e=e|0;A=A|0;var r=0;r=$F(32)|0;t[r>>2]=4;c[r+8>>3]=.75;t[r+16>>2]=1073741824;t[r+20>>2]=1;t[r+24>>2]=e;t[r+28>>2]=A;return r|0}function nu(e){e=e|0;G2(e);return}function fu(e){e=e|0;var A=0,r=0;if(!e)return;r=t[e+8>>2]|0;do{if(r|0){if(t[e>>2]|0){iK(r);A=t[e+12>>2]|0;if(!A)break;iK(A);break}if(t[e+36>>2]|0?(iK(r),A=t[e+12>>2]|0,A|0):0)iK(A)}}while(0);iK(t[e+16>>2]|0);iK(t[e+20>>2]|0);A=t[e+24>>2]|0;if(A|0?(t[e>>2]|0)>0:0)G2(A);fu(t[e+28>>2]|0);G2(e);return}function lu(e,A,r,i,a,n,f,l,s,o){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;var u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0.0,p=0;p=h;h=h+32|0;u=p+16|0;b=p+12|0;w=p+8|0;k=p+4|0;d=p;t[u>>2]=e;t[b>>2]=0;t[w>>2]=0;t[k>>2]=0;t[d>>2]=0;t[f>>2]=0;t[l>>2]=0;t[A>>2]=0;t[n>>2]=0;t[i>>2]=0;v=s+28|0;g=s+8|0;m=+(t[e+4>>2]|0);a=r;do{su(e,u,a,b,0,d,w,k,s,o);a=t[u>>2]|0;if(!a)break;r=t[a+4>>2]|0;a=t[f>>2]|0;if(!a){t[f>>2]=t[w>>2];t[l>>2]=t[k>>2]}else{e=Vo(a,t[w>>2]|0)|0;iK(t[f>>2]|0);iK(t[w>>2]|0);t[f>>2]=e;e=Vo(t[k>>2]|0,t[l>>2]|0)|0;iK(t[l>>2]|0);iK(t[k>>2]|0);t[l>>2]=e}a=t[A>>2]|0;if(a|0)iK(a);t[A>>2]=t[u>>2];a=t[i>>2]|0;if(a|0)iK(a);a=t[b>>2]|0;t[i>>2]=a;e=t[n>>2]|0;if(e){G2(e);a=t[b>>2]|0}t[n>>2]=t[d>>2];e=t[u>>2]|0;t[d>>2]=0;if(!(+c[g>>3]*m<+(r|0)))break}while((t[v>>2]|0)==1);h=p;return}function su(e,A,r,i,a,n,f,l,s,o){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;var u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+32|0;L=W+28|0;k=W+24|0;Z=W+20|0;Q=W+16|0;b=W+12|0;D=W+8|0;z=W+4|0;p=W;t[L>>2]=0;t[k>>2]=0;t[Q>>2]=0;t[D>>2]=0;t[z>>2]=0;t[A>>2]=0;t[i>>2]=0;t[f>>2]=0;t[l>>2]=0;G=t[e>>2]|0;w=s+24|0;t[o>>2]=t[w>>2];u=t[w>>2]|0;e:do{switch(u|0){case 12:{t[w>>2]=3;t[o>>2]=3;su(e,A,r,i,a,n,f,l,s,o);if((((t[A>>2]|0)==0?(t[w>>2]=4,t[o>>2]=4,su(e,A,r,i,a,n,f,l,s,o),(t[A>>2]|0)==0):0)?(t[w>>2]=6,t[o>>2]=6,su(e,A,r,i,a,n,f,l,s,o),(t[A>>2]|0)==0):0)?(t[w>>2]=9,t[o>>2]=9,su(e,A,r,i,a,n,f,l,s,o),(t[A>>2]|0)==0):0){t[w>>2]=2;t[o>>2]=2;su(e,A,r,i,a,n,f,l,s,o)}t[w>>2]=12;w=0;k=0;s=0;b=0;u=0;o=0;break}case 9:case 10:{r=t[s+20>>2]|0;if((u|0)==9)ku(e,r,Q,b,Z);else du(e,r,Q,b,Z);m=t[e+20>>2]|0;p=t[e+24>>2]|0;g=t[b>>2]|0;if(!(t[s+28>>2]|0)){if((g|0)==(G|0)?1:+c[s+8>>3]*+(G|0)<+(g|0)){w=0;k=0;s=0;b=0;u=0;o=0;break e}}else if((g|0)==(G|0)){w=0;k=0;s=0;b=0;u=0;o=0;break e}if((g|0)>=(t[s>>2]|0)){C=t[Z>>2]|0;y=C<<2;B=$F(y)|0;y=$F(y)|0;C=$F(C<<3)|0;t[Z>>2]=0;v=t[Q>>2]|0;d=0;b=0;A:while(1){if((d|0)>=(G|0))break;r=v+(d<<2)|0;if((t[r>>2]|0)!=-1){t[B+(b<<2)>>2]=d;t[y+(t[Z>>2]<<2)>>2]=t[r>>2];k=t[Z>>2]|0;s=k+1|0;t[Z>>2]=s;c[C+(k<<3)>>3]=1.0;d=d+1|0;b=s;continue}u=t[m+(d<<2)>>2]|0;k=d+1|0;s=m+(k<<2)|0;w=t[s>>2]|0;r=0;o=u;while(1){if((o|0)>=(w|0))break;r=((t[v+(t[p+(o<<2)>>2]<<2)>>2]|0)>>>31^1)+r|0;o=o+1|0}E=1.0/+(r|0);r=w;while(1){if((u|0)>=(r|0)){d=k;continue A}o=p+(u<<2)|0;if((t[v+(t[o>>2]<<2)>>2]|0)>-1){t[B+(b<<2)>>2]=d;t[y+(t[Z>>2]<<2)>>2]=t[v+(t[o>>2]<<2)>>2];r=t[Z>>2]|0;o=r+1|0;t[Z>>2]=o;c[C+(r<<3)>>3]=E;r=t[s>>2]|0}else o=b;u=u+1|0;b=o}}G=kK(b,G,g,B,y,C,1,8)|0;t[f>>2]=G;G=rK(G)|0;t[l>>2]=G;f=No(G,e,t[f>>2]|0)|0;t[A>>2]=f;if(!f){w=C;k=y;s=B;b=B;u=y;o=C}else{Fo(t[l>>2]|0,a,n,0);w=t[A>>2]|0;k=w+36|0;t[k>>2]=t[k>>2]|3;t[A>>2]=hK(w)|0;t[i>>2]=0;w=C;k=y;s=B;b=B;u=y;o=C}}else{w=0;k=0;s=0;b=0;u=0;o=0}break}case 5:{I=26;break}case 1:{o=s+20|0;bu(e,t[o>>2]|0,L,k);r=t[w>>2]|0;if((r|0)==2){r=o;I=24}else I=25;break}case 2:{r=s+20|0;I=24;break}case 3:{cu(e,t[s+20>>2]|0,D,z,p);I=12;break}case 4:{ou(e,t[s+20>>2]|0,D,z,p);I=12;break}case 6:{uu(e,D,z,p);I=12;break}default:{w=0;k=0;s=0;b=0;u=0;o=0}}}while(0);do{if((I|0)==12){d=t[p>>2]|0;if(!(t[s+28>>2]|0)){if((d|0)==(G|0)?1:+c[s+8>>3]*+(G|0)<+(d|0)){w=0;k=0;s=0;b=0;u=0;o=0;break}}else if((d|0)==(G|0)){w=0;k=0;s=0;b=0;u=0;o=0;break}if((d|0)>=(t[s>>2]|0)){g=G<<2;v=$F(g)|0;g=$F(g)|0;m=$F(G<<3)|0;t[Z>>2]=0;b=t[z>>2]|0;w=t[D>>2]|0;u=0;r=0;e:while(1){if((u|0)>=(t[p>>2]|0))break;k=u+1|0;s=b+(k<<2)|0;o=t[b+(u<<2)>>2]|0;while(1){if((o|0)>=(t[s>>2]|0)){u=k;continue e}t[v+(r<<2)>>2]=t[w+(o<<2)>>2];t[g+(t[Z>>2]<<2)>>2]=u;y=t[Z>>2]|0;C=y+1|0;t[Z>>2]=C;c[m+(y<<3)>>3]=1.0;o=o+1|0;r=C}}G=kK(r,G,d,v,g,m,1,8)|0;t[f>>2]=G;t[l>>2]=rK(G)|0;t[i>>2]=0;f=No(t[l>>2]|0,e,t[f>>2]|0)|0;t[A>>2]=f;if(!f){w=m;k=g;s=v;b=v;u=g;o=m}else{Fo(t[l>>2]|0,a,n,0);t[l>>2]=Jo(t[l>>2]|0)|0;w=t[A>>2]|0;k=w+36|0;t[k>>2]=t[k>>2]|3;t[A>>2]=hK(w)|0;w=m;k=g;s=v;b=v;u=g;o=m}}else{w=0;k=0;s=0;b=0;u=0;o=0}}else if((I|0)==24){hu(e,t[r>>2]|0,L,k);r=t[w>>2]|0;I=25}}while(0);if((I|0)==25)if((r|0)==5)I=26;else I=27;if((I|0)==26){wu(e,t[s+20>>2]|0,L,k);I=27}do{if((I|0)==27){r=t[k>>2]|0;if(!(t[s+28>>2]|0)){if((r|0)==(G|0)?1:+c[s+8>>3]*+(G|0)<+(r|0)){w=0;k=0;s=0;b=0;u=0;o=0;break}}else if((r|0)==(G|0)){w=0;k=0;s=0;b=0;u=0;o=0;break}if((r|0)>=(t[s>>2]|0)){v=G<<2;d=$F(v)|0;v=$F(v)|0;g=$F(G<<3)|0;t[Z>>2]=0;k=t[L>>2]|0;r=0;w=0;while(1){if((w|0)>=(G|0))break;o=k+(w<<2)|0;u=t[o>>2]|0;if((u|0)>-1){t[d+(t[Z>>2]<<2)>>2]=w;t[v+(t[Z>>2]<<2)>>2]=r;I=t[Z>>2]|0;b=I+1|0;t[Z>>2]=b;c[g+(I<<3)>>3]=1.0;if((u|0)!=(w|0)){t[d+(b<<2)>>2]=t[o>>2];t[v+(t[Z>>2]<<2)>>2]=r;I=t[Z>>2]|0;t[Z>>2]=I+1;c[g+(I<<3)>>3]=1.0;t[k+(t[o>>2]<<2)>>2]=-1}t[o>>2]=-1;r=r+1|0}w=w+1|0}G=kK(t[Z>>2]|0,G,r,d,v,g,1,8)|0;t[f>>2]=G;G=rK(G)|0;t[l>>2]=G;f=No(G,e,t[f>>2]|0)|0;t[A>>2]=f;if(!f){w=g;k=v;s=d;b=d;u=v;o=g}else{Fo(t[l>>2]|0,a,n,0);t[l>>2]=Jo(t[l>>2]|0)|0;w=t[A>>2]|0;k=w+36|0;t[k>>2]=t[k>>2]|3;t[A>>2]=hK(w)|0;t[i>>2]=0;w=g;k=v;s=d;b=d;u=v;o=g}}else{w=0;k=0;s=0;b=0;u=0;o=0}}}while(0);r=t[L>>2]|0;if(r|0)G2(r);r=t[Q>>2]|0;if(r|0)G2(r);if(s|0)G2(b);if(k|0)G2(u);if(w|0)G2(o);r=t[D>>2]|0;if(r|0)G2(r);r=t[z>>2]|0;if(r|0)G2(r);h=W;return}function cu(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;g=t[e+20>>2]|0;m=t[e+24>>2]|0;E=t[e>>2]|0;p=E<<2;t[r>>2]=$F(p)|0;t[i>>2]=$F(p+4|0)|0;p=$F(p)|0;n=0;while(1){if((n|0)>=(E|0))break;t[p+(n<<2)>>2]=n;n=n+1|0}t[a>>2]=0;d=t[i>>2]|0;t[d>>2]=0;v=t[e+28>>2]|0;e:do{if(!A){n=0;e=0;A:while(1){while(1){if((e|0)>=(E|0)){e=0;l=0.0;A=0;break A}A=e;e=e+1|0;if((t[p+(A<<2)>>2]|0)==-1)continue;A=t[g+(A<<2)>>2]|0;if(((t[g+(e<<2)>>2]|0)-A|0)==1)break}o=t[m+(A<<2)>>2]|0;t[p+(o<<2)>>2]=-1;u=t[r>>2]|0;t[u+(n<<2)>>2]=o;b=g+(o+1<<2)|0;s=t[g+(o<<2)>>2]|0;n=n+1|0;while(1){if((s|0)>=(t[b>>2]|0))break;A=m+(s<<2)|0;f=t[A>>2]|0;if((o|0)!=(f|0)?((t[g+(f+1<<2)>>2]|0)-(t[g+(f<<2)>>2]|0)|0)==1:0){t[p+(f<<2)>>2]=-1;t[u+(n<<2)>>2]=t[A>>2];n=n+1|0}s=s+1|0}A=t[a>>2]|0;f=t[d+(A<<2)>>2]|0;if((n-f|0)<5){i=A+1|0;t[a>>2]=i;t[d+(i<<2)>>2]=n;continue}f=f+1|0;A=A+1|0;t[a>>2]=A;t[d+(A<<2)>>2]=f;A=f;while(1){if(!((f|0)<(n|0)&(A|0)<(n|0)))continue A;i=f+3|0;i=(n|0)<(i|0)?n:i;k=(t[a>>2]|0)+1|0;t[a>>2]=k;t[d+(k<<2)>>2]=i;A=A+1|0;f=i}}A:while(1){do{b=A;while(1){if((b|0)>=(E|0)){e=0;break A}w=p+(b<<2)|0;f=t[w>>2]|0;if((f|0)!=-1)break;b=b+1|0}A=b+1|0;k=t[g+(A<<2)>>2]|0;o=1;u=t[g+(b<<2)>>2]|0;while(1){if((u|0)>=(k|0))break;s=t[m+(u<<2)>>2]|0;if((b|0)!=(s|0)?(t[p+(s<<2)>>2]|0)!=-1:0)if((f|0)!=-1){h=+c[v+(u<<3)>>3];if((o|0)==0?!(h>l):0)o=0;else{o=0;e=s;l=h}}else f=-1;u=u+1|0}}while((o|0)!=0);t[p+(e<<2)>>2]=-1;t[w>>2]=-1;k=t[r>>2]|0;t[k+(n<<2)>>2]=b;i=n+2|0;t[k+(n+1<<2)>>2]=e;k=(t[a>>2]|0)+1|0;t[a>>2]=k;t[d+(k<<2)>>2]=i;n=i}while(1){if((e|0)>=(E|0))break e;if((t[p+(e<<2)>>2]|0)==(e|0)){m=n+1|0;t[(t[r>>2]|0)+(n<<2)>>2]=e;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[d+(n<<2)>>2]=m;n=m}e=e+1|0}}else{d=jo(E)|0;b=0;n=0;while(1){if((b|0)>=(E|0)){k=0;e=0;l=0.0;break}e=t[d+(b<<2)>>2]|0;A:do{if((t[p+(e<<2)>>2]|0)!=-1?(w=t[g+(e<<2)>>2]|0,((t[g+(e+1<<2)>>2]|0)-w|0)==1):0){s=t[m+(w<<2)>>2]|0;t[p+(s<<2)>>2]=-1;o=t[r>>2]|0;t[o+(n<<2)>>2]=s;u=g+(s+1<<2)|0;f=t[g+(s<<2)>>2]|0;n=n+1|0;while(1){if((f|0)>=(t[u>>2]|0))break;e=m+(f<<2)|0;A=t[e>>2]|0;if((s|0)!=(A|0)?((t[g+(A+1<<2)>>2]|0)-(t[g+(A<<2)>>2]|0)|0)==1:0){t[p+(A<<2)>>2]=-1;t[o+(n<<2)>>2]=t[e>>2];n=n+1|0}f=f+1|0}f=t[i>>2]|0;e=t[a>>2]|0;A=t[f+(e<<2)>>2]|0;if((n-A|0)<5){k=e+1|0;t[a>>2]=k;t[f+(k<<2)>>2]=n;break}A=A+1|0;e=e+1|0;t[a>>2]=e;t[f+(e<<2)>>2]=A;e=A;while(1){if(!((A|0)<(n|0)&(e|0)<(n|0)))break A;k=A+3|0;k=(n|0)<(k|0)?n:k;u=(t[a>>2]|0)+1|0;t[a>>2]=u;t[f+(u<<2)>>2]=k;e=e+1|0;A=k}}}while(0);b=b+1|0}while(1){if((k|0)>=(E|0)){e=0;break}u=t[d+(k<<2)>>2]|0;b=p+(u<<2)|0;A=t[b>>2]|0;if((A|0)!=-1){w=t[g+(u+1<<2)>>2]|0;s=1;o=t[g+(u<<2)>>2]|0;while(1){if((o|0)>=(w|0))break;f=t[m+(o<<2)>>2]|0;if((u|0)!=(f|0)?(t[p+(f<<2)>>2]|0)!=-1:0)if((A|0)!=-1){h=+c[v+(o<<3)>>3];if((s|0)==0?!(h>l):0)s=0;else{s=0;e=f;l=h}}else A=-1;o=o+1|0}if(!s){t[p+(e<<2)>>2]=-1;t[b>>2]=-1;b=t[r>>2]|0;t[b+(n<<2)>>2]=u;w=n+2|0;t[b+(n+1<<2)>>2]=e;b=t[i>>2]|0;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[b+(n<<2)>>2]=w;n=w}}k=k+1|0}while(1){if((e|0)>=(E|0))break;if((t[p+(e<<2)>>2]|0)==(e|0)){m=n+1|0;t[(t[r>>2]|0)+(n<<2)>>2]=e;g=t[i>>2]|0;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[g+(n<<2)>>2]=m;n=m}e=e+1|0}G2(d)}}while(0);G2(p);return}function ou(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0.0,l=0,s=0,o=0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;I=h;h=h+16|0;k=I+8|0;y=I+4|0;C=I;t[y>>2]=0;t[C>>2]=0;p=t[e+20>>2]|0;m=t[e+24>>2]|0;E=t[e>>2]|0;B=E<<2;t[r>>2]=$F(B)|0;t[i>>2]=$F(B+4|0)|0;B=$F(B)|0;n=0;while(1){if((n|0)>=(E|0))break;t[B+(n<<2)>>2]=n;n=n+1|0}Po(e,k,y,C);t[a>>2]=0;v=t[i>>2]|0;t[v>>2]=0;g=t[e+28>>2]|0;n=0;e=0;e:while(1){s=t[k>>2]|0;o=t[C>>2]|0;do{if((e|0)>=(s|0))break e;u=e;e=e+1|0;w=o+(e<<2)|0;l=t[w>>2]|0;u=t[o+(u<<2)>>2]|0}while((l-u|0)<2);o=t[y>>2]|0;s=t[v+(t[a>>2]<<2)>>2]|0;while(1){if((u|0)>=(l|0))break;d=o+(u<<2)|0;t[B+(t[d>>2]<<2)>>2]=-1;l=n+1|0;t[(t[r>>2]|0)+(n<<2)>>2]=t[d>>2];if((l-s|0)>3){n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[v+(n<<2)>>2]=l;n=l}else n=s;s=n;u=u+1|0;n=l;l=t[w>>2]|0}if((n|0)<=(s|0))continue;d=(t[a>>2]|0)+1|0;t[a>>2]=d;t[v+(d<<2)>>2]=n}e:do{if(!A){e=0;f=0.0;l=0;A:while(1){do{A=l;while(1){if((A|0)>=(E|0)){e=0;break A}k=B+(A<<2)|0;s=t[k>>2]|0;if((s|0)!=-1)break;A=A+1|0}l=A+1|0;d=t[p+(l<<2)>>2]|0;u=1;w=t[p+(A<<2)>>2]|0;while(1){if((w|0)>=(d|0))break;o=t[m+(w<<2)>>2]|0;if((A|0)!=(o|0)?(t[B+(o<<2)>>2]|0)!=-1:0)if((s|0)!=-1){b=+c[g+(w<<3)>>3];if((u|0)==0?!(b>f):0)u=0;else{u=0;e=o;f=b}}else s=-1;w=w+1|0}}while((u|0)!=0);t[B+(e<<2)>>2]=-1;t[k>>2]=-1;d=t[r>>2]|0;t[d+(n<<2)>>2]=A;i=n+2|0;t[d+(n+1<<2)>>2]=e;d=(t[a>>2]|0)+1|0;t[a>>2]=d;t[v+(d<<2)>>2]=i;n=i}while(1){if((e|0)>=(E|0))break e;if((t[B+(e<<2)>>2]|0)==(e|0)){p=n+1|0;t[(t[r>>2]|0)+(n<<2)>>2]=e;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[v+(n<<2)>>2]=p;n=p}e=e+1|0}}else{v=jo(E)|0;d=0;e=0;f=0.0;while(1){if((d|0)>=(E|0)){e=0;break}w=t[v+(d<<2)>>2]|0;A=B+(w<<2)|0;l=t[A>>2]|0;if((l|0)!=-1){k=t[p+(w+1<<2)>>2]|0;o=1;u=t[p+(w<<2)>>2]|0;while(1){if((u|0)>=(k|0))break;s=t[m+(u<<2)>>2]|0;if((w|0)!=(s|0)?(t[B+(s<<2)>>2]|0)!=-1:0)if((l|0)!=-1){b=+c[g+(u<<3)>>3];if((o|0)==0?!(b>f):0)o=0;else{o=0;e=s;f=b}}else l=-1;u=u+1|0}if(!o){t[B+(e<<2)>>2]=-1;t[A>>2]=-1;A=t[r>>2]|0;t[A+(n<<2)>>2]=w;k=n+2|0;t[A+(n+1<<2)>>2]=e;A=t[i>>2]|0;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[A+(n<<2)>>2]=k;n=k}}d=d+1|0}while(1){if((e|0)>=(E|0))break;if((t[B+(e<<2)>>2]|0)==(e|0)){p=n+1|0;t[(t[r>>2]|0)+(n<<2)>>2]=e;m=t[i>>2]|0;n=(t[a>>2]|0)+1|0;t[a>>2]=n;t[m+(n<<2)>>2]=p;n=p}e=e+1|0}G2(v)}}while(0);G2(t[y>>2]|0);G2(t[C>>2]|0);G2(B);h=I;return}function uu(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;d=t[e+20>>2]|0;v=t[e+24>>2]|0;p=t[e>>2]|0;m=p<<2;t[A>>2]=$F(m)|0;t[r>>2]=$F(m+4|0)|0;m=$F(m)|0;k=$F(p<<4)|0;a=0;while(1){if((a|0)>=(p|0))break;t[m+(a<<2)>>2]=a;a=a+1|0}t[i>>2]=0;t[t[r>>2]>>2]=0;w=t[e+28>>2]|0;g=jo(p)|0;a=0;u=0;while(1){if((u|0)>=(p|0)){h=0;break}e=t[g+(u<<2)>>2]|0;e:do{if((t[m+(e<<2)>>2]|0)!=-1?(b=t[d+(e<<2)>>2]|0,((t[d+(e+1<<2)>>2]|0)-b|0)==1):0){l=t[v+(b<<2)>>2]|0;t[m+(l<<2)>>2]=-1;s=t[A>>2]|0;t[s+(a<<2)>>2]=l;o=d+(l+1<<2)|0;f=t[d+(l<<2)>>2]|0;a=a+1|0;while(1){if((f|0)>=(t[o>>2]|0))break;e=v+(f<<2)|0;n=t[e>>2]|0;if((l|0)!=(n|0)?((t[d+(n+1<<2)>>2]|0)-(t[d+(n<<2)>>2]|0)|0)==1:0){t[m+(n<<2)>>2]=-1;t[s+(a<<2)>>2]=t[e>>2];a=a+1|0}f=f+1|0}f=t[r>>2]|0;e=t[i>>2]|0;n=t[f+(e<<2)>>2]|0;if((a-n|0)<5){h=e+1|0;t[i>>2]=h;t[f+(h<<2)>>2]=a;break}n=n+1|0;e=e+1|0;t[i>>2]=e;t[f+(e<<2)>>2]=n;e=n;while(1){if(!((n|0)<(a|0)&(e|0)<(a|0)))break e;h=n+3|0;h=(a|0)<(h|0)?a:h;o=(t[i>>2]|0)+1|0;t[i>>2]=o;t[f+(o<<2)>>2]=h;e=e+1|0;n=h}}}while(0);u=u+1|0}while(1){if((h|0)>=(p|0)){e=0;break}u=t[g+(h<<2)>>2]|0;b=m+(u<<2)|0;e=t[b>>2]|0;if((e|0)!=-1){o=t[d+(u+1<<2)>>2]|0;n=0;s=t[d+(u<<2)>>2]|0;while(1){if((s|0)>=(o|0))break;l=t[v+(s<<2)>>2]|0;if((u|0)!=(l|0)?(t[m+(l<<2)>>2]|0)!=-1:0){f=n<<1;if((e|0)==-1)e=-1;else{c[k+(f<<3)>>3]=+(l|0);c[k+((f|1)<<3)>>3]=+c[w+(s<<3)>>3];n=n+1|0}}s=s+1|0}if((n|0)>0){_4(k,n,16,81);n=(n|0)<3?n:3;e=0;while(1){if((e|0)>=(n|0))break;o=~~+c[k+(e<<1<<3)>>3];t[m+(o<<2)>>2]=-1;t[(t[A>>2]|0)+(a<<2)>>2]=o;e=e+1|0;a=a+1|0}t[b>>2]=-1;b=a+1|0;t[(t[A>>2]|0)+(a<<2)>>2]=u;u=t[r>>2]|0;a=(t[i>>2]|0)+1|0;t[i>>2]=a;t[u+(a<<2)>>2]=b;a=b}}h=h+1|0}while(1){if((e|0)>=(p|0))break;if((t[m+(e<<2)>>2]|0)==(e|0)){v=a+1|0;t[(t[A>>2]|0)+(a<<2)>>2]=e;d=t[r>>2]|0;a=(t[i>>2]|0)+1|0;t[i>>2]=a;t[d+(a<<2)>>2]=v;a=v}e=e+1|0}G2(g);G2(m);return}function bu(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;w=t[e+20>>2]|0;k=t[e+24>>2]|0;d=t[e>>2]|0;a=t[e+4>>2]|0;c=$F(d<<2)|0;t[r>>2]=c;e=0;while(1){if((e|0)>=(d|0))break;t[c+(e<<2)>>2]=e;e=e+1|0}t[i>>2]=a;e:do{if(!A){a=0;A:while(1){if((a|0)>=(d|0))break e;A=a+1|0;n=w+(A<<2)|0;f=c+(a<<2)|0;l=c+(a<<2)|0;e=t[w+(a<<2)>>2]|0;while(1){if((e|0)>=(t[n>>2]|0)){a=A;continue A}s=k+(e<<2)|0;r=t[s>>2]|0;if(((a|0)!=(r|0)?(h=c+(r<<2)|0,(t[h>>2]|0)==(r|0)):0)?(t[f>>2]|0)==(a|0):0){t[h>>2]=a;t[l>>2]=t[s>>2];t[i>>2]=(t[i>>2]|0)+-1}e=e+1|0}}}else{A=jo(d)|0;e=0;while(1){if((e|0)>=(d|0))break;n=t[A+(e<<2)>>2]|0;f=w+(n+1<<2)|0;a=t[w+(n<<2)>>2]|0;while(1){if((a|0)>=(t[f>>2]|0))break;l=k+(a<<2)|0;s=t[l>>2]|0;if(((n|0)!=(s|0)?(o=t[r>>2]|0,u=o+(s<<2)|0,(t[u>>2]|0)==(s|0)):0)?(b=o+(n<<2)|0,(t[b>>2]|0)==(n|0)):0){t[u>>2]=n;t[b>>2]=t[l>>2];t[i>>2]=(t[i>>2]|0)+-1}a=a+1|0}e=e+1|0}G2(A)}}while(0);return}function hu(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0;d=t[e+20>>2]|0;v=t[e+24>>2]|0;g=t[e>>2]|0;n=t[e+4>>2]|0;h=$F(g<<2)|0;t[r>>2]=h;a=0;while(1){if((a|0)>=(g|0))break;t[h+(a<<2)>>2]=a;a=a+1|0}t[i>>2]=n;k=t[e+28>>2]|0;e:do{if(!A){a=0;f=0.0;s=0;while(1){if((s|0)>=(g|0))break e;o=s+1|0;u=t[d+(o<<2)>>2]|0;b=h+(s<<2)|0;n=1;A=t[d+(s<<2)>>2]|0;while(1){if((A|0)>=(u|0))break;e=t[v+(A<<2)>>2]|0;if(((s|0)!=(e|0)?(t[h+(e<<2)>>2]|0)==(e|0):0)?(t[b>>2]|0)==(s|0):0){l=+c[k+(A<<3)>>3];if((n|0)==0?!(l>f):0)n=0;else{n=0;a=e;f=l}}A=A+1|0}if(n|0){s=o;continue}t[h+(a<<2)>>2]=s;t[h+(s<<2)>>2]=a;t[i>>2]=(t[i>>2]|0)+-1;s=o}}else{w=jo(g)|0;h=0;a=0;f=0.0;while(1){if((h|0)>=(g|0))break;s=t[w+(h<<2)>>2]|0;o=t[r>>2]|0;u=o+(s<<2)|0;if((t[u>>2]|0)==(s|0)){b=t[d+(s+1<<2)>>2]|0;A=t[d+(s<<2)>>2]|0;n=1;while(1){if((A|0)>=(b|0))break;e=t[v+(A<<2)>>2]|0;if((s|0)!=(e|0)?(t[o+(e<<2)>>2]|0)==(e|0):0){l=+c[k+(A<<3)>>3];if((n|0)==0?!(l>f):0)n=0;else{n=0;a=e;f=l}}A=A+1|0}if(!n){t[o+(a<<2)>>2]=s;t[u>>2]=a;t[i>>2]=(t[i>>2]|0)+-1}}h=h+1|0}G2(w)}}while(0);return}function wu(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0.0,w=0,k=0,d=0,v=0,g=0,m=0;v=t[e+20>>2]|0;g=t[e+24>>2]|0;m=t[e>>2]|0;n=t[e+4>>2]|0;w=$F(m<<2)|0;t[r>>2]=w;a=0;while(1){if((a|0)>=(m|0))break;t[w+(a<<2)>>2]=a;a=a+1|0}t[i>>2]=n;d=t[e+28>>2]|0;e:do{if(!A){a=0;f=0.0;s=0;while(1){if((s|0)>=(m|0))break e;A=t[v+(s<<2)>>2]|0;o=s+1|0;u=t[v+(o<<2)>>2]|0;b=w+(s<<2)|0;h=+(u-A|0);n=1;while(1){if((A|0)>=(u|0))break;e=t[g+(A<<2)>>2]|0;if(((s|0)!=(e|0)?(t[w+(e<<2)>>2]|0)==(e|0):0)?(t[b>>2]|0)==(s|0):0){l=+c[d+(A<<3)>>3]/(+((t[v+(e+1<<2)>>2]|0)-(t[v+(e<<2)>>2]|0)|0)*h);if((n|0)==0?!(l>f):0)n=0;else{n=0;a=e;f=l}}A=A+1|0}if(n|0){s=o;continue}t[w+(a<<2)>>2]=s;t[w+(s<<2)>>2]=a;t[i>>2]=(t[i>>2]|0)+-1;s=o}}else{k=jo(m)|0;w=0;a=0;f=0.0;while(1){if((w|0)>=(m|0))break;s=t[k+(w<<2)>>2]|0;o=t[r>>2]|0;u=o+(s<<2)|0;if((t[u>>2]|0)==(s|0)){A=t[v+(s<<2)>>2]|0;b=t[v+(s+1<<2)>>2]|0;h=+(b-A|0);n=1;while(1){if((A|0)>=(b|0))break;e=t[g+(A<<2)>>2]|0;if((s|0)!=(e|0)?(t[o+(e<<2)>>2]|0)==(e|0):0){l=+c[d+(A<<3)>>3]/(+((t[v+(e+1<<2)>>2]|0)-(t[v+(e<<2)>>2]|0)|0)*h);if((n|0)==0?!(l>f):0)n=0;else{n=0;a=e;f=l}}A=A+1|0}if(!n){t[o+(a<<2)>>2]=s;t[u>>2]=a;t[i>>2]=(t[i>>2]|0)+-1}}w=w+1|0}G2(k)}}while(0);return}function ku(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=t[e+20>>2]|0;b=t[e+24>>2]|0;o=t[e>>2]|0;s=$F(o<<2)|0;t[r>>2]=s;e=0;while(1){if((e|0)>=(o|0))break;t[s+(e<<2)>>2]=-100;e=e+1|0}t[i>>2]=0;t[a>>2]=0;e:do{if(!A){A=0;A:while(1){if((A|0)>=(o|0))break e;if((t[s+(A<<2)>>2]|0)!=-100){A=A+1|0;continue}n=t[i>>2]|0;t[i>>2]=n+1;t[s+(A<<2)>>2]=n;n=A+1|0;f=u+(n<<2)|0;e=t[u+(A<<2)>>2]|0;while(1){if((e|0)>=(t[f>>2]|0)){A=n;continue A}l=t[b+(e<<2)>>2]|0;if((A|0)!=(l|0)){t[s+(l<<2)>>2]=-1;t[a>>2]=(t[a>>2]|0)+1}e=e+1|0}}}else{l=jo(o)|0;f=0;while(1){if((f|0)>=(o|0))break;s=t[l+(f<<2)>>2]|0;c=t[r>>2]|0;e=c+(s<<2)|0;A:do{if((t[e>>2]|0)==-100){A=t[i>>2]|0;t[i>>2]=A+1;t[e>>2]=A;A=u+(s+1<<2)|0;e=t[u+(s<<2)>>2]|0;while(1){if((e|0)>=(t[A>>2]|0))break A;n=t[b+(e<<2)>>2]|0;if((s|0)!=(n|0)){t[c+(n<<2)>>2]=-1;t[a>>2]=(t[a>>2]|0)+1}e=e+1|0}}}while(0);f=f+1|0}G2(l)}}while(0);t[a>>2]=(t[a>>2]|0)+(t[i>>2]|0);return}function du(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;u=k+4|0;b=k;w=t[e+20>>2]|0;o=t[e+24>>2]|0;f=t[e>>2]|0;e=$F(f<<2)|0;t[r>>2]=e;n=0;while(1){t[u>>2]=n;if((n|0)>=(f|0))break;t[e+(n<<2)>>2]=-100;n=(t[u>>2]|0)+1|0}t[i>>2]=0;t[a>>2]=0;c=Bu(f,(f<<1)+-2|0)|0;e:do{if(!A){e=0;while(1){t[u>>2]=e;if((e|0)>=(f|0))break e;s=e+1|0;Cu(c,e,(t[w+(s<<2)>>2]|0)-(t[w+(e<<2)>>2]|0)|0)|0;e=s}}else{n=jo(f)|0;e=0;while(1){if((e|0)>=(f|0))break;s=t[n+(e<<2)>>2]|0;t[u>>2]=s;Cu(c,s,(t[w+(s+1<<2)>>2]|0)-(t[w+(s<<2)>>2]|0)|0)|0;e=e+1|0}G2(n)}}while(0);e:while(1){s=(Iu(c,u,b)|0)==0;e=t[i>>2]|0;if(s)break;t[i>>2]=e+1;t[(t[r>>2]|0)+(t[u>>2]<<2)>>2]=e;e=t[u>>2]|0;s=t[w+(e<<2)>>2]|0;while(1){if((s|0)>=(t[w+(e+1<<2)>>2]|0))continue e;l=t[o+(s<<2)>>2]|0;if((e|0)!=(l|0)){A:do{if((t[(t[r>>2]|0)+(l<<2)>>2]|0)==-100){Gu(c,l)|0;t[(t[r>>2]|0)+(l<<2)>>2]=-1;n=w+(l+1<<2)|0;e=t[w+(l<<2)>>2]|0;while(1){if((e|0)>=(t[n>>2]|0))break A;A=o+(e<<2)|0;f=t[A>>2]|0;if((l|0)!=(f|0)?(t[(t[r>>2]|0)+(f<<2)>>2]|0)==-100:0){f=Zu(c,f)|0;t[b>>2]=f;Cu(c,t[A>>2]|0,f+1|0)|0}e=e+1|0}}}while(0);t[a>>2]=(t[a>>2]|0)+1;e=t[u>>2]|0}s=s+1|0}}t[a>>2]=(t[a>>2]|0)+e;yu(c);h=k;return}function vu(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[e+8>>3];r=+c[A+8>>3];return(i>r?-1:i>2]|0)==1:0)a=e;else a=Ho(e)|0;do{if(!A)A=0;else{if(sK(A,0)|0?(t[A+16>>2]|0)==1:0)break;A=bK(A,0)|0}}while(0);r=mu(a,A,r)|0;A=pu(r,i)|0;if((a|0)!=(e|0))t[r+36>>2]=1;return A|0}function mu(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if(!e)e=0;else{i=$F(44)|0;t[i>>2]=0;t[i+4>>2]=t[e+4>>2];t[i+8>>2]=e;t[i+12>>2]=A;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=r;t[i+28>>2]=0;t[i+32>>2]=0;t[i+36>>2]=0;e=i}return e|0}function pu(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+32|0;i=c+20|0;a=c+16|0;n=c+12|0;f=c+8|0;l=c+4|0;s=c;t[a>>2]=0;if((t[e>>2]|0)<((t[A+16>>2]|0)+-1|0)?(lu(t[e+8>>2]|0,l,t[e+12>>2]|0,s,0,a,n,f,A,i),r=t[l>>2]|0,r|0):0){l=t[s>>2]|0;s=mu(r,l,t[a>>2]|0)|0;t[e+28>>2]=s;t[s+40>>2]=t[i>>2];t[s>>2]=(t[e>>2]|0)+1;t[s+4>>2]=t[r>>2];t[s+8>>2]=r;t[s+12>>2]=l;t[s+16>>2]=t[n>>2];t[e+20>>2]=t[f>>2];t[s+32>>2]=e;pu(s,A)|0}h=c;return e|0}function Eu(e){e=e|0;var A=0;while(1){A=t[e+28>>2]|0;if(!A)break;else e=A}return e|0}function Bu(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=$F(28)|0;t[a>>2]=0;t[a+4>>2]=e;t[a+8>>2]=A;t[a+12>>2]=-1;i=a+16|0;t[i>>2]=$F((A<<2)+4|0)|0;r=0;while(1){if((r|0)>(A|0))break;t[(t[i>>2]|0)+(r<<2)>>2]=0;r=r+1|0}A=(e<<2)+4|0;i=a+20|0;t[i>>2]=$F(A)|0;r=0;while(1){if((r|0)>(e|0))break;t[(t[i>>2]|0)+(r<<2)>>2]=0;r=r+1|0}A=$F(A)|0;t[a+24>>2]=A;r=0;while(1){if((r|0)>(e|0))break;t[A+(r<<2)>>2]=-999;r=r+1|0}return a|0}function yu(e){e=e|0;var A=0,r=0,i=0,a=0;if(e|0){i=e+16|0;A=t[i>>2]|0;if(A|0){a=e+8|0;r=0;while(1){if((r|0)>(t[a>>2]|0))break;Gb(t[A+(r<<2)>>2]|0,105);r=r+1|0;A=t[i>>2]|0}G2(A)}A=t[e+20>>2]|0;if(A|0)G2(A);G2(t[e+24>>2]|0);G2(e)}return}function Cu(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;n=e+8|0;s=e+20|0;l=e+24|0;c=e+16|0;if(!e)ge(138953,95743,69,95759);while(1){if((t[n>>2]|0)<(r|0)){f=4;break}i=(t[s>>2]|0)+(A<<2)|0;a=t[i>>2]|0;if(!a)break;o=t[(t[l>>2]|0)+(A<<2)>>2]|0;t[i>>2]=0;t[e>>2]=(t[e>>2]|0)+-1;Db(a,105,(t[c>>2]|0)+(o<<2)|0)}if((f|0)==4)ge(95778,95743,70,95759);t[e>>2]=(t[e>>2]|0)+1;i=e+12|0;if((t[i>>2]|0)<(r|0))t[i>>2]=r;t[(t[l>>2]|0)+(A<<2)>>2]=r;i=$F(4)|0;t[i>>2]=A;a=t[(t[c>>2]|0)+(r<<2)>>2]|0;if(!a)i=Zb(i)|0;else i=Lb(a,i)|0;t[(t[s>>2]|0)+(A<<2)>>2]=i;t[(t[c>>2]|0)+(r<<2)>>2]=i;return e|0}function Iu(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;if((e|0)!=0?(t[e>>2]|0)>=1:0){a=e+12|0;i=t[a>>2]|0;t[r>>2]=i;t[e>>2]=(t[e>>2]|0)+-1;r=e+16|0;n=t[(t[r>>2]|0)+(i<<2)>>2]|0;t[A>>2]=t[(Qb(n)|0)>>2];Db(n,105,(t[r>>2]|0)+(i<<2)|0);r=t[r>>2]|0;if(!(t[r+(i<<2)>>2]|0)){while(1){if((i|0)<=-1)break;if(t[r+(i<<2)>>2]|0)break;i=i+-1|0}t[a>>2]=i}i=t[A>>2]|0;t[(t[e+20>>2]|0)+(i<<2)>>2]=0;t[(t[e+24>>2]|0)+(i<<2)>>2]=-999;i=1}else i=0;return i|0}function Zu(e,A){e=e|0;A=A|0;return t[(t[e+24>>2]|0)+(A<<2)>>2]|0}function Gu(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;if((e|0)!=0?(i=t[e>>2]|0,(i|0)>=1):0){f=e+24|0;r=t[(t[f>>2]|0)+(A<<2)>>2]|0;t[e>>2]=i+-1;a=e+20|0;i=e+16|0;Db(t[(t[a>>2]|0)+(A<<2)>>2]|0,105,(t[i>>2]|0)+(r<<2)|0);e=e+12|0;if((r|0)==(t[e>>2]|0)?(n=t[i>>2]|0,(t[n+(r<<2)>>2]|0)==0):0){while(1){if((r|0)<=-1)break;if(t[n+(r<<2)>>2]|0)break;r=r+-1|0}t[e>>2]=r}t[(t[a>>2]|0)+(A<<2)>>2]=0;t[(t[f>>2]|0)+(A<<2)>>2]=-999;r=1}else r=0;return r|0}function Lu(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0,l=0,s=0.0,o=0.0,u=0,b=0.0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;if(!(sK(e,0)|0))ge(95795,95831,260,95846);E=cK(e)|0;B=t[E+20>>2]|0;y=t[E+24>>2]|0;i=E+16|0;e=E+28|0;if((t[i>>2]|0)==1)p=t[e>>2]|0;else{G2(t[e>>2]|0);t[i>>2]=1;p=$F(t[E+8>>2]<<3)|0;t[e>>2]=p}d=$F(t[E>>2]<<2)|0;e=0;while(1){i=t[E>>2]|0;if((e|0)>=(i|0)){k=0;e=i;break}t[d+(e<<2)>>2]=-1;e=e+1|0}e:while(1){if((k|0)>=(e|0)){n=0.0;s=0.0;a=0;m=0;g=e;break}w=k+1|0;f=B+(w<<2)|0;u=B+(k<<2)|0;l=(t[f>>2]|0)-(t[u>>2]|0)|0;t[d+(k<<2)>>2]=k;i=t[u>>2]|0;while(1){h=t[f>>2]|0;if((i|0)>=(h|0))break;e=t[y+(i<<2)>>2]|0;if((k|0)!=(e|0))t[d+(e<<2)>>2]=k;i=i+1|0}b=+(l|0);i=t[u>>2]|0;while(1){if((i|0)>=(h|0))break;e=t[y+(i<<2)>>2]|0;if((k|0)!=(e|0)){f=t[B+(e+1<<2)>>2]|0;e=t[B+(e<<2)>>2]|0;o=+(f-e|0)+b;while(1){if((e|0)>=(f|0))break;o=(t[d+(t[y+(e<<2)>>2]<<2)>>2]|0)==(k|0)?o+-1.0:o;e=e+1|0}c[p+(i<<3)>>3]=o;if(!(o>0.0)){v=23;break e}}i=i+1|0}k=w;e=t[E>>2]|0}if((v|0)==23)ge(95868,95831,290,95846);while(1){if((m|0)>=(g|0))break;f=m+1|0;l=B+(f<<2)|0;i=t[B+(m<<2)>>2]|0;while(1){if((i|0)>=(t[l>>2]|0))break;e=t[y+(i<<2)>>2]|0;if((m|0)==(e|0))e=a;else{s=+Ko(r,A,m,e)+s;n=+c[p+(i<<3)>>3]+n;e=a+1|0}a=e;i=i+1|0}m=f;g=t[E>>2]|0}b=+(a|0);n=s/(n/b*b);e=0;e:while(1){if((e|0)>=(g|0))break;f=e+1|0;l=t[B+(f<<2)>>2]|0;i=t[B+(e<<2)>>2]|0;while(1){if((i|0)>=(l|0)){e=f;continue e}a=p+(i<<3)|0;if((e|0)!=(t[y+(i<<2)>>2]|0))c[a>>3]=+c[a>>3]*n;i=i+1|0}}return E|0}function Qu(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0.0,w=0,k=0.0,d=0.0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0.0,X=0.0;V=t[e>>2]|0;N=t[e+20>>2]|0;R=t[e+24>>2]|0;if(!(sK(e,0)|0))ge(95795,95831,333,95876);x=Lu(e,A,i)|0;J=$F(56)|0;H=J+32|0;c[H>>3]=1.0;t[J+20>>2]=0;t[J+24>>2]=0;c[J+40>>3]=.01;t[J+48>>2]=~~+D(+ +(t[e>>2]|0));n=V<<3;Y=$F(n)|0;t[J+12>>2]=Y;e=0;while(1){if((e|0)>=(V|0))break;c[Y+(e<<3)>>3]=r;e=e+1|0}F=$F(V<<2)|0;W=$F(n)|0;l=0;while(1){if((l|0)>=(V|0)){b=0;break}s=W+(l<<3)|0;c[s>>3]=0.0;o=l+1|0;u=N+(o<<2)|0;f=t[N+(l<<2)>>2]|0;e=0;r=0.0;while(1){if((f|0)>=(t[u>>2]|0))break;n=t[R+(f<<2)>>2]|0;if((l|0)!=(n|0)){r=+Ko(i,A,l,n);r=+c[s>>3]+r;c[s>>3]=r;e=e+1|0}f=f+1|0}if((e|0)<=0){w=14;break}c[s>>3]=r/+(e|0);l=o}if((w|0)==14)ge(95908,95831,358,95876);while(1){if((b|0)>=(V|0)){e=0;o=0;break}t[F+(b<<2)>>2]=-1;b=b+1|0}e:while(1){if((o|0)>=(V|0))break;t[F+(o<<2)>>2]=o;l=N+(o<<2)|0;u=o+1|0;b=N+(u<<2)|0;f=t[l>>2]|0;while(1){n=t[b>>2]|0;if((f|0)>=(n|0))break;n=F+(t[R+(f<<2)>>2]<<2)|0;if((t[n>>2]|0)!=(o|0)){t[n>>2]=o;e=e+1|0}f=f+1|0}s=t[l>>2]|0;while(1){if((s|0)>=(n|0)){o=u;continue e}f=t[R+(s<<2)>>2]|0;l=N+(f+1<<2)|0;f=t[N+(f<<2)>>2]|0;while(1){if((f|0)>=(t[l>>2]|0))break;n=F+(t[R+(f<<2)>>2]<<2)|0;if((t[n>>2]|0)!=(o|0)){t[n>>2]=o;e=e+1|0}f=f+1|0}s=s+1|0;n=t[b>>2]|0}}n=e+V|0;L=J+4|0;t[L>>2]=aK(V,V,n,1,1)|0;n=aK(V,V,n,1,1)|0;Q=J+8|0;t[Q>>2]=n;e=t[L>>2]|0;do{if(!((n|0)==0|(e|0)==0)){Z=t[e+20>>2]|0;I=t[e+24>>2]|0;y=t[e+28>>2]|0;G=t[n+28>>2]|0;C=t[n+20>>2]|0;g=t[n+24>>2]|0;t[C>>2]=0;t[Z>>2]=0;r=0.0;h=0.0;w=0;f=0;e:while(1){if((w|0)>=(V|0)){w=58;break}m=w+V|0;t[F+(w<<2)>>2]=m;s=N+(w<<2)|0;p=w+1|0;E=N+(p<<2)|0;B=W+(w<<3)|0;k=0.0;d=0.0;l=t[s>>2]|0;while(1){e=t[E>>2]|0;if((l|0)>=(e|0))break;n=t[R+(l<<2)>>2]|0;e=F+(n<<2)|0;if((t[e>>2]|0)!=(m|0)){t[e>>2]=m;t[I+(f<<2)>>2]=n;switch(a|0){case 0:{v=1.0;break}case 1:{v=(+c[W+(n<<3)>>3]+ +c[B>>3])*.5;break}case 2:{v=+z(+ +qo(i,A,w,n),.4);break}default:{w=42;break e}}X=-1.0/(v*v);c[y+(f<<3)>>3]=X;t[g+(f<<2)>>2]=n;P=X*v;b=G+(f<<3)|0;c[b>>3]=P;h=+Ko(i,A,w,n)*P+h;P=+c[b>>3];f=f+1|0;k=X+k;d=P+d;r=P*v+r}l=l+1|0}b=t[s>>2]|0;while(1){if((b|0)>=(e|0))break;s=t[R+(b<<2)>>2]|0;o=N+(s+1<<2)|0;u=W+(s<<3)|0;l=t[N+(s<<2)>>2]|0;while(1){if((l|0)>=(t[o>>2]|0))break;n=R+(l<<2)|0;e=F+(t[n>>2]<<2)|0;if((t[e>>2]|0)!=(m|0)){t[e>>2]=m;switch(a|0){case 0:{v=2.0;break}case 1:{v=(+c[u>>3]*2.0+ +c[B>>3]+ +c[W+(t[n>>2]<<3)>>3])*.5;break}case 2:{v=+z(+ +qo(i,A,w,t[n>>2]|0),.4);break}default:{w=53;break e}}t[I+(f<<2)>>2]=t[n>>2];P=-1.0/(v*v);c[y+(f<<3)>>3]=P;t[g+(f<<2)>>2]=t[n>>2];X=P*v;e=G+(f<<3)|0;c[e>>3]=X;h=+Ko(i,A,t[n>>2]|0,s)*X+h;X=+c[e>>3];f=f+1|0;k=P+k;d=X+d;r=X*v+r}l=l+1|0}b=b+1|0;e=t[E>>2]|0}t[I+(f<<2)>>2]=w;B=Y+(w<<3)|0;X=-(k*+c[B>>3]);c[B>>3]=X;c[y+(f<<3)>>3]=X-k;t[g+(f<<2)>>2]=w;c[G+(f<<3)>>3]=-d;f=f+1|0;t[Z+(p<<2)>>2]=f;t[C+(p<<2)>>2]=f;w=p}if((w|0)==42){G3(95915,29,1,t[15712]|0)|0;ge(138394,95831,418,95876)}else if((w|0)==53){G3(95915,29,1,t[15712]|0)|0;ge(138394,95831,460,95876)}else if((w|0)==58){r=h/r;e=0;while(1){if((e|0)>=(f|0))break;R=G+(e<<3)|0;c[R>>3]=+c[R>>3]*r;e=e+1|0}c[H>>3]=r;t[(t[L>>2]|0)+8>>2]=f;t[(t[Q>>2]|0)+8>>2]=f;G2(F);G2(W);iK(x);M=J;break}}else{Du(J);M=0}}while(0);return M|0}function Du(e){e=e|0;var A=0;if(e|0){A=t[e+4>>2]|0;if(A|0)iK(A);A=t[e+8>>2]|0;if(A|0)iK(A);A=t[e+12>>2]|0;if(A|0)G2(A);A=t[e+20>>2]|0;if(A|0)F5[t[e+16>>2]&127](A);G2(e)}return}function zu(e,A,r,i,a,n){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,s=0,o=0.0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0.0,R=0;M=t[e>>2]|0;if(sK(e,0)|0?(t[e+16>>2]|0)==1:0){s=P(M,A)|0;l=0.0;f=0;while(1){if((f|0)>=(s|0))break;k=+c[i+(f<<3)>>3];l=k*k+l;f=f+1|0}e:do{if(l==0.0){f=0;while(1){if((f|0)>=(s|0))break e;c[i+(f<<3)>>3]=+Xo()*72.0;f=f+1|0}}}while(0);Q=t[e+20>>2]|0;z=t[e+24>>2]|0;W=t[e+28>>2]|0;f=$F(56)|0;F=f+32|0;c[F>>3]=1.0;t[f+20>>2]=0;t[f+24>>2]=0;t[f>>2]=e;c[f+40>>3]=.01;t[f+48>>2]=~~+D(+ +(t[e>>2]|0));Y=$F(M<<3)|0;t[f+12>>2]=Y;s=0;while(1){if((s|0)>=(M|0))break;c[Y+(s<<3)>>3]=r;s=s+1|0}e=(t[e+8>>2]|0)+M|0;G=f+4|0;t[G>>2]=aK(M,M,e,1,1)|0;e=aK(M,M,e,1,1)|0;L=f+8|0;t[L>>2]=e;s=t[G>>2]|0;if(!((e|0)==0|(s|0)==0)){B=t[s+20>>2]|0;y=t[s+24>>2]|0;C=t[e+20>>2]|0;I=t[e+24>>2]|0;p=t[s+28>>2]|0;Z=t[e+28>>2]|0;t[C>>2]=0;t[B>>2]=0;w=0.0;k=0.0;E=0;v=0;e:while(1){if((v|0)>=(M|0))break;g=v+1|0;m=Q+(g<<2)|0;o=0.0;u=0.0;d=t[Q+(v<<2)>>2]|0;h=w;r=k;e=E;while(1){if((d|0)>=(t[m>>2]|0))break;s=t[z+(d<<2)>>2]|0;if((s|0)==(v|0)){l=h;s=e}else{t[y+(e<<2)>>2]=s;b=+c[W+(d<<3)>>3];switch(a|0){case 2:{l=b*b;l=l==0.0?-1.0e5:-1.0/l;break}case 1:{l=b*b==0.0?-1.0e5:-1.0/b;break}case 0:{l=-1.0;break}default:{V=23;break e}}c[p+(e<<3)>>3]=l;t[I+(e<<2)>>2]=s;N=l*b;R=Z+(e<<3)|0;c[R>>3]=N;r=+Ko(i,A,v,s)*N+r;N=+c[R>>3];o=l+o;u=N+u;l=N*b+h;s=e+1|0}d=d+1|0;h=l;e=s}t[y+(e<<2)>>2]=v;E=Y+(v<<3)|0;w=-(o*+c[E>>3]);c[E>>3]=w;c[p+(e<<3)>>3]=w-o;t[I+(e<<2)>>2]=v;c[Z+(e<<3)>>3]=-u;E=e+1|0;t[B+(g<<2)>>2]=E;t[C+(g<<2)>>2]=E;w=h;k=r;v=g}if((V|0)==23)ge(138394,95831,591,96012);l=(n|0)==0?1.0:k/w;if(l==0.0)f=0;else{s=0;while(1){if((s|0)>=(E|0))break;R=Z+(s<<3)|0;c[R>>3]=+c[R>>3]*l;s=s+1|0}c[F>>3]=l;t[(t[G>>2]|0)+8>>2]=E;t[(t[L>>2]|0)+8>>2]=E}}else{Du(f);f=0}return f|0}ge(95945,95831,525,96012);return 0}function Wu(e){e=e|0;Du(e);return}function Yu(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;return+ +Fu(e,A,r,i,a)}function Fu(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;var n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0.0,k=0,d=0.0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0,G=0,L=0,Q=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,X=0,S=0,j=0;S=h;h=h+16|0;J=S+12|0;X=S+8|0;u=S+4|0;s=S;o=t[e+4>>2]|0;f=t[e+8>>2]|0;t[J>>2]=0;t[X>>2]=0;t[u>>2]=0;M=t[e+12>>2]|0;t[s>>2]=0;V=cK(f)|0;N=t[o>>2]|0;R=P(N,A)|0;n=R<<3;H=$F(n)|0;if((H|0)!=0?(x=P(A<<3,N)|0,Q6(H|0,r|0,x|0)|0,F=$F(n)|0,t[X>>2]=F,(F|0)!=0):0){Y=t[f+20>>2]|0;F=t[f+24>>2]|0;L=t[f+28>>2]|0;Q=t[V+28>>2]|0;z=t[o+28>>2]|0;W=e+24|0;switch(t[W>>2]|0){case 1:{Mu(t[e+20>>2]|0,N,A,r,s,u);n=t[s>>2]|0;if(!n){I=0.0;Z=0.0;n=0}else{o=oK(o,n)|0;I=0.0;Z=0.0}break}case 2:{n=t[e+20>>2]|0;I=+c[n+8>>3];Z=+c[n>>3];n=0;break}default:{I=0.0;Z=0.0;n=0}}y=(M|0)==0;C=e+40|0;B=e+48|0;f=t[u>>2]|0;l=1.0;s=0;e:while(1){E=s+1|0;if(!((s|0)<(i|0)&l>a))break;A:do{if((t[W>>2]|0)==4){u=t[X>>2]|0;s=0;while(1){if((s|0)>=(N|0))break A;b=P(s,A)|0;e=0;while(1){if((e|0)>=(A|0))break;c[u+(e+b<<3)>>3]=0.0;e=e+1|0}s=s+1|0}}else{k=0;while(1){if((k|0)>=(N|0))break;m=k+1|0;p=Y+(m<<2)|0;w=0.0;g=t[Y+(k<<2)>>2]|0;s=-1;while(1){if((g|0)>=(t[p>>2]|0))break;u=F+(g<<2)|0;e=t[u>>2]|0;if((k|0)==(e|0))s=g;else{v=+Ko(r,A,k,e);b=L+(g<<3)|0;d=+c[b>>3];if(d==0.0)d=0.0;else{if(v==0.0){d=d/+c[z+(g<<3)>>3]*.0001;e=0;while(1){if((e|0)>=(A|0))break;v=d*(+Xo()+.0001);j=r+((P(t[u>>2]|0,A)|0)+e<<3)|0;c[j>>3]=v+ +c[j>>3];e=e+1|0}v=+Ko(r,A,k,t[u>>2]|0);d=+c[b>>3]}d=d/v}c[Q+(g<<3)>>3]=d;w=d+w}g=g+1|0}if((s|0)<=-1){G=25;break e}c[Q+(s<<3)>>3]=-w;k=m}zo(V,0,r,0,X,0,A)}}while(0);A:do{if(!y){u=t[X>>2]|0;s=0;while(1){if((s|0)>=(N|0))break A;b=M+(s<<3)|0;k=P(s,A)|0;e=0;while(1){if((e|0)>=(A|0))break;p=e+k|0;j=u+(p<<3)|0;c[j>>3]=+c[j>>3]+ +c[H+(p<<3)>>3]*+c[b>>3];e=e+1|0}s=s+1|0}}}while(0);A:do{switch(t[W>>2]|0){case 1:{s=t[X>>2]|0;e=0;while(1){if((e|0)>=(N|0)){G=50;break A}b=P(e,A)|0;u=0;while(1){if((u|0)>=(A|0))break;G=u+b|0;j=s+(G<<3)|0;c[j>>3]=+c[j>>3]+ +c[f+(G<<3)>>3];u=u+1|0}e=e+1|0}}case 2:{Vu(N,A,r,t[X>>2]|0,Z,I);s=t[X>>2]|0;w=+c[C>>3];e=t[B>>2]|0;if((t[W>>2]|0)==2)Nu(o,Z,A,r,s,w,e,J);else G=51;break}default:{s=t[X>>2]|0;G=50}}}while(0);if((G|0)==50){w=+c[C>>3];e=t[B>>2]|0;G=51}if((G|0)==51){G=0;+tb(o,A,r,s,w,e,0,J)}if(t[J>>2]|0)break;l=+Ru(N,A,r,t[X>>2]|0);l=l/+D(+ +To(R,r,r));Q6(r|0,t[X>>2]|0,x|0)|0;s=E}if((G|0)==25)ge(96049,95831,895,96060);iK(V);if(n){iK(n);iK(o)}}else{iK(V);l=1.0;f=0}G2(H);n=t[X>>2]|0;if(n|0)G2(n);if(f|0)G2(f);h=S;return+l}function Mu(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0.0,g=0,m=0,p=0,E=0.0,B=0,y=0,C=0,I=0,Z=0.0;w=t[e+8>>2]|0;I=t[e+12>>2]|0;B=t[e+16>>2]|0;C=t[e+32>>2]|0;y=t[C+20>>2]|0;C=t[C+24>>2]|0;o=e+20|0;d=t[o>>2]|0;u=e+24|0;k=t[u>>2]|0;b=e+28|0;h=t[b>>2]|0;E=+c[e>>3];e:do{if((w|2|0)==3){if(!d){if((k|0)!=0|(h|0)!=0)ge(96094,95831,692,96111);else{f=0;l=0}while(1){if((f|0)>=(I|0))break;p=t[B+(f<<2)>>2]|0;v=+((t[y+(p+1<<2)>>2]|0)-(t[y+(p<<2)>>2]|0)|0)+1.0;f=f+1|0;l=l+~~(v*v)|0}k=l<<2;d=$F(k)|0;t[o>>2]=d;k=$F(k)|0;t[u>>2]=k;h=$F(l<<3)|0;t[b>>2]=h}m=0;e=0;while(1){if((m|0)>=(I|0))break;w=t[B+(m<<2)>>2]|0;g=y+(w<<2)|0;l=t[g>>2]|0;f=t[C+(l<<2)>>2]|0;l=t[C+(l+1<<2)>>2]|0;A:do{if((f|0)!=(l|0)){Z=+qo(i,r,f,l);Z=Z*Z;b=y+(w+1<<2)|0;v=+((t[b>>2]|0)-(t[g>>2]|0)|0);t[d+(e<<2)>>2]=w;t[k+(e<<2)>>2]=w;c[h+(e<<3)>>3]=E/Z;s=v*v*Z;v=-(E/(Z*v));l=t[g>>2]|0;while(1){e=e+1|0;f=t[b>>2]|0;if((l|0)>=(f|0))break;t[d+(e<<2)>>2]=w;t[k+(e<<2)>>2]=t[C+(l<<2)>>2];c[h+(e<<3)>>3]=v;l=l+1|0}s=E/s;u=t[g>>2]|0;while(1){if((u|0)>=(f|0))break A;o=t[C+(u<<2)>>2]|0;t[d+(e<<2)>>2]=o;t[k+(e<<2)>>2]=w;c[h+(e<<3)>>3]=v;l=t[g>>2]|0;while(1){e=e+1|0;f=t[b>>2]|0;if((l|0)>=(f|0))break;p=t[C+(l<<2)>>2]|0;t[d+(e<<2)>>2]=o;t[k+(e<<2)>>2]=p;c[h+(e<<3)>>3]=s;l=l+1|0}u=u+1|0}}}while(0);m=m+1|0}f=kK(e,A,A,d,k,h,1,8)|0;e=0}else{switch(w|0){case 2:case 4:break;default:{f=0;e=0;break e}}do{if(!d)if((k|0)!=0|(h|0)!=0)ge(96094,95831,734,96111);else{m=I<<2;p=$F(m)|0;t[o>>2]=p;m=$F(m)|0;t[u>>2]=m;g=$F(I<<3)|0;t[b>>2]=g;break}else{g=h;m=k;p=d}}while(0);e=$F(P(A<<3,r)|0)|0;l=P(r,A)|0;f=0;while(1){if((f|0)>=(l|0)){h=0;break}c[e+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((h|0)>=(I|0))break;w=t[B+(h<<2)>>2]|0;o=y+(w<<2)|0;u=t[o>>2]|0;s=+qo(i,r,t[C+(u<<2)>>2]|0,t[C+(u+1<<2)>>2]|0);t[p+(h<<2)>>2]=w;t[m+(h<<2)>>2]=w;s=E/s;c[g+(h<<3)>>3]=s;o=t[o>>2]|0;u=t[y+(w+1<<2)>>2]|0;w=P(w,r)|0;l=o;while(1){if((l|0)>=(u|0))break;b=P(t[C+(l<<2)>>2]|0,r)|0;f=0;while(1){if((f|0)>=(r|0))break;d=e+(f+w<<3)|0;c[d>>3]=+c[d>>3]+ +c[i+(f+b<<3)>>3];f=f+1|0}l=l+1|0}s=s*(1.0/+(u-o|0));f=0;while(1){if((f|0)>=(r|0))break;d=e+(f+w<<3)|0;c[d>>3]=s*+c[d>>3];f=f+1|0}h=h+1|0}f=kK(h,A,A,p,m,g,1,8)|0}}while(0);t[a>>2]=f;t[n>>2]=e;return}function Vu(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;t=+t;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0.0,w=0;t=t*a;n=0;e:while(1){if((n|0)>=(e|0))break;o=n+1|0;u=P(n,A)|0;f=o;while(1){if((f|0)==(e|0)){n=o;continue e}s=P(f,A)|0;a=1.0/+qo(r,A,n,f);l=0;while(1){if((l|0)>=(A|0))break;w=l+u|0;b=l+s|0;h=t*((+c[r+(w<<3)>>3]-+c[r+(b<<3)>>3])*a);w=i+(w<<3)|0;c[w>>3]=h+ +c[w>>3];b=i+(b<<3)|0;c[b>>3]=+c[b>>3]-h;l=l+1|0}f=f+1|0}}return}function Nu(e,A,r,i,a,n,f,l){e=e|0;A=+A;r=r|0;i=i|0;a=a|0;n=+n;f=f|0;l=l|0;var s=0,c=0;c=Tu(e,A)|0;s=$u(e,A)|0;+rb(c,s,t[e>>2]|0,r,i,a,n,f,l);return}function Ru(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0,n=0.0,f=0.0,l=0,s=0.0,o=0;t=0;f=0.0;while(1){if((t|0)>=(e|0))break;l=P(t,A)|0;a=0;n=0.0;while(1){if((a|0)>=(A|0))break;o=a+l|0;s=+c[i+(o<<3)>>3]-+c[r+(o<<3)>>3];a=a+1|0;n=s*s+n}t=t+1|0;f=+D(+n)+f}return+f}function xu(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0,s=0.0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0.0,p=0.0,E=0.0,B=0,y=0,C=0,I=0,Z=0,G=0.0,L=0.0;I=t[e>>2]|0;w=t[e+20>>2]|0;k=t[e+24>>2]|0;if(!(sK(e,0)|0))ge(95795,95831,1034,96133);d=I<<3;Z=$F(d)|0;l=0;while(1){if((l|0)>=(I|0))break;u=Z+(l<<3)|0;c[u>>3]=0.0;b=l+1|0;h=w+(b<<2)|0;o=t[w+(l<<2)>>2]|0;n=0;s=0.0;while(1){if((o|0)>=(t[h>>2]|0))break;f=t[k+(o<<2)>>2]|0;if((l|0)!=(f|0)){s=+Ko(i,A,l,f);s=+c[u>>3]+s;c[u>>3]=s;n=n+1|0}o=o+1|0}if((n|0)<=0){C=11;break}c[u>>3]=s/+(n|0);l=b}if((C|0)==11)ge(95908,95831,1046,96133);n=$F(56)|0;y=n+32|0;c[y>>3]=1.0;t[n+20>>2]=0;t[n+24>>2]=0;c[n+40>>3]=.01;t[n+48>>2]=~~+D(+ +(t[e>>2]|0));B=$F(d)|0;t[n+12>>2]=B;f=0;while(1){if((f|0)>=(I|0))break;c[B+(f<<3)>>3]=r;f=f+1|0}do{if((I|0)>2)if(!a){f=fb(I,A,i)|0;break}else{f=nb(I,A,i)|0;break}else f=cK(e)|0}while(0);a=n+4|0;t[a>>2]=oK(e,f)|0;iK(f);l=cK(t[a>>2]|0)|0;t[n+8>>2]=l;f=t[a>>2]|0;if((l|0)==0|(f|0)==0){Ju(n);n=0}else{d=t[f+20>>2]|0;k=t[f+24>>2]|0;w=t[f+28>>2]|0;a=t[l+28>>2]|0;p=0.0;E=0.0;u=0;while(1){if((u|0)>=(I|0))break;h=u+1|0;b=d+(h<<2)|0;m=0.0;r=0.0;l=-1;v=p;g=E;o=t[d+(u<<2)>>2]|0;while(1){if((o|0)>=(t[b>>2]|0))break;f=t[k+(o<<2)>>2]|0;if((f|0)==(u|0)){s=m;f=o}else{G=+z(+ +qo(i,A,u,f),.6);s=1.0/(G*G);c[w+(o<<3)>>3]=s;L=s*G;e=a+(o<<3)|0;c[e>>3]=L;g=L*+Ko(i,A,u,f)+g;L=+c[e>>3];s=s+m;r=L+r;f=l;v=L*G+v}m=s;l=f;o=o+1|0}e=B+(u<<3)|0;s=-(m*+c[e>>3]);c[e>>3]=s;if((l|0)<=-1){C=31;break}c[w+(l<<3)>>3]=s-m;c[a+(l<<3)>>3]=-r;p=v;E=g;u=h}if((C|0)==31)ge(96154,95831,1112,96133);s=E/p;l=t[d+(I<<2)>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;I=a+(f<<3)|0;c[I>>3]=+c[I>>3]*s;f=f+1|0}c[y>>3]=s;G2(Z)}return n|0}function Ju(e){e=e|0;Du(e);return}function Hu(e,A,r){e=e|0;A=A|0;r=r|0;+Fu(e,A,r,50,.001);return}function Pu(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0;C=t[e>>2]|0;I=t[e+20>>2]|0;Z=t[e+24>>2]|0;if(!(sK(e,0)|0))ge(95795,95831,1149,96165);p=Lu(e,A,i)|0;E=t[p+28>>2]|0;e=$F(8)|0;B=$F(C<<2)|0;y=$F(C<<3)|0;f=0;while(1){if((f|0)>=(C|0)){h=0;break}o=y+(f<<3)|0;c[o>>3]=0.0;u=f+1|0;b=I+(u<<2)|0;l=t[I+(f<<2)>>2]|0;a=0;s=0.0;while(1){if((l|0)>=(t[b>>2]|0))break;n=t[Z+(l<<2)>>2]|0;if((f|0)!=(n|0)){s=+Ko(i,A,f,n);s=+c[o>>3]+s;c[o>>3]=s;a=a+1|0}l=l+1|0}if((a|0)<=0){w=11;break}c[o>>3]=s/+(a|0);f=u}if((w|0)==11)ge(95908,95831,1167,96165);while(1){if((h|0)>=(C|0)){u=0;a=0;break}t[B+(h<<2)>>2]=-1;h=h+1|0}e:while(1){if((u|0)>=(C|0))break;t[B+(u<<2)>>2]=u;l=I+(u<<2)|0;b=u+1|0;h=I+(b<<2)|0;f=t[l>>2]|0;while(1){n=t[h>>2]|0;if((f|0)>=(n|0))break;n=B+(t[Z+(f<<2)>>2]<<2)|0;if((t[n>>2]|0)!=(u|0)){t[n>>2]=u;a=a+1|0}f=f+1|0}o=t[l>>2]|0;while(1){if((o|0)>=(n|0)){u=b;continue e}f=t[Z+(o<<2)>>2]|0;l=I+(f+1<<2)|0;f=t[I+(f<<2)>>2]|0;while(1){if((f|0)>=(t[l>>2]|0))break;n=B+(t[Z+(f<<2)>>2]<<2)|0;if((t[n>>2]|0)!=(u|0)){t[n>>2]=u;a=a+1|0}f=f+1|0}o=o+1|0;n=t[h>>2]|0}}i=aK(C,C,a,1,1)|0;t[e>>2]=i;if(!i){Xu(e);e=0}else{w=t[i+20>>2]|0;k=t[i+24>>2]|0;d=t[i+28>>2]|0;t[w>>2]=0;n=0;a=0;while(1){if((n|0)>=(C|0))break;v=n+C|0;t[B+(n<<2)>>2]=v;o=I+(n<<2)|0;g=n+1|0;m=I+(g<<2)|0;A=y+(n<<3)|0;l=t[o>>2]|0;while(1){n=t[m>>2]|0;if((l|0)>=(n|0))break;n=t[Z+(l<<2)>>2]|0;f=B+(n<<2)|0;if((t[f>>2]|0)!=(v|0)){t[f>>2]=v;t[k+(a<<2)>>2]=n;h=d+(a<<3)|0;c[h>>3]=(+c[y+(n<<3)>>3]+ +c[A>>3])*.5;c[h>>3]=+c[E+(l<<3)>>3];a=a+1|0}l=l+1|0}h=t[o>>2]|0;while(1){if((h|0)>=(n|0))break;l=t[Z+(h<<2)>>2]|0;o=I+(l+1<<2)|0;u=y+(l<<3)|0;b=E+(h<<3)|0;l=t[I+(l<<2)>>2]|0;while(1){if((l|0)>=(t[o>>2]|0))break;n=Z+(l<<2)|0;f=B+(t[n>>2]<<2)|0;if((t[f>>2]|0)!=(v|0)){t[f>>2]=v;t[k+(a<<2)>>2]=t[n>>2];f=d+(a<<3)|0;c[f>>3]=(+c[u>>3]*2.0+ +c[A>>3]+ +c[y+(t[n>>2]<<3)>>3])*.5;c[f>>3]=+c[E+(l<<3)>>3]+ +c[b>>3];a=a+1|0}l=l+1|0}h=h+1|0;n=t[m>>2]|0}t[w+(g<<2)>>2]=a;n=g}t[i+8>>2]=a;I=VS()|0;Z=e+4|0;t[Z>>2]=I;Q6(I|0,r|0,168)|0;Z=t[Z>>2]|0;t[Z+16>>2]=0;t[Z+40>>2]=1;I=Z+96|0;c[I>>3]=+c[I>>3]*.5;t[Z+80>>2]=20;G2(B);G2(y);iK(p)}return e|0}function Xu(e){e=e|0;var A=0;if(e|0){A=t[e>>2]|0;if(A|0)iK(A);e=t[e+4>>2]|0;if(e|0)NS(e)}return}function Su(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;n=h;h=h+16|0;f=n;t[f>>2]=0;tj(i,A,t[e>>2]|0,t[e+4>>2]|0,r,a,f);if(!(t[f>>2]|0)){h=n;return}else ge(96184,95831,1262,96190)}function ju(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0;t[n>>2]=0;n=t[r+120>>2]|0;e:do{switch(n|0){case 5:case 6:{if((t[A>>2]|0)>2){A=xu(A,e,0.0,a,(n|0)!=6&1)|0;Hu(A,e,a);Ju(A)}break}case 4:{n=0;while(1){if((n|0)==1)break e;l=Pu(A,e,r,a)|0;Su(l,A,i,e,a);Xu(l);n=n+1|0}}case 1:{r=0;f=6;break}case 2:{r=1;f=6;break}case 3:{r=2;f=6;break}default:{}}}while(0);e:do{if((f|0)==6){n=0;while(1){if((n|0)==1)break e;l=Qu(A,e,.05,a,r)|0;+Fu(l,e,a,50,.001);Du(l);n=n+1|0}}}while(0);return}function Uu(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0,f=0.0,l=0,s=0;s=h;h=h+16|0;n=s;t[n>>2]=r;l=t[e>>2]|0;e=t[l+8>>2]|0;f=+c[l>>3];l=t[e>>2]|0;Fo(e,A,n,0);e=0;a=0.0;while(1){if((e|0)>=(l|0))break;i=+c[A+(e<<3)>>3]+a;e=e+1|0;a=i}i=+(l|0);r=t[n>>2]|0;e=0;while(1){if((e|0)>=(l|0))break;n=r+(e<<3)|0;c[n>>3]=(+c[A+(e<<3)>>3]*i-a)*f+ +c[n>>3];e=e+1|0}h=s;return r|0}function Tu(e,A){e=e|0;A=+A;var r=0,i=0;r=$F(8)|0;i=$F(16)|0;t[r>>2]=i;c[i>>3]=A;t[i+8>>2]=e;t[r+4>>2]=25;return r|0}function Ou(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=h;h=h+16|0;i=a;t[i>>2]=r;Fo(t[e>>2]|0,A,i,0);h=a;return t[i>>2]|0}function _u(e){e=e|0;var A=0;A=$F(8)|0;t[A>>2]=e;t[A+4>>2]=26;return A|0}function qu(e){e=e|0;if(e|0)G2(e);return}function Ku(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=t[e>>2]|0;i=~~+c[a>>3];a=a+8|0;e=0;while(1){if((e|0)>=(i|0))break;c[r+(e<<3)>>3]=+c[a+(e<<3)>>3]*+c[A+(e<<3)>>3];e=e+1|0}return r|0}function $u(e,A){e=e|0;A=+A;var r=0,i=0,a=0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0.0,h=0,w=0,k=0.0;u=t[e>>2]|0;h=t[e+20>>2]|0;w=t[e+24>>2]|0;s=t[e+28>>2]|0;o=$F(8)|0;f=$F((u<<3)+8|0)|0;t[o>>2]=f;c[f>>3]=+(u|0);f=f+8|0;k=+(u+-1|0);l=1.0/k;A=k*A;e=0;e:while(1){if((e|0)>=(u|0))break;i=f+(e<<3)|0;c[i>>3]=l;a=e+1|0;n=t[h+(a<<2)>>2]|0;r=t[h+(e<<2)>>2]|0;while(1){if((r|0)>=(n|0)){e=a;continue e}if((e|0)==(t[w+(r<<2)>>2]|0)?(b=+c[s+(r<<3)>>3],(b>=0.0?b:-b)>0.0):0)c[i>>3]=1.0/(b+A);r=r+1|0}}t[o+4>>2]=27;return o|0}function eb(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0;f=t[e>>2]|0;s=t[e+20>>2]|0;o=t[e+24>>2]|0;u=t[e+28>>2]|0;b=$F(8)|0;r=$F((t[e>>2]<<3)+8|0)|0;t[b>>2]=r;c[r>>3]=+(f|0);r=r+8|0;e=0;e:while(1){if((e|0)>=(f|0))break;i=r+(e<<3)|0;c[i>>3]=1.0;a=e+1|0;n=t[s+(a<<2)>>2]|0;A=t[s+(e<<2)>>2]|0;while(1){if((A|0)>=(n|0)){e=a;continue e}if((e|0)==(t[o+(A<<2)>>2]|0)?(l=+c[u+(A<<3)>>3],(l>=0.0?l:-l)>0.0):0)c[i>>3]=1.0/l;A=A+1|0}}t[b+4>>2]=27;return b|0}function Ab(e){e=e|0;G2(t[e>>2]|0);if(e|0)G2(e);return}function rb(e,A,r,i,a,t,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=+n;f=f|0;l=l|0;var s=0.0,o=0,u=0.0,b=0,h=0,w=0;h=r<<3;b=$F(h)|0;h=$F(h)|0;o=0;u=0.0;while(1){if((o|0)<(i|0))l=0;else break;while(1){if((l|0)>=(r|0))break;w=(P(l,i)|0)+o|0;c[b+(l<<3)>>3]=+c[a+(w<<3)>>3];c[h+(l<<3)>>3]=+c[t+(w<<3)>>3];l=l+1|0}s=+ib(e,A,r,b,h,n,f);l=0;while(1){if((l|0)>=(r|0))break;c[t+((P(l,i)|0)+o<<3)>>3]=+c[b+(l<<3)>>3];l=l+1|0}o=o+1|0;u=s+u}G2(b);G2(h);return+u}function ib(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;f=f|0;var l=0,s=0.0,c=0,o=0,u=0,b=0.0,h=0.0,w=0,k=0,d=0,v=0.0,g=0,m=0;d=t[e+4>>2]|0;w=t[A+4>>2]|0;k=r<<3;l=$F(k)|0;c=$F(k)|0;g=$F(k)|0;o=$F(k)|0;c=L5[d&63](e,i,c)|0;u=Uo(r,a,c)|0;h=+(r|0);v=+D(+ +To(r,u,u))/h;b=v*n;h=1.0/h;u=0;a=g;s=1.0;n=v;while(1){if(!(n>b&(u|0)<(f|0)))break;l=L5[w&63](A,c,l)|0;n=+To(r,c,l);if((u|0)>0)Oo(r,l,a,n/s)|0;else Q6(a|0,l|0,k|0)|0;m=L5[d&63](e,a,o)|0;s=n/+To(r,a,m);_o(r,i,a,s)|0;g=_o(r,c,m,-s)|0;u=u+1|0;s=n;o=m;n=+D(+ +To(r,g,g))*h}G2(l);G2(c);G2(a);G2(o);return+n}function ab(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0;G=h;h=h+16|0;Z=G;y=t[e+4>>2]|0;C=y<<3;I=$F(C)|0;m=$F(C)|0;p=$F(C)|0;E=t[e+20>>2]|0;B=t[e+24>>2]|0;v=t[e+28>>2]|0;g=t[15712]|0;d=0;while(1){if((d|0)<(A|0))n=0;else break;while(1){if((n|0)>=(y|0)){e=0;break}k=(P(n,A)|0)+d|0;c[I+(n<<3)>>3]=+c[r+(k<<3)>>3];c[p+(n<<3)>>3]=+c[i+(k<<3)>>3];n=n+1|0}while(1){if((e|0)<(a|0))u=0;else{n=0;break}while(1){if((u|0)>=(y|0))break;b=t[E+(u<<2)>>2]|0;w=u+1|0;k=t[E+(w<<2)>>2]|0;o=b;l=0.0;f=0.0;while(1){if((o|0)>=(k|0))break;n=t[B+(o<<2)>>2]|0;s=+c[v+(o<<3)>>3];if((n|0)==(u|0))f=s;else l=+c[I+(n<<3)>>3]*s+l;o=o+1|0}if(l==0.0){t[Z>>2]=k-b;a3(g,96212,Z)|0}c[m+(u<<3)>>3]=(+c[p+(u<<3)>>3]-l)/f;u=w}Q6(I|0,m|0,C|0)|0;e=e+1|0}while(1){if((n|0)>=(y|0))break;c[i+((P(n,A)|0)+d<<3)>>3]=+c[I+(n<<3)>>3];n=n+1|0}d=d+1|0}G2(I);G2(m);G2(p);h=G;return i|0}function tb(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;n=n|0;f=f|0;l=l|0;var s=0;s=t[e>>2]|0;t[l>>2]=0;switch(f|0){case 0:{f=_u(e)|0;l=eb(e)|0;a=+rb(f,l,s,A,r,i,a,n,0);qu(f);Ab(l);break}case 1:{ab(e,A,r,i,n,0)|0;a=0.0;break}default:a=0.0}return+a}function nb(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0;b=h;h=h+32|0;s=b;o=b+20|0;a=b+16|0;n=b+12|0;f=b+8|0;c[s>>3]=1.0;l=e<<3;u=$F(l)|0;l=$F(l)|0;A=0;while(1){if((A|0)>=(e|0))break;i=A<<1;c[u+(A<<3)>>3]=+c[r+(i<<3)>>3];c[l+(A<<3)>>3]=+c[r+((i|1)<<3)>>3];A=A+1|0}t[o>>2]=A;if((e|0)>2)r=NU(u,l,e,f)|0;else{t[f>>2]=0;r=0}i=aK(e,e,1,1,2)|0;A=0;while(1){t[o>>2]=A;if((A|0)>=(t[f>>2]|0))break;w=A<<1;t[a>>2]=t[r+(w<<2)>>2];t[n>>2]=t[r+((w|1)<<2)>>2];Ro(i,1,a,n,s)|0;A=(t[o>>2]|0)+1|0}if((e|0)==2){t[a>>2]=0;t[n>>2]=1;Ro(i,1,a,n,s)|0;A=0}else A=0;while(1){t[o>>2]=A;if((A|0)>=(e|0))break;Ro(i,1,o,o,s)|0;A=(t[o>>2]|0)+1|0}e=wK(i)|0;iK(i);w=lK(e,0)|0;iK(e);G2(r);G2(u);G2(l);h=b;return w|0}function fb(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+16|0;n=o+8|0;f=o;c[f>>3]=1.0;s=e<<3;l=$F(s)|0;s=$F(s)|0;i=0;while(1){if((i|0)>=(e|0))break;a=P(i,A)|0;c[l+(i<<3)>>3]=+c[r+(a<<3)>>3];c[s+(i<<3)>>3]=+c[r+(a+1<<3)>>3];i=i+1|0}t[n>>2]=i;i=RU(l,s,e,0)|0;a=aK(e,e,1,1,2)|0;A=0;while(1){t[n>>2]=A;if((A|0)<(e|0))r=1;else{A=0;break}while(1){if((r|0)>=(t[i+(A*12|0)>>2]|0))break;Ro(a,1,n,(t[i+(A*12|0)+4>>2]|0)+(r<<2)|0,f)|0;r=r+1|0;A=t[n>>2]|0}A=A+1|0}while(1){t[n>>2]=A;if((A|0)>=(e|0))break;Ro(a,1,n,n,f)|0;A=(t[n>>2]|0)+1|0}f=lK(wK(a)|0,0)|0;iK(a);G2(l);G2(s);xU(i);h=o;return f|0}function lb(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0;a=h;h=h+16|0;t=a;sb(t,r);cb(e,A,r,t);ob(A,t,i);ub(t);h=a;return}function sb(e,A){e=e|0;A=A|0;t[e>>2]=$F(A<<4)|0;t[e+4>>2]=A;t[e+8>>2]=0;return}function cb(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0;L=h;h=h+64|0;d=L+32|0;m=L+48|0;p=L+16|0;E=L;g=A<<2;I=$F(g)|0;G=$F(g)|0;t[p>>2]=0;t[p+4>>2]=0;t[p+8>>2]=0;t[p+12>>2]=0;v=$F(g)|0;g=$F(g)|0;a=0;while(1){if((a|0)>=(A|0))break;t[v+(a<<2)>>2]=a;a=a+1|0}k=A+-1|0;OT(e,v,0,k);a=0;while(1){if((a|0)>=(A|0))break;t[g+(t[v+(a<<2)>>2]<<2)>>2]=a;a=a+1|0}hb(m,e,v,A);a=1;while(1){if((a|0)>=(A|0)){a=0;break}t[I+(t[v+(a<<2)>>2]<<2)>>2]=t[v+(a+-1<<2)>>2];a=a+1|0}while(1){if((a|0)>=(k|0))break;w=a+1|0;t[G+(t[v+(a<<2)>>2]<<2)>>2]=t[v+(w<<2)>>2];a=w}s=i+8|0;o=i+4|0;u=p+4|0;b=E+4|0;w=E+8|0;l=0;while(1){if((l|0)>=(r|0))break;if(!((wb(m,p)|0)<<24>>24))break;a=t[s>>2]|0;A=t[o>>2]|0;if((a|0)<(A|0))A=t[i>>2]|0;else{t[o>>2]=A<<1;A=Q2(t[i>>2]|0,A<<5)|0;t[i>>2]=A;a=t[s>>2]|0}t[s>>2]=a+1;a=A+(a<<4)|0;t[a>>2]=t[p>>2];t[a+4>>2]=t[p+4>>2];t[a+8>>2]=t[p+8>>2];t[a+12>>2]=t[p+12>>2];a=t[p>>2]|0;A=t[g+(a<<2)>>2]|0;n=t[u>>2]|0;f=t[g+(n<<2)>>2]|0;if((A|0)>0?(B=t[v+(A+-1<<2)>>2]|0,y=G+(B<<2)|0,(t[g+(t[y>>2]<<2)>>2]|0)<(f|0)):0){t[E>>2]=B;t[b>>2]=n;c[w>>3]=+c[e+(n<<3)>>3]-+c[e+(B<<3)>>3];t[d>>2]=t[E>>2];t[d+4>>2]=t[E+4>>2];t[d+8>>2]=t[E+8>>2];t[d+12>>2]=t[E+12>>2];kb(m,d);t[y>>2]=n;t[I+(n<<2)>>2]=B}if((f|0)<(k|0)?(C=t[v+(f+1<<2)>>2]|0,Z=I+(C<<2)|0,(t[g+(t[Z>>2]<<2)>>2]|0)>(A|0)):0){t[E>>2]=a;t[b>>2]=C;c[w>>3]=+c[e+(C<<3)>>3]-+c[e+(a<<3)>>3];t[d>>2]=t[E>>2];t[d+4>>2]=t[E+4>>2];t[d+8>>2]=t[E+8>>2];t[d+12>>2]=t[E+12>>2];kb(m,d);t[Z>>2]=a;t[G+(a<<2)>>2]=C}l=l+1|0}G2(I);G2(G);G2(v);G2(g);db(m);h=L;return}function ob(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,c=0,o=0,u=0,b=0;c=$F(e<<2)|0;o=A+8|0;f=t[o>>2]|0;l=(f<<1)+e|0;n=l<<2;i=$F(n)|0;n=$F(n)|0;a=0;while(1){if((a|0)>=(e|0))break;t[c+(a<<2)>>2]=1;a=a+1|0}a=0;while(1){if((a|0)>=(f|0)){a=0;break}b=t[A>>2]|0;u=t[b+(a<<4)+4>>2]|0;b=c+(t[b+(a<<4)>>2]<<2)|0;t[b>>2]=(t[b>>2]|0)+1;u=c+(u<<2)|0;t[u>>2]=(t[u>>2]|0)+1;a=a+1|0}while(1){if((a|0)>=(l|0))break;s[n+(a<<2)>>2]=1.0;a=a+1|0}f=$F(e*20|0)|0;t[r>>2]=f;a=0;while(1){if((a|0)>=(e|0))break;t[f+(a*20|0)>>2]=1;t[f+(a*20|0)+8>>2]=n;t[f+(a*20|0)+4>>2]=i;t[i>>2]=a;s[n>>2]=0.0;b=t[c+(a<<2)>>2]|0;n=n+(b<<2)|0;i=i+(b<<2)|0;a=a+1|0}G2(c);while(1){i=t[o>>2]|0;if(!i)break;b=i+-1|0;t[o>>2]=b;u=t[A>>2]|0;bb(f,t[u+(b<<4)>>2]|0,t[u+(b<<4)+4>>2]|0)}return}function ub(e){e=e|0;G2(t[e>>2]|0);return}function bb(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;a=e+(A*20|0)|0;n=t[a>>2]|0;f=t[e+(A*20|0)+4>>2]|0;i=0;while(1){if((i|0)>=(n|0)){l=4;break}if((t[f+(i<<2)>>2]|0)==(r|0))break;else i=i+1|0}if((l|0)==4?(t[a>>2]=n+1,t[f+(n<<2)>>2]=r,f=t[e+(r*20|0)+4>>2]|0,n=e+(r*20|0)|0,l=t[n>>2]|0,t[n>>2]=l+1,t[f+(l<<2)>>2]=A,t[e+8>>2]|0):0){l=t[e+(A*20|0)+8>>2]|0;s[l>>2]=+s[l>>2]+-1.0;l=t[e+(r*20|0)+8>>2]|0;s[l>>2]=+s[l>>2]+-1.0}return}function hb(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0.0,s=0,o=0;a=i+-1|0;t[e+4>>2]=a;t[e+8>>2]=a;t[e>>2]=$F(a<<4)|0;i=0;while(1){if((i|0)>=(a|0))break;o=t[r+(i<<2)>>2]|0;n=i+1|0;s=t[r+(n<<2)>>2]|0;l=+c[A+(s<<3)>>3]-+c[A+(o<<3)>>3];f=t[e>>2]|0;t[f+(i<<4)>>2]=o;t[f+(i<<4)+4>>2]=s;c[f+(i<<4)+8>>3]=l;i=n}i=(a|0)/2|0;while(1){if((i|0)<=-1)break;vb(e,i);i=i+-1|0}return}function wb(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+4|0;if(!(t[r>>2]|0))e=0;else{i=t[e>>2]|0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[A+12>>2]=t[i+12>>2];A=t[e>>2]|0;i=A+((t[r>>2]|0)+-1<<4)|0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[A+12>>2]=t[i+12>>2];t[r>>2]=(t[r>>2]|0)+-1;vb(e,0);e=1}return e|0}function kb(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+16|0;o=u;l=e+4|0;n=t[l>>2]|0;r=e+8|0;if((n|0)==(t[r>>2]|0)){t[r>>2]=n<<1;r=Q2(t[e>>2]|0,n<<5)|0;t[e>>2]=r;s=e;f=t[l>>2]|0}else{s=e;f=n;r=t[e>>2]|0}t[l>>2]=f+1;l=r+(n<<4)|0;t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];while(1){if((n|0)<=0)break;r=t[s>>2]|0;i=+c[r+(n<<4)+8>>3];e=n>>>1;a=+c[r+(e<<4)+8>>3];if(!(i>2]|0}l=r+(n<<4)|0;t[o>>2]=t[l>>2];t[o+4>>2]=t[l+4>>2];t[o+8>>2]=t[l+8>>2];t[o+12>>2]=t[l+12>>2];A=r+(e<<4)|0;t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];l=(t[s>>2]|0)+(e<<4)|0;t[l>>2]=t[o>>2];t[l+4>>2]=t[o+4>>2];t[l+8>>2]=t[o+8>>2];t[l+12>>2]=t[o+12>>2];n=e}h=u;return}function db(e){e=e|0;G2(t[e>>2]|0);return}function vb(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0;o=h;h=h+16|0;f=o;l=e+4|0;while(1){r=A<<1;n=r|1;if((r|0)<(t[l>>2]|0)){u=t[e>>2]|0;i=+c[u+(r<<4)+8>>3];a=+c[u+(A<<4)+8>>3];if(!(i>2]|0)){u=t[e>>2]|0;i=+c[u+(n<<4)+8>>3];a=+c[u+(r<<4)+8>>3];if(!(i>2]|0;u=n+(r<<4)|0;t[f>>2]=t[u>>2];t[f+4>>2]=t[u+4>>2];t[f+8>>2]=t[u+8>>2];t[f+12>>2]=t[u+12>>2];n=n+(A<<4)|0;t[u>>2]=t[n>>2];t[u+4>>2]=t[n+4>>2];t[u+8>>2]=t[n+8>>2];t[u+12>>2]=t[n+12>>2];u=(t[e>>2]|0)+(A<<4)|0;t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[u+8>>2]=t[f+8>>2];t[u+12>>2]=t[f+12>>2];A=r}h=o;return}function gb(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=+r;i=+i;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,o=0,u=0,b=0.0;o=(a|0)!=0;if(!o){a=$F(A<<3)|0;if(!(_O(e,A,a,A)|0))u=3;else{e=1;u=17}}else u=3;if((u|0)==3){s=KF(A<<2)|0;t[n>>2]=s;e=0;while(1){if((e|0)>=(A|0))break;t[s+(e<<2)>>2]=e;e=e+1|0}e=A+-1|0;OT(a,s,0,e);b=+c[a+(t[s>>2]<<3)>>3];i=(+c[a+(t[s+(e<<2)>>2]<<3)>>3]-b)*i/+(e|0);i=i=(A|0))break;b=+c[a+(t[s+(n<<2)>>2]<<3)>>3];e=e+(b-r>i&1)|0;n=n+1|0;r=b}t[l>>2]=e;e:do{if(!e){s=$F(4)|0;t[f>>2]=s;t[s>>2]=A}else{l=$F(e<<2)|0;t[f>>2]=l;e=0;n=1;while(1){if((n|0)>=(A|0))break e;if(+c[a+(t[s+(n<<2)>>2]<<3)>>3]-+c[a+(t[s+(n+-1<<2)>>2]<<3)>>3]>i){t[l+(e<<2)>>2]=n;e=e+1|0}n=n+1|0}}}while(0);if(o)e=0;else{e=0;u=17}}if((u|0)==17)G2(a);return e|0}function mb(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0,k=0;r=t[46930]|0;if(r|0)sP(r);t[46930]=lP(A,A,0.0)|0;r=t[46931]|0;if(r|0)G2(r);t[46931]=KF(A<<2)|0;r=t[46932]|0;if(r|0)G2(r);b=KF(A<<3)|0;t[46932]=b;h=t[46930]|0;w=t[46931]|0;f=0;while(1){if((f|0)>=(A|0)){i=10;break}i=e+(f<<2)|0;n=h+(f<<2)|0;a=0.0;r=0;while(1){if((r|0)==(A|0))break;l=+c[(t[i>>2]|0)+(r<<3)>>3];c[(t[n>>2]|0)+(r<<3)>>3]=l;l=+Q(+l);a=a>3]=1.0/a;t[w+(f<<2)>>2]=f;f=f+1|0}e:do{if((i|0)==10){u=A+-1|0;r=0;o=0;A:while(1){if((o|0)<(u|0)){i=o;s=r;a=0.0}else break;while(1){if((i|0)>=(A|0))break;e=t[w+(i<<2)>>2]|0;l=+Q(+ +c[(t[h+(e<<2)>>2]|0)+(o<<3)>>3]);l=+c[b+(e<<3)>>3]*l;e=a>2]|0;e=w+(s<<2)|0;t[r>>2]=t[e>>2];t[e>>2]=f}n=t[h+(t[r>>2]<<2)>>2]|0;e=o+1|0;a=1.0/+c[n+(o<<3)>>3];i=e;while(1){if((i|0)>=(A|0)){r=s;o=e;continue A}f=t[h+(t[w+(i<<2)>>2]<<2)>>2]|0;r=f+(o<<3)|0;l=+c[r>>3]*a;c[r>>3]=l;r:do{if(l!=0.0){r=e;while(1){if((r|0)>=(A|0))break r;k=f+(r<<3)|0;c[k>>3]=+c[k>>3]-+c[n+(r<<3)>>3]*l;r=r+1|0}}}while(0);i=i+1|0}}r=+c[(t[h+(t[w+(u<<2)>>2]<<2)>>2]|0)+(u<<3)>>3]!=0.0&1}else if((i|0)==15){c[b+(f<<3)>>3]=0.0;r=0}}while(0);return r|0}function pb(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0,s=0,o=0;s=t[46930]|0;o=t[46931]|0;l=0;while(1){if((l|0)>=(r|0)){i=r;break}n=t[o+(l<<2)>>2]|0;f=s+(n<<2)|0;a=0.0;i=0;while(1){if((i|0)==(l|0))break;a=+c[e+(i<<3)>>3]*+c[(t[f>>2]|0)+(i<<3)>>3]+a;i=i+1|0}c[e+(l<<3)>>3]=+c[A+(n<<3)>>3]-a;l=l+1|0}while(1){A=i+-1|0;if((i|0)<=0)break;n=o+(A<<2)|0;a=0.0;while(1){if((i|0)>=(r|0))break;a=+c[e+(i<<3)>>3]*+c[(t[s+(t[n>>2]<<2)>>2]|0)+(i<<3)>>3]+a;i=i+1|0}i=e+(A<<3)|0;c[i>>3]=(+c[i>>3]-a)/+c[(t[s+(t[n>>2]<<2)>>2]|0)+(A<<3)>>3];i=A}return}function Eb(e){e=e|0;var A=0;A=$F(8)|0;t[A>>2]=e;t[A+4>>2]=0;return A|0}function Bb(e,A){e=e|0;A=A|0;var r=0,i=0;if(e|0)do{r=e;e=t[e+4>>2]|0;i=t[r>>2]|0;if(i|0)F5[A&127](i);G2(r)}while((e|0)!=0);return}function yb(e,A){e=e|0;A=A|0;A=Eb(A)|0;t[A+4>>2]=e;return A|0}function Cb(e){e=e|0;return t[e>>2]|0}function Ib(e){e=e|0;return t[e+4>>2]|0}function Zb(e){e=e|0;var A=0;A=$F(12)|0;t[A>>2]=e;t[A+4>>2]=0;t[A+8>>2]=0;return A|0}function Gb(e,A){e=e|0;A=A|0;var r=0,i=0;if(e|0)do{r=e;e=t[e+4>>2]|0;i=t[r>>2]|0;if(i|0)F5[A&127](i);G2(r)}while((e|0)!=0);return}function Lb(e,A){e=e|0;A=A|0;A=Zb(A)|0;if(e|0){t[A+4>>2]=e;t[e+8>>2]=A}return A|0}function Qb(e){e=e|0;return t[e>>2]|0}function Db(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;if(e|0){i=t[e+4>>2]|0;a=t[e+8>>2]|0;n=t[e>>2]|0;if(n|0)F5[A&127](n);G2(e);if(i|0)t[i+8>>2]=a;t[(a|0?a+4|0:r)>>2]=i}return}function zb(e){e=e|0;t[e>>2]=0;t[e+4>>2]=0;return}function Wb(e){e=e|0;var A=0;A=KF(64)|0;zb(A+36|0);t[A+8>>2]=e;return A|0}function Yb(e){e=e|0;if(e|0){rh(t[e+32>>2]|0);G2(e)}return}function Fb(e){e=e|0;return gk(t[e+8>>2]|0)|0}function Mb(e,A){e=e|0;A=A|0;var r=0,i=0;t[A+4>>2]=0;r=e+4|0;i=t[r>>2]|0;t[((i|0)==0?e:i+4|0)>>2]=A;t[r>>2]=A;return}function Vb(e,A){e=e|0;A=A|0;var r=0;r=t[e>>2]|0;if(!r){t[e>>2]=A;e=e+4|0}else t[A+4>>2]=r;t[e>>2]=A;return}function Nb(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;Rb(e,A);s=t[A>>2]|0;f=t[s+4>>2]|0;while(1){if(!f)break;c=t[f+8>>2]|0;l=sd(c)|0;r=t[(t[l+16>>2]|0)+112>>2]|0;e=t[r+16+4>>2]|0;r=t[r+8>>2]|0;a=l;l=cd(c,l)|0;while(1){if(!l)break;i=t[(t[l+16>>2]|0)+112>>2]|0;n=t[i+16+4>>2]|0;if((n|0)<(e|0)){a=l;r=t[i+8>>2]|0;e=n}l=cd(c,l)|0}l=t[(t[r+16>>2]|0)+112>>2]|0;c=l+4|0;t[c>>2]=t[c>>2]|8;t[f>>2]=a;c=t[f+4>>2]|0;Mb((t[l+12>>2]|0)+36|0,f);f=c}zb(A);return s|0}function Rb(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;n=l+8|0;i=t[A+24>>2]|0;if(!((i|0)!=0?(r=gd(e,i,0)|0,(r|0)!=0):0))a=3;e:do{if((a|0)==3){i=A+20|0;A:do{if(t[i>>2]|0){r=sd(e)|0;while(1){if(!r)break A;if((gx(t[t[(t[r+16>>2]|0)+112>>2]>>2]|0,t[i>>2]|0,0)|0)<<24>>24)break e;r=cd(e,r)|0}}}while(0);r=sd(e)|0}}while(0);if(0){a=t[15712]|0;t[f>>2]=Mk(r)|0;a3(a,96223,f)|0}t[n+4>>2]=0;t[n>>2]=0;xb(e,r,A,1,n);h=l;return}function xb(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;o=r+8|0;c=t[o>>2]|0;t[o>>2]=c+1;o=A+16|0;t[(t[(t[o>>2]|0)+112>>2]|0)+16+4>>2]=c;t[(t[(t[o>>2]|0)+112>>2]|0)+24>>2]=c;c=(i|0)==0;s=ek(e,A)|0;while(1){if(!s)break;i=t[s>>2]&3;n=t[((i|0)==2?s:s+-48|0)+40>>2]|0;if((n|0)==(A|0)){i=t[((i|0)==3?s:s+48|0)+40>>2]|0;n=t[(t[s+16>>2]|0)+120>>2]|0;if(!(t[n>>2]|0))t[n>>2]=-1}else{i=t[(t[s+16>>2]|0)+120>>2]|0;if(!(t[i>>2]|0)){t[i>>2]=1;i=n}else i=n}n=i+16|0;f=t[(t[n>>2]|0)+112>>2]|0;l=t[f+16+4>>2]|0;do{if(!l){t[f+8>>2]=A;Jb(a,s);xb(e,i,r,0,a);l=(t[(t[o>>2]|0)+112>>2]|0)+24|0;t[l>>2]=t[(t[(t[((t[l>>2]|0)<(t[(t[(t[n>>2]|0)+112>>2]|0)+24>>2]|0)?A:i)+16>>2]|0)+112>>2]|0)+24>>2];if((t[(t[(t[n>>2]|0)+112>>2]|0)+24>>2]|0)>=(t[(t[(t[o>>2]|0)+112>>2]|0)+16+4>>2]|0)){i=0;do{f=Hb(a)|0;n=(t[t[(t[f+16>>2]|0)+120>>2]>>2]|0)==1;n=t[((t[f>>2]&3|0)==((n?2:3)|0)?f:f+((n?-1:1)*48|0)|0)+40>>2]|0;if(!(t[(t[(t[n+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!i)i=Pb(e,r)|0;Xb(i,n)}}while((f|0)!=(s|0));if(i|0){if((t[(t[(t[o>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Fb(i)|0)>1:0)Xb(i,A);if(!c?(t[(t[(t[o>>2]|0)+112>>2]|0)+12>>2]|0)==(i|0):0){Vb(r,i);break}Mb(r,i)}}}else{n=t[(t[o>>2]|0)+112>>2]|0;if((t[n+8>>2]|0)!=(i|0)){f=n+24|0;n=t[f>>2]|0;t[f>>2]=(n|0)<(l|0)?n:l}}}while(0);s=Ak(e,s,A)|0}if(!c?(t[(t[(t[o>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){o=Pb(e,r)|0;Xb(o,A);Vb(r,o)}return}function Jb(e,A){e=e|0;A=A|0;t[(t[(t[A+16>>2]|0)+120>>2]|0)+4>>2]=t[e>>2];t[e>>2]=A;A=e+4|0;t[A>>2]=(t[A>>2]|0)+1;return}function Hb(e){e=e|0;var A=0,r=0,i=0;A=t[e>>2]|0;if(!A)ge(138394,96254,65,96266);r=e+4|0;i=t[r>>2]|0;if((i|0)>0){t[e>>2]=t[(t[(t[A+16>>2]|0)+120>>2]|0)+4>>2];t[r>>2]=i+-1;return A|0}else ge(96244,96254,61,96266);return 0}function Pb(e,A){e=e|0;A=A|0;return Wb(Sb(e,A)|0)|0}function Xb(e,A){e=e|0;A=A|0;hd(t[e+8>>2]|0,A,1)|0;t[(t[(t[A+16>>2]|0)+112>>2]|0)+12>>2]=e;return}function Sb(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=h;h=h+144|0;a=r;i=r+8|0;n=A+12|0;A=t[n>>2]|0;t[n>>2]=A+1;t[a>>2]=A;T4(i,96234,a)|0;A=Rv(e,i,1)|0;Sd(A,137483,280,1)|0;h=r;return A|0}function jb(e){e=e|0;var A=0,r=0;A=t[e+36>>2]|0;while(1){if(!A)break;r=t[A+4>>2]|0;jb(A);A=r}Yb(e);return}function Ub(e,A,r){e=e|0;A=A|0;r=r|0;Tb(e,A,+c[r+32>>3]);return}function Tb(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,n=0,f=0;i=A+36|0;a=0;while(1){i=t[i>>2]|0;if(!i)break;Tb(e,i,r);i=i+4|0;a=a+1|0}i=uh(e,A,r)|0;t[A+32>>2]=i;e=sh(i)|0;if((a|0)>0)r=+Ob(a,e,i,A,r);else r=3.141592653589793;if((((e|0)==1?(n=t[A>>2]|0,n|0):0)?t[(t[(t[n+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(f=A+48|0,c[f>>3]=r,r<0.0):0)c[f>>3]=r+6.283185307179586;return}function Ob(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;var n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+48|0;g=p;m=KF(e*56|0)|0;t[g+40>>2]=t[i+36>>2];w=i+16|0;l=+c[w>>3];k=g+8|0;c[k>>3]=l;c[g>>3]=l;t[g+44>>2]=t[i>>2];l=6.283185307179586/+(A|0);c[g+16>>3]=l;d=g+24|0;c[d>>3]=-1.0;v=g+32|0;c[v>>3]=-1.0;s=0;b=0;n=0.0;while(1){f=t[r>>2]|0;if(!f)break;r=t[f>>2]|0;if(!(t[(t[(t[r+16>>2]|0)+112>>2]|0)+4>>2]&8))r=b;else{u=m+(b*56|0)|0;t[u>>2]=r;c[m+(b*56|0)+8>>3]=l*+(s|0);r=b+1|0;n=+_b(u,g,a)}s=s+1|0;b=r;r=f+4|0}e:do{switch(b|0){case 1:{c[m+40>>3]=1.0;r=0;break}case 2:{l=+c[m+64>>3]-+c[m+8>>3];qb(m,m+56|0,l>3.141592653589793?6.283185307179586-l:l);r=0;break}default:{u=m+8|0;o=m;r=0;while(1){if((r|0)>=(b|0)){r=0;break e}r=r+1|0;if((r|0)==(b|0)){f=m;l=+c[u>>3]+6.283185307179586-+c[o+8>>3];s=o+56|0}else{s=o+56|0;f=s;l=+c[o+64>>3]-+c[o+8>>3]}qb(o,f,l);o=s}}}}while(0);while(1){if((r|0)>=(b|0))break;Kb(m+(r*56|0)|0,g,A,a);r=r+1|0}G2(m);if((e|0)==1){a=n+a*.5;$b(i,-a,0.0,0.0);c[w>>3]=+c[w>>3]+a;m=i+56|0;t[m>>2]=t[m>>2]|1}else c[w>>3]=+c[k>>3];h=p;return+((+c[v>>3]+ +c[d>>3])*.5+-3.141592653589793)}function _b(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0.0,n=0.0,f=0,l=0,s=0.0;f=0;a=0.0;n=0.0;i=A+40|0;while(1){l=t[i>>2]|0;if(!l)break;i=t[l>>2]|0;if(!i)i=0;else i=t[(t[(t[i+16>>2]|0)+112>>2]|0)+8>>2]|0;if((i|0)==(t[e>>2]|0)){s=+c[l+16>>3];i=f+1|0;a=a+r+s*2.0;n=n>3]=a;t[e+48>>2]=f;c[e+16>>3]=n+r+ +c[A>>3];c[e+24>>3]=n;return+n}function qb(e,A,r){e=e|0;A=A|0;r=+r;var i=0.0,a=0.0;a=+c[A+16>>3];i=+c[e+16>>3];r=(i*+c[A+32>>3]+a*+c[e+32>>3])/(r*2.0*a*i);r=r<1.0?1.0:r;e=e+40|0;if(r>+c[e>>3])c[e>>3]=r;e=A+40|0;if(r>+c[e>>3])c[e>>3]=r;return}function Kb(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0.0,n=0.0,f=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0,h=0,w=0.0,k=0.0,d=0,v=0,g=0,m=0.0,p=0.0,E=0,B=0,y=0.0,C=0,I=0,Z=0,G=0,L=0.0,Q=0.0;C=A+8|0;y=+c[C>>3];I=A+24|0;s=+c[I>>3];Z=A+32|0;l=+c[Z>>3];a=+c[e+16>>3]*+c[e+40>>3];B=(r|0)==1;if(B){p=+c[e+32>>3];n=p*.15915494309189535;n=a>n?a:n;a=n*6.283185307179586-p;if(a>0.0){i=a/+(t[e+48>>2]|0)+i;o=0.0;a=n}else{o=0.0;a=n}}else o=+c[e+8>>3]-+c[e+32>>3]/(a*2.0);k=+c[e+24>>3]+a;d=k>y;v=e+48|0;g=((t[v>>2]|0)+1|0)/2|0;m=1.0/a;p=i/a*.5;E=e+8|0;b=A+40|0;h=0;w=0.0;n=o;while(1){b=t[b>>2]|0;if(!b)break;f=t[b>>2]|0;if(!f)f=0;else f=t[(t[(t[f+16>>2]|0)+112>>2]|0)+8>>2]|0;if((f|0)==(t[e>>2]|0)?(sh(t[b+32>>2]|0)|0)>=1:0){o=+c[b+16>>3];u=o*m;do{if(!B)if((t[v>>2]|0)==1){n=+c[E>>3];break}else{n=n+p+u;break}else{if(n!=0.0)n=(t[v>>2]|0)==2?3.141592653589793:u+n;l=n;s=s<0.0?n:s}}while(0);Q=+W(+n)*a;L=+Y(+n)*a;$b(b,Q,L,+eh(b,Q,L,n));n=(B?(o+i)*m:u+p)+n;h=h+1|0;f=h;o=(h|0)==(g|0)?n:w}else{f=h;o=w}b=b+4|0;h=f;w=o}a=d?k:y;if((r|0)>1?(G=t[e>>2]|0,(G|0)==(t[A+44>>2]|0)):0)c[(t[(t[G+16>>2]|0)+112>>2]|0)+24>>3]=w;c[C>>3]=a;c[I>>3]=s;c[Z>>3]=l;return}function $b(e,A,r,i){e=e|0;A=+A;r=+r;i=+i;var a=0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0.0,w=0.0;u=t[e+8>>2]|0;b=i!=0.0;a=sd(u)|0;while(1){if(!a)break;s=t[(t[a+16>>2]|0)+132>>2]|0;f=+c[s>>3];o=s+8|0;n=+c[o>>3];if(b){h=+W(+i);w=+Y(+i);l=h*f-w*n;n=w*f+h*n}else l=f;c[s>>3]=l+A;c[o>>3]=n+r;a=cd(u,a)|0}a=e+36|0;while(1){a=t[a>>2]|0;if(!a)break;$b(a,A,r,i);a=a+4|0}return}function eh(e,A,r,i){e=e|0;A=+A;r=+r;i=+i;var a=0.0,n=0,f=0,l=0.0,s=0.0,o=0,u=0,b=0,h=0;u=t[e+8>>2]|0;a=+c[e+48>>3];do{if(!(a>=0.0)){if((sh(t[e+32>>2]|0)|0)==2){a=i+-1.5707963267948966;break}o=t[e>>2]|0;b=o+16|0;f=t[(t[b>>2]|0)+132>>2]|0;a=+c[f>>3]+A;s=+c[f+8>>3]+r;a=s*s+a*a;f=sd(u)|0;n=o;while(1){if(!f)break;if((f|0)!=(o|0)?(h=t[(t[f+16>>2]|0)+132>>2]|0,l=+c[h>>3]+A,s=+c[h+8>>3]+r,l=s*s+l*l,l>3];s=+c[e+16>>3]-l;n=t[b>>2]|0;f=t[n+132>>2]|0;a=+c[f>>3];if(a>-s?(t[e+56>>2]&1|0)!=0:0){r=+D(+(r*r+A*A));A=+R(+ +c[f+8>>3],+(a+s));a=+W(+A);a=i+1.5707963267948966-A-+V(+((s-l/a)/r*a));break}else{a=+R(+ +c[f+8>>3],+a);a=i+3.141592653589793-a-+c[(t[n+112>>2]|0)+24>>3];a=a>6.283185307179586?a+-6.283185307179586:a;break}}else a=0.0}else{a=3.141592653589793-a+i;a=a<0.0?a+6.283185307179586:a}}while(0);return+a}function Ah(){return KF(12)|0}function rh(e){e=e|0;var A=0,r=0;if(e|0){A=t[e>>2]|0;while(1){if(!A)break;r=t[A+4>>2]|0;G2(A);A=r}G2(e)}return}function ih(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=ah(r)|0;r=e+8|0;t[r>>2]=(t[r>>2]|0)+1;r=e+4|0;i=t[r>>2]|0;if((A|0)==0|(i|0)==(A|0)){t[(i|0?i+4|0:e)>>2]=a;t[a+8>>2]=i;i=0}else{i=A+4|0;r=t[i>>2]|0;t[i>>2]=a;t[a+8>>2]=A;i=r;r=r+8|0}t[r>>2]=a;t[a+4>>2]=i;return}function ah(e){e=e|0;var A=0;A=KF(12)|0;t[A>>2]=e;return A|0}function th(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;A=t[e>>2]|0;r=A;while(1){if(!A)break;n=A+4|0;i=t[n>>2]|0;a=A+8|0;t[n>>2]=t[a>>2];t[a>>2]=i;A=i}a=e+4|0;n=t[a>>2]|0;t[a>>2]=r;t[e>>2]=n;return e|0}function nh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[e>>2]|0;if((r|0)!=(A|0)){a=A+8|0;i=t[a>>2]|0;t[e>>2]=A;t[a>>2]=0;A=e+4|0;e=t[A>>2]|0;t[e+4>>2]=r;t[r+8>>2]=e;t[A>>2]=i;t[i+4>>2]=0}return}function fh(e){e=e|0;var A=0,r=0,i=0;r=Ah()|0;i=r+4|0;A=0;while(1){e=t[e>>2]|0;if(!e)break;ih(r,A,t[e>>2]|0);A=t[i>>2]|0;e=e+4|0}return r|0}function lh(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;a=e;while(1){s=t[a>>2]|0;if(!s){c=6;break}if((t[s>>2]|0)==(A|0))break;a=s+4|0}if((c|0)==6)ge(96270,96277,217,96288);l=s+8|0;a=t[l>>2]|0;n=s+4|0;A=t[n>>2]|0;t[(a|0?a+4|0:e)>>2]=A;f=e+4|0;t[(A|0?A+8|0:f)>>2]=a;A=0;a=e;while(1){a=t[a>>2]|0;if(!a)break;if((t[a>>2]|0)==(r|0)){c=9;break}A=a;a=a+4|0}if((c|0)==9){do{if(!i)if((a|0)==(t[e>>2]|0)){t[e>>2]=s;t[n>>2]=a;t[l>>2]=0;a=a+8|0;break}else{t[A+4>>2]=s;t[l>>2]=A;t[n>>2]=a;a=a+8|0;break}else if((a|0)==(t[f>>2]|0)){t[f>>2]=s;t[n>>2]=0;t[l>>2]=a;a=a+4|0;break}else{t[l>>2]=a;a=a+4|0;t[n>>2]=t[a>>2];t[(t[a>>2]|0)+8>>2]=s;break}}while(0);t[a>>2]=s}return}function sh(e){e=e|0;return t[e+8>>2]|0}function ch(e,A){e=e|0;A=A|0;oh(e,th(A)|0);G2(A);return}function oh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[A>>2]|0;if(r|0){i=e+4|0;a=t[i>>2]|0;t[a+4>>2]=r;t[r+8>>2]=a;t[i>>2]=t[A+4>>2];r=e+8|0;t[r>>2]=(t[r>>2]|0)+(t[A+8>>2]|0)}return}function uh(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0.0;u=t[A+8>>2]|0;bh(e,A);o=hh(u)|0;e=kh(wh(o)|0)|0;dh(u,e);u=vh(e,u)|0;e=sh(u)|0;l=+gh(u);s=(e|0)==1;a=+(e|0);f=a*.15915494309189535*(l+r);n=s?0.0:f;e=u;while(1){e=t[e>>2]|0;if(!e)break;if(t[(t[(t[(t[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){i=4;break}e=e+4|0}if((i|0)==4)nh(u,e);r=1.0/a;i=0;e=u;while(1){e=t[e>>2]|0;if(!e)break;b=(t[e>>2]|0)+16|0;t[(t[(t[b>>2]|0)+112>>2]|0)+16>>2]=i;c[(t[(t[b>>2]|0)+112>>2]|0)+24>>3]=0.0;a=6.283185307179586*r*+(i|0);h=+W(+a)*n;b=t[(t[b>>2]|0)+132>>2]|0;c[b>>3]=h;c[b+8>>3]=+Y(+a)*n;i=i+1|0;e=e+4|0}h=s?l*.5:f;c[A+16>>3]=h;c[A+24>>3]=h;c[A+48>>3]=-1.0;vk(o)|0;return u|0}function bh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=t[A+8>>2]|0;r=sd(a)|0;while(1){if(!r)break;i=Ow(e,r)|0;while(1){if(!i)break;if((t[(t[(t[(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(A|0))uk(a,i,1)|0;i=qw(e,i)|0}r=cd(a,r)|0}return}function hh(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;n=c;a=Ch(e,n)|0;n=t[n>>2]|0;l=gk(n)|0;f=Ih(n)|0;l=l+-3|0;i=0;while(1){if((i|0)>=(l|0))break;s=Fh(f)|0;r=ek(n,s)|0;while(1){if(!r)break;A=t[r>>2]&3;e=t[((A|0)==2?r:r+-48|0)+40>>2]|0;if((s|0)==(e|0))e=t[((A|0)==3?r:r+48|0)+40>>2]|0;Yh(f,e);r=Ak(n,r,s)|0}Zh(n,s,a);r=ek(n,s)|0;while(1){if(!r)break;A=t[r>>2]&3;e=t[((A|0)==2?r:r+-48|0)+40>>2]|0;if((s|0)==(e|0))e=t[((A|0)==3?r:r+48|0)+40>>2]|0;A=(t[e+16>>2]|0)+236|0;t[A>>2]=(t[A>>2]|0)+-1;Wh(f,e);r=Ak(n,r,s)|0}Ed(n,s)|0;i=i+1|0}vk(n)|0;zh(f);h=c;return a|0}function wh(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+144|0;A=a;i=a+8|0;r=t[46933]|0;t[46933]=r+1;t[A>>2]=r;T4(i,96303,A)|0;i=Rv(e,i,1)|0;Sd(i,137483,280,1)|0;A=sd(e)|0;while(1){if(!A)break;hd(i,A,1)|0;r=A+16|0;t[(t[(t[r>>2]|0)+112>>2]|0)+16+12>>2]=0;t[(t[(t[r>>2]|0)+112>>2]|0)+32>>2]=0;r=(t[(t[r>>2]|0)+112>>2]|0)+4|0;t[r>>2]=t[r>>2]&-2;A=cd(e,A)|0}A=sd(e)|0;while(1){if(!A)break;r=t[(t[A+16>>2]|0)+112>>2]|0;if(!(t[r+4>>2]&1)){t[r+16>>2]=0;yh(e,A,i)}A=cd(e,A)|0}h=a;return i|0}function kh(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if((gk(e)|0)!=1){r=sd(e)|0;while(1){if(!r)break;A=0;i=ek(e,r)|0;while(1){if(!i)break;A=A+1|0;i=Ak(e,i,r)|0}if((A|0)==1)Bh(r,r,0,0);r=cd(e,r)|0}A=0;a=0;r=sd(e)|0;while(1){if(!r)break;n=t[(t[r+16>>2]|0)+112>>2]|0;n=(t[n+32>>2]|0)+(t[n+16+12>>2]|0)|0;i=(n|0)>(A|0);A=i?n:A;a=i?r:a;r=cd(e,r)|0}A=Ah()|0;i=a+16|0;r=(t[(t[i>>2]|0)+112>>2]|0)+16+4|0;while(1){r=t[r>>2]|0;if((r|0)==(a|0))break;ih(A,0,r);r=t[(t[r+16>>2]|0)+112>>2]|0;n=r+4|0;t[n>>2]=t[n>>2]|16;r=r+16|0}ih(A,0,a);n=t[(t[i>>2]|0)+112>>2]|0;e=n+4|0;t[e>>2]=t[e>>2]|16;if(t[n+32>>2]|0){e=Ah()|0;r=(t[(t[i>>2]|0)+112>>2]|0)+24|0;while(1){r=t[r>>2]|0;if((r|0)==(a|0))break;ih(e,0,r);r=t[(t[r+16>>2]|0)+112>>2]|0;n=r+4|0;t[n>>2]=t[n>>2]|16;r=r+16|0}ch(A,e)}}else{A=Ah()|0;n=sd(e)|0;ih(A,0,n);n=(t[(t[n+16>>2]|0)+112>>2]|0)+4|0;t[n>>2]=t[n>>2]|16}return A|0}function dh(e,A){e=e|0;A=A|0;var r=0;r=sd(e)|0;while(1){if(!r)break;if(!(t[(t[(t[r+16>>2]|0)+112>>2]|0)+4>>2]&16))Eh(e,r,A);r=cd(e,r)|0}return}function vh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=h;h=h+16|0;a=n;r=mh(e,A)|0;t[a>>2]=r;e:do{if(r){i=0;while(1){if((i|0)>=10)break e;e=ph(e,A,a)|0;f=r;r=t[a>>2]|0;if((f|0)==(r|0)|(r|0)==0)break;else i=i+1|0}}}while(0);h=n;return e|0}function gh(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0;A=0.0;while(1){e=t[e>>2]|0;if(!e)break;a=t[(t[t[(t[(t[e>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;r=+c[a+32>>3];r=r>A?r:A;i=+c[a+40>>3];A=i>r?i:r;e=e+4|0}return+A}function mh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;c=Mh()|0;i=sd(A)|0;while(1){if(!i)break;r=Ow(A,i)|0;while(1){if(!r)break;t[t[(t[r+16>>2]|0)+120>>2]>>2]=0;r=qw(A,r)|0}i=cd(A,i)|0}s=1;r=0;while(1){f=t[e>>2]|0;if(!f)break;l=t[f>>2]|0;n=ek(A,l)|0;while(1){if(!n)break;a=n+16|0;if((t[t[(t[a>>2]|0)+120>>2]>>2]|0)>0){e=L5[t[c>>2]&63](c,0,128)|0;while(1){if(!e)break;i=t[e+8>>2]|0;if((t[t[(t[i+16>>2]|0)+120>>2]>>2]|0)>(t[t[(t[a>>2]|0)+120>>2]>>2]|0)?(o=t[i>>2]&3,(t[((o|0)==2?i:i+-48|0)+40>>2]|0)!=(l|0)):0)r=r+((t[((o|0)==3?i:i+48|0)+40>>2]|0)!=(l|0)&1)|0;e=L5[t[c>>2]&63](c,e,8)|0}Hh(c,n)}n=Ak(A,n,l)|0}i=ek(A,l)|0;while(1){if(!i)break;e=t[(t[i+16>>2]|0)+120>>2]|0;if(!(t[e>>2]|0)){t[e>>2]=s;Jh(c,i)}i=Ak(A,i,l)|0}e=f+4|0;s=s+1|0}xh(c);return r|0}function ph(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;i=t[r>>2]|0;c=sd(A)|0;e:while(1){if(!c)break;s=ek(A,c)|0;while(1){if(!s)break;n=t[s>>2]&3;a=t[((n|0)==3?s:s+48|0)+40>>2]|0;if((a|0)==(c|0))a=t[((n|0)==2?s:s+-48|0)+40>>2]|0;l=0;while(1){if((l|0)>=2)break;f=fh(e)|0;lh(e,c,a,l);n=mh(e,A)|0;if((n|0)<(i|0)){rh(f);if(!n){i=0;break e}else i=n}else{rh(e);e=f}l=l+1|0}s=Ak(A,s,c)|0}c=cd(A,c)|0}t[r>>2]=i;return e|0}function Eh(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=Ah()|0;i=Ow(e,A)|0;while(1){if(!i)break;a=i+-48|0;ih(f,0,t[((t[i>>2]&3|0)==2?i:a)+40>>2]|0);a=(t[(t[(t[((t[i>>2]&3|0)==2?i:a)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;t[a>>2]=t[a>>2]|32;i=qw(e,i)|0}i=Kw(e,A)|0;while(1){if(!i)break;a=i+48|0;ih(f,0,t[((t[i>>2]&3|0)==3?i:a)+40>>2]|0);a=(t[(t[(t[((t[i>>2]&3|0)==3?i:a)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;t[a>>2]=t[a>>2]|32;i=$w(e,i)|0}e:do{if((sh(f)|0)>1){a=r+4|0;e=r;while(1){i=t[e>>2]|0;if(!i){n=13;break e}e=i+4|0;if(!(t[(t[(t[(t[i>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(t[(t[(t[(t[t[((i|0)==(t[a>>2]|0)?r:e)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}ih(r,i,A)}else n=13}while(0);e:do{if((n|0)==13){A:do{if((sh(f)|0)>0){i=r;while(1){i=t[i>>2]|0;if(!i)break A;if(t[(t[(t[(t[i>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;i=i+4|0}ih(r,i,A);break e}}while(0);ih(r,0,A)}}while(0);i=f;while(1){i=t[i>>2]|0;if(!i)break;r=(t[(t[(t[i>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;t[r>>2]=t[r>>2]&-33;i=i+4|0}rh(f);return}function Bh(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;while(1){n=t[(t[(t[A+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!n)break;f=r+1|0;l=n+16|0;s=t[(t[l>>2]|0)+112>>2]|0;A=s+16|0;a=t[A+12>>2]|0;if(a){if((a|0)>(r|0)){c=11;break}A=t[A+4>>2]|0;a=A;if((A|0)==(i|0))A=s;else{r=s+24|0;if(!((t[s+32>>2]|0)!=0?(t[r>>2]|0)==(i|0):0))i=A;t[r>>2]=a;A=t[(t[l>>2]|0)+112>>2]|0;t[A+32>>2]=t[A+16+12>>2];A=t[(t[l>>2]|0)+112>>2]|0}A=A+16|0}t[A+4>>2]=e;t[(t[(t[l>>2]|0)+112>>2]|0)+16+12>>2]=f;A=n;r=f}if((c|0)==11?(t[s+32>>2]|0)<=(r|0):0){t[s+24>>2]=e;t[(t[(t[l>>2]|0)+112>>2]|0)+32>>2]=f}return}function yh(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=(t[(t[A+16>>2]|0)+112>>2]|0)+4|0;t[n>>2]=t[n>>2]|1;n=ek(e,A)|0;while(1){if(!n)break;a=t[n>>2]&3;i=t[((a|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)==(A|0))i=t[((a|0)==3?n:n+48|0)+40>>2]|0;a=i+16|0;if(!(t[(t[(t[a>>2]|0)+112>>2]|0)+4>>2]&1)){uk(r,n,1)|0;t[(t[(t[a>>2]|0)+112>>2]|0)+16>>2]=A;yh(e,i,r)}n=Ak(e,n,A)|0}return}function Ch(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;c=h;h=h+144|0;s=c+8|0;l=c;r=c+16|0;f=t[46934]|0;t[46934]=f+1;t[l>>2]=f;T4(r,96312,l)|0;l=Rv(e,r,1)|0;Sd(l,137483,280,1)|0;f=t[46934]|0;t[46934]=f+1;t[s>>2]=f;T4(r,96312,s)|0;f=e+24|0;i[s>>0]=i[f>>0]|0;i[s+1>>0]=i[f+1>>0]|0;i[s+2>>0]=i[f+2>>0]|0;i[s+3>>0]=i[f+3>>0]|0;s=hk(r,s,0)|0;r=sd(e)|0;while(1){if(!r)break;hd(l,r,1)|0;f=gd(s,Mk(r)|0,1)|0;Sd(f,137447,304,1)|0;t[(t[(t[r+16>>2]|0)+112>>2]|0)+16>>2]=f;r=cd(e,r)|0}a=sd(e)|0;while(1){if(!a)break;n=t[(t[(t[a+16>>2]|0)+112>>2]|0)+16>>2]|0;f=n+16|0;r=Ow(e,a)|0;while(1){if(!r)break;uk(l,r,1)|0;o=t[(t[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;u=lk(s,n,o,0,1)|0;Sd(u,137460,176,1)|0;t[(t[u+16>>2]|0)+116>>2]=r;u=(t[f>>2]|0)+236|0;t[u>>2]=(t[u>>2]|0)+1;o=(t[o+16>>2]|0)+236|0;t[o>>2]=(t[o>>2]|0)+1;r=qw(e,r)|0}a=cd(e,a)|0}t[A>>2]=s;h=c;return l|0}function Ih(e){e=e|0;var A=0,r=0;r=Gh()|0;A=sd(e)|0;while(1){if(!A)break;Wh(r,A);A=cd(e,A)|0}return r|0}function Zh(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;u=t[(t[A+16>>2]|0)+236>>2]|0;w=u<<2;h=$F(w)|0;w=$F(w)|0;l=0;o=ek(e,A)|0;b=0;a=0;while(1){if(!o)break;i=t[o>>2]&3;n=t[((i|0)==2?o:o+-48|0)+40>>2]|0;if((n|0)==(A|0))n=t[((i|0)==3?o:o+48|0)+40>>2]|0;f=0;c=ek(e,A)|0;s=l;while(1){if(!c)break;if((c|0)!=(o|0)){l=t[c>>2]&3;i=t[((l|0)==2?c:c+-48|0)+40>>2]|0;if((i|0)==(A|0))i=t[((l|0)==3?c:c+48|0)+40>>2]|0;l=lk(e,n,i,0,0)|0;if(l)if(n>>>0>>0){i=s+1|0;f=l+16|0;l=t[(t[f>>2]|0)+116>>2]|0;if(!l)f=1;else{Ed(r,l)|0;t[(t[f>>2]|0)+116>>2]=0;f=1}}else{f=1;i=s}else i=s}else i=s;c=Ak(e,c,A)|0;s=i}if(!f){t[w+(b<<2)>>2]=n;i=b+1|0}else{t[h+(a<<2)>>2]=n;i=b;a=a+1|0}l=s;o=Ak(e,o,A)|0;b=i}i=u+-1-l|0;e:do{if((i|0)>0){if((i|0)<(b|0))n=0;else{if((i|0)!=(b|0))break;a=t[h>>2]|0;n=a+16|0;i=0;while(1){if((i|0)>=(b|0))break e;u=t[w+(i<<2)>>2]|0;Sd(lk(e,a,u,0,1)|0,137460,176,1)|0;r=(t[n>>2]|0)+236|0;t[r>>2]=(t[r>>2]|0)+1;u=(t[u+16>>2]|0)+236|0;t[u>>2]=(t[u>>2]|0)+1;i=i+1|0}}while(1){if((n|0)>=(b|0)){a=2;break}a=n|1;if((a|0)>=(b|0)){a=2;break}r=t[w+(n<<2)>>2]|0;u=t[w+(a<<2)>>2]|0;Sd(lk(e,r,u,0,1)|0,137460,176,1)|0;r=(t[r+16>>2]|0)+236|0;t[r>>2]=(t[r>>2]|0)+1;u=(t[u+16>>2]|0)+236|0;t[u>>2]=(t[u>>2]|0)+1;n=n+2|0;i=i+-1|0}while(1){if((i|0)<=0)break e;u=t[w>>2]|0;b=t[w+(a<<2)>>2]|0;Sd(lk(e,u,b,0,1)|0,137460,176,1)|0;u=(t[u+16>>2]|0)+236|0;t[u>>2]=(t[u>>2]|0)+1;b=(t[b+16>>2]|0)+236|0;t[b>>2]=(t[b>>2]|0)+1;a=a+1|0;i=i+-1|0}}}while(0);G2(w);G2(h);return}function Gh(){return Uh(18240,t[4581]|0)|0}function Lh(e,A,r){e=e|0;A=A|0;r=r|0;r=$F(16)|0;t[r+12>>2]=0;t[r+8>>2]=t[A+8>>2];return r|0}function Qh(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function Dh(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=t[A>>2]|0;i=t[r>>2]|0;return((A|0)<(i|0)?-1:(A|0)>(i|0)&1)|0}function zh(e){e=e|0;Ph(e)|0;return}function Wh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+16|0;a=r;i=A+16|0;t[a+8>>2]=t[(t[i>>2]|0)+236>>2];e=(L5[t[e>>2]&63](e,a,1)|0)+12|0;t[(t[i>>2]|0)+164>>2]=t[e>>2];t[e>>2]=A;h=r;return}function Yh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;a=A+16|0;t[n+8>>2]=t[(t[a>>2]|0)+236>>2];n=L5[t[e>>2]&63](e,n,4)|0;if(!n)ge(96322,96325,107,96335);i=n+12|0;r=t[i>>2]|0;if((r|0)==(A|0)){A=t[(t[a>>2]|0)+164>>2]|0;t[i>>2]=A;if(!A)L5[t[e>>2]&63](e,n,2)|0}else{do{e=(t[r+16>>2]|0)+164|0;r=t[e>>2]|0;i=(r|0)!=0}while(i&(r|0)!=(A|0));if(i)t[e>>2]=t[(t[r+16>>2]|0)+164>>2]}h=f;return}function Fh(e){e=e|0;var A=0,r=0,i=0,a=0;r=L5[t[e>>2]&63](e,0,128)|0;if(r){a=r+12|0;A=t[a>>2]|0;i=t[(t[A+16>>2]|0)+164>>2]|0;t[a>>2]=i;if(!i)L5[t[e>>2]&63](e,r,2)|0}else A=0;return A|0}function Mh(){return Uh(18276,t[4581]|0)|0}function Vh(e,A,r){e=e|0;A=A|0;r=r|0;r=$F(12)|0;t[r+8>>2]=t[A+8>>2];return r|0}function Nh(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function Rh(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=t[A>>2]|0;i=t[r>>2]|0;return(A>>>0>i>>>0?1:(A>>>0>>0)<<31>>31)|0}function xh(e){e=e|0;Ph(e)|0;return}function Jh(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i+8>>2]=A;L5[t[e>>2]&63](e,i,1)|0;h=r;return}function Hh(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i+8>>2]=A;L5[t[e>>2]&63](e,i,2)|0;h=r;return}function Ph(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;do{if((e|0)!=0?(t[e+24>>2]|0)<=0:0){f=t[e+4>>2]|0;n=f+32|0;A=t[n>>2]|0;if(A){A=Q5[A&127](e,2,0,f)|0;if((A|0)<0){A=-1;break}}else A=0;if(t[e+28>>2]|0)Kh(e,0)|0;a=(A|0)==0;if(a){L5[t[t[e+16>>2]>>2]&63](e,0,64)|0;if((Oh(e)|0)>0){A=-1;break}r=e+8|0;A=t[r>>2]|0;if((t[A+12>>2]|0)>0){i=e+12|0;Q5[t[i>>2]&127](e,t[A+8>>2]|0,0,f)|0;A=t[r>>2]|0}else i=e+12|0;Q5[t[i>>2]&127](e,A,0,f)|0}A=t[e+20>>2]|0;if(A){if(a&(A|0)==1)Q5[t[e+12>>2]&127](e,e,0,f)|0}else G2(e);A=t[n>>2]|0;if(!A)A=0;else{Q5[A&127](e,6,0,f)|0;A=0}}else A=-1}while(0);return A|0}function Xh(e){e=e|0;var A=0,r=0,i=0;i=e+8|0;A=t[i>>2]|0;r=t[A>>2]|0;e:do{if(!(r&12)){if(!(r&3)){r=A+8|0;e=t[r>>2]|0;t[r>>2]=0;break}e=Sh(e)|0;r=t[i>>2]|0;A=t[r+8>>2]|0;r=A+(t[r+12>>2]<<2)|0;while(1){if(A>>>0>=r>>>0)break e;t[A>>2]=0;A=A+4|0}}else e=t[A+4>>2]|0}while(0);i=t[i>>2]|0;t[i>>2]=t[i>>2]&-4097;t[i+16>>2]=0;t[i+4>>2]=0;return e|0}function Sh(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;n=e+8|0;e=t[n>>2]|0;A=t[e>>2]|0;if(!(A&4096)){e:do{if(!(A&3)){if(A&112|0){e=t[e+8>>2]|0;break}e=t[e+4>>2]|0;if(!e)e=0;else{while(1){A=e+4|0;r=t[A>>2]|0;if(!r){i=e;break}t[A>>2]=t[r>>2];t[r>>2]=e;e=r}while(1){A=t[i>>2]|0;if(!A)break e;r=t[A+4>>2]|0;if(!r){i=A;continue}while(1){t[A+4>>2]=t[r>>2];t[r>>2]=A;A=t[r+4>>2]|0;if(!A)break;else{a=r;r=A;A=a}}t[i>>2]=r;i=r}}}else{i=t[e+8>>2]|0;a=i+(t[e+12>>2]<<2)|0;A=0;e=0;while(1){if(i>>>0>=a>>>0)break e;r=t[i>>2]|0;if(r){if(!A){A=r;e=r}else t[A>>2]=r;while(1){r=t[A>>2]|0;if(!r)break;else A=r}t[i>>2]=A}i=i+4|0}}}while(0);n=t[n>>2]|0;t[n+4>>2]=e;t[n>>2]=t[n>>2]|4096}else e=t[e+4>>2]|0;return e|0}function jh(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0;v=e+8|0;if(t[t[v>>2]>>2]&4096|0)Th(e,0)|0;d=t[e+4>>2]|0;u=t[d>>2]|0;b=t[d+4>>2]|0;k=d+8|0;m=t[k>>2]|0;h=t[d+20>>2]|0;w=e+20|0;a=t[w>>2]&-32769;t[w>>2]=a;e:do{if(!A){if(r&384|0){a=t[v>>2]|0;i=t[a+8>>2]|0;if(!i){i=0;break}if(r&256){i=t[i+4>>2]|0;t[a+4>>2]=i;if(!i){i=0;break}}else t[a+4>>2]=i;if((m|0)<0){i=t[i+8>>2]|0;break}else{i=i+(0-m)|0;break}}if(r&4098|0){i=t[v>>2]|0;if(t[i>>2]&144|0){i=0;break}i=t[i+8>>2]|0;if(!i){i=0;break}else{f=i;g=84;break}}if(!(r&64))i=0;else{l=d+16|0;A:do{if((t[l>>2]|0)!=0|(m|0)<0){s=e+12|0;c=(m|0)<0;a=0-m|0;i=t[(t[v>>2]|0)+8>>2]|0;while(1){if(!i)break A;n=t[i>>2]|0;f=t[l>>2]|0;if(f|0){if(c)A=t[i+8>>2]|0;else A=i+a|0;V5[f&127](e,A,d)}if((t[k>>2]|0)>=0){i=n;continue}Q5[t[s>>2]&127](e,i,0,d)|0;i=n}}}while(0);i=t[v>>2]|0;t[i+4>>2]=0;t[i+8>>2]=0;t[(t[v>>2]|0)+16>>2]=0;i=0}}else{if(r&2049|0){n=d+12|0;i=t[n>>2]|0;f=(r&1|0)==0;if(!(f|(i|0)==0)){i=L5[i&63](e,A,d)|0;if(!i){i=0;break}else a=i}else a=A;do{if((m|0)>-1)f=a+m|0;else{i=Q5[t[e+12>>2]&127](e,0,12,d)|0;if(i|0){t[i+8>>2]=a;f=i;break}if(!(t[n>>2]|0)){i=0;break e}i=t[d+16>>2]|0;if(f|(i|0)==0){i=0;break e}V5[i&127](e,a,d);i=0;break e}}while(0);n=t[v>>2]|0;i=t[n>>2]|0;do{if(!(i&128)){if(!(i&16))if(!(i&32)){g=51;break}else{g=48;break}a=t[n+4>>2]|0;i=(a|0)!=0;if(!(r&8192)){if(!i){g=48;break}if((a|0)==(t[n+8>>2]|0)){g=48;break}d=a+4|0;e=t[d>>2]|0;t[f+4>>2]=e;t[e>>2]=f;t[f>>2]=a;t[d>>2]=f;break}else{if(!i){g=51;break}i=t[a>>2]|0;if(!i){g=51;break}t[f>>2]=i;t[i+4>>2]=f;t[f+4>>2]=a;t[a>>2]=f;break}}else if(!(r&8192))g=48;else g=51}while(0);if((g|0)==48){i=t[n+8>>2]|0;t[f>>2]=i;if(!i)i=f;else t[f+4>>2]=t[i+4>>2];t[i+4>>2]=f;t[(t[v>>2]|0)+8>>2]=f}else if((g|0)==51){a=n+8|0;i=t[a>>2]|0;if(!i){t[a>>2]=f;i=f}else{d=i+4|0;t[t[d>>2]>>2]=f;t[f+4>>2]=t[d>>2]}t[i+4>>2]=f;t[f>>2]=0}i=t[v>>2]|0;a=i+16|0;n=t[a>>2]|0;if((n|0)>-1)t[a>>2]=n+1;t[i+4>>2]=f;if((m|0)<0){i=t[f+8>>2]|0;break}else{i=f+(0-m)|0;break}}f=t[v>>2]|0;do{if(!(r&512)){i=t[f+4>>2]|0;if(i|0){if((m|0)<0)n=t[i+8>>2]|0;else n=i+(0-m)|0;if((n|0)==(A|0))break}i=A+u|0;if((b|0)<0){A=t[i>>2]|0;g=68}else{A=i;g=68}}else g=68}while(0);if((g|0)==68){n=(m|0)<0;l=(b|0)<0;s=(h|0)==0;c=(b|0)<1;o=0-m|0;i=f+8|0;do{i=t[i>>2]|0;if(!i){i=0;break e}if(n)a=t[i+8>>2]|0;else a=i+o|0;a=a+u|0;if(l)a=t[a>>2]|0;do{if(s)if(c){a=e1(A,a)|0;break}else{a=F4(A,a,b)|0;break}else a=Q5[h&127](e,A,a,d)|0}while(0)}while((a|0)!=0);a=t[w>>2]|0}t[w>>2]=a|32768;if(!(r&4098)){do{if(!(r&8)){a=t[v>>2]|0;if(!(r&16)){t[a+4>>2]=i;break}if((i|0)==(t[a+8>>2]|0)){t[a+4>>2]=0;i=0;break e}else{i=i+4|0;g=108;break}}else{a=t[v>>2]|0;g=108}}while(0);if((g|0)==108){i=t[i>>2]|0;t[a+4>>2]=i;if(!i){i=0;break}}if((m|0)<0){i=t[i+8>>2]|0;break}else{i=i+(0-m)|0;break}}else{f=i;g=84}}}while(0);if((g|0)==84){i=t[f>>2]|0;if(i){t[i+4>>2]=t[f+4>>2];i=t[f>>2]|0}a=(t[v>>2]|0)+8|0;n=t[a>>2]|0;if((f|0)==(n|0)){t[a>>2]=i;i=t[(t[v>>2]|0)+8>>2]|0;if(i|0)t[i+4>>2]=t[f+4>>2]}else{a=f+4|0;t[t[a>>2]>>2]=i;i=n+4|0;if((f|0)==(t[i>>2]|0))t[i>>2]=t[a>>2]}i=t[v>>2]|0;a=i+4|0;if((f|0)==(t[a>>2]|0))n=t[f>>2]|0;else n=0;t[a>>2]=n;g=i+16|0;t[g>>2]=(t[g>>2]|0)+-1;if((m|0)<0)i=t[f+8>>2]|0;else i=f+(0-m)|0;a=t[d+16>>2]|0;if(!((r&2|0)==0|(a|0)==0))V5[a&127](e,i,d);if((t[k>>2]|0)<0)Q5[t[e+12>>2]&127](e,f,0,d)|0}return i|0}function Uh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;n=s;e:do{if((e|0)!=0&(A|0)!=0?(a=Z2(40)|0,(a|0)!=0):0){t[a>>2]=0;t[a+16>>2]=0;t[a+4>>2]=0;Aw(a,e,0)|0;r=a+20|0;l=e+32|0;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;t[r+12>>2]=0;t[r+16>>2]=0;r=t[l>>2]|0;do{if(r){t[n>>2]=0;r=Q5[r&127](a,1,n,e)|0;if((r|0)>=0)if(r){i=t[n>>2]|0;if(i|0)if(!(t[A+4>>2]&t[i>>2])){r=a;f=12;break}else{r=a;break}r=e+28|0;if(!(t[r>>2]|0)){r=a;f=12}else{G2(a);i=Q5[t[r>>2]&127](0,0,40,e)|0;if(!i){r=0;break e}t[i>>2]=0;t[i+16>>2]=0;t[i+4>>2]=0;Aw(i,e,0)|0;t[i+20>>2]=1;t[i+24>>2]=0;t[i+32>>2]=0;t[i+28>>2]=0;r=i;a=i;f=11}}else{r=a;f=11}else{r=a;f=12}}else{r=a;f=11}}while(0);if((f|0)==11){i=Q5[t[r+12>>2]&127](r,0,28,e)|0;t[n>>2]=i;if(!i){r=a;f=12}else{t[i>>2]=t[A+4>>2];n=i+4|0;t[n>>2]=0;t[n+4>>2]=0;t[n+8>>2]=0;t[n+12>>2]=0;t[n+16>>2]=0;t[n+20>>2]=0}}if((f|0)==12){G2(r);r=0;break}t[r+8>>2]=i;t[r>>2]=t[A>>2];t[r+16>>2]=A;i=t[l>>2]|0;if(i)Q5[i&127](r,5,a,e)|0}else r=0}while(0);h=s;return r|0}function Th(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;a=t[t[e+16>>2]>>2]|0;s=e+8|0;n=t[s>>2]|0;f=t[n>>2]|0;r=f&4096;if(!A)if(!r)A=-1;else{i=r;A=t[n+4>>2]|0;l=5}else if(!(t[n+16>>2]|0)){i=0;l=5}else A=-1;e:do{if((l|0)==5){t[n>>2]=f&-4097;if(!(f&3)){r=n+4|0;if(!(f&12)){t[r>>2]=0;r=n+8|0}t[r>>2]=A;if(i|0){A=0;break}t[(t[s>>2]|0)+16>>2]=-1;A=0;break}t[n+4>>2]=0;if(!i){t[n+16>>2]=0;while(1){if(!A){A=0;break e}s=t[A>>2]|0;L5[a&63](e,A,32)|0;A=s}}i=t[n+8>>2]|0;e=i+(t[n+12>>2]<<2)|0;while(1){if(i>>>0>=e>>>0){A=0;break e}r=t[i>>2]|0;if(r){t[i>>2]=A;A=t[r>>2]|0;t[r>>2]=0}i=i+4|0}}}while(0);return A|0}function Oh(e){e=e|0;var A=0,r=0,i=0;A=e+8|0;r=t[A>>2]|0;if(t[r>>2]&4096){Th(e,0)|0;r=t[A>>2]|0}i=r+16|0;e=t[i>>2]|0;do{if((e|0)<0){A=t[r>>2]|0;if(A&12|0){e=_h(t[r+4>>2]|0)|0;t[i>>2]=e;break}if(A&112){e=0;A=r+8|0;while(1){A=t[A>>2]|0;if(!A)break;e=e+1|0}t[i>>2]=e}}}while(0);return e|0}function _h(e){e=e|0;var A=0;if(!e)return 0;else{A=_h(t[e+4>>2]|0)|0;return A+1+(_h(t[e>>2]|0)|0)|0}return 0}function qh(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0;z=h;h=h+128|0;C=z+120|0;d=z;D=e+8|0;i=t[D>>2]|0;if(t[i>>2]&4096){Th(e,0)|0;i=t[D>>2]|0}Q=t[e+4>>2]|0;I=t[Q>>2]|0;Z=t[Q+4>>2]|0;B=Q+8|0;L=t[B>>2]|0;G=t[Q+20>>2]|0;g=e+20|0;t[g>>2]=t[g>>2]&-32769;f=t[i+4>>2]|0;e:do{if(!A)if((r&448|0)==0|(f|0)==0)i=0;else{if(!(r&64)){A:do{if(!(r&256)){i=f;while(1){a=i+4|0;n=t[a>>2]|0;if(!n)break A;t[a>>2]=t[n>>2];t[n>>2]=i;i=n}}else{i=f;while(1){a=t[i>>2]|0;if(!a)break A;e=a+4|0;t[i>>2]=t[e>>2];t[e>>2]=i;i=a}}}while(0);t[(t[D>>2]|0)+4>>2]=i;if((L|0)<0){i=t[i+8>>2]|0;break}else{i=i+(0-L)|0;break}}A=Q+16|0;if((t[A>>2]|0)!=0|(L|0)<0){s=e+12|0;c=(L|0)<0;l=0-L|0;i=f;do{f=i;while(1){i=f+4|0;a=t[i>>2]|0;if(!a)break;t[i>>2]=t[a>>2];t[a>>2]=f;f=a}i=t[f>>2]|0;a=t[A>>2]|0;if(a|0){if(c)n=t[f+8>>2]|0;else n=f+l|0;V5[a&127](e,n,Q)}if((t[B>>2]|0)<0)Q5[t[s>>2]&127](e,f,0,Q)|0}while((i|0)!=0);i=t[D>>2]|0}t[i+16>>2]=0;t[i+4>>2]=0;i=0}else{y=e+16|0;m=(r&4098|0)==0;A:do{if(m|(t[(t[y>>2]|0)+4>>2]|0)!=8)p=45;else{c=(Z|0)<0;i=A+I|0;if(c)i=t[i>>2]|0;l=(G|0)==0;s=(Z|0)<1;n=L5[t[e>>2]&63](e,A,4)|0;while(1){if(!n){p=45;break A}a=n+I|0;if(c)a=t[a>>2]|0;do{if(l)if(s){a=e1(i,a)|0;break}else{a=F4(i,a,Z)|0;break}else a=Q5[G&127](e,i,a,Q)|0}while(0);if(a|0){p=45;break A}if((n|0)==(A|0))break;n=L5[t[e>>2]&63](e,n,8)|0}f=t[(t[D>>2]|0)+4>>2]|0;t[C>>2]=t[f+4>>2];t[C+4>>2]=t[f>>2];i=C;p=180}}while(0);A:do{if((p|0)==45){do{if(!(r&2565)){if(r&32|0){if((L|0)<0)n=t[A+8>>2]|0;else n=A+(0-L)|0;i=n+I|0;if((Z|0)<0)a=t[i>>2]|0;else a=i;if(!f){i=A;a=C;f=C;p=198;break}else{i=A;v=a;s=A;p=64;break}}if(f){if((L|0)<0)i=t[f+8>>2]|0;else i=f+(0-L)|0;if((i|0)!=(A|0)){a=A+I|0;if((Z|0)<0){n=A;i=0;v=t[a>>2]|0;s=0;p=64}else{n=A;i=0;v=a;s=0;p=64}}else{i=0;n=A;a=C;c=C;s=0;p=141}}else{i=0;n=A;a=C;f=C;p=198}}else{if(!(r&512)){i=A+I|0;if((Z|0)<0)a=t[i>>2]|0;else a=i}else a=A;if(!f){i=0;n=A;a=C;f=C;p=198}else{n=A;i=0;v=a;s=0;p=64}}}while(0);r:do{if((p|0)==64){i:do{if((t[(t[y>>2]|0)+4>>2]|0)==4?(k=t[(t[D>>2]|0)+24>>2]|0,!((r&516|0)==0|(k|0)==0)):0){A=(L|0)<0;o=(Z|0)<0;u=(G|0)==0;b=(Z|0)<1;w=0-L|0;c=0;a=f;while(1){if((c|0)>=(k|0)){a=C;c=C;o=0;break}if(A)l=t[a+8>>2]|0;else l=a+w|0;l=l+I|0;if(o)l=t[l>>2]|0;do{if(u)if(b){l=e1(v,l)|0;break}else{l=F4(v,l,Z)|0;break}else l=Q5[G&127](e,v,l,Q)|0}while(0);if(!l){p=80;break}t[d+(c<<2)>>2]=l;a=t[((l|0)<0?a+4|0:a)>>2]|0;if(!a){i=0;break e}else c=c+1|0}if((p|0)==80)if(A){i=t[a+8>>2]|0;break e}else{i=a+w|0;break e}while(1){if((o|0)>=(k|0))break i;do{if((t[d+(o<<2)>>2]|0)<0){l=f+4|0;A=t[l>>2]|0;if((t[d+((o|1)<<2)>>2]|0)<0){t[l>>2]=t[A>>2];t[A>>2]=f;t[a+4>>2]=A;a=A;f=c;l=A+4|0;break}else{t[c>>2]=A;t[a+4>>2]=f;a=f;f=A;l=A;break}}else{l=t[f>>2]|0;if((t[d+((o|1)<<2)>>2]|0)>0){w=l+4|0;t[f>>2]=t[w>>2];t[w>>2]=f;t[c>>2]=l;f=l;break}else{t[a+4>>2]=l;t[c>>2]=f;a=l;l=l+4|0;break}}}while(0);c=f;o=o+2|0;f=t[l>>2]|0}}else{a=C;c=C}}while(0);u=(L|0)<0;b=(Z|0)<0;w=(G|0)!=0;k=(Z|0)<1;d=0-L|0;l=f;i:while(1){f=l;while(1){if(u)l=t[f+8>>2]|0;else l=f+d|0;l=l+I|0;if(b)l=t[l>>2]|0;do{if(!w)if(k){l=e1(v,l)|0;break}else{l=F4(v,l,Z)|0;break}else l=Q5[G&127](e,v,l,Q)|0}while(0);if(!l){p=140;break i}if((l|0)>=0)break;A=f+4|0;o=t[A>>2]|0;if(!o){p=121;break i}if(u)l=t[o+8>>2]|0;else l=o+d|0;l=l+I|0;if(b)l=t[l>>2]|0;do{if(!w)if(k){l=e1(v,l)|0;break}else{l=F4(v,l,Z)|0;break}else l=Q5[G&127](e,v,l,Q)|0}while(0);if((l|0)>=0){p=118;break}t[A>>2]=t[o>>2];t[o>>2]=f;t[a+4>>2]=o;f=t[o+4>>2]|0;if(!f){a=o;f=c;p=198;break r}else a=o}if((p|0)==118){p=0;if(!l){p=119;break}t[c>>2]=o;t[a+4>>2]=f;l=t[o>>2]|0;if(!l){a=f;f=o;p=198;break r}else{a=f;c=o;continue}}A=t[f>>2]|0;if(!A){p=139;break}if(u)l=t[A+8>>2]|0;else l=A+d|0;l=l+I|0;if(b)l=t[l>>2]|0;do{if(!w)if(k){l=e1(v,l)|0;break}else{l=F4(v,l,Z)|0;break}else l=Q5[G&127](e,v,l,Q)|0}while(0);if((l|0)>0){l=A+4|0;t[f>>2]=t[l>>2];t[l>>2]=f;t[c>>2]=A;l=t[A>>2]|0;if(!l){f=A;p=198;break r}else{c=A;continue}}if(!l){p=137;break}t[a+4>>2]=A;t[c>>2]=f;l=t[A+4>>2]|0;if(!l){a=A;p=198;break r}else{a=A;c=f}}if((p|0)==119){t[a+4>>2]=f;a=f;f=o;p=141;break}else if((p|0)==121){t[a+4>>2]=f;a=f;f=c;p=198;break}else if((p|0)==137){t[c>>2]=f;c=f;f=A;p=141;break}else if((p|0)==139){t[c>>2]=f;p=198;break}else if((p|0)==140)if(!f){f=c;p=198;break}else{p=141;break}}}while(0);do{if((p|0)==141){t[g>>2]=t[g>>2]|32768;l=f+4|0;t[c>>2]=t[l>>2];t[a+4>>2]=t[f>>2];if(!(r&516)){if(r&8|0){t[l>>2]=t[C>>2];t[f>>2]=0;t[C>>2]=f;p=169;break}if(r&16|0){p=C+4|0;t[f>>2]=t[p>>2];t[l>>2]=0;t[p>>2]=f;p=175;break}if(!m){i=a;p=180;break A}if(r&2049|0){if(t[(t[y>>2]|0)+4>>2]&4|0){i=f;break}t[l>>2]=0;i=C+4|0;t[f>>2]=t[i>>2];t[i>>2]=f;i=f;p=205;break}if(!(r&32)){i=0;break e}if(!(t[(t[y>>2]|0)+4>>2]&4)){t[i+4>>2]=0;B=C+4|0;t[i>>2]=t[B>>2];t[B>>2]=s;i=(t[D>>2]|0)+16|0;t[i>>2]=(t[i>>2]|0)+1;i=f;break}i=t[Q+16>>2]|0;if(i|0)V5[i&127](e,n,Q);if((t[B>>2]|0)<0){Q5[t[e+12>>2]&127](e,s,0,Q)|0;i=f}else i=f}else i=f}else if((p|0)==198){t[a+4>>2]=0;t[f>>2]=0;if(!(r&8))if(!(r&16)){if(r&516|0){i=a;break A}if(!(r&2049)){if(!(r&32)){n=0;i=a;break A}B=(t[D>>2]|0)+16|0;t[B>>2]=(t[B>>2]|0)+1}else{i=0;p=205}}else p=175;else p=169}}while(0);if((p|0)==169){f=C+4|0;i=t[f>>2]|0;if(!i){i=a;break}while(1){a=i+4|0;n=t[a>>2]|0;if(!n)break;t[a>>2]=t[n>>2];t[n>>2]=i;i=n}t[f>>2]=t[i>>2]}else if((p|0)==175){i=t[C>>2]|0;if(!i){i=a;break}while(1){a=t[i>>2]|0;if(!a)break;B=a+4|0;t[i>>2]=t[B>>2];t[B>>2]=i;i=a}t[C>>2]=t[i+4>>2]}else if((p|0)==205){l=Q+12|0;f=t[l>>2]|0;s=(r&1|0)==0;if(!(s|(f|0)==0))n=L5[f&63](e,n,Q)|0;do{if(n){if((L|0)>-1){i=n+L|0;p=215;break}i=Q5[t[e+12>>2]&127](e,0,12,Q)|0;if(i|0){t[i+8>>2]=n;break}if((t[l>>2]|0)!=0?(E=t[Q+16>>2]|0,!(s|(E|0)==0)):0){V5[E&127](e,n,Q);p=215}else p=215}else p=215}while(0);if((p|0)==215)if(!i){i=a;break}a=(t[D>>2]|0)+16|0;n=t[a>>2]|0;if((n|0)>-1)t[a>>2]=n+1}t[i+4>>2]=t[C>>2];t[i>>2]=t[C+4>>2];r:do{if(!((r&516|0)==0?1:(t[(t[y>>2]|0)+4>>2]&8|0)==0)){o=(L|0)<0;if(o)a=t[i+8>>2]|0;else a=i+(0-L)|0;u=(Z|0)<0;a=a+I|0;if(u)a=t[a>>2]|0;s=(G|0)==0;c=(Z|0)<1;A=0-L|0;while(1){l=i+4|0;n=t[l>>2]|0;if(!n)break r;while(1){f=t[n>>2]|0;if(!f)break;C=f+4|0;t[n>>2]=t[C>>2];t[C>>2]=n;n=f}t[l>>2]=n;if(o)f=t[n+8>>2]|0;else f=n+A|0;f=f+I|0;if(u)f=t[f>>2]|0;do{if(s)if(c){f=e1(a,f)|0;break}else{f=F4(a,f,Z)|0;break}else f=Q5[G&127](e,a,f,Q)|0}while(0);if(f|0)break r;t[l>>2]=t[n>>2];t[n>>2]=i;i=n}}}while(0);t[(t[D>>2]|0)+4>>2]=i;if((L|0)<0){i=t[i+8>>2]|0;break e}else{i=i+(0-L)|0;break e}}}while(0);if((p|0)==180){if((L|0)<0)n=t[f+8>>2]|0;else n=f+(0-L)|0;a=t[Q+16>>2]|0;if(!((r&2|0)==0|(a|0)==0))V5[a&127](e,n,Q);if((t[B>>2]|0)<0)Q5[t[e+12>>2]&127](e,f,0,Q)|0;e=(t[D>>2]|0)+16|0;Q=t[e>>2]|0;t[e>>2]=(Q|0)<1?-1:Q+-1|0}do{a=i+4|0;i=t[a>>2]|0}while((i|0)!=0);t[a>>2]=t[C>>2];t[(t[D>>2]|0)+4>>2]=t[C+4>>2];i=r&2|0?n:0}}while(0);h=z;return i|0}function Kh(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;if(t[t[e+8>>2]>>2]&4096|0)Th(e,0)|0;a=(A|0)!=0;if(a){if(t[t[A+8>>2]>>2]&4096|0)Th(A,0)|0;if((t[A+16>>2]|0)==(t[e+16>>2]|0)){r=A;i=7}else A=0}else{r=0;i=7}e:do{if((i|0)==7){while(1){if(!r)break;if((r|0)==(e|0)){A=0;break e}r=t[r+28>>2]|0;i=7}r=e+28|0;i=t[r>>2]|0;if(i|0){n=i+24|0;t[n>>2]=(t[n>>2]|0)+-1}t[e+32>>2]=0;t[r>>2]=0;if(a){t[r>>2]=A;t[e>>2]=28;n=A+24|0;t[n>>2]=(t[n>>2]|0)+1;break}else{t[e>>2]=t[t[e+16>>2]>>2];A=i;break}}}while(0);return A|0}function $h(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;e:do{if(!(r&99)){if((r&516|0)==0?(i=t[(t[e+16>>2]|0)+4>>2]|0,!((r&384|0)!=0&(i&12|0)==0)):0){if(i&12|0){if(!(r&408)){i=0;break}h=(r&136|0)!=0;w=(r&272|0)!=0;o=0;a=0;i=0;b=e;while(1){if(!b)break;u=L5[t[t[b+16>>2]>>2]&63](b,A,r)|0;do{if(!u)n=o;else{f=t[b+4>>2]|0;l=t[f+4>>2]|0;s=t[f+20>>2]|0;n=u+(t[f>>2]|0)|0;if((l|0)<0)c=t[n>>2]|0;else c=n;if(i|0){do{if(!s)if((l|0)<1){n=e1(c,a)|0;break}else{n=F4(c,a,l)|0;break}else n=Q5[s&127](b,c,a,f)|0}while(0);if(!(h&(n|0)<0|w&(n|0)>0)){n=o;break}}n=b;a=c;i=u}}while(0);o=n;b=t[b+28>>2]|0}t[e+32>>2]=o;break}if(!(r&24)){i=0;break}s=e+32|0;a=t[s>>2]|0;if(a){i=t[(t[a+4>>2]|0)+8>>2]|0;n=t[(t[a+8>>2]|0)+4>>2]|0;if((i|0)<0)i=t[n+8>>2]|0;else i=n+(0-i)|0;if((i|0)==(A|0))i=A;else{a=e;f=32}}else{a=e;f=32}do{if((f|0)==32){while(1){if(!a){f=33;break}i=L5[t[t[a+16>>2]>>2]&63](a,A,4)|0;if(i|0){f=36;break}a=t[a+28>>2]|0;f=32}if((f|0)==33){t[s>>2]=0;i=0;break e}else if((f|0)==36){t[s>>2]=a;break}}}while(0);l=(r<<4&128^128)+128|0;i=L5[t[t[a+16>>2]>>2]&63](a,i,r)|0;while(1){f=a+16|0;while(1){if(!i)break;else n=e;while(1){if((n|0)==(a|0))break e;if(L5[t[t[n+16>>2]>>2]&63](n,i,4)|0)break;n=t[n+28>>2]|0}i=L5[t[t[f>>2]>>2]&63](a,i,r)|0}a=t[a+28>>2]|0;t[s>>2]=a;if(!a){i=0;break e}i=L5[t[t[a+16>>2]>>2]&63](a,0,l)|0}}else a=e;while(1){if(!a){a=0;i=0;break}i=L5[t[t[a+16>>2]>>2]&63](a,A,r)|0;if(i|0)break;a=t[a+28>>2]|0}t[e+32>>2]=a}else i=L5[t[t[e+16>>2]>>2]&63](e,A,r)|0}while(0);return i|0}function ew(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=e+32|0;a=L5[t[e>>2]&63](e,0,128)|0;do{if(!a){i=0;break}f=t[n>>2]|0;i=a;a=L5[t[e>>2]&63](e,a,8)|0;i=L5[A&63]((f|0)==0?e:f,i,r)|0}while((i|0)>=0);return i|0}function Aw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;a=e+4|0;b=t[a>>2]|0;e:do{if(b)if(A){u=t[t[e+16>>2]>>2]|0;n=e+8|0;if(t[t[n>>2]>>2]&4096|0)Th(e,0)|0;i=t[b+32>>2]|0;if(i|0?(Q5[i&127](e,3,A,b)|0)<0:0){A=0;break}t[a>>2]=A;i=t[A+28>>2]|0;t[e+12>>2]=(i|0)==0?52:i;i=t[t[n>>2]>>2]|0;if(!(i&112)){do{if(!(i&2))if(!(i&3))if(!(r&1))break;else{A=b;break e}else if((r&3|0)==3){A=b;break e}else break;else if(r&2|0){A=b;break e}}while(0);f=Sh(e)|0;i=t[n>>2]|0;o=t[i>>2]|0;t[i>>2]=o&-4097;t[i+4>>2]=0;t[i+16>>2]=0;A:do{if(o&3|0){o=t[i+8>>2]|0;a=o+(t[i+12>>2]<<2)|0;i=o;while(1){if(i>>>0>=a>>>0)break A;t[i>>2]=0;i=i+4|0}}}while(0);l=(r&2|0)==0;s=A+8|0;c=A+4|0;o=A+24|0;while(1){if(!f){A=b;break e}r=t[f>>2]|0;if(l){i=t[s>>2]|0;if((i|0)<0)i=t[f+8>>2]|0;else i=f+(0-i)|0;n=t[c>>2]|0;i=i+(t[A>>2]|0)|0;if((n|0)<0)i=t[i>>2]|0;a=t[o>>2]|0;if(!a)i=iw(0,i,n)|0;else i=L5[a&63](e,i,A)|0;t[f+4>>2]=i}L5[u&63](e,f,32)|0;f=r}}else A=b}else A=b;else{t[a>>2]=A;b=t[A+28>>2]|0;t[e+12>>2]=(b|0)==0?52:b}}while(0);return A|0}function rw(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=(r|0)==0;do{if(!A)if(e)e=0;else e=Z2(r)|0;else if(e){G2(A);e=0;break}else{e=Q2(A,r)|0;break}}while(0);return e|0}function iw(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0,f=0;t=A;if((r|0)>=1){f=A+r+-1|0;t=(f>>>0
            >>0?A:f)+(1-t)&-2;a=A;while(1){if(a>>>0>=f>>>0)break;e=P(((n[a>>0]|0)<<8)+e+(n[a+1>>0]|0)|0,17109811)|0;a=a+2|0}a=A+t|0;if(a>>>0>f>>>0)A=r;else{A=r;e=P(((n[a>>0]|0)<<8)+e|0,17109811)|0}}else{while(1){a=i[A>>0]|0;if(!(a<<24>>24))break;f=i[A+1>>0]|0;r=P(((a&255)<<8)+e+(f&255)|0,17109811)|0;e=r;A=A+(f<<24>>24?2:1)|0}A=A-t|0}return P(e+A|0,17109811)|0}function aw(e){e=e|0;var A=0;A=t[46935]|0;t[46935]=e;return A|0}function tw(e){e=e|0;var A=0;A=t[46936]|0;t[46936]=e;return A|0}function nw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=fw(e,A,a)|0;h=i;return r|0}function fw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;n=h;h=h+16|0;i=n;a=(e|0)==3;f=a?t[46938]|0:(e|0)==2?1:e;t[46938]=f;l=t[46939]|0;t[46939]=l>>>0>f>>>0?l:f;do{if(f>>>0<(t[46936]|0)>>>0){e=t[46937]|0;if(!e){e=c6()|0;t[46937]=e;if(!e){e=1;break}}if(!a){b6(e)|0;e=t[46937]|0}w4(e,A,r)|0;e=0}else{if(t[46935]|0){lw(e,A,r);e=0;break}if(a)e=t[15712]|0;else{l=t[15712]|0;t[i>>2]=(e|0)==1?96349:96355;a3(l,96363,i)|0;e=l}w4(e,A,r)|0;e=0}}while(0);h=n;return e|0}function lw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;if((t[46940]|0)==0?(a=Z2(t[4590]|0)|0,t[46940]=a,(a|0)==0):0)Z3(96368,t[15712]|0)|0;else i=4;do{if((i|0)==4){if((e|0)!=3){I5[t[46935]&63]((e|0)==1?96349:96355)|0;I5[t[46935]&63](97027)|0}while(1){e=h4(t[46940]|0,t[4590]|0,A,r)|0;i=t[4590]|0;if((e|0)>-1&(e|0)<(i|0)){i=7;break}i=i<<1;a=e+1|0;a=(i|0)>(a|0)?i:a;t[4590]=a;if(!(Q2(t[46940]|0,a)|0)){i=9;break}}if((i|0)==7){I5[t[46935]&63](t[46940]|0)|0;break}else if((i|0)==9){Z3(96368,t[15712]|0)|0;break}}}while(0);return}function sw(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;fw(1,e,i)|0;h=r;return}function cw(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;if(!r){r=(A|0)==0?1024:A;A=r;r=Z2(r)|0;a=1}else a=0;t[e+12>>2]=a;t[e>>2]=r;t[e+8>>2]=r+A;t[e+4>>2]=r;i[r>>0]=0;return}function ow(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;f=e+8|0;a=t[e>>2]|0;n=(t[f>>2]|0)-a|0;i=n<<1;n=n+A|0;i=n>>>0>i>>>0?n:i;n=e+4|0;A=a;a=(t[n>>2]|0)-a|0;r=e+12|0;if(!(t[r>>2]|0)){l=Z2(i)|0;Q6(l|0,A|0,a|0)|0;t[r>>2]=1;A=l}else A=Q2(A,i)|0;t[e>>2]=A;t[n>>2]=A+a;t[f>>2]=A+i;return 0}function uw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=e+4|0;i=t[a>>2]|0;if((i+r|0)>>>0>(t[e+8>>2]|0)>>>0){ow(e,r)|0;i=t[a>>2]|0}Q6(i|0,A|0,r|0)|0;t[a>>2]=(t[a>>2]|0)+r;return r|0}function bw(e,A){e=e|0;A=A|0;return uw(e,A,U2(A)|0)|0}function hw(e){e=e|0;if(t[e+12>>2]|0)G2(t[e>>2]|0);return}function ww(e){e=e|0;var A=0,r=0;A=e+4|0;r=t[A>>2]|0;if(r>>>0>(t[e>>2]|0)>>>0){t[A>>2]=r+-1;e=n[r>>0]|0}else e=-1;return e|0}function kw(e,A,r){e=e|0;A=A|0;r=r|0;fv(t[46942]|0,t[A+8>>2]|0)|0;fv(t[46942]|0,t[A+12>>2]|0)|0;ad(t[46942]|0,A);return}function dw(e,A){e=e|0;A=A|0;var r=0;r=Pd(e,96416,0)|0;if((A|0)!=0&(r|0)==0){vw(e);r=Pd(e,96416,0)|0}return r|0}function vw(e){e=e|0;var A=0,r=0,i=0;i=yd(e)|0;Zg(i,i,107,0,1)|0;r=sd(i)|0;while(1){if(!r)break;mw(e,r);A=Ow(i,r)|0;while(1){if(!A)break;pw(e,A);A=qw(i,A)|0}r=cd(i,r)|0}return}function gw(e){e=e|0;var A=0;A=e+24|0;i[A>>0]=i[A>>0]|64;Iw(e);A=Hv(e)|0;Bw((A|0)==0?e:A,e);return}function mw(e,A){e=e|0;A=A|0;var r=0;r=Ew(A)|0;if(!((r|0)!=0?(t[r+8>>2]|0)!=0:0))Bw(e,A);return}function pw(e,A){e=e|0;A=A|0;var r=0;r=Ew(A)|0;if(!((r|0)!=0?(t[r+8>>2]|0)!=0:0))Bw(e,A);return}function Ew(e){e=e|0;return Pd(e,96404,0)|0}function Bw(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=Sd(A,96404,16,0)|0;a=yw(e,t[A>>2]&3)|0;i=r+8|0;e:do{if(!(t[i>>2]|0)){e=yd(e)|0;t[i>>2]=yw(e,t[A>>2]&3)|0;e=Cw(A)|0;r=r+12|0;t[r>>2]=id(Bd(A)|0,((e|0)>4?e:4)<<2)|0;e=L5[t[a>>2]&63](a,0,128)|0;while(1){if(!e)break e;i=Bd(A)|0;i=tv(i,t[e+12>>2]|0)|0;t[(t[r>>2]|0)+(t[e+16>>2]<<2)>>2]=i;e=L5[t[a>>2]&63](a,e,8)|0}}}while(0);return}function yw(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;e=dw(e,0)|0;e:do{if(!e)e=0;else switch(A|0){case 0:{e=t[e+16>>2]|0;break e}case 1:{e=t[e+8>>2]|0;break e}case 2:case 3:{e=t[e+12>>2]|0;break e}default:{t[r>>2]=A;nw(1,96429,r)|0;e=0;break e}}}while(0);h=i;return e|0}function Cw(e){e=e|0;var A=0;A=yd(Bd(e)|0)|0;e=yw(A,t[e>>2]&3)|0;if(!e)e=0;else e=Oh(e)|0;return e|0}function Iw(e){e=e|0;var A=0,r=0,i=0,a=0;r=Sd(e,96416,20,0)|0;i=r+8|0;t[i>>2]=jv(e,18364,t[4589]|0)|0;a=r+12|0;t[a>>2]=jv(e,18364,t[4589]|0)|0;r=r+16|0;t[r>>2]=jv(e,18364,t[4589]|0)|0;A=Hv(e)|0;if(!A){A=t[46941]|0;if(!((A|0)==0|(A|0)==(e|0))){A=dw(A,0)|0;Zw(t[A+8>>2]|0,t[i>>2]|0,e,1);Zw(t[A+12>>2]|0,t[a>>2]|0,e,2);Zw(t[A+16>>2]|0,t[r>>2]|0,e,0)}}else{e=dw(A,0)|0;Kh(t[i>>2]|0,t[e+8>>2]|0)|0;Kh(t[a>>2]|0,t[e+12>>2]|0)|0;Kh(t[r>>2]|0,t[e+16>>2]|0)|0}return}function Zw(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;n=L5[t[e>>2]&63](e,0,128)|0;while(1){if(!n)break;f=Gw(r,t[n+8>>2]|0,t[n+12>>2]|0,t[n+16>>2]|0,a)|0;i[f+22>>0]=i[n+22>>0]|0;i[f+21>>0]=i[n+21>>0]|0;L5[t[A>>2]&63](A,f,1)|0;n=L5[t[e>>2]&63](e,n,8)|0}return}function Gw(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0;f=id(e,24)|0;i[f+20>>0]=n;t[f+8>>2]=tv(e,A)|0;t[f+12>>2]=tv(e,r)|0;t[f+16>>2]=a;return f|0}function Lw(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+32|0;i=r;t[i+8>>2]=A;A=L5[t[e>>2]&63](e,i,4)|0;h=r;return A|0}function Qw(e,A){e=e|0;A=A|0;var r=0;r=Kh(e,0)|0;A=Lw(e,A)|0;Kh(e,r)|0;return A|0}function Dw(e,A){e=e|0;A=A|0;e=Ew(e)|0;if(!e)e=0;else e=Lw(t[e+8>>2]|0,A)|0;return e|0}function zw(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;f=h;h=h+16|0;n=f;if(!e){e=t[46941]|0;if(!e){i[n>>0]=i[18400]|0;i[n+1>>0]=i[18401]|0;i[n+2>>0]=i[18402]|0;i[n+3>>0]=i[18403]|0;e=hk(0,n,0)|0;t[46941]=e}}if(!a)e=Yw(e,A,r)|0;else e=Ww(e,A,r,a)|0;h=f;return e|0}function Ww(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=yd(e)|0;dw(e,1)|0;n=yw(e,A)|0;a=Qw(n,r)|0;e:do{if(!a){a=Lw(n,r)|0;if(a|0){a=Gw(e,r,i,t[a+16>>2]|0,A)|0;L5[t[n>>2]&63](n,a,1)|0;f=16;break}n=yw(l,A)|0;a=Gw(e,r,i,Oh(n)|0,A)|0;L5[t[n>>2]&63](n,a,1)|0;switch(A|0){case 0:{Zg(l,l,57,a,1)|0;f=16;break e}case 1:{r=sd(l)|0;while(1){if(!r){f=16;break e}Fw(e,r,a);r=cd(l,r)|0}}case 2:case 3:{n=sd(l)|0;while(1){if(!n){f=16;break e}r=Ow(l,n)|0;while(1){if(!r)break;Fw(e,r,a);r=qw(l,r)|0}n=cd(l,n)|0}}default:break e}}else{f=a+12|0;fv(e,t[f>>2]|0)|0;t[f>>2]=tv(e,i)|0;f=16}}while(0);if((f|0)==16)if((A|0)==0&(a|0)!=0)Mw(e,a,i)|0;Zd(e,e,a);return a|0}function Yw(e,A,r){e=e|0;A=A|0;r=r|0;e=yw(e,A)|0;if(!e)e=0;else e=Lw(e,r)|0;return e|0}function Fw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;A=Ew(A)|0;a=r+16|0;i=t[a>>2]|0;if((i|0)>3){n=t[e+64>>2]|0;A=A+12|0;i=i<<2;t[A>>2]=Q5[t[(t[n>>2]|0)+8>>2]&127](t[n+12>>2]|0,t[A>>2]|0,i,i+4|0)|0}else A=A+12|0;n=tv(e,t[r+12>>2]|0)|0;t[(t[A>>2]|0)+(t[a>>2]<<2)>>2]=n;return}function Mw(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;f=Bd(e)|0;n=(Ew(e)|0)+12|0;l=A+16|0;fv(f,t[(t[n>>2]|0)+(t[l>>2]<<2)>>2]|0)|0;a=tv(f,r)|0;t[(t[n>>2]|0)+(t[l>>2]<<2)>>2]=a;do{if(!(t[e>>2]&3)){i=t[(dw(f,0)|0)+16>>2]|0;a=A+8|0;n=Qw(i,t[a>>2]|0)|0;if(!n){l=Gw(f,t[a>>2]|0,r,t[l>>2]|0,t[e>>2]&3)|0;L5[t[i>>2]&63](i,l,1)|0;break}else{l=n+12|0;fv(f,t[l>>2]|0)|0;t[l>>2]=tv(f,r)|0;break}}}while(0);Zd(f,e,A);return 0}function Vw(e,A,r){e=e|0;A=A|0;r=r|0;e=yw(e,A)|0;do{if(e){A=t[e>>2]|0;if(!r){e=L5[A&63](e,0,128)|0;break}else{e=L5[A&63](e,r,8)|0;break}}else e=0}while(0);return e|0}function Nw(e){e=e|0;var A=0;t[46942]=e;A=Ew(e)|0;if(A|0){Rw(e,A);Ud(e,t[A>>2]|0)|0}A=dw(e,0)|0;if(A)if(((Tv(e,t[A+8>>2]|0)|0)==0?(Tv(e,t[A+12>>2]|0)|0)==0:0)?(Tv(e,t[A+16>>2]|0)|0)==0:0){Ud(e,t[A>>2]|0)|0;A=0}else A=1;else A=0;return A|0}function Rw(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=Bd(e)|0;i=Cw(e)|0;A=A+12|0;e=0;while(1){r=t[A>>2]|0;if((e|0)>=(i|0))break;fv(a,t[r+(e<<2)>>2]|0)|0;e=e+1|0}ad(a,r);return}function xw(e){e=e|0;var A=0;A=Ew(e)|0;if(A|0){Rw(e,A);Ud(e,96404)|0}return}function Jw(e){e=e|0;var A=0;A=Ew(e)|0;if(A|0){Rw(e,A);Ud(e,96404)|0}return}function Hw(e,A){e=e|0;A=A|0;A=Dw(e,A)|0;if(!A)A=0;else{e=t[(Ew(e)|0)+12>>2]|0;A=t[e+(t[A+16>>2]<<2)>>2]|0}return A|0}function Pw(e,A){e=e|0;A=A|0;e=t[(Ew(e)|0)+12>>2]|0;return t[e+(t[A+16>>2]<<2)>>2]|0}function Xw(e,A,r){e=e|0;A=A|0;r=r|0;A=Dw(e,A)|0;if(!A)A=-1;else{Mw(e,A,r)|0;A=0}return A|0}function Sw(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=Bd(e)|0;a=zw(a,t[e>>2]&3,A,0)|0;if(!a){a=Bd(e)|0;a=zw(a,t[e>>2]&3,A,i)|0}Mw(e,a,r)|0;return 0}function jw(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=Bd(e)|0;a=t[e>>2]|0;e:do{if(!((t[A>>2]^a)&3)){r=1;i=0;while(1){i=Vw(n,a&3,i)|0;if(!i)break e;r=Dw(A,t[i+8>>2]|0)|0;if(!r){r=1;break e}a=Pw(e,i)|0;Mw(A,r,a)|0;if(lv(a)|0)sv(Pw(A,r)|0);r=0;a=t[e>>2]|0}}else r=1}while(0);return r|0}function Uw(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;e=t[A+40>>2]|0;a=t[r+40>>2]|0;if((e|0)==(a|0)){i=(t[A>>2]|0)>>>4;e=(t[r>>2]|0)>>>4;if(i>>>0>=e>>>0)if(i>>>0>e>>>0)e=1;else n=6;else e=-1}else{i=(t[e>>2]|0)>>>4;e=(t[a>>2]|0)>>>4;if(i>>>0>=e>>>0)if(i>>>0>e>>>0)e=1;else n=6;else e=-1}if((n|0)==6)e=0;return e|0}function Tw(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;e=(t[A+40>>2]|0)+8|0;n=t[e>>2]|0;e=t[e+4>>2]|0;a=(t[r+40>>2]|0)+8|0;i=t[a>>2]|0;a=t[a+4>>2]|0;do{if(!(e>>>0>>0|(e|0)==(a|0)&n>>>0>>0))if(e>>>0>a>>>0|(e|0)==(a|0)&n>>>0>i>>>0)e=1;else{i=A+8|0;e=t[i>>2]|0;i=t[i+4>>2]|0;if(!((e|0)==0&(i|0)==0)?(l=r+8|0,f=t[l>>2]|0,l=t[l+4>>2]|0,!((f|0)==0&(l|0)==0)):0){if(i>>>0>>0|(i|0)==(l|0)&e>>>0>>0){e=-1;break}if(i>>>0>l>>>0|(i|0)==(l|0)&e>>>0>f>>>0){e=1;break}}e=0}else e=-1}while(0);return e|0}function Ow(e,A){e=e|0;A=A|0;var r=0;A=_w(e,A)|0;if(!A)A=0;else{r=e+44|0;e=A+32|0;Th(t[r>>2]|0,t[e>>2]|0)|0;A=t[r>>2]|0;A=L5[t[A>>2]&63](A,0,128)|0;t[e>>2]=Xh(t[r>>2]|0)|0}return A|0}function _w(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+48|0;r=i;if((t[A+24>>2]|0)==(e|0))e=A+28|0;else{t[r+16>>2]=A;e=t[e+40>>2]|0;e=L5[t[e>>2]&63](e,r,4)|0}h=i;return e|0}function qw(e,A){e=e|0;A=A|0;var r=0,i=0;r=_w(e,t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;if(!r)e=0;else{i=e+44|0;r=r+32|0;Th(t[i>>2]|0,t[r>>2]|0)|0;e=t[i>>2]|0;e=L5[t[e>>2]&63](e,A,8)|0;t[r>>2]=Xh(t[i>>2]|0)|0}return e|0}function Kw(e,A){e=e|0;A=A|0;var r=0;A=_w(e,A)|0;if(!A)A=0;else{r=e+44|0;e=A+28|0;Th(t[r>>2]|0,t[e>>2]|0)|0;A=t[r>>2]|0;A=L5[t[A>>2]&63](A,0,128)|0;t[e>>2]=Xh(t[r>>2]|0)|0}return A|0}function $w(e,A){e=e|0;A=A|0;var r=0,i=0;r=_w(e,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;if(!r)e=0;else{i=e+44|0;r=r+28|0;Th(t[i>>2]|0,t[r>>2]|0)|0;e=t[i>>2]|0;e=L5[t[e>>2]&63](e,A,8)|0;t[r>>2]=Xh(t[i>>2]|0)|0}return e|0}function ek(e,A){e=e|0;A=A|0;var r=0;r=Ow(e,A)|0;if(!r)r=Kw(e,A)|0;return r|0}function Ak(e,A,r){e=e|0;A=A|0;r=r|0;e:do{if((t[A>>2]&3|0)==2){A=qw(e,A)|0;if(!A){A=0;do{if(!A)A=Kw(e,r)|0;else A=$w(e,A)|0;if(!A){A=0;break e}}while((t[A+40>>2]|0)==(r|0))}}else do{A=$w(e,A)|0;if(!A){A=0;break e}}while((t[A+40>>2]|0)==(r|0))}while(0);return A|0}function rk(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,f=0;f=h;h=h+32|0;i=f+16|0;a=f;if((Ck(e)|0)!=0?(t[a>>2]=0,t[a+4>>2]=0,t[a+8>>2]=0,t[a+12>>2]=0,t[i>>2]=t[a>>2],t[i+4>>2]=t[a+4>>2],t[i+8>>2]=t[a+8>>2],t[i+12>>2]=t[a+12>>2],(nk(e,A,r,i)|0)!=0):0)i=0;else i=((n[e+24>>0]|0)>>>2&1^1)&255|(A|0)!=(r|0);h=f;return i|0}function ik(e,A){e=e|0;A=A|0;tk(e,A);return}function ak(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0;hd(e,A,1)|0;hd(e,r,1)|0;f=id(e,96)|0;l=f+48|0;o=dk(e,2)|0;s=t[l>>2]|0;c=t[f>>2]|0;u=f+8|0;t[u>>2]=a;t[u+4>>2]=n;u=f+56|0;t[u>>2]=a;t[u+4>>2]=n;n=o<<4;t[f>>2]=c&12|n|2;t[l>>2]=s&12|n|3;t[f+88>>2]=A;t[f+40>>2]=r;tk(e,f);if(i[e+24>>0]&64){Sd(f,96404,16,0)|0;pw(e,f)}Cd(e,f);return f|0}function tk(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;l=h;h=h+16|0;r=l;f=t[A>>2]&3;n=(f|0)==2?A:A+-48|0;f=(f|0)==3?A:A+48|0;i=t[f+40>>2]|0;a=t[n+40>>2]|0;while(1){if(!e)break;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];if(nk(e,i,a,r)|0)break;s=_w(e,i)|0;o=e+44|0;fk(t[o>>2]|0,s+32|0,n);c=e+48|0;fk(t[c>>2]|0,s+24|0,n);s=_w(e,a)|0;fk(t[o>>2]|0,s+28|0,f);fk(t[c>>2]|0,s+20|0,f);e=Hv(e)|0}h=l;return}function nk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;f=h;h=h+48|0;a=f;if(!((A|0)==0|(r|0)==0)?(t[a>>2]=t[i>>2],t[a+4>>2]=t[i+4>>2],t[a+8>>2]=t[i+8>>2],t[a+12>>2]=t[i+12>>2],t[a+40>>2]=A,n=_w(e,r)|0,(n|0)!=0):0){i=e+48|0;n=n+20|0;Th(t[i>>2]|0,t[n>>2]|0)|0;e=t[i>>2]|0;e=L5[t[e>>2]&63](e,a,4)|0;t[n>>2]=Xh(t[i>>2]|0)|0}else e=0;h=f;return e|0}function fk(e,A,r){e=e|0;A=A|0;r=r|0;Th(e,t[A>>2]|0)|0;L5[t[e>>2]&63](e,r,1)|0;t[A>>2]=Xh(e)|0;return}function lk(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=h;h=h+48|0;l=u+24|0;c=u+16|0;s=u;do{if(!(Wk(e,2,i,c,0)|0))if(!i){if(a|0?(Ck(e)|0)==0:0){o=18;break}t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;o=7}else o=17;else{b=s;t[b>>2]=0;t[b+4>>2]=0;b=c;n=t[b+4>>2]|0;o=s+8|0;t[o>>2]=t[b>>2];t[o+4>>2]=n;t[s>>2]=2;o=7}}while(0);e:do{if((o|0)==7){t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];n=nk(e,A,r,l)|0;A:do{if(!n){if(yk(e)|0?(t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],t[l+8>>2]=t[s+8>>2],t[l+12>>2]=t[s+12>>2],f=nk(e,r,A,l)|0,f|0):0){n=f;break}do{if(a|0){n=yd(e)|0;t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];n=nk(n,A,r,l)|0;if(!n){if(!(yk(e)|0))break;n=yd(e)|0;t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];n=nk(n,r,A,l)|0;if(!n)break}ik(e,n);break A}}while(0);o=17;break e}}while(0)}}while(0);if((o|0)==17)if(!a)n=0;else o=18;if((o|0)==18)if((rk(e,A,r)|0)!=0?(Wk(e,2,i,c,1)|0)!=0:0){n=c;n=ak(e,A,r,t[n>>2]|0,t[n+4>>2]|0)|0;Vk(e,2,n)}else n=0;h=u;return n|0}function sk(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;r=(t[A>>2]&3|0)==3;n=r?A+-48|0:A;r=r?A:A+48|0;A=t[n+40>>2]|0;f=_w(e,t[r+40>>2]|0)|0;a=e+44|0;ck(t[a>>2]|0,f+32|0,n);i=e+48|0;ck(t[i>>2]|0,f+24|0,n);A=_w(e,A)|0;ck(t[a>>2]|0,A+28|0,r);ck(t[i>>2]|0,A+20|0,r);return}function ck(e,A,r){e=e|0;A=A|0;r=r|0;Th(e,t[A>>2]|0)|0;L5[t[e>>2]&63](e,r,2)|0;t[A>>2]=Xh(e)|0;return}function ok(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;r=h;h=h+16|0;a=r;A=(t[A>>2]&3|0)==2?A:A+-48|0;n=t[A>>2]&3;f=t[((n|0)==3?A:A+48|0)+40>>2]|0;n=t[((n|0)==2?A:A+-48|0)+40>>2]|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];if(nk(e,f,n,a)|0){if((yd(e)|0)==(e|0)){if(i[e+24>>0]&64)Jw(A);Ld(e,A);$d(A);f=A+8|0;Fk(e,2,t[f>>2]|0,t[f+4>>2]|0)}if(!(Zg(e,A,58,0,0)|0))if((yd(e)|0)==(e|0)){ad(e,A);A=0}else A=0;else A=-1}else A=-1;h=r;return A|0}function uk(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=h;h=h+16|0;i=f;a=hd(e,t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,r)|0;n=hd(e,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,r)|0;do{if((a|0)!=0&(n|0)!=0){t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];i=nk(e,a,n,i)|0;a=(i|0)==0;if(!((r|0)!=0&a)){if(a)break}else{tk(e,A);i=A}r=t[i>>2]&3;h=f;return((r|0)==(t[A>>2]&3|0)?i:i+(((r|0)==3?-1:1)*48|0)|0)|0}}while(0);h=f;return 0}function bk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=A+8|0;i=r+8|0;i=v6(t[A>>2]|0,t[A+4>>2]|0,t[i>>2]|0,t[i+4>>2]|0)|0;return((i|0)==0?0:i>>31|1)|0}function hk(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;f=h;h=h+16|0;n=f;s=wk(r)|0;a=Z5[t[(t[s>>2]|0)+4>>2]&127](t[s+12>>2]|0,72)|0;t[a>>2]=t[a>>2]&-4;l=a+64|0;t[l>>2]=s;c=a+24|0;A=t[A>>2]|0;t[c>>2]=A;i[c>>0]=A&255|8;t[a+60>>2]=a;r=Z5[t[t[s+4>>2]>>2]&127](a,r)|0;t[(t[l>>2]|0)+16>>2]=r;if(Wk(a,0,e,n,1)|0){l=n;s=t[l+4>>2]|0;c=a+8|0;t[c>>2]=t[l>>2];t[c+4>>2]=s}c=kk(a)|0;Vk(c,0,a);h=f;return c|0}function wk(e){e=e|0;var A=0,r=0,a=0,n=0;A=(e|0)!=0;if(A){r=t[e>>2]|0;r=(r|0)==0?18736:r}else r=18736;n=I5[t[r>>2]&63](e)|0;a=Z5[t[r+4>>2]&127](n,80)|0;t[a>>2]=r;t[a+12>>2]=n;if(A){n=t[e+4>>2]|0;t[a+4>>2]=(n|0)==0?18612:n;e=t[e+8>>2]|0;e=(e|0)==0?18712:e}else{t[a+4>>2]=18612;e=18712}t[a+8>>2]=e;i[a+52>>0]=1;return a|0}function kk(e){e=e|0;var A=0,r=0;t[e+36>>2]=jv(e,18792,t[4589]|0)|0;t[e+40>>2]=jv(e,18756,t[4589]|0)|0;A=(yd(e)|0)==(e|0);t[e+44>>2]=jv(e,A?18404:18440,t[4589]|0)|0;A=(yd(e)|0)==(e|0);t[e+48>>2]=jv(e,A?18476:18512,t[4589]|0)|0;t[e+52>>2]=jv(e,18548,t[4589]|0)|0;A=Hv(e)|0;if(!((A|0)!=0?(r=dk(A,0)|0,t[e>>2]=t[e>>2]&15|r<<4,r=t[A+52>>2]|0,L5[t[r>>2]&63](r,e,1)|0,!(i[A+24>>0]&64)):0))gw(e);Cd(e,e);return e|0}function dk(e,A){e=e|0;A=A|0;var r=0;r=(t[e+64>>2]|0)+24+(A<<3)|0;A=r;A=d6(t[A>>2]|0,t[A+4>>2]|0,1,0)|0;e=G;t[r>>2]=A;t[r+4>>2]=e;G=e;return A|0}function vk(e){e=e|0;var A=0,r=0,a=0,n=0;a=Hv(e)|0;n=(a|0)==0;if(n?(A=e+64|0,(t[(t[t[A>>2]>>2]|0)+16>>2]|0)!=0):0){Ld(e,e);n=e+8|0;Fk(e,0,t[n>>2]|0,t[n+4>>2]|0);A=t[A>>2]|0;F5[t[(t[A>>2]|0)+16>>2]&127](t[A+12>>2]|0);A=0}else r=4;do{if((r|0)==4){A=xv(e)|0;while(1){if(!A)break;r=Jv(A)|0;vk(A)|0;A=r}A=sd(e)|0;while(1){if(!A)break;r=cd(e,A)|0;pd(e,A)|0;A=r}jk(e);Ld(e,e);if(((((Tv(e,t[e+40>>2]|0)|0)==0?(Tv(e,t[e+36>>2]|0)|0)==0:0)?(Tv(e,t[e+48>>2]|0)|0)==0:0)?(Tv(e,t[e+44>>2]|0)|0)==0:0)?(Tv(e,t[e+52>>2]|0)|0)==0:0){if(i[e+24>>0]&64?Nw(e)|0:0){A=-1;break}$d(e);r=e+8|0;Fk(e,0,t[r>>2]|0,t[r+4>>2]|0);if(!n){Pv(a,e)|0;ad(a,e);A=0;break}A=e+64|0;while(1){r=t[A>>2]|0;a=t[r+48>>2]|0;if(!a)break;zd(e,t[a>>2]|0)|0}F5[t[(t[r+4>>2]|0)+20>>2]&127](t[r+16>>2]|0);if(!(ev(e)|0)){A=t[A>>2]|0;n=t[A+12>>2]|0;a=(t[A>>2]|0)+12|0;M5[t[a>>2]&63](n,e);M5[t[a>>2]&63](n,A);A=0}else A=-1}else A=-1}}while(0);return A|0}function gk(e){e=e|0;return Oh(t[e+40>>2]|0)|0}function mk(e){e=e|0;var A=0,r=0,i=0;A=0;r=sd(e)|0;while(1){if(!r)break;i=(pk(e,r,0,1)|0)+A|0;A=i;r=cd(e,r)|0}return A|0}function pk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=_w(e,A)|0;if(a){if(!i)A=0;else A=Ek(t[e+44>>2]|0,a+32|0)|0;if(r)A=(Ek(t[e+44>>2]|0,a+28|0)|0)+A|0}else A=0;return A|0}function Ek(e,A){e=e|0;A=A|0;var r=0;Th(e,t[A>>2]|0)|0;r=Oh(e)|0;t[A>>2]=Xh(e)|0;return r|0}function Bk(e){e=e|0;return i[e+24>>0]&1|0}function yk(e){e=e|0;return(Bk(e)|0)==0|0}function Ck(e){e=e|0;return(n[e+24>>0]|0)>>>1&1|0}function Ik(e,A){e=e|0;A=A|0;return e|0}function Zk(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;if(!r){a=1392;r=t[a>>2]|0;a=t[a+4>>2]|0;t[i>>2]=r;t[i+4>>2]=a;a=d6(r|0,a|0,2,0)|0;i=1392;t[i>>2]=a;t[i+4>>2]=G}else{if(!a)e=rv(e,r)|0;else e=tv(e,r)|0;t[i>>2]=e;t[i+4>>2]=0}return 1}function Gk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return 0}function Lk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;if((r&1|0)==0&0==0)fv(e,r)|0;return}function Qk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return((r&1|0)==0&0==0?r:0)|0}function Dk(e){e=e|0;return}function zk(e,A,r){e=e|0;A=A|0;r=r|0;return}function Wk(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0;l=(r|0)!=0;do{if(l){if((i[r>>0]|0)!=37?(f=t[e+64>>2]|0,f=D5[t[(t[f+4>>2]|0)+4>>2]&127](t[f+16>>2]|0,A,r,a,n)|0,f|0):0)break;f=Nk(e,A,r,a)|0;if(!f)s=5}else s=5}while(0);if((s|0)==5)if(n){f=t[e+64>>2]|0;f=D5[t[(t[f+4>>2]|0)+4>>2]&127](t[f+16>>2]|0,A,0,a,n)|0;if(l&(f|0)!=0){s=a;Rk(e,A,r,t[s>>2]|0,t[s+4>>2]|0)}}else f=0;return f|0}function Yk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[e+64>>2]|0;return Q5[t[(t[e+4>>2]|0)+8>>2]&127](t[e+16>>2]|0,A,r,i)|0}function Fk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;Xk(e,A,r,i)|0;e=t[e+64>>2]|0;R5[t[(t[e+4>>2]|0)+12>>2]&31](t[e+16>>2]|0,A,r,i);return}function Mk(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;r=Bd(e)|0;a=e+8|0;A=a;A=Hk(r,t[e>>2]&3,t[A>>2]|0,t[A+4>>2]|0)|0;do{if(!A){A=t[r+64>>2]|0;r=t[(t[A+4>>2]|0)+16>>2]|0;if(r|0?(i=a,i=Q5[r&127](t[A+16>>2]|0,t[e>>2]&3,t[i>>2]|0,t[i+4>>2]|0)|0,i|0):0){A=i;break}if((t[e>>2]&3|0)==2)A=0;else{i=t[a>>2]|0;a=t[a+4>>2]|0;t[n>>2]=37;A=n+8|0;t[A>>2]=i;t[A+4>>2]=a;T4(194773,96456,n)|0;A=194773}}}while(0);h=f;return A|0}function Vk(e,A,r){e=e|0;A=A|0;r=r|0;e=t[e+64>>2]|0;V5[t[(t[e+4>>2]|0)+24>>2]&127](t[e+16>>2]|0,A,r);return}function Nk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+32|0;f=l;A=t[(t[e+64>>2]|0)+56+(((A|0)==3?2:A)<<2)>>2]|0;if(((A|0)!=0?(a=rv(e,r)|0,(a|0)!=0):0)?(t[f+24>>2]=a,n=L5[t[A>>2]&63](A,f,4)|0,(n|0)!=0):0){r=n+16|0;f=t[r+4>>2]|0;A=i;t[A>>2]=t[r>>2];t[A+4>>2]=f;A=1}else A=0;h=l;return A|0}function Rk(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;f=id(e,32)|0;n=f+16|0;t[n>>2]=i;t[n+4>>2]=a;t[f+24>>2]=tv(e,r)|0;i=(A|0)==3?2:A;n=e+64|0;r=t[n>>2]|0;A=t[r+56+(i<<2)>>2]|0;if(!A){a=jv(e,18640,t[4589]|0)|0;t[(t[n>>2]|0)+56+(i<<2)>>2]=a;A=t[n>>2]|0}else{a=A;A=r}A=t[A+68+(i<<2)>>2]|0;if(!A){A=jv(e,18676,t[4589]|0)|0;t[(t[n>>2]|0)+68+(i<<2)>>2]=A}L5[t[a>>2]&63](a,f,1)|0;L5[t[A>>2]&63](A,f,1)|0;return}function xk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=A+16|0;A=t[e>>2]|0;e=t[e+4>>2]|0;r=r+16|0;i=t[r>>2]|0;r=t[r+4>>2]|0;return(e>>>0>r>>>0|(e|0)==(r|0)&A>>>0>i>>>0?1:(e>>>0>>0|(e|0)==(r|0)&A>>>0>>0)<<31>>31)|0}function Jk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=t[A+24>>2]|0;i=t[r+24>>2]|0;return(A>>>0>i>>>0?1:(A>>>0>>0)<<31>>31)|0}function Hk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=Pk(e,A,r,i)|0;if(!e)e=0;else e=t[e+24>>2]|0;return e|0}function Pk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=h;h=h+32|0;a=n;e=t[(t[e+64>>2]|0)+68+(((A|0)==3?2:A)<<2)>>2]|0;if(!e)e=0;else{A=a+16|0;t[A>>2]=r;t[A+4>>2]=i;e=L5[t[e>>2]&63](e,a,4)|0}h=n;return e|0}function Xk(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=(A|0)==3?2:A;A=Pk(e,a,r,i)|0;if(!A)A=0;else{i=e+64|0;r=t[(t[i>>2]|0)+56+(a<<2)>>2]|0;L5[t[r>>2]&63](r,A,2)|0;i=t[(t[i>>2]|0)+68+(a<<2)>>2]|0;L5[t[i>>2]&63](i,A,2)|0;fv(e,t[A+24>>2]|0)|0;ad(e,A);A=1}return A|0}function Sk(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;t[46942]=e;n=t[e+64>>2]|0;a=0;while(1){if((a|0)==3)break;f=n+56+(a<<2)|0;A=t[f>>2]|0;e:do{if(A|0){A=L5[t[A>>2]&63](A,0,128)|0;while(1){if(!A)break e;r=t[f>>2]|0;r=L5[t[r>>2]&63](r,A,8)|0;if((i[t[A+24>>2]>>0]|0)!=37){A=r;continue}l=A+16|0;Xk(e,a,t[l>>2]|0,t[l+4>>2]|0)|0;A=r}}}while(0);a=a+1|0}return}function jk(e){e=e|0;t[46942]=e;e=e+64|0;Uk((t[e>>2]|0)+56|0);Uk((t[e>>2]|0)+68|0);return}function Uk(e){e=e|0;var A=0,r=0,i=0;A=0;while(1){if((A|0)==3)break;r=e+(A<<2)|0;i=t[r>>2]|0;if(i|0){Ph(i)|0;t[r>>2]=0}A=A+1|0}return}function Tk(e,A,r){e=e|0;A=A|0;r=r|0;if(!(N4(A,r,e)|0))e=0;else e=U2(A)|0;return e|0}function Ok(e,A){e=e|0;A=A|0;return Z3(A,e)|0}function _k(e){e=e|0;return m3(e)|0}function qk(e){e=e|0;var A=0,r=0,i=0;A=h;h=h+32|0;i=A+12|0;r=A;t[4682]=t[4679];t[4683]=t[4680];t[i>>2]=e;t[i+4>>2]=U2(e)|0;t[i+8>>2]=0;t[r>>2]=18736;t[r+4>>2]=18612;t[r+8>>2]=18724;e=sm(i,r)|0;cv(0);h=A;return e|0}function Kk(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;if((r|0)!=0?(f=e+8|0,a=t[f>>2]|0,(a|0)<(t[e+4>>2]|0)):0){l=(t[e>>2]|0)+a|0;e=0;n=i[l>>0]|0;a=A;A=l;while(1){A=A+1|0;i[a>>0]=n;e=e+1|0;if(!(n<<24>>24!=10&(e|0)<(r|0)))break;n=i[A>>0]|0;if(!(n<<24>>24))break;else a=a+1|0}t[f>>2]=(t[f>>2]|0)+e}else e=0;return e|0}function $k(e){e=e|0;return 0}function ed(e,A){e=e|0;A=A|0;e=Z2(A)|0;z6(e|0,0,A|0)|0;return e|0}function Ad(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=Q2(A,i)|0;if(i>>>0>r>>>0)z6(e+r|0,0,i-r|0)|0;return e|0}function rd(e,A){e=e|0;A=A|0;G2(A);return}function id(e,A){e=e|0;A=A|0;var r=0;r=h;h=h+16|0;e=t[e+64>>2]|0;e=Z5[t[(t[e>>2]|0)+4>>2]&127](t[e+12>>2]|0,A)|0;if(!e)nw(1,96462,r)|0;h=r;return e|0}function ad(e,A){e=e|0;A=A|0;if(A|0){e=t[e+64>>2]|0;M5[t[(t[e>>2]|0)+12>>2]&63](t[e+12>>2]|0,A)}return}function td(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=(t[A+16>>2]|0)+8|0;A=t[e>>2]|0;e=t[e+4>>2]|0;r=(t[r+16>>2]|0)+8|0;i=t[r>>2]|0;r=t[r+4>>2]|0;return(e>>>0>>0|(e|0)==(r|0)&A>>>0>>0?-1:(e>>>0>r>>>0|(e|0)==(r|0)&A>>>0>i>>>0)&1)|0}function nd(e,A,r){e=e|0;A=A|0;r=r|0;e=t[A+16>>2]|0;if((e+28|0)!=(A|0))ad(t[e+24>>2]|0,A);return}function fd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;A=(t[t[A+16>>2]>>2]|0)>>>4;i=(t[t[r+16>>2]>>2]|0)>>>4;return(A>>>0>>0?-1:A>>>0>i>>>0&1)|0}function ld(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=186256;t[i>>2]=A;t[i+4>>2]=r;t[46947]=186248;e=t[e+40>>2]|0;e=L5[t[e>>2]&63](e,187772,4)|0;if(!e)e=0;else e=t[e+16>>2]|0;return e|0}function sd(e){e=e|0;e=t[e+36>>2]|0;e=L5[t[e>>2]&63](e,0,128)|0;if(!e)e=0;else e=t[e+16>>2]|0;return e|0}function cd(e,A){e=e|0;A=A|0;var r=0;A=_w(e,A)|0;if((A|0)!=0?(r=t[e+36>>2]|0,r=L5[t[r>>2]&63](r,A,8)|0,(r|0)!=0):0)A=t[r+16>>2]|0;else A=0;return A|0}function od(e){e=e|0;e=t[e+36>>2]|0;e=L5[t[e>>2]&63](e,0,256)|0;if(!e)e=0;else e=t[e+16>>2]|0;return e|0}function ud(e,A){e=e|0;A=A|0;var r=0;A=_w(e,A)|0;if((A|0)!=0?(r=t[e+36>>2]|0,r=L5[t[r>>2]&63](r,A,16)|0,(r|0)!=0):0)A=t[r+16>>2]|0;else A=0;return A|0}function bd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0;a=ld(e,A,r)|0;do{if((i|0)!=0&(a|0)==0){a=yd(e)|0;if((a|0)!=(e|0)?(t=ld(a,A,r)|0,t|0):0){hd(e,t,1)|0;a=t;break}if(!(Yk(e,1,A,r)|0))a=0;else{a=dk(e,1)|0;a=wd(e,A,r,a,G)|0;kd(e,a);dd(e,a)}}}while(0);return a|0}function hd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=yd(e)|0;if((i|0)==(t[A+24>>2]|0)){i=A+8|0;i=ld(e,t[i>>2]|0,t[i+4>>2]|0)|0;if((r|0)!=0&(i|0)==0){i=Hv(e)|0;if(!i)i=0;else{r=hd(i,A,r)|0;vd(e,r);return r|0}}}else i=0;return i|0}function wd(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0;n=id(e,64)|0;f=t[n>>2]|0;l=n+8|0;t[l>>2]=A;t[l+4>>2]=r;t[n>>2]=f&12|a<<4|1;t[n+24>>2]=yd(e)|0;if(i[(yd(e)|0)+24>>0]&64)Sd(n,96404,16,0)|0;return n|0}function kd(e,A){e=e|0;A=A|0;do{vd(e,A);e=Hv(e)|0}while((e|0)!=0);return}function dd(e,A){e=e|0;A=A|0;if(i[(yd(e)|0)+24>>0]&64)mw(e,A);Cd(e,A);return}function vd(e,A){e=e|0;A=A|0;var r=0,i=0;i=e+40|0;Oh(t[i>>2]|0)|0;if((yd(e)|0)==(e|0))r=A+28|0;else r=id(e,36)|0;t[r+16>>2]=A;i=t[i>>2]|0;L5[t[i>>2]&63](i,r,1)|0;i=t[e+36>>2]|0;L5[t[i>>2]&63](i,r,1)|0;return}function gd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;n=s;f=yd(e)|0;if(Wk(e,1,A,n,0)|0){i=n;i=ld(e,t[i>>2]|0,t[i+4>>2]|0)|0;if(!i)if(!((r|0)==0|(f|0)==(e|0))?(a=n,a=ld(f,t[a>>2]|0,t[a+4>>2]|0)|0,(a|0)!=0):0)i=hd(e,a,1)|0;else l=6}else l=6;if((l|0)==6)if((r|0)!=0?(Wk(e,1,A,n,1)|0)!=0:0){l=n;f=t[l>>2]|0;l=t[l+4>>2]|0;i=dk(e,1)|0;i=wd(e,f,l,i,G)|0;kd(e,i);dd(e,i);Vk(e,1,i)}else i=0;h=s;return i|0}function md(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;t[46956]=A;r=ek(e,A)|0;while(1){if(!r)break;i=Ak(e,r,A)|0;sk(e,r,0);r=i}i=t[e+40>>2]|0;L5[t[i>>2]&63](i,187808,2)|0;i=t[e+36>>2]|0;L5[t[i>>2]&63](i,187808,2)|0;return}function pd(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;a=A+8|0;r=a;if(ld(e,t[r>>2]|0,t[r+4>>2]|0)|0){if((yd(e)|0)==(e|0)){r=ek(e,A)|0;while(1){if(!r)break;n=Ak(e,r,A)|0;ok(e,r)|0;r=n}if(i[e+24>>0]&64)xw(A);Ld(e,A);$d(A);n=a;Fk(e,1,t[n>>2]|0,t[n+4>>2]|0)}if(!(Zg(e,A,59,0,0)|0))if((yd(e)|0)==(e|0)){ad(e,A);r=0}else r=0;else r=-1}else r=-1;return r|0}function Ed(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;i=f;r=t[A>>2]|0;do{if(!(r&3))if((Hv(A)|0)==(e|0)){r=t[A>>2]|0;n=5;break}else{nw(1,96488,i)|0;a=-1;break}else n=5}while(0);e:do{if((n|0)==5)switch(r&3){case 1:{a=pd(e,A)|0;break e}case 2:case 3:{a=ok(e,A)|0;break e}case 0:{a=vk(A)|0;break e}default:{}}}while(0);h=f;return a|0}function Bd(e){e=e|0;var A=0;switch(t[e>>2]&3){case 2:case 3:{A=t[(t[e+40>>2]|0)+24>>2]|0;break}case 1:{A=t[e+24>>2]|0;break}case 0:{A=e;break}default:{}}return A|0}function yd(e){e=e|0;var A=0;switch(t[e>>2]&3){case 2:case 3:{A=(t[e+40>>2]|0)+24|0;break}case 1:{A=e+24|0;break}case 0:{A=e+60|0;break}default:{}}return t[A>>2]|0}function Cd(e,A){e=e|0;A=A|0;var r=0;r=t[e+64>>2]|0;if(!(i[r+52>>0]|0))Fd(e,A,100,0);else Id(e,A,t[r+48>>2]|0);return}function Id(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;e:do{if(r|0){Id(e,A,t[r+8>>2]|0);switch(t[A>>2]&3){case 0:{i=t[r>>2]|0;break}case 1:{i=(t[r>>2]|0)+12|0;break}case 2:{i=(t[r>>2]|0)+24|0;break}default:break e}i=t[i>>2]|0;if(i|0)V5[i&127](e,A,t[r+4>>2]|0)}}while(0);return}function Zd(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;a=t[e+64>>2]|0;if(!(i[a+52>>0]|0))Fd(e,A,101,r);else Gd(e,A,r,t[a+48>>2]|0);return}function Gd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;e:do{if(i|0){Gd(e,A,r,t[i+8>>2]|0);switch(t[A>>2]&3){case 0:{a=(t[i>>2]|0)+4|0;break}case 1:{a=(t[i>>2]|0)+16|0;break}case 2:{a=(t[i>>2]|0)+28|0;break}default:break e}a=t[a>>2]|0;if(a|0)R5[a&31](e,A,t[i+4>>2]|0,r)}}while(0);return}function Ld(e,A){e=e|0;A=A|0;var r=0;r=t[e+64>>2]|0;if(!(i[r+52>>0]|0))Fd(e,A,102,0);else Qd(e,A,t[r+48>>2]|0);return}function Qd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;e:do{if(r|0){Qd(e,A,t[r+8>>2]|0);switch(t[A>>2]&3){case 0:{i=(t[r>>2]|0)+8|0;break}case 1:{i=(t[r>>2]|0)+20|0;break}case 2:{i=(t[r>>2]|0)+32|0;break}default:break e}i=t[i>>2]|0;if(i|0)V5[i&127](e,A,t[r+4>>2]|0)}}while(0);return}function Dd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=id(e,12)|0;t[i>>2]=A;t[i+4>>2]=r;r=(t[e+64>>2]|0)+48|0;t[i+8>>2]=t[r>>2];t[r>>2]=i;return}function zd(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;i=(t[e+64>>2]|0)+48|0;r=t[i>>2]|0;e:do{if(!r)r=-1;else{if((t[r>>2]|0)!=(A|0)){while(1){if(!r){r=-1;break e}i=r+8|0;a=t[i>>2]|0;if((t[a>>2]|0)==(A|0))break;else r=a}if(a)t[i>>2]=t[a+8>>2]}else t[i>>2]=t[r+8>>2];ad(e,r);r=0}}while(0);return r|0}function Wd(e,A){e=e|0;A=A|0;var r=0;r=yd(e)|0;e:do{if((r|0)==(yd(A)|0))switch(t[A>>2]&3){case 0:{while(1){if((A|0)==(e|0)){A=1;break e}A=Hv(A)|0;if(!A){A=0;break}}break}case 1:{A=A+8|0;A=(bd(e,t[A>>2]|0,t[A+4>>2]|0,0)|0)!=0;break e}default:{A=(uk(e,A,0)|0)!=0;break e}}else A=0}while(0);return A&1|0}function Yd(e){e=e|0;return t[e>>2]&3|0}function Fd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0,n=0,f=0;f=h;h=h+16|0;n=f;t=Sd(e,96512,44,0)|0;switch(r|0){case 100:{a=Md(t,A,100)|0;if(!(Vd(a,A)|0))Nd(a,e,A,i)|0;break}case 101:{if(((Vd(Md(t,A,100)|0,A)|0)==0?(Vd(Md(t,A,102)|0,A)|0)==0:0)?(a=Md(t,A,101)|0,(Vd(a,A)|0)==0):0)Nd(a,e,A,i)|0;break}case 102:{Rd(Md(t,A,100)|0,A);Rd(Md(t,A,101)|0,A);a=Md(t,A,102)|0;if(!(Vd(a,A)|0))Nd(a,e,A,i)|0;break}default:nw(1,96524,n)|0}h=f;return}function Md(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=h;h=h+16|0;i=n;e:do{switch(t[A>>2]&3){case 0:switch(r|0){case 100:{r=e+8|0;break e}case 101:{r=e+20|0;break e}case 102:{r=e+32|0;break e}default:{a=14;break e}}case 1:switch(r|0){case 100:{r=e+12|0;break e}case 101:{r=e+24|0;break e}case 102:{r=e+36|0;break e}default:{a=14;break e}}case 2:switch(r|0){case 100:{r=e+16|0;break e}case 101:{r=e+28|0;break e}case 102:{r=e+40|0;break e}default:{a=14;break e}}default:a=14}}while(0);if((a|0)==14){nw(1,96558,i)|0;r=0}e=t[r>>2]|0;if(!e){e=Bd(A)|0;e=jv(e,18828,t[4589]|0)|0;t[r>>2]=e}h=n;return e|0}function Vd(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+32|0;i=r;a=xd(A)|0;A=i+8|0;t[A>>2]=a;t[A+4>>2]=G;A=L5[t[e>>2]&63](e,i,4)|0;h=r;return A|0}function Nd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=id(Bd(r)|0,32)|0;t[a+20>>2]=r;n=xd(r)|0;r=a+8|0;t[r>>2]=n;t[r+4>>2]=G;t[a+16>>2]=A;if(i|0){n=id(A,8)|0;t[a+24>>2]=n;t[n>>2]=i}L5[t[e>>2]&63](e,a,1)|0;return a|0}function Rd(e,A){e=e|0;A=A|0;A=Vd(e,A)|0;if(A|0)L5[t[e>>2]&63](e,A,2)|0;return}function xd(e){e=e|0;e=e+8|0;G=t[e+4>>2]|0;return t[e>>2]|0}function Jd(e,A,r){e=e|0;A=A|0;r=r|0;Hd(A);ad(t[A+16>>2]|0,A);return}function Hd(e){e=e|0;var A=0,r=0;A=e+16|0;e=t[e+24>>2]|0;while(1){if(!e)break;r=t[e+4>>2]|0;ad(t[A>>2]|0,e);e=r}return}function Pd(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;l=c;f=t[e+16>>2]|0;a=f;while(1){if(!a){a=0;break}n=t[a>>2]|0;if((n|0)==(A|0)){s=7;break}if((i[A>>0]|0)==(i[n>>0]|0)?(e1(A,n)|0)==0:0){s=7;break}a=t[a+4>>2]|0;if((a|0)==(f|0)){a=0;break}}do{if((s|0)==7){if(!(t[e>>2]&4)){if((a|0)==(f|0)&(r|0)==0){a=f;break}Xd(e,a,r);break}if(r)if((f|0)==(a|0))a=f;else nw(1,96583,l)|0}}while(0);h=c;return a|0}function Xd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;t[e+16>>2]=A;i=t[e>>2]|0;r=r<<2&4;t[e>>2]=i&-5|r;if(i&2|0){i=(i&3|0)==3?-1:1;t[e+(i*48|0)+16>>2]=A;i=e+(i*48|0)|0;t[i>>2]=t[i>>2]&-5|r}return}function Sd(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;f=Bd(e)|0;a=Pd(e,A,0)|0;e:do{if((r|0)!=0&(a|0)==0){r=id(f,r)|0;t[r>>2]=tv(f,A)|0;switch(t[e>>2]&3){case 0:{jd(e,r);n=r;break e}case 1:{jd(e,r);n=r;break e}case 2:case 3:{jd(e,r);n=r;break e}default:{}}}else n=a}while(0);if(i|0)Pd(e,A,1)|0;return n|0}function jd(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[e+16>>2]|0;do{if(r){i=r+4|0;a=t[i>>2]|0;if((a|0)==(r|0)){t[i>>2]=A;i=r;r=A;break}else{t[A+4>>2]=a;i=A;break}}else{i=A;r=A}}while(0);t[r+4>>2]=i;if(!(t[e>>2]&4))Xd(e,A,0);return}function Ud(e,A){e=e|0;A=A|0;var r=0,i=0;i=Bd(e)|0;r=Pd(e,A,0)|0;if(!r)A=-1;else{Td(e,r);if(!(t[e>>2]&3)){Od(i,e,r);A=r}else{Zg(yd(i)|0,e,60,r,0)|0;A=r}fv(i,t[r>>2]|0)|0;ad(i,A);A=0}return A|0}function Td(e,A){e=e|0;A=A|0;var r=0;e=t[e+16>>2]|0;do{r=e+4|0;e=t[r>>2]|0}while((e|0)!=(A|0));t[r>>2]=t[A+4>>2];return}function Od(e,A,r){e=e|0;A=A|0;r=r|0;if((t[A+16>>2]|0)==(r|0)){e=t[r+4>>2]|0;Xd(A,(e|0)==(r|0)?0:e,0)}return}function _d(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0,n=0;t=(i|0)>-1;n=t?i:0-i|0;e:do{switch(A|0){case 0:{Sd(e,r,n,a)|0;if(!t){A=xv(e)|0;while(1){if(!A)break e;_d(A,0,r,i,a);A=Jv(A)|0}}break}case 3:case 2:case 1:{i=(A|0)==1;A=sd(e)|0;while(1){if(!A)break e;A:do{if(i)Sd(A,r,n,a)|0;else{t=Ow(e,A)|0;while(1){if(!t)break A;Sd(t,r,n,a)|0;t=qw(e,t)|0}}}while(0);A=cd(e,A)|0}}default:{}}}while(0);return}function qd(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;e:do{switch(A|0){case 0:{Zg(e,e,61,r,1)|0;break}case 3:case 2:case 1:{a=(A|0)==1;i=sd(e)|0;while(1){if(!i)break e;A:do{if(a)Ud(i,r)|0;else{A=Ow(e,i)|0;while(1){if(!A)break A;Ud(A,r)|0;A=qw(e,A)|0}}}while(0);i=cd(e,i)|0}}default:{}}}while(0);return}function Kd(e,A,r){e=e|0;A=A|0;r=r|0;Ud(A,r)|0;return}function $d(e){e=e|0;var A=0,r=0,i=0;r=Bd(e)|0;A=e+16|0;e=t[A>>2]|0;if(e|0)do{i=e;e=t[e+4>>2]|0;fv(r,t[i>>2]|0)|0;ad(r,i)}while((e|0)!=(t[A>>2]|0));t[A>>2]=0;return}function ev(e){e=e|0;return Tv(e,Av(e)|0)|0}function Av(e){e=e|0;var A=0,r=0;if(!e)r=187844;else r=(t[e+64>>2]|0)+20|0;A=t[r>>2]|0;if(!A){A=jv(e,18864,t[4589]|0)|0;t[r>>2]=A;e=186312;t[e>>2]=-2147483648;t[e+4>>2]=0;e=186320;t[e>>2]=2147483647;t[e+4>>2]=-1}return A|0}function rv(e,A){e=e|0;A=A|0;return iv(Av(e)|0,A)|0}function iv(e,A){e=e|0;A=A|0;e=av(e,A)|0;if(!e)e=0;else e=t[e+16>>2]|0;return e|0}function av(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+32|0;i=r;t[i+16>>2]=A;A=L5[t[e>>2]&63](e,i,4)|0;h=r;return A|0}function tv(e,A){e=e|0;A=A|0;var r=0,i=0;if(!A)r=0;else{i=Av(e)|0;r=av(i,A)|0;if(!r){r=(U2(A)|0)+24|0;if(!e)r=Z2(r)|0;else r=id(e,r)|0;e=r+8|0;t[e>>2]=1;t[e+4>>2]=0;e=r+20|0;$1(e,A)|0;t[r+16>>2]=e;L5[t[i>>2]&63](i,r,1)|0}else{i=r+8|0;A=i;A=d6(t[A>>2]|0,t[A+4>>2]|0,1,0)|0;t[i>>2]=A;t[i+4>>2]=G}r=t[r+16>>2]|0}return r|0}function nv(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;if(!A)r=0;else{i=Av(e)|0;r=av(i,A)|0;if(!r){r=(U2(A)|0)+24|0;if(!e)r=Z2(r)|0;else r=id(e,r)|0;n=186312;a=t[n+4>>2]|0;e=r+8|0;t[e>>2]=t[n>>2]|1;t[e+4>>2]=a;e=r+20|0;$1(e,A)|0;t[r+16>>2]=e;L5[t[i>>2]&63](i,r,1)|0}else{n=r+8|0;a=n;a=d6(t[a>>2]|0,t[a+4>>2]|0,1,0)|0;t[n>>2]=a;t[n+4>>2]=G}r=t[r+16>>2]|0}return r|0}function fv(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;if((A|0)!=0?(r=Av(e)|0,i=av(r,A)|0,(i|0)!=0):0)if((t[i+16>>2]|0)==(A|0)?(A=i+8|0,n=A,n=d6(t[n>>2]|0,t[n+4>>2]|0,-1,-1)|0,a=G,A,t[A>>2]=n,t[A+4>>2]=a,A=186320,(n|0)==0&(a|0)==0|(t[A>>2]|0)==0&(t[A+4>>2]|0)==0):0){Uv(e,r,i)|0;e=0}else e=0;else e=-1;return e|0}function lv(e){e=e|0;var A=0;if(!e)e=0;else{e=e+-12|0;A=186312;e=t[A>>2]&t[e>>2]}return e|0}function sv(e){e=e|0;var A=0,r=0,i=0;if(e|0){r=186312;e=e+-12|0;i=e;A=t[i+4>>2]|t[r+4>>2];t[e>>2]=t[i>>2]|t[r>>2];t[e+4>>2]=A}return}function cv(e){e=e|0;t[46966]=e;t[4725]=1;return}function ov(e,A){e=e|0;A=A|0;t[46967]=e;t[46968]=A;t[46969]=0;return}function uv(){var e=0,A=0,r=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;if(!(t[46970]|0)){t[46970]=1;if(!(t[46971]|0))t[46971]=1;if(!(t[46962]|0))t[46962]=t[15647];if(!(t[46963]|0))t[46963]=t[15679];c=t[46972]|0;if(!((c|0)!=0?(t[c>>2]|0)!=0:0)){bv();c=hv(t[46962]|0,16384)|0;t[t[46972]>>2]=c}wv()}e:while(1){s=t[46973]|0;i[s>>0]=i[194805]|0;e=(t[(t[t[46972]>>2]|0)+28>>2]|0)+(t[46971]|0)|0;A=s;A:while(1){f=A;while(1){A=t[18904+(n[f>>0]<<2)>>2]|0;if(a[63856+(e<<1)>>1]|0){t[46974]=e;t[46975]=f}r:while(1){r=A&255;do{A=r+(a[64042+(e<<1)>>1]|0)|0;if((e|0)==(a[64252+(A<<1)>>1]|0))break r;c=a[64788+(e<<1)>>1]|0;e=c<<16>>16}while(c<<16>>16<=92);A=t[19928+(r<<2)>>2]|0}e=a[64998+(A<<1)>>1]|0;A=f+1|0;if((a[64042+(e<<1)>>1]|0)==219)break;else f=A}r:while(1){c=s;i:while(1){e=a[63856+(e<<1)>>1]|0;if(!(e<<16>>16)){e=a[63856+(t[46974]<<1)>>1]|0;A=t[46975]|0}else e=e<<16>>16;t[46964]=s;l=A;t[46965]=l-c;i[194805]=i[A>>0]|0;i[A>>0]=0;t[46973]=A;a:while(1){switch(e|0){case 1:{u=27;break e}case 12:{u=53;break e}case 13:{u=55;break e}case 14:{u=57;break e}case 15:{u=61;break e}case 16:{u=65;break e}case 17:{u=67;break e}case 18:{u=69;break e}case 19:{u=72;break e}case 20:{u=75;break e}case 21:{u=78;break e}case 23:{u=86;break e}case 33:{u=118;break e}case 39:case 38:case 37:case 36:{o=0;break e}case 2:{u=29;break A}case 3:{u=32;break A}case 4:{u=35;break A}case 5:{u=37;break A}case 6:{u=39;break A}case 7:{u=42;break A}case 8:{u=44;break A}case 9:{u=47;break A}case 10:{u=49;break A}case 11:{u=51;break A}case 22:{u=83;break A}case 24:{u=89;break A}case 25:{u=92;break A}case 26:{u=95;break A}case 27:{u=98;break A}case 28:{u=101;break A}case 29:{u=104;break A}case 30:{u=109;break A}case 31:{u=112;break A}case 32:{u=115;break A}case 34:{u=121;break A}case 0:break a;case 35:break;default:{u=134;break e}}f=t[46964]|0;i[A>>0]=i[194805]|0;e=t[46972]|0;r=t[e>>2]|0;if(!(t[r+44>>2]|0)){b=t[r+16>>2]|0;t[46977]=b;t[r>>2]=t[46962];r=t[e>>2]|0;t[r+44>>2]=1;e=b}else e=t[46977]|0;if((t[46973]|0)>>>0<=((t[r+4>>2]|0)+e|0)>>>0){u=128;break i}switch(yv()|0){case 0:{u=132;break r}case 2:{u=133;break i}case 1:break;default:continue e}t[46973]=t[46964];e=(((t[46971]|0)+-1|0)/2|0)+36|0}i[A>>0]=i[194805]|0;A=t[46975]|0;e=t[46974]|0}if((u|0)==128){u=0;r=l-f|0;f=t[46964]|0;A=f+(r+-1)|0;t[46973]=A;e=Ev()|0;l=Bv(e)|0;s=t[46964]|0;if(!l)continue;else{u=129;break}}else if((u|0)==133){u=0;A=(t[(t[t[46972]>>2]|0)+4>>2]|0)+(t[46977]|0)|0;t[46973]=A;e=Ev()|0;s=t[46964]|0;continue}}if((u|0)==129){u=0;A=f+r|0;t[46973]=A;e=l;continue}else if((u|0)==132){u=0;A=(t[46964]|0)+(l-f+-1)|0;t[46973]=A;e=Ev()|0;s=t[46964]|0;continue}}switch(u|0){case 29:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[4725]=(t[4725]|0)+1;continue e}case 32:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[46971]=3;continue e}case 35:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 37:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 39:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[46971]=1;continue e}case 42:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 44:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;kv();continue e}case 47:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 49:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 51:{u=0;e=t[46965]|0;if(!e)continue e;t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;continue e}case 83:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[46971]=5;vv();continue e}case 89:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;mv(98744);continue e}case 92:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;mv(96616);continue e}case 95:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[4725]=(t[4725]|0)+1;continue e}case 98:{u=0;A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;mv(e);continue e}case 101:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[46971]=7;t[46976]=1;vv();continue e}case 104:{u=0;e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;b=(t[46976]|0)+-1|0;t[46976]=b;if(!b){u=108;break e}mv(t[46964]|0);continue e}case 109:{u=0;A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;t[46976]=(t[46976]|0)+1;mv(e);continue e}case 112:{u=0;A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;mv(e);t[4725]=(t[4725]|0)+1;continue e}case 115:{u=0;A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;mv(e);continue e}case 121:{u=0;A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;G3(e,A,1,t[46963]|0)|0;continue e}}}switch(u|0){case 27:{e=t[46965]|0;if(!e)o=-1;else{t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=-1}break}case 53:{e=t[46965]|0;if(!e)o=259;else{t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=259}break}case 55:{e=t[46965]|0;if(!e)o=260;else{t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=260}break}case 57:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;if(!(t[46969]|0)){t[46969]=258;o=258}else o=258;break}case 61:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;if(!(t[46969]|0)){t[46969]=261;o=261}else o=261;break}case 65:{e=t[46965]|0;if(!e)o=263;else{t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=263}break}case 67:{e=t[46965]|0;if(!e)o=262;else{t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=262}break}case 69:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=(t[46969]|0)==261?264:45;break}case 72:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;o=(t[46969]|0)==258?264:45;break}case 75:{A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;t[46992]=tv(t[46942]|0,e)|0;o=267;break}case 78:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;if(dv()|0){u=(t[46965]|0)+-1|0;i[A>>0]=i[194805]|0;b=s+u|0;t[46973]=b;t[46964]=s;t[46965]=u;i[194805]=i[b>>0]|0;i[b>>0]=0;t[46973]=b}t[46992]=tv(t[46942]|0,t[46964]|0)|0;o=267;break}case 86:{e=t[46965]|0;if(e|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[(t[46964]|0)+(e+-1)>>0]|0)==10&1;t[46971]=1;gv();o=268;break}case 108:{t[46971]=1;pv();o=268;break}case 118:{A=t[46965]|0;e=t[46964]|0;if(A|0)t[(t[t[46972]>>2]|0)+28>>2]=(i[e+(A+-1)>>0]|0)==10&1;o=i[e>>0]|0;break}case 134:{Cv(96619);break}}return o|0}function bv(){var e=0,A=0,r=0;A=t[46972]|0;do{if(!A){e=zv(4)|0;t[46972]=e;if(!e)Cv(96977);else{t[e>>2]=0;e=1;r=9;break}}else{e=t[46983]|0;if(0>=(e+-1|0)>>>0){e=e+8|0;A=Iv(A,e<<2)|0;t[46972]=A;if(!A)Cv(96977);else{r=A+(t[46983]<<2)|0;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;t[r+12>>2]=0;t[r+16>>2]=0;t[r+20>>2]=0;t[r+24>>2]=0;t[r+28>>2]=0;r=9;break}}}}while(0);if((r|0)==9)t[46983]=e;return}function hv(e,A){e=e|0;A=A|0;var r=0;r=zv(48)|0;if(!r)Cv(96932);t[r+12>>2]=A;A=zv(A+2|0)|0;t[r+4>>2]=A;if(!A)Cv(96932);else{t[r+20>>2]=1;Gv(r,e);return r|0}return 0}function wv(){var e=0,A=0;A=t[46972]|0;e=t[A>>2]|0;t[46977]=t[e+16>>2];e=t[e+8>>2]|0;t[46973]=e;t[46964]=e;t[46962]=t[t[A>>2]>>2];i[194805]=i[e>>0]|0;return}function kv(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0;n=h;h=h+32|0;a=n;A=n+16|0;r=n+12|0;f=t[46964]|0;e=f+1|0;l=(y1(e,96916,4)|0)==0;e=l?f+5|0:e;t[a>>2]=r;t[a+4>>2]=n+20;t[a+8>>2]=A;a=V3(e,96921,a)|0;if((a|0)>0?(t[4725]=(t[r>>2]|0)+-1,(a|0)!=1):0){A=e+(t[A>>2]|0)|0;e=A;e:while(1){r=i[e>>0]|0;switch(r<<24>>24){case 0:case 34:break e;default:{}}e=e+1|0}if((e|0)!=(A|0)&r<<24>>24==34){i[e>>0]=0;Dv(A,e-A|0)}}h=n;return}function dv(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0;s=h;h=h+2080|0;l=s+8|0;a=s;e=s+1056|0;A=s+32|0;f=s+16|0;c=i[(t[46964]|0)+((t[46965]|0)+-1)>>0]|0;r=c<<24>>24==46;if(r|((c&255)+-48|0)>>>0<10)if(r?(Qv()|0)!=0:0)n=4;else e=0;else n=4;if((n|0)==4){c=t[46966]|0;cw(f,1024,e);bw(f,96827)|0;bw(f,t[46964]|0)|0;t[a>>2]=t[4725];T4(A,96871,a)|0;bw(f,A)|0;bw(f,(c|0)==0?96821:c)|0;bw(f,96888)|0;A=f+4|0;e=t[A>>2]|0;if(e>>>0>=(t[f+8>>2]|0)>>>0){ow(f,1)|0;e=t[A>>2]|0}i[e>>0]=0;e=t[f>>2]|0;t[A>>2]=e;t[l>>2]=e;nw(0,96913,l)|0;hw(f);e=1}h=s;return e|0}function vv(){var e=0;e=t[46978]|0;if(!e){e=Z2(1024)|0;t[46978]=e;t[46980]=e+1024}t[46979]=e;i[e>>0]=0;return}function gv(){t[46992]=tv(t[46942]|0,t[46978]|0)|0;i[t[46978]>>0]=0;return}function mv(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;r=t[46979]|0;A=t[46978]|0;if(r>>>0>A>>>0){r=r+-1|0;a=3}e:while(1){if((a|0)==3)t[46979]=r;a=t[46980]|0;n=a;do{f=e;e=e+1|0;f=i[f>>0]|0;l=r;r=r+1|0;i[l>>0]=f;if(!(f<<24>>24))break e}while(r>>>0>>0);t[46979]=r;a=A;l=n-a<<1;A=Q2(A,l)|0;t[46978]=A;t[46980]=A+l;r=A+(r-a)|0;a=3}t[46979]=r;return}function pv(){t[46992]=nv(t[46942]|0,t[46978]|0)|0;i[t[46978]>>0]=0;return}function Ev(){var e=0,A=0,r=0,n=0,f=0;f=t[46973]|0;n=t[46964]|0;A=(t[(t[t[46972]>>2]|0)+28>>2]|0)+(t[46971]|0)|0;while(1){if(n>>>0>=f>>>0)break;e=i[n>>0]|0;if(!(e<<24>>24))e=1;else e=t[18904+((e&255)<<2)>>2]|0;if(a[63856+(A<<1)>>1]|0){t[46974]=A;t[46975]=n}e:while(1){r=e&255;do{e=r+(a[64042+(A<<1)>>1]|0)|0;if((A|0)==(a[64252+(e<<1)>>1]|0))break e;e=a[64788+(A<<1)>>1]|0;A=e<<16>>16}while(e<<16>>16<=92);e=t[19928+(r<<2)>>2]|0}n=n+1|0;A=a[64998+(e<<1)>>1]|0}return A|0}function Bv(e){e=e|0;var A=0;if(a[63856+(e<<1)>>1]|0){A=t[46973]|0;t[46974]=e;t[46975]=A}while(1){A=(a[64042+(e<<1)>>1]|0)+1|0;if((e|0)==(a[64252+(A<<1)>>1]|0))break;e=a[64788+(e<<1)>>1]|0}A=a[64998+(A<<1)>>1]|0;return(A<<16>>16==92?0:A<<16>>16)|0}function yv(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;s=t[46972]|0;n=t[s>>2]|0;l=t[n+4>>2]|0;a=t[46964]|0;o=t[46973]|0;c=o;if(o>>>0>(l+((t[46977]|0)+1)|0)>>>0)Cv(96674);f=c-a|0;if(!(t[n+40>>2]|0))e=(f|0)==1?1:2;else{o=f+-1|0;f=l;n=0;while(1){if((n|0)>=(o|0))break;i[f>>0]=i[a>>0]|0;f=f+1|0;a=a+1|0;n=n+1|0}a=t[s>>2]|0;do{if((t[a+44>>2]|0)==2){t[46977]=0;t[a+16>>2]=0;r=a;u=17}else{while(1){l=a+12|0;f=t[l>>2]|0;n=f-o+-1|0;if(n|0){u=16;break}n=a+4|0;s=t[n>>2]|0;if(!(t[a+20>>2]|0)){u=12;break}a=f<<1;a=(a|0)==0?(f>>>3)+f|0:a;t[l>>2]=a;a=Iv(s,a+2|0)|0;t[n>>2]=a;if(!a)break;s=a+(c-s)|0;t[46973]=s;a=t[t[46972]>>2]|0;c=s}if((u|0)==12)t[n>>2]=0;else if((u|0)==16){A=L5[t[t[(t[46967]|0)+8>>2]>>2]&63](t[46968]|0,(t[a+4>>2]|0)+o|0,n>>>0<8192?n:8192)|0;r=t[t[46972]>>2]|0;t[46977]=A;t[r+16>>2]=A;if(!A){u=17;break}else{e=0;break}}Cv(96730)}}while(0);do{if((u|0)==17)if(!o){Zv(t[46962]|0);e=1;A=t[46977]|0;r=t[t[46972]>>2]|0;break}else{t[r+44>>2]=2;e=2;A=0;break}}while(0);a=A+o|0;do{if(a>>>0>(t[r+12>>2]|0)>>>0){u=Iv(t[r+4>>2]|0,a+(A>>>1)|0)|0;A=t[46972]|0;t[(t[A>>2]|0)+4>>2]=u;A=t[(t[A>>2]|0)+4>>2]|0;if(!A)Cv(96774);else{b=t[46977]|0;h=A;break}}else{b=A;h=t[r+4>>2]|0}}while(0);b=b+o|0;t[46977]=b;i[h+b>>0]=0;h=t[46972]|0;i[(t[(t[h>>2]|0)+4>>2]|0)+((t[46977]|0)+1)>>0]=0;t[46964]=t[(t[h>>2]|0)+4>>2]}return e|0}function Cv(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=t[15712]|0;t[A>>2]=e;a3(r,96670,A)|0;Ue(2)}function Iv(e,A){e=e|0;A=A|0;return Q2(e,A)|0}function Zv(e){e=e|0;var A=0,r=0,i=0;r=t[46972]|0;if((r|0)!=0?(A=t[r>>2]|0,(A|0)!=0):0)i=4;else{bv();A=hv(t[46962]|0,16384)|0;r=t[46972]|0;t[r>>2]=A;if(!r)A=0;else i=4}Gv(A,e);wv();return}function Gv(e,A){e=e|0;A=A|0;var r=0;r=t[(R2()|0)>>2]|0;Lv(e);t[e>>2]=A;t[e+40>>2]=1;A=t[46972]|0;if(!A)A=0;else A=t[A>>2]|0;if((A|0)!=(e|0)){t[e+32>>2]=1;t[e+36>>2]=0}t[e+24>>2]=0;t[(R2()|0)>>2]=r;return}function Lv(e){e=e|0;var A=0;if(e|0){t[e+16>>2]=0;A=e+4|0;i[t[A>>2]>>0]=0;i[(t[A>>2]|0)+1>>0]=0;t[e+8>>2]=t[A>>2];t[e+28>>2]=1;t[e+44>>2]=0;A=t[46972]|0;if(!A)A=0;else A=t[A>>2]|0;if((A|0)==(e|0))wv()}return}function Qv(){var e=0,A=0;A=t[46964]|0;e=(t[46965]|0)+-2|0;while(1){if((e|0)<=-1){e=0;break}if((i[A+e>>0]|0)==46){e=1;break}else e=e+-1|0}return e|0}function Dv(e,A){e=e|0;A=A|0;var r=0;r=t[46981]|0;if((r|0)<(A|0)){if(!r)r=Z2(A+1|0)|0;else r=Q2(t[46982]|0,A+1|0)|0;t[46982]=r;t[46981]=A}else r=t[46982]|0;$1(r,e)|0;t[46966]=t[46982];return}function zv(e){e=e|0;return Z2(e)|0}function Wv(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+2112|0;c=o+32|0;l=o+24|0;f=o+16|0;n=o+8|0;a=o;A=o+56|0;s=o+40|0;cw(s,1024,o+1080|0);r=t[46966]|0;if(r|0){bw(s,r)|0;bw(s,97027)|0}bw(s,e)|0;t[a>>2]=t[4725];T4(A,97030,a)|0;bw(s,A)|0;e:do{if(!(i[t[46964]>>0]|0))switch(((t[46971]|0)+-1|0)/2|0|0){case 2:{t[n>>2]=16384;T4(A,97050,n)|0;bw(s,A)|0;e=t[46978]|0;if(!(i[e>>0]|0))break e;l=U2(e)|0;bw(s,97112)|0;e=t[46978]|0;if((l|0)>80)i[e+80>>0]=0;bw(s,e)|0;break e}case 3:{t[f>>2]=16384;T4(A,97131,f)|0;bw(s,A)|0;e=t[46978]|0;if(!(i[e>>0]|0))break e;l=U2(e)|0;bw(s,97199)|0;e=t[46978]|0;if((l|0)>80)i[e+80>>0]=0;bw(s,e)|0;break e}case 1:{t[l>>2]=16384;T4(A,97218,l)|0;bw(s,A)|0;break e}default:break e}else{bw(s,97042)|0;bw(s,t[46964]|0)|0;A=s+4|0;e=t[A>>2]|0;if(e>>>0>=(t[s+8>>2]|0)>>>0){ow(s,1)|0;e=t[A>>2]|0}t[A>>2]=e+1;i[e>>0]=39}}while(0);r=s+4|0;e=t[r>>2]|0;A=s+8|0;if(e>>>0>=(t[A>>2]|0)>>>0){ow(s,1)|0;e=t[r>>2]|0}t[r>>2]=e+1;i[e>>0]=10;e=t[r>>2]|0;if(e>>>0>=(t[A>>2]|0)>>>0){ow(s,1)|0;e=t[r>>2]|0}i[e>>0]=0;l=t[s>>2]|0;t[r>>2]=l;t[c>>2]=l;nw(1,96913,c)|0;hw(s);h=o;return}function Yv(){Fv(t[46964]|0);return}function Fv(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;s=t[46973]|0;i[s>>0]=i[194805]|0;l=t[46972]|0;r=t[l>>2]|0;A=t[r+4>>2]|0;if(s>>>0<(A+2|0)>>>0){a=A+((t[46977]|0)+2)|0;n=A+((t[r+12>>2]|0)+2)|0;c=A;f=r;while(1){if(a>>>0<=c>>>0)break;r=a+-1|0;c=n+-1|0;i[c>>0]=i[r>>0]|0;f=t[l>>2]|0;a=r;n=c;c=t[f+4>>2]|0}r=n-a|0;A=s+r|0;s=t[f+12>>2]|0;t[46977]=s;t[f+16>>2]=s;if(A>>>0<(c+2|0)>>>0)Cv(97277);else{o=e+r|0;u=A}}else{o=e;u=s}e=u+-1|0;i[e>>0]=64;t[46964]=o;i[194805]=i[e>>0]|0;t[46973]=e;return}function Mv(){var e=0;e=t[46972]|0;if(!e)e=0;else e=t[e>>2]|0;Lv(e);return}function Vv(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=h;h=h+80|0;a=i;n=e+52|0;Ov(e,t[n>>2]|0,18548);e=a+8|0;t[e>>2]=A;t[e+4>>2]=r;r=t[n>>2]|0;r=L5[t[r>>2]&63](r,a,4)|0;h=i;return r|0}function Nv(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;a=Vv(e,A,r)|0;if(!a){a=id(e,72)|0;t[a+64>>2]=t[e+64>>2];n=a+24|0;f=t[e+24>>2]|0;t[n>>2]=f;i[n>>0]=f&255&-9;t[a+56>>2]=e;t[a+60>>2]=t[e+60>>2];e=a+8|0;t[e>>2]=A;t[e+4>>2]=r;kk(a)|0}return a|0}function Rv(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=h;h=h+16|0;a=n;if(!(((A|0)!=0?(Wk(e,0,A,a,0)|0)!=0:0)?(i=a,i=Vv(e,t[i>>2]|0,t[i+4>>2]|0)|0,(i|0)!=0):0))if((r|0)!=0?(Wk(e,0,A,a,1)|0)!=0:0){i=a;i=Nv(e,t[i>>2]|0,t[i+4>>2]|0)|0;Vk(e,0,i)}else i=0;h=n;return i|0}function xv(e){e=e|0;e=t[e+52>>2]|0;return L5[t[e>>2]&63](e,0,128)|0}function Jv(e){e=e|0;var A=0;A=Hv(e)|0;if(!A)e=0;else{A=t[A+52>>2]|0;e=L5[t[A>>2]&63](A,e,8)|0}return e|0}function Hv(e){e=e|0;return t[e+56>>2]|0}function Pv(e,A){e=e|0;A=A|0;e=t[e+52>>2]|0;return L5[t[e>>2]&63](e,A,2)|0}function Xv(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[46984]|0;i=(A|0)!=0;do{if(!e)if(i){G2(A);e=0;break}else{e=Z2(r)|0;break}else if(i){ad(e,A);e=0;break}else{e=id(e,r)|0;break}}while(0);return e|0}function Sv(e,A,r){e=e|0;A=A|0;r=r|0;e=t[46984]|0;if(!e)G2(A);else ad(e,A);return}function jv(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=A+28|0;a=t[i>>2]|0;t[i>>2]=7;t[46984]=e;r=Uh(A,r)|0;t[i>>2]=a;t[46984]=0;return r|0}function Uv(e,A,r){e=e|0;A=A|0;r=r|0;t[46984]=e;return L5[t[A>>2]&63](A,r,2)|0}function Tv(e,A){e=e|0;A=A|0;var r=0,i=0;r=(Aw(A,0,0)|0)+28|0;i=t[r>>2]|0;t[r>>2]=7;t[46984]=e;if(!(Ph(A)|0)){t[r>>2]=i;t[46984]=0;e=0}else e=1;return e|0}function Ov(e,A,r){e=e|0;A=A|0;r=r|0;if(r|0?(Aw(A,0,0)|0)!=(r|0):0)Aw(A,r,0)|0;return}function _v(e,A){e=e|0;A=A|0;if(!(lv(e)|0))A=Kv(e,A)|0;else qv(e,A)|0;return A|0}function qv(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;i[A>>0]=60;a=A;while(1){r=a+1|0;t=i[e>>0]|0;if(!(t<<24>>24))break;i[r>>0]=t;e=e+1|0;a=r}i[r>>0]=62;i[a+2>>0]=0;return A|0}function Kv(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;e:do{if((e|0)!=0?(i[e>>0]|0)!=0:0){i[A>>0]=34;o=i[e>>0]|0;k=0;n=((o+-45&255)<2|((o&255)+-48|0)>>>0<10)&1;f=0;l=0;s=0;r=A+1|0;a=e+1|0;A:while(1){c=r;while(1){if(!(o<<24>>24))break A;r=o&255;r:do{if(o<<24>>24==34){i[c>>0]=92;u=n;b=1;c=c+1|0}else{if(!n){b=o<<24>>24>-1&(o<<24>>24!=95&(M1(r)|0)==0);u=0;b=b?1:f;break}switch(o<<24>>24){case 45:{b=(s|0)==0;u=b?n:0;b=b?f:1;break r}case 46:{b=(l|0)==0;u=b?n:0;b=b?f:1;l=l+1|0;break r}default:{b=(r+-48|0)>>>0<10;u=b?n:0;b=b?f:1;break r}}}}while(0);r=c+1|0;i[c>>0]=o;w=a+1|0;h=i[a>>0]|0;s=s+1|0;a=t[5031]|0;if(!a){n=u;f=b;c=r;a=w;o=h;continue}n=h&255;f=h<<24>>24!=0;if((k&f?!(o<<24>>24==92|o<<24>>24>-1&((o+-45&255)>1&(M1(o<<24>>24)|0)==0)^1):0)?!(h<<24>>24>-1&((h+-45&255)>1&(M1(n)|0)==0)):0)break;if((s|0)<(a|0)|f^1){n=u;f=b;c=r;a=w;o=h;continue}if(o<<24>>24==92|o<<24>>24>-1&((M1(o<<24>>24)|0)==0&(o+-45&255)>1)^1){k=1;n=u;f=b;o=h;a=w;continue A}if(h<<24>>24>-1&((h+-45&255)>1&(M1(n)|0)==0)){k=1;n=u;f=b;o=h;a=w;continue A}i[r>>0]=92;i[c+2>>0]=10;n=u;f=1;s=0;c=c+3|0;a=w;o=h}i[r>>0]=92;i[c+2>>0]=10;k=0;n=u;f=1;s=0;o=h;r=c+3|0;a=w}i[c>>0]=34;i[c+1>>0]=0;if(!f){if((s|0)==1?((i[e>>0]|0)+-45&255)<2:0){e=A;break}else r=20128;while(1){a=t[r>>2]|0;if(!a)break e;if(!(N1(a,e)|0)){e=A;break}else r=r+4|0}}else e=A}else e=97309}while(0);return e|0}function $v(e){e=e|0;return _v(e,eg(e)|0)|0}function eg(e){e=e|0;var A=0;A=((U2(e)|0)<<1)+2|0;A=A>>>0>1024?A:1024;e=t[46986]|0;if(A>>>0>(t[46985]|0)>>>0){if(!e)e=Z2(A)|0;else e=Q2(e,A)|0;t[46986]=e;t[46985]=A}return e|0}function Ag(e,A){e=e|0;A=A|0;e=xv(e)|0;while(1){if(!e){e=0;break}if((rg(e)|0)==0?hd(e,A,0)|0:0){e=1;break}e=Jv(e)|0}return e|0}function rg(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;f=Mk(e)|0;if((f|0)!=0?(i[f>>0]|0)!=37:0)A=0;else r=3;e:do{if((r|0)==3){A=Ew(e)|0;A:do{if(A|0?(a=Ew(Hv(e)|0)|0,a|0):0){f=Oh(t[(Ew(yd(e)|0)|0)+8>>2]|0)|0;n=A+12|0;r=a+12|0;A=0;while(1){if((A|0)>=(f|0))break A;a=t[(t[n>>2]|0)+(A<<2)>>2]|0;if((a|0?(l=t[(t[r>>2]|0)+(A<<2)>>2]|0,l|0):0)?e1(a,l)|0:0){A=0;break e}A=A+1|0}}}while(0);A=dw(e,0)|0;if(A)if((Oh(t[A+8>>2]|0)|0)>0)A=0;else return(Oh(t[A+12>>2]|0)|0)<1|0;else A=1}}while(0);return A|0}function ig(e,A){e=e|0;A=A|0;var r=0,a=0;t[46987]=0;r=Hw(e,97319)|0;if((r|0?((i[r>>0]|0)+-48|0)>>>0<10:0)?(a=n3(r,0,10)|0,(a|0)==0|(a|0)>59):0)t[5031]=a;ag(e,1);if(((tg(e,A,1)|0)!=-1?(ng(e,A)|0)!=-1:0)?(fg(e,A)|0)!=-1:0){t[5031]=128;e=I5[t[(t[(t[e+64>>2]|0)+8>>2]|0)+8>>2]&63](A)|0}else e=-1;return e|0}function ag(e,A){e=e|0;A=A|0;var r=0;t[e>>2]=t[e>>2]&-9;r=xv(e)|0;while(1){if(!r)break;ag(r,0);r=Jv(r)|0}e:do{if(A|0){A=sd(e)|0;while(1){if(!A)break e;t[A>>2]=t[A>>2]&-9;r=Ow(e,A)|0;while(1){if(!r)break;t[r>>2]=t[r>>2]&-9;r=qw(e,r)|0}A=cd(e,A)|0}}}while(0);return}function tg(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;if((r|0)==0?(Hv(e)|0)!=0:0){l=0;n=195059;c=109514}else{c=(i[e+24>>0]&1)==0?195059:97363;n=(Ck(e)|0)==0;t[46988]=zw(e,2,111455,0)|0;t[46989]=zw(e,2,111464,0)|0;l=1;n=n?195059:97366}a=Mk(e)|0;if((a|0)!=0?(i[a>>0]|0)!=37:0){f=1;s=102604}else{f=0;s=195059;a=195059}do{if((lg(e,A)|0)!=-1?(sg(e,A,n)|0)!=-1:0){n=(f|0)==0;if(f|l|0){if((sg(e,A,c)|0)==-1){a=-1;break}if((sg(e,A,102597)|0)==-1){a=-1;break}}if(!n?(mg(e,A,a)|0)==-1:0){a=-1;break}if(((sg(e,A,s)|0)!=-1?(sg(e,A,97374)|0)!=-1:0)?(t[46987]=(t[46987]|0)+1,(Cg(e,A,r)|0)!=-1):0){t[e>>2]=t[e>>2]|8;a=0}else a=-1}else a=-1}while(0);return a|0}function ng(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;e:do{if((cg(e,A)|0)==-1)r=-1;else{c=dw(yd(e)|0,0)|0;l=(c|0)==0;s=c+12|0;c=c+8|0;f=sd(e)|0;while(1){if(!f){r=0;break e}if(og(e,f,(t[f>>2]|0)>>>4,0)|0){if(l)r=0;else r=t[c>>2]|0;if((ug(f,A,r)|0)==-1){r=-1;break e}}n=Ow(e,f)|0;r=f;while(1){if(!n)break;a=n+-48|0;i=t[((t[n>>2]&3|0)==2?n:a)+40>>2]|0;if((r|0)!=(i|0)?(og(e,i,(t[f>>2]|0)>>>4,0)|0)!=0:0){if(l)r=0;else r=t[c>>2]|0;if((ug(t[((t[n>>2]&3|0)==2?n:a)+40>>2]|0,A,r)|0)==-1){r=-1;break e}r=t[((t[n>>2]&3|0)==2?n:a)+40>>2]|0}if(bg(e,n)|0){if(l)i=0;else i=t[s>>2]|0;if((hg(n,A,i)|0)==-1){r=-1;break e}}n=qw(e,n)|0}f=cd(e,f)|0}}}while(0);return r|0}function fg(e,A){e=e|0;A=A|0;t[46987]=(t[46987]|0)+-1;if((lg(e,A)|0)==-1)e=-1;else e=((sg(e,A,111008)|0)==-1)<<31>>31;return e|0}function lg(e,A){e=e|0;A=A|0;var r=0;r=t[46987]|0;while(1){if((r|0)<=0){r=0;break}if((sg(e,A,153597)|0)==-1){r=-1;break}else r=r+-1|0}return r|0}function sg(e,A,r){e=e|0;A=A|0;r=r|0;return Z5[t[(t[(t[e+64>>2]|0)+8>>2]|0)+4>>2]&127](A,r)|0}function cg(e,A){e=e|0;A=A|0;e=xv(e)|0;while(1){if(!e){e=0;break}if(!(rg(e)|0)){if((tg(e,A,0)|0)==-1){e=-1;break}if((ng(e,A)|0)==-1){e=-1;break}if((fg(e,A)|0)==-1){e=-1;break}}else cg(e,A)|0;e=Jv(e)|0}return e|0}function og(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;if((Ag(e,A)|0)==0?(Eg(e,A,r,i)|0)!=0:0)if((Bg(e,A)|0)==0?(yg(A)|0)==0:0)a=5;else e=1;else a=5;if((a|0)==5)e=0;return e|0}function ug(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=Bd(e)|0;do{if((lg(i,A)|0)!=-1?(wg(e,A)|0)!=-1:0){if((dg(e)|0)==0?(vg(e,A,r)|0)==-1:0){e=-1;break}e=sg(i,A,97330)|0}else e=-1}while(0);return e|0}function bg(e,A){e=e|0;A=A|0;e=xv(e)|0;while(1){if(!e){e=1;break}if((rg(e)|0)==0?uk(e,A,0)|0:0){e=0;break}e=Jv(e)|0}return e|0}function hg(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=t[e>>2]&3;n=t[((i|0)==3?e:e+48|0)+40>>2]|0;i=t[((i|0)==2?e:e+-48|0)+40>>2]|0;a=Bd(n)|0;do{if((((((lg(a,A)|0)!=-1?(wg(n,A)|0)!=-1:0)?(kg(e,A,t[46988]|0)|0)!=-1:0)?(n=(Bk(Bd(n)|0)|0)!=0,(sg(a,A,n?100079:100084)|0)!=-1):0)?(wg(i,A)|0)!=-1:0)?(kg(e,A,t[46989]|0)|0)!=-1:0){if(!(dg(e)|0)){if((vg(e,A,r)|0)==-1){e=-1;break}}else if((gg(e,A,1)|0)==-1){e=-1;break}e=sg(a,A,97330)|0}else e=-1}while(0);return e|0}function wg(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;l=h;h=h+32|0;n=l;r=l+8|0;i=Mk(e)|0;a=Bd(e)|0;if(!i){s=e+8|0;e=t[s+4>>2]|0;i=n;t[i>>2]=t[s>>2];t[i+4>>2]=e;T4(r,97350,n)|0;if((sg(a,A,r)|0)==-1)e=-1;else f=4}else if((mg(a,A,i)|0)==-1)e=-1;else f=4;if((f|0)==4)e=0;h=l;return e|0}function kg(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0;e:do{if((r|0)!=0?(a=Bd(e)|0,t=Pw(e,r)|0,(i[t>>0]|0)!=0):0)if((sg(a,A,107984)|0)==-1)e=-1;else{do{if(lv(t)|0){if((mg(a,A,t)|0)==-1){e=-1;break e}}else{e=C1(t,58)|0;if(!e)if((pg(a,A,t,0)|0)==-1){e=-1;break e}else break;i[e>>0]=0;if((pg(a,A,t,0)|0)==-1){e=-1;break e}if((sg(a,A,107984)|0)==-1){e=-1;break e}if((pg(a,A,e+1|0,0)|0)==-1){e=-1;break e}i[e>>0]=58}}while(0);e=0}else e=0}while(0);return e|0}function dg(e){e=e|0;return(t[e>>2]|0)>>>3&1|0}function vg(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;e:do{if(!(t[e>>2]&2)){i=0;c=4}else{switch(gg(e,A,0)|0){case-1:{i=-1;break e}case 0:{i=0;c=4;break e}default:{}}i=1;c=4}}while(0);e:do{if((c|0)==4){a=Ew(e)|0;s=Bd(e)|0;A:do{if(a){l=a+12|0;f=L5[t[r>>2]&63](r,0,128)|0;while(1){if(!f)break A;do{if(t[e>>2]&2){n=t[46988]|0;if(n|0?(t[f+16>>2]|0)==(t[n+16>>2]|0):0)break;n=t[46989]|0;if(!((n|0)!=0?(t[f+16>>2]|0)==(t[n+16>>2]|0):0))c=12}else c=12}while(0);if((c|0)==12){c=0;a=f+16|0;if((t[(t[l>>2]|0)+(t[a>>2]<<2)>>2]|0)!=(t[f+12>>2]|0)){n=i+1|0;if(i){if((sg(s,A,97345)|0)==-1){i=-1;break e}if((lg(s,A)|0)==-1){i=-1;break e}}else{if((lg(s,A)|0)==-1){i=-1;break e}if((sg(s,A,97342)|0)==-1){i=-1;break e}t[46987]=(t[46987]|0)+1}if((mg(s,A,t[f+8>>2]|0)|0)==-1){i=-1;break e}if((sg(s,A,97348)|0)==-1){i=-1;break e}if((mg(s,A,t[(t[l>>2]|0)+(t[a>>2]<<2)>>2]|0)|0)==-1){i=-1;break e}else i=n}}f=L5[t[r>>2]&63](r,f,8)|0}}}while(0);if((i|0)>0){if((sg(s,A,97340)|0)==-1){i=-1;break}t[46987]=(t[46987]|0)+-1}t[e>>2]=t[e>>2]|8;i=0}}while(0);return i|0}function gg(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0;a=Mk(e)|0;e=Bd(e)|0;if((a|0)!=0?(i[a>>0]|0)!=0:0)if((sg(e,A,97333)|0)!=-1?(mg(e,A,a)|0)!=-1:0)if((r|0)!=0?(sg(e,A,97340)|0)==-1:0)e=-1;else{e=1;t=7}else e=-1;else{e=0;t=7}return e|0}function mg(e,A,r){e=e|0;A=A|0;r=r|0;return pg(e,A,r,1)|0}function pg(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;if(!i)r=Kv(r,eg(r)|0)|0;else r=$v(r)|0;return sg(e,A,r)|0}function Eg(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e:do{if(0>>0|(0==(i|0)?(t[A>>2]|0)>>>4>>>0>>0:0))A=0;else{A=Kw(e,A)|0;while(1){if(!A){A=1;break e}if(0>>0|(0==(i|0)?(t[t[A+40>>2]>>2]|0)>>>4>>>0>>0:0)){A=0;break e}A=$w(e,A)|0}}}while(0);return A|0}function Bg(e,A){e=e|0;A=A|0;if(!(Kw(e,A)|0))e=(Ow(e,A)|0)==0&1;else e=0;return e|0}function yg(e){e=e|0;var A=0,r=0,i=0;e=Ew(e)|0;e:do{if(!e)e=0;else{r=e+8|0;i=t[r>>2]|0;A=e+12|0;e=L5[t[i>>2]&63](i,0,128)|0;while(1){if(!e){e=0;break e}if((t[(t[A>>2]|0)+(t[e+16>>2]<<2)>>2]|0)!=(t[e+12>>2]|0)){e=1;break e}i=t[r>>2]|0;e=L5[t[i>>2]&63](i,e,8)|0}}}while(0);return e|0}function Cg(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=dw(e,0)|0;if(i)if(((Ig(e,A,111494,t[i+16>>2]|0,r)|0)!=-1?(Ig(e,A,111481,t[i+8>>2]|0,r)|0)!=-1:0)?(Ig(e,A,111450,t[i+12>>2]|0,r)|0)!=-1:0)a=5;else e=-1;else a=5;if((a|0)==5)e=0;return e|0}function Ig(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;u=(n|0)!=0;if(u)o=0;else o=Kh(a,0)|0;c=(o|0)==0;s=L5[t[a>>2]&63](a,0,128)|0;n=0;while(1){if(!s){b=23;break}l=s+12|0;b=t[l>>2]|0;if((b|0)!=0?(i[b>>0]|0)!=0:0)b=12;else b=7;do{if((b|0)==7){b=0;if(!(i[s+22>>0]|0)){if(!c){f=L5[t[o>>2]&63](o,s,4)|0;h=t[f+12>>2]|0;if(h|0?i[h>>0]|0:0){b=12;break}if(!(i[f+22>>0]|0))b=12}}else b=12}}while(0);if((b|0)==12){b=0;f=n+1|0;if(n){if((sg(e,A,97345)|0)==-1){n=-1;break}if((lg(e,A)|0)==-1){n=-1;break}}else{if((lg(e,A)|0)==-1){n=-1;break}if((sg(e,A,r)|0)==-1){n=-1;break}if((sg(e,A,97342)|0)==-1){n=-1;break}t[46987]=(t[46987]|0)+1}if((mg(e,A,t[s+8>>2]|0)|0)==-1){n=-1;break}if((sg(e,A,97348)|0)==-1){n=-1;break}if((mg(e,A,t[l>>2]|0)|0)==-1){n=-1;break}else n=f}s=L5[t[a>>2]&63](a,s,8)|0}do{if((b|0)==23){if((n|0)>0){t[46987]=(t[46987]|0)+-1;if((n|0)!=1){if((sg(e,A,153599)|0)==-1){n=-1;break}if((lg(e,A)|0)==-1){n=-1;break}}n=(sg(e,A,97377)|0)==-1;if(u|n){n=n<<31>>31;break}}else if(u){n=0;break}Kh(a,o)|0;n=0}}while(0);return n|0}function Zg(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(t[A>>2]&3){case 0:{n=82;break}case 1:{n=83;break}case 3:case 2:{n=84;break}default:{}}A=Z5[n&127](e,A)|0;if(!A)A=-1;else{Dg(e,A,r,i,n,a);A=0}return A|0}function Gg(e,A){e=e|0;A=A|0;if((Bd(A)|0)!=(e|0))A=uk(e,A,0)|0;return A|0}function Lg(e,A){e=e|0;A=A|0;if((Bd(A)|0)!=(e|0))A=hd(e,A,0)|0;return A|0}function Qg(e,A){e=e|0;A=A|0;return e|0}function Dg(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;var n=0,f=0,l=0;f=(t|0)!=0;if(f)V5[r&127](e,A,i);n=xv(e)|0;while(1){if(!n)break;l=Z5[a&127](n,A)|0;if(l|0)Dg(n,l,r,i,a,t);n=Jv(n)|0}if(!f)V5[r&127](e,A,i);return}function zg(){var e=0,A=0,r=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+1200|0;d=g+800|0;r=g;t[46990]=0;t[46991]=-2;A=d;l=200;u=r;w=0;k=0;b=d;e:while(1){a[b>>1]=w;if((A+(l<<1)+-2|0)>>>0>b>>>0)c=l;else{o=b-A>>1;e=o+1|0;if(l>>>0>9999){v=75;break}c=l<<1;c=c>>>0<1e4?c:1e4;f=Z2(c*6|3)|0;if(f){Q6(f|0,A|0,e<<1|0)|0;l=f+(c>>>1<<2)|0;Q6(l|0,u|0,e<<2|0)|0;if((A|0)==(d|0)){e=0;A=f}else{G2(A);e=0;A=f}}else{e=4;l=u}s=(e|0)==0;f=A+(o<<1)|0;switch((s?(A+(c<<1)+-2|0)>>>0>f>>>0?0:9:e)&15){case 9:{e=1;v=76;break e}case 4:{v=75;break e}case 0:{r=s?l+(o<<2)|0:r;u=l;b=s?f:b;break}default:{e=0;break e}}}if((w|0)==6){e=0;v=76;break}e=i[97381+w>>0]|0;s=e<<24>>24;do{if(e<<24>>24!=-18){f=t[46991]|0;if((f|0)==-2){f=uv()|0;t[46991]=f}if((f|0)>=1)if(f>>>0<269)l=n[97461+f>>0]|0;else l=2;else{t[46991]=0;l=0}f=l+s|0;if(f>>>0<=59?(l|0)==(n[97730+f>>0]|0):0){w=i[97790+f>>0]|0;e=w<<24>>24;if(w<<24>>24<1){f=0-e|0;v=23;break}else{t[46991]=-2;r=r+4|0;t[r>>2]=t[46992];s=(k|0)==0?0:k+-1|0;f=b;break}}else v=22}else v=22}while(0);if((v|0)==22){v=0;w=i[97850+w>>0]|0;f=w&255;if(!(w<<24>>24)){f=t[46991]|0;A:do{switch(k|0){case 0:{t[46990]=(t[46990]|0)+1;Wv(143761);f=b;break}case 3:if((f|0)<1)if(!f){e=1;v=76;break e}else{f=b;break A}else{t[46991]=-2;f=b;break A}default:f=b}}while(0);while(1){if(e<<24>>24==18)break;if((f|0)==(A|0)){e=1;v=76;break e}e=f+-2|0;r=r+-4|0;f=e;e=i[97381+(a[e>>1]|0)>>0]|0}r=r+4|0;t[r>>2]=t[46992];e=1;s=3}else v=23}do{if((v|0)==23){v=0;l=n[97930+f>>0]|0;e=t[r+(1-l<<2)>>2]|0;A:do{switch(f|0){case 2:{Wg();Yg();break}case 3:{if(t[46993]|0){Wg();Yg();vk(t[46993]|0)|0;t[46942]=0;t[46993]=0}break}case 6:{Fg(t[r>>2]|0,t[r+-4>>2]|0,t[r+-8>>2]|0);break}case 7:{e=t[r>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(t[r+-4>>2]|0)){Vg();break A}else{Mg();break A}case 24:{Ng();break}case 25:{Ng();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{Rg(t[r>>2]|0,0,0);break}case 31:{Rg(t[r+-8>>2]|0,t[r>>2]|0,0);break}case 32:{Rg(t[r+-16>>2]|0,t[r+-8>>2]|0,t[r>>2]|0);break}case 33:{xg(t[r+-8>>2]|0,t[r+-4>>2]|0);break}case 34:{xg(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=t[r+-4>>2]|0;break}case 39:{e=0;break}case 48:{Jg(t[r+-8>>2]|0,t[r>>2]|0);break}case 49:{Jg(t[r>>2]|0,0);break}case 51:{Hg(t[r>>2]|0);break}case 52:{Pg();break}case 53:{e=t[r>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=t[r>>2]|0;break}case 60:{e=t[r>>2]|0;break}case 61:{e=t[r>>2]|0;break}case 62:{e=Xg(t[r+-8>>2]|0,t[r>>2]|0)|0;break}default:{}}}while(0);l=0-l|0;w=r+(l<<2)|0;l=b+(l<<1)|0;r=w+4|0;t[w+4>>2]=e;e=(n[97993+f>>0]|0)+-24|0;w=a[l>>1]|0;f=w+(i[98056+e>>0]|0)|0;if(f>>>0<60?(n[97730+f>>0]|0)==(w|0):0){e=i[97790+f>>0]|0;s=k;f=l;break}e=i[98091+e>>0]|0;s=k;f=l}}while(0);l=c;w=e;k=s;b=f+2|0}if((v|0)==75){Wv(140558);e=2;v=76}if((v|0)==76)if((A|0)!=(d|0))G2(A);h=g;return e|0}function Wg(){var e=0,A=0;e=t[46994]|0;while(1){if(!e)break;Kg(e+8|0);Kg((t[46994]|0)+24|0);Kg((t[46994]|0)+16|0);A=Sg(t[46994]|0)|0;t[46994]=A;e=A}return}function Yg(){Yv();Sk(t[46993]|0);return}function Fg(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;f=h;h=h+16|0;n=f;a=t[46993]|0;if(!a){i[187980]=A&1|(r&255)<<1&2|i[187980]&-12|8;a=t[46996]|0;i[n>>0]=i[187980]|0;i[n+1>>0]=i[187981]|0;i[n+2>>0]=i[187982]|0;i[n+3>>0]=i[187983]|0;a=hk(e,n,a)|0;t[46993]=a}t[46942]=a;t[46994]=jg(t[46994]|0,a)|0;fv(0,e)|0;h=f;return}function Mg(){var e=0,A=0,r=0,a=0,n=0,f=0;qg(2);r=t[46994]|0;a=i[98126]|0;f=0;e=r+24|0;while(1){A=t[e>>2]|0;if(!A)break;if(((t[A>>2]|0)==267?(n=t[A+4>>2]|0,(i[n>>0]|0)==a<<24>>24):0)?(e1(n,98126)|0)==0:0)e=t[A+8>>2]|0;else e=f;f=e;e=A+12|0}e=r+16|0;e:while(1){r=t[e>>2]|0;e=r+12|0;if(!(t[e>>2]|0))break;A=r+4|0;if((t[r>>2]|0)==262){r=t[A>>2]|0;A=sd(r)|0;while(1){if(!A)continue e;n=hd(t[t[46994]>>2]|0,A,0)|0;tm(n,0,t[e>>2]|0,f);A=cd(r,A)|0}}else while(1){A=t[A>>2]|0;if(!A)continue e;tm(t[A+4>>2]|0,t[A+8>>2]|0,t[e>>2]|0,f);A=A+12|0}}Kg((t[46994]|0)+8|0);Kg((t[46994]|0)+16|0);Kg((t[46994]|0)+24|0);t[(t[46994]|0)+4>>2]=0;return}function Vg(){var e=0;qg(1);e=(t[46994]|0)+8|0;while(1){e=t[e>>2]|0;if(!e)break;am(t[e+4>>2]|0);e=e+12|0}Kg((t[46994]|0)+8|0);Kg((t[46994]|0)+24|0);Kg((t[46994]|0)+16|0);t[(t[46994]|0)+4>>2]=0;return}function Ng(){var e=0,A=0;e=t[46994]|0;A=t[e+8>>2]|0;if(!A){A=t[e+4>>2]|0;if(!A)A=0;else{A=im(A)|0;e=t[46994]|0}t[e+4>>2]=0}else{A=rm(A)|0;e=t[46994]|0;t[e+12>>2]=0;t[e+8>>2]=0}if(A|0)Tg(e+16|0,A);return}function Rg(e,A,r){e=e|0;A=A|0;r=r|0;if(r)A=em(A,r)|0;r=Am(gd(t[t[46994]>>2]|0,e,1)|0,A)|0;Tg((t[46994]|0)+8|0,r);fv(t[46993]|0,e)|0;return}function xg(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;if(A|0)_g();A=(t[46994]|0)+24|0;while(1){A=t[A>>2]|0;if(!A)break;if(!(t[A+8>>2]|0))_g();A=A+12|0}n=(e|0)==260?2:(e|0)==259&1;qg(n);e=t[46994]|0;A=e+24|0;while(1){a=t[A>>2]|0;if(!a)break;do{if((t[a>>2]|0)!=267){A=t[a+4>>2]|0;r=t[e>>2]|0;if(!((i[A+21>>0]|0)!=0&(r|0)==(t[46993]|0))){A=zw(r,n,t[A+8>>2]|0,t[a+8>>2]|0)|0;e=t[46994]|0;if((t[e>>2]|0)!=(t[46993]|0))break}i[A+22>>0]=1}}while(0);A=a+12|0}Kg(e+24|0);return}function Jg(e,A){e=e|0;A=A|0;A=Ug(e,A)|0;Tg((t[46994]|0)+24|0,A);return}function Hg(e){e=e|0;var A=0;A=t[46994]|0;t[46994]=jg(A,Rv(t[A>>2]|0,e,1)|0)|0;fv(t[46993]|0,e)|0;return}function Pg(){var e=0,A=0;e=t[46994]|0;A=t[e>>2]|0;e=Sg(e)|0;t[46994]=e;t[e+4>>2]=A;return}function Xg(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+1024|0;a=n;r=U2(e)|0;r=r+1+(U2(A)|0)|0;if(r>>>0<1025)r=a;else r=Z2(r)|0;$1(r,e)|0;b3(r,A)|0;i=tv(t[46993]|0,r)|0;fv(t[46993]|0,e)|0;fv(t[46993]|0,A)|0;if((r|0)!=(a|0))G2(r);h=n;return i|0}function Sg(e){e=e|0;var A=0;A=t[(t[46994]|0)+32>>2]|0;ad(t[46993]|0,e);return A|0}function jg(e,A){e=e|0;A=A|0;var r=0;r=id(t[46993]|0,36)|0;t[r+32>>2]=e;t[r>>2]=A;return r|0}function Ug(e,A){e=e|0;A=A|0;return Og(267,e,A)|0}function Tg(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+4|0;i=t[r>>2]|0;if(i|0)t[i+12>>2]=A;t[r>>2]=A;if(!(t[e>>2]|0))t[e>>2]=A;return}function Og(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=id(t[46993]|0,16)|0;t[i>>2]=e;t[i+4>>2]=A;t[i+8>>2]=r;return i|0}function _g(){var e=0;e=h;h=h+16|0;nw(0,98130,e)|0;h=e;return}function qg(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;n=(e|0)==2;A=(t[46994]|0)+24|0;while(1){A=t[A>>2]|0;if(!A)break;r=A+4|0;a=t[r>>2]|0;if(!((n?(i[a>>0]|0)==(i[98126]|0):0)?!(e1(a,98126)|0):0)){f=zw(t[t[46994]>>2]|0,e,a,0)|0;t[r>>2]=f;if(!f)t[r>>2]=zw(t[t[46994]>>2]|0,e,a,195059)|0;t[A>>2]=266;fv(t[46993]|0,a)|0}A=A+12|0}return}function Kg(e){e=e|0;$g(t[e>>2]|0);t[e+4>>2]=0;t[e>>2]=0;return}function $g(e){e=e|0;var A=0;while(1){if(!e)break;A=t[e+12>>2]|0;switch(t[e>>2]|0){case 265:{$g(t[e+4>>2]|0);break}case 266:case 267:{fv(t[46993]|0,t[e+8>>2]|0)|0;break}default:{}}ad(t[46993]|0,e);e=A}return}function em(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+1040|0;a=f;n=f+8|0;r=U2(e)|0;r=r+2+(U2(A)|0)|0;if(r>>>0<1025)i=n;else i=Z2(r)|0;t[a>>2]=e;t[a+4>>2]=A;T4(i,98163,a)|0;r=tv(t[46993]|0,i)|0;fv(t[46993]|0,e)|0;fv(t[46993]|0,A)|0;if((i|0)!=(n|0))G2(i);h=f;return r|0}function Am(e,A){e=e|0;A=A|0;return Og(259,e,A)|0}function rm(e){e=e|0;return Og(265,e,0)|0}function im(e){e=e|0;return Og(262,e,0)|0}function am(e){e=e|0;var A=0,r=0;A=(t[46994]|0)+24|0;while(1){A=t[A>>2]|0;if(!A)break;if((t[A>>2]|0)==266?(r=t[A+4>>2]|0,r|0):0)Mw(e,r,t[A+8>>2]|0)|0;A=A+12|0}return}function tm(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=r+4|0;e:do{if((t[r>>2]|0)==262){r=t[a>>2]|0;a=sd(r)|0;while(1){if(!a)break e;nm(e,A,hd(t[t[46994]>>2]|0,a,0)|0,0,i);a=cd(r,a)|0}}else while(1){a=t[a>>2]|0;if(!a)break e;r=hd(t[t[46994]>>2]|0,t[a+4>>2]|0,0)|0;nm(e,A,r,t[a+8>>2]|0,i);a=a+12|0}}while(0);return}function nm(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;r=lk(t[t[46994]>>2]|0,e,r,a,1)|0;if(r|0){n=t[r>>2]&3;a=t[((n|0)==2?r:r+-48|0)+40>>2]|0;e=(a|0)==(e|0)?(t[((n|0)==3?r:r+48|0)+40>>2]|0)!=(a|0):0;fm(r,111455,e?i:A);fm(r,111464,e?A:i);am(r)}return}function fm(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if(r|0){i=zw(t[t[46994]>>2]|0,2,A,0)|0;if(!i)i=zw(t[t[46994]>>2]|0,2,A,195059)|0;Mw(e,i,r)|0}return}function lm(e,A,r){e=e|0;A=A|0;r=r|0;t[46962]=A;t[46993]=e;t[46942]=0;e=r|0?r:18600;t[46996]=e;ov(e,A);zg()|0;e=t[46942]|0;if(!e){Mv();e=t[46942]|0}return e|0}function sm(e,A){e=e|0;A=A|0;return lm(0,e,A)|0}function cm(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c+8|0;l=c;A=t[e+76>>2]|0;a=t[e>>2]|0;if((A|0)!=0?(r=t[A>>2]|0,(r|0)!=0):0){F5[r&127](e);n=12}else n=4;do{if((n|0)==4)if((t[e+40>>2]|0)==0?(f=e+36|0,(t[f>>2]|0)==0):0){if(i[a+13>>0]|0)om(e);A=e+32|0;r=t[A>>2]|0;if(!r){t[f>>2]=t[15679];n=12;break}a=F3(r,106512)|0;t[f>>2]=a;if(!a){s=t[(t[e+12>>2]|0)+16>>2]|0;f=t[A>>2]|0;A=A1(t[(R2()|0)>>2]|0)|0;t[l>>2]=f;t[l+4>>2]=A;M5[s&63](98169,l);A=1}else n=12}else n=12}while(0);if((n|0)==12)if(!(t[e+152>>2]&1024))A=0;else{M5[t[(t[e+12>>2]|0)+16>>2]&63](98207,s);A=1}h=c;return A|0}function om(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;f=h;h=h+112|0;r=f;n=f+4|0;A=t[e+24>>2]|0;if(!A)i[n>>0]=0;else{t[r>>2]=A+1;T4(n,98225,r)|0}r=t[e+20>>2]|0;r=r|0?r:98229;A=U2(r)|0;l=U2(n)|0;a=e+52|0;l=A+1+l+(U2(t[a>>2]|0)|0)|0;A=l+11|0;if((t[46997]|0)>>>0<(l+1|0)>>>0){t[46997]=A;A=Q2(t[46998]|0,A)|0;t[46998]=A}else A=t[46998]|0;$1(A,r)|0;b3(t[46998]|0,n)|0;A=t[46998]|0;A=A+(U2(A)|0)|0;i[A>>0]=46;i[A+1>>0]=0;A=o3(t[a>>2]|0)|0;a=t[46998]|0;while(1){r=u3(A,58)|0;if(!r)break;b3(a,r+1|0)|0;l=t[46998]|0;n=l+(U2(l)|0)|0;i[n>>0]=46;i[n+1>>0]=0;i[r>>0]=0;a=l}b3(a,A)|0;G2(A);t[e+32>>2]=t[46998];h=f;return}function um(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f+8|0;a=f;if((A|0)!=0&(r|0)!=0){if(t[e+152>>2]&1024|0){M5[t[(t[e+12>>2]|0)+16>>2]&63](98207,a);Ue(1)}if((bm(e,A,r)|0)==(r|0))i=r;else{a=t[(t[e+12>>2]|0)+16>>2]|0;t[n>>2]=r;M5[a&63](98239,n);Ue(1)}}else i=0;h=f;return i|0}function bm(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b;a=t[(t[e>>2]|0)+104>>2]|0;do{if(!a){s=e+40|0;f=t[s>>2]|0;if(!f){r=G3(A,1,r,t[e+36>>2]|0)|0;break}a=e+44|0;l=e+48|0;n=t[l>>2]|0;do{if(((t[a>>2]|0)+-1-n|0)>>>0>>0){n=r+4096+n&-4096;t[a>>2]=n;a=Q2(f,n)|0;t[s>>2]=a;if(!a){M5[t[(t[e+12>>2]|0)+16>>2]&63](98264,u);Ue(1)}else{c=a;o=t[l>>2]|0;break}}else{c=f;o=n}}while(0);Q6(c+o|0,A|0,r|0)|0;u=(t[l>>2]|0)+r|0;t[l>>2]=u;i[(t[s>>2]|0)+u>>0]=0}else r=L5[a&63](e,A,r)|0}while(0);h=b;return r|0}function hm(e,A){e=e|0;A=A|0;var r=0;r=U2(A)|0;A=(um(e,A,r)|0)==(r|0);return(A?1:-1)|0}function wm(e,A){e=e|0;A=A|0;var r=0,a=0;r=h;h=h+16|0;a=r;i[a>>0]=A;e=(um(e,a,1)|0)==1;h=r;return(e?A:-1)|0}function km(e){e=e|0;var A=0;A=t[e+36>>2]|0;if(((A|0)!=0?(i[e+144>>0]|0)==0:0)?(t[(t[e>>2]|0)+104>>2]|0)==0:0)e=m3(A)|0;else e=0;return e|0}function dm(e){e=e|0;var A=0,r=0;A=t[e+76>>2]|0;if(A|0?(r=t[A+4>>2]|0,r|0):0)F5[r&127](e);km(e)|0;return}function vm(e){e=e|0;var A=0,r=0,i=0;i=h;h=h+16|0;r=t[e+76>>2]|0;if(t[e+152>>2]&1024|0){M5[t[(t[e+12>>2]|0)+16>>2]&63](98291,i);Ue(1)}if((r|0)!=0?(A=t[r+8>>2]|0,(A|0)!=0):0)F5[A&127](e);else{km(e)|0;gm(e)}h=i;return}function gm(e){e=e|0;var A=0,r=0,a=0;A=e+32|0;if((t[A>>2]|0?(r=e+36|0,a=t[r>>2]|0,(a|0)!=(t[15679]|0)):0)?(i[e+144>>0]|0)==0:0){if(a|0){k3(a)|0;t[r>>2]=0}t[A>>2]=0}return}function mm(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+1056|0;a=l;f=l+24|0;n=l+8|0;t[n>>2]=r;i=h4(f,1024,A,n)|0;if((i|0)>=0){if((i|0)>1023){i=$F(i+1|0)|0;t[n>>2]=r;a=i;i=O4(i,A,n)|0}else a=f;um(e,a,i)|0;if((a|0)!=(f|0))G2(a)}else{t[a>>2]=A1(t[(R2()|0)>>2]|0)|0;nw(1,98308,a)|0}h=l;return}function pm(e,A){e=e|0;A=+A;var r=0,i=0,a=0;r=h;h=h+16|0;i=r;a=Em(i,A)|0;um(e,a,t[i>>2]|0)|0;h=r;return}function Em(e,A){e=e|0;A=+A;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;if(!(A<-1.0e15))if(!(A>1.0e15)){A=A*1.0e4;a=~~((A<0.0?-.5:.5)+A);if(!a){a=138394;r=1}else{o=(a|0)<0;c=4;l=0;r=194826;a=o?0-a|0:a;while(1){if(!((a|0)!=0|(c|0)>0))break;n=(a|0)%10|0;s=(a|0)/10|0;f=r+-1|0;if((n|0)==0&l<<24>>24==0)a=0;else{i[f>>0]=n|48;a=1;r=f}if((c|0)==1)if(!(a<<24>>24))a=1;else{r=r+-1|0;i[r>>0]=46;a=1}c=c+-1|0;l=a;a=s}if(o){r=r+-1|0;i[r>>0]=45}a=r;r=194826-r|0}}else{a=98323;r=18}else{a=98322;r=19}t[e>>2]=r;return a|0}function Bm(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+16|0;i=r;a=Em(i,+c[A>>3])|0;um(e,a,t[i>>2]|0)|0;um(e,102604,1)|0;A=Em(i,+c[A+8>>3])|0;um(e,A,t[i>>2]|0)|0;h=r;return}function ym(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=h;h=h+16|0;a=n;i=0;while(1){f=A+(i<<4)|0;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2];Bm(e,a);i=i+1|0;if((i|0)>=(r|0))break;um(e,102604,1)|0}h=n;return}function Cm(e,A){e=e|0;A=A|0;var r=0;r=KF(392)|0;if(r|0){t[r>>2]=20156;t[r+16>>2]=23;t[r+32>>2]=e;t[r+36>>2]=A}return r|0}function Im(e){e=e|0;var A=0,r=0,i=0,a=0;A=KF(392)|0;r=A;i=e;a=r+40|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(a|0));a=A+60|0;i=e+60|0;t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];t[a+8>>2]=t[i+8>>2];t[a+12>>2]=t[i+12>>2];t[a+16>>2]=t[i+16>>2];a=A+80|0;i=e+80|0;t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];t[a+8>>2]=t[i+8>>2];t[a+12>>2]=t[i+12>>2];t[a+16>>2]=t[i+16>>2];return A|0}function Zm(e){e=e|0;Ym(e);G2(e);return}function Gm(e,A){e=e|0;A=A|0;var r=0,i=0;i=e+160|0;r=t[i>>2]|0;if(r){i=t[46999]|0;if(i){r=t[i+4>>2]|0;if(!r){r=KF(632)|0;t[(t[46999]|0)+4>>2]=r}}}else{r=KF(632)|0;t[i>>2]=r;t[e+164>>2]=r}t[46999]=r;t[r+32>>2]=A;t[r>>2]=e;return}function Lm(e,A){e=e|0;A=A|0;var r=0,i=0;i=e+160|0;r=t[i>>2]|0;if(r){i=t[47e3]|0;if(i){r=t[i+4>>2]|0;if(!r){r=KF(632)|0;t[(t[47e3]|0)+4>>2]=r}}}else{r=KF(632)|0;t[i>>2]=r;t[e+164>>2]=r}t[47e3]=r;t[r+52>>2]=A;t[r>>2]=e;return(Vm(e,3,A)|0)!=0|0}function Qm(e){e=e|0;var A=0;A=t[e+160>>2]|0;t[e+164>>2]=A;return A|0}function Dm(e){e=e|0;var A=0,r=0,i=0;e=e+164|0;A=t[e>>2]|0;r=t[A+4>>2]|0;if(r|0?(i=r+52|0,(t[i>>2]|0)==0):0)t[i>>2]=t[A+52>>2];t[e>>2]=r;return r|0}function zm(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=e+8|0;a=A+10|0;if((t[i>>2]|0)>(A|0))e=t[e>>2]|0;else{t[i>>2]=a;a=AM(t[e>>2]|0,a<<2)|0;t[e>>2]=a;e=a}t[e+(A<<2)>>2]=r;return}function Wm(e){e=e|0;var A=0;A=t[e>>2]|0;if(A|0)G2(A);t[e>>2]=0;t[e+8>>2]=0;t[e+4>>2]=0;return}function Ym(e){e=e|0;var A=0,r=0,i=0;r=e+160|0;A=t[r>>2]|0;while(1){if(!A)break;i=t[A+4>>2]|0;Wm(A+604|0);Wm(A+592|0);G2(t[A+584>>2]|0);G2(t[A+588>>2]|0);G2(A);A=i}t[47e3]=0;t[46999]=0;t[e+192>>2]=0;t[e+164>>2]=0;t[r>>2]=0;t[e+28>>2]=0;return}function Fm(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0;u=h;h=h+128|0;c=u+64|0;o=u;X4(c,r,63)|0;l=C1(c,58)|0;if(l|0)i[l>>0]=0;e=e+60+(A<<2)|0;while(1){A=t[e>>2]|0;if(!A){A=e;e=0;break}X4(o,t[A+4>>2]|0,63)|0;A=C1(o,58)|0;if(A|0)i[A>>0]=0;if((e1(c,o)|0)<1){s=9;break}e=t[e>>2]|0}while(1){if((s|0)==9){A=e;e=t[e>>2]|0}if(!e)break;X4(o,t[e+4>>2]|0,63)|0;e=C1(o,58)|0;if(e|0)i[e>>0]=0;if(e1(c,o)|0)break;e=t[A>>2]|0;if((t[e+8>>2]|0)<=(a|0))break;s=9}o=$F(20)|0;t[o>>2]=t[A>>2];t[A>>2]=o;t[o+4>>2]=r;t[o+8>>2]=a;t[o+12>>2]=n;t[o+16>>2]=f;h=u;return 1}function Mm(e,A){e=e|0;A=A|0;A=h;h=h+16|0;nw(1,98396,A)|0;h=A;return 0}function Vm(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+144|0;d=v;b=v+80|0;w=v+16|0;u=(A+-3|0)>>>0<2?0:A;X4(b,r,63)|0;r=C1(b,58)|0;if(r){a=r+1|0;i[r>>0]=0;r=C1(a,58)|0;if(!r)o=0;else{i[r>>0]=0;o=r+1|0}}else{o=0;a=0}l=(a|0)!=0;s=(o|0)==0;c=(u|0)==(A|0);f=e+60+(A<<2)|0;e:while(1){r=t[f>>2]|0;if(!r){r=0;break}X4(w,t[r+4>>2]|0,63)|0;r=C1(w,58)|0;if(!r)r=0;else{i[r>>0]=0;r=r+1|0}do{if(!(e1(w,b)|0)){n=(r|0)!=0;if(l&n?e1(r,a)|0:0)break;if(!s?e1(o,t[(t[(t[f>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(c|n^1){k=16;break e}if(Vm(e,u,r)|0){k=16;break e}}}while(0);f=t[f>>2]|0}do{if((k|0)==16){r=t[f>>2]|0;if(r){a=r+16|0;if((t[a>>2]|0)==0?(Mm(0,0)|0,(t[a>>2]|0)==0):0){r=0;break}if((t[e+8>>2]|0)>0){k=t[15712]|0;b=t[r+4>>2]|0;w=t[(t[r+12>>2]|0)+8>>2]|0;t[d>>2]=t[20168+(A<<2)>>2];t[d+4>>2]=b;t[d+8>>2]=w;a3(k,98427,d)|0}}else r=0}}while(0);t[e+80+(A<<2)>>2]=r;h=v;return r|0}function Nm(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;do{if(!r)r=0;else{if(t[5047]|0){cw(188004,0,0);t[5047]=0}f=o3(r)|0;r=C1(f,58)|0;if(r){i[r>>0]=0;a=e+60+(A<<2)|0;r=1;n=a;while(1){e=t[n>>2]|0;if(!e)break;A=o3(t[e+4>>2]|0)|0;e=C1(A,58)|0;if(e|0)i[e>>0]=0;if(!((i[f>>0]|0)!=0?(N1(f,A)|0)!=0:0)){r=t[47002]|0;if(r>>>0>=(t[47003]|0)>>>0){ow(188004,1)|0;r=t[47002]|0}t[47002]=r+1;i[r>>0]=32;bw(188004,t[(t[n>>2]|0)+4>>2]|0)|0;r=t[47002]|0;if(r>>>0>=(t[47003]|0)>>>0){ow(188004,1)|0;r=t[47002]|0}t[47002]=r+1;i[r>>0]=58;bw(188004,t[(t[(t[n>>2]|0)+12>>2]|0)+8>>2]|0)|0;r=0}G2(A);n=t[n>>2]|0}G2(f);if(r<<24>>24){n=0;l=19}}else{G2(f);n=0;a=e+60+(A<<2)|0;r=1;l=19}if((l|0)==19){while(1){e=t[a>>2]|0;if(!e)break;A=o3(t[e+4>>2]|0)|0;e=C1(A,58)|0;if(e|0)i[e>>0]=0;if(!((n|0)!=0?(N1(n,A)|0)==0:0)){r=t[47002]|0;if(r>>>0>=(t[47003]|0)>>>0){ow(188004,1)|0;r=t[47002]|0}t[47002]=r+1;i[r>>0]=32;bw(188004,A)|0;r=0}n=A;a=t[a>>2]|0;l=19}if(r<<24>>24){r=195059;break}}r=t[47002]|0;if(r>>>0>=(t[47003]|0)>>>0){ow(188004,1)|0;r=t[47002]|0}i[r>>0]=0;r=t[47001]|0;t[47002]=r}}while(0);return r|0}function Rm(e){e=e|0;var A=0;if(!e)ge(111208,98444,573,98458);if(!(i[e>>0]|0))ge(111213,98444,574,98458);A=t[47005]|0;if(!A)e=0;else e=L5[t[A>>2]&63](A,e,512)|0;return e|0}function xm(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c+8|0;l=c;if(!e)ge(111312,98444,589,98475);n=e+8|0;r=t[n>>2]|0;if(!r)ge(111315,98444,590,98475);if(!(i[r>>0]|0))ge(111324,98444,591,98475);f=e+20|0;a=t[f>>2]|0;do{if(!a){A=Lx(r)|0;if(!A){t[l>>2]=t[n>>2];nw(0,98499,l)|0;A=0;break}l=F3(A,138821)|0;t[f>>2]=l;if(!l){t[s>>2]=A1(t[(R2()|0)>>2]|0)|0;t[s+4>>2]=A;nw(0,98524,s)|0;A=0;break}A=t[47006]|0;if((A|0)>49){i[e+17>>0]=1;A=1;break}else{t[47006]=A+1;A=1;break}}else{O3(a,0,0)|0;if(!(t[f>>2]|0))ge(98545,98444,614,98475);else A=1}}while(0);h=c;return A|0}function Jm(e){e=e|0;var A=0,r=0;if(i[e+17>>0]|0?(A=e+20|0,r=t[A>>2]|0,r|0):0){k3(r)|0;t[A>>2]=0}return}function Hm(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0;if(!A){i=-1;r=-1}else{i=t[A+48>>2]|0;a=+(i|0);if(!i){n=+c[r>>3];a=+c[r+8>>3]}else{c[r+8>>3]=a;c[r>>3]=a;n=a}i=~~(+((t[A+40>>2]|0)*72|0)/n);r=~~(+((t[A+44>>2]|0)*72|0)/a)}t[e>>2]=i;t[e+4>>2]=r;return}function Pm(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0.0;o=h;h=h+48|0;a=o+16|0;l=o;s=o+32|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){if((0==0?(n=t[47133]|0,(t[47007]|0)!=(n|0)):0)?(t[47007]=n,f=t[47005]|0,f|0):0){Ph(f)|0;t[47005]=0}u=+c[(t[(t[A+16>>2]|0)+8>>2]|0)+24>>3];u=!(u>=1.0)?96.0:u;c[l+8>>3]=u;c[l>>3]=u;A=Xm(r)|0;t[a>>2]=t[l>>2];t[a+4>>2]=t[l+4>>2];t[a+8>>2]=t[l+8>>2];t[a+12>>2]=t[l+12>>2];Hm(s,A,a);A=t[s>>2]|0;a=t[s+4>>2]|0}else{A=-1;a=-1}t[e>>2]=A;t[e+4>>2]=a;h=o;return}function Xm(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+16|0;i=a;if(!e)ge(111208,98444,638,98551);if(!(t[47005]|0))t[47005]=Uh(20192,t[4589]|0)|0;A=Rm(e)|0;e:do{if(!A){A=KF(64)|0;if(!A)A=0;else{r=A+8|0;t[r>>2]=tv(0,e)|0;if(!((xm(A)|0)<<24>>24)){Sm(A);A=0;break}if(!(t[A+20>>2]|0))ge(98545,98444,653,98551);do{switch(jm(A)|0){case 0:{e=CN(t[r>>2]|0)|0;t[A+52>>2]=e;if(!e){t[i>>2]=t[r>>2];nw(0,98568,i)|0;Sm(A);A=0;break e}break}case 2:{Um(A);break}case 3:{Tm(A);break}case 1:{Om(A);break}case 4:{_m(A);break}case 6:{qm(A);break}case 11:{Km(A);break}case 8:{$m(A);break}case 5:{ep(A);break}case 12:{Ap(A);break}default:{}}}while(0);Jm(A);i=t[47005]|0;L5[t[i>>2]&63](i,A,1)|0}}else Jm(A)}while(0);h=a;return A|0}function Sm(e){e=e|0;var A=0;A=t[e+8>>2]|0;if(A|0)fv(0,A)|0;G2(e);return}function jm(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+224|0;a=s+200|0;n=s;f=e+20|0;A=t[f>>2]|0;e:do{if((A|0)!=0?(t6(a,1,20,A)|0)==20:0){r=0;while(1){if(r>>>0>=10){l=13;break e}if(!(F4(a,t[20228+(r<<4)>>2]|0,t[20228+(r<<4)+4>>2]|0)|0))break;r=r+1|0}i=e+28|0;t[i>>2]=t[20228+(r<<4)+12>>2];A=t[20228+(r<<4)+8>>2]|0;e=e+24|0;t[e>>2]=A;switch(r|0){case 7:break;case 8:{if(F4(a+8|0,98784,4)|0)break e;t[i>>2]=98789;t[e>>2]=11;A=11;break e}default:break e}while(1){if(!(N4(n,200,t[f>>2]|0)|0)){l=11;break}if(!(F4(n,98779,4)|0)){l=8;break}}if((l|0)==8){t[i>>2]=101803;t[e>>2]=8;A=8;break}else if((l|0)==11){A=t[e>>2]|0;break}}else l=13}while(0);if((l|0)==13){t[e+28>>2]=98794;t[e+24>>2]=0;A=0}h=s;return A|0}function Um(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+16|0;A=a+4|0;r=a;t[e+48>>2]=0;i=e+20|0;O3(t[i>>2]|0,6,0)|0;if((cp(t[i>>2]|0,2,A)|0)<<24>>24?(cp(t[i>>2]|0,2,r)|0)<<24>>24:0){t[e+40>>2]=t[A>>2];t[e+44>>2]=t[r>>2]}h=a;return}function Tm(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+16|0;A=a+4|0;r=a;t[e+48>>2]=0;i=e+20|0;O3(t[i>>2]|0,16,0)|0;if((rp(t[i>>2]|0,4,A)|0)<<24>>24?(rp(t[i>>2]|0,4,r)|0)<<24>>24:0){t[e+40>>2]=t[A>>2];t[e+44>>2]=t[r>>2]}h=a;return}function Om(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;A=f+12|0;r=f+8|0;i=f+4|0;a=f;t[e+48>>2]=0;n=e+20|0;O3(t[n>>2]|0,16,0)|0;if((((cp(t[n>>2]|0,2,A)|0)<<24>>24?(cp(t[n>>2]|0,2,r)|0)<<24>>24:0)?(cp(t[n>>2]|0,2,i)|0)<<24>>24:0)?(cp(t[n>>2]|0,2,a)|0)<<24>>24:0){t[e+40>>2]=t[A>>2]<<16|t[r>>2];t[e+44>>2]=t[i>>2]<<16|t[a>>2]}h=f;return}function _m(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+32|0;A=o+16|0;i=o+12|0;a=o+8|0;f=o+4|0;l=o;t[e+48>>2]=0;s=e+20|0;while(1){if(!((rp(t[s>>2]|0,1,A)|0)<<24>>24))break;r=t[A>>2]|0;if((r|0)==255)continue;if(C1(98767,r)|0)continue;if((r|0)==192){c=6;break}n=t[s>>2]|0;if((r|0)==194){c=11;break}if(!((rp(n,2,i)|0)<<24>>24))break;O3(t[s>>2]|0,(t[i>>2]|0)+-2|0,1)|0}if((c|0)==6){if(((rp(t[s>>2]|0,3,l)|0)<<24>>24?(rp(t[s>>2]|0,2,a)|0)<<24>>24:0)?(rp(t[s>>2]|0,2,f)|0)<<24>>24:0){t[e+44>>2]=t[a>>2];t[e+40>>2]=t[f>>2]}}else if((((c|0)==11?(rp(n,3,l)|0)<<24>>24:0)?(rp(t[s>>2]|0,2,a)|0)<<24>>24:0)?(rp(t[s>>2]|0,2,f)|0)<<24>>24:0){t[e+44>>2]=t[a>>2];t[e+40>>2]=t[f>>2]}h=o;return}function qm(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+1056|0;s=o;A=o+32|0;i=o+28|0;a=o+24|0;n=o+20|0;f=o+16|0;t[e+48>>2]=72;l=e+20|0;O3(t[l>>2]|0,0,0)|0;while(1){if(!(N4(A,1024,t[l>>2]|0)|0))break;r=R4(A,98752)|0;if(!r)continue;t[s>>2]=i;t[s+4>>2]=a;t[s+8>>2]=n;t[s+12>>2]=f;if((V3(r,104311,s)|0)==4){c=5;break}}if((c|0)==5){s=t[i>>2]|0;t[e+32>>2]=s;c=t[a>>2]|0;t[e+36>>2]=c;t[e+40>>2]=(t[n>>2]|0)-s;t[e+44>>2]=(t[f>>2]|0)-c}h=o;return}function Km(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;n=h;h=h+16|0;A=n+4|0;r=n;t[e+48>>2]=0;i=e+20|0;O3(t[i>>2]|0,15,0)|0;f=(o6(t[i>>2]|0)|0)==88;a=t[i>>2]|0;if(f){O3(a,24,0)|0;if((cp(t[i>>2]|0,4,A)|0)<<24>>24?(cp(t[i>>2]|0,4,r)|0)<<24>>24:0){t[e+40>>2]=t[A>>2];t[e+44>>2]=t[r>>2]}}else{O3(a,26,0)|0;if((cp(t[i>>2]|0,2,A)|0)<<24>>24?(cp(t[i>>2]|0,2,r)|0)<<24>>24:0){t[e+40>>2]=t[A>>2];t[e+44>>2]=t[r>>2]}}h=n;return}function $m(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0;D=h;h=h+352|0;G=D+80|0;Z=D+72|0;Q=D+64|0;L=D+56|0;I=D+48|0;A=D+40|0;v=D+32|0;g=D+24|0;m=D+16|0;p=D+8|0;E=D;B=D+328|0;y=D+128|0;C=D+96|0;if(!(t[47008]|0)){if(b8(188036,98637,1)|0){t[A>>2]=98637;nw(1,98664,A)|0}t[47008]=188036}o=e+20|0;O3(t[o>>2]|0,0,0)|0;u=C+12|0;b=C+20|0;w=C+8|0;k=C+16|0;d=C+4|0;A=0;n=0;a=0;r=0;e:while(1){if(!(N4(y,200,t[o>>2]|0)|0))break;if(n<<24>>24==0|A<<24>>24==0){f=y;s=r}else break;A:while(1){l=a;r:while(1){while(1){if($8(188036,f,4,C,0)|0){a=l;r=s;continue e}i[f+(t[u>>2]|0)>>0]=0;i[f+(t[b>>2]|0)>>0]=0;r=f+(t[w>>2]|0)|0;a=f+(t[k>>2]|0)|0;f=f+((t[d>>2]|0)+1)|0;if(!(e1(r,141116)|0))break;if(!(e1(r,141048)|0))break r;if(e1(r,98711)|0)continue;t[G>>2]=g;t[G+4>>2]=m;t[G+8>>2]=p;t[G+12>>2]=E;if((V3(a,98719,G)|0)==4)break A}t[I>>2]=v;t[I+4>>2]=B;if((V3(a,98701,I)|0)!=2){t[L>>2]=v;if((V3(a,101209,L)|0)==1){r=1;a=sp(+c[v>>3],98708)|0}else{r=n;a=l}}else{r=1;a=sp(+c[v>>3],B)|0}if(!(A<<24>>24)){A=0;n=r;l=a}else{n=r;r=s;continue e}}t[Q>>2]=v;t[Q+4>>2]=B;if((V3(a,98701,Q)|0)!=2){t[Z>>2]=v;if((V3(a,101209,Z)|0)==1){A=1;r=sp(+c[v>>3],98708)|0}else r=s}else{A=1;r=sp(+c[v>>3],B)|0}if(!(n<<24>>24)){n=0;a=l;s=r}else{a=l;continue e}}A=1;n=1;a=~~(+c[p>>3]+1.0-+c[g>>3])>>>0;r=~~(+c[E>>3]+1.0-+c[m>>3])>>>0}t[e+48>>2]=0;t[e+40>>2]=a;t[e+44>>2]=r;h=D;return}function ep(e){e=e|0;var A=0,r=0,i=0,a=0.0,n=0.0;r=h;h=h+32|0;A=r;t[e+48>>2]=0;i=e+20|0;O3(t[i>>2]|0,0,0)|0;if(!(ip(t[i>>2]|0,A)|0)){n=+c[A>>3];t[e+32>>2]=~~n;a=+c[A+8>>3];t[e+36>>2]=~~a;t[e+40>>2]=~~(+c[A+16>>3]-n);t[e+44>>2]=~~(+c[A+24>>3]-a)}h=r;return}function Ap(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+16|0;A=a+4|0;r=a;t[e+48>>2]=0;i=e+20|0;O3(t[i>>2]|0,6,0)|0;if((rp(t[i>>2]|0,1,A)|0)<<24>>24?(rp(t[i>>2]|0,1,r)|0)<<24>>24:0){t[e+40>>2]=t[A>>2];t[e+44>>2]=t[r>>2]}h=a;return}function rp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;t[r>>2]=0;i=0;while(1){if(i>>>0>=A>>>0){i=1;break}a=o6(e)|0;if(w3(e)|0){i=0;break}t[r>>2]=t[r>>2]<<8|a;i=i+1|0}return i|0}function ip(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+1040|0;r=f;i=f+16|0;while(1){if(!(N4(i,1024,e)|0)){e=1;break}a=R4(i,98627)|0;if(a|0){n=4;break}}if((n|0)==4){t[r+4>>2]=i;t[r>>2]=a+9;t[r+8>>2]=e;e=ap(r,A)|0}h=f;return e|0}function ap(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;n=h;h=h+1024|0;a=n;tp(e);r=i[t[e>>2]>>0]|0;if(!(r<<24>>24))r=(np(e)|0)&255;else r=r<<24>>24;if((((r|0)==91?(t[e>>2]=(t[e>>2]|0)+1,fp(e,a),(lp(a,A)|0)==0):0)?(fp(e,a),(lp(a,A+8|0)|0)==0):0)?(fp(e,a),(lp(a,A+16|0)|0)==0):0){fp(e,a);r=(lp(a,A+24|0)|0)!=0&1}else r=1;h=n;return r|0}function tp(e){e=e|0;var A=0;A=t[e>>2]|0;while(1){A=i[A>>0]|0;if(!(A<<24>>24))A=(np(e)|0)&255;else A=A<<24>>24;if(!((A&255)<<24>>24))break;if(!(I1(A&255)|0))break;A=(t[e>>2]|0)+1|0;t[e>>2]=A}return}function np(e){e=e|0;var A=0;A=e+4|0;if(!(N4(t[A>>2]|0,1024,t[e+8>>2]|0)|0))e=0;else{A=t[A>>2]|0;t[e>>2]=A;e=i[A>>0]|0}return e|0}function fp(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;tp(e);r=0;a=t[e>>2]|0;while(1){a=i[a>>0]|0;if(!(a<<24>>24))n=(np(e)|0)&255;else n=a<<24>>24;a=n<<24>>24;if(!a)break;if(!((a|0)==46|(a+-48|0)>>>0<10))break;i[A+r>>0]=n;r=r+1|0;a=(t[e>>2]|0)+1|0;t[e>>2]=a;if((r|0)==1023){r=1023;break}}i[A+r>>0]=0;return}function lp(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0;i=h;h=h+16|0;a=i;r=+e8(e,a);if((t[a>>2]|0)==(e|0))e=1;else{c[A>>3]=r;e=0}h=i;return e|0}function sp(e,A){e=+e;A=A|0;var r=0.0;do{if(!(e1(A,98735)|0)){e=e*72.0;r=e;e=e>=0.0?.5:-.5}else{if(!(e1(A,98738)|0)){e=e*.75;r=e;e=e>=0.0?.5:-.5;break}if(!(e1(A,98741)|0)){e=e*12.0;r=e;e=e>=0.0?.5:-.5;break}if(e1(A,98708)|0?e1(A,98744)|0:0)if(!(e1(A,98746)|0)){e=e*28.346456664;r=e;e=e>=0.0?.5:-.5;break}else{A=(e1(A,98749)|0)==0;r=e*2.8346456663999997;return(A?~~(r+(r>=0.0?.5:-.5)):0)|0}r=e>=0.0?.5:-.5}}while(0);return~~(e+r)|0}function cp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;t[r>>2]=0;i=0;while(1){if(i>>>0>=A>>>0){i=1;break}a=o6(e)|0;if(w3(e)|0){i=0;break}t[r>>2]=t[r>>2]|a<<(i<<3);i=i+1|0}return i|0}function op(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;e=t[A+20>>2]|0;if(e|0)k3(e)|0;if(t[A+52>>2]|0?(i=t[A+60>>2]|0,i|0):0)F5[i&127](A);G2(A);return}function up(){var e=0;zw(0,1,108224,105493)|0;e=Cm(0,1)|0;ji(e,0);return e|0}function bp(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0.0,u=0.0,b=0.0,w=0.0;s=h;h=h+304|0;l=s+24|0;f=s+8|0;a=s;n=s+40|0;if((bi(e,r)|0)!=999)if((hi(e,A)|0)==-1)e=-1;else{e=t[A+16>>2]|0;r=e+16|0;if(!(i[(t[e+8>>2]|0)+81>>0]|0)){w=+c[r>>3];b=+c[e+24>>3];u=+c[e+32>>3];o=+c[e+40>>3];t[l>>2]=~~(w+(w>=0.0?.5:-.5));t[l+4>>2]=~~(b+(b>=0.0?.5:-.5));t[l+8>>2]=~~(u+(u>=0.0?.5:-.5));t[l+12>>2]=~~(o+(o>=0.0?.5:-.5));T4(n,98899,l)|0}else{o=+c[e+24>>3];u=+c[r>>3];b=+c[e+40>>3];w=+c[e+32>>3];t[f>>2]=~~(o+(o>=0.0?.5:-.5));t[f+4>>2]=~~(u+(u>=0.0?.5:-.5));t[f+8>>2]=~~(b+(b>=0.0?.5:-.5));t[f+12>>2]=~~(w+(w>=0.0?.5:-.5));T4(n,98899,f)|0}Sw(A,102671,n,195059)|0;e=0}else{e=Nm(e,1,r)|0;t[a>>2]=r;t[a+4>>2]=e;nw(1,111233,a)|0;e=-1}h=s;return e|0}function hp(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;a=t[A+60>>2]|0;Lm(e,r)|0;A=t[e+164>>2]|0;t[A+56>>2]=Zr(A,t[A+52>>2]|0)|0;if((Sd(a,137483,0,1)|0)!=0?(t[(t[a+16>>2]|0)+8>>2]|0)!=0:0)f=5;else if(!(t[A+152>>2]&67108864)){sw(98911,n);A=-1}else f=5;if((f|0)==5){t[A+36>>2]=i;if(!i){f=A+152|0;t[f>>2]=t[f>>2]|134217728}f=fF(e,a)|0;Lr(A);Ym(e);A=f}h=l;return A|0}function wp(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;a=t[A+60>>2]|0;Lm(e,r)|0;A=t[e+164>>2]|0;t[A+56>>2]=Zr(A,t[A+52>>2]|0)|0;if((Sd(a,137483,0,1)|0)!=0?(t[(t[a+16>>2]|0)+8>>2]|0)!=0:0)f=5;else if(!(t[A+152>>2]&67108864)){sw(98911,n);A=-1}else f=5;if((f|0)==5){Gm(e,i);f=fF(e,a)|0;Lr(A);vm(A);Ym(e);A=f}h=l;return A|0}function kp(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+16|0;f=o+8|0;n=o;A=t[A+60>>2]|0;Lm(e,r)|0;s=t[e+164>>2]|0;t[s+56>>2]=Zr(s,t[s+52>>2]|0)|0;if((Sd(A,137483,0,1)|0)!=0?(t[(t[A+16>>2]|0)+8>>2]|0)!=0:0)c=5;else if(!(t[s+152>>2]&67108864)){sw(98911,n);A=-1}else c=5;do{if((c|0)==5){if(i|0?(l=Z2(4096)|0,t[i>>2]=l,l|0):0){n=s+40|0;t[n>>2]=l;t[s+44>>2]=4096;r=s+48|0;t[r>>2]=0;A=fF(e,A)|0;Lr(s);if(!A){t[i>>2]=t[n>>2];t[a>>2]=t[r>>2]}Ym(e);break}nw(1,98932,f)|0;A=-1}}while(0);h=o;return A|0}function dp(e,A){e=e|0;A=A|0;Xi(e,0,A);return}function vp(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+4288|0;Q=W+8|0;L=W;D=4;z=Z2(40)|0;t[z>>2]=0;C=W+4152|0;I=W+4148|0;Z=W+4128|0;s=W+4112|0;c=W+16|0;d=0;l=re(24,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;e:do{if((f|0)!=1){if(!l){t[A>>2]=0;n=0;break}d=0;u=te(29,r|0,I|0,C|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)!=1){d=0;o=re(23,40)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)!=1){d=0;ke(7,Z|0,s|0,c|0,24,85);n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)!=1){d=0;r=re(25,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)!=1){s=Z+16|0;l=t[s>>2]|0;n=r;while(1){if(!n)break;d=0;ie(l|0,n|0,0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){r=L6(t[f>>2]|0,z|0,D|0)|0;if(!r)aA(f|0,v|0);G=v}else r=-1;if((r|0)==1){y=0;B=s;E=o;p=u;n=G;o=15;break e}d=0;n=ie(86,e|0,n|0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){r=L6(t[f>>2]|0,z|0,D|0)|0;if(!r)aA(f|0,v|0);G=v}else r=-1;if((r|0)==1){y=0;B=s;E=o;p=u;n=G;o=15;break e}}z=G6(188068,1,z|0,D|0)|0;D=G;d=0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){y=o;B=s;E=o;p=u;n=G;o=15}else{y=o;B=s;E=o;p=u;n=0;o=15}}else{y=0;B=0;E=o;p=u;n=G;o=15}}else{y=0;B=0;E=o;p=u;n=G;o=15}}else{y=0;B=0;E=o;p=u;n=G;o=15}}else{y=0;B=0;E=0;p=u;n=G;o=15}}else{y=0;B=0;E=0;p=0;n=G;o=15}}while(0);do{if((o|0)==15){e:while(1){A:do{if(!n){d=0;r=re(25,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}m=p+(t[I>>2]|0)|0;c=0;o=0;s=0;while(1){if(!r)break;d=0;n=ie(t[B>>2]|0,r|0,-1)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){l=L6(t[f>>2]|0,z|0,D|0)|0;if(!l)aA(f|0,v|0);G=v}else l=-1;if((l|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}if((n|0)==0?(i[(t[r+16>>2]|0)+119>>0]|0)==3:0){if(!o){d=0;t[L>>2]=s;te(30,m|0,137395,L|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}d=0;l=te(31,e|0,p|0,1)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}d=0;ne(53,l|0,137483,280,1)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}t[y+(s<<2)>>2]=l;c=1;s=s+1|0}else l=o;d=0;ne(54,e|0,r|0,l|0,Z|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}}else l=o;d=0;r=ie(86,e|0,r|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}o=l}d=0;r=re(25,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}l=10;u=y;b=E;w=E;g=E;while(1){if(!r){o=0;l=w;r=g;break A}d=0;n=ie(t[B>>2]|0,r|0,-1)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){o=L6(t[f>>2]|0,z|0,D|0)|0;if(!o)aA(f|0,v|0);G=v}else o=-1;if((o|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}if(!n){d=0;t[Q>>2]=s;te(30,m|0,137395,Q|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}d=0;k=te(31,e|0,p|0,1)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}d=0;ne(53,k|0,137483,280,1)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){n=L6(t[f>>2]|0,z|0,D|0)|0;if(!n)aA(f|0,v|0);G=v}else n=-1;if((n|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}d=0;ne(54,e|0,r|0,k|0,Z|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}if((s|0)==(l|0)){l=s<<1;d=0;o=ie(87,b|0,s<<3|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}n=o;b=o;w=o;f=o}else{n=u;f=g}t[n+(s<<2)>>2]=k;u=n;s=s+1|0;o=f}else o=g;d=0;r=ie(86,e|0,r|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}g=o}}else{o=1;c=0;u=y;s=0;l=E;r=E}}while(0);d=0;oe(108,Z|0);n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue}if((p|0)!=(C|0)){d=0;oe(105,p|0);n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue}}if(!o){d=0;n=ie(87,r|0,s<<2|0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){r=L6(t[f>>2]|0,z|0,D|0)|0;if(!r)aA(f|0,v|0);G=v}else r=-1;if((r|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue}else{o=58;break}}t[A>>2]=0;n=0;while(1){if((n|0)>=(s|0))break;d=0;re(26,t[u+(n<<2)>>2]|0)|0;f=d;d=0;if((f|0)!=0&(v|0)!=0){r=L6(t[f>>2]|0,z|0,D|0)|0;if(!r)aA(f|0,v|0);G=v}else r=-1;if((r|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15;continue e}n=n+1|0}d=0;oe(105,l|0);n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,z|0,D|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){k=p;g=E;m=B;o=y;n=G;p=k;E=g;B=m;y=o;o=15}else{o=56;break}}if((o|0)==56){n=0;break}else if((o|0)==58){t[A>>2]=s;i[a>>0]=c;break}}}while(0);G2(z|0);h=W;return n|0}function gp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;if(!((e|0)!=0?(Gp(e)|0)!=0:0))e=98988;i=U2(e)|0;if((i|0)>=104){r=$F(i+25|0)|0;if(!r)r=0;else a=6}else a=6;if((a|0)==6){$1(r,e)|0;t[A>>2]=i}return r|0}function mp(e,A){e=e|0;A=A|0;hd(A,e,1)|0;return}function pp(e,A){e=e|0;A=A|0;var r=0;e=(t[e+16>>2]|0)+157|0;r=i[e>>0]|0;if((A|0)>=0)i[e>>0]=A;return r|0}function Ep(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t[A>>2]=r;t[A+4>>2]=r+4096;t[A+12>>2]=0;t[A+8>>2]=0;t[e>>2]=A;t[e+4>>2]=A;t[e+8>>2]=r;t[e+12>>2]=i;t[e+16>>2]=a;return}function Bp(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;Ip(i,A);l=i+12|0;s=i+16|0;A=0;e:while(1){c=Zp(i)|0;if(!c)break;A=A+1|0;a=t[l>>2]|0;if(a|0)M5[a&63](c,r);f=ek(e,c)|0;while(1){if(!f)continue e;n=t[f>>2]&3;a=t[((n|0)==3?f:f+48|0)+40>>2]|0;if((a|0)==(c|0))a=t[((n|0)==2?f:f+-48|0)+40>>2]|0;if(!(Z5[t[s>>2]&127](a,-1)|0))Ip(i,a);f=Ak(e,f,c)|0}}return A|0}function yp(e){e=e|0;var A=0;e=t[(t[e>>2]|0)+12>>2]|0;while(1){if(!e)break;A=t[e+12>>2]|0;Cp(e);e=A}return}function Cp(e){e=e|0;G2(t[e>>2]|0);G2(e);return}function Ip(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c+8|0;a=c;n=e+8|0;l=e+4|0;r=t[l>>2]|0;if((t[n>>2]|0)==(t[r+4>>2]|0)){r=t[r+12>>2]|0;do{if(!r){i=$F(16)|0;if(!i){nw(1,98969,a)|0;aA(188068,1)}t[i+8>>2]=t[l>>2];t[i+12>>2]=0;r=$F(4e6)|0;t[i>>2]=r;if(!r){nw(1,98969,s)|0;aA(188068,1)}else{t[i+4>>2]=r+4e6;t[(t[l>>2]|0)+12>>2]=i;f=i;break}}else f=r}while(0);t[l>>2]=f;t[n>>2]=t[f>>2]}Z5[t[e+16>>2]&127](A,1)|0;s=t[n>>2]|0;t[n>>2]=s+4;t[s>>2]=A;h=c;return}function Zp(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=e+8|0;A=t[a>>2]|0;r=e+4|0;i=t[r>>2]|0;if((A|0)==(t[i>>2]|0))if((i|0)==(t[e>>2]|0))A=0;else{A=t[i+8>>2]|0;t[r>>2]=A;A=t[A+4>>2]|0;t[a>>2]=A;n=4}else n=4;if((n|0)==4){A=A+-4|0;t[a>>2]=A;A=t[A>>2]|0}return A|0}function Gp(e){e=e|0;var A=0;e:while(1){A=e;e=e+1|0;A=i[A>>0]|0;switch(A<<24>>24){case 95:continue e;case 0:{e=1;break e}default:{}}if(!(M1(A&255)|0)){e=0;break}}return e|0}function Lp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;I=h;h=h+4272|0;B=I;y=4;C=Z2(40)|0;t[C>>2]=0;m=I+4144|0;p=I+4140|0;E=I+4120|0;f=I+4104|0;l=I+8|0;d=0;a=re(24,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){i=L6(t[n>>2]|0,C|0,y|0)|0;if(!i)aA(n|0,v|0);G=v}else i=-1;e:do{if((i|0)!=1)if(a){d=0;c=te(29,r|0,p|0,m|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)!=1){d=0;s=re(23,40)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)!=1){d=0;ke(7,E|0,f|0,l|0,24,85);i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)!=1){d=0;a=re(25,e|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)!=1){f=E+16|0;n=t[f>>2]|0;i=a;while(1){if(!i)break;d=0;ie(n|0,i|0,0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,C|0,y|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){g=f;k=s;w=c;i=G;s=14;break e}d=0;i=ie(86,e|0,i|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,C|0,y|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){g=f;k=s;w=c;i=G;s=14;break e}}C=G6(188068,1,C|0,y|0)|0;y=G;d=0;i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)==1){g=f;k=s;w=c;i=G;s=14}else{g=f;k=s;w=c;i=0;s=14}}else{g=0;k=s;w=c;i=G;s=14}}else{g=0;k=s;w=c;i=G;s=14}}else{g=0;k=s;w=c;i=G;s=14}}else{g=0;k=0;w=c;i=G;s=14}}else{r=0;i=0}else{g=0;k=0;w=0;i=G;s=14}}while(0);e:do{if((s|0)==14){A:while(1){if(i|0){d=0;oe(108,E|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}d=0;oe(105,k|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}if((w|0)==(m|0)){r=0;i=0;break e}d=0;oe(105,w|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}else{s=19;break}}d=0;a=re(25,e|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){r=L6(t[i>>2]|0,C|0,y|0)|0;if(!r)aA(i|0,v|0);G=v}else r=-1;if((r|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}b=w+(t[p>>2]|0)|0;f=10;c=k;i=0;s=k;u=k;while(1){if(!a)break;d=0;r=ie(t[g>>2]|0,a|0,-1)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){l=L6(t[n>>2]|0,C|0,y|0)|0;if(!l)aA(n|0,v|0);G=v}else l=-1;if((l|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}if(!r){d=0;t[B>>2]=i;te(30,b|0,137395,B|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}d=0;o=te(31,e|0,w|0,1)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}d=0;ne(53,o|0,137483,280,1)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}d=0;ne(54,e|0,a|0,o|0,E|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}if((i|0)==(f|0)){f=i<<1;d=0;l=ie(87,s|0,i<<3|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}n=l;s=l;r=l}else{n=c;r=u}t[n+(i<<2)>>2]=o;i=i+1|0;c=n;l=r}else l=u;d=0;a=ie(86,e|0,a|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){n=L6(t[r>>2]|0,C|0,y|0)|0;if(!n)aA(r|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue A}u=l}d=0;oe(108,E|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){a=L6(t[r>>2]|0,C|0,y|0)|0;if(!a)aA(r|0,v|0);G=v}else a=-1;if((a|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}d=0;r=ie(87,u|0,i<<2|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,C|0,y|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14;continue}if((w|0)==(m|0))break e;d=0;oe(105,w|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,C|0,y|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){u=w;b=k;s=g;i=G;w=u;k=b;g=s;s=14}else{s=39;break}}if((s|0)==19){r=0;i=0;break}else if((s|0)==39)break}}while(0);t[A>>2]=i;G2(C|0);h=I;return r|0}function Qp(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=0;a=sd(e)|0;while(1){if(!a)break;i=Ow(A,a)|0;while(1){if(!i)break;if(hd(e,t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,0)|0){uk(e,i,1)|0;r=r+1|0}i=qw(A,i)|0}a=cd(e,a)|0}return r|0}function Dp(e){e=e|0;e=Pd(e,98993,0)|0;if(!e)ge(98998,99001,529,99010);else return t[e+8>>2]|0;return 0}function zp(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;m=h;h=h+4320|0;v=m+24|0;d=m+8|0;k=m;g=m+4184|0;w=m+4160|0;a=m+40|0;if(gk(e)|0){_d(e,0,99019,-12,0);_d(e,1,99031,16,0);b=gp(r,a,g)|0;c=Wp(e)|0;o=$F((gk(c)|0)<<2)|0;Ep(w,m+4144|0,m+48|0,24,88);f=sd(c)|0;u=w+16|0;l=b+(t[a>>2]|0)|0;s=t[15712]|0;r=0;while(1){if(!f)break;if(!(Z5[t[u>>2]&127](f,-1)|0)){t[k>>2]=r;T4(l,99933,k)|0;p=Rv(c,b,1)|0;E=Rv(e,b,1)|0;Sd(E,99019,12,0)|0;i[(Pd(E,99019,0)|0)+8>>0]=1;a=Bp(c,f,p,w)|0;Fp(p,E);n=Mp(E)|0;Vp(e,E);t[o+(r<<2)>>2]=E;Ed(c,p)|0;if(0){t[d>>2]=r;t[d+4>>2]=a;t[d+8>>2]=n;a3(s,99043,d)|0}r=r+1|0}f=cd(c,f)|0}if(0){d=gk(e)|0;p=mk(e)|0;E=Mk(e)|0;t[v>>2]=d;t[v+4>>2]=p;t[v+8>>2]=r;t[v+12>>2]=E;a3(s,99073,v)|0}vk(c)|0;qd(e,0,99019);qd(e,1,99031);yp(w);a=AM(o,r<<2)|0;if((b|0)!=(g|0))G2(b)}else{a=0;r=0}t[A>>2]=r;h=m;return a|0}function Wp(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;i[f>>0]=i[18596]|0;i[f+1>>0]=i[18597]|0;i[f+2>>0]=i[18598]|0;i[f+3>>0]=i[18599]|0;f=hk(99120,f,0)|0;xp(f,e);A=sd(e)|0;while(1){if(!A)break;if(!(t[(Pd(A,99031,0)|0)+12>>2]|0)){n=gd(f,Mk(A)|0,1)|0;Sd(n,99031,16,1)|0;t[(t[n+16>>2]|0)+12>>2]=A;t[(Pd(A,99031,0)|0)+12>>2]=n}A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;a=t[(Pd(r,99031,0)|0)+12>>2]|0;A=Ow(e,r)|0;while(1){if(!A)break;n=t[(Pd(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,99031,0)|0)+12>>2]|0;do{if((n|0)!=(a|0))if(n>>>0>a>>>0){lk(f,a,n,0,1)|0;break}else{lk(f,n,a,0,1)|0;break}}while(0);A=qw(e,A)|0}r=cd(e,r)|0}h=l;return f|0}function Yp(e,A){e=e|0;A=A|0;var r=0;e=(t[e+16>>2]|0)+8|0;r=i[e>>0]|0;if((A|0)>=0)i[e>>0]=A;return r|0}function Fp(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;i=sd(e)|0;while(1){if(!i)break;a=t[(t[i+16>>2]|0)+12>>2]|0;e:do{if((t[a>>2]&3|0)==1)hd(A,a,1)|0;else{r=sd(a)|0;while(1){if(!r)break e;hd(A,r,1)|0;r=cd(a,r)|0}}}while(0);i=cd(e,i)|0}return}function Mp(e){e=e|0;return Qp(e,t[e+60>>2]|0)|0}function Vp(e,A){e=e|0;A=A|0;Np(e,A,0);return}function Np(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0,n=0;n=(r|0)==0;e=xv(e)|0;while(1){if(!e)break;if((i[(Pd(e,99019,0)|0)+8>>0]|0)==0?(t=Rp(e,A,r)|0,t|0):0){if(n)a=(y1(Mk(e)|0,108006,7)|0)==0;else a=1;Np(e,t,a&1)}e=Jv(e)|0}return}function Rp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=0;n=sd(e)|0;while(1){if(!n)break;a=gd(A,Mk(n)|0,0)|0;if(a){if(!i)i=Rv(A,Mk(e)|0,1)|0;hd(i,a,1)|0}n=cd(e,n)|0}if((r|0)!=0&(i|0)==0)i=Rv(A,Mk(e)|0,1)|0;if(i|0?(Qp(i,e)|0,jw(e,i)|0,(y1(Mk(i)|0,108006,7)|0)==0):0)t[(Sd(i,98993,12,0)|0)+8>>2]=e;return i|0}function xp(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;f=h;h=h+16|0;n=f;r=xv(A)|0;i=t[15712]|0;while(1){if(!r)break;e:do{if(!(y1(Mk(r)|0,108006,7)|0)){a=gd(e,Mk(r)|0,1)|0;Sd(a,99031,16,1)|0;t[(t[a+16>>2]|0)+12>>2]=r;A=sd(r)|0;while(1){if(!A)break e;if(t[(Pd(A,99031,0)|0)+12>>2]|0){c=Mk(A)|0;s=Mk(r)|0;l=Mk(t[(Pd(A,99031,0)|0)+12>>2]|0)|0;t[n>>2]=c;t[n+4>>2]=s;t[n+8>>2]=l;a3(i,99123,n)|0}t[(Pd(A,99031,0)|0)+12>>2]=a;A=cd(r,A)|0}}else xp(e,r)}while(0);r=Jv(r)|0}h=f;return}function Jp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,t=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0;b=+c[e>>3];l=~~(b+(b>=0.0?.5:-.5));b=+c[e+8>>3];e=~~(b+(b>=0.0?.5:-.5));b=+c[A>>3];n=~~(b+(b>=0.0?.5:-.5));b=+c[A+8>>3];t=~~(b+(b>=0.0?.5:-.5));o=n-l|0;f=((o|0)>-1?o:0-o|0)<<1;o=o>>31|1;u=t-e|0;s=((u|0)>-1?u:0-u|0)<<1;u=u>>31|1;e:do{if((f|0)>(s|0)){a=0-f|0;i=s-(f>>1)|0;A=l;while(1){tV(r,A,e);if((A|0)==(n|0))break e;l=(i|0)>-1;i=i+s+(l?a:0)|0;A=A+o|0;e=(l?u:0)+e|0}}else{a=0-s|0;i=l;A=f-(s>>1)|0;while(1){tV(r,i,e);if((e|0)==(t|0))break e;s=(A|0)>-1;i=(s?o:0)+i|0;A=A+f+(s?a:0)|0;e=e+u|0}}}while(0);return}function Hp(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+16|0;c=u;s=u+4|0;do{if((e|0)<1)r=0;else{a=i+16|0;if((t[a>>2]|0)>>>0<4){r=Pp(e,A,r,i)|0;break}o=$F(e<<5)|0;r=0;while(1){if((r|0)==(e|0))break;n=t[A+(r<<2)>>2]|0;Xx(n);f=o+(r<<5)|0;n=(t[n+16>>2]|0)+16|0;t[f>>2]=t[n>>2];t[f+4>>2]=t[n+4>>2];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];t[f+16>>2]=t[n+16>>2];t[f+20>>2]=t[n+20>>2];t[f+24>>2]=t[n+24>>2];t[f+28>>2]=t[n+28>>2];r=r+1|0}if((t[a>>2]|0)==4){f=i+28|0;e:do{if(t[f>>2]&2|0){a=i+24|0;t[a>>2]=KF(e<<2)|0;r=0;while(1){if((r|0)==(e|0))break e;n=Hw(t[A+(r<<2)>>2]|0,99190)|0;if(n|0?(t[c>>2]=s,n=(V3(n,137395,c)|0)>0,l=t[s>>2]|0,n&(l|0)>-1):0)t[(t[a>>2]|0)+(r<<2)>>2]=l;r=r+1|0}}}while(0);r=Xp(e,o,i)|0;if(t[f>>2]&2)G2(t[i+24>>2]|0)}else r=0;G2(o)}}while(0);h=u;return r|0}function Pp(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0.0,Y=0.0,F=0.0,M=0.0;z=h;h=h+144|0;Z=z+136|0;I=z+64|0;D=z+48|0;p=z+40|0;m=z;g=z+120|0;B=z+104|0;G=z+96|0;L=t[a+20>>2]|0;t[B>>2]=0;t[B+4>>2]=0;t[B+8>>2]=0;t[B+12>>2]=0;e:do{if((e|0)>=1){b=(L|0)==0;Q=t[15712]|0;w=g+4|0;k=g+8|0;d=g+12|0;y=B+4|0;E=B+8|0;C=B+12|0;u=0;n=0;while(1){if((u|0)==(e|0))break;v=t[A+(u<<2)>>2]|0;Xx(v);if(!b?(i[L+u>>0]|0)!=0:0){o=t[v+16>>2]|0;W=+c[o+16>>3];f=~~(W+(W>=0.0?.5:-.5));t[g>>2]=f;W=+c[o+24>>3];l=~~(W+(W>=0.0?.5:-.5));t[w>>2]=l;W=+c[o+32>>3];s=~~(W+(W>=0.0?.5:-.5));t[k>>2]=s;W=+c[o+40>>3];o=~~(W+(W>=0.0?.5:-.5));t[d>>2]=o;if(!n){t[B>>2]=t[g>>2];t[B+4>>2]=t[g+4>>2];t[B+8>>2]=t[g+8>>2];t[B+12>>2]=t[g+12>>2]}else{t[B>>2]=t[((t[B>>2]|0)>(f|0)?g:B)>>2];t[y>>2]=t[((t[y>>2]|0)>(l|0)?g:B)+4>>2];t[E>>2]=t[((t[E>>2]|0)<(s|0)?g:B)+8>>2];t[C>>2]=t[((t[C>>2]|0)<(o|0)?g:B)+12>>2]}n=n+1|0}if(0>2){o=Mk(v)|0;v=t[v+16>>2]|0;M=+c[v+16>>3];F=+c[v+24>>3];Y=+c[v+32>>3];W=+c[v+40>>3];t[m>>2]=o;c[m+8>>3]=M;c[m+16>>3]=F;c[m+24>>3]=Y;c[m+32>>3]=W;a3(Q,99257,m)|0}u=u+1|0}k=$F(e<<5)|0;n=0;while(1){if((n|0)==(e|0))break;m=k+(n<<5)|0;g=(t[(t[A+(n<<2)>>2]|0)+16>>2]|0)+16|0;t[m>>2]=t[g>>2];t[m+4>>2]=t[g+4>>2];t[m+8>>2]=t[g+8>>2];t[m+12>>2]=t[g+12>>2];t[m+16>>2]=t[g+16>>2];t[m+20>>2]=t[g+20>>2];t[m+24>>2]=t[g+24>>2];t[m+28>>2]=t[g+28>>2];n=n+1|0}b=a+8|0;w=Up(e,k,t[b>>2]|0)|0;if(0){t[p>>2]=w;a3(Q,99285,p)|0}if((w|0)>=1){u=(L|0)!=0;if(u){f=((t[E>>2]|0)+(t[B>>2]|0)|0)/2|0;n=((t[C>>2]|0)+(t[y>>2]|0)|0)/2|0}else{f=0;n=0}t[G+4>>2]=n;t[G>>2]=f;o=KF(e<<4)|0;s=a+16|0;n=0;while(1){if((n|0)>=(e|0))break;f=t[A+(n<<2)>>2]|0;l=o+(n<<4)|0;t[o+(n<<4)+12>>2]=n;if((t[s>>2]|0)==3){B=(t[f+16>>2]|0)+16|0;y=t[b>>2]|0;C=Mk(f)|0;t[I>>2]=t[B>>2];t[I+4>>2]=t[B+4>>2];t[I+8>>2]=t[B+8>>2];t[I+12>>2]=t[B+12>>2];t[I+16>>2]=t[B+16>>2];t[I+20>>2]=t[B+20>>2];t[I+24>>2]=t[B+24>>2];t[I+28>>2]=t[B+28>>2];t[Z>>2]=t[G>>2];t[Z+4>>2]=t[G+4>>2];Tp(I,l,w,y,Z,C)}else{t[Z>>2]=t[G>>2];t[Z+4>>2]=t[G+4>>2];Op(r,f,l,w,a,Z)}n=n+1|0}l=KF(e<<2)|0;n=0;while(1){if((n|0)>=(e|0))break;t[l+(n<<2)>>2]=o+(n<<4);n=n+1|0}_4(l,e,4,89);s=$M()|0;n=KF(e<<3)|0;A:do{if(u){f=0;while(1){if((f|0)>=(e|0)){f=0;break}if(i[L+f>>0]|0){r=t[l+(f<<2)>>2]|0;a=n+(t[r+12>>2]<<3)|0;t[Z>>2]=t[G>>2];t[Z+4>>2]=t[G+4>>2];qp(r,s,a,Z)}f=f+1|0}while(1){if((f|0)>=(e|0))break A;if(!(i[L+f>>0]|0)){G=t[l+(f<<2)>>2]|0;Kp(f,G,s,n+(t[G+12>>2]<<3)|0,w,t[b>>2]|0,k)}f=f+1|0}}else{f=0;while(1){if((f|0)>=(e|0))break A;L=t[l+(f<<2)>>2]|0;Kp(f,L,s,n+(t[L+12>>2]<<3)|0,w,t[b>>2]|0,k);f=f+1|0}}}while(0);G2(l);f=0;while(1){if((f|0)>=(e|0))break;G2(t[o+(f<<4)+4>>2]|0);f=f+1|0}G2(o);rV(s);G2(k);if(0>1){f=0;while(1){if((f|0)>=(e|0))break e;G=t[n+(f<<3)>>2]|0;L=t[n+(f<<3)+4>>2]|0;t[D>>2]=f;t[D+4>>2]=G;t[D+8>>2]=L;a3(Q,99301,D)|0;f=f+1|0}}}else n=0}else n=0}while(0);h=z;return n|0}function Xp(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0.0,l=0,s=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0;C=h;h=h+16|0;n=C;B=KF(e<<3)|0;a=t[r+4>>2]|0;y=r+28|0;i=(a|0)>0;do{if(!(t[y>>2]&1))if(i){s=1;E=(e+-1+a|0)/(a|0)|0;break}else{a=~~+H(+ +D(+ +(e|0)));s=1;E=(e+-1+a|0)/(a|0)|0;break}else if(i){s=0;E=a;a=(e+-1+a|0)/(a|0)|0;break}else{a=~~+H(+ +D(+ +(e|0)));s=0;E=a;a=(e+-1+a|0)/(a|0)|0;break}}while(0);if(0){p=t[15712]|0;t[n>>2]=s|0?99196:99206;t[n+4>>2]=E;t[n+8>>2]=a;a3(p,99219,n)|0}g=KF((a<<3)+8|0)|0;m=KF((E<<3)+8|0)|0;p=KF(e*24|0)|0;l=r+8|0;i=0;n=p;while(1){if((i|0)>=(e|0))break;w=+c[A+(i<<5)+8>>3];b=+c[A+(i<<5)+24>>3];k=+((t[l>>2]|0)>>>0);c[n>>3]=+c[A+(i<<5)+16>>3]-+c[A+(i<<5)>>3]+k;c[n+8>>3]=b-w+k;t[n+16>>2]=i;i=i+1|0;n=n+24|0}v=KF(e<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;t[v+(i<<2)>>2]=p+(i*24|0);i=i+1|0}i=t[r+24>>2]|0;if(!i){if(!(t[y>>2]&64))_4(v,e,4,91)}else{t[47056]=i;_4(v,e,4,90)}d=(s|0)==0;i=0;n=0;l=0;while(1){if((l|0)>=(e|0)){f=0.0;i=0;break}s=t[v+(l<<2)>>2]|0;r=g+(n<<3)|0;k=+c[r>>3];w=+c[s>>3];c[r>>3]=k>w?k:w;r=m+(i<<3)|0;w=+c[r>>3];k=+c[s+8>>3];c[r>>3]=w>k?w:k;if(d){i=i+1|0;r=(i|0)==(E|0);i=r?0:i;n=n+(r&1)|0}else{n=n+1|0;r=(n|0)==(a|0);i=i+(r&1)|0;n=r?0:n}l=l+1|0}while(1){if((i|0)>(a|0)){f=0.0;i=E;break}r=g+(i<<3)|0;k=+c[r>>3];c[r>>3]=f;f=k+f;i=i+1|0}while(1){if((i|0)<=0)break;r=i+-1|0;k=+c[m+(r<<3)>>3];c[m+(i<<3)>>3]=f;f=k+f;i=r}c[m>>3]=f;i=0;n=0;r=0;while(1){if((r|0)>=(e|0))break;s=t[(t[v+(r<<2)>>2]|0)+16>>2]|0;f=+c[A+(s<<5)>>3];o=-f;w=+c[A+(s<<5)+8>>3];k=-w;u=+c[A+(s<<5)+16>>3];b=+c[A+(s<<5)+24>>3];l=t[y>>2]|0;do{if(!(l&4))if(!(l&8)){f=(o-u+ +c[g+(n<<3)>>3]+ +c[g+(n+1<<3)>>3])*.5;break}else{f=f-u+ +c[g+(n+1<<3)>>3];break}else f=+c[g+(n<<3)>>3]}while(0);t[B+(s<<3)>>2]=~~f;do{if(!(l&16))if(!(l&32)){f=(k-b+ +c[m+(i<<3)>>3]+ +c[m+(i+1<<3)>>3])*.5;break}else{f=+c[m+(i+1<<3)>>3];break}else f=w-b+ +c[m+(i<<3)>>3]}while(0);t[B+(s<<3)+4>>2]=~~f;if(d){i=i+1|0;s=(i|0)==(E|0);i=s?0:i;n=n+(s&1)|0}else{n=n+1|0;s=(n|0)==(a|0);i=i+(s&1)|0;n=s?0:n}r=r+1|0}G2(p);G2(v);G2(g);G2(m);h=C;return B|0}function Sp(e,A){e=e|0;A=A|0;var r=0;r=t[47056]|0;e=t[r+(t[(t[e>>2]|0)+16>>2]<<2)>>2]|0;A=t[r+(t[(t[A>>2]|0)+16>>2]<<2)>>2]|0;return((e|0)>(A|0)?1:((e|0)<(A|0))<<31>>31)|0}function jp(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;e=t[e>>2]|0;A=t[A>>2]|0;i=+c[e>>3]+ +c[e+8>>3];r=+c[A>>3]+ +c[A+8>>3];return(ir)<<31>>31)|0}function Up(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0.0,b=0.0,w=0,k=0,d=0,v=0;v=h;h=h+96|0;k=v+80|0;d=v+48|0;w=v+8|0;o=v;s=(e*100|0)+-1|0;i=+(r<<1|0);u=0.0;b=0.0;r=0;while(1){if((r|0)>=(e|0))break;l=+c[A+(r<<5)+16>>3]-+c[A+(r<<5)>>3]+i;f=+c[A+(r<<5)+24>>3]-+c[A+(r<<5)+8>>3]+i;u=u-l-f;b=b-f*l;r=r+1|0}f=+(s|0);l=u*u-f*4.0*b;if(!(l<0.0)){i=+D(+l);n=f*2.0;a=(i-u)/n;n=(-u-i)/n;r=~~a;r=(r|0)==0?1:r;if(0>2){o=t[15712]|0;G3(99444,27,1,o)|0;c[w>>3]=f;c[w+8>>3]=u;c[w+16>>3]=b;c[w+24>>3]=l;c[w+32>>3]=i;a3(o,99472,w)|0;t[d>>2]=r;c[d+8>>3]=a;t[d+16>>2]=~~n;c[d+24>>3]=n;a3(o,99498,d)|0;c[k>>3]=(a*f+u)*a+b;c[k+8>>3]=(n*f+u)*n+b;a3(o,99520,k)|0}}else{c[o>>3]=l;nw(1,99417,o)|0;r=-1}h=v;return r|0}function Tp(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0.0,E=0.0;m=h;h=h+32|0;g=m+16|0;v=m;w=+c[e>>3];k=+c[e+8>>3];u=+c[e+16>>3];b=+c[e+24>>3];d=$M()|0;l=t[a>>2]|0;e=l-i|0;s=t[a+4>>2]|0;f=s-i|0;l=i-~~(w+(w>=0.0?.5:-.5))+l+~~(u+(u>=0.0?.5:-.5))|0;s=i-~~(k+(k>=0.0?.5:-.5))+s+~~(b+(b>=0.0?.5:-.5))|0;if((e|0)>-1)a=(e|0)/(r|0)|0;else a=((e+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)o=(f|0)/(r|0)|0;else o=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((s|0)>-1)f=(s|0)/(r|0)|0;else f=((s+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(l|0))break;else e=o;while(1){if((e|0)>(f|0))break;tV(d,a,e);e=e+1|0}a=a+1|0}s=A+4|0;t[s>>2]=sV(d)|0;l=lV(d)|0;o=A+8|0;t[o>>2]=l;E=+(i<<1|0);p=+(r|0);f=~~+H(+((u+E-w)/p));e=~~+H(+((b+E-k)/p));t[A>>2]=e+f;e:do{if(0>2){a=t[15712]|0;t[v>>2]=n;t[v+4>>2]=l;t[v+8>>2]=f;t[v+12>>2]=e;a3(a,99376,v)|0;e=0;while(1){if((e|0)>=(t[o>>2]|0))break e;n=t[s>>2]|0;v=t[n+(e<<3)+4>>2]|0;t[g>>2]=t[n+(e<<3)>>2];t[g+4>>2]=v;a3(a,99403,g)|0;e=e+1|0}}}while(0);rV(d);h=m;return}function Op(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0.0,P=0.0;x=h;h=h+128|0;D=x+112|0;Q=x+104|0;R=x+16|0;N=x;W=x+64|0;Y=x+56|0;C=x+40|0;I=x+96|0;y=x+88|0;p=x+24|0;E=x+80|0;B=x+72|0;M=t[a+8>>2]|0;z=t[a+12>>2]|0;G=(e|0)==0?A:e;V=$M()|0;F=A+16|0;Z=t[F>>2]|0;g=+c[Z+16>>3];L=(t[n>>2]|0)-~~(g+(g>=0.0?.5:-.5))|0;g=+c[Z+24>>3];Z=(t[n+4>>2]|0)-~~(g+(g>=0.0?.5:-.5))|0;e:do{if((t[a+16>>2]|0)==1){p=$F((gk(A)|0)<<2)|0;e=0;n=sd(A)|0;while(1){if(!n)break;B=n+16|0;t[p+(e<<2)>>2]=t[(t[B>>2]|0)+112>>2];t[(t[B>>2]|0)+112>>2]=0;e=e+1|0;n=cd(A,n)|0}b=L-M|0;w=Z-M|0;k=L+M|0;d=Z+M|0;u=1;while(1){e=t[F>>2]|0;if((u|0)>(t[e+180>>2]|0))break;o=t[(t[e+184>>2]|0)+(u<<2)>>2]|0;f=t[o+16>>2]|0;g=+c[f+16>>3];e=~~(g+(g>=0.0?.5:-.5));g=+c[f+24>>3];n=~~(g+(g>=0.0?.5:-.5));g=+c[f+32>>3];a=~~(g+(g>=0.0?.5:-.5));g=+c[f+40>>3];f=~~(g+(g>=0.0?.5:-.5));A:do{if((a|0)>(e|0)&(f|0)>(n|0)){e=b+e|0;l=w+n|0;a=k+a|0;s=d+f|0;if((e|0)>-1)n=(e|0)/(i|0)|0;else n=((e+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(i|0)|0;else l=((l+1|0)/(i|0)|0)+-1|0;if((a|0)>-1)f=(a|0)/(i|0)|0;else f=((a+1|0)/(i|0)|0)+-1|0;if((s|0)>-1)a=(s|0)/(i|0)|0;else a=((s+1|0)/(i|0)|0)+-1|0;while(1){if((n|0)>(f|0))break;else e=l;while(1){if((e|0)>(a|0))break;tV(V,n,e);e=e+1|0}n=n+1|0}e=sd(o)|0;while(1){if(!e)break A;t[(t[e+16>>2]|0)+212>>2]=o;e=cd(o,e)|0}}}while(0);u=u+1|0}d=C+8|0;v=W+4|0;g=+(M|0);m=Y+4|0;k=I+4|0;w=y+4|0;b=sd(A)|0;while(1){if(!b)break;Ix(C,b);P=+c[C>>3];J=+c[d>>3];o=L+~~(P+(P>=0.0?.5:-.5))|0;t[W>>2]=o;u=Z+~~(J+(J>=0.0?.5:-.5))|0;t[v>>2]=u;n=b+16|0;e=t[n>>2]|0;A:do{if(!(t[e+212>>2]|0)){t[Y>>2]=~~((+c[e+96>>3]+ +c[e+88>>3])*.5+g);t[m>>2]=~~(+c[e+80>>3]*.5+g);t[Q>>2]=t[W>>2];t[Q+4>>2]=t[W+4>>2];t[D>>2]=t[Y>>2];t[D+4>>2]=t[Y+4>>2];eE(I,Q,D);e=t[I>>2]|0;a=t[k>>2]|0;t[Q>>2]=t[W>>2];t[Q+4>>2]=t[W+4>>2];t[D>>2]=t[Y>>2];t[D+4>>2]=t[Y+4>>2];AE(y,Q,D);f=t[y>>2]|0;l=t[w>>2]|0;if((e|0)>-1)n=(e|0)/(i|0)|0;else n=((e+1|0)/(i|0)|0)+-1|0;if((a|0)>-1)s=(a|0)/(i|0)|0;else s=((a+1|0)/(i|0)|0)+-1|0;if((f|0)>-1)f=(f|0)/(i|0)|0;else f=((f+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)a=(l|0)/(i|0)|0;else a=((l+1|0)/(i|0)|0)+-1|0;while(1){if((n|0)>(f|0))break;else e=s;while(1){if((e|0)>(a|0))break;tV(V,n,e);e=e+1|0}n=n+1|0}if((o|0)>-1)e=(o|0)/(i|0)|0;else e=((o+1|0)/(i|0)|0)+-1|0;t[W>>2]=e;if((u|0)>-1)e=(u|0)/(i|0)|0;else e=((u+1|0)/(i|0)|0)+-1|0;t[v>>2]=e;e=Ow(G,b)|0;while(1){if(!e)break A;t[D>>2]=t[W>>2];t[D+4>>2]=t[W+4>>2];rE(e,D,V,L,Z,i,z);e=qw(G,e)|0}}else{if((o|0)>-1)e=(o|0)/(i|0)|0;else e=((o+1|0)/(i|0)|0)+-1|0;t[W>>2]=e;if((u|0)>-1)e=(u|0)/(i|0)|0;else e=((u+1|0)/(i|0)|0)+-1|0;t[v>>2]=e;e=Ow(G,b)|0;while(1){if(!e)break A;if((t[(t[n>>2]|0)+212>>2]|0)!=(t[(t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){t[D>>2]=t[W>>2];t[D+4>>2]=t[W+4>>2];rE(e,D,V,L,Z,i,z)}e=qw(G,e)|0}}}while(0);b=cd(A,b)|0}e=0;n=sd(A)|0;while(1){if(!n)break;t[(t[n+16>>2]|0)+112>>2]=t[p+(e<<2)>>2];e=e+1|0;n=cd(A,n)|0}G2(p)}else{d=p+8|0;v=W+4|0;g=+(M|0);m=Y+4|0;k=E+4|0;w=B+4|0;b=sd(A)|0;while(1){if(!b)break e;Ix(p,b);J=+c[p>>3];P=+c[d>>3];o=L+~~(J+(J>=0.0?.5:-.5))|0;t[W>>2]=o;u=Z+~~(P+(P>=0.0?.5:-.5))|0;t[v>>2]=u;e=t[b+16>>2]|0;t[Y>>2]=~~((+c[e+96>>3]+ +c[e+88>>3])*.5+g);t[m>>2]=~~(+c[e+80>>3]*.5+g);t[Q>>2]=t[W>>2];t[Q+4>>2]=t[W+4>>2];t[D>>2]=t[Y>>2];t[D+4>>2]=t[Y+4>>2];eE(E,Q,D);e=t[E>>2]|0;a=t[k>>2]|0;t[Q>>2]=t[W>>2];t[Q+4>>2]=t[W+4>>2];t[D>>2]=t[Y>>2];t[D+4>>2]=t[Y+4>>2];AE(B,Q,D);f=t[B>>2]|0;l=t[w>>2]|0;if((e|0)>-1)n=(e|0)/(i|0)|0;else n=((e+1|0)/(i|0)|0)+-1|0;if((a|0)>-1)s=(a|0)/(i|0)|0;else s=((a+1|0)/(i|0)|0)+-1|0;if((f|0)>-1)f=(f|0)/(i|0)|0;else f=((f+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)a=(l|0)/(i|0)|0;else a=((l+1|0)/(i|0)|0)+-1|0;while(1){if((n|0)>(f|0))break;else e=s;while(1){if((e|0)>(a|0))break;tV(V,n,e);e=e+1|0}n=n+1|0}if((o|0)>-1)e=(o|0)/(i|0)|0;else e=((o+1|0)/(i|0)|0)+-1|0;t[W>>2]=e;if((u|0)>-1)e=(u|0)/(i|0)|0;else e=((u+1|0)/(i|0)|0)+-1|0;t[v>>2]=e;e=Ow(G,b)|0;while(1){if(!e)break;t[D>>2]=t[W>>2];t[D+4>>2]=t[W+4>>2];rE(e,D,V,L,Z,i,z);e=qw(G,e)|0}b=cd(A,b)|0}}}while(0);f=r+4|0;t[f>>2]=sV(V)|0;l=r+8|0;t[l>>2]=lV(V)|0;n=t[F>>2]|0;J=+(M<<1|0);P=+(i|0);e=~~+H(+((+c[n+32>>3]+J-+c[n+16>>3])/P));n=~~+H(+((+c[n+40>>3]+J-+c[n+24>>3])/P));t[r>>2]=n+e;e:do{if(0>2){a=t[15712]|0;r=Mk(A)|0;A=t[l>>2]|0;t[N>>2]=r;t[N+4>>2]=A;t[N+8>>2]=e;t[N+12>>2]=n;a3(a,99376,N)|0;e=0;while(1){if((e|0)>=(t[l>>2]|0))break e;A=t[f>>2]|0;N=t[A+(e<<3)+4>>2]|0;t[R>>2]=t[A+(e<<3)>>2];t[R+4>>2]=N;a3(a,99403,R)|0;e=e+1|0}}}while(0);rV(V);h=x;return}function _p(e,A){e=e|0;A=A|0;return(t[t[A>>2]>>2]|0)-(t[t[e>>2]>>2]|0)|0}function qp(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;s=h;h=h+32|0;f=s+16|0;l=s;c=t[e+4>>2]|0;n=t[e+8>>2]|0;t[r>>2]=0-(t[i>>2]|0);a=r+4|0;t[a>>2]=0-(t[i+4>>2]|0);e=0;i=c;while(1){if((e|0)>=(n|0))break;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];iV(A,f);e=e+1|0;i=i+8|0}if(0>1){c=t[15712]|0;A=t[r>>2]|0;r=t[a>>2]|0;t[l>>2]=n;t[l+4>>2]=A;t[l+8>>2]=r;a3(c,99350,l)|0}h=s;return}function Kp(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0.0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0;s=t[A+12>>2]|0;o=+c[f+(s<<5)>>3];u=+c[f+(s<<5)+8>>3];b=+c[f+(s<<5)+16>>3];h=+c[f+(s<<5)+24>>3];if(!((e|0)==0?(k=+(n<<1|0),w=+(a|0),($p((~~+H(+((k-o+b)/w))|0)/-2|0,(~~+H(+((k-u+h)/w))|0)/-2|0,A,r,i,a,f)|0)!=0):0))l=3;e:do{if((l|0)==3?($p(0,0,A,r,i,a,f)|0)==0:0)if((~~+H(+(b-o))|0)<(~~+H(+(h-u))|0)){s=1;while(1){l=0-s|0;e=0;while(1){if((e|0)<=(l|0)){n=l;break}if($p(l,e,A,r,i,a,f)|0)break e;e=e+-1|0}while(1){if((n|0)>=(s|0))break;if($p(n,e,A,r,i,a,f)|0)break e;n=n+1|0}while(1){if((e|0)>=(s|0))break;if($p(n,e,A,r,i,a,f)|0)break e;e=e+1|0}while(1){if((n|0)<=(l|0))break;if($p(n,e,A,r,i,a,f)|0)break e;n=n+-1|0}while(1){if((e|0)<=0)break;if(!($p(n,e,A,r,i,a,f)|0))e=e+-1|0;else break e}s=s+1|0}}else{s=1;while(1){l=0-s|0;e=0;while(1){if((e|0)>=(s|0)){n=l;break}if($p(e,l,A,r,i,a,f)|0)break e;e=e+1|0}while(1){if((n|0)>=(s|0))break;if($p(e,n,A,r,i,a,f)|0)break e;n=n+1|0}while(1){if((e|0)<=(l|0))break;if($p(e,n,A,r,i,a,f)|0)break e;e=e+-1|0}while(1){if((n|0)<=(l|0))break;if($p(e,n,A,r,i,a,f)|0)break e;n=n+-1|0}while(1){if((e|0)>=0)break;if(!($p(e,n,A,r,i,a,f)|0))e=e+1|0;else break e}s=s+1|0}}}while(0);return}function $p(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0,B=0.0;g=h;h=h+48|0;d=g+32|0;v=g+8|0;k=g;o=r+4|0;b=t[r+8>>2]|0;w=k+4|0;l=t[o>>2]|0;s=0;while(1){if((s|0)>=(b|0)){u=5;break}p=l;m=t[p+4>>2]|0;t[k>>2]=(t[p>>2]|0)+e;t[w>>2]=m+A;t[d>>2]=t[k>>2];t[d+4>>2]=t[k+4>>2];if(nV(i,d)|0){l=0;break}l=l+8|0;s=s+1|0}if((u|0)==5){r=t[r+12>>2]|0;B=+c[f+(r<<5)>>3];E=+c[f+(r<<5)+8>>3];t[a>>2]=(P(n,e)|0)-~~(B+(B>=0.0?.5:-.5));r=a+4|0;t[r>>2]=(P(n,A)|0)-~~(E+(E>=0.0?.5:-.5));l=t[o>>2]|0;s=0;while(1){if((s|0)>=(b|0))break;m=l;p=t[m+4>>2]|0;t[k>>2]=(t[m>>2]|0)+e;t[w>>2]=p+A;t[d>>2]=t[k>>2];t[d+4>>2]=t[k+4>>2];iV(i,d);l=l+8|0;s=s+1|0}if(0>1){l=t[15712]|0;m=t[a>>2]|0;p=t[r>>2]|0;t[v>>2]=b;t[v+4>>2]=e;t[v+8>>2]=A;t[v+12>>2]=m;t[v+16>>2]=p;a3(l,99316,v)|0;l=1}else l=1}h=g;return l|0}function eE(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=(t[A+4>>2]|0)-(t[r+4>>2]|0)|0;t[e>>2]=(t[A>>2]|0)-(t[r>>2]|0);t[e+4>>2]=i;return}function AE(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=(t[r+4>>2]|0)+(t[A+4>>2]|0)|0;t[e>>2]=(t[r>>2]|0)+(t[A>>2]|0);t[e+4>>2]=i;return}function rE(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0.0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;I=h;h=h+112|0;B=I+96|0;E=I+80|0;d=I+48|0;v=I+32|0;y=I+16|0;C=I;u=I+64|0;c[y>>3]=+(t[A>>2]|0);g=y+8|0;c[g>>3]=+(t[A+4>>2]|0);e:do{if((f|0)!=0?(m=e+16|0,o=t[(t[m>>2]|0)+8>>2]|0,(o|0)!=0):0){k=+(i|0);w=+(a|0);b=1.0/+(n|0);u=C+8|0;f=0;while(1){if((f|0)>=(t[o+4>>2]|0))break e;a=t[o>>2]|0;e=t[a+(f*48|0)>>2]|0;A=t[a+(f*48|0)+4>>2]|0;n=t[a+(f*48|0)+8>>2]|0;i=t[a+(f*48|0)+12>>2]|0;o=a+(f*48|0)+16|0;t[d>>2]=t[o>>2];t[d+4>>2]=t[o+4>>2];t[d+8>>2]=t[o+8>>2];t[d+12>>2]=t[o+12>>2];a=a+(f*48|0)+32|0;t[v>>2]=t[a>>2];t[v+4>>2]=t[a+4>>2];t[v+8>>2]=t[a+8>>2];t[v+12>>2]=t[a+12>>2];if(!n){t[y>>2]=t[e>>2];t[y+4>>2]=t[e+4>>2];t[y+8>>2]=t[e+8>>2];t[y+12>>2]=t[e+12>>2];o=e+16|0;t[C>>2]=t[o>>2];t[C+4>>2]=t[o+4>>2];t[C+8>>2]=t[o+8>>2];t[C+12>>2]=t[o+12>>2];o=2}else{t[y>>2]=t[d>>2];t[y+4>>2]=t[d+4>>2];t[y+8>>2]=t[d+8>>2];t[y+12>>2]=t[d+12>>2];t[C>>2]=t[e>>2];t[C+4>>2]=t[e+4>>2];t[C+8>>2]=t[e+8>>2];t[C+12>>2]=t[e+12>>2];o=1}l=+c[y>>3]+k;c[y>>3]=l;s=+c[g>>3]+w;c[g>>3]=s;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;c[y>>3]=l;if(!(s>=0.0))l=(s+1.0)*b+-1.0;else l=s*b;c[g>>3]=l;l=+c[C>>3]+k;c[C>>3]=l;s=+c[u>>3]+w;c[u>>3]=s;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;c[C>>3]=l;if(!(s>=0.0))l=(s+1.0)*b+-1.0;else l=s*b;c[u>>3]=l;t[E>>2]=t[y>>2];t[E+4>>2]=t[y+4>>2];t[E+8>>2]=t[y+8>>2];t[E+12>>2]=t[y+12>>2];t[B>>2]=t[C>>2];t[B+4>>2]=t[C+4>>2];t[B+8>>2]=t[C+8>>2];t[B+12>>2]=t[C+12>>2];Jp(E,B,r);while(1){if((o|0)>=(A|0))break;t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];n=e+(o<<4)|0;t[C>>2]=t[n>>2];t[C+4>>2]=t[n+4>>2];t[C+8>>2]=t[n+8>>2];t[C+12>>2]=t[n+12>>2];l=+c[C>>3]+k;c[C>>3]=l;s=+c[u>>3]+w;c[u>>3]=s;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;c[C>>3]=l;if(!(s>=0.0))l=(s+1.0)*b+-1.0;else l=s*b;c[u>>3]=l;t[E>>2]=t[y>>2];t[E+4>>2]=t[y+4>>2];t[E+8>>2]=t[y+8>>2];t[E+12>>2]=t[y+12>>2];t[B>>2]=t[C>>2];t[B+4>>2]=t[C+4>>2];t[B+8>>2]=t[C+8>>2];t[B+12>>2]=t[C+12>>2];Jp(E,B,r);o=o+1|0}if(i|0){t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];t[C>>2]=t[v>>2];t[C+4>>2]=t[v+4>>2];t[C+8>>2]=t[v+8>>2];t[C+12>>2]=t[v+12>>2];l=+c[C>>3]+k;c[C>>3]=l;s=+c[u>>3]+w;c[u>>3]=s;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;c[C>>3]=l;if(!(s>=0.0))l=(s+1.0)*b+-1.0;else l=s*b;c[u>>3]=l;t[E>>2]=t[y>>2];t[E+4>>2]=t[y+4>>2];t[E+8>>2]=t[y+8>>2];t[E+12>>2]=t[y+12>>2];t[B>>2]=t[C>>2];t[B+4>>2]=t[C+4>>2];t[B+8>>2]=t[C+8>>2];t[B+12>>2]=t[C+12>>2];Jp(E,B,r)}f=f+1|0;o=t[(t[m>>2]|0)+8>>2]|0}}else p=4}while(0);if((p|0)==4){Ix(u,t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);t[C>>2]=t[u>>2];t[C+4>>2]=t[u+4>>2];t[C+8>>2]=t[u+8>>2];t[C+12>>2]=t[u+12>>2];l=+c[C>>3]+ +(i|0);c[C>>3]=l;o=C+8|0;s=+c[o>>3]+ +(a|0);c[o>>3]=s;if(!(l>=0.0))l=(l+1.0)/+(n|0)+-1.0;else l=l/+(n|0);c[C>>3]=l;if(!(s>=0.0))l=(s+1.0)/+(n|0)+-1.0;else l=s/+(n|0);c[o>>3]=l;t[E>>2]=t[y>>2];t[E+4>>2]=t[y+4>>2];t[E+8>>2]=t[y+8>>2];t[E+12>>2]=t[y+12>>2];t[B>>2]=t[C>>2];t[B+4>>2]=t[C+4>>2];t[B+8>>2]=t[C+8>>2];t[B+12>>2]=t[C+12>>2];Jp(E,B,r)}h=I;return}function iE(e,A,r){e=e|0;A=A|0;r=r|0;e:do{if((e|0)<1)e=0;else switch(t[r+16>>2]|0){case 4:{e=Xp(e,A,r)|0;break e}case 3:{e=aE(e,A,r)|0;break e}default:{e=0;break e}}}while(0);return e|0}function aE(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=h;h=h+80|0;n=u+64|0;a=u+24|0;o=u+8|0;i=u;f=u+56|0;s=r+8|0;c=Up(e,A,t[s>>2]|0)|0;if(0){l=t[15712]|0;t[i>>2]=c;a3(l,99285,i)|0}e:do{if((c|0)>=1){t[f+4>>2]=0;t[f>>2]=0;l=KF(e<<4)|0;r=0;while(1){if((r|0)>=(e|0))break;t[l+(r<<4)+12>>2]=r;b=A+(r<<5)|0;i=t[s>>2]|0;t[a>>2]=t[b>>2];t[a+4>>2]=t[b+4>>2];t[a+8>>2]=t[b+8>>2];t[a+12>>2]=t[b+12>>2];t[a+16>>2]=t[b+16>>2];t[a+20>>2]=t[b+20>>2];t[a+24>>2]=t[b+24>>2];t[a+28>>2]=t[b+28>>2];t[n>>2]=t[f>>2];t[n+4>>2]=t[f+4>>2];Tp(a,l+(r<<4)|0,c,i,n,195059);r=r+1|0}a=KF(e<<2)|0;r=0;while(1){if((r|0)>=(e|0))break;t[a+(r<<2)>>2]=l+(r<<4);r=r+1|0}_4(a,e,4,89);n=$M()|0;r=KF(e<<3)|0;i=0;while(1){if((i|0)>=(e|0))break;b=t[a+(i<<2)>>2]|0;Kp(i,b,n,r+(t[b+12>>2]<<3)|0,c,t[s>>2]|0,A);i=i+1|0}G2(a);i=0;while(1){if((i|0)>=(e|0))break;G2(t[l+(i<<4)+4>>2]|0);i=i+1|0}G2(l);rV(n);if(0>1){a=t[15712]|0;i=0;while(1){if((i|0)>=(e|0))break e;A=t[r+(i<<3)>>2]|0;b=t[r+(i<<3)+4>>2]|0;t[o>>2]=i;t[o+4>>2]=A;t[o+8>>2]=b;a3(a,99301,o)|0;i=i+1|0}}}else r=0}while(0);h=u;return r|0}function tE(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,h=0.0,w=0.0,k=0,d=0,v=0,g=0;e:do{if((e|0)<1)a=0-e|0;else{v=(i|0)==0;k=(a|0)==0;l=0;while(1){if((l|0)==(e|0)){a=0;break e}d=t[A+(l<<2)>>2]|0;n=v?d:i;s=t[r+(l<<3)>>2]|0;o=t[r+(l<<3)+4>>2]|0;u=+(s|0);b=u*.013888888888888888;h=+(o|0);w=h*.013888888888888888;f=sd(d)|0;while(1){if(!f)break;a=t[f+16>>2]|0;g=t[a+132>>2]|0;c[g>>3]=+c[g>>3]+b;g=g+8|0;c[g>>3]=+c[g>>3]+w;g=a+16|0;c[g>>3]=+c[g>>3]+u;g=a+24|0;c[g>>3]=+c[g>>3]+h;a=t[a+108>>2]|0;if(a|0){g=a+56|0;c[g>>3]=+c[g>>3]+u;g=a+64|0;c[g>>3]=+c[g>>3]+h}A:do{if(!k){a=Ow(n,f)|0;while(1){if(!a)break A;nE(a,s,o);a=qw(n,a)|0}}}while(0);f=cd(d,f)|0}fE(d,s,o);l=l+1|0}}}while(0);return a|0}function nE(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0.0,s=0,o=0.0,u=0,b=0;i=t[e+16>>2]|0;e=t[i+96>>2]|0;if(e|0){u=e+56|0;c[u>>3]=+c[u>>3]+ +(A|0);u=e+64|0;c[u>>3]=+c[u>>3]+ +(r|0)}e=t[i+108>>2]|0;if(e|0){u=e+56|0;c[u>>3]=+c[u>>3]+ +(A|0);u=e+64|0;c[u>>3]=+c[u>>3]+ +(r|0)}e=t[i+100>>2]|0;if(e|0){u=e+56|0;c[u>>3]=+c[u>>3]+ +(A|0);u=e+64|0;c[u>>3]=+c[u>>3]+ +(r|0)}e=t[i+104>>2]|0;if(e|0){u=e+56|0;c[u>>3]=+c[u>>3]+ +(A|0);u=e+64|0;c[u>>3]=+c[u>>3]+ +(r|0)}u=t[i+8>>2]|0;e:do{if(u|0){o=+(A|0);l=+(r|0);A=t[u+4>>2]|0;e=0;while(1){if((e|0)>=(A|0))break e;s=t[u>>2]|0;r=t[s+(e*48|0)>>2]|0;a=t[s+(e*48|0)+4>>2]|0;n=t[s+(e*48|0)+8>>2]|0;f=t[s+(e*48|0)+12>>2]|0;i=0;while(1){if((i|0)>=(a|0))break;b=r+(i<<4)|0;c[b>>3]=+c[b>>3]+o;b=r+(i<<4)+8|0;c[b>>3]=+c[b>>3]+l;i=i+1|0}if(n|0){b=s+(e*48|0)+16|0;c[b>>3]=+c[b>>3]+o;b=s+(e*48|0)+24|0;c[b>>3]=+c[b>>3]+l}if(f|0){b=s+(e*48|0)+32|0;c[b>>3]=+c[b>>3]+o;b=s+(e*48|0)+40|0;c[b>>3]=+c[b>>3]+l}e=e+1|0}}}while(0);return}function fE(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0.0,l=0,s=0.0,o=0.0,u=0,b=0.0,h=0;l=e+16|0;e=t[l>>2]|0;h=e+16|0;u=e+24|0;a=e+32|0;e=e+40|0;n=+(A|0);o=+c[a>>3]+n;f=+(r|0);b=+c[u>>3]+f;s=+c[e>>3]+f;c[h>>3]=+c[h>>3]+n;c[u>>3]=b;c[a>>3]=o;c[e>>3]=s;e=t[l>>2]|0;a=t[e+12>>2]|0;if((a|0)!=0?(i[a+81>>0]|0)!=0:0){h=a+56|0;c[h>>3]=+c[h>>3]+n;a=a+64|0;c[a>>3]=+c[a>>3]+f;a=1}else a=1;while(1){if((a|0)>(t[e+180>>2]|0))break;fE(t[(t[e+184>>2]|0)+(a<<2)>>2]|0,A,r);a=a+1|0;e=t[l>>2]|0}return}function lE(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=Hp(e,A,r,i)|0;if(!a)e=1;else{e=tE(e,A,a,r,t[i+12>>2]|0)|0;G2(a)}return e|0}function sE(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;b=w;u=lE(e,A,r,i)|0;if(!u){Xx(r);o=(t[r+16>>2]|0)+16|0;t[b>>2]=t[o>>2];t[b+4>>2]=t[o+4>>2];t[b+8>>2]=t[o+8>>2];t[b+12>>2]=t[o+12>>2];t[b+16>>2]=t[o+16>>2];t[b+20>>2]=t[o+20>>2];t[b+24>>2]=t[o+24>>2];t[b+28>>2]=t[o+28>>2];a=b+8|0;n=b+16|0;f=b+24|0;i=0;while(1){if((i|0)>=(e|0))break;s=t[(t[A+(i<<2)>>2]|0)+16>>2]|0;l=t[s+180>>2]|0;s=s+184|0;r=1;while(1){if((r|0)>(l|0))break;d=(t[(t[(t[s>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+16|0;c[b>>3]=+c[(+c[b>>3]<+c[d>>3]?b:d)>>3];d=t[(t[(t[s>>2]|0)+(r<<2)>>2]|0)+16>>2]|0;k=d+16|0;c[a>>3]=+c[(+c[a>>3]<+c[d+24>>3]?b:k)+8>>3];c[n>>3]=+c[(+c[n>>3]>+c[d+32>>3]?b:k)+16>>3];c[f>>3]=+c[(+c[f>>3]>+c[d+40>>3]?b:k)+24>>3];r=r+1|0}i=i+1|0}t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];t[o+16>>2]=t[b+16>>2];t[o+20>>2]=t[b+20>>2];t[o+24>>2]=t[b+24>>2];t[o+28>>2]=t[b+28>>2]}h=w;return u|0}function cE(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;n=h;h=h+16|0;a=n;if(!i)ge(99534,99540,1400,99547);r=oE(e,r,r)|0;t[i+8>>2]=r;if(0){f=t[15712]|0;t[a>>2]=r;a3(f,99559,a)|0}t[i+12>>2]=0;t[i+20>>2]=0;uE(e,A,i)|0;h=n;return t[i+16>>2]|0}function oE(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;a=l+4|0;n=Hw(e,99689)|0;e:do{if(n){t[f>>2]=a;f=(V3(n,137395,f)|0)==1;e=t[a>>2]|0;if(f&(e|0)>-1)A=e;else{switch(i[n>>0]|0){case 84:case 116:break;default:break e}A=r}}}while(0);h=l;return A|0}function uE(e,A,r){e=e|0;A=A|0;r=r|0;return bE(Hw(e,99572)|0,A,r)|0}function bE(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0.0;m=h;h=h+64|0;d=m+40|0;k=m+32|0;g=m+24|0;v=m+16|0;o=m+8|0;l=m;n=m+48|0;f=m+44|0;if(!r)ge(99534,99540,1292,99581);b=r+28|0;t[b>>2]=0;w=r+16|0;t[w>>2]=A;u=r+4|0;t[u>>2]=0;t[r+24>>2]=0;e:do{if(e|0?(a=i[e>>0]|0,a<<24>>24):0)switch(a<<24>>24|0){case 97:if(!(y1(e,99599,5)|0)){t[w>>2]=4;o=hE(e+5|0,r)|0;t[l>>2]=f;o=(V3(o,137395,l)|0)>0;A=t[f>>2]|0;if(!(o&(A|0)>0))break e;t[u>>2]=A;break e}else{if(y1(e,99605,6)|0)break e;t[w>>2]=5;t[o>>2]=n;o=(V3(e+5|0,99612,o)|0)>0;p=+s[n>>2];s[r>>2]=o&p>0.0?p:1.0;break e}case 99:{if(a<<24>>24!=99)break e;if(e1(e,108006)|0)break e;t[w>>2]=1;break e}case 103:{if(a<<24>>24!=103)break e;if(e1(e,111494)|0)break e;t[w>>2]=3;break e}case 110:{if(a<<24>>24!=110)break e;if(e1(e,111481)|0)break e;t[w>>2]=2;break e}default:break e}}while(0);if(0){A=t[15712]|0;G3(99615,11,1,A)|0;t[v>>2]=wE(t[w>>2]|0)|0;a3(A,99627,v)|0;if((t[w>>2]|0)==5){c[g>>3]=+s[r>>2];a3(A,99640,g)|0}t[k>>2]=t[u>>2];a3(A,99653,k)|0;t[d>>2]=t[b>>2];a3(A,99666,d)|0}h=m;return t[w>>2]|0}function hE(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;e:do{if((i[e>>0]|0)==95){a=A+28|0;r=1;while(1){e=e+1|0;A:while(1){if(!r)break e;A=i[e>>0]|0;if(!(A<<24>>24))break e;switch(A<<24>>24|0){case 99:{n=10;break A}case 105:{n=9;break A}case 117:{n=11;break A}case 116:{n=12;break A}case 98:{A=32;break A}case 108:{n=7;break A}case 114:{n=8;break A}default:r=0}}if((n|0)==7){n=0;A=4}else if((n|0)==8){n=0;A=8}else if((n|0)==9){n=0;A=64}else if((n|0)==10){n=0;A=1}else if((n|0)==11){n=0;A=2}else if((n|0)==12){n=0;A=16}t[a>>2]=t[a>>2]|A}}}while(0);return e|0}function wE(e){e=e|0;switch(e|0){case 1:{e=108006;break}case 2:{e=111481;break}case 3:{e=111494;break}case 4:{e=99599;break}case 5:{e=99605;break}default:e=99679}return e|0}function kE(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+96|0;c=u;o=u+80|0;do{if(e){if(!i){i=L2(1,20)|0;t[i+4>>2]=r>>>0>80?r:80}r=t[i>>2]|0;s=t[i+4>>2]|0;if(!r){f=100;r=e;l=L2(100,s)|0}else{f=r+100|0;l=Q2(t[i+8>>2]|0,P(f,s)|0)|0;z6(l+(P(s,r)|0)|0,0,s*100|0)|0;r=e}while(1){r=dE(c,r,A,o)|0;if(!r)break;e=t[i>>2]|0;a=f<<1;n=P(f,s)|0;if((e|0)==(f|0)){l=Q2(l,P(a,s)|0)|0;z6(l+n|0,0,n|0)|0;e=t[i>>2]|0}else a=f;e=l+(P(e,s)|0)|0;n=c;f=e+80|0;do{t[e>>2]=t[n>>2];e=e+4|0;n=n+4|0}while((e|0)<(f|0));t[i>>2]=(t[i>>2]|0)+1;f=a}if(t[o>>2]|0){o=i+16|0;t[o>>2]=t[o>>2]|1}r=t[i>>2]|0;if(!r){G2(l);G2(i);i=0;break}else{t[i+8>>2]=Q2(l,P(r,s)|0)|0;break}}}while(0);h=u;return i|0}function dE(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;s=h;h=h+80|0;f=s+64|0;l=s;t[a>>2]=0;do{n=i[A>>0]|0;A=A+1|0}while((I1(n)|0)!=0);e:do{switch(n|0){case 69:{t[e>>2]=0;A=vE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r>>2];break}case 101:{t[e>>2]=1;A=vE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r>>2];break}case 80:{t[e>>2]=2;A=gE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+4>>2];break}case 112:{t[e>>2]=3;A=gE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+4>>2];break}case 98:{t[e>>2]=4;A=gE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+8>>2];break}case 66:{t[e>>2]=5;A=gE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+8>>2];break}case 99:{A=mE(A,f)|0;if(!A){t[a>>2]=1;A=0;break e}n=pE(t[f>>2]|0,l)|0;t[f>>2]=n;if(!n){t[a>>2]=1;A=0;break e}if(!(t[l>>2]|0)){t[e>>2]=9;t[e+8>>2]=t[l+8>>2];if(!r)break e;t[e+72>>2]=t[r+24>>2];break e}else{t[e>>2]=14;a=e+8|0;n=l;f=a+64|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));if(!r)break e;t[e+72>>2]=t[r+40>>2];break e}}case 67:{A=mE(A,f)|0;if(!A){t[a>>2]=1;A=0;break e}n=pE(t[f>>2]|0,l)|0;t[f>>2]=n;if(!n){t[a>>2]=1;A=0;break e}if(!(t[l>>2]|0)){t[e>>2]=8;t[e+8>>2]=t[l+8>>2];if(!r)break e;t[e+72>>2]=t[r+20>>2];break e}else{t[e>>2]=13;a=e+8|0;n=l;f=a+64|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));if(!r)break e;t[e+72>>2]=t[r+40>>2];break e}}case 76:{t[e>>2]=6;A=gE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+12>>2];break}case 84:{t[e>>2]=7;A=EE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=EE(A,e+16|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=BE(A,e+24|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=EE(A,e+32|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=mE(A,e+40|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+16>>2];break}case 70:{t[e>>2]=10;A=EE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=mE(A,e+16|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+28>>2];break}case 83:{t[e>>2]=11;A=mE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+32>>2];break}case 73:{t[e>>2]=12;A=vE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}A=mE(A,e+40|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+36>>2];break}case 116:{t[e>>2]=15;A=yE(A,e+8|0)|0;if(!A){t[a>>2]=1;A=0;break e}if(r)t[e+72>>2]=t[r+44>>2];break}case 0:{A=0;break}default:{t[a>>2]=1;A=0}}}while(0);h=s;return A|0}function vE(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;i=f;c[A>>3]=+e8(e,i);a=t[i>>2]|0;if(((a|0)!=(e|0)?(c[A+8>>3]=+e8(a,i),n=t[i>>2]|0,(a|0)!=(n|0)):0)?(c[A+16>>3]=+e8(n,i),r=t[i>>2]|0,(n|0)!=(r|0)):0){c[A+24>>3]=+e8(r,i);e=t[i>>2]|0;e=(r|0)==(e|0)?0:e}else e=0;h=f;return e|0}function gE(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s+4|0;n=s;e=CE(e,l)|0;do{if(e){r=t[l>>2]|0;f=L2(r,24)|0;t[A>>2]=r;i=f;a=0;while(1){if((a|0)>=(r|0)){r=9;break}c[i>>3]=+e8(e,n);r=t[n>>2]|0;if((e|0)==(r|0)){r=5;break}c[i+8>>3]=+e8(r,n);e=t[n>>2]|0;if((r|0)==(e|0)){r=7;break}c[i+16>>3]=0.0;i=i+24|0;r=t[A>>2]|0;a=a+1|0}if((r|0)==5){t[l>>2]=a;G2(f);e=0;break}else if((r|0)==7){t[l>>2]=a;G2(f);e=0;break}else if((r|0)==9){t[l>>2]=a;t[A+4>>2]=f;break}}else e=0}while(0);h=s;return e|0}function mE(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s;e=CE(e,l)|0;a=t[l>>2]|0;do{if(!((e|0)==0|(a|0)<1)){while(1){f=i[e>>0]|0;r=f<<24>>24==0;if(r^f<<24>>24!=45)e=e+1|0;else break}if(!r){f=L2(a+1|0,1)|0;n=f;r=a;while(1){e=e+1|0;if((r|0)<=0){r=9;break}r=i[e>>0]|0;if(!(r<<24>>24)){r=8;break}i[n>>0]=r;r=(t[l>>2]|0)+-1|0;t[l>>2]=r;n=n+1|0}if((r|0)==8){G2(f);e=0;break}else if((r|0)==9){i[n>>0]=0;t[A>>2]=f;break}}else e=0}else e=0}while(0);h=s;return e|0}function pE(e,A){e=e|0;A=A|0;var r=0;r=i[e>>0]|0;switch(r|0){case 91:{e=IE(e+1|0,A)|0;break}case 40:{e=ZE(e+1|0,A)|0;break}case 47:case 35:{t[A>>2]=0;t[A+8>>2]=e;break}default:if(!(M1(r)|0))e=0;else{t[A>>2]=0;t[A+8>>2]=e}}return e|0}function EE(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0;a=h;h=h+16|0;r=a;i=+e8(e,r);r=t[r>>2]|0;if((r|0)==(e|0))r=0;else c[A>>3]=i;h=a;return r|0}function BE(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;e=CE(e,i)|0;i=t[i>>2]|0;t[A>>2]=(i|0)<0?0:i|0?2:1;h=r;return e|0}function yE(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[A>>2]=Z1(e,i,10)|0;A=t[i>>2]|0;h=r;return((A|0)==(e|0)?0:A)|0}function CE(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[A>>2]=n3(e,i,10)|0;A=t[i>>2]|0;h=r;return((A|0)==(e|0)?0:A)|0}function IE(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,o=0,u=0,b=0;b=h;h=h+16|0;o=b;t[A>>2]=1;u=A+8|0;n=EE(e,u)|0;do{if(((((n|0)!=0?(f=EE(n,A+16|0)|0,(f|0)!=0):0)?(i=EE(f,A+24|0)|0,(i|0)!=0):0)?(a=EE(i,A+32|0)|0,(a|0)!=0):0)?(l=A+40|0,r=CE(a,l)|0,(r|0)!=0):0){A=t[l>>2]|0;a=L2(A,8)|0;i=0;while(1){if((i|0)>=(A|0)){r=13;break}r=EE(r,o)|0;if(!r){r=9;break}s[a+(i<<3)>>2]=+c[o>>3];r=mE(r,a+(i<<3)+4|0)|0;if(!r){r=12;break}i=i+1|0;A=t[l>>2]|0}if((r|0)==9){G2(a);e=0;break}else if((r|0)==12){G2(a);e=0;break}else if((r|0)==13){t[u+36>>2]=a;break}}else e=0}while(0);h=b;return e|0}function ZE(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;u=w;t[A>>2]=2;l=EE(e,A+8|0)|0;do{if(((((((l|0)!=0?(o=EE(l,A+16|0)|0,(o|0)!=0):0)?(i=EE(o,A+24|0)|0,(i|0)!=0):0)?(a=EE(i,A+32|0)|0,(a|0)!=0):0)?(n=EE(a,A+40|0)|0,(n|0)!=0):0)?(f=EE(n,A+48|0)|0,(f|0)!=0):0)?(b=A+56|0,r=CE(f,b)|0,(r|0)!=0):0){i=t[b>>2]|0;n=L2(i,8)|0;a=0;while(1){if((a|0)>=(i|0)){r=15;break}r=EE(r,u)|0;if(!r){r=11;break}s[n+(a<<3)>>2]=+c[u>>3];r=mE(r,n+(a<<3)+4|0)|0;if(!r){r=14;break}a=a+1|0;i=t[b>>2]|0}if((r|0)==11){G2(n);e=0;break}else if((r|0)==14){G2(n);e=0;break}else if((r|0)==15){t[A+60>>2]=n;break}}else e=0}while(0);h=w;return e|0}function GE(e,A,r){e=e|0;A=A|0;r=r|0;return kE(e,A,r,0)|0}function LE(e){e=e|0;return GE(e,0,0)|0}function QE(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;i=t[e+12>>2]|0;if(e|0){a=t[e+8>>2]|0;n=e+4|0;f=(i|0)==0;A=0;while(1){if((A|0)>=(t[e>>2]|0))break;r=a+(P(t[n>>2]|0,A)|0)|0;if(!f)F5[i&127](r);DE(r);A=A+1|0}G2(a);G2(e)}return}function DE(e){e=e|0;switch(t[e>>2]|0){case 3:case 2:{G2(t[e+8+4>>2]|0);break}case 5:case 4:{G2(t[e+8+4>>2]|0);break}case 6:{G2(t[e+8+4>>2]|0);break}case 7:{G2(t[e+40>>2]|0);break}case 9:case 8:{G2(t[e+8>>2]|0);break}case 14:case 13:{zE(e+8|0);break}case 10:{G2(t[e+16>>2]|0);break}case 11:{G2(t[e+8>>2]|0);break}case 12:{G2(t[e+40>>2]|0);break}default:{}}return}function zE(e){e=e|0;var A=0,r=0,i=0;switch(t[e>>2]|0){case 1:{i=e+40|0;A=e+8+36|0;e=0;while(1){r=t[A>>2]|0;if((e|0)>=(t[i>>2]|0))break;G2(t[r+(e<<3)+4>>2]|0);e=e+1|0}G2(r);break}case 2:{i=e+56|0;r=e+60|0;e=0;while(1){A=t[r>>2]|0;if((e|0)>=(t[i>>2]|0))break;G2(t[A+(e<<3)+4>>2]|0);e=e+1|0}G2(A);break}default:{}}return}function WE(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;c=b+4|0;u=b;t[A>>2]=0;t[r>>2]=(Bk(Bd(e)|0)|0)!=0&1;a=t[47184]|0;e:do{if(a|0?(f=Pw(e,a)|0,l=i[f>>0]|0,l<<24>>24):0){a=20388;while(1){n=t[a>>2]|0;if(!n)break e;if(l<<24>>24==(i[n>>0]|0)?(e1(f,n)|0)==0:0)break;a=a+12|0}t[A>>2]=t[a+4>>2];t[r>>2]=t[a+8>>2]}}while(0);a=t[47195]|0;if((a|0?(t[r>>2]|0)==1:0)?(s=Pw(e,a)|0,i[s>>0]|0):0)YE(s,r);a=t[47196]|0;if((a|0?(t[A>>2]|0)==1:0)?(o=Pw(e,a)|0,i[o>>0]|0):0)YE(o,A);if(i[(t[e+16>>2]|0)+153>>0]|0){s=e+-48|0;l=Bd(t[((t[e>>2]&3|0)==2?e:s)+40>>2]|0)|0;o=t[e>>2]&3;WE(lk(l,t[((o|0)==2?e:s)+40>>2]|0,t[((o|0)==3?e:e+48|0)+40>>2]|0,0,0)|0,c,u);t[r>>2]=t[c>>2]|t[r>>2];t[A>>2]=t[u>>2]|t[A>>2]}h=b;return}function YE(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;o=b;c=b+4|0;s=0;r=0;e:while(1){t[A>>2]=r;n=(s|0)<4;f=(s|0)==3;l=(s|0)==0;while(1){if(!(n&(i[e>>0]|0)!=0))break e;t[c>>2]=0;a=FE(e,c)|0;r=t[c>>2]|0;if(!r){u=5;break e}e=(r|0)==8;if(!(f&e)){if(!(l&e))break;if(i[a>>0]|0)break}t[c>>2]=0;e=a}r=t[A>>2]|r<<(s<<3);s=s+1|0;e=a}if((u|0)==5){t[o>>2]=e;nw(0,99694,o)|0}h=b;return}function FE(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=h;h=h+16|0;i=a;t[i>>2]=0;r=ME(e,20448,i)|0;if((r|0)==(e|0)){while(1){r=ME(e,20464,i)|0;if((e|0)==(r|0))break;else e=r}r=ME(e,20512,i)|0}e=t[i>>2]|0;if((e|0)!=0&(e&15|0)==0){e=e|1;t[i>>2]=e}t[A>>2]=t[A>>2]|e;h=a;return r|0}function ME(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;while(1){i=t[A>>2]|0;if(!i)break;a=U2(i)|0;if(!(y1(e,i,a)|0)){n=4;break}A=A+8|0}if((n|0)==4){t[r>>2]=t[r>>2]|t[A+4>>2];e=e+a|0}return e|0}function VE(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0,f=0;n=0;r=0.0;while(1){if((n|0)==4)break;a=A>>(n<<3)&15;i=1400;while(1){if(!(t[i+16>>2]|0))break;if((a|0)==(t[i>>2]|0)){f=6;break}i=i+24|0}if((f|0)==6){f=0;r=+c[i+8>>3]+r}n=n+1|0}return+(r*10.0*+wx(e,t[47188]|0,1.0,0.0))}function NE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0.0,l=0.0,s=0.0,o=0,u=0.0,b=0,w=0;w=h;h=h+96|0;o=w+80|0;b=w;s=a>4.0?a*.0875:.35;f=+c[r+8>>3];u=f*s;l=+c[r>>3];s=l*s;i=+c[A>>3];l=i+l;c[o>>3]=l;a=+c[A+8>>3];f=f+a;c[o+8>>3]=f;r=b+64|0;if(!(n&32)){t[r>>2]=t[o>>2];t[r+4>>2]=t[o+4>>2];t[r+8>>2]=t[o+8>>2];t[r+12>>2]=t[o+12>>2];t[b>>2]=t[o>>2];t[b+4>>2]=t[o+4>>2];t[b+8>>2]=t[o+8>>2];t[b+12>>2]=t[o+12>>2];o=b+32|0;t[o>>2]=t[A>>2];t[o+4>>2]=t[A+4>>2];t[o+8>>2]=t[A+8>>2];t[o+12>>2]=t[A+12>>2];a=f;i=l}else{t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];t[b>>2]=t[A>>2];t[b+4>>2]=t[A+4>>2];t[b+8>>2]=t[A+8>>2];t[b+12>>2]=t[A+12>>2];A=b+32|0;t[A>>2]=t[o>>2];t[A+4>>2]=t[o+4>>2];t[A+8>>2]=t[o+8>>2];t[A+12>>2]=t[o+12>>2]}c[b+16>>3]=i+u;c[b+24>>3]=a-s;c[b+48>>3]=i-u;c[b+56>>3]=a+s;do{if(!(n&64))if(!(n&128)){ti(e,b+16|0,3,n>>>4&1^1);break}else{ti(e,b+32|0,3,n>>>4&1^1);break}else ti(e,b,3,n>>>4&1^1)}while(0);h=w;return}function RE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0.0,l=0.0,s=0.0,o=0.0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0,p=0.0,E=0,B=0,y=0;B=h;h=h+160|0;u=B+144|0;E=B;k=i*4.0;y=(n&32|0)==0;k=!(k1.0)|y?0.0:(a+-1.0)*.05/i;m=+c[r+8>>3];d=-m;p=k*d;g=+c[r>>3];k=g*k;d=v*d;v=g*v;w=+c[A>>3];i=w+g;c[u>>3]=i;b=+c[A+8>>3];a=m+b;c[u+8>>3]=a;g=g*.5+w;m=m*.5+b;r=E+128|0;if(y){t[r>>2]=t[u>>2];t[r+4>>2]=t[u+4>>2];t[r+8>>2]=t[u+8>>2];t[r+12>>2]=t[u+12>>2];t[E>>2]=t[u>>2];t[E+4>>2]=t[u+4>>2];t[E+8>>2]=t[u+8>>2];t[E+12>>2]=t[u+12>>2];y=E+64|0;t[y>>2]=t[A>>2];t[y+4>>2]=t[A+4>>2];t[y+8>>2]=t[A+8>>2];t[y+12>>2]=t[A+12>>2];f=b;l=w;s=b;o=w;a=b;i=w}else{t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];t[E>>2]=t[A>>2];t[E+4>>2]=t[A+4>>2];t[E+8>>2]=t[A+8>>2];t[E+12>>2]=t[A+12>>2];y=E+64|0;t[y>>2]=t[u>>2];t[y+4>>2]=t[u+4>>2];t[y+8>>2]=t[u+8>>2];t[y+12>>2]=t[u+12>>2];f=a+v;l=i+d;s=a-v;o=i-d}c[E+16>>3]=i-p;c[E+24>>3]=a-k;c[E+32>>3]=g-d;c[E+40>>3]=m-v;c[E+48>>3]=o;c[E+56>>3]=s;c[E+80>>3]=l;c[E+88>>3]=f;c[E+96>>3]=g+d;c[E+104>>3]=m+v;c[E+112>>3]=i+p;c[E+120>>3]=a+k;do{if(!(n&64))if(!(n&128)){ti(e,E,9,1);break}else{ti(e,E+48|0,6,1);break}else ti(e,E,6,1)}while(0);h=B;return}function xE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0.0,l=0.0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0;k=h;h=h+64|0;w=k;g=+c[r+8>>3];v=+c[r>>3];s=+c[A>>3];i=s+v;o=+c[A+8>>3];a=o+g;f=s+v*.2;l=o+g*.2;s=s+v*.6;o=o+g*.6;c[w>>3]=f-g;c[w+8>>3]=l+v;u=w+16|0;c[u>>3]=f+g;b=w+24|0;c[b>>3]=l-v;c[w+32>>3]=s+g;c[w+40>>3]=o-v;c[w+48>>3]=s-g;c[w+56>>3]=o+v;if(!(n&64)){if(n&128|0){r=2;n=1;d=3}}else{r=3;n=0;d=3}if((d|0)==3){c[w+(n<<4)>>3]=f;c[w+(n<<4)+8>>3]=l;c[w+(r<<4)>>3]=s;c[w+(r<<4)+8>>3]=o}ti(e,w,4,1);t[w>>2]=t[A>>2];t[w+4>>2]=t[A+4>>2];t[w+8>>2]=t[A+8>>2];t[w+12>>2]=t[A+12>>2];c[u>>3]=i;c[b>>3]=a;li(e,w,2);h=k;return}function JE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0.0,g=0.0;b=h;h=h+64|0;u=b;l=+c[r+8>>3];d=l*-.4;f=+c[r>>3];k=f*.4;g=+c[A>>3];i=g+f*.8;v=+c[A+8>>3];a=v+l*.8;f=g+f;l=v+l;c[u>>3]=g+d;s=u+8|0;c[s>>3]=v+k;r=u+16|0;c[r>>3]=g-d;o=u+24|0;c[o>>3]=v-k;c[u+32>>3]=i-d;c[u+40>>3]=a-k;c[u+48>>3]=i+d;c[u+56>>3]=a+k;if(!(n&64)){if(n&128|0){t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];r=2;w=5}}else{t[u>>2]=t[A>>2];t[u+4>>2]=t[A+4>>2];t[u+8>>2]=t[A+8>>2];t[u+12>>2]=t[A+12>>2];r=3;w=5}if((w|0)==5){c[u+(r<<4)>>3]=i;c[u+(r<<4)+8>>3]=a}ti(e,u,4,n>>>4&1^1);c[u>>3]=i;c[s>>3]=a;c[u+16>>3]=f;c[o>>3]=l;li(e,u,2);h=b;return}function HE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0;l=h;h=h+80|0;f=l;u=+c[r+8>>3];s=u*-.3333333333333333;w=+c[r>>3];a=w*.3333333333333333;k=+c[A>>3];o=k+w*.5;b=+c[A+8>>3];i=b+u*.5;r=f+64|0;c[f+64>>3]=k+w;c[f+72>>3]=b+u;t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];c[f+16>>3]=o+s;c[f+24>>3]=i+a;r=f+32|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];c[f+48>>3]=o-s;c[f+56>>3]=i-a;do{if(!(n&64)){r=n>>>4&1^1;if(!(n&128)){ti(e,f,4,r);break}else{ti(e,f,3,r);break}}else ti(e,r,3,n>>>4&1^1)}while(0);h=l;return}function PE(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=+i;a=+a;t=t|0;var n=0,f=0,l=0.0,s=0.0,o=0.0;n=h;h=h+32|0;f=n;s=+c[r>>3];a=+c[r+8>>3];i=+D(+(a*a+s*s))*.5;o=+c[A>>3];s=s*.5;c[f>>3]=o+s-i;l=+c[A+8>>3];a=a*.5;c[f+8>>3]=l-i+a;c[f+16>>3]=o+i+s;c[f+24>>3]=l+i+a;ai(e,f,2,t>>>4&1^1);h=n;return}function XE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0;g=h;h=h+112|0;k=g+48|0;d=g+16|0;v=g;u=a>4.0?a*.125:.5;w=+c[A>>3];b=+c[r>>3];f=+c[A+8>>3];o=+c[r+8>>3];i=o*u;a=b*u;t[d>>2]=t[A>>2];t[d+4>>2]=t[A+4>>2];t[d+8>>2]=t[A+8>>2];t[d+12>>2]=t[A+12>>2];c[d+16>>3]=b+w;c[d+24>>3]=o+f;c[k>>3]=u*(b-o)+w;l=u*(o+b);s=l+f;c[k+8>>3]=s;c[k+48>>3]=l+w;f=u*(o-b)+f;c[k+56>>3]=f;b=i*-.95;o=b+a+w;u=a*1.3333333333333333;if(!(n&32)){i=i*1.3333333333333333;l=a*-.33333333333333326;f=f-i;a=s-i;i=o-u}else{i=i*1.3333333333333333;l=a*2.333333333333333;f=f+i;a=s+i;i=o+u}c[k+16>>3]=i;c[k+24>>3]=a;c[k+32>>3]=l-b+w;c[k+40>>3]=f;li(e,d,2);if(!(n&64)){if(n&128|0)Zx(v,k,3,.5,k,0)}else Zx(v,k,3,.5,0,k);fi(e,k,4,0,0,0);h=g;return}function SE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0;n=h;h=h+32|0;f=n;i=+c[r>>3]+ +c[A>>3];a=+c[r+8>>3]+ +c[A+8>>3];t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];c[f+16>>3]=i;c[f+24>>3]=a;li(e,f,2);h=n;return}function jE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0.0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0,d=0,v=0;u=h;h=h+80|0;l=u+72|0;s=u+8|0;o=u;f=+VE(e,n);f=f*f;c[o>>3]=f;t[a+12>>2]=n;n=a+32|0;e=i+3|0;a=A+(e<<4)|0;t[n>>2]=t[a>>2];t[n+4>>2]=t[a+4>>2];t[n+8>>2]=t[a+8>>2];t[n+12>>2]=t[a+12>>2];if((i|0)>(r|0)?(b=+c[A+(i<<4)>>3]-+c[a>>3],w=+c[A+(i<<4)+8>>3]-+c[A+(e<<4)+8>>3],w*w+b*b>2]=t[d>>2];t[v+4>>2]=t[d+4>>2];t[v+8>>2]=t[d+8>>2];t[v+12>>2]=t[d+12>>2];k=s+32|0;e=A+(i+1<<4)|0;t[k>>2]=t[e>>2];t[k+4>>2]=t[e+4>>2];t[k+8>>2]=t[e+8>>2];t[k+12>>2]=t[e+12>>2];a=s+16|0;r=A+(i+2<<4)|0;t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];t[s>>2]=t[n>>2];t[s+4>>2]=t[n+4>>2];t[s+8>>2]=t[n+8>>2];t[s+12>>2]=t[n+12>>2];t[l>>2]=s;t[l+4>>2]=o;kR(l,92,s,1);t[d>>2]=t[v>>2];t[d+4>>2]=t[v+4>>2];t[d+8>>2]=t[v+8>>2];t[d+12>>2]=t[v+12>>2];t[e>>2]=t[k>>2];t[e+4>>2]=t[k+4>>2];t[e+8>>2]=t[k+8>>2];t[e+12>>2]=t[k+12>>2];t[r>>2]=t[a>>2];t[r+4>>2]=t[a+4>>2];t[r+8>>2]=t[a+8>>2];t[r+12>>2]=t[a+12>>2];o=A+(i+3<<4)|0;t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];h=u;return i|0}function UE(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0;a=t[e>>2]|0;r=+c[A>>3]-+c[a>>3];i=+c[A+8>>3]-+c[a+8>>3];return i*i+r*r<=+c[t[e+4>>2]>>3]|0}function TE(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,s=0,o=0,u=0,b=0,w=0.0,k=0.0,d=0,v=0;b=h;h=h+80|0;s=b+72|0;o=b+8|0;u=b;l=+VE(e,n);l=l*l;c[u>>3]=l;t[a+8>>2]=n;a=a+16|0;e=A+(r<<4)|0;t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];t[a+12>>2]=t[e+12>>2];if(!((i|0)>(r|0)?(f=r+3|0,w=+c[e>>3]-+c[A+(f<<4)>>3],k=+c[A+(r<<4)+8>>3]-+c[A+(f<<4)+8>>3],k*k+w*w>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];n=o+16|0;r=A+(f+2<<4)|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];d=o+32|0;e=A+(f+1<<4)|0;t[d>>2]=t[e>>2];t[d+4>>2]=t[e+4>>2];t[d+8>>2]=t[e+8>>2];t[d+12>>2]=t[e+12>>2];v=o+48|0;t[v>>2]=t[a>>2];t[v+4>>2]=t[a+4>>2];t[v+8>>2]=t[a+8>>2];t[v+12>>2]=t[a+12>>2];t[s>>2]=v;t[s+4>>2]=u;kR(s,92,o,0);u=A+(f<<4)|0;t[u>>2]=t[v>>2];t[u+4>>2]=t[v+4>>2];t[u+8>>2]=t[v+8>>2];t[u+12>>2]=t[v+12>>2];t[e>>2]=t[d>>2];t[e+4>>2]=t[d+4>>2];t[e+8>>2]=t[d+8>>2];t[e+12>>2]=t[d+12>>2];t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2];t[i>>2]=t[o>>2];t[i+4>>2]=t[o+4>>2];t[i+8>>2]=t[o+8>>2];t[i+12>>2]=t[o+12>>2];h=b;return f|0}function OE(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0.0,o=0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0,d=0,v=0.0,g=0.0,m=0,p=0,E=0;m=(n|0)!=0;o=(f|0)!=0;if(!((i|0)==(r|0)&(m&o))){if(o){l=+VE(e,f);s=+c[A+(i<<4)>>3];w=+c[A+(i<<4)+8>>3];o=i+3|0;d=A+(o<<4)|0;b=+c[d>>3];o=A+(o<<4)+8|0;h=+c[o>>3];g=s-b;v=w-h;g=+D(+(v*v+g*g))*.9;l=l>=g?g:l;if(w==h){u=(s>3]=s;c[A+(E<<4)+8>>3]=w;i=A+(i+2<<4)|0;c[d>>3]=u;c[o>>3]=l;t[i>>2]=t[d>>2];t[i+4>>2]=t[d+4>>2];t[i+8>>2]=t[d+8>>2];t[i+12>>2]=t[d+12>>2];t[a+12>>2]=f;c[a+32>>3]=b;c[a+40>>3]=h}if(m){u=+VE(e,n);o=A+(r<<4)|0;s=+c[o>>3];l=+c[A+(r<<4)+8>>3];E=r+3|0;h=+c[A+(E<<4)>>3];w=+c[A+(E<<4)+8>>3];g=s-h;v=l-w;g=+D(+(v*v+g*g))*.9;u=u>=g?g:u;if(l==w){b=(s>3]=b;c[A+(E<<4)+8>>3]=u;t[o>>2]=t[p>>2];t[o+4>>2]=t[p+4>>2];t[o+8>>2]=t[p+8>>2];t[o+12>>2]=t[p+12>>2];p=r+2|0;c[A+(p<<4)>>3]=h;c[A+(p<<4)+8>>3]=w;p=16}}else{d=A+(i<<4)|0;v=+c[d>>3];g=+c[A+(i<<4)+8>>3];o=i+3|0;m=A+(o<<4)|0;s=+c[m>>3];o=A+(o<<4)+8|0;l=+c[o>>3];u=+VE(e,n);k=+VE(e,f);b=v-s;w=g-l;b=+D(+(w*w+b*b));E=!(k+u>=b);b=b*.3333333333333333;u=E?u:b;b=E?k:b;if(g==l){E=v>3]=k;c[A+(E<<4)+8>>3]=h;t[d>>2]=t[p>>2];t[d+4>>2]=t[p+4>>2];t[d+8>>2]=t[p+8>>2];t[d+12>>2]=t[p+12>>2];p=A+(i+2<<4)|0;c[m>>3]=w;c[o>>3]=u;t[p>>2]=t[m>>2];t[p+4>>2]=t[m+4>>2];t[p+8>>2]=t[m+8>>2];t[p+12>>2]=t[m+12>>2];t[a+12>>2]=f;c[a+32>>3]=v;c[a+40>>3]=g;p=16}if((p|0)==16){t[a+8>>2]=n;c[a+16>>3]=s;c[a+24>>3]=l}return}function _E(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var t=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,h=0.0;b=+c[A>>3];s=+c[r>>3]-b;h=+c[A+8>>3];o=+c[r+8>>3]-h;l=i*10.0/(+D(+(s*s+o*o))+.0001);s=l*((s>=0.0?.0001:-.0001)+s);l=((o>=0.0?.0001:-.0001)+o)*l;o=s*.5;u=l*.5;f=b-u;t=h-o;b=u+b;o=h+o;h=f+s;u=t+l;s=b+s;l=o+l;n=h>s?h:s;n=b>n?b:n;i=u>l?u:l;i=o>i?o:i;s=h>3]=f>3]=t>3]=f>n?f:n;c[e+24>>3]=t>i?t:i;return}function qE(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;n=+n;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0.0,g=0.0;k=h;h=h+48|0;o=k+32|0;s=k+16|0;w=k;u=(t[e+16>>2]|0)+12|0;b=t[u>>2]|0;t[u>>2]=A;ii(e,t[(t[e>>2]|0)+336>>2]|0);ui(e,n);g=+c[i>>3]-+c[r>>3];A=i+8|0;v=+c[A>>3]-+c[r+8>>3];d=10.0/(+D(+(g*g+v*v))+.0001);c[i>>3]=d*((g>=0.0?.0001:-.0001)+g);c[A>>3]=((v>=0.0?.0001:-.0001)+v)*d;A=0;while(1){if((A|0)>=4)break;l=f>>(A<<3)&255;if(!l)break;t[s>>2]=t[r>>2];t[s+4>>2]=t[r+4>>2];t[s+8>>2]=t[r+8>>2];t[s+12>>2]=t[r+12>>2];t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];KE(w,e,s,o,a,n,l);t[r>>2]=t[w>>2];t[r+4>>2]=t[w+4>>2];t[r+8>>2]=t[w+8>>2];t[r+12>>2]=t[w+12>>2];A=A+1|0}t[u>>2]=b;h=k;return}function KE(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;n=+n;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+32|0;o=k+16|0;s=k;u=f&15;l=1400;while(1){b=t[l>>2]|0;if(!b)break;if((u|0)==(b|0)){w=4;break}l=l+24|0}if((w|0)==4){d=+c[l+8>>3]*a;c[i>>3]=d*+c[i>>3];b=i+8|0;c[b>>3]=d*+c[b>>3];w=t[l+16>>2]|0;t[s>>2]=t[r>>2];t[s+4>>2]=t[r+4>>2];t[s+8>>2]=t[r+8>>2];t[s+12>>2]=t[r+12>>2];t[o>>2]=t[i>>2];t[o+4>>2]=t[i+4>>2];t[o+8>>2]=t[i+8>>2];t[o+12>>2]=t[i+12>>2];N5[w&15](A,s,o,a,n,f);c[r>>3]=+c[i>>3]+ +c[r>>3];w=r+8|0;c[w>>3]=+c[b>>3]+ +c[w>>3]}t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];h=k;return}function $E(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l+8|0;a=l;A=Hw(e,99796)|0;if((A|0)!=0?(i[A>>0]|0)!=0:0){r=A;f=5}else{A=Hw(e,99808)|0;if((A|0)!=0?(i[A>>0]|0)!=0:0){r=A;f=5}else A=0}if((f|0)==5){A=GE(r,0,120)|0;if(!A){t[a>>2]=Mk(e)|0;nw(0,99815,a)|0;t[n>>2]=r;nw(3,99868,n)|0}}h=l;return A|0}function eB(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;n=h;h=h+16|0;a=KF(304)|0;if(!a)nw(1,99876,n)|0;i=e+16|0;e=t[i>>2]|0;t[a>>2]=e;t[i>>2]=a;if(!e){t[a+144>>2]=3;t[a+148>>2]=0;c[a+152>>3]=1.0}else{A=a+16|0;r=e+16|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));A=a+56|0;r=e+56|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));t[a+144>>2]=t[e+144>>2];t[a+148>>2]=t[e+148>>2];c[a+152>>3]=+c[e+152>>3];t[a+136>>2]=t[e+136>>2];A=a+96|0;r=e+96|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0))}h=n;return a|0}function AB(e){e=e|0;var A=0;e=e+16|0;A=t[e>>2]|0;if(!A)ge(99902,99906,117,99913);else{G2(t[A+212>>2]|0);G2(t[A+208>>2]|0);G2(t[A+216>>2]|0);G2(t[A+220>>2]|0);G2(t[A+224>>2]|0);G2(t[A+228>>2]|0);G2(t[A+232>>2]|0);G2(t[A+236>>2]|0);G2(t[A+240>>2]|0);G2(t[A+244>>2]|0);G2(t[A+248>>2]|0);G2(t[A+252>>2]|0);G2(t[A+256>>2]|0);G2(t[A+272>>2]|0);G2(t[A+284>>2]|0);G2(t[A+280>>2]|0);t[e>>2]=t[A>>2];G2(A);return}}function rB(e,A,r,n,f,l,s){e=e|0;A=A|0;r=r|0;n=n|0;f=f|0;l=l|0;s=s|0;var c=0,o=0;o=t[e+16>>2]|0;c=t[e+152>>2]|0;if((A|0)!=0&(c&32768|0)!=0)t[o+192>>2]=A;if(((c&65536|0)!=0?(t[o+212>>2]=UF(l,s)|0,(r|0)!=0):0)?(i[r>>0]|0)!=0:0){t[o+208>>2]=UF(r,s)|0;e=1}else e=0;do{if(c&4194304){if(n|0?i[n>>0]|0:0){t[o+228>>2]=UF(n,s)|0;e=o+260|0;a[e>>1]=a[e>>1]|1;e=1;break}A=t[o+192>>2]|0;if(A){t[o+228>>2]=o3(A)|0;e=1}}}while(0);if((f|0)!=0&(c&8388608|0)!=0?(i[f>>0]|0)!=0:0){t[o+244>>2]=UF(f,s)|0;e=1}return e|0}function iB(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;s=h;h=h+80|0;l=s;f=s+8|0;n=t[(t[e>>2]|0)+168>>2]|0;a=t[(t[(t[n+16>>2]|0)+8>>2]|0)+92>>2]|0;aB(e,r);e=Hw(A,141060)|0;if((e|0)!=0?(i[e>>0]|0)!=0:0){bw(r,e)|0;a=r+4|0;e=t[a>>2]|0;if(e>>>0>=(t[r+8>>2]|0)>>>0){ow(r,1)|0;e=t[a>>2]|0}i[e>>0]=0;e=t[r>>2]|0;t[a>>2]=e}else{if((n|0)!=(A|0)&(a|0)!=0){bw(r,a)|0;a=r+4|0;e=t[a>>2]|0;if(e>>>0>=(t[r+8>>2]|0)>>>0){ow(r,1)|0;e=t[a>>2]|0}t[a>>2]=e+1;i[e>>0]=95}switch(Yd(A)|0){case 0:{a=(n|0)==(A|0)?111494:99927;e=(t[A>>2]|0)>>>4;break}case 1:{a=111481;e=(t[A>>2]|0)>>>4;break}case 2:{a=111450;e=(t[A>>2]|0)>>>4;break}default:{a=0;e=0}}bw(r,a)|0;t[l>>2]=e;T4(f,99933,l)|0;bw(r,f)|0;a=r+4|0;e=t[a>>2]|0;if(e>>>0>=(t[r+8>>2]|0)>>>0){ow(r,1)|0;e=t[a>>2]|0}i[e>>0]=0;e=t[r>>2]|0;t[a>>2]=e}h=s;return e|0}function aB(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;l=h;h=h+144|0;f=l;n=l+8|0;r=t[e+160>>2]|0;if((r|0)>1?t[e+152>>2]&64|0:0){bw(A,t[(t[(t[e>>2]|0)+308>>2]|0)+(r<<2)>>2]|0)|0;a=A+4|0;r=t[a>>2]|0;if(r>>>0>=(t[A+8>>2]|0)>>>0){ow(A,1)|0;r=t[a>>2]|0}t[a>>2]=r+1;i[r>>0]=95}a=t[e+196>>2]|0;r=t[e+200>>2]|0;if((a|0)>0|(r|0)>0){t[f>>2]=a;t[f+4>>2]=r;T4(n,99937,f)|0;bw(A,n)|0}h=l;return}function tB(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0.0,f=0,l=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0.0,v=0;v=h;h=h+48|0;w=v+16|0;a=v+32|0;k=v;d=+c[(t[e+16>>2]|0)+152>>3];b=nB(r,0,a)|0;if((b+-1|0)>>>0>=2){i=+c[A+16>>3];l=(i+ +c[A>>3])*.5;c[k>>3]=l;n=+c[A+24>>3];o=(n+ +c[A+8>>3])*.5;c[k+8>>3]=o;l=i-l;o=n-o;u=d>.5;if(u)ui(e,.5);f=t[a>>2]|0;n=0.0;a=t[f+8>>2]|0;while(1){r=t[a>>2]|0;if(!r)break;A=a+4|0;if(+s[A>>2]==0.0)i=n;else{Ai(e,r);if(!(t[a+12>>2]|0))i=6.283185307179586;else i=+s[A>>2]*6.283185307179586+n;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];A=Ia(w,l,o,n,i)|0;fi(e,t[A>>2]|0,t[A+4>>2]|0,0,0,1);ys(A)}n=i;a=a+12|0}if(u)ui(e,d);fB(f)}h=v;return b|0}function nB(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0.0,c=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+16|0;b=d+8|0;u=d;k=KF(12)|0;f=o3(e)|0;e:do{if(!A){A=1;a=f;while(1){switch(i[a>>0]|0){case 0:break e;case 58:{A=A+1|0;break}default:{}}a=a+1|0}}}while(0);t[k+4>>2]=f;w=KF((A*12|0)+12|0)|0;t[k+8>>2]=w;o=1.0;n=0;A=0;a=f;while(1){a=l3(a,107984)|0;if(!a){a=20;break}l=+lB(a);if(!(l>=0.0)){a=17;break}c=l-o;if(c>0.0)if((t[5156]|0)!=0?!(c<1.0e-05&c>-1.0e-05):0){t[u>>2]=e;nw(0,99948,u)|0;t[5156]=0;l=o;A=3}else l=o;c=o-l;if(l>0.0)i[w+(n*12|0)+8>>0]=1;if(i[a>>0]|0)t[w+(n*12|0)>>2]=a;a=n+1|0;s[w+(n*12|0)+4>>2]=l;if(c<1.0e-05&c>-1.0e-05){n=a;a=30;break}else{o=c;n=a;a=0}}e:do{if((a|0)==17){if(!(t[5156]|0))A=1;else{t[b>>2]=e;nw(1,99983,b)|0;t[5156]=0;A=2}fB(k)}else if((a|0)==20)if(o>0.0){a=0;f=0;while(1){if((a|0)>=(n|0))break;b=f+(+s[w+(a*12|0)+4>>2]==0.0&1)|0;a=a+1|0;f=b}if((f|0)<=0){a=w+((n+-1|0)*12|0)+4|0;s[a>>2]=o+ +s[a>>2];a=30;break}l=o/+(f|0);a=0;while(1){if((a|0)>=(n|0)){a=30;break e}f=w+(a*12|0)+4|0;if(+s[f>>2]==0.0)s[f>>2]=l;a=a+1|0}}else a=30}while(0);if((a|0)==30){while(1){a=n+-1|0;if((n|0)<=0)break;if(+s[w+(a*12|0)+4>>2]>0.0)break;else n=a}t[w+(n*12|0)>>2]=0;t[k>>2]=n;t[r>>2]=k}h=d;return A|0}function fB(e){e=e|0;G2(t[e+4>>2]|0);G2(t[e+8>>2]|0);G2(e);return}function lB(e){e=e|0;var A=0.0,r=0,a=0,n=0;a=h;h=h+16|0;r=a;e=C1(e,59)|0;if(!e)A=0.0;else{n=e+1|0;i[e>>0]=0;A=+e8(n,r);A=(A>=0.0?(t[r>>2]|0)!=(n|0):0)?A:-1.0}h=a;return+A}function sB(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0,o=0.0,u=0.0,b=0,w=0,k=0,d=0,v=0.0,g=0;g=h;h=h+80|0;n=g+64|0;d=g;v=+c[(t[e+16>>2]|0)+152>>3];k=nB(r,0,n)|0;if((k+-1|0)>>>0>=2){if(!i){t[d>>2]=t[A>>2];t[d+4>>2]=t[A+4>>2];t[d+8>>2]=t[A+8>>2];t[d+12>>2]=t[A+12>>2];w=d+16|0;b=A+16|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2];w=d+32|0;b=A+32|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2];w=d+48|0;b=A+48|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2]}else{w=A+32|0;t[d>>2]=t[w>>2];t[d+4>>2]=t[w+4>>2];t[d+8>>2]=t[w+8>>2];t[d+12>>2]=t[w+12>>2];w=d+16|0;b=A+48|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2];w=d+32|0;t[w>>2]=t[A>>2];t[w+4>>2]=t[A+4>>2];t[w+8>>2]=t[A+8>>2];t[w+12>>2]=t[A+12>>2];w=d+48|0;b=A+16|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2]}l=d+16|0;o=+c[l>>3];a=+c[d>>3];u=o-a;b=d+32|0;c[b>>3]=a;c[l>>3]=a;w=v>.5;if(w)ui(e,.5);n=t[n>>2]|0;f=d+48|0;i=t[n+8>>2]|0;while(1){r=t[i>>2]|0;if(!r)break;A=i+4|0;if(!(+s[A>>2]==0.0)){Ai(e,r);if(!(t[i+12>>2]|0))a=o;else a=u*+s[A>>2]+ +c[d>>3];c[b>>3]=a;c[l>>3]=a;ti(e,d,4,1);a=+c[l>>3];c[f>>3]=a;c[d>>3]=a}i=i+12|0}if(w)ui(e,v);fB(n)}h=g;return k|0}function cB(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;r=t[e+16>>2]|0;i=t[e+152>>2]|0;if(i&4259840|0){a=i&131072;n=a>>>16^2;t[r+264>>2]=n;f=r+268|0;t[f>>2]=n+2;n=r+272|0;G2(t[n>>2]|0);r=KF(t[f>>2]<<4)|0;t[n>>2]=r;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];n=r+16|0;A=A+16|0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];if(!(i&8192))Dr(e,r,r,2)|0;if(!a)IF(r)}return}function oB(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0,t=0,n=0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0,w=0,k=0;k=h;h=h+144|0;r=k+80|0;a=k+16|0;t=k;s=+c[A>>3];b=e+16|0;o=+c[b>>3];if(!(((((((((!(s>o)?(u=+c[e>>3],!(s>3],f=+c[e+24>>3],!(i>f)):0)?(l=+c[e+8>>3],!(i>3],!(s>o|s>3],!(s>f|s>3],!(s>o|s>3],!(s>f|s>3],!(s>o|s>3],!(u>f|u>3];if(!(i>+c[b>>3])){if(i<+c[e>>3]){r=e;w=16}}else{r=b;w=16}if((w|0)==16){w=0;c[r>>3]=i}i=+c[A+(a<<4)+8>>3];if(!(i>+c[t>>3])){if(i<+c[n>>3]){r=e;w=19}}else{r=b;w=19}if((w|0)==19){w=0;c[r+8>>3]=i}a=a+1|0}}}while(0);h=k;return}function uB(e){e=e|0;var A=0,r=0,i=0,a=0,n=0.0,f=0,l=0;A=h;h=h+48|0;r=A+32|0;i=A+16|0;a=A;l=e+48|0;f=e+16|0;t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];t[a+12>>2]=t[e+12>>2];t[i>>2]=t[l>>2];t[i+4>>2]=t[l+4>>2];t[i+8>>2]=t[l+8>>2];t[i+12>>2]=t[l+12>>2];t[r>>2]=t[f>>2];t[r+4>>2]=t[f+4>>2];t[r+8>>2]=t[f+8>>2];t[r+12>>2]=t[f+12>>2];n=+DF(a,i,r);f=e+32|0;t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];t[a+12>>2]=t[e+12>>2];t[i>>2]=t[l>>2];t[i+4>>2]=t[l+4>>2];t[i+8>>2]=t[l+8>>2];t[i+12>>2]=t[l+12>>2];t[r>>2]=t[f>>2];t[r+4>>2]=t[f+4>>2];t[r+8>>2]=t[f+8>>2];t[r+12>>2]=t[f+12>>2];e=n<4.0&+DF(a,i,r)<4.0&1;h=A;return e|0}function bB(e,A){e=e|0;A=A|0;var r=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0.0,z=0.0,W=0.0,Y=0.0,F=0,M=0;L=h;h=h+272|0;m=L+256|0;p=L+224|0;E=L+192|0;B=L+128|0;y=L+64|0;C=L;I=L+160|0;Z=L+96|0;G=L+32|0;g=t[A+16>>2]|0;v=t[g+144>>2]|0;d=g+16|0;t[B>>2]=t[d>>2];t[B+4>>2]=t[d+4>>2];t[B+8>>2]=t[d+8>>2];t[B+12>>2]=t[d+12>>2];t[B+16>>2]=t[d+16>>2];t[B+20>>2]=t[d+20>>2];t[B+24>>2]=t[d+24>>2];t[B+28>>2]=t[d+28>>2];g=t[(t[g+8>>2]|0)+88>>2]|0;t[C>>2]=0;t[C+4>>2]=0;t[C+8>>2]=0;t[C+12>>2]=0;t[C+16>>2]=0;t[C+20>>2]=0;t[C+24>>2]=0;t[C+28>>2]=0;if(!g){t[e>>2]=t[B>>2];t[e+4>>2]=t[B+4>>2];t[e+8>>2]=t[B+8>>2];t[e+12>>2]=t[B+12>>2];t[e+16>>2]=t[B+16>>2];t[e+20>>2]=t[B+20>>2];t[e+24>>2]=t[B+24>>2];t[e+28>>2]=t[B+28>>2]}else{A=B+16|0;if(+c[B>>3]==+c[A>>3]?(r=B+8|0,a=B+24|0,+c[r>>3]==+c[a>>3]):0){c[r>>3]=1797693134862315708145274.0e284;c[B>>3]=1797693134862315708145274.0e284;c[a>>3]=-1797693134862315708145274.0e284;c[A>>3]=-1797693134862315708145274.0e284}l=p+8|0;s=p+16|0;o=p+24|0;u=y+16|0;b=y+24|0;w=v+144|0;k=E+16|0;d=g+12|0;A=0;a=t[g+8>>2]|0;r=0;n=0.0;f=0;while(1){if((f|0)>=(t[g>>2]|0))break;t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];t[y+16>>2]=t[C+16>>2];t[y+20>>2]=t[C+20>>2];t[y+24>>2]=t[C+24>>2];t[y+28>>2]=t[C+28>>2];switch(t[a>>2]|0){case 1:case 0:{W=+c[a+8>>3];Y=+c[a+24>>3];c[p>>3]=W-Y;D=+c[a+16>>3];z=+c[a+32>>3];c[l>>3]=D-z;c[s>>3]=Y+W;c[o>>3]=z+D;Q=a+80|0;t[Q>>2]=t[p>>2];t[Q+4>>2]=t[p+4>>2];t[Q+8>>2]=t[p+8>>2];t[Q+12>>2]=t[p+12>>2];Q=a+96|0;t[Q>>2]=t[s>>2];t[Q+4>>2]=t[s+4>>2];t[Q+8>>2]=t[s+8>>2];t[Q+12>>2]=t[s+12>>2];t[m>>2]=t[p>>2];t[m+4>>2]=t[p+4>>2];t[m+8>>2]=t[p+8>>2];t[m+12>>2]=t[p+12>>2];hB(B,m);t[m>>2]=t[s>>2];t[m+4>>2]=t[s+4>>2];t[m+8>>2]=t[s+8>>2];t[m+12>>2]=t[s+12>>2];hB(B,m);break}case 3:case 2:{Q=a+80|0;F=a+8|0;wB(I,t[F+4>>2]|0,t[F>>2]|0,B);t[Q>>2]=t[I>>2];t[Q+4>>2]=t[I+4>>2];t[Q+8>>2]=t[I+8>>2];t[Q+12>>2]=t[I+12>>2];t[Q+16>>2]=t[I+16>>2];t[Q+20>>2]=t[I+20>>2];t[Q+24>>2]=t[I+24>>2];t[Q+28>>2]=t[I+28>>2];break}case 5:case 4:{F=a+80|0;Q=a+8|0;wB(Z,t[Q+4>>2]|0,t[Q>>2]|0,B);t[F>>2]=t[Z>>2];t[F+4>>2]=t[Z+4>>2];t[F+8>>2]=t[Z+8>>2];t[F+12>>2]=t[Z+12>>2];t[F+16>>2]=t[Z+16>>2];t[F+20>>2]=t[Z+20>>2];t[F+24>>2]=t[Z+24>>2];t[F+28>>2]=t[Z+28>>2];break}case 6:{F=a+80|0;Q=a+8|0;wB(G,t[Q+4>>2]|0,t[Q>>2]|0,B);t[F>>2]=t[G>>2];t[F+4>>2]=t[G+4>>2];t[F+8>>2]=t[G+8>>2];t[F+12>>2]=t[G+12>>2];t[F+16>>2]=t[G+16>>2];t[F+20>>2]=t[G+20>>2];t[F+24>>2]=t[G+24>>2];t[F+28>>2]=t[G+28>>2];break}case 7:{F=a+112|0;t[F>>2]=KF(56)|0;Q=o3(t[a+40>>2]|0)|0;M=t[F>>2]|0;t[M>>2]=Q;i[M+48>>0]=i[100029+(t[a+24>>2]|0)>>0]|0;t[y>>2]=r;c[u>>3]=n;t[b>>2]=t[b>>2]&-128|A&127;M=t[w>>2]|0;M=L5[t[M>>2]&63](M,y,1)|0;Q=t[F>>2]|0;t[Q+4>>2]=M;ex(m,v,Q);kB(E,+c[a+8>>3],+c[a+16>>3],t[F>>2]|0);F=a+80|0;t[F>>2]=t[E>>2];t[F+4>>2]=t[E+4>>2];t[F+8>>2]=t[E+8>>2];t[F+12>>2]=t[E+12>>2];t[F+16>>2]=t[E+16>>2];t[F+20>>2]=t[E+20>>2];t[F+24>>2]=t[E+24>>2];t[F+28>>2]=t[E+28>>2];t[m>>2]=t[E>>2];t[m+4>>2]=t[E+4>>2];t[m+8>>2]=t[E+8>>2];t[m+12>>2]=t[E+12>>2];hB(B,m);t[m>>2]=t[k>>2];t[m+4>>2]=t[k+4>>2];t[m+8>>2]=t[k+8>>2];t[m+12>>2]=t[k+12>>2];hB(B,m);if(!(t[d>>2]|0))t[d>>2]=109;break}case 10:{r=t[a+16>>2]|0;n=+c[a+8>>3];break}case 15:{A=t[a+8>>2]|0;break}default:{}}a=a+120|0;f=f+1|0}t[e>>2]=t[B>>2];t[e+4>>2]=t[B+4>>2];t[e+8>>2]=t[B+8>>2];t[e+12>>2]=t[B+12>>2];t[e+16>>2]=t[B+16>>2];t[e+20>>2]=t[B+20>>2];t[e+24>>2]=t[B+24>>2];t[e+28>>2]=t[B+28>>2]}h=L;return}function hB(e,A){e=e|0;A=A|0;var r=0.0,i=0;r=+c[A>>3];i=e+16|0;if(r>+c[i>>3])c[i>>3]=r;if(r<+c[e>>3])c[e>>3]=r;r=+c[A+8>>3];A=e+24|0;if(r>+c[A>>3])c[A>>3]=r;A=e+8|0;if(r<+c[A>>3])c[A>>3]=r;return}function wB(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;s=d+32|0;u=d;a=+c[A>>3];b=u+16|0;c[b>>3]=a;c[u>>3]=a;a=+c[A+8>>3];w=u+24|0;c[w>>3]=a;o=u+8|0;c[o>>3]=a;l=1;while(1){if((l|0)>=(r|0))break;f=A+24|0;a=+c[f>>3];if(!(a<+c[u>>3])){if(a>+c[b>>3]){n=b;k=5}}else{n=u;k=5}if((k|0)==5){k=0;c[n>>3]=a}a=+c[A+32>>3];if(!(a<+c[o>>3])){if(a>+c[w>>3]){A=b;k=8}}else{A=u;k=8}if((k|0)==8){k=0;c[A+8>>3]=a}l=l+1|0;A=f}t[s>>2]=t[u>>2];t[s+4>>2]=t[u+4>>2];t[s+8>>2]=t[u+8>>2];t[s+12>>2]=t[u+12>>2];hB(i,s);t[s>>2]=t[b>>2];t[s+4>>2]=t[b+4>>2];t[s+8>>2]=t[b+8>>2];t[s+12>>2]=t[b+12>>2];hB(i,s);t[e>>2]=t[u>>2];t[e+4>>2]=t[u+4>>2];t[e+8>>2]=t[u+8>>2];t[e+12>>2]=t[u+12>>2];t[e+16>>2]=t[u+16>>2];t[e+20>>2]=t[u+20>>2];t[e+24>>2]=t[u+24>>2];t[e+28>>2]=t[u+28>>2];h=d;return}function kB(e,A,r,a){e=e|0;A=+A;r=+r;a=a|0;var t=0.0,n=0,f=0,l=0,s=0.0,o=0,u=0;u=h;h=h+16|0;f=u+8|0;l=u;t=+c[a+32>>3];s=+c[a+40>>3];switch(i[a+48>>0]|0){case 108:{c[f>>3]=A;t=t+A;n=l;o=5;break}case 110:{t=t*.5;c[f>>3]=A-t;t=t+A;n=l;o=5;break}case 114:{c[l>>3]=A;t=A-t;n=f;o=5;break}default:{A=0.0;t=0.0}}if((o|0)==5){c[n>>3]=t;A=+c[f>>3];t=+c[l>>3]}r=+c[a+16>>3]+r;c[e>>3]=A;c[e+8>>3]=r-s;c[e+16>>3]=t;c[e+24>>3]=r;h=u;return}function dB(e){e=e|0;if((t[e>>2]|0)==7)XF(t[e+112>>2]|0,1);return}function vB(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0.0;o=h;h=h+16|0;s=o;l=t[e+152>>2]|0;u=+c[e+432>>3];f=+c[e+352>>3]*.013888888888888888;a=f*u;c[e+488>>3]=a;n=+c[e+440>>3];f=f*n;c[e+496>>3]=f;c[e+520>>3]=u*.013888888888888888;r=e+528|0;c[r>>3]=n*.013888888888888888;if(l&4096|0)c[r>>3]=n*-.013888888888888888;r=(t[e+360>>2]|0)==0;u=+((t[e+448>>2]|0)>>>0);n=+((t[e+452>>2]|0)>>>0);c[e+368>>3]=(r?u:n)/a;c[e+376>>3]=(r?n:u)/f;si(e,dx(A,zw(A,0,101522,0)|0,195059)|0);t[e+160>>2]=0;gB(e,A);if(l&2|0)mB(e,A);r=sd(A)|0;while(1){if(!r)break;i[(t[r+16>>2]|0)+116>>0]=0;r=cd(A,r)|0}pB(e,s);while(1){if(!((EB(e)|0)<<24>>24))break;if((BB(e)|0)>1)Mr(e);yB(e);while(1){if(!((CB(e)|0)<<24>>24))break;IB(e,A);ZB(e)}if((BB(e)|0)>1)Vr(e);GB(e,s)}LB(e);h=o;return}function gB(e,A){e=e|0;A=A|0;var r=0;r=eB(e)|0;t[r+4>>2]=0;t[r+8>>2]=A;t[r+12>>2]=0;SY(e,t[(t[A+16>>2]|0)+12>>2]|0,A);zr(e,A);return}function mB(e,A){e=e|0;A=A|0;var r=0,a=0,t=0,n=0;Ai(e,134800);r=Hw(A,140977)|0;if(r|0?i[r>>0]|0:0)Ai(e,r);r=Hw(A,101446)|0;if(r|0?i[r>>0]|0:0)$r(e,r);iF(e,A);n=sd(A)|0;while(1){if(!n)break;r=Hw(n,140823)|0;if(r|0?i[r>>0]|0:0)$r(e,r);r=Hw(n,137729)|0;if(r|0?i[r>>0]|0:0)Ai(e,r);r=Hw(n,101418)|0;do{if(r|0?i[r>>0]|0:0){if(!(C1(r,58)|0)){$r(e,r);break}a=o3(r)|0;r=a;while(1){r=l3(r,107984)|0;if(!r)break;if(!(i[r>>0]|0)){r=0;continue}$r(e,r);r=0}G2(a)}}while(0);r=Hw(n,101446)|0;if(r|0?i[r>>0]|0:0)$r(e,r);t=Ow(A,n)|0;while(1){if(!t)break;r=Hw(t,140823)|0;do{if(r|0?i[r>>0]|0:0){if(!(C1(r,58)|0)){$r(e,r);break}a=o3(r)|0;r=a;while(1){r=l3(r,107984)|0;if(!r)break;if(!(i[r>>0]|0)){r=0;continue}$r(e,r);r=0}G2(a)}}while(0);r=Hw(t,101446)|0;if(r|0?i[r>>0]|0:0)$r(e,r);t=qw(A,t)|0}n=cd(A,n)|0}return}function pB(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;i=l+8|0;n=l;f=t[e>>2]|0;r=t[f+312>>2]|0;a=e+156|0;t[a>>2]=r;f=t[f+316>>2]|0;if(!f)if((r|0)>1?(t[e+152>>2]&64|0)==0:0){t[i>>2]=t[e+52>>2];nw(0,100567,i)|0;t[a>>2]=1;i=1;r=0}else{i=1;r=0}else{r=f+4|0;if((t[f>>2]|0)>1?(t[e+152>>2]&64|0)==0:0){t[n>>2]=t[e+52>>2];nw(0,100567,n)|0;t[f+8>>2]=(t[a>>2]|0)+1}i=t[r>>2]|0;r=f+8|0}t[e+160>>2]=i;t[A>>2]=r;h=l;return}function EB(e){e=e|0;return(t[e+160>>2]|0)<=(t[e+156>>2]|0)|0}function BB(e){e=e|0;var A=0;A=t[(t[e>>2]|0)+316>>2]|0;return t[((A|0)==0?e+156|0:A)>>2]|0}function yB(e){e=e|0;var A=0,r=0;r=e+172|0;A=t[r+4>>2]|0;e=e+196|0;t[e>>2]=t[r>>2];t[e+4>>2]=A;return}function CB(e){e=e|0;var A=0,r=0;r=t[e+196>>2]|0;if(((r|0)>-1?(r|0)<(t[e+164>>2]|0):0)?(A=t[e+200>>2]|0,(A|0)>-1):0)e=(A|0)<(t[e+168>>2]|0)&1;else e=0;return e|0}function IB(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+176|0;c=w;r=w+48|0;o=w+32|0;u=t[e+16>>2]|0;b=t[e+152>>2]|0;if((t[e+160>>2]|0)<=1?(t[e+196>>2]|0)<=0:0)f=0;else{cw(o,128,r);n=u+212|0;f=t[n>>2]|0;aB(e,o);bw(o,f)|0;l=o+4|0;r=t[l>>2]|0;if(r>>>0>=(t[o+8>>2]|0)>>>0){ow(o,1)|0;r=t[l>>2]|0}i[r>>0]=0;r=t[o>>2]|0;t[l>>2]=r;t[n>>2]=r}Ca(Hw(A,100032)|0);DB(e);Yr(e);$r(e,137314);Ai(e,134800);do{if(b&4259840|0){if((t[u+208>>2]|0)==0?(a[u+260>>1]&1)==0:0)break;if(b&655360){l=b&131072;t[u+264>>2]=l>>>16^2;r=KF((l>>>12^32)+32|0)|0;n=e+288|0;t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2];n=r+16|0;k=e+304|0;t[n>>2]=t[k>>2];t[n+4>>2]=t[k+4>>2];t[n+8>>2]=t[k+8>>2];t[n+12>>2]=t[k+12>>2];if(!l){IF(r);n=4}else n=2}else{r=0;n=0}if(!(b&8192))Dr(e,r,r,n)|0;t[u+272>>2]=r;t[u+268>>2]=n}}while(0);if(b&32768|0?(s=t[(t[A+16>>2]|0)+12>>2]|0,s|0):0)t[u+192>>2]=t[s>>2];n=(b&4|0)!=0;do{if(!n){r=u+208|0;if((t[r>>2]|0)==0?(a[u+260>>1]&1)==0:0)break;k=e+256|0;t[c>>2]=t[k>>2];t[c+4>>2]=t[k+4>>2];t[c+8>>2]=t[k+8>>2];t[c+12>>2]=t[k+12>>2];t[c+16>>2]=t[k+16>>2];t[c+20>>2]=t[k+20>>2];t[c+24>>2]=t[k+24>>2];t[c+28>>2]=t[k+28>>2];cB(e,c);Tr(e,t[r>>2]|0,t[u+228>>2]|0,t[u+244>>2]|0,t[u+212>>2]|0)}}while(0);zB(e,A);r=t[(t[A+16>>2]|0)+12>>2]|0;if(r|0)jF(e,4,r);do{if(!n){if((t[u+208>>2]|0)==0?(a[u+260>>1]&1)==0:0)break;Or(e)}}while(0);WB(e,A,b);Fr(e);if(f|0){hw(o);t[u+212>>2]=f}h=w;return}function ZB(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;f=h;h=h+32|0;r=f+24|0;A=f+16|0;s=f+8|0;a=f;n=e+196|0;l=e+188|0;t[A>>2]=t[n>>2];t[A+4>>2]=t[n+4>>2];t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];QB(s,A,r);l=t[s+4>>2]|0;i=n;t[i>>2]=t[s>>2];t[i+4>>2]=l;if(!((CB(e)|0)<<24>>24)){i=e+180|0;if(!(t[e+184>>2]|0))t[e+200>>2]=t[e+176>>2];else t[n>>2]=t[e+172>>2];t[A>>2]=t[n>>2];t[A+4>>2]=t[n+4>>2];t[r>>2]=t[i>>2];t[r+4>>2]=t[i+4>>2];QB(a,A,r);l=t[a+4>>2]|0;s=n;t[s>>2]=t[a>>2];t[s+4>>2]=l}h=f;return}function GB(e,A){e=e|0;A=A|0;var r=0;r=t[A>>2]|0;if(!r){r=e+160|0;t[r>>2]=(t[r>>2]|0)+1}else{t[e+160>>2]=t[r>>2];t[A>>2]=r+4}return}function LB(e){e=e|0;Wr(e);AB(e);return}function QB(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=(t[r+4>>2]|0)+(t[A+4>>2]|0)|0;t[e>>2]=(t[r>>2]|0)+(t[A>>2]|0);t[e+4>>2]=i;return}function DB(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0.0;g=h;h=h+48|0;u=g+32|0;a=g+24|0;l=g+8|0;s=g+16|0;o=g;d=e+196|0;k=t[d>>2]|0;d=t[d+4>>2]|0;w=a;t[w>>2]=k;t[w+4>>2]=d;w=e+164|0;f=t[w>>2]|0;w=t[w+4>>2]|0;v=l;t[v>>2]=f;t[v+4>>2]=w;v=e+360|0;if(!(t[v>>2]|0)){s=k;l=d}else{t[u>>2]=t[a>>2];t[u+4>>2]=t[a+4>>2];rF(s,u);d=s;s=t[d>>2]|0;d=t[d+4>>2]|0;w=a;t[w>>2]=s;t[w+4>>2]=d;t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];rF(o,u);w=o;f=t[w>>2]|0;w=t[w+4>>2]|0;t[l>>2]=f;t[l+4>>2]=w;l=d}r=+c[e+320>>3];n=r*+(s|0)-+c[e+240>>3];c[e+288>>3]=n;i=+c[e+328>>3];b=i*+(l|0)-+c[e+248>>3];c[e+296>>3]=b;c[e+304>>3]=r+n;c[e+312>>3]=i+b;a=e+472|0;if(!(t[(t[e+12>>2]|0)+28>>2]|0)){d=e+456|0;t[a>>2]=t[d>>2];t[a+4>>2]=t[d+4>>2];t[a+8>>2]=t[d+8>>2];t[a+12>>2]=t[d+12>>2]}else{k=e+456|0;t[a>>2]=t[((t[a>>2]|0)<(t[k>>2]|0)?a:k)>>2];d=e+476|0;t[d>>2]=t[((t[d>>2]|0)<(t[e+460>>2]|0)?a:k)+4>>2];d=e+480|0;t[d>>2]=t[((t[d>>2]|0)>(t[e+464>>2]|0)?a:k)+8>>2];d=e+484|0;t[d>>2]=t[((t[d>>2]|0)>(t[e+468>>2]|0)?a:k)+12>>2]}o=t[e+152>>2]|0;A=+c[e+336>>3];if(!(o&128)){A=(+(s|0)-+(f|0)*.5)*r+A;c[e+256>>3]=A;n=(+(l|0)-+(w|0)*.5)*i+ +c[e+344>>3];b=n;r=r+A;n=n+i}else{r=+c[e+368>>3]*.5;i=A-r;c[e+256>>3]=i;n=+c[e+344>>3];m=+c[e+376>>3]*.5;b=n-m;r=r+A;n=m+n;A=i}c[e+264>>3]=b;c[e+272>>3]=r;c[e+280>>3]=n;if(!(t[v>>2]|0)){i=+c[e+352>>3];c[e+504>>3]=+c[e+384>>3]/i-A;if(!(o&4096)){r=+c[e+392>>3]/i;A=b}else{r=-n;A=+c[e+392>>3]/i}c[e+512>>3]=r-A}else{a=e+384|0;i=+c[e+352>>3];c[e+512>>3]=-n-+c[e+392>>3]/i;if(!(o&4096))r=+c[a>>3]/i;else{r=-r;A=+c[a>>3]/i}c[e+504>>3]=r-A}h=g;return}function zB(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0,f=0,l=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+48|0;k=v;b=v+40|0;w=v+36|0;d=v+32|0;r=Hw(A,140977)|0;if(!r){l=1;r=137198}else{f=(i[r>>0]|0)==0;l=f&1;r=f?137198:r}n=t[e+152>>2]|0;f=(i[r>>0]|0)==116;if(!(n&256))if(f){o=(e1(r,137379)|0)==0;c=o?137198:r;o=o?1:l;u=8}else{c=r;o=l;u=8}else if(!(f?!(e1(r,137379)|0):0)){c=r;o=l;u=8}if((u|0)==8?!((o|0)!=0&(n&33554432|0)!=0):0)if(!((KY(c,b,w)|0)<<24>>24)){Ai(e,c);$r(e,137379);d=e+256|0;t[k>>2]=t[d>>2];t[k+4>>2]=t[d+4>>2];t[k+8>>2]=t[d+8>>2];t[k+12>>2]=t[d+12>>2];t[k+16>>2]=t[d+16>>2];t[k+20>>2]=t[d+20>>2];t[k+24>>2]=t[d+24>>2];t[k+28>>2]=t[d+28>>2];ni(e,k,1)}else{t[d>>2]=0;f=t[b>>2]|0;Ai(e,f);$r(e,137379);qY(A,d)|0;r=t[b+4>>2]|0;n=hx(A,t[47143]|0,0,0)|0;a=+s[w>>2];if(!r)ri(e,137314,n,a);else ri(e,r,n,a);d=(t[d>>2]|0)>>>1&1|2;w=e+256|0;t[k>>2]=t[w>>2];t[k+4>>2]=t[w+4>>2];t[k+8>>2]=t[w+8>>2];t[k+12>>2]=t[w+12>>2];t[k+16>>2]=t[w+16>>2];t[k+20>>2]=t[w+20>>2];t[k+24>>2]=t[w+24>>2];t[k+28>>2]=t[w+28>>2];ni(e,k,d);G2(f)}r=t[(t[(t[A+16>>2]|0)+8>>2]|0)+88>>2]|0;if(r|0)eF(e,r);h=v;return}function WB(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=(t[e>>2]|0)+28|0;t[n>>2]=(t[n>>2]|0)+1;n=(r&4|0)!=0;if(!n)YB(e,A,r);e:do{if(!(r&1)){if(r&16|0){Hr(e);a=sd(A)|0;while(1){if(!a)break;i=Ow(A,a)|0;while(1){if(!i)break;MB(e,i);i=qw(A,i)|0}a=cd(A,a)|0}Pr(e);xr(e);i=sd(A)|0;while(1){if(!i)break;FB(e,i);i=cd(A,i)|0}Jr(e);break}if(!(r&8)){a=sd(A)|0;while(1){if(!a)break e;FB(e,a);i=Ow(A,a)|0;while(1){if(!i)break;FB(e,t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0);MB(e,i);i=qw(A,i)|0}a=cd(A,a)|0}}xr(e);i=sd(A)|0;while(1){if(!i)break;if((VB(A,i)|0)<<24>>24)FB(e,i);i=cd(A,i)|0}Jr(e);Hr(e);a=sd(A)|0;while(1){if(!a)break;i=Ow(A,a)|0;while(1){if(!i)break;if((NB(A,i)|0)<<24>>24)MB(e,i);i=qw(A,i)|0}a=cd(A,a)|0}Pr(e)}else{xr(e);i=sd(A)|0;while(1){if(!i)break;FB(e,i);i=cd(A,i)|0}Jr(e);Hr(e);a=sd(A)|0;while(1){if(!a)break;i=Ow(A,a)|0;while(1){if(!i)break;MB(e,i);i=qw(A,i)|0}a=cd(A,a)|0}Pr(e)}}while(0);if(n)YB(e,A,r);return}function YB(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,o=0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;J=h;h=h+128|0;E=J+72|0;R=J+64|0;W=J+112|0;Y=J;F=J+104|0;M=A+16|0;V=(r&4|0)!=0;N=e+16|0;B=Y+32|0;y=Y+16|0;I=Y+8|0;Z=Y+24|0;G=Y+48|0;L=Y+40|0;Q=Y+56|0;D=(r&8|0)==0;z=F+4|0;p=1;while(1){f=t[M>>2]|0;if((p|0)>(t[f+180>>2]|0))break;m=t[(t[f+184>>2]|0)+(p<<2)>>2]|0;if((OY(e,m)|0)<<24>>24){if(V)YB(e,m,r);_Y(e,m);d=t[N>>2]|0;v=d+208|0;if(!(t[v>>2]|0))g=(a[d+260>>1]&1)!=0;else g=1;Ca(Hw(m,100032)|0);if(!(V|g^1)){k=(t[m+16>>2]|0)+16|0;t[E>>2]=t[k>>2];t[E+4>>2]=t[k+4>>2];t[E+8>>2]=t[k+8>>2];t[E+12>>2]=t[k+12>>2];t[E+16>>2]=t[k+16>>2];t[E+20>>2]=t[k+20>>2];t[E+24>>2]=t[k+24>>2];t[E+28>>2]=t[k+28>>2];cB(e,E);Tr(e,t[v>>2]|0,t[d+228>>2]|0,t[d+244>>2]|0,t[d+212>>2]|0)}t[W>>2]=0;f=qY(m,W)|0;if(!f)w=0;else{ii(e,f);w=t[W>>2]&1}k=m+16|0;f=n[(t[k>>2]|0)+112>>0]|0;do{if(!(f&1)){if(f&2|0){f=vx(m,0,106256)|0;l=vx(m,0,106264)|0;x=29;break}if(f&8|0){f=vx(m,0,106272)|0;l=vx(m,0,106280)|0;x=29;break}if(f&4|0){f=vx(m,0,106288)|0;l=vx(m,0,106296)|0;x=29;break}f=Hw(m,140823)|0;if(!f)l=0;else l=(i[f>>0]|0)==0?0:f;f=Hw(m,137729)|0;if(!f)f=l;else f=(i[f>>0]|0)==0?l:f;o=Hw(m,101418)|0;if(o)l=(i[o>>0]|0)==0?l:o;if(!((w|0)!=0&(l|0)!=0)){o=Hw(m,140977)|0;if(o|0?i[o>>0]|0:0){l=o;x=29;break}f=(f|0)==0?137314:f;u=(l|0)==0?134800:l;t[F>>2]=0;if(!w)l=0;else x=31}else x=29}else{f=vx(m,0,106240)|0;l=vx(m,0,106248)|0;x=29}}while(0);if((x|0)==29){t[F>>2]=0;f=(f|0)==0?137314:f;u=(l|0)==0?134800:l;x=31}if((x|0)==31){x=0;if(!((KY(u,F,E)|0)<<24>>24)){Ai(e,u);l=1}else{Ai(e,t[F>>2]|0);l=t[z>>2]|0;o=hx(m,t[47143]|0,0,0)|0;b=+s[E>>2];if(!l)ri(e,137314,o,b);else ri(e,l,o,b);l=(t[W>>2]|0)>>>1&1|2}}o=t[47142]|0;if((o|0?(C=Pw(m,o)|0,C|0):0)?i[C>>0]|0:0)ui(e,+wx(m,t[47142]|0,1.0,0.0));w=t[W>>2]|0;do{if(w&4){o=hx(m,t[47141]|0,1,0)|0;if(o|l|0){u=t[k>>2]|0;H=u+16|0;t[Y>>2]=t[H>>2];t[Y+4>>2]=t[H+4>>2];t[Y+8>>2]=t[H+8>>2];t[Y+12>>2]=t[H+12>>2];u=u+32|0;t[B>>2]=t[u>>2];t[B+4>>2]=t[u+4>>2];t[B+8>>2]=t[u+8>>2];t[B+12>>2]=t[u+12>>2];c[y>>3]=+c[B>>3];c[Z>>3]=+c[I>>3];c[G>>3]=+c[Y>>3];c[Q>>3]=+c[L>>3];if(!o)$r(e,137379);else $r(e,f);lN(e,Y,4,w,l)}}else{if(!(w&64)){if(hx(m,t[47141]|0,1,0)|0){$r(e,f);H=(t[k>>2]|0)+16|0;t[E>>2]=t[H>>2];t[E+4>>2]=t[H+4>>2];t[E+8>>2]=t[H+8>>2];t[E+12>>2]=t[H+12>>2];t[E+16>>2]=t[H+16>>2];t[E+20>>2]=t[H+20>>2];t[E+24>>2]=t[H+24>>2];t[E+28>>2]=t[H+28>>2];ni(e,E,l);break}if(!l)break;$r(e,137379);H=(t[k>>2]|0)+16|0;t[E>>2]=t[H>>2];t[E+4>>2]=t[H+4>>2];t[E+8>>2]=t[H+8>>2];t[E+12>>2]=t[H+12>>2];t[E+16>>2]=t[H+16>>2];t[E+20>>2]=t[H+20>>2];t[E+24>>2]=t[H+24>>2];t[E+28>>2]=t[H+28>>2];ni(e,E,l);break}H=t[k>>2]|0;w=H+16|0;t[Y>>2]=t[w>>2];t[Y+4>>2]=t[w+4>>2];t[Y+8>>2]=t[w+8>>2];t[Y+12>>2]=t[w+12>>2];H=H+32|0;t[B>>2]=t[H>>2];t[B+4>>2]=t[H+4>>2];t[B+8>>2]=t[H+8>>2];t[B+12>>2]=t[H+12>>2];c[y>>3]=+c[B>>3];c[Z>>3]=+c[I>>3];c[G>>3]=+c[Y>>3];c[Q>>3]=+c[L>>3];if(!(hx(m,t[47141]|0,1,0)|0))$r(e,137379);else $r(e,f);if((sB(e,Y,u,0)|0)>1){t[R>>2]=Mk(m)|0;nw(3,100400,R)|0}H=(t[k>>2]|0)+16|0;t[E>>2]=t[H>>2];t[E+4>>2]=t[H+4>>2];t[E+8>>2]=t[H+8>>2];t[E+12>>2]=t[H+12>>2];t[E+16>>2]=t[H+16>>2];t[E+20>>2]=t[H+20>>2];t[E+24>>2]=t[H+24>>2];t[E+28>>2]=t[H+28>>2];ni(e,E,0)}}while(0);G2(t[F>>2]|0);f=t[(t[k>>2]|0)+12>>2]|0;if(f|0)jF(e,5,f);if(g){if(V){H=(t[k>>2]|0)+16|0;t[E>>2]=t[H>>2];t[E+4>>2]=t[H+4>>2];t[E+8>>2]=t[H+8>>2];t[E+12>>2]=t[H+12>>2];t[E+16>>2]=t[H+16>>2];t[E+20>>2]=t[H+20>>2];t[E+24>>2]=t[H+24>>2];t[E+28>>2]=t[H+28>>2];cB(e,E);Tr(e,t[v>>2]|0,t[d+228>>2]|0,t[d+244>>2]|0,t[d+212>>2]|0)}Or(e)}e:do{if(!D){l=sd(m)|0;while(1){if(!l)break e;FB(e,l);f=Ow(m,l)|0;while(1){if(!f)break;MB(e,f);f=qw(m,f)|0}l=cd(m,l)|0}}}while(0);$Y(e,A);if(!V)YB(e,m,r)}p=p+1|0}h=J;return}function FB(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;s=h;h=h+32|0;r=s;f=t[e>>2]|0;l=A+16|0;e:do{if(((t[(t[l>>2]|0)+8>>2]|0?(JY(e,Bd(A)|0,A)|0)<<24>>24:0)?(c=e+256|0,t[r>>2]=t[c>>2],t[r+4>>2]=t[c+4>>2],t[r+8>>2]=t[c+8>>2],t[r+12>>2]=t[c+12>>2],t[r+16>>2]=t[c+16>>2],t[r+20>>2]=t[c+20>>2],t[r+24>>2]=t[c+24>>2],t[r+28>>2]=t[c+28>>2],(HY(A,r)|0)<<24>>24):0)?(a=(t[l>>2]|0)+116|0,n=t[f+28>>2]|0,(n|0)!=(i[a>>0]|0)):0){i[a>>0]=n;si(e,Mk(A)|0);r=dx(A,t[47169]|0,195059)|0;if(i[r>>0]|0)si(e,r);r=dx(A,t[47157]|0,195059)|0;A:do{if(i[r>>0]|0){JB(r)|0;r=188228;while(1){a=r;r=r+4|0;a=t[a>>2]|0;if(!a)break A;if((i[a>>0]|0)!=105)continue;if(!(e1(a,134335)|0))break e}}}while(0);PY(e,A);M5[t[(t[(t[(t[l>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](e,A);r=t[(t[l>>2]|0)+108>>2]|0;if(r|0?i[r+81>>0]|0:0)jF(e,10,r);XY(e)}}while(0);h=s;return}function MB(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;f=h;h=h+32|0;n=f;r=e+256|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];t[n+16>>2]=t[r+16>>2];t[n+20>>2]=t[r+20>>2];t[n+24>>2]=t[r+24>>2];t[n+28>>2]=t[r+28>>2];e:do{if((RB(A,n)|0)<<24>>24?(a=A+-48|0,(xB(e,A)|0)<<24>>24):0){l=A+48|0;r=U2(Mk(t[((t[A>>2]&3|0)==3?A:l)+40>>2]|0)|0)|0;r=Z2(r+3+(U2(Mk(t[((t[A>>2]&3|0)==2?A:a)+40>>2]|0)|0)|0)|0)|0;$1(r,Mk(t[((t[A>>2]&3|0)==3?A:l)+40>>2]|0)|0)|0;l=(Bk(Bd(t[((t[A>>2]&3|0)==2?A:a)+40>>2]|0)|0)|0)==0;n=r+(U2(r)|0)|0;if(l){i[n>>0]=i[141747]|0;i[n+1>>0]=i[141748]|0;i[n+2>>0]=i[141749]|0}else{i[n>>0]=i[137738]|0;i[n+1>>0]=i[137739]|0;i[n+2>>0]=i[137740]|0}b3(r,Mk(t[((t[A>>2]&3|0)==2?A:a)+40>>2]|0)|0)|0;si(e,r);G2(r);r=dx(A,t[47191]|0,195059)|0;if(i[r>>0]|0)si(e,r);r=dx(A,t[47185]|0,195059)|0;A:do{if(!(i[r>>0]|0))r=0;else{JB(r)|0;r=188228;while(1){a=r;r=r+4|0;a=t[a>>2]|0;if(!a){r=188228;break A}if((i[a>>0]|0)!=105)continue;if(!(e1(a,134335)|0))break e}}}while(0);tY(e,A,r);nY(e,A,r);fY(e)}}while(0);h=f;return}function VB(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+16|0;e=1;while(1){i=t[r>>2]|0;if((e|0)>(t[i+180>>2]|0)){e=1;break}if(!(Wd(t[(t[i+184>>2]|0)+(e<<2)>>2]|0,A)|0))e=e+1|0;else{e=0;break}}return e|0}function NB(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+16|0;e=1;while(1){i=t[r>>2]|0;if((e|0)>(t[i+180>>2]|0)){e=1;break}if(!(Wd(t[(t[i+184>>2]|0)+(e<<2)>>2]|0,A)|0))e=e+1|0;else{e=0;break}}return e|0}function RB(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+64|0;l=s+32|0;a=s;n=e+16|0;e=t[n>>2]|0;r=t[e+8>>2]|0;if((r|0)!=0?(r=r+8|0,t[a>>2]=t[r>>2],t[a+4>>2]=t[r+4>>2],t[a+8>>2]=t[r+8>>2],t[a+12>>2]=t[r+12>>2],t[a+16>>2]=t[r+16>>2],t[a+20>>2]=t[r+20>>2],t[a+24>>2]=t[r+24>>2],t[a+28>>2]=t[r+28>>2],t[l>>2]=t[A>>2],t[l+4>>2]=t[A+4>>2],t[l+8>>2]=t[A+8>>2],t[l+12>>2]=t[A+12>>2],t[l+16>>2]=t[A+16>>2],t[l+20>>2]=t[A+20>>2],t[l+24>>2]=t[A+24>>2],t[l+28>>2]=t[A+28>>2],(xY(a,l)|0)!=0):0)e=1;else f=3;do{if((f|0)==3){r=t[e+96>>2]|0;if(r){t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];t[l+16>>2]=t[A+16>>2];t[l+20>>2]=t[A+20>>2];t[l+24>>2]=t[A+24>>2];t[l+28>>2]=t[A+28>>2];if((CJ(r,l)|0)<<24>>24){e=1;break}e=t[n>>2]|0}e=t[e+108>>2]|0;if((e|0?i[e+81>>0]|0:0)?(t[l>>2]=t[A>>2],t[l+4>>2]=t[A+4>>2],t[l+8>>2]=t[A+8>>2],t[l+12>>2]=t[A+12>>2],t[l+16>>2]=t[A+16>>2],t[l+20>>2]=t[A+20>>2],t[l+24>>2]=t[A+24>>2],t[l+28>>2]=t[A+28>>2],(CJ(e,l)|0)<<24>>24):0){e=1;break}e=0}}while(0);h=s;return e|0}function xB(e,A){e=e|0;A=A|0;var r=0,a=0;e:do{if((t[e+156>>2]|0)>=2?(r=dx(A,t[47190]|0,195059)|0,(MY(e,r)|0)<<24>>24==0):0)if(!(i[r>>0]|0)){r=0;while(1){if((r|0)>=2){r=0;break e}a=(r|0)==1;a=dx(t[((t[A>>2]&3|0)==((a?2:3)|0)?A:A+((a?-1:1)*48|0)|0)+40>>2]|0,t[47167]|0,195059)|0;if(!(i[a>>0]|0)){r=1;break e}if(!((MY(e,a)|0)<<24>>24))r=r+1|0;else{r=1;break}}}else r=0;else r=1}while(0);return r|0}function JB(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+192|0;b=w+24|0;u=w+16|0;o=w+8|0;c=w;n=w+48|0;s=w+32|0;if(i[100282]|0){cw(188492,128,194826);i[100282]=0}cw(s,128,w+56|0);t[n>>2]=e;f=s+4|0;l=s+8|0;A=0;r=0;e:while(1){a=A;A:while(1)switch(YY(n,s)|0){case 0:{A=21;break e}case 40:if(!(a<<24>>24)){a=1;continue A}else{A=7;break e}case 41:if(!(a<<24>>24)){A=9;break e}else{a=0;continue A}default:break A}if(!(a<<24>>24)){if((r|0)==63){A=12;break}A=t[47124]|0;if(A>>>0>=(t[47125]|0)>>>0){ow(188492,1)|0;A=t[47124]|0}t[47124]=A+1;i[A>>0]=0;t[188228+(r<<2)>>2]=t[47124];r=r+1|0}A=t[f>>2]|0;if(A>>>0>=(t[l>>2]|0)>>>0){ow(s,1)|0;A=t[f>>2]|0}i[A>>0]=0;A=t[s>>2]|0;t[f>>2]=A;bw(188492,A)|0;A=t[47124]|0;if(A>>>0>=(t[47125]|0)>>>0){ow(188492,1)|0;A=t[47124]|0}t[47124]=A+1;i[A>>0]=0;A=a}do{if((A|0)==7){t[c>>2]=e;nw(1,100283,c)|0;t[47057]=0;hw(s)}else if((A|0)==9){t[o>>2]=e;nw(1,100317,o)|0;t[47057]=0;hw(s)}else if((A|0)==12){t[u>>2]=e;nw(0,100345,u)|0;t[47120]=0;hw(s)}else if((A|0)==21){if(a<<24>>24){t[b>>2]=e;nw(1,100368,b)|0;t[47057]=0;hw(s);break}t[188228+(r<<2)>>2]=0;hw(s);A=t[47124]|0;if(A>>>0>=(t[47125]|0)>>>0){ow(188492,1)|0;A=t[47124]|0}i[A>>0]=0;t[47124]=t[47123]}}while(0);h=w;return 188228}function HB(e){e=e|0;var A=0;A=h;h=h+e|0;h=h+15&-16;return A|0}function PB(){return h|0}function XB(e){e=e|0;h=e}function SB(e,A){e=e|0;A=A|0;h=e;w=A}function jB(e,A){e=e|0;A=A|0;if(!d){d=e;v=A}}function UB(e){e=e|0;G=e}function TB(){return G|0}function OB(e){e=e|0;t[46654]=e;return 0}function _B(){return t[46654]|0}function qB(e,A){e=e|0;A=A|0;Pe(0,e|0,A|0)|0;return}function KB(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;a=l+4|0;n=l;t[a>>2]=0;f=up()|0;dp(f,10976);dp(f,17220);dp(f,17440);tw(1)|0;aw(18)|0;while(1){e=qk(e)|0;i=t[a>>2]|0;if(!e)break;if(i|0){e=195059;continue}bp(f,e,r)|0;kp(f,e,A,a,n)|0;e=195059}h=l;return i|0}function $B(e){e=e|0;var A=0,r=0,i=0,n=0;n=h;h=h+16|0;A=n+4|0;r=n;i=t[(t[e+16>>2]|0)+8>>2]|0;e=e+64|0;switch(t[e>>2]|0){case 0:{KM(i);break}case 1:{if(a[(t[i+16>>2]|0)+136>>1]&1)sJ(i);break}case 4:case 5:case 6:{OM(i,r,A);ry(i,t[r>>2]|0,t[A>>2]|0,t[e>>2]|0);break}default:{}}h=n;return}function ey(e){e=e|0;var A=0,r=0,i=0,a=0;r=t[(t[e+16>>2]|0)+8>>2]|0;if(!(t[46655]|0)){t[46655]=t[4678];t[46656]=57;t[46657]=19}i=r+64|0;a=(t[i>>2]|0)+8|0;A=t[a>>2]|0;t[a>>2]=186620;switch(t[e+64>>2]|0){case 2:{RM(e,r,e,0);break}case 3:{RM(e,r,e,1);break}case 1:case 0:{if(!(t[e+152>>2]&134217728))ig(r,e)|0;break}case 6:case 5:case 4:{Ay(r);if(!(t[e+152>>2]&134217728))ig(r,e)|0;break}default:{}}t[(t[i>>2]|0)+8>>2]=A;return}function Ay(e){e=e|0;var A=0,r=0;A=t[46659]|0;if((A|0)!=(t[46658]|0)){r=t[t[46690]>>2]|0;if(!r){r=wJ(e,0,99808,195059)|0;t[t[46690]>>2]=r;A=t[46659]|0}if(A>>>0>=(t[46660]|0)>>>0){ow(186632,1)|0;A=t[46659]|0}i[A>>0]=0;A=t[46658]|0;t[46659]=A;Mw(e,r,A)|0}if(t[(t[e+16>>2]|0)+12>>2]|0){r=t[(t[46690]|0)+4>>2]|0;A=t[46675]|0;if(A>>>0>=(t[46676]|0)>>>0){ow(186696,1)|0;A=t[46675]|0}i[A>>0]=0;A=t[46674]|0;t[46675]=A;Mw(e,r,A)|0}Sw(e,66753,t[(t[46690]|0)+8236>>2]|0,195059)|0;A=0;while(1){if((A|0)==8)break;hw(186632+(A<<4)|0);A=A+1|0}G2(t[46690]|0);c[1]=1.0;c[5]=1.0;t[46691]=0;t[46695]=0;return}function ry(e,A,r,n){e=e|0;A=A|0;r=r|0;n=n|0;var f=0,l=0,s=0;l=Z2(8240)|0;t[46690]=l;e:do{switch(n|0){case 6:{a[l+8232>>1]=14;n=66769;break}case 5:{a[l+8232>>1]=12;n=66773;break}default:{n=Hw(e,66753)|0;if((n|0?i[n>>0]|0:0)?(f=iy(n)|0,(f&65535)>10):0){l=t[46690]|0;a[l+8232>>1]=f;break e}n=iy(66765)|0;l=t[46690]|0;a[l+8232>>1]=n;n=66765}}}while(0);t[l+8236>>2]=n;s=e+16|0;n=t[s>>2]|0;if(!(t[n+180>>2]|0))f=0;else{f=wJ(e,0,99808,195059)|0;l=t[46690]|0;n=t[s>>2]|0}t[l>>2]=f;if(!(i[n+113>>0]&8))n=0;else n=wJ(e,0,66777,195059)|0;t[(t[46690]|0)+4>>2]=n;l=wJ(e,1,99808,195059)|0;t[(t[46690]|0)+8>>2]=l;l=wJ(e,1,66777,195059)|0;t[(t[46690]|0)+12>>2]=l;l=wJ(e,2,99808,195059)|0;n=t[46690]|0;t[n+16>>2]=l;if(!r)f=0;else{f=wJ(e,2,66785,195059)|0;n=t[46690]|0}t[n+20>>2]=f;if(!A)f=0;else{f=wJ(e,2,66793,195059)|0;n=t[46690]|0}t[n+24>>2]=f;f=i[(t[s>>2]|0)+113>>0]|0;if(!(f&33))l=0;else{l=wJ(e,2,66777,195059)|0;n=t[46690]|0;f=i[(t[s>>2]|0)+113>>0]|0}t[n+28>>2]=l;if(!(f&2))l=0;else{l=wJ(e,2,66801,195059)|0;n=t[46690]|0;f=i[(t[s>>2]|0)+113>>0]|0}t[n+32>>2]=l;if(!(f&4))f=0;else{f=wJ(e,2,66810,195059)|0;n=t[46690]|0}t[n+36>>2]=f;n=0;while(1){if((n|0)==8)break;cw(186632+(n<<4)|0,1024,(t[46690]|0)+40+(n<<10)|0);n=n+1|0}return}function iy(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+1040|0;f=s;n=s+8|0;a=0;A=e;e:while(1){do{r=A;A=A+1|0;r=i[r>>0]|0;if(!(r<<24>>24))break e}while(((r<<24>>24)+-48|0)>>>0>=10);if((a|0)>=1023){l=7;break}i[n+a>>0]=r;a=a+1|0}if((l|0)==7){t[f>>2]=e;nw(0,66819,f)|0}i[n+a>>0]=0;l=(K3(n)|0)&65535;h=s;return l|0}function ay(e){e=e|0;var A=0,r=0;r=t[(t[e+16>>2]|0)+8>>2]|0;A=t[t[46690]>>2]|0;e=t[46663]|0;if(e>>>0>=(t[46664]|0)>>>0){ow(186648,1)|0;e=t[46663]|0}i[e>>0]=0;e=t[46662]|0;t[46663]=e;Mw(r,A,e)|0;if(t[(t[r+16>>2]|0)+12>>2]|0){A=t[(t[46690]|0)+4>>2]|0;e=t[46679]|0;if(e>>>0>=(t[46680]|0)>>>0){ow(186712,1)|0;e=t[46679]|0}i[e>>0]=0;e=t[46678]|0;t[46679]=e;Mw(r,A,e)|0}c[2]=1.0;c[6]=1.0;t[46692]=0;t[46696]=0;return}function ty(e){e=e|0;var A=0,r=0;r=t[(t[e+16>>2]|0)+8>>2]|0;e=t[46663]|0;if((t[46662]|0)!=(e|0)){A=t[(t[46690]|0)+8>>2]|0;if(e>>>0>=(t[46664]|0)>>>0){ow(186648,1)|0;e=t[46663]|0}i[e>>0]=0;e=t[46662]|0;t[46663]=e;Mw(r,A,e)|0}e=t[46679]|0;if((t[46678]|0)!=(e|0)){A=t[(t[46690]|0)+12>>2]|0;if(e>>>0>=(t[46680]|0)>>>0){ow(186712,1)|0;e=t[46679]|0}i[e>>0]=0;e=t[46678]|0;t[46679]=e;Mw(r,A,e)|0}c[9]=1.0;c[11]=1.0;t[46699]=0;t[46701]=0;return}function ny(e){e=e|0;var A=0,r=0;r=t[(t[e+16>>2]|0)+8>>2]|0;e=t[46663]|0;if((t[46662]|0)!=(e|0)){A=t[(t[46690]|0)+16>>2]|0;if(e>>>0>=(t[46664]|0)>>>0){ow(186648,1)|0;e=t[46663]|0}i[e>>0]=0;e=t[46662]|0;t[46663]=e;Mw(r,A,e)|0}e=t[46667]|0;if((t[46666]|0)!=(e|0)){A=t[(t[46690]|0)+24>>2]|0;if(e>>>0>=(t[46668]|0)>>>0){ow(186664,1)|0;e=t[46667]|0}i[e>>0]=0;e=t[46666]|0;t[46667]=e;Mw(r,A,e)|0}e=t[46671]|0;if((t[46670]|0)!=(e|0)){A=t[(t[46690]|0)+20>>2]|0;if(e>>>0>=(t[46672]|0)>>>0){ow(186680,1)|0;e=t[46671]|0}i[e>>0]=0;e=t[46670]|0;t[46671]=e;Mw(r,A,e)|0}e=t[46679]|0;if((t[46678]|0)!=(e|0)){A=t[(t[46690]|0)+28>>2]|0;if(e>>>0>=(t[46680]|0)>>>0){ow(186712,1)|0;e=t[46679]|0}i[e>>0]=0;e=t[46678]|0;t[46679]=e;Mw(r,A,e)|0}e=t[46683]|0;if((t[46682]|0)!=(e|0)){A=t[(t[46690]|0)+36>>2]|0;if(e>>>0>=(t[46684]|0)>>>0){ow(186728,1)|0;e=t[46683]|0}i[e>>0]=0;e=t[46682]|0;t[46683]=e;Mw(r,A,e)|0}e=t[46687]|0;if((t[46686]|0)!=(e|0)){A=t[(t[46690]|0)+32>>2]|0;if(e>>>0>=(t[46688]|0)>>>0){ow(186744,1)|0;e=t[46687]|0}i[e>>0]=0;e=t[46686]|0;t[46687]=e;Mw(r,A,e)|0}c[10]=1.0;c[12]=1.0;c[3]=1.0;c[4]=1.0;c[7]=1.0;c[8]=1.0;t[46700]=0;t[46702]=0;t[46693]=0;t[46694]=0;t[46697]=0;t[46698]=0;return}function fy(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+1056|0;l=g+16|0;v=g+8|0;d=g;s=g+32|0;b=t[(t[e+16>>2]|0)+12>>2]|0;w=t[11416+(b<<2)>>2]|0;bw(w,66916)|0;n=r+4|0;ky(s,+c[(t[n>>2]|0)+16>>3]);bw(w,s)|0;gy(e,195059,t[t[n>>2]>>2]|0);by(e);k=i[r+48>>0]|0;k=k<<24>>24==108?-1:k<<24>>24==114&1;n=t[n>>2]|0;if(!n)n=0;else n=t[n+24>>2]&127;f=a[(t[46690]|0)+8232>>1]|0;if((f&65535)>14?(o=t[11464+((f&65535)+-15<<2)>>2]&n,u=186764+(b<<2)|0,(t[u>>2]|0)!=(o|0)):0){t[d>>2]=o;T4(s,66919,d)|0;bw(w,s)|0;t[u>>2]=o}d=A+8|0;c[d>>3]=+c[d>>3]+ +c[r+24>>3];bw(w,66925)|0;t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];wy(w,l);t[v>>2]=k;T4(s,102220,v)|0;bw(w,s)|0;ky(s,+c[r+32>>3]);bw(w,s)|0;gy(e,195059,t[r>>2]|0);h=g;return}function ly(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=h;h=h+1040|0;a=f;n=f+16|0;i=t[(t[e+16>>2]|0)+12>>2]|0;uy(e);by(e);if(!r){e=t[11416+(i<<2)>>2]|0;bw(e,66913)|0}else{if((r|1|0)==3)py(e,r,A,2);else Ey(e);e=t[11416+(i<<2)>>2]|0;bw(e,66910)|0}t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];wy(e,a);ky(n,+c[A+16>>3]-+c[A>>3]);bw(e,n)|0;ky(n,+c[A+24>>3]-+c[A+8>>3]);bw(e,n)|0;h=f;return}function sy(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;uy(e);by(e);if(!i)hy(e,112,A,r);else{if((i|1|0)==3)py(e,i,A,r);else Ey(e);hy(e,80,A,r)}return}function cy(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;uy(e);by(e);if(!t)hy(e,66,A,r);else{if((t|1|0)==3)py(e,t,A,r);else Ey(e);hy(e,98,A,r)}return}function oy(e,A,r){e=e|0;A=A|0;r=r|0;uy(e);by(e);hy(e,76,A,r);return}function uy(e){e=e|0;var A=0,r=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+1184|0;f=u;a=u+24|0;o=u+8|0;cw(o,1024,u+152|0);l=e+16|0;A=t[l>>2]|0;n=+c[A+152>>3];r=8+(t[A+12>>2]<<3)|0;if(n!=+c[r>>3]){c[r>>3]=n;bw(o,66882)|0;c[f>>3]=+c[(t[l>>2]|0)+152>>3];T4(a,66896,f)|0;dy(a,0);bw(o,a)|0;a=o+4|0;A=t[a>>2]|0;r=o+8|0;if(A>>>0>=(t[r>>2]|0)>>>0){ow(o,1)|0;A=t[a>>2]|0}t[a>>2]=A+1;i[A>>0]=41;A=t[a>>2]|0;if(A>>>0>=(t[r>>2]|0)>>>0){ow(o,1)|0;A=t[a>>2]|0}i[A>>0]=0;A=t[o>>2]|0;t[a>>2]=A;gy(e,66901,A);A=t[l>>2]|0}A=t[A+160>>2]|0;if(A|0){l=o+4|0;s=o+8|0;e:while(1){f=A+4|0;A=t[A>>2]|0;if(!A)break;switch(i[A>>0]|0){case 102:{if(!(e1(A,111101)|0)){A=f;continue e}break}case 98:{if(!(e1(A,111083)|0)){A=f;continue e}break}case 115:{if(!(e1(A,111088)|0)){A=f;continue e}break}default:{}}bw(o,A)|0;do{a=A;A=A+1|0}while((i[a>>0]|0)!=0);if(i[A>>0]|0){r=t[l>>2]|0;if(r>>>0>=(t[s>>2]|0)>>>0){ow(o,1)|0;r=t[l>>2]|0}t[l>>2]=r+1;i[r>>0]=40;a=0;while(1){if(!(i[A>>0]|0))break;if(a|0){r=t[l>>2]|0;if(r>>>0>=(t[s>>2]|0)>>>0){ow(o,1)|0;r=t[l>>2]|0}t[l>>2]=r+1;i[r>>0]=44}bw(o,A)|0;do{r=A;A=A+1|0}while((i[r>>0]|0)!=0);a=a+1|0}A=t[l>>2]|0;if(A>>>0>=(t[s>>2]|0)>>>0){ow(o,1)|0;A=t[l>>2]|0}t[l>>2]=A+1;i[A>>0]=41}A=t[l>>2]|0;if(A>>>0>=(t[s>>2]|0)>>>0){ow(o,1)|0;A=t[l>>2]|0}i[A>>0]=0;A=t[o>>2]|0;t[l>>2]=A;gy(e,66901,A);A=f}hw(o)}h=u;return}function by(e){e=e|0;vy((t[e+16>>2]|0)+16|0);gy(e,75834,193758);return}function hy(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0;c=h;h=h+1040|0;s=c;l=c+16|0;f=t[11416+(t[(t[e+16>>2]|0)+12>>2]<<2)>>2]|0;n=f+4|0;e=t[n>>2]|0;if(e>>>0>=(t[f+8>>2]|0)>>>0){ow(f,1)|0;e=t[n>>2]|0}t[n>>2]=e+1;i[e>>0]=A;t[s>>2]=a;T4(l,66846,s)|0;bw(f,l)|0;e=0;while(1){if((e|0)>=(a|0))break;l=r+(e<<4)|0;t[s>>2]=t[l>>2];t[s+4>>2]=t[l+4>>2];t[s+8>>2]=t[l+8>>2];t[s+12>>2]=t[l+12>>2];wy(f,s);e=e+1|0}h=c;return}function wy(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+1024|0;i=r;ky(i,+c[A>>3]);bw(e,i)|0;ky(i,+NM(+c[A+8>>3]));bw(e,i)|0;h=r;return}function ky(e,A){e=e|0;A=+A;var r=0,i=0;r=h;h=h+16|0;i=r;c[i>>3]=A>-1.0e-08&A<1.0e-08?0.0:A;T4(e,66851,i)|0;dy(e,1);h=r;return}function dy(e,A){e=e|0;A=A|0;var r=0,a=0;r=C1(e,46)|0;if(!r){if(A|0){r=e+(U2(e)|0)|0;a=10}}else{while(1){e=r+1|0;if(!(i[e>>0]|0))break;else r=e}e:while(1){switch(i[r>>0]|0){case 46:{a=5;break e}case 48:break;default:{a=6;break e}}i[r>>0]=0;r=r+-1|0}if((a|0)==5)i[r>>0]=0;else if((a|0)==6)r=r+1|0;if(A|0)a=10}if((a|0)==10){i[r>>0]=32;i[r+1>>0]=0}return}function vy(e){e=e|0;var A=0,r=0,a=0,f=0,l=0,s=0;s=h;h=h+32|0;l=s+16|0;f=s;A=i[e+3>>0]|0;r=n[e>>0]|0;a=n[e+1>>0]|0;e=n[e+2>>0]|0;if(A<<24>>24==-1){t[f>>2]=r;t[f+4>>2]=a;t[f+8>>2]=e;T4(193758,75714,f)|0}else{t[l>>2]=r;t[l+4>>2]=a;t[l+8>>2]=e;t[l+12>>2]=A&255;T4(193758,66864,l)|0}h=s;return}function gy(e,A,r){e=e|0;A=A|0;r=r|0;my(t[11416+(t[(t[e+16>>2]|0)+12>>2]<<2)>>2]|0,A,r);return}function my(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;a=h;h=h+1040|0;f=a;n=a+8|0;l=U2(r)|0;t[f>>2]=A;t[f+4>>2]=l;T4(n,66857,f)|0;bw(e,n)|0;bw(e,r)|0;r=e+4|0;A=t[r>>2]|0;if(A>>>0>=(t[e+8>>2]|0)>>>0){ow(e,1)|0;A=t[r>>2]|0}t[r>>2]=A+1;i[A>>0]=32;h=a;return}function py(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0.0,l=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0;B=h;h=h+1120|0;g=B+64|0;E=B+80|0;l=B+32|0;d=B+16|0;v=B;m=t[e+16>>2]|0;n=+(t[m+136>>2]|0)*.017453292519943295;if((f[(t[46690]|0)+8232>>1]|0)<14)Ey(e);else{cw(E,1024,B+96|0);p=(A|0)==2;if(p){zJ(r,l,a,n,2);r=E+4|0;A=t[r>>2]|0;if(A>>>0>=(t[E+8>>2]|0)>>>0){ow(E,1)|0;A=t[r>>2]|0}t[r>>2]=A+1;i[A>>0]=91;t[g>>2]=t[l>>2];t[g+4>>2]=t[l+4>>2];t[g+8>>2]=t[l+8>>2];t[g+12>>2]=t[l+12>>2];wy(E,g);v=l+16|0;t[g>>2]=t[v>>2];t[g+4>>2]=t[v+4>>2];t[g+8>>2]=t[v+8>>2];t[g+12>>2]=t[v+12>>2];wy(E,g)}else{zJ(r,l,a,0.0,3);k=+c[l+24>>3];b=+c[l>>3];if(n==0.0){u=+c[l+8>>3];w=k*.25;n=u;o=b}else{w=k*.25;y=w;o=+W(+n)*y+b;u=+c[l+8>>3];n=+Y(+n)*y+u}c[d>>3]=o;c[d+8>>3]=n;c[v>>3]=b;c[v+8>>3]=u;r=E+4|0;A=t[r>>2]|0;if(A>>>0>=(t[E+8>>2]|0)>>>0){ow(E,1)|0;A=t[r>>2]|0}t[r>>2]=A+1;i[A>>0]=40;t[g>>2]=t[d>>2];t[g+4>>2]=t[d+4>>2];t[g+8>>2]=t[d+8>>2];t[g+12>>2]=t[d+12>>2];wy(E,g);By(E,w);t[g>>2]=t[v>>2];t[g+4>>2]=t[v+4>>2];t[g+8>>2]=t[v+8>>2];t[g+12>>2]=t[v+12>>2];wy(E,g);By(E,k)}bw(E,66907)|0;A=m+140|0;n=+s[A>>2];r=m+56|0;if(n>0.0){yy(E,n,r);yy(E,+s[A>>2],m+96|0)}else{yy(E,0.0,r);yy(E,1.0,m+96|0)}ww(E)|0;l=E+4|0;A=t[l>>2]|0;a=E+8|0;r=A>>>0>=(t[a>>2]|0)>>>0;if(p){if(r){ow(E,1)|0;A=t[l>>2]|0}t[l>>2]=A+1;i[A>>0]=93}else{if(r){ow(E,1)|0;A=t[l>>2]|0}t[l>>2]=A+1;i[A>>0]=41}A=t[l>>2]|0;if(A>>>0>=(t[a>>2]|0)>>>0){ow(E,1)|0;A=t[l>>2]|0}i[A>>0]=0;p=t[E>>2]|0;t[l>>2]=p;gy(e,66904,p);hw(E)}h=B;return}function Ey(e){e=e|0;vy((t[e+16>>2]|0)+56|0);gy(e,66904,193758);return}function By(e,A){e=e|0;A=+A;var r=0,i=0;r=h;h=h+1024|0;i=r;ky(i,A);bw(e,i)|0;h=r;return}function yy(e,A,r){e=e|0;A=+A;r=r|0;var i=0,a=0,t=0;i=h;h=h+1040|0;t=i;a=i+8|0;c[t>>3]=A;T4(a,94168,t)|0;dy(a,1);vy(r);my(e,a,193758);h=i;return}function Cy(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;i=h;h=h+1040|0;f=i;a=i+16|0;n=t[11416+(t[(t[e+16>>2]|0)+12>>2]<<2)>>2]|0;bw(n,67013)|0;t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];wy(n,f);ky(a,+c[r+16>>3]-+c[r>>3]);bw(n,a)|0;ky(a,+c[r+24>>3]-+c[r+8>>3]);bw(n,a)|0;gy(e,195059,t[A+8>>2]|0);h=i;return}function Iy(e){e=e|0;var A=0;switch(t[e+64>>2]|0){case 0:{A=Im(t[e>>2]|0)|0;hp(A,t[(t[e+16>>2]|0)+8>>2]|0,67797,0)|0;Zm(A);break}case 1:{KM(t[(t[e>>2]|0)+168>>2]|0);break}default:{}}return}function Zy(e){e=e|0;var A=0,r=0,a=0,n=0;a=h;h=h+16|0;A=a;r=t[(t[e+16>>2]|0)+8>>2]|0;if(!(t[46703]|0)){t[46703]=t[4678];t[46704]=57;t[46705]=19}t[(t[r+64>>2]|0)+8>>2]=186812;Gy(r,1);t[A>>2]=0;i[A+4>>0]=(i[(t[r+16>>2]|0)+115>>0]|0)==1&1;n=t[e+64>>2]|0;i[A+5>>0]=((n|0)==0|(n|0)==3)&1;i[A+6>>0]=0;Ly(r,e,1,A);h=a;return}function Gy(e,A){e=e|0;A=A|0;var r=0;t[e>>2]=t[e>>2]&-9;r=xv(e)|0;while(1){if(!r)break;Gy(r,0);r=Jv(r)|0}e:do{if(A|0){A=sd(e)|0;while(1){if(!A)break e;t[A>>2]=t[A>>2]&-9;r=Ow(e,A)|0;while(1){if(!r)break;t[r>>2]=t[r>>2]&-9;r=qw(e,r)|0}A=cd(e,A)|0}}}while(0);return}function Ly(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;w=k+8|0;b=k;u=(r|0)!=0;if(u){o=Uh(11836,t[4581]|0)|0;_d(e,1,141060,12,0);_d(e,2,141060,12,0);_d(e,0,141060,-12,0);a=Qy(e,0,o)|0;s=sd(e)|0;l=0;n=0;while(1){if(!s)break;if(!(y1(Mk(s)|0,108006,7)|0)){c=n;n=Dy(o,Mk(s)|0)|0}else{c=n+1|0;n=n+a|0}t[(Pd(s,141060,0)|0)+8>>2]=n;f=Ow(e,s)|0;n=l;while(1){if(!f)break;t[(Pd(f,141060,0)|0)+8>>2]=n;f=qw(e,f)|0;n=n+1|0}s=cd(e,s)|0;l=n;n=c}Ph(o)|0}else a=0;o=t[i>>2]|0;t[i>>2]=o+1;zy(A,o);hm(A,97374)|0;Wy(e,A,r,i);Yy(e,A,i);hm(A,97345)|0;zy(A,t[i>>2]|0);if(u){t[b>>2]=a;mm(A,67016,b)}else{t[w>>2]=t[(Pd(e,141060,0)|0)+8>>2];mm(A,67036,w)}My(e,A,r,Fy(e,A,r,i)|0,i);Vy(e,A,r,i);hm(A,153599)|0;w=(t[i>>2]|0)+-1|0;t[i>>2]=w;zy(A,w);if(u)hm(A,111008)|0;else hm(A,75357)|0;h=k;return}function Qy(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if((yd(e)|0)!=(e|0)){i=A+1|0;t[(Pd(e,141060,0)|0)+8>>2]=A;if(!(y1(Mk(e)|0,108006,7)|0)){A=Mk(e)|0;Oy(r,A,t[(Pd(e,141060,0)|0)+8>>2]|0);A=i}else A=i}i=xv(e)|0;while(1){if(!i)break;e=Qy(i,A,r)|0;i=Jv(i)|0;A=e}return A|0}function Dy(e,A){e=e|0;A=A|0;e=L5[t[e>>2]&63](e,A,512)|0;if(!e)e=-1;else e=t[e+12>>2]|0;return e|0}function zy(e,A){e=e|0;A=A|0;while(1){if((A|0)<=0)break;hm(e,90574)|0;A=A+-1|0}return}function Wy(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;f=h;h=h+32|0;n=f+16|0;a=f+8|0;l=f;s=Mk(e)|0;zy(A,t[i>>2]|0);t[l>>2]=xy(s,i)|0;mm(A,67124,l);if(r|0){hm(A,97345)|0;zy(A,t[i>>2]|0);s=(Bk(e)|0)!=0;t[a>>2]=s?107652:137308;mm(A,67738,a);zy(A,t[i>>2]|0);s=(Ck(e)|0)!=0;t[n>>2]=s?107652:137308;mm(A,67755,n)}h=f;return}function Yy(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b+8|0;o=b;l=yd(e)|0;s=t[e>>2]&3;a=Vw(l,s,0)|0;e:do{if(a|0){c=r+5|0;while(1){if(!a)break e;n=Pw(e,a)|0;do{if(n|0){f=a+8|0;if(!(i[n>>0]|0)){n=t[f>>2]|0;if((i[n>>0]|0)!=108)break;if(e1(n,108224)|0)break}hm(A,97345)|0;zy(A,t[r>>2]|0);t[o>>2]=xy(t[f>>2]|0,r)|0;mm(A,67174,o);if(i[c>>0]|0?Hy(t[f>>2]|0)|0:0){Py(Pw(e,a)|0,A,r);break}t[u>>2]=xy(Pw(e,a)|0,r)|0;mm(A,67181,u)}}while(0);a=Vw(l,s,a)|0}}}while(0);h=b;return}function Fy(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;a=xv(e)|0;if(a){hm(A,97345)|0;n=t[i>>2]|0;t[i>>2]=n+1;zy(A,n);n=(r|0)!=0;if(n){hm(A,67098)|0;e=0;r=a}else{hm(A,67158)|0;zy(A,t[i>>2]|0);e=0;r=a}while(1){if(!r)break;if(!e)e=1;else hm(A,97345)|0;if(n)Jy(r,A,i);else{t[f>>2]=t[(Pd(r,141060,0)|0)+8>>2];mm(A,137395,f)}r=Jv(r)|0}if(n)e=1;else{t[i>>2]=(t[i>>2]|0)+-1;hm(A,153599)|0;zy(A,t[i>>2]|0);hm(A,97340)|0;e=1}}else e=0;h=l;return e|0}function My(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;n=sd(e)|0;if(!n){if((r|0)!=0&(i|0)!=0){t[a>>2]=(t[a>>2]|0)+-1;hm(A,153599)|0;zy(A,t[a>>2]|0);hm(A,97340)|0}}else{hm(A,97345)|0;f=(r|0)!=0;if(f)if(!i){i=t[a>>2]|0;t[a>>2]=i+1;zy(A,i);hm(A,67098)|0;i=0}else i=0;else{i=t[a>>2]|0;t[a>>2]=i+1;zy(A,i);hm(A,67112)|0;zy(A,t[a>>2]|0);i=0}while(1){if(!n)break;if(y1(Mk(n)|0,108006,7)|0){do{if(i)if(f){hm(A,97345)|0;break}else{hm(A,100999)|0;break}else i=1}while(0);Ry(n,A,r,a)}n=cd(e,n)|0}t[a>>2]=(t[a>>2]|0)+-1;hm(A,153599)|0;zy(A,t[a>>2]|0);hm(A,97340)|0}return}function Vy(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;a=sd(e)|0;e:do{if(a|0){while(1){if(!a)break e;if(Ow(e,a)|0)break;a=cd(e,a)|0}hm(A,97345)|0;l=t[i>>2]|0;t[i>>2]=l+1;zy(A,l);hm(A,67048)|0;l=(r|0)!=0;if(l)n=0;else{zy(A,t[i>>2]|0);n=0}while(1){if(!a)break;f=Ow(e,a)|0;while(1){if(!f)break;do{if(n)if(l){hm(A,97345)|0;break}else{hm(A,100999)|0;break}else n=1}while(0);Ny(f,A,r,i);f=qw(e,f)|0}a=cd(e,a)|0}t[i>>2]=(t[i>>2]|0)+-1;hm(A,153599)|0;zy(A,t[i>>2]|0);hm(A,97340)|0}}while(0);return}function Ny(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;s=h;h=h+32|0;l=s+24|0;f=s+16|0;n=s+8|0;a=s;if(!r){t[l>>2]=t[(Pd(e,141060,0)|0)+8>>2];mm(A,137395,l)}else{l=t[i>>2]|0;t[i>>2]=l+1;zy(A,l);hm(A,97374)|0;zy(A,t[i>>2]|0);t[a>>2]=t[(Pd(e,141060,0)|0)+8>>2];mm(A,67060,a);zy(A,t[i>>2]|0);t[n>>2]=t[(Pd(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,141060,0)|0)+8>>2];mm(A,67074,n);zy(A,t[i>>2]|0);t[f>>2]=t[(Pd(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,141060,0)|0)+8>>2];mm(A,67087,f);Yy(e,A,i);hm(A,153599)|0;l=(t[i>>2]|0)+-1|0;t[i>>2]=l;zy(A,l);hm(A,75357)|0}h=s;return}function Ry(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+32|0;f=l+16|0;n=l+8|0;a=l;if(!r){t[f>>2]=t[(Pd(e,141060,0)|0)+8>>2];mm(A,137395,f)}else{f=t[i>>2]|0;t[i>>2]=f+1;zy(A,f);hm(A,97374)|0;zy(A,t[i>>2]|0);t[a>>2]=t[(Pd(e,141060,0)|0)+8>>2];mm(A,67060,a);zy(A,t[i>>2]|0);t[n>>2]=xy(Mk(e)|0,i)|0;mm(A,67124,n);Yy(e,A,i);hm(A,153599)|0;f=(t[i>>2]|0)+-1|0;t[i>>2]=f;zy(A,f);hm(A,75357)|0}h=l;return}function xy(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;n=A+4|0;if(i[n>>0]|0)e=pJ(e)|0;if(!(t[46706]|0)){cw(186824,1024,0);r=e}else r=e;e:while(1){a=i[r>>0]|0;switch(a<<24>>24){case 0:break e;case 34:{bw(186824,67137)|0;break}case 92:{bw(186824,96616)|0;break}case 47:{bw(186824,67140)|0;break}case 8:{bw(186824,67143)|0;break}case 12:{bw(186824,67146)|0;break}case 10:{bw(186824,67149)|0;break}case 13:{bw(186824,67152)|0;break}case 9:{bw(186824,67155)|0;break}default:{A=t[46707]|0;if(A>>>0>=(t[46708]|0)>>>0){ow(186824,1)|0;A=t[46707]|0}t[46707]=A+1;i[A>>0]=a}}r=r+1|0}A=t[46707]|0;if(A>>>0>=(t[46708]|0)>>>0){ow(186824,1)|0;A=t[46707]|0}i[A>>0]=0;A=t[46706]|0;t[46707]=A;if(i[n>>0]|0)G2(e);return A|0}function Jy(e,A,r){e=e|0;A=A|0;r=r|0;Ly(e,A,0,r);e=xv(e)|0;while(1){if(!e)break;hm(A,97345)|0;Jy(e,A,r);e=Jv(e)|0}return}function Hy(e){e=e|0;var A=0;A=e+1|0;e:do{if((i[e>>0]|0)==95){e=(i[A>>0]|0)+-100<<24>>24;switch(((e&255)>>>2|e<<6&255)<<24>>24){case 0:{if(!(e1(A,67695)|0)){e=1;break e}break}case 2:{if(!(e1(A,67701)|0)){e=1;break e}break}case 1:{if(!(e1(A,67708)|0)){e=1;break e}return(e1(A,67722)|0)==0|0}case 4:{if(!(e1(A,67715)|0)){e=1;break e}e=(e1(A,67730)|0)==0&1;break e}default:{e=0;break e}}e=0}else e=0}while(0);return e|0}function Py(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;a=l;do{if(e|0?i[e>>0]|0:0){f=LE(e)|0;if(!f){t[a>>2]=e;nw(0,67186,a)|0;break}hm(A,153599)|0;n=t[r>>2]|0;t[r>>2]=n+1;zy(A,n);hm(A,67213)|0;n=f+8|0;e=0;a=0;while(1){if((a|0)>=(t[f>>2]|0))break;if(!e)e=1;else hm(A,97345)|0;Xy((t[n>>2]|0)+(a*80|0)|0,A,r);a=a+1|0}t[r>>2]=(t[r>>2]|0)+-1;hm(A,153599)|0;zy(A,t[r>>2]|0);hm(A,97340)|0;QE(f)}}while(0);h=l;return}function Xy(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0.0,G=0.0,L=0.0;I=h;h=h+240|0;y=I+224|0;B=I+216|0;E=I+208|0;p=I+200|0;m=I+192|0;g=I+184|0;v=I+176|0;d=I+152|0;k=I+136|0;w=I+128|0;b=I+112|0;u=I+104|0;o=I+96|0;s=I+88|0;l=I+72|0;f=I+48|0;C=I+40|0;n=I+8|0;a=I;i=t[r>>2]|0;t[r>>2]=i+1;zy(A,i);hm(A,97374)|0;zy(A,t[r>>2]|0);i=t[e>>2]|0;e:do{switch(i|0){case 1:case 0:{t[a>>2]=(i|0)==0?69:101;mm(A,67216,a);zy(A,t[r>>2]|0);L=+c[e+16>>3];G=+c[e+24>>3];Z=+c[e+32>>3];c[n>>3]=+c[e+8>>3];c[n+8>>3]=L;c[n+16>>3]=G;c[n+24>>3]=Z;mm(A,67229,n);break}case 3:case 2:{t[C>>2]=(i|0)==2?80:112;mm(A,67216,C);zy(A,t[r>>2]|0);Sy(A,e+8|0);break}case 5:case 4:{t[f>>2]=(i|0)==4?66:98;mm(A,67216,f);zy(A,t[r>>2]|0);Sy(A,e+8|0);break}case 6:{mm(A,67264,I+56|0);zy(A,t[r>>2]|0);Sy(A,e+8|0);break}case 7:{mm(A,67276,I+64|0);zy(A,t[r>>2]|0);L=+c[e+16>>3];c[l>>3]=+c[e+8>>3];c[l+8>>3]=L;mm(A,67288,l);zy(A,t[r>>2]|0);C=t[e+24>>2]|0;t[s>>2]=(C|0)==0?108:(C|0)==1?99:114;mm(A,67310,s);zy(A,t[r>>2]|0);c[o>>3]=+c[e+32>>3];mm(A,67326,o);zy(A,t[r>>2]|0);t[u>>2]=xy(t[e+40>>2]|0,r)|0;mm(A,67343,u);break}case 9:case 8:{t[b>>2]=(i|0)==8?67:99;mm(A,67216,b);zy(A,t[r>>2]|0);mm(A,67357,I+120|0);zy(A,t[r>>2]|0);t[w>>2]=xy(t[e+8>>2]|0,r)|0;mm(A,67374,w);break}case 13:case 14:{t[k>>2]=(i|0)==13?67:99;mm(A,67216,k);zy(A,t[r>>2]|0);switch(t[e+8>>2]|0){case 0:{mm(A,67357,I+144|0);zy(A,t[r>>2]|0);t[d>>2]=xy(t[e+16>>2]|0,r)|0;mm(A,67374,d);break e}case 1:{mm(A,67389,I+160|0);zy(A,t[r>>2]|0);jy(A,e+16|0,r);break e}default:{mm(A,67408,I+168|0);zy(A,t[r>>2]|0);Uy(A,e+16|0,r);break e}}}case 10:{mm(A,67427,v);zy(A,t[r>>2]|0);c[g>>3]=+c[e+8>>3];mm(A,67439,g);zy(A,t[r>>2]|0);t[m>>2]=xy(t[e+16>>2]|0,r)|0;mm(A,67455,m);break}case 11:{mm(A,67469,p);zy(A,t[r>>2]|0);t[E>>2]=xy(t[e+8>>2]|0,r)|0;mm(A,67481,E);break}case 15:{mm(A,67496,B);zy(A,t[r>>2]|0);t[y>>2]=t[e+8>>2];mm(A,67508,y);break}default:{}}}while(0);C=(t[r>>2]|0)+-1|0;t[r>>2]=C;zy(A,C);hm(A,75357)|0;h=I;return}function Sy(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0.0;l=h;h=h+48|0;f=l+32|0;n=l+16|0;a=l+8|0;i=t[A>>2]|0;r=t[A+4>>2]|0;mm(e,67669,l);A=0;while(1){if((A|0)>=(i|0))break;if((A|0)>0)mm(e,100999,a);s=+c[r+(A*24|0)+8>>3];c[n>>3]=+c[r+(A*24|0)>>3];c[n+8>>3]=s;mm(e,67681,n);A=A+1|0}mm(e,67622,f);h=l;return}function jy(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0;i=h;h=h+32|0;a=i+16|0;f=i;zy(e,t[r>>2]|0);n=+c[A+8>>3];c[f>>3]=+c[A>>3];c[f+8>>3]=n;mm(e,67625,f);zy(e,t[r>>2]|0);n=+c[A+24>>3];c[a>>3]=+c[A+16>>3];c[a+8>>3]=n;mm(e,67647,a);zy(e,t[r>>2]|0);Ty(e,t[A+32>>2]|0,t[A+36>>2]|0,r);h=i;return}function Uy(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0;i=h;h=h+48|0;a=i+24|0;l=i;zy(e,t[r>>2]|0);n=+c[A+8>>3];f=+c[A+16>>3];c[l>>3]=+c[A>>3];c[l+8>>3]=n;c[l+16>>3]=f;mm(e,67524,l);zy(e,t[r>>2]|0);f=+c[A+32>>3];n=+c[A+40>>3];c[a>>3]=+c[A+24>>3];c[a+8>>3]=f;c[a+16>>3]=n;mm(e,67552,a);zy(e,t[r>>2]|0);Ty(e,t[A+48>>2]|0,t[A+52>>2]|0,r);h=i;return}function Ty(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,o=0,u=0,b=0.0;o=h;h=h+48|0;l=o+32|0;f=o+16|0;n=o+8|0;mm(e,67580,o);a=0;while(1){if((a|0)>=(A|0))break;if((a|0)>0)mm(e,100999,n);b=+s[r+(a<<3)>>2];u=xy(t[r+(a<<3)+4>>2]|0,i)|0;c[f>>3]=b;t[f+8>>2]=u;mm(e,67591,f);a=a+1|0}mm(e,67622,l);h=o;return}function Oy(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=h;h=h+16|0;a=n;i=L5[t[e>>2]&63](e,A,512)|0;if(i){if((t[i+12>>2]|0)!=(r|0)){t[a>>2]=A;nw(0,67768,a)|0}}else{a=L2(1,16)|0;t[a+8>>2]=o3(A)|0;t[a+12>>2]=r;L5[t[e>>2]&63](e,a,1)|0}h=n;return}function _y(e,A,r){e=e|0;A=A|0;r=r|0;G2(t[A+8>>2]|0);G2(A);return}function qy(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;A=h;h=h+32|0;r=A+24|0;i=A+16|0;n=A;a=t[e+16>>2]|0;hm(e,68623)|0;s=t[t[e+12>>2]>>2]|0;l=t[s+4>>2]|0;f=t[s+8>>2]|0;t[n>>2]=t[s>>2];t[n+4>>2]=l;t[n+8>>2]=f;mm(e,68633,n);t[i>>2]=Mk(t[a+8>>2]|0)|0;mm(e,68668,i);t[r>>2]=P(t[e+168>>2]|0,t[e+164>>2]|0)|0;mm(e,68681,r);hm(e,68694)|0;hm(e,68704)|0;hm(e,68712)|0;hm(e,68720)|0;hm(e,68728)|0;hm(e,68736)|0;hm(e,68744)|0;hm(e,68748)|0;hm(e,68753)|0;h=A;return}function Ky(e){e=e|0;hm(e,68604)|0;return}function $y(e){e=e|0;t[46710]=2;return}function eC(e){e=e|0;t[46710]=1;return}function AC(e){e=e|0;t[46710]=2;return}function rC(e){e=e|0;t[46710]=0;return}function iC(e){e=e|0;t[46710]=2;return}function aC(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0.0,l=0,s=0.0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0;w=h;h=h+80|0;b=w;o=t[(t[e+16>>2]|0)+16>>2]|0;u=t[46710]|0;a=t[r+4>>2]|0;n=+c[e+352>>3]*+c[a+16>>3];f=t[e+360>>2]|0?1.5707963267948966:0.0;l=t[r>>2]|0;s=n*.3333333333333333*+((U2(l)|0)>>>0);a=t[a+8>>2]|0;if(!a)a=-1;else a=t[a+20>>2]|0;v=i[r+48>>0]|0;d=+c[A>>3];k=+c[A+8>>3];r=hC(l)|0;t[b>>2]=4;t[b+4>>2]=v<<24>>24==108?0:v<<24>>24==114?2:1;t[b+8>>2]=o;t[b+12>>2]=u;t[b+16>>2]=0;t[b+20>>2]=a;c[b+24>>3]=n;c[b+32>>3]=f;t[b+40>>2]=6;c[b+48>>3]=n;c[b+56>>3]=s;t[b+64>>2]=~~(d+(d>=0.0?.5:-.5));t[b+68>>2]=~~(k+(k+-72.0>=0.0?-71.5:-72.5));t[b+72>>2]=r;mm(e,68549,b);h=w;return}function tC(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=h;h=h+32|0;s=u;l=u+20|0;o=A+32|0;e:do{switch(t[o>>2]|0){case 5:{r=0;while(1){a=t[12724+(r<<2)>>2]|0;if((r|0)==8)break e;f=t[A>>2]|0;if((i[a>>0]|0)==(i[f>>0]|0)?(e1(a,f)|0)==0:0){c=10;break e}r=r+1|0}}case 1:{a=A+1|0;f=A+2|0;r=(bC(l,n[A>>0]|0,n[a>>0]|0,n[f>>0]|0)|0)+32|0;if(!(t[l>>2]|0))c=10;else{b=n[A>>0]|0;l=n[a>>0]|0;c=n[f>>0]|0;t[s>>2]=0;t[s+4>>2]=r;t[s+8>>2]=b;t[s+12>>2]=l;t[s+16>>2]=c;mm(e,68492,s);c=10}break}default:ge(138394,67889,163,67920)}}while(0);if((c|0)==10)t[A>>2]=r;t[o>>2]=6;h=u;return}function nC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0,s=0,o=0.0,u=0.0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0;i=h;h=h+112|0;a=i+8|0;m=i+104|0;g=i;s=t[e+16>>2]|0;v=~~+c[s+152>>3];d=t[s+16>>2]|0;k=t[s+56>>2]|0;w=t[46710]|0;oC(s,m,g);u=+c[A>>3];s=~~(u+(u>=0.0?.5:-.5));o=+c[A+8>>3];l=~~(o+(o>=0.0?.5:-.5));f=+c[A+16>>3];u=f-u;n=+c[A+24>>3];o=n-o;A=t[m>>2]|0;b=+c[g>>3];t[a>>2]=1;t[a+4>>2]=1;t[a+8>>2]=A;t[a+12>>2]=v;t[a+16>>2]=d;t[a+20>>2]=k;t[a+24>>2]=w;t[a+28>>2]=0;t[a+32>>2]=r|0?20:-1;c[a+40>>3]=b;t[a+48>>2]=0;c[a+56>>3]=0.0;t[a+64>>2]=s;t[a+68>>2]=l;t[a+72>>2]=~~(u+(u>=0.0?.5:-.5));t[a+76>>2]=~~(o+(o>=0.0?.5:-.5));t[a+80>>2]=s;t[a+84>>2]=l;t[a+88>>2]=~~(f+(f>=0.0?.5:-.5));t[a+92>>2]=~~(n+(n>=0.0?.5:-.5));mm(e,68427,a);h=i;return}function fC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;a=h;h=h+96|0;n=a+8|0;b=a+80|0;w=a;k=t[e+16>>2]|0;u=~~+c[k+152>>3];o=t[k+16>>2]|0;s=t[k+56>>2]|0;l=t[46710]|0;oC(k,b,w);b=t[b>>2]|0;f=+c[w>>3];t[n>>2]=2;t[n+4>>2]=3;t[n+8>>2]=b;t[n+12>>2]=u;t[n+16>>2]=o;t[n+20>>2]=s;t[n+24>>2]=l;t[n+28>>2]=0;t[n+32>>2]=i|0?20:-1;c[n+40>>3]=f;t[n+48>>2]=0;t[n+52>>2]=0;t[n+56>>2]=0;t[n+60>>2]=0;t[n+64>>2]=0;t[n+68>>2]=r+1;mm(e,68331,n);uC(e,A,r,1);h=a;return}function lC(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0.0,Q=0.0,D=0;G=h;h=h+192|0;Z=G+176|0;C=G+168|0;I=G+104|0;y=G+96|0;f=G+88|0;m=G+180|0;p=G+80|0;E=G+16|0;B=G;a=e+16|0;i=t[a>>2]|0;k=~~+c[i+152>>3];d=t[i+16>>2]|0;v=t[46710]|0;if((r|0)<=3)ge(67882,67889,360,67909);g=Z2((r*140|0)+140|0)|0;oC(i,m,p);if(!n){b=4;l=0;s=-1}else{b=5;l=t[(t[a>>2]|0)+56>>2]|0;s=20}Q=+c[A>>3];u=E+48|0;c[u>>3]=Q;L=+c[A+8>>3];c[E+56>>3]=L;t[f>>2]=~~(Q+(Q>=0.0?.5:-.5));t[f+4>>2]=~~(L+(L>=0.0?.5:-.5));o=B+8|0;i=g+(T4(g,81099,f)|0)|0;w=1;n=0;while(1){f=n+3|0;if((f|0)>=(r|0))break;t[E>>2]=t[u>>2];t[E+4>>2]=t[u+4>>2];t[E+8>>2]=t[u+8>>2];t[E+12>>2]=t[u+12>>2];a=1;while(1){if((a|0)==4){a=1;break}D=a+n|0;c[E+(a<<4)>>3]=+c[A+(D<<4)>>3];c[E+(a<<4)+8>>3]=+c[A+(D<<4)+8>>3];a=a+1|0}while(1){if((a|0)==7)break;Zx(B,E,3,+(a|0)*.16666666666666666,0,0);L=+c[B>>3];Q=+c[o>>3];t[y>>2]=~~(L+(L>=0.0?.5:-.5));t[y+4>>2]=~~(Q+(Q>=0.0?.5:-.5));a=a+1|0;i=i+(T4(i,81099,y)|0)|0}w=w+6|0;n=f}a=t[m>>2]|0;Q=+c[p>>3];t[I>>2]=3;t[I+4>>2]=b;t[I+8>>2]=a;t[I+12>>2]=k;t[I+16>>2]=d;t[I+20>>2]=l;t[I+24>>2]=v;t[I+28>>2]=0;t[I+32>>2]=s;c[I+40>>3]=Q;t[I+48>>2]=0;t[I+52>>2]=0;t[I+56>>2]=0;t[I+60>>2]=w;mm(e,68382,I);t[C>>2]=g;mm(e,81106,C);G2(g);a=w+-1|0;i=0;while(1){if((i|0)>=(w|0))break;t[Z>>2]=((i|0)%(a|0)|0|0)!=0&1;mm(e,81111,Z);i=i+1|0}hm(e,153599)|0;h=G;return}function sC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0;i=h;h=h+96|0;a=i+8|0;o=i+80|0;u=i;b=t[e+16>>2]|0;s=~~+c[b+152>>3];l=t[b+16>>2]|0;f=t[46710]|0;oC(b,o,u);o=t[o>>2]|0;n=+c[u>>3];t[a>>2]=2;t[a+4>>2]=1;t[a+8>>2]=o;t[a+12>>2]=s;t[a+16>>2]=l;t[a+20>>2]=0;t[a+24>>2]=f;t[a+28>>2]=0;t[a+32>>2]=0;c[a+40>>3]=n;t[a+48>>2]=0;t[a+52>>2]=0;t[a+56>>2]=0;t[a+60>>2]=0;t[a+64>>2]=0;t[a+68>>2]=r;mm(e,68331,a);uC(e,A,r,0);h=i;return}function cC(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;mm(e,68325,i);h=r;return}function oC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;switch(t[e+144>>2]|0){case 1:{i=10.0;e=1;break}case 2:{i=10.0;e=2;break}default:{i=0.0;e=0}}t[A>>2]=e;c[r>>3]=i;return}function uC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0.0;l=h;h=h+16|0;f=l+8|0;n=l;a=0;while(1){if((a|0)>=(r|0))break;o=+c[A+(a<<4)>>3];s=+c[A+(a<<4)+8>>3];t[n>>2]=~~(o+(o>=0.0?.5:-.5));t[n+4>>2]=~~(s+(s>=0.0?.5:-.5));mm(e,81099,n);a=a+1|0}if(i|0){s=+c[A>>3];o=+c[A+8>>3];t[f>>2]=~~(s+(s>=0.0?.5:-.5));t[f+4>>2]=~~(o+(o>=0.0?.5:-.5));mm(e,81099,f)}hm(e,153599)|0;h=l;return}function bC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;t[e>>2]=0;c=t[46711]|0;f=195075;n=0;l=-1;while(1){if((n|0)>=(c|0)){o=6;break}u=(a[190680+(n<<1)>>1]|0)-A|0;b=(a[191192+(n<<1)>>1]|0)-r|0;s=(a[191704+(n<<1)>>1]|0)-i|0;s=(P(b,b)|0)+(P(u,u)|0)+(P(s,s)|0)|0;if((s|0)<(f|0))if(!s)break;else{f=s;l=n}n=n+1|0}if((o|0)==6){t[46711]=c+1;if((c|0)==256)n=l;else{a[190680+(n<<1)>>1]=A;a[191192+(n<<1)>>1]=r;a[191704+(n<<1)>>1]=i;t[e>>2]=1}}return n|0}function hC(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;A=t[46712]|0;if(!A){t[46713]=64;A=Z2(64)|0;t[46712]=A;r=0}else r=0;while(1){n=e+1|0;a=i[e>>0]|0;if(!(a<<24>>24))break;e=t[46713]|0;if((r|0)>(e+-8|0)){A=e<<1;t[46713]=A;A=Q2(t[46712]|0,A)|0;t[46712]=A;A=A+r|0}if(a<<24>>24<=-1){i[A>>0]=92;t[f>>2]=a&255;T4(A+1|0,81224,f)|0;e=n;A=A+4|0;r=r+4|0;continue}if(a<<24>>24==92){i[A>>0]=92;r=r+1|0;A=A+1|0}i[A>>0]=a;e=n;A=A+1|0;r=r+1|0}i[A>>0]=0;h=l;return t[46712]|0}function wC(e){e=e|0;var A=0,r=0,a=0;r=t[e+16>>2]|0;switch(t[e+64>>2]|0){case 0:{hm(e,68220)|0;A=r+208|0;r=t[A>>2]|0;if(r|0?i[r>>0]|0:0){hm(e,68234)|0;hm(e,TF(t[A>>2]|0)|0)|0;hm(e,153599)|0}break}case 1:{A=r+208|0;a=t[A>>2]|0;if(a|0?i[a>>0]|0:0){hm(e,68234)|0;hm(e,TF(t[A>>2]|0)|0)|0;hm(e,102604)|0;hm(e,TF(Mk(t[r+8>>2]|0)|0)|0)|0;hm(e,153599)|0}break}case 3:{a=TF(Mk(t[r+8>>2]|0)|0)|0;hm(e,68243)|0;hm(e,a)|0;hm(e,68253)|0;hm(e,a)|0;hm(e,68208)|0;break}default:{}}return}function kC(e){e=e|0;var A=0;A=t[e+16>>2]|0;switch(t[e+64>>2]|0){case 2:{vC(e,t[A+264>>2]|0,t[A+272>>2]|0,t[A+268>>2]|0,t[A+208>>2]|0,t[A+228>>2]|0,t[A+244>>2]|0,t[A+212>>2]|0);break}case 3:{vC(e,t[A+264>>2]|0,t[A+272>>2]|0,t[A+268>>2]|0,t[A+208>>2]|0,t[A+228>>2]|0,t[A+244>>2]|0,t[A+212>>2]|0);hm(e,68212)|0;break}default:{}}return}function dC(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;n=t[e+16>>2]|0;vC(e,t[n+264>>2]|0,t[n+272>>2]|0,t[n+268>>2]|0,A,r,i,a);return}function vC(e,A,r,a,n,f,l,s){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;var o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0.0;y=h;h=h+128|0;B=y+120|0;m=y+112|0;g=y+96|0;v=y+80|0;d=y+56|0;E=y+48|0;k=y+40|0;p=y+24|0;w=y;e:do{if((r|0)!=0&(a|0)!=0){o=a+10|0;if((t[46714]|0)<(a|0)){t[46714]=o;b=Q2(t[46715]|0,o<<3)|0;t[46715]=b}else b=t[46715]|0;o=0;while(1){if((o|0)>=(a|0))break;C=+c[r+(o<<4)>>3];t[b+(o<<3)>>2]=~~(C+(C>=0.0?.5:-.5));C=+c[r+(o<<4)+8>>3];t[b+(o<<3)+4>>2]=~~(C+(C>=0.0?.5:-.5));o=o+1|0}u=e+64|0;o=t[u>>2]|0;r=(n|0)!=0;if(r&(o|0)==0){if(!(i[n>>0]|0))break;switch(A|0){case 0:{p=t[b>>2]|0;E=t[b+12>>2]|0;B=t[b+8>>2]|0;a=t[b+4>>2]|0;t[w>>2]=n;t[w+4>>2]=p;t[w+8>>2]=E;t[w+12>>2]=B;t[w+16>>2]=a;mm(e,67954,w);break e}case 1:{E=t[b>>2]|0;B=t[b+4>>2]|0;a=(t[b+8>>2]|0)-E|0;t[p>>2]=n;t[p+4>>2]=E;t[p+8>>2]=B;t[p+12>>2]=a;mm(e,67975,p);break e}case 2:{t[k>>2]=n;mm(e,67995,k);o=0;while(1){if((o|0)>=(a|0))break;p=t[46715]|0;B=t[p+(o<<3)+4>>2]|0;t[E>>2]=t[p+(o<<3)>>2];t[E+4>>2]=B;mm(e,68003,E);o=o+1|0}hm(e,153599)|0;break e}default:ge(138394,68010,63,68030)}}if(r&(o|0)==1){if(!(i[n>>0]|0))break;if(!A){E=t[b+12>>2]|0;B=t[b+8>>2]|0;a=t[b+4>>2]|0;t[d>>2]=t[b>>2];t[d+4>>2]=E;t[d+8>>2]=B;t[d+12>>2]=a;t[d+16>>2]=n;t[d+20>>2]=f;mm(e,68047,d);break}else ge(138394,68010,75,68030)}if((o&-2|0)==2){switch(A|0){case 1:{hm(e,68080)|0;break}case 0:{hm(e,68101)|0;break}case 2:{hm(e,68120)|0;break}default:ge(138394,68010,91,68030)}if(s|0?i[s>>0]|0:0){hm(e,73600)|0;hm(e,qF(s)|0)|0;hm(e,98744)|0}if(r?i[n>>0]|0:0){hm(e,68139)|0;hm(e,qF(n)|0)|0;hm(e,98744)|0}if(l|0?i[l>>0]|0:0){hm(e,74559)|0;hm(e,TF(l)|0)|0;hm(e,98744)|0}if(f|0?i[f>>0]|0:0){hm(e,68147)|0;hm(e,TF(f)|0)|0;hm(e,98744)|0}hm(e,68156)|0;hm(e,68164)|0;A:do{switch(A|0){case 1:{a=t[46715]|0;E=t[a>>2]|0;B=t[a+4>>2]|0;a=(t[a+8>>2]|0)-E|0;t[v>>2]=E;t[v+4>>2]=B;t[v+8>>2]=a;mm(e,68174,v);break}case 0:{p=t[46715]|0;E=t[p+12>>2]|0;B=t[p+8>>2]|0;a=t[p+4>>2]|0;t[g>>2]=t[p>>2];t[g+4>>2]=E;t[g+8>>2]=B;t[g+12>>2]=a;mm(e,68183,g);break}case 2:{E=t[46715]|0;o=t[E+4>>2]|0;t[m>>2]=t[E>>2];t[m+4>>2]=o;mm(e,68195,m);o=1;while(1){if((o|0)>=(a|0))break A;p=t[46715]|0;E=t[p+(o<<3)+4>>2]|0;t[B>>2]=t[p+(o<<3)>>2];t[B+4>>2]=E;mm(e,68201,B);o=o+1|0}}default:{}}}while(0);if((t[u>>2]|0)==3){hm(e,73424)|0;break}else{hm(e,68208)|0;break}}}}while(0);h=y;return}function gC(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;A=h;h=h+32|0;r=A+24|0;i=A+16|0;n=A;a=t[e+16>>2]|0;hm(e,68623)|0;s=t[t[e+12>>2]>>2]|0;l=t[s+4>>2]|0;f=t[s+8>>2]|0;t[n>>2]=t[s>>2];t[n+4>>2]=l;t[n+8>>2]=f;mm(e,68633,n);t[i>>2]=Mk(t[a+8>>2]|0)|0;mm(e,68668,i);t[r>>2]=P(t[e+168>>2]|0,t[e+164>>2]|0)|0;mm(e,68681,r);hm(e,68694)|0;hm(e,68704)|0;hm(e,68712)|0;hm(e,68720)|0;hm(e,68728)|0;hm(e,68736)|0;hm(e,68744)|0;hm(e,68748)|0;hm(e,68753)|0;h=A;return}function mC(e){e=e|0;hm(e,68604)|0;return}function pC(e){e=e|0;t[46716]=2;return}function EC(e){e=e|0;t[46716]=1;return}function BC(e){e=e|0;t[46716]=2;return}function yC(e){e=e|0;t[46716]=0;return}function CC(e){e=e|0;t[46716]=2;return}function IC(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0;u=h;h=h+80|0;o=u;l=t[(t[e+16>>2]|0)+16>>2]|0;s=t[46716]|0;a=t[r+4>>2]|0;n=+c[e+352>>3]*+c[a+16>>3];f=t[e+360>>2]|0?1.5707963267948966:0.0;a=t[a+8>>2]|0;if(!a)a=-1;else a=t[a+20>>2]|0;k=i[r+48>>0]|0;w=+c[A>>3];b=+c[A+8>>3];r=MC(t[r>>2]|0)|0;t[o>>2]=4;t[o+4>>2]=k<<24>>24==108?0:k<<24>>24==114?2:1;t[o+8>>2]=l;t[o+12>>2]=s;t[o+16>>2]=0;t[o+20>>2]=a;c[o+24>>3]=n;c[o+32>>3]=f;t[o+40>>2]=4;c[o+48>>3]=0.0;c[o+56>>3]=0.0;t[o+64>>2]=~~(w+(w>=0.0?.5:-.5));t[o+68>>2]=~~(b+(b>=0.0?.5:-.5));t[o+72>>2]=r;mm(e,68549,o);h=u;return}function ZC(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;u=h;h=h+32|0;s=u;l=u+20|0;o=A+32|0;e:do{switch(t[o>>2]|0){case 5:{r=0;while(1){a=t[12724+(r<<2)>>2]|0;if((r|0)==8)break e;f=t[A>>2]|0;if((i[a>>0]|0)==(i[f>>0]|0)?(e1(a,f)|0)==0:0){c=10;break e}r=r+1|0}}case 1:{a=A+1|0;f=A+2|0;r=(FC(l,n[A>>0]|0,n[a>>0]|0,n[f>>0]|0)|0)+32|0;if(!(t[l>>2]|0))c=10;else{b=n[A>>0]|0;l=n[a>>0]|0;c=n[f>>0]|0;t[s>>2]=0;t[s+4>>2]=r;t[s+8>>2]=b;t[s+12>>2]=l;t[s+16>>2]=c;mm(e,68492,s);c=10}break}case 0:{r=0;c=10;break}default:ge(138394,68513,168,68532)}}while(0);if((c|0)==10)t[A>>2]=r;t[o>>2]=6;h=u;return}function GC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0,s=0,o=0.0,u=0.0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0;i=h;h=h+112|0;a=i+8|0;m=i+104|0;g=i;s=t[e+16>>2]|0;v=~~+c[s+152>>3];d=t[s+16>>2]|0;k=t[s+56>>2]|0;w=t[46716]|0;WC(s,m,g);u=+c[A>>3];s=~~(u+(u>=0.0?.5:-.5));o=+c[A+8>>3];l=~~(o+(o>=0.0?.5:-.5));f=+c[A+16>>3];u=f-u;n=+c[A+24>>3];o=n-o;A=t[m>>2]|0;b=+c[g>>3];t[a>>2]=1;t[a+4>>2]=1;t[a+8>>2]=A;t[a+12>>2]=v;t[a+16>>2]=d;t[a+20>>2]=k;t[a+24>>2]=w;t[a+28>>2]=0;t[a+32>>2]=r|0?20:-1;c[a+40>>3]=b;t[a+48>>2]=0;c[a+56>>3]=0.0;t[a+64>>2]=s;t[a+68>>2]=l;t[a+72>>2]=~~(u+(u>=0.0?.5:-.5));t[a+76>>2]=~~(o+(o>=0.0?.5:-.5));t[a+80>>2]=s;t[a+84>>2]=l;t[a+88>>2]=~~(f+(f>=0.0?.5:-.5));t[a+92>>2]=~~(n+(n>=0.0?.5:-.5));mm(e,68427,a);h=i;return}function LC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;a=h;h=h+96|0;n=a+8|0;b=a+80|0;w=a;k=t[e+16>>2]|0;u=~~+c[k+152>>3];o=t[k+16>>2]|0;s=t[k+56>>2]|0;l=t[46716]|0;WC(k,b,w);b=t[b>>2]|0;f=+c[w>>3];t[n>>2]=2;t[n+4>>2]=3;t[n+8>>2]=b;t[n+12>>2]=u;t[n+16>>2]=o;t[n+20>>2]=s;t[n+24>>2]=l;t[n+28>>2]=0;t[n+32>>2]=i|0?20:-1;c[n+40>>3]=f;t[n+48>>2]=0;t[n+52>>2]=0;t[n+56>>2]=0;t[n+60>>2]=0;t[n+64>>2]=0;t[n+68>>2]=r+1;mm(e,68331,n);YC(e,A,r,1);h=a;return}function QC(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0.0,Q=0.0,D=0;G=h;h=h+192|0;Z=G+176|0;C=G+168|0;I=G+104|0;y=G+96|0;a=G+88|0;m=G+180|0;p=G+80|0;E=G+16|0;B=G;i=e+16|0;w=t[i>>2]|0;k=~~+c[w+152>>3];d=t[w+16>>2]|0;v=t[46716]|0;g=Z2((r*140|0)+140|0)|0;WC(w,m,p);if(!n){b=4;l=0;s=-1}else{b=5;l=t[(t[i>>2]|0)+56>>2]|0;s=20}Q=+c[A>>3];u=E+48|0;c[u>>3]=Q;L=+c[A+8>>3];c[E+56>>3]=L;t[a>>2]=~~(Q+(Q>=0.0?.5:-.5));t[a+4>>2]=~~(L+(L>=0.0?.5:-.5));o=B+8|0;i=g+(T4(g,81099,a)|0)|0;w=1;n=0;while(1){f=n+3|0;if((f|0)>=(r|0))break;t[E>>2]=t[u>>2];t[E+4>>2]=t[u+4>>2];t[E+8>>2]=t[u+8>>2];t[E+12>>2]=t[u+12>>2];a=1;while(1){if((a|0)==4){a=1;break}D=a+n|0;c[E+(a<<4)>>3]=+c[A+(D<<4)>>3];c[E+(a<<4)+8>>3]=+c[A+(D<<4)+8>>3];a=a+1|0}while(1){if((a|0)==7)break;Zx(B,E,3,+(a|0)*.16666666666666666,0,0);L=+c[B>>3];Q=+c[o>>3];t[y>>2]=~~(L+(L>=0.0?.5:-.5));t[y+4>>2]=~~(Q+(Q>=0.0?.5:-.5));a=a+1|0;i=i+(T4(i,81099,y)|0)|0}w=w+6|0;n=f}a=t[m>>2]|0;Q=+c[p>>3];t[I>>2]=3;t[I+4>>2]=b;t[I+8>>2]=a;t[I+12>>2]=k;t[I+16>>2]=d;t[I+20>>2]=l;t[I+24>>2]=v;t[I+28>>2]=0;t[I+32>>2]=s;c[I+40>>3]=Q;t[I+48>>2]=0;t[I+52>>2]=0;t[I+56>>2]=0;t[I+60>>2]=w;mm(e,68382,I);t[C>>2]=g;mm(e,81106,C);G2(g);a=w+-1|0;i=0;while(1){if((i|0)>=(w|0))break;t[Z>>2]=((i|0)%(a|0)|0|0)!=0&1;mm(e,81111,Z);i=i+1|0}hm(e,153599)|0;h=G;return}function DC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0;i=h;h=h+96|0;a=i+8|0;o=i+80|0;u=i;b=t[e+16>>2]|0;s=~~+c[b+152>>3];l=t[b+16>>2]|0;f=t[46716]|0;WC(b,o,u);o=t[o>>2]|0;n=+c[u>>3];t[a>>2]=2;t[a+4>>2]=1;t[a+8>>2]=o;t[a+12>>2]=s;t[a+16>>2]=l;t[a+20>>2]=0;t[a+24>>2]=f;t[a+28>>2]=0;t[a+32>>2]=0;c[a+40>>3]=n;t[a+48>>2]=0;t[a+52>>2]=0;t[a+56>>2]=0;t[a+60>>2]=0;t[a+64>>2]=0;t[a+68>>2]=r;mm(e,68331,a);YC(e,A,r,0);h=i;return}function zC(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;mm(e,68325,i);h=r;return}function WC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;switch(t[e+144>>2]|0){case 1:{i=10.0;e=1;break}case 2:{i=10.0;e=2;break}default:{i=0.0;e=0}}t[A>>2]=e;c[r>>3]=i;return}function YC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0.0;l=h;h=h+16|0;f=l+8|0;n=l;a=0;while(1){if((a|0)>=(r|0))break;o=+c[A+(a<<4)>>3];s=+c[A+(a<<4)+8>>3];t[n>>2]=~~(o+(o>=0.0?.5:-.5));t[n+4>>2]=~~(s+(s>=0.0?.5:-.5));mm(e,81099,n);a=a+1|0}if(i|0){s=+c[A>>3];o=+c[A+8>>3];t[f>>2]=~~(s+(s>=0.0?.5:-.5));t[f+4>>2]=~~(o+(o>=0.0?.5:-.5));mm(e,81099,f)}hm(e,153599)|0;h=l;return}function FC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;t[e>>2]=0;c=t[46717]|0;f=195075;n=0;l=-1;while(1){if((n|0)>=(c|0)){o=6;break}u=(a[192216+(n<<1)>>1]|0)-A|0;b=(a[192728+(n<<1)>>1]|0)-r|0;s=(a[193240+(n<<1)>>1]|0)-i|0;s=(P(b,b)|0)+(P(u,u)|0)+(P(s,s)|0)|0;if((s|0)<(f|0))if(!s)break;else{f=s;l=n}n=n+1|0}if((o|0)==6){t[46717]=c+1;if((c|0)==256)n=l;else{a[192216+(n<<1)>>1]=A;a[192728+(n<<1)>>1]=r;a[193240+(n<<1)>>1]=i;t[e>>2]=1}}return n|0}function MC(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;A=t[46718]|0;if(!A){t[46719]=64;A=Z2(64)|0;t[46718]=A;r=0}else r=0;while(1){n=e+1|0;a=i[e>>0]|0;if(!(a<<24>>24))break;e=t[46719]|0;if((r|0)>(e+-8|0)){A=e<<1;t[46719]=A;A=Q2(t[46718]|0,A)|0;t[46718]=A;A=A+r|0}if(a<<24>>24<=-1){i[A>>0]=92;t[f>>2]=a&255;T4(A+1|0,81224,f)|0;e=n;A=A+4|0;r=r+4|0;continue}if(a<<24>>24==92){i[A>>0]=92;r=r+1|0;A=A+1|0}i[A>>0]=a;e=n;A=A+1|0;r=r+1|0}i[A>>0]=0;h=l;return t[46718]|0}function VC(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;r=h;h=h+16|0;A=r;hm(e,73332)|0;if((t[e+64>>2]|0)==2)hm(e,73347)|0;else hm(e,153599)|0;n=t[t[e+12>>2]>>2]|0;a=t[n+4>>2]|0;i=t[n+8>>2]|0;t[A>>2]=t[n>>2];t[A+4>>2]=a;t[A+8>>2]=i;mm(e,73358,A);h=r;return}function NC(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;n=h;h=h+32|0;a=n+8|0;i=n;hm(e,73286)|0;r=e+64|0;A=e+12|0;if((t[r>>2]|0)!=2){t[i>>2]=t[(t[A>>2]|0)+28>>2];mm(e,73297,i)}if((t[(t[A>>2]|0)+20>>2]|0)==0?(t[r>>2]|0)!=2:0){A=t[e+476>>2]|0;r=t[e+480>>2]|0;i=t[e+484>>2]|0;t[a>>2]=t[e+472>>2];t[a+4>>2]=A;t[a+8>>2]=r;t[a+12>>2]=i;mm(e,69666,a)}hm(e,73312)|0;hm(e,73325)|0;h=n;return}function RC(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;c=h;h=h+32|0;s=c+24|0;a=c+8|0;l=c;n=t[e+16>>2]|0;i[193768]=0;r=e+12|0;f=n+8|0;if(!(t[(t[r>>2]|0)+28>>2]|0)){t[l>>2]=Mk(t[f>>2]|0)|0;mm(e,69597,l);A=e+64|0;if((t[A>>2]|0)==2)hm(e,69630)|0;else hm(e,69612)|0;do{if(!(t[(t[r>>2]|0)+20>>2]|0))if((t[A>>2]|0)==2){u=t[e+460>>2]|0;o=t[e+464>>2]|0;A=t[e+468>>2]|0;t[a>>2]=t[e+456>>2];t[a+4>>2]=u;t[a+8>>2]=o;t[a+12>>2]=A;mm(e,69666,a);break}else{hm(e,69642)|0;break}}while(0);hm(e,69696)|0;JV(e,t[(t[r>>2]|0)+24>>2]|0,13e3);PV(e);A=t[(t[r>>2]|0)+20>>2]|0;if(A|0){t[l>>2]=t[A>>2];t[l+4>>2]=0;JV(e,0,l)}}t[46720]=(i[(t[(t[f>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(i[193768]|0)){hm(e,69716)|0;i[193768]=1}A=t[n+208>>2]|0;if(A|0){t[s>>2]=XV(A,t[46720]|0)|0;mm(e,69729,s)}h=c;return}function xC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;A=h;h=h+16|0;a=A;t[a>>2]=r;t[a+4>>2]=i;mm(e,69581,a);h=A;return}function JC(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0.0,p=0.0,E=0.0;v=h;h=h+144|0;d=v+128|0;k=v+112|0;w=v+72|0;b=v+56|0;u=v+40|0;o=v+32|0;i=v+24|0;A=v+8|0;r=v;a=t[e+456>>2]|0;l=t[e+460>>2]|0;n=t[e+464>>2]|0;f=t[e+468>>2]|0;s=e+12|0;g=(t[(t[s>>2]|0)+28>>2]|0)+1|0;t[r>>2]=g;t[r+4>>2]=g;mm(e,69208,r);if(!(t[(t[s>>2]|0)+20>>2]|0)){t[A>>2]=a;t[A+4>>2]=l;t[A+8>>2]=n;t[A+12>>2]=f;mm(e,69225,A)}r=e+360|0;t[i>>2]=t[r>>2]|0?69259:69269;mm(e,69278,i);A=e+64|0;if((t[A>>2]|0)==1){t[o>>2]=n;t[o+4>>2]=f;mm(e,69303,o)}o=t[e+200>>2]|0;g=t[e+204>>2]|0;t[u>>2]=t[e+196>>2];t[u+4>>2]=o;t[u+8>>2]=g;mm(e,69342,u);if(!(t[(t[s>>2]|0)+20>>2]|0)){t[b>>2]=a;t[b+4>>2]=l;t[b+8>>2]=n-a;t[b+12>>2]=f-l;mm(e,69362,b)}E=+c[e+496>>3];g=t[r>>2]|0;p=+c[e+504>>3];m=+c[e+512>>3];c[w>>3]=+c[e+488>>3];c[w+8>>3]=E;t[w+16>>2]=g;c[w+24>>3]=p;c[w+32>>3]=m;mm(e,69402,w);if((t[A>>2]|0)==1){if((n|0)>14399|(f|0)>14399){g=t[(t[s>>2]|0)+16>>2]|0;t[k>>2]=n;t[k+4>>2]=f;t[k+8>>2]=14400;M5[g&63](69445,k)}t[d>>2]=a;t[d+4>>2]=l;t[d+8>>2]=n;t[d+12>>2]=f;mm(e,69540,d)}h=v;return}function HC(e){e=e|0;var A=0,r=0,i=0;i=h;h=h+16|0;r=i;A=e+12|0;if(t[(t[A>>2]|0)+20>>2]|0){hm(e,69132)|0;JV(e,0,(t[(t[A>>2]|0)+20>>2]|0)+4|0)}hm(e,69149)|0;hm(e,69176)|0;t[r>>2]=t[(t[A>>2]|0)+28>>2];mm(e,69191,r);h=i;return}function PC(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;t[r>>2]=Mk(t[(t[e+16>>2]|0)+8>>2]|0)|0;mm(e,69125,r);hm(e,69118)|0;h=A;return}function XC(e){e=e|0;hm(e,84552)|0;return}function SC(e){e=e|0;hm(e,69118)|0;return}function jC(e){e=e|0;hm(e,84552)|0;return}function UC(e){e=e|0;hm(e,69118)|0;return}function TC(e){e=e|0;hm(e,84552)|0;return}function OC(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;i=h;h=h+16|0;r=i;if(A|0?(n=(t[e+16>>2]|0)+272|0,t[n>>2]|0):0){hm(e,69014)|0;ym(e,t[n>>2]|0,2);hm(e,69025)|0;t[r>>2]=XV(A,t[46720]|0)|0;mm(e,69029,r)}h=i;return}function _C(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0,l=0,s=0,o=0,u=0;o=h;h=h+32|0;l=o+8|0;s=o;a=t[e+16>>2]|0;if(!(+c[a+40>>3]<.5)){iI(e,a+16|0);f=r+4|0;pm(e,+c[(t[f>>2]|0)+16>>3]);t[l>>2]=t[t[f>>2]>>2];mm(e,68973,l);f=XV(t[r>>2]|0,t[46720]|0)|0;switch(i[r+48>>0]|0){case 114:{u=r+32|0;a=u;n=+c[u>>3];break}case 108:{a=r+32|0;n=0.0;break}default:{u=r+32|0;a=u;n=+c[u>>3]*.5}}c[A>>3]=+c[A>>3]-n;u=A+8|0;c[u>>3]=+c[u>>3]+ +c[r+24>>3];t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];Bm(e,l);hm(e,68988)|0;pm(e,+c[a>>3]);t[s>>2]=f;mm(e,68997,s)}h=o;return}function qC(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=h;h=h+32|0;a=n;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];c[a+16>>3]=+c[A+16>>3]-+c[A>>3];c[a+24>>3]=+c[A+24>>3]-+c[A+8>>3];A=e+16|0;if(r|0?(i=t[A>>2]|0,+c[i+80>>3]>.5):0){iI(e,i+56|0);ym(e,a,2);hm(e,68931)|0}if(+c[(t[A>>2]|0)+40>>3]>.5){aI(e);iI(e,(t[A>>2]|0)+16|0);ym(e,a,2);hm(e,68951)|0}h=n;return}function KC(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;n=e+16|0;if(i|0?(a=t[n>>2]|0,+c[a+80>>3]>.5):0){iI(e,a+56|0);hm(e,68852)|0;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];Bm(e,f);hm(e,68861)|0;i=1;while(1){if((i|0)>=(r|0))break;a=A+(i<<4)|0;t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];Bm(e,f);hm(e,68870)|0;i=i+1|0}hm(e,68897)|0}if(+c[(t[n>>2]|0)+40>>3]>.5){aI(e);iI(e,(t[n>>2]|0)+16|0);hm(e,68852)|0;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];Bm(e,f);hm(e,68861)|0;i=1;while(1){if((i|0)>=(r|0))break;n=A+(i<<4)|0;t[f>>2]=t[n>>2];t[f+4>>2]=t[n+4>>2];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];Bm(e,f);hm(e,68870)|0;i=i+1|0}hm(e,68913)|0}h=l;return}function $C(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0;s=h;h=h+16|0;a=s;f=e+16|0;if(n|0?(l=t[f>>2]|0,+c[l+80>>3]>.5):0){iI(e,l+56|0);hm(e,68852)|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];Bm(e,a);hm(e,68861)|0;i=1;while(1){if((i|0)>=(r|0))break;ym(e,A+(i<<4)|0,3);hm(e,68887)|0;i=i+3|0}hm(e,68897)|0}if(+c[(t[f>>2]|0)+40>>3]>.5){aI(e);iI(e,(t[f>>2]|0)+16|0);hm(e,68852)|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];Bm(e,a);hm(e,68861)|0;i=1;while(1){if((i|0)>=(r|0))break;ym(e,A+(i<<4)|0,3);hm(e,68887)|0;i=i+3|0}hm(e,68879)|0}h=s;return}function eI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=h;h=h+16|0;a=n;i=e+16|0;if(+c[(t[i>>2]|0)+40>>3]>.5){aI(e);iI(e,(t[i>>2]|0)+16|0);hm(e,68852)|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];Bm(e,a);hm(e,68861)|0;i=1;while(1){if((i|0)>=(r|0))break;f=A+(i<<4)|0;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2];Bm(e,a);hm(e,68870)|0;i=i+1|0}hm(e,68879)|0}h=n;return}function AI(e,A){e=e|0;A=A|0;hm(e,68849)|0;hm(e,A)|0;hm(e,153599)|0;return}function rI(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+32|0;n=u+16|0;o=u+8|0;s=u;f=e+16|0;if(a|0?(l=t[f>>2]|0,+c[l+80>>3]>.5):0){iI(e,l+56|0);hm(e,84447)|0;ym(e,r,i);hm(e,102604)|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];Bm(e,n);t[s>>2]=i;t[s+4>>2]=A;mm(e,68766,s)}if(+c[(t[f>>2]|0)+40>>3]>.5){aI(e);iI(e,(t[f>>2]|0)+16|0);hm(e,84447)|0;ym(e,r,i);hm(e,102604)|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];Bm(e,n);t[o>>2]=i;t[o+4>>2]=A;mm(e,68782,o)}h=u;return}function iI(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0.0;a=h;h=h+32|0;i=a;if(A|0){switch(t[(t[e+16>>2]|0)+4>>2]|0){case 1:case 0:{r=111494;break}case 2:{r=111481;break}case 3:{r=111450;break}default:r=68818}f=+c[A+8>>3];n=+c[A+16>>3];c[i>>3]=+c[A>>3];c[i+8>>3]=f;c[i+16>>3]=n;t[i+24>>2]=r;mm(e,68825,i)}h=a;return}function aI(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+16|0;s=o+8|0;l=o;n=e+16|0;f=t[n>>2]|0;A=t[f+160>>2]|0;pm(e,+c[f+152>>3]);hm(e,68799)|0;while(1){if(!A)break;f=A+4|0;a=t[A>>2]|0;if(!a)break;if(!(e1(a,111088)|0)){A=f;continue}else r=a;while(1){A=r+1|0;if(!(i[r>>0]|0))break;else r=A}e:while(1){if(!(i[A>>0]|0))break;t[l>>2]=A;mm(e,68814,l);while(1){r=A+1|0;if(!(i[A>>0]|0)){A=r;continue e}else A=r}}if(!(e1(a,134335)|0))c[(t[n>>2]|0)+152>>3]=0.0;t[s>>2]=a;mm(e,96670,s);A=f}h=o;return}function tI(e){e=e|0;var A=0;hm(e,74838)|0;A=Hw(t[(t[e>>2]|0)+168>>2]|0,74894)|0;if(A|0?i[A>>0]|0:0){hm(e,74905)|0;hm(e,A)|0;hm(e,74929)|0}hm(e,74950)|0;hm(e,74998)|0;hm(e,75052)|0;A=e+12|0;hm(e,TF(t[t[t[A>>2]>>2]>>2]|0)|0)|0;hm(e,78181)|0;hm(e,TF(t[(t[t[A>>2]>>2]|0)+4>>2]|0)|0)|0;hm(e,78191)|0;hm(e,TF(t[(t[t[A>>2]>>2]|0)+8>>2]|0)|0)|0;hm(e,75434)|0;hm(e,75458)|0;return}function nI(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0.0,s=0.0,o=0.0;f=h;h=h+48|0;n=f+16|0;a=f+8|0;r=f;A=t[e+16>>2]|0;hm(e,74673)|0;A=A+8|0;if(i[(Mk(t[A>>2]|0)|0)>>0]|0){hm(e,75397)|0;hm(e,TF(Mk(t[A>>2]|0)|0)|0)|0}t[r>>2]=P(t[e+168>>2]|0,t[e+164>>2]|0)|0;mm(e,74678,r);r=t[e+452>>2]|0;t[a>>2]=t[e+448>>2];t[a+4>>2]=r;mm(e,74694,a);o=+c[e+392>>3];s=+c[e+400>>3];l=+c[e+408>>3];c[n>>3]=+c[e+384>>3];c[n+8>>3]=o;c[n+16>>3]=s;c[n+24>>3]=l;mm(e,74727,n);hm(e,74758)|0;hm(e,74794)|0;hm(e,76388)|0;h=f;return}function fI(e){e=e|0;hm(e,74665)|0;return}function lI(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;DI(e,A,0,101510,t[(t[e+16>>2]|0)+8>>2]|0);hm(e,76388)|0;return}function sI(e){e=e|0;hm(e,74513)|0;return}function cI(e){e=e|0;var A=0,r=0,a=0,n=0;r=h;h=h+16|0;a=r;n=t[e+16>>2]|0;A=n+8|0;DI(e,t[n+212>>2]|0,0,111494,t[A>>2]|0);hm(e,74617)|0;pm(e,+c[e+488>>3]);hm(e,102604)|0;pm(e,+c[e+496>>3]);t[a>>2]=0-(t[e+360>>2]|0);mm(e,74636,a);pm(e,+c[e+504>>3]);hm(e,102604)|0;pm(e,-+c[e+512>>3]);hm(e,74660)|0;if(i[(Mk(t[A>>2]|0)|0)>>0]|0){hm(e,74569)|0;hm(e,TF(Mk(t[A>>2]|0)|0)|0)|0;hm(e,74577)|0}h=r;return}function oI(e){e=e|0;hm(e,74513)|0;return}function uI(e){e=e|0;var A=0,r=0;r=t[e+16>>2]|0;A=r+8|0;DI(e,t[r+212>>2]|0,0,108006,t[A>>2]|0);hm(e,76388)|0;hm(e,74569)|0;hm(e,TF(Mk(t[A>>2]|0)|0)|0)|0;hm(e,74577)|0;return}function bI(e){e=e|0;hm(e,74513)|0;return}function hI(e){e=e|0;var A=0,r=0,i=0;r=t[e+16>>2]|0;A=t[e+160>>2]|0;if((A|0)>1)A=t[(t[(t[e>>2]|0)+308>>2]|0)+(A<<2)>>2]|0;else A=0;i=r+8|0;DI(e,t[r+212>>2]|0,A,111481,t[i>>2]|0);hm(e,76388)|0;hm(e,74569)|0;hm(e,TF(Mk(t[i>>2]|0)|0)|0)|0;hm(e,74577)|0;return}function wI(e){e=e|0;hm(e,74513)|0;return}function kI(e){e=e|0;var A=0,r=0;r=t[e+16>>2]|0;A=r+8|0;DI(e,t[r+212>>2]|0,0,111450,t[A>>2]|0);hm(e,76388)|0;hm(e,74569)|0;A=UF(102095,t[A>>2]|0)|0;hm(e,TF(A)|0)|0;G2(A);hm(e,74577)|0;return}function dI(e){e=e|0;hm(e,74513)|0;return}function vI(e,A,r,a,t){e=e|0;A=A|0;r=r|0;a=a|0;t=t|0;hm(e,74519)|0;if(t|0){hm(e,74522)|0;hm(e,TF(t)|0)|0;hm(e,98744)|0}hm(e,74412)|0;hm(e,76349)|0;if(A|0?i[A>>0]|0:0){hm(e,74530)|0;hm(e,A)|0;hm(e,98744)|0}if(r|0?i[r>>0]|0:0){hm(e,74544)|0;hm(e,OF(r,1)|0)|0;hm(e,98744)|0}if(a|0?i[a>>0]|0:0){hm(e,74559)|0;hm(e,TF(a)|0)|0;hm(e,98744)|0}hm(e,76388)|0;return}function gI(e){e=e|0;hm(e,76343)|0;hm(e,74513)|0;return}function mI(e,A,r){e=e|0;A=A|0;r=r|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0.0,W=0,Y=0,F=0,M=0,V=0,N=0;N=h;h=h+176|0;V=N+160|0;M=N+152|0;D=N+136|0;F=N+128|0;Q=N+120|0;L=N+112|0;G=N+104|0;Z=N+96|0;I=N+88|0;y=N+80|0;E=N+72|0;p=N+64|0;m=N+56|0;g=N+48|0;f=N+40|0;k=N+32|0;v=N+24|0;d=N+16|0;w=N+8|0;b=N;Y=t[e+16>>2]|0;hm(e,74044)|0;switch(i[r+48>>0]|0){case 108:{hm(e,74050)|0;break}case 114:{hm(e,74071)|0;break}default:hm(e,74090)|0}W=A+8|0;z=+c[W>>3]+ +c[r+24>>3];c[W>>3]=z;W=Y+260|0;if(!(a[W>>1]&512)){hm(e,74112)|0;pm(e,+c[A>>3]);hm(e,74117)|0;pm(e,-z);hm(e,98744)|0}B=r+4|0;A=t[B>>2]|0;u=t[A+8>>2]|0;if(u){switch(t[(t[(t[(t[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{o=u;A=u+16|0;f=u+8|0;break}case 2:{o=u+24|0;A=u+32|0;f=u+28|0;break}default:{o=u+4|0;A=u+16|0;f=u+8|0}}l=t[A>>2]|0;A=t[f>>2]|0;s=t[u+12>>2]|0;t[b>>2]=t[o>>2];mm(e,74123,b);f=t[u+24>>2]|0;if(f|0){t[w>>2]=f;mm(e,74140,w)}hm(e,98744)|0;if(A|0){t[d>>2]=A;mm(e,74144,d)}if(s|0){t[v>>2]=s;mm(e,74162,v)}if(!l)l=0;else{t[k>>2]=l;mm(e,74181,k)}}else{t[f>>2]=t[A>>2];mm(e,74198,f);l=0;A=0}f=t[B>>2]|0;if(f|0?(C=t[f+24>>2]|0,C&127|0):0){if(!((A|0)!=0|(C&1|0)==0))mm(e,74216,g);if(!((l|0)!=0|(C&2|0)==0))mm(e,74236,m);if(C&100|0){mm(e,74257,p);if(!(C&4))A=0;else{mm(e,105986,E);A=1}if(C&64){t[y>>2]=A|0?100999:195059;mm(e,74276,y);A=1}if(C&32|0){t[I>>2]=A|0?100999:195059;mm(e,74287,I)}mm(e,98744,Z)}if(C&8|0)mm(e,74302,G);if(C&16|0)mm(e,74326,L)}c[Q>>3]=+c[(t[B>>2]|0)+16>>3];mm(e,74348,Q);A=Y+16|0;switch(t[Y+48>>2]|0){case 5:{A=t[A>>2]|0;if(N1(A,137314)|0){t[F>>2]=A;mm(e,74366,F)}break}case 1:{Q=n[A+1>>0]|0;F=n[A+2>>0]|0;t[D>>2]=n[A>>0];t[D+4>>2]=Q;t[D+8>>2]=F;mm(e,74377,D);break}default:ge(138394,73558,486,74399)}hm(e,74412)|0;if(a[W>>1]&512){t[M>>2]=TF(t[Y+212>>2]|0)|0;mm(e,74414,M);hm(e,74463)|0;pm(e,-z);hm(e,74481)|0}hm(e,OF(t[r>>2]|0,1)|0)|0;if(a[W>>1]&512)mm(e,74484,V);hm(e,74504)|0;h=N;return}function pI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;switch(r|0){case 2:{i=GI(e,A,2)|0;break}case 3:{i=LI(e)|0;break}default:i=0}hm(e,74008)|0;II(e,r,i);hm(e,74017)|0;pm(e,+c[A>>3]);hm(e,74023)|0;r=A+8|0;pm(e,-+c[r>>3]);hm(e,74030)|0;pm(e,+c[A+16>>3]-+c[A>>3]);hm(e,74037)|0;pm(e,+c[A+24>>3]-+c[r>>3]);hm(e,73424)|0;return}function EI(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;switch(i|0){case 2:{a=GI(e,A,r)|0;break}case 3:{a=LI(e)|0;break}default:a=0}hm(e,73999)|0;II(e,i,a);hm(e,73414)|0;a=0;while(1){if((a|0)>=(r|0))break;pm(e,+c[A+(a<<4)>>3]);hm(e,100999)|0;pm(e,-+c[A+(a<<4)+8>>3]);hm(e,102604)|0;a=a+1|0}pm(e,+c[A>>3]);hm(e,100999)|0;pm(e,-+c[A+8>>3]);hm(e,73424)|0;return}function BI(e,A,r,i,n,f){e=e|0;A=A|0;r=r|0;i=i|0;n=n|0;f=f|0;n=t[e+16>>2]|0;switch(f|0){case 2:{i=GI(e,A,r)|0;break}case 3:{i=LI(e)|0;break}default:i=0}hm(e,73594)|0;if(a[n+260>>1]&512){hm(e,73600)|0;hm(e,TF(t[n+212>>2]|0)|0)|0;hm(e,73606)|0}II(e,f,i);hm(e,73611)|0;QI(e,A,r);hm(e,73424)|0;return}function yI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;hm(e,73404)|0;II(e,0,0);hm(e,73414)|0;i=0;while(1){if((i|0)>=(r|0))break;pm(e,+c[A+(i<<4)>>3]);hm(e,100999)|0;pm(e,-+c[A+(i<<4)+8>>3]);hm(e,102604)|0;i=i+1|0}hm(e,73424)|0;return}function CI(e,A){e=e|0;A=A|0;hm(e,73398)|0;hm(e,TF(A)|0)|0;hm(e,75458)|0;return}function II(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+96|0;s=k+48|0;w=k+40|0;u=k+32|0;b=k+24|0;l=k+16|0;n=k+8|0;a=k;o=t[e+16>>2]|0;hm(e,73429)|0;e:do{switch(A|0){case 2:{t[a>>2]=r;mm(e,73437,a);break}case 3:{t[n>>2]=r;mm(e,73448,n);break}case 0:{hm(e,135709)|0;break}default:{A=o+56|0;a=s;n=A;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));ZI(e,s);if((t[o+88>>2]|0)==1){A=i[A+3>>0]|0;switch(A<<24>>24){case-1:case 0:break e;default:{}}c[l>>3]=+(A&255)*.00392156862745098;mm(e,73459,l)}}}}while(0);hm(e,73478)|0;r=o+16|0;a=s;n=r;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));ZI(e,s);A=o+152|0;if(+c[A>>3]!=1.0){hm(e,73489)|0;pm(e,+c[A>>3])}switch(t[o+144>>2]|0){case 1:{t[b>>2]=73529;mm(e,73506,b);break}case 2:{t[u>>2]=73533;mm(e,73506,u);break}default:{}}e:do{if((t[o+48>>2]|0)==1){A=i[r+3>>0]|0;switch(A<<24>>24){case-1:case 0:break e;default:{}}c[w>>3]=+(A&255)*.00392156862745098;mm(e,73537,w)}}while(0);hm(e,98744)|0;h=k;return}function ZI(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0;a=h;h=h+16|0;r=a;e:do{switch(t[A+32>>2]|0){case 5:{hm(e,t[A>>2]|0)|0;break}case 1:if(!(i[A+3>>0]|0)){hm(e,137379)|0;break e}else{l=n[A+1>>0]|0;f=n[A+2>>0]|0;t[r>>2]=n[A>>0];t[r+4>>2]=l;t[r+8>>2]=f;mm(e,75714,r);break e}default:ge(138394,73558,117,73578)}}while(0);h=a;return}function GI(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+112|0;b=g+64|0;d=g+56|0;u=g+48|0;o=g+40|0;n=g+32|0;l=g;k=t[46722]|0;t[46722]=k+1;w=t[e+16>>2]|0;a=+(t[w+136>>2]|0)*.017453292519943295;t[l>>2]=0;t[l+4>>2]=0;t[l+8>>2]=0;t[l+12>>2]=0;t[l+16>>2]=0;t[l+20>>2]=0;t[l+24>>2]=0;t[l+28>>2]=0;zJ(A,l,r,a,0);t[b>>2]=k;mm(e,73831,b);hm(e,73896)|0;pm(e,+c[l>>3]);hm(e,73901)|0;pm(e,+c[l+8>>3]);hm(e,73908)|0;pm(e,+c[l+16>>3]);hm(e,73915)|0;pm(e,+c[l+24>>3]);hm(e,73922)|0;l=w+140|0;a=+s[l>>2];if(a>0.0){c[n>>3]=a+-.001;mm(e,73927,n)}else hm(e,73703)|0;A=w+56|0;r=b;n=A;f=r+40|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(f|0));ZI(e,b);hm(e,73739)|0;e:do{if((t[w+88>>2]|0)==1){A=i[A+3>>0]|0;switch(A<<24>>24){case-1:case 0:{v=7;break e}default:{}}c[o>>3]=+(A&255)*.00392156862745098;mm(e,99612,o)}else v=7}while(0);if((v|0)==7)hm(e,73754)|0;hm(e,73757)|0;a=+s[l>>2];if(a>0.0){c[u>>3]=a;mm(e,73927,u)}else hm(e,73763)|0;A=w+96|0;r=b;n=A;f=r+40|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(f|0));ZI(e,b);hm(e,73739)|0;e:do{if((t[w+128>>2]|0)==1){A=i[A+3>>0]|0;switch(A<<24>>24){case-1:case 0:{v=14;break e}default:{}}c[d>>3]=+(A&255)*.00392156862745098;mm(e,99612,d)}else v=14}while(0);if((v|0)==14)hm(e,73754)|0;hm(e,73967)|0;h=g;return k|0}function LI(e){e=e|0;var A=0,r=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+64|0;s=k+16|0;b=k+8|0;l=k;u=t[46721]|0;t[46721]=u+1;o=t[e+16>>2]|0;d=+(t[o+136>>2]|0)*.017453292519943295;r=d;if(d==0.0){a=50;A=50}else{a=~~((+W(+r)+1.0)*50.0);A=~~((1.0-+Y(+r))*50.0)}t[s>>2]=u;t[s+4>>2]=a;t[s+8>>2]=A;mm(e,73619,s);hm(e,73703)|0;A=o+56|0;a=s;n=A;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));ZI(e,s);hm(e,73739)|0;e:do{if((t[o+88>>2]|0)==1){A=i[A+3>>0]|0;switch(A<<24>>24){case-1:case 0:{w=6;break e}default:{}}c[l>>3]=+(A&255)*.00392156862745098;mm(e,99612,l)}else w=6}while(0);if((w|0)==6)hm(e,73754)|0;hm(e,73757)|0;hm(e,73763)|0;A=o+96|0;a=s;n=A;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));ZI(e,s);hm(e,73739)|0;e:do{if((t[o+128>>2]|0)==1){A=i[A+3>>0]|0;switch(A<<24>>24){case-1:case 0:{w=10;break e}default:{}}c[b>>3]=+(A&255)*.00392156862745098;mm(e,99612,b)}else w=10}while(0);if((w|0)==10)hm(e,73754)|0;hm(e,73799)|0;h=k;return u|0}function QI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;i=77;a=0;while(1){if((a|0)>=(r|0))break;t[n>>2]=i;mm(e,73616,n);pm(e,+c[A+(a<<4)>>3]);hm(e,100999)|0;pm(e,-+c[A+(a<<4)+8>>3]);i=(a|0)==0?67:32;a=a+1|0}h=f;return}function DI(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0;s=h;h=h+16|0;l=s+8|0;f=s;hm(e,74587)|0;hm(e,TF(A)|0)|0;if(r|0){t[f>>2]=TF(r)|0;mm(e,74595,f)}t[l>>2]=a;mm(e,74599,l);A=Hw(n,74611)|0;if(A|0?i[A>>0]|0:0){hm(e,102604)|0;hm(e,TF(A)|0)|0}hm(e,98744)|0;h=s;return}function zI(e){e=e|0;var A=0;hm(e,75418)|0;A=e+12|0;hm(e,HI(t[t[t[A>>2]>>2]>>2]|0)|0)|0;hm(e,78181)|0;hm(e,HI(t[(t[t[A>>2]>>2]|0)+4>>2]|0)|0)|0;hm(e,78191)|0;hm(e,HI(t[(t[t[A>>2]>>2]|0)+8>>2]|0)|0)|0;hm(e,75434)|0;return}function WI(e){e=e|0;var A=0,r=0,a=0;a=h;h=h+16|0;r=a;A=t[e+16>>2]|0;hm(e,75395)|0;A=A+8|0;if(i[(Mk(t[A>>2]|0)|0)>>0]|0){hm(e,75397)|0;hm(e,HI(Mk(t[A>>2]|0)|0)|0)|0}t[r>>2]=P(t[e+168>>2]|0,t[e+164>>2]|0)|0;mm(e,75406,r);t[46723]=0;h=a;return}function YI(e){e=e|0;t[46723]=1;return}function FI(e){e=e|0;t[46723]=-1;return}function MI(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+48|0;f=u+8|0;o=u;a=t[e+16>>2]|0;if(t[a+144>>2]|0?(s=r+4|0,l=~~(+c[e+352>>3]*+c[(t[s>>2]|0)+16>>3]),l|0):0){PI(e);hm(e,75334)|0;n=A+8|0;c[n>>3]=+c[n>>3]-+(l|0)*.55;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];Bm(e,f);hm(e,75348)|0;hm(e,t[r>>2]|0)|0;hm(e,75357)|0;hm(e,75155)|0;n=f;A=a+16|0;a=n+40|0;do{t[n>>2]=t[A>>2];n=n+4|0;A=A+4|0}while((n|0)<(a|0));XI(e,f);hm(e,75359)|0;f=t[s>>2]|0;s=t[f+8>>2]|0;s=t[((s|0)==0?f:s+4|0)>>2]|0;hm(e,98744)|0;hm(e,s)|0;hm(e,98744)|0;t[o>>2]=l;mm(e,75368,o);switch(i[r+48>>0]|0){case 108:{hm(e,75373)|0;break}case 114:{hm(e,75384)|0;break}default:{}}SI(e);hm(e,153599)|0}h=u;return}function VI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0.0,o=0.0,u=0.0;l=h;h=h+48|0;a=l;n=t[e+16>>2]|0;f=n+144|0;if(t[f>>2]|0){u=+c[A>>3];o=+c[A+24>>3];i=A+8|0;s=+c[i>>3];c[A>>3]=u-+c[A+16>>3]+u;c[i>>3]=s-o+s;PI(e);hm(e,75320)|0;ym(e,A,2);hm(e,75155)|0;do{if(!r)if(!(t[46723]|0)){hm(e,97309)|0;break}else{hm(e,137198)|0;break}else{A=a;r=n+56|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));XI(e,a)}}while(0);if((t[46723]|0)==1)t[46723]=0;hm(e,75266)|0;pm(e,+c[n+152>>3]);hm(e,75309)|0;A=a;r=n+16|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));XI(e,a);A=t[f>>2]|0;if((A|0)==1){hm(e,75163)|0;A=t[f>>2]|0}if((A|0)==2)hm(e,75172)|0;SI(e);hm(e,153599)|0}h=l;return}function NI(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;l=h;h=h+48|0;a=l;n=t[e+16>>2]|0;f=n+144|0;if(t[f>>2]|0){PI(e);hm(e,75292)|0;ym(e,A,r);hm(e,75155)|0;do{if(!i)if(!(t[46723]|0)){hm(e,97309)|0;break}else{hm(e,137198)|0;break}else{A=a;r=n+56|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));XI(e,a)}}while(0);if((t[46723]|0)==1)t[46723]=0;hm(e,75266)|0;pm(e,+c[n+152>>3]);hm(e,75309)|0;A=a;r=n+16|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));XI(e,a);A=t[f>>2]|0;if((A|0)==1){hm(e,75163)|0;A=t[f>>2]|0}if((A|0)==2)hm(e,75172)|0;SI(e);hm(e,153599)|0}h=l;return}function RI(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0;o=h;h=h+48|0;f=o;l=t[e+16>>2]|0;s=l+144|0;if(t[s>>2]|0){PI(e);hm(e,75141)|0;ym(e,A,r);hm(e,75155)|0;i=f;a=l+16|0;n=i+40|0;do{t[i>>2]=t[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(n|0));XI(e,f);hm(e,75266)|0;pm(e,+c[l+152>>3]);i=t[s>>2]|0;if((i|0)==1){hm(e,75163)|0;i=t[s>>2]|0}if((i|0)==2)hm(e,75172)|0;hm(e,75275)|0;SI(e);hm(e,153599)|0}h=o;return}function xI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+48|0;n=l;i=t[e+16>>2]|0;f=i+144|0;if(t[f>>2]|0){PI(e);hm(e,75141)|0;ym(e,A,r);hm(e,75155)|0;a=n;A=i+16|0;r=a+40|0;do{t[a>>2]=t[A>>2];a=a+4|0;A=A+4|0}while((a|0)<(r|0));XI(e,n);A=t[f>>2]|0;if((A|0)==1){hm(e,75163)|0;A=t[f>>2]|0}if((A|0)==2)hm(e,75172)|0;SI(e);hm(e,153599)|0}h=l;return}function JI(e,A){e=e|0;A=A|0;hm(e,75138)|0;hm(e,HI(A)|0)|0;hm(e,153599)|0;return}function HI(e){e=e|0;return e|0}function PI(e){e=e|0;if(!(i[e+144>>0]|0))hm(e,75263)|0;else hm(e,t[e+148>>2]|0)|0;return}function XI(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0;a=h;h=h+16|0;r=a;e:do{switch(t[A+32>>2]|0){case 5:{hm(e,t[A>>2]|0)|0;break}case 1:if(!(i[A+3>>0]|0)){hm(e,97309)|0;break e}else{l=n[A+1>>0]|0;f=n[A+2>>0]|0;t[r>>2]=n[A>>0];t[r+4>>2]=l;t[r+8>>2]=f;mm(e,75714,r);break e}default:ge(138394,75181,49,75245)}}while(0);h=a;return}function SI(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;a=t[e+16>>2]|0;switch(t[a+12>>2]|0){case 8:{A=1;r=111481;i=a+8|0;break}case 10:{A=0;r=111481;i=a+8|0;break}case 3:case 2:case 9:{A=1;r=111450;i=a+8|0;break}case 7:case 6:case 11:{A=0;r=111450;i=a+8|0;break}case 0:{A=1;r=111494;i=a+8|0;break}case 4:{A=0;r=75217;i=a+8|0;break}case 1:{A=1;r=111494;i=a+8|0;break}case 5:{A=0;r=111494;i=a+8|0;break}default:ge(138394,75181,106,75200)}a=t[(t[i>>2]|0)+8>>2]|0;t[n>>2]=A;t[n+4>>2]=r;t[n+8>>2]=a;mm(e,75229,n);h=f;return}function jI(e){e=e|0;var A=0;hm(e,78153)|0;hm(e,78161)|0;A=e+12|0;hm(e,iZ(t[t[t[A>>2]>>2]>>2]|0)|0)|0;hm(e,78181)|0;hm(e,iZ(t[(t[t[A>>2]>>2]|0)+4>>2]|0)|0)|0;hm(e,78191)|0;hm(e,iZ(t[(t[t[A>>2]>>2]|0)+8>>2]|0)|0)|0;hm(e,78194)|0;return}function UI(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+32|0;f=l+24|0;n=l+16|0;a=l+8|0;r=l;A=t[e+16>>2]|0;t[46727]=~~(+c[e+232>>3]-+c[e+216>>3]);t[46726]=~~(+c[e+224>>3]-+c[e+208>>3]);hm(e,76840)|0;hm(e,76847)|0;A=Mk(t[A+8>>2]|0)|0;if(i[A>>0]|0){hm(e,76916)|0;hm(e,iZ(A)|0)|0;hm(e,76924)|0}t[r>>2]=P(t[e+168>>2]|0,t[e+164>>2]|0)|0;mm(e,76933,r);hm(e,76953)|0;hm(e,76988)|0;hm(e,77016)|0;hm(e,77022)|0;hm(e,77065)|0;hm(e,77106)|0;hm(e,77125)|0;hm(e,77142)|0;hm(e,77190)|0;hm(e,77243)|0;hm(e,77319)|0;hm(e,77395)|0;hm(e,77404)|0;hm(e,77427)|0;hm(e,77454)|0;hm(e,77507)|0;hm(e,77529)|0;hm(e,77574)|0;hm(e,77586)|0;hm(e,77596)|0;hm(e,77622)|0;hm(e,77507)|0;hm(e,77674)|0;hm(e,77574)|0;hm(e,77586)|0;hm(e,77718)|0;hm(e,77427)|0;hm(e,77454)|0;hm(e,77507)|0;hm(e,77674)|0;hm(e,77574)|0;hm(e,77586)|0;hm(e,77596)|0;hm(e,77622)|0;hm(e,77507)|0;hm(e,77529)|0;hm(e,77574)|0;hm(e,77586)|0;hm(e,77731)|0;hm(e,77739)|0;hm(e,77745)|0;hm(e,77759)|0;hm(e,77767)|0;hm(e,77800)|0;r=(t[46727]|0)+10|0;t[a>>2]=t[46726];t[a+4>>2]=r;mm(e,77877,a);hm(e,77907)|0;hm(e,77916)|0;hm(e,77974)|0;hm(e,77984)|0;hm(e,78049)|0;a=t[46727]|0;t[n>>2]=t[46726];t[n+4>>2]=a;mm(e,78086,n);n=t[46727]|0;t[f>>2]=t[46726];t[f+4>>2]=n;mm(e,78114,f);h=l;return}function TI(e){e=e|0;hm(e,76391)|0;hm(e,76403)|0;hm(e,76411)|0;hm(e,76474)|0;hm(e,76403)|0;hm(e,76519)|0;hm(e,76568)|0;hm(e,76622)|0;hm(e,76403)|0;hm(e,76722)|0;hm(e,76771)|0;hm(e,76403)|0;hm(e,76823)|0;return}function OI(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0;s=h;h=h+32|0;l=s+16|0;f=s+8|0;n=s;hm(e,76349)|0;if(A|0?i[A>>0]|0:0){t[n>>2]=iZ(A)|0;mm(e,76352,n)}if(r|0?i[r>>0]|0:0){t[f>>2]=iZ(r)|0;mm(e,76363,f)}if(a|0?i[a>>0]|0:0){t[l>>2]=iZ(a)|0;mm(e,76375,l)}hm(e,76388)|0;h=s;return}function _I(e){e=e|0;hm(e,76343)|0;return}function qI(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0.0,l=0.0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0.0;I=h;h=h+112|0;y=I+96|0;C=I+88|0;E=I+80|0;k=I+72|0;p=I+64|0;g=I+56|0;v=I+48|0;d=I+40|0;w=I+24|0;b=I+8|0;u=I;B=t[e+16>>2]|0;switch(i[r+48>>0]|0){case 108:{l=+c[A>>3];o=+c[r+32>>3];break}case 114:{o=+c[r+32>>3];l=+c[A>>3]-o;break}default:{o=+c[r+32>>3];l=+c[A>>3]-o*.5}}a=r+40|0;f=+c[a>>3];m=r+4|0;s=+c[(t[m>>2]|0)+16>>3];if(f>3]=f}Z=l+-8.0;s=+((t[46727]|0)>>>0)-+c[A+8>>3]-f+s*.2+(s<12.0?1.4:2.0);mm(e,76005,u);c[b>>3]=Z;c[b+8>>3]=s;mm(e,75942,b);c[w>>3]=l+8.0+o-Z;c[w+8>>3]=f;mm(e,75966,w);hm(e,76040)|0;hm(e,76074)|0;a=t[m>>2]|0;A=t[a+8>>2]|0;if(A){t[d>>2]=t[A+4>>2];mm(e,76164,d);a=t[A+8>>2]|0;if(a|0){t[v>>2]=a;mm(e,76183,v)}a=t[A+12>>2]|0;if(a|0){t[g>>2]=a;mm(e,76200,g)}a=t[A+16>>2]|0;if(a|0){t[p>>2]=a;mm(e,76218,p)}}else{t[k>>2]=t[a>>2];mm(e,76164,k)}c[E>>3]=+c[(t[m>>2]|0)+16>>3];mm(e,76234,E);a=B+16|0;switch(t[B+48>>2]|0){case 5:{a=t[a>>2]|0;if(N1(a,137314)|0){t[C>>2]=a;mm(e,76254,C)}break}case 1:{B=n[a+1>>0]|0;C=n[a+2>>0]|0;t[y>>2]=n[a>>0];t[y+4>>2]=B;t[y+8>>2]=C;mm(e,76264,y);break}default:ge(138394,75728,438,76285)}hm(e,76298)|0;hm(e,iZ(t[r>>2]|0)|0)|0;hm(e,76309)|0;hm(e,76332)|0;h=I;return}function KI(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0,s=0.0,o=0.0;i=h;h=h+32|0;a=i+16|0;l=i;hm(e,75906)|0;o=+c[A>>3];f=+c[A+16>>3]-o;s=+c[A+24>>3];n=s-+c[A+8>>3];s=+((t[46727]|0)>>>0)-s;c[l>>3]=o-f;c[l+8>>3]=s;mm(e,75942,l);c[a>>3]=f*2.0;c[a+8>>3]=n*2.0;mm(e,75966,a);fZ(e,r);hm(e,75788)|0;tZ(e);hm(e,75994)|0;h=i;return}function $I(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0.0,l=0,s=0,o=0,u=0;o=h;h=h+48|0;s=o+24|0;l=o+8|0;n=o;hm(e,75511)|0;u=t[46727]|0;t[n>>2]=t[46726];t[n+4>>2]=u;mm(e,75764,n);fZ(e,i);hm(e,75788)|0;tZ(e);hm(e,75791)|0;n=r+-1|0;i=0;while(1){if((i|0)>=(r|0))break;f=+c[A+(i<<4)>>3];a=+((t[46727]|0)>>>0)-+c[A+(i<<4)+8>>3];if(!i){hm(e,75818)|0;c[l>>3]=f;c[l+8>>3]=a;mm(e,75884,l);hm(e,75895)|0}else{c[s>>3]=f;c[s+8>>3]=a;mm(e,75884,s)}if((i|0)==(n|0))hm(e,75898)|0;i=i+1|0}hm(e,75627)|0;h=o;return}function eZ(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0;a=h;h=h+16|0;i=a;hm(e,75511)|0;f=t[46727]|0;t[i>>2]=t[46726];t[i+4>>2]=f;mm(e,75764,i);fZ(e,n);hm(e,75788)|0;tZ(e);hm(e,75791)|0;lZ(e,A,r);hm(e,75804)|0;h=a;return}function AZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0.0;s=h;h=h+48|0;l=s+24|0;f=s+8|0;a=s;hm(e,75511)|0;n=t[46727]|0;t[a>>2]=t[46726];t[a+4>>2]=n;mm(e,75548,a);hm(e,75588)|0;a=r+-1|0;n=A+8|0;i=0;while(1){if((i|0)>=(r|0))break;if(!i){hm(e,75600)|0;o=+((t[46727]|0)>>>0)-+c[n>>3];c[f>>3]=+c[A>>3];c[f+8>>3]=o;mm(e,75604,f);hm(e,75615)|0}else{o=+((t[46727]|0)>>>0)-+c[A+(i<<4)+8>>3];c[l>>3]=+c[A+(i<<4)>>3];c[l+8>>3]=o;mm(e,75604,l)}if((i|0)==(a|0))hm(e,75619)|0;i=i+1|0}hm(e,75623)|0;tZ(e);hm(e,75627)|0;h=s;return}function rZ(e,A){e=e|0;A=A|0;hm(e,75446)|0;hm(e,iZ(A)|0)|0;hm(e,75458)|0;return}function iZ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+16|0;r=m;A=t[46724]|0;if(!A){t[46725]=64;A=$F(64)|0;t[46724]=A}v=r+15|0;d=r+14|0;n=0;k=0;b=0;r=0;a=0;e:while(1){u=(b|0)!=0;c=n;w=e;s=r;A:while(1){if(!w){g=32;break e}r=i[w>>0]|0;if(!(r<<24>>24)){g=32;break e}e=t[46725]|0;if((k|0)>(e+-8|0)){A=e<<1;t[46725]=A;A=AM(t[46724]|0,A)|0;t[46724]=A;A=A+k|0;r=i[w>>0]|0}switch(r<<24>>24){case 60:{r=4;e=102153;g=26;break A}case 62:{r=4;e=102136;g=27;break A}case 38:{g=10;break A}case 45:{r=5;e=102147;l=s;break A}default:{}}if(u&r<<24>>24==32){g=12;break}switch(r<<24>>24){case 34:{r=6;e=102116;g=26;break A}case 39:{r=5;e=102141;g=27;break A}default:{}}if(r<<24>>24<0){l=127;e=0}else{r=1;e=w;g=26;break}while(1){n=l&255;f=r&255;if(n>>>0>=f>>>0)break;r=l&f&255;l=n>>>1;e=e+1|0}if((e|0)<=1){n=C6(s|0,a|0,6)|0;n=d6(n|0,G|0,r&255|0,0)|0;a=G;o=c+-1|0;if((c|0)>1){e=o;r=n}else{g=21;break}}else{e=e+-1|0;r=r&255;a=0}c=e;w=w+1|0;s=r}if((g|0)==10){g=0;e=(aZ(w)|0)==0;r=e?5:1;e=e?102130:w;l=s}else if((g|0)==12){g=0;e=(i[b>>0]|0)==32;r=e?6:1;e=e?102123:w;l=s}else if((g|0)==21){g=0;i[v>>0]=59;r=3;f=d;l=n;s=a;while(1){e=E6(l|0,s|0,10,0)|0;n=f+-1|0;i[f>>0]=e|48;e=l;l=p6(l|0,s|0,10,0)|0;a=s;s=G;b=r;r=r+1|0;if((b|0)>11){g=23;break e}if(!(a>>>0>0|(a|0)==0&e>>>0>9))break;else f=n}e=f+-2|0;i[n>>0]=35;i[e>>0]=38;c=o;a=s}else if((g|0)==26){g=0;l=s}else if((g|0)==27){g=0;l=s}f=A+r|0;n=r;while(1){if(!n)break;i[A>>0]=i[e>>0]|0;n=n+-1|0;e=e+1|0;A=A+1|0}n=c;e=w+1|0;k=r+k|0;b=w;A=f;r=l}if((g|0)==23){G3(75464,46,1,t[15712]|0)|0;Ue(1)}else if((g|0)==32){i[A>>0]=0;h=m;return t[46724]|0}return 0}function aZ(e){e=e|0;var A=0,r=0;r=e+1|0;A=i[r>>0]|0;e:do{if(A<<24>>24==35){r=e+2|0;A=i[r>>0]|0;switch(A<<24>>24){case 88:case 120:break;default:{e=r;while(1){r=e+1|0;if((A+-48&255)>=10)break e;e=r;A=i[r>>0]|0}}}r=e+3|0;while(1){A=i[r>>0]|0;if((A+-48&255)>=10)switch(A<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break e}r=r+1|0}}else while(1){e=r+1|0;if(((A&-33)+-65&255)>=26)break e;r=e;A=i[e>>0]|0}}while(0);return A<<24>>24==59|0}function tZ(e){e=e|0;var A=0.0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=h;h=h+48|0;r=s+8|0;l=s;f=t[e+16>>2]|0;hm(e,75639)|0;i=r;a=f+16|0;n=i+40|0;do{t[i>>2]=t[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(n|0));nZ(e,r);A=+c[f+152>>3];if(A!=1.0){c[l>>3]=A;mm(e,75657,l)}switch(t[f+144>>2]|0){case 1:{hm(e,75674)|0;break}case 2:{hm(e,75692)|0;break}default:{}}hm(e,75709)|0;h=s;return}function nZ(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0;a=h;h=h+16|0;r=a;e:do{switch(t[A+32>>2]|0){case 5:{hm(e,t[A>>2]|0)|0;break}case 1:if(!(i[A+3>>0]|0)){hm(e,135709)|0;break e}else{l=n[A+1>>0]|0;f=n[A+2>>0]|0;t[r>>2]=n[A>>0];t[r+4>>2]=l;t[r+8>>2]=f;mm(e,75714,r);break e}default:ge(138394,75728,94,75748)}}while(0);h=a;return}function fZ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+48|0;a=n;if(!A)hm(e,75867)|0;else{r=t[e+16>>2]|0;hm(e,75837)|0;A=a;r=r+56|0;i=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));nZ(e,a);hm(e,75864)|0}h=n;return}function lZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0.0,s=0.0;f=h;h=h+32|0;n=f;i=75818;a=0;while(1){if((a|0)>=(r|0))break;s=+c[A+(a<<4)>>3];l=+((t[46727]|0)>>>0)-+c[A+(a<<4)+8>>3];t[n>>2]=i;c[n+8>>3]=s;c[n+16>>3]=l;mm(e,75821,n);i=(a|0)==0?75834:195059;a=a+1|0}hm(e,98744)|0;h=f;return}function sZ(e){e=e|0;var A=0,r=0,i=0;A=h;h=h+16|0;r=A+8|0;i=A;hm(e,80451)|0;hm(e,80466)|0;hm(e,80505)|0;hm(e,80554)|0;t[i>>2]=137314;t[i+4>>2]=80642;mm(e,80623,i);t[r>>2]=137198;t[r+4>>2]=80648;mm(e,80623,r);h=A;return}function cZ(e){e=e|0;var A=0,r=0,i=0.0,a=0.0,n=0.0,f=0.0,l=0;A=h;h=h+64|0;r=A+8|0;l=A;t[l>>2]=Mk(t[(t[e+16>>2]|0)+8>>2]|0)|0;mm(e,79404,l);f=+c[e+368>>3]*.5*+c[e+488>>3];n=+c[e+376>>3]*.5*+c[e+496>>3];a=+N(+(f*2.0000000949949026e-03))*180.0*.6366197723675814;i=+N(+(n*2.0000000949949026e-03))*180.0*.6366197723675814;c[r>>3]=f;c[r+8>>3]=n;c[r+16>>3]=-500.0;c[r+24>>3]=f;c[r+32>>3]=n;c[r+40>>3]=0.0;c[r+48>>3]=(a>i?a:i)*1.2;mm(e,79426,r);hm(e,79573)|0;hm(e,80403)|0;h=A;return}function oZ(e){e=e|0;hm(e,79387)|0;return}function uZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=h;h=h+16|0;n=a;t[n>>2]=A;t[n+4>>2]=r;t[n+8>>2]=i;mm(e,79357,n);s[46728]=+(P(r,-10)|0);h=a;return}function bZ(e){e=e|0;hm(e,79340)|0;return}function hZ(e){e=e|0;hm(e,79322)|0;return}function wZ(e){e=e|0;hm(e,79306)|0;return}function kZ(e){e=e|0;hm(e,79285)|0;s[46728]=+s[46728]+-2.0;return}function dZ(e){e=e|0;hm(e,79266)|0;return}function vZ(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;t[r>>2]=Mk(t[(t[e+16>>2]|0)+8>>2]|0)|0;mm(e,79244,r);h=A;return}function gZ(e){e=e|0;hm(e,79228)|0;return}function mZ(e){e=e|0;hm(e,79210)|0;s[46728]=+s[46728]+-5.0;return}function pZ(e){e=e|0;hm(e,79194)|0;s[46728]=+s[46728]+5.0;return}function EZ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0.0;d=h;h=h+144|0;b=d+104|0;k=d+56|0;o=d+32|0;f=d+24|0;u=d;w=r+4|0;n=t[w>>2]|0;a=+c[n+16>>3];n=t[n>>2]|0;t[u>>2]=t[r>>2];c[u+8>>3]=a;t[u+16>>2]=n;mm(e,79040,u);s[46729]=+s[46728]+-9.0;switch(i[r+48>>0]|0){case 108:{a=+c[A>>3];break}case 114:{n=A;a=+c[A>>3]-+c[r+32>>3];l=5;break}default:{n=A;a=+c[A>>3]-+c[r+32>>3]*.5;l=5}}if((l|0)==5)c[n>>3]=a;m=+c[e+488>>3];g=(+c[e+504>>3]+a)*m;v=(+c[e+512>>3]+ +c[A+8>>3])*+c[e+496>>3];c[f>>3]=+c[(t[w>>2]|0)+16>>3]*m;u=GZ(e,79092,f)|0;a=+(t[e+360>>2]|0);c[o>>3]=0.0;c[o+8>>3]=0.0;c[o+16>>3]=a;n=GZ(e,78309,o)|0;a=+s[46729];c[b>>3]=g;c[b+8>>3]=v;c[b+16>>3]=a;A=GZ(e,78341,b)|0;f=b;l=(t[e+16>>2]|0)+16|0;o=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(o|0));b=LZ(e,b,0.0)|0;r=t[r>>2]|0;t[k>>2]=t[t[w>>2]>>2];c[k+8>>3]=.25;c[k+16>>3]=0.0;t[k+24>>2]=r;t[k+28>>2]=79179;t[k+32>>2]=u;t[k+36>>2]=n;t[k+40>>2]=A;t[k+44>>2]=b;k=GZ(e,79104,k)|0;hm(e,k)|0;G2(k);G2(n);G2(b);G2(A);G2(u);h=d;return}function BZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0.0,o=0,u=0,b=0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0;C=h;h=h+240|0;B=C+192|0;y=C+152|0;g=C+128|0;d=C+104|0;b=C+80|0;u=C+48|0;i=C+24|0;o=C;hm(e,78917)|0;s[46729]=+s[46728]+-6.0;n=+c[A>>3];f=+c[e+488>>3];w=(+c[e+504>>3]+n)*f;I=+c[A+8>>3];l=+c[e+496>>3];k=(+c[e+512>>3]+I)*l;f=(+c[A+16>>3]-n)*f;l=(+c[A+24>>3]-I)*l;v=e+16|0;I=l+f;n=+c[(t[v>>2]|0)+152>>3]/I*2.5;c[o>>3]=f;c[o+8>>3]=I*.25;c[o+16>>3]=l;A=GZ(e,78277,o)|0;o=e+360|0;I=+(t[o>>2]|0);c[i>>3]=90.0;c[i+8>>3]=0.0;c[i+16>>3]=I;i=GZ(e,78309,i)|0;I=+s[46729];c[B>>3]=w;c[B+8>>3]=k;c[B+16>>3]=I;a=GZ(e,78341,B)|0;m=B;p=(t[v>>2]|0)+16|0;E=m+40|0;do{t[m>>2]=t[p>>2];m=m+4|0;p=p+4|0}while((m|0)<(E|0));p=LZ(e,B,0.0)|0;c[u>>3]=1.0;c[u+8>>3]=n;t[u+16>>2]=A;t[u+20>>2]=i;t[u+24>>2]=a;t[u+28>>2]=p;E=GZ(e,78932,u)|0;hm(e,E)|0;G2(A);G2(i);G2(a);G2(p);G2(E);if(r|0){c[b>>3]=f;c[b+8>>3]=l;c[b+16>>3]=1.0;a=GZ(e,78277,b)|0;I=+(t[o>>2]|0);c[d>>3]=0.0;c[d+8>>3]=0.0;c[d+16>>3]=I;i=GZ(e,78309,d)|0;I=+s[46729];c[g>>3]=w;c[g+8>>3]=k;c[g+16>>3]=I;A=GZ(e,78341,g)|0;m=B;p=(t[v>>2]|0)+56|0;E=m+40|0;do{t[m>>2]=t[p>>2];m=m+4|0;p=p+4|0}while((m|0)<(E|0));B=LZ(e,B,0.0)|0;c[y>>3]=0.0;c[y+8>>3]=0.0;c[y+16>>3]=0.0;t[y+24>>2]=a;t[y+28>>2]=i;t[y+32>>2]=A;t[y+36>>2]=B;y=GZ(e,78978,y)|0;hm(e,y)|0;G2(a);G2(i);G2(A);G2(B);G2(y)}h=C;return}function yZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0.0,N=0,R=0.0;M=h;h=h+336|0;Z=M+296|0;F=M+288|0;Y=M+272|0;W=M+264|0;z=M+240|0;L=M+232|0;I=M+208|0;C=M+184|0;E=M+160|0;p=M+152|0;m=M+136|0;g=M+128|0;v=M+96|0;d=M+88|0;k=M+56|0;a=M+48|0;o=M+24|0;l=M;hm(e,78782)|0;s[46729]=+s[46728]+-2.0;b=e+488|0;w=e+496|0;V=+c[w>>3];c[l>>3]=+c[b>>3];c[l+8>>3]=V;c[l+16>>3]=1.0;l=GZ(e,78277,l)|0;y=e+360|0;V=+(t[y>>2]|0);c[o>>3]=0.0;c[o+8>>3]=0.0;c[o+16>>3]=V;o=GZ(e,78309,o)|0;V=+s[46729]+-2.0;c[Z>>3]=0.0;c[Z+8>>3]=0.0;c[Z+16>>3]=V;u=GZ(e,78341,Z)|0;G=e+16|0;n=Z;f=(t[G>>2]|0)+16|0;B=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(B|0));f=LZ(e,Z,0.0)|0;t[a>>2]=78404;t[a+4>>2]=r+1;Q=e+504|0;D=e+512|0;n=0;a=GZ(e,78373,a)|0;while(1){if((n|0)>=(r|0))break;R=+c[D>>3]+ +c[A+(n<<4)+8>>3];V=+c[(t[G>>2]|0)+152>>3];c[k>>3]=+c[Q>>3]+ +c[A+(n<<4)>>3];c[k+8>>3]=R;c[k+16>>3]=0.0;c[k+24>>3]=V;N=GZ(e,78418,k)|0;t[d>>2]=a;t[d+4>>2]=N;B=GZ(e,78447,d)|0;G2(N);G2(a);n=n+1|0;a=B}V=+c[D>>3]+ +c[A+8>>3];R=+c[(t[G>>2]|0)+152>>3];c[v>>3]=+c[Q>>3]+ +c[A>>3];c[v+8>>3]=V;c[v+16>>3]=0.0;c[v+24>>3]=R;B=GZ(e,78418,v)|0;t[g>>2]=a;t[g+4>>2]=B;N=GZ(e,78447,g)|0;G2(B);G2(a);t[m>>2]=l;t[m+4>>2]=o;t[m+8>>2]=u;t[m+12>>2]=f;B=GZ(e,78797,m)|0;t[p>>2]=N;t[p+4>>2]=B;N=GZ(e,78502,p)|0;G2(B);hm(e,N)|0;G2(l);G2(o);G2(u);G2(f);G2(N);if(i|0){R=+c[w>>3];c[E>>3]=+c[b>>3];c[E+8>>3]=R;c[E+16>>3]=1.0;u=GZ(e,78277,E)|0;R=+(t[y>>2]|0);c[C>>3]=0.0;c[C+8>>3]=0.0;c[C+16>>3]=R;o=GZ(e,78309,C)|0;R=+s[46729]+-2.0;c[I>>3]=0.0;c[I+8>>3]=0.0;c[I+16>>3]=R;l=GZ(e,78341,I)|0;n=Z;f=(t[G>>2]|0)+56|0;B=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(B|0));f=LZ(e,Z,.25)|0;t[L>>2]=r;n=0;a=GZ(e,78842,L)|0;while(1){if((n|0)>=(r|0))break;R=+c[D>>3]+ +c[A+(n<<4)+8>>3];c[z>>3]=+c[Q>>3]+ +c[A+(n<<4)>>3];c[z+8>>3]=R;c[z+16>>3]=0.0;L=GZ(e,78857,z)|0;t[W>>2]=a;t[W+4>>2]=L;N=GZ(e,78879,W)|0;G2(L);G2(a);n=n+1|0;a=N}t[Y>>2]=u;t[Y+4>>2]=o;t[Y+8>>2]=l;t[Y+12>>2]=f;Y=GZ(e,78889,Y)|0;t[F>>2]=a;t[F+4>>2]=Y;N=GZ(e,78502,F)|0;G2(Y);hm(e,N)|0;G2(u);G2(o);G2(l);G2(f);G2(N)}h=M;return}function CZ(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0.0,L=0.0;Z=h;h=h+208|0;i=Z+160|0;I=Z+152|0;C=Z+136|0;y=Z+128|0;B=Z+96|0;E=Z+88|0;p=Z+56|0;l=Z+48|0;v=Z+24|0;d=Z;hm(e,78709)|0;s[46729]=+s[46728]+-4.0;G=+c[e+496>>3];c[d>>3]=+c[e+488>>3];c[d+8>>3]=G;c[d+16>>3]=1.0;d=GZ(e,78277,d)|0;G=+(t[e+360>>2]|0);c[v>>3]=0.0;c[v+8>>3]=0.0;c[v+16>>3]=G;v=GZ(e,78309,v)|0;G=+s[46729]+-2.0;c[i>>3]=0.0;c[i+8>>3]=0.0;c[i+16>>3]=G;g=GZ(e,78341,i)|0;m=e+16|0;a=i;n=(t[m>>2]|0)+56|0;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));u=LZ(e,i,0.0)|0;t[l>>2]=78723;t[l+4>>2]=r+2;b=e+504|0;w=e+512|0;k=r+-1|0;o=0;i=GZ(e,78373,l)|0;while(1){if((o|0)>=(r|0))break;a=A+(o<<4)|0;n=A+(o<<4)+8|0;L=+c[w>>3]+ +c[n>>3];G=+c[(t[m>>2]|0)+152>>3];c[p>>3]=+c[b>>3]+ +c[a>>3];c[p+8>>3]=L;c[p+16>>3]=0.0;c[p+24>>3]=G;l=GZ(e,78418,p)|0;t[E>>2]=i;t[E+4>>2]=l;f=GZ(e,78447,E)|0;G2(l);G2(i);if((o|0)==0|(o|0)==(k|0)){G=+c[w>>3]+ +c[n>>3];L=+c[(t[m>>2]|0)+152>>3];c[B>>3]=+c[b>>3]+ +c[a>>3];c[B+8>>3]=G;c[B+16>>3]=0.0;c[B+24>>3]=L;l=GZ(e,78418,B)|0;t[y>>2]=f;t[y+4>>2]=l;i=GZ(e,78447,y)|0;G2(l);G2(f)}else i=f;o=o+1|0}t[C>>2]=d;t[C+4>>2]=v;t[C+8>>2]=g;t[C+12>>2]=u;A=GZ(e,78732,C)|0;t[I>>2]=i;t[I+4>>2]=A;r=GZ(e,78502,I)|0;G2(A);hm(e,r)|0;G2(d);G2(v);G2(g);G2(u);G2(r);h=Z;return}function IZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0,B=0,y=0.0;p=h;h=h+160|0;i=p+120|0;m=p+112|0;g=p+96|0;v=p+88|0;d=p+56|0;o=p+48|0;u=p+24|0;k=p;hm(e,78261)|0;s[46729]=+s[46728]+-6.0;E=+c[e+496>>3];c[k>>3]=+c[e+488>>3];c[k+8>>3]=E;c[k+16>>3]=1.0;k=GZ(e,78277,k)|0;E=+(t[e+360>>2]|0);c[u>>3]=0.0;c[u+8>>3]=0.0;c[u+16>>3]=E;u=GZ(e,78309,u)|0;E=+s[46729];c[i>>3]=0.0;c[i+8>>3]=0.0;c[i+16>>3]=E;b=GZ(e,78341,i)|0;w=e+16|0;a=i;n=(t[w>>2]|0)+16|0;f=a+40|0;do{t[a>>2]=t[n>>2];a=a+4|0;n=n+4|0}while((a|0)<(f|0));n=LZ(e,i,0.0)|0;t[o>>2]=78404;t[o+4>>2]=r;f=e+504|0;l=e+512|0;a=0;i=GZ(e,78373,o)|0;while(1){if((a|0)>=(r|0))break;y=+c[l>>3]+ +c[A+(a<<4)+8>>3];E=+c[(t[w>>2]|0)+152>>3];c[d>>3]=+c[f>>3]+ +c[A+(a<<4)>>3];c[d+8>>3]=y;c[d+16>>3]=0.0;c[d+24>>3]=E;B=GZ(e,78418,d)|0;t[v>>2]=i;t[v+4>>2]=B;o=GZ(e,78447,v)|0;G2(B);G2(i);a=a+1|0;i=o}t[g>>2]=k;t[g+4>>2]=u;t[g+8>>2]=b;t[g+12>>2]=n;g=GZ(e,78456,g)|0;t[m>>2]=i;t[m+4>>2]=g;B=GZ(e,78502,m)|0;G2(g);hm(e,B)|0;G2(k);G2(u);G2(b);G2(n);G2(B);h=p;return}function ZZ(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=A;mm(e,78242,i);h=r;return}function GZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+1056|0;f=l;i=l+24|0;a=l+8|0;t[a>>2]=r;n=h4(i,1024,A,a)|0;do{if((n|0)>=0)if((n|0)>1023){e=Z2(n+1|0)|0;t[a>>2]=r;O4(e,A,a)|0;break}else{e=o3(i)|0;break}else{e=t[(t[e+12>>2]|0)+16>>2]|0;t[f>>2]=A1(t[(R2()|0)>>2]|0)|0;M5[e&63](78687,f);e=o3(195059)|0}}while(0);h=l;return e|0}function LZ(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0.0;k=h;h=h+112|0;b=k+104|0;l=k+96|0;f=k+64|0;u=k+48|0;w=k+32|0;o=k+16|0;s=k;a=t[A+32>>2]|0;e:do{switch(a|0){case 5:{i=t[A>>2]|0;if(!(e1(i,136302)|0)){t[s>>2]=78524;c[s+8>>3]=r;i=GZ(e,78507,s)|0;break e}if(!(e1(i,133432)|0)){t[o>>2]=78528;c[o+8>>3]=r;i=GZ(e,78507,o)|0;break e}if(!(e1(i,131431)|0)){t[w>>2]=78534;c[w+8>>3]=r;i=GZ(e,78507,w)|0;break e}else{t[u>>2]=i;c[u+8>>3]=r;i=GZ(e,78507,u)|0;break e}}case 1:{v=+(n[A+1>>0]|0)*.00390625;d=+(n[A+2>>0]|0)*.00390625;c[f>>3]=+(n[A>>0]|0)*.00390625;c[f+8>>3]=v;c[f+16>>3]=d;c[f+24>>3]=r;i=GZ(e,78539,f)|0;break}default:{w=t[15712]|0;u=t[A>>2]|0;t[l>>2]=a;t[l+4>>2]=u;a3(w,78578,l)|0;ge(138394,78628,436,78648)}}}while(0);t[b>>2]=i;w=GZ(e,78665,b)|0;G2(i);h=k;return w|0}function QZ(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;A=h;h=h+32|0;r=A+24|0;i=A+16|0;n=A;a=t[e+16>>2]|0;f=t[t[e+12>>2]>>2]|0;s=t[f>>2]|0;l=t[f+4>>2]|0;f=t[f+8>>2]|0;t[n>>2]=81094;t[n+4>>2]=s;t[n+8>>2]=l;t[n+12>>2]=f;mm(e,83704,n);a=Mk(t[a+8>>2]|0)|0;t[i>>2]=81094;t[i+4>>2]=a;mm(e,83736,i);t[r>>2]=81094;mm(e,83750,r);h=A;return}function DZ(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;t[r>>2]=81094;mm(e,83652,r);h=A;return}function zZ(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0;T=h;h=h+304|0;U=T+296|0;j=T+288|0;S=T+272|0;P=T+264|0;H=T+256|0;J=T+248|0;x=T+240|0;R=T+232|0;N=T+224|0;V=T+216|0;M=T+208|0;F=T+200|0;Y=T+192|0;W=T+184|0;D=T+176|0;Q=T+168|0;L=T+160|0;G=T+152|0;I=T+144|0;C=T+136|0;y=T+128|0;B=T+120|0;E=T+112|0;p=T+104|0;m=T+96|0;g=T+88|0;v=T+80|0;d=T+72|0;k=T+64|0;w=T+56|0;b=T+48|0;X=T+40|0;Z=T+24|0;u=T+16|0;o=T;n=t[e+456>>2]|0;f=t[e+460>>2]|0;l=t[e+464>>2]|0;s=t[e+468>>2]|0;a=e+360|0;e:do{if(t[4025]|0){switch(t[a>>2]|0){case 90:case 0:break e;default:{}}XZ();t[4025]=0}}while(0);i=(+(s|0)-+(f|0))*.013888888888888888;A=(+(l|0)-+(n|0))*.013888888888888888;s=(t[a>>2]|0)==90;r=s?i:A;i=s?A:i;c[o>>3]=r;c[o+8>>3]=i;mm(e,81281,o);t[u>>2]=81094;mm(e,81296,u);if(r>0.0){A=+l1(r);c[19214]=A;A=A+3.0-+(~~A|0)}else A=3.0;A=+z(10.0,+A);c[19214]=A;c[Z>>3]=A;c[Z+8>>3]=A;mm(e,81465,Z);t[X>>2]=81094;mm(e,81500,X);t[b>>2]=81094;mm(e,81558,b);t[w>>2]=81094;mm(e,81618,w);t[k>>2]=81094;mm(e,81667,k);t[d>>2]=81094;mm(e,81706,d);t[v>>2]=81094;mm(e,81757,v);t[g>>2]=81094;mm(e,81819,g);t[m>>2]=81094;mm(e,81929,m);t[p>>2]=81094;mm(e,82020,p);t[E>>2]=81094;mm(e,82074,E);t[B>>2]=81094;mm(e,82143,B);mm(e,82179,y);t[C>>2]=81094;mm(e,82304,C);t[I>>2]=81094;mm(e,82333,I);mm(e,82373,G);t[L>>2]=81094;mm(e,82466,L);t[Q>>2]=81094;mm(e,82525,Q);t[D>>2]=81094;mm(e,82606,D);mm(e,82676,W);t[Y>>2]=81094;mm(e,82765,Y);t[F>>2]=81094;mm(e,82870,F);t[M>>2]=81094;mm(e,82946,M);t[V>>2]=81094;mm(e,82985,V);t[N>>2]=81094;mm(e,83084,N);t[R>>2]=81094;mm(e,83130,R);mm(e,83219,x);t[J>>2]=81094;mm(e,83260,J);t[H>>2]=81094;mm(e,83343,H);t[P>>2]=81094;mm(e,83444,P);c[S>>3]=i;c[S+8>>3]=r;mm(e,83508,S);mm(e,83536,j);mm(e,83544,U);h=T;return}function WZ(e){e=e|0;var A=0;A=h;h=h+16|0;mm(e,81274,A);h=A;return}function YZ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0.0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;k=d+24|0;w=d+8|0;b=d;switch(i[r+48>>0]|0){case 108:{s=A;f=+c[r+32>>3];l=+c[A>>3];break}case 114:{f=+c[r+32>>3];n=f;a=5;break}default:{f=+c[r+32>>3];n=f*.5;a=5}}if((a|0)==5){l=+c[A>>3]-n;c[A>>3]=l;s=A}o=r+4|0;a=t[o>>2]|0;n=+c[a+16>>3];A=A+8|0;u=+c[A>>3]+n*.004629629629629629;c[A>>3]=u;f=l+f*.006944444444444444;c[s>>3]=f;a=t[a>>2]|0;do{if(a){A=t[46730]|0;if(A|0?(e1(A,a)|0)==0:0)break;t[b>>2]=HZ(a)|0;mm(e,81173,b);b=t[o>>2]|0;t[46730]=t[b>>2];n=+c[b+16>>3]}}while(0);a=~~n;a=(a|0)>1?a:1;if((a|0)!=(t[46731]|0)){l=+c[19214];t[w>>2]=a;c[w+8>>3]=l;mm(e,81181,w);t[46731]=a}t[k>>2]=PZ(t[r>>2]|0)|0;c[k+8>>3]=f;c[k+16>>3]=u;mm(e,81202,k);h=d;return}function FZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0;i=h;h=h+48|0;a=i;f=+c[A>>3];s=(+c[A+16>>3]-f)*.027777777777777776;n=+c[A+8>>3];l=(+c[A+24>>3]-n)*.027777777777777776;t[a>>2]=1;t[a+4>>2]=r|0?81115:195059;c[a+8>>3]=s;c[a+16>>3]=l;c[a+24>>3]=f*.013888888888888888;c[a+32>>3]=n*.013888888888888888;mm(e,81121,a);h=i;return}function MZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;i=h;h=h+16|0;xZ(t[e+16>>2]|0,i+8|0,i);JZ(e,A,r,1);h=i;return}function VZ(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0.0,p=0.0,E=0;g=h;h=h+128|0;v=g+112|0;k=g+104|0;w=g+96|0;i=g+88|0;u=g+16|0;b=g;s=t[e+16>>2]|0;l=Z2((r*140|0)+140|0)|0;xZ(s,g+116|0,g+80|0);p=+c[A>>3];s=u+48|0;c[s>>3]=p;m=+c[A+8>>3];c[u+56>>3]=m;t[i>>2]=~~(p+(p>=0.0?.5:-.5));t[i+4>>2]=~~(m+(m>=0.0?.5:-.5));f=b+8|0;i=l+(T4(l,81099,i)|0)|0;d=1;n=0;while(1){o=n+3|0;if((o|0)>=(r|0))break;t[u>>2]=t[s>>2];t[u+4>>2]=t[s+4>>2];t[u+8>>2]=t[s+8>>2];t[u+12>>2]=t[s+12>>2];a=1;while(1){if((a|0)==4){a=1;break}E=a+n|0;c[u+(a<<4)>>3]=+c[A+(E<<4)>>3];c[u+(a<<4)+8>>3]=+c[A+(E<<4)+8>>3];a=a+1|0}while(1){if((a|0)==7)break;Zx(b,u,3,+(a|0)*.16666666666666666,0,0);m=+c[b>>3];p=+c[f>>3];t[w>>2]=~~(m+(m>=0.0?.5:-.5));t[w+4>>2]=~~(p+(p>=0.0?.5:-.5));a=a+1|0;i=i+(T4(i,81099,w)|0)|0}d=d+6|0;n=o}t[k>>2]=l;mm(e,81106,k);G2(l);a=d+-1|0;i=0;while(1){if((i|0)>=(d|0))break;t[v>>2]=((i|0)%(a|0)|0|0)!=0&1;mm(e,81111,v);i=i+1|0}hm(e,153599)|0;h=g;return}function NZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=h;h=h+16|0;xZ(t[e+16>>2]|0,i+8|0,i);JZ(e,A,r,0);h=i;return}function RZ(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=81094;t[i+4>>2]=A;mm(e,81087,i);h=r;return}function xZ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;switch(t[e+144>>2]|0){case 1:{i=10.0;e=1;break}case 2:{i=10.0;e=2;break}default:{i=0.0;e=0}}t[A>>2]=e;c[r>>3]=i;return}function JZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0.0;l=h;h=h+16|0;f=l+8|0;n=l;a=0;while(1){if((a|0)>=(r|0))break;o=+c[A+(a<<4)>>3];s=+c[A+(a<<4)+8>>3];t[n>>2]=~~(o+(o>=0.0?.5:-.5));t[n+4>>2]=~~(s+(s>=0.0?.5:-.5));mm(e,81099,n);a=a+1|0}if(i|0){s=+c[A>>3];o=+c[A+8>>3];t[f>>2]=~~(s+(s>=0.0?.5:-.5));t[f+4>>2]=~~(o+(o>=0.0?.5:-.5));mm(e,81099,f)}hm(e,153599)|0;h=l;return}function HZ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;e:while(1){A=15828;while(1){r=t[A+4>>2]|0;if(!r)break;if(!(e1(r,e)|0)){n=6;break e}A=A+8|0}t[a>>2]=81255;t[a+4>>2]=e;nw(1,81229,a)|0;A=u3(e,45)|0;if(!A){A=81272;break}i[A>>0]=0}h=f;return A|0}function PZ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l;A=t[46732]|0;if(!A){t[46733]=64;A=Z2(64)|0;t[46732]=A;r=0}else r=0;while(1){n=e+1|0;a=i[e>>0]|0;if(!(a<<24>>24))break;e=t[46733]|0;if((r|0)>(e+-8|0)){A=e<<1;t[46733]=A;A=Q2(t[46732]|0,A)|0;t[46732]=A;A=A+r|0}if(a<<24>>24<=-1){i[A>>0]=92;t[f>>2]=a&255;T4(A+1|0,81224,f)|0;e=n;A=A+4|0;r=r+4|0;continue}if(a<<24>>24==92){i[A>>0]=92;r=r+1|0;A=A+1|0}i[A>>0]=a;e=n;A=A+1|0;r=r+1|0}i[A>>0]=0;h=l;return t[46732]|0}function XZ(){var e=0,A=0;e=h;h=h+16|0;A=e;t[A>>2]=81255;t[A+4>>2]=91269;nw(0,83634,A)|0;h=e;return}function SZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0.0,l=0,s=0;i=h;h=h+32|0;a=i+8|0;l=i;A=A+8|0;s=t[A>>2]|0;t[l>>2]=s;t[l+4>>2]=s;mm(e,84223,l);f=(+c[r>>3]+ +c[r+16>>3])*.5;n=(+c[r+8>>3]+ +c[r+24>>3])*.5;t[a>>2]=t[A>>2];c[a+8>>3]=f;c[a+16>>3]=n;mm(e,84265,a);h=i;return}function jZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0.0,l=0.0,s=0.0;i=h;h=h+48|0;a=i;f=+c[r>>3];s=+c[r+16>>3]-f;n=+c[r+24>>3];l=n-+c[r+8>>3];n=+(~~(+c[e+232>>3]-+c[e+216>>3])>>>0)-n;t[a>>2]=t[A+8>>2];c[a+8>>3]=s;c[a+16>>3]=l;c[a+24>>3]=f;c[a+32>>3]=n;mm(e,84310,a);hm(e,84402)|0;h=i;return}function UZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return}function TZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0.0;g=h;h=h+160|0;v=g+152|0;d=g+136|0;k=g+120|0;s=g+112|0;u=g+104|0;o=g+88|0;l=g+72|0;f=g+64|0;b=g;if(!e)ge(111282,84407,212,84426);if(!A)ge(111312,84407,213,84426);w=A+8|0;if(!(t[w>>2]|0))ge(111315,84407,214,84426);if(t[A+52>>2]|0){t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];A=b+32|0;r=r+16|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];a=+c[b>>3];c[b+16>>3]=a;c[b+24>>3]=+c[b+40>>3];c[b+48>>3]=+c[A>>3];n=+c[b+8>>3];c[b+56>>3]=n;if(i<<24>>24){mm(e,84447,f);A=0;while(1){if((A|0)==4)break;m=+c[b+(A<<4)+8>>3];c[l>>3]=+c[b+(A<<4)>>3];c[l+8>>3]=m;mm(e,84450,l);A=A+1|0}c[o>>3]=a;c[o+8>>3]=n;mm(e,84450,o);o=t[w>>2]|0;t[u>>2]=4;t[u+4>>2]=o;mm(e,84457,u)}mm(e,84447,s);A=0;while(1){if((A|0)==4)break;m=+c[b+(A<<4)+8>>3];c[k>>3]=+c[b+(A<<4)>>3];c[k+8>>3]=m;mm(e,84450,k);A=A+1|0}c[d>>3]=a;c[d+8>>3]=n;mm(e,84450,d);d=t[w>>2]|0;t[v>>2]=4;t[v+4>>2]=d;mm(e,84472,v)}h=g;return}function OZ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0.0;b=h;h=h+112|0;u=b+24|0;o=b+16|0;s=b;f=b+28|0;if(!e)ge(111282,84407,153,84488);if(!A)ge(111312,84407,154,84488);if(!(t[A+8>>2]|0))ge(111315,84407,155,84488);l=A+52|0;if(t[l>>2]|0){a=A+60|0;n=t[a>>2]|0;if((n|0)==100)n=18;else{F5[n&127](A);t[l>>2]=0;t[a>>2]=0;t[A+56>>2]=0;n=10}}else n=10;do{if((n|0)==10){if(!((xm(A)|0)<<24>>24))break;a=l6(t[A+20>>2]|0)|0;if((t[A+24>>2]&-2|0)==6){W3(a,f)|0;f=t[f+36>>2]|0;t[A+56>>2]=f;a=S2(0,f,1,1,a,0)|0;t[l>>2]=a;i[A+16>>0]=1}else a=t[l>>2]|0;if(a|0)t[A+60>>2]=100;Jm(A);if(t[l>>2]|0)n=18}}while(0);if((n|0)==18){w=+c[r+8>>3]-+(t[A+36>>2]|0);c[s>>3]=+c[r>>3]-+(t[A+32>>2]|0);c[s+8>>3]=w;mm(e,84506,s);if(!(i[A+16>>0]|0)){t[o>>2]=t[A+12>>2];mm(e,84537,o)}else HV(e,A);mm(e,84552,u)}h=b;return}function _Z(e){e=e|0;P2(t[e+52>>2]|0,t[e+56>>2]|0)|0;return}function qZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=h;h=h+80|0;a=n+48|0;if(!e)ge(111282,84407,121,84562);i=t[e+16>>2]|0;if(!i)ge(99902,84407,123,84562);if(!A)ge(111312,84407,124,84562);r=A+8|0;if(!(t[r>>2]|0))ge(111315,84407,125,84562);if(!(t[i+8>>2]|0))ge(138879,84407,128,84562);else{mm(e,84582,n);mm(e,84591,n+8|0);mm(e,84618,n+16|0);mm(e,84643,n+24|0);mm(e,84672,n+32|0);mm(e,84700,n+40|0);t[a>>2]=t[r>>2];mm(e,84707,a);mm(e,84746,n+56|0);mm(e,111008,n+64|0);h=n;return}}function KZ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0.0;f=h;h=h+128|0;n=f+80|0;a=f;if(!e)ge(111282,84407,97,84751);if(!A)ge(111312,84407,98,84751);i=t[A+8>>2]|0;if(!i)ge(111315,84407,99,84751);else{o=+c[r>>3];l=~~(o+(o>=0.0?.5:-.5));o=+c[r+8>>3];A=~~(o+(o>=0.0?.5:-.5));o=+c[r+16>>3];s=~~(o+(o>=0.0?.5:-.5));o=+c[r+24>>3];r=~~(o+(o>=0.0?.5:-.5));t[a>>2]=2;t[a+4>>2]=5;t[a+8>>2]=0;t[a+12>>2]=0;t[a+16>>2]=0;t[a+20>>2]=-1;t[a+24>>2]=1;t[a+28>>2]=-1;t[a+32>>2]=0;c[a+40>>3]=0.0;t[a+48>>2]=0;t[a+52>>2]=0;t[a+56>>2]=0;t[a+60>>2]=0;t[a+64>>2]=0;t[a+68>>2]=5;t[a+72>>2]=0;t[a+76>>2]=i;mm(e,84770,a);t[n>>2]=l;t[n+4>>2]=A;t[n+8>>2]=l;t[n+12>>2]=r;t[n+16>>2]=s;t[n+20>>2]=r;t[n+24>>2]=s;t[n+28>>2]=A;t[n+32>>2]=l;t[n+36>>2]=A;mm(e,84828,n);h=f;return}}function $Z(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0;b=h;h=h+96|0;u=b+56|0;o=b+32|0;s=b;f=+c[r>>3];l=+c[r+16>>3]-f;a=+c[r+24>>3];n=a-+c[r+8>>3];if(!e)ge(111282,84407,53,84860);if(!A)ge(111312,84407,54,84860);i=A+8|0;if(!(t[i>>2]|0))ge(111315,84407,55,84860);hm(e,84879)|0;hm(e,t[i>>2]|0)|0;i=e+360|0;a=-a;if(!(t[i>>2]|0)){c[u>>3]=l;c[u+8>>3]=n;c[u+16>>3]=f;c[u+24>>3]=a;mm(e,85008,u)}else{c[s>>3]=n;c[s+8>>3]=l;c[s+16>>3]=f;c[s+24>>3]=a;mm(e,84899,s);t[o>>2]=t[i>>2];c[o+8>>3]=f;c[o+16>>3]=a;mm(e,84978,o)}hm(e,85087)|0;h=b;return}function eG(e){e=e|0;var A=0,r=0;A=sd(e)|0;while(1){if(!A)break;AG(A);A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;rG(A);A=qw(e,A)|0}r=cd(e,r)|0}return}function AG(e){e=e|0;var A=0,r=0;Sd(e,137447,304,1)|0;Fx(e);WJ(e,t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1);e=e+16|0;t[(t[e>>2]|0)+176>>2]=0;A=KF(20)|0;r=t[e>>2]|0;t[r+172>>2]=A;t[r+184>>2]=0;r=KF(20)|0;A=t[e>>2]|0;t[A+180>>2]=r;t[A+200>>2]=0;A=KF(12)|0;r=t[e>>2]|0;t[r+196>>2]=A;t[r+192>>2]=0;r=KF(12)|0;A=t[e>>2]|0;t[A+188>>2]=r;t[A+208>>2]=0;A=KF(12)|0;e=t[e>>2]|0;t[e+204>>2]=A;t[e+216>>2]=1;return}function rG(e){e=e|0;var A=0,r=0,n=0,f=0,l=0;Sd(e,137460,176,1)|0;Mx(e)|0;f=hx(e,t[47174]|0,1,0)|0;n=e+16|0;t[(t[n>>2]|0)+156>>2]=f;f=dx(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,t[47168]|0,195059)|0;l=dx(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,t[47168]|0,195059)|0;A=t[n>>2]|0;r=A+154|0;a[r>>1]=1;a[A+168>>1]=1;if((f|0)==(l|0)&(i[f>>0]|0)!=0){a[r>>1]=1e3;l=A+156|0;t[l>>2]=(t[l>>2]|0)*100}if(Kz(e)|0){l=t[n>>2]|0;a[l+154>>1]=0;t[l+156>>2]=0}l=(hx(e,t[47187]|0,0,0)|0)&255;i[(t[n>>2]|0)+152>>0]=l;l=(hx(e,t[47175]|0,1,0)|0)&65535;a[(t[n>>2]|0)+170>>1]=l;return}function iG(e){e=e|0;var A=0,r=0;aG(t[(t[e+16>>2]|0)+192>>2]|0);r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;bJ(A);A=qw(e,A)|0}tG(r);r=cd(e,r)|0}nG(e);return}function aG(e){e=e|0;var A=0,r=0,a=0,n=0;while(1){if(!e)break;a=e+16|0;n=t[(t[a>>2]|0)+164>>2]|0;fG(e);A=t[a>>2]|0;if((i[A+156>>0]|0)!=1){e=n;continue}r=t[A+180>>2]|0;if(r){G2(r);A=t[a>>2]|0}r=t[A+172>>2]|0;if(r){G2(r);A=t[a>>2]|0}G2(A);G2(e);e=n}return}function tG(e){e=e|0;var A=0,r=0,i=0;i=e+16|0;A=t[i>>2]|0;r=t[A+172>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+180>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+188>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+196>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+204>>2]|0;if(r){G2(r);A=t[i>>2]|0}SF(t[A+104>>2]|0);SF(t[(t[i>>2]|0)+108>>2]|0);A=t[(t[i>>2]|0)+8>>2]|0;if(A|0)F5[t[(t[A+4>>2]|0)+4>>2]&127](e);Ud(e,137447)|0;return}function nG(e){e=e|0;var A=0,r=0,i=0;A=xv(e)|0;while(1){if(!A)break;nG(A);A=Jv(A)|0}if(Sd(e,137483,0,1)|0){i=e+16|0;A=t[i>>2]|0;r=t[A+184>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+268>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+216>>2]|0;if(r){G2(r);A=t[i>>2]|0}do{if(t[A+196>>2]|0){r=a[A+236>>1]|0;while(1){if((r|0)>(a[A+238>>1]|0))break;G2(t[(t[A+196>>2]|0)+(r<<6)+12>>2]|0);r=r+1|0;A=t[i>>2]|0}r=t[A+196>>2]|0;if((a[A+236>>1]|0)==-1){G2(r+-64|0);break}else{G2(r);break}}}while(0);if((yd(e)|0)!=(e|0)){SF(t[(t[i>>2]|0)+12>>2]|0);Ud(e,137483)|0}}return}function fG(e){e=e|0;var A=0,r=0,i=0;i=e+16|0;r=t[i>>2]|0;A=t[r+176>>2]|0;while(1){e=A+-1|0;if((A|0)<=0)break;A=t[(t[r+172>>2]|0)+(e<<2)>>2]|0;EL(A);G2(t[A+16>>2]|0);G2(A);A=e;r=t[i>>2]|0}A=t[r+184>>2]|0;while(1){e=A+-1|0;if((A|0)<=0)break;A=t[(t[(t[i>>2]|0)+180>>2]|0)+(e<<2)>>2]|0;EL(A);G2(t[A+16>>2]|0);G2(A);A=e}return}function lG(e){e=e|0;if(gk(e)|0)sG(e);MV(e);return}function sG(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=h;h=h+48|0;n=f+32|0;a=f;A=oE(e,-1,8)|0;r=uE(e,0,a)|0;cE(e,2,8,a)|0;r=(r|0)==0;i=(A|0)<0;if(i&r)cG(e);else{if(r)t[a+16>>2]=3;else A=i?8:A;t[a+8>>2]=A;t[a+20>>2]=0;i=zp(e,n,0)|0;A=t[n>>2]|0;do{if((A|0)==1){cG(e);A=0}else{if(t[(t[(t[e+16>>2]|0)+8>>2]|0)+84>>2]|0){cG(e);A=0;break}t[a+12>>2]=1;r=0;while(1){if((r|0)>=(A|0))break;A=t[i+(r<<2)>>2]|0;oG(A,e);cG(A);r=r+1|0;A=t[n>>2]|0}uG(e);sE(t[n>>2]|0,i,e,a)|0;bG(e);hG(t[n>>2]|0,i,e);A=0}}while(0);while(1){if((A|0)>=(t[n>>2]|0))break;a=i+(A<<2)|0;G2(t[(t[(t[a>>2]|0)+16>>2]|0)+8>>2]|0);nG(t[a>>2]|0);Ed(e,t[a>>2]|0)|0;A=A+1|0}G2(i)}h=f;return}function cG(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+48|0;c=o+40|0;r=o;l=hx(e,zw(e,0,85102,0)|0,-1,1)|0;DJ(e,10);A=qz(e,r)|0;kG(e,e);eG(e);i=(l|0)==1;n=r+32|0;f=(l|0)==2;l=(l|0)==3;s=r+28|0;r=r+24|0;while(1){VD(e,A);if(i){A=3;break}if(t[n>>2]|0){nw(0,85108,c)|0;t[r>>2]=0;A=0}UL(e,(A|0)!=0&1);if(f){A=7;break}_Q(e,A);if(l){A=9;break}u=(t[s>>2]|0)+-1|0;t[s>>2]=u;if(!((u|0)!=0&(t[r>>2]|0)!=0)){A=11;break}}if((A|0)==3)dG(e,1);else if((A|0)==7)dG(e,2);else if((A|0)==9)dG(e,2);else if((A|0)==11){if(a[(t[e+16>>2]|0)+136>>1]&16)vG(e);Dz(e);EG(e);if((mx(Hw(e,85199)|0)|0)<<24>>24)CW(e)}h=o;return}function oG(e,A){e=e|0;A=A|0;var r=0,a=0;Sd(e,137483,280,1)|0;r=KF(96)|0;e=t[e+16>>2]|0;t[e+8>>2]=r;A=t[A+16>>2]|0;a=t[A+8>>2]|0;c[r>>3]=+c[a>>3];c[r+24>>3]=+c[a+24>>3];t[e+144>>2]=t[A+144>>2];i[e+115>>0]=i[A+115>>0]|0;t[e+116>>2]=t[A+116>>2];t[e+248>>2]=t[A+248>>2];t[e+252>>2]=t[A+252>>2];t[e+244>>2]=t[A+244>>2];return}function uG(e){e=e|0;var A=0,r=0,i=0;A=KF((gk(e)|0)<<4)|0;r=sd(e)|0;while(1){if(!r)break;i=t[r+16>>2]|0;t[i+132>>2]=A;c[A>>3]=+c[i+16>>3]*.013888888888888888;c[A+8>>3]=+c[i+24>>3]*.013888888888888888;A=A+16|0;r=cd(e,r)|0}return}function bG(e){e=e|0;var A=0,r=0,i=0,a=0;i=t[(t[(sd(e)|0)+16>>2]|0)+132>>2]|0;A=i;r=sd(e)|0;while(1){if(!r)break;a=t[r+16>>2]|0;t[a+132>>2]=0;c[a+16>>3]=+c[A>>3]*72.0;c[a+24>>3]=+c[A+8>>3]*72.0;A=A+16|0;r=cd(e,r)|0}G2(i);return}function hG(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;i=0;a=0;while(1){if((i|0)>=(e|0))break;l=(t[(t[(t[A+(i<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+a|0;i=i+1|0;a=l}l=r+16|0;t[(t[l>>2]|0)+180>>2]=a;n=KF((a<<2)+4|0)|0;t[(t[l>>2]|0)+184>>2]=n;n=0;i=1;while(1){if((n|0)>=(e|0))break;f=(t[A+(n<<2)>>2]|0)+16|0;a=1;while(1){r=t[f>>2]|0;if((a|0)>(t[r+180>>2]|0))break;r=Dp(t[(t[r+184>>2]|0)+(a<<2)>>2]|0)|0;t[(t[(t[l>>2]|0)+184>>2]|0)+(i<<2)>>2]=r;wG(t[(t[(t[f>>2]|0)+184>>2]|0)+(a<<2)>>2]|0,r);a=a+1|0;i=i+1|0}n=n+1|0}return}function wG(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;Sd(A,137483,280,1)|0;n=A+16|0;A=(t[n>>2]|0)+16|0;a=e+16|0;e=(t[a>>2]|0)+16|0;t[A>>2]=t[e>>2];t[A+4>>2]=t[e+4>>2];t[A+8>>2]=t[e+8>>2];t[A+12>>2]=t[e+12>>2];t[A+16>>2]=t[e+16>>2];t[A+20>>2]=t[e+20>>2];t[A+24>>2]=t[e+24>>2];t[A+28>>2]=t[e+28>>2];e=t[a>>2]|0;A=t[n>>2]|0;i[A+275>>0]=i[e+275>>0]|0;A=A+48|0;e=e+48|0;r=A+64|0;do{t[A>>2]=t[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(r|0));e=t[(t[a>>2]|0)+180>>2]|0;t[(t[n>>2]|0)+180>>2]=e;A=KF((e<<2)+4|0)|0;t[(t[n>>2]|0)+184>>2]=A;A=1;while(1){r=t[a>>2]|0;if((A|0)>(e|0))break;r=Dp(t[(t[r+184>>2]|0)+(A<<2)>>2]|0)|0;t[(t[(t[n>>2]|0)+184>>2]|0)+(A<<2)>>2]=r;wG(t[(t[(t[a>>2]|0)+184>>2]|0)+(A<<2)>>2]|0,r);A=A+1|0}a=r+12|0;t[(t[n>>2]|0)+12>>2]=t[a>>2];t[a>>2]=0;return}function kG(e,A){e=e|0;A=A|0;if((yd(e)|0)!=(e|0))Sd(e,137483,280,1)|0;if((e|0)==(A|0))t[(t[(yd(e)|0)+16>>2]|0)+188>>2]=e;e=xv(e)|0;while(1){if(!e)break;kG(e,A);e=Jv(e)|0}return}function dG(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+1040|0;c=o+8|0;s=o;i=o+16|0;a=zw(e,1,87171,195059)|0;n=zw(e,1,85242,195059)|0;f=(A|0)>0;r=(A|0)==1;A=sd(e)|0;while(1){if(!A)break;if(f?(l=A+16|0,t[s>>2]=t[(t[l>>2]|0)+232>>2],T4(i,137395,s)|0,Mw(A,a,i)|0,!r):0){t[c>>2]=t[(t[l>>2]|0)+236>>2];T4(i,137395,c)|0;Mw(A,n,i)|0}A=cd(e,A)|0}h=o;return}function vG(e){e=e|0;var A=0,r=0,i=0;r=Rv(e,86675,0)|0;if(r|0){A=sd(r)|0;while(1){if(!A)break;i=cd(r,A)|0;QL(e,A);gG(e,A);tG(A);pd(e,A)|0;A=i}Pv(e,r)|0}return}function gG(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;s=t[(t[A+16>>2]|0)+232>>2]|0;l=e+16|0;e=t[(t[l>>2]|0)+196>>2]|0;r=t[e+(s<<6)>>2]|0;f=e+(s<<6)+4|0;n=0;i=0;while(1){if((i|0)>=(r|0)){a=7;break}a=t[(t[f>>2]|0)+(i<<2)>>2]|0;i=i+1|0;if((a|0)==(A|0)){a=4;break}else n=a}if((a|0)==4){while(1){if((i|0)>=(r|0))break;a=t[e+(s<<6)+4>>2]|0;t[a+(i+-1<<2)>>2]=t[a+(i<<2)>>2];a=t[(t[l>>2]|0)+196>>2]|0;i=i+1|0;r=t[a+(s<<6)>>2]|0;e=a;a=4}t[e+(s<<6)>>2]=r+-1}else if((a|0)==7?(n|0)!=(A|0):0)ge(85208,85215,248,85225);return}function mG(e){e=e|0;return t[(t[(yd(e)|0)+16>>2]|0)+188>>2]|0}function pG(e,A){e=e|0;A=A|0;var r=0;r=i[e+28>>0]|0;if(i[A+28>>0]|0)if(r<<24>>24){r=~~(+c[e>>3]-+c[A>>3]);if(!r)r=~~(+c[e+8>>3]-+c[A+8>>3])}else r=-1;else r=r<<24>>24!=0&1;return r|0}function EG(e){e=e|0;BG(e,1);return}function BG(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0,q=0,K=0.0;q=h;h=h+656|0;x=q+592|0;R=q+552|0;r=q+544|0;S=q+96|0;j=q;_=q+632|0;U=e+16|0;O=a[(t[U>>2]|0)+136>>1]&14;J=O&65535;H=S+16|0;t[H>>2]=q+368;P=j+16|0;t[P>>2]=q+192;do{if(O<<16>>16){X=O<<16>>16==4;do{if(X){yG(e);if(!(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1))I=9;else{nw(0,85248,r)|0;I=9}}else if(O<<16>>16==8){yG(e);if(!(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1)){sA(e,0);u=0;o=0;s=0;break}else{CG(e);sA(e,1);u=0;o=0;s=0;break}}else I=9}while(0);if((I|0)==9){BW(e);if(TV()|0)break;T=KF(96)|0;M=t[(t[U>>2]|0)+248>>2]|0;t[_+8>>2]=(M|0)/4|0;t[_+12>>2]=M;s=KF(512)|0;D=_+4|0;t[D>>2]=0;t[_>>2]=0;l=t[U>>2]|0;G=a[l+236>>1]|0;L=0;V=0;N=s;Q=s;o=s;u=s;b=s;W=0;Y=0;e:while(1){if((G|0)>(a[l+238>>1]|0))break;w=t[l+196>>2]|0;f=t[w+(G<<6)>>2]|0;z=f+L|0;n=t[w+(G<<6)+4>>2]|0;r=t[n>>2]|0;if(!r)r=W;else{K=+(W|0);r=t[r+16>>2]|0;y=+c[r+16>>3]-+c[r+88>>3];r=~~(y>K?K:y)}if((f|0)!=0?(F=t[n+(f+-1<<2)>>2]|0,(F|0)!=0):0){y=+(Y|0);n=t[F+16>>2]|0;K=+c[n+96>>3]+ +c[n+16>>3];n=~~(K=(f|0))break;s=t[(t[r+(G<<6)+4>>2]|0)+(B<<2)>>2]|0;E=s+16|0;r=t[E>>2]|0;f=t[r+112>>2]|0;if(f){f=f+16|0;l=t[(t[f>>2]|0)+96>>2]|0;if(!l){I=21;break e}v=l+56|0;r=r+16|0;t[v>>2]=t[r>>2];t[v+4>>2]=t[r+4>>2];t[v+8>>2]=t[r+8>>2];t[v+12>>2]=t[r+12>>2];i[(t[(t[f>>2]|0)+96>>2]|0)+81>>0]=1;r=t[E>>2]|0}if((i[r+156>>0]|0)!=0?(I5[t[17300>>2]&63](s)|0)<<24>>24==0:0){k=g;r=d;l=m;s=p;f=b}else{v=0;k=g;l=m;s=p;I=25}A:do{if((I|0)==25){while(1){I=0;w=t[E>>2]|0;f=t[(t[w+180>>2]|0)+(v<<2)>>2]|0;if(!f)break;switch(i[(t[f+16>>2]|0)+112>>0]|0){case 6:case 4:{r=k;f=d;break}default:{IG(f,1,16,64);r=k+1|0;t[d+(k<<2)>>2]=f;if(!(r&127)){n=AM(n,(k<<2)+516|0)|0;f=n;l=n;s=n;u=n;b=n}else f=d}}v=v+1|0;k=r;d=f;I=25}r=t[w+188>>2]|0;r:do{if(!r)f=b;else{v=0;f=b;while(1){r=t[r+(v<<2)>>2]|0;if(!r)break r;IG(r,2,0,128);b=k+1|0;t[d+(k<<2)>>2]=r;if(!(b&127)){n=AM(f,(k<<2)+516|0)|0;r=n;l=n;s=n;u=n;f=n}else r=d;w=t[E>>2]|0;v=v+1|0;k=b;d=r;r=t[w+188>>2]|0}}}while(0);r=t[w+204>>2]|0;if(!r)r=d;else{if(!(i[w+156>>0]|0)){p=w+96|0;K=+c[p>>3];v=w+240|0;c[p>>3]=+c[v>>3];c[v>>3]=K;v=0;w=d}else{v=0;w=d}while(1){r=t[r+(v<<2)>>2]|0;if(!r){r=w;break A}IG(r,0,0,128);b=k+1|0;t[w+(k<<2)>>2]=r;if(!(b&127)){n=AM(u,(k<<2)+516|0)|0;r=n;l=n;s=n;u=n;f=n}else r=w;v=v+1|0;k=b;w=r;r=t[(t[E>>2]|0)+204>>2]|0}}}}while(0);m=t[U>>2]|0;E=t[m+196>>2]|0;B=B+1|0;g=k;d=r;k=m;m=l;p=s;b=f;f=t[E+(G<<6)>>2]|0;r=E}G=G+1|0;L=z;V=g;N=d;Q=m;l=k;o=p;s=n;W=Z;Y=C}if((I|0)==21)ge(85316,85329,313,85342);t[_>>2]=W;t[D>>2]=Y;_4(Q,V,4,58);t[T+84>>2]=KF((L<<5)+11520|0)|0;t[_+16>>2]=KF(G<<5)|0;e:do{if(O<<16>>16==2){r=(t[U>>2]|0)+192|0;while(1){n=t[r>>2]|0;if(!n)break e;f=n+16|0;r=t[f>>2]|0;if((i[r+156>>0]|0)==1?(t[r+104>>2]|0)!=0:0){GG(n);r=t[f>>2]|0}r=r+164|0}}}while(0);C=j+48|0;I=j+-48|0;Z=S+48|0;G=S+-48|0;y=+(M|0);B=0;e:while(1){if((B|0)>=(V|0))break;p=N+(B<<2)|0;d=t[p>>2]|0;v=LG(d)|0;g=d+16|0;n=t[g>>2]|0;if(!(i[n+44>>0]|0)){n=(i[n+84>>0]|0)==0?v:d;r=n;n=t[n+16>>2]|0}else r=d;f=r+16|0;if(t[n+164>>2]&32){n=t[H>>2]|0;Q6(n|0,t[f>>2]|0,176)|0;u=S;b=r;w=u+48|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));t[H>>2]=n;b=t[r>>2]&3;u=t[S>>2]&3;t[((u|0)==3?S:Z)+40>>2]=t[((b|0)==2?r:r+-48|0)+40>>2];t[((u|0)==2?S:G)+40>>2]=t[((b|0)==3?r:r+48|0)+40>>2];u=n+16|0;b=(t[f>>2]|0)+56|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));u=n+56|0;b=(t[f>>2]|0)+16|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));i[n+112>>0]=1;t[n+116>>2]=r;r=S}k=r+16|0;E=1;r=B;while(1){m=r+1|0;if((m|0)>=(V|0))break;l=N+(m<<2)|0;r=t[l>>2]|0;if((v|0)!=(LG(r)|0))break;if(!(i[(t[g>>2]|0)+113>>0]|0)){s=r+16|0;n=t[s>>2]|0;if(!(i[n+44>>0]|0)){n=(i[n+84>>0]|0)==0?v:r;r=n;n=t[n+16>>2]|0}f=r+16|0;if(t[n+164>>2]&32){n=t[P>>2]|0;Q6(n|0,t[f>>2]|0,176)|0;u=j;b=r;w=u+48|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));t[P>>2]=n;b=t[r>>2]&3;u=t[j>>2]&3;t[((u|0)==3?j:C)+40>>2]=t[((b|0)==2?r:r+-48|0)+40>>2];t[((u|0)==2?j:I)+40>>2]=t[((b|0)==3?r:r+48|0)+40>>2];u=n+16|0;b=(t[f>>2]|0)+56|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));u=n+56|0;b=(t[f>>2]|0)+16|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));i[n+112>>0]=1;t[n+116>>2]=r}f=t[k>>2]|0;r=n+16|0;u=R;b=f+16|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));u=x;b=r;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));if(pG(R,x)|0)break;r=n+56|0;u=R;b=f+56|0;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));u=x;b=r;w=u+40|0;do{t[u>>2]=t[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(w|0));if(pG(R,x)|0)break;M=t[g>>2]|0;if((t[M+164>>2]&15|0)==2?(t[M+96>>2]|0)!=(t[(t[s>>2]|0)+96>>2]|0):0)break;if(t[(t[(t[l>>2]|0)+16>>2]|0)+164>>2]&64|0)break}E=E+1|0;r=m}if(X){if((E|0)==1)r=x;else r=KF(E<<2)|0;t[r>>2]=LG(t[p>>2]|0)|0;n=1;while(1){if((n|0)>=(E|0))break;t[r+(n<<2)>>2]=t[p+(n<<2)>>2];n=n+1|0}aN(e,r,E,J,17296);if((E|0)>1)G2(r);B=m;continue}r=t[d>>2]&3;M=t[((r|0)==3?d:d+48|0)+40>>2]|0;r=t[((r|0)==2?d:d+-48|0)+40>>2]|0;n=t[M+16>>2]|0;f=t[n+232>>2]|0;if((M|0)!=(r|0))if((f|0)==(t[(t[r+16>>2]|0)+232>>2]|0)){QG(e,_,T,N,B,E,J);B=m;continue}else{DG(e,_,T,N,B,E,J);B=m;continue}r=t[U>>2]|0;do{if((f|0)==(a[r+238>>1]|0))if((f|0)>0){r=~~(+c[(t[(t[t[(t[r+196>>2]|0)+(f+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+c[n+24>>3]);break}else{r=~~+c[n+80>>3];break}else if((f|0)==(a[r+236>>1]|0)){r=~~(+c[n+24>>3]-+c[(t[(t[t[(t[r+196>>2]|0)+(f+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{r=t[r+196>>2]|0;K=+c[n+24>>3];M=~~(+c[(t[(t[t[r+(f+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-K);r=~~(K-+c[(t[(t[t[r+(f+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);r=(M|0)<(r|0)?M:r;break}}while(0);GR(T,N,B,E,y,+((r|0)/2|0|0),17296);r=0;while(1){if((r|0)>=(E|0)){B=m;continue e}n=t[(t[(t[N+(r+B<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(n|0)Hx(e,n);r=r+1|0}}r=(t[U>>2]|0)+192|0;while(1){n=t[r>>2]|0;if(!n)break;f=n+16|0;r=t[f>>2]|0;if((i[r+156>>0]|0)==1?(t[r+104>>2]|0)!=0:0){GG(n);Hx(e,t[(t[f>>2]|0)+104>>2]|0);r=t[f>>2]|0}r=r+164|0}if(!A){u=T;s=T}else{zG(e);u=T;s=T}}e:do{if((t[47197]|0)!=0|(t[47198]|0)!=0?(t[47203]|0)!=0|(t[47202]|0)!=0:0){l=sd(e)|0;while(1){if(!l)break e;A:do{if(t[47197]|0){r=Kw(e,l)|0;while(1){if(!r)break A;n=r+-48|0;f=(t[r>>2]&3|0)==2?r:n;if(t[(t[f+16>>2]|0)+100>>2]|0){MR(f,1)|0;Hx(e,t[(t[((t[r>>2]&3|0)==2?r:n)+16>>2]|0)+100>>2]|0)}r=$w(e,r)|0}}}while(0);A:do{if(t[47198]|0){r=Ow(e,l)|0;while(1){if(!r)break A;n=r+16|0;if(t[(t[n>>2]|0)+104>>2]|0?MR(r,0)|0:0)Hx(e,t[(t[n>>2]|0)+104>>2]|0);r=qw(e,r)|0}}}while(0);l=cd(e,l)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{G2(o);G2(t[u+84>>2]|0);G2(s);G2(t[_+16>>2]|0);OV()}}t[47138]=1;t[47139]=1}}while(0);h=q;return}function yG(e){e=e|0;var A=0,r=0,i=0.0,a=0;A=sd(e)|0;while(1){if(!A)break;r=t[A+16>>2]|0;if(t[r+204>>2]|0){a=r+96|0;i=+c[a>>3];r=r+240|0;c[a>>3]=+c[r>>3];c[r>>3]=i}A=cd(e,A)|0}return}function CG(e){e=e|0;var A=0,r=0,a=0,n=0;A=(t[e+16>>2]|0)+192|0;e:while(1){a=t[A>>2]|0;if(!a){A=12;break}n=a+16|0;A=t[n>>2]|0;do{if((i[A+156>>0]|0)==1){r=t[A+112>>2]|0;if(!r){r=t[A+104>>2]|0;if(!r)break;GG(a);A=r}else{r=t[(t[r+16>>2]|0)+96>>2]|0;if(!r){A=6;break e}a=r+56|0;A=A+16|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];i[r+81>>0]=1;A=r}Hx(e,A);A=t[n>>2]|0}}while(0);A=A+164|0}if((A|0)==6)ge(85516,85329,234,85535);else if((A|0)==12)return}function IG(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0;do{if(!A){n=t[e>>2]&3;A=t[((n|0)==3?e:e+48|0)+40>>2]|0;n=t[((n|0)==2?e:e+-48|0)+40>>2]|0;if((A|0)!=(n|0)){A=(t[(t[A+16>>2]|0)+232>>2]|0)==(t[(t[n+16>>2]|0)+232>>2]|0)?2:1;break}A=t[e+16>>2]|0;if(!(i[A+44>>0]|0))A=(i[A+84>>0]|0)==0?8:4;else A=4}}while(0);e:do{if(!r)switch(A|0){case 1:{r=t[e>>2]&3;r=(t[(t[(t[((r|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(t[(t[(t[((r|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break e}case 2:{r=t[e>>2]&3;r=(t[(t[(t[((r|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(t[(t[(t[((r|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break e}default:{r=16;break e}}}while(0);t[(t[e+16>>2]|0)+164>>2]=A|a|r;return}function ZG(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0;L=h;h=h+624|0;C=L+584|0;y=L+544|0;v=L+368|0;r=L+192|0;g=L+96|0;p=L;m=g+16|0;t[m>>2]=v;E=p+16|0;t[E>>2]=r;G=t[e>>2]|0;Z=t[A>>2]|0;B=G+16|0;k=t[B>>2]|0;A=t[k+164>>2]|0;a=A&15;I=Z+16|0;e=t[I>>2]|0;n=t[e+164>>2]&15;do{if((n|0)==(a|0)){w=LG(G)|0;d=LG(Z)|0;u=t[w>>2]|0;n=u&3;a=t[(t[((n|0)==3?w:w+48|0)+40>>2]|0)+16>>2]|0;n=t[(t[((n|0)==2?w:w+-48|0)+40>>2]|0)+16>>2]|0;f=(t[a+232>>2]|0)-(t[n+232>>2]|0)|0;b=t[d>>2]|0;o=b&3;s=t[(t[((o|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;o=t[(t[((o|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;l=(t[s+232>>2]|0)-(t[o+232>>2]|0)|0;f=(f|0)>-1?f:0-f|0;l=(l|0)>-1?l:0-l|0;if((f|0)!=(l|0)){e=f-l|0;break}n=~~(+c[a+16>>3]-+c[n+16>>3]);n=(n|0)>-1?n:0-n|0;a=~~(+c[s+16>>3]-+c[o+16>>3]);a=(a|0)>-1?a:0-a|0;if((n|0)!=(a|0)){e=n-a|0;break}n=u>>>4;a=b>>>4;if((n|0)!=(a|0)){e=n-a|0;break}if(!(i[k+44>>0]|0)){A=(i[k+84>>0]|0)==0?w:G;n=A;A=t[(t[A+16>>2]|0)+164>>2]|0}else n=G;a=n+16|0;if(A&32){Q6(v|0,t[a>>2]|0,176)|0;f=g;l=n;s=f+48|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));t[m>>2]=v;l=t[n>>2]&3;f=t[g>>2]&3;t[((f|0)==3?g:g+48|0)+40>>2]=t[((l|0)==2?n:n+-48|0)+40>>2];t[((f|0)==2?g:g+-48|0)+40>>2]=t[((l|0)==3?n:n+48|0)+40>>2];f=v+16|0;l=(t[a>>2]|0)+56|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));f=v+56|0;l=(t[a>>2]|0)+16|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));i[v+112>>0]=1;t[v+116>>2]=n;n=g;e=t[I>>2]|0}if(!(i[e+44>>0]|0)){e=(i[e+84>>0]|0)==0?d:Z;a=e;e=t[e+16>>2]|0}else a=Z;A=a+16|0;if(!(t[e+164>>2]&32))r=e;else{Q6(r|0,t[A>>2]|0,176)|0;f=p;l=a;s=f+48|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));t[E>>2]=r;l=t[a>>2]&3;f=t[p>>2]&3;t[((f|0)==3?p:p+48|0)+40>>2]=t[((l|0)==2?a:a+-48|0)+40>>2];t[((f|0)==2?p:p+-48|0)+40>>2]=t[((l|0)==3?a:a+48|0)+40>>2];f=r+16|0;l=(t[A>>2]|0)+56|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));f=r+56|0;l=(t[A>>2]|0)+16|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));i[r+112>>0]=1;t[r+116>>2]=a}A=t[n+16>>2]|0;e=r+16|0;f=y;l=A+16|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));f=C;l=e;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));e=pG(y,C)|0;if(!e){e=r+56|0;f=y;l=A+56|0;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));f=C;l=e;s=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));e=pG(y,C)|0;if(!e){A=t[(t[B>>2]|0)+164>>2]&192;e=t[(t[I>>2]|0)+164>>2]&192;if((A|0)==(e|0)){e=((t[G>>2]|0)>>>4)-((t[Z>>2]|0)>>>4)|0;break}else{e=A-e|0;break}}}}else e=n-a|0}while(0);h=L;return e|0}function GG(e){e=e|0;var A=0,r=0,a=0,n=0.0,f=0.0;a=e+16|0;A=t[a>>2]|0;if(t[A+176>>2]|0){A=t[A+180>>2]|0;while(1){A=(t[A>>2]|0)+16|0;r=t[A>>2]|0;if(!(i[r+112>>0]|0))break;else A=r+116|0}r=t[r+96>>2]|0;n=+c[r+24>>3];f=+c[r+32>>3];r=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1|0)!=0;e=t[a>>2]|0;a=t[(t[A>>2]|0)+96>>2]|0;c[a+56>>3]=(r?f:n)*.5+ +c[e+16>>3];c[a+64>>3]=+c[e+24>>3];i[a+81>>0]=1}return}function LG(e){e=e|0;var A=0,r=0;while(1){A=t[e+16>>2]|0;r=t[A+172>>2]|0;if(!r)break;else e=r}while(1){A=t[A+116>>2]|0;if(!A)break;e=A;A=t[A+16>>2]|0}return e|0}function QG(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0.0,L=0.0,Q=0.0,D=0.0,z=0.0;Z=h;h=h+1712|0;B=Z+1664|0;v=Z+1488|0;g=Z+1392|0;I=Z+1696|0;y=Z+696|0;C=Z;w=g+16|0;t[w>>2]=v;k=t[a+(n<<2)>>2]|0;d=k+16|0;s=t[d>>2]|0;m=i[s+113>>0]|0;if(t[s+164>>2]&32){Q6(v|0,s|0,176)|0;s=g;u=k;b=s+48|0;do{t[s>>2]=t[u>>2];s=s+4|0;u=u+4|0}while((s|0)<(b|0));t[w>>2]=v;s=t[g>>2]&3;t[((s|0)==3?g:g+48|0)+40>>2]=t[((t[k>>2]&3|0)==2?k:k+-48|0)+40>>2];t[((s|0)==2?g:g+-48|0)+40>>2]=t[((t[k>>2]&3|0)==3?k:k+48|0)+40>>2];s=v+16|0;u=(t[d>>2]|0)+56|0;b=s+40|0;do{t[s>>2]=t[u>>2];s=s+4|0;u=u+4|0}while((s|0)<(b|0));s=v+56|0;u=(t[d>>2]|0)+16|0;b=s+40|0;do{t[s>>2]=t[u>>2];s=s+4|0;u=u+4|0}while((s|0)<(b|0));i[v+112>>0]=1;t[v+116>>2]=k;k=g}s=1;while(1){if((s|0)>=(f|0)){E=6;break}if(!(i[(t[(t[a+(s+n<<2)>>2]|0)+16>>2]|0)+113>>0]|0))s=s+1|0;else{E=7;break}}e:do{if((E|0)==6)if(!(m<<24>>24)){s=t[k+16>>2]|0;if(t[s+96>>2]|0){rL(e,A,r,k,l);break}if((l|0)==2){I=t[k>>2]&3;iL(t[((I|0)==3?k:k+48|0)+40>>2]|0,t[((I|0)==2?k:k+-48|0)+40>>2]|0,a,n,f,2);break}g=i[s+49>>0]|0;m=i[s+89>>0]|0;if(!(g<<24>>24==1&m<<24>>24!=4)?!(g<<24>>24!=4&m<<24>>24==1):0){w=t[k>>2]&3;b=t[((w|0)==3?k:k+48|0)+40>>2]|0;w=t[((w|0)==2?k:k+-48|0)+40>>2]|0;s=t[b+16>>2]|0;u=t[s+232>>2]|0;if((u|0)>0){m=t[(t[e+16>>2]|0)+196>>2]|0;g=u+~(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;o=+c[(t[(t[t[m+(g<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+c[m+(g<<6)+16>>3]-+c[s+24>>3]-+c[m+(u<<6)+24>>3]}else o=+(t[(t[e+16>>2]|0)+252>>2]|0);G=+(f+1|0);p=+(t[A+12>>2]|0)/G;o=o/G;tL(e,A,r,b,k,y,1);tL(e,A,r,w,k,C,0);v=y+52|0;g=C+52|0;w=(l|0)==10;k=r+80|0;s=0;while(1){if((s|0)>=(f|0))break e;d=t[a+(s+n<<2)>>2]|0;b=t[v>>2]|0;u=b+-1|0;z=+c[y+56+(u<<5)>>3];D=+c[y+56+(u<<5)+16>>3];Q=+c[y+56+(u<<5)+24>>3];c[19215]=z;c[19216]=Q;s=s+1|0;G=+(s|0);L=p*G;c[19217]=D+L;G=Q+o*G;c[19218]=G;c[19219]=z;c[19220]=G;u=(t[g>>2]|0)+-1|0;z=+c[C+56+(u<<5)+16>>3];c[19221]=z;c[19222]=G+o;Q=+c[C+56+(u<<5)>>3];D=+c[C+56+(u<<5)+24>>3];c[19225]=z;c[19224]=D;c[19223]=Q-L;c[19226]=G;u=0;while(1){if((u|0)>=(b|0)){u=0;break}b=y+56+(u<<5)|0;t[B>>2]=t[b>>2];t[B+4>>2]=t[b+4>>2];t[B+8>>2]=t[b+8>>2];t[B+12>>2]=t[b+12>>2];t[B+16>>2]=t[b+16>>2];t[B+20>>2]=t[b+20>>2];t[B+24>>2]=t[b+24>>2];t[B+28>>2]=t[b+28>>2];ER(r,B);u=u+1|0;b=t[v>>2]|0}while(1){if((u|0)==3)break;l=153720+(u<<5)|0;t[B>>2]=t[l>>2];t[B+4>>2]=t[l+4>>2];t[B+8>>2]=t[l+8>>2];t[B+12>>2]=t[l+12>>2];t[B+16>>2]=t[l+16>>2];t[B+20>>2]=t[l+20>>2];t[B+24>>2]=t[l+24>>2];t[B+28>>2]=t[l+28>>2];ER(r,B);u=u+1|0}b=t[g>>2]|0;while(1){u=b+-1|0;if((b|0)<=0)break;b=C+56+(u<<5)|0;t[B>>2]=t[b>>2];t[B+4>>2]=t[b+4>>2];t[B+8>>2]=t[b+8>>2];t[B+12>>2]=t[b+12>>2];t[B+16>>2]=t[b+16>>2];t[B+20>>2]=t[b+20>>2];t[B+24>>2]=t[b+24>>2];t[B+28>>2]=t[b+28>>2];ER(r,B);b=u}if(w)u=_V(r,I)|0;else u=rN(r,I)|0;b=t[I>>2]|0;if(!b)break e;mR(d,t[((t[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,u,b,17296);t[k>>2]=0}}aL(e,A,r,a,n,f,k,(l|0)==10&1)}else E=7}while(0);if((E|0)==7)AL(e,a,n,f,k,l);h=Z;return}function DG(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0,q=0,K=0,$=0,ee=0,Ae=0,re=0;Ae=h;h=h+2576|0;X=Ae+2528|0;K=Ae+2568|0;s=Ae+2352|0;u=Ae+2176|0;g=Ae+1904|0;_=Ae+1808|0;$=Ae+1712|0;S=Ae+1016|0;j=Ae+320|0;U=Ae+256|0;O=Ae+2564|0;q=Ae+2560|0;C=Ae+288|0;I=Ae+224|0;V=Ae+192|0;N=Ae+160|0;R=Ae+128|0;x=Ae+96|0;J=Ae+64|0;H=Ae+32|0;T=Ae;v=g+16|0;t[v>>2]=s;b=_+16|0;t[b>>2]=u;ee=$+16|0;t[ee>>2]=Ae+2e3;if(!(t[46734]|0)){t[46734]=$F(32e3)|0;t[46735]=$F(32e3)|0;t[46736]=2e3;t[46737]=2e3}m=t[a+(n<<2)>>2]|0;M=t[m>>2]&3;w=m+48|0;k=m+-48|0;M=(t[(t[(t[((M|0)==3?m:w)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((M|0)==2?m:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;d=m+16|0;if((((M|0)>-1?M:0-M|0)|0)<=1){s=t[d>>2]|0;if(!(t[s+164>>2]&32)){M=m;u=0}else{u=t[v>>2]|0;Q6(u|0,s|0,176)|0;E=g;B=m;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));t[v>>2]=u;E=t[g>>2]&3;t[((E|0)==3?g:g+48|0)+40>>2]=t[((t[m>>2]&3|0)==2?m:k)+40>>2];t[((E|0)==2?g:g+-48|0)+40>>2]=t[((t[m>>2]&3|0)==3?m:w)+40>>2];E=u+16|0;B=(t[d>>2]|0)+56|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));s=t[v>>2]|0;E=s+56|0;B=(t[d>>2]|0)+16|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));i[s+112>>0]=1;u=0;F=12}}else{Q6(s|0,t[d>>2]|0,176)|0;E=g;B=m;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));E=g+48|0;B=w;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));t[v>>2]=s;s=t[d>>2]|0;if(!(t[s+164>>2]&32)){Q6(u|0,s|0,176)|0;E=_;B=m;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));t[b>>2]=u;b=t[g>>2]|0;t[((b&3|0)==3?g:g+48|0)+40>>2]=t[((t[m>>2]&3|0)==3?m:w)+40>>2];E=_+48|0;B=w;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0))}else{u=t[b>>2]|0;Q6(u|0,s|0,176)|0;E=_;B=m;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));t[b>>2]=u;E=t[_>>2]&3;t[((E|0)==3?_:_+48|0)+40>>2]=t[((t[m>>2]&3|0)==2?m:k)+40>>2];t[((E|0)==2?_:_+-48|0)+40>>2]=t[((t[m>>2]&3|0)==3?m:w)+40>>2];E=u+16|0;B=(t[d>>2]|0)+56|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));s=t[b>>2]|0;E=s+56|0;B=(t[d>>2]|0)+16|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));i[s+112>>0]=1;t[s+116>>2]=m;b=t[g>>2]|0;t[((b&3|0)==3?g:g+48|0)+40>>2]=t[((t[m>>2]&3|0)==2?m:k)+40>>2];E=(t[v>>2]|0)+16|0;B=(t[d>>2]|0)+56|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0))}s=LG(m)|0;while(1){u=t[(t[s+16>>2]|0)+172>>2]|0;if(!u)break;else s=u}t[((b&3|0)==2?g:g+-48|0)+40>>2]=t[((t[s>>2]&3|0)==2?s:s+-48|0)+40>>2];s=t[v>>2]|0;i[s+84>>0]=0;i[s+112>>0]=1;u=s+56|0;t[u>>2]=0;t[u+4>>2]=0;t[u+8>>2]=0;t[u+12>>2]=0;u=1;F=12}if((F|0)==12){t[s+116>>2]=m;M=g}W=(l|0)==2;if(W?(p=FG(e,M,t[46734]|0,K)|0,t[q>>2]=p,(p|0)!=0):0)F=63;else F=15;e:do{if((F|0)==15){z=(l|0)==10;t[q>>2]=0;b=t[M>>2]&3;s=t[((b|0)==3?M:M+48|0)+40>>2]|0;b=t[((b|0)==2?M:M+-48|0)+40>>2]|0;t[K>>2]=b;MG(C,e,A,s,0,M);t[S>>2]=t[C>>2];t[S+4>>2]=t[C+4>>2];t[S+8>>2]=t[C+8>>2];t[S+12>>2]=t[C+12>>2];t[S+16>>2]=t[C+16>>2];t[S+20>>2]=t[C+20>>2];t[S+24>>2]=t[C+24>>2];t[S+28>>2]=t[C+28>>2];t[U>>2]=t[C>>2];t[U+4>>2]=t[C+4>>2];t[U+8>>2]=t[C+8>>2];t[U+12>>2]=t[C+12>>2];t[U+16>>2]=t[C+16>>2];t[U+20>>2]=t[C+20>>2];BR(r,M,1,S,VG(s)|0);Z=S+52|0;Y=(t[Z>>2]|0)+-1|0;L=U+24|0;c[L>>3]=+c[S+56+(Y<<5)+24>>3];Q=U+8|0;c[Q>>3]=+c[S+56+(Y<<5)+8>>3];Y=t[s+16>>2]|0;D=e+16|0;o=+c[Y+24>>3]-+c[(t[(t[D>>2]|0)+196>>2]|0)+(t[Y+232>>2]<<6)+16>>3];t[X>>2]=t[U>>2];t[X+4>>2]=t[U+4>>2];t[X+8>>2]=t[U+8>>2];t[X+12>>2]=t[U+12>>2];t[X+16>>2]=t[U+16>>2];t[X+20>>2]=t[U+20>>2];t[X+24>>2]=t[U+24>>2];t[X+28>>2]=t[U+28>>2];NG(I,X,1,o);t[U>>2]=t[I>>2];t[U+4>>2]=t[I+4>>2];t[U+8>>2]=t[I+8>>2];t[U+12>>2]=t[I+12>>2];t[U+16>>2]=t[I+16>>2];t[U+20>>2]=t[I+20>>2];t[U+24>>2]=t[I+24>>2];t[U+28>>2]=t[I+28>>2];I=U+16|0;if(+c[U>>3]<+c[I>>3]?+c[Q>>3]<+c[L>>3]:0){Y=t[Z>>2]|0;t[Z>>2]=Y+1;Y=S+56+(Y<<5)|0;t[Y>>2]=t[U>>2];t[Y+4>>2]=t[U+4>>2];t[Y+8>>2]=t[U+8>>2];t[Y+12>>2]=t[U+12>>2];t[Y+16>>2]=t[U+16>>2];t[Y+20>>2]=t[U+20>>2];t[Y+24>>2]=t[U+24>>2];t[Y+28>>2]=t[U+28>>2]}E=e+60|0;G=j+52|0;B=r+56|0;y=r+69|0;l=r+16|0;C=r+29|0;Y=M;k=0;d=-1;A:while(1){v=s;g=0;s=0;m=Y;while(1){w=b;p=b;if((i[(t[w+16>>2]|0)+156>>0]|0)!=1)break A;if((I5[t[17300>>2]&63](w)|0)<<24>>24)break A;b=g|1;re=153720+(g<<5)|0;RG(V,A,e,t[(t[v+16>>2]|0)+232>>2]|0);t[re>>2]=t[V>>2];t[re+4>>2]=t[V+4>>2];t[re+8>>2]=t[V+8>>2];t[re+12>>2]=t[V+12>>2];t[re+16>>2]=t[V+16>>2];t[re+20>>2]=t[V+20>>2];t[re+24>>2]=t[V+24>>2];t[re+28>>2]=t[V+28>>2];if(!s){k=xG(w)|0;s=(k|0)<((i[(t[(t[E>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);k=s?k:k+-2|0;d=s?d:1;s=(s^1)&1}if(!((s|0)==0|(d|0)>0))break;re=153720+(b<<5)|0;MG(N,e,A,w,m,t[t[(t[w+16>>2]|0)+180>>2]>>2]|0);t[re>>2]=t[N>>2];t[re+4>>2]=t[N+4>>2];t[re+8>>2]=t[N+8>>2];t[re+12>>2]=t[N+12>>2];t[re+16>>2]=t[N+16>>2];t[re+20>>2]=t[N+20>>2];t[re+24>>2]=t[N+24>>2];t[re+28>>2]=t[N+28>>2];re=t[t[(t[p+16>>2]|0)+180>>2]>>2]|0;b=t[re>>2]&3;v=t[((b|0)==3?re:re+48|0)+40>>2]|0;b=t[((b|0)==2?re:re+-48|0)+40>>2]|0;t[K>>2]=b;g=g+2|0;d=d+-1|0;m=re}MG(R,e,A,w,m,t[t[(t[w+16>>2]|0)+180>>2]>>2]|0);t[j>>2]=t[R>>2];t[j+4>>2]=t[R+4>>2];t[j+8>>2]=t[R+8>>2];t[j+12>>2]=t[R+12>>2];t[j+16>>2]=t[R+16>>2];t[j+20>>2]=t[R+20>>2];t[j+24>>2]=t[R+24>>2];t[j+28>>2]=t[R+28>>2];IR(r,m,1,j,VG(t[((t[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0);re=j+56+((t[G>>2]|0)+-1<<5)|0;g=t[p+16>>2]|0;o=+c[(t[(t[D>>2]|0)+196>>2]|0)+(t[g+232>>2]<<6)+24>>3]+ +c[g+24>>3];t[X>>2]=t[re>>2];t[X+4>>2]=t[re+4>>2];t[X+8>>2]=t[re+8>>2];t[X+12>>2]=t[re+12>>2];t[X+16>>2]=t[re+16>>2];t[X+20>>2]=t[re+20>>2];t[X+24>>2]=t[re+24>>2];t[X+28>>2]=t[re+28>>2];NG(U,X,4,o);if(+c[U>>3]<+c[I>>3]?+c[Q>>3]<+c[L>>3]:0){re=t[G>>2]|0;t[G>>2]=re+1;re=j+56+(re<<5)|0;t[re>>2]=t[U>>2];t[re+4>>2]=t[U+4>>2];t[re+8>>2]=t[U+8>>2];t[re+12>>2]=t[U+12>>2];t[re+16>>2]=t[U+16>>2];t[re+20>>2]=t[U+20>>2];t[re+24>>2]=t[U+24>>2];t[re+28>>2]=t[U+28>>2]}c[B>>3]=1.5707963267948966;i[y>>0]=1;JG(r,Y,m,S,j,b);if(!z){s=rN(r,O)|0;b=t[O>>2]|0;if(W&(b|0)>4){re=s+16|0;t[re>>2]=t[s>>2];t[re+4>>2]=t[s+4>>2];t[re+8>>2]=t[s+8>>2];t[re+12>>2]=t[s+12>>2];re=s+32|0;b=s+(b+-1<<4)|0;t[re>>2]=t[b>>2];t[re+4>>2]=t[b+4>>2];t[re+8>>2]=t[b+8>>2];t[re+12>>2]=t[b+12>>2];D6(s+48|0,b|0,16)|0;t[O>>2]=4;b=4}else F=33}else{s=_V(r,O)|0;b=t[O>>2]|0;F=33}if((F|0)==33){F=0;if(!b)break e}m=t[q>>2]|0;w=m+b|0;if((w|0)>(t[46736]|0)){t[46736]=w<<1;g=AM(t[46734]|0,w<<5)|0;t[46734]=g;b=t[O>>2]|0}else g=t[46734]|0;v=0;w=m;while(1){if((v|0)>=(b|0))break;re=g+(w<<4)|0;m=s+(v<<4)|0;t[re>>2]=t[m>>2];t[re+4>>2]=t[m+4>>2];t[re+8>>2]=t[m+8>>2];t[re+12>>2]=t[m+12>>2];v=v+1|0;w=w+1|0}t[q>>2]=w;b=HG(t[t[(t[p+16>>2]|0)+180>>2]>>2]|0,k,g,q)|0;PG(Y,r);w=t[b>>2]&3;s=t[((w|0)==3?b:b+48|0)+40>>2]|0;w=t[((w|0)==2?b:b+-48|0)+40>>2]|0;t[K>>2]=w;Y=s+16|0;MG(x,e,A,s,t[t[(t[Y>>2]|0)+172>>2]>>2]|0,b);t[S>>2]=t[x>>2];t[S+4>>2]=t[x+4>>2];t[S+8>>2]=t[x+8>>2];t[S+12>>2]=t[x+12>>2];t[S+16>>2]=t[x+16>>2];t[S+20>>2]=t[x+20>>2];t[S+24>>2]=t[x+24>>2];t[S+28>>2]=t[x+28>>2];BR(r,b,1,S,VG(s)|0);re=S+56+((t[Z>>2]|0)+-1<<5)|0;Y=t[Y>>2]|0;o=+c[Y+24>>3]-+c[(t[(t[D>>2]|0)+196>>2]|0)+(t[Y+232>>2]<<6)+16>>3];t[X>>2]=t[re>>2];t[X+4>>2]=t[re+4>>2];t[X+8>>2]=t[re+8>>2];t[X+12>>2]=t[re+12>>2];t[X+16>>2]=t[re+16>>2];t[X+20>>2]=t[re+20>>2];t[X+24>>2]=t[re+24>>2];t[X+28>>2]=t[re+28>>2];NG(U,X,1,o);if(+c[U>>3]<+c[I>>3]?+c[Q>>3]<+c[L>>3]:0){re=t[Z>>2]|0;t[Z>>2]=re+1;re=S+56+(re<<5)|0;t[re>>2]=t[U>>2];t[re+4>>2]=t[U+4>>2];t[re+8>>2]=t[U+8>>2];t[re+12>>2]=t[U+12>>2];t[re+16>>2]=t[U+16>>2];t[re+20>>2]=t[U+20>>2];t[re+24>>2]=t[U+24>>2];t[re+28>>2]=t[U+28>>2]}c[l>>3]=-1.5707963267948966;i[C>>0]=1;Y=b;b=w}s=g|1;d=153720+(g<<5)|0;RG(J,A,e,t[(t[v+16>>2]|0)+232>>2]|0);t[d>>2]=t[J>>2];t[d+4>>2]=t[J+4>>2];t[d+8>>2]=t[J+8>>2];t[d+12>>2]=t[J+12>>2];t[d+16>>2]=t[J+16>>2];t[d+20>>2]=t[J+20>>2];t[d+24>>2]=t[J+24>>2];t[d+28>>2]=t[J+28>>2];MG(H,e,A,w,m,0);t[j>>2]=t[H>>2];t[j+4>>2]=t[H+4>>2];t[j+8>>2]=t[H+8>>2];t[j+12>>2]=t[H+12>>2];t[j+16>>2]=t[H+16>>2];t[j+20>>2]=t[H+20>>2];t[j+24>>2]=t[H+24>>2];t[j+28>>2]=t[H+28>>2];t[U>>2]=t[H>>2];t[U+4>>2]=t[H+4>>2];t[U+8>>2]=t[H+8>>2];t[U+12>>2]=t[H+12>>2];t[U+16>>2]=t[H+16>>2];t[U+20>>2]=t[H+20>>2];t[U+24>>2]=t[H+24>>2];t[U+28>>2]=t[H+28>>2];d=(u|0)!=0;v=m+-48|0;IR(r,d?_:m,1,j,VG(t[((t[m>>2]&3|0)==2?m:v)+40>>2]|0)|0);re=(t[G>>2]|0)+-1|0;c[L>>3]=+c[j+56+(re<<5)+24>>3];c[Q>>3]=+c[j+56+(re<<5)+8>>3];re=t[p+16>>2]|0;o=+c[(t[(t[D>>2]|0)+196>>2]|0)+(t[re+232>>2]<<6)+24>>3]+ +c[re+24>>3];t[X>>2]=t[U>>2];t[X+4>>2]=t[U+4>>2];t[X+8>>2]=t[U+8>>2];t[X+12>>2]=t[U+12>>2];t[X+16>>2]=t[U+16>>2];t[X+20>>2]=t[U+20>>2];t[X+24>>2]=t[U+24>>2];t[X+28>>2]=t[U+28>>2];NG(T,X,4,o);t[U>>2]=t[T>>2];t[U+4>>2]=t[T+4>>2];t[U+8>>2]=t[T+8>>2];t[U+12>>2]=t[T+12>>2];t[U+16>>2]=t[T+16>>2];t[U+20>>2]=t[T+20>>2];t[U+24>>2]=t[T+24>>2];t[U+28>>2]=t[T+28>>2];if(+c[U>>3]<+c[I>>3]?+c[Q>>3]<+c[L>>3]:0){re=t[G>>2]|0;t[G>>2]=re+1;re=j+56+(re<<5)|0;t[re>>2]=t[U>>2];t[re+4>>2]=t[U+4>>2];t[re+8>>2]=t[U+8>>2];t[re+12>>2]=t[U+12>>2];t[re+16>>2]=t[U+16>>2];t[re+20>>2]=t[U+20>>2];t[re+24>>2]=t[U+24>>2];t[re+28>>2]=t[U+28>>2]}JG(r,Y,m,S,j,s);if(z)k=_V(r,O)|0;else k=rN(r,O)|0;s=t[O>>2]|0;if(!(W&(s|0)>4)){if(!s)break}else{re=k+16|0;t[re>>2]=t[k>>2];t[re+4>>2]=t[k+4>>2];t[re+8>>2]=t[k+8>>2];t[re+12>>2]=t[k+12>>2];re=k+32|0;s=k+(s+-1<<4)|0;t[re>>2]=t[s>>2];t[re+4>>2]=t[s+4>>2];t[re+8>>2]=t[s+8>>2];t[re+12>>2]=t[s+12>>2];D6(k+48|0,s|0,16)|0;t[O>>2]=4;s=4}b=t[q>>2]|0;u=b+s|0;if((u|0)>(t[46736]|0)){t[46736]=u<<1;w=AM(t[46734]|0,u<<5)|0;t[46734]=w;s=t[O>>2]|0}else w=t[46734]|0;u=0;while(1){if((u|0)>=(s|0))break;re=w+(b<<4)|0;O=k+(u<<4)|0;t[re>>2]=t[O>>2];t[re+4>>2]=t[O+4>>2];t[re+8>>2]=t[O+8>>2];t[re+12>>2]=t[O+12>>2];u=u+1|0;b=b+1|0}t[q>>2]=b;PG(Y,r);if(d)s=(t[_>>2]&3|0)==2?_:_+-48|0;else s=(t[m>>2]&3|0)==2?m:v;t[K>>2]=t[s+40>>2];p=b;F=63}}while(0);e:do{if((F|0)==63){if((f|0)==1){mR(M,t[K>>2]|0,t[46734]|0,p,17296);break}g=A+12|0;m=p+-1|0;o=+((P(t[g>>2]|0,f+-1|0)|0)/2|0|0);u=t[46734]|0;s=1;while(1){if((s|0)>=(m|0))break;re=u+(s<<4)|0;c[re>>3]=+c[re>>3]-o;s=s+1|0}s=t[46736]|0;if((s|0)>(t[46737]|0)){t[46737]=s;b=AM(t[46735]|0,s<<4)|0;t[46735]=b;u=t[46734]|0}else b=t[46735]|0;s=0;while(1){if((s|0)>=(p|0))break;re=b+(s<<4)|0;A=u+(s<<4)|0;t[re>>2]=t[A>>2];t[re+4>>2]=t[A+4>>2];t[re+8>>2]=t[A+8>>2];t[re+12>>2]=t[A+12>>2];s=s+1|0}mR(M,t[K>>2]|0,b,p,17296);d=$+48|0;v=$+-48|0;k=1;while(1){if((k|0)>=(f|0))break e;b=t[a+(k+n<<2)>>2]|0;w=b+16|0;s=t[w>>2]|0;if(t[s+164>>2]&32){u=t[ee>>2]|0;Q6(u|0,s|0,176)|0;E=$;B=b;y=E+48|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));t[ee>>2]=u;E=t[$>>2]&3;t[((E|0)==3?$:d)+40>>2]=t[((t[b>>2]&3|0)==2?b:b+-48|0)+40>>2];t[((E|0)==2?$:v)+40>>2]=t[((t[b>>2]&3|0)==3?b:b+48|0)+40>>2];E=u+16|0;B=(t[w>>2]|0)+56|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));s=t[ee>>2]|0;E=s+56|0;B=(t[w>>2]|0)+16|0;y=E+40|0;do{t[E>>2]=t[B>>2];E=E+4|0;B=B+4|0}while((E|0)<(y|0));i[s+112>>0]=1;t[s+116>>2]=b;b=$}w=t[46734]|0;s=1;while(1){if((s|0)>=(m|0))break;re=w+(s<<4)|0;c[re>>3]=+c[re>>3]+ +(t[g>>2]|0);s=s+1|0}u=t[46735]|0;s=0;while(1){if((s|0)>=(p|0))break;re=u+(s<<4)|0;K=w+(s<<4)|0;t[re>>2]=t[K>>2];t[re+4>>2]=t[K+4>>2];t[re+8>>2]=t[K+8>>2];t[re+12>>2]=t[K+12>>2];s=s+1|0}mR(b,t[((t[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,u,p,17296);k=k+1|0}}}while(0);h=Ae;return}function zG(e){e=e|0;var A=0,r=0,i=0;A=sd(e)|0;while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;if((I5[t[4324]&63](r)|0)<<24>>24?(i=t[(t[r+16>>2]|0)+8>>2]|0,i|0):0)WG(i);r=qw(e,r)|0}A=cd(e,A)|0}return}function WG(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=t[e+4>>2]|0;n=$F(a*48|0)|0;A=n;r=0;i=(t[e>>2]|0)+((a+-1|0)*48|0)|0;while(1){if((r|0)>=(a|0)){A=0;break}YG(i,A);A=A+48|0;r=r+1|0;i=i+-48|0}while(1){r=t[e>>2]|0;if((A|0)>=(a|0))break;G2(t[r+(A*48|0)>>2]|0);A=A+1|0}G2(r);t[e>>2]=n;return}function YG(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=t[e+4>>2]|0;f=$F(n<<4)|0;r=f;i=0;a=(t[e>>2]|0)+(n+-1<<4)|0;while(1){if((i|0)>=(n|0))break;t[r>>2]=t[a>>2];t[r+4>>2]=t[a+4>>2];t[r+8>>2]=t[a+8>>2];t[r+12>>2]=t[a+12>>2];r=r+16|0;i=i+1|0;a=a+-16|0}t[A>>2]=f;t[A+4>>2]=n;t[A+8>>2]=t[e+12>>2];t[A+12>>2]=t[e+8>>2];f=A+16|0;n=e+32|0;t[f>>2]=t[n>>2];t[f+4>>2]=t[n+4>>2];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];f=A+32|0;n=e+16|0;t[f>>2]=t[n>>2];t[f+4>>2]=t[n+4>>2];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];return}function FG(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;B=h;h=h+96|0;k=B+80|0;v=B+64|0;d=B+48|0;m=B+32|0;p=B+16|0;E=B;o=A;while(1){g=o+16|0;n=t[g>>2]|0;if(!(i[n+112>>0]|0))break;o=t[n+116>>2]|0}n=t[o>>2]&3;b=t[((n|0)==2?o:o+-48|0)+40>>2]|0;n=t[((n|0)==3?o:o+48|0)+40>>2]|0;o=b+16|0;u=n+16|0;y=(t[(t[o>>2]|0)+232>>2]|0)-(t[(t[u>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{n=0;break}case 2:{if(!(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1))w=6;else n=0;break}default:w=6}do{if((w|0)==6){if((t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)==(n|0)){t[a>>2]=b;y=(t[u>>2]|0)+16|0;w=(t[g>>2]|0)+16|0;t[v>>2]=t[y>>2];t[v+4>>2]=t[y+4>>2];t[v+8>>2]=t[y+8>>2];t[v+12>>2]=t[y+12>>2];t[k>>2]=t[w>>2];t[k+4>>2]=t[w+4>>2];t[k+8>>2]=t[w+8>>2];t[k+12>>2]=t[w+12>>2];$G(m,v,k);w=(t[o>>2]|0)+16|0;y=(t[g>>2]|0)+56|0;t[v>>2]=t[w>>2];t[v+4>>2]=t[w+4>>2];t[v+8>>2]=t[w+8>>2];t[v+12>>2]=t[w+12>>2];t[k>>2]=t[y>>2];t[k+4>>2]=t[y+4>>2];t[k+8>>2]=t[y+8>>2];t[k+12>>2]=t[y+12>>2];$G(p,v,k)}else{t[a>>2]=n;y=(t[o>>2]|0)+16|0;w=(t[g>>2]|0)+56|0;t[v>>2]=t[y>>2];t[v+4>>2]=t[y+4>>2];t[v+8>>2]=t[y+8>>2];t[v+12>>2]=t[y+12>>2];t[k>>2]=t[w>>2];t[k+4>>2]=t[w+4>>2];t[k+8>>2]=t[w+8>>2];t[k+12>>2]=t[w+12>>2];$G(m,v,k);w=(t[u>>2]|0)+16|0;y=(t[g>>2]|0)+16|0;t[v>>2]=t[w>>2];t[v+4>>2]=t[w+4>>2];t[v+8>>2]=t[w+8>>2];t[v+12>>2]=t[w+12>>2];t[k>>2]=t[y>>2];t[k+4>>2]=t[y+4>>2];t[k+8>>2]=t[y+8>>2];t[k+12>>2]=t[y+12>>2];$G(p,v,k)}n=t[(t[g>>2]|0)+96>>2]|0;if(!n){n=r+16|0;t[r>>2]=t[m>>2];t[r+4>>2]=t[m+4>>2];t[r+8>>2]=t[m+8>>2];t[r+12>>2]=t[m+12>>2];t[n>>2]=t[m>>2];t[n+4>>2]=t[m+4>>2];t[n+8>>2]=t[m+8>>2];t[n+12>>2]=t[m+12>>2];n=r+48|0;y=r+32|0;t[y>>2]=t[p>>2];t[y+4>>2]=t[p+4>>2];t[y+8>>2]=t[p+8>>2];t[y+12>>2]=t[p+12>>2];t[n>>2]=t[p>>2];t[n+4>>2]=t[p+4>>2];t[n+8>>2]=t[p+8>>2];t[n+12>>2]=t[p+12>>2];n=4;break}l=+c[n+24>>3];f=+c[n+32>>3];w=(t[(t[(Bd(b)|0)+16>>2]|0)+116>>2]&1|0)==0;s=w?f:l;y=(t[(t[g>>2]|0)+96>>2]|0)+56|0;t[E>>2]=t[y>>2];t[E+4>>2]=t[y+4>>2];t[E+8>>2]=t[y+8>>2];t[E+12>>2]=t[y+12>>2];t[d>>2]=t[p>>2];t[d+4>>2]=t[p+4>>2];t[d+8>>2]=t[p+8>>2];t[d+12>>2]=t[p+12>>2];t[v>>2]=t[m>>2];t[v+4>>2]=t[m+4>>2];t[v+8>>2]=t[m+8>>2];t[v+12>>2]=t[m+12>>2];t[k>>2]=t[y>>2];t[k+4>>2]=t[y+4>>2];t[k+8>>2]=t[y+8>>2];t[k+12>>2]=t[y+12>>2];y=(eL(d,v,k)|0)==0;f=(w?l:f)*.5;l=+c[E>>3];if(y){c[E>>3]=l-f;y=E+8|0;c[y>>3]=+c[y>>3]+s*.5}else{c[E>>3]=l+f;y=E+8|0;c[y>>3]=+c[y>>3]-s*.5}n=r+16|0;t[r>>2]=t[m>>2];t[r+4>>2]=t[m+4>>2];t[r+8>>2]=t[m+8>>2];t[r+12>>2]=t[m+12>>2];t[n>>2]=t[m>>2];t[n+4>>2]=t[m+4>>2];t[n+8>>2]=t[m+8>>2];t[n+12>>2]=t[m+12>>2];n=r+32|0;y=r+48|0;m=r+64|0;t[m>>2]=t[E>>2];t[m+4>>2]=t[E+4>>2];t[m+8>>2]=t[E+8>>2];t[m+12>>2]=t[E+12>>2];t[y>>2]=t[E>>2];t[y+4>>2]=t[E+4>>2];t[y+8>>2]=t[E+8>>2];t[y+12>>2]=t[E+12>>2];t[n>>2]=t[E>>2];t[n+4>>2]=t[E+4>>2];t[n+8>>2]=t[E+8>>2];t[n+12>>2]=t[E+12>>2];n=r+80|0;y=r+96|0;t[y>>2]=t[p>>2];t[y+4>>2]=t[p+4>>2];t[y+8>>2]=t[p+8>>2];t[y+12>>2]=t[p+12>>2];t[n>>2]=t[p>>2];t[n+4>>2]=t[p+4>>2];t[n+8>>2]=t[p+8>>2];t[n+12>>2]=t[p+12>>2];n=7}}while(0);h=B;return n|0}function MG(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0,o=0,u=0.0,b=0,h=0.0,w=0.0,k=0;k=t[a+16>>2]|0;w=+c[k+16>>3];l=w-+c[k+88>>3];u=l+-4.0;o=OG(A,a,n,f,-1)|0;if(!o){b=~~(l+(u>=0.0?-3.5:-4.5));s=t[r>>2]|0;s=(s|0)>(b|0)?b:s}else{s=_G(A,a,o)|0;do{if(!s){b=t[o+16>>2]|0;l=+c[b+240>>3]+ +c[b+16>>3];if(!(i[b+156>>0]|0)){l=+(t[(t[A+16>>2]|0)+248>>2]|0)*.5+l;break}else{l=l+ +(t[r+8>>2]|0);break}}else l=+c[(t[s+16>>2]|0)+32>>3]+ +(t[r+8>>2]|0)}while(0);h=l=0.0?.5:-.5))}h=+(s|0);b=(i[k+156>>0]|0)==1;if(b?(t[k+104>>2]|0)!=0:0)u=w+10.0;else u=w+4.0+ +c[k+96>>3];o=OG(A,a,n,f,1)|0;if(!o){a=~~(u+(u>=0.0?.5:-.5));s=t[r+4>>2]|0;s=(s|0)<(a|0)?a:s}else{s=_G(A,a,o)|0;do{if(!s){a=t[o+16>>2]|0;l=+c[a+16>>3]-+c[a+88>>3];if(!(i[a+156>>0]|0)){l=l-+(t[(t[A+16>>2]|0)+248>>2]|0)*.5;break}else{l=l-+(t[r+8>>2]|0);break}}else l=+c[(t[s+16>>2]|0)+16>>3]-+(t[r+8>>2]|0)}while(0);u=l>u?l:u;s=~~(u+(u>=0.0?.5:-.5))}l=+(s|0);if(b?(t[k+104>>2]|0)!=0:0){l=l-+c[k+96>>3];if(l>3];A=t[(t[A+16>>2]|0)+196>>2]|0;k=t[k+232>>2]|0;u=w-+c[A+(k<<6)+16>>3];w=+c[A+(k<<6)+24>>3]+w;c[e>>3]=h;c[e+8>>3]=u;c[e+16>>3]=l;c[e+24>>3]=w;return}function VG(e){e=e|0;e=t[e+16>>2]|0;if((i[e+156>>0]|0)==1)if((t[e+176>>2]|0)>1)e=1;else e=(t[e+184>>2]|0)>1&1;else e=0;return e|0}function NG(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,n=0;n=h;h=h+32|0;a=n;switch(r|0){case 1:{TG(a,+c[A>>3],i,+c[A+16>>3],+c[A+8>>3]);break}case 4:{TG(a,+c[A>>3],+c[A+24>>3],+c[A+16>>3],i);break}default:{}}t[e>>2]=t[a>>2];t[e+4>>2]=t[a+4>>2];t[e+8>>2]=t[a+8>>2];t[e+12>>2]=t[a+12>>2];t[e+16>>2]=t[a+16>>2];t[e+20>>2]=t[a+20>>2];t[e+24>>2]=t[a+24>>2];t[e+28>>2]=t[a+28>>2];h=n;return}function RG(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0;o=t[A+16>>2]|0;s=o+(i<<5)|0;l=+c[s>>3];u=o+(i<<5)+8|0;n=+c[u>>3];b=o+(i<<5)+16|0;a=+c[b>>3];o=o+(i<<5)+24|0;f=+c[o>>3];if(l==a){r=t[(t[r+16>>2]|0)+196>>2]|0;h=i+1|0;l=+(t[A>>2]|0);n=+c[r+(h<<6)+24>>3]+ +c[(t[(t[t[r+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];a=+(t[A+4>>2]|0);f=+c[(t[(t[t[r+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+c[r+(i<<6)+16>>3];c[s>>3]=l;c[u>>3]=n;c[b>>3]=a;c[o>>3]=f}c[e>>3]=l;c[e+8>>3]=n;c[e+16>>3]=a;c[e+24>>3]=f;return}function xG(e){e=e|0;var A=0,r=0;e=t[e+16>>2]|0;r=e+16|0;A=0;while(1){e=t[t[e+180>>2]>>2]|0;e=t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((i[e+156>>0]|0)!=1)break;if((t[e+184>>2]|0)!=1)break;if((t[e+176>>2]|0)!=1)break;if(+c[e+16>>3]!=+c[r>>3])break;A=A+1|0}return A|0}function JG(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0;c=h;h=h+32|0;s=c;f=SG(A,-1)|0;A=SG(A,1)|0;if(!((f|0)!=0?!(VR(f)|0):0))l=3;do{if((l|0)==3){if(A|0?(VR(A)|0)==0:0)break;f=jG(r,-1)|0;A=jG(r,1)|0;if(f|0?(VR(f)|0)==0:0)break;if(A|0?(VR(A)|0)==0:0)break;f=i+52|0;A=0;while(1){if((A|0)>=(t[f>>2]|0))break;r=i+56+(A<<5)|0;t[s>>2]=t[r>>2];t[s+4>>2]=t[r+4>>2];t[s+8>>2]=t[r+8>>2];t[s+12>>2]=t[r+12>>2];t[s+16>>2]=t[r+16>>2];t[s+20>>2]=t[r+20>>2];t[s+24>>2]=t[r+24>>2];t[s+28>>2]=t[r+28>>2];ER(e,s);A=A+1|0}f=t[e+80>>2]|0;l=n+-3|0;A=0;while(1){if((A|0)>=(n|0))break;i=153720+(A<<5)|0;t[s>>2]=t[i>>2];t[s+4>>2]=t[i+4>>2];t[s+8>>2]=t[i+8>>2];t[s+12>>2]=t[i+12>>2];t[s+16>>2]=t[i+16>>2];t[s+20>>2]=t[i+20>>2];t[s+24>>2]=t[i+24>>2];t[s+28>>2]=t[i+28>>2];ER(e,s);A=A+1|0}r=f+1|0;l=l+r|0;f=t[a+52>>2]|0;while(1){A=f+-1|0;if((f|0)<=0)break;f=a+56+(A<<5)|0;t[s>>2]=t[f>>2];t[s+4>>2]=t[f+4>>2];t[s+8>>2]=t[f+8>>2];t[s+12>>2]=t[f+12>>2];t[s+16>>2]=t[f+16>>2];t[s+20>>2]=t[f+20>>2];t[s+24>>2]=t[f+24>>2];t[s+28>>2]=t[f+28>>2];ER(e,s);f=A}UG(e,r,l)}}while(0);h=c;return}function HG(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=t[i>>2]|0;while(1){if(!A)break;e=t[t[(t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;A=A+-1|0}t[i>>2]=a+1;n=r+(a<<4)|0;A=r+(a+-1<<4)|0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];a=t[i>>2]|0;t[i>>2]=a+1;a=r+(a<<4)|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];a=r+(t[i>>2]<<4)|0;i=(t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+16|0;t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];t[a+8>>2]=t[i+8>>2];t[a+12>>2]=t[i+12>>2];return e|0}function PG(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0,l=0,s=0,o=0,u=0;u=A+84|0;o=A+80|0;r=0;A=e;e:while(1){l=t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;s=l+16|0;if((i[(t[s>>2]|0)+156>>0]|0)!=1)break;if((I5[t[17300>>2]&63](l)|0)<<24>>24)break;A=t[o>>2]|0;while(1){if((r|0)>=(A|0))break e;if(!(+c[(t[u>>2]|0)+(r<<5)+8>>3]>+c[(t[s>>2]|0)+24>>3]))break;r=r+1|0}A=t[u>>2]|0;e=t[s>>2]|0;do{if(!(+c[A+(r<<5)+24>>3]<+c[e+24>>3])){n=+c[A+(r<<5)>>3];f=~~n;a=+c[A+(r<<5)+16>>3];if(!(t[e+104>>2]|0)){XG(l,f,~~((a+n)*.5),~~a);break}else{XG(l,f,~~a,~~(+c[e+96>>3]+a));break}}}while(0);A=t[t[(t[s>>2]|0)+180>>2]>>2]|0}return}function XG(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[e+16>>2]|0;c[e+16>>3]=+(r|0);c[e+88>>3]=+(r-A|0);c[e+96>>3]=+(i-r|0);return}function SG(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;f=t[e>>2]&3;l=t[(t[(t[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;f=((f|0)==2?e:e+-48|0)+40|0;n=0;e=0;while(1){i=t[l+(n<<2)>>2]|0;if(!i)break;a=t[(t[(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((P(a-(t[(t[(t[f>>2]|0)+16>>2]|0)+236>>2]|0)|0,A)|0)>=1){r=t[i+16>>2]|0;if(!(t[r+8>>2]|0)){r=t[r+116>>2]|0;if(!r)break;if(!(t[(t[r+16>>2]|0)+8>>2]|0))break}if(e|0?(P((t[(t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0,A)|0)<=0:0)break;e=i}}while(0);n=n+1|0}return e|0}function jG(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;f=t[e>>2]&3;l=t[(t[(t[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;f=((f|0)==3?e:e+48|0)+40|0;n=0;e=0;while(1){i=t[l+(n<<2)>>2]|0;if(!i)break;a=t[(t[(t[((t[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((P(a-(t[(t[(t[f>>2]|0)+16>>2]|0)+236>>2]|0)|0,A)|0)>=1){r=t[i+16>>2]|0;if(!(t[r+8>>2]|0)){r=t[r+116>>2]|0;if(!r)break;if(!(t[(t[r+16>>2]|0)+8>>2]|0))break}if(e|0?(P((t[(t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0,A)|0)<=0:0)break;e=i}}while(0);n=n+1|0}return e|0}function UG(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0;o=e+84|0;f=A+-1|0;while(1){if((f|0)>(r|0))break;a=t[o>>2]|0;l=a+(f<<5)|0;i=+c[l>>3];if(!(f-A&1)){a=a+(f<<5)+16|0;u=+c[a>>3];n=~~((u+i)*.5);if(i>=u){c[l>>3]=+(n+-8|0);c[a>>3]=+(n+8|0)}}else{a=a+(f<<5)+16|0;u=+c[a>>3];n=~~((u+i)*.5);if(i+16.0>u){c[l>>3]=+(n+-8|0);c[a>>3]=+(n+8|0)}}f=f+1|0}s=(t[e+80>>2]|0)+-1|0;n=0;while(1){if((n|0)>=(s|0))break;f=t[o>>2]|0;a=f+(n<<5)|0;l=n+1|0;e=f+(l<<5)|0;if(!((n|0)<(A|0)|(n|0)>(r|0))?(n-A&1|0)==0:0){i=+c[a>>3]+16.0;a=f+(l<<5)+16|0;if(i>+c[a>>3])c[a>>3]=i;i=+c[f+(n<<5)+16>>3]+-16.0;if(!(i<+c[e>>3])){n=l;continue}c[e>>3]=i;n=l;continue}if(!((n|0)<(r|0)&(l|0)>=(A|0))){n=l;continue}if(l-A&1|0){n=l;continue}i=+c[f+(l<<5)+16>>3];if(+c[a>>3]+16.0>i)c[a>>3]=i+-16.0;a=f+(n<<5)+16|0;i=+c[e>>3];if(!(+c[a>>3]+-16.0>3]=i+16.0;n=l}return}function TG(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;c[e>>3]=A;c[e+8>>3]=r;c[e+16>>3]=i;c[e+24>>3]=a;return}function OG(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0;c=t[(t[e+16>>2]|0)+196>>2]|0;f=t[A+16>>2]|0;s=t[f+232>>2]|0;l=c+(s<<6)|0;s=c+(s<<6)+4|0;f=t[f+236>>2]|0;e:do{f=f+n|0;if((f|0)<=-1){e=0;break}if((f|0)>=(t[l>>2]|0)){e=0;break}e=t[(t[s>>2]|0)+(f<<2)>>2]|0;c=t[e+16>>2]|0;switch(i[c+156>>0]|0){case 0:break e;case 1:{if(t[c+104>>2]|0)break e;break}default:{}}}while((KG(e,A,r,a)|0)<<24>>24!=0);return e|0}function _G(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;A=t[A+16>>2]|0;if(!(i[A+156>>0]|0)){l=t[A+212>>2]|0;f=l}else{l=t[(t[(t[t[A+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=t[l>>2]&3;f=t[(t[(t[((n|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;l=t[(t[(t[((n|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}A=t[r+16>>2]|0;if(!(i[A+156>>0]|0)){r=t[A+212>>2]|0;r=(r|0)==(e|0)?0:r;return((r|0)==(f|0)|((r|0)==0|(r|0)==(l|0))?0:r)|0}a=t[(t[(t[t[A+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=t[a>>2]&3;A=t[(t[(t[((n|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=(A|0)==(e|0)?0:A;if(!(!((A|0)==(f|0)|((A|0)==0|(A|0)==(l|0)))?(qG(A,r)|0)!=0:0)){A=t[(t[(t[((n|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=(A|0)==(e|0)?0:A;if((A|0)==(f|0)|((A|0)==0|(A|0)==(l|0)))A=0;else{r=(qG(A,r)|0)==0;return(r?0:A)|0}}return A|0}function qG(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0;r=t[e+16>>2]|0;e=t[A+16>>2]|0;a=+c[e+16>>3];if((+c[r+16>>3]<=a?a<=+c[r+32>>3]:0)?(i=+c[e+24>>3],+c[r+24>>3]<=i):0)e=i<=+c[r+40>>3]&1;else e=0;return e|0}function KG(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;l=t[e+16>>2]|0;s=(t[l+236>>2]|0)>(t[(t[A+16>>2]|0)+236>>2]|0);e:do{if((t[l+184>>2]|0)==1){A:do{if(a|0){f=0;e=t[t[l+180>>2]>>2]|0;while(1){if((f|0)>=2)break A;e=t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;A=t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0;if((e|0)==(A|0))break A;n=t[e+16>>2]|0;e=t[A+16>>2]|0;if(s^(t[n+236>>2]|0)>(t[e+236>>2]|0)){e=1;break e}if((t[n+184>>2]|0)!=1)break A;if(!(i[n+156>>0]|0))break A;if((t[e+184>>2]|0)!=1)break A;if(!(i[e+156>>0]|0))break A;f=f+1|0;a=t[t[e+180>>2]>>2]|0;e=t[t[n+180>>2]>>2]|0}}}while(0);if(r|0?(t[l+176>>2]|0)==1:0){n=0;A=r;e=t[t[l+172>>2]>>2]|0;while(1){if((n|0)>=2){e=0;break e}e=t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;A=t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;if((e|0)==(A|0)){e=0;break e}a=t[e+16>>2]|0;e=t[A+16>>2]|0;if(s^(t[a+236>>2]|0)>(t[e+236>>2]|0)){e=1;break e}if((t[a+176>>2]|0)!=1){e=0;break e}if(!(i[a+156>>0]|0)){e=0;break e}if((t[e+176>>2]|0)!=1){e=0;break e}if(!(i[e+156>>0]|0)){e=0;break e}n=n+1|0;A=t[t[e+172>>2]>>2]|0;e=t[t[a+172>>2]>>2]|0}}else e=0}else e=0}while(0);return e|0}function $G(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function eL(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[A>>3];return(~~((+c[r>>3]-a)*(+c[e+8>>3]-i)-(+c[e>>3]-a)*(+c[r+8>>3]-i))|0)>0|0}function AL(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0,m=0,p=0.0,E=0.0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0;P=h;h=h+256|0;L=P+232|0;G=P+216|0;J=P+88|0;x=P+80|0;M=P+64|0;V=P+200|0;N=P+184|0;R=P;Q=P+168|0;D=P+152|0;z=P+136|0;W=P+120|0;Y=P+104|0;Z=t[n>>2]&3;F=t[((Z|0)==3?n:n+48|0)+40>>2]|0;Z=t[((Z|0)==2?n:n+-48|0)+40>>2]|0;do{if((oN(F)|0)!=2?(oN(Z)|0)!=2:0){n=0;l=0;s=0;while(1){if((s|0)>=(a|0))break;I=t[(t[A+(s+r<<2)>>2]|0)+16>>2]|0;n=n+((t[I+96>>2]|0)!=0&1)|0;if(!((i[I+44>>0]|0)==0?(i[I+84>>0]|0)==0:0))l=1;s=s+1|0}if(!l)if(!n){iL(F,Z,A,r,a,f);break}else{lL(F,Z,A,r,a,f,n);break}y=KF(156)|0;C=sL(e,y)|0;g=Rv(C,85478,1)|0;Sd(g,137483,280,1)|0;Xw(g,87171,87185)|0;o=+c[(t[Z+16>>2]|0)+16>>3];v=+c[(t[F+16>>2]|0)+16>>3];I=e+16|0;k=(t[(t[I>>2]|0)+116>>2]&1|0)==0;d=k?Z:F;k=k?F:Z;g=cL(g,k)|0;m=cL(C,d)|0;n=0;w=0;while(1){if((w|0)>=(a|0))break;l=A+(w+r<<2)|0;while(1){b=t[l>>2]|0;u=b+16|0;l=t[u>>2]|0;if(!(i[l+112>>0]|0))break;else l=l+116|0}if((t[((t[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(k|0))s=oL(C,g,m,b)|0;else s=oL(C,m,g,b)|0;l=t[u>>2]|0;t[l+120>>2]=s;if(!n)if((i[l+44>>0]|0)==0?(i[l+84>>0]|0)==0:0){t[(t[s+16>>2]|0)+120>>2]=b;n=s}else n=0;w=w+1|0}if(!n)B=lk(C,g,m,0,1)|0;else B=n;Mw(B,t[47174]|0,85482)|0;n=C+16|0;u=t[n>>2]|0;t[u+144>>2]=t[(t[I>>2]|0)+144>>2];t[u+188>>2]=C;DJ(C,f);eG(C);VD(C,0);UL(C,0);_Q(C,0);k=k+16|0;f=t[k>>2]|0;u=t[d+16>>2]|0;d=g+16|0;b=t[d>>2]|0;w=b+16|0;p=+(~~o|0);E=+(~~((+c[(t[m+16>>2]|0)+16>>3]+ +c[w>>3])*.5)|0);o=+(~~v|0);v=+(~~((+c[f+16>>3]-+c[f+96>>3]+ +c[u+16>>3]+ +c[u+88>>3])*.5)|0);u=b+24|0;n=(t[n>>2]|0)+192|0;while(1){l=t[n>>2]|0;if(!l)break;do{if((l|0)!=(g|0)){n=t[l+16>>2]|0;s=n+24|0;if((l|0)==(m|0)){c[s>>3]=o;c[n+16>>3]=E;break}else{c[s>>3]=v;break}}else{c[u>>3]=p;c[w>>3]=E;n=b}}while(0);n=n+164|0}Dz(C);BG(C,0);MV(C);s=t[k>>2]|0;n=t[d>>2]|0;if(!(t[(t[I>>2]|0)+116>>2]&1)){l=n+16|0;o=+c[s+24>>3]-+c[n+24>>3]}else{l=n+24|0;o=+c[n+16>>3]+ +c[s+24>>3]}c[M>>3]=+c[s+16>>3]-+c[l>>3];c[M+8>>3]=o;f=R+16|0;g=R+32|0;m=R+48|0;d=0;while(1){if((d|0)>=(a|0))break;n=A+(d+r<<2)|0;while(1){l=t[n>>2]|0;k=l+16|0;n=t[k>>2]|0;if(!(i[n+112>>0]|0))break;else n=n+116|0}b=t[n+120>>2]|0;w=b+16|0;n=t[w>>2]|0;if(!((b|0)==(B|0)&(t[n+120>>2]|0)==0)){u=t[t[n+8>>2]>>2]|0;b=u+4|0;l=gR(l,t[b>>2]|0)|0;t[l+8>>2]=t[u+8>>2];n=l+16|0;s=u+16|0;X=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[s>>2];t[G+4>>2]=t[s+4>>2];t[G+8>>2]=t[s+8>>2];t[G+12>>2]=t[s+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(V,G,L,X);t[n>>2]=t[V>>2];t[n+4>>2]=t[V+4>>2];t[n+8>>2]=t[V+8>>2];t[n+12>>2]=t[V+12>>2];t[l+12>>2]=t[u+12>>2];n=l+32|0;X=u+32|0;s=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[X>>2];t[G+4>>2]=t[X+4>>2];t[G+8>>2]=t[X+8>>2];t[G+12>>2]=t[X+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(N,G,L,s);t[n>>2]=t[N>>2];t[n+4>>2]=t[N+4>>2];t[n+8>>2]=t[N+8>>2];t[n+12>>2]=t[N+12>>2];n=0;while(1){if((n|0)>=(t[b>>2]|0))break;s=(t[l>>2]|0)+(n<<4)|0;S=(t[u>>2]|0)+(n<<4)|0;X=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[S>>2];t[G+4>>2]=t[S+4>>2];t[G+8>>2]=t[S+8>>2];t[G+12>>2]=t[S+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(Q,G,L,X);t[s>>2]=t[Q>>2];t[s+4>>2]=t[Q+4>>2];t[s+8>>2]=t[Q+8>>2];t[s+12>>2]=t[Q+12>>2];t[R>>2]=t[Q>>2];t[R+4>>2]=t[Q+4>>2];t[R+8>>2]=t[Q+8>>2];t[R+12>>2]=t[Q+12>>2];s=n+1|0;if((s|0)>=(t[b>>2]|0)){H=48;break}X=(t[l>>2]|0)+(s<<4)|0;s=(t[u>>2]|0)+(s<<4)|0;S=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[s>>2];t[G+4>>2]=t[s+4>>2];t[G+8>>2]=t[s+8>>2];t[G+12>>2]=t[s+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(D,G,L,S);t[X>>2]=t[D>>2];t[X+4>>2]=t[D+4>>2];t[X+8>>2]=t[D+8>>2];t[X+12>>2]=t[D+12>>2];t[f>>2]=t[D>>2];t[f+4>>2]=t[D+4>>2];t[f+8>>2]=t[D+8>>2];t[f+12>>2]=t[D+12>>2];X=n+2|0;S=(t[l>>2]|0)+(X<<4)|0;X=(t[u>>2]|0)+(X<<4)|0;s=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[X>>2];t[G+4>>2]=t[X+4>>2];t[G+8>>2]=t[X+8>>2];t[G+12>>2]=t[X+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(z,G,L,s);t[S>>2]=t[z>>2];t[S+4>>2]=t[z+4>>2];t[S+8>>2]=t[z+8>>2];t[S+12>>2]=t[z+12>>2];t[g>>2]=t[z>>2];t[g+4>>2]=t[z+4>>2];t[g+8>>2]=t[z+8>>2];t[g+12>>2]=t[z+12>>2];S=n+3|0;s=(t[u>>2]|0)+(S<<4)|0;X=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[s>>2];t[G+4>>2]=t[s+4>>2];t[G+8>>2]=t[s+8>>2];t[G+12>>2]=t[s+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(W,G,L,X);t[m>>2]=t[W>>2];t[m+4>>2]=t[W+4>>2];t[m+8>>2]=t[W+8>>2];t[m+12>>2]=t[W+12>>2];oB((t[I>>2]|0)+16|0,R);n=S}if((H|0)==48)H=0;n=t[(t[k>>2]|0)+96>>2]|0;if(n|0){S=n+56|0;w=(t[(t[w>>2]|0)+96>>2]|0)+56|0;X=t[(t[I>>2]|0)+116>>2]&1;t[G>>2]=t[w>>2];t[G+4>>2]=t[w+4>>2];t[G+8>>2]=t[w+8>>2];t[G+12>>2]=t[w+12>>2];t[L>>2]=t[M>>2];t[L+4>>2]=t[M+4>>2];t[L+8>>2]=t[M+8>>2];t[L+12>>2]=t[M+12>>2];uL(Y,G,L,X);t[S>>2]=t[Y>>2];t[S+4>>2]=t[Y+4>>2];t[S+8>>2]=t[Y+8>>2];t[S+12>>2]=t[Y+12>>2];S=t[(t[k>>2]|0)+96>>2]|0;i[S+81>>0]=1;Hx(e,S)}}d=d+1|0}bL(C,y)}else H=3}while(0);if((H|0)==3?(t[46738]|0)==0:0){t[46738]=1;nw(0,85355,x)|0;H=Mk(F)|0;X=(Bk(e)|0)!=0;S=Mk(Z)|0;t[J>>2]=H;t[J+4>>2]=X?137738:141747;t[J+8>>2]=S;nw(3,85461,J)|0}h=P;return}function rL(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0,G=0.0,L=0.0,Q=0.0;C=h;h=h+1600|0;m=C+1552|0;u=C+1536|0;g=C+840|0;p=C+144|0;E=C+1584|0;l=C+32|0;v=C+16|0;b=C;k=t[a>>2]&3;w=t[((k|0)==3?a:a+48|0)+40>>2]|0;B=a+-48|0;k=t[((k|0)==2?a:B)+40>>2]|0;d=a+16|0;s=t[d>>2]|0;f=t[s+172>>2]|0;while(1){o=t[(t[f+16>>2]|0)+172>>2]|0;if(!o)break;else f=o}s=(t[s+96>>2]|0)+56|0;f=(t[((t[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16|0;o=(t[f>>2]|0)+16|0;t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];s=t[d>>2]|0;i[(t[s+96>>2]|0)+81>>0]=1;if((n|0)!=2){s=t[f>>2]|0;G=+c[s+16>>3];Q=G-+c[s+88>>3];G=+c[s+96>>3]+G;Z=+c[s+24>>3];L=+c[s+80>>3]*.5+Z;s=t[(t[e+16>>2]|0)+196>>2]|0;o=t[w+16>>2]|0;l=t[o+232>>2]|0;Z=+(~~(+(~~(Z-+c[s+(l<<6)+16>>3]-+c[o+24>>3]+ +c[s+(l<<6)+24>>3])|0)*.16666666666666666)|0);Z=L-(Z<5.0?5.0:Z);tL(e,A,r,w,a,g,1);tL(e,A,r,k,a,p,0);l=g+52|0;s=t[l>>2]|0;o=s+-1|0;I=+c[g+56+(o<<5)>>3];c[19215]=I;c[19216]=+c[g+56+(o<<5)+24>>3];c[19217]=Q;c[19218]=Z;c[19219]=I;c[19220]=Z;o=p+52|0;f=(t[o>>2]|0)+-1|0;I=+c[p+56+(f<<5)+16>>3];c[19221]=I;c[19222]=L;c[19223]=G;c[19226]=Z;c[19224]=+c[p+56+(f<<5)+24>>3];c[19225]=I;f=0;while(1){if((f|0)>=(s|0)){f=0;break}s=g+56+(f<<5)|0;t[m>>2]=t[s>>2];t[m+4>>2]=t[s+4>>2];t[m+8>>2]=t[s+8>>2];t[m+12>>2]=t[s+12>>2];t[m+16>>2]=t[s+16>>2];t[m+20>>2]=t[s+20>>2];t[m+24>>2]=t[s+24>>2];t[m+28>>2]=t[s+28>>2];ER(r,m);f=f+1|0;s=t[l>>2]|0}while(1){if((f|0)==3)break;g=153720+(f<<5)|0;t[m>>2]=t[g>>2];t[m+4>>2]=t[g+4>>2];t[m+8>>2]=t[g+8>>2];t[m+12>>2]=t[g+12>>2];t[m+16>>2]=t[g+16>>2];t[m+20>>2]=t[g+20>>2];t[m+24>>2]=t[g+24>>2];t[m+28>>2]=t[g+28>>2];ER(r,m);f=f+1|0}l=t[o>>2]|0;while(1){f=l+-1|0;if((l|0)<=0)break;l=p+56+(f<<5)|0;t[m>>2]=t[l>>2];t[m+4>>2]=t[l+4>>2];t[m+8>>2]=t[l+8>>2];t[m+12>>2]=t[l+12>>2];t[m+16>>2]=t[l+16>>2];t[m+20>>2]=t[l+20>>2];t[m+24>>2]=t[l+24>>2];t[m+28>>2]=t[l+28>>2];ER(r,m);l=f}if((n|0)==10)l=_V(r,E)|0;else l=rN(r,E)|0;f=t[E>>2]|0;if(f|0)y=17}else{f=(t[w+16>>2]|0)+16|0;p=s+16|0;t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[u+8>>2]=t[f+8>>2];t[u+12>>2]=t[f+12>>2];t[m>>2]=t[p>>2];t[m+4>>2]=t[p+4>>2];t[m+8>>2]=t[p+8>>2];t[m+12>>2]=t[p+12>>2];$G(v,u,m);p=(t[k+16>>2]|0)+16|0;f=(t[d>>2]|0)+56|0;t[u>>2]=t[p>>2];t[u+4>>2]=t[p+4>>2];t[u+8>>2]=t[p+8>>2];t[u+12>>2]=t[p+12>>2];t[m>>2]=t[f>>2];t[m+4>>2]=t[f+4>>2];t[m+8>>2]=t[f+8>>2];t[m+12>>2]=t[f+12>>2];$G(b,u,m);f=t[(t[d>>2]|0)+96>>2]|0;L=+c[f+56>>3];Q=+c[f+64>>3]-+c[f+32>>3]*.5;f=l+16|0;t[l>>2]=t[v>>2];t[l+4>>2]=t[v+4>>2];t[l+8>>2]=t[v+8>>2];t[l+12>>2]=t[v+12>>2];t[f>>2]=t[v>>2];t[f+4>>2]=t[v+4>>2];t[f+8>>2]=t[v+8>>2];t[f+12>>2]=t[v+12>>2];f=l+32|0;p=l+48|0;y=l+64|0;c[l+64>>3]=L;c[l+72>>3]=Q;t[p>>2]=t[y>>2];t[p+4>>2]=t[y+4>>2];t[p+8>>2]=t[y+8>>2];t[p+12>>2]=t[y+12>>2];t[f>>2]=t[y>>2];t[f+4>>2]=t[y+4>>2];t[f+8>>2]=t[y+8>>2];t[f+12>>2]=t[y+12>>2];f=l+80|0;y=l+96|0;t[y>>2]=t[b>>2];t[y+4>>2]=t[b+4>>2];t[y+8>>2]=t[b+8>>2];t[y+12>>2]=t[b+12>>2];t[f>>2]=t[b>>2];t[f+4>>2]=t[b+4>>2];t[f+8>>2]=t[b+8>>2];t[f+12>>2]=t[b+12>>2];t[E>>2]=7;f=7;y=17}if((y|0)==17)mR(a,t[((t[a>>2]&3|0)==2?a:B)+40>>2]|0,l,f,17296);h=C;return}function iL(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0.0,I=0.0,Z=0.0,G=0.0,L=0.0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0;R=h;h=h+352|0;B=R+336|0;E=R+320|0;V=R+128|0;m=R+304|0;y=R+288|0;N=R+112|0;Q=R+96|0;D=R+80|0;z=R+64|0;W=R+48|0;Y=R+32|0;F=R+16|0;M=R;e=e+16|0;k=(t[e>>2]|0)+16|0;p=(t[r+(i<<2)>>2]|0)+16|0;v=(t[p>>2]|0)+16|0;t[E>>2]=t[k>>2];t[E+4>>2]=t[k+4>>2];t[E+8>>2]=t[k+8>>2];t[E+12>>2]=t[k+12>>2];t[B>>2]=t[v>>2];t[B+4>>2]=t[v+4>>2];t[B+8>>2]=t[v+8>>2];t[B+12>>2]=t[v+12>>2];$G(m,E,B);G=+c[m>>3];L=+c[m+8>>3];m=(t[A+16>>2]|0)+16|0;p=(t[p>>2]|0)+56|0;t[E>>2]=t[m>>2];t[E+4>>2]=t[m+4>>2];t[E+8>>2]=t[m+8>>2];t[E+12>>2]=t[m+12>>2];t[B>>2]=t[p>>2];t[B+4>>2]=t[p+4>>2];t[B+8>>2]=t[p+8>>2];t[B+12>>2]=t[p+12>>2];$G(y,E,B);I=+c[y>>3];Z=+c[y+8>>3];if((a|0)>1){C=+c[(t[e>>2]|0)+80>>3];f=C*.5;C=C/+(a+-1|0)}else{f=0.0;C=0.0}w=(n|8|0)==10;o=V+8|0;k=V+16|0;d=(I+G*2.0)*.3333333333333333;v=V+32|0;g=(I*2.0+G)*.3333333333333333;u=V+24|0;m=V+48|0;p=V+64|0;E=V+80|0;B=V+96|0;y=V+112|0;s=V+128|0;b=V+136|0;f=L-f;A=0;while(1){if((A|0)>=(a|0))break;l=t[r+(A+i<<2)>>2]|0;c[V>>3]=G;c[o>>3]=L;if(w){fL(N,d,f);t[k>>2]=t[N>>2];t[k+4>>2]=t[N+4>>2];t[k+8>>2]=t[N+8>>2];t[k+12>>2]=t[N+12>>2];fL(Q,g,f);t[v>>2]=t[Q>>2];t[v+4>>2]=t[Q+4>>2];t[v+8>>2]=t[Q+8>>2];t[v+12>>2]=t[Q+12>>2];e=4;n=3}else{c[k>>3]=G;c[u>>3]=L;fL(D,d,f);t[v>>2]=t[D>>2];t[v+4>>2]=t[D+4>>2];t[v+8>>2]=t[D+8>>2];t[v+12>>2]=t[D+12>>2];fL(z,d,f);t[m>>2]=t[z>>2];t[m+4>>2]=t[z+4>>2];t[m+8>>2]=t[z+8>>2];t[m+12>>2]=t[z+12>>2];fL(W,d,f);t[p>>2]=t[W>>2];t[p+4>>2]=t[W+4>>2];t[p+8>>2]=t[W+8>>2];t[p+12>>2]=t[W+12>>2];fL(Y,g,f);t[E>>2]=t[Y>>2];t[E+4>>2]=t[Y+4>>2];t[E+8>>2]=t[Y+8>>2];t[E+12>>2]=t[Y+12>>2];fL(F,g,f);t[B>>2]=t[F>>2];t[B+4>>2]=t[F+4>>2];t[B+8>>2]=t[F+8>>2];t[B+12>>2]=t[F+12>>2];fL(M,g,f);t[y>>2]=t[M>>2];t[y+4>>2]=t[M+4>>2];t[y+8>>2]=t[M+8>>2];t[y+12>>2]=t[M+12>>2];c[s>>3]=I;c[b>>3]=Z;e=10;n=9}c[V+(n<<4)>>3]=I;c[V+(n<<4)+8>>3]=Z;mR(l,t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,V,e,17296);f=f+C;A=A+1|0}h=R;return}function aL(e,A,r,i,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;n=n|0;f=f|0;l=l|0;s=s|0;var o=0,u=0.0,b=0,w=0,k=0,d=0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0.0,I=0.0,Z=0.0,G=0.0,L=0.0;B=h;h=h+1440|0;g=B+1392|0;p=B+1424|0;E=B+696|0;m=B;d=t[l>>2]&3;k=t[((d|0)==3?l:l+48|0)+40>>2]|0;d=t[((d|0)==2?l:l+-48|0)+40>>2]|0;o=t[k+16>>2]|0;b=t[o+232>>2]|0;w=t[e+16>>2]|0;if((b|0)<(a[w+238>>1]|0)){y=t[w+196>>2]|0;w=b+1|0;u=+c[o+24>>3]-+c[y+(b<<6)+32>>3]-+c[(t[(t[t[y+(w<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+c[y+(w<<6)+40>>3]}else u=+(t[w+252>>2]|0);C=+(f+1|0);v=+(t[A+12>>2]|0)/C;u=u/C;nL(e,A,r,k,l,E,1);nL(e,A,r,d,l,m,0);d=E+52|0;l=m+52|0;e=(s|0)==0;A=r+80|0;o=0;while(1){if((o|0)>=(f|0))break;k=t[i+(o+n<<2)>>2]|0;w=t[d>>2]|0;b=w+-1|0;L=+c[E+56+(b<<5)>>3];Z=+c[E+56+(b<<5)+8>>3];G=+c[E+56+(b<<5)+16>>3];c[19215]=L;c[19218]=Z;o=o+1|0;C=+(o|0);I=v*C;c[19217]=G+I;C=Z-u*C;c[19216]=C;c[19219]=L;c[19222]=C;b=(t[l>>2]|0)+-1|0;L=+c[m+56+(b<<5)+16>>3];c[19221]=L;c[19220]=C-u;Z=+c[m+56+(b<<5)>>3];G=+c[m+56+(b<<5)+8>>3];c[19225]=L;c[19226]=G;c[19223]=Z-I;c[19224]=C;b=0;while(1){if((b|0)>=(w|0)){b=0;break}w=E+56+(b<<5)|0;t[g>>2]=t[w>>2];t[g+4>>2]=t[w+4>>2];t[g+8>>2]=t[w+8>>2];t[g+12>>2]=t[w+12>>2];t[g+16>>2]=t[w+16>>2];t[g+20>>2]=t[w+20>>2];t[g+24>>2]=t[w+24>>2];t[g+28>>2]=t[w+28>>2];ER(r,g);b=b+1|0;w=t[d>>2]|0}while(1){if((b|0)==3)break;y=153720+(b<<5)|0;t[g>>2]=t[y>>2];t[g+4>>2]=t[y+4>>2];t[g+8>>2]=t[y+8>>2];t[g+12>>2]=t[y+12>>2];t[g+16>>2]=t[y+16>>2];t[g+20>>2]=t[y+20>>2];t[g+24>>2]=t[y+24>>2];t[g+28>>2]=t[y+28>>2];ER(r,g);b=b+1|0}w=t[l>>2]|0;while(1){b=w+-1|0;if((w|0)<=0)break;w=m+56+(b<<5)|0;t[g>>2]=t[w>>2];t[g+4>>2]=t[w+4>>2];t[g+8>>2]=t[w+8>>2];t[g+12>>2]=t[w+12>>2];t[g+16>>2]=t[w+16>>2];t[g+20>>2]=t[w+20>>2];t[g+24>>2]=t[w+24>>2];t[g+28>>2]=t[w+28>>2];ER(r,g);w=b}if(e)b=rN(r,p)|0;else b=_V(r,p)|0;w=t[p>>2]|0;if(!w)break;mR(k,t[((t[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,b,w,17296);t[A>>2]=0}h=B;return}function tL(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0.0;u=h;h=h+128|0;l=u+96|0;s=u+64|0;b=u+32|0;o=u;MG(b,e,A,i,0,a);t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[n+16>>2]=t[b+16>>2];t[n+20>>2]=t[b+20>>2];t[n+24>>2]=t[b+24>>2];t[n+28>>2]=t[b+28>>2];t[s>>2]=t[b>>2];t[s+4>>2]=t[b+4>>2];t[s+8>>2]=t[b+8>>2];t[s+12>>2]=t[b+12>>2];t[s+16>>2]=t[b+16>>2];t[s+20>>2]=t[b+20>>2];t[s+24>>2]=t[b+24>>2];t[s+28>>2]=t[b+28>>2];t[n+48>>2]=4;if(!(f<<24>>24))IR(r,a,2,n,0);else BR(r,a,2,n,0);A=n+52|0;a=(t[A>>2]|0)+-1|0;b=s+24|0;c[b>>3]=+c[n+56+(a<<5)+24>>3];f=s+8|0;c[f>>3]=+c[n+56+(a<<5)+8>>3];i=t[i+16>>2]|0;w=+c[(t[(t[e+16>>2]|0)+196>>2]|0)+(t[i+232>>2]<<6)+24>>3]+ +c[i+24>>3];t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];t[l+16>>2]=t[s+16>>2];t[l+20>>2]=t[s+20>>2];t[l+24>>2]=t[s+24>>2];t[l+28>>2]=t[s+28>>2];NG(o,l,4,w);t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];t[s+16>>2]=t[o+16>>2];t[s+20>>2]=t[o+20>>2];t[s+24>>2]=t[o+24>>2];t[s+28>>2]=t[o+28>>2];if(+c[s>>3]<+c[s+16>>3]?+c[f>>3]<+c[b>>3]:0){b=t[A>>2]|0;t[A>>2]=b+1;b=n+56+(b<<5)|0;t[b>>2]=t[s>>2];t[b+4>>2]=t[s+4>>2];t[b+8>>2]=t[s+8>>2];t[b+12>>2]=t[s+12>>2];t[b+16>>2]=t[s+16>>2];t[b+20>>2]=t[s+20>>2];t[b+24>>2]=t[s+24>>2];t[b+28>>2]=t[s+28>>2]}h=u;return}function nL(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0.0;u=h;h=h+128|0;l=u+96|0;s=u+64|0;b=u+32|0;o=u;MG(b,e,A,i,0,a);t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[n+16>>2]=t[b+16>>2];t[n+20>>2]=t[b+20>>2];t[n+24>>2]=t[b+24>>2];t[n+28>>2]=t[b+28>>2];t[s>>2]=t[b>>2];t[s+4>>2]=t[b+4>>2];t[s+8>>2]=t[b+8>>2];t[s+12>>2]=t[b+12>>2];t[s+16>>2]=t[b+16>>2];t[s+20>>2]=t[b+20>>2];t[s+24>>2]=t[b+24>>2];t[s+28>>2]=t[b+28>>2];t[n+48>>2]=1;if(!(f<<24>>24))IR(r,a,2,n,0);else BR(r,a,2,n,0);A=n+52|0;a=(t[A>>2]|0)+-1|0;b=s+24|0;c[b>>3]=+c[n+56+(a<<5)+24>>3];f=s+8|0;c[f>>3]=+c[n+56+(a<<5)+8>>3];i=t[i+16>>2]|0;w=+c[i+24>>3]-+c[(t[(t[e+16>>2]|0)+196>>2]|0)+(t[i+232>>2]<<6)+24>>3];t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];t[l+16>>2]=t[s+16>>2];t[l+20>>2]=t[s+20>>2];t[l+24>>2]=t[s+24>>2];t[l+28>>2]=t[s+28>>2];NG(o,l,1,w);t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];t[s+16>>2]=t[o+16>>2];t[s+20>>2]=t[o+20>>2];t[s+24>>2]=t[o+24>>2];t[s+28>>2]=t[o+28>>2];if(+c[s>>3]<+c[s+16>>3]?+c[f>>3]<+c[b>>3]:0){b=t[A>>2]|0;t[A>>2]=b+1;b=n+56+(b<<5)|0;t[b>>2]=t[s>>2];t[b+4>>2]=t[s+4>>2];t[b+8>>2]=t[s+8>>2];t[b+12>>2]=t[s+12>>2];t[b+16>>2]=t[s+16>>2];t[b+20>>2]=t[s+20>>2];t[b+24>>2]=t[s+24>>2];t[b+28>>2]=t[s+28>>2]}h=u;return}function fL(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function lL(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,o=0,u=0,b=0,w=0.0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0,p=0.0,E=0.0,B=0.0,y=0,C=0,I=0.0,Z=0.0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0,q=0.0;_=h;h=h+288|0;P=_+256|0;H=_+240|0;J=_+224|0;U=_+280|0;T=_+272|0;O=_+32|0;X=_+16|0;S=_;o=_+208|0;u=_+192|0;b=t[r+(a<<2)>>2]|0;j=KF(n<<2)|0;s=0;while(1){if((s|0)>=(n|0))break;t[j+(s<<2)>>2]=t[r+(s+a<<2)>>2];s=s+1|0}_4(j,n,4,59);r=e+16|0;a=(t[r>>2]|0)+16|0;b=b+16|0;G=(t[b>>2]|0)+16|0;t[H>>2]=t[a>>2];t[H+4>>2]=t[a+4>>2];t[H+8>>2]=t[a+8>>2];t[H+12>>2]=t[a+12>>2];t[P>>2]=t[G>>2];t[P+4>>2]=t[G+4>>2];t[P+8>>2]=t[G+8>>2];t[P+12>>2]=t[G+12>>2];$G(o,H,P);t[X>>2]=t[o>>2];t[X+4>>2]=t[o+4>>2];t[X+8>>2]=t[o+8>>2];t[X+12>>2]=t[o+12>>2];G=A+16|0;a=(t[G>>2]|0)+16|0;b=(t[b>>2]|0)+56|0;t[H>>2]=t[a>>2];t[H+4>>2]=t[a+4>>2];t[H+8>>2]=t[a+8>>2];t[H+12>>2]=t[a+12>>2];t[P>>2]=t[b>>2];t[P+4>>2]=t[b+4>>2];t[P+8>>2]=t[b+8>>2];t[P+12>>2]=t[b+12>>2];$G(u,H,P);t[S>>2]=t[u>>2];t[S+4>>2]=t[u+4>>2];t[S+8>>2]=t[u+8>>2];t[S+12>>2]=t[u+12>>2];E=+c[(t[r>>2]|0)+96>>3]+ +c[X>>3];B=+c[S>>3]-+c[(t[G>>2]|0)+88>>3];m=B+E;p=m*.5;G=t[j>>2]|0;t[O>>2]=t[X>>2];t[O+4>>2]=t[X+4>>2];t[O+8>>2]=t[X+8>>2];t[O+12>>2]=t[X+12>>2];b=O+16|0;t[b>>2]=t[X>>2];t[b+4>>2]=t[X+4>>2];t[b+8>>2]=t[X+8>>2];t[b+12>>2]=t[X+12>>2];r=O+32|0;t[r>>2]=t[S>>2];t[r+4>>2]=t[S+4>>2];t[r+8>>2]=t[S+8>>2];t[r+12>>2]=t[S+12>>2];a=O+48|0;t[a>>2]=t[S>>2];t[a+4>>2]=t[S+4>>2];t[a+8>>2]=t[S+8>>2];t[a+12>>2]=t[S+12>>2];mR(G,t[((t[G>>2]&3|0)==2?G:G+-48|0)+40>>2]|0,O,4,17296);G=t[(t[G+16>>2]|0)+96>>2]|0;c[G+56>>3]=p;C=X+8|0;d=+c[C>>3];v=+c[G+32>>3];c[G+64>>3]=(v+6.0)*.5+d;i[G+81>>0]=1;d=d+3.0;Z=+c[G+24>>3];I=(m-Z)*.5;Z=(Z+m)*.5;G=O+24|0;L=O+40|0;Q=O+56|0;D=O+64|0;z=S+8|0;W=O+72|0;Y=O+80|0;F=O+88|0;M=O+96|0;V=O+104|0;N=O+112|0;R=O+120|0;x=U+4|0;u=(f|0)==6&1;k=0.0;w=0.0;v=v+d;o=1;while(1){if((o|0)>=(l|0)){y=6;break}A=t[j+(o<<2)>>2]|0;if(!(o&1)){t[O>>2]=t[X>>2];t[O+4>>2]=t[X+4>>2];t[O+8>>2]=t[X+8>>2];t[O+12>>2]=t[X+12>>2];c[b>>3]=I;c[G>>3]=+c[C>>3];c[r>>3]=I;c[L>>3]=v;c[a>>3]=Z;c[Q>>3]=v;c[D>>3]=Z;g=+c[z>>3];c[W>>3]=g;q=+c[S>>3];c[Y>>3]=q;c[F>>3]=g;c[M>>3]=q;q=v+6.0;c[V>>3]=q;c[N>>3]=+c[X>>3];c[R>>3]=q;v=+c[(t[(t[A+16>>2]|0)+96>>2]|0)+32>>3];g=q+v*.5;v=q+v}else{s=A+16|0;e=t[(t[s>>2]|0)+96>>2]|0;if((o|0)==1){w=+c[e+24>>3];k=(w+m)*.5;w=(m-w)*.5}d=d+-6.0-+c[e+32>>3];t[O>>2]=t[X>>2];t[O+4>>2]=t[X+4>>2];t[O+8>>2]=t[X+8>>2];t[O+12>>2]=t[X+12>>2];c[b>>3]=+c[X>>3];g=d+-6.0;c[G>>3]=g;c[r>>3]=+c[S>>3];c[L>>3]=g;t[a>>2]=t[S>>2];t[a+4>>2]=t[S+4>>2];t[a+8>>2]=t[S+8>>2];t[a+12>>2]=t[S+12>>2];c[D>>3]=k;c[W>>3]=+c[z>>3];c[Y>>3]=k;c[F>>3]=d;c[M>>3]=w;c[V>>3]=d;c[N>>3]=w;c[R>>3]=+c[C>>3];g=+c[(t[(t[s>>2]|0)+96>>2]|0)+32>>3]*.5+d}t[x>>2]=8;t[U>>2]=O;t[J>>2]=t[X>>2];t[J+4>>2]=t[X+4>>2];t[J+8>>2]=t[X+8>>2];t[J+12>>2]=t[X+12>>2];t[H>>2]=t[S>>2];t[H+4>>2]=t[S+4>>2];t[H+8>>2]=t[S+8>>2];t[H+12>>2]=t[S+12>>2];t[P>>2]=t[U>>2];t[P+4>>2]=t[U+4>>2];s=jV(J,H,P,T,u)|0;e=t[T>>2]|0;if(!e)break;f=t[(t[A+16>>2]|0)+96>>2]|0;c[f+56>>3]=p;c[f+64>>3]=g;i[f+81>>0]=1;mR(A,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,s,e,17296);o=o+1|0}e:do{if((y|0)==6){p=(B+E*2.0)*.3333333333333333;m=(B*2.0+E)*.3333333333333333;while(1){if((o|0)>=(n|0))break;A=t[j+(o<<2)>>2]|0;if(!(o&1)){t[O>>2]=t[X>>2];t[O+4>>2]=t[X+4>>2];t[O+8>>2]=t[X+8>>2];t[O+12>>2]=t[X+12>>2];c[b>>3]=I;c[G>>3]=+c[C>>3];c[r>>3]=I;c[L>>3]=v;c[a>>3]=Z;c[Q>>3]=v;c[D>>3]=Z;g=+c[z>>3];c[W>>3]=g;q=+c[S>>3];c[Y>>3]=q;c[F>>3]=g;c[M>>3]=q;q=v+6.0;c[V>>3]=q;c[N>>3]=+c[X>>3];v=q;g=w;w=q}else{y=(o|0)==1;g=y?p:w;k=y?m:k;w=d+-6.0;t[O>>2]=t[X>>2];t[O+4>>2]=t[X+4>>2];t[O+8>>2]=t[X+8>>2];t[O+12>>2]=t[X+12>>2];c[b>>3]=+c[X>>3];d=d+-12.0;c[G>>3]=d;c[r>>3]=+c[S>>3];c[L>>3]=d;t[a>>2]=t[S>>2];t[a+4>>2]=t[S+4>>2];t[a+8>>2]=t[S+8>>2];t[a+12>>2]=t[S+12>>2];c[D>>3]=k;c[W>>3]=+c[z>>3];c[Y>>3]=k;c[F>>3]=w;c[M>>3]=g;c[V>>3]=w;c[N>>3]=g;d=w;w=+c[C>>3]}c[R>>3]=w;t[x>>2]=8;t[U>>2]=O;t[J>>2]=t[X>>2];t[J+4>>2]=t[X+4>>2];t[J+8>>2]=t[X+8>>2];t[J+12>>2]=t[X+12>>2];t[H>>2]=t[S>>2];t[H+4>>2]=t[S+4>>2];t[H+8>>2]=t[S+8>>2];t[H+12>>2]=t[S+12>>2];t[P>>2]=t[U>>2];t[P+4>>2]=t[U+4>>2];s=jV(J,H,P,T,u)|0;e=t[T>>2]|0;if(!e)break e;mR(A,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,s,e,17296);o=o+1|0;w=g}G2(j)}}while(0);h=_;return}function sL(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0;n=h;h=h+16|0;a=n;l=(Bk(e)|0)==0;l=l?18592:18584;i[a>>0]=i[l>>0]|0;i[a+1>>0]=i[l+1>>0]|0;i[a+2>>0]=i[l+2>>0]|0;i[a+3>>0]=i[l+3>>0]|0;a=hk(85493,a,0)|0;Sd(a,137483,280,1)|0;zw(a,0,87171,195059)|0;l=KF(96)|0;r=t[a+16>>2]|0;t[r+8>>2]=l;f=t[e+16>>2]|0;s=t[f+8>>2]|0;c[l>>3]=+c[s>>3];c[l+24>>3]=+c[s+24>>3];i[r+115>>0]=i[f+115>>0]|0;t[r+116>>2]=t[f+116>>2]&1^1;t[r+248>>2]=t[f+248>>2];t[r+252>>2]=t[f+252>>2];r=Vw(yd(e)|0,1,0)|0;while(1){if(!r)break;zw(a,1,t[r+8>>2]|0,t[r+12>>2]|0)|0;r=Vw(yd(e)|0,1,r)|0}r=Vw(yd(e)|0,2,0)|0;while(1){if(!r)break;zw(a,2,t[r+8>>2]|0,t[r+12>>2]|0)|0;r=Vw(yd(e)|0,2,r)|0}if(!(zw(a,2,111464,0)|0))zw(a,2,111464,195059)|0;if(!(zw(a,2,111455,0)|0))zw(a,2,111455,195059)|0;hL(a,A);h=n;return a|0}function cL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;i=h;h=h+16|0;r=i;e=gd(e,Mk(A)|0,1)|0;Sd(e,137447,304,1)|0;jw(A,e)|0;if((oN(A)|0)==2){a=A+16|0;A=$F((U2(t[t[(t[a>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;t[r>>2]=t[t[(t[a>>2]|0)+104>>2]>>2];T4(A,85488,r)|0;Xw(e,108224,A)|0}h=i;return e|0}function oL(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;r=lk(e,A,r,0,1)|0;Sd(r,137460,176,1)|0;jw(i,r)|0;return r|0}function uL(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0.0;f=h;h=h+32|0;n=f+16|0;a=f;if(i|0){l=+c[A>>3];i=A+8|0;c[A>>3]=+c[i>>3];c[i>>3]=-l}t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];$G(e,a,n);h=f;return}function bL(e,A){e=e|0;A=A|0;t[47189]=t[A>>2];t[47193]=t[A+4>>2];t[47194]=t[A+8>>2];t[47174]=t[A+12>>2];t[47175]=t[A+16>>2];t[47181]=t[A+20>>2];t[47180]=t[A+24>>2];t[47179]=t[A+28>>2];t[47205]=t[A+32>>2];t[47197]=t[A+36>>2];t[47182]=t[A+40>>2];t[47192]=t[A+44>>2];t[47201]=t[A+48>>2];t[47200]=t[A+52>>2];t[47199]=t[A+56>>2];t[47204]=t[A+60>>2];t[47198]=t[A+64>>2];t[47183]=t[A+68>>2];t[47145]=t[A+72>>2];t[47146]=t[A+76>>2];t[47147]=t[A+80>>2];t[47157]=t[A+84>>2];t[47150]=t[A+88>>2];t[47151]=t[A+92>>2];t[47152]=t[A+96>>2];t[47154]=t[A+100>>2];t[47155]=t[A+104>>2];t[47158]=t[A+108>>2];t[47161]=t[A+112>>2];t[47159]=t[A+116>>2];t[47160]=t[A+120>>2];t[47163]=t[A+124>>2];t[47162]=t[A+128>>2];t[47164]=t[A+132>>2];t[47165]=t[A+136>>2];t[47156]=t[A+140>>2];t[47168]=t[A+144>>2];t[47140]=t[A+148>>2];t[47138]=t[A+152>>2];G2(A);iG(e);vk(e)|0;return}function hL(e,A){e=e|0;A=A|0;t[A>>2]=t[47189];t[A+4>>2]=t[47193];t[A+8>>2]=t[47194];t[A+12>>2]=t[47174];t[A+16>>2]=t[47175];t[A+20>>2]=t[47181];t[A+24>>2]=t[47180];t[A+28>>2]=t[47179];t[A+32>>2]=t[47205];t[A+36>>2]=t[47197];t[A+40>>2]=t[47182];t[A+44>>2]=t[47192];t[A+48>>2]=t[47201];t[A+52>>2]=t[47200];t[A+56>>2]=t[47199];t[A+60>>2]=t[47204];t[A+64>>2]=t[47198];t[A+68>>2]=t[47183];t[A+72>>2]=t[47145];t[A+76>>2]=t[47146];t[A+80>>2]=t[47147];t[A+84>>2]=t[47157];t[A+88>>2]=t[47150];t[A+92>>2]=t[47151];t[A+96>>2]=t[47152];t[A+100>>2]=t[47154];t[A+104>>2]=t[47155];t[A+108>>2]=t[47158];t[A+112>>2]=t[47161];t[A+116>>2]=t[47159];t[A+120>>2]=t[47160];t[A+124>>2]=t[47163];t[A+128>>2]=t[47162];t[A+132>>2]=t[47164];t[A+136>>2]=t[47165];t[A+140>>2]=t[47156];t[A+144>>2]=t[47168];t[A+152>>2]=t[47138];t[A+148>>2]=t[47140];t[47189]=0;t[47193]=zw(e,2,87412,0)|0;t[47194]=zw(e,2,87421,0)|0;A=zw(e,2,101541,0)|0;t[47174]=A;if(!A)t[47174]=zw(e,2,101541,195059)|0;t[47175]=0;t[47181]=0;t[47180]=zw(e,2,101437,0)|0;t[47179]=zw(e,2,101428,0)|0;t[47205]=zw(e,2,101717,0)|0;t[47197]=0;t[47182]=zw(e,2,108224,0)|0;t[47192]=zw(e,2,85498,0)|0;t[47201]=0;t[47200]=zw(e,2,101617,0)|0;t[47199]=zw(e,2,101603,0)|0;t[47204]=zw(e,2,101708,0)|0;t[47198]=0;t[47183]=0;t[47145]=zw(e,1,141048,0)|0;t[47146]=zw(e,1,141116,0)|0;t[47147]=zw(e,1,108230,0)|0;t[47157]=0;t[47150]=zw(e,1,101428,0)|0;t[47151]=zw(e,1,101437,0)|0;t[47152]=0;t[47154]=zw(e,1,108224,0)|0;t[47155]=0;t[47158]=0;t[47161]=zw(e,1,101409,0)|0;t[47159]=zw(e,1,141076,0)|0;t[47160]=zw(e,1,101472,0)|0;t[47163]=zw(e,1,101484,0)|0;t[47162]=zw(e,1,101348,0)|0;t[47164]=zw(e,1,101489,0)|0;t[47165]=zw(e,1,85510,0)|0;t[47156]=0;t[47168]=0;t[47140]=zw(e,0,101409,0)|0;return}function wL(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0.0,f=0.0;r=t[(t[(t[e>>2]|0)+16>>2]|0)+96>>2]|0;e=t[(t[(t[A>>2]|0)+16>>2]|0)+96>>2]|0;A=(e|0)!=0;if(r)if(A?(a=+c[r+24>>3],f=+c[r+32>>3],i=+c[e+24>>3],n=+c[e+32>>3],!(a>i)):0)if(!(an)e=-1;else e=f>2]|0)+116>>2]|0;if(!A)break;else e=A}A=t[e>>2]&3;r=t[(t[((A|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;i=t[r+232>>2]|0;e=t[(t[((A|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0;A=t[e+232>>2]|0;if((i|0)<=(A|0))if((i|0)<(A|0))e=1;else e=(t[r+236>>2]|0)<(t[e+236>>2]|0)&1;else e=0;return e|0}function dL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;r=h;h=h+16|0;i=r+8|0;a=r;f=(t[e+16>>2]|0)+180|0;n=(t[A+16>>2]|0)+172|0;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[i>>2]=t[n>>2];t[i+4>>2]=t[n+4>>2];A=vL(e,a,A,i)|0;h=r;return A|0}function vL(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=t[A+4>>2]|0;e:do{if((a|0)>0?(n=t[i+4>>2]|0,(n|0)>0):0)if((a|0)<(n|0)){a=t[A>>2]|0;i=0;while(1){A=t[a+(i<<2)>>2]|0;if(!A){A=0;break e}if((t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)==(r|0))break;else i=i+1|0}}else{a=t[i>>2]|0;i=0;while(1){A=t[a+(i<<2)>>2]|0;if(!A){A=0;break e}if((t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)==(e|0))break;else i=i+1|0}}else A=0}while(0);return A|0}function gL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;r=h;h=h+16|0;i=r+8|0;a=r;f=(t[e+16>>2]|0)+188|0;n=(t[A+16>>2]|0)+196|0;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[i>>2]=t[n>>2];t[i+4>>2]=t[n+4>>2];A=vL(e,a,A,i)|0;h=r;return A|0}function mL(e){e=e|0;var A=0,r=0,i=0,a=0;i=e+48|0;r=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;A=t[r+180>>2]|0;if(!A)A=$F((t[r+184>>2]<<2)+8|0)|0;else A=AM(A,(t[r+184>>2]<<2)+8|0)|0;t[(t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+180>>2]=A;a=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;r=t[a+180>>2]|0;a=a+184|0;A=t[a>>2]|0;t[a>>2]=A+1;t[r+(A<<2)>>2]=e;i=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;t[(t[i+180>>2]|0)+(t[i+184>>2]<<2)>>2]=0;i=e+-48|0;A=t[(t[((t[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;r=t[A+172>>2]|0;if(!r)A=$F((t[A+176>>2]<<2)+8|0)|0;else A=AM(r,(t[A+176>>2]<<2)+8|0)|0;t[(t[(t[((t[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+172>>2]=A;A=t[(t[((t[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;r=t[A+172>>2]|0;A=A+176|0;a=t[A>>2]|0;t[A>>2]=a+1;t[r+(a<<2)>>2]=e;a=t[(t[((t[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;t[(t[a+172>>2]|0)+(t[a+176>>2]<<2)>>2]=0;return e|0}function pL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;i=e+4|0;a=t[i>>2]|0;r=0;while(1){if((r|0)>=(a|0))break;n=t[e>>2]|0;f=n+(r<<2)|0;if((t[f>>2]|0)==(A|0)){l=4;break}else r=r+1|0}if((l|0)==4){l=a+-1|0;t[i>>2]=l;t[f>>2]=t[n+(l<<2)>>2];t[(t[e>>2]|0)+(l<<2)>>2]=0}return}function EL(e){e=e|0;if(!e)ge(85551,85561,117,85570);else{pL((t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+180|0,e);pL((t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+172|0,e);return}}function BL(e){e=e|0;var A=0,r=0,i=0,a=0;i=e+48|0;r=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;A=t[r+204>>2]|0;if(!A)A=$F((t[r+208>>2]<<2)+8|0)|0;else A=AM(A,(t[r+208>>2]<<2)+8|0)|0;t[(t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+204>>2]=A;a=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;A=t[a+204>>2]|0;a=a+208|0;r=t[a>>2]|0;t[a>>2]=r+1;t[A+(r<<2)>>2]=e;i=t[(t[((t[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0;t[(t[i+204>>2]|0)+(t[i+208>>2]<<2)>>2]=0;return}function yL(e){e=e|0;CL(e,(t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function CL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=A+4|0;i=t[f>>2]|0;a=t[A>>2]|0;r=0;while(1){if((r|0)>=(i|0)){n=4;break}if((t[a+(r<<2)>>2]|0)==(e|0))break;else r=r+1|0}if((n|0)==4){if(!a)r=$F((i<<2)+8|0)|0;else r=AM(a,(i<<2)+8|0)|0;t[A>>2]=r;a=t[f>>2]|0;n=a+1|0;t[f>>2]=n;t[r+(a<<2)>>2]=e;t[(t[A>>2]|0)+(n<<2)>>2]=0}return}function IL(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=KF(96)|0;n=b+48|0;t[n>>2]=t[n>>2]|3;t[b>>2]=t[b>>2]&-4|2;f=KF(176)|0;u=b+16|0;t[u>>2]=f;t[((t[b>>2]&3|0)==3?b:n)+40>>2]=e;s=b+-48|0;t[((t[b>>2]&3|0)==2?b:s)+40>>2]=A;i[f+112>>0]=1;if(!r){t[f+156>>2]=1;a[f+154>>1]=1;a[f+168>>1]=1;a[f+170>>1]=1}else{t[b>>2]=t[b>>2]&15|t[r>>2]&-16;t[n>>2]=t[n>>2]&15|t[r>>2]&-16;o=r+16|0;l=t[o>>2]|0;a[f+168>>1]=a[l+168>>1]|0;a[f+154>>1]=a[l+154>>1]|0;t[f+156>>2]=t[l+156>>2];a[f+170>>1]=a[l+170>>1]|0;e=t[((t[b>>2]&3|0)==3?b:n)+40>>2]|0;A=t[r>>2]&3;c=r+48|0;if((e|0)!=(t[((A|0)==3?r:c)+40>>2]|0)){n=r+-48|0;if((e|0)==(t[((A|0)==2?r:n)+40>>2]|0)){f=f+16|0;e=l+56|0;A=f+40|0;do{t[f>>2]=t[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(A|0))}}else{f=f+16|0;e=l+16|0;A=f+40|0;do{t[f>>2]=t[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(A|0));n=r+-48|0}e=t[((t[b>>2]&3|0)==2?b:s)+40>>2]|0;A=t[r>>2]&3;if((e|0)!=(t[((A|0)==2?r:n)+40>>2]|0)){if((e|0)==(t[((A|0)==3?r:c)+40>>2]|0)){f=(t[u>>2]|0)+56|0;e=(t[o>>2]|0)+16|0;A=f+40|0;do{t[f>>2]=t[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(A|0))}}else{f=(t[u>>2]|0)+56|0;e=(t[o>>2]|0)+56|0;A=f+40|0;do{t[f>>2]=t[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(A|0))}e=(t[o>>2]|0)+172|0;if(!(t[e>>2]|0))t[e>>2]=b;t[(t[u>>2]|0)+116>>2]=r}return b|0}function ZL(e,A,r){e=e|0;A=A|0;r=r|0;return mL(IL(e,A,r)|0)|0}function GL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;e=(t[e+16>>2]|0)+192|0;a=t[e>>2]|0;r=t[A+16>>2]|0;t[r+164>>2]=a;i=a;if(a|0)t[(t[i+16>>2]|0)+168>>2]=A;t[e>>2]=A;t[r+168>>2]=0;if((i|0)==(A|0))ge(85587,85561,215,85603);else return}function LL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;if((e|0)==(A|0))ge(85613,85561,220,85620);a=t[A+16>>2]|0;r=a+164|0;if(t[r>>2]|0)ge(85633,85561,221,85620);i=(t[e+16>>2]|0)+164|0;t[r>>2]=t[i>>2];r=t[i>>2]|0;if(r|0)t[(t[r+16>>2]|0)+168>>2]=A;t[a+168>>2]=e;t[i>>2]=A;return}function QL(e,A){e=e|0;A=A|0;var r=0,i=0;if(!(DL(e,A)|0))ge(85652,85561,231,85673);A=t[A+16>>2]|0;r=t[A+164>>2]|0;i=r;A=A+168|0;if(r|0)t[(t[r+16>>2]|0)+168>>2]=t[A>>2];A=t[A>>2]|0;if(!A)t[(t[e+16>>2]|0)+192>>2]=i;else t[(t[A+16>>2]|0)+164>>2]=i;return}function DL(e,A){e=e|0;A=A|0;e=(t[e+16>>2]|0)+192|0;while(1){e=t[e>>2]|0;if((e|0)==0|(e|0)==(A|0))break;e=(t[e+16>>2]|0)+164|0}return e|0}function zL(e){e=e|0;var A=0,r=0,a=0,n=0;A=KF(64)|0;t[A>>2]=t[A>>2]&-4|1;r=A+16|0;t[r>>2]=KF(304)|0;t[A+24>>2]=yd(e)|0;n=t[r>>2]|0;i[n+156>>0]=1;c[n+96>>3]=1.0;c[n+88>>3]=1.0;c[n+80>>3]=1.0;t[n+216>>2]=1;t[n+176>>2]=0;n=KF(20)|0;a=t[r>>2]|0;t[a+172>>2]=n;t[a+184>>2]=0;a=KF(20)|0;t[(t[r>>2]|0)+180>>2]=a;GL(e,A);e=(t[e+16>>2]|0)+232|0;t[e>>2]=(t[e>>2]|0)+1;return A|0}function WL(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;n=A+48|0;r=t[(t[((t[A>>2]&3|0)==3?A:n)+40>>2]|0)+16>>2]|0;a=t[r+188>>2]|0;if(!a)r=$F((t[r+192>>2]<<2)+8|0)|0;else r=AM(a,(t[r+192>>2]<<2)+8|0)|0;t[(t[(t[((t[A>>2]&3|0)==3?A:n)+40>>2]|0)+16>>2]|0)+188>>2]=r;f=t[(t[((t[A>>2]&3|0)==3?A:n)+40>>2]|0)+16>>2]|0;a=t[f+188>>2]|0;f=f+192|0;r=t[f>>2]|0;t[f>>2]=r+1;t[a+(r<<2)>>2]=A;n=t[(t[((t[A>>2]&3|0)==3?A:n)+40>>2]|0)+16>>2]|0;t[(t[n+188>>2]|0)+(t[n+192>>2]<<2)>>2]=0;n=A+-48|0;r=t[(t[((t[A>>2]&3|0)==2?A:n)+40>>2]|0)+16>>2]|0;a=t[r+196>>2]|0;if(!a)r=$F((t[r+200>>2]<<2)+8|0)|0;else r=AM(a,(t[r+200>>2]<<2)+8|0)|0;t[(t[(t[((t[A>>2]&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+196>>2]=r;r=t[(t[((t[A>>2]&3|0)==2?A:n)+40>>2]|0)+16>>2]|0;a=t[r+196>>2]|0;r=r+200|0;f=t[r>>2]|0;t[r>>2]=f+1;t[a+(f<<2)>>2]=A;f=t[(t[((t[A>>2]&3|0)==2?A:n)+40>>2]|0)+16>>2]|0;t[(t[f+196>>2]|0)+(t[f+200>>2]<<2)>>2]=0;i[(t[e+16>>2]|0)+240>>0]=1;i[(t[(mG(e)|0)+16>>2]|0)+240>>0]=1;return}function YL(e){e=e|0;var A=0,r=0;if(!e)ge(85551,85561,269,85690);A=t[(t[e+16>>2]|0)+116>>2]|0;if(A|0?(r=(t[A+16>>2]|0)+172|0,(t[r>>2]|0)==(e|0)):0)t[r>>2]=0;pL((t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+188|0,e);pL((t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+196|0,e);return}function FL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=h;h=h+16|0;r=(t[e+16>>2]|0)+172|0;i=t[r>>2]|0;do{if((i|0)!=(A|0))if(!i){t[r>>2]=A;ML(e,A);break}else ge(87593,85561,340,85728);else nw(0,85707,a)|0}while(0);h=a;return}function ML(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,l=0;r=(t[A+16>>2]|0)+170|0;l=t[e+16>>2]|0;e=a[l+170>>1]|0;if((f[r>>1]|0)<(e&65535))a[r>>1]=e;i=l+168|0;n=l+154|0;r=l+156|0;e=A;while(1){if(!e)break;A=t[e+16>>2]|0;l=A+168|0;a[l>>1]=(f[l>>1]|0)+(f[i>>1]|0);l=A+154|0;a[l>>1]=(f[l>>1]|0)+(f[n>>1]|0);l=A+156|0;t[l>>2]=(t[l>>2]|0)+(t[r>>2]|0);e=t[A+172>>2]|0}return}function VL(e){e=e|0;var A=0,r=0,n=0,f=0;r=e+16|0;A=t[(t[r>>2]|0)+172>>2]|0;e:while(1){if(!A)break;NL(A,e);f=t[A+16>>2]|0;n=t[f+172>>2]|0;if(!(a[f+168>>1]|0))RL(A);while(1){if((i[(t[A+16>>2]|0)+112>>0]|0)!=1){A=n;continue e}A=t[(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((i[A+156>>0]|0)!=1){A=n;continue e}if((t[A+184>>2]|0)!=1){A=n;continue e}A=t[t[A+180>>2]>>2]|0;NL(A,e)}}t[(t[r>>2]|0)+172>>2]=0;return}function NL(e,A){e=e|0;A=A|0;var r=0;r=t[A+16>>2]|0;A=t[e+16>>2]|0;e=A+168|0;a[e>>1]=(f[e>>1]|0)-(f[r+168>>1]|0);e=A+154|0;a[e>>1]=(f[e>>1]|0)-(f[r+154>>1]|0);A=A+156|0;t[A>>2]=(t[A>>2]|0)-(t[r+156>>2]|0);return}function RL(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if(!e)ge(85551,85561,128,85741);n=e+48|0;r=0;while(1){A=t[e>>2]|0;i=(t[(t[((A&3|0)==3?e:n)+40>>2]|0)+16>>2]|0)+180|0;a=t[(t[i>>2]|0)+(r<<2)>>2]|0;if(!a)break;if((a|0)==(e|0))pL(i,e);r=r+1|0}n=e+-48|0;a=0;while(1){r=(t[(t[((A&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+172|0;i=t[(t[r>>2]|0)+(a<<2)>>2]|0;if(!i)break;if((i|0)==(e|0)){pL(r,e);A=t[e>>2]|0}a=a+1|0}return}function xL(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;w=h;h=h+1040|0;u=w+1032|0;b=w;o=w+8|0;c=e+16|0;e=t[c>>2]|0;s=a[e+236>>1]|0;while(1){if((s|0)>(a[e+238>>1]|0))break;l=t[e+196>>2]|0;f=l+(s<<6)|0;l=l+(s<<6)+4|0;n=0;e=0;while(1){if((n|0)>=(t[f>>2]|0))break;A=t[(t[l>>2]|0)+(n<<2)>>2]|0;r=A+16|0;if(t[(t[r>>2]|0)+112>>2]|0){if(!e){i[u>>0]=i[18588]|0;i[u+1>>0]=i[18589]|0;i[u+2>>0]=i[18590]|0;i[u+3>>0]=i[18591]|0;e=hk(85763,u,0)|0}t[b>>2]=n;T4(o,137395,b)|0;g=gd(e,o,1)|0;Sd(g,91164,24,1)|0;k=t[(t[r>>2]|0)+180>>2]|0;d=t[k>>2]|0;d=t[(t[(t[((t[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=t[k+4>>2]|0;k=t[(t[(t[((t[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;v=(d|0)>(k|0);r=t[g+16>>2]|0;t[r+12>>2]=v?k:d;t[r+16>>2]=v?d:k;t[r+20>>2]=A}n=n+1|0}if(e|0){if((gk(e)|0)>1)JL(e,f);vk(e)|0}s=s+1|0;e=t[c>>2]|0}h=w;return}function JL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;r=0;f=sd(e)|0;e:while(1){if(!f)break;l=cd(e,f)|0;s=f+16|0;n=l;while(1){if(!n){f=l;continue e}a=t[n+16>>2]|0;i=t[s>>2]|0;if((t[a+16>>2]|0)>(t[i+12>>2]|0)){if((t[i+16>>2]|0)<=(t[a+12>>2]|0))lk(e,f,n,0,1)|0}else{lk(e,n,f,0,1)|0;r=1}n=cd(e,n)|0}}do{if(r|0){f=Rv(e,85766,1)|0;s=KF((gk(e)|0)<<2)|0;l=KF((gk(e)|0)<<2)|0;a=A+4|0;i=sd(e)|0;e:while(1){if(!i){r=23;break}if((t[(t[i+16>>2]|0)+8>>2]|0)==0?pk(e,i,1,1)|0:0){A:do{if(HL(e,i,f,l)|0){n=gk(f)|0;if((PL(e,f,s)|0)!=(n|0)){r=17;break e}_4(l,n,4,60);r=0;while(1){if((r|0)>=(n|0))break A;A=l+(r<<2)|0;c=t[s+(r<<2)>>2]|0;t[(t[c+16>>2]|0)+236>>2]=t[A>>2];t[(t[a>>2]|0)+(t[A>>2]<<2)>>2]=c;r=r+1|0}}}while(0);SL(f)}i=cd(e,i)|0}if((r|0)==17)ge(85771,85781,265,85792);else if((r|0)==23){G2(s);break}}}while(0);return}function HL(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;f=t[A+16>>2]|0;t[f+8>>2]=1;f=t[(t[(t[f+20>>2]|0)+16>>2]|0)+236>>2]|0;t[i+((gk(r)|0)<<2)>>2]=f;hd(r,A,1)|0;f=Ow(e,A)|0;a=0;while(1){if(!f)break;s=t[f>>2]&3;n=t[((s|0)==2?f:f+-48|0)+40>>2]|0;l=t[n+16>>2]|0;a=a+((t[(t[(t[l+20>>2]|0)+16>>2]|0)+236>>2]|0)>(t[(t[(t[(t[(t[((s|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(t[l+8>>2]|0))a=(HL(e,n,r,i)|0)+a|0;f=qw(e,f)|0}f=Kw(e,A)|0;while(1){if(!f)break;l=t[f>>2]&3;n=t[((l|0)==3?f:f+48|0)+40>>2]|0;s=t[n+16>>2]|0;a=a+((t[(t[(t[(t[(t[((l|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(t[(t[(t[s+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(t[s+8>>2]|0))a=(HL(e,n,r,i)|0)+a|0;f=$w(e,f)|0}return a|0}function PL(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;a=0;while(1){i=jL(e,A)|0;if(!i)break;t[r+(a<<2)>>2]=t[(t[i+16>>2]|0)+20>>2];pd(A,i)|0;i=Ow(e,i)|0;while(1){if(!i)break;n=qw(e,i)|0;ok(e,i)|0;i=n}a=a+1|0}return a|0}function XL(e,A){e=e|0;A=A|0;return(t[e>>2]|0)-(t[A>>2]|0)|0}function SL(e){e=e|0;var A=0,r=0;A=sd(e)|0;while(1){if(!A)break;r=cd(e,A)|0;pd(e,A)|0;A=r}return}function jL(e,A){e=e|0;A=A|0;var r=0;r=sd(A)|0;while(1){if(!r){r=0;break}if(!(pk(e,r,1,0)|0))break;r=cd(A,r)|0}return r|0}function UL(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;TL(e);l=e+16|0;a=0;r=0;while(1){if((a|0)>=(t[(t[l>>2]|0)+220>>2]|0))break;OL(e,a);a=a+1|0;r=(_L(e,0,A)|0)+r|0}qL(e);f=1;while(1){a=t[l>>2]|0;n=t[a+180>>2]|0;if((f|0)>(n|0))break;n=(KL(t[(t[a+184>>2]|0)+(f<<2)>>2]|0,A)|0)+r|0;f=f+1|0;r=n}do{if((n|0)>0){a=Hw(e,85806)|0;if(a|0?(mx(a)|0)<<24>>24==0:0)break;BW(e);i[193769]=1;r=_L(e,2,A)|0}}while(0);$L(e,r);return}function TL(e){e=e|0;var A=0;if(0)lx();i[193769]=0;t[46741]=e;A=((mk(mG(e)|0)|0)<<2)+4|0;t[46740]=KF(A)|0;t[46739]=KF(A)|0;PQ(e);A=e+16|0;if(a[(t[A>>2]|0)+136>>1]&16)XQ(e);aW(e);jW(e,1);SQ(e);nQ(e);A=t[A>>2]|0;t[46742]=a[A+236>>1];t[46743]=a[A+238>>1];return}function OL(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;e=t[e+16>>2]|0;t[e+192>>2]=t[(t[e+216>>2]|0)+(A<<2)>>2];e:do{if((A|0)>0){A=a[e+238>>1]|0;r=e+196|0;e=a[e+236>>1]|0;while(1){if((e|0)>(A|0))break e;i=t[r>>2]|0;n=i+(e<<6)+4|0;i=i+(e<<6)|0;t[n>>2]=(t[n>>2]|0)+(t[i>>2]<<2);t[i>>2]=0;e=e+1|0}}}while(0);return}function _L(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;b=h;h=h+32|0;u=b;if((A|0)>1){i=EQ(0)|0;BQ(e)}else i=2147483647;o=t[15712]|0;s=A;a=0;A=i;while(1){if((s|0)>=3)break;a=t[47136]|0;if((s|0)==2)if((i|0)>(A|0)){CQ(e);i=A}else i=A;else{i=(a|0)<4?a:4;if((mG(e)|0)==(e|0))yQ(e,s);if(!s)fQ(e);lQ(e);n=EQ(0)|0;if((n|0)>(A|0)){a=i;i=n}else{BQ(e);a=i;i=n;A=n}}n=0;l=0;while(1){if((l|0)>=(a|0))break;if(0){t[u>>2]=s;t[u+4>>2]=l;t[u+8>>2]=n;t[u+12>>2]=i;t[u+16>>2]=A;a3(o,86199,u)|0}f=n+1|0;if((i|0)==0|(n|0)>=(t[46744]|0))break;IQ(e,l);i=EQ(0)|0;if((i|0)>(A|0))n=f;else{BQ(e);n=+c[23215]*+(A|0)>+(i|0)?0:f;A=i}l=l+1|0}if(!i){i=0;break}else s=s+1|0}if((i|0)>(A|0))CQ(e);if((A|0)>0){ZQ(e,0);i=EQ(0)|0}else i=A;e:do{if(r|0){A=0;while(1){if((A|0)>=(a|0))break e;GQ(e);A=A+1|0}}}while(0);h=b;return i|0}function qL(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;u=w;pQ(e);c=e+16|0;A=t[c>>2]|0;o=t[15712]|0;s=a[A+236>>1]|0;while(1){if((s|0)>(a[A+238>>1]|0))break;r=t[A+196>>2]|0;i=t[r+(s<<6)+8>>2]|0;t[r+(s<<6)>>2]=i;n=t[r+(s<<6)+12>>2]|0;t[r+(s<<6)+4>>2]=n;l=0;while(1){if((l|0)>=(i|0))break;f=t[n+(l<<2)>>2]|0;if(!f){b=6;break}t[(t[f+16>>2]|0)+236>>2]=l;l=l+1|0}if((b|0)==6){b=0;if(0){r=Mk(e)|0;A=t[(t[(t[c>>2]|0)+196>>2]|0)+(s<<6)>>2]|0;t[u>>2]=r;t[u+4>>2]=s;t[u+8>>2]=l;t[u+12>>2]=A;a3(o,86149,u)|0;A=t[c>>2]|0;r=t[A+196>>2]|0}t[r+(s<<6)>>2]=l}s=s+1|0}h=w;return}function KL(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;dW(e);nQ(e);fQ(e);lQ(e);a=e+16|0;r=_L(e,2,A)|0;i=1;while(1){n=t[a>>2]|0;if((i|0)>(t[n+180>>2]|0))break;r=(KL(t[(t[n+184>>2]|0)+(i<<2)>>2]|0,A)|0)+r|0;i=i+1|0}sQ(e);return r|0}function $L(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+16|0;w=k;r=t[46739]|0;if(r|0){G2(r);t[46739]=0}r=t[46740]|0;if(r|0){G2(r);t[46740]=0}b=e+16|0;r=1;while(1){n=t[b>>2]|0;if((r|0)>(t[n+180>>2]|0))break;eQ(t[(t[n+184>>2]|0)+(r<<2)>>2]|0);r=r+1|0}u=a[n+236>>1]|0;r=n;while(1){if((u|0)>(a[r+238>>1]|0))break;else o=0;while(1){r=t[r+196>>2]|0;if((o|0)>=(t[r+(u<<6)>>2]|0))break;s=(t[(t[r+(u<<6)+4>>2]|0)+(o<<2)>>2]|0)+16|0;r=t[s>>2]|0;t[r+236>>2]=o;r=t[r+188>>2]|0;e:do{if(r|0){n=0;while(1){f=t[r+(n<<2)>>2]|0;if(!f)break e;l=f+16|0;if((i[(t[l>>2]|0)+112>>0]|0)==4){YL(f);G2(t[l>>2]|0);G2(f);n=n+-1|0;r=t[(t[s>>2]|0)+188>>2]|0}n=n+1|0}}}while(0);o=o+1|0;r=t[b>>2]|0}AQ(t[r+(u<<6)+56>>2]|0);u=u+1|0;r=t[b>>2]|0}if(0){b=t[15712]|0;e=Mk(e)|0;d=+sx();t[w>>2]=e;t[w+4>>2]=A;c[w+8>>3]=d;a3(b,85817,w)|0}h=k;return}function eQ(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0;n=e+16|0;A=1;while(1){i=t[n>>2]|0;if((A|0)>(t[i+180>>2]|0))break;eQ(t[(t[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}e:do{if(t[i+268>>2]|0){r=a[i+236>>1]|0;A=i;while(1){if((r|0)>(a[A+238>>1]|0))break e;s=t[(t[A+268>>2]|0)+(r<<2)>>2]|0;l=rQ(e,s,-1)|0;s=rQ(e,s,1)|0;t[(t[(t[n>>2]|0)+268>>2]|0)+(r<<2)>>2]=l;c=t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0;l=t[(t[l+16>>2]|0)+236>>2]|0;i=t[n>>2]|0;f=t[i+196>>2]|0;t[f+(r<<6)+4>>2]=c+(l<<2);t[f+(r<<6)>>2]=(t[(t[s+16>>2]|0)+236>>2]|0)+1-l;r=r+1|0;A=i}}}while(0);return}function AQ(e){e=e|0;if(e|0){G2(t[e+8>>2]|0);G2(e)}return}function rQ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=A;while(1){A=iQ(A,r)|0;if(!A)break;if(aQ(e,A)|0){i=A;continue}a=(tQ(e,A)|0)==0;i=a?i:A}return i|0}function iQ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;if(!e)ge(85856,85781,1023,85858);if((A|0)<0){e=t[e+16>>2]|0;i=t[e+236>>2]|0;if((i|0)>0){e=(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(t[e+232>>2]<<6)+4|0;r=i+-1|0;a=7}else n=0}else{e=t[e+16>>2]|0;i=t[e+236>>2]|0;e=(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(t[e+232>>2]<<6)+4|0;r=i+1|0;a=7}if((a|0)==7){e=t[(t[e>>2]|0)+(r<<2)>>2]|0;if(e)if((P((t[(t[e+16>>2]|0)+236>>2]|0)-i|0,A)|0)>0)n=e;else ge(85867,85781,1029,85858);else n=0}return n|0}function aQ(e,A){e=e|0;A=A|0;if(!(i[(t[A+16>>2]|0)+156>>0]|0))e=(Wd(e,A)|0)!=0&1;else e=0;return e|0}function tQ(e,A){e=e|0;A=A|0;var r=0,a=0;A=t[A+16>>2]|0;if(((i[A+156>>0]|0)==1?(t[A+176>>2]|0)==1:0)?(t[A+184>>2]|0)==1:0){A=t[A+180>>2]|0;while(1){A=t[A>>2]|0;r=t[A+16>>2]|0;if(!(i[r+112>>0]|0))break;else A=r+116|0}if(Wd(e,A)|0)A=1;else a=7}else a=7;if((a|0)==7)A=0;return A|0}function nQ(e){e=e|0;var A=0,r=0,a=0;a=h;h=h+16|0;r=a;A=t[47140]|0;e:do{if((A|0)!=0|(t[47161]|0)!=0){A=dx(e,A,0)|0;if(A|0){switch(i[A>>0]|0){case 0:break e;case 111:{if(!(e1(A,86069)|0)){kQ(e,1);break e}break}case 105:{if(!(e1(A,98735)|0)){kQ(e,0);break e}break}default:{}}t[r>>2]=A;nw(1,86073,r)|0;break}A=xv(e)|0;while(1){if(!A)break;if(!(Az(A)|0))nQ(A);A=Jv(A)|0}if(t[47161]|0)dQ(e)}}while(0);h=a;return}function fQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0;c=e+16|0;A=t[c>>2]|0;s=a[A+236>>1]|0;while(1){if((s|0)>(a[A+238>>1]|0))break;else{r=0;l=0}while(1){n=t[A+196>>2]|0;f=t[n+(s<<6)>>2]|0;if((l|0)>=(f|0))break;n=t[(t[(t[n+(s<<6)+4>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;i[n+158>>0]=0;i[n+157>>0]=0;t[n+284>>2]=l;if((r|0)==0&(t[n+192>>2]|0)>0){r=hQ(f,f)|0;A=t[c>>2]|0;t[(t[A+196>>2]|0)+(s<<6)+56>>2]=r;r=1}l=l+1|0}e:do{if(r){l=0;r=f;while(1){if((l|0)>=(r|0))break e;f=t[(t[n+(s<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!(i[(t[f+16>>2]|0)+157>>0]|0)){wQ(e,f);A=t[c>>2]|0;r=t[A+196>>2]|0;n=r;r=t[r+(s<<6)>>2]|0}l=l+1|0}}}while(0);s=s+1|0}return}function lQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0;v=e+16|0;A=t[v>>2]|0;if(i[A+240>>0]|0){f=0;d=a[A+236>>1]|0;k=0;l=0;e:while(1){if((d|0)>(a[A+238>>1]|0))break;r=t[A+196>>2]|0;n=t[r+(d<<6)>>2]|0;if(!n){n=k;r=l}else{r=t[r+(d<<6)+4>>2]|0;h=t[(t[(t[r>>2]|0)+16>>2]|0)+236>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;i[(t[(t[r+(A<<2)>>2]|0)+16>>2]|0)+157>>0]=0;A=A+1|0}A=(A<<2)+4|0;if(!f)w=$F(A)|0;else w=AM(l,A)|0;u=0;b=0;while(1){A=t[v>>2]|0;r=t[A+196>>2]|0;n=t[r+(d<<6)>>2]|0;if((n|0)<=(b|0))break;s=t[(t[r+(d<<6)+4>>2]|0)+(((t[A+116>>2]&1|0)==0?n+~b|0:b)<<2)>>2]|0;o=s+16|0;A=0;c=0;while(1){l=t[o>>2]|0;if((A|0)>=(t[l+200>>2]|0)){r=0;n=0;A=l;break}l=c+((cQ(e,t[(t[l+196>>2]|0)+(A<<2)>>2]|0)|0)!=0&1)|0;A=A+1|0;c=l}while(1){if((n|0)>=(t[A+192>>2]|0))break;l=r+((cQ(e,t[(t[A+188>>2]|0)+(n<<2)>>2]|0)|0)!=0&1)|0;r=l;n=n+1|0;A=t[o>>2]|0}if(r|c)if((c|0)==0&(i[A+157>>0]|0)==0)A=(oQ(e,s,w+(u<<2)|0,d)|0)+u|0;else A=u;else{t[w+(u<<2)>>2]=s;A=u+1|0}u=A;b=b+1|0}A:do{if(u){r:do{if(!(t[A+116>>2]&1)){r=w;A=w+(u<<2)|0;while(1){A=A+-4|0;if(r>>>0>=A>>>0){n=0;break r}b=t[r>>2]|0;t[r>>2]=t[A>>2];t[A>>2]=b;r=r+4|0}}else n=0}while(0);while(1){A=t[v>>2]|0;l=t[A+196>>2]|0;r=t[l+(d<<6)>>2]|0;if((n|0)>=(r|0)){u=0;n=l;break}b=t[w+(n<<2)>>2]|0;t[(t[l+(d<<6)+4>>2]|0)+(n<<2)>>2]=b;t[(t[b+16>>2]|0)+236>>2]=n+h;n=n+1|0}while(1){if((u|0)>=(r|0))break A;o=(t[(t[n+(d<<6)+4>>2]|0)+(u<<2)>>2]|0)+16|0;l=t[(t[o>>2]|0)+188>>2]|0;if(l){c=0;r=l;while(1){n=t[r+(c<<2)>>2]|0;A=t[v>>2]|0;if(!n)break;s=t[n>>2]&3;l=t[(t[(t[((s|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=t[(t[(t[((s|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(t[A+116>>2]&1))if((l|0)<(s|0))g=36;else A=c;else if((l|0)>(s|0))g=36;else A=c;if((g|0)==36){g=0;if(cQ(e,n)|0){g=37;break e}YL(n);uQ(e,n);A=c+-1|0;r=t[(t[o>>2]|0)+188>>2]|0}c=A+1|0}r=t[A+196>>2]|0;n=r;r=t[r+(d<<6)>>2]|0}u=u+1|0}}}while(0);i[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(d<<6)+49>>0]=0;f=w;n=w;r=w}d=d+1|0;k=n;l=r}if((g|0)==37)ge(85915,85781,1561,85954);if(f|0)G2(k)}return}function sQ(e){e=e|0;var A=0,r=0;r=e+16|0;e=t[r>>2]|0;e:do{if(t[e+268>>2]|0){A=a[e+236>>1]|0;while(1){if((A|0)>(a[e+238>>1]|0))break e;t[(t[e+268>>2]|0)+(A<<2)>>2]=t[t[(t[e+196>>2]|0)+(A<<6)+4>>2]>>2];A=A+1|0;e=t[r>>2]|0}}}while(0);return}function cQ(e,A){e=e|0;A=A|0;if((t[(t[A+16>>2]|0)+156>>2]|0)!=0?(bQ(e,t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)!=0:0)e=(bQ(e,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)!=0&1;else e=0;return e|0}function oQ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;o=A+16|0;n=t[o>>2]|0;i[n+157>>0]=1;e:do{if((t[n+192>>2]|0)>0){f=0;s=0;while(1){l=t[(t[n+188>>2]|0)+(s<<2)>>2]|0;if(!l)break e;if((cQ(e,l)|0)!=0?(c=t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,(i[(t[c+16>>2]|0)+157>>0]|0)==0):0)f=(oQ(e,c,r+(f<<2)|0,a)|0)+f|0;s=s+1|0;n=t[o>>2]|0}}else f=0}while(0);if((t[n+232>>2]|0)==(a|0)){t[r+(f<<2)>>2]=A;return f+1|0}else ge(85967,85781,1490,85983);return 0}function uQ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;l=t[A>>2]&3;s=t[((l|0)==2?A:A+-48|0)+40>>2]|0;a=t[(t[s+16>>2]|0)+188>>2]|0;e:do{if(!a){r=A+48|0;u=15}else{o=A+48|0;n=((l|0)==3?A:o)+40|0;r=0;while(1){f=t[a+(r<<2)>>2]|0;if(!f){r=o;u=15;break e}if((t[((t[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(t[n>>2]|0))break;else r=r+1|0}FL(A,f);r=(t[A+16>>2]|0)+172|0;if(!(t[r>>2]|0))t[r>>2]=f;r=t[f+16>>2]|0;if((i[r+112>>0]|0)==4?(c=r+116|0,(t[c>>2]|0)==0):0)t[c>>2]=A;r=t[(t[((t[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0;a=t[r+204>>2]|0;if(!a)r=$F((t[r+208>>2]<<2)+8|0)|0;else r=AM(a,(t[r+208>>2]<<2)+8|0)|0;t[(t[(t[((t[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0)+204>>2]=r;l=t[(t[((t[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0;s=t[l+204>>2]|0;l=l+208|0;c=t[l>>2]|0;t[l>>2]=c+1;t[s+(c<<2)>>2]=A;A=t[(t[((t[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0;t[(t[A+204>>2]|0)+(t[A+208>>2]<<2)>>2]=0}}while(0);if((u|0)==15){u=IL(s,t[((l|0)==3?A:r)+40>>2]|0,A)|0;o=t[A+16>>2]|0;A=t[u+16>>2]|0;i[A+112>>0]=(i[o+112>>0]|0)==4?4:3;t[A+96>>2]=t[o+96>>2];WL(e,u)}return}function bQ(e,A){e=e|0;A=A|0;var r=0;r=aQ(e,A)|0;return tQ(e,A)|0|r|0}function hQ(e,A){e=e|0;A=A|0;var r=0;r=KF(12)|0;t[r>>2]=e;t[r+4>>2]=A;t[r+8>>2]=KF(P(A,e)|0)|0;return r|0}function wQ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;h=A+16|0;o=t[h>>2]|0;c=t[(t[(t[e+16>>2]|0)+196>>2]|0)+(t[o+232>>2]<<6)+56>>2]|0;i[o+157>>0]=1;i[o+158>>0]=1;o=(t[(t[(mG(e)|0)+16>>2]|0)+180>>2]|0)>0;r=t[h>>2]|0;a=t[r+188>>2]|0;e:do{if(a){u=c+4|0;b=c+8|0;A=0;A:while(1){s=t[a+(A<<2)>>2]|0;if(!s){w=r;break e}if(o){if((Wd(e,t[((t[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0)!=0?(Wd(e,t[((t[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0)!=0:0)k=7}else k=7;do{if((k|0)==7){k=0;f=s+16|0;if(t[(t[f>>2]|0)+156>>2]|0){r=t[s>>2]&3;n=s+-48|0;d=t[(t[((r|0)==2?s:n)+40>>2]|0)+16>>2]|0;l=t[d+284>>2]|0;a=(l|0)<(t[c>>2]|0);if((i[d+158>>0]|0)==1){if(!a){k=10;break A}r=t[(t[(t[((r|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;a=t[u>>2]|0;if((r|0)>=(a|0)){k=12;break A}i[(t[b>>2]|0)+((P(a,l)|0)+r)>>0]=1;YL(s);A=A+-1|0;if((i[(t[f>>2]|0)+112>>0]|0)==4)break;uQ(e,s);break}else{if(!a){k=16;break A}r=t[(t[(t[((r|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;a=t[u>>2]|0;if((r|0)>=(a|0)){k=18;break A}i[(t[b>>2]|0)+((P(a,r)|0)+l)>>0]=1;r=t[((t[s>>2]&3|0)==2?s:n)+40>>2]|0;if(i[(t[r+16>>2]|0)+157>>0]|0)break;wQ(e,r);break}}}}while(0);a=t[h>>2]|0;A=A+1|0;r=a;a=t[a+188>>2]|0}if((k|0)==10)ge(85993,85781,1251,86025);else if((k|0)==12)ge(86037,85781,1252,86025);else if((k|0)==16)ge(85993,85781,1260,86025);else if((k|0)==18)ge(86037,85781,1261,86025)}else w=r}while(0);i[w+158>>0]=0;return}function kQ(e,A){e=e|0;A=A|0;var r=0;r=sd(e)|0;while(1){if(!r)break;vQ(e,r,A);r=cd(e,r)|0}return}function dQ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;n=h;h=h+16|0;a=n;A=sd(e)|0;while(1){if(!A)break;r=dx(A,t[47161]|0,0)|0;e:do{if(r|0){switch(i[r>>0]|0){case 0:break e;case 111:{if(!(e1(r,86069)|0)){vQ(e,A,1);break e}break}case 105:{if(!(e1(r,98735)|0)){vQ(e,A,0);break e}break}default:{}}f=Mk(A)|0;t[a>>2]=r;t[a+4>>2]=f;nw(1,86104,a)|0}}while(0);A=cd(e,A)|0}h=n;return}function vQ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;s=t[46740]|0;f=A+16|0;a=t[f>>2]|0;e:do{if(!(t[a+212>>2]|0)){l=(r|0)!=0;A:do{if(l){n=0;A=0;r=a;while(1){a=t[(t[r+180>>2]|0)+(n<<2)>>2]|0;if(!a)break A;if(!(gQ(a)|0)){t[s+(A<<2)>>2]=a;A=A+1|0;r=t[f>>2]|0}n=n+1|0}}else{n=0;A=0;r=a;while(1){a=t[(t[r+172>>2]|0)+(n<<2)>>2]|0;if(!a)break A;if(!(gQ(a)|0)){t[s+(A<<2)>>2]=a;A=A+1|0;r=t[f>>2]|0}n=n+1|0}}}while(0);if((A|0)>=2){t[s+(A<<2)>>2]=0;_4(s,A,4,61);f=l?2:3;n=l?-1:1;a=1;while(1){A=t[s+(a<<2)>>2]|0;if(!A)break e;r=t[s+(a+-1<<2)>>2]|0;r=t[((t[r>>2]&3|0)==(f|0)?r:r+(n*48|0)|0)+40>>2]|0;A=t[((t[A>>2]&3|0)==(f|0)?A:A+(n*48|0)|0)+40>>2]|0;if(gL(r,A)|0)break e;l=IL(r,A,0)|0;i[(t[l+16>>2]|0)+112>>0]=4;WL(e,l);a=a+1|0}}}}while(0);return}function gQ(e){e=e|0;var A=0;while(1){A=t[(t[e+16>>2]|0)+116>>2]|0;if(!A)break;else e=A}A=t[e>>2]&3;return(t[(t[(t[((A|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(t[(t[(t[((A|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function mQ(e,A){e=e|0;A=A|0;return((t[t[e>>2]>>2]|0)>>>4)-((t[t[A>>2]>>2]|0)>>>4)|0}function pQ(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0;i=t[e+16>>2]|0;n=i+220|0;f=t[n>>2]|0;if((f|0)>=2){l=i+216|0;e=0;r=0;while(1){if((r|0)>=(f|0))break;A=t[(t[l>>2]|0)+(r<<2)>>2]|0;if(e|0)t[(t[e+16>>2]|0)+164>>2]=A;s=t[A+16>>2]|0;t[s+168>>2]=e;e=A;A=s;while(1){A=t[A+164>>2]|0;if(!A)break;e=A;A=t[A+16>>2]|0}r=r+1|0}t[n>>2]=1;t[i+192>>2]=t[t[i+216>>2]>>2];a[i+236>>1]=t[46742];a[i+238>>1]=t[46743]}return}function EQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0;l=t[46741]|0;s=l+16|0;r=t[s>>2]|0;n=0;f=a[r+236>>1]|0;while(1){if((f|0)>=(a[r+238>>1]|0))break;e=t[r+196>>2]|0;if(!(i[e+(f<<6)+49>>0]|0)){A=JQ(l,f)|0;e=t[s>>2]|0;r=t[e+196>>2]|0;t[r+(f<<6)+52>>2]=A;i[r+(f<<6)+49>>0]=1}else{A=t[e+(f<<6)+52>>2]|0;e=r}n=A+n|0;f=f+1|0;r=e}return n|0}function BQ(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0;e=t[e+16>>2]|0;n=a[e+238>>1]|0;f=e+196|0;e=a[e+236>>1]|0;while(1){if((e|0)>(n|0))break;i=t[f>>2]|0;r=t[i+(e<<6)>>2]|0;i=i+(e<<6)+4|0;A=0;while(1){if((A|0)>=(r|0))break;l=t[(t[(t[i>>2]|0)+(A<<2)>>2]|0)+16>>2]|0;c[l+16>>3]=+(t[l+236>>2]|0);A=A+1|0}e=e+1|0}return}function yQ(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+16|0;o=d;u=e+16|0;b=cx(t[(t[u>>2]|0)+232>>2]|0)|0;s=t[u>>2]|0;r=s+192|0;n=r;while(1){n=t[n>>2]|0;if(!n)break;n=t[n+16>>2]|0;i[n+157>>0]=0;n=n+164|0}f=a[s+238>>1]|0;l=s+196|0;n=a[s+236>>1]|0;while(1){if((n|0)>(f|0))break;t[(t[l>>2]|0)+(n<<6)>>2]=0;n=n+1|0}l=(A|0)==0;while(1){n=t[r>>2]|0;if(!n)break;f=n+16|0;r=t[f>>2]|0;if((t[t[(l?r+172|0:r+180|0)>>2]>>2]|0)==0?(c=r+157|0,(i[c>>0]|0)==0):0){i[c>>0]=1;ux(b,n);while(1){r=bx(b)|0;if(!r)break;if((i[(t[r+16>>2]|0)+159>>0]|0)==7){EW(e,r,A,b);continue}else{RQ(e,r);xQ(b,r,A);continue}}r=t[f>>2]|0}r=r+164|0}if(bx(b)|0)nw(1,86312,o)|0;r=t[u>>2]|0;s=a[r+236>>1]|0;while(1){if((s|0)>(a[r+238>>1]|0))break;i[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+49>>0]=0;if((t[r+116>>2]&1|0)!=0?(w=t[r+196>>2]|0,k=t[w+(s<<6)>>2]|0,(k|0)>0):0){n=t[w+(s<<6)+4>>2]|0;f=k+-1|0;l=(f|0)/2|0;r=0;while(1){if((r|0)>(l|0))break;WQ(t[n+(r<<2)>>2]|0,t[n+(f-r<<2)>>2]|0);r=r+1|0}r=t[u>>2]|0}s=s+1|0}if((mG(e)|0)==(e|0)?(EQ(0)|0)>0:0)ZQ(e,0);ox(b);h=d;return}function CQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0;b=e+16|0;e=t[b>>2]|0;r=a[e+236>>1]|0;A=a[e+238>>1]|0;o=A<<16>>16;u=e+196|0;n=r;while(1){if((n|0)>(o|0))break;s=t[u>>2]|0;l=t[s+(n<<6)>>2]|0;s=s+(n<<6)+4|0;f=0;while(1){if((f|0)>=(l|0))break;h=t[(t[(t[s>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;t[h+236>>2]=~~+c[h+16>>3];f=f+1|0}n=n+1|0}while(1){if((r|0)>(A<<16>>16|0))break;i[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=t[e+196>>2]|0;_4(t[h+(r<<6)+4>>2]|0,t[h+(r<<6)>>2]|0,4,62);h=t[b>>2]|0;r=r+1|0;A=a[h+238>>1]|0;e=h}return}function IQ(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;n=((A|0)%4|0|0)<2&1;r=t[e+16>>2]|0;if(!(A&1)){A=a[r+236>>1]|0;i=1;r=a[r+238>>1]|0;A=(A<<16>>16<=(a[(t[(t[46741]|0)+16>>2]|0)+236>>1]|0)&1)+(A<<16>>16)|0}else{A=a[r+238>>1]|0;i=-1;r=a[r+236>>1]|0;A=((A<<16>>16>=(a[(t[(t[46741]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(A<<16>>16)|0}r=i+r|0;while(1){if((A|0)==(r|0))break;MQ(e,A,n,(FQ(e,A,A-i|0)|0)&255);A=A+i|0}ZQ(e,n^1);return}function ZQ(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0;c=e+16|0;n=t[c>>2]|0;l=a[n+236>>1]|0;s=a[n+238>>1]|0;f=n+196|0;r=l<<16>>16;while(1){if((r|0)>(s|0)){f=l;break}i[(t[f>>2]|0)+(r<<6)+48>>0]=1;r=r+1|0}while(1){r=0;f=f<<16>>16;while(1){if((f|0)>(a[n+238>>1]|0))break;if(i[(t[n+196>>2]|0)+(f<<6)+48>>0]|0){r=(YQ(e,f,A)|0)+r|0;n=t[c>>2]|0}f=f+1|0}if((r|0)<=0)break;f=a[n+236>>1]|0}return}function GQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;h=e+16|0;A=t[h>>2]|0;b=a[A+238>>1]|0;e:while(1){if((b|0)<(a[A+236>>1]|0)){A=16;break}r=t[A+196>>2]|0;i[r+(b<<6)+48>>0]=0;w=(b|0)>0;k=b+1|0;n=0;A:while(1){o=(t[r+(b<<6)>>2]|0)+-1|0;u=r+(b<<6)+4|0;c=r+(k<<6)|0;while(1){if((n|0)>=(o|0))break A;s=t[u>>2]|0;l=t[s+(n<<2)>>2]|0;n=n+1|0;s=t[s+(n<<2)>>2]|0;if((t[(t[l+16>>2]|0)+236>>2]|0)>=(t[(t[s+16>>2]|0)+236>>2]|0)){A=7;break e}if(LQ(e,l,s)|0)continue;if(w){r=QQ(l,s)|0;f=QQ(s,l)|0}else{r=0;f=0}if((t[c>>2]|0)>0){r=(DQ(l,s)|0)+r|0;f=(DQ(s,l)|0)+f|0}if((f|0)<=(r|0))break}zQ(e,b,l,s);A=t[h>>2]|0;r=t[A+196>>2]|0}b=b+-1|0}if((A|0)==7)ge(86263,85781,721,86289);else if((A|0)==16)return}function LQ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0;s=t[A+16>>2]|0;l=t[s+212>>2]|0;a=t[r+16>>2]|0;n=t[a+212>>2]|0;f=(l|0)!=(n|0);do{if(!(i[193769]|0))if((n|0)==0|((l|0)==0|f^1))c=9;else{if((i[s+159>>0]|0)==7?(i[s+156>>0]|0)==1:0){e=0;break}if((i[a+159>>0]|0)==7?(i[a+156>>0]|0)==1:0){e=0;break}e=1}else if(f)e=1;else c=9}while(0);if((c|0)==9){a=t[e+16>>2]|0;e=t[(t[a+196>>2]|0)+(t[s+232>>2]<<6)+56>>2]|0;if(!e)e=0;else{s=(t[a+116>>2]&1|0)==0;c=P(t[e+4>>2]|0,t[(t[(s?A:r)+16>>2]|0)+284>>2]|0)|0;e=i[(t[e+8>>2]|0)+((t[(t[(s?r:A)+16>>2]|0)+284>>2]|0)+c)>>0]|0}}return e|0}function QQ(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;o=e+16|0;l=t[(t[A+16>>2]|0)+172>>2]|0;A=0;while(1){e=t[l>>2]|0;if(!e)break;f=t[e+16>>2]|0;s=a[f+154>>1]|0;n=t[(t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;f=f+16|0;i=t[(t[o>>2]|0)+172>>2]|0;e=A;while(1){A=t[i>>2]|0;if(!A)break;r=(t[(t[(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((r|0)<=0){if((r|0)==0?(u=t[A+16>>2]|0,+c[u+16>>3]>+c[f>>3]):0){A=u;b=9}}else{A=t[A+16>>2]|0;b=9}if((b|0)==9){b=0;e=(P(a[A+154>>1]|0,s)|0)+e|0}i=i+4|0}l=l+4|0;A=e}return A|0}function DQ(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;o=e+16|0;l=t[(t[A+16>>2]|0)+180>>2]|0;A=0;while(1){e=t[l>>2]|0;if(!e)break;f=t[e+16>>2]|0;s=a[f+154>>1]|0;n=t[(t[(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;f=f+56|0;i=t[(t[o>>2]|0)+180>>2]|0;e=A;while(1){A=t[i>>2]|0;if(!A)break;r=(t[(t[(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((r|0)<=0){if((r|0)==0?(u=t[A+16>>2]|0,+c[u+56>>3]>+c[f>>3]):0){A=u;b=9}}else{A=t[A+16>>2]|0;b=9}if((b|0)==9){b=0;e=(P(a[A+154>>1]|0,s)|0)+e|0}i=i+4|0}l=l+4|0;A=e}return A|0}function zQ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;l=i[(t[r+16>>2]|0)+156>>0]|0;if(l<<24>>24!=(i[(t[a+16>>2]|0)+156>>0]|0)){s=e+16|0;o=t[(t[s>>2]|0)+196>>2]|0;c=t[o+(A<<6)>>2]|0;o=o+(A<<6)+4|0;e=0;n=0;f=0;while(1){if((e|0)>=(c|0))break;h=(i[(t[(t[(t[o>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;e=e+1|0;n=n+(h&1)|0;f=f+((h^1)&1)|0}l=l<<24>>24==0;f=(n|0)<(f|0)?l?r:a:l?a:r;l=0;e=0;while(1){if((e|0)>=(c|0))break;l=(t[(t[o>>2]|0)+(e<<2)>>2]|0)==(f|0)?e:l;e=e+1|0}h=(i[(t[f+16>>2]|0)+156>>0]|0)==0&1;b=0;n=l;while(1){e=n+-1|0;if((n|0)<=0){u=0;e=l;break}if((i[(t[(t[(t[o>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(h|0)){u=0;e=l;break}b=b+1|0;n=e}while(1){e=e+1|0;if((e|0)>=(c|0))break;if((i[(t[(t[(t[o>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(h|0))break;u=u+1|0}WQ(r,a);s=t[(t[s>>2]|0)+196>>2]|0;c=t[s+(A<<6)>>2]|0;s=s+(A<<6)+4|0;e=0;while(1){if((e|0)>=(c|0)){f=0;n=l;break}l=(t[(t[s>>2]|0)+(e<<2)>>2]|0)==(f|0)?e:l;e=e+1|0}while(1){e=n+-1|0;if((n|0)<=0){n=0;e=l;break}if((i[(t[(t[(t[s>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(h|0)){n=0;e=l;break}f=f+1|0;n=e}while(1){e=e+1|0;if((e|0)>=(c|0))break;if((i[(t[(t[(t[s>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(h|0))break;n=n+1|0}A=f-n|0;h=b-u|0;if((((A|0)>-1?A:0-A|0)|0)>(((h|0)>-1?h:0-h|0)|0))WQ(r,a)}return}function WQ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;a=t[e+16>>2]|0;i=t[a+232>>2]|0;a=a+236|0;r=t[a>>2]|0;n=A+16|0;f=t[(t[n>>2]|0)+236>>2]|0;t[a>>2]=f;a=(t[46741]|0)+16|0;t[(t[(t[(t[a>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0)+(f<<2)>>2]=e;t[(t[n>>2]|0)+236>>2]=r;t[(t[(t[(t[a>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0)+(r<<2)>>2]=A;return}function YQ(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0;k=e+16|0;b=t[(t[k>>2]|0)+196>>2]|0;i[b+(A<<6)+48>>0]=0;d=(A|0)>0;v=A+1|0;h=(r|0)!=0;w=A+-1|0;n=0;l=0;r=b;e:while(1){o=(t[r+(A<<6)>>2]|0)+-1|0;u=r+(A<<6)+4|0;f=r+(v<<6)|0;b=n;while(1){if((b|0)>=(o|0)){r=17;break e}c=t[u>>2]|0;s=t[c+(b<<2)>>2]|0;b=b+1|0;c=t[c+(b<<2)>>2]|0;if((t[(t[s+16>>2]|0)+236>>2]|0)>=(t[(t[c+16>>2]|0)+236>>2]|0)){r=5;break e}if(LQ(e,s,c)|0)continue;if(d){r=QQ(s,c)|0;n=QQ(c,s)|0}else{r=0;n=0}if((t[f>>2]|0)>0){r=(DQ(s,c)|0)+r|0;n=(DQ(c,s)|0)+n|0}if((r|0)>(n|0))break;if((r|0)==(n|0)&(h&(r|0)>0)){r=n;break}}WQ(s,c);l=r-n+l|0;n=t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0;i[n+(A<<6)+49>>0]=0;f=t[k>>2]|0;r=t[f+196>>2]|0;i[r+(A<<6)+48>>0]=1;if((a[f+236>>1]|0)<(A|0)){i[n+(w<<6)+49>>0]=0;i[r+(w<<6)+48>>0]=1}if((a[f+238>>1]|0)<=(A|0)){n=b;continue}i[n+(v<<6)+49>>0]=0;i[r+(v<<6)+48>>0]=1;n=b}if((r|0)==5)ge(86263,85781,770,86297);else if((r|0)==17)return l|0;return 0}function FQ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,f=0.0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;w=t[46739]|0;k=e+16|0;e=t[(t[k>>2]|0)+196>>2]|0;d=t[e+(A<<6)+4>>2]|0;b=(r|0)>(A|0);h=w+4|0;u=0;while(1){r=t[e+(A<<6)>>2]|0;if((u|0)>=(r|0)){e=0;l=0;break}o=(t[d+(u<<2)>>2]|0)+16|0;e=t[o>>2]|0;e:do{if(b){s=t[e+180>>2]|0;e=0;l=0;while(1){r=t[s+(l<<2)>>2]|0;if(!r)break e;i=t[r+16>>2]|0;if((a[i+154>>1]|0)>0){t[w+(e<<2)>>2]=t[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[i+88>>0];e=e+1|0}l=l+1|0}}else{s=t[e+172>>2]|0;l=0;e=0;while(1){r=t[s+(l<<2)>>2]|0;if(!r)break e;i=t[r+16>>2]|0;if((a[i+154>>1]|0)>0){t[w+(e<<2)>>2]=t[(t[(t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[i+48>>0];e=e+1|0}l=l+1|0}}}while(0);e:do{switch(e|0){case 0:{f=-1.0;break}case 1:{f=+(t[w>>2]|0);break}case 2:{f=+(((t[h>>2]|0)+(t[w>>2]|0)|0)/2|0|0);break}default:{_4(w,e,4,60);r=(e|0)/2|0;if(e&1|0){f=+(t[w+(r<<2)>>2]|0);break e}l=t[w+(r<<2)>>2]|0;i=(t[w+(e+-1<<2)>>2]|0)-l|0;e=t[w+(r+-1<<2)>>2]|0;r=e-(t[w>>2]|0)|0;if((r|0)==(i|0)){f=+((e+l|0)/2|0|0);break e}else{f=+(((P(r,l)|0)+(P(e,i)|0)|0)/(r+i|0)|0|0);break e}}}}while(0);c[(t[o>>2]|0)+240>>3]=f;u=u+1|0;e=t[(t[k>>2]|0)+196>>2]|0}while(1){if((l|0)>=(r|0))break;i=t[d+(l<<2)>>2]|0;w=t[i+16>>2]|0;if((t[w+184>>2]|0)==0?(t[w+176>>2]|0)==0:0){e=(VQ(i)|0|e&255)&255;r=t[(t[(t[k>>2]|0)+196>>2]|0)+(A<<6)>>2]|0}l=l+1|0}return e|0}function MQ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0.0,b=0,h=0,w=0,k=0,d=0,v=0;h=t[(t[e+16>>2]|0)+196>>2]|0;v=t[h+(A<<6)+4>>2]|0;h=t[h+(A<<6)>>2]|0;k=(r|0)!=0;w=(a|r|0)==0;a=0;r=h;h=v+(h<<2)|0;while(1){b=r+-1|0;if((r|0)>0)r=v;else break;e:while(1){A:while(1){if(r>>>0>=h>>>0)break e;while(1){if(r>>>0>=h>>>0)break e;o=t[r>>2]|0;u=+c[(t[o+16>>2]|0)+240>>3];if(!(u<0.0))break;r=r+4|0}s=0;while(1){n=s<<24>>24==0;while(1){r=r+4|0;if(r>>>0>=h>>>0)break e;if(n){n=11;break}f=t[r>>2]|0;if(!(t[(t[f+16>>2]|0)+212>>2]|0)){n=13;break}}if((n|0)==11){f=t[r>>2]|0;l=f}else if((n|0)==13)l=f;if(LQ(e,o,l)|0)continue A;n=t[f+16>>2]|0;if(+c[n+240>>3]>=0.0)break;s=(t[n+212>>2]|0)==0?s:1}n=~~u;s=~~+c[(t[f+16>>2]|0)+240>>3];if((n|0)>(s|0)|k&(n|0)==(s|0))break}WQ(o,l);a=a+1|0}r=b;h=w?h+-4|0:h}if(a|0?(d=t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0,i[d+(A<<6)+49>>0]=0,(A|0)>0):0)i[d+(A+-1<<6)+49>>0]=0;return}function VQ(e){e=e|0;var A=0.0,r=0,i=0,a=0,n=0;n=t[e+16>>2]|0;if((t[n+200>>2]|0)>0){a=t[n+196>>2]|0;e=t[a>>2]|0;e=t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;r=1;while(1){i=t[a+(r<<2)>>2]|0;if(!i)break;i=t[((t[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;e=(t[(t[i+16>>2]|0)+236>>2]|0)>(t[(t[e+16>>2]|0)+236>>2]|0)?i:e;r=r+1|0}A=+c[(t[e+16>>2]|0)+240>>3];if(!(A>=0.0))e=1;else{c[n+240>>3]=A+1.0;e=0}}else if((t[n+192>>2]|0)>0){i=t[n+188>>2]|0;r=t[i>>2]|0;e=1;r=t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;while(1){a=t[i+(e<<2)>>2]|0;if(!a)break;a=t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0;e=e+1|0;r=(t[(t[a+16>>2]|0)+236>>2]|0)<(t[(t[r+16>>2]|0)+236>>2]|0)?a:r}A=+c[(t[r+16>>2]|0)+240>>3];if(A>0.0){c[n+240>>3]=A+-1.0;e=0}else e=1}else e=1;return e|0}function NQ(e,A){e=e|0;A=A|0;return(t[(t[(t[e>>2]|0)+16>>2]|0)+236>>2]|0)-(t[(t[(t[A>>2]|0)+16>>2]|0)+236>>2]|0)|0}function RQ(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+96|0;b=w+64|0;u=w+48|0;f=w+24|0;i=w;s=A+16|0;c=t[(t[s>>2]|0)+232>>2]|0;o=e+16|0;r=t[(t[o>>2]|0)+196>>2]|0;l=t[r+(c<<6)>>2]|0;do{if((t[r+(c<<6)+8>>2]|0)>=1){t[(t[r+(c<<6)+4>>2]|0)+(l<<2)>>2]=A;t[(t[s>>2]|0)+236>>2]=l;e=t[o>>2]|0;i=t[e+196>>2]|0;r=i+(c<<6)|0;n=t[r>>2]|0;t[r>>2]=n+1;if((n|0)>=(t[i+(c<<6)+8>>2]|0))ge(86377,85781,1346,86413);n=t[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+8>>2]|0;if((l|0)>(n|0)){o=Mk(A)|0;u=t[(t[s>>2]|0)+236>>2]|0;b=t[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+8>>2]|0;t[f>>2]=1359;t[f+4>>2]=o;t[f+8>>2]=u;t[f+12>>2]=c;t[f+16>>2]=b;nw(1,86429,f)|0;break}r=a[e+236>>1]|0;e=a[e+238>>1]|0;if((c|0)<(r|0)|(c|0)>(e<<16>>16|0)){t[u>>2]=1364;t[u+4>>2]=c;t[u+8>>2]=r;t[u+12>>2]=e<<16>>16;nw(1,86502,u)|0;break}if(((t[i+(c<<6)+4>>2]|0)+(l<<2)|0)>>>0>((t[i+(c<<6)+12>>2]|0)+(n<<2)|0)>>>0){l=Mk(A)|0;u=t[(t[o>>2]|0)+196>>2]|0;o=(t[u+(c<<6)+4>>2]|0)+(t[(t[s>>2]|0)+236>>2]<<2)|0;u=(t[u+(c<<6)+12>>2]|0)+(t[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+8>>2]<<2)|0;t[b>>2]=1370;t[b+4>>2]=c;t[b+8>>2]=l;t[b+12>>2]=o;t[b+16>>2]=c;t[b+20>>2]=c;t[b+24>>2]=u;nw(1,86563,b)|0}}else{u=Mk(e)|0;b=Mk(A)|0;t[i>>2]=1339;t[i+4>>2]=u;t[i+8>>2]=b;t[i+12>>2]=c;t[i+16>>2]=l;nw(1,86322,i)|0}}while(0);h=w;return}function xQ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;f=A+16|0;e:do{if(!r){n=0;while(1){A=t[f>>2]|0;if((n|0)>=(t[A+184>>2]|0))break e;A=t[(t[A+180>>2]|0)+(n<<2)>>2]|0;r=A+-48|0;a=(t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+157|0;if(!(i[a>>0]|0)){i[a>>0]=1;ux(e,t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)}n=n+1|0}}else{n=0;while(1){A=t[f>>2]|0;if((n|0)>=(t[A+176>>2]|0))break e;A=t[(t[A+172>>2]|0)+(n<<2)>>2]|0;r=A+48|0;a=(t[(t[((t[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+157|0;if(!(i[a>>0]|0)){i[a>>0]=1;ux(e,t[((t[A>>2]&3|0)==3?A:r)+40>>2]|0)}n=n+1|0}}}while(0);return}function JQ(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+16|0;m=p;n=e+16|0;r=t[(t[n>>2]|0)+196>>2]|0;v=t[r+(A<<6)+4>>2]|0;g=A+1|0;e=t[(t[(t[(t[46741]|0)+16>>2]|0)+196>>2]|0)+(g<<6)>>2]|0;if((t[46745]|0)>(e|0))k=t[46746]|0;else{e=e+1|0;t[46745]=e;r=t[46746]|0;if(!r)e=$F(e<<2)|0;else e=AM(r,e<<2)|0;t[46746]=e;r=t[(t[n>>2]|0)+196>>2]|0;k=e}d=r+(g<<6)|0;e=0;while(1){if((e|0)>=(t[d>>2]|0))break;t[k+(e<<2)>>2]=0;e=e+1|0}w=r+(A<<6)|0;b=0;f=0;e=0;s=k;while(1){c=t[w>>2]|0;if((b|0)>=(c|0))break;u=t[(t[(t[v+(b<<2)>>2]|0)+16>>2]|0)+180>>2]|0;e:do{if((f|0)>0){o=0;while(1){n=t[u+(o<<2)>>2]|0;if(!n)break e;c=n+16|0;l=t[(t[(t[((t[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){n=l+1|0;if((l|0)>=(f|0))break;l=n;e=(P(t[s+(n<<2)>>2]|0,a[(t[c>>2]|0)+154>>1]|0)|0)+e|0}o=o+1|0}}}while(0);l=0;while(1){n=t[u+(l<<2)>>2]|0;if(!n)break;s=t[(t[(t[((t[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;o=k+(s<<2)|0;t[o>>2]=(t[o>>2]|0)+(a[(t[n+16>>2]|0)+154>>1]|0);f=(s|0)>(f|0)?s:f;l=l+1|0;s=k}b=b+1|0}l=r+(A<<6)+4|0;f=0;while(1){if((f|0)>=(c|0))break;n=t[(t[(t[l>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;if(i[n+145>>0]|0){A=n+180|0;t[m>>2]=t[A>>2];t[m+4>>2]=t[A+4>>2];e=(HQ(m,1)|0)+e|0}f=f+1|0}l=t[d>>2]|0;f=r+(g<<6)+4|0;n=0;while(1){if((n|0)>=(l|0))break;r=t[(t[(t[f>>2]|0)+(n<<2)>>2]|0)+16>>2]|0;if(i[r+145>>0]|0){g=r+172|0;t[m>>2]=t[g>>2];t[m+4>>2]=t[g+4>>2];e=(HQ(m,-1)|0)+e|0}n=n+1|0}h=p;return e|0}function HQ(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;b=(A|0)<1;o=t[e>>2]|0;A=0;e=0;e:while(1){u=t[o+(A<<2)>>2]|0;if(!u)break;A=A+1|0;if(b){l=u+48|0;s=u+16|0;f=A;while(1){r=t[o+(f<<2)>>2]|0;if(!r)continue e;i=t[r+16>>2]|0;n=t[s>>2]|0;if((+c[i+56>>3]-+c[n+56>>3])*+((t[(t[(t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(t[(t[(t[((t[u>>2]&3|0)==3?u:l)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)e=(P(a[i+154>>1]|0,a[n+154>>1]|0)|0)+e|0;f=f+1|0}}else{l=u+-48|0;s=u+16|0;f=A;while(1){r=t[o+(f<<2)>>2]|0;if(!r)continue e;i=t[r+16>>2]|0;n=t[s>>2]|0;if((+c[i+16>>3]-+c[n+16>>3])*+((t[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(t[(t[(t[((t[u>>2]&3|0)==2?u:l)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)e=(P(a[i+154>>1]|0,a[n+154>>1]|0)|0)+e|0;f=f+1|0}}}return e|0}function PQ(e){e=e|0;var A=0.0,r=0.0;t[46744]=8;t[47136]=24;c[23215]=.995;e=Hw(e,86685)|0;if(e|0?(A=+$3(e),A>0.0):0){r=A*+(t[46744]|0);t[46744]=~~(r>1.0?r:1.0);A=A*+(t[47136]|0);t[47136]=~~(A>1.0?A:1.0)}return}function XQ(e){e=e|0;var A=0,r=0;r=(a[(t[e+16>>2]|0)+238>>1]|0)+2|0;A=KF(r<<2)|0;jQ(e,A,r,0)|0;G2(A);return}function SQ(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0;f=e+16|0;l=KF((a[(t[f>>2]|0)+238>>1]<<2)+8|0)|0;n=sd(e)|0;while(1){if(!n)break;i=l+(t[(t[n+16>>2]|0)+232>>2]<<2)|0;t[i>>2]=(t[i>>2]|0)+1;i=Ow(e,n)|0;while(1){if(!i)break;s=t[i>>2]&3;A=t[(t[(t[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=t[(t[(t[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=(A|0)>(s|0);r=c?A:s;A=c?s:A;while(1){A=A+1|0;if((A|0)>=(r|0))break;c=l+(A<<2)|0;t[c>>2]=(t[c>>2]|0)+1}i=qw(e,i)|0}n=cd(e,n)|0}i=KF((a[(t[f>>2]|0)+238>>1]<<6)+128|0)|0;r=t[f>>2]|0;t[r+196>>2]=i;A=a[r+236>>1]|0;while(1){if((A|0)>(a[r+238>>1]|0))break;s=l+(A<<2)|0;r=t[s>>2]|0;t[i+(A<<6)>>2]=r;t[i+(A<<6)+8>>2]=r;s=KF((t[s>>2]<<2)+4|0)|0;r=t[f>>2]|0;c=t[r+196>>2]|0;t[c+(A<<6)+4>>2]=s;t[c+(A<<6)+12>>2]=s;A=A+1|0;i=c}G2(l);return}function jQ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,f=0,l=0,s=0,o=0,u=0;u=e+16|0;f=1;while(1){n=t[u>>2]|0;if((f|0)>(t[n+180>>2]|0))break;o=jQ(t[(t[n+184>>2]|0)+(f<<2)>>2]|0,A,r,i)|0;f=f+1|0;i=o}e:do{if((mG(e)|0)!=(e|0)){z6(A|0,0,r<<2|0)|0;n=sd(e)|0;while(1){if(!n)break;s=n+16|0;t[A+(t[(t[s>>2]|0)+232>>2]<<2)>>2]=1;f=Ow(e,n)|0;while(1){if(!f)break;o=f+-48|0;l=t[(t[s>>2]|0)+232>>2]|0;while(1){r=l+1|0;if((l|0)>=(t[(t[(t[((t[f>>2]&3|0)==2?f:o)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t[A+(r<<2)>>2]=1;l=r}f=qw(e,f)|0}n=cd(e,n)|0}n=t[u>>2]|0;f=a[n+236>>1]|0;while(1){if((f|0)>(a[n+238>>1]|0))break e;if(!(t[A+(f<<2)>>2]|0)){if(!i)i=Rv(mG(e)|0,86675,1)|0;n=gd(i,0,1)|0;Sd(n,137447,304,1)|0;o=n+16|0;l=t[o>>2]|0;t[l+232>>2]=f;c[l+96>>3]=.5;c[l+88>>3]=.5;c[l+80>>3]=1.0;t[l+216>>2]=1;t[l+176>>2]=0;l=KF(20)|0;s=t[o>>2]|0;t[s+172>>2]=l;t[s+184>>2]=0;s=KF(20)|0;t[(t[o>>2]|0)+180>>2]=s;hd(e,n,1)|0;n=t[u>>2]|0}f=f+1|0}}}while(0);return i|0}function UQ(e){e=e|0;var A=0,r=0;sQ(e);A=e+16|0;e=1;while(1){r=t[A>>2]|0;if((e|0)>(t[r+180>>2]|0))break;UQ(t[(t[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function TQ(e){e=e|0;var A=0,r=0;A=t[e>>2]&3;r=OQ(t[((A|0)==3?e:e+48|0)+40>>2]|0)|0;A=t[17308+(r*12|0)+((OQ(t[((A|0)==2?e:e+-48|0)+40>>2]|0)|0)<<2)>>2]|0;e=(t[e+16>>2]|0)+156|0;t[e>>2]=P(t[e>>2]|0,A)|0;return}function OQ(e){e=e|0;e=t[e+16>>2]|0;if((i[e+156>>0]|0)==1)e=2;else e=(i[e+160>>0]|0)<2&1;return e|0}function _Q(e,A){e=e|0;A=A|0;if(t[(t[e+16>>2]|0)+192>>2]|0){BW(e);qQ(e);if(i[194954]|0)VW(e);KQ(e);if(AY(e)|0)qQ(e);$Q(e);if(VM(e,2,eD(e)|0)|0?(AD(e),VM(e,2,eD(e)|0)|0):0)ge(86693,86721,134,86732);rD(e);iD(e,A);aD(e)}return}function qQ(e){e=e|0;var A=0,r=0,n=0,f=0,l=0.0,s=0.0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0.0;p=e+16|0;A=t[p>>2]|0;E=t[A+196>>2]|0;g=a[A+236>>1]|0;while(1){if((g|0)>(a[A+238>>1]|0))break;b=E+(g<<6)|0;h=E+(g<<6)+4|0;w=E+(g<<6)+40|0;k=E+(g<<6)+24|0;d=E+(g<<6)+32|0;v=E+(g<<6)+16|0;u=0;while(1){if((u|0)>=(t[b>>2]|0))break;o=(t[(t[h>>2]|0)+(u<<2)>>2]|0)+16|0;A=t[o>>2]|0;l=+c[A+80>>3]*.5;f=t[A+204>>2]|0;e:do{if(f){n=0;while(1){r=t[f+(n<<2)>>2]|0;if(!r)break e;B=t[r>>2]&3;if((t[((B|0)==3?r:r+48|0)+40>>2]|0)==(t[((B|0)==2?r:r+-48|0)+40>>2]|0)?(m=t[(t[r+16>>2]|0)+96>>2]|0,(m|0)!=0):0){s=+c[m+32>>3]*.5;l=l>s?l:s}n=n+1|0}}}while(0);if(+c[w>>3]>3]=l;c[w>>3]=l}if(+c[d>>3]>3]=l;c[d>>3]=l}r=t[A+212>>2]|0;if(r|0){if((r|0)==(e|0))n=0;else{n=hx(r,t[47144]|0,8,0)|0;A=t[o>>2]|0}f=t[A+232>>2]|0;r=t[r+16>>2]|0;A=r+128|0;l=l+ +(n|0);if((f|0)==(a[r+236>>1]|0)){s=+c[A>>3];c[A>>3]=s>l?s:l}A=r+120|0;if((f|0)==(a[r+238>>1]|0)){s=+c[A>>3];c[A>>3]=s>l?s:l}}u=u+1|0}g=g+1|0;A=t[p>>2]|0}u=DD(e)|0;n=t[p>>2]|0;A=a[n+238>>1]|0;c[(t[(t[t[E+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+c[E+(A<<6)+16>>3];r=a[n+236>>1]|0;f=n+252|0;s=0.0;while(1){o=A+-1|0;if((A|0)<=(r|0))break;y=+c[E+(o<<6)+32>>3]+ +c[E+(A<<6)+40>>3]+ +(t[f>>2]|0);l=+c[E+(A<<6)+24>>3]+8.0+ +c[E+(o<<6)+16>>3];l=y>l?y:l;if((t[E+(o<<6)>>2]|0)>0)c[(t[(t[t[E+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+c[(t[(t[t[E+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+l;s=s>l?s:l;A=o}e:do{if((u|0)!=0?(t[n+116>>2]&1|0)!=0:0){zD(e,0);n=t[p>>2]|0;if(i[n+276>>0]|0){A=a[n+238>>1]|0;r=a[n+236>>1]|0;l=+c[(t[(t[t[E+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];s=0.0;while(1){f=A+-1|0;if((A|0)<=(r|0))break e;C=+c[(t[(t[t[E+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=C-l;l=C;s=s>y?s:y;A=f}}}}while(0);e:do{if(i[n+276>>0]|0){f=a[n+236>>1]|0;r=a[n+238>>1]|0;while(1){A=r+-1|0;if((r|0)<=(f|0))break e;if((t[E+(A<<6)>>2]|0)<=0){r=A;continue}c[(t[(t[t[E+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+c[(t[(t[t[E+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+s;r=A}}}while(0);A=n+192|0;while(1){A=t[A>>2]|0;if(!A)break;A=t[A+16>>2]|0;c[A+24>>3]=+c[(t[(t[t[E+(t[A+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];A=A+164|0}return}function KQ(e){e=e|0;var A=0,r=0,i=0;ZD(e);A=(t[e+16>>2]|0)+192|0;while(1){A=t[A>>2]|0;if(!A)break;i=A+16|0;A=t[i>>2]|0;r=t[A+224>>2]|0;if(r){GD(e,r);A=t[i>>2]|0}r=t[A+228>>2]|0;if(!r)r=A;else{GD(e,r);r=t[i>>2]|0}i=t[r+204>>2]|0;if(i|0){A=0;while(1)if(!(t[i+(A<<2)>>2]|0))break;else A=A+1|0}A=r+164|0}return}function $Q(e){e=e|0;bD(e);hD(e);wD(e);kD(e);dD(e);return}function eD(e){e=e|0;var A=0,r=0.0;A=Hw(e,86921)|0;if(!A)e=2147483647;else{r=+$3(A);e=~~(r*+(gk(e)|0))}return e|0}function AD(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0;d=e+16|0;A=t[d>>2]|0;k=a[A+236>>1]|0;while(1){w=a[A+238>>1]|0;if((k|0)>(w|0)){v=19;break}b=t[A+196>>2]|0;h=b+(k<<6)|0;u=t[h>>2]|0;b=b+(k<<6)+4|0;o=0;r=0;e:while(1){if((o|0)>=(u|0)){v=14;break}r=t[(t[b>>2]|0)+(o<<2)>>2]|0;f=t[r+16>>2]|0;l=t[f+256>>2]|0;A:do{if(l|0){n=0;while(1){s=t[l+(n<<2)>>2]|0;if(!s)break A;c=t[s>>2]&3;if((t[(t[(t[((c|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break e;if((t[(t[(t[((c|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break e;else n=n+1|0}}}while(0);f=t[f+248>>2]|0;A:do{if(f|0){n=0;while(1){l=t[f+(n<<2)>>2]|0;if(!l)break A;s=t[l>>2]&3;if((t[(t[(t[((s|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break e;if((t[(t[(t[((s|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break e;else n=n+1|0}}}while(0);o=o+1|0}if((v|0)==14){v=0;if(r){r=t[t[b>>2]>>2]|0;A=t[t[h+(((k|0)<(w|0)?1:-1)<<6)+4>>2]>>2]|0;if(!A){v=16;break}h=zL(e)|0;w=h+16|0;i[(t[w>>2]|0)+156>>0]=2;oD(h,r,0.0,0)|0;oD(h,A,0.0,0)|0;t[(t[w>>2]|0)+232>>2]=t[(t[((t[(t[r+16>>2]|0)+232>>2]|0)<(t[(t[A+16>>2]|0)+232>>2]|0)?r:A)+16>>2]|0)+232>>2];A=t[d>>2]|0}}k=k+1|0}if((v|0)==16)ge(86829,86721,111,86832);else if((v|0)==19)return}function rD(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0;e=t[e+16>>2]|0;f=t[e+196>>2]|0;r=a[e+238>>1]|0;e=a[e+236>>1]|0;while(1){if((e|0)>(r|0))break;i=t[f+(e<<6)>>2]|0;n=f+(e<<6)+4|0;A=0;while(1){if((A|0)>=(i|0))break;s=t[(t[(t[n>>2]|0)+(A<<2)>>2]|0)+16>>2]|0;l=s+232|0;c[s+16>>3]=+(t[l>>2]|0);t[l>>2]=e;A=A+1|0}e=e+1|0}return}function iD(e,A){e=e|0;A=A|0;var r=0,i=0.0,n=0,f=0.0,l=0,s=0,o=0.0,u=0,b=0,h=0,w=0;tD(e,e);n=e+16|0;s=t[n>>2]|0;e:do{if((a[s+238>>1]|0)>0?(l=t[s+8>>2]|0,r=t[l+84>>2]|0,r|0):0){h=~~(+c[s+32>>3]-+c[s+16>>3]);u=~~(+c[s+40>>3]-+c[s+24>>3]);w=(t[s+116>>2]&1|0)==0;b=w?u:h;u=w?h:u;if((r|0)==4){r=nD(e)|0;s=t[n>>2]|0;l=t[s+8>>2]|0}else r=(r|0)==2&1;A:do{if(!(r<<24>>24)){switch(t[l+84>>2]|0){case 5:{i=+c[l+64>>3];if(i<=0.0)break e;f=i/+c[s+32>>3];o=+c[l+72>>3]/+c[s+40>>3];i=f1.0&o>1.0){o=i;break A}else break e}case 1:break;default:break e}f=+c[l+16>>3];i=+(b|0)/+(u|0);if(i>3];if(i<=0.0)break e;f=i/+(u|0);i=+c[l+72>>3]/+(b|0);if(f<1.0|i<1.0)if(f>2]&1|0)==0;f=r?i:o;i=r?o:i;r=s+192|0;while(1){r=t[r>>2]|0;if(!r)break;r=t[r+16>>2]|0;w=r+16|0;o=+c[w>>3]*i;c[w>>3]=+(~~(o+(o>=0.0?.5:-.5))|0);w=r+24|0;o=+c[w>>3]*f;c[w>>3]=+(~~(o+(o>=0.0?.5:-.5))|0);r=r+164|0}fD(e,i,f)}}while(0);if(A|0)lD(e,A);return}function aD(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=e+16|0;e=(t[f>>2]|0)+192|0;while(1){e=t[e>>2]|0;if(!e)break;n=e+16|0;A=0;while(1){e=t[n>>2]|0;a=t[e+180>>2]|0;r=t[a+(A<<2)>>2]|0;if(!r)break;G2(t[r+16>>2]|0);G2(r);A=A+1|0}if(a){G2(a);e=t[n>>2]|0}A=t[e+172>>2]|0;if(A){G2(A);e=t[n>>2]|0}a=e+256|0;r=t[a+4>>2]|0;e=e+180|0;t[e>>2]=t[a>>2];t[e+4>>2]=r;e=t[n>>2]|0;r=e+248|0;a=t[r+4>>2]|0;e=e+172|0;t[e>>2]=t[r>>2];t[e+4>>2]=a;e=(t[n>>2]|0)+164|0}e=0;A=t[(t[f>>2]|0)+192>>2]|0;e:while(1){n=(e|0)==0;a=e+16|0;e=A;while(1){if(!e)break e;r=t[e+16>>2]|0;A=t[r+164>>2]|0;if((i[r+156>>0]|0)!=2)continue e;if(n)t[(t[f>>2]|0)+192>>2]=A;else t[(t[a>>2]|0)+164>>2]=A;G2(r);G2(e);e=A}}t[(t[(t[(t[f>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function tD(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;i=e+16|0;r=1;while(1){a=t[i>>2]|0;if((r|0)>(t[a+180>>2]|0))break;tD(t[(t[a+184>>2]|0)+(r<<2)>>2]|0,A);r=r+1|0}cD(e,A);return}function nD(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0.0,s=0.0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0;v=h;h=h+80|0;i=v+64|0;r=v+48|0;a=v+16|0;o=v;d=v+32|0;e=e+16|0;A=t[(t[e>>2]|0)+8>>2]|0;g=A+48|0;t[a>>2]=t[g>>2];t[a+4>>2]=t[g+4>>2];t[a+8>>2]=t[g+8>>2];t[a+12>>2]=t[g+12>>2];if((!(+c[a>>3]<.001)?(n=a+8|0,!(+c[n>>3]<.001)):0)?(f=A+32|0,t[o>>2]=t[f>>2],t[o+4>>2]=t[f+4>>2],t[o+8>>2]=t[f+8>>2],t[o+12>>2]=t[f+12>>2],t[r>>2]=t[a>>2],t[r+4>>2]=t[a+4>>2],t[r+8>>2]=t[a+8>>2],t[r+12>>2]=t[a+12>>2],t[i>>2]=t[f>>2],t[i+4>>2]=t[f+4>>2],t[i+8>>2]=t[f+8>>2],t[i+12>>2]=t[f+12>>2],sD(d,r,i),t[a>>2]=t[d>>2],t[a+4>>2]=t[d+4>>2],t[a+8>>2]=t[d+8>>2],t[a+12>>2]=t[d+12>>2],t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],t[r+8>>2]=t[d+8>>2],t[r+12>>2]=t[d+12>>2],t[i>>2]=t[o>>2],t[i+4>>2]=t[o+4>>2],t[i+8>>2]=t[o+8>>2],t[i+12>>2]=t[o+12>>2],sD(a,r,i),f=t[e>>2]|0,l=+c[f+32>>3],s=+c[f+40>>3],u=+c[a>>3],b=u/l,w=+c[n>>3],k=w/s,!(b>=1.0&k>=1.0)):0){b=b.5?b:.5;k=+H(+(b*s/w))*w/s;w=+H(+(b*l/u))*u/l*l;e=t[f+8>>2]|0;c[e+64>>3]=w;c[e+72>>3]=k*s;e=1}else e=0;h=v;return e|0}function fD(e,A,r){e=e|0;A=+A;r=+r;var i=0,a=0;i=e+16|0;e=1;while(1){a=t[i>>2]|0;if((e|0)>(t[a+180>>2]|0))break;fD(t[(t[a+184>>2]|0)+(e<<2)>>2]|0,A,r);e=e+1|0}i=a+16|0;c[i>>3]=+c[i>>3]*A;i=a+24|0;c[i>>3]=+c[i>>3]*r;i=a+32|0;c[i>>3]=+c[i>>3]*A;a=a+40|0;c[a>>3]=+c[a>>3]*r;return}function lD(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0,f=0.0,l=0,s=0,o=0,u=0;o=h;h=h+32|0;l=o+24|0;n=o+16|0;a=o;u=t[e+16>>2]|0;i=+c[u+32>>3]-+c[u+16>>3];r=+c[u+40>>3]-+c[u+24>>3];f=i/r;if(0){u=t[15712]|0;c[a>>3]=f;c[a+8>>3]=i*.0001*r;a3(u,86745,a)|0;t[n>>2]=Vz(e)|0;a3(u,86770,n)|0}r=+c[A>>3];do{if(!(f>r*1.1)){e=A+24|0;if(!(f<=r*.8)){t[e>>2]=0;s=9;break}t[e>>2]=-1;if(0){G3(86780,34,1,t[15712]|0)|0;s=9}}else{t[A+24>>2]=~~(r*+((t[A+20>>2]|0)-(t[A+16>>2]|0)|0)/f);s=9}}while(0);if((s|0)==9?0:0){u=t[15712]|0;t[l>>2]=t[A+24>>2];a3(u,86815,l)|0}h=o;return}function sD(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[A+8>>3]-+c[r+8>>3];c[e>>3]=+c[A>>3]-+c[r>>3];c[e+8>>3]=i;return}function cD(e,A){e=e|0;A=A|0;var r=0,n=0.0,f=0.0,l=0,s=0,o=0,u=0.0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0.0;v=(mG(e)|0)==(e|0);p=e+16|0;E=t[p>>2]|0;e:do{if(v){r=a[E+236>>1]|0;e=a[E+238>>1]|0;k=e<<16>>16;d=E+196|0;v=E+196|0;w=r<<16>>16;f=-2147483647.0;n=2147483647.0;while(1){if((w|0)>(k|0))break;l=t[d>>2]|0;h=t[l+(w<<6)>>2]|0;if((h|0)!=0?(g=t[l+(w<<6)+4>>2]|0,m=t[g>>2]|0,(m|0)!=0):0){o=1;l=m;while(1){l=t[l+16>>2]|0;s=i[l+156>>0]|0;if(!((o|0)<(h|0)&s<<24>>24!=0))break;l=t[g+(o<<2)>>2]|0;o=o+1|0}if(!(s<<24>>24)){u=+c[l+16>>3]-+c[l+88>>3];b=n>2]|0)+(w<<6)+4>>2]|0;s=h+-2|0;l=h+-1|0;while(1){l=t[(t[o+(l<<2)>>2]|0)+16>>2]|0;if(!(i[l+156>>0]|0))break;else{l=s;s=s+-1|0}}B=+c[l+96>>3]+ +c[l+16>>3];f=f>B?f:B;n=b?n:u}}w=w+1|0}s=t[E+180>>2]|0;o=E+184|0;l=1;while(1){if((l|0)>(s|0))break e;m=t[(t[(t[o>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;B=+c[m+16>>3]+-8.0;u=+c[m+32>>3]+8.0;l=l+1|0;f=f>u?f:u;n=n>2]|0)+16>>2]|0)+232>>2]|0);n=+(t[(t[(t[E+256>>2]|0)+16>>2]|0)+232>>2]|0);r=a[E+236>>1]|0;e=a[E+238>>1]|0}}while(0);A=t[(t[A+16>>2]|0)+196>>2]|0;u=+c[(t[(t[t[A+(e<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+c[E+120>>3];B=+c[E+128>>3]+ +c[(t[(t[t[A+(r<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c[E+16>>3]=n;c[E+24>>3]=u;A=t[p>>2]|0;c[A+32>>3]=f;c[A+40>>3]=B;return}function oD(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;var n=0,f=0,l=0,s=0;l=KF(96)|0;s=l+48|0;t[s>>2]=t[s>>2]|3;t[l>>2]=t[l>>2]&-4|2;n=KF(176)|0;f=l+16|0;t[f>>2]=n;t[((t[l>>2]&3|0)==3?l:s)+40>>2]=e;t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]=A;if(r>65535.0){uD(r);r=65535.0;n=t[f>>2]|0}a[n+170>>1]=~~(r+(r>=0.0?.5:-.5));t[n+156>>2]=i;mL(l)|0;return l|0}function uD(e){e=+e;var A=0,r=0;A=h;h=h+16|0;r=A;c[r>>3]=e;t[r+8>>2]=65535;nw(1,86845,r)|0;h=A;return}function bD(e){e=e|0;var A=0,r=0,i=0,a=0;e=(t[e+16>>2]|0)+192|0;while(1){e=t[e>>2]|0;if(!e)break;a=e+16|0;i=t[a>>2]|0;e=i+172|0;r=t[e+4>>2]|0;i=i+248|0;t[i>>2]=t[e>>2];t[i+4>>2]=r;i=t[a>>2]|0;r=i+180|0;e=t[r+4>>2]|0;i=i+256|0;t[i>>2]=t[r>>2];t[i+4>>2]=e;i=t[a>>2]|0;e=t[i+180>>2]|0;r=0;while(1)if(!(t[e+(r<<2)>>2]|0))break;else r=r+1|0;A=t[i+172>>2]|0;e=0;while(1)if(!(t[A+(e<<2)>>2]|0))break;else e=e+1|0;t[i+176>>2]=0;e=KF((e+r<<2)+16|0)|0;i=t[a>>2]|0;t[i+172>>2]=e;t[i+184>>2]=0;i=KF(16)|0;e=t[a>>2]|0;t[e+180>>2]=i;e=e+164|0}return}function hD(e){e=e|0;var A=0,r=0,n=0.0,l=0,s=0,o=0,u=0,b=0,w=0.0,k=0,d=0,v=0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0;C=h;h=h+16|0;E=C;B=e+16|0;m=t[B>>2]|0;y=t[m+196>>2]|0;e=(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;p=t[m+248>>2]|0;t[E>>2]=p;t[E+4>>2]=e?5:p;p=a[m+236>>1]|0;e=m;while(1){if((p|0)>(a[e+238>>1]|0))break;d=y+(p<<6)+4|0;t[(t[(t[t[d>>2]>>2]|0)+16>>2]|0)+232>>2]=0;v=y+(p<<6)|0;g=+(t[E+((p&1)<<2)>>2]|0);w=0.0;s=0;e:while(1){if((s|0)>=(t[v>>2]|0))break;A=t[d>>2]|0;o=t[A+(s<<2)>>2]|0;m=o+16|0;e=t[m>>2]|0;n=+c[e+96>>3];c[e+240>>3]=n;if((t[e+208>>2]|0)>0){l=0;A=0;while(1){r=t[(t[e+204>>2]|0)+(l<<2)>>2]|0;if(!r)break;k=t[r>>2]&3;if((t[((k|0)==3?r:r+48|0)+40>>2]|0)==(t[((k|0)==2?r:r+-48|0)+40>>2]|0)){A=(ZR(r)|0)+A|0;e=t[m>>2]|0}l=l+1|0}k=e+96|0;n=+c[k>>3]+ +(A|0);c[k>>3]=n;A=t[d>>2]|0}k=s+1|0;A=t[A+(k<<2)>>2]|0;if(A){b=A+16|0;n=n+g+ +c[(t[b>>2]|0)+88>>3];oD(o,A,n,0)|0;e=~~(n+w);t[(t[b>>2]|0)+232>>2]=e;w=+(e|0);e=t[m>>2]|0}A=t[e+112>>2]|0;if(A){l=t[e+256>>2]|0;s=t[l>>2]|0;l=t[l+4>>2]|0;e=(t[(t[(t[((t[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(t[(t[(t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);r=e?l:s;l=e?s:l;s=A+16|0;e=t[s>>2]|0;n=+((P(t[(t[B>>2]|0)+248>>2]|0,f[e+170>>1]|0)|0)/2|0|0);b=t[r>>2]&3;A=t[((b|0)==2?r:r+-48|0)+40>>2]|0;r=t[((b|0)==3?r:r+48|0)+40>>2]|0;if(!(CD(r,A)|0))oD(A,r,+(~~(+c[(t[A+16>>2]|0)+96>>3]+n+ +c[(t[r+16>>2]|0)+88>>3])|0),t[e+156>>2]|0)|0;e=t[l>>2]&3;A=t[((e|0)==3?l:l+48|0)+40>>2]|0;e=t[((e|0)==2?l:l+-48|0)+40>>2]|0;if(!(CD(e,A)|0)){oD(A,e,+(~~(+c[(t[A+16>>2]|0)+96>>3]+n+ +c[(t[e+16>>2]|0)+88>>3])|0),t[(t[s>>2]|0)+156>>2]|0)|0;b=0}else b=0}else b=0;while(1){e=t[m>>2]|0;if((b|0)>=(t[e+192>>2]|0)){s=k;continue e}o=t[(t[e+188>>2]|0)+(b<<2)>>2]|0;s=t[o>>2]&3;r=t[((s|0)==3?o:o+48|0)+40>>2]|0;s=t[((s|0)==2?o:o+-48|0)+40>>2]|0;l=(t[(t[r+16>>2]|0)+236>>2]|0)<(t[(t[s+16>>2]|0)+236>>2]|0);A=l?r:s;r=l?s:r;n=+c[(t[r+16>>2]|0)+88>>3]+ +c[(t[A+16>>2]|0)+96>>3];s=o+16|0;l=~~(n+ +(P(t[(t[B>>2]|0)+248>>2]|0,f[(t[s>>2]|0)+170>>1]|0)|0));u=dL(A,r)|0;if(!u){e=t[s>>2]|0;if(!(t[e+96>>2]|0))oD(A,r,+(l|0),t[e+156>>2]|0)|0}else{I=+(l|0);e=t[s>>2]|0;Z=+c[e+136>>3];n=n+ +(t[(t[B>>2]|0)+248>>2]|0)+ +(~~(Z+(Z>=0.0?.5:-.5))|0);A=~~(n65535){uD(+(A|0));A=65535;e=t[s>>2]|0}s=t[u+16>>2]|0;l=s+170|0;r=f[l>>1]|0;a[l>>1]=(A|0)<(r|0)?r:A;s=s+156|0;t[s>>2]=t[(t[((t[s>>2]|0)>(t[e+156>>2]|0)?u:o)+16>>2]|0)+156>>2]}b=b+1|0}}p=p+1|0;e=t[B>>2]|0}h=C;return}function wD(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;A=(t[e+16>>2]|0)+192|0;while(1){A=t[A>>2]|0;if(!A)break;n=A+16|0;A=t[n>>2]|0;r=t[A+256>>2]|0;e:do{if(r){a=0;while(1){r=t[r+(a<<2)>>2]|0;if(!r)break e;b=zL(e)|0;A=b+16|0;i[(t[A>>2]|0)+156>>0]=2;o=r+16|0;s=t[o>>2]|0;f=~~(+c[s+56>>3]-+c[s+16>>3]);u=(f|0)>0;l=u?0:0-f|0;f=u?f:0;u=r+48|0;oD(b,t[((t[r>>2]&3|0)==3?r:u)+40>>2]|0,+(f+1|0),t[s+156>>2]|0)|0;s=r+-48|0;oD(b,t[((t[r>>2]&3|0)==2?r:s)+40>>2]|0,+(l+1|0),t[(t[o>>2]|0)+156>>2]|0)|0;o=t[r>>2]&3;f=(t[(t[(t[((o|0)==3?r:u)+40>>2]|0)+16>>2]|0)+232>>2]|0)-f|0;r=(t[(t[(t[((o|0)==2?r:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;t[(t[A>>2]|0)+232>>2]=((f|0)<(r|0)?f:r)+-1;A=t[n>>2]|0;a=a+1|0;r=t[A+256>>2]|0}}}while(0);A=A+164|0}return}function kD(e){e=e|0;if((t[(t[e+16>>2]|0)+180>>2]|0)>0){mD(e);pD(e);ED(e);BD(e)}return}function dD(e){e=e|0;var A=0.0,r=0.0,i=0,a=0;i=e+16|0;a=t[(t[i>>2]|0)+8>>2]|0;if((t[a+84>>2]|0)==3?(A=+c[a+64>>3],r=+c[a+72>>3],!(r*A<=1.0)):0){vD(e);a=t[i>>2]|0;r=(t[a+116>>2]&1|0)==0?A:r;oD(t[a+256>>2]|0,t[a+260>>2]|0,r<65535.0?r:65535.0,1e3)|0}return}function vD(e){e=e|0;var A=0,r=0,i=0.0,n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+16|0;o=u;r=hx(e,t[47144]|0,8,0)|0;gD(e);f=e+16|0;n=t[f>>2]|0;l=t[n+256>>2]|0;s=t[n+260>>2]|0;i=+(r|0);r=a[n+236>>1]|0;while(1){if((r|0)>(a[n+238>>1]|0))break;A=t[n+196>>2]|0;do{if(t[A+(r<<6)>>2]|0){A=t[t[A+(r<<6)+4>>2]>>2]|0;if(!A){t[o>>2]=Mk(e)|0;t[o+4>>2]=r;nw(1,86929,o)|0;break}else{oD(l,A,+c[(t[A+16>>2]|0)+88>>3]+i+ +c[n+96>>3],0)|0;n=t[f>>2]|0;A=t[n+196>>2]|0;A=t[(t[A+(r<<6)+4>>2]|0)+((t[A+(r<<6)>>2]|0)+-1<<2)>>2]|0;oD(A,s,+c[(t[A+16>>2]|0)+96>>3]+i+ +c[n+64>>3],0)|0;break}}}while(0);r=r+1|0;n=t[f>>2]|0}h=u;return}function gD(e){e=e|0;var A=0,r=0,a=0;A=e+16|0;if(!(t[(t[A>>2]|0)+256>>2]|0)){a=zL(mG(e)|0)|0;i[(t[a+16>>2]|0)+156>>0]=2;r=zL(mG(e)|0)|0;i[(t[r+16>>2]|0)+156>>0]=2;if((t[(t[A>>2]|0)+12>>2]|0?(mG(e)|0)!=(e|0):0)?(t[(t[(yd(e)|0)+16>>2]|0)+116>>2]&1|0)==0:0){e=t[A>>2]|0;oD(a,r,+(~~+c[e+48+((+c[e+48>>3]>+c[e+80>>3]?0:2)<<4)>>3]|0),0)|0}A=t[A>>2]|0;t[A+256>>2]=a;t[A+260>>2]=r}return}function mD(e){e=e|0;var A=0,r=0;do{if((mG(e)|0)!=(e|0)){vD(e);e=e+16|0;A=t[e>>2]|0;A=dL(t[A+256>>2]|0,t[A+260>>2]|0)|0;if(!A){r=t[e>>2]|0;oD(t[r+256>>2]|0,t[r+260>>2]|0,1.0,128)|0;break}else{r=(t[A+16>>2]|0)+156|0;t[r>>2]=(t[r>>2]|0)+128;break}}else e=e+16|0}while(0);A=1;while(1){r=t[e>>2]|0;if((A|0)>(t[r+180>>2]|0))break;mD(t[(t[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function pD(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0,h=0;s=hx(e,t[47144]|0,8,0)|0;h=e+16|0;A=t[h>>2]|0;u=+(s|0);s=a[A+236>>1]|0;while(1){if((s|0)>(a[A+238>>1]|0)){r=1;break}A=t[A+196>>2]|0;e:do{if(t[A+(s<<6)>>2]|0?(o=t[t[A+(s<<6)+4>>2]>>2]|0,o|0):0){f=o+16|0;r=t[(t[f>>2]|0)+236>>2]|0;while(1){if((r|0)<=0)break;r=r+-1|0;l=t[(t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(s<<6)+4>>2]|0)+(r<<2)>>2]|0;n=l+16|0;A=t[n>>2]|0;if(!(i[A+156>>0]|0)){b=10;break}if(yD(e,l)|0){b=9;break}}if((b|0)==9){A=t[n>>2]|0;b=10}if((b|0)==10){b=0;oD(l,t[(t[h>>2]|0)+256>>2]|0,+c[A+96>>3]+u,0)|0}r=(t[(t[(t[h>>2]|0)+196>>2]|0)+(s<<6)>>2]|0)+(t[(t[f>>2]|0)+236>>2]|0)|0;while(1){if((r|0)>=(t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(s<<6)>>2]|0))break e;f=t[(t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(s<<6)+4>>2]|0)+(r<<2)>>2]|0;n=f+16|0;A=t[n>>2]|0;if(!(i[A+156>>0]|0))break;if(!(yD(e,f)|0))r=r+1|0;else{b=15;break}}if((b|0)==15){b=0;A=t[n>>2]|0}oD(t[(t[h>>2]|0)+260>>2]|0,f,+c[A+88>>3]+u,0)|0}}while(0);s=s+1|0;A=t[h>>2]|0}while(1){if((r|0)>(t[A+180>>2]|0))break;pD(t[(t[A+184>>2]|0)+(r<<2)>>2]|0);r=r+1|0;A=t[h>>2]|0}return}function ED(e){e=e|0;var A=0,r=0.0,i=0,a=0,n=0;i=hx(e,t[47144]|0,8,0)|0;gD(e);A=e+16|0;r=+(i|0);e=1;while(1){i=t[A>>2]|0;if((e|0)>(t[i+180>>2]|0))break;i=t[(t[i+184>>2]|0)+(e<<2)>>2]|0;gD(i);a=t[A>>2]|0;n=i+16|0;oD(t[a+256>>2]|0,t[(t[n>>2]|0)+256>>2]|0,+c[a+96>>3]+r,0)|0;a=t[A>>2]|0;oD(t[(t[n>>2]|0)+260>>2]|0,t[a+260>>2]|0,+c[a+64>>3]+r,0)|0;ED(i);e=e+1|0}return}function BD(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0.0,b=0,h=0;A=hx(e,t[47144]|0,8,0)|0;b=e+16|0;e=1;while(1){i=t[b>>2]|0;r=t[i+180>>2]|0;if((e|0)>(r|0))break;gD(t[(t[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}u=+(A|0);o=1;e=r;A=i;while(1){if((o|0)>(e|0))break;c=o+1|0;s=c;while(1){r=t[A+184>>2]|0;i=t[r+(o<<2)>>2]|0;if((s|0)>(e|0))break;r=t[r+(s<<2)>>2]|0;n=(a[(t[i+16>>2]|0)+236>>1]|0)>(a[(t[r+16>>2]|0)+236>>1]|0);l=n?r:i;r=n?i:r;i=t[l+16>>2]|0;n=t[r+16>>2]|0;h=a[n+236>>1]|0;f=h<<16>>16;if((a[i+238>>1]|0)>=h<<16>>16){e=(t[(t[(t[t[(t[i+196>>2]|0)+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(t[(t[(t[t[(t[n+196>>2]|0)+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);oD(t[(t[(e?l:r)+16>>2]|0)+260>>2]|0,t[(t[(e?r:l)+16>>2]|0)+256>>2]|0,u,0)|0;e=t[b>>2]|0;A=e;e=t[e+180>>2]|0}s=s+1|0}BD(i);A=t[b>>2]|0;o=c;e=t[A+180>>2]|0}return}function yD(e,A){e=e|0;A=A|0;var r=0;A=t[A+16>>2]|0;if((i[A+156>>0]|0)==1){A=t[t[A+256>>2]>>2]|0;while(1){r=t[(t[A+16>>2]|0)+116>>2]|0;if(!r)break;else A=r}if(!(Wd(e,t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0))A=(Wd(e,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)==0&1;else A=0}else A=0;return A|0}function CD(e,A){e=e|0;A=A|0;return ID(e,A)|0}function ID(e,A){e=e|0;A=A|0;var r=0,i=0;e:do{if((e|0)==(A|0))e=1;else{r=t[(t[e+16>>2]|0)+180>>2]|0;e=0;while(1){i=t[r+(e<<2)>>2]|0;if(!i){e=0;break e}if(!(ID(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,A)|0))e=e+1|0;else{e=1;break}}}}while(0);return e|0}function ZD(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0;c=e+16|0;e=t[c>>2]|0;s=a[e+236>>1]|0;while(1){if((s|0)>(a[e+238>>1]|0))break;f=t[e+196>>2]|0;n=t[f+(s<<6)>>2]|0;f=f+(s<<6)+4|0;l=0;r=0;while(1){if((r|0)>=(n|0))break;A=t[(t[(t[f>>2]|0)+(r<<2)>>2]|0)+16>>2]|0;t[A+236>>2]=l;if((i[A+159>>0]|0)==6)A=t[A+216>>2]|0;else A=1;l=A+l|0;r=r+1|0}if((l|0)>(n|0)){e=t[f>>2]|0;if(!e)e=$F((l<<2)+4|0)|0;else e=AM(e,(l<<2)+4|0)|0;r=t[(t[c>>2]|0)+196>>2]|0;t[r+(s<<6)+4>>2]=e;A=t[r+(s<<6)>>2]|0;while(1){e=A+-1|0;if((A|0)<=0)break;f=t[r+(s<<6)+4>>2]|0;A=t[f+(e<<2)>>2]|0;t[f+(t[(t[A+16>>2]|0)+236>>2]<<2)>>2]=A;A=e;r=t[(t[c>>2]|0)+196>>2]|0}t[r+(s<<6)>>2]=l;t[(t[r+(s<<6)+4>>2]|0)+(l<<2)>>2]=0;e=t[c>>2]|0}s=s+1|0}return}function GD(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0;b=h;h=h+48|0;u=b+32|0;o=b+8|0;r=b+24|0;s=b+16|0;l=b;i=A+16|0;a=t[i>>2]|0;e:do{if((t[a+216>>2]|0)>=2){t[o>>2]=~~(+c[a+16>>3]-+c[a+88>>3]);t[o+4>>2]=~~+c[a+24>>3];t[u>>2]=t[o>>2];t[u+4>>2]=t[o+4>>2];LD(r,A,u);n=r;f=t[n+4>>2]|0;r=o;t[r>>2]=t[n>>2];t[r+4>>2]=f;r=t[i>>2]|0;if((t[r+184>>2]|0)>0){l=t[t[r+180>>2]>>2]|0;r=(t[r+236>>2]|0)+1|0;l=Kw(e,t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)|0;while(1){if(!l)break e;f=(t[l>>2]&3|0)==2?l:l+-48|0;i=f+48|0;a=t[((t[f>>2]&3|0)==3?f:i)+40>>2]|0;if((a|0)!=(A|0)?(Ex(a)|0)==(A|0):0){a=t[((t[f>>2]&3|0)==3?f:i)+40>>2]|0;t[u>>2]=t[o>>2];t[u+4>>2]=t[o+4>>2];QD(s,e,a,u,r);a=s;i=t[a+4>>2]|0;n=o;t[n>>2]=t[a>>2];t[n+4>>2]=i;VL(f);n=f+-48|0;i=t[(t[((t[f>>2]&3|0)==2?f:n)+40>>2]|0)+16>>2]|0;a=t[i+172>>2]|0;if(!a)i=$F((t[i+176>>2]<<2)+8|0)|0;else i=AM(a,(t[i+176>>2]<<2)+8|0)|0;t[(t[(t[((t[f>>2]&3|0)==2?f:n)+40>>2]|0)+16>>2]|0)+172>>2]=i;w=t[(t[((t[f>>2]&3|0)==2?f:n)+40>>2]|0)+16>>2]|0;i=t[w+172>>2]|0;w=w+176|0;a=t[w>>2]|0;t[w>>2]=a+1;t[i+(a<<2)>>2]=f;f=t[(t[((t[f>>2]&3|0)==2?f:n)+40>>2]|0)+16>>2]|0;t[(t[f+172>>2]|0)+(t[f+176>>2]<<2)>>2]=0;r=r+1|0}l=$w(e,l)|0}}else{f=t[t[r+172>>2]>>2]|0;r=(t[r+236>>2]|0)+1|0;f=Ow(e,t[((t[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0;while(1){if(!f)break e;i=f+-48|0;a=t[((t[f>>2]&3|0)==2?f:i)+40>>2]|0;if((a|0)!=(A|0)?(Ex(a)|0)==(A|0):0){a=t[((t[f>>2]&3|0)==2?f:i)+40>>2]|0;t[u>>2]=t[o>>2];t[u+4>>2]=t[o+4>>2];QD(l,e,a,u,r);a=l;i=t[a+4>>2]|0;n=o;t[n>>2]=t[a>>2];t[n+4>>2]=i;VL(f);n=f+48|0;i=t[(t[((t[f>>2]&3|0)==3?f:n)+40>>2]|0)+16>>2]|0;a=t[i+180>>2]|0;if(!a)i=$F((t[i+184>>2]<<2)+8|0)|0;else i=AM(a,(t[i+184>>2]<<2)+8|0)|0;t[(t[(t[((t[f>>2]&3|0)==3?f:n)+40>>2]|0)+16>>2]|0)+180>>2]=i;a=t[(t[((t[f>>2]&3|0)==3?f:n)+40>>2]|0)+16>>2]|0;s=t[a+180>>2]|0;a=a+184|0;w=t[a>>2]|0;t[a>>2]=w+1;t[s+(w<<2)>>2]=f;w=t[(t[((t[f>>2]&3|0)==3?f:n)+40>>2]|0)+16>>2]|0;t[(t[w+180>>2]|0)+(t[w+184>>2]<<2)>>2]=0;r=r+1|0}f=qw(e,f)|0}}}}while(0);h=b;return}function LD(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0;WJ(A,t[(t[(Bd(A)|0)+16>>2]|0)+116>>2]&1);i=t[A+16>>2]|0;c[i+24>>3]=+(t[r+4>>2]|0);a=+c[i+88>>3]+ +(t[r>>2]|0);c[i+16>>3]=a;a=a+ +c[i+96>>3];t[r>>2]=~~(a+ +(t[(t[(Bd(A)|0)+16>>2]|0)+248>>2]|0));i=r;A=t[i+4>>2]|0;r=e;t[r>>2]=t[i>>2];t[r+4>>2]=A;return}function QD(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;l=h;h=h+16|0;f=l;A=mG(A)|0;n=Ex(r)|0;if((n|0)!=(r|0))LL(n,r);s=t[r+16>>2]|0;t[s+236>>2]=a;n=t[(t[n+16>>2]|0)+232>>2]|0;t[s+232>>2]=n;t[(t[(t[(t[A+16>>2]|0)+196>>2]|0)+(n<<6)+4>>2]|0)+(a<<2)>>2]=r;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];LD(e,r,f);h=l;return}function DD(e){e=e|0;var A=0.0,r=0.0,i=0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0.0;u=t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0;if((mG(e)|0)==(e|0))l=8.0;else l=+(hx(e,t[47144]|0,8,0)|0);o=e+16|0;n=t[o>>2]|0;i=0;s=1;r=+c[n+120>>3];A=+c[n+128>>3];while(1){if((s|0)>(t[n+180>>2]|0))break;f=t[(t[n+184>>2]|0)+(s<<2)>>2]|0;i=DD(f)|0|i;f=t[f+16>>2]|0;n=t[o>>2]|0;if((a[f+238>>1]|0)==(a[n+238>>1]|0)){b=+c[f+120>>3]+l;r=r>b?r:b}if((a[f+236>>1]|0)==(a[n+236>>1]|0)){b=+c[f+128>>3]+l;A=A>b?A:b}s=s+1|0}if((mG(e)|0)!=(e|0)?(t[(t[o>>2]|0)+12>>2]|0)!=0:0)if(!(t[(t[(yd(e)|0)+16>>2]|0)+116>>2]&1)){s=t[o>>2]|0;i=1;r=+c[s+56>>3]+r;A=+c[s+88>>3]+A}else i=1;s=t[o>>2]|0;c[s+120>>3]=r;c[s+128>>3]=A;if((mG(e)|0)!=(e|0)){o=t[o>>2]|0;e=u+(a[o+236>>1]<<6)+24|0;b=+c[e>>3];c[e>>3]=b>A?b:A;u=u+(a[o+238>>1]<<6)+16|0;b=+c[u>>3];c[u>>3]=b>r?b:r}return i|0}function zD(e,A){e=e|0;A=A|0;var r=0,i=0.0,n=0.0,f=0,l=0,s=0.0,o=0,u=0,b=0,h=0,w=0.0,k=0.0;h=t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0;if((mG(e)|0)==(e|0))r=0;else r=hx(e,t[47144]|0,8,0)|0;o=e+16|0;f=t[o>>2]|0;u=r+A|0;s=+(r|0);l=1;i=+c[f+128>>3];n=+c[f+120>>3];r=f;while(1){if((l|0)>(t[r+180>>2]|0))break;f=t[(t[r+184>>2]|0)+(l<<2)>>2]|0;zD(f,u);f=t[f+16>>2]|0;r=t[o>>2]|0;if((a[f+238>>1]|0)==(a[r+238>>1]|0)){k=+c[f+120>>3]+s;n=n>k?n:k}if((a[f+236>>1]|0)==(a[r+236>>1]|0)){k=+c[f+128>>3]+s;i=i>k?i:k}l=l+1|0}c[r+120>>3]=n;c[r+128>>3]=i;if(((mG(e)|0)!=(e|0)?(b=t[o>>2]|0,t[b+12>>2]|0):0)?(w=-n-i+ +c[b+48+((+c[b+104>>3]>+c[b+72>>3]?3:1)<<4)+8>>3]-+c[(t[(t[t[h+(a[b+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +c[(t[(t[t[h+(a[b+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],w>0.0):0)WD(e,~~w,A);if((mG(e)|0)!=(e|0)){b=t[o>>2]|0;u=h+(a[b+236>>1]<<6)+24|0;k=+c[u>>3];w=+c[b+128>>3];c[u>>3]=k>w?k:w;h=h+(a[b+238>>1]<<6)+16|0;w=+c[h>>3];k=+c[b+120>>3];c[h>>3]=w>k?w:k}return}function WD(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0.0,h=0.0,w=0,k=0,d=0;s=t[(mG(e)|0)+16>>2]|0;k=t[s+196>>2]|0;w=t[e+16>>2]|0;e=a[w+238>>1]|0;i=a[w+236>>1]|0;o=(A+1|0)/2|0;u=w+120|0;b=+c[u>>3];h=+(o|0);f=+(r|0);r=~~(h+f+b-+c[k+(e<<6)+16>>3]);if((r|0)>0){n=+(r|0);while(1){if((e|0)<(i|0))break;if((t[k+(e<<6)>>2]|0)>0){d=(t[(t[t[k+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;c[d>>3]=+c[d>>3]+n}e=e+-1|0}l=+c[w+128>>3];e=r;n=l+ +(A-o|0)}else{l=+c[w+128>>3];e=A-o|0;n=l}e=~~(+(e|0)+f+n-+c[k+(i<<6)+24>>3]);e:do{if((e|0)>0){r=a[s+236>>1]|0;n=+(e|0);while(1){e=i+-1|0;if((i|0)<=(r|0))break e;if((t[k+(e<<6)>>2]|0)<=0){i=e;continue}i=(t[(t[t[k+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;c[i>>3]=+c[i>>3]+n;i=e}}}while(0);c[w+128>>3]=l+ +(A-o|0);c[u>>3]=b+h;return}function YD(e,A){e=e|0;A=A|0;var r=0,a=0;r=t[e+16>>2]|0;a=i[r+84>>0]|0;e=t[A+16>>2]|0;do{if(a<<24>>24==(i[e+84>>0]|0)){if(+c[r+56>>3]==+c[e+56>>3]){if(!(a<<24>>24==0?1:+c[r+64>>3]==+c[e+64>>3])){e=0;break}}else if(a<<24>>24){e=0;break}if(+c[r+16>>3]==+c[e+16>>3]?+c[r+24>>3]==+c[e+24>>3]:0){e=1;break}e=(i[r+44>>0]|0)==0&1}else e=0}while(0);return e|0}function FD(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0;l=e+16|0;A=t[l>>2]|0;a[A+236>>1]=32767;a[A+238>>1]=-1;A=0;f=sd(e)|0;while(1){r=t[l>>2]|0;if(!f)break;i=r+238|0;n=t[(t[f+16>>2]|0)+232>>2]|0;if((n|0)>(a[i>>1]|0))a[i>>1]=n;r=r+236|0;if((n|0)<(a[r>>1]|0))a[r>>1]=n;if(!A)A=f;else A=(n|0)<(t[(t[A+16>>2]|0)+232>>2]|0)?f:A;f=cd(e,f)|0}t[r+264>>2]=A;return}function MD(e){e=e|0;var A=0,r=0,i=0,a=0,n=0.0;A=Hw(e,86974)|0;if(!A)A=2147483647;else{n=+$3(A);A=~~(n*+(gk(e)|0))}i=e+16|0;r=0;while(1){a=t[i>>2]|0;if((r|0)>=(t[a+220>>2]|0))break;t[a+192>>2]=t[(t[a+216>>2]|0)+(r<<2)>>2];VM(e,(t[a+180>>2]|0)==0&1,A)|0;r=r+1|0}return}function VD(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;i=h;h=h+16|0;r=i;if(!(Hw(e,86983)|0))RD(e,A);else{n=(t[e+16>>2]|0)+136|0;a[n>>1]=a[n>>1]|16;ND(e,A)}if(0){n=t[15712]|0;e=t[e+16>>2]|0;A=a[e+236>>1]|0;t[r>>2]=a[e+238>>1];t[r+4>>2]=A;a3(n,86991,r)|0}h=i;return}function ND(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0.0;l=h;h=h+16|0;f=l;t[46747]=0;i[f>>0]=i[18588]|0;i[f+1>>0]=i[18589]|0;i[f+2>>0]=i[18590]|0;i[f+3>>0]=i[18591]|0;f=hk(87201,f,0)|0;Sd(f,87230,280,1)|0;Dd(f,17404,17344);xD(e);r=Hw(e,86974)|0;if(!r)a=2147483647;else{s=+$3(r);a=~~(s*+(gk(e)|0))}rz(e,0);iz(e,f);az(e,f);tz(e,f,0,0);nz(f);n=fz(f)|0;lz(f);if(A|0){_z(f);Nz(f)}r=Hw(e,102586)|0;if(!r)r=-1;else r=K3(r)|0;rM(f,1,a,r)|0;sz(e,f,n);vk(f)|0;h=l;return}function RD(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;n=h;h=h+32|0;a=n+16|0;i=n+8|0;r=n;xD(e);do{if(!A){JD(e,e);$z(e);HD(r,e);f=r;r=t[f+4>>2]|0;A=i;t[A>>2]=t[f>>2];t[A+4>>2]=r;jW(e,0);A=0}else{_z(e);Nz(e);JD(e,e);$z(e);HD(r,e);l=r;r=t[l+4>>2]|0;f=i;t[f>>2]=t[l>>2];t[f+4>>2]=r;jW(e,0);f=t[e+16>>2]|0;if((t[f+220>>2]|0)<=1?(t[f+180>>2]|0)<=0:0)break;t[A+32>>2]=1;A=0}}while(0);Fz(e);t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];if(PD(e,a)|0)jW(e,0);if(!A)MD(e);else Rz(e,A);XD(e,A);SD(e);h=n;return}function xD(e){e=e|0;var A=0,r=0,n=0;if(i[(t[(t[e+60>>2]|0)+16>>2]|0)+113>>0]&1){r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;n=(t[A+16>>2]|0)+170|0;a[n>>1]=(f[n>>1]|0)<<1;A=qw(e,A)|0}r=cd(e,r)|0}n=(t[e+16>>2]|0)+252|0;t[n>>2]=((t[n>>2]|0)+1|0)/2|0}return}function JD(e,A){e=e|0;A=A|0;var r=0;A=xv(A)|0;while(1){if(!A)break;r=$D(A)|0;do{if(r)if((r|0)==7&(t[47135]|0)==100){OD(e,A);break}else{ez(e,A,r);break}else JD(e,A)}while(0);A=Jv(A)|0}return}function HD(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;l=A+16|0;r=t[l>>2]|0;A=t[r+228>>2]|0;r=t[r+224>>2]|0;a=(r|0)==0;if(!A)if(a){s=0;c=0}else n=4;else if(a)n=5;else n=4;if((n|0)==4){A=Ex(r)|0;r=t[l>>2]|0;t[r+224>>2]=A;A=t[r+228>>2]|0;if(!A){f=0;A=r;n=12}else n=5}do{if((n|0)==5){A=Ex(A)|0;r=t[l>>2]|0;t[r+228>>2]=A;if(A){r=A+16|0;A=t[r>>2]|0;a=(i[A+159>>0]|0)==5&1;while(1){A=t[t[A+180>>2]>>2]|0;if(!A){n=11;break}f=t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;if((f|0)!=(Ex(f)|0)){n=9;break}Yz(A);A=t[r>>2]|0}if((n|0)==9)ge(87094,87034,346,87126);else if((n|0)==11){f=a;A=t[l>>2]|0;n=12;break}}else{f=0;A=r;n=12}}}while(0);e:do{if((n|0)==12){A=t[A+224>>2]|0;if(!A){s=0;c=f}else{r=A+16|0;A=t[r>>2]|0;a=(i[A+159>>0]|0)==3&1;while(1){A=t[t[A+172>>2]>>2]|0;if(!A){s=a;c=f;break e}l=t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;if((l|0)!=(Ex(l)|0))break;Yz(A);A=t[r>>2]|0}ge(87139,87034,353,87126)}}}while(0);t[e>>2]=s;t[e+4>>2]=c;return}function PD(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0;s=e+16|0;l=t[s>>2]|0;if((t[l+228>>2]|0)==0?(t[l+224>>2]|0)==0:0)A=0;else r=3;e:do{if((r|0)==3){n=sd(e)|0;l=A+4|0;f=t[A>>2]&65535;A=0;while(1){if(!n)break e;if((n|0)==(Ex(n)|0)){i=n+16|0;r=t[i>>2]|0;if((t[r+184>>2]|0)==0?(c=t[(t[s>>2]|0)+228>>2]|0,!((c|0)==0|(n|0)==(c|0))):0){A=ZL(n,c,0)|0;r=t[A+16>>2]|0;a[r+170>>1]=t[l>>2];t[r+156>>2]=0;r=t[i>>2]|0}if((t[r+176>>2]|0)==0?(o=t[(t[s>>2]|0)+224>>2]|0,!((o|0)==0|(n|0)==(o|0))):0){A=ZL(o,n,0)|0;i=t[A+16>>2]|0;a[i+170>>1]=f;t[i+156>>2]=0}}n=cd(e,n)|0}}}while(0);return(A|0)!=0|0}function XD(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0;n=sd(e)|0;c=e+16|0;r=t[c>>2]|0;e:do{if(n){a[r+236>>1]=32767;a[r+238>>1]=-1;s=(A|0)==0;while(1){if(!n)break;r=Ex(n)|0;l=t[n+16>>2]|0;A=t[l+232>>2]|0;do{if((r|0)!=(n|0)){if(!s)if(!A)A=0;else break;A=A+(t[(t[r+16>>2]|0)+232>>2]|0)|0;t[l+232>>2]=A}}while(0);r=t[c>>2]|0;f=r+238|0;if((A|0)>(a[f>>1]|0))a[f>>1]=A;r=r+236|0;if((A|0)<(a[r>>1]|0))a[r>>1]=A;switch(i[l+159>>0]|0){case 6:case 0:break;default:yx(n)}n=cd(e,n)|0}if((mG(e)|0)==(e|0)){if((t[47135]|0)==100)A=1;else{TD(e);break}while(1){r=t[c>>2]|0;if((A|0)>(t[r+180>>2]|0))break e;UD(t[(t[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}}}else{a[r+238>>1]=0;a[r+236>>1]=0}}while(0);return}function SD(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;s=e+16|0;r=0;while(1){A=t[s>>2]|0;if((r|0)>=(t[A+220>>2]|0))break;l=t[(t[A+216>>2]|0)+(r<<2)>>2]|0;t[A+192>>2]=l;A=l;while(1){if(!A)break;l=A+16|0;jD((t[l>>2]|0)+172|0);jD((t[l>>2]|0)+180|0);l=t[l>>2]|0;i[l+157>>0]=0;A=t[l+164>>2]|0}r=r+1|0}l=sd(e)|0;while(1){if(!l)break;f=Ow(e,l)|0;while(1){if(!f)break;a=f+16|0;A=t[a>>2]|0;n=t[A+172>>2]|0;if((n|0)!=0?(c=n+16|0,(f|0)==(t[(t[c>>2]|0)+116>>2]|0)):0){A=sd(e)|0;while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;if((f|0)!=(r|0)?(o=(t[r+16>>2]|0)+172|0,u=t[o>>2]|0,(u|0)!=0&(n|0)==(u|0)):0)t[o>>2]=0;r=qw(e,r)|0}A=cd(e,A)|0}G2(t[c>>2]|0);G2(n);A=t[a>>2]|0}t[A+172>>2]=0;f=qw(e,f)|0}l=cd(e,l)|0}G2(t[(t[s>>2]|0)+216>>2]|0);u=t[s>>2]|0;t[u+216>>2]=0;t[u+220>>2]=0;return}function jD(e){e=e|0;var A=0,r=0;r=e+4|0;A=t[r>>2]|0;while(1){if((A|0)<=-1)break;t[(t[e>>2]|0)+(A<<2)>>2]=0;A=A+-1|0}t[r>>2]=0;return}function UD(e){e=e|0;var A=0,r=0,i=0;A=e+16|0;r=t[A>>2]|0;i=t[(t[(t[r+264>>2]|0)+16>>2]|0)+232>>2]|0;e=r+236|0;a[e>>1]=i+(f[e>>1]|0);e=r+238|0;a[e>>1]=i+(f[e>>1]|0);e=1;while(1){if((e|0)>(t[r+180>>2]|0))break;UD(t[(t[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0;r=t[A>>2]|0}return}function TD(e){e=e|0;var A=0;A=xv(mG(e)|0)|0;while(1){if(!A)break;if((i[(t[A+16>>2]|0)+274>>0]|0)==7)OD(e,A);A=Jv(A)|0}return}function OD(e,A){e=e|0;A=A|0;var r=0;r=(t[A+16>>2]|0)+200|0;do{if((t[r>>2]|0)==0?(t[r>>2]=e,_D(e,A),sd(A)|0):0){qD(e,A);if((t[47135]|0)==100){RD(A,0);KD(A);break}else{FD(A);break}}}while(0);return}function _D(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;f=e+16|0;n=sd(A)|0;while(1){if(!n)break;l=cd(A,n)|0;s=n+16|0;if(!(i[(t[s>>2]|0)+159>>0]|0))a=1;else{Ed(A,n)|0;n=l;continue}while(1){r=t[f>>2]|0;e=t[r+180>>2]|0;if((a|0)>=(e|0))break;if(Wd(t[(t[r+184>>2]|0)+(a<<2)>>2]|0,n)|0){c=7;break}a=a+1|0}if((c|0)==7){c=0;e=t[(t[f>>2]|0)+180>>2]|0}if((a|0)<(e|0))Ed(A,n)|0;t[(t[s>>2]|0)+212>>2]=0;n=l}r=sd(A)|0;while(1){if(!r)break;e=Ow(mG(A)|0,r)|0;while(1){if(!e)break;if(Wd(A,t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)uk(A,e,1)|0;e=qw(mG(A)|0,e)|0}r=cd(A,r)|0}return}function qD(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;i=e+16|0;r=t[i>>2]|0;n=r+180|0;e=t[n>>2]|0;a=e+1|0;t[n>>2]=a;r=t[r+184>>2]|0;if(!r)e=KF((e<<2)+8|0)|0;else e=eM(r,e+2|0,4,a)|0;t[(t[i>>2]|0)+184>>2]=e;t[e+(a<<2)>>2]=A;VF(A);return}function KD(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;n=t[e+16>>2]|0;A=n+192|0;f=0;while(1){A=t[A>>2]|0;if(!A)break;a=t[A+16>>2]|0;if(!(t[a+232>>2]|0))r=(i[a+156>>0]|0)==0?A:f;else r=f;A=a+164|0;f=r}if(!f)ge(87019,87034,238,87041);t[n+264>>2]=f;A=sd(e)|0;while(1){if(!A){A=13;break}r=A+16|0;if(!((A|0)==(f|0)?1:(t[(t[r>>2]|0)+216>>2]|0)<2)){A=11;break}Bx(A,f)|0;i[(t[r>>2]|0)+159>>0]=7;A=cd(e,A)|0}if((A|0)==11)ge(87056,87034,242,87041);else if((A|0)==13)return}function $D(e){e=e|0;var A=0;if(!(Az(e)|0)){A=zx(Hw(e,87171)|0,17356,17380)|0;i[(t[e+16>>2]|0)+274>>0]=A;e=A}else e=7;return e|0}function ez(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;n=sd(A)|0;e:do{if(n|0){s=r&255;l=n+16|0;a=n;f=s;while(1){i[(t[a+16>>2]|0)+159>>0]=f;a=cd(A,a)|0;if(!a)break;Bx(n,a)|0;f=i[(t[l>>2]|0)+159>>0]|0}switch(r|0){case 3:case 2:{e=e+16|0;a=t[e>>2]|0;f=t[a+224>>2]|0;if(f){n=Bx(f,n)|0;a=t[e>>2]|0}t[a+224>>2]=n;break}case 5:case 4:{e=e+16|0;a=t[e>>2]|0;f=t[a+228>>2]|0;if(f){n=Bx(f,n)|0;a=t[e>>2]|0}t[a+228>>2]=n;break}default:break e}switch(r|0){case 3:{a=a+224|0;break}case 5:{a=a+228|0;break}default:break e}i[(t[(t[a>>2]|0)+16>>2]|0)+159>>0]=s}}while(0);return}function Az(e){e=e|0;return(y1(Mk(e)|0,108006,7)|0)==0|0}function rz(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+16|0;n=o;if(!(Bz(e)|0)){do{if(Tx(e)|0)if(!A){t[(t[e+16>>2]|0)+204>>2]=0;A=e;break}else{t[(t[e+16>>2]|0)+204>>2]=(t[(t[A+16>>2]|0)+204>>2]|0)+1;yz(e,A);A=e;break}}while(0);r=xv(e)|0;while(1){if(!r)break;rz(r,A);r=Jv(r)|0}e:do{if(Tx(e)|0){r=sd(e)|0;while(1){if(!r)break e;a=(t[r+16>>2]|0)+212|0;if(!(t[a>>2]|0))t[a>>2]=e;r=cd(e,r)|0}}}while(0);switch(Cz(e)|0){case 3:{A=A+16|0;i[(t[A>>2]|0)+241>>0]=1;c=19;break}case 2:{A=A+16|0;c=19;break}case 5:{A=A+16|0;i[(t[A>>2]|0)+242>>0]=1;c=21;break}case 4:{A=A+16|0;c=21;break}case 1:{Iz(e)|0;break}case 6:break;default:{r=Mk(e)|0;a=Hw(e,87171)|0;t[n>>2]=r;t[n+4>>2]=a;nw(0,87354,n)|0}}if((c|0)==19){c=Iz(e)|0;c=Zz(c,t[(t[A>>2]|0)+208>>2]|0)|0;t[(t[A>>2]|0)+208>>2]=c}else if((c|0)==21){c=Iz(e)|0;c=Zz(c,t[(t[A>>2]|0)+212>>2]|0)|0;t[(t[A>>2]|0)+212>>2]=c}if((Tx(e)|0?(f=e+16|0,l=t[f>>2]|0,s=t[l+208>>2]|0,s|0):0)?(s|0)==(t[l+212>>2]|0):0){s=Iz(e)|0;c=t[f>>2]|0;t[c+208>>2]=s;t[c+212>>2]=s}}h=o;return}function iz(e,A){e=e|0;A=A|0;var r=0,i=0;t[46747]=0;r=sd(e)|0;while(1){if(!r)break;if((cz(r)|0)==(r|0)){i=bz(A,Mk(r)|0)|0;t[(t[r+16>>2]|0)+148>>2]=i}r=cd(e,r)|0}r=sd(e)|0;while(1){if(!r)break;A=r+16|0;if(!(t[(t[A>>2]|0)+148>>2]|0)){i=t[(t[(cz(r)|0)+16>>2]|0)+148>>2]|0;t[(t[A>>2]|0)+148>>2]=i}r=cd(e,r)|0}return}function az(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;f=sd(e)|0;while(1){if(!f)break;r=t[(t[f+16>>2]|0)+148>>2]|0;l=Ow(e,f)|0;while(1){if(!l)break;do{if((vz(l)|0)==0?(s=l+-48|0,c=t[(t[(cz(t[((t[l>>2]&3|0)==2?l:s)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(r|0)!=(c|0)):0){a=t[l>>2]&3;n=l+48|0;i=((a|0)==3?l:n)+40|0;a=t[(t[(t[((a|0)==2?l:s)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(gz(l)|0)){if((dz(t[(t[(t[i>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(dz(a)|0)==0:0){mz(A,r,c,l);break}pz(A,r,c,l);break}else{a=cz(t[i>>2]|0)|0;i=t[l>>2]&3;if((a|0)!=(t[(t[(t[(t[(t[((i|0)==3?l:n)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(n=cz(t[((i|0)==2?l:s)+40>>2]|0)|0,(n|0)!=(t[(t[(t[(t[(t[((t[l>>2]&3|0)==2?l:s)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)i=c;else{i=r;r=c}mz(A,r,i,l);break}}}while(0);l=qw(e,l)|0}f=cd(e,f)|0}return}function tz(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;if((Tx(e)|0)!=0?(dz(e)|0)!=0:0){n=sd(e)|0;while(1){if(!n)break;if(!(Kw(e,n)|0)){a=t[(t[(cz(n)|0)+16>>2]|0)+148>>2]|0;if(!r)r=bz(A,87252)|0;lk(A,r,a,0,1)|0}if(!(Ow(e,n)|0)){a=t[(t[(cz(n)|0)+16>>2]|0)+148>>2]|0;if(!i)i=bz(A,87257)|0;lk(A,a,i,0,1)|0}n=cd(e,n)|0}if((i|0)!=0&(r|0)!=0){kz(lk(A,r,i,0,1)|0,0,1e3);a=r}else a=r}else a=r;r=xv(e)|0;while(1){if(!r)break;tz(r,A,a,i);r=Jv(r)|0}return}function nz(e){e=e|0;var A=0,r=0;A=sd(e)|0;while(1){if(!A)break;r=t[A+16>>2]|0;i[r+158>>0]=0;i[r+157>>0]=0;A=cd(e,A)|0}A=sd(e)|0;while(1){if(!A)break;hz(e,A);A=cd(e,A)|0}return}function fz(e){e=e|0;var A=0,r=0,i=0,a=0;A=sd(e)|0;while(1){if(!A)break;t[(t[A+16>>2]|0)+128>>2]=0;A=cd(e,A)|0}A=0;i=sd(e)|0;while(1){if(!i)break;r=A+1|0;if(!(t[(t[i+16>>2]|0)+128>>2]|0)){uz(e,i,r);A=r}i=cd(e,i)|0}e:do{if((A|0)>1){a=bz(e,87246)|0;r=1;i=sd(e)|0;while(1){if(!i)break e;if((t[(t[i+16>>2]|0)+128>>2]|0)==(r|0)){lk(e,a,i,0,1)|0;r=r+1|0}i=cd(e,i)|0}}}while(0);return A|0}function lz(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;n=sd(e)|0;while(1){if(!n)break;f=n+16|0;a=Ow(e,n)|0;while(1){if(!a)break;A=t[f>>2]|0;r=t[A+180>>2]|0;if(!r)A=$F((t[A+184>>2]<<2)+8|0)|0;else A=AM(r,(t[A+184>>2]<<2)+8|0)|0;r=t[f>>2]|0;t[r+180>>2]=A;r=r+184|0;i=t[r>>2]|0;t[r>>2]=i+1;t[A+(i<<2)>>2]=a;i=t[f>>2]|0;t[(t[i+180>>2]|0)+(t[i+184>>2]<<2)>>2]=0;i=a+-48|0;A=t[(t[((t[a>>2]&3|0)==2?a:i)+40>>2]|0)+16>>2]|0;r=t[A+172>>2]|0;if(!r)A=$F((t[A+176>>2]<<2)+8|0)|0;else A=AM(r,(t[A+176>>2]<<2)+8|0)|0;t[(t[(t[((t[a>>2]&3|0)==2?a:i)+40>>2]|0)+16>>2]|0)+172>>2]=A;l=t[(t[((t[a>>2]&3|0)==2?a:i)+40>>2]|0)+16>>2]|0;A=t[l+172>>2]|0;l=l+176|0;r=t[l>>2]|0;t[l>>2]=r+1;t[A+(r<<2)>>2]=a;i=t[(t[((t[a>>2]&3|0)==2?a:i)+40>>2]|0)+16>>2]|0;t[(t[i+172>>2]|0)+(t[i+176>>2]<<2)>>2]=0;a=qw(e,a)|0}n=cd(e,n)|0}return}function sz(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;b=e+16|0;h=t[b>>2]|0;a[h+236>>1]=32767;a[h+238>>1]=-1;e:do{if((r|0)>1){n=KF((r<<2)+4|0)|0;i=r+1|0;r=1;while(1){if((r|0)==(i|0)){u=n;h=n;break e}t[n+(r<<2)>>2]=32767;r=r+1|0}}else{u=0;h=0}}while(0);l=(u|0)==0;n=sd(e)|0;while(1){if(!n)break;s=t[(t[(t[(cz(n)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;c=t[s+232>>2]|0;o=t[n+16>>2]|0;t[o+232>>2]=c;r=t[b>>2]|0;i=r+238|0;if((c|0)>(a[i>>1]|0))a[i>>1]=c;r=r+236|0;if((c|0)<(a[r>>1]|0))a[r>>1]=c;if(!l){s=t[s+128>>2]|0;t[o+128>>2]=s;o=u+(s<<2)|0;s=t[o>>2]|0;t[o>>2]=(s|0)<(c|0)?s:c}n=cd(e,n)|0}s=(u|0)!=0;e:do{if(!s){u=a[(t[b>>2]|0)+236>>1]|0;i=u<<16>>16;if(u<<16>>16>0){r=sd(e)|0;while(1){if(!r)break;u=(t[r+16>>2]|0)+232|0;t[u>>2]=(t[u>>2]|0)-i;r=cd(e,r)|0}r=t[b>>2]|0;b=r+236|0;a[b>>1]=(f[b>>1]|0)-i;r=r+238|0;a[r>>1]=(f[r>>1]|0)-i;r=0}else r=0}else{r=sd(e)|0;while(1){if(!r){r=1;break e}o=t[r+16>>2]|0;b=o+232|0;t[b>>2]=(t[b>>2]|0)-(t[u+(t[o+128>>2]<<2)>>2]|0);r=cd(e,r)|0}}}while(0);oz(e,r);l=sd(A)|0;while(1){if(!l)break;i=l+16|0;r=t[i>>2]|0;n=t[r+172>>2]|0;if(n){G2(n);r=t[i>>2]|0}r=t[r+180>>2]|0;if(r|0)G2(r);l=cd(A,l)|0}G2(t[(t[(sd(e)|0)+16>>2]|0)+112>>2]|0);r=sd(e)|0;while(1){if(!r)break;t[(t[r+16>>2]|0)+112>>2]=0;r=cd(e,r)|0}if(s)G2(h);return}function cz(e){e=e|0;var A=0,r=0,i=0;A=e+16|0;r=(t[A>>2]|0)+152|0;i=t[r>>2]|0;if(i){if((i|0)!=(e|0)){i=cz(i)|0;t[(t[A>>2]|0)+152>>2]=i;return i|0}}else t[r>>2]=e;return e|0}function oz(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0;l=e+16|0;r=1;while(1){i=t[l>>2]|0;if((r|0)>(t[i+180>>2]|0))break;oz(t[(t[i+184>>2]|0)+(r<<2)>>2]|0,0);r=r+1|0}if((A|0)!=0|(t[i+200>>2]|0)!=0){a[i+236>>1]=32767;a[i+238>>1]=-1;r=0;f=sd(e)|0;while(1){if(!f)break;n=t[(t[f+16>>2]|0)+232>>2]|0;A=t[l>>2]|0;i=A+238|0;if((n|0)>(a[i>>1]|0))a[i>>1]=n;A=A+236|0;if((n|0)<(a[A>>1]|0)){a[A>>1]=n;r=f}f=cd(e,f)|0}t[(t[l>>2]|0)+264>>2]=r}return}function uz(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=(t[A+16>>2]|0)+128|0;e:do{if(!(t[i>>2]|0)){t[i>>2]=r;i=Ow(e,A)|0;while(1){if(!i)break;uz(e,t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,r);i=qw(e,i)|0}i=Kw(e,A)|0;while(1){if(!i)break e;uz(e,t[((t[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,r);i=$w(e,i)|0}}}while(0);return}function bz(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=gd(e,A,1)|0;A=a+16|0;t[(t[A>>2]|0)+176>>2]=0;i=KF(20)|0;r=t[A>>2]|0;t[r+172>>2]=i;t[r+184>>2]=0;r=KF(20)|0;A=t[A>>2]|0;t[A+180>>2]=r;r=t[46747]|0;i=A+168|0;if(!r){t[i>>2]=0;t[(t[e+16>>2]|0)+192>>2]=a}else{t[i>>2]=r;t[(t[r+16>>2]|0)+164>>2]=a}t[46747]=a;t[A+164>>2]=0;return a|0}function hz(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;f=A+16|0;r=t[f>>2]|0;a=r+157|0;if(!(i[a>>0]|0)){i[a>>0]=1;i[r+158>>0]=1;A=Ow(e,A)|0;while(1){if(!A)break;r=qw(e,A)|0;a=t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;n=t[a+16>>2]|0;if(i[n+158>>0]|0){wz(e,A);A=r;continue}if(i[n+157>>0]|0){A=r;continue}hz(e,a);A=r}i[(t[f>>2]|0)+158>>0]=0}return}function wz(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=t[A>>2]&3;a=A+-48|0;i=A+48|0;r=lk(e,t[((r|0)==2?A:a)+40>>2]|0,t[((r|0)==3?A:i)+40>>2]|0,0,0)|0;if(!r){r=t[A>>2]&3;r=lk(e,t[((r|0)==2?A:a)+40>>2]|0,t[((r|0)==3?A:i)+40>>2]|0,0,1)|0}a=t[A+16>>2]|0;kz(r,f[a+170>>1]|0,t[a+156>>2]|0);Ed(e,A)|0;return}function kz(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0;e=t[e+16>>2]|0;i=e+170|0;n=f[i>>1]|0;a[i>>1]=(n|0)>(A|0)?n:A;A=e+156|0;t[A>>2]=(t[A>>2]|0)+r;return}function dz(e){e=e|0;return(px(Hw(e,87262)|0,0)|0)&255|0}function vz(e){e=e|0;var A=0,r=0;A=t[47189]|0;if((((A|0)!=0?(r=Pw(e,A)|0,(r|0)!=0):0)?(i[r>>0]|0)!=0:0)?(mx(r)|0)<<24>>24==0:0)e=1;else e=0;return e|0}function gz(e){e=e|0;var A=0,r=0;r=t[e>>2]&3;A=t[(t[(t[((r|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=t[(t[(t[((r|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((A|0)==(e|0))return 1;else{r=Ez(A,e)|0;return((r|0)==(A|0)|(r|0)==(e|0))&1|0}return 0}function mz(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,l=0,s=0;s=h;h=h+16|0;n=s;a=lk(e,A,r,0,0)|0;if(!a){a=lk(e,r,A,0,0)|0;if(!a){a=lk(e,A,r,0,1)|0;if(!a){A=Mk(A)|0;i=Mk(r)|0;t[n>>2]=A;t[n+4>>2]=i;nw(1,87279,n)|0}else l=4}else l=4}else l=4;if((l|0)==4){l=t[i+16>>2]|0;kz(a,f[l+170>>1]|0,t[l+156>>2]|0)}h=s;return}function pz(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+112|0;s=o;l=o+4|0;n=Kw(e,A)|0;while(1){if(!n){c=6;break}u=Ow(e,t[((t[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;if(u|0?(t[((t[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)==(r|0):0)break;n=$w(e,n)|0}if((c|0)==6){u=t[46748]|0;t[46748]=u+1;t[s>>2]=u;T4(l,87270,s)|0;l=bz(e,l)|0;u=lk(e,l,A,0,1)|0;l=lk(e,l,r,0,1)|0;r=t[i+16>>2]|0;c=r+156|0;u=(t[u+16>>2]|0)+156|0;t[u>>2]=(t[u>>2]|0)+((t[c>>2]|0)*1e3|0);u=t[l+16>>2]|0;s=u+170|0;a[s>>1]=a[(t[((f[s>>1]|0)>(f[r+170>>1]|0)?l:i)+16>>2]|0)+170>>1]|0;u=u+156|0;t[u>>2]=(t[u>>2]|0)+(t[c>>2]|0)}h=o;return}function Ez(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;e:while(1){i=e+16|0;while(1){if((e|0)==(A|0))break e;a=t[i>>2]|0;r=t[A+16>>2]|0;if((t[a+204>>2]|0)>=(t[r+204>>2]|0))break;A=t[r+200>>2]|0}e=t[a+200>>2]|0}return e|0}function Bz(e){e=e|0;return(sd(e)|0)==0|0}function yz(e,A){e=e|0;A=A|0;t[(t[e+16>>2]|0)+200>>2]=A;qD(A,e);_D(A,e);return}function Cz(e){e=e|0;var A=0;e=Hw(e,87171)|0;if((e|0)!=0?(i[e>>0]|0)!=0:0)if(e1(e,87181)|0)if(e1(e,87185)|0)if(e1(e,87192)|0)if(e1(e,87196)|0)if(!(e1(e,87176)|0))e=1;else A=8;else e=5;else e=4;else e=3;else e=2;else A=8;if((A|0)==8)e=6;return e|0}function Iz(e){e=e|0;var A=0,r=0;r=sd(e)|0;e:do{if(!r)A=0;else{A=cz(r)|0;while(1){r=cd(e,r)|0;if(!r)break e;Zz(A,r)|0}}}while(0);return A|0}function Zz(e,A){e=e|0;A=A|0;if(A){e=cz(e)|0;t[(t[(cz(A)|0)+16>>2]|0)+152>>2]=e}return e|0}function Gz(e,A,r){e=e|0;A=A|0;r=r|0;Sd(A,87230,t[r>>2]|0,1)|0;return}function Lz(e,A,r){e=e|0;A=A|0;r=r|0;Sd(A,87397,t[r+4>>2]|0,1)|0;return}function Qz(e,A,r){e=e|0;A=A|0;r=r|0;Sd(A,87382,t[r+8>>2]|0,1)|0;return}function Dz(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+240|0;o=w+120|0;u=w;t[47193]=zw(e,2,87412,0)|0;c=zw(e,2,87421,0)|0;t[47194]=c;e:do{if((c|0)!=0|(t[47193]|0)!=0){c=sd(e)|0;while(1){if(!c)break e;s=0;A=0;l=ek(e,c)|0;while(1){if(!l){a=0;break}r=t[l>>2]|0;n=r&3;a=t[((n|0)==2?l:l+-48|0)+40>>2]|0;f=l+48|0;A:do{if((a|0)!=(t[((n|0)==3?l:f)+40>>2]|0)){n=t[47193]|0;do{if((a|0)==(c|0)&(n|0)!=0){a=Pw(l,n)|0;if(!(i[a>>0]|0)){r=t[l>>2]|0;break}else{r=s;A=zz(o,A,c,l,a)|0;break A}}}while(0);a=t[47194]|0;if((a|0?(t[((r&3|0)==3?l:f)+40>>2]|0)==(c|0):0)?(b=Pw(l,a)|0,(i[b>>0]|0)!=0):0)r=zz(u,s,c,l,b)|0;else r=s}else r=s}while(0);s=r;l=Ak(e,l,c)|0}while(1){if((a|0)>=(A|0)){r=0;break}r=o+(a*24|0)+4|0;if((t[o+(a*24|0)+8>>2]|0)>1)Wz(c,r);r=t[r>>2]|0;if(r|0)G2(r);a=a+1|0}while(1){if((r|0)>=(s|0))break;A=u+(r*24|0)+4|0;if((t[u+(r*24|0)+8>>2]|0)>1)Wz(c,A);A=t[A>>2]|0;if(A|0)G2(A);r=r+1|0}c=cd(e,c)|0}}}while(0);h=w;return}function zz(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;w=h;h=h+16|0;s=w;o=w+12|0;u=w+8|0;b=0;while(1){if((b|0)>=(A|0)){l=10;break}l=t[e+(b*24|0)>>2]|0;if((i[l>>0]|0)==(i[n>>0]|0)?(e1(l,n)|0)==0:0){l=5;break}b=b+1|0}do{if((l|0)==5){s=e+(b*24|0)+4|0;l=t[s>>2]|0;if(!l){l=e+(b*24|0)+8|0;n=l;l=$F((t[l>>2]<<2)+8|0)|0}else{k=e+(b*24|0)+8|0;n=k;l=AM(l,(t[k>>2]<<2)+8|0)|0}t[s>>2]=l;d=t[n>>2]|0;k=d+1|0;t[n>>2]=k;t[l+(d<<2)>>2]=a;t[(t[s>>2]|0)+(k<<2)>>2]=0;l=13}else if((l|0)==10)if((A|0)>4){d=Mk(r)|0;t[s>>2]=5;t[s+4>>2]=d;nw(1,87430,s)|0;break}else{v=e+(b*24|0)+8|0;t[v>>2]=0;s=KF(8)|0;d=e+(b*24|0)+4|0;t[d>>2]=s;k=t[v>>2]|0;l=k+1|0;t[v>>2]=l;t[s+(k<<2)>>2]=a;t[(t[d>>2]|0)+(l<<2)>>2]=0;t[e+(b*24|0)>>2]=n;t[e+(b*24|0)+12>>2]=0;c[e+(b*24|0)+16>>3]=0.0;A=A+1|0;l=13;break}}while(0);if((l|0)==13){WE(a,o,u);l=(t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)==(r|0)?t[u>>2]|0:t[o>>2]|0;if(l){d=e+(b*24|0)+12|0;v=t[d>>2]|0;t[d>>2]=v+1;if(!v)f=+VE(a,l);else f=0.0;c[e+(b*24|0)+16>>3]=f}}h=w;return A|0}function Wz(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0.0,s=0.0,o=0.0,u=0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0;B=h;h=h+80|0;g=B+68|0;m=B+64|0;d=B;p=A+4|0;u=t[p>>2]|0;E=e+16|0;f=0;w=0.0;k=0.0;while(1){if((f|0)>=(u|0))break;a=t[(t[A>>2]|0)+(f<<2)>>2]|0;n=t[a>>2]&3;r=t[((n|0)==2?a:a+-48|0)+40>>2]|0;if((r|0)==(e|0))r=t[((n|0)==3?a:a+48|0)+40>>2]|0;n=t[r+16>>2]|0;v=t[E>>2]|0;s=+c[n+16>>3]-+c[v+16>>3];o=+c[n+24>>3]-+c[v+24>>3];b=+g1(s,o);f=f+1|0;w=s/b+w;k=o/b+k}l=+g1(w,k);v=t[E>>2]|0;s=+c[v+16>>3];o=+c[v+24>>3];y=+c[v+96>>3]+ +c[v+88>>3];b=+c[v+80>>3];v=y>b+ +(t[(t[(Bd(e)|0)+16>>2]|0)+252>>2]|0);r=t[E>>2]|0;if(v)b=+c[r+96>>3]+ +c[r+88>>3];else{b=+c[r+80>>3];b=b+ +(t[(t[(Bd(e)|0)+16>>2]|0)+252>>2]|0);r=t[E>>2]|0}y=+c[r+16>>3]+b*(w/l);l=+c[r+24>>3]+b*(k/l);c[d>>3]=s;u=d+8|0;c[u>>3]=o;c[d+16>>3]=(y+s*2.0)*.3333333333333333;c[d+24>>3]=(l+o*2.0)*.3333333333333333;c[d+32>>3]=(y*2.0+s)*.3333333333333333;c[d+40>>3]=(l*2.0+o)*.3333333333333333;c[d+48>>3]=y;c[d+56>>3]=l;dR(e,d);v=t[E>>2]|0;l=+c[d>>3]-+c[v+16>>3];s=+c[u>>3]-+c[v+24>>3];l=+(~~(l+(l>=0.0?.5:-.5))|0);s=+(~~(s+(s>=0.0?.5:-.5))|0);y=+c[v+88>>3];v=~~((y+l)*256.0/(+c[v+96>>3]+y))&255;d=0;while(1){if((d|0)>=(t[p>>2]|0))break;u=t[(t[A>>2]|0)+(d<<2)>>2]|0;WE(u,g,m);while(1){if(!u)break;else n=u;while(1){if(!n){f=u;break}r=t[n>>2]|0;f=n+-48|0;if((t[((r&3|0)==2?n:f)+40>>2]|0)==(e|0)){r=t[n+16>>2]|0;c[r+56>>3]=l;c[r+64>>3]=s;c[r+72>>3]=0.0;t[r+80>>2]=0;i[r+84>>0]=1;i[r+85>>0]=0;i[r+86>>0]=0;i[r+87>>0]=0;i[r+88>>0]=v;i[r+89>>0]=0;t[r+92>>2]=0;r=t[n>>2]|0}a=n+16|0;if((t[((r&3|0)==3?n:n+48|0)+40>>2]|0)==(e|0)){r=t[a>>2]|0;c[r+16>>3]=l;c[r+24>>3]=s;c[r+32>>3]=0.0;t[r+40>>2]=0;i[r+44>>0]=1;i[r+45>>0]=0;i[r+46>>0]=0;i[r+47>>0]=0;i[r+48>>0]=v;i[r+49>>0]=0;t[r+52>>2]=0}if((i[(t[a>>2]|0)+112>>0]|0)!=1){n=0;continue}r=t[(t[((t[n>>2]&3|0)==2?n:f)+40>>2]|0)+16>>2]|0;if((i[r+156>>0]|0)!=1){n=0;continue}if((t[r+184>>2]|0)!=1){n=0;continue}n=t[t[r+180>>2]>>2]|0}while(1){if(!f)break;r=t[f>>2]|0;if((t[((r&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)){r=t[f+16>>2]|0;c[r+56>>3]=l;c[r+64>>3]=s;c[r+72>>3]=0.0;t[r+80>>2]=0;i[r+84>>0]=1;i[r+85>>0]=0;i[r+86>>0]=0;i[r+87>>0]=0;i[r+88>>0]=v;i[r+89>>0]=0;t[r+92>>2]=0;r=t[f>>2]|0}a=f+48|0;n=f+16|0;if((t[((r&3|0)==3?f:a)+40>>2]|0)==(e|0)){r=t[n>>2]|0;c[r+16>>3]=l;c[r+24>>3]=s;c[r+32>>3]=0.0;t[r+40>>2]=0;i[r+44>>0]=1;i[r+45>>0]=0;i[r+46>>0]=0;i[r+47>>0]=0;i[r+48>>0]=v;i[r+49>>0]=0;t[r+52>>2]=0}if((i[(t[n>>2]|0)+112>>0]|0)!=1){f=0;continue}r=t[(t[((t[f>>2]&3|0)==3?f:a)+40>>2]|0)+16>>2]|0;if((i[r+156>>0]|0)!=1){f=0;continue}if((t[r+176>>2]|0)!=1){f=0;continue}f=t[t[r+172>>2]>>2]|0}u=t[(t[u+16>>2]|0)+172>>2]|0}d=d+1|0}i[(t[E>>2]|0)+145>>0]=1;h=B;return}function Yz(e){e=e|0;var A=0,r=0,i=0;EL(e);A=t[e>>2]&3;r=e+-48|0;i=e+48|0;A=dL(t[((A|0)==2?e:r)+40>>2]|0,t[((A|0)==3?e:i)+40>>2]|0)|0;if(!A){A=t[e>>2]&3;ZL(t[((A|0)==2?e:r)+40>>2]|0,t[((A|0)==3?e:i)+40>>2]|0,e)|0}else FL(e,A);return}function Fz(e){e=e|0;var A=0,r=0,a=0,n=0;a=e+16|0;r=0;while(1){e=t[a>>2]|0;if((r|0)>=(t[e+220>>2]|0))break;A=t[(t[e+216>>2]|0)+(r<<2)>>2]|0;t[e+192>>2]=A;e=A;A=e;while(1){if(!A)break;n=t[A+16>>2]|0;i[n+157>>0]=0;A=t[n+164>>2]|0}while(1){if(!e)break;Mz(e);e=t[(t[e+16>>2]|0)+164>>2]|0}r=r+1|0}return}function Mz(e){e=e|0;var A=0,r=0,a=0,n=0;n=e+16|0;A=t[n>>2]|0;e=A+157|0;if(!(i[e>>0]|0)){i[e>>0]=1;i[A+158>>0]=1;e=0;while(1){a=t[(t[A+180>>2]|0)+(e<<2)>>2]|0;if(!a)break;A=t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0;r=t[A+16>>2]|0;if(!(i[r+158>>0]|0)){if(!(i[r+157>>0]|0))Mz(A)}else{Yz(a);e=e+-1|0}e=e+1|0;A=t[n>>2]|0}i[A+158>>0]=0}return}function Vz(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;i=sd(e)|0;A=0;while(1){if(!i)break;r=Ow(e,i)|0;while(1){if(!r)break;n=t[r>>2]&3;f=t[(t[(t[((n|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=t[(t[(t[((n|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;a=f-n|0;r=qw(e,r)|0;A=((f|0)==(n|0)?0:((a|0)>-1?a:0-a|0)+-1|0)+A|0}i=cd(e,i)|0}return A|0}function Nz(e){e=e|0;var A=0,r=0,a=0,n=0;r=sd(e)|0;while(1){if(!r)break;n=t[r+16>>2]|0;a=t[n+176>>2]|0;n=n+172|0;A=0;while(1){if((A|0)>=(a|0))break;i[(t[(t[(t[n>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+112>>0]=0;A=A+1|0}r=cd(e,r)|0}return}function Rz(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;b=k;l=t[A+24>>2]|0;xz(e);s=(l|0)==-1;o=A+8|0;f=s^1;u=t[15712]|0;a=1797693134862315708145274.0e284;n=0;while(1){if(!(s|(n|0)<(l|0)))break;r=sd(e)|0;while(1){if(!r)break;t[(t[r+16>>2]|0)+232>>2]=0;r=cd(e,r)|0}MD(e);i=+Jz(e);c[o>>3]=i;if(0){c[b>>3]=i;a3(u,87482,b)|0;i=+c[o>>3]}if(!(!(i<=+c[A>>3])&(!(a<=i)|f))){w=9;break}Hz(e);a=i;n=n+1|0}if((w|0)==9){w=A+20|0;t[A+16>>2]=t[w>>2];t[w>>2]=n}MD(e);Pz(e);Xz();c[o>>3]=+Jz(e);h=k;return}function xz(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0.0,u=0.0,b=0;t[46752]=$F((gk(e)|0)*24|0)|0;t[46751]=0;A=sd(e)|0;while(1){if(!A)break;t[(t[A+16>>2]|0)+120>>2]=-1;A=cd(e,A)|0}f=sd(e)|0;while(1){if(!f)break;l=f+16|0;do{if(!(t[(t[l>>2]|0)+216>>2]|0)){a=KF(4)|0;n=t[46752]|0;s=t[46751]|0;t[n+(s*24|0)>>2]=a;t[a>>2]=f;t[n+(s*24|0)+4>>2]=1;l=t[l>>2]|0;c[n+(s*24|0)+8>>3]=+c[l+32>>3];c[n+(s*24|0)+16>>3]=+c[l+40>>3];t[l+120>>2]=s;t[46751]=s+1}else{n=Ex(f)|0;s=n+16|0;A=t[s>>2]|0;r=t[A+120>>2]|0;if((r|0)>-1){n=t[46752]|0;a=t[n+(r*24|0)>>2]|0;i=n+(r*24|0)+4|0;s=t[i>>2]|0;t[i>>2]=s+1;t[a+(s<<2)>>2]=f;s=t[l>>2]|0;l=n+(r*24|0)+8|0;c[l>>3]=+c[l>>3]+ +c[s+32>>3];l=n+(r*24|0)+16|0;o=+c[l>>3];u=+c[s+40>>3];c[l>>3]=o>2]=r;break}r=KF(t[A+216>>2]<<2)|0;i=t[46752]|0;a=t[46751]|0;A=i+(a*24|0)|0;t[A>>2]=r;t[r>>2]=n;if((n|0)==(f|0)){c[i+(a*24|0)+8>>3]=+c[(t[s>>2]|0)+32>>3];r=1;A=f}else{t[(t[A>>2]|0)+4>>2]=f;b=t[s>>2]|0;A=t[l>>2]|0;c[i+(a*24|0)+8>>3]=+c[A+32>>3]+ +c[b+32>>3];r=2;A=+c[b+40>>3]<+c[A+40>>3]?f:n}t[i+(a*24|0)+4>>2]=r;c[i+(a*24|0)+16>>3]=+c[(t[A+16>>2]|0)+40>>3];t[(t[s>>2]|0)+120>>2]=a;t[(t[l>>2]|0)+120>>2]=a;t[46751]=a+1}}while(0);f=cd(e,f)|0}return}function Jz(e){e=e|0;var A=0.0,r=0.0,i=0,a=0,n=0,f=0.0,l=0.0;Pz(e);n=t[46749]|0;i=t[e+16>>2]|0;A=+(P(t[i+252>>2]|0,n+-1|0)|0);a=t[46750]|0;i=i+248|0;e=0;r=0.0;while(1){if((e|0)>=(n|0))break;f=+c[a+(e*40|0)+24>>3]+ +(P(t[i>>2]|0,t[a+(e*40|0)+16>>2]|0)|0);l=+c[a+(e*40|0)+32>>3]+A;e=e+1|0;A=l;r=r=(gk(e)|0))break;t[(t[46753]|0)+(A<<2)>>2]=A;A=A+1|0}Pz(e);Sz(e);jz(e);return}function Pz(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0.0,s=0,o=0;t[46749]=0;A=t[46750]|0;if(A|0){i=0;while(1){if((i|0)>=(t[46751]|0))break;r=t[A+(i*40|0)+4>>2]|0;if(r){G2(r);A=t[46750]|0}r=t[A+(i*40|0)+8>>2]|0;if(r){G2(r);A=t[46750]|0}i=i+1|0}G2(A)}t[46750]=KF((t[46751]|0)*40|0)|0;A=0;while(1){r=t[46751]|0;if((A|0)>=(r|0))break;s=KF(r<<2)|0;t[(t[46750]|0)+(A*40|0)+4>>2]=s;s=KF(t[46751]<<2)|0;o=t[46750]|0;t[o+(A*40|0)+8>>2]=s;t[o+(A*40|0)>>2]=A;t[o+(A*40|0)+12>>2]=0;t[o+(A*40|0)+16>>2]=0;o=o+(A*40|0)+24|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;A=A+1|0}i=sd(e)|0;while(1){if(!i)break;r=Ow(e,i)|0;while(1){if(!r)break;f=t[r>>2]|0;a=r+-48|0;n=t[46750]|0;A=t[(t[(t[((f&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){A=A+1|0;if((A|0)>=(t[(t[(t[((f&3|0)==2?r:a)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;f=n+(A*40|0)+16|0;t[f>>2]=(t[f>>2]|0)+1;f=t[r>>2]|0}r=qw(e,r)|0}i=cd(e,i)|0}f=t[46751]|0;s=t[46752]|0;o=t[46750]|0;r=e+16|0;A=0;while(1){if((A|0)>=(f|0))break;i=(t[t[s+(A*24|0)>>2]>>2]|0)+16|0;a=t[(t[i>>2]|0)+232>>2]|0;if((a|0)>=(t[46749]|0))t[46749]=a+1;n=o+(a*40|0)+24|0;l=+c[n>>3];c[n>>3]=l+ +c[s+(A*24|0)+8>>3]*72.0+(l>0.0?+(t[(t[r>>2]|0)+248>>2]|0):0.0);n=o+(a*40|0)+32|0;l=+c[s+(A*24|0)+16>>3]*72.0;if(+c[n>>3]>3]=l;t[(t[o+(a*40|0)+4>>2]|0)+(t[o+(a*40|0)+12>>2]<<2)>>2]=s+(A*24|0);e=o+((t[(t[i>>2]|0)+232>>2]|0)*40|0)+12|0;t[e>>2]=(t[e>>2]|0)+1;A=A+1|0}return}function Xz(){var e=0,A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;c=t[46749]|0;o=t[46750]|0;s=0;A=0;e=0;while(1){if((s|0)>=(c|0))break;r=o+(s*40|0)|0;l=t[o+(s*40|0)+12>>2]|0;i=(A|0)==0;e:do{if(l)if(!i){if((t[r>>2]|0)>(e|0)){a=o+(s*40|0)+4|0;r=0;while(1){if((r|0)>=(l|0))break e;n=t[(t[a>>2]|0)+(r<<2)>>2]|0;f=t[n+4>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;u=(t[(t[(t[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+232|0;t[u>>2]=(t[u>>2]|0)-A;i=i+1|0}r=r+1|0}}}else A=0;else{if(i)e=t[r>>2]|0;A=A+1|0}}while(0);s=s+1|0}return}function Sz(e){e=e|0;var A=0;A=t[46753]|0;_4(A,gk(e)|0,4,63);return}function jz(e){e=e|0;var A=0.0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0,h=0,w=0,k=0,d=0.0,v=0;l=t[46749]|0;s=t[46750]|0;n=t[46753]|0;f=0;while(1){if((f|0)>=(l|0)){r=0;A=0.0;break}r=t[n+(f<<2)>>2]|0;a=f+1|0;if((t[s+(r*40|0)+12>>2]|0)<2)f=a;else{o=4;break}}if((o|0)==4)if((l|0)>(a|0))A=+c[s+((t[n+(a<<2)>>2]|0)*40|0)+24>>3];else A=0.0;e:do{if((f|0)!=(l|0)){_4(t[s+(r*40|0)+4>>2]|0,t[s+(r*40|0)+12>>2]|0,4,64);n=t[46750]|0;d=+c[n+(r*40|0)+24>>3];d=!(A<=d*.25)&!(A>=d*.75)?A:d*.5;v=t[n+(r*40|0)+12>>2]|0;k=e+16|0;b=0;h=0;A=0.0;a=0;w=0;while(1){if((w|0)>=(a+v|0))break e;do{if(!(t[(t[n+(r*40|0)+8>>2]|0)+(w<<2)>>2]|0)){o=t[(t[n+(r*40|0)+4>>2]|0)+(w<<2)>>2]|0;e=o+8|0;u=+c[e>>3]*72.0+A+(A>0.0?+(t[(t[k>>2]|0)+248>>2]|0):0.0);f=(h|0)!=0;if(!(f&!(u<=d))){l=f?b:o;f=f?h:1;A=u;break}l=b+4|0;s=o+4|0;f=0;while(1){if((f|0)<(t[l>>2]|0))n=0;else break;while(1){if((n|0)>=(t[s>>2]|0))break;i[(t[(ZL(t[(t[b>>2]|0)+(f<<2)>>2]|0,t[(t[o>>2]|0)+(n<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;n=n+1|0}f=f+1|0}n=t[46750]|0;t[(t[n+(r*40|0)+8>>2]|0)+(w<<2)>>2]=1;l=n+(r*40|0)+12|0;t[l>>2]=(t[l>>2]|0)+-1;l=n+(r*40|0)+16|0;t[l>>2]=(t[l>>2]|0)+1;l=n+(r*40|0)+24|0;c[l>>3]=+c[e>>3]*-72.0-+(t[(t[k>>2]|0)+248>>2]|0)+ +c[l>>3];l=b;f=h}else{l=b;f=h;a=a+1|0}}while(0);b=l;h=f;w=w+1|0}}}while(0);return}function Uz(e,A){e=e|0;A=A|0;e=Tz(t[e>>2]|0)|0;A=Tz(t[A>>2]|0)|0;return((A|0)<(e|0)&1)-((A|0)>(e|0)&1)|0}function Tz(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=e+4|0;r=0;A=0;while(1){if((r|0)>=(t[a>>2]|0))break;i=t[(t[e>>2]|0)+(r<<2)>>2]|0;n=Bd(i)|0;i=Ow(n,i)|0;while(1){if(!i)break;i=qw(n,i)|0;A=A+1|0}r=r+1|0}return A|0}function Oz(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0;a=t[46750]|0;i=+c[a+((t[A>>2]|0)*40|0)+24>>3];r=+c[a+((t[e>>2]|0)*40|0)+24>>3];return(i>r&1)-(i>2]|0)+216>>2]=0;A=cd(e,A)|0}return}function qz(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+32|0;a=n+16|0;i=n+8|0;r=n+20|0;t[r>>2]=5;e=Hw(e,99605)|0;if(e|0?(t[i>>2]=n,t[i+4>>2]=r,(V3(e,87497,i)|0)>=1):0)nw(0,87504,a)|0;t[A+24>>2]=0;t[A+32>>2]=0;h=n;return 0}function Kz(e){e=e|0;var A=0,r=0;A=t[47189]|0;if((((A|0)!=0?(r=Pw(e,A)|0,(r|0)!=0):0)?(i[r>>0]|0)!=0:0)?(mx(r)|0)<<24>>24==0:0)e=1;else e=0;return e|0}function $z(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;mW(e);A=sd(e)|0;while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;do{if(((t[(t[r+16>>2]|0)+172>>2]|0)==0?(Kz(r)|0)==0:0)?(i=r+48|0,a=Ex(t[((t[r>>2]&3|0)==3?r:i)+40>>2]|0)|0,n=r+-48|0,f=Ex(t[((t[r>>2]&3|0)==2?r:n)+40>>2]|0)|0,(a|0)!=(f|0)):0){if((t[(t[a+16>>2]|0)+212>>2]|0)==0?(t[(t[f+16>>2]|0)+212>>2]|0)==0:0){l=dL(a,f)|0;if(!l){ZL(a,f,r)|0;break}else{FL(r,l);break}}l=t[r>>2]&3;eW(e,t[((l|0)==3?r:i)+40>>2]|0,t[((l|0)==2?r:n)+40>>2]|0,r)}}while(0);r=qw(e,r)|0}A=cd(e,A)|0}return}function eW(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,l=0,s=0,c=0;s=t[a>>2]&3;n=t[(t[((s|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;l=t[n+212>>2]|0;if(!l)c=0;else c=(t[n+232>>2]|0)-(t[(t[(t[(t[l+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;n=t[(t[((s|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;l=t[n+212>>2]|0;if(!l)n=0;else n=(t[(t[(t[(t[l+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(t[n+232>>2]|0)|0;s=a+16|0;c=n+c+(f[(t[s>>2]|0)+170>>1]|0)|0;e=zL(e)|0;i[(t[e+16>>2]|0)+156>>0]=2;l=Ex(A)|0;A=Ex(r)|0;r=oD(e,l,(c|0)>0?0.0:+(0-c|0),(t[(t[s>>2]|0)+156>>2]|0)*10|0)|0;t[(t[(oD(e,A,+(((c|0)>0?c:0)|0),t[(t[s>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=a;t[(t[r+16>>2]|0)+116>>2]=a;return}function AW(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var n=0,l=0,s=0,c=0;s=t[A>>2]&3;l=(s|0)==3?A:A+48|0;s=(s|0)==2?A:A+-48|0;s=t[(t[(t[((t[(t[(t[l+40>>2]|0)+16>>2]|0)+232>>2]|0)>(t[(t[(t[s+40>>2]|0)+16>>2]|0)+232>>2]|0)?l:s)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=A+16|0;A=(t[l>>2]|0)+172|0;if(t[A>>2]|0)ge(87593,87615,148,87624);t[A>>2]=r;n=(i|0)==0;do{A=t[l>>2]|0;if(n)i=t[r+16>>2]|0;else{i=t[r+16>>2]|0;c=i+168|0;a[c>>1]=(f[c>>1]|0)+(f[A+168>>1]|0)}c=i+154|0;a[c>>1]=(f[c>>1]|0)+(f[A+154>>1]|0);i=i+156|0;t[i>>2]=(t[i>>2]|0)+(t[A+156>>2]|0);A=r+-48|0;i=t[((t[r>>2]&3|0)==2?r:A)+40>>2]|0;if((t[(t[i+16>>2]|0)+232>>2]|0)==(s|0))break;rW(e,i);r=t[t[(t[(t[((t[r>>2]&3|0)==2?r:A)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((r|0)!=0);return}function rW(e,A){e=e|0;A=A|0;var r=0.0;r=+((t[(t[e+16>>2]|0)+248>>2]|0)/2|0|0);A=t[A+16>>2]|0;e=A+88|0;c[e>>3]=+c[e>>3]+r;A=A+96|0;c[A>>3]=+c[A>>3]+r;return}function iW(e,A){e=e|0;A=A|0;var r=0,i=0;if(((((e|0)!=0&(A|0)!=0?(i=t[e>>2]&3,r=t[A>>2]&3,(t[((i|0)==3?e:e+48|0)+40>>2]|0)==(t[((r|0)==3?A:A+48|0)+40>>2]|0)):0)?(t[((i|0)==2?e:e+-48|0)+40>>2]|0)==(t[((r|0)==2?A:A+-48|0)+40>>2]|0):0)?(t[(t[e+16>>2]|0)+96>>2]|0)==(t[(t[A+16>>2]|0)+96>>2]|0):0)?(YD(e,A)|0)!=0:0)e=1;else e=0;return e|0}function aW(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;d=e+16|0;A=t[d>>2]|0;t[A+192>>2]=0;t[A+232>>2]=0;mW(e);A=1;while(1){r=t[d>>2]|0;if((A|0)>(t[r+180>>2]|0))break;pW(e,t[(t[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}f=sd(e)|0;while(1){if(!f)break;n=Ow(e,f)|0;while(1){if(!n)break;A=t[n>>2]|0;r=(t[(t[((A&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+160|0;a=i[r>>0]|0;if(a<<24>>24<3){i[r>>0]=a+1<<24>>24;A=t[n>>2]|0}A=(t[(t[((A&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+160|0;r=i[A>>0]|0;if(r<<24>>24<3)i[A>>0]=r+1<<24>>24;n=qw(e,n)|0}f=cd(e,f)|0}u=sd(e)|0;while(1){if(!u)break;if((t[(t[u+16>>2]|0)+212>>2]|0)==0?(u|0)==(Ex(u)|0):0){GL(e,u);o=(t[d>>2]|0)+232|0;t[o>>2]=(t[o>>2]|0)+1}A=0;o=Ow(e,u)|0;while(1){if(!o)break;c=o+16|0;f=t[c>>2]|0;e:do{if(!(t[f+172>>2]|0)){if(tW(o)|0){if(!(iW(A,o)|0)){nW(e,o);A=o;break}r=t[(t[A+16>>2]|0)+172>>2]|0;if(r|0){AW(e,o,r,0);BL(o);break}c=t[o>>2]&3;if((t[(t[(t[((c|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(t[(t[(t[((c|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;FL(o,A);BL(o);break}if(A){l=t[o>>2]&3;r=o+48|0;a=t[((l|0)==3?o:r)+40>>2]|0;n=t[A>>2]&3;if((a|0)==(t[((n|0)==3?A:A+48|0)+40>>2]|0)?(b=t[((l|0)==2?o:o+-48|0)+40>>2]|0,(b|0)==(t[((n|0)==2?A:A+-48|0)+40>>2]|0)):0){if((t[(t[a+16>>2]|0)+232>>2]|0)==(t[(t[b+16>>2]|0)+232>>2]|0)){FL(o,A);BL(o);break}if(((t[f+96>>2]|0)==0?(h=A+16|0,(t[(t[h>>2]|0)+96>>2]|0)==0):0)?(YD(o,A)|0)!=0:0)if(!(i[194954]|0)){AW(e,o,t[(t[h>>2]|0)+172>>2]|0,1);BL(o);break}else{i[(t[c>>2]|0)+112>>0]=6;break}else l=r}else l=r}else l=o+48|0;f=t[o>>2]&3;r=t[((f|0)==3?o:l)+40>>2]|0;s=o+-48|0;if((r|0)==(t[((f|0)==2?o:s)+40>>2]|0)){BL(o);A=o;break}r=Ex(r)|0;a=Ex(t[((t[o>>2]&3|0)==2?o:s)+40>>2]|0)|0;f=t[o>>2]&3;if((t[((f|0)==3?o:l)+40>>2]|0)==(r|0)?(t[((f|0)==2?o:s)+40>>2]|0)==(a|0):0){n=t[(t[r+16>>2]|0)+232>>2]|0;f=t[(t[a+16>>2]|0)+232>>2]|0;if((n|0)==(f|0)){WL(e,o);A=o;break}if((f|0)>(n|0)){fW(e,r,a,o);A=o;break}r=lk(e,a,r,0,0)|0;do{if(r|0?(w=t[r>>2]&3,k=t[((w|0)==2?r:r+-48|0)+40>>2]|0,(k|0)!=(t[((t[o>>2]&3|0)==2?o:s)+40>>2]|0)):0){a=r+16|0;if(!(t[(t[a>>2]|0)+172>>2]|0))fW(e,t[((w|0)==3?r:r+48|0)+40>>2]|0,k,r);if((t[(t[c>>2]|0)+96>>2]|0)==0?(t[(t[a>>2]|0)+96>>2]|0)==0:0){if(!(YD(o,r)|0))break;if(!(i[194954]|0)){BL(o);AW(e,o,t[(t[a>>2]|0)+172>>2]|0,1);break e}else{i[(t[c>>2]|0)+112>>0]=6;i[(t[a>>2]|0)+153>>0]=1;break e}}}}while(0);A=t[o>>2]&3;fW(e,t[((A|0)==2?o:s)+40>>2]|0,t[((A|0)==3?o:l)+40>>2]|0,o);A=o}}else A=o}while(0);o=qw(e,o)|0}u=cd(e,u)|0}if((mG(e)|0)!=(e|0)){A=t[(t[d>>2]|0)+216>>2]|0;if(!A)A=$F(4)|0;else A=AM(A,4)|0;d=t[d>>2]|0;t[d+216>>2]=A;t[A>>2]=t[d+192>>2]}return}function tW(e){e=e|0;var A=0;A=t[e>>2]&3;if((i[(t[(t[((A|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)e=1;else e=(i[(t[(t[((A|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return e|0}function nW(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;a=cW(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;n=cW(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;l=(t[(t[a+16>>2]|0)+232>>2]|0)>(t[(t[n+16>>2]|0)+232>>2]|0);r=l?a:n;a=l?n:a;n=a+16|0;l=r+16|0;e:do{if((t[(t[n>>2]|0)+212>>2]|0)!=(t[(t[l>>2]|0)+212>>2]|0)){f=dL(a,r)|0;if(f|0){AW(e,A,f,1);break}if((t[(t[n>>2]|0)+232>>2]|0)!=(t[(t[l>>2]|0)+232>>2]|0)){fW(e,a,r,A);r=(t[A+16>>2]|0)+172|0;while(1){r=t[r>>2]|0;if(!r)break e;a=r+-48|0;if((t[(t[(t[((t[r>>2]&3|0)==2?r:a)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(t[(t[l>>2]|0)+232>>2]|0))break e;i[(t[r+16>>2]|0)+112>>0]=5;r=t[(t[(t[((t[r>>2]&3|0)==2?r:a)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function fW(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0;c=i+16|0;a=t[c>>2]|0;if(!(t[a+96>>2]|0))s=-1;else s=((t[(t[r+16>>2]|0)+232>>2]|0)+(t[(t[A+16>>2]|0)+232>>2]|0)|0)/2|0;if(t[a+172>>2]|0)ge(87636,87615,89,87661);l=r+16|0;f=t[(t[A+16>>2]|0)+232>>2]|0;while(1){n=f+1|0;a=t[(t[l>>2]|0)+232>>2]|0;if((f|0)>=(a|0))break;if((n|0)<(a|0)){if((n|0)==(s|0))a=lW(e,i)|0;else a=sW(e)|0;t[(t[a+16>>2]|0)+232>>2]=n}else a=r;TQ(ZL(A,a,i)|0);f=n;A=a}if(!(t[(t[c>>2]|0)+172>>2]|0))ge(87672,87615,103,87661);else return}function lW(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0,l=0.0;f=A+16|0;n=t[(t[f>>2]|0)+96>>2]|0;r=+c[n+24>>3];a=+c[n+32>>3];n=zL(e)|0;A=n+16|0;t[(t[A>>2]|0)+104>>2]=t[(t[f>>2]|0)+96>>2];l=+(t[(t[(yd(n)|0)+16>>2]|0)+248>>2]|0);c[(t[A>>2]|0)+88>>3]=l;if(!(i[(t[f>>2]|0)+114>>0]|0)){e=(t[(t[(yd(e)|0)+16>>2]|0)+116>>2]&1|0)==0;f=t[A>>2]|0;c[f+80>>3]=e?a:r;c[f+96>>3]=e?r:a}return n|0}function sW(e){e=e|0;var A=0;A=zL(e)|0;rW(e,A);return A|0}function cW(e){e=e|0;var A=0;A=t[e+16>>2]|0;if((i[A+159>>0]|0)==7)e=t[(t[(t[(t[A+212>>2]|0)+16>>2]|0)+268>>2]|0)+(t[A+232>>2]<<2)>>2]|0;else e=Ex(e)|0;return e|0}function oW(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;s=mG(e)|0;f=sd(e)|0;while(1){if(!f)break;A=ek(s,f)|0;l=0;while(1){if(!A)break;o=Ak(s,A,f)|0;if(Wd(e,A)|0){c=l;A=o;l=c;continue}c=(t[A>>2]&3|0)==2?A:A+-48|0;u=(iW(l,c)|0)==0;i=t[c>>2]&3;A=t[((i|0)==3?c:c+48|0)+40>>2]|0;r=t[(t[A+16>>2]|0)+232>>2]|0;i=t[((i|0)==2?c:c+-48|0)+40>>2]|0;a=t[(t[i+16>>2]|0)+232>>2]|0;n=(r|0)==(a|0);if(!u){t[(t[c+16>>2]|0)+172>>2]=n?l:0;A=t[(t[l+16>>2]|0)+172>>2]|0;if(!A){u=l;A=o;l=u;continue}AW(e,c,A,0);yL(c);u=l;A=o;l=u;continue}if(!n)if((a|0)>(r|0)){uW(A,i,c);A=o;l=c;continue}else{uW(i,A,c);A=o;l=c;continue}A=gL(A,i)|0;if(!A){WL(s,c);A=o;l=c;continue}if((c|0)==(A|0)){u=l;A=o;l=u;continue}yL(c);if(t[(t[c+16>>2]|0)+172>>2]|0){u=l;A=o;l=u;continue}FL(c,A);u=l;A=o;l=u}f=cd(e,f)|0}return}function uW(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=bW(e)|0;i=bW(A)|0;hW(a,i,r,t[(t[r+16>>2]|0)+172>>2]|0,(a|0)==(e|0)&(i|0)==(A|0)?1:5);return}function bW(e){e=e|0;var A=0,r=0,a=0;A=t[e+16>>2]|0;r=t[A+212>>2]|0;if((r|0)!=0?(a=t[r+16>>2]|0,(i[a+272>>0]|0)==0):0)e=t[(t[a+268>>2]|0)+(t[A+232>>2]<<2)>>2]|0;return e|0}function hW(e,A,r,n,f){e=e|0;A=A|0;r=r|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;b=e+16|0;c=t[(t[b>>2]|0)+232>>2]|0;h=A+16|0;l=t[(t[h>>2]|0)+232>>2]|0;if((l|0)<=(c|0))ge(87697,87725,81,87735);u=t[n>>2]&3;if(!((t[((u|0)==3?n:n+48|0)+40>>2]|0)==(e|0)?(t[((u|0)==2?n:n+-48|0)+40>>2]|0)==(A|0):0))o=5;e:do{if((o|0)==5){if((a[(t[n+16>>2]|0)+168>>1]|0)>1){t[(t[r+16>>2]|0)+172>>2]=0;if(((l-c|0)==1?(s=dL(e,A)|0,s|0):0)?YD(r,s)|0:0){FL(r,s);if(i[(t[b>>2]|0)+156>>0]|0)break;if(i[(t[h>>2]|0)+156>>0]|0)break;BL(r);break}u=f&255;f=e;o=t[(t[b>>2]|0)+232>>2]|0;while(1){l=t[(t[h>>2]|0)+232>>2]|0;if((o|0)>=(l|0))break e;if((o|0)<(l+-1|0)){l=mG(e)|0;s=n+-48|0;l=wW(l,t[((t[n>>2]&3|0)==2?n:s)+40>>2]|0)|0;c=n}else{l=A;s=n+-48|0;c=n}i[(t[(ZL(f,l,r)|0)+16>>2]|0)+112>>0]=u;b=(t[n+16>>2]|0)+168|0;a[b>>1]=(a[b>>1]|0)+-1<<16>>16;f=l;o=o+1|0;n=t[t[(t[(t[((t[c>>2]&3|0)==2?n:s)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((l-c|0)==1){n=dL(e,A)|0;if(n|0?YD(r,n)|0:0){t[(t[r+16>>2]|0)+172>>2]=n;u=t[n+16>>2]|0;i[u+112>>0]=f;u=u+168|0;a[u>>1]=(a[u>>1]|0)+1<<16>>16;if(i[(t[b>>2]|0)+156>>0]|0)break;if(i[(t[h>>2]|0)+156>>0]|0)break;BL(r);break}t[(t[r+16>>2]|0)+172>>2]=0;n=ZL(e,A,r)|0;i[(t[n+16>>2]|0)+112>>0]=f}}while(0);l=t[(t[h>>2]|0)+232>>2]|0;if((l-(t[(t[b>>2]|0)+232>>2]|0)|0)>1){if((t[((t[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)==(e|0))o=l;else{b=r+16|0;t[(t[b>>2]|0)+172>>2]=0;o=ZL(e,t[((t[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,r)|0;t[(t[b>>2]|0)+172>>2]=o;EL(n);n=o;o=t[(t[h>>2]|0)+232>>2]|0}while(1){l=t[n>>2]&3;s=t[((l|0)==2?n:n+-48|0)+40>>2]|0;c=t[s+16>>2]|0;if((t[c+232>>2]|0)==(o|0))break;n=t[t[c+180>>2]>>2]|0}if((s|0)!=(A|0)){i[(t[(ZL(t[((l|0)==3?n:n+48|0)+40>>2]|0,A,r)|0)+16>>2]|0)+112>>0]=f;EL(n)}}}}while(0);return}function wW(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=A+16|0;A=t[r>>2]|0;i=t[A+232>>2]|0;kW(e,i,t[A+236>>2]|0,2);A=zL(e)|0;r=t[r>>2]|0;a=t[A+16>>2]|0;c[a+88>>3]=+c[r+88>>3];c[a+96>>3]=+c[r+96>>3];t[a+232>>2]=t[r+232>>2];r=(t[r+236>>2]|0)+1|0;t[a+236>>2]=r;t[(t[(t[(t[e+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0)+(r<<2)>>2]=A;return A|0}function kW(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;f=e+16|0;a=t[(t[f>>2]|0)+196>>2]|0;l=t[a+(A<<6)+4>>2]|0;e:do{if((i|0)<1){r=r-i|0;while(1){n=r+1|0;e=t[a+(A<<6)>>2]|0;if((n|0)>=(e|0))break;e=t[l+(n<<2)>>2]|0;a=r+i|0;t[(t[e+16>>2]|0)+236>>2]=a;t[l+(a<<2)>>2]=e;r=n;a=t[(t[f>>2]|0)+196>>2]|0}n=i+-1|0;r=n+e|0;while(1){if((r|0)>=(e|0))break e;t[l+(r<<2)>>2]=0;a=t[(t[f>>2]|0)+196>>2]|0;r=r+1|0;e=t[a+(A<<6)>>2]|0}}else{n=i+-1|0;e=t[a+(A<<6)>>2]|0;while(1){e=e+-1|0;if((e|0)<=(r|0))break;s=t[l+(e<<2)>>2]|0;a=n+e|0;t[(t[s+16>>2]|0)+236>>2]=a;t[l+(a<<2)>>2]=s}a=i+r|0;e=r;while(1){e=e+1|0;if((e|0)>=(a|0))break;t[l+(e<<2)>>2]=0}e=t[(t[f>>2]|0)+196>>2]|0;a=e;e=t[e+(A<<6)>>2]|0}}while(0);t[a+(A<<6)>>2]=n+e;return}function dW(e){e=e|0;var A=0;aW(e);A=t[e+16>>2]|0;t[A+220>>2]=1;t[t[A+216>>2]>>2]=t[A+192>>2];SQ(e);yQ(e,0);vW(e);oW(e);gW(e);return}function vW(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;c=mG(e)|0;o=e+16|0;r=t[o>>2]|0;s=a[r+236>>1]|0;A=s<<16>>16;u=c+16|0;if(s<<16>>16>0)i[(t[(t[u>>2]|0)+196>>2]|0)+(A+-1<<6)+49>>0]=0;s=A;while(1){if((s|0)>(a[r+238>>1]|0))break;l=t[(t[(t[(t[r+268>>2]|0)+(s<<2)>>2]|0)+16>>2]|0)+236>>2]|0;kW(c,s,l,t[(t[r+196>>2]|0)+(s<<6)>>2]|0);n=0;f=l;while(1){r=t[o>>2]|0;A=t[r+196>>2]|0;if((n|0)>=(t[A+(s<<6)>>2]|0))break;A=t[(t[A+(s<<6)+4>>2]|0)+(n<<2)>>2]|0;t[(t[(t[(t[u>>2]|0)+196>>2]|0)+(s<<6)+4>>2]|0)+(f<<2)>>2]=A;r=t[A+16>>2]|0;t[r+236>>2]=f;if((i[r+156>>0]|0)==1)t[A+24>>2]=yd(c)|0;QL(e,A);GL(c,A);r=(t[u>>2]|0)+232|0;t[r>>2]=(t[r>>2]|0)+1;n=n+1|0;f=f+1|0}f=t[(t[u>>2]|0)+196>>2]|0;t[A+(s<<6)+4>>2]=(t[f+(s<<6)+4>>2]|0)+(l<<2);i[f+(s<<6)+49>>0]=0;s=s+1|0}A=t[u>>2]|0;if((s|0)<(a[A+238>>1]|0))i[(t[A+196>>2]|0)+(s<<6)+49>>0]=0;i[r+272>>0]=1;return}function gW(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0;l=e+16|0;A=t[l>>2]|0;f=a[A+236>>1]|0;while(1){if((f|0)>(a[A+238>>1]|0))break;i=t[(t[A+268>>2]|0)+(f<<2)>>2]|0;n=i+16|0;while(1){A=t[n>>2]|0;r=t[t[A+180>>2]>>2]|0;if(!r)break;EL(r)}while(1){A=t[t[A+172>>2]>>2]|0;if(!A)break;EL(A);A=t[n>>2]|0}QL(mG(e)|0,i);t[(t[(t[l>>2]|0)+268>>2]|0)+(f<<2)>>2]=0;f=f+1|0;A=t[l>>2]|0}return}function mW(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b;a=sd(e)|0;while(1){if(!a)break;r=a+16|0;A=t[r>>2]|0;if((i[A+159>>0]|0)==7){yx(a);A=t[r>>2]|0}t[A+212>>2]=0;a=cd(e,a)|0}o=e+16|0;c=1;while(1){A=t[o>>2]|0;if((c|0)>(t[A+180>>2]|0))break;f=t[(t[A+184>>2]|0)+(c<<2)>>2]|0;l=f+16|0;A=sd(f)|0;e:while(1){if(!A)break;s=cd(f,A)|0;r=A+16|0;if(i[(t[r>>2]|0)+159>>0]|0){a=Mk(A)|0;n=Mk(e)|0;t[u>>2]=a;t[u+4>>2]=n;nw(0,87744,u)|0;Ed(f,A)|0;A=s;continue}Cx(A,t[(t[l>>2]|0)+264>>2]|0);n=t[r>>2]|0;t[n+212>>2]=f;i[n+159>>0]=7;n=Ow(f,A)|0;while(1){if(!n){A=s;continue e}A=t[(t[n+16>>2]|0)+172>>2]|0;A:do{if(A|0)do{r=A+-48|0;a=t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;if((i[a+156>>0]|0)!=1)break A;t[a+212>>2]=f;A=t[t[(t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((A|0)!=0)}while(0);n=qw(f,n)|0}}c=c+1|0}h=b;return}function pW(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,c=0;c=A+16|0;n=KF((a[(t[c>>2]|0)+238>>1]<<2)+8|0)|0;r=t[c>>2]|0;t[r+268>>2]=n;n=0;f=a[r+236>>1]|0;while(1){if((f|0)>(a[r+238>>1]|0))break;r=zL(e)|0;t[(t[(t[c>>2]|0)+268>>2]|0)+(f<<2)>>2]=r;s=t[r+16>>2]|0;t[s+232>>2]=f;i[s+159>>0]=7;t[s+212>>2]=A;if(n|0){s=(t[(ZL(n,r,0)|0)+16>>2]|0)+154|0;a[s>>1]=(a[s>>1]|0)*1e3}n=r;f=f+1|0;r=t[c>>2]|0}s=sd(A)|0;while(1){r=t[c>>2]|0;if(!s)break;f=(t[(t[r+268>>2]|0)+(t[(t[s+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;r=(t[f>>2]|0)+216|0;t[r>>2]=(t[r>>2]|0)+1;r=Ow(A,s)|0;while(1){if(!r)break;l=t[r>>2]|0;e=r+-48|0;n=t[(t[(t[((l&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((n|0)>=(t[(t[(t[((l&3|0)==2?r:e)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=(t[(t[t[(t[f>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;a[l>>1]=(a[l>>1]|0)+1<<16>>16;n=n+1|0;l=t[r>>2]|0}r=qw(A,r)|0}s=cd(A,s)|0}e=a[r+238>>1]|0;l=r+268|0;r=a[r+236>>1]|0;while(1){if((r|0)>(e|0))break;n=(t[(t[(t[l>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+216|0;f=t[n>>2]|0;if((f|0)>1)t[n>>2]=f+-1;r=r+1|0}return}function EW(e,A,r,n){e=e|0;A=A|0;r=r|0;n=n|0;var f=0,l=0,s=0,c=0;c=(t[(t[A+16>>2]|0)+212>>2]|0)+16|0;A=t[c>>2]|0;s=r+1|0;if((s|0)!=(i[A+273>>0]|0)){l=a[A+236>>1]|0;while(1){f=a[A+238>>1]|0;if((l|0)>(f<<16>>16|0))break;RQ(e,t[(t[A+268>>2]|0)+(l<<2)>>2]|0);l=l+1|0;A=t[c>>2]|0}l=a[A+236>>1]|0;while(1){if((l|0)>(f<<16>>16|0))break;xQ(n,t[(t[A+268>>2]|0)+(l<<2)>>2]|0,r);e=t[c>>2]|0;l=l+1|0;f=a[e+238>>1]|0;A=e}i[A+273>>0]=s}return}function BW(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=sd(e)|0;while(1){if(!f)break;t[(t[f+16>>2]|0)+212>>2]=0;n=Ow(e,f)|0;while(1){if(!n)break;A=t[(t[n+16>>2]|0)+172>>2]|0;e:do{if(A|0)do{r=A+-48|0;a=t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;if((i[a+156>>0]|0)!=1)break e;t[a+212>>2]=0;A=t[t[(t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((A|0)!=0)}while(0);n=qw(e,n)|0}f=cd(e,f)|0}yW(e);return}function yW(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;r=e+16|0;A=1;while(1){a=t[r>>2]|0;if((A|0)>(t[a+180>>2]|0))break;yW(t[(t[a+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}l=sd(e)|0;while(1){if(!l)break;A=(t[l+16>>2]|0)+212|0;if(!(t[A>>2]|0))t[A>>2]=e;f=Ow(e,l)|0;while(1){if(!f)break;A=t[(t[f+16>>2]|0)+172>>2]|0;e:do{if(A|0)do{r=t[A>>2]|0;n=A+-48|0;a=t[(t[((r&3|0)==2?A:n)+40>>2]|0)+16>>2]|0;if((i[a+156>>0]|0)!=1)break e;a=a+212|0;if(!(t[a>>2]|0)){t[a>>2]=e;r=t[A>>2]|0}A=t[t[(t[(t[((r&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((A|0)!=0)}while(0);f=qw(e,f)|0}l=cd(e,l)|0}return}function CW(e){e=e|0;var A=0,r=0,i=0;i=qx(e)|0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;IW(A,i);A=qw(e,A)|0}r=cd(e,r)|0}Ph(i)|0;return}function IW(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0;N=h;h=h+320|0;W=N+296|0;z=N+280|0;B=N+136|0;E=N+120|0;u=N+104|0;l=N+88|0;a=N+80|0;Q=N+16|0;C=N;s=N+264|0;c=N+248|0;o=N+232|0;b=N+216|0;I=N+200|0;Z=N+184|0;y=N+168|0;L=N+152|0;n=ZW(Hw(e,87798)|0,A)|0;k=ZW(Hw(e,87804)|0,A)|0;d=(k|0)!=0;A=(n|0)!=0;do{if(A|d?(V=e+16|0,i=t[(t[V>>2]|0)+8>>2]|0,i|0):0){if((t[i+4>>2]|0)>1){M=Mk(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;V=Mk(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t[a>>2]=M;t[a+4>>2]=V;nw(0,87810,a)|0;break}Y=t[i>>2]|0;i=t[Y+4>>2]|0;w=t[e>>2]&3;v=e+-48|0;g=t[((w|0)==2?e:v)+40>>2]|0;m=e+48|0;w=t[((w|0)==3?e:m)+40>>2]|0;F=$F(48)|0;p=Y+12|0;t[F+12>>2]=t[p>>2];G=Y+8|0;t[F+8>>2]=t[G>>2];do{if(A){f=(t[n+16>>2]|0)+16|0;n=(t[g+16>>2]|0)+16|0;t[W>>2]=t[n>>2];t[W+4>>2]=t[n+4>>2];t[W+8>>2]=t[n+8>>2];t[W+12>>2]=t[n+12>>2];if(!(GW(W,f)|0)){b=Mk(t[((t[e>>2]&3|0)==3?e:m)+40>>2]|0)|0;D=Mk(t[((t[e>>2]&3|0)==2?e:v)+40>>2]|0)|0;M=Hw(e,87798)|0;t[l>>2]=b;t[l+4>>2]=D;t[l+8>>2]=M;nw(0,87851,l)|0;M=26;break}A=t[Y>>2]|0;t[W>>2]=t[A>>2];t[W+4>>2]=t[A+4>>2];t[W+8>>2]=t[A+8>>2];t[W+12>>2]=t[A+12>>2];if(GW(W,f)|0){D=(t[w+16>>2]|0)+16|0;t[W>>2]=t[D>>2];t[W+4>>2]=t[D+4>>2];t[W+8>>2]=t[D+8>>2];t[W+12>>2]=t[D+12>>2];if(GW(W,f)|0){b=Mk(t[((t[e>>2]&3|0)==3?e:m)+40>>2]|0)|0;D=Mk(t[((t[e>>2]&3|0)==2?e:v)+40>>2]|0)|0;M=Hw(e,87798)|0;t[u>>2]=b;t[u+4>>2]=D;t[u+8>>2]=M;nw(0,87894,u)|0;M=26;break}if(!(t[G>>2]|0))ge(87936,87947,369,87958);b=Y+16|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];t[W>>2]=t[b>>2];t[W+4>>2]=t[b+4>>2];t[W+8>>2]=t[b+8>>2];t[W+12>>2]=t[b+12>>2];LW(C,z,W,f);D=(t[Y>>2]|0)+48|0;t[D>>2]=t[C>>2];t[D+4>>2]=t[C+4>>2];t[D+8>>2]=t[C+8>>2];t[D+12>>2]=t[C+12>>2];D=(t[Y>>2]|0)+16|0;t[z>>2]=t[C>>2];t[z+4>>2]=t[C+4>>2];t[z+8>>2]=t[C+8>>2];t[z+12>>2]=t[C+12>>2];t[W>>2]=t[b>>2];t[W+4>>2]=t[b+4>>2];t[W+8>>2]=t[b+8>>2];t[W+12>>2]=t[b+12>>2];QW(s,z,W);t[D>>2]=t[s>>2];t[D+4>>2]=t[s+4>>2];t[D+8>>2]=t[s+8>>2];t[D+12>>2]=t[s+12>>2];D=t[Y>>2]|0;A=D+16|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];t[W>>2]=t[b>>2];t[W+4>>2]=t[b+4>>2];t[W+8>>2]=t[b+8>>2];t[W+12>>2]=t[b+12>>2];QW(c,z,W);t[D>>2]=t[c>>2];t[D+4>>2]=t[c+4>>2];t[D+8>>2]=t[c+8>>2];t[D+12>>2]=t[c+12>>2];D=t[Y>>2]|0;A=D+32|0;D=D+16|0;t[z>>2]=t[D>>2];t[z+4>>2]=t[D+4>>2];t[z+8>>2]=t[D+8>>2];t[z+12>>2]=t[D+12>>2];t[W>>2]=t[C>>2];t[W+4>>2]=t[C+4>>2];t[W+8>>2]=t[C+8>>2];t[W+12>>2]=t[C+12>>2];QW(o,z,W);t[A>>2]=t[o>>2];t[A+4>>2]=t[o+4>>2];t[A+8>>2]=t[o+8>>2];t[A+12>>2]=t[o+12>>2];A=t[p>>2]|0;if(!A){D=3;break}D=(jE(e,t[Y>>2]|0,0,0,F,A)|0)+3|0;break}n=i+-1|0;A=0;while(1){if((A|0)>=(n|0))break;if(DW((t[Y>>2]|0)+(A<<4)|0,f)|0)break;A=A+3|0}i=t[p>>2]|0;a=(i|0)!=0;if((A|0)==(n|0))if(a){D=F+32|0;o=Y+32|0;u=(t[Y>>2]|0)+(n<<4)|0;t[z>>2]=t[o>>2];t[z+4>>2]=t[o+4>>2];t[z+8>>2]=t[o+8>>2];t[z+12>>2]=t[o+12>>2];t[W>>2]=t[u>>2];t[W+4>>2]=t[u+4>>2];t[W+8>>2]=t[u+8>>2];t[W+12>>2]=t[u+12>>2];LW(b,z,W,f);t[D>>2]=t[b>>2];t[D+4>>2]=t[b+4>>2];t[D+8>>2]=t[b+8>>2];t[D+12>>2]=t[b+12>>2];D=n;break}else ge(87975,87947,387,87958);else{if(a)A=jE(e,t[Y>>2]|0,0,A,F,i)|0;D=A+3|0;break}}else M=26}while(0);if((M|0)==26){A=i+-1|0;if(!(t[p>>2]|0))D=A;else{D=F+32|0;b=Y+32|0;t[D>>2]=t[b>>2];t[D+4>>2]=t[b+4>>2];t[D+8>>2]=t[b+8>>2];t[D+12>>2]=t[b+12>>2];D=A}}do{if(d){a=(t[k+16>>2]|0)+16|0;d=(t[w+16>>2]|0)+16|0;t[W>>2]=t[d>>2];t[W+4>>2]=t[d+4>>2];t[W+8>>2]=t[d+8>>2];t[W+12>>2]=t[d+12>>2];if(!(GW(W,a)|0)){z=Mk(t[((t[e>>2]&3|0)==3?e:m)+40>>2]|0)|0;W=Mk(t[((t[e>>2]&3|0)==2?e:v)+40>>2]|0)|0;M=Hw(e,87804)|0;t[E>>2]=z;t[E+4>>2]=W;t[E+8>>2]=M;nw(0,87986,E)|0;M=52;break}A=(t[Y>>2]|0)+(D<<4)|0;t[W>>2]=t[A>>2];t[W+4>>2]=t[A+4>>2];t[W+8>>2]=t[A+8>>2];t[W+12>>2]=t[A+12>>2];if(GW(W,a)|0){Q=(t[g+16>>2]|0)+16|0;t[W>>2]=t[Q>>2];t[W+4>>2]=t[Q+4>>2];t[W+8>>2]=t[Q+8>>2];t[W+12>>2]=t[Q+12>>2];if(GW(W,a)|0){z=Mk(t[((t[e>>2]&3|0)==3?e:m)+40>>2]|0)|0;W=Mk(t[((t[e>>2]&3|0)==2?e:v)+40>>2]|0)|0;M=Hw(e,87804)|0;t[B>>2]=z;t[B+4>>2]=W;t[B+8>>2]=M;nw(0,88029,B)|0;M=52;break}if(!(t[p>>2]|0))ge(87975,87947,429,87958);B=F+32|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];t[W>>2]=t[B>>2];t[W+4>>2]=t[B+4>>2];t[W+8>>2]=t[B+8>>2];t[W+12>>2]=t[B+12>>2];LW(C,z,W,a);r=D+-3|0;Q=(t[Y>>2]|0)+(r<<4)|0;t[Q>>2]=t[C>>2];t[Q+4>>2]=t[C+4>>2];t[Q+8>>2]=t[C+8>>2];t[Q+12>>2]=t[C+12>>2];Q=D+-1|0;A=(t[Y>>2]|0)+(Q<<4)|0;t[z>>2]=t[C>>2];t[z+4>>2]=t[C+4>>2];t[z+8>>2]=t[C+8>>2];t[z+12>>2]=t[C+12>>2];t[W>>2]=t[B>>2];t[W+4>>2]=t[B+4>>2];t[W+8>>2]=t[B+8>>2];t[W+12>>2]=t[B+12>>2];QW(I,z,W);t[A>>2]=t[I>>2];t[A+4>>2]=t[I+4>>2];t[A+8>>2]=t[I+8>>2];t[A+12>>2]=t[I+12>>2];A=t[Y>>2]|0;L=A+(D<<4)|0;A=A+(Q<<4)|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];t[W>>2]=t[B>>2];t[W+4>>2]=t[B+4>>2];t[W+8>>2]=t[B+8>>2];t[W+12>>2]=t[B+12>>2];QW(Z,z,W);t[L>>2]=t[Z>>2];t[L+4>>2]=t[Z+4>>2];t[L+8>>2]=t[Z+8>>2];t[L+12>>2]=t[Z+12>>2];L=t[Y>>2]|0;A=L+(D+-2<<4)|0;Q=L+(Q<<4)|0;t[z>>2]=t[Q>>2];t[z+4>>2]=t[Q+4>>2];t[z+8>>2]=t[Q+8>>2];t[z+12>>2]=t[Q+12>>2];t[W>>2]=t[C>>2];t[W+4>>2]=t[C+4>>2];t[W+8>>2]=t[C+8>>2];t[W+12>>2]=t[C+12>>2];QW(y,z,W);t[A>>2]=t[y>>2];t[A+4>>2]=t[y+4>>2];t[A+8>>2]=t[y+8>>2];t[A+12>>2]=t[y+12>>2];A=t[G>>2]|0;if(!A)break;r=TE(e,t[Y>>2]|0,r,r,F,A)|0;break}i=D;while(1){if((i|0)>0)A=0;else break;while(1){if((A|0)==4)break;Z=Q+(A<<4)|0;I=(t[Y>>2]|0)+(i-A<<4)|0;t[Z>>2]=t[I>>2];t[Z+4>>2]=t[I+4>>2];t[Z+8>>2]=t[I+8>>2];t[Z+12>>2]=t[I+12>>2];A=A+1|0}if(DW(Q,a)|0){A=0;M=43;break}i=i+-3|0}e:do{if((M|0)==43)while(1){M=0;if((A|0)==4)break e;M=(t[Y>>2]|0)+(i-A<<4)|0;Z=Q+(A<<4)|0;t[M>>2]=t[Z>>2];t[M+4>>2]=t[Z+4>>2];t[M+8>>2]=t[Z+8>>2];t[M+12>>2]=t[Z+12>>2];A=A+1|0;M=43}}while(0);if(i|0){r=i+-3|0;A=t[G>>2]|0;if(!A)break;r=TE(e,t[Y>>2]|0,r,D+-3|0,F,A)|0;break}if(!(t[G>>2]|0))ge(87936,87947,452,87958);else{r=F+16|0;Q=Y+16|0;e=t[Y>>2]|0;t[z>>2]=t[Q>>2];t[z+4>>2]=t[Q+4>>2];t[z+8>>2]=t[Q+8>>2];t[z+12>>2]=t[Q+12>>2];t[W>>2]=t[e>>2];t[W+4>>2]=t[e+4>>2];t[W+8>>2]=t[e+8>>2];t[W+12>>2]=t[e+12>>2];LW(L,z,W,a);t[r>>2]=t[L>>2];t[r+4>>2]=t[L+4>>2];t[r+8>>2]=t[L+8>>2];t[r+12>>2]=t[L+12>>2];r=0;break}}else M=52}while(0);if((M|0)==52)if(!(t[G>>2]|0))r=0;else{r=F+16|0;M=Y+16|0;t[r>>2]=t[M>>2];t[r+4>>2]=t[M+4>>2];t[r+8>>2]=t[M+8>>2];t[r+12>>2]=t[M+12>>2];r=0}A=D-r+1|0;i=F+4|0;t[i>>2]=A;t[F>>2]=$F(A<<4)|0;A=0;while(1){if((A|0)>=(t[i>>2]|0))break;M=(t[F>>2]|0)+(A<<4)|0;e=(t[Y>>2]|0)+(r<<4)|0;t[M>>2]=t[e>>2];t[M+4>>2]=t[e+4>>2];t[M+8>>2]=t[e+8>>2];t[M+12>>2]=t[e+12>>2];r=r+1|0;A=A+1|0}G2(t[Y>>2]|0);G2(Y);t[t[(t[V>>2]|0)+8>>2]>>2]=F}}while(0);h=N;return}function ZW(e,A){e=e|0;A=A|0;var r=0,a=0;a=h;h=h+16|0;r=a;if((e|0)!=0?(i[e>>0]|0)!=0:0){A=$x(A,e)|0;if(!A){t[r>>2]=e;nw(0,88149,r)|0;A=0}}else A=0;h=a;return A|0}function GW(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[e>>3];if((+c[A>>3]<=i?i<=+c[A+16>>3]:0)?(r=+c[e+8>>3],+c[A+8>>3]<=r):0)e=r<=+c[A+24>>3]&1;else e=0;return e|0}function LW(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0,l=0.0,s=0.0,o=0.0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0.0,g=0.0,m=0,p=0,E=0,B=0,y=0.0,C=0,I=0,Z=0,G=0;G=h;h=h+464|0;u=G+48|0;Z=G+32|0;m=G+16|0;p=G;E=G+364|0;B=G+264|0;C=G+164|0;I=G+64|0;k=+c[A>>3];d=+c[A+8>>3];v=+c[r>>3];g=+c[r+8>>3];t[m>>2]=t[i>>2];t[m+4>>2]=t[i+4>>2];t[m+8>>2]=t[i+8>>2];t[m+12>>2]=t[i+12>>2];i=i+16|0;t[p>>2]=t[i>>2];t[p+4>>2]=t[i+4>>2];t[p+8>>2]=t[i+8>>2];t[p+12>>2]=t[i+12>>2];s=+c[m>>3];if((v=+c[m+8>>3]):0)?a<=+c[p+8>>3]:0){b=a;w=s}else f=4;do{if((f|0)==4){l=+c[p>>3];if(v>l){n=d+ +(~~((l-k)*(d-g)/(k-v))|0);a=+c[m+8>>3];if(n>=a?n<=+c[p+8>>3]:0){b=n;w=l;break}}else a=+c[m+8>>3];if(g=s)|!(o<=l))):0){b=a;w=o;break}a=+c[p+8>>3];if(g>a?(y=k+ +(~~((a-d)*(k-v)/(d-g))|0),!(!(y>=s)|!(y<=l))):0){b=a;w=y;break}t[u>>2]=t[A>>2];t[u+4>>2]=t[A+4>>2];t[u+8>>2]=t[A+8>>2];t[u+12>>2]=t[A+12>>2];E=MW(u,E)|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];B=MW(u,B)|0;t[u>>2]=t[m>>2];t[u+4>>2]=t[m+4>>2];t[u+8>>2]=t[m+8>>2];t[u+12>>2]=t[m+12>>2];C=MW(u,C)|0;t[u>>2]=t[p>>2];t[u+4>>2]=t[p+4>>2];t[u+8>>2]=t[p+8>>2];t[u+12>>2]=t[p+12>>2];I=MW(u,I)|0;t[Z>>2]=E;t[Z+4>>2]=B;t[Z+8>>2]=C;t[Z+12>>2]=I;nw(1,88071,Z)|0;ge(138394,87947,78,88123)}}while(0);c[e>>3]=w;c[e+8>>3]=b;h=G;return}function QW(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=(+c[r+8>>3]+ +c[A+8>>3])*.5;c[e>>3]=(+c[r>>3]+ +c[A>>3])*.5;c[e+8>>3]=i;return}function DW(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+80|0;l=o+16|0;s=o;i=0;while(1){if((i|0)==4)break;f=l+(i<<4)|0;n=e+(i<<4)|0;t[f>>2]=t[n>>2];t[f+4>>2]=t[n+4>>2];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];i=i+1|0}i=A+8|0;f=A+24|0;r=+zW(e,0.0,1.0,+c[A>>3],+c[i>>3],+c[f>>3]);if(r>=0.0&r<2.0)Zx(s,l,3,r,e,0);else r=2.0;n=A+16|0;a=+zW(e,0.0,r>1.0?1.0:r,+c[n>>3],+c[i>>3],+c[f>>3]);if(a>=0.0&a1.0?1.0:r,+c[i>>3],+c[A>>3],+c[n>>3]);if(a>=0.0&a1.0?1.0:r,+c[f>>3],+c[A>>3],+c[n>>3]);if(a>=0.0&a>3]-i))<=.005){A=+c[e+56>>3];A=!(A>=a)|!(A<=t)?-1.0:r;break e}break}default:{}}Zx(f,e,3,.5,l,s);n=(r+A)*.5;A=+zW(l,A,n,i,a,t);if(!(A>=0.0))A=+zW(s,n,r,i,a,t)}}while(0);h=o;return+A}function WW(e,A,r,i,a,t){e=e|0;A=+A;r=+r;i=+i;a=+a;t=+t;var n=0.0,f=0,l=0,s=0,o=0;o=h;h=h+144|0;l=o+80|0;s=o+16|0;f=o;e:do{if(!(A==r)){switch(YW(e,i)|0){case 0:{A=-1.0;break e}case 1:{if(+Q(+(+c[e+56>>3]-i))<=.005){A=+c[e+48>>3];A=!(A>=a)|!(A<=t)?-1.0:r;break e}break}default:{}}Zx(f,e,3,.5,l,s);n=(r+A)*.5;A=+WW(l,A,n,i,a,t);if(!(A>=0.0))A=+WW(s,n,r,i,a,t)}}while(0);h=o;return+A}function YW(e,A){e=e|0;A=+A;var r=0,i=0,a=0,t=0.0,n=0,f=0;t=+c[e+8>>3];a=tA&1;r=1;i=a;a=(a|0)==0&1;while(1){if((r|0)==4)break;t=+c[e+(r<<4)+8>>3];f=tA&1;n=a+((i|0)!=0&(f|0)!=(i|0)&1)|0;r=r+1|0;i=f;a=n}return a|0}function FW(e,A){e=e|0;A=+A;var r=0,i=0,a=0,t=0.0,n=0,f=0;t=+c[e>>3];a=tA&1;r=1;i=a;a=(a|0)==0&1;while(1){if((r|0)==4)break;t=+c[e+(r<<4)>>3];f=tA&1;n=a+((i|0)!=0&(f|0)!=(i|0)&1)|0;r=r+1|0;i=f;a=n}return a|0}function MW(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0;r=h;h=h+16|0;i=r;a=+c[e+8>>3];c[i>>3]=+c[e>>3];c[i+8>>3]=a;T4(A,88137,i)|0;h=r;return A|0}function VW(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,g=0,m=0,p=0;p=h;h=h+16|0;k=p;m=4;g=Z2(40)|0;t[g>>2]=0;w=e+16|0;r=t[w>>2]|0;e:do{if(((a[r+238>>1]|0)-(a[r+236>>1]|0)|0)>=2){o=1;A=r;r=t[r+196>>2]|0;A:while(1){u=o+1|0;if(!(t[r+(u<<6)>>2]|0)){b=15;break}else c=0;while(1){f=t[r+(o<<6)>>2]|0;if((c|0)>=(f|0)){o=u;continue A}s=t[(t[r+(o<<6)+4>>2]|0)+(c<<2)>>2]|0;d=0;A=re(20,s|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,g|0,m|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){A=G;break A}if(A<<24>>24){l=c;A=f;while(1){n=l+1|0;if((n|0)>=(A|0))break;d=0;A=ie(65,s|0,t[(t[r+(o<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,g|0,m|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)==1){A=G;break A}if(!(A<<24>>24))break;A=t[(t[w>>2]|0)+196>>2]|0;l=n;r=A;A=t[A+(o<<6)>>2]|0}if((n-c|0)>1){d=0;ke(6,e|0,o|0,c|0,l|0,1);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,g|0,m|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;break A}}}r=t[w>>2]|0;c=c+1|0;A=r;r=t[r+196>>2]|0}}A:do{if((b|0)==15){while(1){if((o|0)>0)c=0;else break;while(1){r=t[A+196>>2]|0;f=t[r+(o<<6)>>2]|0;if((c|0)>=(f|0))break;s=t[(t[r+(o<<6)+4>>2]|0)+(c<<2)>>2]|0;d=0;A=re(21,s|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){n=L6(t[i>>2]|0,g|0,m|0)|0;if(!n)aA(i|0,v|0);G=v}else n=-1;if((n|0)==1){A=G;break A}if(A<<24>>24){l=c;A=f;while(1){n=l+1|0;if((n|0)>=(A|0))break;d=0;A=ie(66,s|0,t[(t[r+(o<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,g|0,m|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)==1){A=G;break A}if(!(A<<24>>24))break;A=t[(t[w>>2]|0)+196>>2]|0;l=n;r=A;A=t[A+(o<<6)>>2]|0}if((n-c|0)>1){d=0;ke(6,e|0,o|0,c|0,l|0,0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,g|0,m|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;break A}}}c=c+1|0;A=t[w>>2]|0}o=o+-1|0;b=15}g=G6(187016,1,g|0,m|0)|0;m=G;d=0;A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,g|0,m|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1)A=G;else A=0}}while(0);A:while(1){if(A){d=0;te(20,3,88177,k|0)|0;A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,g|0,m|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;continue}else break}else i=1;while(1){A=t[w>>2]|0;if((i|0)>(t[A+180>>2]|0))break e;d=0;oe(101,t[(t[A+184>>2]|0)+(i<<2)>>2]|0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,g|0,m|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;continue A}i=i+1|0}}}}while(0);G2(g|0);h=p;return}function NW(e){e=e|0;e=t[e+16>>2]|0;if(((i[e+156>>0]|0)==1?(t[e+176>>2]|0)==1:0)?(t[e+184>>2]|0)==1:0)e=(t[e+104>>2]|0)==0&1;else e=0;return e|0}function RW(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+80|0;f=l+40|0;n=l;i=t[t[(t[e+16>>2]|0)+172>>2]>>2]|0;e=t[t[(t[A+16>>2]|0)+172>>2]>>2]|0;if(((NW(A)|0)<<24>>24!=0?(t[((t[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0):0)?(SW(i,e)|0)<<24>>24!=0:0){r=(t[e+16>>2]|0)+16|0;a=n;e=(t[i+16>>2]|0)+16|0;A=a+40|0;do{t[a>>2]=t[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(A|0));a=f;e=r;A=a+40|0;do{t[a>>2]=t[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(A|0));e=(pG(n,f)|0)==0&1}else e=0;h=l;return e|0}function xW(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0;g=e+16|0;k=t[(t[(t[(t[g>>2]|0)+196>>2]|0)+(A<<6)+4>>2]|0)+(r<<2)>>2]|0;w=r+1|0;u=(a|0)==1;b=k+16|0;o=w;while(1){if((o|0)>(i|0)){n=i;v=w;break}h=t[(t[(t[(t[g>>2]|0)+196>>2]|0)+(A<<6)+4>>2]|0)+(o<<2)>>2]|0;c=h+16|0;e:do{if(u)while(1){r=t[c>>2]|0;s=t[t[r+180>>2]>>2]|0;if(!s)break e;f=t[(t[b>>2]|0)+180>>2]|0;l=s+-48|0;a=0;while(1){r=t[f+(a<<2)>>2]|0;if(!r){d=8;break}if((t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(t[((t[s>>2]&3|0)==2?s:l)+40>>2]|0))break;else a=a+1|0}if((d|0)==8){d=0;r=ZL(k,t[((t[s>>2]&3|0)==2?s:l)+40>>2]|0,s)|0}while(1){a=t[t[(t[c>>2]|0)+172>>2]>>2]|0;if(!a)break;FL(a,r);EL(a)}EL(s)}else while(1){r=t[c>>2]|0;s=t[t[r+172>>2]>>2]|0;if(!s)break e;f=t[(t[b>>2]|0)+172>>2]|0;l=s+48|0;a=0;while(1){r=t[f+(a<<2)>>2]|0;if(!r){d=17;break}if((t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(t[((t[s>>2]&3|0)==3?s:l)+40>>2]|0))break;else a=a+1|0}if((d|0)==17){d=0;r=ZL(t[((t[s>>2]&3|0)==3?s:l)+40>>2]|0,k,s)|0}while(1){a=t[t[(t[c>>2]|0)+180>>2]>>2]|0;if(!a)break;FL(a,r);EL(a)}EL(s)}}while(0);if((t[r+176>>2]|0)!=(0-(t[r+184>>2]|0)|0)){d=23;break}QL(e,h);o=o+1|0}if((d|0)==23)ge(88313,88357,115,88364);while(1){n=n+1|0;r=t[(t[g>>2]|0)+196>>2]|0;a=r+(A<<6)|0;if((n|0)>=(t[a>>2]|0))break;i=t[r+(A<<6)+4>>2]|0;d=t[i+(n<<2)>>2]|0;t[i+(v<<2)>>2]=d;t[(t[d+16>>2]|0)+236>>2]=v;v=v+1|0}t[a>>2]=v;t[(t[r+(A<<6)+4>>2]|0)+(v<<2)>>2]=0;return}function JW(e){e=e|0;e=t[e+16>>2]|0;if(((i[e+156>>0]|0)==1?(t[e+184>>2]|0)==1:0)?(t[e+176>>2]|0)==1:0)e=(t[e+104>>2]|0)==0&1;else e=0;return e|0}function HW(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+80|0;f=l+40|0;n=l;i=t[t[(t[e+16>>2]|0)+180>>2]>>2]|0;e=t[t[(t[A+16>>2]|0)+180>>2]>>2]|0;if(((JW(A)|0)<<24>>24!=0?(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0):0)?(SW(i,e)|0)<<24>>24!=0:0){r=(t[e+16>>2]|0)+56|0;a=n;e=(t[i+16>>2]|0)+56|0;A=a+40|0;do{t[a>>2]=t[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(A|0));a=f;e=r;A=a+40|0;do{t[a>>2]=t[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(A|0));e=(pG(n,f)|0)==0&1}else e=0;h=l;return e|0}function PW(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;w=d+16|0;b=d;o=e+16|0;r=t[o>>2]|0;A=a[r+236>>1]|0;while(1){if((A|0)>(a[r+238>>1]|0))break;t[(t[r+268>>2]|0)+(A<<2)>>2]=0;A=A+1|0;r=t[o>>2]|0}FD(e);s=sd(e)|0;while(1){if(!s)break;XW(e,s);l=Ow(e,s)|0;while(1){if(!l)break;else r=l;while(1){A=t[(t[r+16>>2]|0)+172>>2]|0;if(!A)break;else r=A}f=l+-48|0;while(1){A=r+-48|0;n=t[((t[r>>2]&3|0)==2?r:A)+40>>2]|0;if((t[(t[n+16>>2]|0)+232>>2]|0)>=(t[(t[(t[((t[l>>2]&3|0)==2?l:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;XW(e,n);r=t[t[(t[(t[((t[r>>2]&3|0)==2?r:A)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}l=qw(e,l)|0}s=cd(e,s)|0}A=t[o>>2]|0;l=a[A+236>>1]|0;while(1){if((l|0)>(a[A+238>>1]|0)){c=1;u=A;break}A=t[(t[A+268>>2]|0)+(l<<2)>>2]|0;s=t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0;r=A+16|0;if((t[s+(t[(t[r>>2]|0)+236>>2]<<2)>>2]|0)!=(A|0)){k=17;break}f=t[(t[(t[(mG(e)|0)+16>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0;A=t[o>>2]|0;r=t[A+196>>2]|0;t[r+(l<<6)+4>>2]=f+(t[(t[(t[(t[A+268>>2]|0)+(l<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);A=-1;f=0;e:while(1){if((f|0)>=(t[r+(l<<6)>>2]|0))break;r=t[(t[r+(l<<6)+4>>2]|0)+(f<<2)>>2]|0;if(!r)break;n=t[r+16>>2]|0;A:do{if(!(i[n+156>>0]|0))if(!(Wd(e,r)|0))break e;else A=f;else{r=t[t[n+172>>2]>>2]|0;while(1){if(!r)break A;n=t[(t[r+16>>2]|0)+116>>2]|0;if(!n)break;else r=n}if(Wd(e,t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)|0){s=(Wd(e,t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)|0)==0;A=s?A:f}}}while(0);f=f+1|0;r=t[(t[o>>2]|0)+196>>2]|0}if((A|0)==-1){t[w>>2]=Mk(e)|0;t[w+4>>2]=l;nw(0,88277,w)|0}s=t[o>>2]|0;t[(t[s+196>>2]|0)+(l<<6)>>2]=A+1;l=l+1|0;A=s}if((k|0)==17){w=Mk(A)|0;k=t[(t[r>>2]|0)+236>>2]|0;t[b>>2]=w;t[b+4>>2]=k;t[b+8>>2]=l;nw(1,88219,b)|0;aA(187016,1)}while(1){if((c|0)>(t[u+180>>2]|0))break;PW(t[(t[u+184>>2]|0)+(c<<2)>>2]|0);c=c+1|0;u=t[o>>2]|0}h=d;return}function XW(e,A){e=e|0;A=A|0;var r=0,i=0;r=t[A+16>>2]|0;e=(t[(t[e+16>>2]|0)+268>>2]|0)+(t[r+232>>2]<<2)|0;i=t[e>>2]|0;if(!((i|0)!=0?(t[(t[i+16>>2]|0)+236>>2]|0)<=(t[r+236>>2]|0):0))t[e>>2]=A;return}function SW(e,A){e=e|0;A=A|0;var r=0,a=0;while(1){a=t[e+16>>2]|0;if(!(i[a+112>>0]|0))break;e=t[a+116>>2]|0}while(1){r=t[A+16>>2]|0;if(!(i[r+112>>0]|0))break;A=t[r+116>>2]|0}if((i[a+153>>0]|0)==0?(i[r+153>>0]|0)==0:0){a=t[A>>2]&3;r=t[e>>2]&3;e=(P((t[(t[(t[((r|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((r|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(t[(t[(t[((a|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((a|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else e=0;return e|0}function jW(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+544|0;s=c+528|0;UW(s,c+512|0,c);r=(i[193770]|0)+1<<24>>24;i[193770]=r<<24>>24==0?1:r;r=t[e+16>>2]|0;t[r+220>>2]=0;t[r+232>>2]=0;r=(A|0)>0;A=sd(e)|0;while(1){if(!A)break;if(r?(f=t[A+16>>2]|0,l=t[f+212>>2]|0,(l|0)!=0):0){n=t[(t[(t[l+16>>2]|0)+268>>2]|0)+(t[f+232>>2]<<2)>>2]|0;a=7}else a=6;if((a|0)==6?(a=0,(A|0)==(Ex(A)|0)):0){n=A;a=7}if((a|0)==7?(0,(i[(t[n+16>>2]|0)+157>>0]|0)!=(i[193770]|0)):0){TW(e);OW(s,e,n);_W(e)}A=cd(e,A)|0}qW(s);h=c;return}function UW(e,A,r){e=e|0;A=A|0;r=r|0;t[A>>2]=r;t[A+4>>2]=r+512;t[A+12>>2]=0;t[A+8>>2]=0;t[e>>2]=A;t[e+4>>2]=A;t[e+8>>2]=r;return}function TW(e){e=e|0;t[(t[e+16>>2]|0)+192>>2]=0;t[46793]=0;return}function OW(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+32|0;w=k;KW(e,r);c=w+8|0;o=w+16|0;u=w+24|0;e:while(1){b=$W(e)|0;if(!b)break;r=b+16|0;if((i[(t[r>>2]|0)+157>>0]|0)==(i[193770]|0))continue;eY(A,b);f=t[r>>2]|0;n=f+180|0;s=t[n+4>>2]|0;l=w;t[l>>2]=t[n>>2];t[l+4>>2]=s;l=f+172|0;s=t[l+4>>2]|0;n=c;t[n>>2]=t[l>>2];t[n+4>>2]=s;n=f+188|0;s=t[n+4>>2]|0;l=o;t[l>>2]=t[n>>2];t[l+4>>2]=s;f=f+196|0;l=t[f+4>>2]|0;s=u;t[s>>2]=t[f>>2];t[s+4>>2]=l;s=3;while(1){if((s|0)<=-1)continue e;r=t[w+(s<<3)>>2]|0;A:do{if(r|0){l=(t[w+(s<<3)+4>>2]|0)+-1|0;f=r+(l<<2)|0;while(1){if((l|0)<=-1)break A;a=t[f>>2]|0;n=t[a>>2]&3;r=t[((n|0)==2?a:a+-48|0)+40>>2]|0;if((r|0)==(b|0))r=t[((n|0)==3?a:a+48|0)+40>>2]|0;if((i[(t[r+16>>2]|0)+157>>0]|0)!=(i[193770]|0)?(r|0)==(Ex(r)|0):0)KW(e,r);f=f+-4|0;l=l+-1|0}}}while(0);s=s+-1|0}}h=k;return}function _W(e){e=e|0;var A=0,r=0,i=0,a=0;r=e+16|0;A=t[r>>2]|0;a=A+220|0;i=t[a>>2]|0;e=i+1|0;t[a>>2]=e;A=t[A+216>>2]|0;if(!A)e=$F(e<<2)|0;else e=AM(A,e<<2)|0;a=t[r>>2]|0;t[a+216>>2]=e;t[e+(i<<2)>>2]=t[a+192>>2];return}function qW(e){e=e|0;var A=0;e=t[(t[e>>2]|0)+12>>2]|0;while(1){if(!e)break;A=t[e+12>>2]|0;G2(t[e>>2]|0);G2(e);e=A}return}function KW(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;f=c+8|0;a=c;s=e+8|0;r=t[s>>2]|0;l=e+4|0;e=t[l>>2]|0;if((r|0)==(t[e+4>>2]|0)){r=t[e+12>>2]|0;if(!r){r=KF(16)|0;if(!r)nw(1,98969,a)|0;t[r+8>>2]=t[l>>2];t[r+12>>2]=0;e=KF(4e6)|0;t[r>>2]=e;if(!e){nw(1,88377,f)|0;e=t[r>>2]|0}t[r+4>>2]=e+4e6;t[(t[l>>2]|0)+12>>2]=r}t[l>>2]=r;r=t[r>>2]|0;t[s>>2]=r}i[(t[A+16>>2]|0)+157>>0]=(n[193770]|0)+1;t[s>>2]=r+4;t[r>>2]=A;h=c;return}function $W(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=e+8|0;A=t[a>>2]|0;r=e+4|0;i=t[r>>2]|0;if((A|0)==(t[i>>2]|0))if((i|0)==(t[e>>2]|0))A=0;else{A=t[i+8>>2]|0;t[r>>2]=A;A=t[A+4>>2]|0;t[a>>2]=A;n=4}else n=4;if((n|0)==4){A=A+-4|0;t[a>>2]=A;A=t[A>>2]|0}return A|0}function eY(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;a=t[e+16>>2]|0;n=a+232|0;t[n>>2]=(t[n>>2]|0)+1;n=t[A+16>>2]|0;i[n+157>>0]=i[193770]|0;e=t[46793]|0;r=n+168|0;if(!e){t[r>>2]=0;t[a+192>>2]=A}else{t[r>>2]=e;t[(t[e+16>>2]|0)+164>>2]=A}t[46793]=A;t[n+164>>2]=0;return}function AY(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0,h=0.0;u=e+16|0;A=(t[u>>2]|0)+192|0;while(1){A=t[A>>2]|0;if(!A)break;n=A+16|0;A=t[n>>2]|0;r=t[A+188>>2]|0;e:do{if(!r)a=0;else{a=0;while(1){r=t[r+(a<<2)>>2]|0;if(!r){a=0;break e}rY(r);A=t[n>>2]|0;a=a+1|0;r=t[A+188>>2]|0}}}while(0);while(1){if((a|0)>=(t[A+208>>2]|0))break;r=t[(t[A+204>>2]|0)+(a<<2)>>2]|0;o=t[r>>2]&3;if((t[(t[(t[((o|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(t[(t[(t[((o|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){rY(r);A=t[n>>2]|0}a=a+1|0}A=A+164|0}o=t[u>>2]|0;A=t[o+196>>2]|0;if(!((t[A+56>>2]|0)==0?(t[o+180>>2]|0)<=0:0))f=13;e:do{if((f|0)==13){f=t[A+4>>2]|0;n=0;A:while(1){A=t[f+(n<<2)>>2]|0;if(!A)break e;r=t[(t[A+16>>2]|0)+196>>2]|0;A=0;while(1){a=t[r+(A<<2)>>2]|0;if(!a)break;o=t[a+16>>2]|0;if(t[o+96>>2]|0?(i[o+113>>0]|0)==0:0)break A;A=A+1|0}n=n+1|0}iY(e)}}while(0);UQ(e);r=0;A=(t[u>>2]|0)+192|0;while(1){A=t[A>>2]|0;if(!A)break;o=A+16|0;A=t[o>>2]|0;a=t[A+188>>2]|0;e:do{if(a){s=0;while(1){n=t[a+(s<<2)>>2]|0;if(!n){s=0;break}f=t[n+16>>2]|0;l=t[f+96>>2]|0;do{if(l)if(!(i[f+113>>0]|0)){aY(n);a=t[o>>2]|0;r=1;A=a;a=t[a+188>>2]|0;break}else{c[f+136>>3]=+c[((t[(t[u>>2]|0)+116>>2]&1|0)==0?l+24|0:l+32|0)>>3];break}}while(0);s=s+1|0}while(1){if((s|0)>=(t[A+208>>2]|0))break e;f=t[(t[A+204>>2]|0)+(s<<2)>>2]|0;l=t[f>>2]&3;n=t[((l|0)==3?f:f+48|0)+40>>2]|0;l=t[((l|0)==2?f:f+-48|0)+40>>2]|0;do{if(!((n|0)==(l|0)?1:(t[(t[n+16>>2]|0)+232>>2]|0)!=(t[(t[l+16>>2]|0)+232>>2]|0))){a=f;do{l=t[a+16>>2]|0;a=t[l+172>>2]|0}while((a|0)!=0);a=i[l+113>>0]|0;n=t[f+16>>2]|0;i[n+113>>0]=a;n=t[n+96>>2]|0;if(n)if(!(a<<24>>24)){aY(f);r=1;A=t[o>>2]|0;break}else{h=+c[((t[(t[u>>2]|0)+116>>2]&1|0)==0?n+24|0:n+32|0)>>3];l=l+136|0;b=+c[l>>3];c[l>>3]=h>b?h:b;break}}}while(0);s=s+1|0}}}while(0);A=A+164|0}if(r|0){xL(e);eQ(e)}return r|0}function rY(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;A=t[e>>2]&3;l=t[((A|0)==3?e:e+48|0)+40>>2]|0;a=l+16|0;n=t[(t[a>>2]|0)+236>>2]|0;A=t[(t[(t[((A|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;f=(n|0)<(A|0);r=f?A:n;l=t[(t[(mG(l)|0)+16>>2]|0)+196>>2]|0;a=l+(t[(t[a>>2]|0)+232>>2]<<6)+4|0;A=f?n:A;e:while(1){A=A+1|0;if((A|0)>=(r|0))break;n=t[(t[(t[a>>2]|0)+(A<<2)>>2]|0)+16>>2]|0;switch(i[n+156>>0]|0){case 0:break e;case 1:break;default:continue e}if(t[n+104>>2]|0)break}if((A|0)==(r|0))do{l=t[e+16>>2]|0;i[l+113>>0]=1;e=t[l+172>>2]|0}while((e|0)!=0);return}function iY(e){e=e|0;var A=0,r=0,i=0,n=0;n=e+16|0;e=t[n>>2]|0;if(a[e+236>>1]|0)ge(88434,88417,190,88453);A=(a[e+238>>1]|0)+3|0;e=t[e+196>>2]|0;if(!e)e=$F(A<<6)|0;else e=AM(e,A<<6)|0;A=e+64|0;e=t[n>>2]|0;t[e+196>>2]=A;e=a[e+238>>1]|0;while(1){if((e|0)<=-1)break;i=e+-1|0;r=A+(e<<6)|0;e=A+(i<<6)|0;A=r+64|0;do{t[r>>2]=t[e>>2];r=r+4|0;e=e+4|0}while((r|0)<(A|0));e=i;A=t[(t[n>>2]|0)+196>>2]|0}t[A+(e<<6)+8>>2]=0;t[A+(e<<6)>>2]=0;r=KF(8)|0;n=t[n>>2]|0;i=t[n+196>>2]|0;t[i+(e<<6)+12>>2]=r;t[i+(e<<6)+4>>2]=r;t[i+(e<<6)+56>>2]=0;c[i+(e<<6)+24>>3]=1.0;c[i+(e<<6)+16>>3]=1.0;c[i+(e<<6)+40>>3]=1.0;c[i+(e<<6)+32>>3]=1.0;n=n+236|0;a[n>>1]=(a[n>>1]|0)+-1<<16>>16;return}function aY(e){e=e|0;var A=0,r=0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0.0,k=0.0,d=0.0;l=e+16|0;if(t[(t[l>>2]|0)+96>>2]|0){u=e+48|0;s=mG(t[((t[e>>2]&3|0)==3?e:u)+40>>2]|0)|0;A=t[(t[(t[((t[e>>2]&3|0)==3?e:u)+40>>2]|0)+16>>2]|0)+232>>2]|0;o=YJ(s,e)|0;b=s+16|0;r=t[b>>2]|0;n=t[r+196>>2]|0;h=A+-1|0;f=t[t[n+(h<<6)+4>>2]>>2]|0;if(!f)a=+c[n+(A<<6)+24>>3]+ +c[(t[(t[t[n+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(t[r+252>>2]|0);else a=+c[(t[f+16>>2]|0)+24>>3]-+c[n+(h<<6)+16>>3];A=FJ(s,h,o)|0;s=t[(t[l>>2]|0)+96>>2]|0;k=+c[s+24>>3];w=+c[s+32>>3];l=(t[(t[b>>2]|0)+116>>2]&1|0)==0;d=l?w:k;n=A+16|0;r=t[n>>2]|0;c[r+80>>3]=d;o=~~(d*.5);w=(l?k:w)*.5;c[r+96>>3]=w;c[r+88>>3]=w;t[r+104>>2]=s;c[r+24>>3]=+(o+~~a|0);r=ZL(A,t[((t[e>>2]&3|0)==3?e:u)+40>>2]|0,e)|0;r=t[r+16>>2]|0;c[r+16>>3]=-+c[(t[n>>2]|0)+88>>3];c[r+56>>3]=+c[(t[(t[((t[e>>2]&3|0)==3?e:u)+40>>2]|0)+16>>2]|0)+96>>3];i[r+112>>0]=4;r=e+-48|0;A=ZL(A,t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0,e)|0;n=t[n>>2]|0;A=t[A+16>>2]|0;c[A+16>>3]=+c[n+96>>3];c[A+56>>3]=+c[(t[(t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0)+16>>2]|0)+88>>3];i[A+112>>0]=4;A=t[(t[b>>2]|0)+196>>2]|0;r=A+(h<<6)+16|0;a=+(o|0);if(+c[r>>3]>3]=a;A=A+(h<<6)+24|0;if(+c[A>>3]>3]=a;t[n+112>>2]=e}return}function tY(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,l=0,s=0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;I=h;h=h+160|0;y=I+24|0;E=I+20|0;p=I+16|0;b=I;w=I+32|0;B=t[e+152>>2]|0;t[y>>2]=0;t[E>>2]=0;t[p>>2]=0;C=eB(e)|0;t[C+4>>2]=3;t[C+8>>2]=A;t[C+12>>2]=9;g=A+16|0;u=t[(t[g>>2]|0)+96>>2]|0;if((u|0?(i[u+82>>0]|0)==0:0)?(px(Hw(A,100105)|0,0)|0)<<24>>24:0){u=C+260|0;a[u>>1]=a[u>>1]|512}if(r|0?t[(t[g>>2]|0)+8>>2]|0:0)ii(e,r);r=t[47206]|0;if((r|0?(n=Pw(A,r)|0,n|0):0)?i[n>>0]|0:0)ui(e,+wx(A,t[47206]|0,1.0,0.0));do{if(B&16777216|0){r=A+48|0;if((f[(t[(Bd(t[((t[A>>2]&3|0)==3?A:r)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){o=+c[(t[(t[(t[((t[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;c[C+176>>3]=+(~~(o+(o>=0.0?.5:-.5))|0);o=+c[(t[(t[(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;c[C+184>>3]=+(~~(o+(o>=0.0?.5:-.5))|0);break}else{u=C+176|0;t[u>>2]=0;t[u+4>>2]=0;t[u+8>>2]=0;t[u+12>>2]=0;break}}}while(0);if(B&32768|0){u=t[g>>2]|0;r=t[u+96>>2]|0;if(!r)r=t[C+192>>2]|0;else{r=t[r>>2]|0;t[C+192>>2]=r}n=C+196|0;t[n>>2]=r;s=C+204|0;t[s>>2]=r;l=C+200|0;t[l>>2]=r;r=t[u+108>>2]|0;if(r|0)t[n>>2]=t[r>>2];r=t[u+104>>2]|0;if(r|0)t[l>>2]=t[r>>2];r=t[u+100>>2]|0;if(r|0)t[s>>2]=t[r>>2]}if(!(B&65536))l=0;else{cw(b,128,w);t[C+212>>2]=UF(iB(e,A,b)|0,A)|0;hw(b);r=Hw(A,141055)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=31;else{r=Hw(A,111477)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=31;else n=0}if((k|0)==31)n=UF(r,A)|0;r=Hw(A,100118)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=36;else k=34;do{if((k|0)==34){r=Hw(A,100127)|0;if(r|0?i[r>>0]|0:0){k=36;break}if(n|0){r=o3(n)|0;k=39}}}while(0);if((k|0)==36){r=UF(r,A)|0;k=39}if((k|0)==39)t[C+208>>2]=r;r=Hw(A,100135)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=44;else k=42;do{if((k|0)==42){r=Hw(A,100145)|0;if(r|0?i[r>>0]|0:0){k=44;break}if(n|0){r=o3(n)|0;k=47}}}while(0);if((k|0)==44){r=UF(r,A)|0;k=47}if((k|0)==47)t[C+216>>2]=r;r=Hw(A,100154)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=52;else k=50;do{if((k|0)==50){r=Hw(A,100163)|0;if(r|0?i[r>>0]|0:0){k=52;break}if(n|0)t[C+220>>2]=o3(n)|0}}while(0);if((k|0)==52){t[C+220>>2]=UF(r,A)|0;k=C+260|0;a[k>>1]=a[k>>1]|128}r=Hw(A,100171)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=59;else k=57;do{if((k|0)==57){r=Hw(A,100180)|0;if(r|0?i[r>>0]|0:0){k=59;break}if(n|0)t[C+224>>2]=o3(n)|0}}while(0);if((k|0)==59){t[C+224>>2]=UF(r,A)|0;k=C+260|0;a[k>>1]=a[k>>1]|256}l=n}do{if(B&8388608){r=Hw(A,141088)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)n=UF(r,A)|0;else n=0;r=Hw(A,100188)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){k=C+260|0;a[k>>1]=a[k>>1]|64;r=UF(r,A)|0;k=72}else k=70;if((k|0)==70?n|0:0){r=o3(n)|0;k=72}if((k|0)==72)t[C+244>>2]=r;r=Hw(A,100199)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){r=UF(r,A)|0;k=78}else k=76;if((k|0)==76?n|0:0){r=o3(n)|0;k=78}if((k|0)==78)t[C+248>>2]=r;r=Hw(A,100211)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){t[C+252>>2]=UF(r,A)|0;w=C+260|0;a[w>>1]=a[w>>1]|16}else k=82;if((k|0)==82?n|0:0)t[C+252>>2]=o3(n)|0;r=Hw(A,100222)|0;if(r|0?i[r>>0]|0:0){k=C+260|0;a[k>>1]=a[k>>1]|32;t[C+256>>2]=UF(r,A)|0;break}if(n)t[C+256>>2]=o3(n)|0;else n=0}else n=0}while(0);do{if(B&4194304|0){r=Hw(A,141101)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)k=94;else k=92;do{if((k|0)==92){r=Hw(A,100233)|0;if(r|0?i[r>>0]|0:0){k=94;break}r=t[C+192>>2]|0;if(r|0)t[C+228>>2]=o3(r)|0}}while(0);if((k|0)==94){w=IY(r,A)|0;t[C+228>>2]=UF(w,A)|0;G2(w);w=C+260|0;a[w>>1]=a[w>>1]|1}r=Hw(A,100245)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){w=IY(r,A)|0;t[C+232>>2]=UF(w,A)|0;G2(w);w=C+260|0;a[w>>1]=a[w>>1]|8}else k=100;if((k|0)==100?(d=t[C+192>>2]|0,d|0):0)t[C+232>>2]=o3(d)|0;r=Hw(A,100258)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){d=IY(r,A)|0;t[C+236>>2]=UF(d,A)|0;G2(d);d=C+260|0;a[d>>1]=a[d>>1]|2}else k=105;if((k|0)==105?(v=t[C+200>>2]|0,v|0):0)t[C+236>>2]=o3(v)|0;r=Hw(A,100270)|0;if(r|0?i[r>>0]|0:0){v=IY(r,A)|0;t[C+240>>2]=UF(v,A)|0;G2(v);v=C+260|0;a[v>>1]=a[v>>1]|4;break}r=t[C+204>>2]|0;if(r|0)t[C+240>>2]=o3(r)|0}}while(0);G2(l);G2(n);do{if(B&4259840|0?(m=t[(t[g>>2]|0)+8>>2]|0,m|0):0){if(!(t[C+208>>2]|0)){if((B&524288|0)==0|(t[C+228>>2]|0)==0)break}else if(!(B&524288))break;o=+c[(t[e+16>>2]|0)+152>>3]*.5;o=o>2.0?o:2.0;n=t[m+4>>2]|0;r=0;while(1){if((r|0)>=(n|0))break;ZY(y,E,p,(t[m>>2]|0)+(r*48|0)|0,o);r=r+1|0}l=t[p>>2]|0;t[C+276>>2]=l;s=t[E>>2]|0;t[C+280>>2]=s;if(!(B&8192)){r=0;n=0;while(1){if((n|0)>=(l|0))break;r=(t[s+(n<<2)>>2]|0)+r|0;n=n+1|0}y=t[y>>2]|0;Dr(e,y,y,r)|0;r=y}else r=t[y>>2]|0;t[C+284>>2]=r;t[C+264>>2]=2;t[C+272>>2]=r;t[C+268>>2]=t[s>>2]}}while(0);jr(e,A);r=t[C+208>>2]|0;if(!((r|0)==0?!(a[C+260>>1]&1):0))Tr(e,r,t[C+228>>2]|0,t[C+244>>2]|0,t[C+212>>2]|0);h=I;return}function nY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0.0,R=0.0,x=0,J=0,H=0,P=0,X=0;J=h;h=h+240|0;V=J+224|0;M=J+208|0;B=J+128|0;E=J+112|0;x=J+64|0;G=J+48|0;L=J+32|0;Q=J+16|0;D=J;z=J+192|0;W=J+176|0;y=J+160|0;Z=J+144|0;t[Q>>2]=0;t[Q+4>>2]=0;t[Q+8>>2]=0;t[Q+12>>2]=0;N=+c[(t[e+16>>2]|0)+152>>3];Ca(Hw(A,100032)|0);F=A+16|0;e:do{if(t[(t[F>>2]|0)+8>>2]|0){R=+wx(A,t[47188]|0,1.0,0.0);s=dx(A,t[47176]|0,195059)|0;p=(r|0)!=0;A:do{if(p){a=r;while(1){f=a;a=a+4|0;f=t[f>>2]|0;if(!f){b=0;break A}if((i[f>>0]|0)!=116)continue;if(!(e1(f,111117)|0)){b=1;break}}}else b=0}while(0);l=s;k=0;f=0;A:while(1){switch(i[l>>0]|0){case 0:break A;case 58:{a=k+1|0;break}case 59:{a=k;f=f+1|0;break}default:a=k}l=l+1|0;k=a}u=(k|0)!=0;if((f|0)!=0&u)if(!(hY(e,A,r,s,k+1|0,R,N)|0))break;else o=137314;else o=s;a=n[(t[F>>2]|0)+115>>0]|0;if(!(a&1))if(!(a&2))if(!(a&8))if(!(a&4)){f=o;l=vx(A,t[47177]|0,o)|0}else{l=106296;a=106288;s=188712;f=188712;w=18}else{l=106280;a=106272;s=188712;f=188712;w=18}else{l=106264;a=106256;s=188712;f=188712;w=18}else{l=106248;a=106240;s=188712;f=188712;w=18}if((w|0)==18){f=t[f>>2]|0;f=vx(A,f,wY(o,a)|0)|0;a=vx(A,t[s>>2]|0,l)|0;if((f|0)==(o|0)){f=o;l=a}else{$r(e,f);l=a}}if((l|0)!=(o|0))Ai(e,l);if(b<<24>>24){f=(i[f>>0]|0)==0?137314:f;a=(i[l>>0]|0)==0?137314:l;$r(e,137379);Ai(e,f);m=x;d=t[t[(t[F>>2]|0)+8>>2]>>2]|0;v=m+48|0;do{t[m>>2]=t[d>>2];m=m+4|0;d=d+4|0}while((m|0)<(v|0));F=HR(x,kY(A)|0,N,0,0)|0;ti(e,t[F+8>>2]|0,t[F>>2]|0,1);dY(F);$r(e,f);if((a|0)!=(f|0))Ai(e,a);a=t[x+8>>2]|0;if(a|0){Y=x+16|0;F=t[x>>2]|0;t[M>>2]=t[Y>>2];t[M+4>>2]=t[Y+4>>2];t[M+8>>2]=t[Y+8>>2];t[M+12>>2]=t[Y+12>>2];t[V>>2]=t[F>>2];t[V+4>>2]=t[F+4>>2];t[V+8>>2]=t[F+8>>2];t[V+12>>2]=t[F+12>>2];qE(e,2,M,V,R,N,a)}a=t[x+12>>2]|0;if(!a)break;F=x+32|0;x=(t[x>>2]|0)+((t[x+4>>2]|0)+-1<<4)|0;t[M>>2]=t[F>>2];t[M+4>>2]=t[F+4>>2];t[M+8>>2]=t[F+8>>2];t[M+12>>2]=t[F+12>>2];t[V>>2]=t[x>>2];t[V+4>>2]=t[x+4>>2];t[V+8>>2]=t[x+8>>2];t[V+12>>2]=t[x+12>>2];qE(e,3,M,V,R,N,a);break}a=t[F>>2]|0;if(!u){do{if(!(i[a+115>>0]&3)){if(i[f>>0]|0){$r(e,f);Ai(e,l);break}$r(e,137314);if(!(i[l>>0]|0)){Ai(e,137314);break}else{Ai(e,l);break}}}while(0);s=e+152|0;o=x+4|0;u=x+8|0;b=x+12|0;w=x+32|0;k=x+16|0;l=0;while(1){a=t[(t[F>>2]|0)+8>>2]|0;if((l|0)>=(t[a+4>>2]|0))break e;m=x;d=(t[a>>2]|0)+(l*48|0)|0;v=m+48|0;do{t[m>>2]=t[d>>2];m=m+4|0;d=d+4|0}while((m|0)<(v|0));a=t[x>>2]|0;f=t[o>>2]|0;do{if(!(t[s>>2]&16384)){fi(e,a,f,0,0,0);a=t[u>>2]|0;if(a|0){Y=t[x>>2]|0;t[M>>2]=t[k>>2];t[M+4>>2]=t[k+4>>2];t[M+8>>2]=t[k+8>>2];t[M+12>>2]=t[k+12>>2];t[V>>2]=t[Y>>2];t[V+4>>2]=t[Y+4>>2];t[V+8>>2]=t[Y+8>>2];t[V+12>>2]=t[Y+12>>2];qE(e,2,M,V,R,N,a)}a=t[b>>2]|0;if(a|0){Y=(t[x>>2]|0)+((t[o>>2]|0)+-1<<4)|0;t[M>>2]=t[w>>2];t[M+4>>2]=t[w+4>>2];t[M+8>>2]=t[w+8>>2];t[M+12>>2]=t[w+12>>2];t[V>>2]=t[Y>>2];t[V+4>>2]=t[Y+4>>2];t[V+8>>2]=t[Y+8>>2];t[V+12>>2]=t[Y+12>>2];qE(e,3,M,V,R,N,a)}if((t[(t[(t[F>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(t[u>>2]|0)){if(!(p&(t[b>>2]|0)!=0))break}else if(!p)break;ii(e,r)}}else fi(e,a,f,t[u>>2]|0,t[b>>2]|0,0)}while(0);l=l+1|0}}Y=t[(t[a+8>>2]|0)+4>>2]|0;I=Y*48|0;C=Z2(I)|0;I=Z2(I)|0;g=+(k+2|0)*.5;p=x+4|0;w=G+8|0;k=L+8|0;A=Q+8|0;r=D+8|0;b=0;while(1){if((b|0)>=(Y|0))break;m=x;d=(t[t[(t[F>>2]|0)+8>>2]>>2]|0)+(b*48|0)|0;v=m+48|0;do{t[m>>2]=t[d>>2];m=m+4|0;d=d+4|0}while((m|0)<(v|0));a=t[p>>2]|0;t[C+(b*48|0)+4>>2]=a;t[I+(b*48|0)+4>>2]=a;u=a<<4;o=Z2(u)|0;t[C+(b*48|0)>>2]=o;u=Z2(u)|0;t[I+(b*48|0)>>2]=u;s=t[x>>2]|0;t[D>>2]=t[s>>2];t[D+4>>2]=t[s+4>>2];t[D+8>>2]=t[s+8>>2];t[D+12>>2]=t[s+12>>2];s=0;while(1){if((s|0)>=(a+-1|0))break;t[G>>2]=t[D>>2];t[G+4>>2]=t[D+4>>2];t[G+8>>2]=t[D+8>>2];t[G+12>>2]=t[D+12>>2];a=s+1|0;l=(t[x>>2]|0)+(a<<4)|0;t[L>>2]=t[l>>2];t[L+4>>2]=t[l+4>>2];t[L+8>>2]=t[l+8>>2];t[L+12>>2]=t[l+12>>2];l=o+(s<<4)|0;if(!s){t[M>>2]=t[G>>2];t[M+4>>2]=t[G+4>>2];t[M+8>>2]=t[G+8>>2];t[M+12>>2]=t[G+12>>2];t[V>>2]=t[L>>2];t[V+4>>2]=t[L+4>>2];t[V+8>>2]=t[L+8>>2];t[V+12>>2]=t[L+12>>2];vY(z,M,V);t[l>>2]=t[z>>2];t[l+4>>2]=t[z+4>>2];t[l+8>>2]=t[z+8>>2];t[l+12>>2]=t[z+12>>2]}else{t[M>>2]=t[Q>>2];t[M+4>>2]=t[Q+4>>2];t[M+8>>2]=t[Q+8>>2];t[M+12>>2]=t[Q+12>>2];t[V>>2]=t[L>>2];t[V+4>>2]=t[L+4>>2];t[V+8>>2]=t[L+8>>2];t[V+12>>2]=t[L+12>>2];vY(W,M,V);t[l>>2]=t[W>>2];t[l+4>>2]=t[W+4>>2];t[l+8>>2]=t[W+8>>2];t[l+12>>2]=t[W+12>>2]}P=t[x>>2]|0;v=s+2|0;X=P+(v<<4)|0;t[Q>>2]=t[X>>2];t[Q+4>>2]=t[X+4>>2];t[Q+8>>2]=t[X+8>>2];t[Q+12>>2]=t[X+12>>2];m=s+3|0;P=P+(m<<4)|0;t[D>>2]=t[P>>2];t[D+4>>2]=t[P+4>>2];t[D+8>>2]=t[P+8>>2];t[D+12>>2]=t[P+12>>2];H=o+(a<<4)|0;d=o+(v<<4)|0;t[E>>2]=t[G>>2];t[E+4>>2]=t[G+4>>2];t[E+8>>2]=t[G+8>>2];t[E+12>>2]=t[G+12>>2];t[B>>2]=t[L>>2];t[B+4>>2]=t[L+4>>2];t[B+8>>2]=t[L+8>>2];t[B+12>>2]=t[L+12>>2];t[M>>2]=t[X>>2];t[M+4>>2]=t[X+4>>2];t[M+8>>2]=t[X+8>>2];t[M+12>>2]=t[X+12>>2];t[V>>2]=t[P>>2];t[V+4>>2]=t[P+4>>2];t[V+8>>2]=t[P+8>>2];t[V+12>>2]=t[P+12>>2];gY(y,E,B,M,V);t[d>>2]=t[y>>2];t[d+4>>2]=t[y+4>>2];t[d+8>>2]=t[y+8>>2];t[d+12>>2]=t[y+12>>2];t[H>>2]=t[y>>2];t[H+4>>2]=t[y+4>>2];t[H+8>>2]=t[y+8>>2];t[H+12>>2]=t[y+12>>2];c[u+(s<<4)>>3]=+c[G>>3]-+c[l>>3]*g;c[u+(s<<4)+8>>3]=+c[w>>3]-+c[o+(s<<4)+8>>3]*g;c[u+(a<<4)>>3]=+c[L>>3]-+c[H>>3]*g;c[u+(a<<4)+8>>3]=+c[k>>3]-+c[o+(a<<4)+8>>3]*g;c[u+(v<<4)>>3]=+c[Q>>3]-+c[d>>3]*g;c[u+(v<<4)+8>>3]=+c[A>>3]-+c[o+(v<<4)+8>>3]*g;s=m;a=t[p>>2]|0}X=o+(s<<4)|0;t[M>>2]=t[Q>>2];t[M+4>>2]=t[Q+4>>2];t[M+8>>2]=t[Q+8>>2];t[M+12>>2]=t[Q+12>>2];t[V>>2]=t[D>>2];t[V+4>>2]=t[D+4>>2];t[V+8>>2]=t[D+8>>2];t[V+12>>2]=t[D+12>>2];vY(Z,M,V);t[X>>2]=t[Z>>2];t[X+4>>2]=t[Z+4>>2];t[X+8>>2]=t[Z+8>>2];t[X+12>>2]=t[Z+12>>2];c[u+(s<<4)>>3]=+c[D>>3]-+c[X>>3]*g;c[u+(s<<4)+8>>3]=+c[r>>3]-+c[o+(s<<4)+8>>3]*g;b=b+1|0}v=o3(f)|0;r=0;d=f;a=f;l=f;f=v;while(1){f=l3(f,107984)|0;if(!f)break;A=(i[f>>0]|0)==0?137314:f;if((A|0)!=(l|0))if(!(i[(t[F>>2]|0)+115>>0]&3)){$r(e,A);Ai(e,A);l=A}else l=A;o=(r|0)==0;u=r>>>0<2;f=0;while(1){if((f|0)>=(Y|0))break;b=t[I+(f*48|0)>>2]|0;w=t[C+(f*48|0)>>2]|0;k=t[I+(f*48|0)+4>>2]|0;s=0;while(1){if((s|0)>=(k|0))break;X=b+(s<<4)|0;c[X>>3]=+c[X>>3]+ +c[w+(s<<4)>>3];X=b+(s<<4)+8|0;c[X>>3]=+c[X>>3]+ +c[w+(s<<4)+8>>3];s=s+1|0}fi(e,b,k,0,0,0);f=f+1|0}r=r+1|0;d=o?A:d;a=u?A:a;f=0}f=t[x+8>>2]|0;if(!f)f=0;else{if(a){if(!(i[(t[F>>2]|0)+115>>0]&3)){$r(e,a);Ai(e,a)}}else a=0;P=x+16|0;X=t[x>>2]|0;t[M>>2]=t[P>>2];t[M+4>>2]=t[P+4>>2];t[M+8>>2]=t[P+8>>2];t[M+12>>2]=t[P+12>>2];t[V>>2]=t[X>>2];t[V+4>>2]=t[X+4>>2];t[V+8>>2]=t[X+8>>2];t[V+12>>2]=t[X+12>>2];qE(e,2,M,V,R,N,f);f=a}l=x+12|0;a=t[l>>2]|0;if(a|0){if((f|0)!=(d|0)?(i[(t[F>>2]|0)+115>>0]&3)==0:0){$r(e,d);Ai(e,d);a=t[l>>2]|0}P=x+32|0;X=(t[x>>2]|0)+((t[p>>2]|0)+-1<<4)|0;t[M>>2]=t[P>>2];t[M+4>>2]=t[P+4>>2];t[M+8>>2]=t[P+8>>2];t[M+12>>2]=t[P+12>>2];t[V>>2]=t[X>>2];t[V+4>>2]=t[X+4>>2];t[V+8>>2]=t[X+8>>2];t[V+12>>2]=t[X+12>>2];qE(e,3,M,V,R,N,a)}G2(v);a=0;while(1){if((a|0)>=(Y|0))break;G2(t[C+(a*48|0)>>2]|0);G2(t[I+(a*48|0)>>2]|0);a=a+1|0}G2(C);G2(I)}}while(0);h=J;return}function fY(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;B=h;h=h+64|0;d=B+48|0;m=B+32|0;g=B+16|0;v=B;E=t[e+16>>2]|0;p=t[E+8>>2]|0;k=E+208|0;if(!((t[k>>2]|0)==0?!(a[E+260>>1]&1):0))A=3;e:do{if((A|0)==3?(Or(e),w=E+276|0,r=t[w>>2]|0,r|0):0){f=E+280|0;A=t[f>>2]|0;l=E+268|0;s=E+284|0;c=E+272|0;o=E+228|0;u=E+244|0;b=E+212|0;i=t[A>>2]|0;n=1;while(1){if((n|0)>=(r|0))break e;t[l>>2]=t[A+(n<<2)>>2];t[c>>2]=(t[s>>2]|0)+(i<<4);Tr(e,t[k>>2]|0,t[o>>2]|0,t[u>>2]|0,t[b>>2]|0);Or(e);y=t[f>>2]|0;i=(t[y+(n<<2)>>2]|0)+i|0;n=n+1|0;r=t[w>>2]|0;A=y}}}while(0);t[E+268>>2]=0;t[E+272>>2]=0;k=p+16|0;A=t[k>>2]|0;r=t[A+8>>2]|0;if(!r)i=E+260|0;else{w=t[r>>2]|0;A=t[w>>2]|0;y=t[w+8>>2]|0;b=w+16|0;t[g>>2]=t[b>>2];t[g+4>>2]=t[b+4>>2];t[g+8>>2]=t[b+8>>2];t[g+12>>2]=t[b+12>>2];w=w+32|0;t[v>>2]=t[w>>2];t[v+4>>2]=t[w+4>>2];t[v+8>>2]=t[w+8>>2];t[v+12>>2]=t[w+12>>2];if(!y){t[m>>2]=t[A>>2];t[m+4>>2]=t[A+4>>2];t[m+8>>2]=t[A+8>>2];t[m+12>>2]=t[A+12>>2]}else{t[m>>2]=t[g>>2];t[m+4>>2]=t[g+4>>2];t[m+8>>2]=t[g+8>>2];t[m+12>>2]=t[g+12>>2]}i=E+260|0;w=a[i>>1]|0;b=t[E+220>>2]|0;t[d>>2]=t[m>>2];t[d+4>>2]=t[m+4>>2];t[d+8>>2]=t[m+8>>2];t[d+12>>2]=t[m+12>>2];lY(e,d,(w<<8&65535)<<16>>16>>15&255,b,(w<<14&65535)<<16>>16>>15&255);w=t[(t[k>>2]|0)+8>>2]|0;b=t[w>>2]|0;w=(t[w+4>>2]|0)+-1|0;A=t[b+(w*48|0)>>2]|0;r=t[b+(w*48|0)+4>>2]|0;y=t[b+(w*48|0)+12>>2]|0;u=b+(w*48|0)+16|0;t[g>>2]=t[u>>2];t[g+4>>2]=t[u+4>>2];t[g+8>>2]=t[u+8>>2];t[g+12>>2]=t[u+12>>2];g=b+(w*48|0)+32|0;t[v>>2]=t[g>>2];t[v+4>>2]=t[g+4>>2];t[v+8>>2]=t[g+8>>2];t[v+12>>2]=t[g+12>>2];if(!y){y=A+(r+-1<<4)|0;t[m>>2]=t[y>>2];t[m+4>>2]=t[y+4>>2];t[m+8>>2]=t[y+8>>2];t[m+12>>2]=t[y+12>>2]}else{t[m>>2]=t[v>>2];t[m+4>>2]=t[v+4>>2];t[m+8>>2]=t[v+8>>2];t[m+12>>2]=t[v+12>>2]}A=a[i>>1]|0;y=t[E+224>>2]|0;t[d>>2]=t[m>>2];t[d+4>>2]=t[m+4>>2];t[d+8>>2]=t[m+8>>2];t[d+12>>2]=t[m+12>>2];lY(e,d,(A<<7&65535)<<16>>16>>15&255,y,(A<<13&65535)<<16>>16>>15&255);A=t[k>>2]|0}r=t[A+96>>2]|0;n=(a[i>>1]<<12&65535)<<16>>16>>15<<16>>16;o=E+216|0;f=t[o>>2]|0;u=E+232|0;l=t[u>>2]|0;b=E+248|0;s=t[b>>2]|0;w=E+212|0;c=t[w>>2]|0;if(!((mx(dx(p,t[47186]|0,137308)|0)|0)<<24>>24))A=0;else A=t[(t[k>>2]|0)+8>>2]|0;sY(e,r,11,n,f,l,s,c,A);s=t[(t[k>>2]|0)+108>>2]|0;c=(a[i>>1]<<12&65535)<<16>>16>>15<<16>>16;l=t[o>>2]|0;f=t[u>>2]|0;r=t[b>>2]|0;n=t[w>>2]|0;if(!((mx(dx(p,t[47186]|0,137308)|0)|0)<<24>>24))A=0;else A=t[(t[k>>2]|0)+8>>2]|0;sY(e,s,11,c,l,f,r,n,A);sY(e,t[(t[k>>2]|0)+100>>2]|0,7,(a[i>>1]<<13&65535)<<16>>16>>15<<16>>16,t[E+224>>2]|0,t[E+240>>2]|0,t[E+256>>2]|0,t[w>>2]|0,0);sY(e,t[(t[k>>2]|0)+104>>2]|0,6,(a[i>>1]<<14&65535)<<16>>16>>15<<16>>16,t[E+220>>2]|0,t[E+236>>2]|0,t[E+252>>2]|0,t[w>>2]|0,0);Ur(e);AB(e);h=B;return}function lY(e,A,r,i,n){e=e|0;A=A|0;r=r|0;i=i|0;n=n|0;var f=0,l=0,s=0;s=h;h=h+16|0;f=s;l=t[e+16>>2]|0;if(!(r<<24>>24))i=t[l+208>>2]|0;if(!(n<<24>>24==0?(i|0)==0?(a[l+260>>1]&1)==0:0:0)){t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];bY(e,f)}h=s;return}function sY(e,A,r,a,n,f,l,s,c){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;c=c|0;var o=0,u=0,b=0,w=0,k=0,d=0;d=h;h=h+16|0;b=d;k=t[e+152>>2]|0;if(A|0?i[A+81>>0]|0:0){if(!s)u=0;else{u=KF((U2(s)|0)+11|0)|0;switch(r|0){case 11:{o=108224;break}case 7:{o=101583;break}case 6:{o=101593;break}default:ge(138394,99906,2730,100044)}t[b>>2]=s;t[b+4>>2]=o;T4(u,100060,b)|0}b=e+16|0;s=(t[b>>2]|0)+12|0;w=t[s>>2]|0;t[s>>2]=r;s=(a|0)!=0|(n|0)!=0;o=(k&4|0)==0;if(s&o){cY(e,A);Tr(e,n,f,l,u)}jF(e,r,A);if(c|0)oY(e,A,c);if(s){if(!o){cY(e,A);Tr(e,n,f,l,u)}Or(e)}G2(u);t[(t[b>>2]|0)+12>>2]=w}h=d;return}function cY(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;r=t[e+16>>2]|0;i=t[e+152>>2]|0;if(i&4259840|0){a=i&131072;f=a>>>16^2;t[r+264>>2]=f;l=r+268|0;t[l>>2]=f+2;f=r+272|0;G2(t[f>>2]|0);r=KF(t[l>>2]<<4)|0;t[f>>2]=r;f=A+56|0;l=A+24|0;c[r>>3]=+c[f>>3]-+c[l>>3]*.5;n=A+64|0;A=A+32|0;c[r+8>>3]=+c[n>>3]-+c[A>>3]*.5;c[r+16>>3]=+c[l>>3]*.5+ +c[f>>3];c[r+24>>3]=+c[A>>3]*.5+ +c[n>>3];if(!(i&8192))Dr(e,r,r,2)|0;if(!a)IF(r)}return}function oY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0.0;b=h;h=h+96|0;n=b+80|0;f=b+32|0;l=b+16|0;s=b;a=t[A>>2]|0;while(1){o=i[a>>0]|0;if(!(o<<24>>24))break;if(!(I1(o&255)|0)){u=4;break}else a=a+1|0}if((u|0)==4){w=+c[A+24>>3];o=A+56|0;uY(f,+c[o>>3]+w*.5,+c[A+64>>3]-+c[A+32>>3]*.5);u=f+16|0;uY(l,+c[f>>3]-w,+c[f+8>>3]);t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];t[u+8>>2]=t[l+8>>2];t[u+12>>2]=t[l+12>>2];u=f+32|0;t[n>>2]=t[o>>2];t[n+4>>2]=t[o+4>>2];t[n+8>>2]=t[o+8>>2];t[n+12>>2]=t[o+12>>2];Wx(s,r,n);t[u>>2]=t[s>>2];t[u+4>>2]=t[s+4>>2];t[u+8>>2]=t[s+8>>2];t[u+12>>2]=t[s+12>>2];ii(e,t[(t[e>>2]|0)+336>>2]|0);$r(e,t[A+8>>2]|0);li(e,f,3)}h=b;return}function uY(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function bY(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0.0,l=0,s=0;r=t[e+16>>2]|0;i=t[e+152>>2]|0;if(i&4259840|0){a=i&131072;l=a>>>16^2;t[r+264>>2]=l;s=r+268|0;t[s>>2]=l+2;l=r+272|0;G2(t[l>>2]|0);r=KF(t[s>>2]<<4)|0;t[l>>2]=r;f=+c[A>>3];c[r>>3]=f+-3.0;n=+c[A+8>>3];c[r+8>>3]=n+-3.0;c[r+16>>3]=f+3.0;c[r+24>>3]=n+3.0;if(!(i&8192))Dr(e,r,r,2)|0;if(!a)IF(r)}return}function hY(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;f=+f;var l=0,c=0,o=0.0,u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0;F=h;h=h+256|0;L=F+224|0;G=F+208|0;l=F+192|0;D=F+144|0;z=F+96|0;W=F+48|0;Q=F;c=F+240|0;i=nB(i,a,c)|0;if((i|0)>1){C=A+48|0;I=Bd(t[((t[A>>2]&3|0)==3?A:C)+40>>2]|0)|0;C=Mk(t[((t[A>>2]&3|0)==3?A:C)+40>>2]|0)|0;I=(Bk(I)|0)!=0;Z=Mk(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;t[l>>2]=C;t[l+4>>2]=I?100079:100084;t[l+8>>2]=Z;nw(3,100089,l)|0;if((i|0)==2)i=1;else Y=4}else if((i|0)==1)i=1;else Y=4;if((Y|0)==4){Z=A+16|0;d=t[c>>2]|0;v=d+8|0;g=W+4|0;m=D+8|0;p=D+12|0;E=(r|0)!=0;k=(r|0)==0;B=D+32|0;y=D+4|0;C=D+16|0;I=Q+4|0;i=0;w=0;while(1){a=t[(t[Z>>2]|0)+8>>2]|0;if((w|0)>=(t[a+4>>2]|0))break;l=D;a=(t[a>>2]|0)+(w*48|0)|0;A=l+48|0;do{t[l>>2]=t[a>>2];l=l+4|0;a=a+4|0}while((l|0)<(A|0));A=1;o=1.0;b=t[v>>2]|0;e:while(1){a=t[b>>2]|0;if(!a)break;c=b+4|0;u=+s[c>>2];do{if(u<1.0e-05&u>-1.0e-05)a=A;else{$r(e,a);u=+s[c>>2];o=o-u;i=t[b>>2]|0;if(A|0){yY(D,u,W,Q);c=t[W>>2]|0;fi(e,c,t[g>>2]|0,0,0,0);G2(c);if(o<1.0e-05&o>-1.0e-05){Y=11;break e}else{a=0;break}}if(o<1.0e-05&o>-1.0e-05){Y=13;break e}l=z;a=Q;A=l+48|0;do{t[l>>2]=t[a>>2];l=l+4|0;a=a+4|0}while((l|0)<(A|0));u=+s[c>>2];yY(z,u/(o+u),W,Q);G2(t[z>>2]|0);a=t[W>>2]|0;fi(e,a,t[g>>2]|0,0,0,0);G2(a);a=0}}while(0);A=a;b=b+12|0}if((Y|0)==11){Y=0;G2(t[Q>>2]|0)}else if((Y|0)==13){Y=0;b=t[Q>>2]|0;fi(e,b,t[I>>2]|0,0,0,0);G2(b)}if(t[m>>2]|0){$r(e,t[t[v>>2]>>2]|0);Ai(e,t[t[v>>2]>>2]|0);c=t[D>>2]|0;b=t[m>>2]|0;t[G>>2]=t[C>>2];t[G+4>>2]=t[C+4>>2];t[G+8>>2]=t[C+8>>2];t[G+12>>2]=t[C+12>>2];t[L>>2]=t[c>>2];t[L+4>>2]=t[c+4>>2];t[L+8>>2]=t[c+8>>2];t[L+12>>2]=t[c+12>>2];qE(e,2,G,L,n,f,b)}if(t[p>>2]|0){$r(e,i);Ai(e,i);c=(t[D>>2]|0)+((t[y>>2]|0)+-1<<4)|0;b=t[p>>2]|0;t[G>>2]=t[B>>2];t[G+4>>2]=t[B+4>>2];t[G+8>>2]=t[B+8>>2];t[G+12>>2]=t[B+12>>2];t[L>>2]=t[c>>2];t[L+4>>2]=t[c+4>>2];t[L+8>>2]=t[c+8>>2];t[L+12>>2]=t[c+12>>2];qE(e,3,G,L,n,f,b)}do{if((t[(t[(t[Z>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(t[m>>2]|0)){if(!(E&(t[p>>2]|0)!=0))break}else if(k)break;ii(e,r)}}while(0);w=w+1|0}fB(d);i=0}h=F;return i|0}function wY(e,A){e=e|0;A=A|0;var r=0,a=0;r=1;e:while(1){switch(i[e>>0]|0){case 0:break e;case 58:{r=r+1|0;break}default:{}}e=e+1|0}a=P((U2(A)|0)+1|0,r)|0;e=a+10|0;if((t[47121]|0)<(a|0)){t[47121]=e;e=Q2(t[47122]|0,e)|0;t[47122]=e}else e=t[47122]|0;$1(e,A)|0;while(1){r=r+-1|0;e=t[47122]|0;if(!r)break;a=e+(U2(e)|0)|0;i[a>>0]=58;i[a+1>>0]=0;b3(e,A)|0}return e|0}function kY(e){e=e|0;var A=0,r=0;A=t[47184]|0;e:do{if(!A)r=7;else{A=Pw(e,A)|0;switch(i[A>>0]|0){case 110:if(!(e1(A,135709)|0)){A=1;break e}else{r=7;break e}case 102:if(!(e1(A,100066)|0)){A=2;break e}else{r=7;break e}case 98:{if(!(e1(A,100074)|0)){A=3;break e}if(!(e1(A,111221)|0)){A=4;break e}else{r=7;break e}}default:{r=7;break e}}}}while(0);if((r|0)==7){A=(Bk(Bd(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)|0)!=0;A=A?2:1}return A|0}function dY(e){e=e|0;if(e|0){G2(t[e+8>>2]|0);G2(e)}return}function vY(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0;a=+c[A>>3]-+c[r>>3];t=+c[A+8>>3]-+c[r+8>>3];i=2.0/+D(+(a*a+.0001+t*t));c[e>>3]=i*t;c[e+8>>3]=-(a*i);return}function gY(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0.0,n=0.0,f=0.0,l=0.0;n=+c[r>>3]-+c[i>>3];f=+c[r+8>>3]-+c[i+8>>3];t=+D(+(f*f+n*n));if(t<.0001){l=+c[A>>3]-+c[a>>3];t=+c[A+8>>3]-+c[a+8>>3];f=t;n=l;t=+D(+(l*l+.0001+t*t))}l=2.0/t;c[e>>3]=f*l;c[e+8>>3]=-(l*n);return}function mY(e,A,r){e=+e;A=+A;r=+r;return+(r*.5*(1.0-e/A))}function pY(e,A,r){e=+e;A=+A;r=+r;return+(r*.5)}function EY(e,A,r){e=+e;A=+A;r=+r;return+(r*.5*(e/A))}function BY(e,A,r){e=+e;A=+A;r=+r;A=e/A;return+((!(A<=.5)?1.0-A:A)*r)}function yY(e,A,r,i){e=e|0;A=+A;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0,v=0;w=h;h=h+16|0;b=w;u=t[e+4>>2]|0;l=(u+-1|0)/3|0;if((u+-4|0)>>>0<3){t[r+4>>2]=4;t[r>>2]=KF(64)|0;t[i+4>>2]=4;u=KF(64)|0;t[i>>2]=u;Zx(b,t[e>>2]|0,3,A,t[r>>2]|0,u)}else{u=KF(l<<3)|0;n=0;f=t[e>>2]|0;a=0.0;while(1){if((n|0)>=(l|0))break;k=+CY(f);c[u+(n<<3)>>3]=k;n=n+1|0;f=f+48|0;a=k+a}A=a*A;o=0;a=0.0;while(1){if((l|0)<=(o|0))break;a=+c[u+(o<<3)>>3]+a;if(a>=A)break;o=o+1|0}s=o*3|0;n=s+4|0;f=r+4|0;t[f>>2]=n;t[r>>2]=KF(n<<4)|0;n=((l-o|0)*3|0)+1|0;l=i+4|0;t[l>>2]=n;t[i>>2]=KF(n<<4)|0;n=0;while(1){if((n|0)>=(t[f>>2]|0))break;d=(t[r>>2]|0)+(n<<4)|0;v=(t[e>>2]|0)+(n<<4)|0;t[d>>2]=t[v>>2];t[d+4>>2]=t[v+4>>2];t[d+8>>2]=t[v+8>>2];t[d+12>>2]=t[v+12>>2];n=n+1|0}n=n+-4|0;f=0;while(1){if((f|0)>=(t[l>>2]|0))break;v=(t[i>>2]|0)+(f<<4)|0;d=(t[e>>2]|0)+(n<<4)|0;t[v>>2]=t[d>>2];t[v+4>>2]=t[d+4>>2];t[v+8>>2]=t[d+8>>2];t[v+12>>2]=t[d+12>>2];n=n+1|0;f=f+1|0}k=+c[u+(o<<3)>>3];Zx(b,(t[e>>2]|0)+(s<<4)|0,3,(A-a+k)/k,(t[r>>2]|0)+(s<<4)|0,t[i>>2]|0);G2(u)}h=w;return}function CY(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0.0,t=0.0;a=+c[e+16>>3];i=+c[e>>3]-a;t=+c[e+24>>3];A=+c[e+8>>3]-t;i=+D(+(A*A+i*i));A=+c[e+32>>3];a=a-A;r=+c[e+40>>3];t=t-r;i=+D(+(t*t+a*a))+i;A=A-+c[e+48>>3];r=r-+c[e+56>>3];return+(i+ +D(+(r*r+A*A)))}function IY(e,A){e=e|0;A=A|0;A=yd(A)|0;if((i[(t[A+16>>2]|0)+115>>0]|0)==1)A=pJ(e)|0;else A=vJ(e,A)|0;return WY(A)|0}function ZY(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;k=h;h=h+1664|0;o=k+1600|0;u=k+800|0;b=k;w=$F(24)|0;t[w+16>>2]=1;s=((t[i+4>>2]|0)+-1|0)/3|0;f=0;l=w;while(1){if((f|0)>=(s|0))break;c=f*3|0;n=0;while(1){if((n|0)==4)break;d=o+(n<<4)|0;v=(t[i>>2]|0)+(n+c<<4)|0;t[d>>2]=t[v>>2];t[d+4>>2]=t[v+4>>2];t[d+8>>2]=t[v+8>>2];t[d+12>>2]=t[v+12>>2];n=n+1|0}f=f+1|0;l=GY(o,l)|0}n=0;f=0;l=w;while(1){if(!l){f=w;n=w;break}s=t[l+16>>2]|0;c=u+(n<<4)|0;i=b+(n<<4)|0;LY(f,l,s,c,i,a);n=n+1|0;if(!((n|0)==50|(s|0)==0)){f=l;l=s;continue}QY(e,A,r,n,u,b);t[u>>2]=t[c>>2];t[u+4>>2]=t[c+4>>2];t[u+8>>2]=t[c+8>>2];t[u+12>>2]=t[c+12>>2];t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];t[b+12>>2]=t[i+12>>2];f=l;n=1;l=s}while(1){if(!f)break;v=t[f+16>>2]|0;G2(n);f=v;n=v}h=k;return}function GY(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+144|0;a=n+128|0;r=n+64|0;i=n;if(!(uB(e)|0)){Zx(a,e,3,.5,r,i);r=GY(i,GY(r,A)|0)|0}else{r=A+16|0;if((t[r>>2]|0)==1){t[r>>2]=0;t[A>>2]=t[e>>2];t[A+4>>2]=t[e+4>>2];t[A+8>>2]=t[e+8>>2];t[A+12>>2]=t[e+12>>2]}r=e+48|0;t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];r=zY(a,A)|0}h=n;return r|0}function LY(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;var f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0;d=h;h=h+96|0;u=d+80|0;o=d+64|0;s=d+48|0;b=d+32|0;w=d+16|0;k=d;t[b>>2]=t[A>>2];t[b+4>>2]=t[A+4>>2];t[b+8>>2]=t[A+8>>2];t[b+12>>2]=t[A+12>>2];do{if(e){t[w>>2]=t[e>>2];t[w+4>>2]=t[e+4>>2];t[w+8>>2]=t[e+8>>2];t[w+12>>2]=t[e+12>>2];if(!r){f=+c[b>>3];c[k>>3]=f*2.0-+c[w>>3];l=+c[b+8>>3];c[k+8>>3]=l*2.0-+c[w+8>>3];break}else{t[k>>2]=t[r>>2];t[k+4>>2]=t[r+4>>2];t[k+8>>2]=t[r+8>>2];t[k+12>>2]=t[r+12>>2];f=+c[b>>3];l=+c[b+8>>3];break}}else{t[k>>2]=t[r>>2];t[k+4>>2]=t[r+4>>2];t[k+8>>2]=t[r+8>>2];t[k+12>>2]=t[r+12>>2];f=+c[b>>3];c[w>>3]=f*2.0-+c[k>>3];l=+c[b+8>>3];c[w+8>>3]=l*2.0-+c[k+8>>3]}}while(0);t[s>>2]=t[w>>2];t[s+4>>2]=t[w+4>>2];t[s+8>>2]=t[w+8>>2];t[s+12>>2]=t[w+12>>2];t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];t[u>>2]=t[k>>2];t[u+4>>2]=t[k+4>>2];t[u+8>>2]=t[k+8>>2];t[u+12>>2]=t[k+12>>2];g=+DY(s,o,u);v=+W(+g)*n;n=+Y(+g)*n;c[i>>3]=f+v;c[i+8>>3]=l+n;c[a>>3]=f-v;c[a+8>>3]=l-n;h=d;return}function QY(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0;l=i<<1;s=t[r>>2]|0;f=0;c=0;while(1){if((f|0)>=(s|0))break;o=(t[(t[A>>2]|0)+(f<<2)>>2]|0)+c|0;f=f+1|0;c=o}o=s+1|0;t[r>>2]=o;o=AM(t[A>>2]|0,o<<2)|0;t[A>>2]=o;t[o+(f<<2)>>2]=l;t[e>>2]=AM(t[e>>2]|0,c+l<<4)|0;A=l+-1+c|0;f=0;while(1){if((f|0)>=(i|0))break;o=(t[e>>2]|0)+(f+c<<4)|0;s=a+(f<<4)|0;t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];o=(t[e>>2]|0)+(A-f<<4)|0;s=n+(f<<4)|0;t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];f=f+1|0}return}function DY(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0;t=+c[A+8>>3];i=+c[A>>3];a=+R(+(+c[r+8>>3]-t),+(+c[r>>3]-i));i=+R(+(+c[e+8>>3]-t),+(+c[e>>3]-i));a=a-i;return+((a>0.0?a+-6.283185307179586:a)*.5+i)}function zY(e,A){e=e|0;A=A|0;var r=0;r=$F(24)|0;t[r+16>>2]=0;t[r>>2]=t[e>>2];t[r+4>>2]=t[e+4>>2];t[r+8>>2]=t[e+8>>2];t[r+12>>2]=t[e+12>>2];t[A+16>>2]=r;return r|0}function WY(e){e=e|0;var A=0,r=0,a=0,t=0,n=0;A=e;t=e;e:while(1){a=0;while(1){r=A;A=A+1|0;r=i[r>>0]|0;if(!(r<<24>>24))break e;if(a<<24>>24){n=5;break}if(r<<24>>24!=92)break;else a=1}A:do{if((n|0)==5){n=0;switch(r<<24>>24|0){case 114:{r=13;break A}case 108:case 110:{r=10;break A}default:break A}}}while(0);i[t>>0]=r;t=t+1|0}i[t>>0]=0;return e|0}function YY(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;r=t[e>>2]|0;while(1){n=i[r>>0]|0;if(!(n<<24>>24)){a=0;break}a=n<<24>>24;if(!(n<<24>>24==44|(I1(a)|0)!=0)){f=5;break}r=r+1|0}e:do{if((f|0)==5){switch(a|0){case 0:{a=0;break e}case 41:case 40:{r=r+1|0;break e}default:{}}f=A+4|0;l=A+8|0;while(1){if((FY(n<<24>>24)|0)<<24>>24){a=1;break e}a=t[f>>2]|0;if(a>>>0>=(t[l>>2]|0)>>>0){ow(A,1)|0;a=t[f>>2]|0}t[f>>2]=a+1;i[a>>0]=n;a=r+1|0;r=a;n=i[a>>0]|0}}}while(0);t[e>>2]=r;return a|0}function FY(e){e=e|0;switch(e|0){case 0:case 44:case 41:case 40:{e=1;break}default:e=0}return e|0}function MY(e,A){e=e|0;A=A|0;return VY(t[e>>2]|0,t[e+160>>2]|0,t[e+156>>2]|0,A)|0}function VY(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+160|0;c=b+20|0;o=b+16|0;u=b;t[c>>2]=0;t[o>>2]=0;cw(u,128,b+24|0);bw(u,a)|0;n=u+4|0;a=t[n>>2]|0;if(a>>>0>=(t[u+8>>2]|0)>>>0){ow(u,1)|0;a=t[n>>2]|0}i[a>>0]=0;f=t[u>>2]|0;t[n>>2]=f;l=e+300|0;s=e+296|0;a=0;n=f;e:while(1){if(a){a=1;break}a=c3(n,t[l>>2]|0,c)|0;if(!a){a=0;break}n=c3(a,t[s>>2]|0,o)|0;f=(n|0)!=0;if(f)a=c3(0,t[s>>2]|0,o)|0;else a=0;switch(((a|0)!=0&1)+(f&1)&3){case 2:{n=NY(e,n,0)|0;a=NY(e,a,r)|0;f=(n|0)>(a|0);a=(a&n|0)>-1&(((f?n:a)|0)>=(A|0)&((f?a:n)|0)<=(A|0));n=0;continue e}case 1:{a=(NY(e,n,A)|0)==(A|0);n=0;continue e}default:{a=0;n=0;continue e}}}hw(u);h=b;return a|0}function NY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;f=i[A>>0]|0;if(!(f<<24>>24==97?(e1(A,100396)|0)==0:0))a=3;e:do{if((a|0)==3){if((RY(A)|0)<<24>>24){r=K3(A)|0;break}n=t[e+308>>2]|0;if(!n)r=-1;else{e=t[e+312>>2]|0;r=1;while(1){if((r|0)>(e|0)){r=-1;break e}a=t[n+(r<<2)>>2]|0;if(f<<24>>24==(i[a>>0]|0)?(e1(A,a)|0)==0:0)break e;r=r+1|0}}}}while(0);return r|0}function RY(e){e=e|0;var A=0;while(1){A=i[e>>0]|0;if(!(A<<24>>24)){e=1;break}if(((A&255)+-48|0)>>>0<10)e=e+1|0;else{e=0;break}}return e|0}function xY(e,A){e=e|0;A=A|0;if((+c[e+16>>3]>=+c[A>>3]?+c[A+16>>3]>=+c[e>>3]:0)?+c[e+24>>3]>=+c[A+8>>3]:0)e=+c[A+24>>3]>=+c[e+8>>3]&1;else e=0;return e|0}function JY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0;e:do{if((t[e+156>>2]|0)>=2?(a=dx(r,t[47167]|0,195059)|0,(MY(e,a)|0)<<24>>24==0):0)if(!(i[a>>0]|0))if(!(ek(A,r)|0))a=1;else{a=ek(A,r)|0;while(1){if(!a){a=0;break e}n=dx(a,t[47190]|0,195059)|0;if(!(i[n>>0]|0)){a=1;break e}if((MY(e,n)|0)<<24>>24){a=1;break e}a=Ak(A,a,r)|0}}else a=0;else a=1}while(0);return a|0}function HY(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+64|0;i=r+32|0;a=r;e=(t[e+16>>2]|0)+48|0;t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];t[a+12>>2]=t[e+12>>2];t[a+16>>2]=t[e+16>>2];t[a+20>>2]=t[e+20>>2];t[a+24>>2]=t[e+24>>2];t[a+28>>2]=t[e+28>>2];t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];t[i+16>>2]=t[A+16>>2];t[i+20>>2]=t[A+20>>2];t[i+24>>2]=t[A+24>>2];t[i+28>>2]=t[A+28>>2];A=(xY(a,i)|0)&255;h=r;return A|0}function PY(e,A){e=e|0;A=A|0;var r=0.0,i=0,n=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0.0,d=0,v=0,g=0,m=0.0,p=0.0;d=t[e+152>>2]|0;v=eB(e)|0;t[v+4>>2]=2;t[v+8>>2]=A;t[v+12>>2]=8;if(d&16777216|0){if((f[(t[(Bd(A)|0)+16>>2]|0)+178>>1]|0)>2){r=+c[(t[(t[A+16>>2]|0)+132>>2]|0)+16>>3]*72.0;r=+(~~(r+(r>=0.0?.5:-.5))|0)}else r=0.0;c[v+168>>3]=r}s=A+16|0;SY(e,t[(t[s>>2]|0)+104>>2]|0,A);do{if(d&4259840|0){if((t[v+208>>2]|0)==0?(a[v+260>>1]&1)==0:0)break;w=oN(A)|0;o=t[s>>2]|0;r=+c[o+16>>3];k=+c[o+24>>3];o=jY(A)|0;e:do{if((w|2|0)==3){b=t[(t[s>>2]|0)+12>>2]|0;if(!((UY(b)|0)<<24>>24))i=0;else i=(t[b+4>>2]|o|0)!=0;if(!((d&524288|0)==0|((b|0)==0|i))){n=b+8|0;h=t[n>>2]|0;h=(h|0)<3?1:h;l=b+4|0;u=t[l>>2]|0;u=(u|0)>1?u:1;w=t[b+44>>2]|0;i=Hw(A,102705)|0;if(!i)i=0;else i=K3(i)|0;i=(i+-4|0)>>>0>56?20:i;if(!(t[l>>2]|o)){t[v+264>>2]=0;n=KF(32)|0;i=t[s>>2]|0;p=+c[i+88>>3];c[n>>3]=r-p;m=+c[i+80>>3]*.5;c[n+8>>3]=k-m;c[n+16>>3]=p+r;c[n+24>>3]=m+k;i=2;break}n=t[n>>2]|0;if(((n|0)<3?+c[b+32>>3]==0.0:0)?+c[b+24>>3]==0.0:0){n=v+264|0;if(t[b>>2]|0){t[n>>2]=1;n=KF(32)|0;c[n>>3]=r;c[n+8>>3]=k;i=(u<<1)+-1|0;c[n+16>>3]=+c[w+(i<<4)>>3]+r;c[n+24>>3]=+c[w+(i<<4)+8>>3]+k;i=2;break}t[n>>2]=2;n=(u<<1)+-1|0;n=TY(+c[w+(n<<4)>>3],+c[w+(n<<4)+8>>3],i)|0;l=0;while(1){if((l|0)>=(i|0))break e;w=n+(l<<4)|0;c[w>>3]=+c[w>>3]+r;w=n+(l<<4)+8|0;c[w>>3]=+c[w>>3]+k;l=l+1|0}}u=P(n,u+-1|0)|0;t[v+264>>2]=2;if((n|0)<(i|0)){n=KF(h<<4)|0;i=0;while(1){if((i|0)>=(h|0)){i=h;break e}b=i+u|0;c[n+(i<<4)>>3]=+c[w+(b<<4)>>3]+r;c[n+(i<<4)+8>>3]=+c[w+(b<<4)+8>>3]+k;i=i+1|0}}else{o=(n|0)/(i|0)|0;n=KF(i<<4)|0;l=0;s=0;while(1){if((l|0)>=(i|0))break e;h=s+u|0;c[n+(l<<4)>>3]=+c[w+(h<<4)>>3]+r;c[n+(l<<4)+8>>3]=+c[w+(h<<4)+8>>3]+k;l=l+1|0;s=s+o|0}}}else g=31}else g=31}while(0);if((g|0)==31){t[v+264>>2]=0;n=KF(32)|0;i=t[s>>2]|0;c[n>>3]=r-+c[i+88>>3];p=+c[i+80>>3]*.5;c[n+8>>3]=k-p;c[n+16>>3]=+c[i+96>>3]+r;c[n+24>>3]=p+k;i=2}if(!(d&8192))Dr(e,n,n,i)|0;t[v+272>>2]=n;t[v+268>>2]=i}}while(0);Ca(Hw(A,100032)|0);Xr(e,A);return}function XY(e){e=e|0;Sr(e);AB(e);return}function SY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+144|0;s=o;a=Hw(r,141055)|0;l=Hw(r,141101)|0;c=Hw(r,141088)|0;cw(s,128,o+16|0);if(!A)f=0;else f=t[A>>2]|0;if(!((a|0)!=0?(i[a>>0]|0)!=0:0))a=Hw(r,111477)|0;n=iB(e,r,s)|0;if(!l)A=0;else A=IY(l,r)|0;rB(e,f,a,A,c,n,r)|0;G2(A);hw(s);h=o;return}function jY(e){e=e|0;var A=0,r=0;e=vx(e,t[47157]|0,195059)|0;e:do{if(!(i[e>>0]|0))e=0;else{JB(e)|0;e=0;A=188228;while(1){r=t[A>>2]|0;if(!r)break e;r=(e1(r,111101)|0)==0;e=r?1:e;A=A+4|0}}}while(0);return e|0}function UY(e){e=e|0;var A=0.0;if(((t[e+8>>2]|0)==4?(A=+c[e+16>>3],((~~(A+(A>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+c[e+24>>3]==0.0:0)e=+c[e+32>>3]==0.0&1;else e=0;return e|0}function TY(e,A,r){e=+e;A=+A;r=r|0;var i=0.0,a=0,t=0.0,n=0;t=6.283185307179586/+(r|0);n=KF(r<<4)|0;i=0.0;a=0;while(1){if((a|0)>=(r|0))break;c[n+(a<<4)>>3]=+W(+i)*e;c[n+(a<<4)+8>>3]=+Y(+i)*A;i=i+t;a=a+1|0}return n|0}function OY(e,A){e=e|0;A=A|0;var r=0;e:do{if((t[e+156>>2]|0)>=2?(r=dx(A,zw(A,0,101510,0)|0,195059)|0,(MY(e,r)|0)<<24>>24==0):0)if(!(i[r>>0]|0)){r=sd(A)|0;while(1){if(!r){r=0;break e}if((JY(e,A,r)|0)<<24>>24){r=1;break e}r=cd(A,r)|0}}else r=0;else r=1}while(0);return r|0}function _Y(e,A){e=e|0;A=A|0;var r=0;r=eB(e)|0;t[r+4>>2]=1;t[r+8>>2]=A;t[r+12>>2]=1;SY(e,t[(t[A+16>>2]|0)+12>>2]|0,A);Nr(e,A);return}function qY(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;e=Hw(e,141082)|0;e:do{if((e|0)!=0?(i[e>>0]|0)!=0:0){JB(e)|0;r=188228;e=0;while(1){while(1){a=t[r>>2]|0;if(!a){r=188228;break e}if(!(e1(a,111101)|0)){n=10;break}if(!(e1(a,106334)|0)){a=r;n=12;break}if(!(e1(a,106341)|0)){a=r;n=14;break}if(!(e1(a,106316)|0)){a=r;n=16;break}r=r+4|0}if((n|0)==10){r=r+4|0;e=e|1;continue}else if((n|0)==12){while(1){f=a;a=a+4|0;n=t[a>>2]|0;t[f>>2]=n;if(!n)break;else n=12}e=e|3;continue}else if((n|0)==14){while(1){n=a;a=a+4|0;f=t[a>>2]|0;t[n>>2]=f;if(!f)break;else n=14}e=e|64;continue}else if((n|0)==16){while(1){n=a;a=a+4|0;f=t[a>>2]|0;t[n>>2]=f;if(!f)break;else n=16}e=e|4;continue}}}else{r=0;e=0}}while(0);t[A>>2]=e;return r|0}function KY(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,c=0,o=0;c=h;h=h+16|0;f=c;l=c+4|0;t[l>>2]=0;o=(nB(e,0,l)|0)==0;l=t[l>>2]|0;if((o?(a=t[l>>2]|0,(a|0)>=2):0)?(n=l+8|0,(t[t[n>>2]>>2]|0)!=0):0){if((a|0)>2)nw(0,100415,f)|0;o=$F((U2(e)|0)+1|0)|0;t[A>>2]=o;$1(o,t[t[n>>2]>>2]|0)|0;if(!(t[(t[n>>2]|0)+12>>2]|0))t[A+4>>2]=0;else{o=t[A>>2]|0;o=o+((U2(o)|0)+1)|0;t[A+4>>2]=o;$1(o,t[(t[n>>2]|0)+12>>2]|0)|0}e=t[n>>2]|0;do{if(!(i[e+8>>0]|0))if(!(i[e+20>>0]|0)){s[r>>2]=0.0;break}else{s[r>>2]=1.0-+s[e+16>>2];break}else t[r>>2]=t[e+4>>2]}while(0);fB(l);e=1}else{t[A>>2]=0;fB(l);e=0}h=c;return e|0}function $Y(e,A){e=e|0;A=A|0;Rr(e,A);AB(e);return}function eF(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0.0,o=0.0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;B=h;h=h+96|0;w=B+48|0;v=B+16|0;E=B+8|0;p=B;g=B+80|0;t[g>>2]=1e3;a=$F(16e3)|0;m=e+256|0;i=1;f=1;n=0;k=0;d=t[A+8>>2]|0;while(1){if((k|0)>=(t[A>>2]|0))break;r=t[d>>2]|0;e:do{switch(r|0){case 1:case 0:{u=d+80|0;t[v>>2]=t[u>>2];t[v+4>>2]=t[u+4>>2];t[v+8>>2]=t[u+8>>2];t[v+12>>2]=t[u+12>>2];t[v+16>>2]=t[u+16>>2];t[v+20>>2]=t[u+20>>2];t[v+24>>2]=t[u+24>>2];t[v+28>>2]=t[u+28>>2];t[w>>2]=t[m>>2];t[w+4>>2]=t[m+4>>2];t[w+8>>2]=t[m+8>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[m+16>>2];t[w+20>>2]=t[m+20>>2];t[w+24>>2]=t[m+24>>2];t[w+28>>2]=t[m+28>>2];if(!(xY(v,w)|0))r=f;else{C=d+8|0;I=d+24|0;c[a>>3]=+c[C>>3]-+c[I>>3];u=d+16|0;y=d+32|0;c[a+8>>3]=+c[u>>3]-+c[y>>3];c[a+16>>3]=+c[I>>3]+ +c[C>>3];c[a+24>>3]=+c[y>>3]+ +c[u>>3];ai(e,a,2,(r|0)==0?f:0);r=f}break}case 3:case 2:{I=d+80|0;t[v>>2]=t[I>>2];t[v+4>>2]=t[I+4>>2];t[v+8>>2]=t[I+8>>2];t[v+12>>2]=t[I+12>>2];t[v+16>>2]=t[I+16>>2];t[v+20>>2]=t[I+20>>2];t[v+24>>2]=t[I+24>>2];t[v+28>>2]=t[I+28>>2];t[w>>2]=t[m>>2];t[w+4>>2]=t[m+4>>2];t[w+8>>2]=t[m+8>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[m+16>>2];t[w+20>>2]=t[m+20>>2];t[w+24>>2]=t[m+24>>2];t[w+28>>2]=t[m+28>>2];if(!(xY(v,w)|0))r=f;else{r=d+8|0;a=AF(a,g,t[r+4>>2]|0,t[r>>2]|0)|0;ti(e,a,t[r>>2]|0,(t[d>>2]|0)==2?f:0);r=f}break}case 5:case 4:{I=d+80|0;t[v>>2]=t[I>>2];t[v+4>>2]=t[I+4>>2];t[v+8>>2]=t[I+8>>2];t[v+12>>2]=t[I+12>>2];t[v+16>>2]=t[I+16>>2];t[v+20>>2]=t[I+20>>2];t[v+24>>2]=t[I+24>>2];t[v+28>>2]=t[I+28>>2];t[w>>2]=t[m>>2];t[w+4>>2]=t[m+4>>2];t[w+8>>2]=t[m+8>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[m+16>>2];t[w+20>>2]=t[m+20>>2];t[w+24>>2]=t[m+24>>2];t[w+28>>2]=t[m+28>>2];if(!(xY(v,w)|0))r=f;else{r=d+8|0;a=AF(a,g,t[r+4>>2]|0,t[r>>2]|0)|0;fi(e,a,t[r>>2]|0,0,0,(t[d>>2]|0)==4?f&255:0);r=f}break}case 6:{I=d+80|0;t[v>>2]=t[I>>2];t[v+4>>2]=t[I+4>>2];t[v+8>>2]=t[I+8>>2];t[v+12>>2]=t[I+12>>2];t[v+16>>2]=t[I+16>>2];t[v+20>>2]=t[I+20>>2];t[v+24>>2]=t[I+24>>2];t[v+28>>2]=t[I+28>>2];t[w>>2]=t[m>>2];t[w+4>>2]=t[m+4>>2];t[w+8>>2]=t[m+8>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[m+16>>2];t[w+20>>2]=t[m+20>>2];t[w+24>>2]=t[m+24>>2];t[w+28>>2]=t[m+28>>2];if(!(xY(v,w)|0))r=f;else{r=d+8|0;a=AF(a,g,t[r+4>>2]|0,t[r>>2]|0)|0;li(e,a,t[r>>2]|0);r=f}break}case 7:{I=d+80|0;t[v>>2]=t[I>>2];t[v+4>>2]=t[I+4>>2];t[v+8>>2]=t[I+8>>2];t[v+12>>2]=t[I+12>>2];t[v+16>>2]=t[I+16>>2];t[v+20>>2]=t[I+20>>2];t[v+24>>2]=t[I+24>>2];t[v+28>>2]=t[I+28>>2];t[w>>2]=t[m>>2];t[w+4>>2]=t[m+4>>2];t[w+8>>2]=t[m+8>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[m+16>>2];t[w+20>>2]=t[m+20>>2];t[w+24>>2]=t[m+24>>2];t[w+28>>2]=t[m+28>>2];if(!(xY(v,w)|0))r=f;else{c[a>>3]=+c[d+8>>3];c[a+8>>3]=+c[d+16>>3];r=t[d+112>>2]|0;t[w>>2]=t[a>>2];t[w+4>>2]=t[a+4>>2];t[w+8>>2]=t[a+8>>2];t[w+12>>2]=t[a+12>>2];Kr(e,w,r);r=f}break}case 8:{Ai(e,t[d+8>>2]|0);r=1;break}case 9:{$r(e,t[d+8>>2]|0);r=1;break}case 13:{if((t[d+8>>2]|0)!=2){r=d+16|0;C=t[r+36>>2]|0;I=t[C+12>>2]|0;b=+s[C+8>>2];r=~~(+R(+(+c[d+40>>3]-+c[d+24>>3]),+(+c[d+32>>3]-+c[r>>3]))*57.29577951308232);Ai(e,t[C+4>>2]|0);ri(e,I,r,b);r=2;break e}I=t[d+68>>2]|0;f=t[I+4>>2]|0;u=t[I+12>>2]|0;b=+s[I+8>>2];l=+c[d+40>>3];o=+c[d+16>>3];if(l==o?+c[d+48>>3]==+c[d+24>>3]:0)r=0;else r=~~(+M(+((o-l)/+c[d+32>>3]))*57.29577951308232);Ai(e,f);ri(e,u,r,b);r=3;break}case 14:{nw(0,100481,p)|0;r=f;break}case 12:{if(!i){i=0;r=f}else{nw(0,100521,E)|0;i=0;r=f}break}case 11:{JB(t[d+8>>2]|0)|0;ii(e,188228);n=188228;r=f;break}default:r=f}}while(0);f=r;k=k+1|0;d=d+120|0}if(n|0)ii(e,t[(t[e>>2]|0)+336>>2]|0);G2(a);h=B;return}function AF(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=t[A>>2]|0;a=n<<1;a=(a|0)>(i|0)?a:i;if((n|0)<(i|0)){e=AM(e,a<<4)|0;t[A>>2]=a}A=0;while(1){if((A|0)>=(i|0))break;c[e+(A<<4)>>3]=+c[r+(A*24|0)>>3];c[e+(A<<4)+8>>3]=+c[r+(A*24|0)+8>>3];A=A+1|0}return e|0}function rF(e,A){e=e|0;A=A|0;var r=0;r=t[A>>2]|0;t[e>>2]=t[A+4>>2];t[e+4>>2]=r;return}function iF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;n=A+16|0;a=1;while(1){A=t[n>>2]|0;if((a|0)>(t[A+180>>2]|0))break;r=t[(t[A+184>>2]|0)+(a<<2)>>2]|0;iF(e,r);A=Hw(r,140823)|0;if(A|0?i[A>>0]|0:0)$r(e,A);A=Hw(r,137729)|0;if(A|0?i[A>>0]|0:0)$r(e,A);A=Hw(r,140977)|0;if(A|0?i[A>>0]|0:0)$r(e,A);A=Hw(r,101418)|0;if(A|0?i[A>>0]|0:0)Ai(e,A);A=Hw(r,101446)|0;if(A|0?i[A>>0]|0:0)$r(e,A);a=a+1|0}return}function aF(e){e=e|0;var A=0,r=0,i=0;A=t[47127]|0;if(!A){A=Uh(20628,t[4581]|0)|0;t[47127]=A}if(!(L5[t[A>>2]&63](A,e,4)|0)){r=t[47127]|0;i=t[r>>2]|0;A=o3(e)|0;L5[i&63](r,A,1)|0;A=1}else A=0;return A|0}function tF(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function nF(e){e=e|0;var A=0;A=t[47128]|0;if(!e){if((A|0)>0?(A=A+-1|0,t[47128]=A,(A|0)==0):0){W4(1,t[47129]|0)|0;G2(t[47129]|0)}}else{t[47128]=A+1;if(!A){t[47129]=o3(W4(1,0)|0)|0;W4(1,153563)|0}}return}function fF(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0.0;m=h;h=h+96|0;d=m+72|0;k=m+56|0;w=m+48|0;g=m+32|0;v=m+24|0;i=m+8|0;r=m;if(0)lx();do{if((Sd(A,137483,0,1)|0)!=0?(b=A+16|0,(t[(t[b>>2]|0)+8>>2]|0)!=0):0){lF(A);sF(e,A);cF(e,A);nF(1);l=e+56|0;s=e+184|0;o=e+192|0;u=e+28|0;f=Qm(e)|0;e:while(1){if(!f){n=33;break}r=t[l>>2]|0;if(!r){t[f+20>>2]=0;r=0}else{t[f+20>>2]=t[r+8>>2];r=t[r+12>>2]|0}t[f+24>>2]=r;t[f+12>>2]=e;t[f+28>>2]=t[s>>2];t[f+620>>2]=25764;t[f+624>>2]=14;if(!(t[(t[b>>2]|0)+8>>2]|0)){n=13;break}i=f+52|0;n=Zr(f,t[i>>2]|0)|0;t[f+56>>2]=n;switch(n|0){case 999:{n=16;break e}case 21:{r=1;break}case 24:{r=520;break}default:r=oF(A)|0}a=f+152|0;t[a>>2]=t[a>>2]|r;r=t[o>>2]|0;do{if(!r)n=24;else{if(t[r+152>>2]&32|0?(e1(t[i>>2]|0,t[r+52>>2]|0)|0)==0:0){r=t[47130]|0;if(!r){n=27;break}t[r+8>>2]=f;t[f+36>>2]=t[r+36>>2];n=29;break}Lr(r);t[o>>2]=0;t[u>>2]=0;n=24}}while(0);if((n|0)==24){t[47130]=0;n=27}if((n|0)==27?(n=0,(Gr(f)|0)==0):0){t[o>>2]=f;n=29}if((n|0)==29){t[f+8>>2]=0;t[f+104>>2]=25876;uF(f);bF(f);hF(f,A);wF(f,A);kF(f,A);if(!(t[a>>2]&128))vB(f,A);t[47130]=f}f=Dm(e)|0}if((n|0)==13){nw(1,100679,v)|0;nF(0);if(!0){r=-1;break}r=t[15712]|0;v=Mk(A)|0;p=+sx();t[g>>2]=v;c[g+8>>3]=p;a3(r,100650,g)|0;r=-1;break}else if((n|0)==16){t[w>>2]=t[i>>2];nw(1,100700,w)|0;nF(0);if(!0){r=-1;break}r=t[15712]|0;g=Mk(A)|0;p=+sx();t[k>>2]=g;c[k+8>>3]=p;a3(r,100650,k)|0;r=-1;break}else if((n|0)==33){nF(0);if(!0){r=0;break}r=t[15712]|0;g=Mk(A)|0;p=+sx();t[d>>2]=g;c[d+8>>3]=p;a3(r,100650,d)|0;r=0;break}}else n=5}while(0);if((n|0)==5){nw(1,100602,r)|0;if(!0)r=-1;else{r=t[15712]|0;g=Mk(A)|0;p=+sx();t[i>>2]=g;c[i+8>>3]=p;a3(r,100650,i)|0;r=-1}}h=m;return r|0}function lF(e){e=e|0;var A=0;A=sd(e)|0;while(1){if(!A)break;pF(e,A);A=cd(e,A)|0}return}function sF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0.0;b=h;h=h+32|0;s=b+24|0;a=b+16|0;l=b+8|0;u=b;t[e+168>>2]=A;n=e+293|0;i[n>>0]=0;r=Hw(A,105496)|0;if(r|0?(t[a>>2]=l,t[a+4>>2]=u,f=V3(r,105503,a)|0,(f|0)>0):0){w=+c[l>>3]*72.0;r=e+208|0;c[r>>3]=w;c[e+200>>3]=w;if((f|0)!=1)c[r>>3]=+c[u>>3]*72.0;i[n>>0]=1}a=e+292|0;i[a>>0]=0;r=Hw(A,101102)|0;if(r|0?(t[s>>2]=l,t[s+4>>2]=u,o=V3(r,105503,s)|0,(o|0)>0):0){w=+c[l>>3]*72.0;r=e+224|0;c[r>>3]=w;c[e+216>>3]=w;if((o|0)!=1)c[r>>3]=+c[u>>3]*72.0;i[a>>0]=1}r=e+294|0;i[r>>0]=0;a=e+232|0;n=A+16|0;u=(t[(t[n>>2]|0)+8>>2]|0)+48|0;t[a>>2]=t[u>>2];t[a+4>>2]=t[u+4>>2];t[a+8>>2]=t[u+8>>2];t[a+12>>2]=t[u+12>>2];a=t[(t[n>>2]|0)+8>>2]|0;if(+c[a+48>>3]>.001?+c[a+56>>3]>.001:0)i[r>>0]=1;t[e+288>>2]=i[a+81>>0]|0?90:0;r=e+196|0;t[r>>2]=101106;a=Hw(A,101109)|0;if(a|0?i[a>>0]|0:0)t[r>>2]=a;u=e+256|0;o=(t[n>>2]|0)+16|0;t[u>>2]=t[o>>2];t[u+4>>2]=t[o+4>>2];t[u+8>>2]=t[o+8>>2];t[u+12>>2]=t[o+12>>2];t[u+16>>2]=t[o+16>>2];t[u+20>>2]=t[o+20>>2];t[u+24>>2]=t[o+24>>2];t[u+28>>2]=t[o+28>>2];t[47141]=zw(A,0,101472,0)|0;t[47142]=zw(A,0,101463,0)|0;t[e+320>>2]=vx(0,t[47151]|0,107994)|0;c[e+328>>3]=+wx(0,t[47150]|0,14.0,1.0);t[e+336>>2]=20664;t[e+188>>2]=Mk(A)|0;h=b;return}function cF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;r=e+304|0;a=t[r>>2]|0;if(a|0){G2(a);t[r>>2]=0}a=e+308|0;r=t[a>>2]|0;if(r|0){G2(r);t[a>>2]=0}n=e+316|0;r=t[n>>2]|0;if(r|0){G2(r);t[n>>2]=0}r=Hw(A,100853)|0;if(r){t[e+312>>2]=gF(e,A,r)|0;r=Hw(A,100860)|0;if(r|0?i[r>>0]|0:0)t[n>>2]=mF(e,r)|0}else{t[a>>2]=0;t[e+312>>2]=1}return}function oF(e){e=e|0;e=Hw(e,100821)|0;e:do{if(!e)e=0;else switch(i[e>>0]|0){case 110:{if(!(e1(e+1|0,100833)|0))e=1;else{e=0;break e}break}case 101:{if(!(e1(e+1|0,100843)|0))e=16;else{e=0;break e}break}default:{e=0;break e}}}while(0);return e|0}function uF(e){e=e|0;var A=0.0,r=0;r=t[e>>2]|0;if(!(i[r+292>>0]|0)){if((t[e+56>>2]|0)==300)A=+c[(t[e+68>>2]|0)+8>>3];else A=4.0;c[e+248>>3]=A;c[e+240>>3]=A}else{e=e+240|0;r=r+216|0;t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2]}return}function bF(e){e=e|0;var A=0;A=t[e>>2]|0;e:do{if(!(i[A+293>>0]|0))switch(t[e+56>>2]|0){case 300:{A=e+416|0;e=(t[e+84>>2]|0)+8|0;t[A>>2]=t[e>>2];t[A+4>>2]=t[e+4>>2];t[A+8>>2]=t[e+8>>2];t[A+12>>2]=t[e+12>>2];break e}case 30:case 21:case 22:case 4:case 3:case 2:{c[e+424>>3]=36.0;c[e+416>>3]=36.0;break e}default:{A=e+416|0;t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;break e}}else{e=e+416|0;A=A+200|0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2]}}while(0);return}function hF(e,A){e=e|0;A=A|0;var r=0.0,a=0;a=t[(t[e>>2]|0)+192>>2]|0;r=+c[(t[(t[A+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(r!=0.0)){if(a|0?i[a+128>>0]|0:0){e=e+432|0;a=a+112|0;t[e>>2]=t[a>>2];t[e+4>>2]=t[a+4>>2];t[e+8>>2]=t[a+8>>2];t[e+12>>2]=t[a+12>>2];break}A=e+432|0;if((t[e+56>>2]|0)==300){e=(t[e+84>>2]|0)+40|0;t[A>>2]=t[e>>2];t[A+4>>2]=t[e+4>>2];t[A+8>>2]=t[e+8>>2];t[A+12>>2]=t[e+12>>2];break}else{c[e+440>>3]=96.0;c[A>>3]=96.0;break}}else{c[e+440>>3]=r;c[e+432>>3]=r}}while(0);return}function wF(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;I=h;h=h+112|0;g=I+80|0;m=I+56|0;v=I+40|0;p=I+32|0;E=I+24|0;B=I+16|0;y=I+8|0;C=I;o=t[e>>2]|0;b=+c[o+272>>3];k=+c[o+280>>3];w=+c[o+256>>3];d=+c[o+264>>3];a=+c[e+240>>3];r=w-a;c[e+208>>3]=r;f=+c[e+248>>3];l=d-f;c[e+216>>3]=l;a=a+b;c[e+224>>3]=a;f=f+k;c[e+232>>3]=f;r=a-r;l=f-l;c[B>>3]=1.0;n=t[(t[A+16>>2]|0)+8>>2]|0;f=+c[n+64>>3];do{if(f>.001?(s=+c[n+72>>3],s>.001):0){r=r==0.0?f:r;a=l==0.0?s:l;if(!(fa&(f>r&(i[n+80>>0]|0)!=0)):0){s=r;l=a;f=1.0;break}u=f/r>3]=f;s=r;l=a}else{s=r;f=1.0}}while(0);a=(w+b)*.5;c[y>>3]=a;r=(d+k)*.5;c[C>>3]=r;t[e+360>>2]=t[o+288>>2];s=f*s;c[p>>3]=s;l=f*l;c[E>>3]=l;n=Hw(A,100752)|0;if(n){o=Z2((U2(n)|0)+1|0)|0;u=Z2((U2(n)|0)+1|0)|0;t[v>>2]=p;t[v+4>>2]=E;t[v+8>>2]=B;t[v+12>>2]=o;do{if((V3(n,100761,v)|0)==4){n=gd(t[A+60>>2]|0,o,0)|0;if(n|0){m=t[n+16>>2]|0;c[y>>3]=+c[m+16>>3];c[C>>3]=+c[m+24>>3]}}else{t[m>>2]=p;t[m+4>>2]=E;t[m+8>>2]=B;t[m+12>>2]=o;t[m+16>>2]=u;if((V3(n,100781,m)|0)!=4){t[g>>2]=p;t[g+4>>2]=E;t[g+8>>2]=B;t[g+12>>2]=y;t[g+16>>2]=C;V3(n,100801,g)|0;break}n=gd(t[A+60>>2]|0,o,0)|0;if(n|0){m=t[n+16>>2]|0;c[y>>3]=+c[m+16>>3];c[C>>3]=+c[m+24>>3]}}}while(0);G2(o);G2(u);s=+c[p>>3];l=+c[E>>3];f=+c[B>>3];a=+c[y>>3];r=+c[C>>3]}c[e+368>>3]=s;c[e+376>>3]=l;c[e+352>>3]=f;c[e+336>>3]=a;c[e+344>>3]=r;h=I;return}function kF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0.0,f=0.0,l=0,s=0.0,o=0.0,u=0.0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0.0,x=0.0,J=0.0;N=h;h=h+224|0;F=N+200|0;C=N+168|0;Q=N+144|0;Y=N+120|0;D=N+96|0;z=N+64|0;r=N+184|0;p=N+176|0;E=N+160|0;y=N+136|0;B=N+112|0;I=N+80|0;Z=N+48|0;G=N+32|0;L=N+16|0;M=N+8|0;V=N;m=t[e>>2]|0;t[z>>2]=0;t[z+4>>2]=0;t[z+8>>2]=0;t[z+12>>2]=0;W=e+368|0;t[Y>>2]=t[W>>2];t[Y+4>>2]=t[W+4>>2];t[Y+8>>2]=t[W+8>>2];t[Y+12>>2]=t[W+12>>2];W=e+360|0;if(t[W>>2]|0){t[F>>2]=t[Y>>2];t[F+4>>2]=t[Y+4>>2];t[F+8>>2]=t[Y+8>>2];t[F+12>>2]=t[Y+12>>2];dF(r,F);t[Y>>2]=t[r>>2];t[Y+4>>2]=t[r+4>>2];t[Y+8>>2]=t[r+8>>2];t[Y+12>>2]=t[r+12>>2]}g=e+416|0;t[D>>2]=t[g>>2];t[D+4>>2]=t[g+4>>2];t[D+8>>2]=t[g+8>>2];t[D+12>>2]=t[g+12>>2];if((i[m+294>>0]|0)!=0?(t[e+152>>2]&32|0)!=0:0){f=+c[m+232>>3]-+c[D>>3]*2.0;c[Q>>3]=f;s=+c[m+240>>3]-+c[D+8>>3]*2.0;w=Q+8|0;c[w>>3]=s;if(!(f<.0001)){b=+c[Y>>3];r=~~(b/f);a=e+164|0;t[a>>2]=r;if(b-f*+(r|0)>.0001){r=r+1|0;t[a>>2]=r}}else{t[e+164>>2]=1;r=1}if(!(s<.0001)){n=+c[Y+8>>3];a=~~(n/s);l=e+168|0;t[l>>2]=a;if(n-s*+(a|0)>.0001){a=a+1|0;t[l>>2]=a}}else{t[e+168>>2]=1;a=1;n=+c[Y+8>>3]}t[e+204>>2]=P(a,r)|0;b=+c[(+c[Y>>3]>3];c[Y>>3]=b;r=w;a=Y;o=+c[(n>3];n=b;l=21}else{if(t[e+68>>2]|0){r=t[e+84>>2]|0;f=+c[r+24>>3]-+c[D>>3]*2.0;f=f<0.0?0.0:f;c[Q>>3]=f;b=+c[r+32>>3]-+c[D+8>>3]*2.0;r=Q+8|0;c[r>>3]=b;if(b<0.0){a=Q;l=17}else r=Q}else{c[Q+8>>3]=0.0;a=Q;r=Q;l=17}if((l|0)==17){c[r>>3]=0.0;r=a;f=+c[a>>3]}t[e+204>>2]=1;t[e+168>>2]=1;t[e+164>>2]=1;n=+c[Y>>3];if(f>3]=n;f=n}r=Q+8|0;s=+c[r>>3];o=+c[Y+8>>3];if(s>3]=o;d=r;o=+c[r>>3]}u=+c[D>>3];v=e+432|0;s=+c[v>>3]*.013888888888888888*(u*2.0+f);t[e+448>>2]=~~(s+(s>=0.0?.5:-.5));k=D+8|0;s=+c[k>>3];g=e+440|0;b=+c[g>>3]*.013888888888888888*(s*2.0+o);t[e+452>>2]=~~(b+(b>=0.0?.5:-.5));l=e+188|0;w=e+180|0;r=e+172|0;a=m+196|0;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;t[r+12>>2]=0;t[r+16>>2]=0;t[r+20>>2]=0;vF(p,e,i[t[a>>2]>>0]|0);m=p;p=t[m+4>>2]|0;r=w;t[r>>2]=t[m>>2];t[r+4>>2]=p;vF(E,e,i[(t[a>>2]|0)+1>>0]|0);r=E;E=t[r>>2]|0;r=t[r+4>>2]|0;p=l;t[p>>2]=E;t[p+4>>2]=r;E=(t[w>>2]|0)+E|0;if(!((((E|0)>-1?E:0-E|0)|0)==1?(E=(t[e+184>>2]|0)+r|0,(((E|0)>-1?E:0-E|0)|0)==1):0)){vF(y,e,66);p=y;y=t[p+4>>2]|0;E=w;t[E>>2]=t[p>>2];t[E+4>>2]=y;vF(B,e,76);E=B;B=t[E+4>>2]|0;y=l;t[y>>2]=t[E>>2];t[y+4>>2]=B;t[C>>2]=t[a>>2];nw(0,100732,C)|0}if(i[(t[(t[A+16>>2]|0)+8>>2]|0)+82>>0]|0){if(f>n){o=(f-n)*.5;c[z>>3]=o}else o=0.0;f=+c[d>>3];b=+c[Y+8>>3];if(f>b){f=(f-b)*.5;c[z+8>>3]=f}else f=0.0}else{f=0.0;o=0.0}if(!(t[W>>2]|0))l=1;else{t[F>>2]=t[Y>>2];t[F+4>>2]=t[Y+4>>2];t[F+8>>2]=t[Y+8>>2];t[F+12>>2]=t[Y+12>>2];dF(I,F);t[Y>>2]=t[I>>2];t[Y+4>>2]=t[I+4>>2];t[Y+8>>2]=t[I+8>>2];t[Y+12>>2]=t[I+12>>2];t[F>>2]=t[Q>>2];t[F+4>>2]=t[Q+4>>2];t[F+8>>2]=t[Q+8>>2];t[F+12>>2]=t[Q+12>>2];dF(Z,F);t[Q>>2]=t[Z>>2];t[Q+4>>2]=t[Z+4>>2];t[Q+8>>2]=t[Z+8>>2];t[Q+12>>2]=t[Z+12>>2];t[F>>2]=t[D>>2];t[F+4>>2]=t[D+4>>2];t[F+8>>2]=t[D+8>>2];t[F+12>>2]=t[D+12>>2];dF(G,F);t[D>>2]=t[G>>2];t[D+4>>2]=t[G+4>>2];t[D+8>>2]=t[G+8>>2];t[D+12>>2]=t[G+12>>2];t[F>>2]=t[z>>2];t[F+4>>2]=t[z+4>>2];t[F+8>>2]=t[z+8>>2];t[F+12>>2]=t[z+12>>2];dF(L,F);t[z>>2]=t[L>>2];t[z+4>>2]=t[L+4>>2];t[z+8>>2]=t[L+8>>2];t[z+12>>2]=t[L+12>>2];u=+c[D>>3];o=+c[z>>3];s=+c[k>>3];f=+c[z+8>>3];n=+c[Y>>3];l=(t[W>>2]|0)==0}b=o+u;c[e+384>>3]=b;x=f+s;c[e+392>>3]=x;R=o+u+n;c[e+400>>3]=R;J=+c[Y+8>>3];u=f+s+J;c[e+408>>3]=u;o=+c[e+352>>3];c[e+320>>3]=n/o;c[e+328>>3]=J/o;o=+c[v>>3];b=b*.013888888888888888*o;a=e+456|0;t[a>>2]=~~(b+(b>=0.0?.5:-.5));b=+c[g>>3];s=x*.013888888888888888*b;t[e+460>>2]=~~(s+(s>=0.0?.5:-.5));o=R*.013888888888888888*o;r=e+464|0;t[r>>2]=~~(o+(o>=0.0?.5:-.5));b=u*.013888888888888888*b;t[e+468>>2]=~~(b+(b>=0.0?.5:-.5));if(!l){t[F>>2]=t[a>>2];t[F+4>>2]=t[a+4>>2];rF(M,F);Y=M;M=t[Y+4>>2]|0;e=a;t[e>>2]=t[Y>>2];t[e+4>>2]=M;t[F>>2]=t[r>>2];t[F+4>>2]=t[r+4>>2];rF(V,F);e=V;M=t[e+4>>2]|0;V=r;t[V>>2]=t[e>>2];t[V+4>>2]=M}h=N;return}function dF(e,A){e=e|0;A=A|0;var r=0.0;r=+c[A>>3];c[e>>3]=+c[A+8>>3];c[e+8>>3]=r;return}function vF(e,A,r){e=e|0;A=A|0;r=r|0;r=(r<<24>>24)+-66|0;switch(r>>>1|r<<31|0){case 9:{t[A+176>>2]=(t[A+168>>2]|0)+-1;A=0;r=-1;break}case 0:{A=0;r=1;break}case 5:{A=1;r=0;break}case 8:{t[A+172>>2]=(t[A+164>>2]|0)+-1;A=-1;r=0;break}default:{A=0;r=0}}t[e>>2]=A;t[e+4>>2]=r;return}function gF(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;s=h;h=h+16|0;n=s;a=Hw(A,100973)|0;l=e+296|0;t[l>>2]=(a|0)==0?100982:a;A=Hw(A,100986)|0;a=e+300|0;A=(A|0)==0?100999:A;t[a>>2]=A;A=h3(t[l>>2]|0,A)|0;if(A|0){t[n>>2]=i[A>>0];nw(0,101001,n)|0;t[a>>2]=195059}A=o3(r)|0;t[e+304>>2]=A;f=e+308|0;a=0;e=0;while(1){r=l3(A,t[l>>2]|0)|0;if(!r)break;n=e+1|0;if((e|0)<(a|0))A=t[f>>2]|0;else{a=a+128|0;A=t[f>>2]|0;if(!A)A=$F(a<<2)|0;else A=AM(A,a<<2)|0;t[f>>2]=A}t[A+(n<<2)>>2]=r;e=n;A=0}if(e|0){l=AM(t[f>>2]|0,(e<<2)+8|0)|0;t[f>>2]=l;t[l>>2]=0;t[(t[f>>2]|0)+(e+1<<2)>>2]=0}h=s;return e|0}function mF(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c;l=e+312|0;r=$F((t[l>>2]<<2)+8|0)|0;i=0;f=1;while(1){n=t[l>>2]|0;if((f|0)>(n|0))break;a=i+1|0;if((VY(e,f,n,A)|0)<<24>>24){t[r+(a<<2)>>2]=f;i=a}f=f+1|0}if(!i){t[s>>2]=A;nw(0,100872,s)|0;G2(r);r=0}else{t[r>>2]=i;t[r+(i+1<<2)>>2]=(t[l>>2]|0)+1}h=c;return r|0}function pF(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0.0;r=t[A+16>>2]|0;n=+c[r+16>>3];c[r+48>>3]=n-+c[r+88>>3];i=+c[r+24>>3];a=+c[r+80>>3]*.5;c[r+56>>3]=i-a;c[r+64>>3]=+c[r+96>>3]+n;c[r+72>>3]=a+i;A=Ow(e,A)|0;while(1){if(!A)break;EF(A);A=qw(e,A)|0}return}function EF(e){e=e|0;e=t[(t[e+16>>2]|0)+8>>2]|0;if(e|0)BF(e);return}function BF(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0;G=h;h=h+240|0;p=G+192|0;m=G+176|0;E=G+64|0;B=G+32|0;y=G;C=G+144|0;I=G+112|0;Z=e+4|0;if((t[Z>>2]|0)<=0)ge(101140,99906,3994,101154);A=t[e>>2]|0;r=E;i=A;a=r+48|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(a|0));r=p;i=A;a=r+48|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(a|0));yF(B,p);f=B+8|0;l=y+8|0;s=B+16|0;o=y+16|0;u=B+24|0;b=y+24|0;w=E+8|0;k=E+12|0;d=E+32|0;v=E+4|0;g=E+16|0;n=0;while(1){if((n|0)>=(t[Z>>2]|0))break;if((n|0)>0){A=(t[e>>2]|0)+(n*48|0)|0;r=E;i=A;a=r+48|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(a|0));r=p;i=A;a=r+48|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(a|0));yF(y,p);c[B>>3]=+c[(+c[B>>3]<+c[y>>3]?B:y)>>3];c[f>>3]=+c[(+c[f>>3]<+c[l>>3]?B:y)+8>>3];c[s>>3]=+c[(+c[s>>3]>+c[o>>3]?B:y)+16>>3];c[u>>3]=+c[(+c[u>>3]>+c[b>>3]?B:y)+24>>3]}A=t[w>>2]|0;if(A|0){a=t[E>>2]|0;t[m>>2]=t[g>>2];t[m+4>>2]=t[g+4>>2];t[m+8>>2]=t[g+8>>2];t[m+12>>2]=t[g+12>>2];t[p>>2]=t[a>>2];t[p+4>>2]=t[a+4>>2];t[p+8>>2]=t[a+8>>2];t[p+12>>2]=t[a+12>>2];_E(C,m,p,1.0,A);t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];t[y+16>>2]=t[C+16>>2];t[y+20>>2]=t[C+20>>2];t[y+24>>2]=t[C+24>>2];t[y+28>>2]=t[C+28>>2];c[B>>3]=+c[(+c[B>>3]<+c[y>>3]?B:y)>>3];c[f>>3]=+c[(+c[f>>3]<+c[l>>3]?B:y)+8>>3];c[s>>3]=+c[(+c[s>>3]>+c[o>>3]?B:y)+16>>3];c[u>>3]=+c[(+c[u>>3]>+c[b>>3]?B:y)+24>>3]}A=t[k>>2]|0;if(A|0){a=(t[E>>2]|0)+((t[v>>2]|0)+-1<<4)|0;t[m>>2]=t[d>>2];t[m+4>>2]=t[d+4>>2];t[m+8>>2]=t[d+8>>2];t[m+12>>2]=t[d+12>>2];t[p>>2]=t[a>>2];t[p+4>>2]=t[a+4>>2];t[p+8>>2]=t[a+8>>2];t[p+12>>2]=t[a+12>>2];_E(I,m,p,1.0,A);t[y>>2]=t[I>>2];t[y+4>>2]=t[I+4>>2];t[y+8>>2]=t[I+8>>2];t[y+12>>2]=t[I+12>>2];t[y+16>>2]=t[I+16>>2];t[y+20>>2]=t[I+20>>2];t[y+24>>2]=t[I+24>>2];t[y+28>>2]=t[I+28>>2];c[B>>3]=+c[(+c[B>>3]<+c[y>>3]?B:y)>>3];c[f>>3]=+c[(+c[f>>3]<+c[l>>3]?B:y)+8>>3];c[s>>3]=+c[(+c[s>>3]>+c[o>>3]?B:y)+16>>3];c[u>>3]=+c[(+c[u>>3]>+c[b>>3]?B:y)+24>>3]}n=n+1|0}Z=e+8|0;t[Z>>2]=t[B>>2];t[Z+4>>2]=t[B+4>>2];t[Z+8>>2]=t[B+8>>2];t[Z+12>>2]=t[B+12>>2];t[Z+16>>2]=t[B+16>>2];t[Z+20>>2]=t[B+20>>2];t[Z+24>>2]=t[B+24>>2];t[Z+28>>2]=t[B+28>>2];h=G;return}function yF(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0.0,d=0.0,v=0.0,g=0;u=h;h=h+48|0;f=u+32|0;l=u;s=t[A+4>>2]|0;if((s|0)<=0)ge(101170,99906,3968,101182);if(((s>>>0)%3|0|0)!=1)ge(101192,99906,3969,101182);o=l+16|0;r=t[A>>2]|0;t[o>>2]=t[r>>2];t[o+4>>2]=t[r+4>>2];t[o+8>>2]=t[r+8>>2];t[o+12>>2]=t[r+12>>2];t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];i=f+8|0;a=l+8|0;n=l+24|0;A=1;while(1){if((A|0)>=(s|0))break;w=+c[r+(A<<4)+8>>3];g=A+1|0;b=+c[r+(g<<4)+8>>3];d=(+c[r+(g<<4)>>3]+ +c[r+(A<<4)>>3])*.5;c[f>>3]=d;w=(b+w)*.5;c[i>>3]=w;b=+c[(+c[l>>3]>3];c[l>>3]=b;v=+c[(+c[a>>3]>3];c[a>>3]=v;d=+c[(+c[o>>3]>d?o:f)>>3];c[o>>3]=d;w=+c[(+c[n>>3]>w?o:f)+8>>3];c[n>>3]=w;g=r+(A+2<<4)|0;t[f>>2]=t[g>>2];t[f+4>>2]=t[g+4>>2];t[f+8>>2]=t[g+8>>2];t[f+12>>2]=t[g+12>>2];k=+c[f>>3];c[l>>3]=+c[(b>3];b=+c[i>>3];c[a>>3]=+c[(v>3];c[o>>3]=+c[(d>k?o:f)>>3];c[n>>3]=+c[(w>b?o:f)+8>>3];A=A+3|0}t[e>>2]=t[l>>2];t[e+4>>2]=t[l+4>>2];t[e+8>>2]=t[l+8>>2];t[e+12>>2]=t[l+12>>2];t[e+16>>2]=t[l+16>>2];t[e+20>>2]=t[l+20>>2];t[e+24>>2]=t[l+24>>2];t[e+28>>2]=t[l+28>>2];h=u;return}function CF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,t=0.0,n=0.0,f=0,l=0.0,s=0,o=0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0,d=0.0;k=+c[e>>3];d=+c[r>>3];s=!(k>=d);if((!s?k<=+c[r+16>>3]:0)?(a=+c[e+8>>3],a>=+c[r+8>>3]):0)f=a<=+c[r+24>>3];else f=0;a=+c[A>>3];if((a>=d?a<=+c[r+16>>3]:0)?(t=+c[A+8>>3],t>=+c[r+8>>3]):0){i=t<=+c[r+24>>3];if(!(f^i))if(f&i)i=1;else o=11;else i=0}else if(f)i=0;else o=11;e:do{if((o|0)==11){w=+c[e+8>>3];do{if(k==a){d=+c[r+8>>3];if(!(s|w>=d^+c[A+8>>3]>=d^1)?k<=+c[r+16>>3]:0){i=0;break e}}else{l=+c[A+8>>3];if(w==l){if(!(k>=d^a>=d))break;if(!(w>=+c[r+8>>3]))break;if(!(w<=+c[r+24>>3]))break;else{i=0;break e}}h=(l-w)/(a-k);o=k>3];if(!(!(d>=n)|!(d<=a)|!(t>=u))?t<=+c[r+24>>3]:0){i=0;break e}b=+c[r+16>>3];t=(b-d)*h+t;if(t>=u?!(!(b<=a)|(b>=n?!(t<=+c[r+24>>3]):1)):0){i=0;break e}o=w=d?!(!(u<=t)|(!(u>=n)|!(a<=b))):0){i=0;break e}w=+c[r+24>>3];k=(w-u)/h+a;if(k>=d?!(!(w<=t)|(!(w>=n)|!(k<=b))):0){i=0;break e}}}while(0);i=-1}}while(0);return i|0}function IF(e){e=e|0;var A=0,r=0.0;A=e+16|0;r=+c[A>>3];c[e+32>>3]=r;c[e+48>>3]=r;c[e+40>>3]=+c[e+24>>3];c[e+56>>3]=+c[e+8>>3];c[A>>3]=+c[e>>3];return}function ZF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0.0,f=0.0;if((t[47131]|0)!=(r|0)){p1(+(r|0)*.15915494309189535,186328,186336);t[47131]=r}n=+c[A>>3];i=+c[23292];a=+c[A+8>>3];f=+c[23291];c[e>>3]=i*n-f*a;c[e+8>>3]=f*n+a*i;return}function GF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0.0,f=0,l=0,s=0;s=h;h=h+16|0;a=s;i=+c[A>>3];f=A+8|0;n=+c[f>>3];e:do{switch(r|0){case 0:{l=11;break}case 90:{c[A>>3]=n;i=-i;l=10;break}case 180:{i=-n;l=10;break}case 270:{c[A>>3]=n;l=10;break}default:{if((r|0)<0){t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];LF(e,a,0-r|0);break e}if((r|0)>360){t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];GF(e,a,(r>>>0)%360|0);break e}else{t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];ZF(e,a,r);break e}}}}while(0);if((l|0)==10){c[f>>3]=i;l=11}if((l|0)==11){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2]}h=s;return}function LF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0.0,f=0,l=0,s=0;s=h;h=h+16|0;a=s;i=+c[A>>3];f=A+8|0;n=+c[f>>3];e:do{switch(r|0){case 0:{l=11;break}case 90:{c[A>>3]=-n;l=10;break}case 180:{i=-n;l=10;break}case 270:{c[A>>3]=n;l=10;break}default:{if((r|0)<0){t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];GF(e,a,0-r|0);break e}if((r|0)>360){t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];LF(e,a,(r>>>0)%360|0);break e}else{t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];ZF(e,a,360-r|0);break e}}}}while(0);if((l|0)==10){c[f>>3]=i;l=11}if((l|0)==11){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2]}h=s;return}function QF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0;n=+c[r>>3];i=+c[r+8>>3];t=i+ +c[A>>3];a=n+ +c[A+24>>3];i=i+ +c[A+16>>3];c[e>>3]=n+ +c[A+8>>3];c[e+8>>3]=t;c[e+16>>3]=a;c[e+24>>3]=i;return}function DF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0;t=+c[e>>3];i=+c[A>>3]-t;n=+c[e+8>>3];a=+c[A+8>>3]-n;t=(+c[r+8>>3]-n)*i-(+c[r>>3]-t)*a;t=t*t;return+(t<1.0e-10?0.0:t/(a*a+i*i))}function zF(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=h;h=h+16|0;a=n+8|0;i=n;e=Hw(e,A)|0;if(e|0?(t[a>>2]=i,(V3(e,101209,a)|0)>0):0)c[r>>3]=+c[i>>3];h=n;return}function WF(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+16|0;n=u+8|0;f=u;r=KF(96)|0;o=e+16|0;t[(t[o>>2]|0)+8>>2]=r;r=Hw(e,101213)|0;if(!r){r=Te(101222)|0;if(r|0)s=3}else s=3;if((s|0)==3)tA(101234,r|0,1)|0;r=(YF(e)|0)&255;i[(t[o>>2]|0)+115>>0]=r;if(0==0?(r=Hw(e,101245)|0,t[47133]=r,(r|0)==0):0)t[47133]=t[47132];a=+wx(e,zw(e,0,101255,0)|0,0.0,0.0);c[t[(t[o>>2]|0)+8>>2]>>3]=a;r=Hw(e,101263)|0;e:do{if(!r)r=0;else{switch(i[r>>0]|0){case 76:{if(!(e1(r,101271)|0)){r=1;break e}break}case 66:{if(!(e1(r,101274)|0)){r=2;break e}break}case 82:{r=(e1(r,101277)|0)==0;r=r?3:0;break e}default:{r=0;break e}}r=0}}while(0);t[(t[o>>2]|0)+116>>2]=r<<2|(A<<24>>24==0?0:r);a=+wx(e,zw(e,0,101280,0)|0,.25,.02);c[f>>3]=a;a=a*72.0;t[(t[o>>2]|0)+248>>2]=~~(a+(a>=0.0?.5:-.5));r=dx(e,zw(e,0,101288,0)|0,0)|0;if(r){t[n>>2]=f;if(V3(r,101209,n)|0){a=+c[f>>3];if(a<.02){c[f>>3]=.02;a=.02}}else{c[f>>3]=.5;a=.5}if(R4(r,101296)|0)i[(t[o>>2]|0)+276>>0]=1}else{c[f>>3]=.5;a=.5}a=a*72.0;t[(t[o>>2]|0)+252>>2]=~~(a+(a>=0.0?.5:-.5));f=(hx(e,zw(e,0,101304,0)|0,0,0)|0)&255;i[(t[o>>2]|0)+243>>0]=f;f=zx(dx(e,zw(e,0,101314,0)|0,0)|0,20676,20692)|0;t[(t[o>>2]|0)+244>>2]=f;FF(e);f=MF(e,101324,(t[(t[o>>2]|0)+8>>2]|0)+64|0)|0;r=t[(t[o>>2]|0)+8>>2]|0;i[r+80>>0]=f;MF(e,101329,r+48|0)|0;r=mx(Hw(e,101334)|0)|0;i[(t[(t[o>>2]|0)+8>>2]|0)+82>>0]=r;r=Hw(e,101341)|0;do{if(!r){r=Hw(e,101348)|0;if(r|0){r=(i[r>>0]|32)<<24>>24==108&1;s=27;break}r=Hw(e,101360)|0;if(r|0){r=mx(r)|0;s=27}}else{r=(K3(r)|0)==90&1;s=27}}while(0);if((s|0)==27)i[(t[(t[o>>2]|0)+8>>2]|0)+81>>0]=r;t[47135]=zx(Hw(e,101370)|0,20708,20724)|0;i[194954]=mx(Hw(e,101382)|0)|0;t[47138]=0;t[47139]=0;c[(t[(t[o>>2]|0)+8>>2]|0)+24>>3]=0.0;r=Hw(e,101394)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0)s=32;else s=30;if(((s|0)==30?(l=Hw(e,101398)|0,l|0):0)?i[l>>0]|0:0){r=l;s=32}if((s|0)==32){a=+$3(r);c[(t[(t[o>>2]|0)+8>>2]|0)+24>>3]=a}VF(e);c[23295]=1.e+37;t[47140]=zw(e,0,101409,0)|0;t[47143]=zw(e,0,141034,0)|0;t[47144]=zw(e,0,105496,0)|0;t[47145]=zw(e,1,141048,0)|0;t[47146]=zw(e,1,141116,0)|0;t[47147]=zw(e,1,108230,0)|0;t[47148]=zw(e,1,140823,0)|0;t[47149]=zw(e,1,101418,0)|0;t[47157]=zw(e,1,141082,0)|0;t[47150]=zw(e,1,101428,0)|0;t[47151]=zw(e,1,101437,0)|0;t[47152]=zw(e,1,101446,0)|0;s=zw(e,1,108224,0)|0;t[47154]=s;if(!s)t[47154]=zw(e,1,108224,105493)|0;t[47155]=zw(e,1,101456,0)|0;t[47158]=zw(e,1,101304,0)|0;t[47172]=zw(e,1,101463,0)|0;t[47161]=zw(e,1,101409,0)|0;t[47153]=zw(e,1,105496,0)|0;t[47159]=zw(e,1,141076,0)|0;t[47160]=zw(e,1,101472,0)|0;t[47163]=zw(e,1,101484,0)|0;t[47162]=zw(e,1,101348,0)|0;t[47164]=zw(e,1,101489,0)|0;t[47165]=zw(e,1,141024,0)|0;t[47166]=zw(e,1,137297,0)|0;t[47156]=zw(e,1,101500,0)|0;t[47167]=zw(e,1,101510,0)|0;t[47168]=zw(e,1,101516,0)|0;t[47169]=zw(e,1,101522,0)|0;t[47170]=zw(e,1,101530,0)|0;t[47171]=zw(e,1,101539,0)|0;t[47173]=zw(e,1,141034,0)|0;t[47174]=zw(e,2,101541,0)|0;t[47176]=zw(e,2,140823,0)|0;t[47177]=zw(e,2,101418,0)|0;t[47179]=zw(e,2,101428,0)|0;t[47180]=zw(e,2,101437,0)|0;t[47181]=zw(e,2,101446,0)|0;t[47182]=zw(e,2,108224,0)|0;t[47183]=zw(e,2,101456,0)|0;t[47192]=zw(e,2,101548,0)|0;t[47184]=zw(e,2,101559,0)|0;t[47195]=zw(e,2,101563,0)|0;t[47196]=zw(e,2,101573,0)|0;t[47197]=zw(e,2,101583,0)|0;t[47198]=zw(e,2,101593,0)|0;t[47199]=zw(e,2,101603,0)|0;t[47200]=zw(e,2,101617,0)|0;t[47201]=zw(e,2,101631,0)|0;t[47202]=zw(e,2,101646,0)|0;t[47203]=zw(e,2,101660,0)|0;t[47175]=zw(e,2,101671,0)|0;t[47187]=zw(e,2,101304,0)|0;t[47185]=zw(e,2,141082,0)|0;t[47186]=zw(e,2,101678,0)|0;t[47188]=zw(e,2,101687,0)|0;t[47189]=zw(e,2,101697,0)|0;t[47190]=zw(e,2,101510,0)|0;t[47191]=zw(e,2,101522,0)|0;t[47204]=zw(e,2,101708,0)|0;t[47205]=zw(e,2,101717,0)|0;t[47206]=zw(e,2,101463,0)|0;r=$E(e)|0;t[(t[(t[o>>2]|0)+8>>2]|0)+88>>2]=r;r=Hw(e,141060)|0;if(r|0?i[r>>0]|0:0){e=UF(r,e)|0;t[(t[(t[o>>2]|0)+8>>2]|0)+92>>2]=e}h=u;return}function YF(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=r;e=vx(e,zw(e,0,101807,0)|0,101815)|0;if(((((((N1(e,101821)|0)!=0?(N1(e,101829)|0)!=0:0)?(N1(e,101836)|0)!=0:0)?(N1(e,101839)|0)!=0:0)?(N1(e,101850)|0)!=0:0)?(N1(e,101861)|0)!=0:0)?(N1(e,101871)|0)!=0:0)if((N1(e,101882)|0)!=0?(N1(e,101888)|0)!=0:0)if((N1(e,101815)|0)!=0?(N1(e,101893)|0)!=0:0){t[A>>2]=e;nw(0,101898,A)|0;e=0}else e=0;else e=2;else e=1;h=r;return e|0}function FF(e){e=e|0;var A=0.0,r=0,a=0;r=Hw(e,101765)|0;e:do{if(r|0?(a=i[r>>0]|0,a<<24>>24):0)switch(a<<24>>24|0){case 97:{if(a<<24>>24!=97)break e;if(e1(r,101771)|0)break e;t[(t[(t[e+16>>2]|0)+8>>2]|0)+84>>2]=4;break e}case 99:{if(a<<24>>24!=99)break e;if(e1(r,101776)|0)break e;t[(t[(t[e+16>>2]|0)+8>>2]|0)+84>>2]=3;break e}case 101:{if(a<<24>>24!=101)break e;if(e1(r,101785)|0)break e;t[(t[(t[e+16>>2]|0)+8>>2]|0)+84>>2]=5;break e}case 102:{if(a<<24>>24!=102)break e;if(e1(r,101792)|0)break e;t[(t[(t[e+16>>2]|0)+8>>2]|0)+84>>2]=2;break e}default:{A=+$3(r);if(!(A>0.0))break e;e=t[(t[e+16>>2]|0)+8>>2]|0;t[e+84>>2]=1;c[e+16>>3]=A;break e}}}while(0);return}function MF(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0;b=h;h=h+48|0;o=b+32|0;f=b+16|0;s=b+8|0;l=b;u=b+40|0;i[u>>0]=0;e=Hw(e,A)|0;do{if(e){t[f>>2]=s;t[f+4>>2]=l;t[f+8>>2]=u;f=(V3(e,101749,f)|0)>1;n=+c[s>>3];a=+c[l>>3];if(f&n>0.0&a>0.0){n=n*72.0;c[r>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);n=a*72.0;c[r+8>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);e=(i[u>>0]|0)==33;break}i[u>>0]=0;t[o>>2]=s;t[o+4>>2]=u;o=(V3(e,101759,o)|0)>0;a=+c[s>>3];if(o&a>0.0){n=a*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);c[r>>3]=n;c[r+8>>3]=n;e=(i[u>>0]|0)==33}else e=0}else e=0}while(0);h=b;return e&1|0}function VF(e){e=e|0;var A=0,r=0,a=0.0,n=0.0,f=0;A=Hw(e,108224)|0;do{if(A|0?i[A>>0]|0:0){r=(t[(t[e+60>>2]|0)+16>>2]|0)+113|0;i[r>>0]=i[r>>0]|8;r=(lv(A)|0)!=0;n=+wx(e,zw(e,0,101428,0)|0,14.0,1.0);f=vx(e,zw(e,0,101437,0)|0,107994)|0;A=HF(e,A,r?2:0,n,f,vx(e,zw(e,0,101446,0)|0,137314)|0)|0;f=e+16|0;t[(t[f>>2]|0)+12>>2]=A;A=Hw(e,105628)|0;r=(A|0)!=0;do{if((yd(e)|0)==(e|0)){if(r?(i[A>>0]|0)==116:0){A=1;break}A=0}else{if(r?(i[A>>0]|0)==98:0){A=0;break}A=1}}while(0);r=Hw(e,101726)|0;e:do{if(r)switch(i[r>>0]|0){case 108:{A=A|2;break e}case 114:{A=A|4;break e}default:break e}}while(0);i[(t[f>>2]|0)+275>>0]=A;if((yd(e)|0)!=(e|0)){A=t[(t[f>>2]|0)+12>>2]|0;a=+c[A+24>>3]+16.0;n=+c[A+32>>3]+8.0;e=(t[(t[(yd(e)|0)+16>>2]|0)+116>>2]&1|0)==0;A=t[f>>2]|0;r=i[A+275>>0]<<1&2;if(e){e=r&255;c[A+48+(e<<4)>>3]=a;c[A+48+(e<<4)+8>>3]=n;break}else{e=(r^3)&255;c[A+48+(e<<4)>>3]=n;c[A+48+(e<<4)+8>>3]=a;break}}}}while(0);return}function NF(e){e=e|0;var A=0,r=0,i=0;i=e+16|0;r=t[i>>2]|0;A=t[r+8>>2]|0;do{if(!A)A=r;else{r=t[A+88>>2]|0;if(r){QE(r);r=t[i>>2]|0;A=t[r+8>>2]|0;if(!A){A=r;break}}G2(t[A+92>>2]|0);A=t[i>>2]|0}}while(0);G2(t[A+8>>2]|0);i=t[i>>2]|0;t[i+8>>2]=0;SF(t[i+12>>2]|0);qd(e,0,137483);return}function RF(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=r;switch(e|0){case 0:{e=101971;break}case 1:{e=101839;break}case 2:{e=101977;break}default:{t[A>>2]=e;nw(1,101941,A)|0;e=101971}}h=r;return e|0}function xF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;a=t[A>>2]|0;o=A+24|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;if(i[a>>0]|0){l=$F((U2(a)|0)+1|0)|0;i[l>>0]=0;s=A+12|0;r=l;e:while(1){A:while(1){f=a+1|0;n=i[a>>0]|0;if(!(n<<24>>24))break e;if(!(n<<24>>24==-1|((n&255)<161|(t[s>>2]|0)!=2))){i[r>>0]=n;f=i[f>>0]|0;n=r+2|0;i[r+1>>0]=f;if(!(f<<24>>24)){r=n;break e}else{r=n;a=a+2|0;continue}}switch(n<<24>>24){case 92:break A;case 10:{c=12;break A}default:{}}i[r>>0]=n;r=r+1|0;a=f}if((c|0)==12){c=0;a=r+1|0;i[r>>0]=0;JF(e,A,l,110);r=a;l=a;a=f;continue}n=i[f>>0]|0;switch(n<<24>>24|0){case 114:case 108:case 110:{n=r+1|0;i[r>>0]=0;JF(e,A,l,i[f>>0]|0);r=n;break}default:{i[r>>0]=n;r=r+1|0;n=l}}l=n;a=(i[f>>0]|0)==0?f:a+2|0}if((l|0)!=(r|0)){i[r>>0]=0;JF(e,A,l,110)}A=A+40|0;t[A>>2]=t[o>>2];t[A+4>>2]=t[o+4>>2];t[A+8>>2]=t[o+8>>2];t[A+12>>2]=t[o+12>>2]}return}function JF(e,A,r,n){e=e|0;A=A|0;r=r|0;n=n|0;var f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+32|0;k=v+16|0;w=v;d=A+76|0;s=a[d>>1]|0;b=A+72|0;o=t[b>>2]|0;if(!o)u=KF((s*56|0)+112|0)|0;else u=eM(o,s+2|0,56,s+1|0)|0;t[b>>2]=u;s=a[d>>1]|0;o=u+(s*56|0)|0;t[o>>2]=r;i[u+(s*56|0)+48>>0]=n;if((r|0)!=0?(i[r>>0]|0)!=0:0){t[46594]=t[A+4>>2];c[23299]=+c[A+16>>3];n=t[e+144>>2]|0;t[u+(s*56|0)+4>>2]=L5[t[n>>2]&63](n,186376,1)|0;ex(w,e,o);l=+c[w>>3];c[k>>3]=l;f=+c[w+8>>3]}else{c[k>>3]=0.0;f=+(~~(+c[A+16>>3]*1.2)|0);c[u+(s*56|0)+40>>3]=f;l=0.0}a[d>>1]=(a[d>>1]|0)+1<<16>>16;d=A+24|0;c[d>>3]=+c[(+c[d>>3]>l?d:k)>>3];d=A+32|0;c[d>>3]=+c[d>>3]+f;h=v;return}function HF(e,A,r,a,f,l){e=e|0;A=A|0;r=r|0;a=+a;f=f|0;l=l|0;var s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+32|0;d=m+16|0;k=m+8|0;w=m;g=KF(88)|0;switch(Yd(e)|0){case 0:{o=0;v=t[e+60>>2]|0;u=e;b=0;break}case 1:{o=0;v=yd(Bd(e)|0)|0;u=0;b=e;break}case 2:{o=e;v=yd(Bd(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)|0;u=0;b=0;break}default:{o=0;v=0;u=0;b=0}}t[g+4>>2]=f;t[g+8>>2]=l;c[g+16>>3]=a;s=v+16|0;l=g+12|0;t[l>>2]=n[(t[s>>2]|0)+115>>0];e:do{if(r&4){t[g>>2]=o3(A)|0;if(r&2|0)i[g+82>>0]=1}else switch(r|0){case 2:{t[g>>2]=o3(A)|0;i[g+82>>0]=1;if(!(gt(e,g)|0))break e;switch(Yd(e)|0){case 0:{t[w>>2]=Mk(u)|0;nw(3,101983,w)|0;break e}case 1:{t[k>>2]=Mk(b)|0;nw(3,102005,k)|0;break e}case 2:{w=Mk(t[((t[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0;k=(Bk(v)|0)!=0;v=Mk(t[((t[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0)|0;t[d>>2]=w;t[d+4>>2]=k?137738:141747;t[d+8>>2]=v;nw(3,102026,d)|0;break e}default:break e}}case 0:{f=PF(A,e,0)|0;t[g>>2]=f;if((t[l>>2]|0)==1)f=pJ(f)|0;else f=vJ(f,v)|0;G2(t[g>>2]|0);t[g>>2]=f;xF(t[(t[s>>2]|0)+144>>2]|0,g);break e}default:ge(102053,102069,166,102078)}}while(0);h=m;return g|0}function PF(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;switch(Yd(A)|0){case 0:{l=Mk(A)|0;n=U2(l)|0;a=t[(t[A+16>>2]|0)+12>>2]|0;if(a){a=t[a>>2]|0;if(!e){p=0;g=2;m=2;v=2;f=2;y=102101;u=102098;s=105493;h=195059;k=195059;w=0;d=0;b=2;E=a;B=102095}else{p=0;g=2;m=2;v=2;f=2;y=102101;u=102098;s=105493;h=195059;k=195059;w=0;d=0;b=U2(a)|0;E=a;B=102095}}else{p=0;g=2;m=2;v=2;f=2;y=102101;u=102098;s=105493;h=195059;k=195059;w=0;d=0;b=2;E=102089;B=102095}break}case 1:{l=Mk(Bd(A)|0)|0;n=U2(l)|0;s=Mk(A)|0;f=U2(s)|0;a=t[(t[A+16>>2]|0)+104>>2]|0;if(a){a=t[a>>2]|0;if(!e){p=0;g=2;m=2;v=2;y=102101;u=102098;h=195059;k=195059;w=0;d=0;b=2;E=a;B=102095}else{p=0;g=2;m=2;v=2;y=102101;u=102098;h=195059;k=195059;w=0;d=0;b=U2(a)|0;E=a;B=102095}}else{p=0;g=2;m=2;v=2;y=102101;u=102098;h=195059;k=195059;w=0;d=0;b=2;E=102089;B=102095}break}case 2:{f=A+48|0;l=Mk(yd(Bd(t[((t[A>>2]&3|0)==3?A:f)+40>>2]|0)|0)|0)|0;n=U2(l)|0;o=Mk(t[((t[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;c=U2(o)|0;a=A+16|0;k=t[(t[a>>2]|0)+52>>2]|0;if(!k)d=0;else d=U2(k)|0;u=Mk(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a=t[a>>2]|0;h=t[a+92>>2]|0;if(!h)w=0;else w=U2(h)|0;s=U2(u)|0;a=t[a+96>>2]|0;if(a){a=t[a>>2]|0;if(!e)b=2;else b=U2(a)|0}else{b=2;a=102089}B=(Bk(yd(Bd(t[((t[A>>2]&3|0)==3?A:f)+40>>2]|0)|0)|0)|0)==0;p=1;g=c;m=s;v=c+2+(d|0?d+1|0:0)+s+(w|0?w+1|0:0)|0;f=2;y=o;s=105493;E=a;B=B?141747:137738;break}default:{p=0;g=2;m=2;v=2;f=2;n=2;y=102101;u=102098;s=105493;l=102092;h=195059;k=195059;w=0;d=0;b=2;E=102089;B=102095}}r=(r|0)==0;o=0;a=e;e:while(1){A=a+1|0;A:do{switch(i[a>>0]|0){case 0:break e;case 92:{a=a+2|0;switch(i[A>>0]|0){case 78:{c=f;break A}case 71:{c=n;break A}case 69:{c=v;break A}case 72:{c=m;break A}case 84:{c=g;break A}case 76:{c=b;break A}case 92:{if(!r){c=1;break A}break}default:{}}c=2;break}default:{c=1;a=A}}}while(0);o=o+c|0}v=$F(o+1|0)|0;b=(p|0)==0;o=(d|0)==0;A=(w|0)==0;a=v;n=e;e:while(1){c=n+1|0;f=i[n>>0]|0;switch(f<<24>>24){case 0:break e;case 92:break;default:{i[a>>0]=f;a=a+1|0;n=c;continue e}}f=n+2|0;n=i[c>>0]|0;switch(n<<24>>24|0){case 71:{n=l;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}n=n+1|0;a=a+1|0}}case 78:{n=s;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}n=n+1|0;a=a+1|0}}case 69:{if(b){n=f;continue e}else n=y;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break;n=n+1|0;a=a+1|0}if(o)n=B;else{i[a>>0]=58;n=k;while(1){a=a+1|0;e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=B;break}else n=n+1|0}}while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=u;break}n=n+1|0;a=a+1|0}while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break;n=n+1|0;a=a+1|0}if(A){n=f;continue e}i[a>>0]=58;n=h;while(1){a=a+1|0;e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}else n=n+1|0}}case 84:{n=y;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}n=n+1|0;a=a+1|0}}case 72:{n=u;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}a=a+1|0;n=n+1|0}}case 76:{n=E;while(1){e=i[n>>0]|0;i[a>>0]=e;if(!(e<<24>>24)){n=f;continue e}a=a+1|0;n=n+1|0}}case 92:{if(!r){i[a>>0]=92;a=a+1|0;n=f;continue e}break}default:{}}i[a>>0]=92;i[a+1>>0]=n;a=a+2|0;n=f}i[a>>0]=0;return v|0}function XF(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;if(e|0){r=e;i=0;while(1){if((i|0)>=(A|0))break;if(!i)G2(t[r>>2]|0);n=t[r+8>>2]|0;if(n|0?(a=t[r+12>>2]|0,a|0):0)F5[a&127](n);r=r+56|0;i=i+1|0}G2(e)}return}function SF(e){e=e|0;var A=0;if(e|0){G2(t[e>>2]|0);A=e+72|0;if(i[e+82>>0]|0){A=t[A>>2]|0;if(A|0)at(A,1)}else XF(t[A>>2]|0,a[e+76>>1]|0);G2(e)}return}function jF(e,A,r){e=e|0;A=A|0;r=r|0;var n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+32|0;k=m+16|0;d=m;s=t[e+16>>2]|0;v=s+12|0;g=t[v>>2]|0;t[v>>2]=A;if(!(i[r+82>>0]|0)){w=r+76|0;if((a[w>>1]|0)>=1){_r(e,0);$r(e,t[r+8>>2]|0);switch(i[r+80>>0]|0){case 116:{l=+c[r+64>>3];n=+c[r+48>>3]*.5+l;break}case 98:{l=+c[r+64>>3];n=+c[r+48>>3]*-.5+l+ +c[r+32>>3];break}default:{l=+c[r+64>>3];n=+c[r+32>>3]*.5+l}}n=n-+c[r+16>>3];b=d+8|0;c[b>>3]=n;if(a[s+260>>1]&512)c[b>>3]=n-l;o=r+72|0;u=r+56|0;f=r+40|0;A=0;while(1){if((A|0)>=(a[w>>1]|0))break;s=t[o>>2]|0;switch(i[s+(A*56|0)+48>>0]|0){case 108:{n=+c[u>>3]-+c[f>>3]*.5;break}case 114:{n=+c[f>>3]*.5+ +c[u>>3];break}default:n=+c[u>>3]}c[d>>3]=n;t[k>>2]=t[d>>2];t[k+4>>2]=t[d+4>>2];t[k+8>>2]=t[d+8>>2];t[k+12>>2]=t[d+12>>2];Kr(e,k,s+(A*56|0)|0);c[b>>3]=+c[b>>3]-+c[(t[o>>2]|0)+(A*56|0)+40>>3];A=A+1|0}qr(e);f=18}}else{Va(e,t[r+72>>2]|0,r);f=18}if((f|0)==18)t[v>>2]=g;h=m;return}function UF(e,A){e=e|0;A=A|0;return PF(e,A,1)|0}function TF(e){e=e|0;return OF(e,0)|0}function OF(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;r=t[47207]|0;if(!r){t[47208]=64;r=$F(64)|0;t[47207]=r}s=A<<24>>24==0;l=0;a=0;f=e;while(1){if(!f)break;A=i[f>>0]|0;if(!(A<<24>>24))break;e=t[47208]|0;if((l|0)>(e+-8|0)){r=e<<1;t[47208]=r;r=AM(t[47207]|0,r)|0;t[47207]=r;r=r+l|0;A=i[f>>0]|0}e:do{switch(A<<24>>24){case 38:{if(s?(_F(f)|0)!=0:0)c=18;else{a=5;A=102130}break}case 60:{a=4;A=102153;break}case 62:{a=4;A=102136;break}case 45:{a=5;A=102147;break}default:{if((a|0)!=0&A<<24>>24==32)if((i[a>>0]|0)==32){a=6;A=102123;break e}else{c=18;break e}switch(A<<24>>24){case 34:{a=6;A=102116;break e}case 39:{a=5;A=102141;break e}case 10:if(s){c=18;break e}else{a=5;A=102110;break e}default:{c=18;break e}}}}}while(0);if((c|0)==18){c=0;A=s|A<<24>>24!=13;a=A?1:5;A=A?f:102104}n=r+a|0;e=a;while(1){if(!e)break;i[r>>0]=i[A>>0]|0;e=e+-1|0;A=A+1|0;r=r+1|0}e=f;l=a+l|0;r=n;f=f+1|0;a=e}i[r>>0]=0;return t[47207]|0}function _F(e){e=e|0;var A=0,r=0;r=e+1|0;A=i[r>>0]|0;e:do{if(A<<24>>24==35){r=e+2|0;A=i[r>>0]|0;switch(A<<24>>24){case 88:case 120:break;default:{e=r;while(1){r=e+1|0;if((A+-48&255)>=10)break e;e=r;A=i[r>>0]|0}}}r=e+3|0;while(1){A=i[r>>0]|0;if((A+-48&255)>=10)switch(A<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break e}r=r+1|0}}else while(1){e=r+1|0;if(((A&-33)+-65&255)>=26)break e;r=e;A=i[e>>0]|0}}while(0);return A<<24>>24==59|0}function qF(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0;A=t[47209]|0;if(!A){t[47210]=64;A=$F(64)|0;t[47209]=A;l=0}else l=0;while(1){if(!e)break;r=i[e>>0]|0;if(!(r<<24>>24))break;a=t[47210]|0;if((l|0)>(a+-8|0)){A=a<<1;t[47210]=A;A=AM(t[47209]|0,A)|0;t[47209]=A;A=A+l|0;r=i[e>>0]|0}switch(r<<24>>24){case 38:{if(!(_F(e)|0)){n=5;r=102130}else s=12;break}case 60:{n=4;r=102153;break}case 62:{n=4;r=102136;break}case 34:{n=6;r=102116;break}case 39:{n=5;r=102141;break}default:s=12}if((s|0)==12){s=0;n=1;r=e}f=A+n|0;a=n;while(1){if(!a)break;i[A>>0]=i[r>>0]|0;a=a+-1|0;r=r+1|0;A=A+1|0}l=n+l|0;A=f;e=e+1|0}i[A>>0]=0;return t[47209]|0}function KF(e){e=e|0;var A=0;if(!e)e=0;else{A=$F(e)|0;z6(A|0,0,e|0)|0;e=A}return e|0}function $F(e){e=e|0;if(e){e=Z2(e)|0;if(!e){G3(111740,14,1,t[15712]|0)|0;e=0}}else e=0;return e|0}function eM(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=Q2(e,P(r,A)|0)|0;if(!((A|0)!=0&(e|0)==0)){if(A>>>0>i>>>0)z6(e+(P(i,r)|0)|0,0,P(A-i|0,r)|0)|0}else G3(111740,14,1,t[15712]|0)|0;return e|0}function AM(e,A){e=e|0;A=A|0;e=Q2(e,A)|0;if((A|0)!=0&(e|0)==0)G3(111740,14,1,t[15712]|0)|0;return e|0}function rM(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0,u=0,b=0,w=0,k=0,g=0,m=0;m=h;h=h+80|0;w=m+40|0;b=m+32|0;u=m+24|0;o=m;k=4;g=Z2(40)|0;t[g>>2]=0;a=m+68|0;n=m+64|0;if(0){d=0;be(62,e|0,a|0,n|0);f=d;d=0;if((f|0)!=0&(v|0)!=0){l=L6(t[f>>2]|0,g|0,k|0)|0;if(!l)aA(f|0,v|0);G=v}else l=-1;if((l|0)!=1){l=t[15712]|0;f=t[a>>2]|0;a=t[n>>2]|0;d=0;t[o>>2]=102202;t[o+4>>2]=f;t[o+8>>2]=a;t[o+12>>2]=r;t[o+16>>2]=A;te(32,l|0,102158,o|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)!=1){d=0;ce(1);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)!=1)l=6;else{a=G;l=15}}else{a=G;l=15}}else{a=G;l=15}}else l=6;do{if((l|0)==6){d=0;a=re(27,e|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,g|0,k|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)!=1){if(!a){d=0;ce(2);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;break}}if((r|0)<1){d=0;ce(3);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;break}a=0;break}else{t[47211]=(i|0)>-1?i:30;g=G6(188848,1,g|0,k|0)|0;k=G;d=0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;break}a=0;l=15;break}}else{a=G;l=15}}}while(0);e:do{if((l|0)==15){A:while(1){if(a|0){a=2;break e}d=0;ce(4);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue}e=t[15712]|0;o=0;while(1){d=0;l=Ae(2)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}if(!l)break;d=0;a=re(28,l|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,g|0,k|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){a=G;l=15;continue A}d=0;ue(25,l|0,a|0);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}o=o+1|0;do{if(((o|0)%100|0|0)==0&0!=0){a=(o|0)%1e3|0;if((a|0)==100){d=0;ie(93,102202,e|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}d=0;t[u>>2]=o;te(32,e|0,102220,u|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}break}d=0;t[b>>2]=o;te(32,e|0,102220,b|0)|0;n=d;d=0;if((n|0)!=0&(v|0)!=0){f=L6(t[n>>2]|0,g|0,k|0)|0;if(!f)aA(n|0,v|0);G=v}else f=-1;if((f|0)==1){a=G;l=15;continue A}if(!a){d=0;ie(94,10,e|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}}}}while(0);if((o|0)>=(r|0))break}switch(A|0){case 1:{d=0;ce(5);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}break}case 2:{d=0;ce(6);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}break}default:{d=0;ce(7);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}d=0;ce(3);a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue A}}}if(!0){a=0;break e}if((o|0)>99){d=0;ie(94,10,e|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15;continue}}a=t[47251]|0;n=t[47252]|0;d=0;s=+K(1);f=d;d=0;if((f|0)!=0&(v|0)!=0){l=L6(t[f>>2]|0,g|0,k|0)|0;if(!l)aA(f|0,v|0);G=v}else l=-1;if((l|0)==1){a=G;l=15;continue}d=0;t[w>>2]=102202;t[w+4>>2]=a;t[w+8>>2]=n;t[w+12>>2]=o;c[w+16>>3]=s;te(32,e|0,102224,w|0)|0;a=d;d=0;if((a|0)!=0&(v|0)!=0){n=L6(t[a>>2]|0,g|0,k|0)|0;if(!n)aA(a|0,v|0);G=v}else n=-1;if((n|0)==1){a=G;l=15}else break}a=0}}while(0);G2(g|0);h=m;return a|0}function iM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;e=(t[e+16>>2]|0)+192|0;i=0;f=0;while(1){e=t[e>>2]|0;if(!e)break;n=t[e+16>>2]|0;a=t[n+180>>2]|0;e=0;while(1){if(!(t[a+(e<<2)>>2]|0))break;e=e+1|0;i=i+1|0}e=n+164|0;f=f+1|0}t[A>>2]=f;t[r>>2]=i;return}function aM(e){e=e|0;var A=0,r=0,a=0,n=0,l=0,s=0,c=0,o=0;t[47254]=e;t[47261]=0;t[47252]=0;t[47251]=0;l=e+16|0;e=(t[l>>2]|0)+192|0;n=0;r=0;while(1){e=t[e>>2]|0;if(!e)break;a=t[e+16>>2]|0;i[a+157>>0]=0;n=n+1|0;t[47251]=n;A=t[a+180>>2]|0;e=0;while(1){if(!(t[A+(e<<2)>>2]|0))break;c=r+1|0;t[47252]=c;e=e+1|0;r=c}e=a+164|0}e=t[47262]|0;if(!e)e=$F(n<<2)|0;else e=AM(e,n<<2)|0;t[47262]=e;t[47263]=0;e=t[47256]|0;if(!e)e=$F(t[47251]<<2)|0;else e=AM(e,t[47251]<<2)|0;t[47256]=e;t[47255]=0;A=1;e=(t[l>>2]|0)+192|0;while(1){e=t[e>>2]|0;if(!e)break;c=e+16|0;l=t[c>>2]|0;s=l+292|0;t[s>>2]=0;l=t[l+172>>2]|0;n=A;a=0;e=0;while(1){A=t[l+(a<<2)>>2]|0;if(!A)break;r=e+1|0;t[s>>2]=r;e=t[A+16>>2]|0;t[e+160>>2]=0;t[e+164>>2]=-1;if(!n)e=0;else{o=t[A>>2]&3;e=((t[(t[(t[((o|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((o|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(f[e+170>>1]|0|0)?0:n}n=e;a=a+1|0;e=r}e=KF((a<<2)+4|0)|0;A=t[c>>2]|0;t[A+264>>2]=e;t[A+268>>2]=0;A=t[A+180>>2]|0;e=0;do{o=e;e=e+1|0}while((t[A+(o<<2)>>2]|0)!=0);A=KF(e<<2)|0;e=t[c>>2]|0;t[e+272>>2]=A;t[e+276>>2]=0;A=n;e=e+164|0}return A|0}function tM(){var e=0,A=0,r=0,i=0,a=0,n=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b+8|0;c=b;o=cx(t[47251]|0)|0;e=(t[(t[47254]|0)+16>>2]|0)+192|0;while(1){A=t[e>>2]|0;if(!A){s=0;break}r=A+16|0;e=t[r>>2]|0;if(!(t[e+292>>2]|0)){ux(o,A);e=t[r>>2]|0}e=e+164|0}while(1){e=bx(o)|0;if(!e)break;l=e+16|0;e=t[l>>2]|0;i=e+232|0;t[i>>2]=0;r=t[e+172>>2]|0;A=0;n=0;while(1){a=t[r+(A<<2)>>2]|0;if(!a){i=0;break}a=(t[(t[(t[((t[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(f[(t[a+16>>2]|0)+170>>1]|0)|0;a=(n|0)>(a|0)?n:a;t[i>>2]=a;A=A+1|0;n=a}while(1){A=t[(t[e+180>>2]|0)+(i<<2)>>2]|0;if(!A)break;r=A+-48|0;a=(t[(t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+292|0;n=t[a>>2]|0;t[a>>2]=n+-1;if((n|0)<2){ux(o,t[((t[A>>2]&3|0)==2?A:r)+40>>2]|0);e=t[l>>2]|0}i=i+1|0}s=s+1|0}e:do{if((s|0)!=(t[47251]|0)){nw(1,102556,c)|0;e=(t[(t[47254]|0)+16>>2]|0)+192|0;while(1){A=t[e>>2]|0;if(!A)break e;r=A+16|0;e=t[r>>2]|0;if(t[e+292>>2]|0){c=Mk(A)|0;e=t[(t[r>>2]|0)+292>>2]|0;t[u>>2]=c;t[u+4>>2]=e;nw(3,102578,u)|0;e=t[r>>2]|0}e=e+164|0}}}while(0);ox(o);h=b;return}function nM(){var e=0,A=0,r=0;e=(t[(t[47254]|0)+16>>2]|0)+192|0;while(1){e=t[e>>2]|0;if(!e)break;r=e+16|0;e=t[r>>2]|0;A=t[e+264>>2]|0;if(A){G2(A);e=t[r>>2]|0}A=t[e+272>>2]|0;if(A){G2(A);e=t[r>>2]|0}i[e+157>>0]=0;e=e+164|0}return}function fM(){var e=0,A=0,r=0,i=0,a=0;e=(t[(t[47254]|0)+16>>2]|0)+192|0;while(1){e=t[e>>2]|0;if(!e)break;e=t[e+16>>2]|0;t[e+280>>2]=0;e=e+164|0}a=KF(t[47251]<<2)|0;i=0;e=(t[(t[47254]|0)+16>>2]|0)+192|0;while(1){A=t[e>>2]|0;if(!A)break;r=A+16|0;e=t[r>>2]|0;if(!(t[e+280>>2]|0)){t[a+(i<<2)>>2]=mM(A)|0;A=i+1|0;e=t[r>>2]|0}else A=i;i=A;e=e+164|0}e=pM(a,i)|0;while(1){if((EM(e)|0)<=1)break;IM(e,t[(CM(yM(BM(e)|0)|0)|0)+8>>2]|0)}G2(e);e=0;while(1){if((e|0)>=(i|0))break;G2(t[a+(e<<2)>>2]|0);e=e+1|0}G2(a);if((t[47255]|0)==((t[47251]|0)+-1|0)){ZM();return}else ge(102301,102331,523,102336)}function lM(){var e=0,A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;l=t[47261]|0;a=t[47255]|0;s=t[47256]|0;c=t[47211]|0;A=0;e=0;n=l;while(1){if((n|0)>=(a|0)){f=8;break}i=t[s+(n<<2)>>2]|0;r=t[(t[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!e)e=i;else e=(t[(t[e+16>>2]|0)+160>>2]|0)>(r|0)?i:e;A=A+1|0;if((A|0)>=(c|0))break}i=n+1|0;t[47261]=i;n=i}if((f|0)==8)if((l|0)>0){a=0;while(1){if((a|0)>=(l|0))break;r=t[s+(a<<2)>>2]|0;i=t[(t[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!e)e=r;else e=(t[(t[e+16>>2]|0)+160>>2]|0)>(i|0)?r:e;A=A+1|0;if((A|0)>=(c|0))break}a=a+1|0}t[47261]=a}return e|0}function sM(e){e=e|0;var A=0,r=0;A=t[e>>2]&3;r=t[((A|0)==3?e:e+48|0)+40>>2]|0;e=t[((A|0)==2?e:e+-48|0)+40>>2]|0;A=(t[(t[r+16>>2]|0)+288>>2]|0)<(t[(t[e+16>>2]|0)+288>>2]|0);e=A?r:e;t[47257]=0;t[47258]=2147483647;r=t[e+16>>2]|0;t[47259]=t[r+284>>2];t[47260]=t[r+288>>2];if(A)gM(e);else vM(e);return t[47257]|0}function cM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b;a=t[A>>2]&3;o=A+-48|0;s=A+48|0;c=A+16|0;a=(t[(t[(t[((a|0)==2?A:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((a|0)==3?A:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[c>>2]|0)+170>>1]|0)|0;do{if((a|0)>0){r=t[e>>2]&3;n=t[((r|0)==3?e:e+48|0)+40>>2]|0;l=t[n+16>>2]|0;if(((t[l+276>>2]|0)+(t[l+268>>2]|0)|0)==1){hM(n,a);break}r=t[((r|0)==2?e:e+-48|0)+40>>2]|0;i=t[r+16>>2]|0;if(((t[i+276>>2]|0)+(t[i+268>>2]|0)|0)==1){hM(r,0-a|0);break}if((t[l+288>>2]|0)<(t[i+288>>2]|0)){hM(n,a);break}else{hM(r,0-a|0);break}}}while(0);r=e+16|0;i=t[(t[r>>2]|0)+160>>2]|0;a=t[A>>2]&3;a=wM(t[((a|0)==3?A:s)+40>>2]|0,t[((a|0)==2?A:o)+40>>2]|0,i,1)|0;l=t[A>>2]&3;if((wM(t[((l|0)==2?A:o)+40>>2]|0,t[((l|0)==3?A:s)+40>>2]|0,i,0)|0)==(a|0)){t[(t[c>>2]|0)+160>>2]=0-i;t[(t[r>>2]|0)+160>>2]=0;kM(e,A);u=t[a+16>>2]|0;dM(a,t[u+280>>2]|0,t[u+284>>2]|0)|0;h=b;return}else{nw(1,102262,u)|0;aA(188848,1)}}function oM(){var e=0,A=0,r=0,a=0,n=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;bM();u=KF((t[47253]<<2)+4|0)|0;A=t[47253]|0;e=0;while(1){if((e|0)>(A|0))break;t[u+(e<<2)>>2]=0;e=e+1|0}e=(t[(t[47254]|0)+16>>2]|0)+192|0;A=e;while(1){A=t[A>>2]|0;if(!A)break;A=t[A+16>>2]|0;if(!(i[A+156>>0]|0)){o=u+(t[A+232>>2]<<2)|0;t[o>>2]=(t[o>>2]|0)+1}A=A+164|0}while(1){e=t[e>>2]|0;if(!e)break;o=e+16|0;e=t[o>>2]|0;if(!(i[e+156>>0]|0)){n=t[47253]|0;r=t[e+172>>2]|0;c=0;s=0;A=0;while(1){a=t[r+(A<<2)>>2]|0;if(!a)break;b=t[a+16>>2]|0;l=(t[(t[(t[((t[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(f[b+170>>1]|0)|0;c=(t[b+156>>2]|0)+c|0;s=(s|0)>(l|0)?s:l;A=A+1|0}a=t[e+180>>2]|0;l=0;A=0;while(1){r=t[a+(A<<2)>>2]|0;if(!r)break;h=t[r+16>>2]|0;b=(t[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[h+170>>1]|0)|0;l=(t[h+156>>2]|0)+l|0;n=(n|0)<(b|0)?n:b;A=A+1|0}A=(s|0)>0?s:0;if((c|0)==(l|0)){a=A;r=A;while(1){A=r+1|0;if((r|0)>=(n|0))break;a=(t[u+(A<<2)>>2]|0)<(t[u+(a<<2)>>2]|0)?A:a;r=A}h=e+232|0;b=u+(t[h>>2]<<2)|0;t[b>>2]=(t[b>>2]|0)+-1;b=u+(a<<2)|0;t[b>>2]=(t[b>>2]|0)+1;t[h>>2]=a}A=t[e+264>>2]|0;if(A){G2(A);e=t[o>>2]|0}A=t[e+272>>2]|0;if(A){G2(A);e=t[o>>2]|0}i[e+157>>0]=0}e=e+164|0}G2(u);return}function uM(){var e=0,A=0,r=0,i=0,a=0,n=0;A=0;while(1){if((A|0)>=(t[47255]|0))break;e=t[(t[47256]|0)+(A<<2)>>2]|0;do{if(((t[(t[e+16>>2]|0)+160>>2]|0)==0?(r=sM(e)|0,r|0):0)?(i=t[r>>2]&3,i=(t[(t[(t[((i|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((i|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[r+16>>2]|0)+170>>1]|0)|0,(i|0)>=2):0){n=t[e>>2]&3;a=t[((n|0)==3?e:e+48|0)+40>>2]|0;e=t[((n|0)==2?e:e+-48|0)+40>>2]|0;if((t[(t[a+16>>2]|0)+288>>2]|0)<(t[(t[e+16>>2]|0)+288>>2]|0)){hM(a,i>>>1);break}else{hM(e,(i|0)/-2|0);break}}}while(0);A=A+1|0}nM();return}function bM(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0,s=0;l=h;h=h+16|0;f=l;t[f>>2]=0;t[f>>2]=2147483647;t[47253]=-2147483647;e=(t[(t[47254]|0)+16>>2]|0)+192|0;r=e;n=2147483647;a=-2147483647;while(1){A=t[r>>2]|0;if(!A)break;r=t[A+16>>2]|0;if(!(i[r+156>>0]|0)){s=t[r+232>>2]|0;A=(n|0)<(s|0)?n:s;t[f>>2]=A;a=(a|0)>(s|0)?a:s;t[47253]=a}else A=n;r=r+164|0;n=A}if(n|0){while(1){e=t[e>>2]|0;if(!e)break;e=t[e+16>>2]|0;s=e+232|0;t[s>>2]=(t[s>>2]|0)-n;e=e+164|0}t[47253]=a-n;t[f>>2]=0}h=l;return}function hM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+16|0;e=t[a>>2]|0;i=e+232|0;t[i>>2]=(t[i>>2]|0)-A;i=0;while(1){r=t[(t[e+272>>2]|0)+(i<<2)>>2]|0;if(!r){i=0;break}if((r|0)!=(t[e+280>>2]|0)){hM(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,A);e=t[a>>2]|0}i=i+1|0}while(1){r=t[(t[e+264>>2]|0)+(i<<2)>>2]|0;if(!r)break;if((r|0)!=(t[e+280>>2]|0)){hM(t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,A);e=t[a>>2]|0}i=i+1|0}return}function wM(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;n=(i|0)==0&1;f=0-r|0;a=t[(t[A+16>>2]|0)+288>>2]|0;A=e;while(1){e=t[A+16>>2]|0;if((t[e+284>>2]|0)<=(a|0)?(a|0)<=(t[e+288>>2]|0):0)break;e=t[e+280>>2]|0;l=e+48|0;s=(t[e+16>>2]|0)+160|0;t[s>>2]=(((A|0)==(t[((t[e>>2]&3|0)==3?e:l)+40>>2]|0)?i:n)|0?r:f)+(t[s>>2]|0);s=t[e>>2]&3;l=t[((s|0)==3?e:l)+40>>2]|0;e=t[((s|0)==2?e:e+-48|0)+40>>2]|0;A=(t[(t[l+16>>2]|0)+288>>2]|0)>(t[(t[e+16>>2]|0)+288>>2]|0)?l:e}return A|0}function kM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;l=e+16|0;i=(t[l>>2]|0)+164|0;t[(t[A+16>>2]|0)+164>>2]=t[i>>2];t[(t[47256]|0)+(t[i>>2]<<2)>>2]=A;t[(t[l>>2]|0)+164>>2]=-1;l=(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;i=t[l>>2]|0;n=i+276|0;a=t[n>>2]|0;s=a+-1|0;t[n>>2]=s;n=i+272|0;f=0;while(1){if((f|0)>=(a|0)){c=3;break}r=t[n>>2]|0;if((t[r+(f<<2)>>2]|0)==(e|0))break;f=f+1|0}if((c|0)==3)r=t[i+272>>2]|0;t[r+(f<<2)>>2]=t[r+(s<<2)>>2];t[(t[(t[l>>2]|0)+272>>2]|0)+(s<<2)>>2]=0;l=(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;i=t[l>>2]|0;n=i+268|0;a=t[n>>2]|0;s=a+-1|0;t[n>>2]=s;n=i+264|0;f=0;while(1){if((f|0)>=(a|0)){c=8;break}r=t[n>>2]|0;if((t[r+(f<<2)>>2]|0)==(e|0))break;f=f+1|0}if((c|0)==8)r=t[i+264>>2]|0;t[r+(f<<2)>>2]=t[r+(s<<2)>>2];t[(t[(t[l>>2]|0)+264>>2]|0)+(s<<2)>>2]=0;c=(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;e=t[c>>2]|0;s=t[e+272>>2]|0;e=e+276|0;l=t[e>>2]|0;t[e>>2]=l+1;t[s+(l<<2)>>2]=A;c=t[c>>2]|0;t[(t[c+272>>2]|0)+(t[c+276>>2]<<2)>>2]=0;c=(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;l=t[c>>2]|0;s=t[l+264>>2]|0;l=l+268|0;e=t[l>>2]|0;t[l>>2]=e+1;t[s+(e<<2)>>2]=A;c=t[c>>2]|0;t[(t[c+264>>2]|0)+(t[c+268>>2]<<2)>>2]=0;return}function dM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;n=e+16|0;e=t[n>>2]|0;t[e+280>>2]=A;t[e+284>>2]=r;a=0;while(1){i=t[(t[e+272>>2]|0)+(a<<2)>>2]|0;if(!i){a=0;break}if((i|0)!=(A|0)){r=dM(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,i,r)|0;e=t[n>>2]|0}a=a+1|0}while(1){i=t[(t[e+264>>2]|0)+(a<<2)>>2]|0;if(!i)break;if((i|0)!=(A|0)){r=dM(t[((t[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i,r)|0;e=t[n>>2]|0}a=a+1|0}t[e+288>>2]=r;return r+1|0}function vM(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,l=0,s=0;l=e+16|0;a=0;while(1){e=t[l>>2]|0;r=t[(t[e+180>>2]|0)+(a<<2)>>2]|0;if(!r){r=0;break}i=t[r+16>>2]|0;if((t[i+164>>2]|0)<0){e=t[r>>2]&3;A=t[(t[((e|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;s=t[A+288>>2]|0;if((t[47259]|0)>(s|0)|(s|0)>(t[47260]|0)?(n=(t[A+232>>2]|0)-(t[(t[(t[((e|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[i+170>>1]|0)|0,(n|0)<(t[47258]|0)|(t[47257]|0)==0):0){t[47257]=r;t[47258]=n}}else{A=t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;if((t[(t[A+16>>2]|0)+288>>2]|0)<(t[e+288>>2]|0))vM(A)}a=a+1|0}while(1){A=t[(t[e+264>>2]|0)+(r<<2)>>2]|0;if(!((A|0)!=0&(t[47258]|0)>0))break;A=t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;if((t[(t[A+16>>2]|0)+288>>2]|0)<(t[e+288>>2]|0)){vM(A);e=t[l>>2]|0}r=r+1|0}return}function gM(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,l=0,s=0;l=e+16|0;a=0;while(1){e=t[l>>2]|0;r=t[(t[e+172>>2]|0)+(a<<2)>>2]|0;if(!r){r=0;break}i=t[r+16>>2]|0;if((t[i+164>>2]|0)<0){e=t[r>>2]&3;A=t[(t[((e|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;s=t[A+288>>2]|0;if((t[47259]|0)>(s|0)|(s|0)>(t[47260]|0)?(n=(t[(t[(t[((e|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[A+232>>2]|0)-(f[i+170>>1]|0)|0,(n|0)<(t[47258]|0)|(t[47257]|0)==0):0){t[47257]=r;t[47258]=n}}else{A=t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;if((t[(t[A+16>>2]|0)+288>>2]|0)<(t[e+288>>2]|0))gM(A)}a=a+1|0}while(1){A=t[(t[e+272>>2]|0)+(r<<2)>>2]|0;if(!((A|0)!=0&(t[47258]|0)>0))break;A=t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;if((t[(t[A+16>>2]|0)+288>>2]|0)<(t[e+288>>2]|0)){gM(A);e=t[l>>2]|0}r=r+1|0}return}function mM(e){e=e|0;var A=0;A=KF(16)|0;t[A>>2]=e;t[A+4>>2]=MM(e,A)|0;t[A+12>>2]=A;return A|0}function pM(e,A){e=e|0;A=A|0;var r=0,i=0;i=KF(8)|0;t[i>>2]=e;t[i+4>>2]=A;r=0;while(1){if((r|0)>=(A|0))break;t[(t[e+(r<<2)>>2]|0)+8>>2]=r;r=r+1|0}r=(A|0)/2|0;while(1){if((r|0)<=-1)break;IM(i,r);r=r+-1|0}return i|0}function EM(e){e=e|0;return t[e+4>>2]|0}function BM(e){e=e|0;var A=0,r=0,i=0,a=0;a=t[e>>2]|0;A=t[a>>2]|0;t[A+8>>2]=-1;r=e+4|0;i=(t[r>>2]|0)+-1|0;t[a>>2]=t[a+(i<<2)>>2];a=t[e>>2]|0;t[(t[a>>2]|0)+8>>2]=0;t[a+(i<<2)>>2]=A;t[r>>2]=i;IM(e,0);return A|0}function yM(e){e=e|0;return FM(t[e>>2]|0,0,0)|0}function CM(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,l=0;A=e+16|0;if((t[(t[A>>2]|0)+164>>2]|0)>-1)ge(102350,102331,463,102364);a=e+48|0;r=DM(t[((t[e>>2]&3|0)==3?e:a)+40>>2]|0)|0;l=e+-48|0;i=DM(t[((t[e>>2]&3|0)==2?e:l)+40>>2]|0)|0;n=t[e>>2]&3;A=(t[(t[(t[((n|0)==2?e:l)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((n|0)==3?e:a)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[A>>2]|0)+170>>1]|0)|0;if((t[r+8>>2]|0)==-1)zM(t[r>>2]|0,0,A);else zM(t[i>>2]|0,0,0-A|0);WM(e);return YM(r,i)|0}function IM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;f=t[e>>2]|0;n=t[e+4>>2]|0;while(1){e=A<<1;a=e+2|0;e=e|1;if(!((e|0)<(n|0)?(t[(t[f+(e<<2)>>2]|0)+4>>2]|0)<(t[(t[f+(A<<2)>>2]|0)+4>>2]|0):0))e=A;if((a|0)>=(n|0))break;r=f+(a<<2)|0;i=t[r>>2]|0;if((a|0)==(A|0)?1:(t[i+4>>2]|0)>=(t[(t[f+(e<<2)>>2]|0)+4>>2]|0))break;l=f+(A<<2)|0;e=t[l>>2]|0;t[l>>2]=i;t[r>>2]=e;t[(t[l>>2]|0)+8>>2]=A;t[e+8>>2]=a;A=a}return}function ZM(){dM(t[(t[(t[47254]|0)+16>>2]|0)+192>>2]|0,0,1)|0;GM(t[(t[(t[47254]|0)+16>>2]|0)+192>>2]|0,0);return}function GM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+16|0;r=0;while(1){e=t[a>>2]|0;i=t[(t[e+272>>2]|0)+(r<<2)>>2]|0;if(!i){i=0;break}if((i|0)!=(A|0))GM(t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,i);r=r+1|0}while(1){r=t[(t[e+264>>2]|0)+(i<<2)>>2]|0;if(!r)break;if((r|0)!=(A|0)){GM(t[((t[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r);e=t[a>>2]|0}i=i+1|0}if(A|0)LM(A);return}function LM(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;A=t[e>>2]&3;r=t[((A|0)==3?e:e+48|0)+40>>2]|0;i=t[r+16>>2]|0;if((t[i+280>>2]|0)==(e|0))l=1;else{i=t[((A|0)==2?e:e+-48|0)+40>>2]|0;l=-1;r=i;i=t[i+16>>2]|0}n=t[i+180>>2]|0;A=0;a=0;while(1){f=t[n+(a<<2)>>2]|0;if(!f)break;A=(QM(f,r,l)|0)+A|0;a=a+1|0}n=t[i+172>>2]|0;i=0;while(1){a=t[n+(i<<2)>>2]|0;if(!a)break;A=(QM(a,r,l)|0)+A|0;i=i+1|0}t[(t[e+16>>2]|0)+160>>2]=A;return}function QM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;f=t[e>>2]&3;l=(f|0)==3?e:e+48|0;i=t[l+40>>2]|0;if((i|0)==(A|0))i=t[((f|0)==2?e:e+-48|0)+40>>2]|0;n=t[A+16>>2]|0;a=t[(t[i+16>>2]|0)+288>>2]|0;if((t[n+284>>2]|0)<=(a|0)?(a|0)<=(t[n+288>>2]|0):0){a=t[e+16>>2]|0;if((t[a+164>>2]|0)>-1)i=t[a+160>>2]|0;else i=0;n=1;i=i-(t[a+156>>2]|0)|0}else{n=0;i=t[(t[e+16>>2]|0)+156>>2]|0}l=(t[((r|0)>0?(f|0)==2?e:e+-48|0:l)+40>>2]|0)==(A|0)?1:-1;return(((n?l:0-l|0)|0)<0?0-i|0:i)|0}function DM(e){e=e|0;var A=0,r=0;e=t[(t[e+16>>2]|0)+280>>2]|0;while(1){A=e+12|0;r=t[A>>2]|0;if(!((r|0)!=(e|0)&(r|0)!=0))break;e=t[r+12>>2]|0;if(!e){e=r;continue}t[A>>2]=e}return e|0}function zM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;f=e+16|0;i=t[f>>2]|0;n=i+232|0;t[n>>2]=(t[n>>2]|0)+r;n=0;while(1){a=t[(t[i+264>>2]|0)+(n<<2)>>2]|0;if(!a){n=0;break}a=t[((t[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;if((a|0)!=(A|0)){zM(a,e,r);i=t[f>>2]|0}n=n+1|0}while(1){a=t[(t[i+272>>2]|0)+(n<<2)>>2]|0;if(!a)break;a=t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0;if((a|0)!=(A|0)){zM(a,e,r);i=t[f>>2]|0}n=n+1|0}return}function WM(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;f=h;h=h+32|0;A=(t[e+16>>2]|0)+164|0;if((t[A>>2]|0)>-1){nw(1,102453,f)|0;aA(188848,1)}n=t[47255]|0;t[A>>2]=n;A=t[47256]|0;t[47255]=n+1;t[A+(n<<2)>>2]=e;A=t[e>>2]|0;n=e+48|0;r=t[((A&3|0)==3?e:n)+40>>2]|0;if(!(i[(t[r+16>>2]|0)+157>>0]|0)){a=t[47262]|0;A=t[47263]|0;t[47263]=A+1;t[a+(A<<2)>>2]=r;A=t[e>>2]|0}a=e+-48|0;r=t[((A&3|0)==2?e:a)+40>>2]|0;if(!(i[(t[r+16>>2]|0)+157>>0]|0)){l=t[47262]|0;A=t[47263]|0;t[47263]=A+1;t[l+(A<<2)>>2]=r;A=t[e>>2]|0}l=(t[((A&3|0)==3?e:n)+40>>2]|0)+16|0;A=t[l>>2]|0;i[A+157>>0]=1;r=t[A+272>>2]|0;A=A+276|0;n=t[A>>2]|0;t[A>>2]=n+1;t[r+(n<<2)>>2]=e;n=t[l>>2]|0;t[(t[n+272>>2]|0)+(t[n+276>>2]<<2)>>2]=0;l=t[l>>2]|0;if(!(t[(t[l+180>>2]|0)+((t[l+276>>2]|0)+-1<<2)>>2]|0)){nw(1,102487,f+8|0)|0;aA(188848,1)}l=(t[((t[e>>2]&3|0)==2?e:a)+40>>2]|0)+16|0;r=t[l>>2]|0;i[r+157>>0]=1;a=t[r+264>>2]|0;r=r+268|0;n=t[r>>2]|0;t[r>>2]=n+1;t[a+(n<<2)>>2]=e;e=t[l>>2]|0;t[(t[e+264>>2]|0)+(t[e+268>>2]<<2)>>2]=0;l=t[l>>2]|0;if(!(t[(t[l+172>>2]|0)+((t[l+268>>2]|0)+-1<<2)>>2]|0)){nw(1,102522,f+16|0)|0;aA(188848,1)}else{h=f;return}}function YM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;while(1){n=e+12|0;r=t[n>>2]|0;if((r|0)==0|(r|0)==(e|0))break;else e=r}while(1){a=A+12|0;r=t[a>>2]|0;if((r|0)==0|(r|0)==(A|0))break;else A=r}if((e|0)!=(A|0)){i=t[e+8>>2]|0;r=t[A+8>>2]|0;do{if((i|0)>-1)if((r|0)==-1)f=e;else s=10;else if((r|0)>-1)if((i|0)==-1){f=A;break}else{s=10;break}else ge(102376,102331,327,102423)}while(0);if((s|0)==10)f=(t[A+4>>2]|0)<(t[e+4>>2]|0)?e:A;t[a>>2]=f;t[n>>2]=f;t[f+4>>2]=(t[A+4>>2]|0)+(t[e+4>>2]|0);if((t[f+8>>2]|0)>-1)l=f;else ge(102434,102331,335,102423)}else l=e;return l|0}function FM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,l=0,s=0,c=0,o=0,u=0;o=DM(e)|0;if(r){c=t[r>>2]&3;if(((t[(t[(t[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(f[(t[r+16>>2]|0)+170>>1]|0|0))i=3}else{r=0;i=3}e:do{if((i|0)==3){c=e+16|0;s=0;while(1){i=t[c>>2]|0;l=t[(t[i+180>>2]|0)+(s<<2)>>2]|0;if(!l){s=0;break}i=l+16|0;a=l+-48|0;n=t[((t[l>>2]&3|0)==2?l:a)+40>>2]|0;do{if((t[(t[i>>2]|0)+164>>2]|0)>-1){if((n|0)!=(A|0))r=FM(n,e,r)|0}else if((DM(n)|0)!=(o|0)){if(r|0?(u=t[l>>2]&3,n=t[r>>2]&3,((t[(t[(t[((u|0)==2?l:a)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((u|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[i>>2]|0)+170>>1]|0)|0)>=((t[(t[(t[((n|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((n|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[r+16>>2]|0)+170>>1]|0)|0)):0)break;r=l}}while(0);s=s+1|0}while(1){i=t[(t[i+172>>2]|0)+(s<<2)>>2]|0;if(!i)break e;a=i+16|0;n=i+48|0;l=t[((t[i>>2]&3|0)==3?i:n)+40>>2]|0;do{if((t[(t[a>>2]|0)+164>>2]|0)>-1){if((l|0)!=(A|0))r=FM(l,e,r)|0}else if((DM(l)|0)!=(o|0)){if(r|0?(l=t[i>>2]&3,u=t[r>>2]&3,((t[(t[(t[((l|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((l|0)==3?i:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[a>>2]|0)+170>>1]|0)|0)>=((t[(t[(t[((u|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(t[(t[((u|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(t[r+16>>2]|0)+170>>1]|0)|0)):0)break;r=i}}while(0);s=s+1|0;i=t[c>>2]|0}}}while(0);return r|0}function MM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;o=e+16|0;r=t[o>>2]|0;t[r+280>>2]=A;e=1;n=0;while(1){a=t[(t[r+172>>2]|0)+(n<<2)>>2]|0;if(!a){n=0;break}i=t[a+16>>2]|0;if(((t[i+164>>2]|0)<=-1?(l=t[a>>2]&3,s=a+48|0,c=t[(t[((l|0)==3?a:s)+40>>2]|0)+16>>2]|0,(t[c+280>>2]|0)==0):0)?((t[(t[(t[((l|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[c+232>>2]|0)|0)==(f[i+170>>1]|0|0):0){WM(a);e=(MM(t[((t[a>>2]&3|0)==3?a:s)+40>>2]|0,A)|0)+e|0;r=t[o>>2]|0}n=n+1|0}while(1){i=t[(t[r+180>>2]|0)+(n<<2)>>2]|0;if(!i)break;a=t[i+16>>2]|0;if(((t[a+164>>2]|0)<=-1?(u=t[i>>2]&3,b=i+-48|0,h=t[(t[((u|0)==2?i:b)+40>>2]|0)+16>>2]|0,(t[h+280>>2]|0)==0):0)?((t[h+232>>2]|0)-(t[(t[(t[((u|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(f[a+170>>1]|0|0):0){WM(i);e=(MM(t[((t[i>>2]&3|0)==2?i:b)+40>>2]|0,A)|0)+e|0;r=t[o>>2]|0}n=n+1|0}return e|0}function VM(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=Hw(e,102586)|0;if(!i)i=30;else i=K3(i)|0;return rM(e,A,r,i)|0}function NM(e){e=+e;return+(0==0?e:+c[23301]-e)}function RM(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0;d=h;h=h+16|0;k=d;t[47264]=t[(t[(t[A+64>>2]|0)+8>>2]|0)+4>>2];xM(A);f=t[A+16>>2]|0;g=+c[f+32>>3];v=+c[f+40>>3];JM(r,102597,+c[e+352>>3]);JM(r,102604,g*.013888888888888888);JM(r,102604,v*.013888888888888888);HM(r);f=sd(A)|0;while(1){if(!f)break;n=f+16|0;if(!(i[(t[n>>2]|0)+118>>0]|0)){PM(r,102606,$v(Mk(f)|0)|0);w=(t[n>>2]|0)+16|0;t[k>>2]=t[w>>2];t[k+4>>2]=t[w+4>>2];t[k+8>>2]=t[w+8>>2];t[k+12>>2]=t[w+12>>2];XM(r,k);if(!(i[(t[(t[n>>2]|0)+104>>2]|0)+82>>0]|0)){e=Bd(f)|0;e=SM(e,t[t[(t[n>>2]|0)+104>>2]>>2]|0)|0}else e=$v(Pw(f,t[47154]|0)|0)|0;JM(r,102604,+c[(t[n>>2]|0)+32>>3]);JM(r,102604,+c[(t[n>>2]|0)+40>>3]);PM(r,102604,e);PM(r,102604,vx(f,t[47157]|0,111067)|0);PM(r,102604,t[t[(t[n>>2]|0)+8>>2]>>2]|0);PM(r,102604,vx(f,t[47148]|0,137314)|0);e=vx(f,t[47149]|0,195059)|0;if(!(i[e>>0]|0))e=vx(f,t[47148]|0,134800)|0;PM(r,102604,e);HM(r)}f=cd(A,f)|0}b=a<<24>>24==0;u=sd(A)|0;while(1){if(!u)break;o=Ow(A,u)|0;while(1){if(!o)break;if(b){a=195059;l=195059}else{l=Hw(o,111455)|0;a=Hw(o,111464)|0;a=a|0?a:195059;l=l|0?l:195059}w=o+16|0;e=t[w>>2]|0;s=t[e+8>>2]|0;e:do{if(s){f=t[s+4>>2]|0;e=0;n=0;while(1){if((e|0)>=(f|0))break;m=(t[(t[s>>2]|0)+(e*48|0)+4>>2]|0)+n|0;e=e+1|0;n=m}PM(r,0,111450);jM(r,t[((t[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0,l);jM(r,t[((t[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,a);UM(r,n);a=0;while(1){e=t[w>>2]|0;n=t[e+8>>2]|0;if((a|0)>=(t[n+4>>2]|0))break e;f=t[n>>2]|0;n=t[f+(a*48|0)>>2]|0;f=t[f+(a*48|0)+4>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;m=n+(e<<4)|0;t[k>>2]=t[m>>2];t[k+4>>2]=t[m+4>>2];t[k+8>>2]=t[m+8>>2];t[k+12>>2]=t[m+12>>2];XM(r,k);e=e+1|0}a=a+1|0}}}while(0);if(t[e+96>>2]|0){m=Bd(t[((t[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0;PM(r,102604,SM(m,t[t[(t[w>>2]|0)+96>>2]>>2]|0)|0);m=(t[(t[w>>2]|0)+96>>2]|0)+56|0;t[k>>2]=t[m>>2];t[k+4>>2]=t[m+4>>2];t[k+8>>2]=t[m+8>>2];t[k+12>>2]=t[m+12>>2];XM(r,k)}PM(r,102604,vx(o,t[47185]|0,111067)|0);PM(r,102604,vx(o,t[47176]|0,137314)|0);HM(r);o=qw(A,o)|0}u=cd(A,u)|0}TM(102612,r);h=d;return}function xM(e){e=e|0;var A=0.0;if(0){e=t[e+16>>2]|0;A=+c[e+24>>3]+ +c[e+40>>3];c[23301]=A;c[23302]=A*.013888888888888888}return}function JM(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,t=0;t=h;h=h+1040|0;a=t;i=t+8|0;if(A|0)TM(A,e);c[a>>3]=r;T4(i,102618,a)|0;TM(i,e);h=t;return}function HM(e){e=e|0;i[194955]=10;Z5[t[47264]&127](e,194955)|0;return}function PM(e,A,r){e=e|0;A=A|0;r=r|0;if(A|0)TM(A,e);TM(r,e);return}function XM(e,A){e=e|0;A=A|0;var r=0.0;JM(e,102604,+c[A>>3]*.013888888888888888);if(!0)r=+c[A+8>>3];else r=+c[23301]-+c[A+8>>3];JM(e,102604,r*.013888888888888888);return}function SM(e,A){e=e|0;A=A|0;var r=0;r=tv(e,A)|0;A=$v(r)|0;fv(e,r)|0;return A|0}function jM(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;if(!(i[(t[A+16>>2]|0)+118>>0]|0))A=$v(Mk(A)|0)|0;else{a=Bd(A)|0;A=SM(a,(C1(Mk(A)|0,58)|0)+1|0)|0}PM(e,102604,A);if(r|0?i[r>>0]|0:0)PM(e,107984,$v(r)|0);return}function UM(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+1040|0;a=r;i=r+8|0;TM(102604,e);t[a>>2]=A;T4(i,137395,a)|0;TM(i,e);h=r;return}function TM(e,A){e=e|0;A=A|0;Z5[t[47264]&127](A,e)|0;return}function OM(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,l=0,s=0,o=0.0,u=0,b=0.0,w=0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0;_=h;h=h+2288|0;T=_+208|0;U=_+192|0;j=_+176|0;S=_+160|0;X=_+144|0;P=_+128|0;J=_+112|0;x=_+96|0;R=_+80|0;N=_+64|0;V=_+56|0;M=_+48|0;O=_+32|0;H=_+24|0;F=_;Q=_+1264|0;D=_+224|0;z=e+16|0;G=(f[(t[z>>2]|0)+178>>1]|0)>2;nF(1);xM(e);cw(D,1024,_+240|0);wJ(e,1,102623,195059)|0;wJ(e,1,102627,195059)|0;t[47146]=wJ(e,1,141116,195059)|0;t[47145]=wJ(e,1,141048,195059)|0;wJ(e,2,102623,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0;if(n&16){wJ(e,1,102633,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0}if(n&1){wJ(e,2,102637,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0}if(n&32){wJ(e,2,102633,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0}if(n&2){wJ(e,2,102640,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0}if(n&4){wJ(e,2,102648,195059)|0;n=i[(t[z>>2]|0)+113>>0]|0}if(!(n&8)){p=0;E=0;B=0}else{B=wJ(e,0,102637,195059)|0;E=wJ(e,0,102656,195059)|0;p=wJ(e,0,102663,195059)|0}C=wJ(e,0,102671,195059)|0;I=D+4|0;Z=D+8|0;m=0;n=0;y=sd(e)|0;while(1){if(!y)break;g=y+16|0;s=t[g>>2]|0;b=+c[s+16>>3];l=0==0;if(G){if(l)o=+c[s+24>>3];else o=+c[23301]-+c[s+24>>3];k=+c[(t[s+132>>2]|0)+16>>3]*72.0;c[F>>3]=b;c[F+8>>3]=o;c[F+16>>3]=k;T4(Q,102674,F)|0;bw(D,Q)|0;l=3;while(1){if((l|0)>=(f[(t[z>>2]|0)+178>>1]|0))break;c[H>>3]=+c[(t[(t[g>>2]|0)+132>>2]|0)+(l<<3)>>3]*72.0;T4(Q,102689,H)|0;bw(D,Q)|0;l=l+1|0}l=t[I>>2]|0;if(l>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;l=t[I>>2]|0}i[l>>0]=0;v=t[D>>2]|0;t[I>>2]=v;Xw(y,102623,v)|0;v=y}else{if(l)o=+c[s+24>>3];else o=+c[23301]-+c[s+24>>3];c[O>>3]=b;c[O+8>>3]=o;T4(Q,102695,O)|0;Xw(y,102623,Q)|0;v=y}c[M>>3]=+c[(t[g>>2]|0)+80>>3]*.013888888888888888;T4(Q,102618,M)|0;Mw(v,t[47145]|0,Q)|0;l=t[g>>2]|0;c[V>>3]=(+c[l+96>>3]+ +c[l+88>>3])*.013888888888888888;T4(Q,102618,V)|0;Mw(v,t[47146]|0,Q)|0;l=t[g>>2]|0;s=t[l+108>>2]|0;if((s|0)!=0?(i[s+81>>0]|0)!=0:0){k=+c[s+64>>3];k=0==0?k:+c[23301]-k;c[N>>3]=+c[s+56>>3];c[N+8>>3]=k;T4(Q,102695,N)|0;Xw(v,102633,Q)|0;l=t[g>>2]|0}if(e1(t[t[l+8>>2]>>2]|0,106220)|0){if(t[47170]|0?(yN(y)|0)<<24>>24:0){s=t[(t[g>>2]|0)+12>>2]|0;d=s+8|0;l=t[d>>2]|0;if((l|0)<3){l=Hw(v,102705)|0;if(!l)l=8;else l=K3(l)|0;l=(l|0)<3?8:l}w=s+44|0;k=1.0/+(l|0);u=0;while(1){if((u|0)>=(l|0))break;if((u|0)>0){s=t[I>>2]|0;if(s>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;s=t[I>>2]|0}t[I>>2]=s+1;i[s>>0]=32}if((t[d>>2]|0)>2){s=t[w>>2]|0;if(!0)o=+c[s+(u<<4)+8>>3]*.013888888888888888;else o=+c[23302]-+c[s+(u<<4)+8>>3]*.013888888888888888;c[R>>3]=+c[s+(u<<4)>>3]*.013888888888888888;c[R+8>>3]=o;T4(Q,102718,R)|0}else{s=t[g>>2]|0;o=k*+(u|0)*6.283185307179586;b=+c[s+32>>3]*.5*+W(+o);if(!0)o=+c[s+40>>3]*.5*+Y(+o);else o=+c[23302]-+c[s+40>>3]*.5*+Y(+o);c[x>>3]=b;c[x+8>>3]=o;T4(Q,102718,x)|0}bw(D,Q)|0;u=u+1|0}s=t[47170]|0;l=t[I>>2]|0;if(l>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;l=t[I>>2]|0}i[l>>0]=0;g=t[D>>2]|0;t[I>>2]=g;Mw(v,s,g)|0}}else{_M(y,t[l+12>>2]|0,D);ww(D)|0;l=t[I>>2]|0;if(l>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;l=t[I>>2]|0}i[l>>0]=0;g=t[D>>2]|0;t[I>>2]=g;Xw(v,102627,g)|0}e:do{if((t[47138]|0)>0){g=Ow(e,y)|0;l=m;while(1){if(!g)break e;v=g+16|0;s=t[v>>2]|0;do{if((i[s+112>>0]|0)!=6?(L=t[s+8>>2]|0,(L|0)!=0):0){d=0;s=L;while(1){if((d|0)>=(t[s+4>>2]|0))break;if((d|0)>0){s=t[I>>2]|0;if(s>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;s=t[I>>2]|0}t[I>>2]=s+1;i[s>>0]=59;s=t[(t[v>>2]|0)+8>>2]|0}s=t[s>>2]|0;if(t[s+(d*48|0)+8>>2]|0){if(!0)o=+c[s+(d*48|0)+24>>3];else o=+c[23301]-+c[s+(d*48|0)+24>>3];c[J>>3]=+c[s+(d*48|0)+16>>3];c[J+8>>3]=o;T4(Q,102728,J)|0;bw(D,Q)|0;n=1;s=t[t[(t[v>>2]|0)+8>>2]>>2]|0}if(t[s+(d*48|0)+12>>2]|0){if(!0)o=+c[s+(d*48|0)+40>>3];else o=+c[23301]-+c[s+(d*48|0)+40>>3];c[P>>3]=+c[s+(d*48|0)+32>>3];c[P+8>>3]=o;T4(Q,102741,P)|0;bw(D,Q)|0;l=1}w=0;while(1){s=t[(t[v>>2]|0)+8>>2]|0;u=t[s>>2]|0;if((w|0)>=(t[u+(d*48|0)+4>>2]|0))break;if((w|0)>0){s=t[I>>2]|0;if(s>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;s=t[I>>2]|0}t[I>>2]=s+1;i[s>>0]=32;s=t[t[(t[v>>2]|0)+8>>2]>>2]|0}else s=u;m=t[s+(d*48|0)>>2]|0;k=+c[m+(w<<4)+8>>3];k=0==0?k:+c[23301]-k;c[X>>3]=+c[m+(w<<4)>>3];c[X+8>>3]=k;T4(Q,102695,X)|0;bw(D,Q)|0;w=w+1|0}d=d+1|0}s=t[I>>2]|0;if(s>>>0>=(t[Z>>2]|0)>>>0){ow(D,1)|0;s=t[I>>2]|0}i[s>>0]=0;s=t[D>>2]|0;t[I>>2]=s;Xw(g,102623,s)|0;s=t[v>>2]|0;u=t[s+96>>2]|0;if(u){k=+c[u+64>>3];k=0==0?k:+c[23301]-k;c[S>>3]=+c[u+56>>3];c[S+8>>3]=k;T4(Q,102695,S)|0;Xw(g,102637,Q)|0;s=t[v>>2]|0}u=t[s+108>>2]|0;do{if(u){if(!(i[u+81>>0]|0))break;k=+c[u+64>>3];k=0==0?k:+c[23301]-k;c[j>>3]=+c[u+56>>3];c[j+8>>3]=k;T4(Q,102695,j)|0;Xw(g,102633,Q)|0;s=t[v>>2]|0}}while(0);u=t[s+100>>2]|0;if(u){k=+c[u+64>>3];k=0==0?k:+c[23301]-k;c[U>>3]=+c[u+56>>3];c[U+8>>3]=k;T4(Q,102695,U)|0;Xw(g,102640,Q)|0;s=t[v>>2]|0}s=t[s+104>>2]|0;if(!s)break;k=+c[s+64>>3];k=0==0?k:+c[23301]-k;c[T>>3]=+c[s+56>>3];c[T+8>>3]=k;T4(Q,102695,T)|0;Xw(g,102648,Q)|0}}while(0);g=qw(e,g)|0}}else l=m}while(0);m=l;y=cd(e,y)|0}qM(e,C,B,E,p);hw(D);if(a[(t[z>>2]|0)+136>>1]&1)sJ(e);t[A>>2]=n;t[r>>2]=m;nF(0);h=_;return}function _M(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0.0;u=h;h=h+1056|0;s=u;l=u+32|0;o=A+48|0;if(!(t[o>>2]|0)){i=t[e+16>>2]|0;f=+c[i+16>>3];if(!0){n=+c[i+24>>3];a=n+ +c[A+24>>3];n=n+ +c[A+40>>3]}else{n=+c[i+24>>3];a=+c[23301]-+c[A+24>>3]-n;n=+c[23301]-+c[A+40>>3]-n}b=f+ +c[A+32>>3];c[s>>3]=f+ +c[A+16>>3];c[s+8>>3]=a;c[s+16>>3]=b;c[s+24>>3]=n;T4(l,102779,s)|0;bw(r,l)|0}A=A+56|0;i=0;while(1){if((i|0)>=(t[o>>2]|0))break;_M(e,t[(t[A>>2]|0)+(i<<2)>>2]|0,r);i=i+1|0}h=u;return}function qM(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0;v=h;h=h+1088|0;b=v+56|0;k=v+48|0;w=v+32|0;l=v;u=v+64|0;d=e+16|0;f=t[d>>2]|0;if(!0){s=+c[f+24>>3];o=+c[f+40>>3]}else{o=+c[23301];s=o-+c[f+24>>3];o=o-+c[f+40>>3]}g=+c[f+32>>3];c[l>>3]=+c[f+16>>3];c[l+8>>3]=s;c[l+16>>3]=g;c[l+24>>3]=o;T4(u,102754,l)|0;Mw(e,A,u)|0;f=t[(t[d>>2]|0)+12>>2]|0;if((f|0)!=0?(i[t[f>>2]>>0]|0)!=0:0){g=+c[f+64>>3];g=0==0?g:+c[23301]-g;c[w>>3]=+c[f+56>>3];c[w+8>>3]=g;T4(u,102695,w)|0;Mw(e,r,u)|0;f=t[(t[d>>2]|0)+12>>2]|0;g=+c[f+32>>3];c[k>>3]=+c[f+24>>3]*.013888888888888888;T4(u,102774,k)|0;Mw(e,a,u)|0;c[b>>3]=g*.013888888888888888;T4(u,102774,b)|0;Mw(e,n,u)|0;f=1}else f=1;while(1){l=t[d>>2]|0;if((f|0)>(t[l+180>>2]|0))break;qM(t[(t[l+184>>2]|0)+(f<<2)>>2]|0,A,r,a,n);f=f+1|0}h=v;return}function KM(e){e=e|0;var A=0;A=h;h=h+16|0;OM(e,A,A+4|0);h=A;return}function $M(){return Uh(20740,t[4581]|0)|0}function eV(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function AV(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[A>>2]|0;i=t[r>>2]|0;if((e|0)<=(i|0))if((e|0)<(i|0))e=-1;else{A=t[A+4>>2]|0;r=t[r+4>>2]|0;return((A|0)>(r|0)?1:((A|0)<(r|0))<<31>>31)|0}else e=1;return e|0}function rV(e){e=e|0;Ph(e)|0;return}function iV(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];A=aV(i)|0;if((L5[t[e>>2]&63](e,A,1)|0)!=(A|0))G2(A);h=r;return}function aV(e){e=e|0;var A=0,r=0,i=0;A=KF(16)|0;i=e;r=t[i+4>>2]|0;e=A+8|0;t[e>>2]=t[i>>2];t[e+4>>2]=r;return A|0}function tV(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=h;h=h+16|0;a=i+8|0;n=i;t[n>>2]=A;t[n+4>>2]=r;t[a>>2]=t[n>>2];t[a+4>>2]=t[n+4>>2];A=aV(a)|0;if((L5[t[e>>2]&63](e,A,1)|0)!=(A|0))G2(A);h=i;return}function nV(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=h;h=h+16|0;i=r;n=A;a=t[n+4>>2]|0;A=i+8|0;t[A>>2]=t[n>>2];t[A+4>>2]=a;A=(L5[t[e>>2]&63](e,i,4)|0)!=0&1;h=r;return A|0}function fV(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a+8>>2]=A;t[a+12>>2]=r;r=(L5[t[e>>2]&63](e,a,4)|0)!=0&1;h=i;return r|0}function lV(e){e=e|0;return Oh(e)|0}function sV(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;r=KF((Oh(e)|0)<<3)|0;A=r;e=Sh(e)|0;while(1){if(!e)break;n=e+8|0;a=t[n+4>>2]|0;i=A;t[i>>2]=t[n>>2];t[i+4>>2]=a;A=A+8|0;e=t[e>>2]|0}return r|0}function cV(){var e=0,A=0,r=0,i=0;e=$F(40)|0;A=e;r=20776;i=A+36|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(i|0));t[e+36>>2]=0;return Uh(e,t[4581]|0)|0}function oV(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;r=r+36|0;e=t[r>>2]|0;if(!e)e=$F(20)|0;else t[r>>2]=t[e>>2];a=A+8|0;i=t[a+4>>2]|0;r=e+8|0;t[r>>2]=t[a>>2];t[r+4>>2]=i;t[e+16>>2]=t[A+16>>2];return e|0}function uV(e,A,r){e=e|0;A=A|0;r=r|0;r=r+36|0;t[A>>2]=t[r>>2];t[r>>2]=A;return}function bV(e){e=e|0;L5[t[e>>2]&63](e,0,64)|0;return}function hV(e){e=e|0;var A=0,r=0;A=t[e+4>>2]|0;Ph(e)|0;e=t[A+36>>2]|0;while(1){if(!e)break;r=t[e>>2]|0;G2(e);e=r}G2(A);return}function wV(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=h;h=h+32|0;n=a;t[n+8>>2]=A;t[n+12>>2]=r;t[n+16>>2]=i;i=t[(L5[t[e>>2]&63](e,n,1)|0)+16>>2]|0;h=a;return i|0}function kV(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+160|0;k=g+144|0;r=g+48|0;l=g+128|0;s=g+112|0;o=g+96|0;u=g+80|0;b=g+32|0;w=g+16|0;d=g;v=e+16|0;e=t[v>>2]|0;i=+c[e+16>>3];a=+c[e+24>>3];n=+c[e+32>>3];f=+c[e+40>>3];if((A+-1|0)>>>0<2){dV(l,i,f);t[k>>2]=t[l>>2];t[k+4>>2]=t[l+4>>2];t[k+8>>2]=t[l+8>>2];t[k+12>>2]=t[l+12>>2];vV(r,k);w=r+16|0;dV(s,n,a);t[k>>2]=t[s>>2];t[k+4>>2]=t[s+4>>2];t[k+8>>2]=t[s+8>>2];t[k+12>>2]=t[s+12>>2];vV(o,k);t[w>>2]=t[o>>2];t[w+4>>2]=t[o+4>>2];t[w+8>>2]=t[o+8>>2];t[w+12>>2]=t[o+12>>2]}else{dV(u,i,a);t[k>>2]=t[u>>2];t[k+4>>2]=t[u+4>>2];t[k+8>>2]=t[u+8>>2];t[k+12>>2]=t[u+12>>2];vV(r,k);u=r+16|0;dV(b,n,f);t[k>>2]=t[b>>2];t[k+4>>2]=t[b+4>>2];t[k+8>>2]=t[b+8>>2];t[k+12>>2]=t[b+12>>2];vV(w,k);t[u>>2]=t[w>>2];t[u+4>>2]=t[w+4>>2];t[u+8>>2]=t[w+8>>2];t[u+12>>2]=t[w+12>>2]}e=(t[v>>2]|0)+16|0;t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];t[e+16>>2]=t[r+16>>2];t[e+20>>2]=t[r+20>>2];t[e+24>>2]=t[r+24>>2];t[e+28>>2]=t[r+28>>2];e=t[(t[v>>2]|0)+12>>2]|0;if(!e)e=1;else{e=e+56|0;t[k>>2]=t[e>>2];t[k+4>>2]=t[e+4>>2];t[k+8>>2]=t[e+8>>2];t[k+12>>2]=t[e+12>>2];vV(d,k);t[e>>2]=t[d>>2];t[e+4>>2]=t[d+4>>2];t[e+8>>2]=t[d+8>>2];t[e+12>>2]=t[d+12>>2];e=1}while(1){r=t[v>>2]|0;if((e|0)>(t[r+180>>2]|0))break;kV(t[(t[r+184>>2]|0)+(e<<2)>>2]|0,A);e=e+1|0}h=g;return}function dV(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function vV(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=h;h=h+32|0;n=r+16|0;i=r;a=(t[47265]|0)*90|0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];LF(i,n,a);t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[A+12>>2]=t[i+12>>2];c[A>>3]=+c[A>>3]-+c[23303];i=A+8|0;c[i>>3]=+c[i>>3]-+c[23304];t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];h=r;return}function gV(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0,f=0,l=0.0,s=0.0,o=0,u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;E=h;h=h+1168|0;v=E+144|0;p=E+96|0;m=E+64|0;g=E+48|0;b=E+32|0;w=E+16|0;k=E;t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;t[g+12>>2]=0;d=e+16|0;o=t[(t[d>>2]|0)+116>>2]|0;t[47265]=o&3;o=o&1;i[194957]=o;if(!(o<<24>>24))pV(e);else mV(e);EV(e);o=t[d>>2]|0;r=t[o+12>>2]|0;do{if(r|0?(i[r+81>>0]|0)==0:0){n=r+24|0;t[g>>2]=t[n>>2];t[g+4>>2]=t[n+4>>2];t[g+8>>2]=t[n+8>>2];t[g+12>>2]=t[n+12>>2];u=+c[g>>3]+16.0;c[g>>3]=u;n=g+8|0;a=+c[n>>3]+8.0;c[n>>3]=a;n=(i[o+275>>0]&1)!=0;if(i[194957]|0){if(n){f=o+32|0;c[f>>3]=+c[f>>3]+a}else{f=o+16|0;c[f>>3]=+c[f>>3]-a}n=o+40|0;a=+c[n>>3];f=o+24|0;l=+c[f>>3];s=a-l;if(!(u>s))break;u=(u-s)*.5;c[f>>3]=l-u;c[n>>3]=a+u;break}f=(t[47265]|0)==0;do{if(n)if(f){f=o+40|0;c[f>>3]=+c[f>>3]+a;break}else{f=o+24|0;c[f>>3]=+c[f>>3]-a;break}else if(f){f=o+24|0;c[f>>3]=+c[f>>3]-a;break}else{f=o+40|0;c[f>>3]=+c[f>>3]+a;break}}while(0);n=o+32|0;a=+c[n>>3];f=o+16|0;l=+c[f>>3];s=a-l;if(u>s){u=(u-s)*.5;c[f>>3]=l-u;c[n>>3]=a+u}}}while(0);if(A){switch(t[47265]|0){case 0:{k=o+16|0;t[46606]=t[k>>2];t[46607]=t[k+4>>2];t[46608]=t[k+8>>2];t[46609]=t[k+12>>2];break}case 1:{dV(b,-+c[o+40>>3],+c[o+16>>3]);t[46606]=t[b>>2];t[46607]=t[b+4>>2];t[46608]=t[b+8>>2];t[46609]=t[b+12>>2];break}case 2:{dV(w,+c[o+16>>3],-+c[o+40>>3]);t[46606]=t[w>>2];t[46607]=t[w+4>>2];t[46608]=t[w+8>>2];t[46609]=t[w+12>>2];break}case 3:{dV(k,+c[o+24>>3],+c[o+16>>3]);t[46606]=t[k>>2];t[46607]=t[k+4>>2];t[46608]=t[k+8>>2];t[46609]=t[k+12>>2];break}default:{}}BV(e);r=t[(t[d>>2]|0)+12>>2]|0}if(r|0?(i[r+81>>0]|0)==0:0){t[v>>2]=t[g>>2];t[v+4>>2]=t[g+4>>2];t[v+8>>2]=t[g+8>>2];t[v+12>>2]=t[g+12>>2];yV(e,v)}if(!0){h=E;return}if(!(i[194957]|0)){u=+c[23304];s=+c[23303];c[p>>3]=u;c[p+8>>3]=s;c[p+16>>3]=u;c[p+24>>3]=s;c[p+32>>3]=-s;c[p+40>>3]=-u;T4(v,103015,p)|0}else{s=+c[23303];u=+c[23304];c[m>>3]=s;c[m+8>>3]=u;c[m+16>>3]=s;c[m+24>>3]=u;T4(v,102800,m)|0}o3(v)|0;iA()}function mV(e){e=e|0;var A=0,r=0.0,a=0.0,n=0,f=0,l=0;l=e+16|0;if(((yd(e)|0)!=(e|0)?(n=t[l>>2]|0,f=t[n+12>>2]|0,(f|0)!=0):0)?(i[f+81>>0]|0)==0:0){A=i[n+275>>0]|0;if(!(A&1)){a=+c[n+16>>3]+ +c[n+96>>3]*.5;e=n+104|0}else{a=+c[n+32>>3]-+c[n+64>>3]*.5;e=n+72|0}r=+c[e>>3];e=A<<24>>24;do{if(!(e&4))if(!(e&2)){r=(+c[n+40>>3]+ +c[n+24>>3])*.5;break}else{r=+c[n+40>>3]-r*.5;break}else r=+c[n+24>>3]+r*.5}while(0);c[f+56>>3]=a;c[f+64>>3]=r;i[(t[(t[l>>2]|0)+12>>2]|0)+81>>0]=1;e=1}else e=1;while(1){A=t[l>>2]|0;if((e|0)>(t[A+180>>2]|0))break;mV(t[(t[A+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function pV(e){e=e|0;var A=0,r=0.0,a=0.0,n=0.0,f=0,l=0,s=0;s=e+16|0;if(((yd(e)|0)!=(e|0)?(f=t[s>>2]|0,l=t[f+12>>2]|0,(l|0)!=0):0)?(i[l+81>>0]|0)==0:0){A=i[f+275>>0]|0;if(!(A&1)){n=+c[f+24>>3]+ +c[f+56>>3]*.5;e=f+48|0}else{n=+c[f+40>>3]-+c[f+88>>3]*.5;e=f+80|0}a=+c[e>>3];e=A<<24>>24;do{if(!(e&4)){r=+c[f+16>>3];if(!(e&2)){r=(+c[f+32>>3]+r)*.5;break}else{r=r+a*.5;break}}else r=+c[f+32>>3]-a*.5}while(0);c[l+56>>3]=r;c[l+64>>3]=n;i[(t[(t[s>>2]|0)+12>>2]|0)+81>>0]=1;e=1}else e=1;while(1){A=t[s>>2]|0;if((e|0)>(t[A+180>>2]|0))break;pV(t[(t[A+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function EV(e){e=e|0;var A=0,r=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0;X=h;h=h+544|0;V=X+504|0;P=X+416|0;H=X+376|0;M=X+352|0;F=X+312|0;Y=X+288|0;W=X+248|0;N=X+200|0;Z=X+152|0;x=X+96|0;w=X+488|0;G=X+456|0;L=X+424|0;Q=X+384|0;D=X+360|0;z=X+320|0;E=X+296|0;B=X+256|0;y=X+232|0;C=X+168|0;I=X+136|0;A=X+56|0;R=X+16|0;J=X;b=e+16|0;m=t[b>>2]|0;r=a[m+136>>1]&14;m=n[m+113>>0]|0;if(!((m&54|0)==0?(m&1|0)==0|(t[47139]|0)!=0:0)){m=r<<16>>16==0;u=sd(e)|0;f=0;s=0;l=0;while(1){if(!u)break;r=t[(t[u+16>>2]|0)+108>>2]|0;do{if(r)if(!(i[r+81>>0]|0)){l=l+1|0;break}else{f=f+1|0;break}}while(0);o=Ow(e,u)|0;r=s;while(1){if(!o)break;c=t[o+16>>2]|0;s=t[c+108>>2]|0;do{if(s){if(i[s+81>>0]|0){f=f+1|0;break}if(!m)r=r+((t[c+8>>2]|0)!=0&1)|0}}while(0);s=t[c+100>>2]|0;do{if(s){if(i[s+81>>0]|0){f=f+1|0;break}if(!m)r=r+((t[c+8>>2]|0)!=0&1)|0}}while(0);s=t[c+104>>2]|0;do{if(s){if(i[s+81>>0]|0){f=f+1|0;break}if(!m)r=r+((t[c+8>>2]|0)!=0&1)|0}}while(0);s=t[c+96>>2]|0;do{if(s){if(i[s+81>>0]|0){f=f+1|0;break}if(!m)r=r+((t[c+8>>2]|0)!=0&1)|0}}while(0);o=qw(e,o)|0}u=cd(e,u)|0;s=r}if(!(i[(t[b>>2]|0)+113>>0]&8))b=0;else b=IV(e)|0;g=s+l|0;if(g|0){k=f+s+b+(gk(e)|0)|0;d=KF(k*40|0)|0;v=KF(g*40|0)|0;dV(N,2147483647.0,2147483647.0);r=N+16|0;dV(w,-2147483647.0,-2147483647.0);t[r>>2]=t[w>>2];t[r+4>>2]=t[w+4>>2];t[r+8>>2]=t[w+8>>2];t[r+12>>2]=t[w+12>>2];r=v;l=d;u=sd(e)|0;while(1){if(!u)break;t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];ZV(G,u,l,V);t[N>>2]=t[G>>2];t[N+4>>2]=t[G+4>>2];t[N+8>>2]=t[G+8>>2];t[N+12>>2]=t[G+12>>2];t[N+16>>2]=t[G+16>>2];t[N+20>>2]=t[G+20>>2];t[N+24>>2]=t[G+24>>2];t[N+28>>2]=t[G+28>>2];f=t[(t[u+16>>2]|0)+108>>2]|0;do{if(f)if(!(i[f+81>>0]|0)){t[V>>2]=t[Z>>2];t[V+4>>2]=t[Z+4>>2];t[V+8>>2]=t[Z+8>>2];t[V+12>>2]=t[Z+12>>2];LV(f,l,r,0,V);r=r+40|0;break}else{l=l+40|0;t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];GV(L,f,l,V);t[N>>2]=t[L>>2];t[N+4>>2]=t[L+4>>2];t[N+8>>2]=t[L+8>>2];t[N+12>>2]=t[L+12>>2];t[N+16>>2]=t[L+16>>2];t[N+20>>2]=t[L+20>>2];t[N+24>>2]=t[L+24>>2];t[N+28>>2]=t[L+28>>2];break}}while(0);o=Ow(e,u)|0;l=l+40|0;while(1){if(!o)break;c=o+16|0;f=t[c>>2]|0;s=t[f+96>>2]|0;e:do{if(!s)p=52;else{do{if(!(i[s+81>>0]|0)){if(!m?t[f+8>>2]|0:0){NR(D,e,o);t[V>>2]=t[D>>2];t[V+4>>2]=t[D+4>>2];t[V+8>>2]=t[D+8>>2];t[V+12>>2]=t[D+12>>2];LV(s,l,r,1,V);r=r+40|0;break}t[W>>2]=t[s>>2];nw(0,103827,W)|0;break e}else{t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];GV(Q,s,l,V);t[N>>2]=t[Q>>2];t[N+4>>2]=t[Q+4>>2];t[N+8>>2]=t[Q+8>>2];t[N+12>>2]=t[Q+12>>2];t[N+16>>2]=t[Q+16>>2];t[N+20>>2]=t[Q+20>>2];t[N+24>>2]=t[Q+24>>2];t[N+28>>2]=t[Q+28>>2]}}while(0);l=l+40|0;f=t[c>>2]|0;p=52}}while(0);e:do{if((p|0)==52){p=0;s=t[f+104>>2]|0;if(s){do{if(!(i[s+81>>0]|0)){if(!m?t[f+8>>2]|0:0){QV(E,o);t[V>>2]=t[E>>2];t[V+4>>2]=t[E+4>>2];t[V+8>>2]=t[E+8>>2];t[V+12>>2]=t[E+12>>2];LV(s,l,r,1,V);r=r+40|0;break}t[Y>>2]=t[s>>2];nw(0,103862,Y)|0;break e}else{t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];GV(z,s,l,V);t[N>>2]=t[z>>2];t[N+4>>2]=t[z+4>>2];t[N+8>>2]=t[z+8>>2];t[N+12>>2]=t[z+12>>2];t[N+16>>2]=t[z+16>>2];t[N+20>>2]=t[z+20>>2];t[N+24>>2]=t[z+24>>2];t[N+28>>2]=t[z+28>>2]}}while(0);l=l+40|0;f=t[c>>2]|0}s=t[f+100>>2]|0;if(s){do{if(!(i[s+81>>0]|0)){if(!m?t[f+8>>2]|0:0){DV(y,o);t[V>>2]=t[y>>2];t[V+4>>2]=t[y+4>>2];t[V+8>>2]=t[y+8>>2];t[V+12>>2]=t[y+12>>2];LV(s,l,r,1,V);r=r+40|0;break}t[F>>2]=t[s>>2];nw(0,103902,F)|0;break e}else{t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];GV(B,s,l,V);t[N>>2]=t[B>>2];t[N+4>>2]=t[B+4>>2];t[N+8>>2]=t[B+8>>2];t[N+12>>2]=t[B+12>>2];t[N+16>>2]=t[B+16>>2];t[N+20>>2]=t[B+20>>2];t[N+24>>2]=t[B+24>>2];t[N+28>>2]=t[B+28>>2]}}while(0);l=l+40|0;f=t[c>>2]|0}s=t[f+108>>2]|0;if(s){do{if(!(i[s+81>>0]|0)){if(!m?t[f+8>>2]|0:0){NR(I,e,o);t[V>>2]=t[I>>2];t[V+4>>2]=t[I+4>>2];t[V+8>>2]=t[I+8>>2];t[V+12>>2]=t[I+12>>2];LV(s,l,r,1,V);r=r+40|0;break}t[M>>2]=t[s>>2];nw(0,103942,M)|0;break e}else{t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];t[V+16>>2]=t[N+16>>2];t[V+20>>2]=t[N+20>>2];t[V+24>>2]=t[N+24>>2];t[V+28>>2]=t[N+28>>2];GV(C,s,l,V);t[N>>2]=t[C>>2];t[N+4>>2]=t[C+4>>2];t[N+8>>2]=t[C+8>>2];t[N+12>>2]=t[C+12>>2];t[N+16>>2]=t[C+16>>2];t[N+20>>2]=t[C+20>>2];t[N+24>>2]=t[C+24>>2];t[N+28>>2]=t[C+28>>2]}}while(0);l=l+40|0}}}while(0);o=qw(e,o)|0}u=cd(e,u)|0}if(b|0){t[A>>2]=t[N>>2];t[A+4>>2]=t[N+4>>2];t[A+8>>2]=t[N+8>>2];t[A+12>>2]=t[N+12>>2];t[A+16>>2]=t[N+16>>2];t[A+20>>2]=t[N+20>>2];t[A+24>>2]=t[N+24>>2];t[A+28>>2]=t[N+28>>2];t[A+32>>2]=l;f=V;r=f+40|0;do{t[f>>2]=t[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(r|0));zV(R,e,V);t[N>>2]=t[R>>2];t[N+4>>2]=t[R+4>>2];t[N+8>>2]=t[R+8>>2];t[N+12>>2]=t[R+12>>2];t[N+16>>2]=t[R+16>>2];t[N+20>>2]=t[R+20>>2];t[N+24>>2]=t[R+24>>2];t[N+28>>2]=t[R+28>>2]}i[x+32>>0]=gx(e,zw(e,0,103978,0)|0,1)|0;t[x>>2]=t[N>>2];t[x+4>>2]=t[N+4>>2];t[x+8>>2]=t[N+8>>2];t[x+12>>2]=t[N+12>>2];t[x+16>>2]=t[N+16>>2];t[x+20>>2]=t[N+20>>2];t[x+24>>2]=t[N+24>>2];t[x+28>>2]=t[N+28>>2];$i(d,k,v,g,x)|0;if(0)WV(d,k,v,g,x);A=0;r=0;f=v;while(1){if((r|0)>=(g|0))break;if(i[f+36>>0]|0){x=t[f+32>>2]|0;i[x+81>>0]=1;R=x+56|0;YV(J,f);t[R>>2]=t[J>>2];t[R+4>>2]=t[J+4>>2];t[R+8>>2]=t[J+8>>2];t[R+12>>2]=t[J+12>>2];Hx(e,x);A=A+1|0}r=r+1|0;f=f+40|0}if(!0){if((A|0)!=(g|0)){t[P>>2]=A;t[P+4>>2]=g;nw(0,104023,P)|0}}else{P=t[15712]|0;t[H>>2]=A;t[H+4>>2]=g;a3(P,103990,H)|0}G2(d);G2(v)}}h=X;return}function BV(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;f=h;h=h+48|0;i=f+32|0;a=f+16|0;n=f;if(+c[23303]!=0.0|+c[23304]!=0.0|(t[47265]|0)!=0){r=sd(e)|0;while(1){if(!r)break;if(t[47265]|0)WJ(r,0);A=r+16|0;l=(t[A>>2]|0)+16|0;t[i>>2]=t[l>>2];t[i+4>>2]=t[l+4>>2];t[i+8>>2]=t[l+8>>2];t[i+12>>2]=t[l+12>>2];vV(a,i);t[l>>2]=t[a>>2];t[l+4>>2]=t[a+4>>2];t[l+8>>2]=t[a+8>>2];t[l+12>>2]=t[a+12>>2];A=t[(t[A>>2]|0)+108>>2]|0;if(A|0){l=A+56|0;t[i>>2]=t[l>>2];t[i+4>>2]=t[l+4>>2];t[i+8>>2]=t[l+8>>2];t[i+12>>2]=t[l+12>>2];vV(n,i);t[l>>2]=t[n>>2];t[l+4>>2]=t[n+4>>2];t[l+8>>2]=t[n+8>>2];t[l+12>>2]=t[n+12>>2]}e:do{if((t[47138]|0)==1){A=Ow(e,r)|0;while(1){if(!A)break e;CV(A);A=qw(e,A)|0}}}while(0);r=cd(e,r)|0}kV(e,t[(t[e+16>>2]|0)+116>>2]&3)}h=f;return}function yV(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0,l=0;f=e+16|0;l=t[f>>2]|0;n=i[l+275>>0]|0;e=n<<24>>24;do{if(!(e&4)){r=+c[l+16>>3];if(!(e&2)){a=(+c[l+32>>3]+r)*.5;break}else{a=+c[A>>3]*.5+r;break}}else a=+c[l+32>>3]-+c[A>>3]*.5}while(0);if(!(n&1))r=+c[A+8>>3]*.5+ +c[l+24>>3];else r=+c[l+40>>3]-+c[A+8>>3]*.5;l=t[l+12>>2]|0;c[l+56>>3]=a;c[l+64>>3]=r;i[(t[(t[f>>2]|0)+12>>2]|0)+81>>0]=1;return}function CV(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;v=h;h=h+144|0;k=v+120|0;r=v+16|0;l=v+104|0;s=v+88|0;c=v+72|0;o=v+56|0;u=v+40|0;b=v+24|0;d=v;w=e+16|0;A=t[w>>2]|0;a=t[A+8>>2]|0;if(!a){if((i[194954]|0)==0?(i[A+112>>0]|0)!=6:0){k=Mk(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;d=Mk(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t[r>>2]=k;t[r+4>>2]=d;nw(1,103810,r)|0}}else{f=0;e=a;while(1){if((f|0)>=(t[e+4>>2]|0))break;n=t[e>>2]|0;e=t[n+(f*48|0)>>2]|0;r=t[n+(f*48|0)+4>>2]|0;a=t[n+(f*48|0)+8>>2]|0;n=t[n+(f*48|0)+12>>2]|0;A=0;while(1){if((A|0)>=(r|0))break;g=e+(A<<4)|0;t[k>>2]=t[g>>2];t[k+4>>2]=t[g+4>>2];t[k+8>>2]=t[g+8>>2];t[k+12>>2]=t[g+12>>2];vV(l,k);t[g>>2]=t[l>>2];t[g+4>>2]=t[l+4>>2];t[g+8>>2]=t[l+8>>2];t[g+12>>2]=t[l+12>>2];A=A+1|0}if(a|0){g=(t[t[(t[w>>2]|0)+8>>2]>>2]|0)+(f*48|0)+16|0;t[k>>2]=t[g>>2];t[k+4>>2]=t[g+4>>2];t[k+8>>2]=t[g+8>>2];t[k+12>>2]=t[g+12>>2];vV(s,k);t[g>>2]=t[s>>2];t[g+4>>2]=t[s+4>>2];t[g+8>>2]=t[s+8>>2];t[g+12>>2]=t[s+12>>2]}if(n|0){g=(t[t[(t[w>>2]|0)+8>>2]>>2]|0)+(f*48|0)+32|0;t[k>>2]=t[g>>2];t[k+4>>2]=t[g+4>>2];t[k+8>>2]=t[g+8>>2];t[k+12>>2]=t[g+12>>2];vV(c,k);t[g>>2]=t[c>>2];t[g+4>>2]=t[c+4>>2];t[g+8>>2]=t[c+8>>2];t[g+12>>2]=t[c+12>>2]}A=t[w>>2]|0;f=f+1|0;e=t[A+8>>2]|0}e=t[A+96>>2]|0;if(e){A=e+56|0;t[k>>2]=t[A>>2];t[k+4>>2]=t[A+4>>2];t[k+8>>2]=t[A+8>>2];t[k+12>>2]=t[A+12>>2];vV(o,k);t[A>>2]=t[o>>2];t[A+4>>2]=t[o+4>>2];t[A+8>>2]=t[o+8>>2];t[A+12>>2]=t[o+12>>2];A=t[w>>2]|0}e=t[A+108>>2]|0;if(e){A=e+56|0;t[k>>2]=t[A>>2];t[k+4>>2]=t[A+4>>2];t[k+8>>2]=t[A+8>>2];t[k+12>>2]=t[A+12>>2];vV(u,k);t[A>>2]=t[u>>2];t[A+4>>2]=t[u+4>>2];t[A+8>>2]=t[u+8>>2];t[A+12>>2]=t[u+12>>2];A=t[w>>2]|0}e=t[A+100>>2]|0;if(e){A=e+56|0;t[k>>2]=t[A>>2];t[k+4>>2]=t[A+4>>2];t[k+8>>2]=t[A+8>>2];t[k+12>>2]=t[A+12>>2];vV(b,k);t[A>>2]=t[b>>2];t[A+4>>2]=t[b+4>>2];t[A+8>>2]=t[b+8>>2];t[A+12>>2]=t[b+12>>2];A=t[w>>2]|0}A=t[A+104>>2]|0;if(A|0){g=A+56|0;t[k>>2]=t[g>>2];t[k+4>>2]=t[g+4>>2];t[k+8>>2]=t[g+8>>2];t[k+12>>2]=t[g+12>>2];vV(d,k);t[g>>2]=t[d>>2];t[g+4>>2]=t[d+4>>2];t[g+8>>2]=t[d+8>>2];t[g+12>>2]=t[d+12>>2]}}h=v;return}function IV(e){e=e|0;var A=0,r=0,a=0;a=e+16|0;if((yd(e)|0)!=(e|0)?(A=t[(t[a>>2]|0)+12>>2]|0,(A|0)!=0):0){r=1;e=(i[A+81>>0]|0)!=0&1}else{r=1;e=0}while(1){A=t[a>>2]|0;if((r|0)>(t[A+180>>2]|0))break;A=(IV(t[(t[A+184>>2]|0)+(r<<2)>>2]|0)|0)+e|0;r=r+1|0;e=A}return e|0}function ZV(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0.0,s=0.0,o=0,u=0;n=h;h=h+32|0;f=n;u=(i[194957]|0)==0;A=A+16|0;o=t[A>>2]|0;s=+c[(u?o+32|0:o+40|0)>>3];c[r+16>>3]=s*72.0;l=+c[(u?o+40|0:o+32|0)>>3];c[r+24>>3]=l*72.0;A=(t[A>>2]|0)+16|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];c[r>>3]=+c[r>>3]-s*36.0;A=r+8|0;c[A>>3]=+c[A>>3]-l*36.0;t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];t[f+16>>2]=t[a+16>>2];t[f+20>>2]=t[a+20>>2];t[f+24>>2]=t[a+24>>2];t[f+28>>2]=t[a+28>>2];FV(e,r,f);h=n;return}function GV(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0.0,s=0.0,o=0,u=0;n=h;h=h+32|0;f=n;u=(i[194957]|0)==0;o=A+24|0;s=+c[(u?o:A+32|0)>>3];c[r+16>>3]=s;l=+c[(u?A+32|0:o)>>3];c[r+24>>3]=l;A=A+56|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];c[r>>3]=+c[r>>3]-s*.5;A=r+8|0;c[A>>3]=+c[A>>3]-l*.5;t[f>>2]=t[a>>2];t[f+4>>2]=t[a+4>>2];t[f+8>>2]=t[a+8>>2];t[f+12>>2]=t[a+12>>2];t[f+16>>2]=t[a+16>>2];t[f+20>>2]=t[a+20>>2];t[f+24>>2]=t[a+24>>2];t[f+28>>2]=t[a+28>>2];FV(e,r,f);h=n;return}function LV(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;if(a|0){a=A+16|0;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[A>>2]=t[n>>2];t[A+4>>2]=t[n+4>>2];t[A+8>>2]=t[n+8>>2];t[A+12>>2]=t[n+12>>2]}if(!(i[194957]|0)){n=e+24|0;t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2]}else{c[r>>3]=+c[e+32>>3];c[r+8>>3]=+c[e+24>>3]}t[r+32>>2]=e;i[r+36>>0]=0;t[A+32>>2]=r;return}function QV(e,A){e=e|0;A=A|0;A=VR(A)|0;do{if(A){A=t[A>>2]|0;if(!(t[A+8>>2]|0)){A=t[A>>2]|0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];break}else{A=A+16|0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];break}}else{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0}}while(0);return}function DV(e,A){e=e|0;A=A|0;var r=0;A=VR(A)|0;do{if(A){r=t[A>>2]|0;A=(t[A+4>>2]|0)+-1|0;if(!(t[r+(A*48|0)+12>>2]|0)){r=(t[r+(A*48|0)>>2]|0)+((t[r+(A*48|0)+4>>2]|0)+-1<<4)|0;t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}else{r=r+(A*48|0)+32|0;t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];break}}else{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0}}while(0);return}function zV(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+112|0;c=k+72|0;u=k+32|0;b=k;w=A+16|0;s=1;while(1){a=t[w>>2]|0;if((s|0)>(t[a+180>>2]|0))break;a=t[(t[a+184>>2]|0)+(s<<2)>>2]|0;n=c;f=r;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0));zV(u,a,c);n=r;f=u;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0));s=s+1|0}if(((yd(A)|0)!=(A|0)?(o=t[(t[w>>2]|0)+12>>2]|0,o|0):0)?i[o+81>>0]|0:0){w=r+32|0;u=t[w>>2]|0;t[c>>2]=t[r>>2];t[c+4>>2]=t[r+4>>2];t[c+8>>2]=t[r+8>>2];t[c+12>>2]=t[r+12>>2];t[c+16>>2]=t[r+16>>2];t[c+20>>2]=t[r+20>>2];t[c+24>>2]=t[r+24>>2];t[c+28>>2]=t[r+28>>2];GV(b,o,u,c);t[r>>2]=t[b>>2];t[r+4>>2]=t[b+4>>2];t[r+8>>2]=t[b+8>>2];t[r+12>>2]=t[b+12>>2];t[r+16>>2]=t[b+16>>2];t[r+20>>2]=t[b+20>>2];t[r+24>>2]=t[b+24>>2];t[r+28>>2]=t[b+28>>2];t[w>>2]=(t[w>>2]|0)+40}n=e;f=r;l=n+40|0;do{t[n>>2]=t[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(l|0));h=k;return}function WV(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var f=0.0,l=0.0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+160|0;d=v+96|0;w=v+48|0;b=v;k=t[15712]|0;u=n[a+32>>0]|0;f=+c[a>>3];l=+c[a+8>>3];s=+c[a+16>>3];o=+c[a+24>>3];t[b>>2]=A;t[b+4>>2]=i;t[b+8>>2]=u;c[b+16>>3]=f;c[b+24>>3]=l;c[b+32>>3]=s;c[b+40>>3]=o;a3(k,104065,b)|0;e:do{if(0>=2){G3(104125,8,1,k)|0;b=0;while(1){if((b|0)>=(A|0))break;a=t[e+32>>2]|0;f=+c[e>>3];l=+c[e+8>>3];s=+c[e+16>>3];o=+c[e+24>>3];if(!a)u=195059;else u=t[t[a+32>>2]>>2]|0;t[w>>2]=b;c[w+8>>3]=f;c[w+16>>3]=l;c[w+24>>3]=s;c[w+32>>3]=o;t[w+40>>2]=a;t[w+44>>2]=u;a3(k,104134,w)|0;b=b+1|0;e=e+40|0}G3(104177,8,1,k)|0;a=0;while(1){if((a|0)>=(i|0))break e;A=n[r+36>>0]|0;f=+c[r+16>>3];l=+c[r+24>>3];s=+c[r>>3];o=+c[r+8>>3];w=t[t[r+32>>2]>>2]|0;t[d>>2]=a;t[d+4>>2]=r;t[d+8>>2]=A;c[d+16>>3]=f;c[d+24>>3]=l;c[d+32>>3]=s;c[d+40>>3]=o;t[d+48>>2]=w;a3(k,104186,d)|0;r=r+40|0;a=a+1|0}}}while(0);h=v;return}function YV(e,A){e=e|0;A=A|0;var r=0.0;r=+c[A+8>>3]*.5+ +c[A+24>>3];c[e>>3]=+c[A>>3]*.5+ +c[A+16>>3];c[e+8>>3]=r;return}function FV(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0.0,l=0.0;i=h;h=h+16|0;a=i;l=+c[A>>3];c[r>>3]=+c[(+c[r>>3]>3];n=r+8|0;f=+c[A+8>>3];c[n>>3]=+c[(+c[n>>3]>3];l=+c[A+16>>3]+l;c[a>>3]=l;f=+c[A+24>>3]+f;c[a+8>>3]=f;n=r+16|0;c[n>>3]=+c[(+c[n>>3]>l?n:a)>>3];A=r+24|0;c[A>>3]=+c[(+c[A>>3]>f?n:a)+8>>3];t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[e+12>>2]=t[r+12>>2];t[e+16>>2]=t[r+16>>2];t[e+20>>2]=t[r+20>>2];t[e+24>>2]=t[r+24>>2];t[e+28>>2]=t[r+28>>2];h=i;return}function MV(e){e=e|0;gV(e,1);return}function VV(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;i=h;h=h+16|0;r=i;A=Lx(Hw(e,105526)|0)|0;if(A){A=NV(A)|0;if(A|0){a=t[A+40>>2]|0;r=t[A+44>>2]|0;n=e+16|0;e=t[n>>2]|0;c[e+32>>3]=+(a|0)*.013888888888888888;c[e+40>>3]=+(r|0)*.013888888888888888;e=KF(12)|0;t[(t[n>>2]|0)+12>>2]=e;t[e>>2]=t[A+12>>2];t[e+4>>2]=((a|0)/-2|0)-(t[A+32>>2]|0);t[e+8>>2]=((r|0)/-2|0)-(t[A+36>>2]|0)}}else{t[r>>2]=Mk(e)|0;nw(0,104234,r)|0}h=i;return}function NV(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+1152|0;l=w+24|0;f=w+8|0;r=w;a=w+120|0;s=w+44|0;c=w+40|0;o=w+36|0;u=w+32|0;b=w+28|0;A=t[47266]|0;if(!A){A=Uh(20812,t[4581]|0)|0;t[47266]=A}A=L5[t[A>>2]&63](A,e,512)|0;do{if(!A){n=F3(e,138821)|0;if(!n){t[r>>2]=e;nw(0,104283,r)|0;A=0;break}else{A=0;r=0}while(1){if(!(N4(a,1024,n)|0)){a=11;break}t[f>>2]=c;t[f+4>>2]=o;t[f+8>>2]=u;t[f+12>>2]=b;k=(V3(a,104311,f)|0)==4;r=k?1:r;if((i[a>>0]|0)!=37){k=(R4(a,104340)|0)==0;A=k?A:1}if((r|0)!=0&(A|0)!=0){a=12;break}}if((a|0)==11)if(!r){t[l>>2]=e;nw(0,104345,l)|0;A=0}else a=12;if((a|0)==12){k=$F(64)|0;c=t[c>>2]|0;t[k+32>>2]=c;o=t[o>>2]|0;t[k+40>>2]=(t[u>>2]|0)-c;t[k+36>>2]=(t[b>>2]|0)-o;t[k+8>>2]=e;b=t[47267]|0;t[47267]=b+1;t[k+12>>2]=b;W3(l6(n)|0,s)|0;b=t[s+36>>2]|0;u=$F(b+1|0)|0;t[k+52>>2]=u;O3(n,0,0)|0;t6(u,b,1,n)|0;i[u+b>>0]=0;b=t[47266]|0;L5[t[b>>2]&63](b,k,1)|0;i[k+16>>0]=A;A=k}k3(n)|0}}while(0);h=w;return A|0}function RV(e,A,r){e=e|0;A=A|0;r=r|0;G2(t[A+52>>2]|0);return}function xV(e){e=e|0;G2(t[(t[e+16>>2]|0)+12>>2]|0);return}function JV(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+16|0;o=u+8|0;c=u;s=(A|0)!=0;e:do{if(s){f=0;a=0;A:while(1)while(1){if(f)break e;n=t[A+(a<<2)>>2]|0;if(!n){l=6;break e}a=a+1|0;if(!(i[n>>0]|0)){f=1;continue A}}}else l=6}while(0);e:do{if((l|0)==6)while(1){a=t[r>>2]|0;if(!a)break e;hm(e,a)|0;hm(e,153599)|0;r=r+4|0;l=6}}while(0);e:do{if(s){f=0;while(1){a=t[A+(f<<2)>>2]|0;if(!a)break e;do{if(i[a>>0]|0){r=Lx(a)|0;if(!r){t[c>>2]=a;nw(0,104384,c)|0;break}n=F3(r,138821)|0;if(!n){t[o>>2]=r;nw(0,104412,o)|0;break}while(1){a=Gx(n)|0;if(!a)break;hm(e,a)|0}hm(e,153599)|0;k3(n)|0}}while(0);f=f+1|0}}}while(0);h=u;return}function HV(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;A=t[A+52>>2]|0;e:while(1){r=i[A>>0]|0;A:do{switch(r<<24>>24){case 0:break e;case 37:{if((i[A+1>>0]|0)==37){r=A+2|0;if((((S1(r,104440,3)|0)!=0?(S1(r,104444,5)|0)!=0:0)?(S1(r,104450,3)|0)!=0:0)?(S1(r,104454,7)|0)!=0:0){r=37;break A}else n=37;r:while(1){switch(n<<24>>24){case 13:{a=10;break r}case 10:case 0:{a=12;break r}default:{}}n=A+1|0;A=n;n=i[n>>0]|0}if((a|0)==10){r=A+1|0;if((i[r>>0]|0)==10){A=A+2|0;continue e}}else if((a|0)==12)r=A+1|0;A=n<<24>>24==0?A:r;continue e}else r=37;break}default:{}}}while(0);A:while(1){switch(r<<24>>24){case 10:case 13:case 0:break A;default:{}}wm(e,r<<24>>24)|0;n=A+1|0;A=n;r=i[n>>0]|0}a=A+1|0;if(r<<24>>24==13?(i[a>>0]|0)==10:0)A=A+2|0;else A=r<<24>>24==0?A:a;wm(e,10)|0}return}function PV(e){e=e|0;var A=0,r=0,a=0,n=0;a=h;h=h+16|0;r=a;A=t[47266]|0;e:do{if(A|0){A=L5[t[A>>2]&63](A,0,128)|0;while(1){if(!A)break e;if(!(i[A+16>>0]|0)){t[r>>2]=t[A+12>>2];mm(e,104462,r);hm(e,104480)|0;HV(e,A);hm(e,104498)|0;hm(e,104513)|0}n=t[47266]|0;A=L5[t[n>>2]&63](n,A,8)|0}}}while(0);h=a;return}function XV(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;n=h;h=h+16|0;r=n;e:do{switch(A|0){case 0:{a=e;break}case 1:{a=EJ(e)|0;break}default:{switch(SV(e)|0){case 2:break;case 1:{a=EJ(e)|0;break e}default:{a=e;break e}}if(!(t[47268]|0)){nw(0,104525,r)|0;t[47268]=1;a=e}else a=e}}}while(0);if(!(t[47269]|0))cw(189076,0,0);A=t[47270]|0;if(A>>>0>=(t[47271]|0)>>>0){ow(189076,1)|0;A=t[47270]|0}t[47270]=A+1;i[A>>0]=40;r=a;e:while(1){switch(i[r>>0]|0){case 0:break e;case 92:case 41:case 40:{A=t[47270]|0;if(A>>>0>=(t[47271]|0)>>>0){ow(189076,1)|0;A=t[47270]|0}t[47270]=A+1;i[A>>0]=92;break}default:{}}A=t[47270]|0;if(A>>>0>=(t[47271]|0)>>>0){ow(189076,1)|0;A=t[47270]|0}f=i[r>>0]|0;t[47270]=A+1;i[A>>0]=f;r=r+1|0}A=t[47270]|0;if(A>>>0>=(t[47271]|0)>>>0){ow(189076,1)|0;A=t[47270]|0}t[47270]=A+1;i[A>>0]=41;if((a|0)!=(e|0))G2(a);A=t[47270]|0;if(A>>>0>=(t[47271]|0)>>>0){ow(189076,1)|0;A=t[47270]|0}i[A>>0]=0;f=t[47269]|0;t[47270]=f;h=n;return f|0}function SV(e){e=e|0;var A=0,r=0;A=0;e:while(1){while(1){r=i[e>>0]|0;if(!(r<<24>>24))break e;if((r&255)<127)e=e+1|0;else break}if((r&-4)<<24>>24==-64){A=1;e=e+2|0}else{A=2;break}}return A|0}function jV(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0;u=h;h=h+96|0;f=u+80|0;l=u+72|0;o=u+64|0;n=u+32|0;s=u;c[n>>3]=+c[e>>3];c[n+8>>3]=+c[e+8>>3];c[n+16>>3]=+c[A>>3];c[n+24>>3]=+c[A+8>>3];do{if((rs(r,n,l)|0)>=0){if(!a){A=r+4|0;e=t[A>>2]|0;a=t[47274]|0;if((e|0)>(t[47273]|0)){if(!a)e=$F(e<<5)|0;else e=AM(a,e<<5)|0;t[47274]=e;n=t[A>>2]|0;t[47273]=n;a=e}else n=e;A=t[r>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;b=a+(e<<5)|0;r=A+(e<<4)|0;t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];b=a+(e<<5)+16|0;r=e+1|0;w=A+(((r|0)%(n|0)|0)<<4)|0;t[b>>2]=t[w>>2];t[b+4>>2]=t[w+4>>2];t[b+8>>2]=t[w+8>>2];t[b+12>>2]=t[w+12>>2];e=r}t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[s+16>>2]=0;t[s+20>>2]=0;t[s+24>>2]=0;t[s+28>>2]=0;t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];if((Yl(a,n,f,s,o)|0)<0){e=0;break}}else{t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];Cs(f,o)}e=o+4|0;if(!(UV(t[e>>2]|0)|0)){n=t[e>>2]|0;e=t[47275]|0;a=t[o>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;w=e+(A<<4)|0;b=a+(A<<4)|0;t[w>>2]=t[b>>2];t[w+4>>2]=t[b+4>>2];t[w+8>>2]=t[b+8>>2];t[w+12>>2]=t[b+12>>2];A=A+1|0}t[i>>2]=n}else e=0}else e=0}while(0);h=u;return e|0}function UV(e){e=e|0;var A=0,r=0,i=0;i=h;h=h+16|0;r=i;A=t[47276]|0;do{if((A|0)<(e|0)){e=e+300-((e|0)%300|0)+A|0;A=AM(t[47275]|0,e<<4)|0;t[47275]=A;if(!A){nw(1,104615,r)|0;e=1;break}else{t[47276]=e;e=0;break}}else e=0}while(0);h=i;return e|0}function TV(){var e=0,A=0,r=0;A=h;h=h+16|0;e=A;r=t[47277]|0;t[47277]=r+1;do{if((r|0)<=0){r=$F(4800)|0;t[47275]=r;if(!r){nw(1,104638,e)|0;e=1;break}t[47276]=300;t[47278]=0;t[47279]=0;if(0){lx();e=0}else e=0}else e=0}while(0);h=A;return e|0}function OV(){var e=0,A=0,r=0,i=0.0,a=0,n=0;A=h;h=h+16|0;e=A;r=t[47277]|0;t[47277]=r+-1;if((r|0)<=1?(G2(t[47275]|0),0):0){r=t[15712]|0;n=t[47278]|0;a=t[47279]|0;i=+sx();t[e>>2]=n;t[e+4>>2]=a;c[e+8>>3]=i;a3(r,104676,e)|0}h=A;return}function _V(e,A){e=e|0;A=A|0;return qV(e,A,0)|0}function qV(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,F=0,M=0,V=0,N=0,R=0;V=h;h=h+176|0;Q=V+168|0;M=V+128|0;B=V+120|0;p=V+112|0;f=V+104|0;v=V+88|0;u=V+72|0;n=V+64|0;g=V+160|0;z=V+152|0;y=V+144|0;m=V+32|0;E=V;F=V+136|0;t[47278]=(t[47278]|0)+1;D=t[e+80>>2]|0;t[47279]=(t[47279]|0)+D;a=e+88|0;while(1){G=t[a>>2]|0;if(!G){L=4;break}a=t[G+16>>2]|0;if(!(i[a+112>>0]|0)){L=5;break}else a=a+116|0}do{if((L|0)==4){nw(1,104719,n)|0;a=0}else if((L|0)==5){Z=t[e+84>>2]|0;if(!(KV(D,Z,e)|0)){n=D<<3;if((n|0)>(t[47280]|0)){a=t[47281]|0;if(!a)a=$F(D<<7)|0;else a=AM(a,D<<7)|0;t[47281]=a;t[47280]=n}e:do{if((D|0)>1?+c[Z+8>>3]>+c[Z+40>>3]:0){a=0;while(1){if((a|0)==(D|0)){w=1;break e}C=Z+(a<<5)+24|0;o=+c[C>>3];I=Z+(a<<5)+8|0;c[C>>3]=-+c[I>>3];c[I>>3]=-o;a=a+1|0}}else w=0}while(0);d=t[G>>2]&3;C=G+48|0;a=t[((d|0)==3?G:C)+40>>2]|0;I=G+-48|0;if((a|0)==(t[((d|0)==2?G:I)+40>>2]|0)){t[f>>2]=Mk(a)|0;nw(1,104826,f)|0;a=0;break}b=D+-1|0;k=t[47281]|0;d=k;a=0;l=0;e:while(1){if((l|0)>=(D|0)){l=b;u=a;break}if((l|0)>0)n=+c[Z+(l<<5)+8>>3]>+c[Z+(l+-1<<5)+8>>3]?-1:1;else n=0;if((l|0)<(b|0))f=+c[Z+(l+1<<5)+8>>3]>+c[Z+(l<<5)+8>>3]?1:-1;else f=0;A:do{if((n|0)!=(f|0))if((n|0)==1|(f|0)==-1){n=Z+(l<<5)|0;c[k+(a<<4)>>3]=+c[n>>3];f=a+1|0;c[k+(a<<4)+8>>3]=+c[Z+(l<<5)+24>>3];c[k+(f<<4)>>3]=+c[n>>3];n=Z+(l<<5)+8|0;L=29;break}else{n=Z+(l<<5)+16|0;c[k+(a<<4)>>3]=+c[n>>3];f=a+1|0;c[k+(a<<4)+8>>3]=+c[Z+(l<<5)+8>>3];c[k+(f<<4)>>3]=+c[n>>3];n=Z+(l<<5)+24|0;L=29;break}else{switch(n|0){case-1:break A;case 0:break;default:{L=28;break e}}n=Z+(l<<5)|0;c[k+(a<<4)>>3]=+c[n>>3];f=a+1|0;c[k+(a<<4)+8>>3]=+c[Z+(l<<5)+24>>3];c[k+(f<<4)>>3]=+c[n>>3];n=Z+(l<<5)+8|0;L=29}}while(0);if((L|0)==29){L=0;c[k+(f<<4)+8>>3]=+c[n>>3];a=a+2|0}l=l+1|0}if((L|0)==28){t[u>>2]=n;t[u+4>>2]=n;t[u+8>>2]=480;nw(1,104761,u)|0;a=0;break}e:while(1){if((l|0)<=-1)break;if((l|0)<(b|0))a=+c[Z+(l<<5)+8>>3]>+c[Z+(l+1<<5)+8>>3]?-1:1;else a=0;if((l|0)>0)n=+c[Z+(l+-1<<5)+8>>3]>+c[Z+(l<<5)+8>>3]?1:-1;else n=0;A:do{if((a|0)!=(n|0))if((a|0)==1|(n|0)==-1){a=Z+(l<<5)|0;c[k+(u<<4)>>3]=+c[a>>3];n=u+1|0;c[k+(u<<4)+8>>3]=+c[Z+(l<<5)+24>>3];c[k+(n<<4)>>3]=+c[a>>3];a=Z+(l<<5)+8|0;f=2;break}else{a=Z+(l<<5)+16|0;c[k+(u<<4)>>3]=+c[a>>3];n=u+1|0;c[k+(u<<4)+8>>3]=+c[Z+(l<<5)+8>>3];c[k+(n<<4)>>3]=+c[a>>3];a=Z+(l<<5)+24|0;f=2;break}else switch(a|0){case 0:{a=Z+(l<<5)+16|0;c[k+(u<<4)>>3]=+c[a>>3];n=u+1|0;c[k+(u<<4)+8>>3]=+c[Z+(l<<5)+8>>3];c[k+(n<<4)>>3]=+c[a>>3];a=Z+(l<<5)+24|0;f=2;break A}case-1:{R=Z+(l<<5)+16|0;c[k+(u<<4)>>3]=+c[R>>3];a=Z+(l<<5)+8|0;f=u+1|0;c[k+(u<<4)+8>>3]=+c[a>>3];c[k+(f<<4)>>3]=+c[R>>3];R=Z+(l<<5)+24|0;N=u+2|0;c[k+(f<<4)+8>>3]=+c[R>>3];f=Z+(l<<5)|0;c[k+(N<<4)>>3]=+c[f>>3];n=u+3|0;c[k+(N<<4)+8>>3]=+c[R>>3];c[k+(n<<4)>>3]=+c[f>>3];f=4;break A}default:{L=42;break e}}}while(0);c[k+(n<<4)+8>>3]=+c[a>>3];l=l+-1|0;u=u+f|0}if((L|0)==42){t[v>>2]=a;t[v+4>>2]=a;t[v+8>>2]=513;nw(1,104761,v)|0;a=0;break}e:do{if(!w)a=0;else{a=0;while(1){if((a|0)>=(D|0)){a=0;break}N=Z+(a<<5)+24|0;o=+c[N>>3];R=Z+(a<<5)+8|0;c[N>>3]=-+c[R>>3];c[R>>3]=-o;a=a+1|0}while(1){if((a|0)>=(u|0)){a=0;break e}R=k+(a<<4)+8|0;c[R>>3]=-+c[R>>3];a=a+1|0}}}while(0);while(1){if((a|0)>=(D|0))break;c[Z+(a<<5)>>3]=2147483647.0;c[Z+(a<<5)+16>>3]=-2147483648.0;a=a+1|0}t[g>>2]=d;f=g+4|0;t[f>>2]=u;c[m>>3]=+c[e>>3];c[m+8>>3]=+c[e+8>>3];c[m+16>>3]=+c[e+40>>3];c[m+24>>3]=+c[e+48>>3];if((rs(g,m,z)|0)<0){nw(1,104865,p)|0;a=0;break}if(!r){n=t[f>>2]|0;a=t[47274]|0;if((n|0)>(t[47273]|0)){if(!a)a=$F(n<<5)|0;else a=AM(a,n<<5)|0;t[47274]=a;n=t[f>>2]|0;t[47273]=n}l=t[47281]|0;f=0;while(1){if((f|0)>=(n|0))break;N=a+(f<<5)|0;R=l+(f<<4)|0;t[N>>2]=t[R>>2];t[N+4>>2]=t[R+4>>2];t[N+8>>2]=t[R+8>>2];t[N+12>>2]=t[R+12>>2];N=a+(f<<5)+16|0;R=f+1|0;p=l+(((R|0)%(n|0)|0)<<4)|0;t[N>>2]=t[p>>2];t[N+4>>2]=t[p+4>>2];t[N+8>>2]=t[p+8>>2];t[N+12>>2]=t[p+12>>2];f=R}if(!(i[e+29>>0]|0)){s=0.0;o=0.0}else{o=+c[e+16>>3];s=+W(+o);o=+Y(+o)}c[E+8>>3]=o;c[E>>3]=s;if(!(i[e+69>>0]|0)){s=0.0;o=0.0}else{o=+c[e+56>>3];s=-+W(+o);o=-+Y(+o)}c[E+24>>3]=o;c[E+16>>3]=s;t[Q>>2]=t[z>>2];t[Q+4>>2]=t[z+4>>2];if((Yl(a,n,Q,E,y)|0)<0){nw(1,104904,B)|0;a=0;break}}else{t[Q>>2]=t[z>>2];t[Q+4>>2]=t[z+4>>2];Cs(Q,y)}u=y+4|0;if(!(UV(t[u>>2]|0)|0)){a=0;while(1){if((a|0)>=(D|0))break;c[Z+(a<<5)>>3]=2147483647.0;c[Z+(a<<5)+16>>3]=-2147483648.0;a=a+1|0}f=t[u>>2]|0;l=t[47275]|0;n=t[y>>2]|0;a=0;while(1){if((a|0)>=(f|0)){f=1;a=10;n=0;break}R=l+(a<<4)|0;N=n+(a<<4)|0;t[R>>2]=t[N>>2];t[R+4>>2]=t[N+4>>2];t[R+8>>2]=t[N+8>>2];t[R+12>>2]=t[N+12>>2];a=a+1|0}while(1){if(!((n|0)<15&f<<24>>24!=0))break;$V(Z,D,t[47275]|0,t[u>>2]|0,a);l=0;while(1){if((l|0)>=(D|0))break;if(+c[Z+(l<<5)>>3]==2147483647.0){L=82;break}if(+c[Z+(l<<5)+16>>3]==-2147483648.0){L=82;break}l=l+1|0}if((L|0)==82){L=0;R=a<<1;a=R;n=(R|0)>(2147483647/(D|0)|0|0)?15:n}f=(l|0)==(D|0)?0:f;n=n+1|0}if(f<<24>>24){N=Mk(t[((t[G>>2]&3|0)==3?G:C)+40>>2]|0)|0;R=Mk(t[((t[G>>2]&3|0)==2?G:I)+40>>2]|0)|0;t[M>>2]=N;t[M+4>>2]=R;nw(0,104942,M)|0;t[Q>>2]=t[z>>2];t[Q+4>>2]=t[z+4>>2];Cs(Q,F);$V(Z,D,t[F>>2]|0,t[F+4>>2]|0,10);G2(t[F>>2]|0)}t[A>>2]=t[u>>2];a=t[47275]|0}else a=0}else a=0}}while(0);h=V;return a|0}function KV(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0,l=0,s=0,o=0.0,u=0.0,b=0,w=0.0,k=0.0,d=0.0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0.0,V=0,N=0,R=0,x=0.0,J=0,H=0,P=0;P=h;h=h+32|0;Y=P+16|0;W=P+8|0;s=P;i=0;l=0;while(1){if((l|0)>=(e|0))break;f=A+(l<<5)|0;v=+c[A+(l<<5)+8>>3]-+c[A+(l<<5)+24>>3];if(!((v>=0.0?v:-v)<.01)?(v=+c[f>>3]-+c[A+(l<<5)+16>>3],!((v>=0.0?v:-v)<.01)):0){if((i|0)!=(l|0)){J=A+(i<<5)|0;t[J>>2]=t[f>>2];t[J+4>>2]=t[f+4>>2];t[J+8>>2]=t[f+8>>2];t[J+12>>2]=t[f+12>>2];t[J+16>>2]=t[f+16>>2];t[J+20>>2]=t[f+20>>2];t[J+24>>2]=t[f+24>>2];t[J+28>>2]=t[f+28>>2]}i=i+1|0}l=l+1|0}F=A+16|0;do{if(!(+c[A>>3]>+c[F>>3])?(V=A+8|0,R=A+24|0,!(+c[V>>3]>+c[R>>3])):0){J=i+-1|0;N=t[15712]|0;E=0;while(1){if((E|0)>=(J|0))break;L=E+1|0;Q=A+(L<<5)|0;a=+c[Q>>3];D=A+(L<<5)+16|0;n=+c[D>>3];if(a>n){H=16;break}I=A+(L<<5)+8|0;o=+c[I>>3];Z=A+(L<<5)+24|0;u=+c[Z>>3];if(o>u){H=16;break}z=A+(E<<5)+16|0;p=+c[z>>3]>3]>n;e=m&1;C=A+(E<<5)+24|0;g=+c[C>>3]>3]>u;f=s&1;B=e+i+l+f|0;b=(B|0)!=0;if(!(0==0|b^1)){t[Y>>2]=E;t[Y+4>>2]=L;a3(N,105142,Y)|0;eN(r)}e:do{if(b){if(!p)if(!m)if(!g){if(s){s=0;b=i;i=Z;f=y;H=24}}else{s=f;l=0;b=i;i=I;f=C;H=24}else{s=f;e=0;b=i;i=D;f=G;H=24}else{s=f;b=0;i=Q;f=z;H=24}if((H|0)==24){H=0;E=~~+c[f>>3];c[f>>3]=+c[i>>3];c[i>>3]=+(E|0);f=s;i=b}b=B+-1|0;s=0;while(1){if((s|0)>=(b|0))break e;do{if((i|0)!=1){if((e|0)==1){v=+(~~((+c[D>>3]+ +c[G>>3])*.5+.5)|0);c[D>>3]=v;c[G>>3]=v;e=0;break}if((l|0)==1){v=+(~~((+c[I>>3]+ +c[C>>3])*.5+.5)|0);c[I>>3]=v;c[C>>3]=v;l=0;break}if((f|0)==1){v=+(~~((+c[Z>>3]+ +c[y>>3])*.5+.5)|0);c[Z>>3]=v;c[y>>3]=v;f=0}}else{v=+(~~((+c[Q>>3]+ +c[z>>3])*.5+.5)|0);c[Q>>3]=v;c[z>>3]=v;i=0}}while(0);s=s+1|0}}}while(0);w=+c[G>>3];k=+c[z>>3];d=+c[Q>>3];v=+c[D>>3];f=AN(~~w,~~k,~~d,~~v)|0;u=+c[y>>3];o=+c[C>>3];n=+c[I>>3];a=+c[Z>>3];i=AN(~~u,~~o,~~n,~~a)|0;if(!((f|0)!=0&(i|0)!=0)){E=L;continue}if((f|0)<(i|0)){Z=k-w>v-d;E=k>3]=Z?E?d:v:E?k:w;E=L;continue}else{Z=o-u>a-n;E=o>3]=Z?E?n:a:E?o:u;E=L;continue}}if((H|0)==16){t[W>>2]=L;nw(1,105096,W)|0;eN(r);i=1;break}a=+c[r>>3];n=+c[A>>3];if(!(((!(a+c[F>>3]):0)?(M=+c[r+8>>3],!(M<+c[V>>3])):0)?!(M>+c[R>>3]):0)){if(0){G3(105185,42,1,N)|0;eN(r);n=+c[A>>3];a=+c[r>>3]}if(a>3]=n;else n=a;a=+c[F>>3];if(n>a)c[r>>3]=a;i=r+8|0;n=+c[i>>3];a=+c[V>>3];if(n>3]=a;n=a}a=+c[R>>3];if(n>a)c[i>>3]=a}f=r+40|0;a=+c[f>>3];i=A+(J<<5)|0;n=+c[i>>3];if(((!(a+c[A+(J<<5)+16>>3]):0)?(x=+c[r+48>>3],!(x<+c[A+(J<<5)+8>>3])):0)?!(x>+c[A+(J<<5)+24>>3]):0){i=0;break}if(0){G3(105228,39,1,N)|0;eN(r);n=+c[i>>3];a=+c[f>>3]}if(a>3]=n;a=n}n=+c[A+(J<<5)+16>>3];if(a>n)c[f>>3]=n;i=r+48|0;a=+c[i>>3];n=+c[A+(J<<5)+8>>3];if(a>3]=n;else n=a;a=+c[A+(J<<5)+24>>3];if(n>a){c[i>>3]=a;i=0}else i=0}else H=12}while(0);if((H|0)==12){nw(1,105051,s)|0;eN(r);i=1}h=P;return i|0}function $V(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,h=0,w=0,k=0,d=0,v=0,g=0.0,m=0,p=0.0,E=0.0,B=0.0,y=0.0,C=0.0;v=P(a,A)|0;g=1.0/+(v|0);a=0;e:while(1){m=a+3|0;if((m|0)>=(i|0))break;h=r+(a<<4)|0;w=r+(a<<4)+8|0;d=a+1|0;k=r+(d<<4)|0;d=r+(d<<4)+8|0;l=a+2|0;f=r+(l<<4)|0;l=r+(l<<4)+8|0;s=r+(m<<4)|0;o=r+(m<<4)+8|0;n=0;while(1){if((n|0)>(v|0)){a=m;continue e}p=g*+(n|0);u=+c[h>>3];b=+c[w>>3];y=+c[k>>3];E=+c[d>>3];C=+c[f>>3];B=+c[l>>3];u=(y-u)*p+u;b=(E-b)*p+b;y=(C-y)*p+y;E=(B-E)*p+E;u=(y-u)*p+u;b=(E-b)*p+b;u=((C-y+(+c[s>>3]-C)*p)*p+y-u)*p+u;b=((B-E+(+c[o>>3]-B)*p)*p+E-b)*p+b;t=0;while(1){if((t|0)>=(A|0))break;if(b<=+c[e+(t<<5)+24>>3]+.0001?b>=+c[e+(t<<5)+8>>3]+-.0001:0){a=e+(t<<5)|0;if(+c[a>>3]>u)c[a>>3]=u;a=e+(t<<5)+16|0;if(+c[a>>3]>3]=u}t=t+1|0}n=n+1|0}}return}function eN(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0;o=h;h=h+112|0;l=o+80|0;s=o+48|0;f=o+8|0;n=o;r=t[15712]|0;a=e+80|0;t[n>>2]=t[a>>2];a3(r,105268,n)|0;n=e+84|0;A=0;while(1){if((A|0)>=(t[a>>2]|0))break;d=t[n>>2]|0;k=+c[d+(A<<5)>>3];w=+c[d+(A<<5)+8>>3];b=+c[d+(A<<5)+16>>3];u=+c[d+(A<<5)+24>>3];t[f>>2]=A;c[f+8>>3]=k;c[f+16>>3]=w;c[f+24>>3]=b;c[f+32>>3]=u;a3(r,105279,f)|0;A=A+1|0}k=+c[e+8>>3];w=+c[e+16>>3];d=i[e+29>>0]|0?105310:105322;c[s>>3]=+c[e>>3];c[s+8>>3]=k;c[s+16>>3]=w;t[s+24>>2]=d;a3(r,105338,s)|0;w=+c[e+48>>3];k=+c[e+56>>3];d=i[e+69>>0]|0?105310:105322;c[l>>3]=+c[e+40>>3];c[l+8>>3]=w;c[l+16>>3]=k;t[l+24>>2]=d;a3(r,105389,l)|0;h=o;return}function AN(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;do{if((A|0)>(r|0)&(i|0)>(e|0)){if(!((r|0)>(e|0)|(i|0)<(e|0))){e=i-e|0;break}if((A|0)<(r|0)|(A|0)>(i|0)){A=A-e|0;e=i-r|0;e=(A|0)<(e|0)?A:e;break}else{e=A-r|0;break}}else e=0}while(0);return e|0}function rN(e,A){e=e|0;A=A|0;return qV(e,A,1)|0}function iN(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;s=h;h=h+80|0;n=s;l=1;a=A;while(1){f=a;a=t[(t[a+16>>2]|0)+172>>2]|0;if(!((a|0)!=0&(f|0)!=(a|0)))break;else l=l+1|0}if((l|0)>=21)n=KF(l<<2)|0;f=0;a=A;while(1){if((f|0)>=(l|0))break;t[n+(f<<2)>>2]=a;f=f+1|0;a=t[(t[a+16>>2]|0)+172>>2]|0}aN(e,n,l,r,i);if((l|0)>20)G2(n);h=s;return}function aN(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,z=0,W=0,Y=0,F=0,M=0,V=0.0,N=0.0,R=0.0,x=0,J=0;M=h;h=h+304|0;I=M+272|0;C=M+208|0;z=M+96|0;W=M+32|0;Y=M+16|0;F=M;d=M+192|0;y=M+176|0;f=M+160|0;Z=M+296|0;G=M+288|0;l=t[A>>2]|0;E=t[l>>2]&3;s=l+-48|0;L=t[((E|0)==2?l:s)+40>>2]|0;g=z+16|0;E=(t[(t[((E|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+16|0;B=l+16|0;Q=(t[B>>2]|0)+16|0;t[C>>2]=t[E>>2];t[C+4>>2]=t[E+4>>2];t[C+8>>2]=t[E+8>>2];t[C+12>>2]=t[E+12>>2];t[I>>2]=t[Q>>2];t[I+4>>2]=t[Q+4>>2];t[I+8>>2]=t[Q+8>>2];t[I+12>>2]=t[Q+12>>2];tN(d,C,I);t[z>>2]=t[d>>2];t[z+4>>2]=t[d+4>>2];t[z+8>>2]=t[d+8>>2];t[z+12>>2]=t[d+12>>2];t[g>>2]=t[d>>2];t[g+4>>2]=t[d+4>>2];t[g+8>>2]=t[d+8>>2];t[g+12>>2]=t[d+12>>2];t[Y>>2]=t[d>>2];t[Y+4>>2]=t[d+4>>2];t[Y+8>>2]=t[d+8>>2];t[Y+12>>2]=t[d+12>>2];d=z+32|0;Q=z+48|0;E=(t[L+16>>2]|0)+16|0;B=(t[B>>2]|0)+56|0;t[C>>2]=t[E>>2];t[C+4>>2]=t[E+4>>2];t[C+8>>2]=t[E+8>>2];t[C+12>>2]=t[E+12>>2];t[I>>2]=t[B>>2];t[I+4>>2]=t[B+4>>2];t[I+8>>2]=t[B+8>>2];t[I+12>>2]=t[B+12>>2];tN(y,C,I);t[Q>>2]=t[y>>2];t[Q+4>>2]=t[y+4>>2];t[Q+8>>2]=t[y+8>>2];t[Q+12>>2]=t[y+12>>2];t[d>>2]=t[y>>2];t[d+4>>2]=t[y+4>>2];t[d+8>>2]=t[y+8>>2];t[d+12>>2]=t[y+12>>2];t[F>>2]=t[y>>2];t[F+4>>2]=t[y+4>>2];t[F+8>>2]=t[y+8>>2];t[F+12>>2]=t[y+12>>2];e:do{if((r|0)!=1&(i[194954]|0)==0){o=+c[z>>3];u=+c[Q>>3];V=o-u;b=+c[z+8>>3];w=+c[z+56>>3];v=b-w;k=v*v;if(k+V*V<1.0e-06){t[g>>2]=t[z>>2];t[g+4>>2]=t[z+4>>2];t[g+8>>2]=t[z+8>>2];t[g+12>>2]=t[z+12>>2];t[d>>2]=t[Q>>2];t[d+4>>2]=t[Q+4>>2];t[d+8>>2]=t[Q+8>>2];t[d+12>>2]=t[Q+12>>2];y=z+24|0;B=z+40|0;u=0.0;o=0.0}else{N=u-o;V=+D(+(k+N*N));E=t[(t[(t[e+60>>2]|0)+16>>2]|0)+248>>2]|0;R=+((P(E,r+-1|0)|0)/2|0|0);k=v*R/V;c[g>>3]=k+o;o=N*R/V;y=z+24|0;c[y>>3]=o+b;c[d>>3]=k+u;B=z+40|0;c[B>>3]=w+o;o=+(0-E|0);u=N*o/V;o=v*o/V}a=(a|0)==6;m=G+4|0;p=Z+4|0;l=0;while(1){if((l|0)>=(r|0))break e;E=t[A+(l<<2)>>2]|0;s=E+-48|0;A:do{if((t[((t[E>>2]&3|0)==2?E:s)+40>>2]|0)==(L|0)){t[Y>>2]=t[z>>2];t[Y+4>>2]=t[z+4>>2];t[Y+8>>2]=t[z+8>>2];t[Y+12>>2]=t[z+12>>2];t[F>>2]=t[Q>>2];t[F+4>>2]=t[Q+4>>2];t[F+8>>2]=t[Q+8>>2];t[F+12>>2]=t[Q+12>>2];f=0;while(1){if((f|0)==4)break A;x=W+(f<<4)|0;J=z+(f<<4)|0;t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];f=f+1|0}}else{t[Y>>2]=t[Q>>2];t[Y+4>>2]=t[Q+4>>2];t[Y+8>>2]=t[Q+8>>2];t[Y+12>>2]=t[Q+12>>2];t[F>>2]=t[z>>2];t[F+4>>2]=t[z+4>>2];t[F+8>>2]=t[z+8>>2];t[F+12>>2]=t[z+12>>2];f=0;while(1){if((f|0)==4)break A;J=W+(3-f<<4)|0;x=z+(f<<4)|0;t[J>>2]=t[x>>2];t[J+4>>2]=t[x+4>>2];t[J+8>>2]=t[x+8>>2];t[J+12>>2]=t[x+12>>2];f=f+1|0}}}while(0);if(a){t[m>>2]=4;t[G>>2]=C;f=0;while(1){if((f|0)==4)break;J=C+(f<<4)|0;x=W+(f<<4)|0;t[J>>2]=t[x>>2];t[J+4>>2]=t[x+4>>2];t[J+8>>2]=t[x+8>>2];t[J+12>>2]=t[x+12>>2];f=f+1|0}t[I>>2]=t[G>>2];t[I+4>>2]=t[G+4>>2];Cs(I,Z);mR(E,t[((t[E>>2]&3|0)==2?E:s)+40>>2]|0,t[Z>>2]|0,t[p>>2]|0,n)}else mR(E,t[((t[E>>2]&3|0)==2?E:s)+40>>2]|0,W,4,n);t[C>>2]=t[Y>>2];t[C+4>>2]=t[Y+4>>2];t[C+8>>2]=t[Y+8>>2];t[C+12>>2]=t[Y+12>>2];t[I>>2]=t[F>>2];t[I+4>>2]=t[F+4>>2];t[I+8>>2]=t[F+8>>2];t[I+12>>2]=t[F+12>>2];JR(e,E,C,I);c[g>>3]=+c[g>>3]+o;c[y>>3]=+c[y>>3]+u;c[d>>3]=+c[d>>3]+o;c[B>>3]=+c[B>>3]+u;l=l+1|0}}else{if((a|0)==4){nN(f,e);t[I>>2]=t[f>>2];t[I+4>>2]=t[f+4>>2];t[I+8>>2]=t[f+8>>2];t[I+12>>2]=t[f+12>>2];fN(z,I)}mR(l,t[((t[l>>2]&3|0)==2?l:s)+40>>2]|0,z,4,n);t[C>>2]=t[Y>>2];t[C+4>>2]=t[Y+4>>2];t[C+8>>2]=t[Y+8>>2];t[C+12>>2]=t[Y+12>>2];t[I>>2]=t[F>>2];t[I+4>>2]=t[F+4>>2];t[I+8>>2]=t[F+8>>2];t[I+12>>2]=t[F+12>>2];JR(e,l,C,I)}}while(0);h=M;return}function tN(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function nN(e,A){e=e|0;A=A|0;A=t[A+16>>2]|0;c[23305]=(+c[A+32>>3]+ +c[A+16>>3])*.5;c[23306]=(+c[A+40>>3]+ +c[A+24>>3])*.5;t[e>>2]=t[46610];t[e+4>>2]=t[46611];t[e+8>>2]=t[46612];t[e+12>>2]=t[46613];return}function fN(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,t=0.0,n=0.0,f=0.0;t=+c[e>>3];i=+c[e+48>>3];f=(i+t)*.5;n=+c[e+8>>3];r=+c[e+56>>3];a=(r+n)*.5;t=i-t;n=r-n;t=+D(+(n*n+t*t))*.2;n=+c[A>>3]-f;r=+c[A+8>>3]-a;i=+D(+(r*r+n*n));if(!(i==0.0)){n=f-n/i*t;f=a-r/i*t;c[e+32>>3]=n;c[e+16>>3]=n;c[e+40>>3]=f;c[e+24>>3]=f}return}function lN(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0.0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0.0,z=0,W=0.0,Y=0.0,F=0.0;L=h;h=h+208|0;g=L+192|0;v=L+176|0;Z=L+32|0;E=L+16|0;B=L;y=L+160|0;C=L+144|0;m=L+128|0;p=L+112|0;n=i&2130706432;I=(i&8|0)==0?(n|0)==0?4:n:8;if((I|0)==436207616)sN(e,A,r,a);else{G=KF((r<<6)+64|0)|0;w=r+-1|0;k=B+8|0;d=E+8|0;b=12.0;i=0;while(1){if((i|0)>=(r|0))break;u=A+(i<<4)|0;t[E>>2]=t[u>>2];t[E+4>>2]=t[u+4>>2];t[E+8>>2]=t[u+8>>2];t[E+12>>2]=t[u+12>>2];if((i|0)<(w|0)){i=i+1|0;u=A+(i<<4)|0;t[B>>2]=t[u>>2];t[B+4>>2]=t[u+4>>2];t[B+8>>2]=t[u+8>>2];t[B+12>>2]=t[u+12>>2]}else{t[B>>2]=t[A>>2];t[B+4>>2]=t[A+4>>2];t[B+8>>2]=t[A+8>>2];t[B+12>>2]=t[A+12>>2];i=i+1|0}o=+c[B>>3]-+c[E>>3];Q=+c[k>>3]-+c[d>>3];o=+D(+(Q*Q+o*o))*.3333333333333333;b=b=(r|0))break;n=A+(f<<4)|0;t[E>>2]=t[n>>2];t[E+4>>2]=t[n+4>>2];t[E+8>>2]=t[n+8>>2];t[E+12>>2]=t[n+12>>2];if((f|0)<(w|0)){n=A+(f+1<<4)|0;t[B>>2]=t[n>>2];t[B+4>>2]=t[n+4>>2];t[B+8>>2]=t[n+8>>2];t[B+12>>2]=t[n+12>>2]}else{t[B>>2]=t[A>>2];t[B+4>>2]=t[A+4>>2];t[B+8>>2]=t[A+8>>2];t[B+12>>2]=t[A+12>>2]}o=+c[B>>3]-+c[E>>3];Q=+c[k>>3]-+c[d>>3];o=b/+D(+(Q*Q+o*o));o=s?o*.3333333333333333:l?o*.5:o;n=G+(i<<4)|0;if(u){t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[g>>2]=t[B>>2];t[g+4>>2]=t[B+4>>2];t[g+8>>2]=t[B+8>>2];t[g+12>>2]=t[B+12>>2];cN(y,o*.5,v,g);t[n>>2]=t[y>>2];t[n+4>>2]=t[y+4>>2];t[n+8>>2]=t[y+8>>2];t[n+12>>2]=t[y+12>>2]}else{t[n>>2]=t[E>>2];t[n+4>>2]=t[E+4>>2];t[n+8>>2]=t[E+8>>2];t[n+12>>2]=t[E+12>>2]}n=G+(i+1<<4)|0;t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[g>>2]=t[B>>2];t[g+4>>2]=t[B+4>>2];t[g+8>>2]=t[B+8>>2];t[g+12>>2]=t[B+12>>2];cN(C,o,v,g);t[n>>2]=t[C>>2];t[n+4>>2]=t[C+4>>2];t[n+8>>2]=t[C+8>>2];t[n+12>>2]=t[C+12>>2];n=i+3|0;z=G+(i+2<<4)|0;t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[g>>2]=t[B>>2];t[g+4>>2]=t[B+4>>2];t[g+8>>2]=t[B+8>>2];t[g+12>>2]=t[B+12>>2];cN(m,1.0-o,v,g);t[z>>2]=t[m>>2];t[z+4>>2]=t[m+4>>2];t[z+8>>2]=t[m+8>>2];t[z+12>>2]=t[m+12>>2];if(u){z=G+(n<<4)|0;t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[g>>2]=t[B>>2];t[g+4>>2]=t[B+4>>2];t[g+8>>2]=t[B+8>>2];t[g+12>>2]=t[B+12>>2];cN(p,1.0-o*.5,v,g);t[z>>2]=t[p>>2];t[z+4>>2]=t[p+4>>2];t[z+8>>2]=t[p+8>>2];t[z+12>>2]=t[p+12>>2];i=i+4|0}else i=n;f=f+1|0}s=G+(i<<4)|0;t[s>>2]=t[G>>2];t[s+4>>2]=t[G+4>>2];t[s+8>>2]=t[G+8>>2];t[s+12>>2]=t[G+12>>2];s=G+(i+1<<4)|0;l=G+16|0;t[s>>2]=t[l>>2];t[s+4>>2]=t[l+4>>2];t[s+8>>2]=t[l+8>>2];t[s+12>>2]=t[l+12>>2];i=G+(i+2<<4)|0;s=G+32|0;t[i>>2]=t[s>>2];t[i+4>>2]=t[s+4>>2];t[i+8>>2]=t[s+8>>2];t[i+12>>2]=t[s+12>>2];i=I&2147483647;e:do{if((i|0)<201326592){if((i|0)>=83886080){if((i|0)<134217728){if((i|0)<100663296){switch(i|0){case 83886080:break;default:break e}if((r|0)==4){z=KF(192)|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];w=z+16|0;g=A+16|0;t[w>>2]=t[g>>2];t[w+4>>2]=t[g+4>>2];t[w+8>>2]=t[g+8>>2];t[w+12>>2]=t[g+12>>2];w=G+48|0;g=G+64|0;b=+c[g>>3];u=z+32|0;c[u>>3]=b;k=G+56|0;d=G+72|0;W=+c[d>>3];C=z+40|0;c[C>>3]=W;Q=+c[w>>3]+b-+c[s>>3];m=z+48|0;c[m>>3]=Q;F=+c[k>>3]+W-+c[G+40>>3];B=z+56|0;c[B>>3]=F;Y=+c[g>>3]+Q-+c[w>>3];w=z+64|0;c[w>>3]=Y;o=+c[d>>3]+F-+c[k>>3];k=z+72|0;c[k>>3]=o;d=z+80|0;c[d>>3]=b+Y-Q;c[z+88>>3]=W+o-F;g=G+96|0;p=G+80|0;F=+c[p>>3];r=z+144|0;c[r>>3]=F;E=G+104|0;v=G+88|0;o=+c[v>>3];c[z+152>>3]=o;W=+c[g>>3]+F-+c[G+112>>3];y=z+128|0;c[y>>3]=W;Q=+c[E>>3]+o-+c[G+120>>3];I=z+136|0;c[I>>3]=Q;Y=+c[p>>3]+W-+c[g>>3];g=z+112|0;c[g>>3]=Y;b=+c[v>>3]+Q-+c[E>>3];E=z+120|0;c[E>>3]=b;v=z+96|0;c[v>>3]=F+Y-W;p=z+104|0;c[p>>3]=o+b-Q;s=z+160|0;l=A+32|0;t[s>>2]=t[l>>2];t[s+4>>2]=t[l+4>>2];t[s+8>>2]=t[l+8>>2];t[s+12>>2]=t[l+12>>2];s=z+176|0;A=A+48|0;t[s>>2]=t[A>>2];t[s+4>>2]=t[A+4>>2];t[s+8>>2]=t[A+8>>2];t[s+12>>2]=t[A+12>>2];ti(e,z,12,a);t[Z>>2]=t[u>>2];t[Z+4>>2]=t[u+4>>2];t[Z+8>>2]=t[u+8>>2];t[Z+12>>2]=t[u+12>>2];Q=+c[u>>3];b=+c[m>>3];Q=Q+Q-b;m=Z+16|0;c[m>>3]=Q;o=+c[C>>3];W=+c[B>>3];o=o+o-W;B=Z+24|0;c[B>>3]=o;C=Z+32|0;c[C>>3]=+c[w>>3]+Q-b;A=Z+40|0;c[A>>3]=+c[k>>3]+o-W;a=Z+48|0;t[a>>2]=t[d>>2];t[a+4>>2]=t[d+4>>2];t[a+8>>2]=t[d+8>>2];t[a+12>>2]=t[d+12>>2];li(e,Z,4);t[Z>>2]=t[v>>2];t[Z+4>>2]=t[v+4>>2];t[Z+8>>2]=t[v+8>>2];t[Z+12>>2]=t[v+12>>2];W=+c[v>>3];o=+c[g>>3];W=W-(o-W);c[m>>3]=W;b=+c[p>>3];Q=+c[E>>3];b=b-(Q-b);c[B>>3]=b;c[C>>3]=+c[y>>3]+W-o;c[A>>3]=+c[I>>3]+b-Q;t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];li(e,Z,4);G2(z);break}else ge(105438,105449,737,105458)}if((i|0)<117440512){switch(i|0){case 100663296:break;default:break e}y=r+5|0;z=KF(y<<4)|0;C=A+16|0;W=+c[C>>3];W=(+c[A>>3]-W)*.625+W;c[z>>3]=W;I=A+40|0;F=+c[I>>3];r=A+24|0;p=G+48|0;E=G+56|0;B=G+72|0;F=(+c[r>>3]-F)*.5+F+(+c[E>>3]-+c[B>>3])*1.5;c[z+8>>3]=F;Y=+c[C>>3];Y=(+c[A>>3]-Y)*.25+Y;c[z+16>>3]=Y;c[z+24>>3]=F;c[z+32>>3]=Y;Q=+c[I>>3];c[z+40>>3]=(+c[r>>3]-Q)*.5+Q;Y=(+c[s>>3]-+c[p>>3])*.5+Y;c[z+48>>3]=Y;Q=+c[I>>3];c[z+56>>3]=(+c[r>>3]-Q)*.5+Q;c[z+64>>3]=Y;Y=+c[I>>3];Y=(+c[r>>3]-Y)*.5+Y+(+c[E>>3]-+c[B>>3]);c[z+72>>3]=Y;c[z+80>>3]=W;c[z+88>>3]=Y;c[z+96>>3]=W;Y=Y-(+c[E>>3]-+c[B>>3])*.25;c[z+104>>3]=Y;c[z+112>>3]=+c[s>>3]+W-+c[p>>3];c[z+120>>3]=(+c[E>>3]-+c[B>>3])*.5+Y;c[z+128>>3]=+c[z>>3];c[z+136>>3]=(+c[E>>3]-+c[B>>3])*.25+F;ti(e,z,y,a);c[Z>>3]=+c[C>>3];F=+c[I>>3];c[Z+8>>3]=(+c[r>>3]-F)*.5+F;c[Z+16>>3]=+c[A>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 117440512:break;default:break e}r=r+1|0;z=KF(r<<4)|0;c[z>>3]=+c[l>>3];C=G+56|0;I=G+72|0;c[z+8>>3]=+c[G+24>>3]-(+c[C>>3]-+c[I>>3])*.5;c[z+16>>3]=+c[G+48>>3];F=+c[C>>3];c[z+24>>3]=F-(F-+c[I>>3])*.5;c[z+32>>3]=+c[A+32>>3];Z=A+40|0;c[z+40>>3]=(+c[C>>3]-+c[I>>3])*.5+ +c[Z>>3];c[z+48>>3]=+c[l>>3];c[z+56>>3]=(+c[C>>3]-+c[I>>3])*.5+ +c[Z>>3];F=+c[A+8>>3];c[z+72>>3]=F-(F-+c[A+56>>3])*.5;c[z+64>>3]=+c[A>>3];ti(e,z,r,a);G2(z);break}}if((i|0)<167772160)if((i|0)<150994944){switch(i|0){case 134217728:break;default:break e}y=r+4|0;z=KF(y<<4)|0;C=A+16|0;Q=+c[C>>3];B=G+48|0;Q=(+c[A>>3]-Q)*.5+Q+(+c[s>>3]-+c[B>>3])*.25;c[z>>3]=Q;I=A+40|0;F=+c[I>>3];r=A+24|0;F=(+c[r>>3]-F)*.5+F;c[z+8>>3]=F;c[z+16>>3]=Q;p=G+56|0;E=G+72|0;W=(+c[p>>3]-+c[E>>3])*.5+F;c[z+24>>3]=W;Q=(+c[s>>3]-+c[B>>3])*.5+Q;c[z+32>>3]=Q;c[z+40>>3]=W;c[z+48>>3]=Q;Q=(+c[p>>3]-+c[E>>3])*.5+W;c[z+56>>3]=Q;Y=+c[C>>3];Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[B>>3])*-.75;c[z+64>>3]=Y;c[z+72>>3]=Q;c[z+80>>3]=Y;c[z+88>>3]=W;Y=+c[C>>3];Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[B>>3])*-.25;c[z+96>>3]=Y;c[z+104>>3]=W;c[z+112>>3]=Y;c[z+120>>3]=F;ti(e,z,y,a);c[Z>>3]=+c[C>>3];F=+c[I>>3];c[Z+8>>3]=(+c[r>>3]-F)*.5+F;c[Z+16>>3]=+c[A>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 150994944:break;default:break e}y=r+2|0;z=KF(y<<4)|0;C=A+16|0;W=+c[C>>3];B=G+48|0;W=(+c[A>>3]-W)*.5+W+(+c[s>>3]-+c[B>>3])*.75;c[z>>3]=W;I=A+40|0;F=+c[I>>3];r=A+24|0;F=(+c[r>>3]-F)*.5+F;c[z+8>>3]=F;c[z+16>>3]=W;p=G+56|0;E=G+72|0;W=(+c[p>>3]-+c[E>>3])*.25+F;c[z+24>>3]=W;Y=+c[C>>3];c[z+32>>3]=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[B>>3])*.25;Y=(+c[p>>3]-+c[E>>3])*.5+W;c[z+40>>3]=Y;Q=+c[C>>3];c[z+48>>3]=(+c[A>>3]-Q)*.5+Q+(+c[s>>3]-+c[B>>3])*-.25;c[z+56>>3]=Y;Y=+c[C>>3];Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[B>>3])*-.75;c[z+64>>3]=Y;c[z+72>>3]=W;c[z+80>>3]=Y;c[z+88>>3]=F;ti(e,z,y,a);c[Z>>3]=+c[C>>3];F=+c[I>>3];c[Z+8>>3]=(+c[r>>3]-F)*.5+F;c[Z+16>>3]=+c[A>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else if((i|0)<184549376){switch(i|0){case 167772160:break;default:break e}y=r+1|0;z=KF(y<<4)|0;C=A+16|0;W=+c[C>>3];p=G+48|0;W=+c[s>>3]+W+(+c[A>>3]-W)*.5-+c[p>>3];c[z>>3]=W;I=A+40|0;F=+c[I>>3];r=A+24|0;E=G+56|0;B=G+72|0;F=(+c[r>>3]-F)*.5+F+(+c[E>>3]-+c[B>>3])*.25;c[z+8>>3]=F;W=W-+c[s>>3]+ +c[p>>3];c[z+16>>3]=W;c[z+24>>3]=+c[E>>3]+F-+c[B>>3];c[z+32>>3]=W;W=(+c[E>>3]-+c[B>>3])*.5+F;c[z+40>>3]=W;Y=+c[C>>3];Y=(+c[A>>3]-Y)*.25+Y;c[z+48>>3]=Y;c[z+56>>3]=W;c[z+64>>3]=Y;c[z+72>>3]=F;ti(e,z,y,a);c[Z>>3]=+c[C>>3];F=+c[I>>3];c[Z+8>>3]=(+c[r>>3]-F)*.5+F;c[Z+16>>3]=+c[A>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 184549376:break;default:break e}C=r+4|0;z=KF(C<<4)|0;y=A+16|0;W=+c[y>>3];Y=+c[A>>3]-W;m=G+48|0;Y=Y*.125+W+(+c[s>>3]-+c[m>>3]+Y)*.5;c[z>>3]=Y;E=A+40|0;W=+c[E>>3];B=A+24|0;r=G+56|0;p=G+72|0;W=(+c[B>>3]-W)*.5+W+(+c[r>>3]-+c[p>>3])*.25;c[z+8>>3]=W;F=+c[y>>3];F=(+c[A>>3]-F)*.375+F;c[z+16>>3]=F;c[z+24>>3]=W;c[z+32>>3]=F;W=(+c[r>>3]-+c[p>>3])*.5+W;c[z+40>>3]=W;F=F-(+c[s>>3]-+c[m>>3])*.5;c[z+48>>3]=F;c[z+56>>3]=W;I=z+64|0;c[I>>3]=F;F=+c[E>>3];F=(+c[B>>3]-F)*.5+F+(+c[r>>3]-+c[p>>3])*-.25;c[z+72>>3]=F;W=Y-(+c[s>>3]-+c[m>>3])*.5;c[z+80>>3]=W;c[z+88>>3]=F;c[z+96>>3]=W;F=F-(+c[r>>3]-+c[p>>3])*.5;c[z+104>>3]=F;p=z+112|0;c[p>>3]=Y;c[z+120>>3]=F;ti(e,z,C,a);c[Z>>3]=+c[y>>3];F=+c[E>>3];y=Z+8|0;c[y>>3]=(+c[B>>3]-F)*.5+F;C=Z+16|0;c[C>>3]=+c[I>>3];I=A+8|0;r=A+56|0;a=Z+24|0;c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+F;li(e,Z,2);c[Z>>3]=+c[p>>3];F=+c[E>>3];c[y>>3]=(+c[B>>3]-F)*.5+F;c[C>>3]=+c[A>>3];c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+F;li(e,Z,2);G2(z);break}}if((i|0)<33554432){if((i|0)<8){switch(i|0){case 4:break;default:break e}f=$F((r*96|0)+32|0)|0;i=0;n=0;while(1){l=n|1;s=f+(n<<4)|0;if((i|0)>=(r|0))break;A=i<<2;z=G+(A<<4)|0;t[s>>2]=t[z>>2];t[s+4>>2]=t[z+4>>2];t[s+8>>2]=t[z+8>>2];t[s+12>>2]=t[z+12>>2];z=f+(l<<4)|0;Z=G+((A|1)<<4)|0;t[z>>2]=t[Z>>2];t[z+4>>2]=t[Z+4>>2];t[z+8>>2]=t[Z+8>>2];t[z+12>>2]=t[Z+12>>2];z=f+(n+2<<4)|0;t[z>>2]=t[Z>>2];t[z+4>>2]=t[Z+4>>2];t[z+8>>2]=t[Z+8>>2];t[z+12>>2]=t[Z+12>>2];z=f+(n+3<<4)|0;Z=G+((A|2)<<4)|0;t[z>>2]=t[Z>>2];t[z+4>>2]=t[Z+4>>2];t[z+8>>2]=t[Z+8>>2];t[z+12>>2]=t[Z+12>>2];z=f+(n+4<<4)|0;t[z>>2]=t[Z>>2];t[z+4>>2]=t[Z+4>>2];t[z+8>>2]=t[Z+8>>2];t[z+12>>2]=t[Z+12>>2];z=f+(n+5<<4)|0;A=G+((A|3)<<4)|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];i=i+1|0;n=n+6|0}t[s>>2]=t[f>>2];t[s+4>>2]=t[f+4>>2];t[s+8>>2]=t[f+8>>2];t[s+12>>2]=t[f+12>>2];r=f+(l<<4)|0;z=f+16|0;t[r>>2]=t[z>>2];t[r+4>>2]=t[z+4>>2];t[r+8>>2]=t[z+8>>2];t[r+12>>2]=t[z+12>>2];fi(e,z,l,0,0,a&255);G2(f);break}if((i|0)<16777216){switch(i|0){case 8:break;default:break e}ti(e,A,r,a);n=Z+16|0;i=0;while(1){if((i|0)>=(r|0))break e;z=i*3|0;a=G+(z+2<<4)|0;t[Z>>2]=t[a>>2];t[Z+4>>2]=t[a+4>>2];t[Z+8>>2]=t[a+8>>2];t[Z+12>>2]=t[a+12>>2];z=G+(z+4<<4)|0;t[n>>2]=t[z>>2];t[n+4>>2]=t[z+4>>2];t[n+8>>2]=t[z+8>>2];t[n+12>>2]=t[z+12>>2];li(e,Z,2);i=i+1|0}}switch(i|0){case 16777216:break;default:break e}n=r+1|0;f=KF(n<<4)|0;i=1;while(1){if((i|0)>=(r|0))break;z=f+(i<<4)|0;I=A+(i<<4)|0;t[z>>2]=t[I>>2];t[z+4>>2]=t[I+4>>2];t[z+8>>2]=t[I+8>>2];t[z+12>>2]=t[I+12>>2];i=i+1|0}A=r*3|0;I=G+(A+1<<4)|0;t[f>>2]=t[I>>2];t[f+4>>2]=t[I+4>>2];t[f+8>>2]=t[I+8>>2];t[f+12>>2]=t[I+12>>2];r=f+(r<<4)|0;z=G+(A+-1<<4)|0;t[r>>2]=t[z>>2];t[r+4>>2]=t[z+4>>2];t[r+8>>2]=t[z+8>>2];t[r+12>>2]=t[z+12>>2];ti(e,f,n,a);G2(f);t[Z>>2]=t[z>>2];t[Z+4>>2]=t[z+4>>2];t[Z+8>>2]=t[z+8>>2];t[Z+12>>2]=t[z+12>>2];z=Z+16|0;t[z>>2]=t[I>>2];t[z+4>>2]=t[I+4>>2];t[z+8>>2]=t[I+8>>2];t[z+12>>2]=t[I+12>>2];a=Z+32|0;c[a>>3]=+c[Z>>3]+ +c[z>>3]-+c[G+(A<<4)>>3];c[Z+40>>3]=+c[Z+8>>3]+ +c[Z+24>>3]-+c[G+(A<<4)+8>>3];li(e,z,2);t[z>>2]=t[a>>2];t[z+4>>2]=t[a+4>>2];t[z+8>>2]=t[a+8>>2];t[z+12>>2]=t[a+12>>2];li(e,Z,2);break}else{if((i|0)<50331648){switch(i|0){case 33554432:break;default:break e}n=r+2|0;f=KF(n<<4)|0;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];l=f+16|0;t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];l=G+48|0;r=G+64|0;c[f+32>>3]=(+c[l>>3]-+c[r>>3])*.3333333333333333+ +c[s>>3];z=G+56|0;i=G+72|0;c[f+40>>3]=(+c[z>>3]-+c[i>>3])*.3333333333333333+ +c[G+40>>3];F=+c[l>>3];c[f+48>>3]=(F-+c[r>>3])*.3333333333333333+F;F=+c[z>>3];c[f+56>>3]=(F-+c[i>>3])*.3333333333333333+F;i=4;while(1){if((i|0)>=(n|0))break;z=f+(i<<4)|0;r=A+(i+-2<<4)|0;t[z>>2]=t[r>>2];t[z+4>>2]=t[r+4>>2];t[z+8>>2]=t[r+8>>2];t[z+12>>2]=t[r+12>>2];i=i+1|0}ti(e,f,n,a);G2(f);t[Z>>2]=t[l>>2];t[Z+4>>2]=t[l+4>>2];t[Z+8>>2]=t[l+8>>2];t[Z+12>>2]=t[l+12>>2];z=Z+16|0;t[z>>2]=t[s>>2];t[z+4>>2]=t[s+4>>2];t[z+8>>2]=t[s+8>>2];t[z+12>>2]=t[s+12>>2];li(e,Z,2);break}if((i|0)>=67108864){switch(i|0){case 67108864:break;default:break e}if((r|0)==4){z=KF(96)|0;t[z>>2]=t[A>>2];t[z+4>>2]=t[A+4>>2];t[z+8>>2]=t[A+8>>2];t[z+12>>2]=t[A+12>>2];r=z+16|0;t[r>>2]=t[s>>2];t[r+4>>2]=t[s+4>>2];t[r+8>>2]=t[s+8>>2];t[r+12>>2]=t[s+12>>2];r=z+32|0;I=G+64|0;t[r>>2]=t[I>>2];t[r+4>>2]=t[I+4>>2];t[r+8>>2]=t[I+8>>2];t[r+12>>2]=t[I+12>>2];r=z+48|0;A=A+32|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];A=z+64|0;r=G+128|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];A=z+80|0;C=G+160|0;t[A>>2]=t[C>>2];t[A+4>>2]=t[C+4>>2];t[A+8>>2]=t[C+8>>2];t[A+12>>2]=t[C+12>>2];ti(e,z,6,a);G2(z);c[Z>>3]=+c[G+176>>3]+ +c[l>>3]-+c[G>>3];c[Z+8>>3]=+c[G+184>>3]+ +c[G+24>>3]-+c[G+8>>3];z=Z+16|0;t[z>>2]=t[I>>2];t[z+4>>2]=t[I+4>>2];t[z+8>>2]=t[I+8>>2];t[z+12>>2]=t[I+12>>2];li(e,Z,2);t[z>>2]=t[r>>2];t[z+4>>2]=t[r+4>>2];t[z+8>>2]=t[r+8>>2];t[z+12>>2]=t[r+12>>2];li(e,Z,2);t[z>>2]=t[G>>2];t[z+4>>2]=t[G+4>>2];t[z+8>>2]=t[G+8>>2];t[z+12>>2]=t[G+12>>2];li(e,Z,2);break}else ge(105438,105449,714,105458)}switch(i|0){case 50331648:break;default:break e}n=r+3|0;f=KF(n<<4)|0;t[f>>2]=t[A>>2];t[f+4>>2]=t[A+4>>2];t[f+8>>2]=t[A+8>>2];t[f+12>>2]=t[A+12>>2];F=+c[A>>3];c[f+16>>3]=F-(F-+c[l>>3])*.25;i=G+56|0;F=(+c[i>>3]-+c[G+72>>3])*.3333333333333333+ +c[A+8>>3];c[f+24>>3]=F;Y=+c[A>>3];c[f+32>>3]=Y-(Y-+c[l>>3])*2.0;c[f+40>>3]=F;F=+c[A>>3];c[f+48>>3]=F-(F-+c[l>>3])*2.25;c[f+56>>3]=+c[i>>3];c[f+64>>3]=+c[G+48>>3];c[f+72>>3]=+c[i>>3];i=4;while(1){if((i|0)>=(n|0))break;z=f+(i<<4)|0;r=A+(i+-3<<4)|0;t[z>>2]=t[r>>2];t[z+4>>2]=t[r+4>>2];t[z+8>>2]=t[r+8>>2];t[z+12>>2]=t[r+12>>2];i=i+1|0}ti(e,f,n,a);G2(f);break}}else if((i|0)<318767104){if((i|0)<251658240){if((i|0)<218103808){switch(i|0){case 201326592:break;default:break e}z=r<<4;m=KF(z)|0;p=A+16|0;F=+c[p>>3];c[m>>3]=F;C=A+40|0;Y=+c[C>>3];I=A+24|0;y=G+48|0;E=G+56|0;B=G+72|0;Y=(+c[I>>3]-Y)*.5+Y+(+c[E>>3]-+c[B>>3])*.125;c[m+8>>3]=Y;W=(+c[s>>3]-+c[y>>3])*2.0+F;c[m+16>>3]=W;c[m+24>>3]=Y;c[m+32>>3]=W;Y=(+c[E>>3]-+c[B>>3])*.5+Y;c[m+40>>3]=Y;c[m+48>>3]=F;c[m+56>>3]=Y;ti(e,m,r,a);G2(m);z=KF(z)|0;Y=+c[s>>3]+ +c[p>>3]-+c[y>>3];c[z>>3]=Y;F=+c[C>>3];F=(+c[I>>3]-F)*.5+F+(+c[E>>3]-+c[B>>3])*-.625;c[z+8>>3]=F;W=+c[s>>3]-+c[y>>3]+Y;y=z+16|0;c[y>>3]=W;c[z+24>>3]=F;c[z+32>>3]=W;F=(+c[E>>3]-+c[B>>3])*.5+F;c[z+40>>3]=F;c[z+48>>3]=Y;c[z+56>>3]=F;ti(e,z,r,a);c[Z>>3]=+c[y>>3];F=+c[C>>3];c[Z+8>>3]=(+c[I>>3]-F)*.5+F;c[Z+16>>3]=+c[A>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}if((i|0)<234881024){switch(i|0){case 218103808:break;default:break e}z=r<<4;E=KF(z)|0;F=+c[A>>3];c[E>>3]=F;y=A+40|0;Y=+c[y>>3];C=A+24|0;B=G+56|0;I=G+72|0;Y=(+c[C>>3]-Y)*.5+Y+(+c[B>>3]-+c[I>>3])*.125;c[E+8>>3]=Y;c[E+16>>3]=F;W=(+c[B>>3]-+c[I>>3])*.5+Y;c[E+24>>3]=W;F=F-(+c[B>>3]-+c[I>>3])*2.0;c[E+32>>3]=F;c[E+40>>3]=W;c[E+48>>3]=F;c[E+56>>3]=Y;ti(e,E,r,a);G2(E);z=KF(z)|0;Y=+c[A>>3]-+c[s>>3]+ +c[G+48>>3];c[z>>3]=Y;F=+c[y>>3];F=(+c[C>>3]-F)*.5+F+(+c[B>>3]-+c[I>>3])*-.625;c[z+8>>3]=F;c[z+16>>3]=Y;W=(+c[B>>3]-+c[I>>3])*.5+F;c[z+24>>3]=W;Y=Y-(+c[B>>3]-+c[I>>3]);c[z+32>>3]=Y;c[z+40>>3]=W;I=z+48|0;c[I>>3]=Y;c[z+56>>3]=F;ti(e,z,r,a);c[Z>>3]=+c[A+16>>3];F=+c[y>>3];c[Z+8>>3]=(+c[C>>3]-F)*.5+F;c[Z+16>>3]=+c[I>>3];c[Z+24>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 234881024:break;default:break e}z=r<<4;y=KF(z)|0;m=A+16|0;Y=+c[m>>3];p=G+48|0;Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[p>>3])*-1.125;c[y>>3]=Y;E=A+40|0;F=+c[E>>3];B=A+24|0;I=G+56|0;C=G+72|0;F=(+c[B>>3]-F)*.5+F+(+c[I>>3]-+c[C>>3])*.125;c[y+8>>3]=F;W=+c[s>>3]-+c[p>>3]+Y;c[y+16>>3]=W;c[y+24>>3]=F;c[y+32>>3]=W;F=(+c[I>>3]-+c[C>>3])*.5+F;c[y+40>>3]=F;c[y+48>>3]=Y;c[y+56>>3]=F;ti(e,y,r,a);G2(y);y=KF(z)|0;F=+c[m>>3];F=(+c[A>>3]-F)*.5+F+(+c[s>>3]-+c[p>>3])*-1.125;c[y>>3]=F;Y=+c[E>>3];Y=(+c[B>>3]-Y)*.5+Y+(+c[I>>3]-+c[C>>3])*-.625;c[y+8>>3]=Y;W=+c[s>>3]-+c[p>>3]+F;c[y+16>>3]=W;c[y+24>>3]=Y;c[y+32>>3]=W;Y=(+c[I>>3]-+c[C>>3])*.5+Y;c[y+40>>3]=Y;c[y+48>>3]=F;c[y+56>>3]=Y;ti(e,y,r,a);G2(y);y=KF(z)|0;Y=+c[m>>3];Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[p>>3])*.125;c[y>>3]=Y;F=+c[E>>3];F=(+c[B>>3]-F)*.5+F+(+c[I>>3]-+c[C>>3])*-.625;c[y+8>>3]=F;W=+c[s>>3]-+c[p>>3]+Y;c[y+16>>3]=W;c[y+24>>3]=F;c[y+32>>3]=W;F=(+c[I>>3]-+c[C>>3])*.5+F;c[y+40>>3]=F;c[y+48>>3]=Y;c[y+56>>3]=F;ti(e,y,r,a);G2(y);z=KF(z)|0;F=+c[m>>3];F=(+c[A>>3]-F)*.5+F+(+c[s>>3]-+c[p>>3])*.125;c[z>>3]=F;Y=+c[E>>3];Y=(+c[B>>3]-Y)*.5+Y+(+c[I>>3]-+c[C>>3])*.125;c[z+8>>3]=Y;W=+c[s>>3]-+c[p>>3]+F;y=z+16|0;c[y>>3]=W;c[z+24>>3]=Y;c[z+32>>3]=W;Y=(+c[I>>3]-+c[C>>3])*.5+Y;c[z+40>>3]=Y;c[z+48>>3]=F;c[z+56>>3]=Y;ti(e,z,r,a);c[Z>>3]=+c[y>>3];Y=+c[E>>3];y=Z+8|0;c[y>>3]=(+c[B>>3]-Y)*.5+Y;C=Z+16|0;c[C>>3]=+c[A>>3];I=A+8|0;r=A+56|0;a=Z+24|0;c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+Y;li(e,Z,2);Y=+c[m>>3];c[Z>>3]=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[p>>3])*-1.125;F=+c[E>>3];c[y>>3]=(+c[B>>3]-F)*.5+F;c[C>>3]=Y;c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+F;li(e,Z,2);G2(z);break}}if((i|0)<285212672)if((i|0)<268435456){switch(i|0){case 251658240:break;default:break e}z=r<<4;m=KF(z)|0;p=A+16|0;F=+c[p>>3];y=G+48|0;F=F-+c[s>>3]+(+c[A>>3]-F)*.5+ +c[y>>3];c[m>>3]=F;E=A+40|0;Y=+c[E>>3];B=A+24|0;I=G+56|0;C=G+72|0;Y=(+c[B>>3]-Y)*.5+Y+(+c[I>>3]-+c[C>>3])*.125;c[m+8>>3]=Y;W=(+c[s>>3]-+c[y>>3])*2.0+F;c[m+16>>3]=W;c[m+24>>3]=Y;c[m+32>>3]=W;Y=(+c[I>>3]-+c[C>>3])*.5+Y;c[m+40>>3]=Y;c[m+48>>3]=F;c[m+56>>3]=Y;ti(e,m,r,a);G2(m);z=KF(z)|0;Y=+c[p>>3];Y=Y-+c[s>>3]+(+c[A>>3]-Y)*.5+ +c[y>>3];c[z>>3]=Y;F=+c[E>>3];F=(+c[B>>3]-F)*.5+F+(+c[I>>3]-+c[C>>3])*-.625;c[z+8>>3]=F;W=(+c[s>>3]-+c[y>>3])*2.0+Y;y=z+16|0;c[y>>3]=W;c[z+24>>3]=F;c[z+32>>3]=W;F=(+c[I>>3]-+c[C>>3])*.5+F;c[z+40>>3]=F;c[z+48>>3]=Y;c[z+56>>3]=F;ti(e,z,r,a);c[Z>>3]=+c[y>>3];F=+c[E>>3];y=Z+8|0;c[y>>3]=(+c[B>>3]-F)*.5+F;C=Z+16|0;c[C>>3]=+c[A>>3];I=A+8|0;r=A+56|0;a=Z+24|0;c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+F;li(e,Z,2);c[Z>>3]=+c[p>>3];F=+c[E>>3];c[y>>3]=(+c[B>>3]-F)*.5+F;c[C>>3]=+c[z>>3];c[a>>3]=(+c[I>>3]-+c[r>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 268435456:break;default:break e}z=KF(r<<4)|0;c[z>>3]=+c[A>>3];p=G+48|0;B=G+56|0;y=G+72|0;c[z+8>>3]=+c[G+24>>3]-(+c[B>>3]-+c[y>>3])*.5;c[z+16>>3]=+c[p>>3];F=+c[B>>3];c[z+24>>3]=F-(F-+c[y>>3])*.5;c[z+32>>3]=+c[A+32>>3];C=A+40|0;c[z+40>>3]=(+c[B>>3]-+c[y>>3])*.5+ +c[C>>3];c[z+48>>3]=+c[A>>3];c[z+56>>3]=(+c[B>>3]-+c[y>>3])*.5+ +c[C>>3];ti(e,z,r,a);E=A+16|0;F=(+c[s>>3]-+c[p>>3])*.25;Y=F+ +c[E>>3];c[Z>>3]=Y;W=+c[C>>3];m=A+24|0;Q=+c[B>>3]-+c[y>>3];W=(+c[m>>3]-W)*.5+W+Q*.125;I=Z+8|0;c[I>>3]=W;r=Z+16|0;c[r>>3]=F+Y;a=Z+24|0;c[a>>3]=W-Q*.25;li(e,Z,2);Q=(+c[s>>3]-+c[p>>3])*.25;W=Q+ +c[E>>3];c[Z>>3]=W;Y=+c[C>>3];F=+c[B>>3]-+c[y>>3];Y=(+c[m>>3]-Y)*.5+Y+F*-.125;c[I>>3]=Y;c[r>>3]=Q+W;c[a>>3]=F*.25+Y;li(e,Z,2);Y=(+c[s>>3]-+c[p>>3])*.25;c[Z>>3]=Y+ +c[E>>3];F=(+c[B>>3]-+c[y>>3])*.75+ +c[C>>3];c[I>>3]=F;c[r>>3]=+c[A>>3]-Y;c[a>>3]=F;li(e,Z,2);G2(z);break}else if((i|0)<301989888){switch(i|0){case 285212672:break;default:break e}y=KF(r<<4)|0;p=A+16|0;Y=+c[p>>3];C=G+48|0;Y=(+c[s>>3]-+c[C>>3]+(+c[A>>3]-Y))*.5+Y;c[y>>3]=Y;E=A+40|0;Q=+c[E>>3];B=A+24|0;Q=(+c[s>>3]-+c[C>>3]+(+c[B>>3]-Q))*.5+Q;c[y+8>>3]=Q;c[y+16>>3]=Y;Y=+c[E>>3];b=+c[s>>3]-+c[C>>3];Y=(+c[B>>3]-Y-b)*.5+Y;c[y+24>>3]=Y;F=+c[p>>3];F=(+c[A>>3]-F-b)*.5+F;c[y+32>>3]=F;c[y+40>>3]=Y;c[y+48>>3]=F;c[y+56>>3]=Q;ti(e,y,r,a);G2(y);Q=+c[p>>3];Q=(+c[A>>3]-Q)*.5+Q;F=+c[s>>3]-+c[C>>3];Y=F*.75;b=Q+Y;c[Z>>3]=b;W=+c[E>>3];W=(+c[B>>3]-W)*.5+W;Y=W+Y;y=Z+8|0;c[y>>3]=Y;I=Z+16|0;c[I>>3]=b;F=F*-.75;W=W+F;z=Z+24|0;c[z>>3]=W;F=Q+F;c[Z+32>>3]=F;c[Z+40>>3]=W;c[Z+48>>3]=F;c[Z+56>>3]=Y;r=Z+64|0;t[r>>2]=t[Z>>2];t[r+4>>2]=t[Z+4>>2];t[r+8>>2]=t[Z+8>>2];t[r+12>>2]=t[Z+12>>2];li(e,Z,5);Y=+c[p>>3];F=+c[A>>3];c[Z>>3]=(F-Y)*.5+Y+(+c[s>>3]-+c[C>>3])*.75;Y=+c[E>>3];c[y>>3]=(+c[B>>3]-Y)*.5+Y;c[I>>3]=F;r=A+8|0;a=A+56|0;c[z>>3]=(+c[r>>3]-+c[a>>3])*.5+Y;li(e,Z,2);Y=+c[p>>3];c[Z>>3]=Y;F=+c[E>>3];c[y>>3]=(+c[B>>3]-F)*.5+F;c[I>>3]=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[C>>3])*-.75;c[z>>3]=(+c[r>>3]-+c[a>>3])*.5+F;li(e,Z,2);break}else{switch(i|0){case 301989888:break;default:break e}I=r+12|0;z=KF(I<<4)|0;B=A+16|0;o=+c[B>>3];v=G+48|0;o=(+c[A>>3]-o)*.5+o+(+c[s>>3]-+c[v>>3])*.25;c[z>>3]=o;y=A+40|0;Q=+c[y>>3];C=A+24|0;p=G+56|0;E=G+72|0;Q=(+c[p>>3]-+c[E>>3]+(+c[C>>3]-Q))*.5+Q;m=z+8|0;c[m>>3]=Q;c[z+16>>3]=o;Q=(+c[p>>3]-+c[E>>3])*.125+Q;g=z+24|0;c[g>>3]=Q;W=o-(+c[s>>3]-+c[v>>3])*.125;r=z+32|0;c[r>>3]=W;b=(+c[p>>3]-+c[E>>3])*.125+Q;c[z+40>>3]=b;c[z+48>>3]=o;Y=(+c[p>>3]-+c[E>>3])*.125+b;c[z+56>>3]=Y;c[z+64>>3]=o;o=(+c[p>>3]-+c[E>>3])*.125+Y;c[z+72>>3]=o;c[z+80>>3]=W;c[z+88>>3]=o;W=+c[B>>3];W=(+c[A>>3]-W)*.5+W;c[z+96>>3]=W;c[z+104>>3]=Y;F=W-(+c[s>>3]-+c[v>>3])*.125;c[z+112>>3]=F;c[z+120>>3]=o;F=F-(+c[s>>3]-+c[v>>3])*.125;c[z+128>>3]=F;c[z+136>>3]=o;c[z+144>>3]=F;c[z+152>>3]=Y;Y=(+c[s>>3]-+c[v>>3])*.125+F;c[z+160>>3]=Y;c[z+168>>3]=b;c[z+176>>3]=F;c[z+184>>3]=Q;c[z+192>>3]=F;F=+c[m>>3];c[z+200>>3]=F;c[z+208>>3]=Y;c[z+216>>3]=F;m=z+224|0;c[m>>3]=W;c[z+232>>3]=+c[g>>3];c[z+240>>3]=+c[r>>3];c[z+248>>3]=F;ti(e,z,I,a);F=+c[m>>3];c[Z>>3]=F;W=+c[y>>3];W=(+c[C>>3]-W)*.5+W;I=Z+8|0;c[I>>3]=W;r=Z+16|0;c[r>>3]=F;a=Z+24|0;c[a>>3]=(+c[p>>3]-+c[E>>3])*.125+W;li(e,Z,2);W=+c[m>>3];c[Z>>3]=W;F=+c[y>>3];Y=+c[p>>3]-+c[E>>3];F=(+c[C>>3]-F)*.5+F+Y*.25;c[I>>3]=F;c[r>>3]=W;c[a>>3]=Y*.125+F;li(e,Z,2);c[Z>>3]=+c[B>>3];F=+c[y>>3];c[I>>3]=(+c[C>>3]-F)*.5+F;c[r>>3]=+c[A>>3];c[a>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}}else{if((i|0)<369098752){if((i|0)<335544320){switch(i|0){case 318767104:break;default:break e}I=r+4|0;z=KF(I<<4)|0;B=A+16|0;W=+c[B>>3];r=G+48|0;W=(+c[A>>3]-W)*.5+W+(+c[s>>3]-+c[r>>3])*.125;c[z>>3]=W;y=A+40|0;F=+c[y>>3];C=A+24|0;p=G+56|0;E=G+72|0;F=(+c[p>>3]-+c[E>>3]+(+c[C>>3]-F))*.5+F;c[z+8>>3]=F;b=(+c[s>>3]-+c[r>>3])*.125+W;c[z+16>>3]=b;Y=(+c[p>>3]-+c[E>>3])*.125+F;c[z+24>>3]=Y;c[z+32>>3]=b;b=(+c[p>>3]-+c[E>>3])*.25+Y;c[z+40>>3]=b;c[z+48>>3]=W;Q=(+c[p>>3]-+c[E>>3])*.125+b;c[z+56>>3]=Q;W=W-(+c[s>>3]-+c[r>>3])*.25;c[z+64>>3]=W;c[z+72>>3]=Q;Q=W-(+c[s>>3]-+c[r>>3])*.125;c[z+80>>3]=Q;c[z+88>>3]=b;c[z+96>>3]=Q;c[z+104>>3]=Y;c[z+112>>3]=W;c[z+120>>3]=F;ti(e,z,I,a);F=+c[B>>3];F=(+c[A>>3]-F)*.5+F;c[Z>>3]=F;W=+c[y>>3];W=(+c[C>>3]-W)*.5+W;I=Z+8|0;c[I>>3]=W;r=Z+16|0;c[r>>3]=F;a=Z+24|0;c[a>>3]=(+c[p>>3]-+c[E>>3])*.125+W;li(e,Z,2);W=+c[B>>3];W=(+c[A>>3]-W)*.5+W;c[Z>>3]=W;F=+c[y>>3];Y=+c[p>>3]-+c[E>>3];F=(+c[C>>3]-F)*.5+F+Y*.25;c[I>>3]=F;c[r>>3]=W;c[a>>3]=Y*.125+F;li(e,Z,2);c[Z>>3]=+c[B>>3];F=+c[y>>3];c[I>>3]=(+c[C>>3]-F)*.5+F;c[r>>3]=+c[A>>3];c[a>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}if((i|0)<352321536){switch(i|0){case 335544320:break;default:break e}B=r+12|0;z=KF(B<<4)|0;y=A+16|0;o=+c[y>>3];m=G+48|0;o=(+c[A>>3]-o)*.5+o+(+c[s>>3]-+c[m>>3])*.25;c[z>>3]=o;C=A+40|0;Q=+c[C>>3];I=A+24|0;v=G+56|0;g=G+72|0;Q=(+c[v>>3]-+c[g>>3]+(+c[I>>3]-Q))*.5+Q;r=z+8|0;c[r>>3]=Q;c[z+16>>3]=o;Q=(+c[v>>3]-+c[g>>3])*.125+Q;p=z+24|0;c[p>>3]=Q;Y=o-(+c[s>>3]-+c[m>>3])*.125;E=z+32|0;c[E>>3]=Y;b=(+c[v>>3]-+c[g>>3])*.125+Q;c[z+40>>3]=b;c[z+48>>3]=o;W=(+c[v>>3]-+c[g>>3])*.125+b;c[z+56>>3]=W;c[z+64>>3]=o;o=(+c[v>>3]-+c[g>>3])*.125+W;c[z+72>>3]=o;c[z+80>>3]=Y;c[z+88>>3]=o;Y=+c[y>>3];Y=(+c[A>>3]-Y)*.5+Y;c[z+96>>3]=Y;c[z+104>>3]=W;F=Y-(+c[s>>3]-+c[m>>3])*.125;c[z+112>>3]=F;c[z+120>>3]=o;F=F-(+c[s>>3]-+c[m>>3])*.125;c[z+128>>3]=F;c[z+136>>3]=o;c[z+144>>3]=F;c[z+152>>3]=W;W=(+c[s>>3]-+c[m>>3])*.125+F;c[z+160>>3]=W;c[z+168>>3]=b;c[z+176>>3]=F;c[z+184>>3]=Q;c[z+192>>3]=F;F=+c[r>>3];c[z+200>>3]=F;c[z+208>>3]=W;c[z+216>>3]=F;r=z+224|0;c[r>>3]=Y;c[z+232>>3]=+c[p>>3];c[z+240>>3]=+c[E>>3];c[z+248>>3]=F;ti(e,z,B,a);t[Z>>2]=t[r>>2];t[Z+4>>2]=t[r+4>>2];t[Z+8>>2]=t[r+8>>2];t[Z+12>>2]=t[r+12>>2];r=Z+16|0;c[r>>3]=+c[Z>>3];F=+c[C>>3];a=Z+24|0;c[a>>3]=(+c[I>>3]-F)*.5+F;li(e,Z,2);c[Z>>3]=+c[y>>3];F=+c[C>>3];c[Z+8>>3]=(+c[I>>3]-F)*.5+F;c[r>>3]=+c[A>>3];c[a>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}else{switch(i|0){case 352321536:break;default:break e}I=r+4|0;z=KF(I<<4)|0;B=A+16|0;Y=+c[B>>3];E=G+48|0;Y=(+c[A>>3]-Y)*.5+Y+(+c[s>>3]-+c[E>>3])*.125;c[z>>3]=Y;y=A+40|0;F=+c[y>>3];C=A+24|0;m=G+56|0;p=G+72|0;F=(+c[m>>3]-+c[p>>3]+(+c[C>>3]-F))*.5+F;r=z+8|0;c[r>>3]=F;b=(+c[s>>3]-+c[E>>3])*.125+Y;c[z+16>>3]=b;W=(+c[m>>3]-+c[p>>3])*.125+F;c[z+24>>3]=W;c[z+32>>3]=b;b=(+c[m>>3]-+c[p>>3])*.25+W;c[z+40>>3]=b;c[z+48>>3]=Y;Q=(+c[m>>3]-+c[p>>3])*.125+b;c[z+56>>3]=Q;Y=Y-(+c[s>>3]-+c[E>>3])*.25;c[z+64>>3]=Y;c[z+72>>3]=Q;Q=Y-(+c[s>>3]-+c[E>>3])*.125;c[z+80>>3]=Q;c[z+88>>3]=b;c[z+96>>3]=Q;c[z+104>>3]=W;c[z+112>>3]=Y;c[z+120>>3]=F;ti(e,z,I,a);F=+c[B>>3];F=(+c[A>>3]-F)*.5+F;c[Z>>3]=F;I=Z+8|0;c[I>>3]=+c[r>>3];r=Z+16|0;c[r>>3]=F;F=+c[y>>3];a=Z+24|0;c[a>>3]=(+c[C>>3]-F)*.5+F;li(e,Z,2);c[Z>>3]=+c[B>>3];F=+c[y>>3];c[I>>3]=(+c[C>>3]-F)*.5+F;c[r>>3]=+c[A>>3];c[a>>3]=(+c[A+8>>3]-+c[A+56>>3])*.5+F;li(e,Z,2);G2(z);break}}if((i|0)<402653184)if((i|0)<385875968){switch(i|0){case 369098752:break;default:break e}r=r+5|0;z=KF(r<<4)|0;Z=G+48|0;c[z>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;y=G+56|0;I=G+72|0;c[z+8>>3]=+c[G+24>>3]-(+c[y>>3]-+c[I>>3])*.5;c[z+16>>3]=+c[Z>>3];F=+c[y>>3];c[z+24>>3]=F-(F-+c[I>>3])*.5;c[z+32>>3]=+c[A+32>>3];C=A+40|0;c[z+40>>3]=+c[C>>3];F=+c[s>>3];c[z+48>>3]=(F-+c[Z>>3])*.5+F;c[z+56>>3]=+c[C>>3];F=+c[s>>3];c[z+64>>3]=(F-+c[Z>>3])*.5+F;c[z+72>>3]=(+c[y>>3]-+c[I>>3])*.5+ +c[C>>3];c[z+80>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;c[z+88>>3]=(+c[y>>3]-+c[I>>3])*.5+ +c[C>>3];c[z+96>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;C=A+56|0;c[z+104>>3]=+c[C>>3];I=A+8|0;F=+c[I>>3];c[z+120>>3]=F-(F-+c[C>>3])*.5;c[z+112>>3]=+c[A>>3];c[z+136>>3]=+c[I>>3];c[z+128>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;ti(e,z,r,a);G2(z);break}else{switch(i|0){case 385875968:break;default:break e}r=r+3|0;z=KF(r<<4)|0;Z=G+48|0;c[z>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;y=G+56|0;I=G+72|0;c[z+8>>3]=+c[G+24>>3]-(+c[y>>3]-+c[I>>3])*.5;c[z+16>>3]=+c[Z>>3];F=+c[y>>3];c[z+24>>3]=F-(F-+c[I>>3])*.5;c[z+32>>3]=+c[A+32>>3];C=A+40|0;c[z+40>>3]=(+c[y>>3]-+c[I>>3])*.5+ +c[C>>3];c[z+48>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;c[z+56>>3]=(+c[y>>3]-+c[I>>3])*.5+ +c[C>>3];c[z+64>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;C=A+56|0;c[z+72>>3]=+c[C>>3];I=A+8|0;F=+c[I>>3];c[z+88>>3]=F-(F-+c[C>>3])*.5;c[z+80>>3]=+c[A>>3];c[z+104>>3]=+c[I>>3];c[z+96>>3]=+c[l>>3]-(+c[s>>3]-+c[Z>>3])*.5;ti(e,z,r,a);G2(z);break}else if((i|0)<419430400){switch(i|0){case 402653184:break;default:break e}r=r+3|0;z=KF(r<<4)|0;c[z>>3]=+c[A>>3];y=A+8|0;C=G+48|0;I=G+56|0;Z=G+72|0;c[z+8>>3]=+c[y>>3]-(+c[I>>3]-+c[Z>>3])*.5;F=+c[s>>3];c[z+16>>3]=(F-+c[C>>3])*.5+F;c[z+24>>3]=+c[y>>3]-(+c[I>>3]-+c[Z>>3])*.5;F=+c[s>>3];c[z+32>>3]=(F-+c[C>>3])*.5+F;c[z+40>>3]=+c[G+40>>3];c[z+48>>3]=+c[A+16>>3];F=+c[A+24>>3];y=A+40|0;c[z+56>>3]=F-(F-+c[y>>3])*.5;F=+c[s>>3];c[z+64>>3]=(F-+c[C>>3])*.5+F;c[z+72>>3]=+c[y>>3];c[z+88>>3]=(+c[I>>3]-+c[Z>>3])*.5+ +c[y>>3];F=+c[s>>3];c[z+80>>3]=(F-+c[C>>3])*.5+F;c[z+104>>3]=(+c[I>>3]-+c[Z>>3])*.5+ +c[A+56>>3];c[z+96>>3]=+c[A>>3];ti(e,z,r,a);G2(z);break}else{switch(i|0){case 419430400:break;default:break e}r=r+5|0;z=KF(r<<4)|0;c[z>>3]=+c[A>>3];Z=A+8|0;I=G+48|0;y=G+56|0;C=G+72|0;c[z+8>>3]=+c[Z>>3]-(+c[y>>3]-+c[C>>3])*.5;F=+c[s>>3];c[z+16>>3]=(F-+c[I>>3])*.5+F;c[z+24>>3]=+c[Z>>3]-(+c[y>>3]-+c[C>>3])*.5;F=+c[s>>3];c[z+32>>3]=(F-+c[I>>3])*.5+F;c[z+40>>3]=+c[G+40>>3];c[z+48>>3]=+c[A+16>>3];F=+c[A+24>>3];Z=A+40|0;c[z+56>>3]=F-(F-+c[Z>>3])*.5;F=+c[s>>3];c[z+64>>3]=(F-+c[I>>3])*.5+F;c[z+72>>3]=+c[Z>>3];c[z+88>>3]=(+c[y>>3]-+c[C>>3])*.5+ +c[Z>>3];F=+c[s>>3];c[z+80>>3]=(F-+c[I>>3])*.5+F;Z=A+56|0;c[z+104>>3]=(+c[y>>3]-+c[C>>3])*.5+ +c[Z>>3];c[z+96>>3]=+c[l>>3]-(+c[s>>3]-+c[I>>3])*.5;c[z+112>>3]=+c[l>>3]-(+c[s>>3]-+c[I>>3])*.5;c[z+120>>3]=+c[Z>>3];c[z+128>>3]=+c[A+48>>3];c[z+136>>3]=+c[Z>>3];ti(e,z,r,a);G2(z);break}}}while(0);G2(G)}h=L;return}function sN(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0;a=h;h=h+112|0;n=a;s=+c[A+8>>3]*2.0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];c[n+16>>3]=+c[A+16>>3];c[n+24>>3]=s-+c[A+24>>3];c[n+32>>3]=+c[A+32>>3];c[n+40>>3]=s-+c[A+40>>3];c[n+48>>3]=+c[A+48>>3];c[n+56>>3]=s-+c[A+56>>3];c[n+64>>3]=+c[A+64>>3];c[n+72>>3]=s-+c[A+72>>3];c[n+80>>3]=+c[A+80>>3];c[n+88>>3]=s-+c[A+88>>3];f=n+96|0;l=A+96|0;t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];t[f+8>>2]=t[l+8>>2];t[f+12>>2]=t[l+12>>2];fi(e,A,r,0,0,i&255);fi(e,n,7,0,0,0);h=a;return}function cN(e,A,r,i){e=e|0;A=+A;r=r|0;i=i|0;var a=0.0,t=0.0;t=+c[r>>3];a=+c[r+8>>3];a=(+c[i+8>>3]-a)*A+a;c[e>>3]=(+c[i>>3]-t)*A+t;c[e+8>>3]=a;return}function oN(e){e=e|0;e=t[(t[e+16>>2]|0)+8>>2]|0;if(e){e=t[t[e+4>>2]>>2]|0;if((e|0)!=91)if((e|0)==94)e=2;else return((e|0)==93?3:(e|0)==96?4:0)|0;else e=1}else e=0;return e|0}function uN(e){e=e|0;var A=0,r=0,a=0.0,n=0,f=0,l=0,s=0.0,o=0.0,u=0.0,b=0.0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0,p=0.0,E=0.0,B=0.0,y=0.0,C=0.0,I=0,Z=0,G=0,L=0,z=0,F=0,M=0,V=0,N=0,x=0.0,J=0.0,H=0,X=0,S=0.0,j=0.0,U=0.0,T=0,O=0,_=0,q=0,K=0,$=0,ee=0,Ae=0.0;ee=h;h=h+144|0;F=ee+112|0;N=ee+104|0;G=ee+96|0;L=ee+88|0;f=ee+80|0;_=ee+64|0;K=ee+48|0;H=ee+40|0;X=ee+32|0;l=ee+24|0;w=ee+16|0;Z=ee+136|0;I=ee+128|0;M=ee;$=KF(48)|0;q=e+16|0;T=t[(t[(t[q>>2]|0)+8>>2]|0)+8>>2]|0;n=(T|0)==1616;O=t[T>>2]|0;A=t[T+4>>2]|0;r=t[T+8>>2]|0;o=+c[T+16>>3];u=+c[T+32>>3];b=+c[T+24>>3];O=O|(mx(Hw(e,105511)|0)|0)&255;do{if(!n){if(!O){T=t[q>>2]|0;s=+c[T+32>>3]*72.0;a=+c[T+40>>3]*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);s=+(~~(s+(s>=0.0?.5:-.5))|0);break}s=+EN(e);if(s>0.0)a=s;else{T=t[q>>2]|0;a=+c[T+32>>3];s=+c[T+40>>3];s=(a=0.0?.5:-.5))|0);a=s}}else{a=0.0;s=0.0}}while(0);T=hx(e,t[47160]|0,A,0)|0;U=+wx(e,t[47162]|0,0.0,-360.0)+o;if(!r){j=+wx(e,t[47163]|0,0.0,-100.0);z=hx(e,t[47159]|0,4,0)|0;S=+wx(e,t[47164]|0,0.0,-100.0)}else{z=r;j=u;S=b}A=t[(t[q>>2]|0)+104>>2]|0;r=A+24|0;t[_>>2]=t[r>>2];t[_+4>>2]=t[r+4>>2];t[_+8>>2]=t[r+8>>2];t[_+12>>2]=t[r+12>>2];k=+c[_>>3];if(k>0.0){if(!n)V=11}else if(!(n|!(+c[_+8>>3]>0.0)))V=11;if((V|0)==11){A=Hw(e,105496)|0;do{if(A){c[w>>3]=0.0;c[l>>3]=0.0;t[f>>2]=l;t[f+4>>2]=w;A=V3(A,105503,f)|0;o=+c[l>>3];if(o<0.0){c[l>>3]=0.0;o=0.0}u=+c[w>>3];if(u<0.0){c[w>>3]=0.0;b=0.0}else b=u;if((A|0)<=0){u=k+16.0;c[_>>3]=u;o=8.0;break}o=o*72.0;o=+(~~(o+(o>=0.0?.5:-.5))<<1|0);u=k+o;c[_>>3]=u;if((A|0)!=1){o=b*72.0;o=+(~~(o+(o>=0.0?.5:-.5))<<1|0)}}else{u=k+16.0;c[_>>3]=u;o=8.0}}while(0);A=_+8|0;c[A>>3]=+c[A>>3]+o;A=t[(t[q>>2]|0)+104>>2]|0;k=u}v=+c[A+24>>3];o=+c[t[(t[(Bd(e)|0)+16>>2]|0)+8>>2]>>3];if(o>0.0){x=o*72.0;x=+(~~(x+(x>=0.0?.5:-.5))|0);J=+BN(k,x);c[_>>3]=J;w=_+8|0;c[w>>3]=+BN(+c[w>>3],x)}else J=k;A=t[(t[q>>2]|0)+8>>2]|0;do{if(!(i[A+12>>0]|0)){r=Hw(e,109025)|0;if((r|0)!=0?(i[r>>0]|0)!=0:0){Pm(I,Bd(e)|0,r);A=t[I>>2]|0;n=t[I+4>>2]|0;if((n&A|0)==-1){A=Mk(e)|0;t[G>>2]=r;t[G+4>>2]=A;nw(0,105587,G)|0;r=0;A=0;break}else{i[(t[(Bd(e)|0)+16>>2]|0)+114>>0]=1;r=A+2|0;A=n+2|0;break}}else{r=0;A=0}}else{A=t[A>>2]|0;if((i[A>>0]|0)==99?(e1(A,105519)|0)==0:0){r=Hw(e,105526)|0;Pm(Z,Bd(e)|0,r);A=t[Z>>2]|0;n=t[Z+4>>2]|0;if((n&A|0)==-1){A=Mk(e)|0;t[L>>2]=r|0?r:105536;t[L+4>>2]=A;nw(0,105542,L)|0;r=0;A=0;break}else{i[(t[(Bd(e)|0)+16>>2]|0)+114>>0]=1;r=A+2|0;A=n+2|0;break}}else{r=0;A=0}}}while(0);x=+(r|0);c[K>>3]=J>x?J:x;x=+c[_+8>>3];d=+(A|0);A=K+8|0;c[A>>3]=x>d?x:d;r=(z|0)<3&(S!=0.0|j!=0.0)?120:z;n=Hw(e,105628)|0;if(!n)f=99;else{f=i[n>>0]|0;f=f<<24>>24==116?116:f<<24>>24==98?98:99}n=t[q>>2]|0;i[(t[n+104>>2]|0)+80>>0]=f;if((r|0)==4?(S==0.0?((~~(U+(U>=0.0?.5:-.5))|0)%90|0|0)==0:0)&j==0.0:0)w=1;else V=39;do{if((V|0)==39){n=t[(t[(t[n+8>>2]|0)+8>>2]|0)+44>>2]|0;if(n|0){w=t[n>>2]|0;t[F>>2]=t[K>>2];t[F+4>>2]=t[K+4>>2];t[F+8>>2]=t[K+8>>2];t[F+12>>2]=t[K+12>>2];M5[w&63](M,F);t[K>>2]=t[M>>2];t[K+4>>2]=t[M+4>>2];t[K+8>>2]=t[M+8>>2];t[K+12>>2]=t[M+12>>2];w=0;break}o=+c[A>>3];u=o*1.4142135623730951;if(a>u&f<<24>>24==99){b=o/a;b=+D(+(1.0/(1.0-b*b)));b=+c[K>>3]*b;c[K>>3]=b}else{b=+c[K>>3]*1.4142135623730951;c[K>>3]=b;c[A>>3]=u;o=u}if((r|0)>2){C=+W(+(3.141592653589793/+(r|0)));c[K>>3]=b/C;c[A>>3]=o/C;w=0}else w=0}}while(0);o=+c[A>>3];n=dx(e,t[47165]|0,137308)|0;if((i[n>>0]|0)==115?(e1(n,108230)|0)==0:0){c[K>>3]=s;c[A>>3]=a;N=$+40|0;t[N>>2]=t[N>>2]|2048}else{if(!((mx(n)|0)<<24>>24)){C=+c[K>>3];s=s>C?s:C;c[K>>3]=s;C=+c[A>>3];a=a>C?a:C}else{V=t[(t[q>>2]|0)+104>>2]|0;if(!(!(s<+c[V+24>>3])?!(a<+c[V+32>>3]):0)){M=Mk(e)|0;V=Mk(Bd(e)|0)|0;t[N>>2]=M;t[N+4>>2]=V;nw(0,105637,N)|0}c[K>>3]=s}c[A>>3]=a}if(!O){C=a;y=s}else{y=s>a?s:a;c[A>>3]=y;c[K>>3]=y;C=y}do{if(!((mx(dx(e,t[47156]|0,137308)|0)|0)<<24>>24)){if(w){a=+c[(J>+c[K>>3]?_:K)>>3];break}a=+c[A>>3];if(x>3]*+D(+(1.0-x*x/(a*a)));a=J>a?J:a}else a=J}else a=J}while(0);n=t[(t[q>>2]|0)+104>>2]|0;c[n+40>>3]=v-k+a;I=$+40|0;if(!(t[I>>2]&2048)){B=+c[A>>3]-o;c[n+48>>3]=(x1;n=l?T:1;e:do{if((r|0)<3){n=KF(n<<5)|0;s=+c[K>>3]*.5;a=+c[A>>3]*.5;c[n>>3]=-s;c[n+8>>3]=-a;c[n+16>>3]=s;c[n+24>>3]=a;if(l){r=1;f=2;while(1){if((r|0)==(T|0))break;y=s+4.0;C=a+4.0;c[n+(f<<4)>>3]=-y;c[n+(f<<4)+8>>3]=-C;X=f|1;c[n+(X<<4)>>3]=y;c[n+(X<<4)+8>>3]=C;r=r+1|0;f=f+2|0;s=y;a=C}c[K>>3]=s*2.0;c[A>>3]=a*2.0;r=2}else r=2}else{n=KF(P(n<<4,r)|0)|0;f=t[(t[(t[(t[q>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;A:do{if(!f){k=6.283185307179586/+(r|0);g=k*.5;d=+Y(+g);v=+g1(+Q(+j)+ +Q(+S),1.0);g=S*1.4142135623730951/+W(+g);m=j*.5;p1((k+-3.141592653589793)*.5,H,X);p=U*.017453292519943295;s=0.0;a=0.0;o=0.0;f=0;u=+c[X>>3]*.5;b=+c[H>>3]*.5;while(1){if((f|0)>=(r|0))break A;o=o+k;p1(o,H,X);u=+c[X>>3]*d+u;b=+c[H>>3]*d+b;B=(b*g+v)*u+m*b;p1(+R(+b,+B)+p,H,X);B=+g1(B,b);E=+c[X>>3]*B*+c[K>>3];B=+c[H>>3]*B*+c[A>>3];Ae=+Q(+E);a=Ae>a?Ae:a;Ae=+Q(+B);s=Ae>s?Ae:s;c[n+(f<<4)>>3]=E;c[n+(f<<4)+8>>3]=B;if(w)break;else f=f+1|0}Ae=-E;c[n+16>>3]=Ae;c[n+24>>3]=B;c[n+32>>3]=Ae;Ae=-B;c[n+40>>3]=Ae;c[n+48>>3]=E;c[n+56>>3]=Ae}else{M5[t[f+4>>2]&63](n,K);s=+c[A>>3]*.5;a=+c[K>>3]*.5}}while(0);a=a*2.0;s=s*2.0;y=y>a?y:a;c[K>>3]=y;Ae=C>s?C:s;c[A>>3]=Ae;a=y/a;s=Ae/s;f=0;while(1){if((f|0)>=(r|0))break;N=n+(f<<4)|0;e=n+(f<<4)+8|0;Ae=+c[e>>3]*s;c[N>>3]=+c[N>>3]*a;c[e>>3]=Ae;f=f+1|0}if(l){l=r+-1|0;s=+c[n>>3];o=+c[n+8>>3];a=+R(+(o-+c[n+(l<<4)+8>>3]),+(s-+c[n+(l<<4)>>3]));l=0;A:while(1){if((l|0)>=(r|0))break;w=l+1|0;f=(w|0)%(r|0)|0;u=+c[n+(f<<4)>>3];b=+c[n+(f<<4)+8>>3];k=+R(+(b-o),+(u-s));C=(a+3.141592653589793-k)*.5;Ae=4.0/+Y(+C);p1(a-C,H,X);c[H>>3]=+c[H>>3]*Ae;c[X>>3]=+c[X>>3]*Ae;f=1;a=o;while(1){if((f|0)==(T|0)){a=k;l=w;s=u;o=b;continue A}C=+c[X>>3]+s;Ae=+c[H>>3]+a;e=(P(f,r)|0)+l|0;c[n+(e<<4)>>3]=C;c[n+(e<<4)+8>>3]=Ae;f=f+1|0;s=C;a=Ae}}l=P(r,T+-1|0)|0;f=0;while(1){if((f|0)>=(r|0))break e;X=f+l|0;C=+c[n+(X<<4)+8>>3];y=+Q(+ +c[n+(X<<4)>>3])*2.0;Ae=+c[K>>3];c[K>>3]=y>Ae?y:Ae;C=+Q(+C)*2.0;Ae=+c[A>>3];c[A>>3]=C>Ae?C:Ae;f=f+1|0}}}}while(0);t[$>>2]=O;t[$+4>>2]=T;t[$+8>>2]=r;c[$+16>>3]=U;c[$+32>>3]=j;c[$+24>>3]=S;t[$+44>>2]=n;a=+c[K>>3];if(!(t[I>>2]&2048)){r=t[q>>2]|0;c[r+32>>3]=a*.013888888888888888}else{r=t[q>>2]|0;c[r+32>>3]=+c[(J>a?_:K)>>3]*.013888888888888888;A=(x>+c[A>>3]?_:K)+8|0}c[r+40>>3]=+c[A>>3]*.013888888888888888;t[r+12>>2]=$;h=ee;return}function bN(e){e=e|0;var A=0,r=0,i=0,a=0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0;b=h;h=h+64|0;l=b+40|0;i=b+32|0;s=b+16|0;u=b;r=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;o=e+16|0;a=t[t[(t[o>>2]|0)+104>>2]>>2]|0;t[47282]=a;a=U2(a)|0;a=KF(((a|0)>1?a:1)+1|0)|0;A=wN(e,r,1,a)|0;if(!A){t[i>>2]=t[t[(t[o>>2]|0)+104>>2]>>2];nw(1,105472,i)|0;t[47282]=105493;A=wN(e,r,1,a)|0}G2(a);kN(l,e,A);r=t[o>>2]|0;f=+c[r+32>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c[u>>3]=f;n=+c[r+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);r=u+8|0;c[r>>3]=n;if(!((mx(dx(e,t[47165]|0,137308)|0)|0)<<24>>24)){f=+c[(+c[A>>3]>f?A:u)>>3];c[u>>3]=f;i=A+8|0;n=+c[(+c[i>>3]>n?A:u)+8>>3];c[r>>3]=n;r=i;i=A}else{r=A+8|0;i=A}e=(mx(dx(e,t[47156]|0,137308)|0)|0)&255;t[l>>2]=t[u>>2];t[l+4>>2]=t[u+4>>2];t[l+8>>2]=t[u+8>>2];t[l+12>>2]=t[u+12>>2];dN(A,l,e);vN(s,f*-.5,n*.5);t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];gN(A,l,15);u=t[o>>2]|0;c[u+32>>3]=+c[i>>3]*.013888888888888888;c[u+40>>3]=(+c[r>>3]+1.0)*.013888888888888888;t[u+12>>2]=A;h=b;return}function hN(e){e=e|0;var A=0.0,r=0,i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0.0,u=0;l=KF(48)|0;s=e+16|0;n=t[(t[(t[(t[s>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;a=+wx(e,t[47146]|0,1797693134862315708145274.0e284,0.0);A=+wx(e,t[47145]|0,1797693134862315708145274.0e284,0.0);a=a0.0?a>.0003?a:.0003:a;f=t[s>>2]|0;c[f+40>>3]=a;c[f+32>>3]=a;A=a*72.0;n=hx(e,t[47160]|0,n,0)|0;f=KF((n|0)<1?32:n<<5)|0;a=a*36.0;i=-a;c[f>>3]=i;c[f+8>>3]=i;c[f+16>>3]=a;c[f+24>>3]=a;if((n|0)>1){e=1;r=2;i=a;A=a;while(1){if((e|0)==(n|0))break;o=i+4.0;a=A+4.0;c[f+(r<<4)>>3]=-o;c[f+(r<<4)+8>>3]=-a;u=r|1;c[f+(u<<4)>>3]=o;c[f+(u<<4)+8>>3]=a;e=e+1|0;r=r+2|0;i=o;A=a}A=i*2.0}t[l>>2]=1;t[l+4>>2]=n;t[l+8>>2]=2;u=l+16|0;t[u>>2]=0;t[u+4>>2]=0;t[u+8>>2]=0;t[u+12>>2]=0;t[u+16>>2]=0;t[u+20>>2]=0;t[l+44>>2]=f;o=A*.013888888888888888;u=t[s>>2]|0;c[u+32>>3]=o;c[u+40>>3]=o;t[u+12>>2]=l;return}function wN(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0;n=KF(72)|0;b=t[(t[e+16>>2]|0)+104>>2]|0;u=0;f=1;l=t[47282]|0;e:while(1){s=i[l>>0]|0;switch(s<<24>>24){case 0:break e;case 92:{l=l+1|0;s=i[l>>0]|0;switch(s<<24>>24){case 124:case 125:case 123:case 92:{o=u;break}default:Q=4}break}default:Q=4}if((Q|0)==4){Q=0;switch(s<<24>>24){case 123:{o=u+1|0;break}case 125:{o=u+-1|0;break}default:{o=u;f=f+((u|0)==0&s<<24>>24==124&1)|0}}if((o|0)<0)break}u=o;l=l+1|0}Z=n+56|0;t[Z>>2]=KF(f<<2)|0;i[n+64>>0]=A;y=(A|0)==0&1;C=b+82|0;I=a+1|0;p=(r|0)!=0;E=b+16|0;B=b+4|0;m=b+8|0;s=0;u=0;A=0;g=0;o=0;r=0;b=a;f=0;l=0;e:while(1){w=s;s=0;A:while(1){r:while(1){v=r;i:while(1){d=s;h=f;a:while(1){k=u;t:while(1){while(1){if(g){Q=78;break e}u=t[47282]|0;f=i[u>>0]|0;if((f+-1&255)>=31)break;t[47282]=u+1}switch(f<<24>>24|0){case 92:{Q=53;break r}case 0:case 124:case 125:break i;case 60:break a;case 62:break t;case 123:break;default:{s=A;f=u;break r}}f=u+1|0;t[47282]=f;if(o|0){Q=34;break e}if(!(i[f>>0]|0)){Q=34;break e}r=wN(e,y,0,a)|0;t[(t[Z>>2]|0)+(k<<2)>>2]=r;if(!r){Q=36;break e}else{k=k+1|0;o=4}}if(i[C>>0]|0){s=A;f=u;break r}if(!(o&16)){Q=27;break e}if(h>>>0>I>>>0?(G=h+-1|0,(G|0)!=(v|0)):0)f=(i[G>>0]|0)==32?G:h;else f=h;i[f>>0]=0;d=o3(a)|0;t[47282]=(t[47282]|0)+1;u=k;o=o&-17;h=f}if(o&6|0){Q=22;break e}if(i[C>>0]|0){s=A;f=u;break r}t[47282]=u+1;u=k;o=o|18;s=d;v=a;f=a}if(!((o&16|0)==0&(p|f<<24>>24!=0))){Q=38;break e}if(!(o&4)){s=KF(72)|0;t[(t[Z>>2]|0)+(k<<2)>>2]=s;u=k+1|0}else{s=w;u=k}if(d|0)t[s+60>>2]=d;if(!(o&5)){i[a+l>>0]=32;o=o|1;l=l+1|0}f=a+l|0;if(o&1){if((l|0)>1?(L=f+-1|0,(L|0)!=(b|0)):0)f=(i[L>>0]|0)==32?L:f;i[f>>0]=0;b=o3(a)|0;t[s+52>>2]=HF(e,b,i[C>>0]|0?2:0,+c[E>>3],t[B>>2]|0,t[m>>2]|0)|0;i[s+64>>0]=1;b=a;l=0}f=t[47282]|0;switch(i[f>>0]|0){case 0:{g=1;r=v;f=h;continue e}case 125:{Q=51;break e}default:{}}t[47282]=f+1;w=s;o=0;s=0;r=v;f=h}r:do{if((Q|0)==53){Q=0;s=a+l|0;f=u+1|0;switch(i[f>>0]|0){case 0:{s=A;f=u;break r}case 62:case 60:case 124:case 125:case 123:{s=A;break}case 32:{if(!(i[C>>0]|0))s=1;else Q=55;break}default:Q=55}if((Q|0)==55){Q=0;i[s>>0]=92;s=A;o=o|9;l=l+1|0}t[47282]=f}}while(0);A=a+l|0;if(o&4|0?(i[f>>0]|0)!=32:0){Q=59;break e}if(!(o&24))o=(i[f>>0]|0)==32?o:o|9;if(!(o&8))if(!(o&16))r=v;else{u=i[f>>0]|0;A=(s|0)!=0;if(!(A|u<<24>>24!=32))if((h|0)!=(a|0))if((i[h+-1>>0]|0)==32)u=h;else Q=73;else u=a;else Q=73;if((Q|0)==73){Q=0;i[h>>0]=u;u=h+1|0;f=t[47282]|0}r=A?u+-1|0:v;h=u}else{u=i[f>>0]|0;r=(s|0)!=0;if(!((!(r|u<<24>>24!=32)?(i[A+-1>>0]|0)==32:0)?(i[C>>0]|0)==0:0)){i[A>>0]=u;l=l+1|0}if(r){r=v;b=a+l+-1|0}else r=v}f=f+1|0;t[47282]=f;while(1){if((i[f>>0]|0)>=0){u=k;A=s;s=d;f=h;continue A}v=f+1|0;t[47282]=v;i[a+l>>0]=i[f>>0]|0;l=l+1|0;f=v}}}if((Q|0)==22){mN(n,d);n=0}else if((Q|0)==27){mN(n,d);n=0}else if((Q|0)==34){mN(n,d);n=0}else if((Q|0)==36){mN(n,d);n=0}else if((Q|0)==38){mN(n,d);n=0}else if((Q|0)==51){t[47282]=f+1;t[n+48>>2]=u}else if((Q|0)==59){mN(n,d);n=0}else if((Q|0)==78)t[n+48>>2]=k;return n|0}function kN(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+64|0;s=m+48|0;o=m+40|0;u=m+32|0;g=m+16|0;v=m;l=t[r+52>>2]|0;e:do{if(!l){u=g+8|0;b=r+48|0;w=r+56|0;k=r+64|0;d=v+8|0;t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;t[g+12>>2]=0;l=0;while(1){if((l|0)>=(t[b>>2]|0))break e;kN(v,A,t[(t[w>>2]|0)+(l<<2)>>2]|0);if(!(i[k>>0]|0)){c[u>>3]=+c[u>>3]+ +c[d>>3];s=g;o=+c[g>>3]>+c[v>>3]?g:v}else{c[g>>3]=+c[g>>3]+ +c[v>>3];s=u;o=(+c[u>>3]>+c[d>>3]?g:v)+8|0}c[s>>3]=+c[o>>3];l=l+1|0}}else{n=+c[l+24>>3];a=+c[l+32>>3];if(n>0.0|a>0.0){l=Hw(A,105496)|0;do{if(l){t[s>>2]=o;t[s+4>>2]=u;l=V3(l,105503,s)|0;if((l|0)<=0){f=8.0;n=n+16.0;break}f=+c[o>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))<<1|0);n=n+f;if((l|0)!=1){f=+c[u>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))<<1|0)}}else{f=8.0;n=n+16.0}}while(0);a=f+a}c[g>>3]=n;c[g+8>>3]=a}}while(0);t[r>>2]=t[g>>2];t[r+4>>2]=t[g+4>>2];t[r+8>>2]=t[g+8>>2];t[r+12>>2]=t[g+12>>2];t[e>>2]=t[g>>2];t[e+4>>2]=t[g+4>>2];t[e+8>>2]=t[g+8>>2];t[e+12>>2]=t[g+12>>2];h=m;return}function dN(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0;v=h;h=h+32|0;b=v+16|0;w=v;k=+c[A>>3];f=k-+c[e>>3];d=+c[A+8>>3];a=d-+c[e+8>>3];t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];A=t[e+52>>2]|0;if(!((r|0)!=0|(A|0)==0)){u=A+40|0;c[u>>3]=+c[u>>3]+f;u=A+48|0;c[u>>3]=+c[u>>3]+a}o=e+48|0;A=t[o>>2]|0;e:do{if(A|0){u=e+64|0;a=((i[u>>0]|0)==0?a:f)/+(A|0);s=e+56|0;l=0;while(1){if((l|0)>=(A|0))break e;e=t[(t[s>>2]|0)+(l<<2)>>2]|0;n=l+1|0;A=~~(a*+(n|0))-~~(a*+(l|0))|0;if(!(i[u>>0]|0))vN(w,k,+c[e+8>>3]+ +(A|0));else vN(w,+c[e>>3]+ +(A|0),d);t[b>>2]=t[w>>2];t[b+4>>2]=t[w+4>>2];t[b+8>>2]=t[w+8>>2];t[b+12>>2]=t[w+12>>2];dN(e,b,r);l=n;A=t[o>>2]|0}}}while(0);h=v;return}function vN(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function gN(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0.0;k=h;h=h+48|0;l=k+32|0;u=k+16|0;o=k;i[e+65>>0]=r;s=e+16|0;v=+c[A>>3];w=A+8|0;d=+c[w>>3];vN(u,v,d-+c[e+8>>3]);t[s>>2]=t[u>>2];t[s+4>>2]=t[u+4>>2];t[s+8>>2]=t[u+8>>2];t[s+12>>2]=t[u+12>>2];s=e+32|0;vN(o,+c[e>>3]+v,d);t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];s=t[e+48>>2]|0;o=s+-1|0;u=(r|0)==0;b=e+56|0;f=e+64|0;n=0;while(1){if((n|0)>=(s|0))break;do{if(!u){e=(n|0)==0;a=(n|0)==(o|0);if(!(i[f>>0]|0))if(e){e=a?15:14;break}else{e=a?11:10;break}else if(e){e=a?15:13;break}else{e=a?7:5;break}}else e=0}while(0);a=t[(t[b>>2]|0)+(n<<2)>>2]|0;t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];gN(a,l,e&r);if(!(i[f>>0]|0))c[w>>3]=+c[w>>3]-+c[(t[(t[b>>2]|0)+(n<<2)>>2]|0)+8>>3];else c[A>>3]=+c[t[(t[b>>2]|0)+(n<<2)>>2]>>3]+ +c[A>>3];n=n+1|0}h=k;return}function mN(e,A){e=e|0;A=A|0;pN(e);G2(A);return}function pN(e){e=e|0;var A=0,r=0,i=0;r=e+48|0;i=e+56|0;A=0;while(1){if((A|0)>=(t[r>>2]|0))break;pN(t[(t[i>>2]|0)+(A<<2)>>2]|0);A=A+1|0}G2(t[e+60>>2]|0);SF(t[e+52>>2]|0);G2(t[i>>2]|0);G2(e);return}function EN(e){e=e|0;var A=0.0,r=0.0;r=+wx(e,t[47146]|0,0.0,.01);A=+wx(e,t[47145]|0,0.0,.02);A=(r>A?r:A)*72.0;return+ +(~~(A+(A>=0.0?.5:-.5))|0)}function BN(e,A){e=+e;A=+A;var r=0;r=~~(e/A);return+(+((+(r|0)*A+1.0e-05>2]|0)+8>>2]|0;if(!e)e=0;else e=(t[t[e+4>>2]>>2]|0)==91&1;return e|0}function CN(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;a=t[47283]|0;e:do{if(!a)A=0;else{n=t[47284]|0;r=0;while(1){if((r|0)>=(n|0)){A=0;break e}A=t[a+(r<<2)>>2]|0;f=t[A>>2]|0;if((i[f>>0]|0)==(i[e>>0]|0)?(e1(f,e)|0)==0:0)break e;r=r+1|0}}}while(0);return A|0}function IN(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;if(Lx(Hw(A,105526)|0)|0)if((i[e>>0]|0)==101?(e1(e,105685)|0)==0:0){A=101;n=6}else{e=105519;n=4}else n=4;if((n|0)==4){A=i[e>>0]|0;if(A<<24>>24==99)if(!(e1(e,105519)|0))n=11;else{A=99;n=6}else n=6}e:do{if((n|0)==6){r=20848;while(1){a=t[r>>2]|0;if(!a){n=11;break e}if((i[a>>0]|0)==A<<24>>24?(e1(a,e)|0)==0:0){e=r;break e}r=r+16|0}}}while(0);if((n|0)==11)e=ZN(e)|0;return e|0}function ZN(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;A=CN(e)|0;if(!A){a=t[47284]|0;A=a+1|0;t[47284]=A;r=t[47283]|0;if(!r)A=$F(A<<2)|0;else A=AM(r,A<<2)|0;t[47283]=A;A=KF(16)|0;t[(t[47283]|0)+(a<<2)>>2]=A;t[A>>2]=t[5212];t[A+4>>2]=t[5213];t[A+8>>2]=t[5214];t[A+12>>2]=t[5215];r=o3(e)|0;t[A>>2]=r;do{if(!0){if((i[e>>0]|0)==99?(e1(e,105519)|0)==0:0){r=1;break}t[n>>2]=t[5212];t[n+4>>2]=r;nw(0,105690,n)|0;r=0}else r=1}while(0);i[A+12>>0]=r}h=f;return A|0}function GN(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[A>>3]*.5257311121191336;r=+c[A+8>>3]*.8944271909999159;r=i>r?i:r;c[e>>3]=r*4.97979656976556;c[e+8>>3]=r*4.73606797749979;return}function LN(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,t=0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0.0;i=+c[A>>3];s=A+8|0;a=+c[s>>3];r=a/i;if(!(r>.9510565162951536))if(r<.9510565162951536){l=i;a=i*.9510565162951536}else l=i;else l=a*1.0514622242382672;i=l*.5257311121191336;n=l*.20081141588622725;f=l*.05020285397155681;r=.3141592653589793;t=0;while(1){if((t|0)>=10)break;c[e+(t<<4)>>3]=+W(+r)*i;c[e+(t<<4)+8>>3]=+Y(+r)*i-f;u=r+.6283185307179586;o=t|1;c[e+(o<<4)>>3]=+W(+u)*n;c[e+(o<<4)+8>>3]=+Y(+u)*n-f;r=r+1.2566370614359172;t=t+2|0}c[A>>3]=l;c[s>>3]=a;return}function QN(e){e=e|0;e=t[(t[e+16>>2]|0)+12>>2]|0;if(e|0){G2(t[e+44>>2]|0);G2(e)}return}function DN(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+80|0;c=b+40|0;n=b;u=b+64|0;f=b+56|0;if(!(i[r>>0]|0)){n=4208;f=e+40|0;do{t[e>>2]=t[n>>2];e=e+4|0;n=n+4|0}while((e|0)<(f|0))}else{l=(a|0)==0?106356:a;t[u>>2]=15;s=A+16|0;a=t[s>>2]|0;do{if(i[(t[a+104>>2]|0)+82>>0]|0){a=ft(A,r,u)|0;if(!a){a=t[s>>2]|0;o=8;break}if(SN(A,a,n,l,t[u>>2]|0,0)|0){t[c>>2]=Mk(A)|0;t[c+4>>2]=r;t[c+8>>2]=l;nw(0,106358,c)|0}}else o=8}while(0);if((o|0)==8){if((t[(t[a+8>>2]|0)+8>>2]|0)==1664)f=0;else{t[f>>2]=A;t[f+4>>2]=0}if(SN(A,0,n,r,t[u>>2]|0,f)|0)jN(A,r)}t[n+36>>2]=0;f=e+40|0;do{t[e>>2]=t[n>>2];e=e+4|0;n=n+4|0}while((e|0)<(f|0))}h=b;return}function zN(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0;d=h;h=h+112|0;u=d+96|0;o=d+80|0;w=d+64|0;s=d+48|0;k=d+32|0;b=d;a=d+16|0;if(!e){t[47287]=0;e=0}else{n=t[e+4>>2]|0;e=t[e>>2]|0;f=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)*90|0;t[u>>2]=t[A>>2];t[u+4>>2]=t[A+4>>2];t[u+8>>2]=t[A+8>>2];t[u+12>>2]=t[A+12>>2];LF(a,u,f);t[k>>2]=t[a>>2];t[k+4>>2]=t[a+4>>2];t[k+8>>2]=t[a+8>>2];t[k+12>>2]=t[a+12>>2];e:do{if(n){r=+c[n+8>>3];i=+c[n+24>>3];v=+c[k>>3];if((+c[n>>3]<=v?v<=+c[n+16>>3]:0)?(l=+c[k+8>>3],r<=l):0)e=l<=i&1;else e=0}else{if((e|0)==(t[47287]|0)){a=t[47288]|0;n=t[47290]|0;f=t[47289]|0}else{n=t[(t[e+16>>2]|0)+12>>2]|0;t[47291]=n;f=t[n+44>>2]|0;t[47289]=f;a=t[n+8>>2]|0;t[47288]=a;n=P((t[n+4>>2]|0)+-1|0,a)|0;n=(n|0)>0?n:0;t[47290]=n;t[47287]=e}e=0;A=0;while(1){if((e|0)>=(a|0)){e=1;break e}g=f+(n+e<<4)|0;t[b>>2]=t[g>>2];t[b+4>>2]=t[g+4>>2];t[b+8>>2]=t[g+8>>2];t[b+12>>2]=t[g+12>>2];g=f+(n+((e+4|0)%(a|0)|0)<<4)|0;t[s>>2]=t[k>>2];t[s+4>>2]=t[k+4>>2];t[s+8>>2]=t[k+8>>2];t[s+12>>2]=t[k+12>>2];t[w>>2]=t[46614];t[w+4>>2]=t[46615];t[w+8>>2]=t[46616];t[w+12>>2]=t[46617];t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];t[u>>2]=t[g>>2];t[u+4>>2]=t[g+4>>2];t[u+8>>2]=t[g+8>>2];t[u+12>>2]=t[g+12>>2];A=A+((XN(s,w,o,u)|0)==0&1)|0;if((A|0)==2){e=0;break}else e=e+2|0}}}while(0)}h=d;return e|0}function WN(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;r=t[e+16>>2]|0;if((i[(t[r+104>>2]|0)+82>>0]|0)!=0?(i[r+145>>0]|0)!=0:0)e=ct(e,A,0,a,n)|0;else e=0;return e|0}function YN(e,A){e=e|0;A=A|0;var r=0,f=0,l=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0.0,G=0.0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;x=h;h=h+48|0;W=x+24|0;z=x+16|0;I=x+8|0;C=x;V=x+32|0;u=x+28|0;N=t[e+16>>2]|0;R=N+208|0;r=t[R>>2]|0;if((r|0)==0?(a[N+260>>1]&1)==0:0)F=0;else Q=4;if((Q|0)==4)if(!(t[e+152>>2]&4)){Tr(e,r,t[N+228>>2]|0,t[N+244>>2]|0,t[N+212>>2]|0);F=1}else F=1;Y=A+16|0;r=t[Y>>2]|0;d=t[r+12>>2]|0;D=t[d+44>>2]|0;M=t[d+8>>2]|0;d=t[d+4>>2]|0;if((t[47285]|0)<(M|0)){r=M+5|0;t[47285]=r;f=t[47286]|0;if(!f)r=$F(r<<4)|0;else r=AM(f,r<<4)|0;t[47286]=r;r=t[Y>>2]|0}L=(t[r+104>>2]|0)+56|0;r=r+16|0;t[L>>2]=t[r>>2];t[L+4>>2]=t[r+4>>2];t[L+8>>2]=t[r+8>>2];t[L+12>>2]=t[r+12>>2];L=t[Y>>2]|0;Z=+c[L+32>>3]*72.0;Z=(+c[L+96>>3]+ +c[L+88>>3])/+(~~(Z+(Z>=0.0?.5:-.5))|0);G=+c[L+40>>3]*72.0;G=+c[L+80>>3]/+(~~(G+(G>=0.0?.5:-.5))|0);L=FN(e,A)|0;t[V>>2]=0;r=n[(t[Y>>2]|0)+117>>0]|0;do{if(!(r&1)){if(r&2|0){v=vx(A,0,106256)|0;$r(e,v);Ai(e,vx(A,0,106264)|0);f=0;r=1;break}if(r&8|0){v=vx(A,0,106272)|0;$r(e,v);Ai(e,vx(A,0,106280)|0);f=0;r=1;break}if(r&4|0){v=vx(A,0,106288)|0;$r(e,v);Ai(e,vx(A,0,106296)|0);f=0;r=1;break}if(!(L&1))if(!(L&576)){f=0;r=0}else{f=MN(A)|0;r=1}else{f=MN(A)|0;if(!((KY(f,V,u)|0)<<24>>24)){Ai(e,f);r=1}else{Ai(e,t[V>>2]|0);r=t[V+4>>2]|0;o=hx(A,t[47173]|0,0,0)|0;l=+s[u>>2];if(!r)ri(e,137314,o,l);else ri(e,r,o,l);r=(L&2)>>>1|2}}v=VN(e,A)|0}else{v=vx(A,0,106240)|0;$r(e,v);Ai(e,vx(A,0,106248)|0);f=0;r=1}}while(0);o=t[(t[Y>>2]|0)+8>>2]|0;if(i[o+12>>0]|0){o=t[o>>2]|0;if((i[o>>0]|0)==99){o=(e1(o,105519)|0)==0;Q=33}else m=1}else{o=1;Q=33}if((Q|0)==33){o=o^1;if((d|0)!=0|r<<24>>24==0|o)m=o;else{$r(e,137379);d=1;m=0}}p=(M|0)<3;E=(L&512|0)!=0;y=(L&8|0)==0;B=(L&64|0)==0;w=(L&1024|0)==0;k=(L&2130706444|0)==0;g=0;while(1){if((g|0)>=(d|0))break;u=P(g,M)|0;b=t[47286]|0;o=0;while(1){if((o|0)>=(M|0))break;H=o+u|0;l=+c[D+(H<<4)+8>>3];J=t[Y>>2]|0;c[b+(o<<4)>>3]=+c[J+16>>3]+ +c[D+(H<<4)>>3]*Z;c[b+(o<<4)+8>>3]=+c[J+24>>3]+l*G;o=o+1|0}do{if(p){if(E&(g|0)==0?(C1(f,58)|0)!=0:0)if((tB(e,b,f)|0)>1){t[C>>2]=Mk(A)|0;nw(3,106304,C)|0;r=0}else r=0;ai(e,t[47286]|0,M,r&255);if(!y)NN(e,A)}else{if(!B){if((g|0)==0?(sB(e,b,f,1)|0)>1:0){t[I>>2]=Mk(A)|0;nw(3,106304,I)|0}ti(e,t[47286]|0,M,0);break}if(!w){$r(e,137379);ti(e,t[47286]|0,M,r&255);$r(e,v);li(e,(t[47286]|0)+32|0,2);break}r=r&255;if(k){ti(e,b,M,r);break}else{lN(e,b,M,L,r);break}}}while(0);g=g+1|0;r=0}o=t[(t[Y>>2]|0)+8>>2]|0;if(!(i[o+12>>0]|0)){o=Hw(A,109025)|0;if(o|0?i[o>>0]|0:0){b=o;Q=65}}else{o=t[o>>2]|0;if((i[o>>0]|0)==99?(e1(o,105519)|0)==0:0){o=Hw(A,105526)|0;if(o|0?i[o>>0]|0:0){b=o;Q=65}}else{b=o;Q=65}}if((Q|0)==65){u=t[47286]|0;o=0;while(1){if((o|0)>=(M|0))break;l=+c[D+(o<<4)+8>>3];H=t[Y>>2]|0;c[u+(o<<4)>>3]=+c[H+16>>3]+ +c[D+(o<<4)>>3]*Z;c[u+(o<<4)+8>>3]=+c[H+24>>3]+l*G;o=o+1|0}o=r&255;do{if(!(m|r<<24>>24==0)){if(p){if(E&(g|0)==0?(C1(f,58)|0)!=0:0)if((tB(e,u,f)|0)>1){t[z>>2]=Mk(A)|0;nw(3,106304,z)|0;r=0}else r=0;ai(e,t[47286]|0,M,r&255);if(y)break;NN(e,A);break}if(B)if(!(L&12)){ti(e,u,M,o);break}else{lN(e,u,M,L,o);break}else{if((sB(e,u,f,1)|0)>1){t[W>>2]=Mk(A)|0;nw(3,106304,W)|0}ti(e,t[47286]|0,M,0);break}}}while(0);H=t[47286]|0;ci(e,b,H,M,r,dx(A,t[47166]|0,137308)|0)}G2(t[V>>2]|0);jF(e,10,t[(t[Y>>2]|0)+104>>2]|0);if(F){if(t[e+152>>2]&4|0)Tr(e,t[R>>2]|0,t[N+228>>2]|0,t[N+244>>2]|0,t[N+212>>2]|0);Or(e)}h=x;return}function FN(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;r=JN(A,a)|0;if(r|0)ii(e,r);r=t[47172]|0;if((r|0?(n=Pw(A,r)|0,n|0):0)?i[n>>0]|0:0)ui(e,+wx(A,t[47172]|0,1.0,0.0));h=f;return t[a>>2]|0}function MN(e){e=e|0;return xN(e,134800)|0}function VN(e,A){e=e|0;A=A|0;A=vx(A,t[47148]|0,195059)|0;A=i[A>>0]|0?A:137314;$r(e,A);return A|0}function NN(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0,f=0.0,l=0,s=0,o=0;r=h;h=h+96|0;l=r+80|0;s=r+64|0;i=r+32|0;o=r+16|0;n=r;A=t[A+16>>2]|0;a=+c[A+80>>3];c[o+8>>3]=a*.375;f=+c[A+96>>3];c[o>>3]=f*.6614;A=A+16|0;t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];RN(n,s,l);t[i>>2]=t[n>>2];t[i+4>>2]=t[n+4>>2];t[i+8>>2]=t[n+8>>2];t[i+12>>2]=t[n+12>>2];n=i+8|0;A=i+24|0;c[A>>3]=+c[n>>3];c[i+16>>3]=+c[i>>3]-f*1.3228;li(e,i,2);a=+c[n>>3]-a*.75;c[n>>3]=a;c[A>>3]=a;li(e,i,2);h=r;return}function RN(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function xN(e,A){e=e|0;A=A|0;var r=0;r=vx(e,t[47149]|0,195059)|0;if(!(i[r>>0]|0)){r=vx(e,t[47148]|0,195059)|0;return((i[r>>0]|0)==0?A:r)|0}else return r|0;return 0}function JN(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0;r=vx(e,t[47157]|0,195059)|0;e:do{if(!(i[r>>0]|0)){n=0;r=0}else{n=JB(r)|0;f=n;r=0;A:while(1){a=t[f>>2]|0;if(!a)break e;switch(i[a>>0]|0){case 102:{if(!(e1(a,111101)|0)){f=f+4|0;r=r|1;continue A}break}case 114:{if(!(e1(a,106316)|0)){a=f;do{s=a;a=a+4|0;l=t[a>>2]|0;t[s>>2]=l}while((l|0)!=0);s=f;r=r|4;f=s;continue A}if(!(e1(a,106334)|0)){a=f;do{l=a;a=a+4|0;s=t[a>>2]|0;t[l>>2]=s}while((s|0)!=0);s=f;r=r|3;f=s;continue A}break}case 100:{if(!(e1(a,106324)|0)){a=f;do{l=a;a=a+4|0;s=t[a>>2]|0;t[l>>2]=s}while((s|0)!=0);s=f;r=r|8;f=s;continue A}break}case 105:{if(!(e1(a,134335)|0)){f=f+4|0;r=r|32;continue A}break}case 115:{if((e1(a,106341)|0)==0?HN(e)|0:0){a=f;do{l=a;a=a+4|0;s=t[a>>2]|0;t[l>>2]=s}while((s|0)!=0);s=f;r=r|64;f=s;continue A}break}case 119:{if((e1(a,106349)|0)==0?PN(e)|0:0){a=f;do{l=a;a=a+4|0;s=t[a>>2]|0;t[l>>2]=s}while((s|0)!=0);s=f;r=r|512;f=s;continue A}break}default:{}}f=f+4|0}}}while(0);a=t[(t[(t[e+16>>2]|0)+8>>2]|0)+8>>2]|0;if(a)r=t[a+40>>2]|r;t[A>>2]=r;return n|0}function HN(e){e=e|0;var A=0.0;e=t[(t[(t[e+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((e|0)!=0?(t[e+8>>2]|0)==4:0)?(A=+c[e+16>>3],((~~(A+(A>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+c[e+24>>3]==0.0:0)e=+c[e+32>>3]==0.0&1;else e=0;return e|0}function PN(e){e=e|0;e=t[(t[(t[e+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!e)e=0;else e=(t[e+8>>2]|0)<3&1;return e|0}function XN(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0,n=0.0,f=0.0;f=+c[r+8>>3];n=-(+c[i+8>>3]-f);t=+c[r>>3];a=+c[i>>3]-t;t=a*f+t*n;return(+c[e+8>>3]*a+ +c[e>>3]*n-t>=0.0^+c[A>>3]*n-t+ +c[A+8>>3]*a>=0.0^1)&1|0}function SN(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0;z=h;h=h+192|0;Z=z+176|0;Q=z+160|0;o=z+144|0;C=z+128|0;I=z+112|0;u=z+96|0;b=z+80|0;w=z+64|0;p=z+48|0;E=z+32|0;B=z+16|0;L=z;if(!A){t[Q>>2]=0;t[Q+4>>2]=0;t[Q+8>>2]=0;t[Q+12>>2]=0;o=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1|0)==0;G=t[e+16>>2]|0;k=+c[G+80>>3]*.5;l=+c[G+88>>3];g=o?k:l;k=o?l:k;o=0;G=Q;l=0.0;s=-k;d=g;D=Q+8|0;v=0.0;g=-g}else{s=+c[A>>3];g=+c[A+8>>3];k=+c[A+16>>3];d=+c[A+24>>3];vN(o,(k+s)*.5,(d+g)*.5);t[Q>>2]=t[o>>2];t[Q+4>>2]=t[o+4>>2];t[Q+8>>2]=t[o+8>>2];t[Q+12>>2]=t[o+12>>2];W=Q+8|0;o=1;G=Q;l=+c[Q>>3];D=W;v=+c[W>>3]}m=(k>d?k:d)*4.0;e:do{if((a|0)!=0?(y=i[a>>0]|0,y<<24>>24!=0):0){a=a+1|0;switch(y<<24>>24|0){case 99:{w=1;n=0;a=0;u=0;l=0.0;b=0;break e}case 101:{if(i[a>>0]|0){w=1;n=0;a=0;u=0;l=0.0;b=1;break e}if(!f)c[G>>3]=k;else{UN(C,f,v,m);t[Q>>2]=t[C>>2];t[Q+4>>2]=t[C+4>>2];t[Q+8>>2]=t[C+8>>2];t[Q+12>>2]=t[C+12>>2]}w=0;n=n&2;a=0;u=1;l=0.0;b=0;o=1;break e}case 115:{c[D>>3]=g;switch(i[a>>0]|0){case 0:{if(!f)c[G>>3]=l;else{UN(I,f,-m,l);t[Q>>2]=t[I>>2];t[Q+4>>2]=t[I+4>>2];t[Q+8>>2]=t[I+8>>2];t[Q+12>>2]=t[I+12>>2]}w=0;n=n&1;a=0;u=1;l=-1.5707963267948966;b=0;o=1;break e}case 101:{if(!f)c[G>>3]=k;else{UN(u,f,-m,m);t[Q>>2]=t[u>>2];t[Q+4>>2]=t[u+4>>2];t[Q+8>>2]=t[u+8>>2];t[Q+12>>2]=t[u+12>>2]}w=0;n=n&3;a=0;u=1;l=-.7853981633974483;b=0;o=1;break e}case 119:{if(!f)c[G>>3]=s;else{m=-m;UN(b,f,m,m);t[Q>>2]=t[b>>2];t[Q+4>>2]=t[b+4>>2];t[Q+8>>2]=t[b+8>>2];t[Q+12>>2]=t[b+12>>2]}w=0;n=n&9;a=0;u=1;l=-2.356194490192345;b=0;o=1;break e}default:{c[D>>3]=v;w=1;n=0;a=0;u=0;l=0.0;b=1;break e}}}case 119:{if(i[a>>0]|0){w=1;n=0;a=0;u=0;l=0.0;b=1;break e}if(!f)c[G>>3]=s;else{UN(w,f,v,-m);t[Q>>2]=t[w>>2];t[Q+4>>2]=t[w+4>>2];t[Q+8>>2]=t[w+8>>2];t[Q+12>>2]=t[w+12>>2]}w=0;n=n&8;a=0;u=1;l=3.141592653589793;b=0;o=1;break e}case 110:{c[D>>3]=d;switch(i[a>>0]|0){case 0:{if(!f)c[G>>3]=l;else{UN(p,f,m,l);t[Q>>2]=t[p>>2];t[Q+4>>2]=t[p+4>>2];t[Q+8>>2]=t[p+8>>2];t[Q+12>>2]=t[p+12>>2]}w=0;n=n&4;a=0;u=1;l=1.5707963267948966;b=0;o=1;break e}case 101:{if(!f)c[G>>3]=k;else{UN(E,f,m,m);t[Q>>2]=t[E>>2];t[Q+4>>2]=t[E+4>>2];t[Q+8>>2]=t[E+8>>2];t[Q+12>>2]=t[E+12>>2]}w=0;n=n&6;a=0;u=1;l=.7853981633974483;b=0;o=1;break e}case 119:{if(!f)c[G>>3]=s;else{UN(B,f,m,-m);t[Q>>2]=t[B>>2];t[Q+4>>2]=t[B+4>>2];t[Q+8>>2]=t[B+8>>2];t[Q+12>>2]=t[B+12>>2]}w=0;n=n&12;a=0;u=1;l=2.356194490192345;b=0;o=1;break e}default:{c[D>>3]=v;w=1;n=0;a=0;u=0;l=0.0;b=1;break e}}}case 95:{w=1;a=1;u=0;l=0.0;b=0;break e}default:{w=1;n=0;a=0;u=0;l=0.0;b=1;break e}}}else{w=1;n=0;a=0;u=0;l=0.0;b=0}}while(0);W=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)*90|0;t[Z>>2]=t[Q>>2];t[Z+4>>2]=t[Q+4>>2];t[Z+8>>2]=t[Q+8>>2];t[Z+12>>2]=t[Q+12>>2];GF(L,Z,W);t[Q>>2]=t[L>>2];t[Q+4>>2]=t[L+4>>2];t[Q+8>>2]=t[L+8>>2];t[Q+12>>2]=t[L+12>>2];if(!(a<<24>>24))n=TN(n,t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)|0;i[r+33>>0]=n;t[r+24>>2]=A;s=+c[G>>3];c[r>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+c[D>>3];c[r+8>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);c[r+16>>3]=+ON(l,t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3);s=+c[G>>3];l=+c[D>>3];if(s==0.0&l==0.0)n=-128;else{m=+R(+l,+s);g=m+4.71238898038469;n=~~((!(g>=6.283185307179586)?g:m+-1.5707963267948966)*40.74366543152521)&255}i[r+32>>0]=n;i[r+29>>0]=u;i[r+28>>0]=o;i[r+30>>0]=w;i[r+31>>0]=a;h=z;return b|0}function jN(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=Mk(e)|0;t[i+4>>2]=A;nw(0,106419,i)|0;h=r;return}function UN(e,A,r,i){e=e|0;A=A|0;r=+r;i=+i;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+128|0;n=w+112|0;l=w+48|0;s=w+16|0;o=w+32|0;u=w;b=t[A>>2]|0;f=t[(t[(Bd(b)|0)+16>>2]|0)+116>>2]&3;c[s>>3]=i;c[s+8>>3]=r;a=(f|0)!=0;if(a){t[n>>2]=t[s>>2];t[n+4>>2]=t[s+4>>2];t[n+8>>2]=t[s+8>>2];t[n+12>>2]=t[s+12>>2];GF(o,n,f*90|0);t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2]}o=l+48|0;k=l+32|0;t[l>>2]=0;t[l+4>>2]=0;t[l+8>>2]=0;t[l+12>>2]=0;t[l+16>>2]=0;t[l+20>>2]=0;t[l+24>>2]=0;t[l+28>>2]=0;t[k>>2]=t[s>>2];t[k+4>>2]=t[s+4>>2];t[k+8>>2]=t[s+8>>2];t[k+12>>2]=t[s+12>>2];t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];kR(A,t[(t[(t[(t[b+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,l,1);if(a){t[n>>2]=t[l>>2];t[n+4>>2]=t[l+4>>2];t[n+8>>2]=t[l+8>>2];t[n+12>>2]=t[l+12>>2];LF(u,n,f*90|0);t[l>>2]=t[u>>2];t[l+4>>2]=t[u+4>>2];t[l+8>>2]=t[u+8>>2];t[l+12>>2]=t[u+12>>2]}t[e>>2]=t[l>>2];t[e+4>>2]=t[l+4>>2];t[e+8>>2]=t[l+8>>2];t[e+12>>2]=t[l+12>>2];h=w;return}function TN(e,A){e=e|0;A=A|0;e:do{switch(A|0){case 3:switch(e|0){case 4:{e=2;break e}case 1:{e=8;break e}case 8:{e=1;break e}case 2:{e=4;break e}default:break e}case 2:switch(e|0){case 4:{e=1;break e}case 1:{e=4;break e}default:break e}case 1:switch(e|0){case 4:{e=2;break e}case 1:{e=8;break e}case 8:{e=4;break e}case 2:{e=1;break e}default:break e}default:{}}}while(0);return e|0}function ON(e,A){e=+e;A=A|0;switch(A|0){case 3:{if(!(e==3.141592653589793))if(!(e==2.356194490192345))if(!(e==1.5707963267948966))if(!(e==0.0))if(!(e==-.7853981633974483)){if(e==-1.5707963267948966)e=3.141592653589793}else e=2.356194490192345;else e=1.5707963267948966;else e=0.0;else e=-.7853981633974483;else e=-1.5707963267948966;break}case 2:{e=-e;break}case 1:{e=e+-1.5707963267948966;break}default:{}}return+e}function _N(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,n=0.0,f=0,l=0,s=0;i=h;h=h+32|0;s=i+16|0;f=i;e=t[e>>2]|0;l=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)*90|0;t[s>>2]=t[A>>2];t[s+4>>2]=t[A+4>>2];t[s+8>>2]=t[A+8>>2];t[s+12>>2]=t[A+12>>2];LF(f,s,l);r=+c[f>>3];n=+c[f+8>>3];e=t[e+16>>2]|0;a=+c[e+80>>3]*.5;if(!(!(n>=-a)|!(n<=a))?r>=-+c[e+88>>3]:0)e=r<=+c[e+96>>3]&1;else e=0;h=i;return e|0}function qN(e,A){e=e|0;A=A|0;var r=0,i=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0.0;u=h;h=h+32|0;o=u;f=t[e+16>>2]|0;l=f+208|0;n=t[l>>2]|0;if(!n)s=(a[f+260>>1]&1)!=0;else s=1;r=A+16|0;A=t[r>>2]|0;i=t[A+12>>2]|0;if(i|0){if(s?(t[e+152>>2]&4|0)==0:0){Tr(e,n,t[f+228>>2]|0,t[f+244>>2]|0,t[f+212>>2]|0);A=t[r>>2]|0}n=t[e+36>>2]|0;w=+c[A+24>>3]+ +(t[i+8>>2]|0);b=t[i>>2]|0;c[o>>3]=+c[A+16>>3]+ +(t[i+4>>2]|0);c[o+8>>3]=w;t[o+16>>2]=b;a3(n,106450,o)|0;n=t[r>>2]|0;o=(t[n+104>>2]|0)+56|0;n=n+16|0;t[o>>2]=t[n>>2];t[o+4>>2]=t[n+4>>2];t[o+8>>2]=t[n+8>>2];t[o+12>>2]=t[n+12>>2];jF(e,10,t[(t[r>>2]|0)+104>>2]|0);if(s){if(t[e+152>>2]&4|0)Tr(e,t[l>>2]|0,t[f+228>>2]|0,t[f+244>>2]|0,t[f+212>>2]|0);Or(e)}}h=u;return}function KN(e){e=e|0;pN(t[(t[e+16>>2]|0)+12>>2]|0);return}function $N(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;o=h;h=h+64|0;c=o+40|0;f=o;if(!(i[r>>0]|0)){f=4208;a=e+40|0;do{t[e>>2]=t[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0))}else{a=(a|0)==0?106356:a;l=t[(t[A+16>>2]|0)+12>>2]|0;s=tR(l,r)|0;if(!s){if(SN(A,l+16|0,f,r,15,0)|0)jN(A,r)}else if(SN(A,s+16|0,f,a,n[s+65>>0]|0,0)|0){t[c>>2]=Mk(A)|0;t[c+4>>2]=r;t[c+8>>2]=a;nw(0,106358,c)|0}a=e+40|0;do{t[e>>2]=t[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0))}h=o;return}function eR(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0,f=0,l=0.0,s=0,o=0,u=0.0;s=h;h=h+32|0;o=s+16|0;f=s;a=t[e+4>>2]|0;e=t[e>>2]|0;n=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)*90|0;t[o>>2]=t[A>>2];t[o+4>>2]=t[A+4>>2];t[o+8>>2]=t[A+8>>2];t[o+12>>2]=t[A+12>>2];LF(f,o,n);t[A>>2]=t[f>>2];t[A+4>>2]=t[f+4>>2];t[A+8>>2]=t[f+8>>2];t[A+12>>2]=t[f+12>>2];if(!a){a=t[(t[e+16>>2]|0)+12>>2]|0;n=a+16|0;e=a+24|0;f=a+32|0;a=a+40|0}else{n=a;e=a+8|0;f=a+16|0;a=a+24|0}i=+c[e>>3];r=+c[a>>3];u=+c[A>>3];if((+c[n>>3]<=u?u<=+c[f>>3]:0)?(l=+c[A+8>>3],i<=l):0)e=l<=r&1;else e=0;h=s;return e|0}function AR(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0,m=0,p=0.0;m=h;h=h+80|0;d=m+64|0;k=m+32|0;g=m;e:do{if(!(i[A+28>>0]|0))r=0;else{f=+c[A>>3];w=e+16|0;o=t[(t[w>>2]|0)+12>>2]|0;s=o+48|0;o=o+56|0;A=0;while(1){if((A|0)>=(t[s>>2]|0))break e;u=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1|0)==0;b=t[(t[o>>2]|0)+(A<<2)>>2]|0;l=+(~~+c[(u?b+16|0:b+24|0)>>3]|0);if(f>=l?(v=+(~~+c[(u?b+32|0:b+40|0)>>3]|0),f<=v):0)break;A=A+1|0}if(!(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1)){g=t[w>>2]|0;p=+c[g+16>>3];c[a>>3]=p+l;l=+c[g+24>>3];f=+c[g+80>>3];c[a+8>>3]=l-f*.5;c[a+16>>3]=p+v}else{b=(t[(t[o>>2]|0)+(A<<2)>>2]|0)+16|0;e=(t[w>>2]|0)+16|0;t[k>>2]=t[b>>2];t[k+4>>2]=t[b+4>>2];t[k+8>>2]=t[b+8>>2];t[k+12>>2]=t[b+12>>2];t[k+16>>2]=t[b+16>>2];t[k+20>>2]=t[b+20>>2];t[k+24>>2]=t[b+24>>2];t[k+28>>2]=t[b+28>>2];t[d>>2]=t[e>>2];t[d+4>>2]=t[e+4>>2];t[d+8>>2]=t[e+8>>2];t[d+12>>2]=t[e+12>>2];QF(g,k,d);t[a>>2]=t[g>>2];t[a+4>>2]=t[g+4>>2];t[a+8>>2]=t[g+8>>2];t[a+12>>2]=t[g+12>>2];t[a+16>>2]=t[g+16>>2];t[a+20>>2]=t[g+20>>2];t[a+24>>2]=t[g+24>>2];t[a+28>>2]=t[g+28>>2];g=t[w>>2]|0;f=+c[g+80>>3];l=+c[g+24>>3]}c[a+24>>3]=f*.5+l;t[n>>2]=1}}while(0);h=m;return r|0}function rR(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0.0;E=h;h=h+144|0;u=E+96|0;w=E+64|0;d=E;v=E+128|0;g=t[e+16>>2]|0;m=g+208|0;r=t[m>>2]|0;if(!r)p=(a[g+260>>1]&1)!=0;else p=1;o=A+16|0;k=t[o>>2]|0;b=t[k+12>>2]|0;f=b+16|0;t[w>>2]=t[f>>2];t[w+4>>2]=t[f+4>>2];t[w+8>>2]=t[f+8>>2];t[w+12>>2]=t[f+12>>2];t[w+16>>2]=t[f+16>>2];t[w+20>>2]=t[f+20>>2];t[w+24>>2]=t[f+24>>2];t[w+28>>2]=t[f+28>>2];B=+c[k+16>>3];c[w>>3]=+c[w>>3]+B;l=+c[k+24>>3];k=w+8|0;c[k>>3]=+c[k>>3]+l;k=w+16|0;c[k>>3]=+c[k>>3]+B;f=w+24|0;c[f>>3]=+c[f>>3]+l;if(p?(t[e+152>>2]&4|0)==0:0)Tr(e,r,t[g+228>>2]|0,t[g+244>>2]|0,t[g+212>>2]|0);r=FN(e,A)|0;VN(e,A)|0;t[v>>2]=0;if(!(r&1))n=0;else{n=MN(A)|0;if(!((KY(n,v,u)|0)<<24>>24)){Ai(e,n);n=1}else{Ai(e,t[v>>2]|0);n=t[v+4>>2]|0;f=hx(A,t[47173]|0,0,0)|0;l=+s[u>>2];if(!n)ri(e,137314,f,l);else ri(e,n,f,l);n=r>>>1&1|2}}f=t[t[(t[o>>2]|0)+8>>2]>>2]|0;if((i[f>>0]|0)==77){o=(e1(f,106227)|0)==0;r=o?r|4:r}if(!(r&2130706444)){t[u>>2]=t[w>>2];t[u+4>>2]=t[w+4>>2];t[u+8>>2]=t[w+8>>2];t[u+12>>2]=t[w+12>>2];t[u+16>>2]=t[w+16>>2];t[u+20>>2]=t[w+20>>2];t[u+24>>2]=t[w+24>>2];t[u+28>>2]=t[w+28>>2];ni(e,u,n)}else{t[d>>2]=t[w>>2];t[d+4>>2]=t[w+4>>2];t[d+8>>2]=t[w+8>>2];t[d+12>>2]=t[w+12>>2];w=d+32|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];c[d+16>>3]=+c[w>>3];c[d+24>>3]=+c[d+8>>3];c[d+48>>3]=+c[d>>3];c[d+56>>3]=+c[d+40>>3];lN(e,d,4,r,n)}iR(e,A,b);G2(t[v>>2]|0);if(p){if(t[e+152>>2]&4|0)Tr(e,t[m>>2]|0,t[g+228>>2]|0,t[g+244>>2]|0,t[g+212>>2]|0);Or(e)}h=E;return}function iR(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+144|0;w=m+128|0;b=m+112|0;k=m+16|0;d=m;n=m+96|0;f=m+80|0;v=m+64|0;g=m+48|0;l=r+52|0;a=t[l>>2]|0;if(!a)a=A+16|0;else{u=a+56|0;o=r+16|0;a=r+32|0;t[b>>2]=t[o>>2];t[b+4>>2]=t[o+4>>2];t[b+8>>2]=t[o+8>>2];t[b+12>>2]=t[o+12>>2];t[w>>2]=t[a>>2];t[w+4>>2]=t[a+4>>2];t[w+8>>2]=t[a+8>>2];t[w+12>>2]=t[a+12>>2];aR(n,b,w);a=A+16|0;o=(t[a>>2]|0)+16|0;t[b>>2]=t[n>>2];t[b+4>>2]=t[n+4>>2];t[b+8>>2]=t[n+8>>2];t[b+12>>2]=t[n+12>>2];t[w>>2]=t[o>>2];t[w+4>>2]=t[o+4>>2];t[w+8>>2]=t[o+8>>2];t[w+12>>2]=t[o+12>>2];RN(f,b,w);t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[u+8>>2]=t[f+8>>2];t[u+12>>2]=t[f+12>>2];jF(e,10,t[l>>2]|0);VN(e,A)|0}s=(t[a>>2]|0)+16|0;t[d>>2]=t[s>>2];t[d+4>>2]=t[s+4>>2];t[d+8>>2]=t[s+8>>2];t[d+12>>2]=t[s+12>>2];s=r+48|0;o=r+64|0;u=k+16|0;l=r+56|0;r=k+16|0;f=0;while(1){if((f|0)>=(t[s>>2]|0))break;if((f|0)>0){a=(t[l>>2]|0)+(f<<2)|0;n=t[a>>2]|0;if(!(i[o>>0]|0)){n=n+32|0;t[u>>2]=t[n>>2];t[u+4>>2]=t[n+4>>2];t[u+8>>2]=t[n+8>>2];t[u+12>>2]=t[n+12>>2];c[k>>3]=+c[(t[a>>2]|0)+16>>3];a=u;n=0}else{n=n+16|0;t[k>>2]=t[n>>2];t[k+4>>2]=t[n+4>>2];t[k+8>>2]=t[n+8>>2];t[k+12>>2]=t[n+12>>2];c[r>>3]=+c[k>>3];a=(t[a>>2]|0)+32|0;n=1}c[k+(n<<4)+8>>3]=+c[a+8>>3];t[b>>2]=t[k>>2];t[b+4>>2]=t[k+4>>2];t[b+8>>2]=t[k+8>>2];t[b+12>>2]=t[k+12>>2];t[w>>2]=t[d>>2];t[w+4>>2]=t[d+4>>2];t[w+8>>2]=t[d+8>>2];t[w+12>>2]=t[d+12>>2];RN(v,b,w);t[k>>2]=t[v>>2];t[k+4>>2]=t[v+4>>2];t[k+8>>2]=t[v+8>>2];t[k+12>>2]=t[v+12>>2];t[b>>2]=t[u>>2];t[b+4>>2]=t[u+4>>2];t[b+8>>2]=t[u+8>>2];t[b+12>>2]=t[u+12>>2];t[w>>2]=t[d>>2];t[w+4>>2]=t[d+4>>2];t[w+8>>2]=t[d+8>>2];t[w+12>>2]=t[d+12>>2];RN(g,b,w);t[u>>2]=t[g>>2];t[u+4>>2]=t[g+4>>2];t[u+8>>2]=t[g+8>>2];t[u+12>>2]=t[g+12>>2];li(e,k,2)}iR(e,A,t[(t[l>>2]|0)+(f<<2)>>2]|0);f=f+1|0}h=m;return}function aR(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=(+c[r+8>>3]+ +c[A+8>>3])*.5;c[e>>3]=(+c[r>>3]+ +c[A>>3])*.5;c[e+8>>3]=i;return}function tR(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;r=t[e+60>>2]|0;if(!(((r|0)!=0?(i[r>>0]|0)==(i[A>>0]|0):0)?(e1(r,A)|0)==0:0))a=4;e:do{if((a|0)==4){n=e+56|0;a=t[e+48>>2]|0;r=0;while(1){if((r|0)>=(a|0)){e=0;break e}e=tR(t[(t[n>>2]|0)+(r<<2)>>2]|0,A)|0;if(!e)r=r+1|0;else break}}}while(0);return e|0}function nR(e,A){e=e|0;A=A|0;var r=0;r=A+8|0;c[r>>3]=+c[r>>3]*1.375;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];return}function fR(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0;s=+c[A>>3];a=s*.5;u=+c[A+8>>3];f=u*.5;c[e>>3]=a;i=u*.40909090909090906;c[e+8>>3]=i;c[e+16>>3]=a;n=u*.4592530909090909;c[e+24>>3]=n;l=s*.275892;c[e+32>>3]=l;c[e+40>>3]=f;c[e+48>>3]=0.0;c[e+56>>3]=f;s=s*-.275892;c[e+64>>3]=s;c[e+72>>3]=f;o=-a;c[e+80>>3]=o;c[e+88>>3]=n;r=e+96|0;c[r>>3]=o;c[e+104>>3]=i;A=e+112|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];A=e+128|0;c[A>>3]=o;c[e+136>>3]=u*-.40909090909090906;r=e+144|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];c[e+160>>3]=o;n=-n;c[e+168>>3]=n;c[e+176>>3]=s;f=-f;c[e+184>>3]=f;c[e+192>>3]=0.0;c[e+200>>3]=f;c[e+208>>3]=l;c[e+216>>3]=f;c[e+224>>3]=a;c[e+232>>3]=n;r=e+240|0;c[r>>3]=a;c[e+248>>3]=-i;A=e+256|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];A=e+288|0;r=e+272|0;t[r>>2]=t[e>>2];t[r+4>>2]=t[e+4>>2];t[r+8>>2]=t[e+8>>2];t[r+12>>2]=t[e+12>>2];t[A>>2]=t[e>>2];t[A+4>>2]=t[e+4>>2];t[A+8>>2]=t[e+8>>2];t[A+12>>2]=t[e+12>>2];return}function lR(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0;B=h;h=h+144|0;m=B+112|0;g=B+96|0;p=B+80|0;v=B+64|0;E=B+32|0;k=B+16|0;d=B;n=B+48|0;do{if(e){l=t[e+4>>2]|0;s=t[e>>2]|0;b=(t[(t[(Bd(s)|0)+16>>2]|0)+116>>2]&3)*90|0;t[m>>2]=t[A>>2];t[m+4>>2]=t[A+4>>2];t[m+8>>2]=t[A+8>>2];t[m+12>>2]=t[A+12>>2];LF(n,m,b);t[E>>2]=t[n>>2];t[E+4>>2]=t[n+4>>2];t[E+8>>2]=t[n+8>>2];t[E+12>>2]=t[n+12>>2];if(l|0){r=+c[E>>3];if(!(+c[l>>3]<=r)){e=0;break}if(!(r<=+c[l+16>>3])){e=0;break}r=+c[E+8>>3];if(!(+c[l+8>>3]<=r)){e=0;break}e=r<=+c[l+24>>3];break}if((s|0)==(t[47292]|0)){r=+c[23309];i=+c[23310];f=+c[23311]}else{e=s+16|0;A=t[(t[e>>2]|0)+12>>2]|0;t[47293]=A;t[47294]=t[A+44>>2];t[47295]=t[A+8>>2];if(!(t[A+40>>2]&2048)){u=(t[(t[(Bd(s)|0)+16>>2]|0)+116>>2]&1|0)==0;b=t[e>>2]|0;c[(u?186496:186504)>>3]=+c[b+96>>3]+ +c[b+88>>3];c[(u?186504:186496)>>3]=+c[b+80>>3];f=+c[b+32>>3]*72.0;a=+c[b+40>>3]*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);f=+(~~(f+(f>=0.0?.5:-.5))|0)}else{Jx(m,A);f=+c[m+16>>3]-+c[m>>3];a=+c[m+24>>3]-+c[m+8>>3];b=(t[(t[(Bd(s)|0)+16>>2]|0)+116>>2]&1|0)==0;c[(b?186496:186504)>>3]=f;c[(b?186504:186496)>>3]=a}r=+c[23312];if(r==0.0){c[23312]=1.0;r=1.0}i=+c[23313];if(i==0.0){c[23313]=1.0;i=1.0}r=f/r;c[23309]=r;i=a/i;c[23310]=i;f=f*.5;c[23311]=f;c[23314]=a*.5;b=P((t[(t[47293]|0)+4>>2]|0)+-1|0,t[47295]|0)|0;t[47296]=(b|0)>0?b:0;t[47292]=s}a=+c[E>>3]*r;c[E>>3]=a;b=E+8|0;r=+c[b>>3]*i;c[b>>3]=r;if(!(+Q(+a)>f)?(i=+Q(+r),w=+c[23314],!(i>w)):0){b=t[47295]|0;if((b|0)<3){e=+g1(a/f,r/w)<1.0;break}A=(t[47297]|0)%(b|0)|0;e=(A+1|0)%(b|0)|0;s=t[47294]|0;o=t[47296]|0;u=s+(o+A<<4)|0;t[k>>2]=t[u>>2];t[k+4>>2]=t[u+4>>2];t[k+8>>2]=t[u+8>>2];t[k+12>>2]=t[u+12>>2];u=s+(o+e<<4)|0;t[d>>2]=t[u>>2];t[d+4>>2]=t[u+4>>2];t[d+8>>2]=t[u+8>>2];t[d+12>>2]=t[u+12>>2];t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[p>>2]=t[46630];t[p+4>>2]=t[46631];t[p+8>>2]=t[46632];t[p+12>>2]=t[46633];t[g>>2]=t[k>>2];t[g+4>>2]=t[k+4>>2];t[g+8>>2]=t[k+8>>2];t[g+12>>2]=t[k+12>>2];t[m>>2]=t[u>>2];t[m+4>>2]=t[u+4>>2];t[m+8>>2]=t[u+8>>2];t[m+12>>2]=t[u+12>>2];if(XN(v,p,g,m)|0){t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[p>>2]=t[k>>2];t[p+4>>2]=t[k+4>>2];t[p+8>>2]=t[k+8>>2];t[p+12>>2]=t[k+12>>2];t[g>>2]=t[d>>2];t[g+4>>2]=t[d+4>>2];t[g+8>>2]=t[d+8>>2];t[g+12>>2]=t[d+12>>2];t[m>>2]=t[46630];t[m+4>>2]=t[46631];t[m+8>>2]=t[46632];t[m+12>>2]=t[46633];u=(XN(v,p,g,m)|0)!=0;if(u?(t[v>>2]=t[E>>2],t[v+4>>2]=t[E+4>>2],t[v+8>>2]=t[E+8>>2],t[v+12>>2]=t[E+12>>2],t[p>>2]=t[d>>2],t[p+4>>2]=t[d+4>>2],t[p+8>>2]=t[d+8>>2],t[p+12>>2]=t[d+12>>2],t[g>>2]=t[46630],t[g+4>>2]=t[46631],t[g+8>>2]=t[46632],t[g+12>>2]=t[46633],t[m>>2]=t[k>>2],t[m+4>>2]=t[k+4>>2],t[m+8>>2]=t[k+8>>2],t[m+12>>2]=t[k+12>>2],(XN(v,p,g,m)|0)!=0):0){e=1;break}else{l=A;A=1}while(1){if((A|0)>=(b|0)){A=31;break}if(u){n=e;e=(e+1|0)%(b|0)|0}else{n=(l+-1+b|0)%(b|0)|0;e=l}k=s+(o+n<<4)|0;d=s+(o+e<<4)|0;t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];t[p>>2]=t[46630];t[p+4>>2]=t[46631];t[p+8>>2]=t[46632];t[p+12>>2]=t[46633];t[g>>2]=t[k>>2];t[g+4>>2]=t[k+4>>2];t[g+8>>2]=t[k+8>>2];t[g+12>>2]=t[k+12>>2];t[m>>2]=t[d>>2];t[m+4>>2]=t[d+4>>2];t[m+8>>2]=t[d+8>>2];t[m+12>>2]=t[d+12>>2];if(!(XN(v,p,g,m)|0)){A=30;break}else{l=n;A=A+1|0}}if((A|0)==30){t[47297]=n;e=0;break}else if((A|0)==31){t[47297]=l;e=1;break}}else e=0}else e=0}else{t[47292]=0;e=0}}while(0);h=B;return e&1|0}function sR(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0.0,f=0,l=0,s=0;l=h;h=h+32|0;a=l+16|0;f=l;if(e){e=t[e>>2]|0;s=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&3)*90|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];LF(f,a,s);n=+c[f>>3];i=+c[f+8>>3];if((e|0)==(t[47300]|0))r=+c[23317];else{f=t[(t[e+16>>2]|0)+12>>2]|0;s=(t[f+4>>2]<<1)+-2|0;r=+c[(t[f+44>>2]|0)+((((s|0)>0?s:0)|1)<<4)>>3];c[23317]=r;t[47300]=e}if(+Q(+n)>r|+Q(+i)>r)e=0;else e=+g1(n,i)<=r&1}else{t[47300]=0;e=0}h=l;return e|0}function cR(e,A){e=e|0;A=A|0;var r=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0.0,p=0,E=0;g=h;h=h+16|0;l=g;d=t[e+16>>2]|0;v=d+208|0;r=t[v>>2]|0;if((r|0)==0?(a[d+260>>1]&1)==0:0)k=0;else if(!(t[e+152>>2]&4)){Tr(e,r,t[d+228>>2]|0,t[d+244>>2]|0,t[d+212>>2]|0);k=1}else k=1;u=A+16|0;s=t[(t[u>>2]|0)+12>>2]|0;b=t[s+44>>2]|0;w=t[s+8>>2]|0;s=t[s+4>>2]|0;if((t[47298]|0)<(w|0)){r=w+2|0;t[47298]=r;f=t[47299]|0;if(!f)r=$F(r<<4)|0;else r=AM(f,r<<4)|0;t[47299]=r}JN(A,l)|0;if(!(t[l>>2]&32))ii(e,22020);else ii(e,22016);r=t[47172]|0;if(r|0)ui(e,+wx(A,r,1.0,0.0));r=n[(t[u>>2]|0)+117>>0]|0;do{if(!(r&1)){if(r&2|0){$r(e,vx(A,0,106256)|0);r=vx(A,0,106264)|0;Ai(e,r);break}if(r&8|0){$r(e,vx(A,0,106272)|0);r=vx(A,0,106280)|0;Ai(e,r);break}if(!(r&4)){r=xN(A,137314)|0;Ai(e,r);VN(e,A)|0;break}else{$r(e,vx(A,0,106288)|0);r=vx(A,0,106296)|0;Ai(e,r);break}}else{$r(e,vx(A,0,106240)|0);r=vx(A,0,106248)|0;Ai(e,r)}}while(0);if(!s)if(!(i[r>>0]|0))f=1;else{$r(e,r);f=1}else f=s;l=1;A=0;while(1){if((A|0)>=(f|0))break;s=P(A,w)|0;o=t[47299]|0;r=0;while(1){if((r|0)>=(w|0))break;E=r+s|0;m=+c[b+(E<<4)+8>>3];p=t[u>>2]|0;c[o+(r<<4)>>3]=+c[p+16>>3]+ +c[b+(E<<4)>>3];c[o+(r<<4)+8>>3]=+c[p+24>>3]+m;r=r+1|0}ai(e,o,w,l);l=0;A=A+1|0}if(k){if(t[e+152>>2]&4|0)Tr(e,t[v>>2]|0,t[d+228>>2]|0,t[d+244>>2]|0,t[d+212>>2]|0);Or(e)}h=g;return}function oR(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,f=0;a=h;h=h+48|0;f=a;r=uR(A,r,i)|0;t[f+36>>2]=t[i+36>>2];SN(A,t[i+24>>2]|0,f,r,n[i+33>>0]|0,0)|0;A=f;r=e+40|0;do{t[e>>2]=t[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(r|0));h=a;return}function uR(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0.0,l=0.0,s=0,o=0.0,u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0,G=0;C=h;h=h+32|0;y=C;n=C+24|0;s=C+16|0;B=t[(t[(t[(Bd(e)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;a=e+16|0;E=(t[a>>2]|0)+16|0;t[y>>2]=t[E>>2];t[y+4>>2]=t[E+4>>2];t[y+8>>2]=t[E+8>>2];t[y+12>>2]=t[E+12>>2];bR(n,y,B);E=(t[A+16>>2]|0)+16|0;t[y>>2]=t[E>>2];t[y+4>>2]=t[E+4>>2];t[y+8>>2]=t[E+8>>2];t[y+12>>2]=t[E+12>>2];bR(s,y,B);B=i[r+33>>0]|0;y=B&255;e:do{switch(B<<24>>24){case 0:case 15:{A=0;break}default:{A=t[r+24>>2]|0;if(!A){B=(t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1|0)==0;E=t[a>>2]|0;Z=+c[E+80>>3]*.5;I=-Z;o=+c[E+88>>3];l=-o;u=B?l:I;f=B?o:Z;o=B?Z:o;l=B?I:l}else{u=+c[A>>3];f=+c[A+16>>3];o=+c[A+24>>3];l=+c[A+8>>3]}B=t[n>>2]|0;p=t[n+4>>2]|0;E=t[s>>2]|0;v=t[s+4>>2]|0;g=~~l;m=~~((f+u)*.5);d=~~f;k=~~((o+l)*.5);w=~~o;b=~~u;n=0;s=0;A=0;r=0;e=0;while(1){if((s|0)==4)break e;if(1<>2]|0;else a=n}else a=n;n=a;s=s+1|0}}}}while(0);h=C;return A|0}function bR(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;switch(r|0){case 0:{a=+c[A>>3];i=+c[A+8>>3];break}case 2:{a=+c[A>>3];i=-+c[A+8>>3];break}case 1:{a=-+c[A+8>>3];i=+c[A>>3];break}case 3:{a=+c[A+8>>3];i=+c[A>>3];break}default:{a=0.0;i=0.0}}t[e>>2]=~~(a+(a>=0.0?.5:-.5));t[e+4>>2]=~~(i+(i>=0.0?.5:-.5));return}function hR(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+80|0;a=l+40|0;f=l;n=e+16|0;r=t[n>>2]|0;A=r+16|0;if(i[r+47>>0]|0){r=t[e>>2]&3;oR(a,t[((r|0)==3?e:e+48|0)+40>>2]|0,t[((r|0)==2?e:e+-48|0)+40>>2]|0,A);r=a;a=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(a|0));r=t[n>>2]|0}A=r+56|0;if(i[r+87>>0]|0){r=t[e>>2]&3;oR(f,t[((r|0)==2?e:e+-48|0)+40>>2]|0,t[((r|0)==3?e:e+48|0)+40>>2]|0,A);r=f;a=A+40|0;do{t[A>>2]=t[r>>2];A=A+4|0;r=r+4|0}while((A|0)<(a|0))}h=l;return}function wR(){var e=0,A=0,r=0;e=h;h=h+32|0;A=e+16|0;r=e;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;t[r+12>>2]=0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];lR(0,A)|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];sR(0,A)|0;t[A>>2]=t[r>>2];t[A+4>>2]=t[r+4>>2];t[A+8>>2]=t[r+8>>2];t[A+12>>2]=t[r+12>>2];zN(0,A)|0;h=e;return}function kR(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0.0,k=0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;C=h;h=h+192|0;v=C+176|0;B=C+112|0;y=C+48|0;g=C+32|0;m=C+24|0;p=C+16|0;E=C;if(!(i<<24>>24)){s=r+48|0;t[g>>2]=t[s>>2];t[g+4>>2]=t[s+4>>2];t[g+8>>2]=t[s+8>>2];t[g+12>>2]=t[s+12>>2];s=m;o=p;u=B;b=0}else{t[g>>2]=t[r>>2];t[g+4>>2]=t[r+4>>2];t[g+8>>2]=t[r+8>>2];t[g+12>>2]=t[r+12>>2];s=p;o=m;u=0;b=B}c[m>>3]=0.0;c[p>>3]=1.0;k=g+8|0;a=0.0;n=1.0;l=0;w=+c[g>>3];while(1){d=+c[k>>3];a=(a+n)*.5;Zx(E,r,3,a,u,b);t[g>>2]=t[E>>2];t[g+4>>2]=t[E+4>>2];t[g+8>>2]=t[E+8>>2];t[g+12>>2]=t[E+12>>2];t[v>>2]=t[E>>2];t[v+4>>2]=t[E+4>>2];t[v+8>>2]=t[E+8>>2];t[v+12>>2]=t[E+12>>2];e:do{if(!((Z5[A&127](e,v)|0)<<24>>24)){i=0;while(1){if((i|0)==4){i=s;l=1;break e}l=y+(i<<4)|0;I=B+(i<<4)|0;t[l>>2]=t[I>>2];t[l+4>>2]=t[I+4>>2];t[l+8>>2]=t[I+8>>2];t[l+12>>2]=t[I+12>>2];i=i+1|0}}else i=o}while(0);c[i>>3]=a;f=+c[g>>3];w=w-f;if(!((w>=0.0?w:-w)>.5)?(d=d-+c[k>>3],!((d>=0.0?d:-d)>.5)):0)break;a=+c[m>>3];n=+c[p>>3];w=f}e:do{if(!(l<<24>>24)){i=0;while(1){if((i|0)==4)break e;I=r+(i<<4)|0;y=B+(i<<4)|0;t[I>>2]=t[y>>2];t[I+4>>2]=t[y+4>>2];t[I+8>>2]=t[y+8>>2];t[I+12>>2]=t[y+12>>2];i=i+1|0}}else{i=0;while(1){if((i|0)==4)break e;I=r+(i<<4)|0;B=y+(i<<4)|0;t[I>>2]=t[B>>2];t[I+4>>2]=t[B+4>>2];t[I+8>>2]=t[B+8>>2];t[I+12>>2]=t[B+12>>2];i=i+1|0}}}while(0);h=C;return}function dR(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0;o=h;h=h+48|0;r=o+16|0;i=o;a=o+32|0;n=e+16|0;f=t[n>>2]|0;l=t[f+8>>2]|0;if(l|0?(s=l+4|0,t[(t[s>>2]|0)+12>>2]|0):0){t[a>>2]=e;t[a+4>>2]=0;u=+c[f+96>>3];c[i>>3]=+c[A>>3]-+c[f+16>>3];c[i+8>>3]=+c[A+8>>3]-+c[f+24>>3];s=t[(t[s>>2]|0)+12>>2]|0;t[r>>2]=t[i>>2];t[r+4>>2]=t[i+4>>2];t[r+8>>2]=t[i+8>>2];t[r+12>>2]=t[i+12>>2];s=Z5[s&127](a,r)|0;c[(t[n>>2]|0)+96>>3]=u;vR(a,e,A,s)}h=o;return}function vR(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,o=0,u=0;u=h;h=h+64|0;o=u;l=A+16|0;n=t[l>>2]|0;s=+c[n+96>>3];f=n+16|0;a=n+24|0;A=0;while(1){if((A|0)==4)break;c[o+(A<<4)>>3]=+c[r+(A<<4)>>3]-+c[f>>3];c[o+(A<<4)+8>>3]=+c[r+(A<<4)+8>>3]-+c[a>>3];A=A+1|0}kR(e,t[(t[(t[n+8>>2]|0)+4>>2]|0)+12>>2]|0,o,i);A=0;while(1){if((A|0)==4)break;i=t[l>>2]|0;c[r+(A<<4)>>3]=+c[i+16>>3]+ +c[o+(A<<4)>>3];c[r+(A<<4)+8>>3]=+c[i+24>>3]+ +c[o+(A<<4)+8>>3];A=A+1|0}c[(t[l>>2]|0)+96>>3]=s;h=u;return}function gR(e,A){e=e|0;A=A|0;var r=0,a=0;while(1){a=e+16|0;e=t[a>>2]|0;if(!(i[e+112>>0]|0))break;e=t[e+116>>2]|0}e=t[e+8>>2]|0;if(!e){e=KF(40)|0;t[(t[a>>2]|0)+8>>2]=e}r=t[e>>2]|0;if(!r)e=$F(((t[e+4>>2]|0)*48|0)+48|0)|0;else e=AM(r,((t[e+4>>2]|0)*48|0)+48|0)|0;a=t[(t[a>>2]|0)+8>>2]|0;t[a>>2]=e;a=a+4|0;r=t[a>>2]|0;t[a>>2]=r+1;a=e+(r*48|0)|0;t[a>>2]=KF(A<<4)|0;t[e+(r*48|0)+4>>2]=A;e=e+(r*48|0)+8|0;r=e+40|0;do{t[e>>2]=0;e=e+4|0}while((e|0)<(r|0));return a|0}function mR(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0.0,D=0.0;L=h;h=h+96|0;I=L+16|0;m=L;B=L+92|0;y=L+88|0;p=L+80|0;o=t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;C=Bd(o)|0;Z=gR(e,a)|0;u=e;while(1){b=t[u+16>>2]|0;if(!(i[b+112>>0]|0))break;u=t[b+116>>2]|0}if((i[f+8>>0]|0)==0?(l=t[o+16>>2]|0,s=t[A+16>>2]|0,(t[l+232>>2]|0)==(t[s+232>>2]|0)):0){w=(t[l+236>>2]|0)>(t[s+236>>2]|0);E=w?o:A;o=w?A:o}else E=A;if((o|0)==(t[((t[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)){l=b+80|0;s=b+40|0;w=n[b+86>>0]|0;A=n[b+46>>0]|0}else{l=b+40|0;s=b+80|0;w=n[b+46>>0]|0;A=n[b+86>>0]|0}b=t[l>>2]|0;l=t[s>>2]|0;if(((A|0)!=0?(d=o+16|0,k=t[(t[d>>2]|0)+8>>2]|0,(k|0)!=0):0)?(t[(t[k+4>>2]|0)+12>>2]|0)!=0:0){t[p>>2]=o;t[p+4>>2]=l;l=a+-4|0;A=m+8|0;s=0;while(1){if((s|0)>=(l|0))break;u=s+3|0;k=t[d>>2]|0;c[m>>3]=+c[r+(u<<4)>>3]-+c[k+16>>3];c[A>>3]=+c[r+(u<<4)+8>>3]-+c[k+24>>3];k=t[(t[(t[k+8>>2]|0)+4>>2]|0)+12>>2]|0;t[I>>2]=t[m>>2];t[I+4>>2]=t[m+4>>2];t[I+8>>2]=t[m+8>>2];t[I+12>>2]=t[m+12>>2];if(!((Z5[k&127](p,I)|0)<<24>>24))break;else s=u}t[B>>2]=s;vR(p,o,r+(s<<4)|0,1)}else{t[B>>2]=0;s=0}if(((w|0)!=0?(g=E+16|0,v=t[(t[g>>2]|0)+8>>2]|0,(v|0)!=0):0)?(t[(t[v+4>>2]|0)+12>>2]|0)!=0:0){t[p>>2]=E;t[p+4>>2]=b;o=a+-4|0;A=m+8|0;l=o;while(1){if((l|0)<=0)break;a=t[g>>2]|0;c[m>>3]=+c[r+(l<<4)>>3]-+c[a+16>>3];c[A>>3]=+c[r+(l<<4)+8>>3]-+c[a+24>>3];a=t[(t[(t[a+8>>2]|0)+4>>2]|0)+12>>2]|0;t[I>>2]=t[m>>2];t[I+4>>2]=t[m+4>>2];t[I+8>>2]=t[m+8>>2];t[I+12>>2]=t[m+12>>2];if(!((Z5[a&127](p,I)|0)<<24>>24))break;l=l+-3|0}t[y>>2]=l;vR(p,E,r+(l<<4)|0,0)}else{o=a+-4|0;t[y>>2]=o;l=o}while(1){if((s|0)>=(o|0))break;A=s+3|0;Q=+c[r+(s<<4)>>3]-+c[r+(A<<4)>>3];D=+c[r+(s<<4)+8>>3]-+c[r+(A<<4)+8>>3];if(D*D+Q*Q<1.0e-06)s=A;else break}t[B>>2]=s;while(1){if((l|0)<=0)break;p=l+3|0;D=+c[r+(l<<4)>>3]-+c[r+(p<<4)>>3];Q=+c[r+(l<<4)+8>>3]-+c[r+(p<<4)+8>>3];if(!(Q*Q+D*D<1.0e-06))break;l=l+-3|0}t[y>>2]=l;pR(e,E,r,B,y,Z,f);d=t[B>>2]|0;u=t[y>>2]|0;o=u+4|0;u=u+3|0;b=I+16|0;w=I+32|0;k=I+48|0;s=C+16|0;l=d;while(1){if((l|0)>=(o|0))break;C=(t[Z>>2]|0)+(l-d<<4)|0;A=r+(l<<4)|0;t[C>>2]=t[A>>2];t[C+4>>2]=t[A+4>>2];t[C+8>>2]=t[A+8>>2];t[C+12>>2]=t[A+12>>2];t[I>>2]=t[A>>2];t[I+4>>2]=t[A+4>>2];t[I+8>>2]=t[A+8>>2];t[I+12>>2]=t[A+12>>2];A=l+1|0;if((l|0)>=(u|0)){G=38;break}y=(t[Z>>2]|0)+(A-d<<4)|0;C=r+(A<<4)|0;t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];t[b>>2]=t[C>>2];t[b+4>>2]=t[C+4>>2];t[b+8>>2]=t[C+8>>2];t[b+12>>2]=t[C+12>>2];C=l+2|0;y=(t[Z>>2]|0)+(C-d<<4)|0;C=r+(C<<4)|0;t[y>>2]=t[C>>2];t[y+4>>2]=t[C+4>>2];t[y+8>>2]=t[C+8>>2];t[y+12>>2]=t[C+12>>2];t[w>>2]=t[C>>2];t[w+4>>2]=t[C+4>>2];t[w+8>>2]=t[C+8>>2];t[w+12>>2]=t[C+12>>2];C=l+3|0;y=r+(C<<4)|0;t[k>>2]=t[y>>2];t[k+4>>2]=t[y+4>>2];t[k+8>>2]=t[y+8>>2];t[k+12>>2]=t[y+12>>2];oB((t[s>>2]|0)+16|0,I);l=C}t[Z+4>>2]=o-d;h=L;return}function pR(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;o=w+4|0;u=w;b=e;while(1){s=t[(t[b+16>>2]|0)+116>>2]|0;if(!s)break;else b=s}if(!(i[l+8>>0]|0))s=(I5[t[l>>2]&63](b)|0)&255;else s=0;WE(b,o,u);c=l+4|0;if((I5[t[c>>2]&63](A)|0)<<24>>24)t[u>>2]=0;if((I5[t[c>>2]&63](t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)<<24>>24)t[o>>2]=0;if(s|0){A=t[o>>2]|0;t[o>>2]=t[u>>2];t[u>>2]=A}if(!(i[l+9>>0]|0)){s=t[o>>2]|0;if(s|0)t[a>>2]=TE(b,r,t[a>>2]|0,t[n>>2]|0,f,s)|0;s=t[u>>2]|0;if(s|0)t[n>>2]=jE(b,r,t[a>>2]|0,t[n>>2]|0,f,s)|0}else{c=t[u>>2]|0;s=t[o>>2]|0;if(s|c|0)OE(b,r,t[a>>2]|0,t[n>>2]|0,f,s,c)}h=w;return}function ER(e,A){e=e|0;A=A|0;var r=0,i=0;if(+c[A>>3]<+c[A+16>>3]?+c[A+8>>3]<+c[A+24>>3]:0){r=t[e+84>>2]|0;i=e+80|0;e=t[i>>2]|0;t[i>>2]=e+1;e=r+(e<<5)|0;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];t[e+16>>2]=t[A+16>>2];t[e+20>>2]=t[A+20>>2];t[e+24>>2]=t[A+24>>2];t[e+28>>2]=t[A+28>>2]}return}function BR(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0.0;B=h;h=h+112|0;m=B+72|0;b=B+56|0;u=B+16|0;k=B;l=t[A>>2]&3;w=A+48|0;E=t[((l|0)==3?A:w)+40>>2]|0;g=A+16|0;d=t[g>>2]|0;f=d+16|0;if(i[d+47>>0]|0){oR(u,E,t[((l|0)==2?A:A+-48|0)+40>>2]|0,f);l=u;u=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(u|0))}d=E+16|0;l=t[d>>2]|0;f=t[l+8>>2]|0;if(!f)u=0;else u=t[(t[f+4>>2]|0)+16>>2]|0;f=l+16|0;l=(t[g>>2]|0)+16|0;t[b>>2]=t[f>>2];t[b+4>>2]=t[f+4>>2];t[b+8>>2]=t[f+8>>2];t[b+12>>2]=t[f+12>>2];t[m>>2]=t[l>>2];t[m+4>>2]=t[l+4>>2];t[m+8>>2]=t[l+8>>2];t[m+12>>2]=t[l+12>>2];yR(k,b,m);t[e>>2]=t[k>>2];t[e+4>>2]=t[k+4>>2];t[e+8>>2]=t[k+8>>2];t[e+12>>2]=t[k+12>>2];if(!(n<<24>>24)){f=t[g>>2]|0;if(!(i[f+45>>0]|0))f=0;else{s=+c[f+32>>3];p=9}}else{s=+CR(t[((t[A>>2]&3|0)==3?A:w)+40>>2]|0);p=9}if((p|0)==9){c[e+16>>3]=s;f=1}i[e+29>>0]=f;t[e+80>>2]=0;t[e+88>>2]=A;k=a+32|0;t[k>>2]=t[e>>2];t[k+4>>2]=t[e+4>>2];t[k+8>>2]=t[e+8>>2];t[k+12>>2]=t[e+12>>2];switch(r|0){case 1:{l=t[d>>2]|0;if((i[l+156>>0]|0)==0?(k=i[(t[g>>2]|0)+49>>0]|0,v=k&255,k<<24>>24!=0):0){t[m>>2]=t[a>>2];t[m+4>>2]=t[a+4>>2];t[m+8>>2]=t[a+8>>2];t[m+12>>2]=t[a+12>>2];t[m+16>>2]=t[a+16>>2];t[m+20>>2]=t[a+20>>2];t[m+24>>2]=t[a+24>>2];t[m+28>>2]=t[a+28>>2];do{if(!(v&4)){if(v&1|0){t[a+48>>2]=1;f=m+24|0;c[f>>3]=+c[(+c[f>>3]>+c[e+8>>3]?m+16|0:e)+8>>3];f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}f=a+48|0;if(!(v&8)){t[f>>2]=2;c[m>>3]=+c[e>>3];c[m+8>>3]=+c[l+24>>3]-+c[l+80>>3]*.5;c[m+24>>3]=+c[e+8>>3];f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}else{t[f>>2]=8;c[m+16>>3]=+c[e>>3];c[m+8>>3]=+c[l+24>>3]-+c[l+80>>3]*.5;c[m+24>>3]=+c[e+8>>3];f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}}else{t[a+48>>2]=4;s=+c[m>>3];if(+c[e>>3]<+c[l+16>>3]){C=s+-1.0;y=+c[e+8>>3];e=m+16|0;s=+c[e>>3];o=+c[l+80>>3]*.5+ +c[l+24>>3];o=o+ +((t[(t[(Bd(E)|0)+16>>2]|0)+252>>2]|0)/2|0|0);f=t[d>>2]|0;c[e>>3]=+c[f+16>>3]-+c[f+88>>3];c[m+24>>3]=y;c[m+8>>3]=+c[f+24>>3]-+c[f+80>>3]*.5;c[m>>3]=C;c[a+56>>3]=C;c[a+64>>3]=y;c[a+72>>3]=s;c[a+80>>3]=o;f=a+88|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=2;break}else{o=+c[e+8>>3];f=m+16|0;y=+c[f>>3]+1.0;C=+c[l+80>>3]*.5+ +c[l+24>>3];C=C+ +((t[(t[(Bd(E)|0)+16>>2]|0)+252>>2]|0)/2|0|0);e=t[d>>2]|0;c[m>>3]=+c[e+96>>3]+ +c[e+16>>3];c[m+24>>3]=o;c[m+8>>3]=+c[e+24>>3]-+c[e+80>>3]*.5;c[f>>3]=y;c[a+56>>3]=s;c[a+64>>3]=o;c[a+72>>3]=y;c[a+80>>3]=C;f=a+88|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=2;break}}}while(0);t[a+52>>2]=f;while(1){f=t[A+16>>2]|0;if(!(i[f+112>>0]|0))break;A=t[f+116>>2]|0}i[((E|0)==(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)?f+16|0:f+56|0)+30>>0]=0}else{l=1;p=47}break}case 2:{v=i[(t[g>>2]|0)+49>>0]|0;l=v&255;if(!(v<<24>>24))p=46;else{t[m>>2]=t[a>>2];t[m+4>>2]=t[a+4>>2];t[m+8>>2]=t[a+8>>2];t[m+12>>2]=t[a+12>>2];t[m+16>>2]=t[a+16>>2];t[m+20>>2]=t[a+20>>2];t[m+24>>2]=t[a+24>>2];t[m+28>>2]=t[a+28>>2];do{if(!(l&4)){if(l&1|0)if((t[a+48>>2]|0)==4){f=t[d>>2]|0;C=+c[f+24>>3]-+c[f+80>>3]*.5;f=m+16|0;y=+c[f>>3]+1.0;s=+c[e>>3];o=C-+((t[(t[(Bd(E)|0)+16>>2]|0)+252>>2]|0)/2|0|0);e=t[d>>2]|0;c[m>>3]=+c[e+96>>3]+ +c[e+16>>3];c[m+8>>3]=C;c[m+24>>3]=+c[e+80>>3]*.5+ +c[e+24>>3];c[f>>3]=y;c[a+56>>3]=s;c[a+64>>3]=o;c[a+72>>3]=y;c[a+80>>3]=C;f=a+88|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=2;break}else{f=m+24|0;c[f>>3]=+c[(+c[f>>3]>+c[e+8>>3]?m+16|0:e)+8>>3];f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}s=+c[e>>3];if(!(l&8)){c[m>>3]=s;r=t[d>>2]|0;s=+c[r+24>>3];o=+c[r+80>>3]*.5;if((t[a+48>>2]|0)==4){c[m+24>>3]=o+s;s=+c[e+8>>3];f=m}else{c[m+8>>3]=s-o;s=+c[e+8>>3]+1.0;f=m+16|0}c[f+8>>3]=s;f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}else{f=m+16|0;c[f>>3]=s+1.0;r=t[d>>2]|0;s=+c[r+24>>3];o=+c[r+80>>3]*.5;if((t[a+48>>2]|0)==4){c[m+24>>3]=o+s;s=+c[e+8>>3]+-1.0;f=m}else{c[m+8>>3]=s-o;s=+c[e+8>>3]+1.0}c[f+8>>3]=s;f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1;break}}else{f=m+8|0;c[f>>3]=+c[(+c[f>>3]<+c[e+8>>3]?m:e)+8>>3];f=a+56|0;t[f>>2]=t[m>>2];t[f+4>>2]=t[m+4>>2];t[f+8>>2]=t[m+8>>2];t[f+12>>2]=t[m+12>>2];t[f+16>>2]=t[m+16>>2];t[f+20>>2]=t[m+20>>2];t[f+24>>2]=t[m+24>>2];t[f+28>>2]=t[m+28>>2];f=1}}while(0);t[a+52>>2]=f;while(1){f=t[A+16>>2]|0;if(!(i[f+112>>0]|0))break;A=t[f+116>>2]|0}i[((E|0)==(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)?f+16|0:f+56|0)+30>>0]=0;t[a+48>>2]=l}break}default:p=46}if((p|0)==46){l=t[a+48>>2]|0;p=47}e:do{if((p|0)==47){if(u){A=a+56|0;f=a+52|0;l=D5[u&127](E,(t[g>>2]|0)+16|0,l,A,f)|0;if(l){t[a+48>>2]=l;break}}else{f=a+52|0;A=a+56|0}t[A>>2]=t[a>>2];t[A+4>>2]=t[a+4>>2];t[A+8>>2]=t[a+8>>2];t[A+12>>2]=t[a+12>>2];t[A+16>>2]=t[a+16>>2];t[A+20>>2]=t[a+20>>2];t[A+24>>2]=t[a+24>>2];t[A+28>>2]=t[a+28>>2];t[f>>2]=1;switch(r|0){case 8:{ge(138394,106514,569,106524);break}case 2:{c[((t[a+48>>2]|0)==4?a+56|0:a+72|0)+8>>3]=+c[e+8>>3];break e}case 1:{c[a+80>>3]=+c[e+8>>3];t[a+48>>2]=1;break e}default:break e}}}while(0);h=B;return}function yR(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function CR(e){e=e|0;var A=0.0,r=0,i=0,a=0.0,n=0,f=0,l=0,s=0.0,o=0.0;f=t[e+16>>2]|0;l=t[f+172>>2]|0;a=0.0;n=0;while(1){e=t[l+(n<<2)>>2]|0;if(!e)break;a=+c[(t[(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+a;n=n+1|0}i=t[f+180>>2]|0;A=0.0;e=0;while(1){r=t[i+(e<<2)>>2]|0;if(!r)break;A=+c[(t[(t[((t[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+A;e=e+1|0}s=+c[f+16>>3];o=+c[f+24>>3];l=t[l>>2]|0;a=+R(+(o-+c[(t[(t[((t[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(s-a/+(n|0)));l=t[i>>2]|0;return+((+R(+(+c[(t[(t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-o),+(A/+(e|0)-s))+a)*.5)}function IR(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0.0;C=h;h=h+112|0;E=C+72|0;w=C+56|0;u=C+16|0;g=C;l=t[A>>2]&3;d=A+-48|0;y=t[((l|0)==2?A:d)+40>>2]|0;m=A+16|0;v=t[m>>2]|0;f=v+56|0;if(i[v+87>>0]|0){oR(u,y,t[((l|0)==3?A:A+48|0)+40>>2]|0,f);l=u;u=f+40|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(u|0))}v=y+16|0;l=t[v>>2]|0;f=t[l+8>>2]|0;if(!f)b=0;else b=t[(t[f+4>>2]|0)+16>>2]|0;u=e+40|0;f=l+16|0;l=(t[m>>2]|0)+56|0;t[w>>2]=t[f>>2];t[w+4>>2]=t[f+4>>2];t[w+8>>2]=t[f+8>>2];t[w+12>>2]=t[f+12>>2];t[E>>2]=t[l>>2];t[E+4>>2]=t[l+4>>2];t[E+8>>2]=t[l+8>>2];t[E+12>>2]=t[l+12>>2];yR(g,w,E);t[u>>2]=t[g>>2];t[u+4>>2]=t[g+4>>2];t[u+8>>2]=t[g+8>>2];t[u+12>>2]=t[g+12>>2];if(!(n<<24>>24)){f=t[m>>2]|0;if(!(i[f+85>>0]|0))k=0;else{c[e+56>>3]=+c[f+72>>3];k=1}}else{o=+CR(t[((t[A>>2]&3|0)==2?A:d)+40>>2]|0)+3.141592653589793;c[e+56>>3]=o;if(o<6.283185307179586)k=1;else ge(106534,106514,606,106558)}i[e+69>>0]=k;g=a+32|0;t[g>>2]=t[u>>2];t[g+4>>2]=t[u+4>>2];t[g+8>>2]=t[u+8>>2];t[g+12>>2]=t[u+12>>2];switch(r|0){case 1:{l=t[v>>2]|0;if((i[l+156>>0]|0)==0?(g=i[(t[m>>2]|0)+89>>0]|0,p=g&255,g<<24>>24!=0):0){t[E>>2]=t[a>>2];t[E+4>>2]=t[a+4>>2];t[E+8>>2]=t[a+8>>2];t[E+12>>2]=t[a+12>>2];t[E+16>>2]=t[a+16>>2];t[E+20>>2]=t[a+20>>2];t[E+24>>2]=t[a+24>>2];t[E+28>>2]=t[a+28>>2];do{if(!(p&4))if(!(p&1)){f=a+48|0;if(!(p&8)){t[f>>2]=2;c[E>>3]=+c[u>>3];c[E+24>>3]=+c[l+80>>3]*.5+ +c[l+24>>3];c[E+8>>3]=+c[e+48>>3];f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1;break}else{t[f>>2]=8;c[E+16>>3]=+c[u>>3];c[E+24>>3]=+c[l+80>>3]*.5+ +c[l+24>>3];c[E+8>>3]=+c[e+48>>3];f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1;break}}else{t[a+48>>2]=1;s=+c[E>>3];if(+c[u>>3]<+c[l+16>>3]){Z=s+-1.0;o=+c[e+48>>3];e=E+16|0;s=+c[e>>3];I=+c[l+80>>3]*-.5+ +c[l+24>>3];I=I-+((t[(t[(Bd(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);f=t[v>>2]|0;c[e>>3]=+c[f+16>>3]-+c[f+88>>3];c[E+8>>3]=o;c[E+24>>3]=+c[f+80>>3]*.5+ +c[f+24>>3];c[E>>3]=Z;c[a+56>>3]=Z;c[a+64>>3]=I;c[a+72>>3]=s;c[a+80>>3]=o;f=a+88|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=2;break}else{Z=+c[e+48>>3];f=E+16|0;I=+c[f>>3]+1.0;o=+c[l+80>>3]*-.5+ +c[l+24>>3];o=o-+((t[(t[(Bd(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);e=t[v>>2]|0;c[E>>3]=+c[e+96>>3]+ +c[e+16>>3];c[E+8>>3]=Z;c[E+24>>3]=+c[e+80>>3]*.5+ +c[e+24>>3];c[f>>3]=I;c[a+56>>3]=s;c[a+64>>3]=o;c[a+72>>3]=I;c[a+80>>3]=Z;f=a+88|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=2;break}}else{t[a+48>>2]=4;f=E+8|0;c[f>>3]=+c[(+c[f>>3]<+c[e+48>>3]?E:u)+8>>3];f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1}}while(0);t[a+52>>2]=f;while(1){f=t[A+16>>2]|0;if(!(i[f+112>>0]|0))break;A=t[f+116>>2]|0}i[((y|0)==(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)?f+56|0:f+16|0)+30>>0]=0;t[a+48>>2]=p}else{l=4;B=47}break}case 2:{p=i[(t[m>>2]|0)+89>>0]|0;l=p&255;if(!(p<<24>>24))B=46;else{t[E>>2]=t[a>>2];t[E+4>>2]=t[a+4>>2];t[E+8>>2]=t[a+8>>2];t[E+12>>2]=t[a+12>>2];t[E+16>>2]=t[a+16>>2];t[E+20>>2]=t[a+20>>2];t[E+24>>2]=t[a+24>>2];t[E+28>>2]=t[a+28>>2];do{if(!(l&4)){if(l&1|0)if((t[a+48>>2]|0)==4){s=+c[E>>3]+-1.0;f=t[v>>2]|0;Z=+c[f+24>>3]-+c[f+80>>3]*.5;I=+c[u>>3];o=Z-+((t[(t[(Bd(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);f=t[v>>2]|0;c[E+16>>3]=+c[f+16>>3]+-2.0-+c[f+88>>3];c[E+8>>3]=Z;c[E+24>>3]=+c[f+80>>3]*.5+ +c[f+24>>3];c[E>>3]=s;c[a+56>>3]=s;c[a+64>>3]=o;c[a+72>>3]=I;c[a+80>>3]=Z;f=a+88|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=2;break}else{f=E+24|0;c[f>>3]=+c[(+c[f>>3]>+c[e+8>>3]?E+16|0:e)+8>>3];f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1;break}s=+c[u>>3];if(!(l&8)){c[E>>3]=s+-1.0;r=t[v>>2]|0;s=+c[r+24>>3];o=+c[r+80>>3]*.5;if((t[a+48>>2]|0)==4){c[E+24>>3]=o+s;s=+c[e+48>>3]+-1.0;f=E}else{c[E+8>>3]=s-o;s=+c[e+48>>3];f=E+16|0}c[f+8>>3]=s;f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1;break}else{f=E+16|0;c[f>>3]=s+1.0;r=t[v>>2]|0;s=+c[r+24>>3];o=+c[r+80>>3]*.5;if((t[a+48>>2]|0)==4){c[E+24>>3]=o+s;s=+c[e+48>>3]+-1.0;f=E}else{c[E+8>>3]=s-o;s=+c[e+48>>3]+1.0}c[f+8>>3]=s;f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1;break}}else{f=E+8|0;c[f>>3]=+c[(+c[f>>3]<+c[e+48>>3]?E:u)+8>>3];f=a+56|0;t[f>>2]=t[E>>2];t[f+4>>2]=t[E+4>>2];t[f+8>>2]=t[E+8>>2];t[f+12>>2]=t[E+12>>2];t[f+16>>2]=t[E+16>>2];t[f+20>>2]=t[E+20>>2];t[f+24>>2]=t[E+24>>2];t[f+28>>2]=t[E+28>>2];f=1}}while(0);t[a+52>>2]=f;while(1){f=t[A+16>>2]|0;if(!(i[f+112>>0]|0))break;A=t[f+116>>2]|0}i[((y|0)==(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)?f+56|0:f+16|0)+30>>0]=0;t[a+48>>2]=l}break}default:B=46}if((B|0)==46){l=t[a+48>>2]|0;B=47}e:do{if((B|0)==47){if(b){A=a+56|0;f=a+52|0;l=D5[b&127](y,(t[m>>2]|0)+56|0,l,A,f)|0;if(l){t[a+48>>2]=l;break}}else{f=a+52|0;A=a+56|0}t[A>>2]=t[a>>2];t[A+4>>2]=t[a+4>>2];t[A+8>>2]=t[a+8>>2];t[A+12>>2]=t[a+12>>2];t[A+16>>2]=t[a+16>>2];t[A+20>>2]=t[a+20>>2];t[A+24>>2]=t[a+24>>2];t[A+28>>2]=t[a+28>>2];t[f>>2]=1;switch(r|0){case 8:{ge(138394,106514,765,106558);break}case 2:{c[((t[a+48>>2]|0)==4?a+56|0:a+72|0)+8>>3]=+c[e+48>>3];break e}case 1:{c[a+64>>3]=+c[e+48>>3];t[a+48>>2]=4;break e}default:break e}}}while(0);h=C;return}function ZR(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;n=t[e+16>>2]|0;f=t[n+96>>2]|0;if((i[n+44>>0]|0)==0?(i[n+84>>0]|0)==0:0)l=6;else{A=i[n+49>>0]|0;r=A&255;if(((r&8|0)==0?(a=i[n+89>>0]|0,(a&8)==0):0)?(r&5|0)==0?1:A<<24>>24!=a<<24>>24:0)l=6;else e=0}if((l|0)==6)if(!f)e=18;else{e=(t[(t[(Bd(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;e=~~(+c[(e?f+32|0:f+24|0)>>3]+18.0)}return e|0}function GR(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=+n;f=+f;l=l|0;var s=0,c=0,o=0,u=0;e=t[(t[A+(r<<2)>>2]|0)+16>>2]|0;if((i[e+44>>0]|0)==0?(i[e+84>>0]|0)==0:0)o=6;else o=3;do{if((o|0)==3){s=i[e+49>>0]|0;c=s&255;if(!(c&8)){u=i[e+89>>0]|0;if((u&8)==0?(c&5|0)==0?1:s<<24>>24!=u<<24>>24:0){o=6;break}if(!(i[e+89>>0]&8)){if(c&4|0){QR(A,r,a,n,f,l);break}if(!(c&1))ge(138394,106514,1231,106566);else{zR(A,r,a,n,f,l);break}}}if((s&2)==0?(i[e+89>>0]&2)==0:0){DR(A,r,a,n,f,l);break}QR(A,r,a,n,f,l)}}while(0);if((o|0)==6)LR(A,r,a,n,f,l);return}function LR(e,A,r,a,f,l){e=e|0;A=A|0;r=r|0;a=+a;f=+f;l=l|0;var s=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0.0,I=0,Z=0,G=0.0,L=0,Q=0.0,D=0.0,z=0.0,W=0.0,Y=0.0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0.0,P=0.0,X=0;J=h;h=h+16080|0;V=J+80|0;N=J+64|0;R=J+48|0;x=J+32|0;F=J+16|0;M=J;Z=t[e+(A<<2)>>2]|0;u=f*.5/+(r|0);u=u>2.0?u:2.0;L=(t[((t[Z>>2]&3|0)==3?Z:Z+48|0)+40>>2]|0)+16|0;I=t[L>>2]|0;G=+c[I+16>>3];W=+c[I+24>>3];Z=t[Z+16>>2]|0;o=+c[Z+16>>3];Q=o+G;D=+c[Z+24>>3]+W;f=+c[Z+56>>3];z=f+G;W=+c[Z+64>>3]+W;s=!(D>=W)?-1:1;w=+c[I+96>>3];switch(WR(n[Z+49>>0]|0,n[Z+89>>0]|0)|0){case 65:case 32:{if(D==W)s=0-s|0;break}default:{}}H=(w-o)*3.0;o=(w-f)*3.0;p=u*+(s|0);m=V+8|0;E=V+16|0;B=V+32|0;y=V+48|0;C=(W+D)*.5;I=V+64|0;Z=V+80|0;v=V+96|0;g=V+104|0;d=0;b=0.0;f=w;u=w=(r|0))break;k=A+1|0;A=t[e+(A<<2)>>2]|0;w=f+a;u=u+a;o=o+a;b=b+p;c[V>>3]=Q;c[m>>3]=D;H=b+D;YR(N,u*.3333333333333333+Q,H);t[E>>2]=t[N>>2];t[E+4>>2]=t[N+4>>2];t[E+8>>2]=t[N+8>>2];t[E+12>>2]=t[N+12>>2];P=w+G;YR(R,P,H);t[B>>2]=t[R>>2];t[B+4>>2]=t[R+4>>2];t[B+8>>2]=t[R+8>>2];t[B+12>>2]=t[R+12>>2];YR(x,P,C);t[y>>2]=t[x>>2];t[y+4>>2]=t[x+4>>2];t[y+8>>2]=t[x+8>>2];t[y+12>>2]=t[x+12>>2];H=W-b;YR(F,P,H);t[I>>2]=t[F>>2];t[I+4>>2]=t[F+4>>2];t[I+8>>2]=t[F+8>>2];t[I+12>>2]=t[F+12>>2];YR(M,o*.3333333333333333+z,H);t[Z>>2]=t[M>>2];t[Z+4>>2]=t[M+4>>2];t[Z+8>>2]=t[M+8>>2];t[Z+12>>2]=t[M+12>>2];c[v>>3]=z;c[g>>3]=W;s=A+16|0;if((t[(t[s>>2]|0)+96>>2]|0)!=0?(X=(t[(t[(Bd(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=t[(t[s>>2]|0)+96>>2]|0,Y=+c[(X?s+24|0:s+32|0)>>3],X=t[L>>2]|0,c[s+56>>3]=Y*.5+w+ +c[X+16>>3],c[s+64>>3]=+c[X+24>>3],i[s+81>>0]=1,Y>a):0)f=Y+f;else f=w;mR(A,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,V,7,l);A=k;d=d+1|0}h=J;return}function QR(e,A,r,a,f,l){e=e|0;A=A|0;r=r|0;a=+a;f=+f;l=l|0;var s=0.0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0.0,Z=0,G=0,L=0.0,Q=0,D=0.0,z=0.0,W=0.0,Y=0.0,F=0.0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0.0,X=0;H=h;h=h+16080|0;N=H+80|0;R=H+64|0;x=H+48|0;J=H+32|0;M=H+16|0;V=H;G=t[e+(A<<2)>>2]|0;k=a*.5/+(r|0);k=k>2.0?k:2.0;Q=(t[((t[G>>2]&3|0)==3?G:G+48|0)+40>>2]|0)+16|0;o=t[Q>>2]|0;W=+c[o+16>>3];L=+c[o+24>>3];G=t[G+16>>2]|0;s=+c[G+16>>3];w=+c[G+24>>3];D=s+W;z=w+L;a=+c[G+56>>3];b=+c[G+64>>3];W=a+W;Y=b+L;u=!(D>=W)?-1.0:1.0;v=+c[o+80>>3]*.5;switch(WR(n[G+49>>0]|0,n[G+89>>0]|0)|0){case 15:{s=(k-a+ +c[o+96>>3])*u;break}case 38:{s=(a+k+ +c[o+88>>3])*u;break}case 41:{s=(k-s+ +c[o+96>>3])*u;break}case 48:{s=(k-s+ +c[o+96>>3])*u;break}case 58:case 57:case 51:case 47:case 37:case 14:{s=u*.3333333333333333*(s-a+ +c[o+88>>3]+ +c[o+96>>3]);break}case 73:{s=(s+k+ +c[o+88>>3])*u;break}case 83:{s=(+c[o+88>>3]+s)*u;break}case 84:{s=((s-a+ +c[o+88>>3]+ +c[o+96>>3])*.5+k)*u;break}case 85:case 75:case 74:{s=((s-a+ +c[o+88>>3]+ +c[o+96>>3])*.5+k*2.0)*u;break}default:s=0.0}w=(v-w)*3.0;b=(v-b)*3.0;k=u*k;E=N+8|0;B=N+16|0;y=N+32|0;C=N+48|0;I=(W+D)*.5;Z=N+64|0;G=N+80|0;m=N+96|0;p=N+104|0;g=0;a=v;w=v=(r|0))break;d=A+1|0;A=t[e+(A<<2)>>2]|0;b=a+f;w=w+f;u=u+f;s=s+k;c[N>>3]=D;c[E>>3]=z;v=s+D;YR(R,v,w*.3333333333333333+z);t[B>>2]=t[R>>2];t[B+4>>2]=t[R+4>>2];t[B+8>>2]=t[R+8>>2];t[B+12>>2]=t[R+12>>2];P=b+L;YR(x,v,P);t[y>>2]=t[x>>2];t[y+4>>2]=t[x+4>>2];t[y+8>>2]=t[x+8>>2];t[y+12>>2]=t[x+12>>2];YR(J,I,P);t[C>>2]=t[J>>2];t[C+4>>2]=t[J+4>>2];t[C+8>>2]=t[J+8>>2];t[C+12>>2]=t[J+12>>2];v=W-s;YR(M,v,P);t[Z>>2]=t[M>>2];t[Z+4>>2]=t[M+4>>2];t[Z+8>>2]=t[M+8>>2];t[Z+12>>2]=t[M+12>>2];YR(V,v,u*.3333333333333333+Y);t[G>>2]=t[V>>2];t[G+4>>2]=t[V+4>>2];t[G+8>>2]=t[V+8>>2];t[G+12>>2]=t[V+12>>2];c[m>>3]=W;c[p>>3]=Y;o=A+16|0;if((t[(t[o>>2]|0)+96>>2]|0)!=0?(X=(t[(t[(Bd(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,o=t[(t[o>>2]|0)+96>>2]|0,F=+c[(X?o+32|0:o+24|0)>>3],X=t[Q>>2]|0,c[o+64>>3]=F*.5+b+ +c[X+24>>3],c[o+56>>3]=+c[X+16>>3],i[o+81>>0]=1,F>f):0)a=F+a;else a=b;mR(A,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,N,7,l);A=d;g=g+1|0}h=H;return}function DR(e,A,r,a,f,l){e=e|0;A=A|0;r=r|0;a=+a;f=+f;l=l|0;var s=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0.0,I=0,Z=0,G=0.0,L=0,Q=0.0,D=0.0,z=0.0,W=0.0,Y=0.0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0.0,P=0.0,X=0;J=h;h=h+16080|0;V=J+80|0;N=J+64|0;R=J+48|0;x=J+32|0;F=J+16|0;M=J;Z=t[e+(A<<2)>>2]|0;u=f*.5/+(r|0);u=u>2.0?u:2.0;L=(t[((t[Z>>2]&3|0)==3?Z:Z+48|0)+40>>2]|0)+16|0;I=t[L>>2]|0;G=+c[I+16>>3];W=+c[I+24>>3];Z=t[Z+16>>2]|0;o=+c[Z+16>>3];Q=o+G;D=+c[Z+24>>3]+W;f=+c[Z+56>>3];z=f+G;W=+c[Z+64>>3]+W;s=!(D>=W)?-1:1;w=+c[I+88>>3];switch(WR(n[Z+49>>0]|0,n[Z+89>>0]|0)|0){case 67:case 12:{if(D==W)s=0-s|0;break}default:{}}H=(o+w)*3.0;o=(f+w)*3.0;p=u*+(s|0);m=V+8|0;E=V+16|0;B=V+32|0;y=V+48|0;C=(W+D)*.5;I=V+64|0;Z=V+80|0;v=V+96|0;g=V+104|0;d=0;b=0.0;f=w;u=w=(r|0))break;k=A+1|0;A=t[e+(A<<2)>>2]|0;w=f+a;u=u+a;o=o+a;b=b+p;c[V>>3]=Q;c[m>>3]=D;H=b+D;YR(N,Q-u*.3333333333333333,H);t[E>>2]=t[N>>2];t[E+4>>2]=t[N+4>>2];t[E+8>>2]=t[N+8>>2];t[E+12>>2]=t[N+12>>2];P=G-w;YR(R,P,H);t[B>>2]=t[R>>2];t[B+4>>2]=t[R+4>>2];t[B+8>>2]=t[R+8>>2];t[B+12>>2]=t[R+12>>2];YR(x,P,C);t[y>>2]=t[x>>2];t[y+4>>2]=t[x+4>>2];t[y+8>>2]=t[x+8>>2];t[y+12>>2]=t[x+12>>2];H=W-b;YR(F,P,H);t[I>>2]=t[F>>2];t[I+4>>2]=t[F+4>>2];t[I+8>>2]=t[F+8>>2];t[I+12>>2]=t[F+12>>2];YR(M,z-o*.3333333333333333,H);t[Z>>2]=t[M>>2];t[Z+4>>2]=t[M+4>>2];t[Z+8>>2]=t[M+8>>2];t[Z+12>>2]=t[M+12>>2];c[v>>3]=z;c[g>>3]=W;s=A+16|0;if((t[(t[s>>2]|0)+96>>2]|0)!=0?(X=(t[(t[(Bd(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=t[(t[s>>2]|0)+96>>2]|0,Y=+c[(X?s+24|0:s+32|0)>>3],X=t[L>>2]|0,c[s+56>>3]=Y*-.5-w+ +c[X+16>>3],c[s+64>>3]=+c[X+24>>3],i[s+81>>0]=1,Y>a):0)f=Y+f;else f=w;mR(A,t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,V,7,l);A=k;d=d+1|0}h=J;return}function zR(e,A,r,a,f,l){e=e|0;A=A|0;r=r|0;a=+a;f=+f;l=l|0;var s=0.0,o=0.0,u=0.0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0.0,y=0.0,C=0.0,I=0.0,Z=0.0,G=0,L=0,Q=0,D=0.0,z=0,W=0,Y=0.0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0.0,P=0.0,X=0;J=h;h=h+16080|0;V=J+80|0;N=J+64|0;R=J+48|0;x=J+32|0;F=J+16|0;M=J;G=t[e+(A<<2)>>2]|0;Z=a*.5/+(r|0);E=(t[((t[G>>2]&3|0)==3?G:G+48|0)+40>>2]|0)+16|0;L=t[E>>2]|0;C=+c[L+16>>3];p=+c[L+24>>3];G=t[G+16>>2]|0;o=+c[G+24>>3];B=+c[G+16>>3]+C;y=o+p;u=+c[G+64>>3];C=+c[G+56>>3]+C;I=u+p;m=!(B>=C)?-1:1;b=+c[L+80>>3]*.5;G=(WR(n[G+49>>0]|0,n[G+89>>0]|0)|0)==67;o=(o+b)*3.0;u=(u+b)*3.0;Z=(Z>2.0?Z:2.0)*+((G?0-m|0:m)|0);m=V+8|0;G=V+16|0;L=V+32|0;Q=V+48|0;D=(C+B)*.5;z=V+64|0;W=V+80|0;v=V+96|0;g=V+104|0;a=b;s=0.0;o=b=(r|0))break;d=A+1|0;w=t[e+(A<<2)>>2]|0;b=a+f;o=o+f;u=u+f;s=s+Z;c[V>>3]=B;c[m>>3]=y;H=s+B;YR(N,H,y-o*.3333333333333333);t[G>>2]=t[N>>2];t[G+4>>2]=t[N+4>>2];t[G+8>>2]=t[N+8>>2];t[G+12>>2]=t[N+12>>2];P=p-b;YR(R,H,P);t[L>>2]=t[R>>2];t[L+4>>2]=t[R+4>>2];t[L+8>>2]=t[R+8>>2];t[L+12>>2]=t[R+12>>2];YR(x,D,P);t[Q>>2]=t[x>>2];t[Q+4>>2]=t[x+4>>2];t[Q+8>>2]=t[x+8>>2];t[Q+12>>2]=t[x+12>>2];H=C-s;YR(F,H,P);t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];YR(M,H,I-u*.3333333333333333);t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];c[v>>3]=C;c[g>>3]=I;A=w+16|0;if((t[(t[A>>2]|0)+96>>2]|0)!=0?(X=(t[(t[(Bd(t[((t[w>>2]&3|0)==3?w:w+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,A=t[(t[A>>2]|0)+96>>2]|0,Y=+c[(X?A+32|0:A+24|0)>>3],X=t[E>>2]|0,c[A+64>>3]=Y*-.5-b+ +c[X+24>>3],c[A+56>>3]=+c[X+16>>3],i[A+81>>0]=1,Y>f):0)a=Y+a;else a=b;mR(w,t[((t[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,V,7,l);A=d;k=k+1|0}h=J;return}function WR(e,A){e=e|0;A=A|0;var r=0;r=0;while(1){if((r|0)>=8){A=-1;break}if((t[22044+(r<<2)>>2]|0)==(A|0)){A=r;break}r=r+1|0}r=0;while(1){if((r|0)>=8){r=-1;break}if((t[22044+(r<<2)>>2]|0)==(e|0))break;r=r+1|0}if((r|A|0)<0)r=0;else r=t[22076+(r<<5)+(A<<2)>>2]|0;return r|0}function YR(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function FR(e){e=e|0;var A=0,r=0;if((t[47203]|0)!=0|(t[47202]|0)!=0){A=e+16|0;r=t[(t[A>>2]|0)+100>>2]|0;if((r|0?(i[r+81>>0]|0)==0:0)?MR(e,1)|0:0){r=Bd(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;Hx(r,t[(t[A>>2]|0)+100>>2]|0)}r=t[(t[A>>2]|0)+104>>2]|0;if((r|0?(i[r+81>>0]|0)==0:0)?MR(e,0)|0:0){r=Bd(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;Hx(r,t[(t[A>>2]|0)+104>>2]|0)}}return}function MR(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+96|0;b=k+32|0;o=k+16|0;u=k;f=e+16|0;do{if((i[(t[f>>2]|0)+112>>0]|0)!=6){r=t[47203]|0;if(!((r|0)!=0?(i[(Pw(e,r)|0)>>0]|0)!=0:0)){r=t[47202]|0;if(!r){r=0;break}if(!(i[(Pw(e,r)|0)>>0]|0)){r=0;break}}A=A<<24>>24==0;w=t[f>>2]|0;w=t[(A?w+104|0:w+100|0)>>2]|0;r=VR(e)|0;if(r){s=t[r>>2]|0;do{if(A){if(t[s+8>>2]|0){r=t[s>>2]|0;l=+c[r>>3];n=+c[s+16>>3];r=r+8|0;a=+c[s+24>>3];break}r=t[s>>2]|0;n=+c[r>>3];a=+c[r+8>>3];r=0;while(1){if((r|0)==4)break;u=b+(r<<4)|0;f=(t[s>>2]|0)+(r<<4)|0;t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[u+8>>2]=t[f+8>>2];t[u+12>>2]=t[f+12>>2];r=r+1|0}Zx(o,b,3,.1,0,0);l=+c[o>>3];r=o+8|0}else{A=(t[r+4>>2]|0)+-1|0;f=s+(A*48|0)|0;if(t[s+(A*48|0)+12>>2]|0){b=t[f>>2]|0;r=(t[s+(A*48|0)+4>>2]|0)+-1|0;l=+c[b+(r<<4)>>3];n=+c[s+(A*48|0)+32>>3];r=b+(r<<4)+8|0;a=+c[s+(A*48|0)+40>>3];break}o=t[f>>2]|0;A=s+(A*48|0)+4|0;r=(t[A>>2]|0)+-1|0;n=+c[o+(r<<4)>>3];a=+c[o+(r<<4)+8>>3];r=0;while(1){if((r|0)==4)break;o=b+(r<<4)|0;s=(t[f>>2]|0)+(r+-4+(t[A>>2]|0)<<4)|0;t[o>>2]=t[s>>2];t[o+4>>2]=t[s+4>>2];t[o+8>>2]=t[s+8>>2];t[o+12>>2]=t[s+12>>2];r=r+1|0}Zx(u,b,3,.9,0,0);l=+c[u>>3];r=u+8|0}}while(0);d=+R(+(+c[r>>3]-a),+(l-n));d=+wx(e,t[47203]|0,-25.0,-180.0)*.017453292519943295+d;l=+wx(e,t[47202]|0,1.0,0.0)*10.0;c[w+56>>3]=l*+W(+d)+n;c[w+64>>3]=+Y(+d)*l+a;i[w+81>>0]=1;r=1}else r=0}else r=0}while(0);h=k;return r|0}function VR(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;A=e;while(1){r=t[A+16>>2]|0;A=t[r+8>>2]|0;if(A|0)break;if(!(i[r+112>>0]|0)){n=5;break}A=t[r+116>>2]|0}if((n|0)==5){n=Mk(t[((t[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;A=Mk(t[((t[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t[a>>2]=n;t[a+4>>2]=A;nw(1,106579,a)|0;A=0}h=f;return A|0}function NR(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0.0;v=h;h=h+96|0;o=v+80|0;u=v+64|0;b=v+48|0;w=v+32|0;k=v+16|0;d=v;s=a[(t[A+16>>2]|0)+136>>1]|0;A=r+16|0;RR(t[(t[A>>2]|0)+8>>2]|0,w,k);i=+c[w>>3];n=+c[k>>3];g=i-n;f=+c[w+8>>3];l=+c[k+8>>3];m=f-l;e:do{if(m*m+g*g<1.0e-06){t[b>>2]=t[w>>2];t[b+4>>2]=t[w+4>>2];t[b+8>>2]=t[w+8>>2];t[b+12>>2]=t[w+12>>2]}else switch(s&14){case 4:case 10:{c[u>>3]=(n+i)*.5;c[u+8>>3]=(l+f)*.5;k=t[(t[A>>2]|0)+8>>2]|0;t[o>>2]=t[u>>2];t[o+4>>2]=t[u+4>>2];t[o+8>>2]=t[u+8>>2];t[o+12>>2]=t[u+12>>2];Wx(d,k,o);t[b>>2]=t[d>>2];t[b+4>>2]=t[d+4>>2];t[b+8>>2]=t[d+8>>2];t[b+12>>2]=t[d+12>>2];break e}default:{xR(b,t[(t[A>>2]|0)+8>>2]|0,w,k);break e}}}while(0);t[e>>2]=t[b>>2];t[e+4>>2]=t[b+4>>2];t[e+8>>2]=t[b+8>>2];t[e+12>>2]=t[b+12>>2];h=v;return}function RR(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;f=h;h=h+32|0;n=f+16|0;a=f;s=t[e>>2]|0;i=t[s>>2]|0;l=t[s+8>>2]|0;c=s+16|0;t[n>>2]=t[c>>2];t[n+4>>2]=t[c+4>>2];t[n+8>>2]=t[c+8>>2];t[n+12>>2]=t[c+12>>2];s=s+32|0;t[a>>2]=t[s>>2];t[a+4>>2]=t[s+4>>2];t[a+8>>2]=t[s+8>>2];t[a+12>>2]=t[s+12>>2];if(!l){t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[A+12>>2]=t[i+12>>2]}else{t[A>>2]=t[n>>2];t[A+4>>2]=t[n+4>>2];t[A+8>>2]=t[n+8>>2];t[A+12>>2]=t[n+12>>2]}l=t[e>>2]|0;s=(t[e+4>>2]|0)+-1|0;i=t[l+(s*48|0)>>2]|0;e=t[l+(s*48|0)+4>>2]|0;c=t[l+(s*48|0)+12>>2]|0;A=l+(s*48|0)+16|0;t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];s=l+(s*48|0)+32|0;t[a>>2]=t[s>>2];t[a+4>>2]=t[s+4>>2];t[a+8>>2]=t[s+8>>2];t[a+12>>2]=t[s+12>>2];if(!c){c=i+(e+-1<<4)|0;t[r>>2]=t[c>>2];t[r+4>>2]=t[c+4>>2];t[r+8>>2]=t[c+8>>2];t[r+12>>2]=t[c+12>>2]}else{t[r>>2]=t[a>>2];t[r+4>>2]=t[a+4>>2];t[r+8>>2]=t[a+8>>2];t[r+12>>2]=t[a+12>>2]}h=f;return}function xR(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0,d=0,v=0.0;d=t[A+4>>2]|0;n=0.0;a=0;while(1){if((a|0)>=(d|0))break;o=t[A>>2]|0;s=t[o+(a*48|0)>>2]|0;o=t[o+(a*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(o|0))break;k=+c[s+(l<<4)>>3]-+c[s+(f<<4)>>3];w=+c[s+(l<<4)+8>>3]-+c[s+(f<<4)+8>>3];f=f+3|0;l=l+3|0;n=+D(+(w*w+k*k))+n}a=a+1|0}o=0;n=n*.5;e:while(1){if((o|0)>=(d|0)){a=15;break}s=t[A>>2]|0;l=t[s+(o*48|0)>>2]|0;s=t[s+(o*48|0)+4>>2]|0;a=3;f=0;while(1){if((a|0)>=(s|0))break;u=+c[l+(f<<4)>>3];w=+c[l+(f<<4)+8>>3];b=+c[l+(a<<4)>>3];h=+c[l+(a<<4)+8>>3];k=u-b;v=w-h;k=+D(+(v*v+k*k));if(k>=n){a=12;break e}a=a+3|0;f=f+3|0;n=n-k}o=o+1|0}if((a|0)==12){c[r>>3]=u;c[r+8>>3]=w;c[i>>3]=b;c[i+8>>3]=h;v=k-n;c[e>>3]=(v*u+b*n)/k;c[e+8>>3]=(v*w+h*n)/k;return}else if((a|0)==15)ge(138712,106514,1316,106641)}function JR(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;FR(A);return}function HR(e,A,r,a,n){e=e|0;A=A|0;r=+r;a=a|0;n=n|0;var f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0,h=0,w=0.0,k=0.0,d=0.0,v=0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0.0,G=0.0,L=0,Q=0,D=0,z=0,F=0,M=0,V=0;F=PR(e)|0;z=t[F+4>>2]|0;M=t[F>>2]|0;D=z+-1|0;Z=+c[M+(D<<6)+16>>3];G=+(z|0);L=(n|0)==2;Q=(a|0)!=0;b=0;l=0.0;f=0.0;o=0.0;u=0.0;while(1){if((b|0)>=(z|0))break;e=~~+XR(+(b+-1|0),G);I=b+1|0;V=~~+XR(+(I|0),G);h=M+(b<<6)|0;u=+c[h>>3];C=M+(b<<6)+8|0;o=+c[C>>3];v=M+(b<<6)+16|0;g=+c[v>>3];m=M+(b<<6)+24|0;p=M+(b<<6)+32|0;E=M+(b<<6)+40|0;B=M+(b<<6)+48|0;y=M+(b<<6)+56|0;s=+SR(+c[M+(V<<6)+8>>3]-o,+c[M+(V<<6)>>3]-u);k=+SR(+c[M+(e<<6)+8>>3]-o,+c[M+(e<<6)>>3]-u);d=+B5[A&7](g,Z,r);e=(b|0)==0;do{if(e|(b|0)==(D|0))if(e){f=s+1.5707963267948966;if(!L){e=0;w=f;l=d;break}e=0;w=f;l=d;o=o-+Y(+s)*d;u=u-+W(+s)*d;break}else{f=k+-1.5707963267948966;if(!L){e=0;w=f;l=d;break}e=0;w=f;l=d;o=o-+Y(+k)*d;u=u-+W(+k)*d;break}else{w=s-k;w=1.5707963267948966-(w<0.0?w+6.283185307179586:w)*.5;l=+W(+w);l=l==0.0?0.0:d/l;f=s+1.5707963267948966;s=w+f;if(Q|l>d*10.0){k=+XR(k+-1.5707963267948966,6.283185307179586);e=1;w=+XR(f,6.283185307179586);l=d;f=k}else{e=0;w=s;f=s}}}while(0);c[h>>3]=u;c[C>>3]=o;c[v>>3]=g;i[m>>0]=108;c[p>>3]=f;c[E>>3]=l;t[B>>2]=e;c[y>>3]=w;b=I}h=KF(12)|0;e=0;while(1){if((e|0)>=(z|0))break;u=+c[M+(e<<6)>>3];o=+c[M+(e<<6)+8>>3];f=+c[M+(e<<6)+32>>3];l=+c[M+(e<<6)+40>>3];V=t[M+(e<<6)+48>>2]|0;s=+c[M+(e<<6)+56>>3];jR(h,+W(+f)*l+u,+Y(+f)*l+o);if(V|0)UR(u,o,l,1,f,s,a,h);e=e+1|0}b=(n|0)==1;s=f+3.141592653589793;if(b)TR(h,u,o,l,f,s);else{jR(h,+W(+s)*l+u,+Y(+s)*l+o);f=s}e=z+-2|0;s=u;while(1){if((e|0)<=-1)break;u=+c[M+(e<<6)>>3];o=+c[M+(e<<6)+8>>3];l=+c[M+(e<<6)+40>>3];V=t[M+(e<<6)+48>>2]|0;f=+c[M+(e<<6)+32>>3]+3.141592653589793;s=+c[M+(e<<6)+56>>3]+3.141592653589793;jR(h,+W(+s)*l+u,+Y(+s)*l+o);if(V|0)UR(u,o,l,0,f,s,a,h);e=e+-1|0;s=u}if(b)TR(h,s,o,l,f,f+3.141592653589793);OR(F);return h|0}function PR(e){e=e|0;var A=0.0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0;k=h;h=h+144|0;l=k+128|0;f=k+112|0;s=k+96|0;c=k+64|0;o=k;u=k+80|0;b=_R()|0;w=t[e+4>>2]|0;a=t[e>>2]|0;t[l>>2]=t[a>>2];t[l+4>>2]=t[a+4>>2];t[l+8>>2]=t[a+8>>2];t[l+12>>2]=t[a+12>>2];qR(b,l,0.0);n=o+48|0;t[n>>2]=t[a>>2];t[n+4>>2]=t[a+4>>2];t[n+8>>2]=t[a+8>>2];t[n+12>>2]=t[a+12>>2];r=0;A=0.0;e:while(1){i=r+3|0;if((i|0)>=(w|0))break;t[o>>2]=t[n>>2];t[o+4>>2]=t[n+4>>2];t[o+8>>2]=t[n+8>>2];t[o+12>>2]=t[n+12>>2];e=1;while(1){if((e|0)==4)break;d=o+(e<<4)|0;v=a+(e+r<<4)|0;t[d>>2]=t[v>>2];t[d+4>>2]=t[v+4>>2];t[d+8>>2]=t[v+8>>2];t[d+12>>2]=t[v+12>>2];e=e+1|0}t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];e=1;while(1){if((e|0)==21){r=i;continue e}Zx(u,o,3,+(e|0)*.05,0,0);t[c>>2]=t[u>>2];t[c+4>>2]=t[u+4>>2];t[c+8>>2]=t[u+8>>2];t[c+12>>2]=t[u+12>>2];t[f>>2]=t[s>>2];t[f+4>>2]=t[s+4>>2];t[f+8>>2]=t[s+8>>2];t[f+12>>2]=t[s+12>>2];t[l>>2]=t[u>>2];t[l+4>>2]=t[u+4>>2];t[l+8>>2]=t[u+8>>2];t[l+12>>2]=t[u+12>>2];g=+KR(f,l)+A;t[l>>2]=t[c>>2];t[l+4>>2]=t[c+4>>2];t[l+8>>2]=t[c+8>>2];t[l+12>>2]=t[c+12>>2];qR(b,l,g);t[s>>2]=t[c>>2];t[s+4>>2]=t[c+4>>2];t[s+8>>2]=t[c+8>>2];t[s+12>>2]=t[c+12>>2];e=e+1|0;A=g}}$R(b);h=k;return b|0}function XR(e,A){e=+e;A=+A;var r=0.0;r=e-+L(+(e/A))*A;return+(!(e<0.0)&!(e>=A)?e:r)}function SR(e,A){e=+e;A=+A;if(!(e==0.0&A==0.0)){e=+R(+e,+A);if(!(e>=0.0))e=e+6.283185307179586}else e=0.0;return+e}function jR(e,A,r){e=e|0;A=+A;r=+r;var i=0,a=0;i=t[e>>2]|0;a=e+4|0;if((i|0)<(t[a>>2]|0))a=t[e+8>>2]|0;else{t[a>>2]=2e3;i=e+8|0;a=AM(t[i>>2]|0,32e3)|0;t[i>>2]=a;i=t[e>>2]|0}t[e>>2]=i+1;c[a+(i<<4)>>3]=A;c[a+(i<<4)+8>>3]=r;return}function UR(e,A,r,i,a,t,n,f){e=+e;A=+A;r=+r;i=i|0;a=+a;t=+t;n=n|0;f=f|0;var l=0.0;i=(i|0)==0;l=i?a:t;do{if((n|0)==1){a=(i?t:a)-l;a=!(a<=1.7453292519943296e-03)?a:a+6.283185307179586;if(a<3.141592653589793){TR(f,e,A,r,a+l,l);break}else{jR(f,+W(+l)*r+e,+Y(+l)*r+e);break}}else jR(f,+W(+l)*r+e,+Y(+l)*r+e)}while(0);return}function TR(e,A,r,i,a,t){e=e|0;A=+A;r=+r;i=+i;a=+a;t=+t;var n=0,f=0.0;jR(e,+W(+a)*i+A,+Y(+a)*i+r);e:do{if(!(i==0.0)){while(1){if(!(t>a))break;t=t+-6.283185307179586}t=a-t;while(1){if(!(t>6.283185307179586))break;t=t+-6.283185307179586}t=t*.05263157894736842;n=1;while(1){if((n|0)==20)break e;f=a-t*+(n|0);jR(e,+W(+f)*i+A,+Y(+f)*i+r);n=n+1|0}}}while(0);return}function OR(e){e=e|0;G2(t[e>>2]|0);G2(e);return}function _R(){var e=0;e=KF(12)|0;t[e+4>>2]=0;t[e+8>>2]=2e3;t[e>>2]=KF(128e3)|0;return e|0}function qR(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,n=0,f=0;f=e+4|0;i=t[f>>2]|0;a=e+8|0;n=t[a>>2]|0;if((i|0)<(n|0))e=t[e>>2]|0;else{t[a>>2]=n<<1;i=AM(t[e>>2]|0,n<<7)|0;t[e>>2]=i;e=i;i=t[f>>2]|0}c[e+(i<<6)>>3]=+c[A>>3];c[e+(i<<6)+8>>3]=+c[A+8>>3];t[f>>2]=i+1;c[e+(i<<6)+16>>3]=r;return}function KR(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e>>3]-+c[A>>3];i=+c[e+8>>3]-+c[A+8>>3];return+ +D(+(i*i+r*r))}function $R(e){e=e|0;var A=0;A=t[e+4>>2]|0;if((t[e+8>>2]|0)>(A|0))t[e>>2]=AM(t[e>>2]|0,A<<6)|0;return}function ex(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;s=c+8|0;l=c;n=c+12|0;t[n>>2]=0;f=t[r+4>>2]|0;if(!f)ge(106658,106669,203,106680);i=t[f>>2]|0;if(!i)ge(106694,106669,206,106680);a=f+8|0;if(!(t[a>>2]|0))t[a>>2]=Ax(i)|0;if(!0)i=0;else{i=(aF(t[f>>2]|0)|0)==0;i=i?0:n}if(!((Oi(A,r,i)|0)<<24>>24))rx(r,i);do{if(i|0){a=t[n>>2]|0;A=t[15712]|0;i=t[f>>2]|0;if(!a){t[s>>2]=i;a3(A,106737,s)|0;break}else{t[l>>2]=i;t[l+4>>2]=a;a3(A,106705,l)|0;break}}}while(0);s=r+32|0;t[e>>2]=t[s>>2];t[e+4>>2]=t[s+4>>2];t[e+8>>2]=t[s+8>>2];t[e+12>>2]=t[s+12>>2];h=c;return}function Ax(e){e=e|0;var A=0;A=t[47301]|0;if((A|0)!=0?(N1(A,e)|0)==0:0)e=t[47310]|0;else{G2(A);t[47301]=o3(e)|0;e=r8(189204,22332,35,36,95)|0;t[47310]=e}return e|0}function rx(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0,f=0.0,l=0,s=0.0;l=t[e+4>>2]|0;r=t[l>>2]|0;f=+c[l+16>>3];l=e+32|0;c[l>>3]=0.0;c[e+40>>3]=f*1.2;c[e+16>>3]=0.0;c[e+24>>3]=f*.1;t[e+8>>2]=0;t[e+12>>2]=0;if(S1(r,106771,4)|0)if((S1(r,106776,5)|0)!=0?(S1(r,106782,9)|0)!=0:0){n=4248;r=106792}else{n=8344;r=106828}else{n=6296;r=106809}if(A|0)t[A>>2]=r;r=t[e>>2]|0;if(r|0){a=0.0;while(1){e=i[r>>0]|0;if(!(e<<24>>24))break;s=a+ +c[n+((e&255)<<3)>>3];c[l>>3]=s;r=r+1|0;a=s}c[l>>3]=a*f}return}function ix(e,A){e=e|0;A=A|0;return N1(t[e>>2]|0,t[A>>2]|0)|0}function ax(e){e=e|0;var A=0;A=e+108|0;t[A>>2]=0;t[e+112>>2]=32;t[e+116>>2]=-1;t[e+120>>2]=33;t[e+124>>2]=63;t[e+128>>2]=55;t[e+132>>2]=0;t[e+136>>2]=0;t[e+140>>2]=0;A=Uh(A,t[4581]|0)|0;t[e+144>>2]=A;return A|0}function tx(e,A,r){e=e|0;A=A|0;r=r|0;r=L2(1,32)|0;e=t[A>>2]|0;if(e|0)t[r>>2]=o3(e)|0;e=t[A+4>>2]|0;if(e|0)t[r+4>>2]=o3(e)|0;t[r+24>>2]=t[A+24>>2]&127;c[r+16>>3]=+c[A+16>>3];t[r+8>>2]=t[A+8>>2];return r|0}function nx(e,A,r){e=e|0;A=A|0;r=r|0;G2(t[A>>2]|0);G2(t[A+4>>2]|0);G2(A);return}function fx(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0,l=0;e=t[A>>2]|0;i=t[r>>2]|0;f=(i|0)==0;if(!e)if(f)l=5;else e=-1;else if(!f){e=e1(e,i)|0;if(!e)l=5}else e=1;do{if((l|0)==5){e=t[A+4>>2]|0;i=t[r+4>>2]|0;f=(i|0)==0;if(!e){if(!f){e=-1;break}}else{if(f){e=1;break}e=e1(e,i)|0;if(e|0)break}e=(t[A+24>>2]&127)-(t[r+24>>2]&127)|0;if(!e){n=+c[A+16>>3];a=+c[r+16>>3];if(na&1}}}while(0);return e|0}function lx(){fA(189244)|0;return}function sx(){var e=0,A=0;A=h;h=h+16|0;e=A;fA(e|0)|0;h=A;return+(+((t[e+4>>2]|0)+(t[e>>2]|0)-(t[47311]|0)-(t[47312]|0)|0)*.016666666666666666)}function cx(e){e=e|0;var A=0,r=0;A=KF(16)|0;e=(e|0)>2?e:2;r=KF(e<<2)|0;t[A>>2]=r;t[A+12>>2]=r;t[A+8>>2]=r;t[A+4>>2]=r+(e<<2);return A|0}function ox(e){e=e|0;G2(t[e>>2]|0);G2(e);return}function ux(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+12|0;i=t[r>>2]|0;t[r>>2]=i+4;t[i>>2]=A;if((t[r>>2]|0)>>>0>=(t[e+4>>2]|0)>>>0)t[r>>2]=t[e>>2];return}function bx(e){e=e|0;var A=0,r=0,i=0;r=e+8|0;A=t[r>>2]|0;if((A|0)!=(t[e+12>>2]|0)){i=A+4|0;t[r>>2]=i;A=t[A>>2]|0;if(i>>>0>=(t[e+4>>2]|0)>>>0)t[r>>2]=t[e>>2]}else A=0;return A|0}function hx(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0;l=h;h=h+16|0;n=l;if(((A|0)!=0?(f=Pw(e,A)|0,(f|0)!=0):0)?(i[f>>0]|0)!=0:0){A=n3(f,n,10)|0;r=(f|0)==(t[n>>2]|0)?r:(A|0)<(a|0)?a:A}h=l;return r|0}function wx(e,A,r,a){e=e|0;A=A|0;r=+r;a=+a;var n=0,f=0,l=0,s=0.0;l=h;h=h+16|0;n=l;if(((e|0)!=0&(A|0)!=0?(f=Pw(e,A)|0,(f|0)!=0):0)?(i[f>>0]|0)!=0:0){s=+e8(f,n);r=(f|0)==(t[n>>2]|0)?r:s0.0)){A=+wx(e,zw(e,0,107638,0)|0,-1.0,0.0);A=A==0.0?72.0:A}return+A}function dx(e,A,r){e=e|0;A=A|0;r=r|0;if((e|0)!=0&(A|0)!=0)r=Pw(e,A)|0;return r|0}function vx(e,A,r){e=e|0;A=A|0;r=r|0;e=dx(e,A,r)|0;if((e|0)!=0?(i[e>>0]|0)!=0:0)r=e;return r|0}function gx(e,A,r){e=e|0;A=A|0;r=r|0;if(!A)e=r&255;else e=mx(Pw(e,A)|0)|0;return e|0}function mx(e){e=e|0;return px(e,0)|0}function px(e,A){e=e|0;A=A|0;var r=0;if((e|0)!=0?(r=i[e>>0]|0,r<<24>>24!=0):0)if((N1(e,137308)|0)!=0?(N1(e,107649)|0)!=0:0)if((N1(e,107652)|0)!=0?(N1(e,107657)|0)!=0:0){if(((r<<24>>24)+-48|0)>>>0<10)A=(K3(e)|0)&255}else A=1;else A=0;return A|0}function Ex(e){e=e|0;var A=0,r=0;while(1){A=(t[e+16>>2]|0)+220|0;r=t[A>>2]|0;if(!((r|0)!=(e|0)&(r|0)!=0))break;e=t[(t[r+16>>2]|0)+220>>2]|0;if(!e){e=r;continue}t[A>>2]=e}return e|0}function Bx(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;if((e|0)!=(A|0)){r=t[e+16>>2]|0;i=r+220|0;if(!(t[i>>2]|0)){t[i>>2]=e;t[r+216>>2]=1}else e=Ex(e)|0;r=t[A+16>>2]|0;i=r+220|0;if(!(t[i>>2]|0)){t[i>>2]=A;t[r+216>>2]=1}else{r=Ex(A)|0;A=r;r=t[r+16>>2]|0}n=e+16|0;i=t[n>>2]|0;a=A+16|0;f=(t[i+120>>2]|0)>(t[r+120>>2]|0);e=f?A:e;t[(f?i:r)+220>>2]=e;i=(t[(f?a:n)>>2]|0)+216|0;t[i>>2]=(t[i>>2]|0)+(t[(t[(f?n:a)>>2]|0)+216>>2]|0)}return e|0}function yx(e){e=e|0;e=t[e+16>>2]|0;t[e+216>>2]=1;t[e+220>>2]=0;i[e+159>>0]=0;return}function Cx(e,A){e=e|0;A=A|0;if((Ex(e)|0)==(e|0)){e=t[e+16>>2]|0;t[e+220>>2]=A;A=(t[A+16>>2]|0)+216|0;t[A>>2]=(t[A>>2]|0)+(t[e+216>>2]|0);return}else ge(107669,107661,194,107685)}function Ix(e,A){e=e|0;A=A|0;var r=0.0;A=t[(t[A+16>>2]|0)+132>>2]|0;r=+c[A+8>>3]*72.0;c[e>>3]=+c[A>>3]*72.0;c[e+8>>3]=r;return}function Zx(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;n=n|0;var f=0,l=0,s=0,o=0.0,u=0,b=0,w=0;b=h;h=h+576|0;u=b;f=0;while(1){if((f|0)>(r|0))break;s=u+(f<<4)|0;l=A+(f<<4)|0;t[s>>2]=t[l>>2];t[s+4>>2]=t[l+4>>2];t[s+8>>2]=t[l+8>>2];t[s+12>>2]=t[l+12>>2];f=f+1|0}o=1.0-i;f=1;while(1){if((f|0)>(r|0))break;l=r-f|0;s=f+-1|0;A=0;while(1){if((A|0)>(l|0))break;w=A+1|0;c[u+(f*96|0)+(A<<4)>>3]=+c[u+(s*96|0)+(w<<4)>>3]*i+ +c[u+(s*96|0)+(A<<4)>>3]*o;c[u+(f*96|0)+(A<<4)+8>>3]=+c[u+(s*96|0)+(w<<4)+8>>3]*i+ +c[u+(s*96|0)+(A<<4)+8>>3]*o;A=w}f=f+1|0}e:do{if(a|0){f=0;while(1){if((f|0)>(r|0))break e;w=a+(f<<4)|0;s=u+(f*96|0)|0;t[w>>2]=t[s>>2];t[w+4>>2]=t[s+4>>2];t[w+8>>2]=t[s+8>>2];t[w+12>>2]=t[s+12>>2];f=f+1|0}}}while(0);e:do{if(n|0){f=0;while(1){if((f|0)>(r|0))break e;w=n+(f<<4)|0;a=u+((r-f|0)*96|0)+(f<<4)|0;t[w>>2]=t[a>>2];t[w+4>>2]=t[a+4>>2];t[w+8>>2]=t[a+8>>2];t[w+12>>2]=t[a+12>>2];f=f+1|0}}}while(0);w=u+(r*96|0)|0;t[e>>2]=t[w>>2];t[e+4>>2]=t[w+4>>2];t[e+8>>2]=t[w+8>>2];t[e+12>>2]=t[w+12>>2];h=b;return}function Gx(e){e=e|0;var A=0,r=0,a=0,n=0;r=0;do{A=t[47315]|0;a=A+1024|0;if((A-r|0)<1024){t[47315]=a;a=AM(t[47316]|0,a)|0;t[47316]=a;A=t[47315]|0}else a=t[47316]|0;A=N4(a+r|0,A-r|0,e)|0;if(!A){n=6;break}r=(U2(A)|0)+r|0;A=t[47316]|0}while((i[A+(r+-1)>>0]|0)!=10);if((n|0)==6)A=t[47316]|0;return((r|0)>0?A:0)|0}function Lx(e){e=e|0;var A=0,r=0,a=0;a=h;h=h+16|0;do{if((e|0)!=0?(i[e>>0]|0)!=0:0)if(!0){A=t[47133]|0;r=t[47318]|0;if((t[47317]|0)==(A|0))A=r;else{if(r){G2(t[r>>2]|0);G2(t[47318]|0);t[47318]=0;A=t[47133]|0}t[47317]=A;if(!A)break;if(!(i[A>>0]|0))break;A=Qx(A)|0;t[47318]=A}if(!((i[e>>0]|0)!=47&(A|0)!=0))break;e=Dx(A,t[47319]|0,e)|0;break}else U();else e=0}while(0);h=a;return e|0}function Qx(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;i=0;a=0;n=0;A=o3(e)|0;r=0;while(1){A=l3(A,107984)|0;if(!A)break;e=(n<<2)+8|0;if(!a)e=$F(e)|0;else e=AM(r,e)|0;t[e+(n<<2)>>2]=A;a=U2(A)|0;i=i>>>0>a>>>0?i:a;a=e;n=n+1|0;A=0;r=e}t[a+(n<<2)>>2]=0;t[47319]=i;return a|0}function Dx(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=h;h=h+16|0;i=n;f=t[47320]|0;t[47320]=Q2(f,A+2+(U2(r)|0)|0)|0;while(1){A=t[e>>2]|0;if(!A){e=0;break}f=t[47320]|0;t[i>>2]=A;t[i+4>>2]=107982;t[i+8>>2]=r;T4(f,107975,i)|0;if(!(Y3(t[47320]|0,4)|0)){a=4;break}else e=e+4|0}if((a|0)==4)e=t[47320]|0;h=n;return e|0}function zx(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;n=(e|0)==0;a=0;while(1){f=t[A+(a<<2)>>2]|0;if(!f)break;if((!n?(i[e>>0]|0)==(i[f>>0]|0):0)?(e1(e,f)|0)==0:0)break;a=a+1|0}return t[r+(a<<2)>>2]|0}function Wx(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0;C=h;h=h+80|0;B=C+16|0;y=C;m=t[A+4>>2]|0;p=t[A>>2]|0;E=r+8|0;a=0;i=-1;n=1.e+38;A=-1;while(1){if((a|0)>=(m|0))break;v=t[p+(a*48|0)>>2]|0;g=t[p+(a*48|0)+4>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;k=+c[v+(d<<4)>>3]-+c[r>>3];w=+c[v+(d<<4)+8>>3]-+c[E>>3];k=w*w+k*k;I=(i|0)==-1|k>2]|0;i=i+(((i|0)==((t[p+(A*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;i=i-((i|0)%3|0)|0;A=0;while(1){if((A|0)==4)break;Z=A+i|0;c[B+(A<<4)>>3]=+c[a+(Z<<4)>>3];c[B+(A<<4)+8>>3]=+c[a+(Z<<4)+8>>3];A=A+1|0}k=+c[r>>3];s=+c[B>>3]-k;b=+c[E>>3];w=+c[B+8>>3]-b;l=+c[B+48>>3]-k;u=+c[B+56>>3]-b;A=y+8|0;n=1.0;f=0.0;l=u*u+l*l;s=w*w+s*s;while(1){w=(n+f)*.5;Zx(y,B,3,w,0,0);o=+c[y>>3];u=+c[A>>3];if(+Q(+(s-l))<1.0)break;if(+Q(+(n-f))<1.0e-05)break;Z=s>3]=o;c[e+8>>3]=u;h=C;return}function Yx(){return 0}function Fx(e){e=e|0;var A=0.0,r=0,a=0,n=0,f=0,l=0,s=0,o=0;A=+wx(e,t[47146]|0,.75,.01);n=e+16|0;c[(t[n>>2]|0)+32>>3]=A;A=+wx(e,t[47145]|0,.5,.02);c[(t[n>>2]|0)+40>>3]=A;o=IN(vx(e,t[47147]|0,107986)|0,e)|0;t[(t[n>>2]|0)+8>>2]=o;o=Pw(e,t[47154]|0)|0;A=+wx(e,t[47150]|0,14.0,1.0);r=vx(e,t[47151]|0,107994)|0;a=vx(e,t[47152]|0,137314)|0;f=(lv(o)|0)!=0;s=(oN(e)|0)==2;f=HF(e,o,(s?4:0)|(f?2:0),A,r,a)|0;t[(t[n>>2]|0)+104>>2]=f;f=t[47155]|0;if((f|0?(l=Pw(e,f)|0,l|0):0)?i[l>>0]|0:0){o=(lv(l)|0)!=0;o=HF(e,l,o?2:0,A,r,a)|0;t[(t[n>>2]|0)+108>>2]=o;o=(t[(Bd(e)|0)+16>>2]|0)+113|0;i[o>>0]=i[o>>0]|16}s=(hx(e,t[47158]|0,0,0)|0)&255;o=t[n>>2]|0;i[o+144>>0]=s;F5[t[t[(t[o+8>>2]|0)+4>>2]>>2]&127](e);return}function Mx(e){e=e|0;var A=0,r=0,a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+112|0;o=p+96|0;u=p+80|0;v=p+40|0;m=p;d=e+48|0;w=Bd(t[((t[e>>2]&3|0)==3?e:d)+40>>2]|0)|0;n=o+8|0;t[n>>2]=0;b=u+8|0;t[b>>2]=0;A=t[47182]|0;if(((A|0)!=0?(r=Pw(e,A)|0,(r|0)!=0):0)?(i[r>>0]|0)!=0:0){Vx(e,o);g=(lv(r)|0)!=0;f=+c[o>>3];a=t[n>>2]|0;A=t[o+12>>2]|0;r=HF(e,r,g?2:0,f,a,A)|0;g=e+16|0;t[(t[g>>2]|0)+96>>2]=r;r=(t[w+16>>2]|0)+113|0;i[r>>0]=i[r>>0]|1;r=mx(dx(e,t[47192]|0,137308)|0)|0;i[(t[g>>2]|0)+114>>0]=r;g=1;r=a}else{g=0;A=0;f=0.0;r=0}a=t[47183]|0;if((a|0?(l=Pw(e,a)|0,l|0):0)?i[l>>0]|0:0){if(!r){Vx(e,o);f=+c[o>>3];r=t[n>>2]|0;A=t[o+12>>2]|0}n=(lv(l)|0)!=0;l=HF(e,l,n?2:0,f,r,A)|0;t[(t[e+16>>2]|0)+108>>2]=l;l=(t[w+16>>2]|0)+113|0;i[l>>0]=i[l>>0]|32}A=t[47197]|0;if(((A|0)!=0?(s=Pw(e,A)|0,(s|0)!=0):0)?(i[s>>0]|0)!=0:0){Nx(e,o,u);l=(lv(s)|0)!=0;f=+c[u>>3];A=t[b>>2]|0;r=t[u+12>>2]|0;s=HF(e,s,l?2:0,f,A,r)|0;t[(t[e+16>>2]|0)+100>>2]=s;s=(t[w+16>>2]|0)+113|0;i[s>>0]=i[s>>0]|2}else{r=0;f=0.0;A=0}a=t[47198]|0;if((a|0?(k=Pw(e,a)|0,k|0):0)?i[k>>0]|0:0){if(!A){Nx(e,o,u);r=t[u+12>>2]|0;f=+c[u>>3];A=t[b>>2]|0}b=(lv(k)|0)!=0;k=HF(e,k,b?2:0,f,A,r)|0;t[(t[e+16>>2]|0)+104>>2]=k;k=(t[w+16>>2]|0)+113|0;i[k>>0]=i[k>>0]|4}A=Hw(e,111455)|0;A=A|0?A:195059;if(i[A>>0]|0)i[(t[(t[((t[e>>2]&3|0)==3?e:d)+40>>2]|0)+16>>2]|0)+145>>0]=1;n=e+16|0;a=(t[n>>2]|0)+16|0;r=t[((t[e>>2]&3|0)==3?e:d)+40>>2]|0;Rx(v,t[(t[(t[(t[r+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,r,A);A=v;r=a+40|0;do{t[a>>2]=t[A>>2];a=a+4|0;A=A+4|0}while((a|0)<(r|0));if((xx(e,t[47204]|0)|0)<<24>>24)i[(t[n>>2]|0)+46>>0]=0;A=Hw(e,111464)|0;A=A|0?A:195059;if(!(i[A>>0]|0))r=e+-48|0;else{r=e+-48|0;i[(t[(t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0)+16>>2]|0)+145>>0]=1}a=(t[n>>2]|0)+56|0;r=t[((t[e>>2]&3|0)==2?e:r)+40>>2]|0;Rx(m,t[(t[(t[(t[r+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,r,A);A=m;r=a+40|0;do{t[a>>2]=t[A>>2];a=a+4|0;A=A+4|0}while((a|0)<(r|0));if((xx(e,t[47205]|0)|0)<<24>>24)i[(t[n>>2]|0)+86>>0]=0;h=p;return g|0}function Vx(e,A){e=e|0;A=A|0;c[A>>3]=+wx(e,t[47179]|0,14.0,1.0);t[A+8>>2]=vx(e,t[47180]|0,107994)|0;t[A+12>>2]=vx(e,t[47181]|0,137314)|0;return}function Nx(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=A+8|0;if(!(t[i>>2]|0))Vx(e,A);c[r>>3]=+wx(e,t[47199]|0,+c[A>>3],1.0);t[r+8>>2]=vx(e,t[47200]|0,t[i>>2]|0)|0;t[r+12>>2]=vx(e,t[47201]|0,t[A+12>>2]|0)|0;return}function Rx(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+128|0;c=o+80|0;f=o+40|0;n=o;if((a|0)!=0?(s=C1(a,58)|0,(s|0)!=0):0){i[s>>0]=0;l=s+1|0;R5[A&31](f,r,a,l);r=c;n=f;A=r+36|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(A|0));i[s>>0]=58;a=l}else{R5[A&31](n,r,a,0);r=c;A=r+36|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(A|0))}r=e;n=c;A=r+36|0;do{t[r>>2]=t[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(A|0));t[e+36>>2]=a;h=o;return}function xx(e,A){e=e|0;A=A|0;var r=0;if(((A|0)!=0?(r=Pw(e,A)|0,(r|0)!=0):0)?(i[r>>0]|0)!=0:0)e=(mx(r)|0)<<24>>24==0&1;else e=0;return e|0}function Jx(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0;s=h;h=h+32|0;f=s;l=t[A+8>>2]|0;r=t[A+4>>2]|0;r=(t[A+44>>2]|0)+((P((r|0)>1?r+-1|0:0,l)|0)<<4)|0;i=f+16|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];t[f>>2]=t[r>>2];t[f+4>>2]=t[r+4>>2];t[f+8>>2]=t[r+8>>2];t[f+12>>2]=t[r+12>>2];a=f+8|0;n=f+24|0;A=1;while(1){if((A|0)>=(l|0))break;o=r+(A<<4)|0;b=+c[o>>3];c[f>>3]=+c[(+c[f>>3]>3];u=+c[o+8>>3];c[a>>3]=+c[(+c[a>>3]>3];c[i>>3]=+c[(+c[i>>3]>b?i:o)>>3];c[n>>3]=+c[(+c[n>>3]>u?i:o)+8>>3];A=A+1|0}t[e>>2]=t[f>>2];t[e+4>>2]=t[f+4>>2];t[e+8>>2]=t[f+8>>2];t[e+12>>2]=t[f+12>>2];t[e+16>>2]=t[f+16>>2];t[e+20>>2]=t[f+20>>2];t[e+24>>2]=t[f+24>>2];t[e+28>>2]=t[f+28>>2];h=s;return}function Hx(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=h;h=h+64|0;n=r+32|0;i=r;a=t[e+16>>2]|0;e=a+16|0;a=t[a+116>>2]&1;t[n>>2]=t[e>>2];t[n+4>>2]=t[e+4>>2];t[n+8>>2]=t[e+8>>2];t[n+12>>2]=t[e+12>>2];t[n+16>>2]=t[e+16>>2];t[n+20>>2]=t[e+20>>2];t[n+24>>2]=t[e+24>>2];t[n+28>>2]=t[e+28>>2];Px(i,n,A,a);t[e>>2]=t[i>>2];t[e+4>>2]=t[i+4>>2];t[e+8>>2]=t[i+8>>2];t[e+12>>2]=t[i+12>>2];t[e+16>>2]=t[i+16>>2];t[e+20>>2]=t[i+20>>2];t[e+24>>2]=t[i+24>>2];t[e+28>>2]=t[i+28>>2];h=r;return}function Px(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0,s=0.0,o=0.0,u=0.0;n=+c[r+56>>3];o=+c[r+64>>3];l=i<<24>>24==0;s=+c[r+24>>3];f=+c[r+32>>3];u=(l?s:f)*.5;a=n-u;n=u+n;if(a<+c[A>>3])c[A>>3]=a;i=A+16|0;if(n>+c[i>>3])c[i>>3]=n;n=(l?f:s)*.5;a=o-n;n=n+o;i=A+8|0;if(a<+c[i>>3])c[i>>3]=a;i=A+24|0;if(n>+c[i>>3])c[i>>3]=n;t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];t[e+16>>2]=t[A+16>>2];t[e+20>>2]=t[A+20>>2];t[e+24>>2]=t[A+24>>2];t[e+28>>2]=t[A+28>>2];return}function Xx(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0.0,R=0.0,x=0.0,J=0.0;V=h;h=h+448|0;W=V+416|0;g=V+384|0;m=V+304|0;M=V+256|0;z=V+192|0;Z=V+144|0;G=V+96|0;A=V+400|0;r=V+368|0;a=V+352|0;n=V+336|0;p=V+288|0;E=V+224|0;B=V+160|0;y=V+112|0;C=V+64|0;I=V+32|0;Y=V;F=e+16|0;if((gk(e)|0)==0?(t[(t[F>>2]|0)+180>>2]|0)==0:0){Sx(A,0.0,0.0);t[M>>2]=t[A>>2];t[M+4>>2]=t[A+4>>2];t[M+8>>2]=t[A+8>>2];t[M+12>>2]=t[A+12>>2];M=M+16|0;Sx(r,0.0,0.0);t[M>>2]=t[r>>2];t[M+4>>2]=t[r+4>>2];t[M+8>>2]=t[r+8>>2];t[M+12>>2]=t[r+12>>2]}else{Sx(a,2147483647.0,2147483647.0);t[M>>2]=t[a>>2];t[M+4>>2]=t[a+4>>2];t[M+8>>2]=t[a+8>>2];t[M+12>>2]=t[a+12>>2];D=M+16|0;Sx(n,-2147483647.0,-2147483647.0);t[D>>2]=t[n>>2];t[D+4>>2]=t[n+4>>2];t[D+8>>2]=t[n+8>>2];t[D+12>>2]=t[n+12>>2];b=G+8|0;w=m+16|0;L=M+8|0;k=m+8|0;Q=M+24|0;d=m+24|0;v=Z+8|0;u=sd(e)|0;while(1){if(!u)break;Ix(Z,u);A=u+16|0;o=t[A>>2]|0;c[G>>3]=(+c[o+96>>3]+ +c[o+88>>3])*.5;c[b>>3]=+c[o+80>>3]*.5;t[g>>2]=t[Z>>2];t[g+4>>2]=t[Z+4>>2];t[g+8>>2]=t[Z+8>>2];t[g+12>>2]=t[Z+12>>2];t[W>>2]=t[G>>2];t[W+4>>2]=t[G+4>>2];t[W+8>>2]=t[G+8>>2];t[W+12>>2]=t[G+12>>2];jx(m,g,W);t[g>>2]=t[Z>>2];t[g+4>>2]=t[Z+4>>2];t[g+8>>2]=t[Z+8>>2];t[g+12>>2]=t[Z+12>>2];t[W>>2]=t[G>>2];t[W+4>>2]=t[G+4>>2];t[W+8>>2]=t[G+8>>2];t[W+12>>2]=t[G+12>>2];Ux(p,g,W);t[w>>2]=t[p>>2];t[w+4>>2]=t[p+4>>2];t[w+8>>2]=t[p+8>>2];t[w+12>>2]=t[p+12>>2];c[M>>3]=+c[(+c[M>>3]<+c[m>>3]?M:m)>>3];c[L>>3]=+c[(+c[L>>3]<+c[k>>3]?M:m)+8>>3];c[D>>3]=+c[(+c[D>>3]>+c[w>>3]?M:m)+16>>3];c[Q>>3]=+c[(+c[Q>>3]>+c[d>>3]?M:m)+24>>3];A=t[(t[A>>2]|0)+108>>2]|0;if(A|0?i[A+81>>0]|0:0){o=t[(t[F>>2]|0)+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(E,W,A,o);t[M>>2]=t[E>>2];t[M+4>>2]=t[E+4>>2];t[M+8>>2]=t[E+8>>2];t[M+12>>2]=t[E+12>>2];t[M+16>>2]=t[E+16>>2];t[M+20>>2]=t[E+20>>2];t[M+24>>2]=t[E+24>>2];t[M+28>>2]=t[E+28>>2]}o=Ow(e,u)|0;while(1){if(!o)break;s=o+16|0;A=t[s>>2]|0;l=A+8|0;r=t[l>>2]|0;if(r|0){f=0;while(1){if((f|0)<(t[r+4>>2]|0))n=0;else break;while(1){a=t[r>>2]|0;if((n|0)>=(t[a+(f*48|0)+4>>2]|0))break;r=(t[a+(f*48|0)>>2]|0)+(n<<4)|0;t[Z>>2]=t[r>>2];t[Z+4>>2]=t[r+4>>2];t[Z+8>>2]=t[r+8>>2];t[Z+12>>2]=t[r+12>>2];R=+c[Z>>3];c[M>>3]=+c[(+c[M>>3]>3];N=+c[v>>3];c[L>>3]=+c[(+c[L>>3]>3];c[D>>3]=+c[(+c[D>>3]>R?D:Z)>>3];c[Q>>3]=+c[(+c[Q>>3]>N?D:Z)+8>>3];n=n+1|0;r=t[l>>2]|0}f=f+1|0}r=t[A+96>>2]|0;if((r|0)!=0?(i[r+81>>0]|0)!=0:0){A=t[(t[F>>2]|0)+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(B,W,r,A);t[M>>2]=t[B>>2];t[M+4>>2]=t[B+4>>2];t[M+8>>2]=t[B+8>>2];t[M+12>>2]=t[B+12>>2];t[M+16>>2]=t[B+16>>2];t[M+20>>2]=t[B+20>>2];t[M+24>>2]=t[B+24>>2];t[M+28>>2]=t[B+28>>2];A=t[s>>2]|0}r=t[A+100>>2]|0;if((r|0)!=0?(i[r+81>>0]|0)!=0:0){A=t[(t[F>>2]|0)+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(y,W,r,A);t[M>>2]=t[y>>2];t[M+4>>2]=t[y+4>>2];t[M+8>>2]=t[y+8>>2];t[M+12>>2]=t[y+12>>2];t[M+16>>2]=t[y+16>>2];t[M+20>>2]=t[y+20>>2];t[M+24>>2]=t[y+24>>2];t[M+28>>2]=t[y+28>>2];A=t[s>>2]|0}r=t[A+104>>2]|0;if((r|0)!=0?(i[r+81>>0]|0)!=0:0){A=t[(t[F>>2]|0)+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(C,W,r,A);t[M>>2]=t[C>>2];t[M+4>>2]=t[C+4>>2];t[M+8>>2]=t[C+8>>2];t[M+12>>2]=t[C+12>>2];t[M+16>>2]=t[C+16>>2];t[M+20>>2]=t[C+20>>2];t[M+24>>2]=t[C+24>>2];t[M+28>>2]=t[C+28>>2];A=t[s>>2]|0}A=t[A+108>>2]|0;if(A|0?i[A+81>>0]|0:0){s=t[(t[F>>2]|0)+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(I,W,A,s);t[M>>2]=t[I>>2];t[M+4>>2]=t[I+4>>2];t[M+8>>2]=t[I+8>>2];t[M+12>>2]=t[I+12>>2];t[M+16>>2]=t[I+16>>2];t[M+20>>2]=t[I+20>>2];t[M+24>>2]=t[I+24>>2];t[M+28>>2]=t[I+28>>2]}}o=qw(e,o)|0}u=cd(e,u)|0}A=t[F>>2]|0;a=t[A+180>>2]|0;n=A+184|0;f=z+8|0;l=z+16|0;s=z+24|0;r=1;while(1){if((r|0)>(a|0))break;J=+c[(t[(t[(t[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+16>>3];c[z>>3]=J;G=t[(t[(t[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0;x=+c[G+24>>3];c[f>>3]=x;N=+c[G+32>>3];c[l>>3]=N;R=+c[G+40>>3];c[s>>3]=R;c[M>>3]=+c[(+c[M>>3]>3];c[L>>3]=+c[(+c[L>>3]>3];c[D>>3]=+c[(+c[D>>3]>N?M:z)+16>>3];c[Q>>3]=+c[(+c[Q>>3]>R?M:z)+24>>3];r=r+1|0}r=t[A+12>>2]|0;if((r|0)!=0?(i[r+81>>0]|0)!=0:0){A=t[A+116>>2]&1;t[W>>2]=t[M>>2];t[W+4>>2]=t[M+4>>2];t[W+8>>2]=t[M+8>>2];t[W+12>>2]=t[M+12>>2];t[W+16>>2]=t[M+16>>2];t[W+20>>2]=t[M+20>>2];t[W+24>>2]=t[M+24>>2];t[W+28>>2]=t[M+28>>2];Px(Y,W,r,A);t[M>>2]=t[Y>>2];t[M+4>>2]=t[Y+4>>2];t[M+8>>2]=t[Y+8>>2];t[M+12>>2]=t[Y+12>>2];t[M+16>>2]=t[Y+16>>2];t[M+20>>2]=t[Y+20>>2];t[M+24>>2]=t[Y+24>>2];t[M+28>>2]=t[Y+28>>2];A=t[F>>2]|0}F=A+16|0;t[F>>2]=t[M>>2];t[F+4>>2]=t[M+4>>2];t[F+8>>2]=t[M+8>>2];t[F+12>>2]=t[M+12>>2];t[F+16>>2]=t[M+16>>2];t[F+20>>2]=t[M+20>>2];t[F+24>>2]=t[M+24>>2];t[F+28>>2]=t[M+28>>2]}h=V;return}function Sx(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function jx(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[A+8>>3]-+c[r+8>>3];c[e>>3]=+c[A>>3]-+c[r>>3];c[e+8>>3]=i;return}function Ux(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function Tx(e){e=e|0;if((t[e+60>>2]|0)==(e|0))e=1;else e=(S1(Mk(e)|0,108006,7)|0)==0&1;return e|0}function Ox(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;e:do{if(!a)switch(Yd(A)|0){case 0:{a=zw(e,0,r,195059)|0;break e}case 1:{a=zw(e,1,r,195059)|0;break e}case 2:{a=zw(e,2,r,195059)|0;break e}default:{a=0;break e}}}while(0);Mw(A,a,i)|0;return a|0}function _x(e){e=e|0;var A=0,r=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+144|0;n=c;l=qx(e)|0;f=Uh(23592,t[4581]|0)|0;s=Rv(e,108014,1)|0;Sd(s,137483,280,1)|0;cw(n,128,c+16|0);A=sd(e)|0;while(1){if(!A)break;e:do{if(!(i[(t[A+16>>2]|0)+118>>0]|0)){r=Ow(e,A)|0;while(1){if(!r)break e;Kx(r,s,n,f,l);r=qw(e,r)|0}}}while(0);A=cd(e,A)|0}hw(n);Ph(f)|0;r=gk(s)|0;A=sd(s)|0;while(1){if(!A)break;f=cd(s,A)|0;Ed(e,A)|0;A=f}vk(s)|0;if(r|0){s=(t[e+16>>2]|0)+136|0;a[s>>1]=a[s>>1]|1}Ph(l)|0;h=c;return r|0}function qx(e){e=e|0;var A=0;A=Uh(23628,t[4581]|0)|0;fJ(e,A);return A|0}function Kx(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+48|0;k=g+32|0;w=g+24|0;v=g+16|0;d=g+8|0;c=g;u=t[e>>2]&3;o=t[((u|0)==3?e:e+48|0)+40>>2]|0;u=t[((u|0)==2?e:e+-48|0)+40>>2]|0;do{if(!(i[(t[u+16>>2]|0)+118>>0]|0)){if(!(y1(Mk(o)|0,108006,7)|0))b=$x(n,Mk(o)|0)|0;else b=0;if(!(y1(Mk(u)|0,108006,7)|0))l=$x(n,Mk(u)|0)|0;else l=0;f=(b|0)!=0;s=(l|0)!=0;if(f|s){if((b|0)==(l|0)){d=Mk(o)|0;v=Mk(o)|0;t[c>>2]=d;t[c+4>>2]=v;nw(0,108029,c)|0;break}n=eJ(a,e)|0;if(n|0){AJ(e,t[n+16>>2]|0,t[n+20>>2]|0)|0;break}if(!s)if(!(Wd(b,u)|0)){iJ(a,o,u,AJ(e,rJ(o,b,r,A)|0,u)|0);break}else{d=Mk(u)|0;v=Mk(b)|0;t[k>>2]=d;t[k+4>>2]=v;nw(0,108184,k)|0;break}if(!f)if(!(Wd(l,o)|0)){iJ(a,o,u,AJ(e,o,rJ(u,l,r,A)|0)|0);break}else{d=Mk(o)|0;v=Mk(l)|0;t[w>>2]=d;t[w+4>>2]=v;nw(0,108147,w)|0;break}if(Wd(l,b)|0){k=Mk(b)|0;v=Mk(l)|0;t[d>>2]=k;t[d+4>>2]=v;nw(0,108067,d)|0;break}if(!(Wd(b,l)|0)){v=rJ(o,b,r,A)|0;iJ(a,o,u,AJ(e,v,rJ(u,l,r,A)|0)|0);break}else{k=Mk(l)|0;d=Mk(b)|0;t[v>>2]=k;t[v+4>>2]=d;nw(0,108107,v)|0;break}}}}while(0);h=g;return}function $x(e,A){e=e|0;A=A|0;e=L5[t[e>>2]&63](e,A,512)|0;if(!e)e=0;else e=t[e+12>>2]|0;return e|0}function eJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+16|0;i=r;a=t[A>>2]&3;t[i>>2]=t[((a|0)==3?A:A+48|0)+40>>2];t[i+4>>2]=t[((a|0)==2?A:A+-48|0)+40>>2];A=L5[t[e>>2]&63](e,i,512)|0;h=r;return A|0}function AJ(e,A,r){e=e|0;A=A|0;r=r|0;r=lk(Bd(A)|0,A,r,0,1)|0;Sd(r,137460,176,1)|0;jw(e,r)|0;return r|0}function rJ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0;c=h;h=h+112|0;n=c;s=c+4|0;bw(r,108221)|0;l=t[47321]|0;t[47321]=l+1;t[n>>2]=l;T4(s,137395,n)|0;bw(r,s)|0;s=r+4|0;n=t[s>>2]|0;l=r+8|0;if(n>>>0>=(t[l>>2]|0)>>>0){ow(r,1)|0;n=t[s>>2]|0}t[s>>2]=n+1;i[n>>0]=58;bw(r,Mk(A)|0)|0;f=yd(A)|0;n=t[s>>2]|0;if(n>>>0>=(t[l>>2]|0)>>>0){ow(r,1)|0;n=t[s>>2]|0}i[n>>0]=0;r=t[r>>2]|0;t[s>>2]=r;s=gd(f,r,1)|0;Sd(s,137447,304,1)|0;i[(t[s+16>>2]|0)+118>>0]=1;hd(A,s,1)|0;hd(a,e,1)|0;a=Bd(s)|0;t[47154]=Ox(a,s,108224,195059,t[47154]|0)|0;a=Bd(s)|0;t[47157]=Ox(a,s,141082,134335,t[47157]|0)|0;a=Bd(s)|0;t[47147]=Ox(a,s,108230,108236,t[47147]|0)|0;h=c;return s|0}function iJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;a=h;h=h+32|0;n=a;u=n+8|0;t[u>>2]=A;o=n+12|0;t[o>>2]=r;b=t[i>>2]&3;l=i+48|0;s=n+16|0;t[s>>2]=t[((b|0)==3?i:l)+40>>2];c=i+-48|0;f=n+20|0;t[f>>2]=t[((b|0)==2?i:c)+40>>2];L5[t[e>>2]&63](e,n,1)|0;t[u>>2]=r;t[o>>2]=A;r=t[i>>2]&3;t[s>>2]=t[((r|0)==2?i:c)+40>>2];t[f>>2]=t[((r|0)==3?i:l)+40>>2];L5[t[e>>2]&63](e,n,1)|0;h=a;return}function aJ(e,A,r){e=e|0;A=A|0;r=r|0;r=KF(24)|0;t[r+8>>2]=t[A+8>>2];t[r+12>>2]=t[A+12>>2];t[r+16>>2]=t[A+16>>2];t[r+20>>2]=t[A+20>>2];return r|0}function tJ(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function nJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[A>>2]|0;i=t[r>>2]|0;if(e>>>0>=i>>>0)if(e>>>0>i>>>0)e=1;else{A=t[A+4>>2]|0;r=t[r+4>>2]|0;return(A>>>0>>0?-1:A>>>0>r>>>0&1)|0}else e=-1;return e|0}function fJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;f=h;h=h+16|0;n=f;a=e+16|0;i=1;while(1){e=t[a>>2]|0;if((i|0)>(t[e+180>>2]|0))break;e=t[(t[e+184>>2]|0)+(i<<2)>>2]|0;r=Mk(e)|0;if(!(L5[t[A>>2]&63](A,r,512)|0)){l=KF(16)|0;t[l+8>>2]=r;t[l+12>>2]=e;L5[t[A>>2]&63](A,l,1)|0}else{t[n>>2]=r;nw(0,108240,n)|0}fJ(e,A);i=i+1|0}h=f;return}function lJ(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function sJ(e){e=e|0;var A=0,r=0,i=0;i=Rv(e,108014,1)|0;Sd(i,137483,280,1)|0;A=sd(e)|0;while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;cJ(r,i);r=qw(e,r)|0}A=cd(e,A)|0}A=sd(i)|0;while(1){if(!A)break;r=cd(i,A)|0;oJ(A);Ed(e,A)|0;A=r}vk(i)|0;return}function cJ(e,A){e=e|0;A=A|0;var r=0,a=0;r=t[e>>2]&3;a=t[((r|0)==3?e:e+48|0)+40>>2]|0;r=t[((r|0)==2?e:e+-48|0)+40>>2]|0;if(!((i[(t[a+16>>2]|0)+118>>0]|0)==0?!(i[(t[r+16>>2]|0)+118>>0]|0):0)){a=uJ(a,A)|0;r=AJ(e,a,uJ(r,A)|0)|0;a=t[e+16>>2]|0;A=a+8|0;r=t[r+16>>2]|0;t[r+8>>2]=t[A>>2];t[A>>2]=0;A=a+96|0;t[r+96>>2]=t[A>>2];t[A>>2]=0;A=a+108|0;t[r+108>>2]=t[A>>2];t[A>>2]=0;A=a+100|0;t[r+100>>2]=t[A>>2];t[A>>2]=0;a=a+104|0;t[r+104>>2]=t[a>>2];t[a>>2]=0;bJ(e)}return}function oJ(e){e=e|0;var A=0,r=0,i=0;i=e+16|0;A=t[i>>2]|0;r=t[A+132>>2]|0;if(r){G2(r);A=t[i>>2]|0}r=t[A+8>>2]|0;if(r){F5[t[(t[r+4>>2]|0)+4>>2]&127](e);A=t[i>>2]|0}SF(t[A+104>>2]|0);SF(t[(t[i>>2]|0)+108>>2]|0);Ud(e,137447)|0;return}function uJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;a=Bd(e)|0;e:do{if(i[(t[e+16>>2]|0)+118>>0]|0){hd(A,e,1)|0;e=C1(Mk(e)|0,58)|0;if(!e)ge(111208,107661,1225,108292);A=e+1|0;e=gd(a,A,0)|0;if(!e){e=gd(a,A,1)|0;Sd(e,137447,304,1)|0;A=Vw(a,1,0)|0;while(1){if(!A)break e;n=Pw(e,A)|0;r=t[A+12>>2]|0;if((n|0)!=(r|0))Mw(e,A,r)|0;A=Vw(a,1,A)|0}}}}while(0);return e|0}function bJ(e){e=e|0;var A=0;A=e+16|0;G2(t[(t[A>>2]|0)+144>>2]|0);hJ(e);SF(t[(t[A>>2]|0)+96>>2]|0);SF(t[(t[A>>2]|0)+108>>2]|0);SF(t[(t[A>>2]|0)+100>>2]|0);SF(t[(t[A>>2]|0)+104>>2]|0);Ud(e,137460)|0;return}function hJ(e){e=e|0;var A=0,r=0,i=0;i=e+16|0;e=t[i>>2]|0;A=t[e+8>>2]|0;if(A){r=0;while(1){e=t[A>>2]|0;if((r|0)>=(t[A+4>>2]|0))break;G2(t[e+(r*48|0)>>2]|0);r=r+1|0;A=t[(t[i>>2]|0)+8>>2]|0}G2(e);G2(t[(t[i>>2]|0)+8>>2]|0);e=t[i>>2]|0}t[e+8>>2]=0;return}function wJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=zw(e,A,r,0)|0;if(!a)a=zw(e,A,r,i)|0;return a|0}function kJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+32|0;l=b;f=b+8|0;s=b+16|0;o=C1(e,59)|0;u=A+4|0;r=t[u>>2]|0;c=A+8|0;if(r>>>0>=(t[c>>2]|0)>>>0){ow(A,1)|0;r=t[u>>2]|0}t[u>>2]=r+1;i[r>>0]=38;if(((o|0)!=0?(a=o-e|0,(a+-2|0)>>>0<=6):0)?(X4(s,e,a)|0,i[s+a>>0]=0,t[f>>2]=s,n=r8(f,23664,252,8,96)|0,(n|0)!=0):0){t[l>>2]=t[n+4>>2];T4(s,137395,l)|0;e=t[u>>2]|0;if(e>>>0>=(t[c>>2]|0)>>>0){ow(A,1)|0;e=t[u>>2]|0}t[u>>2]=e+1;i[e>>0]=35;bw(A,s)|0;e=t[u>>2]|0;if(e>>>0>=(t[c>>2]|0)>>>0){ow(A,1)|0;e=t[u>>2]|0}t[u>>2]=e+1;i[e>>0]=59;e=o+1|0}h=b;return e|0}function dJ(e,A){e=e|0;A=A|0;return e1(t[e>>2]|0,t[A>>2]|0)|0}function vJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+1072|0;c=k+8|0;s=k;l=k+16|0;b=k+24|0;t[l>>2]=e;if((t[47322]|0)!=(A|0)){t[47322]=A;i[194958]=0}cw(b,1024,k+40|0);w=b+4|0;u=b+8|0;while(1){a=e+1|0;t[l>>2]=a;r=i[e>>0]|0;if(!(r<<24>>24))break;do{if((r&255)<192)if(r<<24>>24==38){a=mJ(l)|0;if(!a)r=38;else{if(a>>>0<127){r=a&255;break}e=t[w>>2]|0;r=e>>>0>=(t[u>>2]|0)>>>0;if(a>>>0<2047){if(r){ow(b,1)|0;e=t[w>>2]|0}t[w>>2]=e+1;i[e>>0]=a>>>6|192;r=(a&63|128)&255;break}if(r){ow(b,1)|0;e=t[w>>2]|0}t[w>>2]=e+1;i[e>>0]=a>>>12|224;e=t[w>>2]|0;if(e>>>0>=(t[u>>2]|0)>>>0){ow(b,1)|0;e=t[w>>2]|0}t[w>>2]=e+1;i[e>>0]=a>>>6&63|128;r=(a&63|128)&255}}else{f=0;o=9}else if((r&255)>=224)if((r&255)>=240)if((r&255)<248){f=3;o=9}else{if(!(i[194958]|0)){t[s>>2]=Mk(A)|0;nw(0,109707,s)|0;i[194958]=1}f=-1;r=gJ(r,b)|0;o=9}else{f=2;o=9}else{f=1;o=9}}while(0);do{if((o|0)==9){o=0;n=0;while(1){if((n|0)>=(f|0)){o=34;break}if((i[a>>0]&-64)<<24>>24!=-128)break;e=t[w>>2]|0;if(e>>>0>=(t[u>>2]|0)>>>0){ow(b,1)|0;e=t[w>>2]|0}t[w>>2]=e+1;i[e>>0]=r;n=n+1|0;r=i[a>>0]|0;a=a+1|0}if((o|0)==34){o=0;t[l>>2]=a;break}t[l>>2]=a;if(!(i[194958]|0)){n=Mk(A)|0;t[c>>2]=f+1;t[c+4>>2]=n;nw(0,109828,c)|0;i[194958]=1}r=gJ(r,b)|0}}while(0);e=t[w>>2]|0;if(e>>>0>=(t[u>>2]|0)>>>0){ow(b,1)|0;e=t[w>>2]|0}t[w>>2]=e+1;i[e>>0]=r;e=t[l>>2]|0}e=t[w>>2]|0;if(e>>>0>=(t[u>>2]|0)>>>0){ow(b,1)|0;e=t[w>>2]|0}i[e>>0]=0;u=t[b>>2]|0;t[w>>2]=u;w=o3(u)|0;hw(b);h=k;return w|0}function gJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;s=h;h=h+16|0;n=s;i[n>>0]=e;i[n+1>>0]=0;n=pJ(n)|0;f=A+4|0;l=A+8|0;r=U2(n)|0;a=n;while(1){if((r|0)<=1)break;e=t[f>>2]|0;if(e>>>0>=(t[l>>2]|0)>>>0){ow(A,1)|0;e=t[f>>2]|0}c=i[a>>0]|0;t[f>>2]=e+1;i[e>>0]=c;r=r+-1|0;a=a+1|0}c=i[a>>0]|0;G2(n);h=s;return c|0}function mJ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+32|0;f=l;A=l+8|0;r=t[e>>2]|0;e:do{if((i[r>>0]|0)!=35){t[f>>2]=A;n=0;A:while(1){if((n|0)>=8){A=0;break e}a=i[r+n>>0]|0;switch(a<<24>>24){case 0:{A=0;break e}case 59:break A;default:{}}i[A>>0]=a;A=A+1|0;n=n+1|0}i[A>>0]=0;A=r8(f,23664,252,8,96)|0;if(!A)A=0;else{r=r+(n+1)|0;A=t[A+4>>2]|0}}else{f=i[r+1>>0]|0;A=f&255;A:do{if((f|32)<<24>>24==120){f=0;n=2;while(1){if((n|0)>=8){a=f;break A}a=i[r+n>>0]|0;A=a&255;if((a+-65&255)>=6)if((a+-97&255)>=6)if((a+-48&255)<10)a=-48;else{a=f;break A}else a=-87;else a=-55;A=a+A|0;f=A+(f<<4)|0;n=n+1|0}}else{a=0;n=1;while(1){if((n|0)>=8)break A;f=i[r+n>>0]|0;A=f&255;if((f+-48&255)>=10)break A;a=(a*10|0)+-48+A|0;n=n+1|0}}}while(0);A=(A|0)==59;r=A?r+(n+1)|0:r;A=A?a:0}}while(0);t[e>>2]=r;h=l;return A|0}function pJ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+1056|0;n=c;l=c+8|0;t[n>>2]=e;cw(l,1024,c+24|0);s=l+4|0;f=l+8|0;while(1){t[n>>2]=e+1;A=i[e>>0]|0;if(!(A<<24>>24))break;e=A&255;if(A<<24>>24==38){e=mJ(n)|0;if(!e){e=38;a=6}else a=5}else a=5;do{if((a|0)==5){a=0;if(e>>>0<127)a=6;else{A=t[s>>2]|0;r=A>>>0>=(t[f>>2]|0)>>>0;if(e>>>0<2047){if(r){ow(l,1)|0;A=t[s>>2]|0}t[s>>2]=A+1;i[A>>0]=e>>>6|192;A=t[s>>2]|0;if(A>>>0>=(t[f>>2]|0)>>>0){ow(l,1)|0;A=t[s>>2]|0}e=e&63|128;break}if(r){ow(l,1)|0;A=t[s>>2]|0}t[s>>2]=A+1;i[A>>0]=e>>>12|224;A=t[s>>2]|0;if(A>>>0>=(t[f>>2]|0)>>>0){ow(l,1)|0;A=t[s>>2]|0}t[s>>2]=A+1;i[A>>0]=e>>>6&63|128;A=t[s>>2]|0;if(A>>>0>=(t[f>>2]|0)>>>0){ow(l,1)|0;A=t[s>>2]|0}e=e&63|128}}}while(0);if((a|0)==6){A=t[s>>2]|0;if(A>>>0>=(t[f>>2]|0)>>>0){ow(l,1)|0;A=t[s>>2]|0}}t[s>>2]=A+1;i[A>>0]=e;e=t[n>>2]|0}e=t[s>>2]|0;if(e>>>0>=(t[f>>2]|0)>>>0){ow(l,1)|0;e=t[s>>2]|0}i[e>>0]=0;f=t[l>>2]|0;t[s>>2]=f;s=o3(f)|0;hw(l);h=c;return s|0}function EJ(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=h;h=h+1040|0;n=l;cw(n,1024,l+16|0);f=n+4|0;a=n+8|0;while(1){A=e+1|0;r=i[e>>0]|0;if(!(r<<24>>24))break;if((r&255)<127){e=t[f>>2]|0;if(e>>>0>=(t[a>>2]|0)>>>0){ow(n,1)|0;e=t[f>>2]|0}t[f>>2]=e+1;i[e>>0]=r;e=A;continue}else{r=i[A>>0]&63|r<<6&255;A=t[f>>2]|0;if(A>>>0>=(t[a>>2]|0)>>>0){ow(n,1)|0;A=t[f>>2]|0}t[f>>2]=A+1;i[A>>0]=r;e=e+2|0;continue}}e=t[f>>2]|0;if(e>>>0>=(t[a>>2]|0)>>>0){ow(n,1)|0;e=t[f>>2]|0}i[e>>0]=0;a=t[n>>2]|0;t[f>>2]=a;f=o3(a)|0;hw(n);h=l;return f|0}function BJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0;u=h;h=h+80|0;i=u+48|0;r=u+32|0;a=u+64|0;n=u+16|0;f=u;l=A+16|0;s=e+16|0;o=t[s>>2]|0;if(((+c[l>>3]>=+c[o+48>>3]?+c[o+64>>3]>=+c[A>>3]:0)?+c[A+24>>3]>=+c[o+56>>3]:0)?+c[o+72>>3]>=+c[A+8>>3]:0){o=o+16|0;t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];t[r+8>>2]=t[l+8>>2];t[r+12>>2]=t[l+12>>2];t[i>>2]=t[A>>2];t[i+4>>2]=t[A+4>>2];t[i+8>>2]=t[A+8>>2];t[i+12>>2]=t[A+12>>2];yJ(n,r,i);t[r>>2]=t[o>>2];t[r+4>>2]=t[o+4>>2];t[r+8>>2]=t[o+8>>2];t[r+12>>2]=t[o+12>>2];t[i>>2]=t[n>>2];t[i+4>>2]=t[n+4>>2];t[i+8>>2]=t[n+8>>2];t[i+12>>2]=t[n+12>>2];jx(f,r,i);t[a>>2]=e;t[a+4>>2]=0;r=t[(t[(t[(t[s>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;t[i>>2]=t[f>>2];t[i+4>>2]=t[f+4>>2];t[i+8>>2]=t[f+8>>2];t[i+12>>2]=t[f+12>>2];r=Z5[r&127](a,i)|0}else r=0;h=u;return r|0}function yJ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=(+c[r+8>>3]+ +c[A+8>>3])*.5;c[e>>3]=(+c[r>>3]+ +c[A>>3])*.5;c[e+8>>3]=i;return}function CJ(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,n=0,f=0.0,l=0,s=0,o=0,u=0;i=h;h=h+80|0;l=i+64|0;s=i+48|0;o=i;u=i+32|0;n=i+16|0;c[o>>3]=+c[e+24>>3]*.5;c[o+8>>3]=+c[e+32>>3]*.5;e=e+56|0;t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];t[s+12>>2]=t[e+12>>2];t[l>>2]=t[o>>2];t[l+4>>2]=t[o+4>>2];t[l+8>>2]=t[o+8>>2];t[l+12>>2]=t[o+12>>2];jx(u,s,l);f=+c[u>>3];a=+c[u+8>>3];t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];t[s+12>>2]=t[e+12>>2];t[l>>2]=t[o>>2];t[l+4>>2]=t[o+4>>2];t[l+8>>2]=t[o+8>>2];t[l+12>>2]=t[o+12>>2];Ux(n,s,l);r=+c[n+8>>3];if((+c[A+16>>3]>=f?+c[n>>3]>=+c[A>>3]:0)?+c[A+24>>3]>=a:0)e=r>=+c[A+8>>3]&1;else e=0;h=i;return e|0}function IJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+80|0;c=u+48|0;s=u;f=e+16|0;e=t[f>>2]|0;l=t[e+8>>2]|0;e:do{if((l|0)!=0?(n=l+8|0,t[s>>2]=t[n>>2],t[s+4>>2]=t[n+4>>2],t[s+8>>2]=t[n+8>>2],t[s+12>>2]=t[n+12>>2],t[s+16>>2]=t[n+16>>2],t[s+20>>2]=t[n+20>>2],t[s+24>>2]=t[n+24>>2],t[s+28>>2]=t[n+28>>2],t[c>>2]=t[A>>2],t[c+4>>2]=t[A+4>>2],t[c+8>>2]=t[A+8>>2],t[c+12>>2]=t[A+12>>2],t[c+16>>2]=t[A+16>>2],t[c+20>>2]=t[A+20>>2],t[c+24>>2]=t[A+24>>2],t[c+28>>2]=t[A+28>>2],(ZJ(s,c)|0)!=0):0){r=l+4|0;e=0;while(1){if((e|0)>=(t[r>>2]|0))break;i=s;a=(t[l>>2]|0)+(e*48|0)|0;n=i+48|0;do{t[i>>2]=t[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(n|0));t[c>>2]=t[A>>2];t[c+4>>2]=t[A+4>>2];t[c+8>>2]=t[A+8>>2];t[c+12>>2]=t[A+12>>2];t[c+16>>2]=t[A+16>>2];t[c+20>>2]=t[A+20>>2];t[c+24>>2]=t[A+24>>2];t[c+28>>2]=t[A+28>>2];if(!((GJ(s,c)|0)<<24>>24))e=e+1|0;else{e=1;break e}}e=t[f>>2]|0;o=7}else o=7}while(0);do{if((o|0)==7){e=t[e+96>>2]|0;if(e|0?(t[c>>2]=t[A>>2],t[c+4>>2]=t[A+4>>2],t[c+8>>2]=t[A+8>>2],t[c+12>>2]=t[A+12>>2],t[c+16>>2]=t[A+16>>2],t[c+20>>2]=t[A+20>>2],t[c+24>>2]=t[A+24>>2],t[c+28>>2]=t[A+28>>2],(CJ(e,c)|0)<<24>>24):0){e=1;break}e=0}}while(0);h=u;return e|0}function ZJ(e,A){e=e|0;A=A|0;if((+c[e+16>>3]>=+c[A>>3]?+c[A+16>>3]>=+c[e>>3]:0)?+c[e+24>>3]>=+c[A+8>>3]:0)e=+c[A+24>>3]>=+c[e+8>>3]&1;else e=0;return e|0}function GJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+96|0;c=u+64|0;s=u+48|0;l=u+32|0;a=u+16|0;n=u;o=e+4|0;r=t[o>>2]|0;if(!r)ge(109937,107661,1637,109945);i=t[e>>2]|0;t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];t[n+8>>2]=t[i+8>>2];t[n+12>>2]=t[i+12>>2];i=1;while(1){if((i|0)>=(r|0)){f=7;break}r=(t[e>>2]|0)+(i<<4)|0;t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];t[l>>2]=t[r>>2];t[l+4>>2]=t[r+4>>2];t[l+8>>2]=t[r+8>>2];t[l+12>>2]=t[r+12>>2];t[s>>2]=t[n>>2];t[s+4>>2]=t[n+4>>2];t[s+8>>2]=t[n+8>>2];t[s+12>>2]=t[n+12>>2];t[c>>2]=t[A>>2];t[c+4>>2]=t[A+4>>2];t[c+8>>2]=t[A+8>>2];t[c+12>>2]=t[A+12>>2];t[c+16>>2]=t[A+16>>2];t[c+20>>2]=t[A+20>>2];t[c+24>>2]=t[A+24>>2];t[c+28>>2]=t[A+28>>2];if((CF(l,s,c)|0)!=-1){r=1;break}t[n>>2]=t[a>>2];t[n+4>>2]=t[a+4>>2];t[n+8>>2]=t[a+8>>2];t[n+12>>2]=t[a+12>>2];i=i+1|0;r=t[o>>2]|0}do{if((f|0)==7){r=t[e+8>>2]|0;if(r|0?(n=e+16|0,f=t[e>>2]|0,t[l>>2]=t[n>>2],t[l+4>>2]=t[n+4>>2],t[l+8>>2]=t[n+8>>2],t[l+12>>2]=t[n+12>>2],t[s>>2]=t[f>>2],t[s+4>>2]=t[f+4>>2],t[s+8>>2]=t[f+8>>2],t[s+12>>2]=t[f+12>>2],t[c>>2]=t[A>>2],t[c+4>>2]=t[A+4>>2],t[c+8>>2]=t[A+8>>2],t[c+12>>2]=t[A+12>>2],t[c+16>>2]=t[A+16>>2],t[c+20>>2]=t[A+20>>2],t[c+24>>2]=t[A+24>>2],t[c+28>>2]=t[A+28>>2],(LJ(l,s,r,c)|0)<<24>>24):0){r=1;break}r=t[e+12>>2]|0;if(r|0?(f=e+32|0,o=(t[e>>2]|0)+((t[o>>2]|0)+-1<<4)|0,t[l>>2]=t[f>>2],t[l+4>>2]=t[f+4>>2],t[l+8>>2]=t[f+8>>2],t[l+12>>2]=t[f+12>>2],t[s>>2]=t[o>>2],t[s+4>>2]=t[o+4>>2],t[s+8>>2]=t[o+8>>2],t[s+12>>2]=t[o+12>>2],t[c>>2]=t[A>>2],t[c+4>>2]=t[A+4>>2],t[c+8>>2]=t[A+8>>2],t[c+12>>2]=t[A+12>>2],t[c+16>>2]=t[A+16>>2],t[c+20>>2]=t[A+20>>2],t[c+24>>2]=t[A+24>>2],t[c+28>>2]=t[A+28>>2],(LJ(l,s,r,c)|0)<<24>>24):0){r=1;break}r=0}}while(0);h=u;return r|0}function LJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0;o=h;h=h+160|0;n=o+144|0;a=o+128|0;u=o+96|0;f=o+64|0;l=o+32|0;s=o;b=+c[i+16>>3];t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];t[a+12>>2]=t[e+12>>2];t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];_E(u,a,n,1.0,r);if(((b>=+c[u>>3]?(t[a>>2]=t[e>>2],t[a+4>>2]=t[e+4>>2],t[a+8>>2]=t[e+8>>2],t[a+12>>2]=t[e+12>>2],t[n>>2]=t[A>>2],t[n+4>>2]=t[A+4>>2],t[n+8>>2]=t[A+8>>2],t[n+12>>2]=t[A+12>>2],_E(f,a,n,1.0,r),+c[f+16>>3]>=+c[i>>3]):0)?(b=+c[i+24>>3],t[a>>2]=t[e>>2],t[a+4>>2]=t[e+4>>2],t[a+8>>2]=t[e+8>>2],t[a+12>>2]=t[e+12>>2],t[n>>2]=t[A>>2],t[n+4>>2]=t[A+4>>2],t[n+8>>2]=t[A+8>>2],t[n+12>>2]=t[A+12>>2],_E(l,a,n,1.0,r),b>=+c[l+8>>3]):0)?(t[a>>2]=t[e>>2],t[a+4>>2]=t[e+4>>2],t[a+8>>2]=t[e+8>>2],t[a+12>>2]=t[e+12>>2],t[n>>2]=t[A>>2],t[n+4>>2]=t[A+4>>2],t[n+8>>2]=t[A+8>>2],t[n+12>>2]=t[A+12>>2],_E(s,a,n,1.0,r),+c[s+24>>3]>=+c[i+8>>3]):0)a=1;else a=0;h=o;return a|0}function QJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;n=h;h=h+16|0;a=n;e:do{if((e|0)!=0?(r=i[e>>0]|0,r<<24>>24!=0):0){do{switch(r<<24>>24|0){case 48:{A=2;break e}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{A=10;break e}case 67:case 99:{r=e+1|0;if(!(N1(r,109960)|0)){A=4;break e}if(!(N1(r,109966)|0)){A=12;break e}break}case 70:case 102:{if(!(N1(e+1|0,109974)|0)){A=2;break e}break}case 76:case 108:{if(!(N1(e+1|0,109979)|0)){A=2;break e}break}case 78:case 110:{r=e+1|0;if(!(N1(r,109983)|0)){A=0;break e}if(!(N1(r,109987)|0)){A=2;break e}break}case 79:case 111:{if(!(N1(e+1|0,109989)|0)){A=8;break e}break}case 80:case 112:{if(!(N1(e+1|0,109994)|0)){A=6;break e}break}case 83:case 115:{if(!(N1(e+1|0,110002)|0)){A=10;break e}break}case 84:case 116:{if(!(N1(e+1|0,110008)|0)){A=10;break e}break}case 89:case 121:{if(!(N1(e+1|0,110012)|0)){A=10;break e}break}default:{}}}while(0);t[a>>2]=e;nw(0,110015,a)|0}}while(0);h=n;return A|0}function DJ(e,A){e=e|0;A=A|0;var r=0;r=Hw(e,110056)|0;if(r)if(!(i[r>>0]|0))A=0;else A=QJ(r,A)|0;e=(t[e+16>>2]|0)+136|0;a[e>>1]=A|f[e>>1];return}function zJ(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var t=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0.0,w=0,k=0.0,d=0,v=0.0,g=0,m=0,p=0,E=0;p=h;h=h+32|0;w=p+16|0;d=p;g=a&1;m=a&2;e:do{if((r|0)==2){v=+c[e+16>>3];t=+c[e>>3];l=+c[e+24>>3];f=+c[e+8>>3];t=t-(v-t);c[w>>3]=t;c[d>>3]=v;f=f-(l-f);c[w+8>>3]=f;c[d+8>>3]=l}else{n=+c[e>>3];c[d>>3]=n;c[w>>3]=n;l=+c[e+8>>3];o=d+8|0;c[o>>3]=l;u=w+8|0;c[u>>3]=l;a=0;t=n;f=l;while(1){if((a|0)>=(r|0)){v=n;break e}E=e+(a<<4)|0;k=+c[E>>3];s=+c[(k>3];c[w>>3]=s;v=+c[e+(a<<4)+8>>3];b=+c[(v>3];c[u>>3]=b;k=+c[(k>n?E:d)>>3];c[d>>3]=k;v=+c[(v>l?E:d)+8>>3];c[o>>3]=v;a=a+1|0;t=s;f=b;n=k;l=v}}}while(0);n=(v-t)*.5;k=n+t;b=(l-f)*.5;s=b+f;if(!g){t=l-s;l=i;f=+Y(+l);l=+W(+l);if(!m){n=f*t-s;t=-s-b*f}else{t=f*t;n=s-t;t=t+s}c[A+8>>3]=n;c[A+24>>3]=t;i=l*(v-k);c[A>>3]=k-i;c[A+16>>3]=i+k}else{i=+D(+(b*b+n*n));c[A+8>>3]=m|0?s:-s;c[A>>3]=k;c[A+16>>3]=i*.25;c[A+24>>3]=i}h=p;return}function WJ(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0;i=e+16|0;a=t[i>>2]|0;if(!(A<<24>>24)){r=+c[a+32>>3]*36.0;c[a+88>>3]=r;e=a+40|0}else{r=+c[a+40>>3]*36.0;c[a+88>>3]=r;e=a+32|0}c[a+96>>3]=r;c[(t[i>>2]|0)+80>>3]=+c[e>>3]*72.0;return}function YJ(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+32|0;s=u+8|0;a=u+4|0;n=u;r=t[A>>2]&3;i=t[((r|0)==3?A:A+48|0)+40>>2]|0;c=(t[(t[i+16>>2]|0)+232>>2]|0)+-1|0;e=t[(t[e+16>>2]|0)+196>>2]|0;f=t[e+(c<<6)+4>>2]|0;e=t[e+(c<<6)>>2]|0;c=s+8|0;t[c>>2]=-1;t[s>>2]=-1;o=s+12|0;t[o>>2]=e;l=s+4|0;t[l>>2]=e;MJ(i,t[((r|0)==2?A:A+-48|0)+40>>2]|0,a,n);a=t[a>>2]|0;n=t[n>>2]|0;r=0;i=e;A=-1;while(1){if((r|0)>=(i|0))break;i=i+-1|0;VJ(t[f+(r<<2)>>2]|0,s,a,n);if((r|0)!=(i|0))VJ(t[f+(i<<2)>>2]|0,s,a,n);e=t[l>>2]|0;A=t[s>>2]|0;if((e-A|0)<2)break;else r=r+1|0}if((A|0)>(e|0))e=(t[o>>2]|0)+(t[c>>2]|0)|0;else e=e+A|0;h=u;return(e+1|0)/2|0|0}function FJ(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;n=e+16|0;a=t[(t[n>>2]|0)+196>>2]|0;i=a+(A<<6)|0;a=t[a+(A<<6)+4>>2]|0;if(!a)a=$F((t[i>>2]<<2)+8|0)|0;else a=AM(a,(t[i>>2]<<2)+8|0)|0;i=t[(t[n>>2]|0)+196>>2]|0;t[i+(A<<6)+4>>2]=a;i=t[i+(A<<6)>>2]|0;while(1){if((i|0)<=(r|0))break;f=i+-1|0;l=t[a+(f<<2)>>2]|0;t[a+(i<<2)>>2]=l;l=(t[l+16>>2]|0)+236|0;t[l>>2]=(t[l>>2]|0)+1;i=f}f=zL(e)|0;l=a+(r<<2)|0;t[l>>2]=f;f=t[f+16>>2]|0;t[f+236>>2]=r;t[f+232>>2]=A;n=(t[(t[n>>2]|0)+196>>2]|0)+(A<<6)|0;f=(t[n>>2]|0)+1|0;t[n>>2]=f;t[a+(f<<2)>>2]=0;return t[l>>2]|0}function MJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;e=t[(t[e+16>>2]|0)+236>>2]|0;A=t[(t[A+16>>2]|0)+236>>2]|0;a=(e|0)>(A|0);t[r>>2]=a?A:e;t[i>>2]=a?e:A;return}function VJ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+16|0;f=o+4|0;n=o;e=t[e+16>>2]|0;do{if((i[e+156>>0]|0)==1){c=t[e+236>>2]|0;if(t[e+176>>2]|0){l=t[e+180>>2]|0;e=0;n=0;f=0;while(1){s=t[l+(f<<2)>>2]|0;if(!s)break;u=t[(t[(t[((t[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(u|0)>(r|0);e=s?(u|0)<(a|0)?e:1:e;n=s?n:1;f=f+1|0}if(n<<24>>24!=0&e<<24>>24==0){t[A>>2]=c+1;break}if(!(n<<24>>24==0&e<<24>>24!=0))break;t[A+4>>2]=c+-1;break}if((t[e+184>>2]|0)!=2)ge(88397,88417,63,88424);l=t[e+180>>2]|0;u=t[l>>2]|0;l=t[l+4>>2]|0;MJ(t[((t[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,t[((t[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,f,n);l=t[n>>2]|0;if((l|0)<=(r|0)){t[A>>2]=c;t[A+8>>2]=c;break}e=t[f>>2]|0;if((e|0)>=(a|0)){t[A+4>>2]=c;t[A+12>>2]=c;break}n=(e|0)<(r|0);f=(l|0)>(a|0);if(!(f&n)){if(!(!n?!((l|0)<(a|0)&(e|0)==(r|0)):0))t[A+8>>2]=c;if(!f?!((l|0)==(a|0)&(e|0)>(r|0)):0)break;t[A+12>>2]=c}}}while(0);h=o;return}function NJ(e){e=e|0;t[47134]=1;aH(e);t[47134]=0;return}function RJ(e){e=e|0;t[47134]=2;aH(e);t[47134]=0;return}function xJ(e){e=e|0;var A=0;Sd(e,137447,304,1)|0;Fx(e);A=KF((f[(t[(Bd(e)|0)+16>>2]|0)+176>>1]|0)<<3)|0;t[(t[e+16>>2]|0)+132>>2]=A;WJ(e,t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1);return}function JJ(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0.0;v=h;h=h+64|0;l=v+48|0;b=v+40|0;s=v+24|0;f=v+8|0;k=v+56|0;o=v;do{if((e|0)!=0?(d=r+16|0,w=t[(t[d>>2]|0)+132>>2]|0,n=Pw(r,e)|0,(i[n>>0]|0)!=0):0){i[k>>0]=0;e=w+8|0;if((t[47137]|0)>2?(t[f>>2]=w,t[f+4>>2]=e,t[f+8>>2]=w+16,t[f+12>>2]=k,(V3(n,88535,f)|0)>2):0){i[(t[d>>2]|0)+119>>0]=1;n=t[47137]|0;e:do{if(+c[23293]>0.0){e=0;while(1){if((e|0)>=(n|0))break e;b=w+(e<<3)|0;c[b>>3]=+c[b>>3]/+c[23293];e=e+1|0}}}while(0);if((n|0)>3)gP(r,a,3);if((i[k>>0]|0)!=33){if(!A){e=1;break}if(!((mx(Pw(r,A)|0)|0)<<24>>24)){e=1;break}}i[(t[d>>2]|0)+119>>0]=3;e=1;break}t[s>>2]=w;t[s+4>>2]=e;t[s+8>>2]=k;if((V3(n,101749,s)|0)<=1){t[l>>2]=Mk(r)|0;t[l+4>>2]=n;nw(1,88549,l)|0;e=0;break}i[(t[d>>2]|0)+119>>0]=1;n=t[47137]|0;e:do{if(+c[23293]>0.0){e=0;while(1){if((e|0)>=(n|0))break e;s=w+(e<<3)|0;c[s>>3]=+c[s>>3]/+c[23293];e=e+1|0}}}while(0);do{if((n|0)>2){e=t[47171]|0;if((e|0?(u=Pw(r,e)|0,u|0):0)?(t[b>>2]=o,(V3(u,101209,b)|0)==1):0){m=+c[23293];g=+c[o>>3];c[w+16>>3]=m>0.0?g/m:g;gP(r,a,3);break}mP(r,a)}}while(0);if((i[k>>0]|0)!=33){if(!A){e=1;break}if(!((mx(Pw(r,A)|0)|0)<<24>>24)){e=1;break}}i[(t[d>>2]|0)+119>>0]=3;e=1}else e=0}while(0);h=v;return e|0}function HJ(e){e=e|0;var A=0,r=0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;bJ(A);A=qw(e,A)|0}oJ(r);r=cd(e,r)|0}PJ(e);return}function PJ(e){e=e|0;if((t[47134]|0)!=0|(t[46795]|0)<0)dP(e);if((yd(e)|0)!=(e|0))qd(e,0,137483);return}function XJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+48|0;o=k+32|0;b=k;s=zw(e,0,102637,0)|0;r=zw(e,0,102671,0)|0;w=(px(Hw(e,88593)|0,0)|0)<<24>>24!=0;if(!r)r=zw(e,0,102671,195059)|0;kP(e)|0;u=e+16|0;f=0;while(1){l=t[(t[(t[u>>2]|0)+152>>2]|0)+(f<<2)>>2]|0;if(!l){a=12;break}n=l+16|0;a=t[n>>2]|0;if(!(i[a+119>>0]|0)){if(y1(Mk(l)|0,108006,7)|0){a=8;break}a=t[n>>2]|0}a=t[a+108>>2]|0;if(a|0)SJ(l,a,102633);f=f+1|0}e:do{if((a|0)==8){w=Mk(l)|0;r=Mk(e)|0;t[o>>2]=w;t[o+4>>2]=r;nw(1,88605,o)|0;r=-1}else if((a|0)==12){jJ(e,s,r);l=UJ(e)|0;r=t[(t[u>>2]|0)+8>>2]|0;if(!(t[r+88>>2]|0))r=0;else{t[r+84>>2]=0;r=1}n=(A|0)!=0;f=(r|0)!=0;if(!(f|n&(t[47134]|0)==1^1)?(AU(e)|0)!=0:0){a=t[(t[u>>2]|0)+12>>2]|0;if(!a)a=1;else{i[a+81>>0]=0;a=1}}else a=0;Xx(e);if(f){A=(t[u>>2]|0)+16|0;bB(b,e);t[A>>2]=t[b>>2];t[A+4>>2]=t[b+4>>2];t[A+8>>2]=t[b+8>>2];t[A+12>>2]=t[b+12>>2];t[A+16>>2]=t[b+16>>2];t[A+20>>2]=t[b+20>>2];t[A+24>>2]=t[b+24>>2];t[A+28>>2]=t[b+28>>2]}if(!n){t[47138]=1;a=sd(e)|0;while(1){if(!a)break e;w=t[a+16>>2]|0;b=t[w+132>>2]|0;c[w+16>>3]=+c[b>>3]*72.0;c[w+24>>3]=+c[b+8>>3]*72.0;a=cd(e,a)|0}}do{if(!(w|f)){w=t[u>>2]|0;if(!(+c[w+16>>3]!=0.0)?!(+c[w+24>>3]!=0.0):0)break;PH(e)}}while(0);if(!((l|0)!=0&(a|(JH(e)|0)<<24>>24!=0))){if((l|0)==2){t[47138]=1;break}}else TJ(e);xH(e,0)}}while(0);h=k;return r|0}function SJ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;s=h;h=h+48|0;l=s+32|0;a=s+24|0;n=s+16|0;f=s;e=Hw(e,r)|0;if(e|0?(t[l>>2]=a,t[l+4>>2]=n,(V3(e,105503,l)|0)==2):0){l=A+56|0;qJ(f,+c[a>>3],+c[n>>3]);t[l>>2]=t[f>>2];t[l+4>>2]=t[f+4>>2];t[l+8>>2]=t[f+8>>2];t[l+12>>2]=t[f+12>>2];i[A+81>>0]=1}h=s;return}function jJ(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0;o=h;h=h+48|0;s=o+32|0;a=o+24|0;n=o+16|0;f=o;l=e+16|0;if((A|0?(t[(t[l>>2]|0)+12>>2]|0)!=0:0)?(u=Pw(e,A)|0,t[s>>2]=a,t[s+4>>2]=n,(V3(u,105503,s)|0)==2):0){u=(t[(t[l>>2]|0)+12>>2]|0)+56|0;qJ(f,+c[a>>3],+c[n>>3]);t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[u+8>>2]=t[f+8>>2];t[u+12>>2]=t[f+12>>2];i[(t[(t[l>>2]|0)+12>>2]|0)+81>>0]=1}e:do{if(r|0){a=xv(e)|0;while(1){if(!a)break e;KJ(a,e,A,r);a=Jv(a)|0}}}while(0);h=o;return}function UJ(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if(mk(e)|0){a=zw(e,2,102623,0)|0;if(!((a|0)==0|(t[47134]|0)<2)){A=0;i=sd(e)|0;while(1){if(!i)break;r=Ow(e,i)|0;while(1){if(!r)break;n=A+((OJ(a,r)|0)!=0&1)|0;r=qw(e,r)|0;A=n}i=cd(e,i)|0}if(A){A=(A|0)==(mk(e)|0);A=A?2:1}else A=0}else A=0}else A=2;return A|0}function TJ(e){e=e|0;var A=0,r=0,i=0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;hJ(A);i=A+16|0;SF(t[(t[i>>2]|0)+96>>2]|0);SF(t[(t[i>>2]|0)+108>>2]|0);SF(t[(t[i>>2]|0)+100>>2]|0);SF(t[(t[i>>2]|0)+104>>2]|0);A=qw(e,A)|0}r=cd(e,r)|0}return}function OJ(e,A){e=e|0;A=A|0;var r=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0;Z=h;h=h+96|0;C=Z+72|0;B=Z+56|0;I=Z+48|0;y=Z+32|0;E=Z+16|0;d=Z+88|0;v=Z+8|0;g=Z;m=Z+84|0;p=Z+80|0;e=Pw(A,e)|0;do{if(i[e>>0]|0){WE(A,m,p);k=1;a=0;r=0;l=0.0;f=0.0;s=0.0;n=0.0;e:while(1){t[E>>2]=v;t[E+4>>2]=g;t[E+8>>2]=d;if((V3(e,88642,E)|0)==2){w=1;e=e+(t[d>>2]|0)|0;f=+c[v>>3];n=+c[g>>3]}else w=r;t[y>>2]=v;t[y+4>>2]=g;t[y+8>>2]=d;if((V3(e,88654,y)|0)==2){b=1;e=e+(t[d>>2]|0)|0;l=+c[v>>3];s=+c[g>>3]}else b=a;o=_J(e)|0;if(!((o|0)>3&((o|0)%3|0|0)==1)){r=8;break}u=$F(o<<4)|0;r=u;a=o;while(1){if(!a)break;t[B>>2]=v;t[B+4>>2]=g;t[B+8>>2]=d;if((V3(e,88724,B)|0)<2){r=13;break e}G=e+(t[d>>2]|0)|0;c[r>>3]=+c[v>>3];c[r+8>>3]=+c[g>>3];r=r+16|0;a=a+-1|0;e=G}while(1){r=i[e>>0]|0;a=e+1|0;if(!(I1(r<<24>>24)|0))break;else e=a}G=r<<24>>24==0;e=G?e:a;k=G?0:k;a=gR(A,o)|0;if(w|0){t[a+8>>2]=t[m>>2];c[a+16>>3]=f;c[a+24>>3]=n}if(b|0){t[a+12>>2]=t[p>>2];c[a+32>>3]=l;c[a+40>>3]=s}r=0;while(1){if((r|0)>=(o|0))break;G=(t[a>>2]|0)+(r<<4)|0;L=u+(r<<4)|0;t[G>>2]=t[L>>2];t[G+4>>2]=t[L+4>>2];t[G+8>>2]=t[L+8>>2];t[G+12>>2]=t[L+12>>2];r=r+1|0}G2(u);if(!k){r=26;break}else{a=b;r=w}}if((r|0)==8){hJ(A);if(i[193771]|0){e=0;break}i[193771]=1;L=Mk(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Mk(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;t[I>>2]=L;t[I+4>>2]=e;nw(0,88667,I)|0;e=0;break}else if((r|0)==13){if(!(i[193771]|0)){i[193771]=1;G=Mk(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;L=Mk(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;t[C>>2]=G;t[C+4>>2]=L;nw(0,88734,C)|0}G2(u);hJ(A);e=0;break}else if((r|0)==26){a=A+16|0;e=t[a>>2]|0;r=t[e+96>>2]|0;if(r){SJ(A,r,102637);e=t[a>>2]|0}r=t[e+108>>2]|0;if(r){SJ(A,r,102633);e=t[a>>2]|0}r=t[e+100>>2]|0;if(r){SJ(A,r,102640);e=t[a>>2]|0}e=t[e+104>>2]|0;if(!e){e=1;break}SJ(A,e,102648);e=1;break}}else e=0}while(0);h=Z;return e|0}function _J(e){e=e|0;var A=0,r=0;r=0;do{while(1){A=i[e>>0]|0;if(!(I1(A&255)|0))break;else e=e+1|0}e:do{if(!(A<<24>>24))A=0;else{r=r+1|0;while(1){if(!(A<<24>>24)){A=0;break e}if(A<<24>>24==59|(I1(A&255)|0)!=0)break e;A=e+1|0;e=A;A=i[A>>0]|0}}}while(0)}while((I1(A&255)|0)!=0);return r|0}function qJ(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function KJ(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;f=h;h=h+32|0;a=f;if((y1(Mk(e)|0,108006,7)|0)==0?($J(e,i,a)|0)!=0:0){Sd(e,137483,280,1)|0;l=(t[e+16>>2]|0)+16|0;t[l>>2]=t[a>>2];t[l+4>>2]=t[a+4>>2];t[l+8>>2]=t[a+8>>2];t[l+12>>2]=t[a+12>>2];t[l+16>>2]=t[a+16>>2];t[l+20>>2]=t[a+20>>2];t[l+24>>2]=t[a+24>>2];t[l+28>>2]=t[a+28>>2];eH(A,e);jJ(e,r,i)}else n=4;e:do{if((n|0)==4){e=xv(e)|0;while(1){if(!e)break e;KJ(e,A,r,i);e=Jv(e)|0}}}while(0);h=f;return}function $J(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0,f=0,l=0,s=0;f=h;h=h+48|0;l=f+32|0;n=f;s=Pw(e,A)|0;e=n+8|0;A=n+24|0;t[l>>2]=n;t[l+4>>2]=e;t[l+8>>2]=n+16;t[l+12>>2]=A;if((V3(s,88782,l)|0)==4){i=+c[e>>3];a=+c[A>>3];if(i>a){c[e>>3]=a;c[A>>3]=i}t[r>>2]=t[n>>2];t[r+4>>2]=t[n+4>>2];t[r+8>>2]=t[n+8>>2];t[r+12>>2]=t[n+12>>2];t[r+16>>2]=t[n+16>>2];t[r+20>>2]=t[n+20>>2];t[r+24>>2]=t[n+24>>2];t[r+28>>2]=t[n+28>>2];e=1}else e=0;h=f;return e|0}function eH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;i=e+16|0;r=t[i>>2]|0;n=r+180|0;e=t[n>>2]|0;a=e+1|0;t[n>>2]=a;r=t[r+184>>2]|0;if(!r)e=KF((e<<2)+8|0)|0;else e=eM(r,e+2|0,4,a)|0;t[(t[i>>2]|0)+184>>2]=e;t[e+(a<<2)>>2]=A;VF(A);return}function AH(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+48|0;o=u+8|0;c=u;l=u+16|0;s=u+12|0;f=Hw(e,88798)|0;do{if((f|0)!=0?(a=i[f>>0]|0,a<<24>>24!=0):0){a=a&255;if(!(V1(a)|0))if((A|0)==2|(a+-48|0)>>>0<10)A=f;else break;else{if(!(y1(f,88804,4)|0)){A=0;break}if(!(y1(f,105511,7)|0)){A=1;break}if(y1(f,88809,6)|0)if((A|0)==2)A=f;else break;else A=f+6|0}if(!(((n[A>>0]|0)+-48|0)>>>0<10?(t[c>>2]=s,(V3(A,99933,c)|0)>=1):0)){c=D3()|0;c=(nA(0)|0)^c;t[s>>2]=c;t[o>>2]=c;T4(l,99933,o)|0;Xw(e,88798,l)|0}t[r>>2]=t[s>>2];A=2}}while(0);h=u;return A|0}function rH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=h;h=h+16|0;i=a+4|0;t[i>>2]=1;r=AH(e,r,i)|0;if((r|0)!=2&(t[46796]|0)!=0)nw(0,88816,a)|0;if((r|0)==1)iH(e,A);f8(t[i>>2]|0);h=a;return r|0}function iH(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0.0,l=0,s=0,o=0.0;n=+(A|0);f=6.283185307179586/n;r=sd(e)|0;a=0.0;while(1){if(!r)break;o=+W(+a)*n;l=t[r+16>>2]|0;s=t[l+132>>2]|0;c[s>>3]=o;c[s+8>>3]=+Y(+a)*n;i[l+119>>0]=1;if((t[47137]|0)>2)mP(r,A);r=cd(e,r)|0;a=a+f}return}function aH(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0;d=h;h=h+80|0;A=d+24|0;u=d+32|0;s=d;w=d+28|0;o=d+64|0;k=+c[23293];do{if(t[47134]|0){c[23293]=72.0;tH(e);nH(e);if((XJ(e,1)|0)<0){nw(3,88864,A)|0;break}else{gV(e,0);a=32;break}}else{b=px(Hw(e,88593)|0,0)|0;c[23293]=+kx(e);tH(e);n=fH(e)|0;Ij(e,s,0)|0;f=lH(e)|0;l=uE(e,0,u)|0;A=oE(e,-1,8)|0;t[46795]=A;r=(A|0)<0;do{if(!l){if((n|0)!=0&r){t[46795]=8;t[u+16>>2]=2;a=11;break}t[u+16>>2]=2;if((A|0)<=-1){sH(e,n,f);Lj(e,s)|0;nH(e);if(!(b<<24>>24)){TH(e);break}else{cH(e);break}}else a=11}else if(r){t[46795]=8;a=11}else a=11}while(0);if((a|0)==11){l=vp(e,w,88892,o)|0;A=t[w>>2]|0;do{if((A|0)<=1){sH(e,n,f);Lj(e,s)|0;if(!(b<<24>>24)){TH(e);break}else{cH(e);break}}else{a=b<<24>>24==0;r=0;while(1){if((r|0)>=(A|0))break;A=t[l+(r<<2)>>2]|0;Mp(A)|0;sH(A,n,f);Lj(A,s)|0;DJ(A,2);if(a)TH(A);else cH(A);r=r+1|0;A=t[w>>2]|0}if(!(i[o>>0]|0))r=0;else{r=KF(A)|0;i[r>>0]=1;A=t[w>>2]|0}t[u+8>>2]=t[46795];t[u+20>>2]=r;t[u+12>>2]=1;lE(A,l,e,u)|0;G2(r)}}while(0);Xx(e);nH(e);A=0;while(1){if((A|0)>=(t[w>>2]|0))break;u=t[l+(A<<2)>>2]|0;dP(u);Ud(u,137483)|0;Ed(e,u)|0;A=A+1|0}G2(l)}gV(e,b<<24>>24==0&1);a=32}}while(0);if((a|0)==32)c[23293]=k;h=d;return}function tH(e){e=e|0;var A=0,r=0,i=0,n=0;DJ(e,2);i=hx(e,zw(e,0,91368,0)|0,2,2)|0;A=(hx(e,zw(e,0,91374,0)|0,i,2)|0)&65535;a[(t[(yd(e)|0)+16>>2]|0)+176>>1]=A;A=t[(t[e+60>>2]|0)+16>>2]|0;n=A+176|0;r=a[n>>1]|0;r=(r&65535)<10?r:10;a[n>>1]=r;r=r&65535;t[47137]=r;a[A+178>>1]=(i|0)<(r|0)?i:r;mH(e);return}function nH(e){e=e|0;var A=0,r=0,i=0,a=0;a=h;h=h+1040|0;i=a;r=a+8|0;e:do{if((t[47137]|0)>2&(t[47171]|0)!=0){A=sd(e)|0;while(1){if(!A)break e;c[i>>3]=+c[(t[(t[A+16>>2]|0)+132>>2]|0)+16>>3]*72.0;T4(r,101209,i)|0;Mw(A,t[47171]|0,r)|0;A=cd(e,A)|0}}}while(0);h=a;return}function fH(e){e=e|0;var A=0,r=0,a=0;a=h;h=h+16|0;r=a;A=Hw(e,89577)|0;e:do{if(!A)e=1;else{switch(i[A>>0]|0){case 0:{e=1;break e}case 75:{if(!(e1(A,89582)|0)){e=0;break e}break}case 109:{if(!(e1(A,89585)|0)){e=1;break e}break}case 104:{if(!(e1(A,89591)|0)){e=2;break e}break}default:{}}e=Mk(e)|0;t[r>>2]=A;t[r+4>>2]=e;nw(0,89596,r)|0;e=1}}while(0);h=a;return e|0}function lH(e){e=e|0;var A=0,r=0,a=0,n=0,f=0;f=h;h=h+32|0;n=f+16|0;a=f+8|0;r=f;A=Hw(e,89360)|0;e:do{if(!A)e=0;else{switch(i[A>>0]|0){case 0:{e=0;break e}case 99:{if(!(e1(A,89366)|0)){e=1;break e}break}case 115:{if(!(e1(A,89374)|0)){e=2;break e}if(!(e1(A,89381)|0)){e=0;break e}break}case 109:{if(!(e1(A,89391)|0)){if(zw(e,2,92493,0)|0){e=3;break e}t[r>>2]=Mk(e)|0;nw(0,89395,r)|0;nw(3,89458,a)|0;e=0;break e}break}default:{}}e=Mk(e)|0;t[n>>2]=A;t[n+4>>2]=e;nw(0,89515,n)|0;e=0}}while(0);h=f;return e|0}function sH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=Hw(e,91061)|0;if(!i)if((A|0)==1)i=200;else i=(gk(e)|0)*100|0;else i=K3(i)|0;t[47136]=i;i=cP(e,A)|0;do{if(!((i|0)<2|(t[47136]|0)<0))if(!A){uH(e,i,r);break}else{oH(e,i,A,r,t[47137]|0);break}}while(0);return}function cH(e){e=e|0;Xx(e);xH(e,1);return}function oH(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+64|0;d=m+40|0;b=m+24|0;u=m;w=m+48|0;g=m+44|0;k=(r|0)==2;f=rH(e,A,k?0:2)|0;l=gH(e)|0;s=l|4;v=$F(a<<2)|0;t[v>>2]=$F(P(A<<3,a)|0)|0;n=t[47137]|0;a=1;while(1){if((a|0)>=(n|0))break;t[v+(a<<2)>>2]=(t[v>>2]|0)+((P(a,A)|0)<<3);a=a+1|0}n=(f|0)==0;a=n?s:l;if(0){s=t[15712]|0;l=t[47136]|0;o=+c[23294];t[u>>2]=i;t[u+4>>2]=n&1;t[u+8>>2]=a&3;t[u+12>>2]=l;c[u+16>>3]=o;a3(s,89173,u)|0;G3(89230,15,1,s)|0;lx();G3(89246,13,1,s)|0}u=wH(e,A,w,r,i,g)|0;if(0){s=t[15712]|0;o=+sx();t[b>>2]=A;c[b+8>>3]=o;a3(s,89260,b)|0}if((r|0)!=1){o=+wx(e,zw(e,0,89279,0)|0,0.0,-1797693134862315708145274.0e284);if(k){a=hU(u,A,t[w>>2]|0,v,t[g>>2]|0,t[47137]|0,a,i,t[47136]|0,o)|0;n=12}else n=14}else{a=rP(u,A,t[w>>2]|0,v,t[g>>2]|0,t[47137]|0,a,i,t[47136]|0)|0;n=12}if((n|0)==12)if((a|0)<0)nw(3,89289,d)|0;else n=14;e:do{if((n|0)==14){n=sd(e)|0;while(1){if(!n)break e;s=t[n+16>>2]|0;f=t[s+120>>2]|0;l=t[47137]|0;s=s+132|0;a=0;while(1){if((a|0)>=(l|0))break;c[(t[s>>2]|0)+(a<<3)>>3]=+c[(t[v+(a<<2)>>2]|0)+(f<<3)>>3];a=a+1|0}n=cd(e,n)|0}}}while(0);JU(u);G2(t[v>>2]|0);G2(v);G2(t[g>>2]|0);h=m;return}function uH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0.0,l=0;n=h;h=h+48|0;a=n+32|0;i=n;switch(r|0){case 2:{bH(e,A);break}case 1:{if(!(cU(e,A)|0)){t[i>>2]=Mk(e)|0;nw(0,88902,i)|0;nw(3,93364,n+8|0)|0;nw(3,88954,n+16|0)|0;nw(3,89026,n+24|0)|0;YP(e,A)}break}default:{YP(e,A);if((r|0)==3)hH(e)}}EP(e,A);BP(e,A);if(0){i=t[15712]|0;l=t[47136]|0;f=+c[23294];t[a>>2]=r;t[a+4>>2]=l;c[a+8>>3]=f;a3(i,89064,a)|0;lx()}yP(e,A);h=n;return}function bH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=wH(e,A,l,0,2,0)|0;f=PT(n,A)|0;i=e+16|0;e=0;while(1){if((e|0)>=(A|0))break;a=f+(e<<2)|0;r=0;while(1){if((r|0)==(A|0))break;c[(t[(t[(t[i>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(r<<3)>>3]=+(t[(t[a>>2]|0)+(r<<2)>>2]|0);r=r+1|0}e=e+1|0}G2(t[f>>2]|0);G2(f);JU(n);h=l;return}function hH(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0.0;a=e+16|0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;n=t[A>>2]&3;i=(t[t[((n|0)==3?A:A+48|0)+40>>2]>>2]|0)>>>4;n=(t[t[((n|0)==2?A:A+-48|0)+40>>2]>>2]|0)>>>4;if((i|0)!=(n|0)){l=+c[(t[A+16>>2]|0)+136>>3];f=t[(t[a>>2]|0)+160>>2]|0;c[(t[f+(n<<2)>>2]|0)+(i<<3)>>3]=l;c[(t[f+(i<<2)>>2]|0)+(n<<3)>>3]=l}A=qw(e,A)|0}r=cd(e,r)|0}return}function wH(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,o=0,u=0,b=0,h=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0.0,Y=0;f=mk(e)|0;z=cV()|0;if((a|0)==2){l=0;L=0}else{L=zw(e,2,92493,0)|0;l=(t[47174]|0)!=0&1;L=(L|0)!=0}I=(i|1|0)==3;Q=$F(A*20|0)|0;D=$F(A<<2)|0;o=(f<<1)+A<<2;u=$F(o)|0;C=I|L;if(C)a=$F(o)|0;else a=0;G=(l|0)!=0;if(G)f=$F(o)|0;else f=0;if(I)l=$F(o)|0;else l=0;o=0;B=sd(e)|0;y=0;while(1){if(!B)break;bV(z);if((t[(t[B+16>>2]|0)+120>>2]|0)!=(y|0)){Z=12;break}t[D+(y<<2)>>2]=B;m=Q+(y*20|0)+4|0;t[m>>2]=u;p=Q+(y*20|0)+8|0;t[p>>2]=C?a:0;E=Q+(y*20|0)+12|0;t[E>>2]=G?f:0;t[Q+(y*20|0)+16>>2]=I?l:0;d=1;g=ek(e,B)|0;v=1;k=o;u=u+4|0;a=C?a+4|0:a;f=G?f+4|0:f;l=I?l+4|0:l;while(1){if(!g)break;b=t[g>>2]&3;w=g+-48|0;o=g+48|0;do{if((t[((b|0)==2?g:w)+40>>2]|0)==(t[((b|0)==3?g:o)+40>>2]|0)){b=d;w=v;o=k}else{b=kH(z,g,d)|0;if((b|0)!=(d|0)){if(G){w=(t[E>>2]|0)+(b<<2)|0;s[w>>2]=+c[(t[g+16>>2]|0)+128>>3]+ +s[w>>2]}if(!L){b=d;w=v;o=k;break}b=(t[p>>2]|0)+(b<<2)|0;W=+c[(t[g+16>>2]|0)+136>>3];h=+(~~+s[b>>2]|0);s[b>>2]=W>h?W:h;b=d;w=v;o=k;break}Y=t[g>>2]&3;o=(Y|0)==3?g:o;k=k+1|0;b=d+1|0;d=u+4|0;t[u>>2]=t[(t[(t[((t[o+40>>2]|0)==(B|0)?(Y|0)==2?g:w:o)+40>>2]|0)+16>>2]|0)+120>>2];if(G){s[f>>2]=+c[(t[g+16>>2]|0)+128>>3];f=f+4|0}if(L){o=a+4|0;s[a>>2]=+c[(t[g+16>>2]|0)+136>>3];if(I){a=o;Z=27}else a=o}else if(I){s[a>>2]=1.0;a=a+4|0;Z=27}if((Z|0)==27){Z=0;o=Hw(g,101559)|0;if((o|0)!=0?(y1(o,135709,4)|0)==0:0)h=0.0;else h=(B|0)==(t[((t[g>>2]&3|0)==2?g:w)+40>>2]|0)?1.0:-1.0;s[l>>2]=h;l=l+4|0}w=v+1|0;o=k;u=d}}while(0);d=b;g=Ak(e,g,B)|0;v=w;k=o}t[Q+(y*20|0)>>2]=v;t[t[m>>2]>>2]=y;o=k;B=cd(e,B)|0;y=y+1|0}if((Z|0)==12)ge(89103,89118,819,89130);if(I)dH(Q,A,i,D);b=(o|0)/2|0;e:do{if((b|0)!=(mk(e)|0)){o=(b<<1)+A<<2;l=AM(t[Q+4>>2]|0,o)|0;if(L)a=AM(t[Q+8>>2]|0,o)|0;if(G){u=0;f=AM(t[Q+12>>2]|0,o)|0}else u=0;while(1){if((u|0)>=(A|0))break e;o=t[Q+(u*20|0)>>2]|0;t[Q+(u*20|0)+4>>2]=l;if(L){t[Q+(u*20|0)+8>>2]=a;a=a+(o<<2)|0}if(G){t[Q+(u*20|0)+12>>2]=f;f=f+(o<<2)|0}u=u+1|0;l=l+(o<<2)|0}}}while(0);t[r>>2]=b;if(!n)G2(D);else t[n>>2]=D;hV(z);return Q|0}function kH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=t[A>>2]&3;i=t[(t[(t[((a|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;A=t[(t[(t[((a|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;a=(i|0)>(A|0);return wV(e,a?A:i,a?i:A,r)|0}function dH(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;n=0;while(1){if((n|0)>=(A|0)){n=0;break}f=t[(t[a+(n<<2)>>2]|0)+16>>2]|0;i[f+157>>0]=0;i[f+158>>0]=0;n=n+1|0}while(1){if((n|0)>=(A|0))break;if(!(i[(t[(t[a+(n<<2)>>2]|0)+16>>2]|0)+157>>0]|0))vH(e,n,r,a);n=n+1|0}return}function vH(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,c=0,o=0,u=0,b=0,h=0.0,w=0,k=0;k=(t[a+(A<<2)>>2]|0)+16|0;o=t[k>>2]|0;i[o+157>>0]=1;i[o+158>>0]=1;o=e+(A*20|0)|0;u=e+(A*20|0)+16|0;b=e+(A*20|0)+4|0;h=(r|0)==3?-1.0:1.0;c=1;e:while(1){if((c|0)>=(t[o>>2]|0)){n=14;break}n=(t[u>>2]|0)+(c<<2)|0;do{if(!(+s[n>>2]==1.0)){w=t[(t[b>>2]|0)+(c<<2)>>2]|0;f=t[(t[a+(w<<2)>>2]|0)+16>>2]|0;if(!(i[f+158>>0]|0)){if(i[f+157>>0]|0)break;vH(e,w,r,a);break}s[n>>2]=h;f=e+(w*20|0)+4|0;l=t[e+(w*20|0)>>2]|0;n=1;while(1){if((n|0)>=(l|0)){n=9;break e}if((t[(t[f>>2]|0)+(n<<2)>>2]|0)==(A|0))break;n=n+1|0}s[(t[e+(w*20|0)+16>>2]|0)+(n<<2)>>2]=-1.0}}while(0);c=c+1|0}if((n|0)==9)ge(89144,89118,721,89164);else if((n|0)==14){i[(t[k>>2]|0)+158>>0]=0;return}}function gH(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=r;e=hx(e,zw(e,0,89305,0)|0,2,0)|0;if((e|0)==0|(e|0)>2){t[A>>2]=89305;nw(0,89314,A)|0;e=2}h=r;return e|0}function mH(e){e=e|0;var A=0,r=0,i=0;r=gk(e)|0;t[46796]=zw(e,1,102623,0)|0;i=zw(e,1,90660,0)|0;A=sd(e)|0;while(1){if(!A)break;xJ(A);JJ(t[46796]|0,i,A,r)|0;A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;pH(A);A=qw(e,A)|0}r=cd(e,r)|0}return}function pH(e){e=e|0;var A=0.0;Sd(e,137460,176,1)|0;Mx(e)|0;A=+wx(e,t[47174]|0,1.0,1.0);c[(t[e+16>>2]|0)+128>>3]=A;return}function EH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0;e=KF(64)|0;r=e+8|0;i=A+8|0;n=r+48|0;do{t[r>>2]=t[i>>2];r=r+4|0;i=i+4|0}while((r|0)<(n|0));A=t[A+56>>2]|0;t[e+56>>2]=A;a[(t[A+16>>2]|0)+168>>1]=1;return e|0}function BH(e,A,r){e=e|0;A=A|0;r=r|0;G2(A);return}function yH(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=t[A>>2]|0;i=t[r>>2]|0;if(e>>>0<=i>>>0)if(e>>>0>=i>>>0){i=t[A+24>>2]|0;e=t[r+24>>2]|0;if(i>>>0<=e>>>0)if(i>>>0>=e>>>0){e=~~(+c[A+8>>3]-+c[r+8>>3]);if(!e){e=~~(+c[A+16>>3]-+c[r+16>>3]);if(!e){e=~~(+c[A+32>>3]-+c[r+32>>3]);if(!e)e=~~(+c[A+40>>3]-+c[r+40>>3])}}}else e=-1;else e=1}else e=-1;else e=1;return e|0}function CH(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,c=0,o=0.0;c=h;h=h+16|0;n=c;f=A+16|0;l=a[(t[f>>2]|0)+168>>1]|0;s=l<<16>>16;if(l<<16>>16!=1&(i[194954]|0)==0){l=$F(s<<2)|0;n=0;while(1){if((n|0)>=(s|0))break;t[l+(n<<2)>>2]=A;A=t[(t[A+16>>2]|0)+172>>2]|0;n=n+1|0}o=+(r|0);GR(e,l,0,s,o,o,17792);A=0;while(1){if((A|0)>=(s|0))break;n=t[l+(A<<2)>>2]|0;f=n+16|0;if(t[(t[f>>2]|0)+96>>2]|0){r=Bd(t[((t[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;Hx(r,t[(t[f>>2]|0)+96>>2]|0)}FR(n);A=A+1|0}G2(l)}else{t[n>>2]=A;o=+(r|0);GR(e,n,0,1,o,o,17792);if(t[(t[f>>2]|0)+96>>2]|0){s=Bd(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;Hx(s,t[(t[f>>2]|0)+96>>2]|0)}FR(A)}h=c;return}function IH(e){e=e|0;return 0}function ZH(e){e=e|0;return 0}function GH(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0.0,g=0,m=0,p=0,E=0.0,B=0.0,y=0.0,C=0,I=0,Z=0,G=0,L=0,Q=0,z=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;H=h;h=h+384|0;x=H+368|0;J=H+112|0;f=H+32|0;d=H+336|0;M=H+320|0;V=H+304|0;N=H+288|0;R=H+272|0;n=H+256|0;Q=H+240|0;z=H+224|0;F=H+208|0;g=H+192|0;m=H+176|0;p=H+160|0;C=H+144|0;I=H+128|0;Z=H+96|0;G=H+16|0;L=H;e:do{switch(oN(e)|0){case 3:case 1:{a=KF(8)|0;C=e+16|0;e=t[C>>2]|0;n=t[e+12>>2]|0;do{if(!(r<<24>>24)){e=t[n+8>>2]|0;if((e|0)>2){y=0.0;f=t[n+44>>2]|0;r=0;w=+s[A>>2];k=+s[A+4>>2];break}else{y=+s8()*.01;e=8;f=0;r=1;w=0.0;k=0.0;break}}else if(!(t[n+40>>2]&2048)){k=+c[e+88>>3];w=-k;y=+c[e+80>>3];B=y*-.5;c[f>>3]=w;c[f+8>>3]=B;c[f+16>>3]=k;c[f+24>>3]=B;y=y*.5;c[f+32>>3]=k;c[f+40>>3]=y;c[f+48>>3]=w;c[f+56>>3]=y;y=0.0;e=4;r=0;w=0.0;k=0.0;break}else{Jx(d,n);w=+c[d>>3];B=+c[d+8>>3];k=+c[d+16>>3];y=+c[d+24>>3];c[f>>3]=w;c[f+8>>3]=B;c[f+16>>3]=k;c[f+24>>3]=B;c[f+32>>3]=k;c[f+40>>3]=y;c[f+48>>3]=w;c[f+56>>3]=y;y=0.0;e=4;r=0;w=0.0;k=0.0;break}}while(0);t[a+4>>2]=e;d=KF(e<<4)|0;t[a>>2]=d;v=1.0/+(e|0);g=A+8|0;m=A+4|0;p=(e|0)==4;E=-w;B=-k;n=0;while(1){if((e|0)<=(n|0))break e;do{if(r){l=+(n|0)*6.283185307179586*v+y;o=+W(+l);l=+Y(+l);if(!(i[g>>0]|0)){J=t[C>>2]|0;u=l*+s[m>>2]*+c[J+80>>3];l=o*+s[A>>2]*(+c[J+96>>3]+ +c[J+88>>3])}else{J=t[C>>2]|0;u=(+c[J+80>>3]+ +s[m>>2])*l;l=(+c[J+96>>3]+ +c[J+88>>3]+ +s[A>>2])*o}b=l*.5;l=u*.5}else{if(!(i[g>>0]|0)){b=+c[f+(n<<4)>>3]*w;l=+c[f+(n<<4)+8>>3]*k;break}if(!p){b=+c[f+(n<<4)>>3];l=+c[f+(n<<4)+8>>3];u=+D(+(l*l+b*b));b=(w/u+1.0)*b;l=(k/u+1.0)*l;break}switch(n|0){case 0:{o=k;l=w;break}case 1:{o=k;l=E;break}case 2:{o=B;l=E;break}case 3:{o=B;l=w;break}default:{o=0.0;l=0.0}}b=+c[f+(n<<4)>>3]+l;l=+c[f+(n<<4)+8>>3]+o}}while(0);x=t[C>>2]|0;J=e-n+-1|0;c[d+(J<<4)>>3]=+c[x+16>>3]+b;c[d+(J<<4)+8>>3]=+c[x+24>>3]+l;n=n+1|0}}case 2:{L=e+16|0;a=t[(t[L>>2]|0)+12>>2]|0;l=+c[a+16>>3];b=+c[a+24>>3];o=+c[a+32>>3];u=+c[a+40>>3];a=KF(8)|0;t[a+4>>2]=4;e=KF(64)|0;t[a>>2]=e;L=(t[L>>2]|0)+16|0;t[J>>2]=t[L>>2];t[J+4>>2]=t[L+4>>2];t[J+8>>2]=t[L+8>>2];t[J+12>>2]=t[L+12>>2];if(!(i[A+8>>0]|0)){t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(n,l,b,x,A);t[e>>2]=t[n>>2];t[e+4>>2]=t[n+4>>2];t[e+8>>2]=t[n+8>>2];t[e+12>>2]=t[n+12>>2];R=(t[a>>2]|0)+16|0;t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(Q,l,u,x,A);t[R>>2]=t[Q>>2];t[R+4>>2]=t[Q+4>>2];t[R+8>>2]=t[Q+8>>2];t[R+12>>2]=t[Q+12>>2];R=(t[a>>2]|0)+32|0;t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(z,o,u,x,A);t[R>>2]=t[z>>2];t[R+4>>2]=t[z+4>>2];t[R+8>>2]=t[z+8>>2];t[R+12>>2]=t[z+12>>2];R=(t[a>>2]|0)+48|0;t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(F,o,b,x,A);t[R>>2]=t[F>>2];t[R+4>>2]=t[F+4>>2];t[R+8>>2]=t[F+8>>2];t[R+12>>2]=t[F+12>>2];break e}else{y=l-+s[A>>2];F=A+4|0;B=b-+s[F>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(M,y,B,x);t[e>>2]=t[M>>2];t[e+4>>2]=t[M+4>>2];t[e+8>>2]=t[M+8>>2];t[e+12>>2]=t[M+12>>2];M=(t[a>>2]|0)+16|0;B=l-+s[A>>2];y=u+ +s[F>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(V,B,y,x);t[M>>2]=t[V>>2];t[M+4>>2]=t[V+4>>2];t[M+8>>2]=t[V+8>>2];t[M+12>>2]=t[V+12>>2];V=(t[a>>2]|0)+32|0;y=o+ +s[A>>2];B=u+ +s[F>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(N,y,B,x);t[V>>2]=t[N>>2];t[V+4>>2]=t[N+4>>2];t[V+8>>2]=t[N+8>>2];t[V+12>>2]=t[N+12>>2];N=(t[a>>2]|0)+48|0;B=o+ +s[A>>2];y=b-+s[F>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(R,B,y,x);t[N>>2]=t[R>>2];t[N+4>>2]=t[R+4>>2];t[N+8>>2]=t[R+8>>2];t[N+12>>2]=t[R+12>>2];break e}}case 4:{e=e+16|0;a=KF(8)|0;t[a+4>>2]=4;n=KF(64)|0;t[a>>2]=n;f=t[e>>2]|0;R=f+16|0;t[J>>2]=t[R>>2];t[J+4>>2]=t[R+4>>2];t[J+8>>2]=t[R+8>>2];t[J+12>>2]=t[R+12>>2];l=-+c[f+88>>3];if(!(i[A+8>>0]|0)){B=-+c[f+80>>3];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(I,l,B,x,A);t[n>>2]=t[I>>2];t[n+4>>2]=t[I+4>>2];t[n+8>>2]=t[I+8>>2];t[n+12>>2]=t[I+12>>2];R=(t[a>>2]|0)+16|0;N=t[e>>2]|0;B=-+c[N+88>>3];y=+c[N+80>>3];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(Z,B,y,x,A);t[R>>2]=t[Z>>2];t[R+4>>2]=t[Z+4>>2];t[R+8>>2]=t[Z+8>>2];t[R+12>>2]=t[Z+12>>2];R=(t[a>>2]|0)+32|0;N=t[e>>2]|0;y=+c[N+96>>3];B=+c[N+80>>3];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(G,y,B,x,A);t[R>>2]=t[G>>2];t[R+4>>2]=t[G+4>>2];t[R+8>>2]=t[G+8>>2];t[R+12>>2]=t[G+12>>2];R=(t[a>>2]|0)+48|0;N=t[e>>2]|0;B=+c[N+96>>3];y=-+c[N+80>>3];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];QH(L,B,y,x,A);t[R>>2]=t[L>>2];t[R+4>>2]=t[L+4>>2];t[R+8>>2]=t[L+8>>2];t[R+12>>2]=t[L+12>>2];break e}else{y=l-+s[A>>2];N=A+4|0;B=-+c[f+80>>3]-+s[N>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(g,y,B,x);t[n>>2]=t[g>>2];t[n+4>>2]=t[g+4>>2];t[n+8>>2]=t[g+8>>2];t[n+12>>2]=t[g+12>>2];R=(t[a>>2]|0)+16|0;V=t[e>>2]|0;B=-+c[V+88>>3]-+s[A>>2];y=+c[V+80>>3]+ +s[N>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(m,B,y,x);t[R>>2]=t[m>>2];t[R+4>>2]=t[m+4>>2];t[R+8>>2]=t[m+8>>2];t[R+12>>2]=t[m+12>>2];R=(t[a>>2]|0)+32|0;V=t[e>>2]|0;y=+c[V+96>>3]+ +s[A>>2];B=+c[V+80>>3]+ +s[N>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(p,y,B,x);t[R>>2]=t[p>>2];t[R+4>>2]=t[p+4>>2];t[R+8>>2]=t[p+8>>2];t[R+12>>2]=t[p+12>>2];R=(t[a>>2]|0)+48|0;V=t[e>>2]|0;B=+c[V+96>>3]+ +s[A>>2];y=-+c[V+80>>3]-+s[N>>2];t[x>>2]=t[J>>2];t[x+4>>2]=t[J+4>>2];t[x+8>>2]=t[J+8>>2];t[x+12>>2]=t[J+12>>2];LH(C,B,y,x);t[R>>2]=t[C>>2];t[R+4>>2]=t[C+4>>2];t[R+8>>2]=t[C+8>>2];t[R+12>>2]=t[C+12>>2];break e}}default:a=0}}while(0);h=H;return a|0}function LH(e,A,r,i){e=e|0;A=+A;r=+r;i=i|0;r=+c[i+8>>3]+r;c[e>>3]=+c[i>>3]+A;c[e+8>>3]=r;return}function QH(e,A,r,i,a){e=e|0;A=+A;r=+r;i=i|0;a=a|0;r=+s[a+4>>2]*r+ +c[i+8>>3];c[e>>3]=+s[a>>2]*A+ +c[i>>3];c[e+8>>3]=r;return}function DH(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;b=h;h=h+112|0;s=b+88|0;l=b+72|0;c=b+32|0;o=b+16|0;u=b;a=b+56|0;n=b+40|0;f=A+48|0;d=(t[(t[((t[A>>2]&3|0)==3?A:f)+40>>2]|0)+16>>2]|0)+16|0;w=A+16|0;k=(t[w>>2]|0)+16|0;t[l>>2]=t[d>>2];t[l+4>>2]=t[d+4>>2];t[l+8>>2]=t[d+8>>2];t[l+12>>2]=t[d+12>>2];t[s>>2]=t[k>>2];t[s+4>>2]=t[k+4>>2];t[s+8>>2]=t[k+8>>2];t[s+12>>2]=t[k+12>>2];zH(a,l,s);t[o>>2]=t[a>>2];t[o+4>>2]=t[a+4>>2];t[o+8>>2]=t[a+8>>2];t[o+12>>2]=t[a+12>>2];a=A+-48|0;k=(t[(t[((t[A>>2]&3|0)==2?A:a)+40>>2]|0)+16>>2]|0)+16|0;w=(t[w>>2]|0)+56|0;t[l>>2]=t[k>>2];t[l+4>>2]=t[k+4>>2];t[l+8>>2]=t[k+8>>2];t[l+12>>2]=t[k+12>>2];t[s>>2]=t[w>>2];t[s+4>>2]=t[w+4>>2];t[s+8>>2]=t[w+8>>2];t[s+12>>2]=t[w+12>>2];zH(n,l,s);t[u>>2]=t[n>>2];t[u+4>>2]=t[n+4>>2];t[u+8>>2]=t[n+8>>2];t[u+12>>2]=t[n+12>>2];if(!i){n=-1111;a=-1111}else{d=t[A>>2]&3;n=t[(t[(t[((d|0)==2?A:a)+40>>2]|0)+16>>2]|0)+288>>2]|0;a=t[(t[(t[((d|0)==3?A:f)+40>>2]|0)+16>>2]|0)+288>>2]|0}t[l>>2]=t[o>>2];t[l+4>>2]=t[o+4>>2];t[l+8>>2]=t[o+8>>2];t[l+12>>2]=t[o+12>>2];t[s>>2]=t[u>>2];t[s+4>>2]=t[u+4>>2];t[s+8>>2]=t[u+8>>2];t[s+12>>2]=t[u+12>>2];zl(r,l,a,s,n,c)|0;w=c;k=t[w+4>>2]|0;d=e;t[d>>2]=t[w>>2];t[d+4>>2]=k;h=b;return}function zH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[r+8>>3]+ +c[A+8>>3];c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=i;return}function WH(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;m=h;h=h+144|0;w=m+104|0;k=m+88|0;b=m+80|0;u=m+72|0;s=m+64|0;v=m+128|0;c=m+32|0;o=m+124|0;g=m+16|0;d=m;l=m+120|0;f=(t[A+16>>2]|0)+144|0;n=t[f>>2]|0;f=t[f+4>>2]|0;p=s;t[p>>2]=n;t[p+4>>2]=f;p=n;t[g>>2]=t[p>>2];t[g+4>>2]=t[p+4>>2];t[g+8>>2]=t[p+8>>2];t[g+12>>2]=t[p+12>>2];f=n+(f+-1<<4)|0;t[d>>2]=t[f>>2];t[d+4>>2]=t[f+4>>2];t[d+8>>2]=t[f+8>>2];t[d+12>>2]=t[f+12>>2];e:do{if(!(a<<24>>24)){n=-1111;a=-1111}else{n=-1111;a=-1111;f=0;while(1){if((f|0)>=(i|0))break e;if((a|0)==-1111){a=t[r+(f<<2)>>2]|0;t[k>>2]=t[a>>2];t[k+4>>2]=t[a+4>>2];t[w>>2]=t[g>>2];t[w+4>>2]=t[g+4>>2];t[w+8>>2]=t[g+8>>2];t[w+12>>2]=t[g+12>>2];a=(Wl(k,w)|0)==0;a=a?-1111:f}if((n|0)==-1111){n=t[r+(f<<2)>>2]|0;t[k>>2]=t[n>>2];t[k+4>>2]=t[n+4>>2];t[w>>2]=t[d>>2];t[w+4>>2]=t[d+4>>2];t[w+8>>2]=t[d+8>>2];t[w+12>>2]=t[d+12>>2];n=(Wl(k,w)|0)==0;n=n?-1111:f}f=f+1|0}}}while(0);YH(r,i,a,n,l,o);t[c>>2]=0;t[c+4>>2]=0;t[c+8>>2]=0;t[c+12>>2]=0;t[c+16>>2]=0;t[c+20>>2]=0;t[c+24>>2]=0;t[c+28>>2]=0;f=t[l>>2]|0;p=t[o>>2]|0;t[w>>2]=t[s>>2];t[w+4>>2]=t[s+4>>2];if((Yl(f,p,w,c,v)|0)<0){g=Mk(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;p=Mk(t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;t[u>>2]=g;t[u+4>>2]=p;nw(1,89657,u)|0}else{if(0>1){n=t[15712]|0;u=Mk(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;a=A+-48|0;p=Mk(t[((t[A>>2]&3|0)==2?A:a)+40>>2]|0)|0;t[b>>2]=u;t[b+4>>2]=p;a3(n,89705,b)|0;n=A}else{a=A+-48|0;n=A}mR(A,t[((t[n>>2]&3|0)==2?A:a)+40>>2]|0,t[v>>2]|0,t[v+4>>2]|0,17792);G2(f);t[k>>2]=t[g>>2];t[k+4>>2]=t[g+4>>2];t[k+8>>2]=t[g+8>>2];t[k+12>>2]=t[g+12>>2];t[w>>2]=t[d>>2];t[w+4>>2]=t[d+4>>2];t[w+8>>2]=t[d+8>>2];t[w+12>>2]=t[d+12>>2];JR(e,A,k,w)}h=m;return}function YH(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;l=0;f=0;while(1){if((l|0)>=(A|0))break;if(!((l|0)==(r|0)|(l|0)==(i|0)))f=(t[(t[e+(l<<2)>>2]|0)+4>>2]|0)+f|0;l=l+1|0}h=$F(f<<5)|0;l=0;b=0;while(1){if((b|0)>=(A|0))break;e:do{if(!((b|0)==(r|0)|(b|0)==(i|0))){u=e+(b<<2)|0;o=0;while(1){s=t[u>>2]|0;c=t[s+4>>2]|0;if((o|0)>=(c|0))break e;w=o+1|0;k=h+(l<<5)|0;s=(t[s>>2]|0)+(o<<4)|0;t[k>>2]=t[s>>2];t[k+4>>2]=t[s+4>>2];t[k+8>>2]=t[s+8>>2];t[k+12>>2]=t[s+12>>2];s=h+(l<<5)+16|0;c=(t[t[u>>2]>>2]|0)+(((w|0)<(c|0)?w:0)<<4)|0;t[s>>2]=t[c>>2];t[s+4>>2]=t[c+4>>2];t[s+8>>2]=t[c+8>>2];t[s+12>>2]=t[c+12>>2];o=w;l=l+1|0}}}while(0);b=b+1|0}if((l|0)==(f|0)){t[a>>2]=h;t[n>>2]=f;return}else ge(89719,89726,77,89741)}function FH(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;u=h;h=h+32|0;c=u+12|0;i=u;rU(i,e);t[c>>2]=t[i>>2];t[c+4>>2]=t[i+4>>2];t[c+8>>2]=t[i+8>>2];i=sd(e)|0;while(1){if(!i)break;n=Ow(e,i)|0;while(1){if(!n)break;hR(n);n=qw(e,n)|0}i=cd(e,i)|0}f=Uh(17756,t[4581]|0)|0;i=sd(e)|0;while(1){if(!i)break;n=Ow(e,i)|0;while(1){if(!n)break;if((t[47134]|0)>1?(l=t[n+16>>2]|0,(t[l+8>>2]|0)!=0):0){b=l+168|0;a[b>>1]=(a[b>>1]|0)+1<<16>>16}else o=14;if((o|0)==14?(o=0,s=MH(f,n)|0,(s|0)!=(n|0)):0){b=t[s+16>>2]|0;w=b+168|0;a[w>>1]=(a[w>>1]|0)+1<<16>>16;b=b+172|0;t[(t[n+16>>2]|0)+172>>2]=t[b>>2];t[b>>2]=n}n=qw(e,n)|0}i=cd(e,i)|0}Ph(f)|0;if(!(L5[A&63](e,c,r)|0)){t[47138]=1;i=0}else i=1;h=u;return i|0}function MH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0.0,f=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0,w=0,k=0;k=h;h=h+64|0;w=k;i=t[A>>2]&3;f=t[((i|0)==3?A:A+48|0)+40>>2]|0;i=t[((i|0)==2?A:A+-48|0)+40>>2]|0;do{if(f>>>0>=i>>>0){r=A+16|0;if(f>>>0>i>>>0){r=t[r>>2]|0;b=i;i=f;s=+c[r+16>>3];o=+c[r+24>>3];n=+c[r+56>>3];a=+c[r+64>>3];break}b=t[r>>2]|0;l=+c[b+56>>3];u=+c[b+64>>3];n=+c[b+16>>3];a=+c[b+24>>3];if(!(nl)){r=a>u;if(a>2]|0;b=f;s=+c[r+56>>3];o=+c[r+64>>3];n=+c[r+16>>3];a=+c[r+24>>3]}}while(0);t[w+8>>2]=b;c[w+16>>3]=n;c[w+24>>3]=a;t[w+32>>2]=i;c[w+40>>3]=s;c[w+48>>3]=o;t[w+56>>2]=A;w=t[(L5[t[e>>2]&63](e,w,1)|0)+56>>2]|0;h=k;return w|0}function VH(e,A){e=e|0;A=A|0;return FH(e,21,A)|0}function NH(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0.0,W=0;D=h;h=h+112|0;Z=D+88|0;I=D+72|0;g=D+40|0;k=D+8|0;w=D;m=D+64|0;G=D+48|0;L=D+24|0;n=(t[47134]|0)>1&1;do{if((r|0)>5){v=KF((gk(e)|0)<<2)|0;b=(r|0)==8;u=b&1;o=sd(e)|0;d=0;while(1){if(!o)break;f=GH(o,A,u)|0;l=(t[o+16>>2]|0)+288|0;if(!f){t[l>>2]=-1111;f=d}else{t[l>>2]=d;t[v+(d<<2)>>2]=f;f=d+1|0}o=cd(e,o)|0;d=f}if(v){f=KT(v,d)|0;if(f|0){if(b){y=0;C=v;B=v;E=1;break}y=Ll(v,d)|0;C=v;B=v;E=1;break}if(b){nw(0,89755,w)|0;f=0;y=0;C=v;B=v;E=1;break}else{z=+s[A+4>>2];c[k>>3]=+s[A>>2];c[k+8>>3]=z;nw(0,89833,k)|0;f=0;y=0;C=v;B=v;E=1;break}}else{f=0;y=0;C=0;B=0;E=0}}else{f=0;y=0;C=0;d=0;B=0;E=0}}while(0);if(0){l=t[15712]|0;if((r|0)==8&(f|0)!=0)o=89939;else o=(y|0)==0?89925:(r|0)==10?110056:89915;t[g>>2]=o;a3(l,89956,g)|0}p=(y|0)!=0;e:do{if(!p){if((r|0)==8&(f|0)!=0){sA(e,0);n=1}}else{l=sd(e)|0;while(1){if(!l)break e;f=Ow(e,l)|0;while(1){if(!f)break;g=(t[f+16>>2]|0)+144|0;DH(m,f,y,1,0,0);k=m;v=t[k+4>>2]|0;t[g>>2]=t[k>>2];t[g+4>>2]=v;f=qw(e,f)|0}l=cd(e,l)|0}}}while(0);w=(n|0)==0;k=e+60|0;v=(r|0)==10;n=0;b=sd(e)|0;f=0;while(1){if(!b)break;g=b+16|0;A=Ow(e,b)|0;while(1){if(!A)break;u=t[((t[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;l=A+16|0;o=t[l>>2]|0;if(!w?(t[o+8>>2]|0)!=0:0){W=(t[g>>2]|0)+16|0;m=o+16|0;t[I>>2]=t[W>>2];t[I+4>>2]=t[W+4>>2];t[I+8>>2]=t[W+8>>2];t[I+12>>2]=t[W+12>>2];t[Z>>2]=t[m>>2];t[Z+4>>2]=t[m+4>>2];t[Z+8>>2]=t[m+8>>2];t[Z+12>>2]=t[m+12>>2];zH(G,I,Z);u=(t[u+16>>2]|0)+16|0;m=(t[l>>2]|0)+56|0;t[I>>2]=t[u>>2];t[I+4>>2]=t[u+4>>2];t[I+8>>2]=t[u+8>>2];t[I+12>>2]=t[u+12>>2];t[Z>>2]=t[m>>2];t[Z+4>>2]=t[m+4>>2];t[Z+8>>2]=t[m+8>>2];t[Z+12>>2]=t[m+12>>2];zH(L,I,Z);t[I>>2]=t[G>>2];t[I+4>>2]=t[G+4>>2];t[I+8>>2]=t[G+8>>2];t[I+12>>2]=t[G+12>>2];t[Z>>2]=t[L>>2];t[Z+4>>2]=t[L+4>>2];t[Z+8>>2]=t[L+8>>2];t[Z+12>>2]=t[L+12>>2];JR(e,A,I,Z)}else Q=35;e:do{if((Q|0)==35){Q=0;W=a[o+168>>1]|0;l=W<<16>>16;if(W<<16>>16){if((b|0)==(u|0)){if(!n){f=KF(96)|0;t[f+84>>2]=KF(((gk(e)|0)<<5)+11520|0)|0;n=f}CH(n,A,t[(t[(t[k>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!p){iN(e,A,r,17792);break}l=i[194954]|0?1:l;o=A;u=0;while(1){if((u|0)>=(l|0))break e;if(v)WH(e,o,C,d,1);else RH(e,o);o=t[(t[o+16>>2]|0)+172>>2]|0;u=u+1|0}}}}while(0);A=qw(e,A)|0}b=cd(e,b)|0}if(p)Dl(y);if(n|0){G2(t[n+84>>2]|0);G2(f)}if(E){n=0;while(1){if((n|0)>=(d|0))break;G2(t[C+(n<<2)>>2]|0);n=n+1|0}G2(B)}h=D;return 0}function RH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;c=h;h=h+96|0;n=c+64|0;a=c+48|0;r=c+40|0;f=c+80|0;i=c+32|0;l=c+16|0;s=c;o=(t[A+16>>2]|0)+144|0;u=t[o>>2]|0;o=t[o+4>>2]|0;b=i;t[b>>2]=u;t[b+4>>2]=o;b=u;t[l>>2]=t[b>>2];t[l+4>>2]=t[b+4>>2];t[l+8>>2]=t[b+8>>2];t[l+12>>2]=t[b+12>>2];o=u+(o+-1<<4)|0;t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];Cs(n,f);if(0>1){b=t[15712]|0;o=Mk(t[((t[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;i=A+-48|0;u=Mk(t[((t[A>>2]&3|0)==2?A:i)+40>>2]|0)|0;t[r>>2]=o;t[r+4>>2]=u;a3(b,89981,r)|0;r=i;i=A}else{r=A+-48|0;i=A}mR(A,t[((t[i>>2]&3|0)==2?A:r)+40>>2]|0,t[f>>2]|0,t[f+4>>2]|0,17792);t[a>>2]=t[l>>2];t[a+4>>2]=t[l+4>>2];t[a+8>>2]=t[l+8>>2];t[a+12>>2]=t[l+12>>2];t[n>>2]=t[s>>2];t[n+4>>2]=t[s+4>>2];t[n+8>>2]=t[s+8>>2];t[n+12>>2]=t[s+12>>2];JR(e,A,a,n);h=c;return}function xH(e,A){e=e|0;A=A|0;var r=0;r=a[(t[e+16>>2]|0)+136>>1]&14;if(A<<24>>24)JH(e)|0;if(r<<16>>16)VH(e,r&65535)|0;return}function JH(e){e=e|0;var A=0,r=0,i=0,a=0;r=HH(e)|0;A=sd(e)|0;while(1){if(!A)break;i=t[A+16>>2]|0;a=t[i+132>>2]|0;c[i+16>>3]=+c[a>>3]*72.0;c[i+24>>3]=+c[a+8>>3]*72.0;A=cd(e,A)|0}return r|0}function HH(e){e=e|0;var A=0,r=0,i=0,a=0.0,n=0.0,f=0.0,l=0,s=0;e:do{if((t[e+60>>2]|0)==(e|0)?(r=e+16|0,i=t[r>>2]|0,(t[(t[i+8>>2]|0)+84>>2]|0)!=0):0){if(!(+c[i+16>>3]!=0.0)?!(+c[i+24>>3]!=0.0):0)A=0;else{PH(e);A=1;i=t[r>>2]|0}l=(t[i+116>>2]&1|0)==0;if(!l){s=i+32|0;f=+c[s>>3];r=i+40|0;c[s>>3]=+c[r>>3];c[r>>3]=f}r=t[i+8>>2]|0;A:do{switch(t[r+84>>2]|0){case 2:{a=+c[r+64>>3];if(a<=0.0)break e;n=a/+c[i+32>>3];a=+c[r+72>>3]/+c[i+40>>3];if(n<1.0|a<1.0)if(n>3];if(a<=0.0)break e;n=a/+c[i+32>>3];a=+c[r+72>>3]/+c[i+40>>3];if(!(n>1.0&a>1.0))break e;a=n>3];a=+c[i+40>>3]/+c[i+32>>3];if(a1){r=sd(e)|0;while(1){if(!r)break A;A=Ow(e,r)|0;while(1){if(!A)break;if(t[(t[A+16>>2]|0)+8>>2]|0)XH(A,a,n);A=qw(e,A)|0}r=cd(e,r)|0}}}while(0);A=sd(e)|0;while(1){if(!A)break;s=t[(t[A+16>>2]|0)+132>>2]|0;c[s>>3]=+c[s>>3]*a;s=s+8|0;c[s>>3]=+c[s>>3]*n;A=cd(e,A)|0}SH(e,a,n);A=1}else A=0}while(0);return A|0}function PH(e){e=e|0;var A=0,r=0,a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0;u=h;h=h+32|0;s=u+16|0;o=u;A=(t[e+16>>2]|0)+16|0;t[o>>2]=t[A>>2];t[o+4>>2]=t[A+4>>2];t[o+8>>2]=t[A+8>>2];t[o+12>>2]=t[A+12>>2];a=+c[o>>3];n=a*.013888888888888888;f=+c[o+8>>3];l=f*.013888888888888888;A=sd(e)|0;while(1){if(!A)break;r=t[A+16>>2]|0;b=t[r+132>>2]|0;c[b>>3]=+c[b>>3]-n;b=b+8|0;c[b>>3]=+c[b>>3]-l;r=t[r+108>>2]|0;if(r|0?i[r+81>>0]|0:0){b=r+56|0;c[b>>3]=+c[b>>3]-a;b=r+64|0;c[b>>3]=+c[b>>3]-f}A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;if(t[(t[A+16>>2]|0)+8>>2]|0){t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];jH(A,s)}A=qw(e,A)|0}r=cd(e,r)|0}t[s>>2]=t[o>>2];t[s+4>>2]=t[o+4>>2];t[s+8>>2]=t[o+8>>2];t[s+12>>2]=t[o+12>>2];UH(e,s);h=u;return}function XH(e,A,r){e=e|0;A=+A;r=+r;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0.0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0;w=t[e>>2]&3;f=t[(t[(t[((w|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;v=(A+-1.0)*72.0;k=v*+c[f>>3];g=(r+-1.0)*72.0;d=g*+c[f+8>>3];w=t[(t[(t[((w|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;v=v*+c[w>>3];g=g*+c[w+8>>3];w=t[e+16>>2]|0;f=t[w+8>>2]|0;l=t[f+4>>2]|0;s=l+-1|0;e=0;f=t[f>>2]|0;while(1){if((e|0)>=(l|0))break;o=t[f+4>>2]|0;u=o+-1|0;b=(e|0)==(s|0);a=0;n=t[f>>2]|0;while(1){if((a|0)>=(o|0))break;do{if(a|e){h=+c[n>>3];if((a|0)==(u|0)&b){c[n>>3]=h+k;m=n+8|0;c[m>>3]=+c[m>>3]+d;break}else{c[n>>3]=h*A;m=n+8|0;c[m>>3]=+c[m>>3]*r;break}}else{c[n>>3]=+c[n>>3]+v;m=n+8|0;c[m>>3]=+c[m>>3]+g}}while(0);a=a+1|0;n=n+16|0}if(t[f+8>>2]|0){m=f+16|0;c[m>>3]=+c[m>>3]+v;m=f+24|0;c[m>>3]=+c[m>>3]+g}if(t[f+12>>2]|0){m=f+32|0;c[m>>3]=+c[m>>3]+k;m=f+40|0;c[m>>3]=+c[m>>3]+d}e=e+1|0;f=f+48|0}e=t[w+96>>2]|0;if(e|0?i[e+81>>0]|0:0){m=e+56|0;c[m>>3]=+c[m>>3]*A;m=e+64|0;c[m>>3]=+c[m>>3]*r}e=t[w+100>>2]|0;if(e|0?i[e+81>>0]|0:0){m=e+56|0;c[m>>3]=+c[m>>3]+k;m=e+64|0;c[m>>3]=+c[m>>3]+d}e=t[w+104>>2]|0;if(e|0?i[e+81>>0]|0:0){m=e+56|0;c[m>>3]=+c[m>>3]+v;m=e+64|0;c[m>>3]=+c[m>>3]+g}return}function SH(e,A,r){e=e|0;A=+A;r=+r;var a=0,n=0,f=0;f=e+16|0;n=t[f>>2]|0;e=n+32|0;c[e>>3]=+c[e>>3]*A;e=n+40|0;c[e>>3]=+c[e>>3]*r;e=n+16|0;c[e>>3]=+c[e>>3]*A;e=n+24|0;c[e>>3]=+c[e>>3]*r;e=t[n+12>>2]|0;if((e|0)!=0?(i[e+81>>0]|0)!=0:0){a=e+56|0;c[a>>3]=+c[a>>3]*A;a=e+64|0;c[a>>3]=+c[a>>3]*r;a=1;e=n}else{a=1;e=n}while(1){if((a|0)>(t[e+180>>2]|0))break;SH(t[(t[e+184>>2]|0)+(a<<2)>>2]|0,A,r);a=a+1|0;e=t[f>>2]|0}return}function jH(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0;s=t[e+16>>2]|0;e=t[s+8>>2]|0;l=t[e+4>>2]|0;o=A+8|0;e=t[e>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;f=t[e+4>>2]|0;r=t[e>>2]|0;a=0;while(1){if((a|0)>=(f|0))break;c[r>>3]=+c[r>>3]-+c[A>>3];u=r+8|0;c[u>>3]=+c[u>>3]-+c[o>>3];r=r+16|0;a=a+1|0}if(t[e+8>>2]|0){u=e+16|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+24|0;c[u>>3]=+c[u>>3]-+c[o>>3]}if(t[e+12>>2]|0){u=e+32|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+40|0;c[u>>3]=+c[u>>3]-+c[o>>3]}e=e+48|0;n=n+1|0}e=t[s+96>>2]|0;if(e|0?i[e+81>>0]|0:0){u=e+56|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+64|0;c[u>>3]=+c[u>>3]-+c[o>>3]}e=t[s+108>>2]|0;if(e|0?i[e+81>>0]|0:0){u=e+56|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+64|0;c[u>>3]=+c[u>>3]-+c[o>>3]}e=t[s+100>>2]|0;if(e|0?i[e+81>>0]|0:0){u=e+56|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+64|0;c[u>>3]=+c[u>>3]-+c[o>>3]}e=t[s+104>>2]|0;if(e|0?i[e+81>>0]|0:0){u=e+56|0;c[u>>3]=+c[u>>3]-+c[A>>3];u=e+64|0;c[u>>3]=+c[u>>3]-+c[o>>3]}return}function UH(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0,l=0,s=0,o=0;s=h;h=h+16|0;l=s;n=+c[A>>3];f=e+16|0;e=t[f>>2]|0;r=e+32|0;c[r>>3]=+c[r>>3]-n;a=+c[A+8>>3];r=e+40|0;c[r>>3]=+c[r>>3]-a;r=e+16|0;c[r>>3]=+c[r>>3]-n;r=e+24|0;c[r>>3]=+c[r>>3]-a;r=t[e+12>>2]|0;if((r|0)!=0?(i[r+81>>0]|0)!=0:0){o=r+56|0;c[o>>3]=+c[o>>3]-n;r=r+64|0;c[r>>3]=+c[r>>3]-a;r=1}else r=1;while(1){if((r|0)>(t[e+180>>2]|0))break;o=t[(t[e+184>>2]|0)+(r<<2)>>2]|0;t[l>>2]=t[A>>2];t[l+4>>2]=t[A+4>>2];t[l+8>>2]=t[A+8>>2];t[l+12>>2]=t[A+12>>2];UH(o,l);r=r+1|0;e=t[f>>2]|0}h=s;return}function TH(e){e=e|0;var A=0,r=0,i=0,a=0.0,n=0.0,f=0,l=0;f=h;h=h+16|0;r=f;Xx(e);i=e+16|0;A=t[i>>2]|0;a=+c[A+16>>3]*.013888888888888888;n=+c[A+24>>3]*.013888888888888888;A=sd(e)|0;while(1){if(!A)break;l=t[(t[A+16>>2]|0)+132>>2]|0;c[l>>3]=+c[l>>3]-a;l=l+8|0;c[l>>3]=+c[l>>3]-n;A=cd(e,A)|0}l=(t[i>>2]|0)+16|0;t[r>>2]=t[l>>2];t[r+4>>2]=t[l+4>>2];t[r+8>>2]=t[l+8>>2];t[r+12>>2]=t[l+12>>2];OH(e,r);xH(e,1);h=f;return}function OH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0.0,l=0.0;n=h;h=h+16|0;a=n;r=e+16|0;e=1;while(1){i=t[r>>2]|0;if((e|0)>(t[i+180>>2]|0))break;i=t[(t[i+184>>2]|0)+(e<<2)>>2]|0;t[a>>2]=t[A>>2];t[a+4>>2]=t[A+4>>2];t[a+8>>2]=t[A+8>>2];t[a+12>>2]=t[A+12>>2];OH(i,a);e=e+1|0}l=+c[A>>3];a=i+32|0;c[a>>3]=+c[a>>3]-l;f=+c[A+8>>3];A=i+40|0;c[A>>3]=+c[A>>3]-f;A=i+16|0;c[A>>3]=+c[A>>3]-l;A=i+24|0;c[A>>3]=+c[A>>3]-f;h=n;return}function _H(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0.0;w=(r|0)>2;b=0;h=0;l=t[a+4>>2]|0;e=t[a>>2]|0;while(1){if((h|0)>=(A|0)){e=0;break}f=t[(t[n+(h<<2)>>2]|0)+16>>2]|0;o=i[f+119>>0]|0;e:do{if(!(o<<24>>24)){s=e+8|0;c[e>>3]=+s8();f=l+8|0;c[l>>3]=+s8();if(w){e=2;while(1){if((e|0)==(r|0)){l=b;e=s;break e}k=+s8();c[(t[a+(e<<2)>>2]|0)+(h<<3)>>3]=k;e=e+1|0}}else{l=b;e=s}}else{s=t[f+132>>2]|0;u=e+8|0;c[e>>3]=+c[s>>3];f=l+8|0;c[l>>3]=+c[s+8>>3];A:do{if(w){l=2;e=s+16|0;while(1){if((l|0)==(r|0))break A;c[(t[a+(l<<2)>>2]|0)+(h<<3)>>3]=+c[e>>3];l=l+1|0;e=e+8|0}}}while(0);l=(o&255)>1?1:b;e=u}}while(0);b=l;h=h+1|0;l=f}while(1){if((e|0)>=(r|0))break;mO(A,t[a+(e<<2)>>2]|0);e=e+1|0}return b|0}function qH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,o=0.0,u=0,b=0,h=0,w=0;r=KF(((P(A+1|0,A)|0)/2|0)<<2)|0;b=lP(A,A,0.0)|0;h=lP(A,A,0.0)|0;e:do{if(!(t[e+8>>2]|0)){i=0;while(1){if((i|0)>=(A|0))break e;n=t[e+(i*20|0)>>2]|0;f=e+(i*20|0)+4|0;l=b+(i<<2)|0;a=1;while(1){if((a|0)>=(n|0))break;u=t[(t[f>>2]|0)+(a<<2)>>2]|0;c[(t[b+(u<<2)>>2]|0)+(i<<3)>>3]=-1.0;c[(t[l>>2]|0)+(u<<3)>>3]=-1.0;a=a+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(A|0))break e;n=t[e+(i*20|0)>>2]|0;f=e+(i*20|0)+4|0;l=e+(i*20|0)+8|0;u=b+(i<<2)|0;a=1;while(1){if((a|0)>=(n|0))break;w=t[(t[f>>2]|0)+(a<<2)>>2]|0;o=-1.0/+s[(t[l>>2]|0)+(a<<2)>>2];c[(t[b+(w<<2)>>2]|0)+(i<<3)>>3]=o;c[(t[u>>2]|0)+(w<<3)>>3]=o;a=a+1|0}i=i+1|0}}}while(0);e:do{if(!(sU(A,b,h)|0)){G2(r);r=0}else{a=0;f=0;u=A;while(1){if((f|0)>=(A|0))break e;l=h+(f<<2)|0;i=f;n=a;while(1){if((i|0)==(A|0))break;if((f|0)==(i|0))o=0.0;else{w=t[l>>2]|0;o=+c[(t[h+(i<<2)>>2]|0)+(i<<3)>>3]+ +c[w+(f<<3)>>3]+ +c[w+(i<<3)>>3]*-2.0}s[r+(n<<2)>>2]=o;i=i+1|0;n=n+1|0}a=a+u|0;f=f+1|0;u=u+-1|0}}}while(0);sP(b);sP(h);return r|0}function KH(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0;d=h;h=h+16|0;k=d;if(t[e+8>>2]|0){r=$H(e,A)|0;a=0.0;i=0;w=0;while(1){if((w|0)>=(A|0))break;i=i+w|0;b=t[e+(w*20|0)>>2]|0;l=e+(w*20|0)+4|0;o=(P(w,A)|0)-i|0;u=e+(w*20|0)+8|0;f=1;while(1){if((f|0)>=(b|0))break;n=t[(t[l>>2]|0)+(f<<2)>>2]|0;if((n|0)>=(w|0)){n=r+(o+n<<2)|0;v=+s[(t[u>>2]|0)+(f<<2)>>2];a=a+ +Q(+(+s[n>>2]-v));s[n>>2]=v}f=f+1|0}w=w+1|0}if(0){A=t[15712]|0;c[k>>3]=a;a3(A,89997,k)|0}}else r=0;h=d;return r|0}function $H(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+16|0;f=o;l=KF(((P(A+1|0,A)|0)/2|0)<<2)|0;s=KF(A<<2)|0;fU(f,A);r=0;a=0;c=A;while(1){if((r|0)>=(A|0))break;TU(r,e,A,s);i=r;n=a;while(1){if((i|0)==(A|0))break;t[l+(n<<2)>>2]=t[s+(i<<2)>>2];i=i+1|0;n=n+1|0}r=r+1|0;a=a+c|0;c=c+-1|0}G2(s);lU(f);h=o;return l|0}function eP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,c=0,o=0,u=0;u=h;h=h+16|0;f=u;l=KF(((P(A+1|0,A)|0)/2|0)<<2)|0;c=KF(A<<2)|0;fU(f,A);r=0;a=0;o=A;while(1){if((r|0)>=(A|0))break;iU(r,e,A,c,f);i=r;n=a;while(1){if((i|0)==(A|0))break;s[l+(n<<2)>>2]=+(t[c+(i<<2)>>2]|0);i=i+1|0;n=n+1|0}r=r+1|0;a=a+o|0;o=o+-1|0}G2(c);lU(f);h=u;return l|0}function AP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,c=0,o=0.0,u=0,b=0,h=0,w=0,k=0,d=0,v=0.0;d=e+8|0;r=t[d>>2]|0;i=0;a=0;while(1){if((a|0)>=(A|0))break;i=(t[e+(a*20|0)>>2]|0)+i|0;a=a+1|0}a=KF(i<<2)|0;k=KF(A<<2)|0;i=0;while(1){if((i|0)>=(A|0))break;t[k+(i<<2)>>2]=0;i=i+1|0}if(!(t[d>>2]|0)){n=0;while(1){if((n|0)>=(A|0))break;t[e+(n*20|0)+8>>2]=a;NT(e,n,k);f=e+(n*20|0)|0;l=t[f>>2]|0;c=e+(n*20|0)+4|0;o=+(l+-1|0);i=1;while(1){if((i|0)>=(l|0))break;w=t[(t[c>>2]|0)+(i<<2)>>2]|0;v=+((t[e+(w*20|0)>>2]|0)+-1|0)+o;s[a+(i<<2)>>2]=v-+((VT(e,n,w,k)|0)<<1|0);i=i+1|0}RT(e,n,k);a=a+(t[f>>2]<<2)|0;n=n+1|0}a=eP(e,A)|0}else{l=0;while(1){if((l|0)>=(A|0))break;NT(e,l,k);c=e+(l*20|0)|0;u=t[c>>2]|0;b=e+(l*20|0)+4|0;h=u+-2|0;w=e+(l*20|0)+8|0;f=1;while(1){if((f|0)>=(u|0))break;i=t[(t[b>>2]|0)+(f<<2)>>2]|0;n=h+(t[e+(i*20|0)>>2]|0)|0;v=+(n-((VT(e,l,i,k)|0)<<1)|0);o=+s[(t[w>>2]|0)+(f<<2)>>2];if(o>2]=o;f=f+1|0}RT(e,l,k);t[w>>2]=a;a=a+(t[c>>2]<<2)|0;l=l+1|0}a=$H(e,A)|0}G2(k);G2(t[d>>2]|0);t[d>>2]=0;e:do{if(r|0){i=0;while(1){if((i|0)>=(A|0))break e;t[e+(i*20|0)+8>>2]=r;r=r+(t[e+(i*20|0)>>2]<<2)|0;i=i+1|0}}}while(0);return a|0}function rP(e,A,r,i,a,f,l,o,u){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;f=f|0;l=l|0;o=o|0;u=u|0;var b=0,w=0,k=0,d=0.0,v=0,g=0,m=0,p=0.0,E=0,B=0.0,y=0,C=0,I=0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0.0,x=0.0;N=h;h=h+80|0;V=N+56|0;M=N+48|0;I=N+40|0;m=N+32|0;g=N+24|0;v=N+16|0;w=N+8|0;b=N;k=l&4;F=l&3;e:do{if((u|0)<0)r=0;else{if(0)lx();l=(o|0)==2;A:do{if(l){if(0)G3(93290,24,1,t[15712]|0)|0;r=AP(e,A)|0;E=14}else{switch(o|0){case 1:{r=qH(e,A)|0;if(r|0){Y=r;break A}nw(0,93315,b)|0;nw(3,93364,w)|0;E=15;break A}case 3:break;default:{E=15;break A}}if(0)G3(93417,21,1,t[15712]|0)|0;r=KH(e,A)|0;E=14}}while(0);if((E|0)==14)if(!r)E=15;else Y=r;do{if((E|0)==15){if(0)G3(93439,26,1,t[15712]|0)|0;if(!(t[e+8>>2]|0)){Y=eP(e,A)|0;break}else{Y=$H(e,A)|0;break}}}while(0);if(0){W=t[15712]|0;c[v>>3]=+sx();a3(W,93466,v)|0;G3(93478,25,1,W)|0;lx()}A:do{if((A|0)>1&(k|0)!=0)if((iP(e,A,i,f,k,F,l&1)|0)<0){m=0;g=0;r=-1;e=0;v=0;k=0;w=0;b=0;o=0;l=0}else{l=0;while(1){if((l|0)>=(f|0)){y=0;E=35;break A}o=i+(l<<2)|0;d=1.0;r=0;while(1){if((r|0)==(A|0))break;B=+Q(+ +c[(t[o>>2]|0)+(r<<3)>>3]);d=B>d?B:d;r=r+1|0}d=1.0/d;r=0;while(1){if((r|0)==(A|0)){r=0;break}W=(t[o>>2]|0)+(r<<3)|0;c[W>>3]=+c[W>>3]*d;r=r+1|0}while(1){if((r|0)==(A|0))break;B=(+s8()+-.5)*1.0e-06;W=(t[o>>2]|0)+(r<<3)|0;c[W>>3]=+c[W>>3]+B;r=r+1|0}mO(A,t[o>>2]|0);l=l+1|0}}else{y=_H(0,A,f,i,a)|0;E=35}}while(0);A:do{if((E|0)==35){if(0){W=t[15712]|0;c[g>>3]=+sx();a3(W,93504,g)|0}if((A|0)==1|(u|0)==0){r=0;break e}if(0){W=t[15712]|0;c[m>>3]=+sx();a3(W,93466,m)|0;G3(90019,26,1,W)|0;lx()}v=f<<2;W=KF(v)|0;g=A<<2;e=P(g,f)|0;z=KF(e)|0;r=0;while(1){if((r|0)>=(f|0))break;o=z+((P(r,A)|0)<<2)|0;t[W+(r<<2)>>2]=o;b=i+(r<<2)|0;l=0;while(1){if((l|0)>=(A|0))break;s[o+(l<<2)>>2]=+c[(t[b>>2]|0)+(l<<3)>>3];l=l+1|0}r=r+1|0}r:do{if(!F){w=A+-1|0;r=0;d=0.0;b=0;while(1){if((b|0)>=(w|0))break r;k=A-b|0;o=r;l=1;while(1){r=o+1|0;if((l|0)>=(k|0))break;o=r;d=+s[Y+(r<<2)>>2]+d;l=l+1|0}b=b+1|0}}else d=+(A|0)*.5*+(A+-1|0)}while(0);Z=(P(A+1|0,A)|0)/2|0;G=(F|0)==2;if(G)HO(Z,Y);PO(Z,Y);L=A<<3;o=KF(L)|0;z6(o|0,0,L|0)|0;D=A+-1|0;r=0;b=0;while(1){if((b|0)>=(D|0)){r=A;l=0;b=0;break}w=A-b|0;p=0.0;l=1;while(1){r=r+1|0;if((l|0)>=(w|0))break;B=+s[Y+(r<<2)>>2];C=o+(l+b<<3)|0;c[C>>3]=+c[C>>3]-B;p=p+B;l=l+1|0}C=o+(b<<3)|0;c[C>>3]=+c[C>>3]-p;b=b+1|0}while(1){if((l|0)>=(A|0))break;s[Y+(b<<2)>>2]=+c[o+(l<<3)>>3];C=r+b|0;r=r+-1|0;l=l+1|0;b=C}C=KF(v)|0;t[C>>2]=KF(e)|0;r=1;while(1){if((r|0)>=(f|0))break;t[C+(r<<2)>>2]=(t[C>>2]|0)+((P(r,A)|0)<<2);r=r+1|0}w=KF(g)|0;b=KF(g)|0;l=KF(Z<<2)|0;if(0){E=t[15712]|0;c[I>>3]=+sx();a3(E,93466,I)|0;G3(90046,15,1,E)|0;lx()}E=(y|0)==0;y=t[15712]|0;r=0;k=0;B=1797693134862315708145274.0e284;while(1){if(!(k<<24>>24==0&(r|0)<(u|0)))break;z6(o|0,0,L|0)|0;if(G){XO(Z,Y,l);m=0;e=0}else{m=0;e=0}while(1){if((m|0)>=(D|0)){k=A;v=0;e=0;break}g=A-m+-1|0;xO(g,0.0,b);k=0;while(1){if((k|0)>=(f|0))break;I=W+(k<<2)|0;xO(g,+s[(t[I>>2]|0)+(m<<2)>>2],w);FO(g,w,-1.0,(t[I>>2]|0)+(m<<2)+4|0);HO(g,w);YO(g,w,b,b);k=k+1|0}SO(g,b);k=0;while(1){if((k|0)>=(g|0))break;v=b+(k<<2)|0;p=+s[v>>2];if(p>=3402823466385288598117041.0e14|p<0.0)s[v>>2]=0.0;k=k+1|0}k=e+1|0;e=m+1|0;r:do{if(G){p=0.0;v=0;while(1){if((v|0)>=(g|0))break r;I=l+(k<<2)|0;R=+s[I>>2]*+s[b+(v<<2)>>2];s[I>>2]=R;I=o+(e+v<<3)|0;c[I>>3]=+c[I>>3]-R;p=p+R;k=k+1|0;v=v+1|0}}else{p=0.0;v=0;while(1){if((v|0)>=(g|0))break r;R=+s[b+(v<<2)>>2];s[l+(k<<2)>>2]=R;I=o+(e+v<<3)|0;c[I>>3]=+c[I>>3]-R;p=p+R;k=k+1|0;v=v+1|0}}}while(0);I=o+(m<<3)|0;c[I>>3]=+c[I>>3]-p;m=e;e=k}while(1){if((v|0)>=(A|0)){k=0;break}s[l+(e<<2)>>2]=+c[o+(v<<3)>>3];I=k+e|0;k=k+-1|0;v=v+1|0;e=I}while(1){if((k|0)>=(f|0)){p=0.0;k=0;break}zO(l,A,t[W+(k<<2)>>2]|0,t[C+(k<<2)>>2]|0);k=k+1|0}while(1){if((k|0)>=(f|0))break;p=+NO(A,t[W+(k<<2)>>2]|0,t[C+(k<<2)>>2]|0)+p;k=k+1|0}p=p*2.0+d;k=0;while(1){if((k|0)>=(f|0))break;I=W+(k<<2)|0;zO(Y,A,t[I>>2]|0,w);p=p-+NO(A,t[I>>2]|0,w);k=k+1|0}x=B-p;R=+c[23294];k=(p=0.0?x:-x)/B=(f|0))break;g=W+(e<<2)|0;v=t[g>>2]|0;r:do{if(E){if((bU(Y,v,t[C+(e<<2)>>2]|0,A,.001,A)|0)<0){m=C;g=Y;r=-1;e=z;v=W;k=C;break A}}else{VO(A,v,w);if((bU(Y,w,t[C+(e<<2)>>2]|0,A,.001,A)|0)<0){m=C;g=Y;r=-1;e=z;v=W;k=C;break A}else v=0;while(1){if((v|0)>=(A|0))break r;if((n[(t[(t[a+(v<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)t[(t[g>>2]|0)+(v<<2)>>2]=t[w+(v<<2)>>2];v=v+1|0}}}while(0);e=e+1|0}if(((r|0)%5|0|0)==0&0!=0?(c[M>>3]=p,a3(y,90371,M)|0,((r+5|0)%50|0|0)==0):0)u6(10,y)|0;r=r+1|0;B=p}if(!0)k=0;else{R=+aP(W,Y,f,A,F);x=+sx();c[V>>3]=R;t[V+8>>2]=r;c[V+16>>3]=x;a3(y,90062,V)|0;k=0}while(1){if((k|0)>=(f|0)){m=C;g=Y;e=z;v=W;k=C;break A}e=W+(k<<2)|0;g=i+(k<<2)|0;v=0;while(1){if((v|0)>=(A|0))break;c[(t[g>>2]|0)+(v<<3)>>3]=+s[(t[e>>2]|0)+(v<<2)>>2];v=v+1|0}k=k+1|0}}}while(0);G2(e);G2(v);G2(g);if(m|0){G2(t[m>>2]|0);G2(k)}G2(w);G2(b);G2(o);G2(l)}}while(0);h=N;return r|0}function iP(e,A,r,a,n,f,l){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;var o=0,u=0,b=0,w=0.0,k=0,d=0,v=0.0,g=0,m=0.0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;H=h;h=h+32|0;b=H+24|0;J=H+8|0;W=H+4|0;R=H;N=(A|0)<50?A:50;x=$F(N<<2)|0;z=A<<3;u=$F(P(z,N)|0)|0;o=0;while(1){if((o|0)>=(N|0))break;t[x+(o<<2)>>2]=u+((P(o,A)|0)<<3);o=o+1|0}L=N<<1;L=(L|0)>50?L:50;L=(L|0)>(A|0)?A:L;t[b>>2]=0;aT(e,A,L,b,l);tT(t[b>>2]|0,A,L);$O(t[b>>2]|0,L,A,x,N);G2(t[t[b>>2]>>2]|0);G2(t[b>>2]|0);L=A<<2;V=$F(L)|0;o=0;while(1){if((o|0)>=(A|0))break;t[V+(o<<2)>>2]=-1;o=o+1|0}fU(J,A);F=t[e+8>>2]|0;Y=(l|0)!=0;if(Y)XT(e,A);Z=$F(L)|0;M=$F(160)|0;u=$F(A*160|0)|0;G=$F(160)|0;o=0;while(1){if((o|0)==40)break;t[G+(o<<2)>>2]=u+((P(o,A)|0)<<2);o=o+1|0}o=(t8()|0)%(A|0)|0;t[V+(o<<2)>>2]=0;t[M>>2]=o;u=t[G>>2]|0;if(Y){HU(o,e,A,u);u=0;b=0}else{iU(o,e,A,u,J);u=0;b=0}while(1){if((b|0)>=(A|0)){d=1;break}D=t[(t[G>>2]|0)+(b<<2)>>2]|0;t[Z+(b<<2)>>2]=D;I=(D|0)>(u|0);o=I?b:o;u=I?D:u;b=b+1|0}while(1){if((d|0)==40){o=0;break}t[V+(o<<2)>>2]=d;t[M+(d<<2)>>2]=o;g=G+(d<<2)|0;u=t[g>>2]|0;if(Y){HU(o,e,A,u);k=0;u=0}else{iU(o,e,A,u,J);k=0;u=0}while(1){if((k|0)>=(A|0))break;b=Z+(k<<2)|0;D=t[b>>2]|0;l=t[(t[g>>2]|0)+(k<<2)>>2]|0;l=(D|0)<(l|0)?D:l;t[b>>2]=l;if((l|0)<=(u|0)){if((l|0)==(u|0)?((t8()|0)%(k+1|0)|0|0)==0:0){u=t[b>>2]|0;o=k}}else{u=l;o=k}k=k+1|0}d=d+1|0}while(1){if((o|0)>=(A|0))break;t[Z+(o<<2)>>2]=-1;o=o+1|0}E=$F(L)|0;D=$F(A<<4)|0;B=A+-1|0;y=B<<2;I=0;b=0;l=0;u=0;C=0;while(1){if((C|0)>=(A|0))break;o=V+(C<<2)|0;e:do{if((t[o>>2]|0)>-1){g=D+(C<<4)+4|0;t[g>>2]=$F(y)|0;p=$F(y)|0;t[D+(C<<4)+8>>2]=p;t[D+(C<<4)>>2]=B;i[D+(C<<4)+12>>0]=1;d=G+(t[o>>2]<<2)|0;o=0;while(1){if((o|0)==(C|0)){k=C;break}t[(t[g>>2]|0)+(o<<2)>>2]=o;t[p+(o<<2)>>2]=t[(t[d>>2]|0)+(o<<2)>>2];o=o+1|0}while(1){o=k+1|0;if((k|0)==(B|0)){o=B;break e}t[(t[g>>2]|0)+(k<<2)>>2]=o;t[p+(k<<2)>>2]=t[(t[d>>2]|0)+(o<<2)>>2];k=o}}else{if((u|0)<40){l=$F(L)|0;b=$F(L)|0;u=A;o=1}else o=0;i[D+(C<<4)+12>>0]=o;t[D+(C<<4)+4>>2]=l;t[D+(C<<4)+8>>2]=b;t[D+(C<<4)>>2]=40;o=0;while(1){if((o|0)==40)break;t[l+(o<<2)>>2]=t[M+(o<<2)>>2];t[b+(o<<2)>>2]=t[(t[G+(o<<2)>>2]|0)+(C<<2)>>2];o=o+1|0}b=b+160|0;l=l+160|0;u=u+-40|0;o=40}}while(0);I=o+I|0;C=C+1|0}G2(Z);G2(E);if(G|0){G2(t[G>>2]|0);G2(G)}G=$F(A*20|0)|0;k=I+A<<2;d=$F(k)|0;p=(f|0)==2;k=$F(k)|0;g=0;while(1){if((g|0)>=(A|0))break;t[G+(g*20|0)+4>>2]=d;t[G+(g*20|0)+8>>2]=k;o=(t[D+(g<<4)>>2]|0)+1|0;E=G+(g*20|0)|0;t[E>>2]=o;b=(t[D+(g<<4)+8>>2]|0)+-4|0;l=D+(g<<4)+4|0;e:do{if(p){w=0.0;u=1;while(1){if((u|0)>=(o|0))break e;t[d+(u<<2)>>2]=t[(t[l>>2]|0)+(u+-1<<2)>>2];m=+(t[b+(u<<2)>>2]|0);m=-1.0/(m*m);s[k+(u<<2)>>2]=m;w=w-m;u=u+1|0;o=t[E>>2]|0}}else{w=0.0;u=1;while(1){if((u|0)>=(o|0))break e;t[d+(u<<2)>>2]=t[(t[l>>2]|0)+(u+-1<<2)>>2];m=-1.0/+(t[b+(u<<2)>>2]|0);s[k+(u<<2)>>2]=m;w=w-m;u=u+1|0;o=t[E>>2]|0}}}while(0);t[d>>2]=g;s[k>>2]=w;L=t[E>>2]|0;k=k+(L<<2)|0;d=d+(L<<2)|0;g=g+1|0}Z=$F(a<<2)|0;t[Z>>2]=$F(P(a<<3,N)|0)|0;o=1;while(1){if((o|0)>=(a|0))break;t[Z+(o<<2)>>2]=(t[Z>>2]|0)+((P(o,N)|0)<<3);o=o+1|0}e:do{if(n){o=0;while(1){if((o|0)>=(a|0))break;b=Z+(o<<2)|0;u=0;while(1){if((u|0)>=(N|0))break;c[(t[b>>2]|0)+(u<<3)>>3]=0.0;u=u+1|0}o=o+1|0}if((a|0)!=2){o=0;while(1){if((o|0)>=(a|0)){o=0;break e}c[(t[Z+(o<<2)>>2]|0)+(o<<3)>>3]=1.0;o=o+1|0}}c[t[Z>>2]>>3]=1.0;o=Z+4|0;if(!((e_(x,N,A,t[o>>2]|0)|0)<<24>>24)){u=t[o>>2]|0;o=0;while(1){if((o|0)>=(N|0))break;c[u+(o<<3)>>3]=0.0;o=o+1|0}c[u+8>>3]=1.0;o=0}else o=0}else{u=0;while(1){if((u|0)>=(a|0)){o=0;break e}b=Z+(u<<2)|0;o=0;while(1){if((o|0)>=(N|0))break;m=+(t8()|0)*4.656612875245797e-10;c[(t[b>>2]|0)+(o<<3)>>3]=m;o=o+1|0}u=u+1|0}}}while(0);while(1){if((o|0)>=(a|0))break;QO(x,A,N,t[Z+(o<<2)>>2]|0,t[r+(o<<2)>>2]|0);o=o+1|0}t[W>>2]=0;t[R>>2]=0;gO(G,x,A,N,W);dO(x,t[W>>2]|0,N,A,N,R);G2(t[t[W>>2]>>2]|0);G2(t[W>>2]|0);C=$F(z)|0;I=$F(N<<3)|0;o=0;u=0;w=+tP(r,D,a,A,f);e:while(1){if((u|0)<50&o<<24>>24==0)B=0;else break;while(1){if((B|0)>=(a|0))break;y=r+(B<<2)|0;b=0;while(1){if((b|0)>=(A|0))break;k=C+(b<<3)|0;c[k>>3]=0.0;d=(t[D+(b<<4)+8>>2]|0)+-4|0;g=t[G+(b*20|0)+4>>2]|0;p=t[G+(b*20|0)+8>>2]|0;E=G+(b*20|0)|0;v=0.0;l=1;while(1){if((l|0)>=(t[E>>2]|0))break;o=t[g+(l<<2)>>2]|0;m=+jT(r,a,b,o);if(m>1.0e-30){m=-(+s[p+(l<<2)>>2]*+(t[d+(l<<2)>>2]|0))/m;c[k>>3]=m*+c[(t[y>>2]|0)+(o<<3)>>3]+ +c[k>>3];v=v-m}l=l+1|0}c[k>>3]=+c[k>>3]+ +c[(t[y>>2]|0)+(b<<3)>>3]*v;b=b+1|0}kO(x,N,A,C,I);o=Z+(B<<2)|0;if(uU(t[R>>2]|0,t[o>>2]|0,I,N,.001,N,0)|0){u=-1;break e}QO(x,A,N,t[o>>2]|0,t[y>>2]|0);B=B+1|0}if(!(u&1)){m=+tP(r,D,a,A,f);w=+Q(+(m-w))/(m+1.0e-10);o=w<+c[23294]&1;w=m}else o=0;u=u+1|0}G2(I);G2(C);if(Y){ST(e,A,F);o=0}else o=0;while(1){if((o|0)>=(A|0))break;if(i[D+(o<<4)+12>>0]|0){G2(t[D+(o<<4)+4>>2]|0);G2(t[D+(o<<4)+8>>2]|0)}o=o+1|0}G2(D);G2(t[G+4>>2]|0);G2(t[G+8>>2]|0);G2(G);G2(V);G2(M);G2(t[Z>>2]|0);G2(Z);o=t[R>>2]|0;if(o|0){G2(t[o>>2]|0);G2(t[R>>2]|0)}G2(t[x>>2]|0);G2(x);lU(J);h=H;return u|0}function aP(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0.0,l=0,c=0,o=0.0,u=0,b=0,h=0,w=0,k=0,d=0;k=i+-1|0;h=(a|0)==2;n=0.0;a=0;u=0;while(1){if((u|0)>=(k|0))break;w=i-u|0;b=1;while(1){a=a+1|0;if((b|0)>=(w|0))break;c=b+u|0;f=0.0;l=0;while(1){if((l|0)>=(r|0))break;d=t[e+(l<<2)>>2]|0;o=+s[d+(u<<2)>>2]-+s[d+(c<<2)>>2];f=f+o*o;l=l+1|0}f=+D(+f);o=+s[A+(a<<2)>>2];if(h){f=1.0/+D(+o)-f;f=f*f}else{f=1.0/o-f;f=f*f}b=b+1|0;n=f*o+n}u=u+1|0}return+n}function tP(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,h=0,w=0.0,k=0;e:do{if((a|0)==2){n=0.0;o=0;while(1){if((o|0)>=(i|0))break e;b=t[A+(o<<4)>>2]|0;h=A+(o<<4)+4|0;u=A+(o<<4)+8|0;s=0;while(1){if((s|0)>=(b|0))break;l=t[(t[h>>2]|0)+(s<<2)>>2]|0;if((l|0)>(o|0)){f=0.0;a=0;while(1){if((a|0)>=(r|0))break;k=t[e+(a<<2)>>2]|0;w=+c[k+(o<<3)>>3]-+c[k+(l<<3)>>3];f=w*w+f;a=a+1|0}f=+D(+f);w=+(t[(t[u>>2]|0)+(s<<2)>>2]|0);f=w-f;n=f*f/(w*w)+n}s=s+1|0}o=o+1|0}}else{o=0;n=0.0;while(1){if((o|0)>=(i|0))break e;u=t[A+(o<<4)>>2]|0;b=A+(o<<4)+4|0;h=A+(o<<4)+8|0;s=0;while(1){if((s|0)>=(u|0))break;l=t[(t[b>>2]|0)+(s<<2)>>2]|0;if((l|0)>(o|0)){f=0.0;a=0;while(1){if((a|0)>=(r|0))break;k=t[e+(a<<2)>>2]|0;w=+c[k+(o<<3)>>3]-+c[k+(l<<3)>>3];f=w*w+f;a=a+1|0}f=+D(+f);w=+(t[(t[h>>2]|0)+(s<<2)>>2]|0);f=w-f;n=f*f/w+n}s=s+1|0}o=o+1|0}}}while(0);return+n}function nP(e){e=+e;return+(+D(+e)*e)}function fP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0.0;n=t[47137]|0;i=0.0;a=0;while(1){if((a|0)>=(n|0))break;f=+c[e+(a<<3)>>3]-+c[A+(a<<3)>>3];c[r+(a<<3)>>3]=f;i=f*f+i;a=a+1|0}return+ +D(+i)}function lP(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,n=0,f=0;f=KF(e<<2)|0;a=0;n=KF(P(e<<3,A)|0)|0;while(1){if((a|0)>=(e|0))break;t[f+(a<<2)>>2]=n;i=0;while(1){if((i|0)>=(A|0))break;c[n+(i<<3)>>3]=r;i=i+1|0}a=a+1|0;n=n+(A<<3)|0}return f|0}function sP(e){e=e|0;if(e|0){G2(t[e>>2]|0);G2(e)}return}function cP(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0;b=h;h=h+16|0;u=gk(e)|0;o=mk(e)|0;s=zw(e,2,92493,0)|0;e:do{if(!A){c[23294]=+(u|0)*.0001;zF(e,108886,186352);n=Hw(t[e+60>>2]|0,90100)|0;if(!n)r=.99;else r=+$3(n);c[23296]=r;n=KF((u<<2)+4|0)|0;l=e+16|0;t[(t[l>>2]|0)+152>>2]=n;n=0;r=0.0;f=sd(e)|0;while(1){if(!f)break e;t[(t[(t[l>>2]|0)+152>>2]|0)+(n<<2)>>2]=f;w=t[f+16>>2]|0;t[w+120>>2]=n;t[w+124>>2]=-1;a=+bP(e,f,s)+r;n=n+1|0;r=a;f=cd(e,f)|0}}else{c[23294]=.0001;zF(e,108886,186352);n=0;r=0.0;f=sd(e)|0;while(1){if(!f)break e;t[(t[f+16>>2]|0)+120>>2]=n;a=+bP(e,f,s)+r;n=n+1|0;r=a;f=cd(e,f)|0}}}while(0);n=Hw(e,90108)|0;if((n|0)!=0?(i[n>>0]|0)!=0:0){r=+c[23294];a=+$3(n);if(!(r>a))r=a}else r=r/+(((o|0)>1?o:1)|0)*+D(+ +(u|0))+1.0;c[23295]=r;if(!(t[47134]|A)){A=lP(u,u,r)|0;w=e+16|0;t[(t[w>>2]|0)+160>>2]=A;A=lP(u,u,1.0)|0;t[(t[w>>2]|0)+164>>2]=A;A=lP(u,t[47137]|0,1.0)|0;t[(t[w>>2]|0)+168>>2]=A;A=hP(u,u,t[47137]|0)|0;t[(t[w>>2]|0)+172>>2]=A}h=b;return u|0}function oP(e,A,r){e|0;A|0;r|0;var i=0,a=0,n=0,f=0,l=0,s=0;0;0;ek(e,A)|0;e:while(1){if(!s)break;t[s>>2]&3;t[((f|0)==2?s:s+-48|0)+40>>2]|0;t[((f|0)==3?s:s+48|0)+40>>2]|0;do{if((n|0)!=(f|0)){(f|0)==(A|0);if((i|0)!=1){l?n:f;t[r>>2]=a;i+1|0;break}if(!((n|0)==(a|0)&l)?!((n|0)==(A|0)&(f|0)==(a|0)):0){2;break e}else 1}}while(0);Ak(e,s,A)|0}return i|0}function uP(e,A,r){e|0;A|0;r|0;var i=0,a=0,n=0,f=0;h;h=h+16|0;f;e+60|0;e:while(1){A:while(1){if(!A)break e;switch(oP(e,A,a)|0){case 0:{5;break A}case 1:{8;break A}default:0}}if((i|0)==5){if((r|0)==(A|0))cd(e,r)|0;Ed(t[n>>2]|0,A)|0;0;continue}else if((i|0)==8){if((r|0)==(A|0))cd(e,r)|0;Ed(t[n>>2]|0,A)|0;t[a>>2]|0;continue}}h=f;return r|0}function bP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0,f=0,l=0,s=0;s=h;h=h+32|0;f=s+8|0;n=s;A=Ow(e,A)|0;i=0.0;while(1){if(!A)break;switch(wP(A,r,n)|0){case 0:{a=+c[n>>3];break}case 2:{t[f>>2]=Mk(e)|0;c[f+8>>3]=1.0;nw(3,90120,f)|0;l=6;break}default:l=6}if((l|0)==6){l=0;c[n>>3]=1.0;a=1.0}c[(t[A+16>>2]|0)+136>>3]=a;A=qw(e,A)|0;i=a+i}h=s;return+i}function hP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0;l=KF((e<<2)+4|0)|0;s=(A<<2)+4|0;o=r<<3;n=0;while(1){if((n|0)>=(e|0))break;f=l+(n<<2)|0;t[f>>2]=KF(s)|0;a=0;while(1){if((a|0)>=(A|0))break;i=KF(o)|0;t[(t[f>>2]|0)+(a<<2)>>2]=i;i=0;while(1){if((i|0)>=(r|0))break;c[(t[(t[f>>2]|0)+(a<<2)>>2]|0)+(i<<3)>>3]=0.0;i=i+1|0}a=a+1|0}t[(t[f>>2]|0)+(a<<2)>>2]=0;n=n+1|0}t[l+(n<<2)>>2]=0;return l|0}function wP(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0.0,f=0,l=0,s=0;s=h;h=h+16|0;l=s+8|0;f=s;do{if((A|0)!=0?(a=Pw(e,A)|0,(i[a>>0]|0)!=0):0){t[f>>2]=r;if(((V3(a,101209,f)|0)>=1?(n=+c[r>>3],!(n<0.0)):0)?n!=0.0|(t[47134]|0)!=0:0){e=0;break}t[l>>2]=a;nw(0,90147,l)|0;e=2}else e=1}while(0);h=s;return e|0}function kP(e){e=e|0;return cP(e,0)|0}function dP(e){e=e|0;e=e+16|0;G2(t[(t[e>>2]|0)+152>>2]|0);if(!(t[47134]|0)){sP(t[(t[e>>2]|0)+160>>2]|0);sP(t[(t[e>>2]|0)+164>>2]|0);sP(t[(t[e>>2]|0)+168>>2]|0);vP(t[(t[e>>2]|0)+172>>2]|0);t[(t[e>>2]|0)+172>>2]=0}return}function vP(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if(e|0){a=0;while(1){n=e+(a<<2)|0;A=t[n>>2]|0;if(!A)break;else i=0;while(1){r=t[A+(i<<2)>>2]|0;if(!r)break;G2(r);i=i+1|0;A=t[n>>2]|0}G2(A);a=a+1|0}G2(e)}return}function gP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+(A|0);A=e+16|0;while(1){if((r|0)>=(t[47137]|0))break;a=+s8()*i;c[(t[(t[A>>2]|0)+132>>2]|0)+(r<<3)>>3]=a;r=r+1|0}return}function mP(e,A){e=e|0;A=A|0;gP(e,A,2);return}function pP(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0;i=+(A|0);a=+s8()*i;r=e+16|0;c[t[(t[r>>2]|0)+132>>2]>>3]=a;i=+s8()*i;c[(t[(t[r>>2]|0)+132>>2]|0)+8>>3]=i;if((t[47137]|0)>2)mP(e,A);return}function EP(e,A){e=e|0;A=A|0;var r=0,a=0;a=h;h=h+16|0;r=a;if(0)G3(90165,26,1,t[15712]|0)|0;A=rH(e,A,2)|0;e:do{if((A|0)!=1){if(!(t[46797]|A)){nw(0,90192,r)|0;t[46797]=1}r=e+16|0;A=0;while(1){e=t[(t[(t[r>>2]|0)+152>>2]|0)+(A<<2)>>2]|0;if(!e)break e;if(!(i[(t[e+16>>2]|0)+119>>0]|0))pP(e,1);A=A+1|0}}}while(0);h=a;return}function BP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0.0;k=h;h=h+96|0;w=k+80|0;u=k;if(0){G3(90241,25,1,t[15712]|0)|0;lx()}b=e+16|0;a=t[b>>2]|0;s=t[a+164>>2]|0;a=t[a+160>>2]|0;o=0;while(1){if((o|0)>=(A|0))break;f=a+(o<<2)|0;l=s+(o<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=+c[(t[f>>2]|0)+(i<<3)>>3];n=1.0/(n*n);r=t[(t[b>>2]|0)+152>>2]|0;r=lk(e,t[r+(o<<2)>>2]|0,t[r+(i<<2)>>2]|0,0,0)|0;if(r)n=+c[(t[r+16>>2]|0)+128>>3]*n;c[(t[s+(i<<2)>>2]|0)+(o<<3)>>3]=n;c[(t[l>>2]|0)+(i<<3)>>3]=n;i=i+1|0}o=o+1|0}e=t[47137]|0;i=0;while(1){if((i|0)<(A|0))r=0;else break;while(1){if((r|0)>=(e|0))break;c[(t[(t[(t[b>>2]|0)+168>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=0.0;r=r+1|0}i=i+1|0}f=0;while(1){r=t[(t[(t[b>>2]|0)+152>>2]|0)+(f<<2)>>2]|0;if(!r)break;e=r+16|0;r=0;while(1){if((r|0)>=(A|0))break;e:do{if((f|0)!=(r|0)){n=+fP(t[(t[e>>2]|0)+132>>2]|0,t[(t[(t[(t[(t[b>>2]|0)+152>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+132>>2]|0,u);a=t[47137]|0;n=1.0/n;i=0;while(1){if((i|0)>=(a|0))break e;o=t[b>>2]|0;d=+c[u+(i<<3)>>3];d=(d-+c[(t[(t[o+160>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3]*d*n)*+c[(t[(t[o+164>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3];c[(t[(t[(t[o+172>>2]|0)+(f<<2)>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=d;o=(t[(t[o+168>>2]|0)+(f<<2)>>2]|0)+(i<<3)|0;c[o>>3]=+c[o>>3]+d;i=i+1|0}}}while(0);r=r+1|0}f=f+1|0}if(0){b=t[15712]|0;c[w>>3]=+sx();a3(b,90267,w)|0}h=k;return}function yP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0.0,s=0;f=h;h=h+32|0;n=f+24|0;a=f+8|0;i=f;l=+c[23294];c[23216]=l*l;while(1){r=CP(e,A)|0;if(!r)break;IP(e,A,r)}if(!0)A=e+16|0;else{r=t[15712]|0;c[i>>3]=+ZP(e,A);a3(r,90277,i)|0;A=e+16|0;s=t[(t[A>>2]|0)+156>>2]|0;i=(s|0)==(t[47136]|0)?90291:195059;l=+sx();t[a>>2]=s;t[a+4>>2]=i;c[a+8>>3]=l;a3(r,90293,a)|0}A=t[(t[A>>2]|0)+156>>2]|0;if((A|0)==(t[47136]|0)){s=Mk(e)|0;t[n>>2]=A;t[n+4>>2]=s;nw(0,90320,n)|0}h=f;return}function CP(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0;d=h;h=h+16|0;k=d;b=(t[46799]|0)+1|0;t[46799]=b;e=t[e+16>>2]|0;if((t[e+156>>2]|0)<(t[47136]|0)){o=t[47137]|0;u=e+152|0;s=e+168|0;e=0;r=0.0;l=0;while(1){if((l|0)>=(A|0))break;a=t[(t[u>>2]|0)+(l<<2)>>2]|0;if((n[(t[a+16>>2]|0)+119>>0]|0)<=1){f=0.0;i=0;while(1){if((i|0)>=(o|0))break;v=+c[(t[(t[s>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3];f=v*v+f;i=i+1|0}if(f>r){e=a;r=f}}l=l+1|0}if(!(r<+c[23216])){if(0!=0&((b|0)%100|0|0)==0?(w=t[15712]|0,c[k>>3]=+D(+r),a3(w,90371,k)|0,((t[46799]|0)%1e3|0|0)==0):0)u6(10,w)|0}else e=0}else e=0;h=d;return e|0}function IP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b;s=r+16|0;o=t[(t[s>>2]|0)+120>>2]|0;a=t[46798]|0;if(!a){n=t[47137]|0;n=$F(P(n<<3,n)|0)|0}else{n=t[47137]|0;n=AM(a,P(n<<3,n)|0)|0}t[46798]=n;GP(e,A,o,n);f=t[47137]|0;l=e+16|0;a=0;while(1){if((a|0)>=(f|0))break;c[185736+(a<<3)>>3]=-+c[(t[(t[(t[l>>2]|0)+168>>2]|0)+(o<<2)>>2]|0)+(a<<3)>>3];a=a+1|0}M_(n,185816,185736,f);a=0;while(1){if((a|0)>=(t[47137]|0))break;i=+c[23296];i=(1.0-i)*2.0*+s8()+i;f=185816+(a<<3)|0;i=i*+c[f>>3];c[f>>3]=i;f=(t[(t[s>>2]|0)+132>>2]|0)+(a<<3)|0;c[f>>3]=+c[f>>3]+i;a=a+1|0}s=(t[l>>2]|0)+156|0;t[s>>2]=(t[s>>2]|0)+1;LP(e,A,o);if(Yx()|0){n=t[47137]|0;i=0.0;a=0;while(1){if((a|0)>=(n|0))break;i=+Q(+ +c[185816+(a<<3)>>3])+i;a=a+1|0}i=+D(+i);o=t[15712]|0;t[u>>2]=Mk(r)|0;c[u+8>>3]=i;a3(o,90362,u)|0}h=b;return}function ZP(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0.0;k=A+-1|0;b=e+16|0;h=t[47137]|0;n=0;r=0.0;e:while(1){if((n|0)>=(k|0))break;u=t[b>>2]|0;w=t[u+152>>2]|0;l=n+1|0;s=(t[w+(n<<2)>>2]|0)+16|0;o=u+164|0;u=u+160|0;f=l;while(1){if((f|0)>=(A|0)){n=l;continue e}a=(t[w+(f<<2)>>2]|0)+16|0;e=0;i=0.0;while(1){if((e|0)>=(h|0))break;d=+c[(t[(t[s>>2]|0)+132>>2]|0)+(e<<3)>>3]-+c[(t[(t[a>>2]|0)+132>>2]|0)+(e<<3)>>3];e=e+1|0;i=d*d+i}d=+c[(t[(t[u>>2]|0)+(n<<2)>>2]|0)+(f<<3)>>3];d=((+D(+i)*-2.0+d)*d+i)*+c[(t[(t[o>>2]|0)+(n<<2)>>2]|0)+(f<<3)>>3]+r;f=f+1|0;r=d}}return+r}function GP(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0,w=0.0,k=0.0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0;B=h;h=h+80|0;E=B;p=t[e+16>>2]|0;s=t[p+164>>2]|0;o=t[p+160>>2]|0;p=t[p+152>>2]|0;l=t[p+(r<<2)>>2]|0;n=t[47137]|0;e=0;while(1){if((e|0)>=(n|0))break;f=P(n,e)|0;a=0;while(1){if((a|0)==(n|0))break;c[i+(f+a<<3)>>3]=0.0;a=a+1|0}e=e+1|0}m=t[47137]|0;g=l+16|0;v=s+(r<<2)|0;s=o+(r<<2)|0;l=0;while(1){if((l|0)>=(A|0))break;e:do{if((l|0)!=(r|0)){a=(t[p+(l<<2)>>2]|0)+16|0;d=0.0;e=0;while(1){if((e|0)>=(m|0))break;k=+c[(t[(t[g>>2]|0)+132>>2]|0)+(e<<3)>>3]-+c[(t[(t[a>>2]|0)+132>>2]|0)+(e<<3)>>3];c[E+(e<<3)>>3]=k;d=k*k+d;e=e+1|0}u=1.0/+nP(d);f=0;while(1){if((f|0)>=(m|0))break e;a=(t[v>>2]|0)+(l<<3)|0;n=(t[s>>2]|0)+(l<<3)|0;b=+c[E+(f<<3)>>3];e=0;while(1){w=+c[a>>3];k=+c[n>>3];if((e|0)==(f|0))break;o=i+((P(m,e)|0)+f<<3)|0;c[o>>3]=+c[o>>3]+w*u*k*b*+c[E+(e<<3)>>3];e=e+1|0}o=i+((P(m,f)|0)+f<<3)|0;c[o>>3]=(1.0-k*u*(d-b*b))*w+ +c[o>>3];f=f+1|0}}}while(0);l=l+1|0}a=t[47137]|0;f=1;while(1){if((f|0)>=(a|0))break;n=P(a,f)|0;e=0;while(1){if((e|0)==(f|0))break;c[i+(n+e<<3)>>3]=+c[i+((P(a,e)|0)+f<<3)>>3];e=e+1|0}f=f+1|0}h=B;return}function LP(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0.0,w=0.0,k=0,d=0,v=0;o=h;h=h+80|0;s=o;l=e+16|0;a=t[l>>2]|0;n=t[(t[a+152>>2]|0)+(r<<2)>>2]|0;i=t[47137]|0;a=a+168|0;e=0;while(1){if((e|0)>=(i|0))break;c[(t[(t[a>>2]|0)+(r<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}a=n+16|0;e=0;while(1){if((e|0)>=(A|0))break;e:do{if((e|0)!=(r|0)){f=+fP(t[(t[a>>2]|0)+132>>2]|0,t[(t[(t[(t[(t[l>>2]|0)+152>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+132>>2]|0,s);n=t[47137]|0;f=1.0/f;i=0;while(1){if((i|0)>=(n|0))break e;u=t[l>>2]|0;k=t[u+172>>2]|0;d=(t[(t[k+(r<<2)>>2]|0)+(e<<2)>>2]|0)+(i<<3)|0;b=+c[s+(i<<3)>>3];b=(b-+c[(t[(t[u+160>>2]|0)+(r<<2)>>2]|0)+(e<<3)>>3]*b*f)*+c[(t[(t[u+164>>2]|0)+(r<<2)>>2]|0)+(e<<3)>>3];c[d>>3]=b;u=t[u+168>>2]|0;v=(t[u+(r<<2)>>2]|0)+(i<<3)|0;c[v>>3]=+c[v>>3]+b;k=(t[(t[k+(e<<2)>>2]|0)+(r<<2)>>2]|0)+(i<<3)|0;b=+c[k>>3];w=-+c[d>>3];c[k>>3]=w;u=(t[u+(e<<2)>>2]|0)+(i<<3)|0;c[u>>3]=w-b+ +c[u>>3];i=i+1|0}}}while(0);e=e+1|0}h=o;return}function QP(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;r=e+16|0;n=t[46800]|0;A=t[(t[r>>2]|0)+124>>2]|0;while(1){if((A|0)<=0)break;f=(A+-1|0)/2|0;l=n+(f<<2)|0;i=t[l>>2]|0;a=i+16|0;if(+c[(t[a>>2]|0)+136>>3]<=+c[(t[r>>2]|0)+136>>3])break;t[l>>2]=e;t[(t[r>>2]|0)+124>>2]=f;t[n+(A<<2)>>2]=i;t[(t[a>>2]|0)+124>>2]=A;A=f}return}function DP(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0;f=e+16|0;l=t[46801]|0;s=t[46800]|0;n=t[(t[f>>2]|0)+124>>2]|0;while(1){i=n<<1|1;if((i|0)>=(l|0))break;r=i+1|0;if((r|0)<(l|0)){a=t[s+(r<<2)>>2]|0;A=t[s+(i<<2)>>2]|0;if(+c[(t[a+16>>2]|0)+136>>3]<+c[(t[A+16>>2]|0)+136>>3]){i=r;A=a}else o=6}else{A=t[s+(i<<2)>>2]|0;o=6}if((o|0)==6)o=0;r=A+16|0;if(+c[(t[f>>2]|0)+136>>3]<=+c[(t[r>>2]|0)+136>>3])break;t[s+(i<<2)>>2]=e;t[(t[f>>2]|0)+124>>2]=i;t[s+(n<<2)>>2]=A;t[(t[r>>2]|0)+124>>2]=n;n=i}return}function zP(e){e=e|0;var A=0,r=0;A=(t[e+16>>2]|0)+124|0;if((t[A>>2]|0)>=0)ge(90377,90397,643,90405);r=t[46801]|0;t[46801]=r+1;t[A>>2]=r;t[(t[46800]|0)+(r<<2)>>2]=e;if((r|0)>0)QP(e);return}function WP(){var e=0,A=0,r=0,i=0;A=t[46801]|0;if(!A)e=0;else{i=t[46800]|0;e=t[i>>2]|0;r=A+-1|0;t[46801]=r;r=t[i+(r<<2)>>2]|0;t[i>>2]=r;t[(t[r+16>>2]|0)+124>>2]=0;if((A|0)>2)DP(r);t[(t[e+16>>2]|0)+124>>2]=-1}return e|0}function YP(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+16|0;r=i;t[46800]=KF((A<<2)+4|0)|0;if(0){G3(90419,28,1,t[15712]|0)|0;lx()}A=sd(e)|0;while(1){if(!A)break;FP(e,A);A=cd(e,A)|0}if(0){e=t[15712]|0;c[r>>3]=+sx();a3(e,90267,r)|0}G2(t[46800]|0);h=i;return}function FP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0,f=0,l=0,s=0;i=t[(t[e+16>>2]|0)+152>>2]|0;a=+c[23295];r=0;while(1){n=t[i+(r<<2)>>2]|0;if(!n)break;c[(t[n+16>>2]|0)+136>>3]=a;r=r+1|0}t[46802]=A;s=t[A+16>>2]|0;c[s+136>>3]=0.0;t[s+128>>2]=0;zP(A);e:while(1){s=WP()|0;if(!s)break;r=t[46802]|0;l=s+16|0;if((s|0)!=(r|0))MP(e,r,s,+c[(t[l>>2]|0)+136>>3]);f=ek(e,s)|0;while(1){if(!f)continue e;r=t[f>>2]&3;A=t[((r|0)==3?f:f+48|0)+40>>2]|0;if((A|0)==(s|0))A=t[((r|0)==2?f:f+-48|0)+40>>2]|0;r=t[l>>2]|0;a=+c[(t[f+16>>2]|0)+136>>3]+ +c[r+136>>3];i=t[A+16>>2]|0;n=i+136|0;do{if(+c[n>>3]>a){c[n>>3]=a;if((t[i+124>>2]|0)>-1){QP(A);break}else{t[i+128>>2]=(t[r+128>>2]|0)+1;zP(A);break}}}while(0);f=Ak(e,f,s)|0}}return}function MP(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;A=t[(t[A+16>>2]|0)+120>>2]|0;r=t[(t[r+16>>2]|0)+120>>2]|0;e=t[(t[e+16>>2]|0)+160>>2]|0;c[(t[e+(r<<2)>>2]|0)+(A<<3)>>3]=i;c[(t[e+(A<<2)>>2]|0)+(r<<3)>>3]=i;return}function VP(e){e=e|0;DJ(e,2);a[(t[e+16>>2]|0)+176>>1]=2;t[47137]=2;NP(e);return}function NP(e){e=e|0;var A=0,r=0,i=0,a=0;A=gk(e)|0;i=KF(A*56|0)|0;A=KF((A<<2)+4|0)|0;a=e+16|0;t[(t[a>>2]|0)+152>>2]=A;A=sd(e)|0;r=0;while(1){if(!A)break;xJ(A);t[(t[A+16>>2]|0)+112>>2]=i+(r*56|0);t[(t[(t[a>>2]|0)+152>>2]|0)+(r<<2)>>2]=A;A=cd(e,A)|0;r=r+1|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;RP(A);A=qw(e,A)|0}r=cd(e,r)|0}return}function RP(e){e=e|0;var A=0.0;Sd(e,137460,176,1)|0;Mx(e)|0;A=+wx(e,t[47174]|0,1.0,0.0);c[(t[e+16>>2]|0)+128>>3]=A;return}function xP(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+80|0;o=m+32|0;f=m+24|0;n=m+16|0;l=m;g=m+72|0;w=m+40|0;if(gk(e)|0){VP(e);a=Hw(e,95738)|0;if(a)if(i[a>>0]|0){A=gd(e,a,0)|0;if(!A){t[n>>2]=a;nw(0,90448,n)|0;nw(3,90488,f)|0;A=0;v=1}else v=0}else{A=0;v=1}else{A=0;v=0}u=zw(e,1,95738,0)|0;b=(u|0)!=0;a=Hw(e,140742)|0;if((a|0?i[a>>0]|0:0)?(s=l+8|0,t[o>>2]=l,t[o+4>>2]=s,(V3(a,105503,o)|0)==1):0)c[s>>3]=+c[l>>3];if(gk(e)|0){o=Lp(e,g,0)|0;if((t[g>>2]|0)==1){n=(A|0)!=0;do{if(n)r=A;else{if(b?(r=JP(e,u)|0,r|0):0)break;r=0}}while(0);a=N_(e,r)|0;if(!((r|0)!=0|b^1))Mw(a,u,142463)|0;d=(sd(e)|0)+16|0;G2(t[(t[d>>2]|0)+112>>2]|0);t[(t[d>>2]|0)+112>>2]=0;AU(e)|0;TH(e);A=(v|0)==0|n?A:a}else{cE(e,2,8,w)|0;t[w+12>>2]=0;s=(v|0)==0;l=0;while(1){if((l|0)>=(t[g>>2]|0))break;n=t[o+(l<<2)>>2]|0;r=(A|0)!=0;if(r?(Wd(n,A)|0)!=0:0)a=A;else d=23;do{if((d|0)==23){d=0;if(b?(k=JP(n,u)|0,k|0):0){a=k;break}a=0}}while(0);Mp(n)|0;f=N_(n,a)|0;A=s|r?A:f;if(b?(a|0)==0|(a|0)==(A|0):0)Mw(f,u,142463)|0;AU(n)|0;l=l+1|0}d=(sd(e)|0)+16|0;G2(t[(t[d>>2]|0)+112>>2]|0);t[(t[d>>2]|0)+112>>2]=0;sE(t[g>>2]|0,o,e,w)|0;TH(e)}r=0;while(1){if((r|0)>=(t[g>>2]|0))break;Ed(e,t[o+(r<<2)>>2]|0)|0;r=r+1|0}G2(o)}if(v|0)Xw(e,95738,Mk(A)|0)|0;MV(e)}h=m;return}function JP(e,A){e=e|0;A=A|0;var r=0;r=sd(e)|0;while(1){if(!r){r=0;break}if((mx(Pw(r,A)|0)|0)<<24>>24)break;r=cd(e,r)|0}return r|0}function HP(e){e=e|0;var A=0,r=0;A=sd(e)|0;if(A|0){while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;bJ(r);r=qw(e,r)|0}oJ(A);A=cd(e,A)|0}PP(e)}return}function PP(e){e=e|0;G2(t[(t[e+16>>2]|0)+152>>2]|0);if((yd(e)|0)!=(e|0))qd(e,0,137483);return}function XP(e){e=e|0;SP(e);if(!((gk(e)|0)==0?!(t[(t[e+16>>2]|0)+180>>2]|0):0)){eq(e);MV(e)}return}function SP(e){e=e|0;t[47147]=zw(e,1,108230,108236)|0;DJ(e,2);a[(t[e+16>>2]|0)+176>>1]=2;t[47137]=2;jP(e,0);UP(e);return}function jP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;f=(A|0)==0;if(f){_P(n);A=n}r=xv(e)|0;while(1){if(!r)break;if(!(y1(Mk(r)|0,108006,7)|0)){Sd(r,137483,280,1)|0;qP(A,r);jP(r,0)}else jP(r,A);r=Jv(r)|0}if(f?(i=t[n+8>>2]|0,a=e+16|0,t[(t[a>>2]|0)+180>>2]=i,i|0):0){f=AM(t[n>>2]|0,(i<<2)+4|0)|0;t[(t[a>>2]|0)+184>>2]=f}h=l;return}function UP(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=KF((gk(e)|0)<<2)|0;A=KF(((gk(e)|0)<<2)+4|0)|0;n=e+16|0;t[(t[n>>2]|0)+152>>2]=A;A=sd(e)|0;r=0;while(1){if(!A)break;Sd(A,137447,304,1)|0;t[(t[A+16>>2]|0)+112>>2]=a+(r<<2);t[(t[(t[n>>2]|0)+152>>2]|0)+(r<<2)>>2]=A;TP(A);i=Ow(e,A)|0;while(1){if(!i)break;OP(i);i=qw(e,i)|0}A=cd(e,A)|0;r=r+1|0}return}function TP(e){e=e|0;Xw(e,108230,108236)|0;return}function OP(e){e=e|0;Sd(e,137460,304,1)|0;return}function _P(e){e=e|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function qP(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=e+8|0;r=(t[n>>2]|0)+1|0;t[n>>2]=r;i=e+4|0;f=t[i>>2]|0;a=f+10|0;if((r|0)<(f|0))e=t[e>>2]|0;else{t[i>>2]=a;r=AM(t[e>>2]|0,a<<2)|0;t[e>>2]=r;e=r;r=t[n>>2]|0}t[e+(r<<2)>>2]=A;return}function KP(e){e=e|0;var A=0,r=0;A=sd(e)|0;if(A|0){G2(t[(t[A+16>>2]|0)+112>>2]|0);while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;bJ(r);r=qw(e,r)|0}oJ(A);A=cd(e,A)|0}$P(e)}return}function $P(e){e=e|0;G2(t[(t[e+16>>2]|0)+152>>2]|0);if((yd(e)|0)!=(e|0))qd(e,0,137483);return}function eX(e){e=e|0;var A=0,r=0,i=0;AX(e);rX(e,0);iX(e,0);aX(e,0);A=t[e+16>>2]|0;if(!(t[(t[A+8>>2]|0)+84>>2]|0)){A=a[A+136>>1]&14;if(A<<16>>16)VH(e,A&65535)|0}else{A=sd(e)|0;while(1){if(!A)break;i=t[A+16>>2]|0;r=t[i+132>>2]|0;c[r>>3]=+c[i+16>>3]*.013888888888888888;c[r+8>>3]=+c[i+24>>3]*.013888888888888888;A=cd(e,A)|0}xH(e,1)}MV(e);return}function AX(e){e=e|0;var A=0,r=0;DJ(e,2);a[(t[e+16>>2]|0)+176>>1]=2;t[47137]=2;A=sd(e)|0;while(1){if(!A)break;xJ(A);A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;Sd(A,137460,176,1)|0;Mx(A)|0;A=qw(e,A)|0}r=cd(e,r)|0}return}function rX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;f=(A|0)==0;if(f){sX(n);A=n}r=xv(e)|0;while(1){if(!r)break;if(!(y1(Mk(r)|0,108006,7)|0)){Sd(r,137483,280,1)|0;VF(r);cX(A,r);rX(r,0)}else rX(r,A);r=Jv(r)|0}if(f?(i=t[n+8>>2]|0,a=e+16|0,t[(t[a>>2]|0)+180>>2]=i,i|0):0){f=AM(t[n>>2]|0,(i<<2)+4|0)|0;t[(t[a>>2]|0)+184>>2]=f}h=l;return}function iX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0.0,l=0.0,s=0.0,o=0.0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0;H=h;h=h+448|0;z=H+400|0;D=H+384|0;J=H+344|0;x=H+304|0;R=H+248|0;L=H+192|0;B=H+152|0;y=H+96|0;b=H+72|0;r=H+64|0;Y=H+32|0;F=H;Z=H+416|0;m=H+328|0;E=H+288|0;M=H+232|0;V=H+176|0;N=H+136|0;W=H+80|0;u=t[e+60>>2]|0;if(0>1){tX(A);Q=t[15712]|0;t[r>>2]=Mk(e)|0;a3(Q,90723,r)|0}Q=e+16|0;a=A+1|0;r=1;i=0;while(1){n=t[Q>>2]|0;if((r|0)>(t[n+180>>2]|0))break;G=t[(t[n+184>>2]|0)+(r<<2)>>2]|0;iX(G,a);r=r+1|0;i=(gk(G)|0)+i|0}w=(gk(e)|0)-i|0;r=t[Q>>2]|0;G=(t[r+180>>2]|0)+w|0;p=(G|0)==0;if(p?(t[r+12>>2]|0)==0:0){J=r+16|0;t[J>>2]=0;t[J+4>>2]=0;t[J+8>>2]=0;t[J+12>>2]=0;c[r+40>>3]=18.0;c[r+32>>3]=18.0}else{r=Z+16|0;do{if((cE(e,4,4,Z)|0)>>>0>=3)if((t[r>>2]|0)==4?(t[Z+28>>2]&2|0)!=0:0){i=zw(u,0,99190,0)|0;r=zw(u,1,99190,0)|0;if((i|0)!=0|(r|0)!=0){t[Z+24>>2]=KF(G<<2)|0;break}else{t[b>>2]=Mk(e)|0;nw(0,90577,b)|0;r=0;i=0;break}}else{r=0;i=0}else{t[r>>2]=3;r=0;i=0}}while(0);C=KF(G<<5)|0;I=KF(G<<2)|0;v=Z+24|0;u=(i|0)!=0;d=0;n=1;while(1){a=t[Q>>2]|0;if((n|0)>(t[a+180>>2]|0))break;a=t[(t[a+184>>2]|0)+(n<<2)>>2]|0;g=C+(d<<5)|0;k=(t[a+16>>2]|0)+16|0;t[g>>2]=t[k>>2];t[g+4>>2]=t[k+4>>2];t[g+8>>2]=t[k+8>>2];t[g+12>>2]=t[k+12>>2];t[g+16>>2]=t[k+16>>2];t[g+20>>2]=t[k+20>>2];t[g+24>>2]=t[k+24>>2];t[g+28>>2]=t[k+28>>2];if(u&(t[v>>2]|0)!=0){g=hx(a,i,0,0)|0;t[(t[v>>2]|0)+(d<<2)>>2]=g}t[I+(d<<2)>>2]=a;d=d+1|0;n=n+1|0}e:do{if((w|0)>0){b=Y+16|0;w=Y+24|0;k=(r|0)!=0;u=sd(e)|0;i=d;while(1){if(!u)break e;a=t[u+16>>2]|0;n=a+112|0;if(!(t[n>>2]|0)){t[n>>2]=e;t[Y>>2]=0;t[Y+4>>2]=0;t[Y+8>>2]=0;t[Y+12>>2]=0;c[b>>3]=+c[a+96>>3]+ +c[a+88>>3];c[w>>3]=+c[a+80>>3];g=C+(i<<5)|0;t[g>>2]=t[Y>>2];t[g+4>>2]=t[Y+4>>2];t[g+8>>2]=t[Y+8>>2];t[g+12>>2]=t[Y+12>>2];t[g+16>>2]=t[Y+16>>2];t[g+20>>2]=t[Y+20>>2];t[g+24>>2]=t[Y+24>>2];t[g+28>>2]=t[Y+28>>2];if(k&(t[v>>2]|0)!=0){g=hx(u,r,0,0)|0;t[(t[v>>2]|0)+(i<<2)>>2]=g}t[I+(i<<2)>>2]=u;i=i+1|0}u=cd(e,u)|0}}}while(0);g=iE(G,C,Z)|0;r=t[v>>2]|0;if(r|0)G2(r);nX(F,2147483647.0,2147483647.0);v=F+16|0;nX(m,-2147483647.0,-2147483647.0);t[v>>2]=t[m>>2];t[v+4>>2]=t[m+4>>2];t[v+8>>2]=t[m+8>>2];t[v+12>>2]=t[m+12>>2];n=Y+16|0;u=Y+8|0;b=Y+24|0;w=F+8|0;k=F+24|0;d=t[15712]|0;r=0;while(1){if((r|0)>=(G|0))break;l=+(t[g+(r<<3)>>2]|0);o=+(t[g+(r<<3)+4>>2]|0);i=C+(r<<5)|0;t[Y>>2]=t[i>>2];t[Y+4>>2]=t[i+4>>2];t[Y+8>>2]=t[i+8>>2];t[Y+12>>2]=t[i+12>>2];t[Y+16>>2]=t[i+16>>2];t[Y+20>>2]=t[i+20>>2];t[Y+24>>2]=t[i+24>>2];t[Y+28>>2]=t[i+28>>2];f=+c[Y>>3]+l;c[Y>>3]=f;l=+c[n>>3]+l;c[n>>3]=l;s=+c[u>>3]+o;c[u>>3]=s;o=+c[b>>3]+o;c[b>>3]=o;c[F>>3]=+c[(+c[F>>3]>3];c[w>>3]=+c[(+c[w>>3]>3];c[v>>3]=+c[(+c[v>>3]>l?F:Y)+16>>3];c[k>>3]=+c[(+c[k>>3]>o?F:Y)+24>>3];i=t[I+(r<<2)>>2]|0;a=i+16|0;if((r|0)<(t[(t[Q>>2]|0)+180>>2]|0)){m=(t[a>>2]|0)+16|0;t[m>>2]=t[Y>>2];t[m+4>>2]=t[Y+4>>2];t[m+8>>2]=t[Y+8>>2];t[m+12>>2]=t[Y+12>>2];t[m+16>>2]=t[Y+16>>2];t[m+20>>2]=t[Y+20>>2];t[m+24>>2]=t[Y+24>>2];t[m+28>>2]=t[Y+28>>2];if(0>1){tX(A);t[y>>2]=Mk(i)|0;c[y+8>>3]=f;c[y+16>>3]=s;c[y+24>>3]=l;c[y+32>>3]=o;a3(d,90556,y)|0}}else{m=(t[a>>2]|0)+16|0;t[D>>2]=t[Y>>2];t[D+4>>2]=t[Y+4>>2];t[D+8>>2]=t[Y+8>>2];t[D+12>>2]=t[Y+12>>2];t[z>>2]=t[n>>2];t[z+4>>2]=t[n+4>>2];t[z+8>>2]=t[n+8>>2];t[z+12>>2]=t[n+12>>2];fX(E,D,z);t[m>>2]=t[E>>2];t[m+4>>2]=t[E+4>>2];t[m+8>>2]=t[E+8>>2];t[m+12>>2]=t[E+12>>2];if(0>1){tX(A);m=Mk(i)|0;a=t[a>>2]|0;s=+c[a+16>>3];o=+c[a+24>>3];t[B>>2]=m;c[B+8>>3]=s;c[B+16>>3]=o;a3(d,90544,B)|0}}r=r+1|0}i=t[Q>>2]|0;r=t[i+12>>2]|0;if(r|0){f=+c[r+24>>3];if(p){l=+c[r+32>>3];t[F>>2]=0;t[F+4>>2]=0;t[F+8>>2]=0;t[F+12>>2]=0;c[v>>3]=f;c[k>>3]=l;l=0.0;s=f}else{l=+c[F>>3];s=+c[v>>3]}o=f-(s-l);f=o*.5;if(o>0.0){c[F>>3]=l-f;c[v>>3]=s+f}}if((A|0)>0)f=+((t[Z+8>>2]|0)>>>0)*.5;else f=0.0;l=+c[F>>3]-f;c[F>>3]=l;s=+c[v>>3]+f;c[v>>3]=s;o=-f-+c[i+56>>3]+ +c[w>>3];c[w>>3]=o;f=+c[i+88>>3]+f+ +c[k>>3];c[k>>3]=f;if(0>1){tX(A);t[L>>2]=Mk(e)|0;c[L+8>>3]=l;c[L+16>>3]=o;c[L+24>>3]=s;c[L+32>>3]=f;a3(d,90556,L)|0}r=0;while(1){if((r|0)>=(G|0))break;i=t[I+(r<<2)>>2]|0;a=i+16|0;if((r|0)<(t[(t[Q>>2]|0)+180>>2]|0)){L=(t[a>>2]|0)+16|0;t[Y>>2]=t[L>>2];t[Y+4>>2]=t[L+4>>2];t[Y+8>>2]=t[L+8>>2];t[Y+12>>2]=t[L+12>>2];t[Y+16>>2]=t[L+16>>2];t[Y+20>>2]=t[L+20>>2];t[Y+24>>2]=t[L+24>>2];t[Y+28>>2]=t[L+28>>2];t[D>>2]=t[L>>2];t[D+4>>2]=t[L+4>>2];t[D+8>>2]=t[L+8>>2];t[D+12>>2]=t[L+12>>2];t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];lX(Y,D,z);t[D>>2]=t[n>>2];t[D+4>>2]=t[n+4>>2];t[D+8>>2]=t[n+8>>2];t[D+12>>2]=t[n+12>>2];t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];lX(M,D,z);t[n>>2]=t[M>>2];t[n+4>>2]=t[M+4>>2];t[n+8>>2]=t[M+8>>2];t[n+12>>2]=t[M+12>>2];L=(t[a>>2]|0)+16|0;t[L>>2]=t[Y>>2];t[L+4>>2]=t[Y+4>>2];t[L+8>>2]=t[Y+8>>2];t[L+12>>2]=t[Y+12>>2];t[L+16>>2]=t[Y+16>>2];t[L+20>>2]=t[Y+20>>2];t[L+24>>2]=t[Y+24>>2];t[L+28>>2]=t[Y+28>>2];if(0>1){tX(A);L=Mk(i)|0;f=+c[Y>>3];l=+c[u>>3];s=+c[n>>3];o=+c[b>>3];t[R>>2]=L;c[R+8>>3]=f;c[R+16>>3]=l;c[R+24>>3]=s;c[R+32>>3]=o;a3(d,90556,R)|0}}else{L=(t[a>>2]|0)+16|0;t[D>>2]=t[L>>2];t[D+4>>2]=t[L+4>>2];t[D+8>>2]=t[L+8>>2];t[D+12>>2]=t[L+12>>2];t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];lX(V,D,z);t[L>>2]=t[V>>2];t[L+4>>2]=t[V+4>>2];t[L+8>>2]=t[V+8>>2];t[L+12>>2]=t[V+12>>2];if(0>1){tX(A);L=Mk(i)|0;Z=t[a>>2]|0;s=+c[Z+16>>3];o=+c[Z+24>>3];t[x>>2]=L;c[x+8>>3]=s;c[x+16>>3]=o;a3(d,90544,x)|0}}r=r+1|0}t[D>>2]=t[v>>2];t[D+4>>2]=t[v+4>>2];t[D+8>>2]=t[v+8>>2];t[D+12>>2]=t[v+12>>2];t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];lX(N,D,z);t[v>>2]=t[N>>2];t[v+4>>2]=t[N+4>>2];t[v+8>>2]=t[N+8>>2];t[v+12>>2]=t[N+12>>2];t[D>>2]=t[F>>2];t[D+4>>2]=t[F+4>>2];t[D+8>>2]=t[F+8>>2];t[D+12>>2]=t[F+12>>2];t[z>>2]=t[F>>2];t[z+4>>2]=t[F+4>>2];t[z+8>>2]=t[F+8>>2];t[z+12>>2]=t[F+12>>2];lX(W,D,z);t[F>>2]=t[W>>2];t[F+4>>2]=t[W+4>>2];t[F+8>>2]=t[W+8>>2];t[F+12>>2]=t[W+12>>2];x=(t[Q>>2]|0)+16|0;t[x>>2]=t[F>>2];t[x+4>>2]=t[F+4>>2];t[x+8>>2]=t[F+8>>2];t[x+12>>2]=t[F+12>>2];t[x+16>>2]=t[F+16>>2];t[x+20>>2]=t[F+20>>2];t[x+24>>2]=t[F+24>>2];t[x+28>>2]=t[F+28>>2];if(0>1){tX(A);x=Mk(e)|0;f=+c[F>>3];l=+c[w>>3];s=+c[v>>3];o=+c[k>>3];t[J>>2]=x;c[J+8>>3]=f;c[J+16>>3]=l;c[J+24>>3]=s;c[J+32>>3]=o;a3(d,90556,J)|0}G2(C);G2(I);G2(g)}h=H;return}function aX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0,w=0.0,k=0.0,d=0,v=0,g=0,m=0;g=h;h=h+80|0;v=g+32|0;f=g+8|0;r=g;d=e+16|0;b=t[d>>2]|0;w=+c[b+16>>3];k=+c[b+24>>3];if(0>1){tX(A);b=t[15712]|0;t[r>>2]=Mk(e)|0;a3(b,90529,r)|0}b=(A|0)!=0;e:do{if(b){r=sd(e)|0;i=t[15712]|0;while(1){if(!r)break e;a=r+16|0;n=t[a>>2]|0;if((t[n+112>>2]|0)==(e|0)?(m=n+16|0,c[m>>3]=+c[m>>3]+w,n=n+24|0,c[n>>3]=+c[n>>3]+k,0>1):0){tX(A);m=Mk(r)|0;n=t[a>>2]|0;o=+c[n+16>>3];u=+c[n+24>>3];t[f>>2]=m;c[f+8>>3]=o;c[f+16>>3]=u;a3(i,90544,f)|0}r=cd(e,r)|0}}else i=t[15712]|0}while(0);f=A+1|0;e=1;while(1){r=t[d>>2]|0;if((e|0)>(t[r+180>>2]|0))break;n=t[(t[r+184>>2]|0)+(e<<2)>>2]|0;if(b){a=n+16|0;r=t[a>>2]|0;l=+c[r+16>>3]+w;s=+c[r+24>>3]+k;o=+c[r+32>>3]+w;u=+c[r+40>>3]+k;if(0>1){tX(A);t[v>>2]=Mk(n)|0;c[v+8>>3]=l;c[v+16>>3]=s;c[v+24>>3]=o;c[v+32>>3]=u;a3(i,90556,v)|0;r=t[a>>2]|0}c[r+16>>3]=l;c[r+24>>3]=s;c[r+32>>3]=o;c[r+40>>3]=u}aX(n,f);e=e+1|0}h=g;return}function tX(e){e=e|0;var A=0;A=t[15712]|0;while(1){if((e|0)<=0)break;Z3(90574,A)|0;e=e+-1|0}return}function nX(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A;c[e+8>>3]=r;return}function fX(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=(+c[r+8>>3]+ +c[A+8>>3])*.5;c[e>>3]=(+c[r>>3]+ +c[A>>3])*.5;c[e+8>>3]=i;return}function lX(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0;i=+c[A+8>>3]-+c[r+8>>3];c[e>>3]=+c[A>>3]-+c[r>>3];c[e+8>>3]=i;return}function sX(e){e=e|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function cX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=e+8|0;r=(t[n>>2]|0)+1|0;t[n>>2]=r;i=e+4|0;f=t[i>>2]|0;a=f+10|0;if((r|0)<(f|0))e=t[e>>2]|0;else{t[i>>2]=a;r=AM(t[e>>2]|0,a<<2)|0;t[e>>2]=r;e=r;r=t[n>>2]|0}t[e+(r<<2)>>2]=A;return}function oX(e){e=e|0;var A=0;A=sd(e)|0;while(1){if(!A)break;oJ(A);A=cd(e,A)|0}uX(e);return}function uX(e){e=e|0;var A=0,r=0,i=0;A=e+16|0;e=1;while(1){i=t[A>>2]|0;r=t[i+184>>2]|0;if((e|0)>(t[i+180>>2]|0))break;i=t[r+(e<<2)>>2]|0;SF(t[(t[i+16>>2]|0)+12>>2]|0);uX(i);e=e+1|0}G2(r);return}function bX(e){e=e|0;var A=0,r=0,i=0;_d(e,1,137447,304,1);_x(e)|0;A=KF(((gk(e)|0)<<2)+4|0)|0;i=e+16|0;t[(t[i>>2]|0)+152>>2]=A;A=0;r=sd(e)|0;while(1){if(!r)break;hX(r);t[(t[(t[i>>2]|0)+152>>2]|0)+(A<<2)>>2]=r;t[(t[r+16>>2]|0)+120>>2]=A;A=A+1|0;r=cd(e,r)|0}i=zw(e,2,92493,0)|0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;wX(A,i);A=qw(e,A)|0}r=cd(e,r)|0}kX(e);return}function hX(e){e=e|0;var A=0;Fx(e);A=KF((f[(t[(Bd(e)|0)+16>>2]|0)+176>>1]|0)<<3)|0;t[(t[e+16>>2]|0)+132>>2]=A;WJ(e,t[(t[(Bd(e)|0)+16>>2]|0)+116>>2]&1);return}function wX(e,A){e=e|0;A=A|0;var r=0,i=0.0;Sd(e,137460,176,1)|0;i=+wx(e,t[47174]|0,1.0,0.0);r=e+16|0;c[(t[r>>2]|0)+128>>3]=i;i=+wx(e,A,+c[1371],0.0);c[(t[r>>2]|0)+136>>3]=i;Mx(e)|0;return}function kX(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;d=h;h=h+32|0;k=d+16|0;w=d;o=d+24|0;u=zw(e,1,102623,0)|0;e:do{if(u|0){b=zw(e,1,90660,0)|0;f=e+16|0;l=(b|0)==0;s=t[15712]|0;n=0;while(1){r=t[(t[(t[f>>2]|0)+152>>2]|0)+(n<<2)>>2]|0;if(!r)break e;e=Pw(r,u)|0;do{if(i[e>>0]|0){a=r+16|0;A=t[(t[a>>2]|0)+132>>2]|0;i[o>>0]=0;t[w>>2]=A;t[w+4>>2]=A+8;t[w+8>>2]=o;if((V3(e,101749,w)|0)<=1){t[k>>2]=Mk(r)|0;t[k+4>>2]=e;a3(s,90664,k)|0;break}A:do{if(+c[23293]>0.0){e=0;while(1){if((e|0)==2)break A;v=A+(e<<3)|0;c[v>>3]=+c[v>>3]/+c[23293];e=e+1|0}}}while(0);e=t[a>>2]|0;i[e+119>>0]=1;if((i[o>>0]|0)!=33){if(l)break;if(!((mx(Pw(r,b)|0)|0)<<24>>24))break;e=t[a>>2]|0}i[e+119>>0]=3}}while(0);n=n+1|0}}}while(0);h=d;return}function dX(e){e=e|0;var A=0,r=0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;bJ(A);A=qw(e,A)|0}oJ(r);r=cd(e,r)|0}vX(e);return}function vX(e){e=e|0;gX(e);e=e+16|0;G2(t[(t[e>>2]|0)+152>>2]|0);G2(t[(t[e>>2]|0)+140>>2]|0);return}function gX(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;n=e+16|0;a=1;while(1){i=t[n>>2]|0;A=t[i+184>>2]|0;if((a|0)>(t[i+180>>2]|0))break;i=t[A+(a<<2)>>2]|0;A=i+16|0;SF(t[(t[A>>2]|0)+12>>2]|0);r=t[(t[A>>2]|0)+140>>2]|0;if(r|0){G2(t[r>>2]|0);G2(t[(t[A>>2]|0)+140>>2]|0)}gX(i);a=a+1|0}G2(A);if((yd(e)|0)!=(e|0))Ud(e,137483)|0;return}function mX(e,A){e=e|0;A=A|0;t[A+4>>2]=zw(e,0,90716,0)|0;t[A+8>>2]=zw(e,0,141116,0)|0;t[A+12>>2]=zw(e,0,141048,0)|0;t[A>>2]=e;t[A+16>>2]=0;t[A+36>>2]=cE(e,2,4,A+20|0)|0;return}function pX(e){e=e|0;var A=0,r=0;DJ(e,2);A=KF(56)|0;r=e+16|0;t[(t[r>>2]|0)+140>>2]=A;A=(hx(e,zw(e,0,91374,0)|0,2,2)|0)&65535;A=(A&65535)<10?A:10;a[(t[r>>2]|0)+176>>1]=A;t[47137]=A&65535;EX(e,0,e);jX(e);bX(e);return}function EX(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;o=h;h=h+16|0;s=o;c=(A|0)==0;if(c){BX(s);A=s}n=r+16|0;i=xv(e)|0;while(1){if(!i)break;if(!(y1(Mk(i)|0,108006,7)|0)){Sd(i,137483,280,1)|0;u=KF(56)|0;w=t[i+16>>2]|0;t[w+140>>2]=u;b=t[n>>2]|0;a[w+176>>1]=a[b+176>>1]|0;t[u+44>>2]=(t[(t[b+140>>2]|0)+44>>2]|0)+1;t[u+48>>2]=r;yX(A,i);EX(i,0,i)}else EX(i,A,r);i=Jv(i)|0}if(c?(f=t[s+8>>2]|0,l=e+16|0,t[(t[l>>2]|0)+180>>2]=f,f|0):0){w=AM(t[s>>2]|0,(f<<2)+4|0)|0;t[(t[l>>2]|0)+184>>2]=w}h=o;return}function BX(e){e=e|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function yX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=e+8|0;r=(t[n>>2]|0)+1|0;t[n>>2]=r;i=e+4|0;f=t[i>>2]|0;a=f+10|0;if((r|0)<(f|0))e=t[e>>2]|0;else{t[i>>2]=a;r=AM(t[e>>2]|0,a<<2)|0;t[e>>2]=r;e=r;r=t[n>>2]|0}t[e+(r<<2)>>2]=A;return}function CX(e){e=e|0;var A=0,r=0;A=h;h=h+64|0;r=A;mX(e,r);IX(e,r);ZX(e);GX(e,e);LX(e);h=A;return}function IX(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0.0,m=0.0,p=0,E=0.0,B=0.0;v=h;h=h+64|0;d=v+48|0;r=v+40|0;b=v+56|0;u=v+52|0;o=v;if(0){k=t[15712]|0;t[r>>2]=Mk(e)|0;a3(k,90723,r)|0}r=sd(e)|0;while(1){if(!r)break;t[(t[r+16>>2]|0)+164>>2]=0;r=cd(e,r)|0}w=QX(e,A)|0;k=pq(w,b,u)|0;r=k;while(1){s=r+4|0;a=t[r>>2]|0;if(!a)break;UX(a,o);r=sd(a)|0;while(1){if(!r)break;n=cd(a,r)|0;f=r+16|0;l=t[f>>2]|0;if(t[l+212>>2]|0){p=DX(r,a)|0;IX(p,A);p=t[(t[p+16>>2]|0)+140>>2]|0;m=+c[p+24>>3];l=t[f>>2]|0;c[l+32>>3]=m;g=+c[p+32>>3];c[l+40>>3]=g;m=m*36.0;c[l+88>>3]=m;c[l+96>>3]=m;c[l+80>>3]=g*72.0;r=n;continue}if(t[(t[l+112>>2]|0)+8>>2]|0){r=n;continue}Ed(a,r)|0;r=n}if((gk(a)|0)<=1){r=s;continue}if((t[A>>2]|0)==(e|0))yj(a)|0;nS(a,o);r=s}r=t[b>>2]|0;if((r|0)<=1)if((r|0)==1){Xx(t[k>>2]|0);r=0}else r=0;else{if(!(t[u>>2]|0))a=0;else{a=KF(r)|0;i[a>>0]=1;r=t[b>>2]|0}t[A+40>>2]=a;r=Hp(r,k,0,A+20|0)|0;G2(a)}zX(w,t[b>>2]|0,k,r,e,A);G2(r);a=sd(w)|0;while(1){if(!a)break;n=t[a+16>>2]|0;r=t[n+212>>2]|0;if(!r){r=t[(t[n+112>>2]|0)+8>>2]|0;if(r|0){b=t[n+132>>2]|0;p=t[(t[r+16>>2]|0)+132>>2]|0;c[p>>3]=+c[b>>3];c[p+8>>3]=+c[b+8>>3]}}else{b=t[n+132>>2]|0;B=+c[n+32>>3];E=+c[b>>3]-B*.5;p=t[(t[r+16>>2]|0)+140>>2]|0;c[p+8>>3]=E;g=+c[n+40>>3];m=+c[b+8>>3]-g*.5;c[p+16>>3]=m;c[p+24>>3]=B+E;c[p+32>>3]=g+m}a=cd(w,a)|0}p=(t[(t[e+16>>2]|0)+140>>2]|0)+8|0;b=(t[(t[w+16>>2]|0)+140>>2]|0)+8|0;t[p>>2]=t[b>>2];t[p+4>>2]=t[b+4>>2];t[p+8>>2]=t[b+8>>2];t[p+12>>2]=t[b+12>>2];t[p+16>>2]=t[b+16>>2];t[p+20>>2]=t[b+20>>2];t[p+24>>2]=t[b+24>>2];t[p+28>>2]=t[b+28>>2];WX(w,k);G2(k);if(0){p=t[15712]|0;t[d>>2]=Mk(e)|0;a3(p,90734,d)|0}h=v;return}function ZX(e){e=e|0;var A=0,r=0,a=0.0,n=0.0,f=0.0,l=0.0,s=0;A=sd(e)|0;while(1){if(!A)break;r=t[A+16>>2]|0;if(i[r+118>>0]|0){s=t[(t[(t[r+212>>2]|0)+16>>2]|0)+140>>2]|0;l=+c[s+24>>3]-+c[s+8>>3];f=+c[s+32>>3]-+c[s+16>>3];n=l*36.0;a=f*36.0;s=t[r+132>>2]|0;c[s>>3]=l*.5;c[s+8>>3]=f*.5;c[r+32>>3]=l;c[r+40>>3]=f;c[r+96>>3]=n;c[r+88>>3]=n;c[r+80>>3]=f*72.0;r=t[(t[r+12>>2]|0)+44>>2]|0;c[r>>3]=n;c[r+8>>3]=a;f=-n;c[r+16>>3]=f;c[r+24>>3]=a;c[r+32>>3]=f;a=-a;c[r+40>>3]=a;c[r+48>>3]=n;c[r+56>>3]=a}A=cd(e,A)|0}return}function GX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,n=0.0,f=0,l=0,s=0.0,o=0,u=0.0,b=0,h=0.0,w=0;f=e+16|0;l=t[(t[f>>2]|0)+140>>2]|0;a=+c[l+8>>3];n=+c[l+16>>3];l=(e|0)!=(A|0);e:do{if(l){r=sd(e)|0;while(1){if(!r){e=1;break e}i=t[r+16>>2]|0;if((t[i+212>>2]|0)==(e|0)){i=t[i+132>>2]|0;c[i>>3]=+c[i>>3]+a;i=i+8|0;c[i>>3]=+c[i>>3]+n}r=cd(e,r)|0}}else e=1}while(0);while(1){r=t[f>>2]|0;if((e|0)>(t[r+180>>2]|0))break;r=t[(t[r+184>>2]|0)+(e<<2)>>2]|0;if(l){i=t[(t[r+16>>2]|0)+140>>2]|0;w=i+8|0;b=i+16|0;o=i+24|0;i=i+32|0;h=+c[b>>3]+n;u=+c[o>>3]+a;s=+c[i>>3]+n;c[w>>3]=+c[w>>3]+a;c[b>>3]=h;c[o>>3]=u;c[i>>3]=s}GX(r,A);e=e+1|0}return}function LX(e){e=e|0;var A=0,r=0,i=0.0,a=0.0,n=0.0;A=e+16|0;e=t[A>>2]|0;r=t[e+140>>2]|0;n=+c[r+16>>3]*72.0;a=+c[r+24>>3]*72.0;i=+c[r+32>>3]*72.0;c[e+16>>3]=+c[r+8>>3]*72.0;c[e+24>>3]=n;c[e+32>>3]=a;c[e+40>>3]=i;e=1;while(1){r=t[A>>2]|0;if((e|0)>(t[r+180>>2]|0))break;LX(t[(t[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function QX(e,A){e=e|0;A=A|0;var r=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=h;h=h+160|0;v=y+24|0;g=y+8|0;n=y;r=y+56|0;E=A+16|0;B=t[E>>2]|0;t[E>>2]=B+1;t[v>>2]=B;T4(r,90796,v)|0;if(0>1){B=t[15712]|0;E=Mk(e)|0;t[n>>2]=r;t[n+4>>2]=E;a3(B,90803,n)|0}i[v>>0]=i[18588]|0;i[v+1>>0]=i[18589]|0;i[v+2>>0]=i[18590]|0;i[v+3>>0]=i[18591]|0;B=hk(91156,v,0)|0;Sd(B,137483,280,1)|0;p=KF(56)|0;E=B+16|0;b=t[E>>2]|0;t[b+140>>2]=p;p=e+16|0;a[b+176>>1]=a[(t[p>>2]|0)+176>>1]|0;RX(e,B,92507);RX(e,B,93112);RX(e,B,91202);b=A+4|0;w=v+16|0;k=v+8|0;d=v+24|0;l=0;u=1;while(1){r=t[p>>2]|0;if((u|0)>(t[r+180>>2]|0))break;t[v>>2]=t[332];t[v+4>>2]=t[333];t[v+8>>2]=t[334];t[v+12>>2]=t[335];t[v+16>>2]=t[336];t[v+20>>2]=t[337];t[v+24>>2]=t[338];t[v+28>>2]=t[339];n=t[(t[r+184>>2]|0)+(u<<2)>>2]|0;VF(n);f=xX(B,Mk(n)|0)|0;s=f+16|0;r=t[s>>2]|0;t[r+212>>2]=n;o=l+1|0;t[r+120>>2]=l;if(t[b>>2]|0)JX(n,f,A,v);r=sd(n)|0;while(1){if(!r)break;t[(t[r+16>>2]|0)+164>>2]=f;r=cd(n,r)|0}r=t[s>>2]|0;if(i[r+119>>0]|0){s=t[r+132>>2]|0;c[s>>3]=(+c[w>>3]+ +c[v>>3])*.5;c[s+8>>3]=(+c[d>>3]+ +c[k>>3])*.5}l=o;u=u+1|0}s=sd(e)|0;while(1){if(!s)break;r=s+16|0;n=t[r>>2]|0;if(!(t[n+164>>2]|0)){f=n+212|0;v=t[f>>2]|0;if(v|0?(v|0)!=(t[(t[(t[p>>2]|0)+140>>2]|0)+48>>2]|0):0){m=18;break}t[f>>2]=e;if(!(i[n+118>>0]|0)){f=xX(B,Mk(s)|0)|0;n=t[r>>2]|0;t[n+164>>2]=f;f=t[f+16>>2]|0;t[f+120>>2]=l;c[f+32>>3]=+c[n+32>>3];c[f+40>>3]=+c[n+40>>3];c[f+88>>3]=+c[n+88>>3];c[f+96>>3]=+c[n+96>>3];c[f+80>>3]=+c[n+80>>3];t[f+8>>2]=t[n+8>>2];t[f+12>>2]=t[n+12>>2];r=i[n+119>>0]|0;if(r<<24>>24){A=t[n+132>>2]|0;v=t[f+132>>2]|0;c[v>>3]=+c[A>>3];c[v+8>>3]=+c[A+8>>3];i[f+119>>0]=r}t[(t[f+112>>2]|0)+8>>2]=s;r=l+1|0}else r=l}else r=l;s=cd(e,s)|0;l=r}if((m|0)==18){A=Mk(s)|0;v=Mk(e)|0;m=Mk(t[(t[r>>2]|0)+212>>2]|0)|0;t[g>>2]=A;t[g+4>>2]=v;t[g+8>>2]=m;nw(1,90826,g)|0;aA(187212,1)}o=sd(e)|0;while(1){if(!o)break;u=t[(t[o+16>>2]|0)+164>>2]|0;b=u+16|0;f=Ow(e,o)|0;while(1){if(!f)break;r=t[(t[(t[((t[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((r|0)!=(u|0)){if(r>>>0>u>>>0)s=lk(B,u,r,0,1)|0;else s=lk(B,r,u,0,1)|0;Sd(s,137460,176,1)|0;n=t[f+16>>2]|0;m=t[s+16>>2]|0;c[m+136>>3]=+c[n+136>>3];c[m+128>>3]=+c[n+128>>3];r=t[(t[r+16>>2]|0)+112>>2]|0;n=r+4|0;t[n>>2]=(t[n>>2]|0)+1;n=t[(t[b>>2]|0)+112>>2]|0;g=n+4|0;t[g>>2]=(t[g>>2]|0)+1;if(!(t[m+172>>2]|0)){t[r>>2]=(t[r>>2]|0)+1;t[n>>2]=(t[n>>2]|0)+1}HX(s,f)}f=qw(e,f)|0}o=cd(e,o)|0}r=t[(t[p>>2]|0)+140>>2]|0;n=t[r>>2]|0;if(n|0){f=KF((t[r+4>>2]<<4)+16|0)|0;t[t[(t[E>>2]|0)+140>>2]>>2]=f;r=0;while(1){if(!(t[n>>2]|0))break;o=t[(t[(t[n+4>>2]|0)+16>>2]|0)+164>>2]|0;if(o){PX(e,n);u=xX(B,193772)|0;b=u+16|0;t[(t[b>>2]|0)+120>>2]=l;if(u>>>0>o>>>0)s=lk(B,o,u,0,1)|0;else s=lk(B,u,o,0,1)|0;Sd(s,137460,176,1)|0;m=t[n>>2]|0;g=t[m+16>>2]|0;p=t[s+16>>2]|0;c[p+136>>3]=+c[g+136>>3];c[p+128>>3]=+c[g+128>>3];HX(s,m);m=t[(t[b>>2]|0)+112>>2]|0;p=m+4|0;t[p>>2]=(t[p>>2]|0)+1;p=t[(t[o+16>>2]|0)+112>>2]|0;g=p+4|0;t[g>>2]=(t[g>>2]|0)+1;t[m>>2]=(t[m>>2]|0)+1;t[p>>2]=(t[p>>2]|0)+1;t[f+4>>2]=u;c[f+8>>3]=+c[n+8>>3];t[f>>2]=s;r=r+1|0;f=f+16|0;l=l+1|0}n=n+16|0}t[(t[(t[E>>2]|0)+140>>2]|0)+4>>2]=r}h=y;return B|0}function DX(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0,f=0,l=0,s=0,o=0;o=t[e+16>>2]|0;s=t[o+212>>2]|0;o=t[(t[o+112>>2]|0)+4>>2]|0;do{if(o|0){l=KF((o<<4)+16|0)|0;a=MX(e,A)|0;n=a+8|0;A=0;i=a;while(1){if(!(t[i>>2]|0))break;f=i+24|0;if(!(t[f>>2]|0))r=+c[n>>3]+6.283185307179586;else r=+c[i+32>>3];A=VX(e,i,l,A,r)|0;i=f}if((A|0)==(o|0)){e=t[(t[s+16>>2]|0)+140>>2]|0;t[e>>2]=l;t[e+4>>2]=o;G2(a);break}else ge(90742,90752,766,90761)}}while(0);return s|0}function zX(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0.0,l=0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0.0,W=0.0;Z=h;h=h+32|0;B=Z+16|0;I=Z;o=t[n+8>>2]|0;l=t[n+12>>2]|0;y=(t[n>>2]|0)==(a|0);C=(A|0)!=0;e:do{if(C){w=t[(t[r>>2]|0)+16>>2]|0;s=+c[w+16>>3];o=~~(s+(s>=0.0?.5:-.5));t[I>>2]=o;s=+c[w+24>>3];n=~~(s+(s>=0.0?.5:-.5));m=I+4|0;t[m>>2]=n;s=+c[w+32>>3];u=~~(s+(s>=0.0?.5:-.5));p=I+8|0;t[p>>2]=u;s=+c[w+40>>3];w=~~(s+(s>=0.0?.5:-.5));E=I+12|0;t[E>>2]=w;if((A|0)>1){k=t[i>>2]|0;g=t[i+4>>2]|0;o=k+o|0;t[I>>2]=o;A=g+n|0;t[m>>2]=A;u=k+u|0;t[p>>2]=u;k=B+4|0;d=B+8|0;v=B+12|0;b=i;n=r;g=g+w|0;w=A;while(1){n=n+4|0;l=b+8|0;t[E>>2]=g;A=t[n>>2]|0;if(!A){l=0;d=w;v=g;break e}Q=t[A+16>>2]|0;z=+c[Q+16>>3];f=+c[Q+24>>3];s=+c[Q+32>>3];W=+c[Q+40>>3];Q=~~(W+(W>=0.0?.5:-.5));t[v>>2]=Q;A=t[l>>2]|0;D=t[b+12>>2]|0;L=A+~~(z+(z>=0.0?.5:-.5))|0;t[B>>2]=L;G=D+~~(f+(f>=0.0?.5:-.5))|0;t[k>>2]=G;A=A+~~(s+(s>=0.0?.5:-.5))|0;t[d>>2]=A;Q=D+Q|0;t[v>>2]=Q;L=t[((o|0)<(L|0)?I:B)>>2]|0;t[I>>2]=L;G=t[((w|0)<(G|0)?I:B)+4>>2]|0;t[m>>2]=G;A=t[((u|0)>(A|0)?I:B)+8>>2]|0;t[p>>2]=A;b=l;g=t[((g|0)>(Q|0)?I:B)+12>>2]|0;o=L;w=G;u=A}}else{l=0;d=n;v=w}}else{t[I>>2]=0;t[I+4>>2]=0;u=hx(a,o,54,3)|0;t[I+8>>2]=u;v=hx(a,l,36,3)|0;t[I+12>>2]=v;l=1;o=0;d=0}}while(0);A=a+16|0;b=t[A>>2]|0;n=t[b+12>>2]|0;if(n){W=+c[n+24>>3];n=o-u+~~(W+(W>=0.0?.5:-.5))|0;if((n|0)>0){n=n>>>1;o=o-n|0;t[I>>2]=o;u=u+n|0;t[I+8>>2]=u;n=0}else n=0}else n=l;if(y|(n|0)!=0){l=0;n=b}else{l=hx(e,t[47144]|0,8,0)|0;n=t[A>>2]|0}k=l-o|0;w=~~(+c[n+56>>3]+ +(l-d|0));t[I>>2]=0;t[I+4>>2]=0;b=k+l+u|0;t[I+8>>2]=b;A=~~(+c[n+88>>3]+ +(l+w|0)+ +(v|0));t[I+12>>2]=A;e:do{if(C){n=i;A:while(1){u=r+4|0;l=t[r>>2]|0;if(!l)break e;if(!n){o=0;r=k;n=w}else{o=n+8|0;r=(t[n>>2]|0)+k|0;n=(t[n+4>>2]|0)+w|0}s=+(r|0)*.013888888888888888;f=+(n|0)*.013888888888888888;r=sd(l)|0;while(1){if(!r){r=u;n=o;continue A}D=t[(t[r+16>>2]|0)+132>>2]|0;c[D>>3]=+c[D>>3]+s;D=D+8|0;c[D>>3]=+c[D>>3]+f;r=cd(l,r)|0}}}}while(0);D=t[(t[e+16>>2]|0)+140>>2]|0;Q=D+8|0;t[Q>>2]=0;t[Q+4>>2]=0;t[Q+8>>2]=0;t[Q+12>>2]=0;c[D+24>>3]=+(b|0)*.013888888888888888;c[D+32>>3]=+(A|0)*.013888888888888888;h=Z;return}function WX(e,A){e=e|0;A=A|0;var r=0,i=0;while(1){r=t[A>>2]|0;if(!r)break;YX(r);Ud(r,137483)|0;A=A+4|0}A=t[t[(t[e+16>>2]|0)+140>>2]>>2]|0;if(A|0)G2(A);YX(e);Ud(e,137483)|0;r=sd(e)|0;while(1){if(!r)break;i=cd(e,r)|0;A=Ow(e,r)|0;while(1){if(!A)break;G2(t[(t[A+16>>2]|0)+172>>2]|0);Ud(A,137460)|0;A=qw(e,A)|0}FX(r);r=i}vk(e)|0;return}function YX(e){e=e|0;G2(t[(t[e+16>>2]|0)+140>>2]|0);return}function FX(e){e=e|0;var A=0;A=e+16|0;G2(t[(t[A>>2]|0)+112>>2]|0);G2(t[(t[A>>2]|0)+132>>2]|0);Ud(e,137447)|0;return}function MX(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0;s=e+16|0;o=t[t[(t[s>>2]|0)+112>>2]>>2]|0;u=KF((o*24|0)+24|0)|0;f=0;l=ek(A,e)|0;while(1){if(!l)break;a=t[l>>2]&3;i=t[((a|0)==2?l:l+-48|0)+40>>2]|0;if((i|0)==(e|0))i=t[((a|0)==3?l:l+48|0)+40>>2]|0;i=t[(t[i+16>>2]|0)+132>>2]|0;a=t[(t[s>>2]|0)+132>>2]|0;n=+c[i>>3]-+c[a>>3];r=+c[i+8>>3]-+c[a+8>>3];t[u+(f*24|0)>>2]=l;c[u+(f*24|0)+8>>3]=+R(+r,+n);c[u+(f*24|0)+16>>3]=r*r+n*n;f=f+1|0;l=Ak(A,l,e)|0}if((f|0)!=(o|0))ge(90775,90752,642,90784);_4(u,o,24,67);e:do{if((o|0)>1){l=o+-1|0;i=0;A:while(1){if((i|0)>=(l|0))break e;n=+c[u+(i*24|0)+8>>3];a=i+1|0;f=a;while(1){if((f|0)>=(o|0))break;if(!(+c[u+(f*24|0)+8>>3]==n))break;f=f+1|0}if((f|0)==(a|0)){i=a;continue}if((f|0)==(o|0))r=3.141592653589793;else r=+c[u+(f*24|0)+8>>3];r=(r-n)/+(f-i|0);r=r>.03490658503988659?.03490658503988659:r;n=0.0;while(1){if((i|0)>=(f|0))continue A;s=u+(i*24|0)+8|0;c[s>>3]=+c[s>>3]+n;n=n+r;i=i+1|0}}}}while(0);return u|0}function VX(e,A,r,i,n){e=e|0;A=A|0;r=r|0;i=i|0;n=+n;var f=0,l=0,s=0,o=0.0,u=0,b=0,h=0,w=0.0,k=0;s=t[A>>2]|0;b=t[s+16>>2]|0;u=a[b+168>>1]|0;h=u<<16>>16;l=t[s>>2]&3;f=t[((l|0)==2?s:s+-48|0)+40>>2]|0;if((f|0)==(e|0))f=t[((l|0)==3?s:s+48|0)+40>>2]|0;w=+c[A+8>>3];n=(n-w)/+(u<<16>>16);n=n>.03490658503988659?.03490658503988659:n;u=f>>>0>e>>>0;o=u?n:-n;A=u?1:-1;s=0;f=t[b+172>>2]|0;l=u?i:i+-1+h|0;n=u?w:n*+(h+-1|0)+w;while(1){if((s|0)>=(h|0))break;b=t[f>>2]|0;t[r+(l<<4)>>2]=b;u=t[b>>2]&3;k=(u|0)==3?b:b+48|0;t[r+(l<<4)+4>>2]=t[((t[(t[(t[k+40>>2]|0)+16>>2]|0)+164>>2]|0)==(e|0)?k:(u|0)==2?b:b+-48|0)+40>>2];c[r+(l<<4)+8>>3]=n;s=s+1|0;f=f+4|0;l=l+A|0;n=n+o}return h+i|0}function NX(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e+8>>3];i=+c[A+8>>3];if(!(r>i))if(!(r>3];r=+c[A+16>>3];if(i>r)e=1;else e=(i>31}else e=-1;else e=1;return e|0}function RX(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=zw(e,0,r,0)|0;do{if(i|0){e=Pw(e,i)|0;i=zw(A,0,r,0)|0;if(!i){zw(A,0,r,e)|0;break}else{Mw(A,i,e)|0;break}}}while(0);return}function xX(e,A){e=e|0;A=A|0;var r=0,i=0;A=gd(e,A,1)|0;Sd(A,137447,304,1)|0;i=KF(32)|0;r=A+16|0;t[(t[r>>2]|0)+112>>2]=i;e=$F((f[(t[e+16>>2]|0)+176>>1]|0)<<3)|0;t[(t[r>>2]|0)+132>>2]=e;return A|0}function JX(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+80|0;u=k+56|0;o=k+32|0;w=k;b=k+64|0;f=t[r+4>>2]|0;s=Pw(e,f)|0;do{if(i[s>>0]|0){if((t[r>>2]|0)!=(e|0)){r=Pw(Hv(e)|0,f)|0;if((r|0)==(s|0))break;if(!(e1(s,r)|0))break}i[b>>0]=0;r=w+8|0;f=w+16|0;l=w+24|0;t[o>>2]=w;t[o+4>>2]=r;t[o+8>>2]=f;t[o+12>>2]=l;t[o+16>>2]=b;if((V3(s,90937,o)|0)<=3){t[u>>2]=Mk(e)|0;t[u+4>>2]=s;nw(0,90955,u)|0;break}n=+c[23293];if(n>0.0){c[w>>3]=+c[w>>3]/n;c[r>>3]=+c[r>>3]/n;c[f>>3]=+c[f>>3]/n;c[l>>3]=+c[l>>3]/n}r=i[b>>0]|0;if(r<<24>>24==33)i[(t[A+16>>2]|0)+119>>0]=3;else i[(t[A+16>>2]|0)+119>>0]=r<<24>>24==63?2:1;t[a>>2]=t[w>>2];t[a+4>>2]=t[w+4>>2];t[a+8>>2]=t[w+8>>2];t[a+12>>2]=t[w+12>>2];t[a+16>>2]=t[w+16>>2];t[a+20>>2]=t[w+20>>2];t[a+24>>2]=t[w+24>>2];t[a+28>>2]=t[w+28>>2]}}while(0);h=k;return}function HX(e,A){e=e|0;A=A|0;var r=0,i=0,n=0;n=e+16|0;i=t[n>>2]|0;e=a[i+168>>1]|0;i=t[i+172>>2]|0;if(!i){e=e<<16>>16;r=e;e=$F((e<<2)+4|0)|0}else{e=e<<16>>16;r=e;e=AM(i,(e<<2)+4|0)|0}t[e+(r<<2)>>2]=A;A=t[n>>2]|0;t[A+172>>2]=e;A=A+168|0;a[A>>1]=(a[A>>1]|0)+1<<16>>16;return}function PX(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;l=h;h=h+48|0;f=l+24|0;n=l;i=t[A>>2]|0;r=t[i>>2]&3;a=t[((r|0)==2?i:i+-48|0)+40>>2]|0;r=t[((r|0)==3?i:i+48|0)+40>>2]|0;A=U2(Mk(e)|0)|0;s=U2(Mk(a)|0)|0;s=(A+8+s+(U2(Mk(r)|0)|0)|0)>999;A=Mk(e)|0;if(s){r=Mk(r)|0;s=Mk(a)|0;f=(t[i>>2]|0)>>>4;t[n>>2]=A;t[n+4>>2]=r;t[n+8>>2]=s;s=n+16|0;t[s>>2]=f;t[s+4>>2]=0;T4(193772,90895,n)|0}else{r=t[(t[r+16>>2]|0)+120>>2]|0;s=t[(t[a+16>>2]|0)+120>>2]|0;n=(t[i>>2]|0)>>>4;t[f>>2]=A;t[f+4>>2]=r;t[f+8>>2]=s;s=f+16|0;t[s>>2]=n;t[s+4>>2]=0;T4(193772,90914,f)|0}h=l;return}function XX(e){e=e|0;var A=0,r=0,i=0.0,n=0.0,f=0,l=0,s=0;l=4;f=Z2(40)|0;t[f>>2]=0;n=+c[23293];d=0;i=+ee(1,e|0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)!=1){c[23293]=i;d=0;oe(102,e|0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)!=1){f=G6(187212,1,f|0,l|0)|0;l=G;d=0;r=d;d=0;if((r|0)!=0&(v|0)!=0){A=L6(t[r>>2]|0,f|0,l|0)|0;if(!A)aA(r|0,v|0);G=v}else A=-1;if((A|0)!=1)A=0;else A=G}else A=G}else A=G;while(1){if(A|0)break;d=0;oe(103,e|0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;continue}d=0;re(22,e|0)|0;A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;continue}if(a[(t[e+16>>2]|0)+136>>1]&14){d=0;oe(104,e|0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1){A=G;continue}}d=0;ue(22,e|0,0);A=d;d=0;if((A|0)!=0&(v|0)!=0){r=L6(t[A>>2]|0,f|0,l|0)|0;if(!r)aA(A|0,v|0);G=v}else r=-1;if((r|0)==1)A=G;else{s=12;break}}if((s|0)==12)c[23293]=n;G2(f|0);return}function SX(e){e=e|0;var A=0,r=0,i=0,n=0,f=0,l=0;l=h;h=h+16|0;n=l;r=e+16|0;i=a[(t[r>>2]|0)+136>>1]&14;A=i&65535;if((i&65535)>8){if(i<<16>>16==12){if(FH(e,22,10)|0){t[47134]=2;f=5}}else f=5;do{if((f|0)==5)if(!(a[(t[r>>2]|0)+136>>1]&1)){VH(e,A)|0;break}else{nw(0,90998,n)|0;A=2;break}}while(0);t[47134]=0}if((t[47138]|0)<1)VH(e,A)|0;h=l;return}function jX(e){e=e|0;var A=0.0,r=0.0,i=0;i=h;h=h+16|0;t[46474]=1;t[46475]=1;t[46477]=-1;t[46479]=50;c[23245]=0.0;c[23240]=0.0;c[23241]=1.0;t[46478]=hx(e,zw(e,0,91061,0)|0,600,0)|0;r=+wx(e,zw(e,0,91202,0)|0,.3,0.0);c[23242]=r;c[1371]=r;if(-1.0==-1.0)A=+wx(e,zw(e,0,91069,0)|0,-1.0,0.0);else A=-1.0;c[23243]=A;t[46476]=1;e=AH(e,2,185904)|0;t[46488]=e;if(!e){nw(0,91072,i)|0;t[46476]=2}t[46504]=(P(t[46478]|0,t[46479]|0)|0)/100|0;r=+c[23242];c[23247]=r*r;if(t[46474]|0){A=+c[23245];if(A<=0.0){A=r*3.0;c[23245]=A}c[23246]=A*A}h=i;return}function UX(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,n=0,f=0,l=0;l=h;h=h+16|0;r=l;n=t[t[(t[e+16>>2]|0)+140>>2]>>2]|0;f=TX(e,A)|0;OX(r,e,n);i=+c[r>>3];a=+c[r+8>>3];e:do{if(!(t[46474]|0)){A=0;while(1){if((A|0)>=(t[46505]|0))break e;KX(e,+_X(A),n);A=A+1|0}}else{r=Bq(gk(e)|0)|0;Gq(r,gk(e)|0);A=0;while(1){if((A|0)>=(t[46505]|0))break;qX(e,+_X(A),n,r);A=A+1|0}Qq(r)}}while(0);e:do{if(i!=0.0|a!=0.0){A=sd(e)|0;while(1){if(!A)break e;n=t[(t[A+16>>2]|0)+132>>2]|0;c[n>>3]=+c[n>>3]+i;n=n+8|0;c[n>>3]=+c[n>>3]+a;A=cd(e,A)|0}}}while(0);if(f|0)$X();h=l;return}function TX(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0,n=0,f=0,l=0;if(+c[23243]==-1.0){f=gk(e)|0;r=+c[23242];c[23243]=+c[23241]*.2*r*+D(+ +(f|0));f=1}else{f=0;r=+c[23242]}n=t[46504]|0;c[A+8>>3]=+_X(n);c[A+16>>3]=r;c[A+24>>3]=+c[23240];i=t[46478]|0;e=i-n|0;t[A>>2]=e;a=t[46477]|0;do{if((a|0)>-1){if((a|0)<=(n|0)){t[46505]=a;e=0;l=10;break}if((a|0)<=(i|0)){t[46505]=n;e=a-n|0;l=10}}else{t[46505]=n;l=10}}while(0);if((l|0)==10)t[A+32>>2]=e;return f|0}function OX(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0.0,l=0.0,s=0,o=0.0,u=0.0,b=0,h=0.0,w=0.0,k=0,d=0,v=0.0,g=0.0,m=0,p=0,E=0.0,B=0,y=0,C=0;p=gk(A)|0;B=t[(t[(t[A+16>>2]|0)+140>>2]|0)+4>>2]|0;m=sd(A)|0;k=0;d=0;n=0;s=0;b=0;while(1){if(!m)break;a=t[m+16>>2]|0;if(!(i[a+119>>0]|0))a=d;else{a=t[a+132>>2]|0;f=+c[a>>3];if(!k){s=~~f;n=~~+c[a+8>>3];b=n;a=s}else{w=+(d|0);v=+c[a+8>>3];g=+(n|0);E=+(s|0);h=+(b|0);b=~~(v>h?v:h);a=~~(fE?f:E)}k=k+1|0}m=cd(A,m)|0;d=a}f=+c[23242]*(+D(+ +(p-B|0))+1.0);v=f*.6;c[23249]=v;c[23248]=v;if((k|0)!=1)if((k|0)>1){g=+(s+d|0)*.5;E=+(b+n|0)*.5;h=+(s-d|0);w=h*1.2;o=+(b-n|0);u=o*1.2;f=f*2.4*v;l=u*w/f;do{if(!(l>=1.0)){if(l>0.0){f=+D(+l)*2.0;l=w/f;c[23248]=l;f=u/f;C=20;break}if(w>0.0){l=h*.6;c[23248]=l;f=f/w*.5;C=20;break}if(u>0.0){l=f/u*.5;c[23248]=l;f=o*.6;C=20}else{f=v;l=v}}else{l=h*.6;c[23248]=l;f=o*.6;C=20}}while(0);if((C|0)==20)c[23249]=f;v=+R(+f,+l);l=l/+W(+v);c[23248]=l;f=f/+Y(+v);c[23249]=f}else{g=0.0;E=0.0;l=v;f=v}else{g=+(d|0);E=+(n|0);l=v;f=v}c[23250]=l*l;c[23251]=f*f;if((t[46488]|0)==2)a=t[46476]|0;else{a=D3()|0;a=(nA(0)|0)^a}f8(a);e:do{if(!r){r=sd(A)|0;if(!k)while(1){if(!r)break e;v=+c[23248];v=(+s8()*2.0+-1.0)*v;C=r+16|0;c[t[(t[C>>2]|0)+132>>2]>>3]=v;v=+c[23249];v=(+s8()*2.0+-1.0)*v;c[(t[(t[C>>2]|0)+132>>2]|0)+8>>3]=v;r=cd(A,r)|0}while(1){if(!r)break e;a=r+16|0;n=t[a>>2]|0;if(!(i[n+119>>0]|0)){v=+c[23248];v=(+s8()*2.0+-1.0)*v;c[t[(t[a>>2]|0)+132>>2]>>3]=v;v=+c[23249];v=(+s8()*2.0+-1.0)*v;c[(t[(t[a>>2]|0)+132>>2]|0)+8>>3]=v}else{C=t[n+132>>2]|0;c[C>>3]=+c[C>>3]-g;C=C+8|0;c[C>>3]=+c[C>>3]-E}r=cd(A,r)|0}}else{while(1){if(!(t[r>>2]|0))break;m=r+8|0;v=+W(+ +c[m>>3])*+c[23248]+g;B=t[(t[r+4>>2]|0)+16>>2]|0;p=t[B+132>>2]|0;c[p>>3]=v;c[p+8>>3]=+Y(+ +c[m>>3])*+c[23249]+E;i[B+119>>0]=1;r=r+16|0}o=g*.1;u=E*.1;d=sd(A)|0;while(1){if(!d)break e;k=d+16|0;r=t[k>>2]|0;if(!((t[(t[r+112>>2]|0)+8>>2]|0)==0?!(t[r+212>>2]|0):0))C=32;do{if((C|0)==32){C=0;if(i[r+119>>0]|0){B=t[r+132>>2]|0;c[B>>3]=+c[B>>3]-g;B=B+8|0;c[B>>3]=+c[B>>3]-E;break}b=ek(A,d)|0;r=0;l=0.0;f=0.0;while(1){if(!b)break;s=t[b>>2]&3;a=(s|0)==2?b:b+-48|0;n=t[a+40>>2]|0;s=(s|0)==3?b:b+48|0;do{if((n|0)!=(t[s+40>>2]|0)?(y=t[(t[((n|0)==(d|0)?s:a)+40>>2]|0)+16>>2]|0,(i[y+119>>0]|0)!=0):0)if(!r){B=t[y+132>>2]|0;r=1;l=+c[B>>3];f=+c[B+8>>3];break}else{w=+(r|0);B=t[y+132>>2]|0;r=r+1|0;v=+(r|0);l=(+c[B>>3]+l*w)/v;f=(+c[B+8>>3]+f*w)/v;break}}while(0);b=Ak(A,b,d)|0}do{if((r|0)<=1)if((r|0)==1){a=t[k>>2]|0;r=t[a+132>>2]|0;c[r>>3]=l*.98+o;f=f*.9+u;break}else{f=+s8()*6.283185307179586;v=+s8()*.9;w=v*+c[23248]*+W(+f);a=t[k>>2]|0;r=t[a+132>>2]|0;c[r>>3]=w;f=+c[23249]*v*+Y(+f);break}else{a=t[k>>2]|0;r=t[a+132>>2]|0;c[r>>3]=l}}while(0);c[r+8>>3]=f;i[a+119>>0]=1}}while(0);d=cd(A,d)|0}}}while(0);c[e>>3]=g;c[e+8>>3]=E;return}function _X(e){e=e|0;var A=0;A=t[46478]|0;return+(+c[23243]*+(A-e|0)/+(A|0))}function qX(e,A,r,i){e=e|0;A=+A;r=r|0;i=i|0;var a=0,n=0,f=0,l=0.0;if(!(A<=0.0)){Lq(i);a=sd(e)|0;while(1){if(!a)break;f=t[a+16>>2]|0;n=(t[f+112>>2]|0)+16|0;t[n>>2]=0;t[n+4>>2]=0;t[n+8>>2]=0;t[n+12>>2]=0;f=t[f+132>>2]|0;l=+c[23245];n=~~+L(+(+c[f>>3]/l));zq(i,n,~~+L(+(+c[f+8>>3]/l)),a);a=cd(e,a)|0}n=sd(e)|0;while(1){if(!n)break;a=Ow(e,n)|0;while(1){if(!a)break;f=t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0;if((n|0)!=(f|0))AS(n,f,a);a=qw(e,a)|0}n=cd(e,n)|0}Yq(i,23);rS(e,A,r)}return}function KX(e,A,r){e=e|0;A=+A;r=r|0;var i=0,a=0,n=0;if(!(A<=0.0)){i=sd(e)|0;while(1){if(!i)break;n=(t[(t[i+16>>2]|0)+112>>2]|0)+16|0;t[n>>2]=0;t[n+4>>2]=0;t[n+8>>2]=0;t[n+12>>2]=0;i=cd(e,i)|0}n=sd(e)|0;while(1){if(!n)break;else i=n;while(1){i=cd(e,i)|0;if(!i)break;eS(n,i)}i=Ow(e,n)|0;while(1){if(!i)break;a=t[((t[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((n|0)!=(a|0))AS(n,a,i);i=qw(e,i)|0}n=cd(e,n)|0}rS(e,A,r)}return}function $X(){c[23243]=-1.0;return}function eS(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0;n=t[(t[A+16>>2]|0)+132>>2]|0;a=t[(t[e+16>>2]|0)+132>>2]|0;r=+c[n>>3]-+c[a>>3];i=+c[n+8>>3]-+c[a+8>>3];iS(e,A,r,i,i*i+r*r);return}function AS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0.0,f=0.0,l=0,s=0;l=A+16|0;s=t[(t[l>>2]|0)+132>>2]|0;e=e+16|0;A=t[(t[e>>2]|0)+132>>2]|0;i=+c[s>>3]-+c[A>>3];a=+c[s+8>>3]-+c[A+8>>3];n=i;f=a;i=i*i;a=a*a;while(1){i=i+a;if(!(i==0.0))break;i=+(5-((t8()|0)%10|0)|0);a=+(5-((t8()|0)%10|0)|0);n=i;f=a;i=i*i;a=a*a}a=+D(+i);A=t[r+16>>2]|0;i=+c[A+128>>3];if(!(t[46475]|0))i=i*a/+c[A+136>>3];else i=(a-+c[A+136>>3])*i/a;n=i*n;s=t[(t[l>>2]|0)+112>>2]|0;l=s+16|0;c[l>>3]=+c[l>>3]-n;f=i*f;s=s+24|0;c[s>>3]=+c[s>>3]-f;s=t[(t[e>>2]|0)+112>>2]|0;l=s+16|0;c[l>>3]=+c[l>>3]+n;s=s+24|0;c[s>>3]=+c[s>>3]+f;return}function rS(e,A,r){e=e|0;A=+A;r=r|0;var a=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0,h=0.0;h=A*A;b=(r|0)==0;u=sd(e)|0;while(1){if(!u)break;o=t[u+16>>2]|0;if(!(i[o+119>>0]&2)){s=t[o+112>>2]|0;a=+c[s+16>>3];f=+c[s+24>>3];n=f*f+a*a;if(n>2]|0;l=+c[r>>3]+a;a=+c[r+8>>3]+f}else{n=A/+D(+n);r=t[o+132>>2]|0;l=+c[r>>3]+n*a;a=+c[r+8>>3]+n*f}do{if(!b){n=+D(+(a*a/+c[23251]+l*l/+c[23250]));if((t[s+8>>2]|0)==0?(t[o+212>>2]|0)==0:0){c[r>>3]=l/n;a=a/n;break}if(!(n>=1.0)){c[r>>3]=l;break}else{c[r>>3]=l*.95/n;a=a*.95/n;break}}else c[r>>3]=l}while(0);c[r+8>>3]=a}u=cd(e,u)|0}return}function iS(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=+i;a=+a;var n=0.0,f=0,l=0;n=r;r=a;while(1){if(!(r==0.0))break;r=+(5-((t8()|0)%10|0)|0);i=+(5-((t8()|0)%10|0)|0);n=r;r=i*i+r*r}if(!(t[46475]|0))r=+c[23247]/r;else{a=+D(+r);r=+c[23247]/(a*r)}l=t[e+16>>2]|0;e=t[l+112>>2]|0;if(((t[e+8>>2]|0)==0?(t[l+212>>2]|0)==0:0)?(f=t[A+16>>2]|0,(t[(t[f+112>>2]|0)+8>>2]|0)==0):0)r=(t[f+212>>2]|0)==0?r*10.0:r;a=r*n;l=t[(t[A+16>>2]|0)+112>>2]|0;A=l+16|0;c[A>>3]=+c[A>>3]+a;n=r*i;l=l+24|0;c[l>>3]=+c[l>>3]+n;l=e+16|0;c[l>>3]=+c[l>>3]-a;l=e+24|0;c[l>>3]=+c[l>>3]-n;return}function aS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;a=t[A+8>>2]|0;n=t[A>>2]|0;i=t[A+4>>2]|0;A=a;while(1){if(!A)break;e=a;while(1){if(!e)break;if((A|0)!=(e|0))eS(t[A>>2]|0,t[e>>2]|0);e=t[e+4>>2]|0}A=t[A+4>>2]|0}f=n+-1|0;e=i+-1|0;tS(r,f,e,a);tS(r,f,i,a);A=i+1|0;tS(r,f,A,a);tS(r,n,e,a);tS(r,n,A,a);n=n+1|0;tS(r,n,e,a);tS(r,n,i,a);tS(r,n,A,a);return 0}function tS(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0.0,f=0.0,l=0,s=0,o=0,u=0;e=Fq(e,A,r)|0;if((i|0)!=0&(e|0)!=0){s=e+8|0;do{r=t[i>>2]|0;l=r+16|0;e=s;while(1){e=t[e>>2]|0;if(!e)break;A=t[e>>2]|0;u=t[(t[A+16>>2]|0)+132>>2]|0;o=t[(t[l>>2]|0)+132>>2]|0;a=+c[u>>3]-+c[o>>3];n=+c[u+8>>3]-+c[o+8>>3];f=n*n+a*a;if(f<+c[23246])iS(r,A,a,n,f);e=e+4|0}i=t[i+4>>2]|0}while((i|0)!=0)}return}function nS(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;f=h;h=h+16|0;n=f;r=Hw(e,92507)|0;if(0)G3(91116,8,1,t[15712]|0)|0;if(!((r|0)!=0?(i[r>>0]|0)!=0:0))r=91125;a=C1(r,58)|0;do{if(!a)a=0;else{if((a|0)!=(r|0)?((i[r>>0]|0)+-48|0)>>>0>=10:0){a=0;break}l=K3(r)|0;r=a+1|0;a=(l|0)>0?l:0}}while(0);if(0){l=t[15712]|0;t[n>>2]=a;t[n+4>>2]=r;a3(l,91133,n)|0}if(!((a|0)!=0?!(fS(e,A,a)|0):0))eU(e,r)|0;h=f;return}function fS(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0.0,d=0,v=0,g=0;g=h;h=h+64|0;d=g;f=g+40|0;v=gk(e)|0;l=mk(e)|0;Kj(f,e);t[46842]=t[f>>2];t[46843]=t[f+4>>2];t[46844]=t[f+8>>2];if(i[187376]|0){s[46842]=+s[46842]*.013888888888888888;s[46843]=+s[46843]*.013888888888888888}a=lS(e)|0;e:do{if(!a)a=0;else{f=d;n=f+40|0;do{t[f>>2]=t[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(n|0));f=d+16|0;k=+c[f>>3];b=+(l|0)*2.0;w=1.0/+(P(v+-1|0,v)|0);n=0;u=k;while(1){if(!((a|0)!=0&(n|0)<(r|0)))break e;sS(v,d);o=+c[23253]*+c[170];c[23254]=o;c[23255]=b*o*w;A=0;while(1){if((A|0)>=(t[46512]|0))break;o=+cS(A);if(o<=0.0)break;a=oS(e,o)|0;if(!a){a=0;break}else A=A+1|0}o=u+k;c[f>>3]=o;n=n+1|0;u=o}}}while(0);h=g;return a|0}function lS(e){e=e|0;var A=0,r=0,i=0,a=0;A=0;a=sd(e)|0;while(1){if(!a)break;else i=a;while(1){r=cd(e,i)|0;if(!r)break;i=r;A=(hS(a,r)|0)+A|0}a=cd(e,a)|0}return A|0}function sS(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0;i=+c[A+16>>3];c[171]=i;t[344]=t[A>>2];a=+c[A+8>>3];c[23257]=a;t[46512]=t[A+32>>2];r=+c[A+24>>3];if(r>0.0)c[170]=r;c[23253]=i*i;if(a==0.0)c[23257]=+D(+ +(e|0))*.2*i;return}function cS(e){e=e|0;var A=0;A=t[344]|0;return+(+c[23257]*+(A-e|0)/+(A|0))}function oS(e,A){e=e|0;A=+A;var r=0,a=0,n=0,f=0.0,l=0,s=0.0,o=0.0,u=0.0;r=sd(e)|0;while(1){if(!r)break;l=(t[(t[r+16>>2]|0)+112>>2]|0)+16|0;t[l>>2]=0;t[l+4>>2]=0;t[l+8>>2]=0;t[l+12>>2]=0;r=cd(e,r)|0}r=0;l=sd(e)|0;while(1){if(!l)break;else n=l;while(1){a=cd(e,n)|0;if(!a)break;n=a;r=(uS(l,a)|0)+r|0}a=Ow(e,l)|0;while(1){if(!a)break;bS(l,t[((t[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);a=qw(e,a)|0}l=cd(e,l)|0}e:do{if(!r)r=0;else{u=A*A;n=sd(e)|0;while(1){if(!n)break e;a=t[n+16>>2]|0;if((i[a+119>>0]|0)!=3){l=t[a+112>>2]|0;s=+c[l+16>>3];f=+c[l+24>>3];o=f*f+s*s;if(o>2]|0;c[a>>3]=+c[a>>3]+s}else{o=+D(+o);a=t[a+132>>2]|0;c[a>>3]=+c[a>>3]+s*A/o;f=f*A/o}l=a+8|0;c[l>>3]=+c[l>>3]+f}n=cd(e,n)|0}}}while(0);return r|0}function uS(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0;n=t[(t[A+16>>2]|0)+132>>2]|0;a=t[(t[e+16>>2]|0)+132>>2]|0;r=+c[n>>3]-+c[a>>3];i=+c[n+8>>3]-+c[a+8>>3];return kS(e,A,r,i,i*i+r*r)|0}function bS(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0,n=0.0,f=0,l=0.0,s=0.0,o=0,u=0;if(!(hS(e,A)|0)){f=t[A+16>>2]|0;u=t[f+132>>2]|0;a=t[e+16>>2]|0;o=t[a+132>>2]|0;i=+c[u>>3]-+c[o>>3];r=+c[u+8>>3]-+c[o+8>>3];n=+D(+(r*r+i*i));l=+wS(e);l=+wS(A)+l;s=n-l;n=s*s/((+c[171]+l)*n);i=n*i;A=t[f+112>>2]|0;e=A+16|0;c[e>>3]=+c[e>>3]-i;r=n*r;A=A+24|0;c[A>>3]=+c[A>>3]-r;A=t[a+112>>2]|0;e=A+16|0;c[e>>3]=+c[e>>3]+i;A=A+24|0;c[A>>3]=+c[A>>3]+r}return}function hS(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0.0,f=0.0,l=0,o=0;l=t[A+16>>2]|0;o=t[l+132>>2]|0;A=t[e+16>>2]|0;e=t[A+132>>2]|0;n=+c[o>>3]-+c[e>>3];f=+c[o+8>>3]-+c[e+8>>3];f=f<0.0?-f:f;e=(i[187376]|0)==0;r=+c[A+32>>3];if(e){a=+s[46842];r=r*.5*a;a=+c[l+32>>3]*.5*a}else{a=+s[46842];r=r*.5+a;a=+c[l+32>>3]*.5+a}if(!((n<0.0?-n:n)<=a+r))A=0;else{r=+c[A+40>>3];if(e){n=+s[46843];a=r*.5*n;r=+c[l+40>>3]*.5*n}else{n=+s[46843];a=r*.5+n;r=+c[l+40>>3]*.5+n}A=f<=r+a&1}return A|0}function wS(e){e=e|0;var A=0.0,r=0.0;e=t[e+16>>2]|0;A=+c[e+32>>3];if(!(i[187376]|0)){r=A*.5*+s[46842];A=+c[e+40>>3]*.5*+s[46843]}else{r=A*.5+ +s[46842];A=+c[e+40>>3]*.5+ +s[46843]}return+ +D(+(A*A+r*r))}function kS(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=+i;a=+a;var n=0,f=0;while(1){if(!(a==0.0))break;a=+(5-((t8()|0)%10|0)|0);i=+(5-((t8()|0)%10|0)|0);r=a;a=i*i+a*a}n=hS(e,A)|0;a=((n|0)==0?+c[23255]:+c[23254])/a;r=a*r;A=t[(t[A+16>>2]|0)+112>>2]|0;f=A+16|0;c[f>>3]=+c[f>>3]+r;a=a*i;A=A+24|0;c[A>>3]=+c[A>>3]+a;A=t[(t[e+16>>2]|0)+112>>2]|0;e=A+16|0;c[e>>3]=+c[e>>3]-r;A=A+24|0;c[A>>3]=+c[A>>3]-a;return n|0}function dS(e){e=e|0;DJ(e,2);a[(t[e+16>>2]|0)+176>>1]=2;t[47137]=2;vS(e);return}function vS(e){e=e|0;var A=0,r=0,i=0,a=0;i=KF((gk(e)|0)<<2)|0;A=KF(((gk(e)|0)<<2)+4|0)|0;a=e+16|0;t[(t[a>>2]|0)+152>>2]=A;A=sd(e)|0;r=0;while(1){if(!A)break;xJ(A);t[(t[A+16>>2]|0)+112>>2]=i+(r<<2);t[(t[(t[a>>2]|0)+152>>2]|0)+(r<<2)>>2]=A;A=cd(e,A)|0;r=r+1|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;gS(A);A=qw(e,A)|0}r=cd(e,r)|0}return}function gS(e){e=e|0;var A=0.0;Sd(e,137460,176,1)|0;Mx(e)|0;A=+wx(e,t[47174]|0,1.0,0.0);c[(t[e+16>>2]|0)+128>>3]=A;return}function mS(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+16|0;o=u+4|0;c=u;i[o>>0]=i[18596]|0;i[o+1>>0]=i[18597]|0;i[o+2>>0]=i[18598]|0;i[o+3>>0]=i[18599]|0;o=hk(91156,o,0)|0;Sd(o,91164,280,1)|0;t[(t[e+16>>2]|0)+140>>2]=o;r=sd(e)|0;while(1){if(!r)break;a=r+16|0;if(!(t[t[(t[a>>2]|0)+112>>2]>>2]|0)){s=pS(o,Mk(r)|0,r)|0;t[t[(t[a>>2]|0)+112>>2]>>2]=s}r=cd(e,r)|0}a=sd(e)|0;while(1){if(!a)break;r=Ow(e,a)|0;while(1){if(!r)break;f=t[r>>2]&3;n=t[t[(t[(t[((f|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;f=t[t[(t[(t[((f|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((n|0)!=(f|0))Sd(lk(o,n,f,0,1)|0,137460,176,1)|0;r=qw(e,r)|0}a=cd(e,a)|0}s=Lp(o,c,0)|0;a=0;while(1){if((a|0)>=(t[c>>2]|0))break;f=t[s+(a<<2)>>2]|0;r=sd(f)|0;while(1){if(!r)break;n=Ow(e,t[t[(t[r+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!n)break;l=t[t[(t[(t[((t[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((r|0)!=(l|0)){l=lk(o,r,l,0,1)|0;Sd(l,137460,176,1)|0;uk(f,l,1)|0}n=qw(e,n)|0}r=cd(f,r)|0}a=a+1|0}r=sd(o)|0;while(1){if(!r)break;a=Ow(o,r)|0;while(1){if(!a)break;e=KF(8)|0;t[(t[a+16>>2]|0)+120>>2]=e;a=qw(o,a)|0}r=cd(o,r)|0}t[A>>2]=t[c>>2];h=u;return s|0}function pS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;A=gd(e,A,1)|0;Sd(A,137447,304,1)|0;i=KF(40)|0;e=A+16|0;t[(t[e>>2]|0)+112>>2]=i;i=KF(t[47137]<<3)|0;e=t[e>>2]|0;t[e+132>>2]=i;i=t[r+16>>2]|0;c[e+88>>3]=+c[i+88>>3];c[e+96>>3]=+c[i+96>>3];c[e+80>>3]=+c[i+80>>3];t[t[e+112>>2]>>2]=r;return A|0}function ES(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;f=h;h=h+48|0;A=f+32|0;i=f;if(gk(e)|0){n=mS(e,A)|0;a=t[A>>2]|0;A=t[n>>2]|0;if((a|0)==1){Au(A,e);BS(t[n>>2]|0);AU(e)|0}else{r=t[A+60>>2]|0;cE(e,2,8,i)|0;A=0;while(1){if((A|0)>=(a|0))break;l=t[n+(A<<2)>>2]|0;Au(l,e);AU(l)|0;A=A+1|0}sE(a,n,r,i)|0;A=0;while(1){if((A|0)>=(a|0))break;BS(t[n+(A<<2)>>2]|0);A=A+1|0}}G2(n)}h=f;return}function BS(e){e=e|0;var A=0,r=0,i=0;A=sd(e)|0;while(1){if(!A)break;r=t[A+16>>2]|0;i=t[r+132>>2]|0;r=t[(t[(t[t[r+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;c[r>>3]=+c[i>>3];c[r+8>>3]=+c[i+8>>3];A=cd(e,A)|0}return}function yS(e){e=e|0;if(gk(e)|0){dS(e);ES(e);G2(t[(t[(sd(e)|0)+16>>2]|0)+112>>2]|0);TH(e);MV(e)}return}function CS(e){e=e|0;var A=0,r=0,i=0;A=sd(e)|0;if(A|0){i=e+16|0;IS(t[(t[i>>2]|0)+140>>2]|0);while(1){if(!A)break;r=Ow(e,A)|0;while(1){if(!r)break;bJ(r);r=qw(e,r)|0}oJ(A);A=cd(e,A)|0}G2(t[(t[i>>2]|0)+152>>2]|0);if((yd(e)|0)!=(e|0))qd(e,0,137483)}return}function IS(e){e=e|0;var A=0,r=0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;G2(t[(t[A+16>>2]|0)+120>>2]|0);A=qw(e,A)|0}A=r+16|0;G2(t[(t[A>>2]|0)+112>>2]|0);G2(t[(t[A>>2]|0)+132>>2]|0);r=cd(e,r)|0}vk(e)|0;return}function ZS(e){e=e|0;var A=0,r=0.0,a=0.0,n=0,f=0,l=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+112|0;o=v+40|0;u=v+16|0;d=v+100|0;b=v;f=v+88|0;w=v+56|0;GS(e);n=(t[47137]|0)==2;A=n&1;if(gk(e)|0){k=VS()|0;LS(e,k);Ij(e,u,0)|0;if(n&(t[u>>2]|0)==18){t[k+124>>2]=t[u+8>>2];c[k+144>>3]=+c[u+16>>3];Kj(f,e);if(!(i[f+8>>0]|0)){a=.05555555555555555;r=.05555555555555555}else{a=+s[f+4>>2]*.013888888888888888;r=+s[f>>2]*.013888888888888888}c[b>>3]=r;c[b+8>>3]=a;A=0}else t[k+124>>2]=-1;if(0)RS(k);l=Lp(e,d,0)|0;if((t[d>>2]|0)==1){t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];QS(e,k,o);if(A|0)Lj(e,u)|0;TH(e);A=0}else{cE(e,2,8,w)|0;t[w+12>>2]=1;f=(A|0)==0;n=0;while(1){A=t[d>>2]|0;if((n|0)>=(A|0))break;A=t[l+(n<<2)>>2]|0;Mp(A)|0;t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];t[o+8>>2]=t[b+8>>2];t[o+12>>2]=t[b+12>>2];QS(A,k,o);if(!f)Lj(A,u)|0;DJ(A,2);TH(A);n=n+1|0}sE(A,l,e,w)|0;A=0}while(1){if((A|0)>=(t[d>>2]|0))break;Ed(e,t[l+(A<<2)>>2]|0)|0;A=A+1|0}G2(l);NS(k)}MV(e);h=v;return}function GS(e){e=e|0;var A=0,r=0;DJ(e,2);A=hx(e,zw(e,0,91368,0)|0,2,2)|0;r=(hx(e,zw(e,0,91374,0)|0,A,2)|0)&65535;a[(t[(yd(e)|0)+16>>2]|0)+176>>1]=r;if((f[(t[(yd(e)|0)+16>>2]|0)+176>>1]|0)<10)r=a[(t[(yd(e)|0)+16>>2]|0)+176>>1]|0;else r=10;a[(t[(yd(e)|0)+16>>2]|0)+176>>1]=r;r=r&65535;t[47137]=r;a[(t[(yd(e)|0)+16>>2]|0)+178>>1]=(A|0)<(r|0)?A:r;YS(e);return}function LS(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+16|0;a=n+8|0;r=n+12|0;i=A+108|0;t[r>>2]=t[i>>2];if((AH(e,2,r)|0)!=2)nw(0,91169,n)|0;t[i>>2]=t[r>>2];c[A+24>>3]=+wx(e,zw(e,0,91202,0)|0,-1.0,0.0);c[A>>3]=-+wx(e,zw(e,0,91204,0)|0,1.0001234,0.0);t[A+40>>2]=hx(e,zw(e,0,91219,0)|0,2147483647,0)|0;t[A+120>>2]=zS(e,zw(e,0,91226,0)|0)|0;t[A+132>>2]=WS(e,zw(e,0,91236,0)|0)|0;t[A+136>>2]=0;t[A+112>>2]=(px(Hw(e,91245)|0,0)|0)&255;t[A+128>>2]=(px(Hw(e,91254)|0,1)|0)&255;c[A+152>>3]=+wx(e,zw(e,0,91269,0)|0,0.0,-1797693134862315708145274.0e284);r=hx(e,zw(e,0,91278,0)|0,0,0)|0;e=A+160|0;t[e>>2]=r;if((r|0)>4){t[a>>2]=r;nw(0,91291,a)|0;t[e>>2]=0}h=n;return}function QS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+48|0;a=k;u=k+32|0;l=k+28|0;n=k+24|0;w=k+20|0;b=k+16|0;t[n>>2]=0;t[w>>2]=0;t[b>>2]=0;f=A+136|0;i=t[47137]|0;if((t[f>>2]|0)==1)o=Bj(e,i,b)|0;else o=Bj(e,i,0)|0;do{if((t[A+124>>2]|0)>-1)if((t[A+160>>2]|0)>0){t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];s=Ej(e,a,n,w)|0;break}else{t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];s=Ej(e,a,0,0)|0;break}else s=0}while(0);i=DS(e)|0;t[u>>2]=i;switch(t[f>>2]|0){case 1:case 0:{sj(t[47137]|0,o,t[b>>2]|0,A,0,s,i,t[n>>2]|0,t[w>>2]|0,l);break}case 5:{pj(t[47137]|0,o,i,l);break}case 4:{i=t[b>>2]|0;if(!i)i=Ho(o)|0;else i=bK(i,0)|0;t[b>>2]=i;kj(t[47137]|0,o,i,u,1,200,.001,l);break}default:{}}i=sd(e)|0;while(1){if(!i)break;r=t[47137]|0;n=t[i+16>>2]|0;A=(t[u>>2]|0)+((P(t[n+120>>2]|0,r)|0)<<3)|0;n=n+132|0;a=0;while(1){if((a|0)>=(r|0))break;c[(t[n>>2]|0)+(a<<3)>>3]=+c[A+(a<<3)>>3];a=a+1|0}i=cd(e,i)|0}G2(s);G2(t[u>>2]|0);iK(o);i=t[b>>2]|0;if(i|0)iK(i);i=t[w>>2]|0;if(i|0)G2(i);h=k;return}function DS(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0;l=t[47137]|0;l=KF(P(l<<3,gk(e)|0)|0)|0;e:do{if(zw(e,1,102623,0)|0){a=sd(e)|0;while(1){if(!a)break e;A=t[a+16>>2]|0;A:do{if(i[A+119>>0]|0){n=t[47137]|0;f=P(n,t[A+120>>2]|0)|0;r=A+132|0;A=0;while(1){if((A|0)>=(n|0))break A;c[l+(f+A<<3)>>3]=+c[(t[r>>2]|0)+(A<<3)>>3];A=A+1|0}}}while(0);a=cd(e,a)|0}}}while(0);return l|0}function zS(e,A){e=e|0;A=A|0;do{if(A){e=Pw(e,A)|0;A=i[e>>0]|0;if((A+-48|0)>>>0<10){e=K3(e)|0;e=(e|0)<5?e:0;break}if(V1(A)|0)if(N1(e,91330)|0)if(N1(e,91339)|0)if(N1(e,135709)|0)if(!(N1(e,91350)|0))e=3;else{e=(N1(e,91361)|0)==0;e=e?4:0}else e=0;else e=1;else e=2;else e=0}else e=0}while(0);return e|0}function WS(e,A){e=e|0;A=A|0;do{if(A){e=Pw(e,A)|0;A=i[e>>0]|0;if((A+-48|0)>>>0<10){e=K3(e)|0;e=e>>>0<3?e:1;break}if(V1(A)|0)if((N1(e,135709)|0)!=0?(N1(e,137308)|0)!=0:0)if(((N1(e,99730)|0)!=0?(N1(e,107652)|0)!=0:0)?(N1(e,107657)|0)!=0:0){e=(N1(e,91325)|0)==0;e=e?2:1}else e=1;else e=0;else e=1}else e=1}while(0);return e|0}function YS(e){e=e|0;var A=0,r=0;A=sd(e)|0;while(1){if(!A)break;xJ(A);A=cd(e,A)|0}r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;FS(A);A=qw(e,A)|0}r=cd(e,r)|0}return}function FS(e){e=e|0;Sd(e,137460,176,1)|0;Mx(e)|0;return}function MS(e){e=e|0;var A=0,r=0;r=sd(e)|0;while(1){if(!r)break;A=Ow(e,r)|0;while(1){if(!A)break;bJ(A);A=qw(e,A)|0}oJ(r);r=cd(e,r)|0}return}function VS(){var e=0,A=0;e=$F(168)|0;c[e>>3]=-1.0001234;c[e+8>>3]=1.0;t[e+16>>2]=1;c[e+24>>3]=-1.0;c[e+32>>3]=.2;t[e+40>>2]=0;t[e+44>>2]=4;t[e+48>>2]=1;t[e+52>>2]=45;t[e+56>>2]=10;c[e+64>>3]=.6;c[e+72>>3]=.001;t[e+80>>2]=500;c[e+88>>3]=.9;c[e+96>>3]=.1;t[e+104>>2]=1;t[e+108>>2]=123;A=e+112|0;t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;t[e+128>>2]=1;t[e+132>>2]=3;t[e+136>>2]=0;c[e+144>>3]=-4.0;c[e+152>>3]=0.0;t[e+160>>2]=0;return e|0}function NS(e){e=e|0;G2(e);return}function RS(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0;A=h;h=h+176|0;r=A+160|0;a=A+152|0;n=A+128|0;s=A+112|0;l=A+88|0;o=A+64|0;u=A+56|0;b=A+40|0;k=A+24|0;w=A+16|0;d=A;i=t[15712]|0;G3(91378,27,1,i)|0;f=+c[e+8>>3];c[d>>3]=+c[e>>3];c[d+8>>3]=f;a3(i,91406,d)|0;d=t[e+108>>2]|0;t[w>>2]=t[e+16>>2];t[w+4>>2]=d;a3(i,91457,w)|0;f=+c[e+32>>3];c[k>>3]=+c[e+24>>3];c[k+8>>3]=f;a3(i,91484,k)|0;k=t[e+44>>2]|0;w=t[e+48>>2]|0;t[b>>2]=t[e+40>>2];t[b+4>>2]=k;t[b+8>>2]=w;a3(i,91507,b)|0;b=t[e+56>>2]|0;t[u>>2]=t[e+52>>2];t[u+4>>2]=b;a3(i,91558,u)|0;f=+c[e+72>>3];u=t[e+80>>2]|0;c[o>>3]=+c[e+64>>3];c[o+8>>3]=f;t[o+16>>2]=u;a3(i,91591,o)|0;f=+c[e+96>>3];o=t[e+104>>2]|0;c[l>>3]=+c[e+88>>3];c[l+8>>3]=f;t[l+16>>2]=o;a3(i,91649,l)|0;l=t[e+116>>2]|0;f=+c[e+152>>3];t[s>>2]=t[e+112>>2];t[s+4>>2]=l;c[s+8>>3]=f;a3(i,91695,s)|0;s=t[e+124>>2]|0;l=t[e+128>>2]|0;f=+c[e+144>>3];t[n>>2]=t[17804+(t[e+120>>2]<<2)>>2];t[n+4>>2]=s;t[n+8>>2]=l;c[n+16>>3]=f;a3(i,91748,n)|0;n=t[17848+(t[e+136>>2]<<2)>>2]|0;t[a>>2]=t[17832+(t[e+132>>2]<<2)>>2];t[a+4>>2]=n;a3(i,91813,a)|0;t[r>>2]=t[e+160>>2];a3(i,91843,r)|0;h=A;return}function xS(e){e=e|0;G2(e);return}function JS(e){e=e|0;var A=0;A=$F(184)|0;t[A>>2]=e;t[A+176>>2]=0;return A|0}function HS(e,A){e=e|0;A=+A;var r=0,i=0,a=0;i=t[e>>2]|0;c[e+8+(i<<3)>>3]=A;a=e+176|0;e:do{switch(t[a>>2]|0){case 0:{r=t[e>>2]|0;if((r|0)==20){t[a>>2]=-1;r=19}else{t[a>>2]=1;r=(r|0)>19?20:r+1|0}t[e>>2]=r;break}case 1:{r=t[e>>2]|0;if((r|0)<20?+c[e+8+(i+-1<<3)>>3]>A:0){t[e>>2]=r+1;break e}else{t[e>>2]=r+-1;t[a>>2]=-1;break e}}default:{r=t[e>>2]|0;if((r|0)>0?+c[e+8+(i+1<<3)>>3]>A:0){t[e>>2]=r+-1;break e}else{t[e>>2]=r+1;t[a>>2]=1;break e}}}}while(0);return}function PS(e){e=e|0;return t[e>>2]|0}function XS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0.0;h=t[e+20>>2]|0;w=t[e+24>>2]|0;u=t[e>>2]|0;b=t[h+(u<<2)>>2]|0;if(!b)i=1.0;else{e=0;i=0.0;e:while(1){if((e|0)>=(u|0))break;l=e+1|0;s=t[h+(l<<2)>>2]|0;o=P(e,A)|0;f=t[h+(e<<2)>>2]|0;while(1){if((f|0)>=(s|0)){e=l;continue e}n=w+(f<<2)|0;e=0;a=0.0;while(1){if((e|0)>=(A|0))break;k=+c[r+(e+o<<3)>>3]-+c[r+((P(t[n>>2]|0,A)|0)<<3)>>3];e=e+1|0;a=k*k+a}f=f+1|0;i=+D(+a)+i}}i=i/+(b|0)}return+i}function SS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=A+10|0;if((t[r>>2]|0)<=(A|0)){t[r>>2]=i;t[e>>2]=AM(t[e>>2]|0,i<<3)|0}return}function jS(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=A+10|0;if((t[r>>2]|0)<=(A|0)){t[r>>2]=i;t[e>>2]=AM(t[e>>2]|0,i<<2)|0}return}function US(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,t=0.0,n=0.0,f=0,l=0,s=0;s=h;h=h+16|0;l=s;f=P(i,A)|0;A=P(r,A)|0;i=0;while(1){if((i|0)==2)break;c[l+(i<<3)>>3]=+c[e+(i+f<<3)>>3]-+c[e+(i+A<<3)>>3];i=i+1|0}n=+c[l>>3];t=+c[l+8>>3];do{if(!((n>=0.0?n:-n)<=(t>=0.0?t:-t)*1.0e-05)){a=+N(+(t/n));if(n>0.0){if(!(t<0.0))break;a=a+6.283185307179586;break}else{if(!(n<0.0))break;a=a+3.141592653589793;break}}else a=t>0.0?1.5707963267948966:4.71238898038469}while(0);h=s;return+a}function TS(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;i=+c[e>>3];r=+c[A>>3];return(i>r?1:(i>31)|0}function OS(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,s=0,o=0,u=0.0,b=0,w=0.0,k=0.0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0.0,I=0.0,Z=0,G=0,L=0,Q=0,W=0,Y=0,F=0,M=0,V=0,N=0.0,R=0,x=0,J=0,H=0.0,X=0,S=0.0,j=0,U=0,T=0,O=0,_=0,q=0,K=0,$=0,ee=0.0;K=h;h=h+80|0;q=K+32|0;_=K;w=+c[r>>3];o=r+24|0;u=+c[o>>3];b=r+32|0;l=+c[b>>3];H=+c[r+72>>3];X=t[r+80>>2]|0;S=+c[r+88>>3];k=+c[r+96>>3];j=t[r+104>>2]|0;U=r+56|0;f=t[U>>2]|0;do{if(!((A|0)==0|(X|0)<1)?(T=t[A+4>>2]|0,!((e|0)<1|(T|0)<1)):0){J=t[A>>2]|0;O=JS(f)|0;t[n>>2]=0;if((J|0)!=(T|0)){t[n>>2]=-100;xS(O);t[U>>2]=f;break}R=lK(A,1)|0;x=t[R+20>>2]|0;J=t[R+24>>2]|0;e:do{if(t[r+16>>2]|0){a8(t[r+108>>2]|0);s=P(T,e)|0;f=0;while(1){if((f|0)>=(s|0))break e;c[a+(f<<3)>>3]=+Xo();f=f+1|0}}}while(0);if(u<0.0){u=+XS(R,e,a);c[o>>3]=u}if(l<0.0){c[b>>3]=.2;l=.2}if(w>=0.0){c[r>>3]=-1.0;w=-1.0}N=+z(+u,+(1.0-w));I=+z(+l,+((2.0-w)*.3333333333333333))/u;Z=P(T,e<<3)|0;G=$F(Z)|0;L=$F(Z)|0;Q=r+116|0;W=r+64|0;Y=t[15712]|0;F=R+8|0;M=_+8|0;V=_+16|0;y=0;C=0.0;p=k;while(1){Q6(G|0,a|0,Z|0)|0;E=PS(O)|0;B=Tq(e,T,E,a,(t[Q>>2]|0)==0?0:i)|0;Pq(B,L,a,+c[W>>3],w,N,_,n);o=0;e:while(1){if((o|0)>=(T|0)){k=0.0;s=0;break}b=P(o,e)|0;d=L+(b<<3)|0;v=o+1|0;g=x+(v<<2)|0;s=t[x+(o<<2)>>2]|0;while(1){if((s|0)>=(t[g>>2]|0)){o=v;continue e}m=J+(s<<2)|0;f=t[m>>2]|0;A:do{if((f|0)!=(o|0)){l=+Ko(a,e,o,f)*I;f=0;while(1){if((f|0)>=(e|0))break A;k=l*(+c[a+(f+b<<3)>>3]-+c[a+((P(t[m>>2]|0,e)|0)+f<<3)>>3]);$=d+(f<<3)|0;c[$>>3]=+c[$>>3]-k;f=f+1|0}}}while(0);s=s+1|0}}while(1){if((s|0)>=(T|0))break;o=P(s,e)|0;b=L+(o<<3)|0;l=0.0;f=0;while(1){if((f|0)>=(e|0))break;ee=+c[b+(f<<3)>>3];l=ee*ee+l;f=f+1|0}l=+D(+l);k=l+k;e:do{if(l>0.0){l=1.0/l;f=0;while(1){if((f|0)>=(e|0)){f=0;break e}$=b+(f<<3)|0;c[$>>3]=+c[$>>3]*l;f=f+1|0}}else f=0}while(0);while(1){if((f|0)>=(e|0))break;$=a+(f+o<<3)|0;c[$>>3]=+c[$>>3]+ +c[b+(f<<3)>>3]*p;f=f+1|0}s=s+1|0}y=y+1|0;if(!B){if(0){$=t[F>>2]|0;t[q>>2]=y;c[q+8>>3]=p;c[q+16>>3]=k;t[q+24>>2]=$;c[q+32>>3]=u;a3(Y,92099,q)|0}}else{AK(B);HS(O,+c[M>>3]*.85+ +c[_>>3]+ +c[V>>3]*3.3)}p=+_S(j,p,k,C,S);if(!((y|0)<(X|0)&p>H))break;else C=k}if(t[r+112>>2]|0)qS(e,R,a);xS(O);t[U>>2]=E;G2(G);if((R|0)!=(A|0))iK(R);G2(L)}}while(0);h=K;return}function _S(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;do{if(e){if(r>=i){A=a*A;break}if(!(i*.95>2]|0;G=t[A+20>>2]|0;g=t[A+24>>2]|0;t[p>>2]=10;t[I>>2]=10;m=$F(Z<<2)|0;a=$F(80)|0;t[y>>2]=a;i=$F(40)|0;t[C>>2]=i;A=0;while(1){if((A|0)>=(Z|0)){u=0;d=a;s=i;b=i;o=a;break}t[m+(A<<2)>>2]=0;A=A+1|0}while(1){if((u|0)>=(Z|0))break;A=t[G+(u<<2)>>2]|0;e:do{if((((t[G+(u+1<<2)>>2]|0)-A|0)==1?(t[m+(u<<2)>>2]|0)==0:0)?(E=t[g+(A<<2)>>2]|0,B=m+(E<<2)|0,(t[B>>2]|0)==0):0){t[B>>2]=1;k=G+(E+1<<2)|0;u=0;v=0;n=0.0;w=t[G+(E<<2)>>2]|0;s=b;A=d;while(1){if((w|0)>=(t[k>>2]|0))break;i=g+(w<<2)|0;a=t[i>>2]|0;if(((t[G+(a+1<<2)>>2]|0)-(t[G+(a<<2)>>2]|0)|0)==1){t[m+(a<<2)>>2]=1;jS(C,v,p);n=+Ko(r,e,E,t[i>>2]|0)+n;s=t[C>>2]|0;t[s+(v<<2)>>2]=t[i>>2];i=u;a=v+1|0}else{SS(y,u,I);l=+US(r,e,E,t[i>>2]|0);A=t[y>>2]|0;c[A+(u<<3)>>3]=l;i=u+1|0;a=v;o=A}u=i;v=a;w=w+1|0}l=n/+(v|0);if((u|0)>0){KS(u,o);A=o}n=(v|0)>1?6.283185307179586/+(v+-1|0):0.0;i=0;f=0.0;while(1){if((i|0)>=(v|0)){b=s;a=s;break e}$S(r,e,l,f,E,t[s+(i<<2)>>2]|0);i=i+1|0;f=f+n}}else{i=u;a=s;A=d}}while(0);u=i+1|0;d=A;s=a}G2(m);G2(d);G2(s);h=L;return}function KS(e,A){e=e|0;A=A|0;_4(A,e,8,68);return}function $S(e,A,r,i,a,t){e=e|0;A=A|0;r=+r;i=+i;a=a|0;t=t|0;var n=0.0;n=+W(+i)*r;a=P(a,A)|0;t=P(t,A)|0;c[e+(t<<3)>>3]=n+ +c[e+(a<<3)>>3];i=+Y(+i)*r;c[e+(t+1<<3)>>3]=i+ +c[e+(a+1<<3)>>3];return}function ej(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0,b=0,h=0.0,w=0,k=0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0.0,I=0,Z=0.0,G=0.0,L=0,Q=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0.0,J=0,H=0.0,X=0,S=0,j=0,U=0,T=0.0;h=+c[r>>3];u=r+24|0;o=+c[u>>3];b=r+32|0;s=+c[b>>3];x=+c[r+72>>3];J=t[r+80>>2]|0;H=+c[r+88>>3];d=+c[r+96>>3];X=t[r+104>>2]|0;f=t[r+56>>2]|0;G3(92198,32,1,t[15712]|0)|0;if(!((A|0)==0|(J|0)<1)?(S=t[A>>2]|0,l=t[A+4>>2]|0,!((e|0)<1|(l|0)<1)):0){w=e<<3;j=$F(P(w,l)|0)|0;if((l|0)<(t[r+52>>2]|0)){Y=0;F=0;M=0;V=0;N=0;R=0}else{JS(f)|0;V=$F(e*80|0)|0;N=$F(80)|0;R=$F(80)|0;Y=R;F=N;M=V}t[n>>2]=0;if((S|0)==(l|0)){L=lK(A,1)|0;Q=t[L+20>>2]|0;W=t[L+24>>2]|0;e:do{if(t[r+16>>2]|0){a8(t[r+108>>2]|0);l=P(S,e)|0;f=0;while(1){if((f|0)>=(l|0))break e;c[a+(f<<3)>>3]=+Xo();f=f+1|0}}}while(0);if(o<0.0){o=+XS(L,e,a);c[u>>3]=o}if(s<0.0){c[b>>3]=.2;s=.2}if(h>=0.0){c[r>>3]=-1.0;h=-1.0}Z=1.0-h;G=+z(+o,+Z);C=+z(+s,+((2.0-h)*.3333333333333333))/o;I=$F(w)|0;m=P(S,w)|0;p=$F(m)|0;E=P(S,e)|0;B=r+116|0;y=(i|0)!=0;g=h==-1.0;v=0;h=0.0;while(1){f=0;while(1){if((f|0)>=(E|0))break;c[j+(f<<3)>>3]=0.0;f=f+1|0}Q6(p|0,a|0,m|0)|0;w=0;while(1){if((w|0)<(S|0))f=0;else{b=0;break}while(1){if((f|0)>=(e|0))break;c[I+(f<<3)>>3]=0.0;f=f+1|0}b=P(w,e)|0;e:do{if(y&(t[B>>2]|0)!=0){f=0;while(1){if((f|0)==(S|0)){f=0;break e}A:do{if((f|0)!=(w|0)){o=+qo(a,e,w,f);n=i+(f<<3)|0;u=P(f,e)|0;s=+z(+o,+Z);s=1.0/(g?o*o:s);l=0;while(1){if((l|0)>=(e|0))break A;k=I+(l<<3)|0;c[k>>3]=+c[n>>3]*G*(+c[a+(l+b<<3)>>3]-+c[a+(l+u<<3)>>3])*s+ +c[k>>3];l=l+1|0}}}while(0);f=f+1|0}}else{f=0;while(1){if((f|0)==(S|0)){f=0;break e}A:do{if((f|0)!=(w|0)){o=+qo(a,e,w,f);n=P(f,e)|0;s=+z(+o,+Z);s=1.0/(g?o*o:s);l=0;while(1){if((l|0)>=(e|0))break A;k=I+(l<<3)|0;c[k>>3]=(+c[a+(l+b<<3)>>3]-+c[a+(l+n<<3)>>3])*G*s+ +c[k>>3];l=l+1|0}}}while(0);f=f+1|0}}}while(0);while(1){if((f|0)>=(e|0))break;k=j+(f+b<<3)|0;c[k>>3]=+c[k>>3]+ +c[I+(f<<3)>>3];f=f+1|0}w=w+1|0}e:while(1){if((b|0)<(S|0))f=0;else{o=0.0;l=0;break}while(1){if((f|0)>=(e|0))break;c[I+(f<<3)>>3]=0.0;f=f+1|0}w=b+1|0;n=Q+(w<<2)|0;k=P(b,e)|0;l=t[Q+(b<<2)>>2]|0;while(1){if((l|0)>=(t[n>>2]|0)){f=0;break}u=W+(l<<2)|0;f=t[u>>2]|0;A:do{if((f|0)!=(b|0)){s=+Ko(a,e,b,f)*C;f=0;while(1){if((f|0)>=(e|0))break A;o=s*(+c[a+(f+k<<3)>>3]-+c[a+((P(t[u>>2]|0,e)|0)+f<<3)>>3]);U=I+(f<<3)|0;c[U>>3]=+c[U>>3]-o;f=f+1|0}}}while(0);l=l+1|0}while(1){if((f|0)>=(e|0)){b=w;continue e}U=j+(f+k<<3)|0;c[U>>3]=+c[U>>3]+ +c[I+(f<<3)>>3];f=f+1|0}}while(1){if((l|0)>=(S|0))break;n=P(l,e)|0;f=0;while(1){if((f|0)>=(e|0)){s=0.0;f=0;break}c[I+(f<<3)>>3]=+c[j+(f+n<<3)>>3];f=f+1|0}while(1){if((f|0)>=(e|0))break;T=+c[I+(f<<3)>>3];s=T*T+s;f=f+1|0}s=+D(+s);o=s+o;e:do{if(s>0.0){s=1.0/s;f=0;while(1){if((f|0)>=(e|0)){f=0;break e}U=I+(f<<3)|0;c[U>>3]=+c[U>>3]*s;f=f+1|0}}else f=0}while(0);while(1){if((f|0)>=(e|0))break;U=a+(f+n<<3)|0;c[U>>3]=+c[U>>3]+ +c[I+(f<<3)>>3]*d;f=f+1|0}l=l+1|0}v=v+1|0;d=+_S(X,d,o,h,H);if(!((v|0)<(J|0)&d>x))break;else h=o}if(t[r+112>>2]|0)qS(e,L,a);G2(p);if((L|0)!=(A|0))iK(L);G2(I)}else t[n>>2]=-100;if(M|0)G2(V);if(F|0)G2(N);if(Y|0)G2(R);G2(j)}return}function Aj(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0.0,L=0,Q=0,W=0.0,Y=0.0,F=0,M=0,V=0,N=0,R=0.0,x=0.0,J=0,H=0,X=0,S=0,j=0,U=0.0,T=0,O=0.0,_=0,q=0,K=0,$=0,ee=0,Ae=0,re=0,ie=0,ae=0,te=0,ne=0,fe=0.0,le=0;ne=h;h=h+32|0;K=ne+24|0;$=ne+20|0;ie=ne+16|0;ae=ne+12|0;te=ne+8|0;j=ne;v=+c[r>>3];s=r+24|0;d=+c[s>>3];o=r+32|0;k=+c[o>>3];U=+c[r+72>>3];T=t[r+80>>2]|0;O=+c[r+88>>3];g=+c[r+96>>3];_=t[r+104>>2]|0;t[K>>2]=0;t[$>>2]=10;t[ie>>2]=0;t[ae>>2]=0;t[te>>2]=0;c[j>>3]=0.0;re=r+56|0;u=t[re>>2]|0;if(!((A|0)==0|(T|0)<1)?(q=t[A>>2]|0,f=t[A+4>>2]|0,!((e|0)<1|(f|0)<1)):0){if((f|0)<(t[r+52>>2]|0)){Ae=0;ee=0}else{Ae=JS(u)|0;t[ie>>2]=$F(e*80|0)|0;t[ae>>2]=$F(80)|0;t[te>>2]=$F(80)|0;ee=1}t[n>>2]=0;e:do{if((q|0)==(f|0)){b=lK(A,1)|0;J=t[b+20>>2]|0;H=t[b+24>>2]|0;A:do{if(t[r+16>>2]|0){a8(t[r+108>>2]|0);l=P(q,e)|0;f=0;while(1){if((f|0)>=(l|0))break A;c[a+(f<<3)>>3]=+Xo();f=f+1|0}}}while(0);if(d<0.0){d=+XS(b,e,a);c[s>>3]=d}if(k<0.0){c[o>>3]=.2;k=.2}if(v>=0.0){c[r>>3]=-1.0;v=-1.0}R=1.0-v;x=+z(+d,+R);Y=+z(+k,+((2.0-v)*.3333333333333333))/d;F=e<<3;X=$F(F)|0;F=P(q,F)|0;S=$F(F)|0;M=(ee|0)!=0;V=r+116|0;N=r+64|0;L=v==-1.0;Q=(i|0)!=0;W=1.0/+(q|0);f=0;Z=0;G=0.0;while(1){Z=Z+1|0;Q6(S|0,a|0,F|0)|0;if(M){f=PS(Ae)|0;u=f;f=Tq(e,q,f,a,(t[V>>2]|0)==0?0:i)|0}m=0.0;v=0.0;p=0;d=0.0;A:while(1){if((p|0)<(q|0))l=0;else break;while(1){if((l|0)>=(e|0))break;c[X+(l<<3)>>3]=0.0;l=l+1|0}C=p+1|0;o=J+(C<<2)|0;I=P(p,e)|0;s=t[J+(p<<2)>>2]|0;while(1){if((s|0)>=(t[o>>2]|0))break;w=H+(s<<2)|0;l=t[w>>2]|0;r:do{if((l|0)!=(p|0)){k=+Ko(a,e,p,l)*Y;l=0;while(1){if((l|0)>=(e|0))break r;fe=k*(+c[a+(l+I<<3)>>3]-+c[a+((P(t[w>>2]|0,e)|0)+l<<3)>>3]);y=X+(l<<3)|0;c[y>>3]=+c[y>>3]-fe;l=l+1|0}}}while(0);s=s+1|0}r:do{if(!M)if(Q&(t[V>>2]|0)!=0){l=0;while(1){if((l|0)==(q|0))break r;i:do{if((l|0)!=(p|0)){fe=+qo(a,e,p,l);o=i+(l<<3)|0;w=P(l,e)|0;k=+z(+fe,+R);k=1.0/(L?fe*fe:k);s=0;while(1){if((s|0)>=(e|0))break i;y=X+(s<<3)|0;c[y>>3]=+c[o>>3]*x*(+c[a+(s+I<<3)>>3]-+c[a+(s+w<<3)>>3])*k+ +c[y>>3];s=s+1|0}}}while(0);l=l+1|0}}else{l=0;while(1){if((l|0)==(q|0))break r;i:do{if((l|0)!=(p|0)){fe=+qo(a,e,p,l);o=P(l,e)|0;k=+z(+fe,+R);k=1.0/(L?fe*fe:k);s=0;while(1){if((s|0)>=(e|0))break i;y=X+(s<<3)|0;c[y>>3]=(+c[a+(s+I<<3)>>3]-+c[a+(s+o<<3)>>3])*x*k+ +c[y>>3];s=s+1|0}}}while(0);l=l+1|0}}else{Hq(f,+c[N>>3],a+(I<<3)|0,p,K,$,ie,ae,te,j,n);m=+c[j>>3]+m;y=t[K>>2]|0;v=v+ +(y|0);if(t[n>>2]|0){o=X;s=S;f=X;l=S;w=67;break e}o=t[te>>2]|0;w=t[ae>>2]|0;p=t[ie>>2]|0;l=0;while(1){if((l|0)>=(y|0))break r;fe=+c[o+(l<<3)>>3];fe=fe>1.0e-15?fe:1.0e-15;E=w+(l<<3)|0;B=P(l,e)|0;k=+z(+fe,+R);k=1.0/(L?fe*fe:k);s=0;while(1){if((s|0)>=(e|0))break;le=X+(s<<3)|0;c[le>>3]=+c[E>>3]*x*(+c[a+(s+I<<3)>>3]-+c[p+(s+B<<3)>>3])*k+ +c[le>>3];s=s+1|0}l=l+1|0}}}while(0);k=0.0;l=0;while(1){if((l|0)>=(e|0))break;fe=+c[X+(l<<3)>>3];k=fe*fe+k;l=l+1|0}k=+D(+k);d=k+d;r:do{if(k>0.0){k=1.0/k;l=0;while(1){if((l|0)>=(e|0)){l=0;break r}le=X+(l<<3)|0;c[le>>3]=+c[le>>3]*k;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(e|0)){p=C;continue A}le=a+(l+I<<3)|0;c[le>>3]=+c[le>>3]+ +c[X+(l<<3)>>3]*g;l=l+1|0}}if(f|0){AK(f);HS(Ae,v*W*5.0+m*W)}g=+_S(_,g,d,G,O);if(!((Z|0)<(T|0)&g>U))break;else G=d}if(!(t[r+112>>2]|0)){o=X;s=S;l=S;f=X;w=66}else{qS(e,b,a);o=X;s=S;l=S;f=X;w=66}}else{t[n>>2]=-100;b=A;o=0;s=0;l=0;f=0;w=66}}while(0);if((w|0)==66)if(ee)w=67;if((w|0)==67){xS(Ae);t[re>>2]=u}if(s|0)G2(l);if((b|0)!=(A|0))iK(b);if(o|0)G2(f);f=t[ie>>2]|0;if(f|0)G2(f);f=t[ae>>2]|0;if(f|0)G2(f);f=t[te>>2]|0;if(f|0)G2(f)}h=ne;return}function rj(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=+f;l=l|0;var s=0,o=0,u=0,b=0,w=0.0,k=0,d=0.0,v=0,g=0.0,m=0.0,p=0.0,E=0,B=0,y=0.0,C=0,I=0,Z=0.0,G=0,L=0.0,Q=0.0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,X=0,S=0,j=0,U=0,T=0,O=0,_=0.0,q=0,K=0.0,$=0,ee=0,Ae=0,re=0,ie=0,ae=0,te=0,ne=0,fe=0.0,le=0;ne=h;h=h+48|0;b=ne+8|0;Ae=ne+40|0;re=ne+36|0;T=ne+32|0;ae=ne+28|0;te=ne+24|0;O=ne;w=+c[i>>3];k=i+32|0;d=+c[k>>3];_=+c[i+72>>3];q=t[i+80>>2]|0;K=+c[i+88>>3];g=+c[i+96>>3];$=t[i+104>>2]|0;t[Ae>>2]=0;t[re>>2]=10;t[T>>2]=0;t[ae>>2]=0;t[te>>2]=0;c[O>>3]=0.0;if(!((A|0)==0|(q|0)<1)?(ee=t[A>>2]|0,u=t[A+4>>2]|0,!((e|0)<1|(u|0)<1)):0){if((t[i+132>>2]|0)!=0?(u|0)>=(t[i+52>>2]|0):0){o=$F(e*80|0)|0;t[T>>2]=o;t[ae>>2]=$F(80)|0;t[te>>2]=$F(80)|0;v=1;s=o}else{v=0;s=0;o=0}t[l>>2]=0;if((ee|0)==(u|0)){U=lK(A,1)|0;if(!r){j=0;s=U}else{j=t[r+28>>2]|0;s=r}S=t[s+24>>2]|0;X=t[s+20>>2]|0;if(f<0.0){Q=+ij(ee,X,j);L=+(t[X+(ee<<2)>>2]|0);Z=+(ee|0);f=L/(Z*Z-L)*f/+z(+Q,+(w+1.0));H=t[15712]|0;c[b>>3]=Q;c[b+8>>3]=f;a3(H,92231,b)|0}e:do{if(t[i+16>>2]|0){G3(92253,24,1,t[15712]|0)|0;a8(t[i+108>>2]|0);o=P(ee,e)|0;s=0;while(1){if((s|0)>=(o|0))break e;c[n+(s<<3)>>3]=+Xo();s=s+1|0}}}while(0);aj(ee,e,n,X,S,j);if(d<0.0)c[k>>3]=.2;if(w>=0.0){c[i>>3]=-1.0;w=-1.0}J=e<<3;x=$F(J)|0;J=P(ee,J)|0;H=$F(J)|0;Y=(v|0)!=0;F=i+116|0;M=(j|0)==0;V=i+8|0;N=(a|0)!=0;R=w==-1.0;Q=1.0-w;W=i+64|0;s=0;G=0;L=0.0;w=1.0;Z=g;e:while(1){G=G+1|0;Q6(H|0,n|0,J|0)|0;if(Y)s=Tq(e,ee,10,n,(t[F>>2]|0)==0?0:a)|0;v=0;g=0.0;A:while(1){if((v|0)<(ee|0))o=0;else break;while(1){if((o|0)>=(e|0))break;c[x+(o<<3)>>3]=0.0;o=o+1|0}I=v+1|0;k=X+(I<<2)|0;C=P(v,e)|0;b=t[X+(v<<2)>>2]|0;while(1){if((b|0)>=(t[k>>2]|0))break;r=S+(b<<2)|0;o=t[r>>2]|0;r:do{if((o|0)!=(v|0)){y=+qo(n,e,v,o);if(!M)w=+c[j+(b<<3)>>3];d=+c[V>>3];i:do{if(!(d==2.0))if(d==1.0){d=(y-w)*(1.0/(w*w));m=1.0/y;o=0;while(1){if((o|0)>=(e|0))break i;p=d*(+c[n+(o+C<<3)>>3]-+c[n+((P(t[r>>2]|0,e)|0)+o<<3)>>3])*m;B=x+(o<<3)|0;c[B>>3]=+c[B>>3]-p;o=o+1|0}}else{d=1.0/+z(+w,+(d+1.0));m=y-w;p=1.0/y;o=0;while(1){if((o|0)>=(e|0))break i;fe=+c[n+(o+C<<3)>>3]-+c[n+((P(t[r>>2]|0,e)|0)+o<<3)>>3];fe=d*fe*+z(+m,+ +c[V>>3])*p;B=x+(o<<3)|0;c[B>>3]=+c[B>>3]-fe;o=o+1|0}}else{d=y-w;d=d*d*(1.0/(w*w*w));m=1.0/y;o=0;while(1){if((o|0)>=(e|0))break i;fe=d*(+c[n+(o+C<<3)>>3]-+c[n+((P(t[r>>2]|0,e)|0)+o<<3)>>3])*m;B=x+(o<<3)|0;c[B>>3]=+c[B>>3]-fe;o=o+1|0}}}while(0);if(N&(t[F>>2]|0)!=0){u=a+(b<<3)|0;d=+z(+y,+Q);d=1.0/(R?y*y:d);o=0;while(1){if((o|0)>=(e|0))break r;fe=+c[u>>3]*f*(+c[n+(o+C<<3)>>3]-+c[n+((P(t[r>>2]|0,e)|0)+o<<3)>>3])*d;B=x+(o<<3)|0;c[B>>3]=+c[B>>3]-fe;o=o+1|0}}else{d=+z(+y,+Q);d=1.0/(R?y*y:d);o=0;while(1){if((o|0)>=(e|0))break r;fe=(+c[n+(o+C<<3)>>3]-+c[n+((P(t[r>>2]|0,e)|0)+o<<3)>>3])*f*d;B=x+(o<<3)|0;c[B>>3]=+c[B>>3]-fe;o=o+1|0}}}}while(0);b=b+1|0}r:do{if(!Y)if(N&(t[F>>2]|0)!=0){o=0;while(1){if((o|0)==(ee|0)){d=0.0;o=0;break r}i:do{if((o|0)!=(v|0)){fe=+qo(n,e,v,o);r=a+(o<<3)|0;b=P(o,e)|0;d=+z(+fe,+Q);d=1.0/(R?fe*fe:d);u=0;while(1){if((u|0)>=(e|0))break i;B=x+(u<<3)|0;c[B>>3]=+c[r>>3]*f*(+c[n+(u+C<<3)>>3]-+c[n+(u+b<<3)>>3])*d+ +c[B>>3];u=u+1|0}}}while(0);o=o+1|0}}else{o=0;while(1){if((o|0)==(ee|0)){d=0.0;o=0;break r}i:do{if((o|0)!=(v|0)){fe=+qo(n,e,v,o);r=P(o,e)|0;d=+z(+fe,+Q);d=1.0/(R?fe*fe:d);u=0;while(1){if((u|0)>=(e|0))break i;B=x+(u<<3)|0;c[B>>3]=(+c[n+(u+C<<3)>>3]-+c[n+(u+r<<3)>>3])*f*d+ +c[B>>3];u=u+1|0}}}while(0);o=o+1|0}}else{Hq(s,+c[W>>3],n+(C<<3)|0,v,Ae,re,T,ae,te,O,l);r=t[Ae>>2]|0;if(t[l>>2]|0)break e;b=t[te>>2]|0;k=t[ae>>2]|0;v=t[T>>2]|0;o=0;while(1){if((o|0)>=(r|0)){d=0.0;o=0;break r}fe=+c[b+(o<<3)>>3];fe=fe>1.0e-15?fe:1.0e-15;E=k+(o<<3)|0;B=P(o,e)|0;d=+z(+fe,+Q);d=1.0/(R?fe*fe:d);u=0;while(1){if((u|0)>=(e|0))break;le=x+(u<<3)|0;c[le>>3]=+c[E>>3]*f*(+c[n+(u+C<<3)>>3]-+c[v+(u+B<<3)>>3])*d+ +c[le>>3];u=u+1|0}o=o+1|0}}}while(0);while(1){if((o|0)>=(e|0))break;fe=+c[x+(o<<3)>>3];d=fe*fe+d;o=o+1|0}d=+D(+d);g=d+g;r:do{if(d>0.0){d=1.0/d;o=0;while(1){if((o|0)>=(e|0)){o=0;break r}le=x+(o<<3)|0;c[le>>3]=+c[le>>3]*d;o=o+1|0}}else o=0}while(0);while(1){if((o|0)>=(e|0)){v=I;continue A}le=n+(o+C<<3)|0;c[le>>3]=+c[le>>3]+ +c[x+(o<<3)>>3]*Z;o=o+1|0}}if(s|0)AK(s);Z=+_S($,Z,g,L,K);if(!((G|0)<(q|0)&Z>_)){ie=83;break}else L=g}if((ie|0)==83?t[i+112>>2]|0:0)qS(e,U,n);G2(H);if((U|0)!=(A|0))iK(U);G2(x);s=t[T>>2]|0;o=s}else t[l>>2]=-100;if(o|0)G2(s);s=t[ae>>2]|0;if(s|0)G2(s);s=t[te>>2]|0;if(s|0)G2(s)}h=ne;return}function ij(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0.0;if(!r)i=1.0;else{a=0;i=0.0;e:while(1){if((a|0)>=(e|0))break;n=a+1|0;f=t[A+(n<<2)>>2]|0;a=t[A+(a<<2)>>2]|0;while(1){if((a|0)>=(f|0)){a=n;continue e}l=+c[r+(a<<3)>>3]+i;a=a+1|0;i=l}}i=i/+(t[A+(e<<2)>>2]|0)}return+i}function aj(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0,E=0.0;p=h;h=h+16|0;m=p;g=(n|0)==0;s=0.0;o=0.0;u=1.0;l=0;e:while(1){if((l|0)>=(e|0))break;d=l+1|0;v=i+(d<<2)|0;k=t[i+(l<<2)>>2]|0;while(1){if((k|0)>=(t[v>>2]|0)){l=d;continue e}f=t[a+(k<<2)>>2]|0;A:do{if((f|0)!=(l|0)){b=+qo(r,A,l,f);if(!g)u=+c[n+(k<<3)>>3];E=1.0/(u*u);w=u*b*E;b=b*b*E;f=0;while(1){if((f|0)>=(A|0))break A;f=f+1|0;s=s+b;o=o+w}}}while(0);k=k+1|0}}s=o/s;l=P(A,e)|0;f=0;while(1){if((f|0)>=(l|0))break;A=r+(f<<3)|0;c[A>>3]=+c[A>>3]*s;f=f+1|0}r=t[15712]|0;c[m>>3]=s;a3(r,92278,m)|0;h=p;return}function tj(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0.0,b=0.0,w=0,k=0,d=0.0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0.0,I=0,Z=0,G=0,L=0,Q=0.0,W=0,Y=0.0,F=0,M=0,V=0,N=0.0,R=0.0,x=0,J=0,H=0,X=0,S=0,j=0,U=0,T=0.0,O=0,_=0.0,q=0,K=0,$=0,ee=0,Ae=0,re=0,ie=0,ae=0,te=0,ne=0.0,fe=0.0,le=0;te=h;h=h+32|0;$=te+24|0;ee=te+20|0;Ae=te+16|0;ie=te+12|0;ae=te+8|0;U=te;d=+c[i>>3];w=i+24|0;b=+c[w>>3];k=i+32|0;u=+c[k>>3];T=+c[i+72>>3];O=t[i+80>>2]|0;_=+c[i+88>>3];p=+c[i+96>>3];q=t[i+104>>2]|0;t[$>>2]=0;t[ee>>2]=10;t[Ae>>2]=0;t[ie>>2]=0;t[ae>>2]=0;c[U>>3]=0.0;if(!((A|0)==0|(O|0)<1)?(K=t[A>>2]|0,o=t[A+4>>2]|0,!((e|0)<1|(o|0)<1)):0){if((o|0)<(t[i+52>>2]|0)){v=0;l=0;s=0}else{s=$F(e*80|0)|0;t[Ae>>2]=s;t[ie>>2]=$F(80)|0;t[ae>>2]=$F(80)|0;v=1;l=s}t[f>>2]=0;if((K|0)==(o|0)){J=lK(A,1)|0;H=t[J+20>>2]|0;X=t[J+24>>2]|0;S=t[r+20>>2]|0;j=t[r+24>>2]|0;x=t[r+28>>2]|0;e:do{if(t[i+16>>2]|0){a8(t[i+108>>2]|0);s=P(K,e)|0;l=0;while(1){if((l|0)>=(s|0))break e;c[n+(l<<3)>>3]=+Xo();l=l+1|0}}}while(0);if(b<0.0){b=+XS(J,e,n);c[w>>3]=b}if(u<0.0){c[k>>3]=.2;u=.2}if(d>=0.0){c[i>>3]=-1.0;d=-1.0}N=1.0-d;R=+z(+b,+N);Y=+z(+u,+((2.0-d)*.3333333333333333))/b;M=e<<3;F=$F(M)|0;M=P(K,M)|0;V=$F(M)|0;G=(v|0)!=0;L=i+116|0;Q=Y*.2;W=i+64|0;I=d==-1.0;Z=(a|0)!=0;l=0;y=0;C=0.0;e:while(1){y=y+1|0;Q6(V|0,n|0,M|0)|0;if(G)l=Tq(e,K,10,n,(t[L>>2]|0)==0?0:a)|0;v=0;b=0.0;A:while(1){if((v|0)<(K|0))s=0;else break;while(1){if((s|0)>=(e|0))break;c[F+(s<<3)>>3]=0.0;s=s+1|0}E=v+1|0;r=H+(E<<2)|0;B=P(v,e)|0;o=t[H+(v<<2)>>2]|0;while(1){if((o|0)>=(t[r>>2]|0))break;w=X+(o<<2)|0;s=t[w>>2]|0;r:do{if((s|0)!=(v|0)){u=+Ko(n,e,v,s)*Y;s=0;while(1){if((s|0)>=(e|0))break r;d=u*(+c[n+(s+B<<3)>>3]-+c[n+((P(t[w>>2]|0,e)|0)+s<<3)>>3]);m=F+(s<<3)|0;c[m>>3]=+c[m>>3]-d;s=s+1|0}}}while(0);o=o+1|0}w=S+(E<<2)|0;r=t[S+(v<<2)>>2]|0;while(1){if((r|0)>=(t[w>>2]|0))break;k=j+(r<<2)|0;s=t[k>>2]|0;r:do{if((s|0)!=(v|0)){u=+qo(n,e,v,s);o=x+(r<<3)|0;d=1.0/u;s=0;while(1){if((s|0)>=(e|0))break r;fe=+c[o>>3];ne=u-fe;ne=ne*ne*Q*(+c[n+(s+B<<3)>>3]-+c[n+((P(t[k>>2]|0,e)|0)+s<<3)>>3])*d;m=F+(s<<3)|0;c[m>>3]=(u>3];s=s+1|0}}}while(0);r=r+1|0}r:do{if(!G)if(Z&(t[L>>2]|0)!=0){s=0;while(1){if((s|0)==(K|0)){u=0.0;s=0;break r}i:do{if((s|0)!=(v|0)){fe=+qo(n,e,v,s);r=a+(s<<3)|0;w=P(s,e)|0;u=+z(+fe,+N);u=1.0/(I?fe*fe:u);o=0;while(1){if((o|0)>=(e|0))break i;m=F+(o<<3)|0;c[m>>3]=+c[r>>3]*R*(+c[n+(o+B<<3)>>3]-+c[n+(o+w<<3)>>3])*u+ +c[m>>3];o=o+1|0}}}while(0);s=s+1|0}}else{s=0;while(1){if((s|0)==(K|0)){u=0.0;s=0;break r}i:do{if((s|0)!=(v|0)){fe=+qo(n,e,v,s);r=P(s,e)|0;u=+z(+fe,+N);u=1.0/(I?fe*fe:u);o=0;while(1){if((o|0)>=(e|0))break i;m=F+(o<<3)|0;c[m>>3]=(+c[n+(o+B<<3)>>3]-+c[n+(o+r<<3)>>3])*R*u+ +c[m>>3];o=o+1|0}}}while(0);s=s+1|0}}else{Hq(l,+c[W>>3],n+(B<<3)|0,v,$,ee,Ae,ie,ae,U,f);r=t[$>>2]|0;if(t[f>>2]|0)break e;w=t[ae>>2]|0;k=t[ie>>2]|0;v=t[Ae>>2]|0;s=0;while(1){if((s|0)>=(r|0)){u=0.0;s=0;break r}fe=+c[w+(s<<3)>>3];fe=fe>1.0e-15?fe:1.0e-15;g=k+(s<<3)|0;m=P(s,e)|0;u=+z(+fe,+N);u=1.0/(I?fe*fe:u);o=0;while(1){if((o|0)>=(e|0))break;le=F+(o<<3)|0;c[le>>3]=+c[g>>3]*R*(+c[n+(o+B<<3)>>3]-+c[v+(o+m<<3)>>3])*u+ +c[le>>3];o=o+1|0}s=s+1|0}}}while(0);while(1){if((s|0)>=(e|0))break;fe=+c[F+(s<<3)>>3];u=fe*fe+u;s=s+1|0}u=+D(+u);b=u+b;r:do{if(u>0.0){u=1.0/u;s=0;while(1){if((s|0)>=(e|0)){s=0;break r}le=F+(s<<3)|0;c[le>>3]=+c[le>>3]*u;s=s+1|0}}else s=0}while(0);while(1){if((s|0)>=(e|0)){v=E;continue A}le=n+(s+B<<3)|0;c[le>>3]=+c[le>>3]+ +c[F+(s<<3)>>3]*p;s=s+1|0}}if(l|0)AK(l);p=+_S(q,p,b,C,_);if(!((y|0)<(O|0)&p>T)){re=70;break}else C=b}if((re|0)==70?t[i+112>>2]|0:0)qS(e,J,n);G2(V);if((J|0)!=(A|0))iK(J);G2(F);l=t[Ae>>2]|0;s=l}else t[f>>2]=-100;if(s|0)G2(l);l=t[ie>>2]|0;if(l|0)G2(l);l=t[ae>>2]|0;if(l|0)G2(l)}h=te;return}function nj(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0;b=t[A+20>>2]|0;h=t[A+24>>2]|0;w=$F(e<<3)|0;u=t[A>>2]|0;s=0;e:while(1){if((s|0)<(u|0))A=0;else break;while(1){if((A|0)>=(e|0))break;c[w+(A<<3)>>3]=0.0;A=A+1|0}o=s+1|0;l=t[b+(o<<2)>>2]|0;f=t[b+(s<<2)>>2]|0;A=0;while(1){if((f|0)>=(l|0))break;i=t[h+(f<<2)>>2]|0;if((i|0)!=(s|0)){n=P(i,e)|0;i=0;while(1){if((i|0)>=(e|0))break;k=w+(i<<3)|0;c[k>>3]=+c[k>>3]+ +c[r+(n+i<<3)>>3];i=i+1|0}A=A+1|0}f=f+1|0}if((A|0)<=0){s=o;continue}a=.5/+(A|0);i=P(s,e)|0;A=0;while(1){if((A|0)>=(e|0)){s=o;continue e}k=r+(A+i<<3)|0;c[k>>3]=+c[w+(A<<3)>>3]*a+ +c[k>>3]*.5;A=A+1|0}}G2(w);return}function fj(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0.0;l=t[e+20>>2]|0;s=t[e+24>>2]|0;f=t[e>>2]|0;c=$F((f<<2)+4|0)|0;e=0;while(1){if((e|0)>(f|0)){r=0;i=0;break}t[c+(e<<2)>>2]=0;e=e+1|0}while(1){if((i|0)>=(f|0))break;a=i+1|0;n=t[l+(a<<2)>>2]|0;e=0;A=t[l+(i<<2)>>2]|0;while(1){if((A|0)>=(n|0))break;e=e+((i|0)!=(t[s+(A<<2)>>2]|0)&1)|0;A=A+1|0}n=c+(e<<2)|0;i=(t[n>>2]|0)+1|0;t[n>>2]=i;r=(r|0)>(i|0)?r:i;i=a}o=+(t[c+4>>2]|0);if(+(r|0)*.8=(n|0)){a=0;break}c[u+(a<<3)>>3]=0.0;a=a+1|0}while(1){if((a|0)>=(A|0)){n=0;break}c[l+(a<<3)>>3]=0.0;a=a+1|0}while(1){if((n|0)>=(e|0))break;f=P(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;o=l+(a<<3)|0;c[o>>3]=+c[o>>3]+ +c[r+(a+f<<3)>>3];a=a+1|0}n=n+1|0}i=1.0/+(e|0);a=0;while(1){if((a|0)>=(A|0)){n=0;break}o=l+(a<<3)|0;c[o>>3]=+c[o>>3]*i;a=a+1|0}while(1){if((n|0)>=(e|0)){f=0;break}f=P(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;o=r+(a+f<<3)|0;c[o>>3]=+c[o>>3]-+c[l+(a<<3)>>3];a=a+1|0}n=n+1|0}while(1){if((f|0)>=(e|0))break;l=P(f,A)|0;n=0;while(1){if((n|0)>=(A|0))break;s=r+(n+l<<3)|0;o=P(n,A)|0;a=0;while(1){if((a|0)==(A|0))break;w=u+(a+o<<3)|0;c[w>>3]=+c[w>>3]+ +c[r+(a+l<<3)>>3]*+c[s>>3];a=a+1|0}n=n+1|0}f=f+1|0}i=+c[u+8>>3];if(i==0.0)i=0.0;else{k=+c[u>>3];t=+c[u+24>>3];i=-(t-k-+D(+(k*k+i*i*4.0+(k*-2.0+t)*t)))/(i*2.0)}t=+D(+(i*i+1.0));i=i/t;t=1.0/t;a=0;while(1){if((a|0)>=(e|0))break;w=P(a,A)|0;u=r+(w<<3)|0;k=+c[u>>3];w=r+(w+1<<3)|0;d=+c[w>>3];c[u>>3]=d*t+k*i;c[w>>3]=d*i-k*t;a=a+1|0}h=b;return}function sj(e,A,r,i,a,t,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;cj(e,A,r,i,a,t,n,f,l,s);return}function cj(e,A,r,i,a,n,f,l,s,o){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;var u=0.0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0;N=h;h=h+192|0;Y=N+176|0;W=N+168|0;M=N;Q6(M|0,i|0,168)|0;t[o>>2]=0;do{if(A|0?(V=t[A+4>>2]|0,!((e|0)<1|(V|0)<1)):0){if((sK(A,0)|0)!=0?(t[A+16>>2]|0)==1:0){if((t[i+136>>2]|0)==1)b=hK(r)|0;else b=r;F=hK(A)|0}else g=5;do{if((g|0)==5)if((t[i+136>>2]|0)==1){F=bK(A,0)|0;b=bK(r,0)|0;break}else{F=Ho(A)|0;b=r;break}}while(0);z=i+160|0;w=t[z>>2]|0;if((w|0)==3){if((l|0)>0)g=14}else if((l|0)>0&(w|0)==4)g=14;if((g|0)==14){r=$F(P(e<<3,t[F>>2]|0)|0)|0;V=oj(F,l,s)|0;sj(e,V,0,i,0,0,r,0,0,o);uj(e,F,l,s,f,r);KO(e,F,f,n,t[i+124>>2]|0,+c[i+144>>3],t[z>>2]|0,l,s);iK(V);G2(r);if((F|0)==(A|0))break;iK(F);break}Q=tu(t[i+44>>2]|0,t[i+48>>2]|0)|0;t[Q+16>>2]=t[i+40>>2];D=gu(F,b,a,Q)|0;k=Eu(D)|0;if(!(t[k+32>>2]|0))d=f;else d=$F(P(e<<3,t[k+4>>2]|0)|0)|0;w=fj(F)|0;if(+c[i>>3]==-1.0001234)c[i>>3]=(w|0)==0?-1.0:-1.8;p=i+136|0;E=i+24|0;B=i+16|0;y=i+104|0;C=i+96|0;I=e<<3;Z=i+132|0;G=t[15712]|0;L=i+80|0;while(1){e:do{switch(t[p>>2]|0){case 0:{switch(t[Z>>2]|0){case 0:{ej(e,t[k+8>>2]|0,i,t[k+24>>2]|0,d,o);break e}case 2:{w=k+8|0;g=29;break}case 3:{w=k+8|0;v=t[w>>2]|0;if((t[v>>2]|0)>1e4)if(!0)g=29;else{t[W>>2]=1e4;a3(G,92299,W)|0;g=29}else g=30;break}default:{v=t[k+8>>2]|0;g=30}}if((g|0)==29){OS(e,t[w>>2]|0,i,t[k+24>>2]|0,d,o);break e}else if((g|0)==30){Aj(e,v,i,t[k+24>>2]|0,d,o);break e}break}case 1:{c[C>>3]=1.0;t[y>>2]=1;m=(t[k+28>>2]|0)==0;u=m?.5:.05;t[L>>2]=m?500:100;m=(t[k+32>>2]|0)==0;w=k+8|0;v=k+12|0;g=k+24|0;rj(e,t[w>>2]|0,t[v>>2]|0,i,t[g>>2]|0,d,u,o);if(m){t[B>>2]=0;c[C>>3]=.05;t[y>>2]=0;rj(e,t[w>>2]|0,t[v>>2]|0,i,t[g>>2]|0,d,u*.5,o);rj(e,t[w>>2]|0,t[v>>2]|0,i,t[g>>2]|0,d,u*.125,o);rj(e,t[w>>2]|0,t[v>>2]|0,i,t[g>>2]|0,d,u*.03125,o)}break}default:{}}}while(0);g=t[k+32>>2]|0;if(!g){g=39;break}if(t[o>>2]|0){g=35;break}m=t[k+16>>2]|0;w=t[k+40>>2]|0;if(!(t[g+32>>2]|0))v=f;else v=$F(P(I,t[g+4>>2]|0)|0)|0;bj(e,t[g+8>>2]|0,m,t[g+20>>2]|0,d,v,w,+c[E>>3]*.001);G2(d);t[B>>2]=0;c[E>>3]=+c[E>>3]*.75;t[y>>2]=0;c[C>>3]=((t[(t[g+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;k=g;d=v}if((g|0)==35)G2(d);else if((g|0)==39){ju(e,F,i,a,f,o);if(0){t[Y>>2]=t[i+124>>2];a3(G,92362,Y)|0}if((e|0)==2)lj(V,2,f);u=+c[i+152>>3];if(u!=0.0)hj(V,e,f,u);KO(e,F,f,n,t[i+124>>2]|0,+c[i+144>>3],t[z>>2]|0,l,s)}Q6(i|0,M|0,168)|0;if((F|0)!=(A|0))iK(F);if(!((b|0)==0|(b|0)==(r|0)))iK(b);nu(Q);fu(D)}}while(0);h=N;return}function oj(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=h;h=h+16|0;B=y;m=t[e+20>>2]|0;p=t[e+24>>2]|0;E=$F(t[e>>2]<<2)|0;i=0;while(1){if((i|0)>=(t[e>>2]|0)){i=0;break}t[E+(i<<2)>>2]=1;i=i+1|0}while(1){if((i|0)>=(A|0)){i=0;r=0;break}t[E+(t[r+(i<<2)>>2]<<2)>>2]=-1;i=i+1|0}while(1){o=t[e>>2]|0;if((r|0)>=(o|0)){r=0;A=0;break}A=E+(r<<2)|0;if((t[A>>2]|0)>0){t[A>>2]=i;i=i+1|0}r=r+1|0}e:while(1){while(1){if((A|0)>=(o|0))break e;if((t[E+(A<<2)>>2]|0)>=0)break;A=A+1|0}s=A+1|0;c=t[m+(s<<2)>>2]|0;l=t[m+(A<<2)>>2]|0;while(1){if((l|0)>=(c|0)){A=s;continue e}a=t[p+(l<<2)>>2]|0;A:do{if((t[E+(a<<2)>>2]|0)>-1)r=r+1|0;else{f=t[m+(a+1<<2)>>2]|0;n=t[m+(a<<2)>>2]|0;while(1){if((n|0)>=(f|0))break A;a=t[p+(n<<2)>>2]|0;if((a|0)!=(A|0))r=((t[E+(a<<2)>>2]|0)>>>31^1)+r|0;n=n+1|0}}}while(0);l=l+1|0}}A=r<<2;if((r|0)>0){d=$F(A)|0;v=$F(A)|0;w=v;k=d}else{w=0;k=0;d=0;v=0}g=t[15712]|0;A=0;a=0;e:while(1){r=t[e>>2]|0;while(1){if((A|0)>=(r|0))break e;b=E+(A<<2)|0;if((t[b>>2]|0)>=0)break;A=A+1|0}o=A+1|0;u=m+(o<<2)|0;c=t[m+(A<<2)>>2]|0;r=a;while(1){if((c|0)>=(t[u>>2]|0)){A=o;a=r;continue e}a=p+(c<<2)|0;n=t[a>>2]|0;A:do{if((t[E+(n<<2)>>2]|0)>-1){t[k+(r<<2)>>2]=t[b>>2];t[w+(r<<2)>>2]=t[E+(t[a>>2]<<2)>>2];r=r+1|0}else{s=m+(n+1<<2)|0;l=t[m+(n<<2)>>2]|0;while(1){if((l|0)>=(t[s>>2]|0))break A;a=p+(l<<2)|0;f=t[a>>2]|0;do{if((f|0)!=(A|0)?(t[E+(f<<2)>>2]|0)>-1:0){t[k+(r<<2)>>2]=t[b>>2];f=r+1|0;t[w+(r<<2)>>2]=t[E+(t[a>>2]<<2)>>2];n=t[b>>2]|0;r=t[E+(t[a>>2]<<2)>>2]|0;if((n|0)!=68)if((r|0)==68)r=68;else{r=f;break}t[B>>2]=n;t[B+4>>2]=r;a3(g,92380,B)|0;r=f}}while(0);l=l+1|0}}}while(0);c=c+1|0}}B=kK(a,i,i,k,w,0,8,8)|0;G2(d);G2(v);G2(E);h=y;return B|0}function uj(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0.0,o=0,u=0,b=0,h=0,w=0,k=0;w=$F(t[A>>2]<<2)|0;f=0;while(1){if((f|0)>=(t[A>>2]|0)){f=0;break}t[w+(f<<2)>>2]=1;f=f+1|0}while(1){if((f|0)>=(r|0)){f=0;o=0;break}l=t[i+(f<<2)>>2]|0;if((l|0)>-1?(l|0)<(t[A>>2]|0):0)t[w+(l<<2)>>2]=-1;f=f+1|0}while(1){b=t[A>>2]|0;if((o|0)>=(b|0)){o=0;break}l=w+(o<<2)|0;if((t[l>>2]|0)>-1){t[l>>2]=f;f=f+1|0}o=o+1|0}while(1){if((o|0)>=(b|0))break;f=t[w+(o<<2)>>2]|0;e:do{if((f|0)>-1){u=P(o,e)|0;l=P(f,e)|0;f=0;while(1){if((f|0)>=(e|0))break e;c[a+(f+u<<3)>>3]=+c[n+(l+f<<3)>>3];f=f+1|0}}}while(0);o=o+1|0}h=A+20|0;n=A+24|0;b=0;while(1){if((b|0)>=(r|0))break;A=t[i+(b<<2)>>2]|0;f=t[h>>2]|0;o=t[f+(A+1<<2)>>2]|0;f=t[f+(A<<2)>>2]|0;u=o-f|0;A=P(A,e)|0;l=0;while(1){if((l|0)>=(e|0))break;c[a+(l+A<<3)>>3]=0.0;l=l+1|0}while(1){if((f|0)<(o|0))l=0;else break;while(1){if((l|0)>=(e|0))break;s=+c[a+((P(t[(t[n>>2]|0)+(f<<2)>>2]|0,e)|0)+l<<3)>>3];k=a+(l+A<<3)|0;c[k>>3]=+c[k>>3]+s;l=l+1|0}f=f+1|0}s=1.0/+(u|0);f=0;while(1){if((f|0)>=(e|0))break;k=a+(f+A<<3)|0;c[k>>3]=+c[k>>3]*s;f=f+1|0}b=b+1|0}G2(w);return}function bj(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=+l;var s=0,o=0,u=0,b=0,w=0,k=0.0;b=h;h=h+16|0;u=b;t[u>>2]=n;zo(r,0,a,0,u,0,e);e:do{if((f+-1|0)>>>0<6){nj(e,A,t[u>>2]|0);s=t[i>>2]|0;o=t[i+20>>2]|0;n=t[i+24>>2]|0;A=0;A:while(1){if((A|0)>=(s|0))break e;f=A+1|0;i=o+(f<<2)|0;A=t[o+(A<<2)>>2]|0;r:while(1){A=A+1|0;if((A|0)>=(t[i>>2]|0)){A=f;continue A}a=n+(A<<2)|0;r=0;while(1){if((r|0)>=(e|0))continue r;k=(+Xo()+-.5)*l;w=(t[u>>2]|0)+((P(t[a>>2]|0,e)|0)+r<<3)|0;c[w>>3]=+c[w>>3]+k;r=r+1|0}}}}}while(0);h=b;return}function hj(e,A,r,i){e=e|0;A=A|0;r=r|0;i=+i;var a=0,t=0.0,n=0,f=0,l=0,s=0,o=0,u=0.0,b=0.0;s=h;h=h+16|0;l=s;a=0;while(1){if((a|0)>=(A|0)){n=0;break}c[l+(a<<3)>>3]=0.0;a=a+1|0}while(1){if((n|0)>=(e|0))break;f=P(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;o=l+(a<<3)|0;c[o>>3]=+c[o>>3]+ +c[r+(a+f<<3)>>3];a=a+1|0}n=n+1|0}t=1.0/+(e|0);a=0;while(1){if((a|0)>=(A|0)){n=0;break}o=l+(a<<3)|0;c[o>>3]=+c[o>>3]*t;a=a+1|0}while(1){if((n|0)>=(e|0))break;f=P(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;o=r+(a+f<<3)|0;c[o>>3]=+c[o>>3]-+c[l+(a<<3)>>3];a=a+1|0}n=n+1|0}i=i*-.017453277777777776;t=+W(+i);i=+Y(+i);a=0;while(1){if((a|0)>=(e|0))break;o=P(a,A)|0;l=r+(o<<3)|0;u=+c[l>>3];o=r+(o+1<<3)|0;b=+c[o>>3];c[l>>3]=b*i+u*t;c[o>>3]=b*t-u*i;a=a+1|0}h=s;return}function wj(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;f=f|0;var l=0,s=0,o=0,u=0;u=(sK(A,0)|0)==0;l=(t[A+16>>2]|0)==1;if(u)if(l)l=hK(lK(A,0)|0)|0;else s=5;else if(l)l=A;else s=5;if((s|0)==5)l=Ho(A)|0;u=hK(l)|0;t[f>>2]=0;l=t[u>>2]|0;if(!r){$F(P(e<<3,l)|0)|0;iA()}o=zu(u,e,0.0,t[r>>2]|0,(i|0)==0?0:2,1)|0;if(!o)t[f>>2]=-1;else{c[o+40>>3]=.1;t[o+24>>2]=5;+Yu(o,e,t[r>>2]|0,a,n);s=P(l,e)|0;i=o+32|0;l=0;while(1){if((l|0)>=(s|0))break;f=(t[r>>2]|0)+(l<<3)|0;c[f>>3]=+c[f>>3]/+c[i>>3];l=l+1|0}Wu(o)}if((u|0)!=(A|0))iK(u);return}function kj(e,A,r,i,a,t,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=+n;f=f|0;wj(e,r,i,a,t,n,f);return}function dj(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=n|0;var f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0.0;p=t[A>>2]|0;E=t[A+20>>2]|0;g=t[A+24>>2]|0;m=t[A+28>>2]|0;if(!(sK(A,0)|0))ge(95795,92387,37,92404);e=$F(56)|0;s=e+20|0;t[s>>2]=0;t[e+24>>2]=2;t[e+12>>2]=0;l=$F(16)|0;t[s>>2]=l;c[l>>3]=i;c[l+8>>3]=a;t[e+16>>2]=105;c[e+40>>3]=.01;t[e+48>>2]=~~+D(+ +(t[A>>2]|0));l=A+8|0;s=e+4|0;t[s>>2]=aK(p,p,(t[l>>2]|0)+p|0,1,1)|0;l=aK(p,p,(t[l>>2]|0)+p|0,1,1)|0;t[e+8>>2]=l;s=t[s>>2]|0;o=t[s+28>>2]|0;u=t[l+28>>2]|0;if((l|0)==0|(s|0)==0){Du(e);e=0}else{b=t[s+20>>2]|0;h=t[s+24>>2]|0;w=t[l+20>>2]|0;k=t[l+24>>2]|0;t[w>>2]=0;t[b>>2]=0;A=0;r=0;while(1){if((A|0)>=(p|0))break;d=A+1|0;v=E+(d<<2)|0;i=0.0;a=0.0;f=t[E+(A<<2)>>2]|0;while(1){if((f|0)>=(t[v>>2]|0))break;n=t[g+(f<<2)>>2]|0;if((n|0)!=(A|0)){B=+c[m+(f<<3)>>3];B=B>=0.0?B:-B;B=B>.01?B:.01;t[h+(r<<2)>>2]=n;t[k+(r<<2)>>2]=n;n=o+(r<<3)|0;c[n>>3]=-1.0;c[u+(r<<3)>>3]=-B;i=+c[n>>3]+i;a=a-B;r=r+1|0}f=f+1|0}t[h+(r<<2)>>2]=A;t[k+(r<<2)>>2]=A;c[o+(r<<3)>>3]=-i;c[u+(r<<3)>>3]=-a;r=r+1|0;t[b+(d<<2)>>2]=r;t[w+(d<<2)>>2]=r;A=d}t[s+8>>2]=r;t[l+8>>2]=r}return e|0}function vj(e){e=e|0;Du(e);return}function gj(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return+ +Fu(e,A,r,i,.001)}function mj(e,A){e=e|0;A=+A;var r=0,i=0,a=0,n=0;if((t[e+16>>2]|0)==1)r=lK(e,0)|0;else r=Ho(e)|0;a=t[r+28>>2]|0;e:do{if(A!=1.0){i=t[r+8>>2]|0;e=0;while(1){if((e|0)>=(i|0))break e;n=a+(e<<3)|0;c[n>>3]=+c[n>>3]*A;e=e+1|0}}}while(0);return r|0}function pj(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0.0;l=t[A>>2]|0;t[i>>2]=0;s=P(l,e)|0;i=0;while(1){if((i|0)>=(s|0)){i=1;a=1;break}c[r+(i<<3)>>3]=+Xo()*100.0;i=i+1|0}while(1){if((a|0)>=(l|0))break;f=P(a,e)|0;n=0;while(1){if((n|0)>=(e|0))break;o=+c[r+(n<<3)>>3]-+c[r+(n+f<<3)>>3];if((o>=0.0?o:-o)>1.0e-16){i=0;a=l;break}else n=n+1|0}a=a+1|0}e:do{if(i|0){a8(1);i=0;while(1){if((i|0)>=(s|0))break e;c[r+(i<<3)>>3]=+Xo()*100.0;i=i+1|0}}}while(0);i=mj(A,1.0)|0;if(!(sK(i,0)|0))ge(92430,92387,164,92466);else{s=dj(0,i,0,101.0e5,100.0,0)|0;+gj(s,e,r,300);vj(s);s=dj(0,i,0,101.0e3,100.0,0)|0;+gj(s,e,r,300);vj(s);s=dj(0,i,0,1010.0,100.0,0)|0;+gj(s,e,r,300);vj(s);s=dj(0,i,0,10.1,100.0,0)|0;+gj(s,e,r,300);vj(s);eu(0.0,0.0,490.0,700.0,t[A>>2]|0,e,r);iK(i);return}}function Ej(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0;s=$F((gk(e)|0)<<4)|0;f=(i|0)!=0;l=A+8|0;n=sd(e)|0;a=0;while(1){if(!n)break;if(f)a=a+((y1(Mk(n)|0,92481,11)|0)==0&1)|0;u=t[n+16>>2]|0;o=t[u+120>>2]<<1;c[s+(o<<3)>>3]=+c[u+32>>3]*.5+ +c[A>>3];c[s+((o|1)<<3)>>3]=+c[u+40>>3]*.5+ +c[l>>3];n=cd(e,n)|0}if(f&(a|0)!=0){A=$F(a<<2)|0;n=sd(e)|0;a=0;while(1){if(!n)break;if(!(y1(Mk(n)|0,92481,11)|0)){t[A+(a<<2)>>2]=t[(t[n+16>>2]|0)+120>>2];a=a+1|0}n=cd(e,n)|0}t[i>>2]=A;t[r>>2]=a}return s|0}function Bj(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;C=h;h=h+32|0;E=C+16|0;p=C+8|0;m=C;if(e){B=gk(e)|0;y=mk(e)|0;A=sd(e)|0;i=0;while(1){if(!A)break;t[(t[A+16>>2]|0)+120>>2]=i;A=cd(e,A)|0;i=i+1|0}d=y<<2;k=$F(d)|0;d=$F(d)|0;A=y<<3;v=$F(A)|0;b=zw(e,2,101541,0)|0;g=(r|0)!=0;if(g){i=zw(e,2,92493,0)|0;w=KF(A)|0;u=w}else{u=0;i=0;w=0}l=(b|0)==0;s=(i|0)==0;f=sd(e)|0;A=0;while(1){if(!f)break;o=t[(t[f+16>>2]|0)+120>>2]|0;n=Ow(e,f)|0;while(1){if(!n)break;t[k+(A<<2)>>2]=o;t[d+(A<<2)>>2]=t[(t[(t[((t[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!l?(I=Pw(n,b)|0,t[p>>2]=m,(V3(I,101209,p)|0)==1):0)a=+c[m>>3];else{c[m>>3]=1.0;a=1.0}c[v+(A<<3)>>3]=a;if(!s){I=Pw(n,i)|0;t[E>>2]=m;if((V3(I,101209,E)|0)==1)a=+c[m>>3];else{c[m>>3]=1.0;a=1.0}c[u+(A<<3)>>3]=a}n=qw(e,n)|0;A=A+1|0}f=cd(e,f)|0}A=kK(y,B,B,k,d,v,1,8)|0;if(g)t[r>>2]=kK(y,B,B,k,d,w,1,8)|0;G2(k);G2(d);G2(v);if(u)G2(w)}else A=0;h=C;return A|0}function yj(e){e=e|0;var A=0,r=0,i=0.0,a=0,n=0.0,f=0.0,l=0.0,s=0,o=0,u=0,b=0.0,w=0.0;o=h;h=h+16|0;s=o;e:do{if(Cj(e,s)|0){A=t[(t[(sd(e)|0)+16>>2]|0)+132>>2]|0;n=+c[A>>3];i=+c[A+8>>3];A=sd(e)|0;while(1){if(!A)break;a=t[(t[A+16>>2]|0)+132>>2]|0;c[a>>3]=+c[a>>3]-n;a=a+8|0;c[a>>3]=+c[a>>3]-i;A=cd(e,A)|0}A=(n!=0.0|i!=0.0)&1;r=sd(e)|0;while(1){if(!r)break e;a=Ow(e,r)|0;if(a|0)break;r=cd(e,r)|0}u=t[a>>2]&3;r=t[(t[(t[((u|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;a=t[(t[(t[((u|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=+c[a+8>>3];l=+c[a>>3];i=+R(+(+c[r+8>>3]-f),+(+c[r>>3]-l));i=+c[s>>3]-i;c[s>>3]=i;if(i!=0.0){n=+W(+i);i=+Y(+i);A=sd(e)|0;while(1){if(!A){A=1;break e}s=t[(t[A+16>>2]|0)+132>>2]|0;w=+c[s>>3]-l;u=s+8|0;b=+c[u>>3]-f;c[s>>3]=w*n+l-b*i;c[u>>3]=w*i+f+b*n;A=cd(e,A)|0}}}else A=0}while(0);h=o;return A|0}function Cj(e,A){e=e|0;A=A|0;var r=0.0,a=0,n=0;n=h;h=h+16|0;a=n;e=Hw(e,92497)|0;do{if((e|0)!=0?(i[e>>0]|0)!=0:0){r=+e8(e,a);if((t[a>>2]|0)==(e|0))if(!((mx(e)|0)<<24>>24)){e=0;break}else r=0.0;while(1){if(!(r>180.0))break;r=r+-360.0}while(1){if(!(r<=-180.0))break;r=r+360.0}c[A>>3]=r*.017453292519943295;e=1}else e=0}while(0);h=n;return e|0}function Ij(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=Hw(e,92507)|0;return Zj(e,(i|0)==0?r|0?r:195059:i,A)|0}function Zj(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0.0;u=h;h=h+32|0;o=u+16|0;l=u+8|0;f=u;if((A|0)!=0?(i[A>>0]|0)!=0:0){a=17896;while(1){n=t[a+4>>2]|0;if(!n)break;if(!(S1(A,n,t[a+8>>2]|0)|0)){s=6;break}a=a+16|0}if((s|0)==6){if(!(t[a+12>>2]|0)){t[f>>2]=n;nw(0,92515,f)|0;a=17896}f=t[a>>2]|0;t[r>>2]=f;t[r+4>>2]=t[a+12>>2];if((f|0)==18)Gj(e,A+(t[a+8>>2]|0)|0,r)}if(!(t[a+4>>2]|0)){a=px(A,63)|0;if(a<<24>>24==63){t[l>>2]=A;nw(0,92557,l)|0;a=0}else a=a&255;a=(a|0)==0;t[r>>2]=a&1;a=a?92604:135709;s=15}}else{t[r>>2]=0;a=135709;s=15}if((s|0)==15)t[r+4>>2]=a;if(0){s=t[15712]|0;l=t[r+8>>2]|0;b=+c[r+16>>3];t[o>>2]=t[r+4>>2];t[o+4>>2]=l;c[o+8>>3]=b;a3(s,92612,o)|0}h=u;return r|0}function Gj(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;i=h;h=h+16|0;a=i;n=i+4|0;t[a>>2]=n;a=(V3(A,137395,a)|0)>0;A=t[n>>2]|0;t[r+8>>2]=a&(A|0)>-1?A:1e3;c[r+16>>3]=+wx(e,zw(e,0,92648,0)|0,-4.0,-1.0e10);h=i;return}function Lj(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0;f=h;h=h+16|0;n=f+8|0;a=f;do{if((gk(e)|0)>=2){r=yj(e)|0;r=(Qj(e)|0)+r|0;i=t[A>>2]|0;if(i){if(0){i=t[15712]|0;s=Mk(e)|0;l=t[A+4>>2]|0;t[a>>2]=s;t[a+4>>2]=l;a3(i,92977,a)|0;i=t[A>>2]|0}if(i>>>0>2){switch(i|0){case 3:{i=DU(e,1)|0;break}case 4:{i=DU(e,0)|0;break}case 6:case 5:{i=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{wU(e,i)|0;i=0;break}case 15:{i=DU(e,-1)|0;break}default:{t[n>>2]=t[A+4>>2];nw(0,93e3,n)|0;i=0}}r=i+r|0;break}if(Dj(e)|0){zj();G2(t[46845]|0);t[46845]=0;break}Wj(e);if((t[A>>2]|0)==2)i=Yj()|0;else i=Fj()|0;if(i|0)Mj();zj();G2(t[46845]|0);t[46845]=0;r=i+r|0}}else r=0}while(0);h=f;return r|0}function Qj(e){e=e|0;var A=0,r=0.0,i=0,a=0,n=0.0,f=0,l=0,s=0,o=0;o=h;h=h+48|0;f=o+24|0;a=o+16|0;l=o;A=Hw(e,140742)|0;e:do{if(((A|0)!=0?(s=l+8|0,t[a>>2]=l,t[a+4>>2]=s,i=V3(A,105503,a)|0,(i|0)!=0):0)?(n=+c[l>>3],!(+Q(+n)<1.0e-09)):0){if((i|0)!=1){r=+c[s>>3];if(+Q(+r)<1.0e-09){A=0;break}}else{c[s>>3]=n;r=n}if(!(r==1.0&n==1.0)){if(0){a=t[15712]|0;c[f>>3]=n;c[f+8>>3]=r;a3(a,93160,f)|0}A=sd(e)|0;while(1){if(!A){A=1;break e}f=t[(t[A+16>>2]|0)+132>>2]|0;c[f>>3]=+c[f>>3]*+c[l>>3];f=f+8|0;c[f>>3]=+c[f>>3]*+c[s>>3];A=cd(e,A)|0}}else A=0}else A=0}while(0);h=o;return A|0}function Dj(e){e=e|0;var A=0,r=0,a=0,n=0.0,f=0.0,l=0,o=0,u=0,b=0;u=h;h=h+16|0;l=u;t[46854]=gk(e)|0;nT();t[46869]=$F((t[46854]|0)*96|0)|0;a=sd(e)|0;A=t[46869]|0;Kj(l,e);n=+s[l>>2];f=+s[l+4>>2];l=(i[l+8>>0]|0)==0;f=l?f:f*.013888888888888888;n=l?n:n*.013888888888888888;l=l?2:1;r=0;while(1){if((r|0)>=(t[46854]|0)){A=0;break}b=t[(t[a+16>>2]|0)+132>>2]|0;c[A+8>>3]=+c[b>>3];c[A+16>>3]=+c[b+8>>3];if(G5[l&3](A+40|0,a,n,f)|0){o=4;break}t[A+24>>2]=r;t[A+28>>2]=1;t[A>>2]=a;t[A+88>>2]=0;A=A+96|0;r=r+1|0;a=cd(e,a)|0}if((o|0)==4){G2(t[46869]|0);t[46869]=0;A=1}h=u;return A|0}function zj(){var e=0,A=0;e=t[46869]|0;A=0;while(1){if((A|0)>=(t[46854]|0))break;r_(e+40|0);e=e+96|0;A=A+1|0}A_();YT();G2(t[46869]|0);return}function Wj(e){e=e|0;var A=0,r=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0.0,g=0.0;b=h;h=h+32|0;o=b+16|0;u=b;w=t[46869]|0;f=+c[w+8>>3];s=+c[w+16>>3];a=t[46854]|0;A=w;r=1;n=+c[w+40>>3]+f;f=+c[w+56>>3]+f;l=+c[w+48>>3]+s;s=+c[w+64>>3]+s;while(1){if((r|0)>=(a|0))break;v=+c[A+104>>3];k=+c[A+112>>3];g=+c[A+136>>3]+v;d=+c[A+144>>3]+k;v=+c[A+152>>3]+v;k=+c[A+160>>3]+k;A=A+96|0;r=r+1|0;n=gf?v:f;l=ds?k:s}A=Hw(e,93100)|0;if(A|0?i[A>>0]|0:0)c[173]=+$3(A);v=+c[173];g=v*(s-l);v=v*(f-n);c[o>>3]=n-v;c[o+8>>3]=l-g;c[u>>3]=v+f;c[u+8>>3]=g+s;Xj(o,u);h=b;return}function Yj(){var e=0,A=0,r=0,i=0;r=h;h=h+16|0;A=r;if(Vj(0)|0){Nj();e=0;do{qj();e=e+1|0}while((Vj(e)|0)!=0);if(!0)e=1;else{i=t[15712]|0;t[A>>2]=e;a3(i,93028,A)|0;e=1}}else e=0;h=r;return e|0}function Fj(){var e=0,A=0,r=0,i=0,a=0,n=0,f=0,l=0;l=h;h=h+16|0;f=l+8|0;n=l;A=Vj(0)|0;if(!A)e=0;else{Nj();Rj(0);V_(0,1);e=0;i=0;r=0;while(1){Jj();r=r+1|0;a=Vj(r)|0;if(!a)break;A=(a|0)<(A|0)?0:i+1|0;t[46846]=1;if(A){Hj();e=e+1|0}Rj(1);V_(0,1);i=A;A=a}if(0){a=t[15712]|0;t[n>>2]=r;a3(a,93028,n)|0;t[f>>2]=e;a3(a,93055,f)|0}Pj();e=1}h=l;return e|0}function Mj(){var e=0,A=0,r=0,i=0;r=t[46854]|0;e=t[46869]|0;A=0;while(1){if((A|0)>=(r|0))break;i=t[(t[(t[e>>2]|0)+16>>2]|0)+132>>2]|0;c[i>>3]=+c[e+8>>3];c[i+8>>3]=+c[e+16>>3];e=e+96|0;A=A+1|0}return}function Vj(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+48|0;b=k+24|0;u=k+8|0;w=k;r=t[46869]|0;i=t[46854]|0;A=0;while(1){if((A|0)>=(i|0)){a=0;A=0;break}t[r+(A*96|0)+32>>2]=0;A=A+1|0}e:while(1){if((A|0)>=(i+-1|0))break;o=r+96|0;A=A+1|0;s=r+8|0;c=r+40|0;l=r+32|0;n=o;f=A;while(1){if((f|0)>=(i|0)){r=o;continue e}i=n+8|0;t[u>>2]=t[s>>2];t[u+4>>2]=t[s+4>>2];t[u+8>>2]=t[s+8>>2];t[u+12>>2]=t[s+12>>2];t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];t[b+12>>2]=t[i+12>>2];if(!(o_(u,c,b,n+40|0)|0))r=a;else{t[l>>2]=1;t[n+32>>2]=1;r=a+1|0}n=n+96|0;f=f+1|0;a=r;i=t[46854]|0}}if(0>1){b=t[15712]|0;t[w>>2]=e;t[w+4>>2]=a;a3(b,93081,w)|0}h=k;return a|0}function Nj(){var e=0,A=0,r=0,i=0.0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0;Oj();s=t[46848]|0;o=t[46869]|0;e=t[46845]|0;e:while(1){f=e;if(e>>>0>=s>>>0)break;A=e+4|0;if(A>>>0>=s>>>0){e=A;continue}a=t[A>>2]|0;r=t[e>>2]|0;n=+c[r>>3];if(+c[a>>3]!=n){e=A;continue}i=+c[r+8>>3];if(+c[a+8>>3]!=i){e=A;continue}l=e+8|0;a=2;while(1){if(l>>>0>=s>>>0)break;r=t[l>>2]|0;if(!(+c[r>>3]==n)){u=11;break}if(!(+c[r+8>>3]==i)){u=11;break}l=l+4|0;a=a+1|0}if((u|0)==11){u=0;r=t[l>>2]|0;if(+c[r+8>>3]==i){i=(+c[r>>3]-n)/+(a|0);r=(((l>>>0>A>>>0?l:A)+-1+(0-f)|0)>>>2)+1|0;e=1;while(1){if((e|0)==(r|0)){e=l;continue e}f=t[A>>2]|0;c[f>>3]=+c[f>>3]+i*+(e|0);e=e+1|0;A=A+4|0}}}while(1){if(A>>>0>=l>>>0){e=l;continue e}a=t[e>>2]|0;b=t[a+16>>2]|0;f=t[A>>2]|0;r=t[f+16>>2]|0;c[f>>3]=(+c[o+(b*96|0)+56>>3]-+c[o+(b*96|0)+40>>3]+ +c[o+(r*96|0)+56>>3]-+c[o+(r*96|0)+40>>3])*.5+ +c[a>>3];A=A+4|0;e=e+4|0}}return}function Rj(e){e=e|0;var A=0.0,r=0.0,i=0.0,a=0,n=0.0,f=0,l=0,s=0;if(e|0)Oj();f=t[46845]|0;l=t[f>>2]|0;r=+c[l>>3];c[23272]=r;s=t[46854]|0;a=1;n=+c[l>>3];while(1){if((a|0)>=(s|0))break;e=t[f+(a<<2)>>2]|0;A=+c[e>>3];if(A>3]}else{i=A;A=r}a=a+1|0;r=A;n=i>n?i:n}i=+c[l+8>>3];c[23273]=i;c[23275]=+c[(t[f+(s+-1<<2)>>2]|0)+8>>3]-i;c[23274]=n-r;return}function xj(){var e=0;e=t[46847]|0;if(e>>>0<(t[46848]|0)>>>0){t[46847]=e+4;e=t[e>>2]|0}else e=0;return e|0}function Jj(){var e=0,A=0,r=0;e=t[46869]|0;Sj();r=(t[46846]|0)==0;A=0;while(1){if((A|0)>=(t[46854]|0))break;if(!(r?!(t[e+32>>2]|0):0))jj(e);e=e+96|0;A=A+1|0}return}function Hj(){var e=0,A=0,r=0,i=0.0,a=0.0,t=0.0,n=0.0,f=0.0,l=0.0;e=h;h=h+32|0;r=e+16|0;A=e;l=+c[23268];f=+c[23266];n=+c[23269];a=+c[23267];i=(f-a)*.05;t=(l-n)*.05;c[A>>3]=t+l;c[A+8>>3]=f+i;c[r>>3]=n-t;c[r+8>>3]=a-i;Xj(r,A);h=e;return}function Pj(){gT();pT();B_();$U();return}function Xj(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,t=0.0;t=+c[e>>3];c[23269]=t;a=+c[A>>3];c[23268]=a;r=+c[e+8>>3];c[23267]=r;i=+c[A+8>>3];c[23266]=i;c[23258]=t;c[23260]=t;c[23262]=a;c[23264]=a;c[23265]=i;c[23261]=i;c[23263]=r;c[23259]=r;return}function Sj(){var e=0,A=0.0,r=0.0,i=0.0,a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0.0,v=0.0,g=0.0,m=0.0;u=t[46869]|0;n=u+8|0;a=+fT(n,186064);i=+fT(n,186080);r=+fT(n,186096);e=1;A=+fT(n,186112);n=u;f=u;l=u;s=u;while(1){o=u+96|0;if((e|0)>=(t[46854]|0))break;k=u+104|0;d=+fT(k,186064);b=d>2]|0;b=s+8|0;A=0.0;r=0.0;i=0.0;s=t[s>>2]|0;while(1){a=t[s>>2]|0;if(!a)break;v=s+8|0;d=a+8|0;t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[f>>2]=t[v>>2];t[f+4>>2]=t[v+4>>2];t[f+8>>2]=t[v+8>>2];t[f+12>>2]=t[v+12>>2];t[l>>2]=t[d>>2];t[l+4>>2]=t[d+4>>2];t[l+8>>2]=t[d+8>>2];t[l+12>>2]=t[d+12>>2];k=+Uj(n,f,l);t[n>>2]=t[b>>2];t[n+4>>2]=t[b+4>>2];t[n+8>>2]=t[b+8>>2];t[n+12>>2]=t[b+12>>2];t[f>>2]=t[v>>2];t[f+4>>2]=t[v+4>>2];t[f+8>>2]=t[v+8>>2];t[f+12>>2]=t[v+12>>2];t[l>>2]=t[d>>2];t[l+4>>2]=t[d+4>>2];t[l+8>>2]=t[d+8>>2];t[l+12>>2]=t[d+12>>2];Tj(n,f,l,o,u);A=+c[u>>3]*k+A;r=+c[o>>3]*k+r;i=k+i;s=a}c[e+8>>3]=r/i;c[e+16>>3]=A/i;h=w;return}function Uj(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0;i=+c[A+8>>3];t=+c[r+8>>3];a=+c[e+8>>3];return+(+Q(+((t-a)*+c[A>>3]+(i-t)*+c[e>>3]+ +c[r>>3]*(a-i)))*.5)}function Tj(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;c[i>>3]=(+c[A>>3]+ +c[e>>3]+ +c[r>>3])*.3333333333333333;c[a>>3]=(+c[A+8>>3]+ +c[e+8>>3]+ +c[r+8>>3])*.3333333333333333;return}function Oj(){var e=0,A=0,r=0,i=0;e=t[46845]|0;if(!e){e=$F(t[46854]<<2)|0;t[46845]=e;t[46848]=e+(t[46854]<<2)}r=t[46869]|0;YT();i=t[46854]|0;A=0;while(1){if((A|0)>=(i|0))break;t[e>>2]=r+8;t[r+88>>2]=0;t[r+28>>2]=1;r=r+96|0;e=e+4|0;A=A+1|0}_4(t[46845]|0,i,4,69);t[46847]=t[46845];return}function _j(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;e=t[e>>2]|0;A=t[A>>2]|0;r=+c[e+8>>3];i=+c[A+8>>3];if(!(ri)){i=+c[e>>3];r=+c[A>>3];if(ir&1}else e=1;else e=-1;return e|0}function qj(){var e=0,A=0,r=0,i=0;r=t[46854]|0;e=0;A=t[46869]|0;while(1){if((e|0)>=(r|0))break;i=A+8|0;c[i>>3]=+c[i>>3]*1.05;i=A+16|0;c[i>>3]=+c[i>>3]*1.05;e=e+1|0;A=A+96|0}return}function Kj(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,o=0,u=0.0,b=0.0;o=h;h=h+48|0;l=o;f=o+24|0;r=Hw(A,93112)|0;if(!((r|0)!=0?($j(r,f,1.0,0.0)|0)!=0:0))a=3;do{if((a|0)==3){A=Hw(A,93116)|0;if(A|0?$j(A,f,.800000011920929,4.0)|0:0)break;s[f+4>>2]=4.0;s[f>>2]=4.0;i[f+8>>0]=1}}while(0);if(0){a=t[15712]|0;b=+s[f>>2];u=+s[f+4>>2];t[l>>2]=n[f+8>>0];c[l+8>>3]=b;c[l+16>>3]=u;a3(a,93121,l)|0}t[e>>2]=t[f>>2];t[e+4>>2]=t[f+4>>2];t[e+8>>2]=t[f+8>>2];h=o;return}function $j(e,A,r,a){e=e|0;A=A|0;r=+r;a=+a;var n=0,f=0,l=0,c=0,o=0,u=0,b=0,w=0,k=0.0;b=h;h=h+16|0;o=b;l=b+12|0;c=b+8|0;while(1){n=i[e>>0]|0;f=e+1|0;if(!(I1(n<<24>>24)|0))break;else e=f}w=n<<24>>24==43;n=A+8|0;i[n>>0]=w&1;t[o>>2]=l;t[o+4>>2]=c;switch(V3(w?f:e,93154,o)|0){case 0:{e=0;break}case 1:{t[c>>2]=t[l>>2];u=5;break}default:u=5}if((u|0)==5){do{if(i[n>>0]|0){if(r>1.0){k=+s[l>>2]/r;s[A>>2]=k>a?a:k;r=+s[c>>2]/r;r=r>a?a:r;break}if(r<1.0){k=+s[l>>2]/r;s[A>>2]=k>2]/r;r=r>2]=t[l>>2];r=+s[c>>2];break}}else{s[A>>2]=+s[l>>2]/r+1.0;r=+s[c>>2]/r+1.0}}while(0);s[A+4>>2]=r;e=1}h=b;return e|0}function eU(e,A){e=e|0;A=A|0;var r=0,i=0;i=h;h=h+32|0;r=i;if((gk(e)|0)<2)e=0;else{Zj(e,A,r)|0;e=Lj(e,r)|0}h=i;return e|0}function AU(e){e=e|0;return eU(e,Hw(e,92507)|0)|0}function rU(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,o=0,u=0.0,b=0.0;o=h;h=h+48|0;l=o;f=o+24|0;r=Hw(A,93116)|0;if(!((r|0)!=0?($j(r,f,1.0,0.0)|0)!=0:0))a=3;do{if((a|0)==3){A=Hw(A,93112)|0;if(A|0?$j(A,f,1.25,3.200000047683716)|0:0)break;s[f+4>>2]=3.200000047683716;s[f>>2]=3.200000047683716;i[f+8>>0]=1}}while(0);if(0){a=t[15712]|0;b=+s[f>>2];u=+s[f+4>>2];t[l>>2]=n[f+8>>0];c[l+8>>3]=b;c[l+16>>3]=u;a3(a,93183,l)|0}t[e>>2]=t[f>>2];t[e+4>>2]=t[f+4>>2];t[e+8>>2]=t[f+8>>2];h=o;return}function iU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;b=w;n=0;while(1){if((n|0)>=(r|0))break;t[i+(n<<2)>>2]=-1;n=n+1|0}t[i+(e<<2)>>2]=0;aU(a,e);e:do{if(!(t[A+8>>2]|0)){n=2147483647;A:while(1){if(!((tU(a,b)|0)<<24>>24))break e;l=t[b>>2]|0;n=t[i+(l<<2)>>2]|0;f=A+(l*20|0)|0;l=A+(l*20|0)+4|0;c=n+1|0;e=1;while(1){if((e|0)>=(t[f>>2]|0))continue A;o=t[(t[l>>2]|0)+(e<<2)>>2]|0;u=i+(o<<2)|0;if((t[u>>2]|0)<0){t[u>>2]=c;nU(a,o)|0}e=e+1|0}}}else{n=2147483647;A:while(1){if(!((tU(a,b)|0)<<24>>24))break e;c=t[b>>2]|0;n=t[i+(c<<2)>>2]|0;f=A+(c*20|0)|0;l=A+(c*20|0)+4|0;c=A+(c*20|0)+8|0;e=1;while(1){if((e|0)>=(t[f>>2]|0))continue A;o=t[(t[l>>2]|0)+(e<<2)>>2]|0;u=i+(o<<2)|0;if((t[u>>2]|0)<0){t[u>>2]=n+~~+s[(t[c>>2]|0)+(e<<2)>>2];nU(a,o)|0}e=e+1|0}}}}while(0);e=n+10|0;n=0;while(1){if((n|0)>=(r|0))break;f=i+(n<<2)|0;if((t[f>>2]|0)<0)t[f>>2]=e;n=n+1|0}h=w;return}function aU(e,A){e=e|0;A=A|0;t[t[e>>2]>>2]=A;t[e+12>>2]=0;t[e+8>>2]=1;return}function tU(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+12|0;i=t[r>>2]|0;if((i|0)<(t[e+8>>2]|0)){e=t[e>>2]|0;t[r>>2]=i+1;t[A>>2]=t[e+(i<<2)>>2];e=1}else e=0;return e|0}function nU(e,A){e=e|0;A=A|0;var r=0,i=0;r=e+8|0;i=t[r>>2]|0;if((i|0)<(t[e+4>>2]|0)){e=t[e>>2]|0;t[r>>2]=i+1;t[e+(i<<2)>>2]=A;e=1}else e=0;return e|0}function fU(e,A){e=e|0;A=A|0;t[e>>2]=$F(A<<2)|0;t[e+4>>2]=A;t[e+8>>2]=0;t[e+12>>2]=0;return}function lU(e){e=e|0;G2(t[e>>2]|0);return}function sU(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0;if(!0)n=0;else{G3(93216,25,1,t[15712]|0)|0;n=0}while(1){if((n|0)>=(e|0))break;f=A+(n<<2)|0;a=0;i=0.0;while(1){if((a|0)==(e|0))break;if((n|0)!=(a|0))i=+c[(t[f>>2]|0)+(a<<3)>>3]+i;a=a+1|0}c[(t[f>>2]|0)+(n<<3)>>3]=-i;n=n+1|0}return sO(A,r,e+-1|0)|0}function cU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0.0;l=lP(A,A,0.0)|0;s=lP(A,A,0.0)|0;i=sd(e)|0;while(1){if(!i)break;r=ek(e,i)|0;while(1){if(!r)break;n=t[r>>2]&3;a=(t[t[((n|0)==3?r:r+48|0)+40>>2]>>2]|0)>>>4;n=(t[t[((n|0)==2?r:r+-48|0)+40>>2]>>2]|0)>>>4;if((a|0)!=(n|0)){o=-1.0/+c[(t[r+16>>2]|0)+136>>3];c[(t[l+(n<<2)>>2]|0)+(a<<3)>>3]=o;c[(t[l+(a<<2)>>2]|0)+(n<<3)>>3]=o}r=Ak(e,r,i)|0}i=cd(e,i)|0}f=sU(A,l,s)|0;e:do{if(f|0){a=e+16|0;i=0;while(1){if((i|0)>=(A|0))break e;n=s+(i<<2)|0;r=0;while(1){if((r|0)==(A|0))break;e=t[n>>2]|0;c[(t[(t[(t[a>>2]|0)+160>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=+c[(t[s+(r<<2)>>2]|0)+(r<<3)>>3]+ +c[e+(i<<3)>>3]+ +c[e+(r<<3)>>3]*-2.0;r=r+1|0}i=i+1|0}}}while(0);sP(l);sP(s);return f|0}function oU(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;t=t|0;var n=0.0,f=0.0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+16|0;s=v;u=i<<3;b=$F(u)|0;w=$F(u)|0;k=$F(u)|0;c=$F(u)|0;o=$F(u)|0;u=$F(u)|0;ZO(i,r,u);mO(i,u);mO(i,A);EO(e,i,A,c);yO(i,u,c,b);ZO(i,b,w);l=t+-1|0;r=0;n=+GO(i,b,b);while(1){if((r|0)>=(t|0)){r=0;break}if(!(+LO(i,b)>a)){r=0;break}EO(e,i,w,k);f=+GO(i,w,k);if(f==0.0){r=0;break}f=n/f;IO(i,w,f,o);CO(i,A,o,A);if((r|0)<(l|0)){IO(i,k,f,k);yO(i,b,k,b);f=+GO(i,b,b);if(n==0.0){d=7;break}IO(i,w,f/n,w);CO(i,b,w,w);n=f}r=r+1|0}if((d|0)==7){nw(1,93242,s)|0;r=1}G2(b);G2(w);G2(k);G2(c);G2(o);G2(u);h=v;return r|0}function uU(e,A,r,i,a,t,n){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;t=t|0;n=n|0;var f=0.0,l=0.0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+16|0;s=v;b=i<<3;w=$F(b)|0;k=$F(b)|0;c=$F(b)|0;o=$F(b)|0;u=$F(b)|0;b=$F(b)|0;ZO(i,r,b);if(n<<24>>24){mO(i,b);mO(i,A)}BO(e,i,A,o);yO(i,b,o,w);ZO(i,w,k);n=t+-1|0;r=0;f=+GO(i,w,w);while(1){if((r|0)>=(t|0)){r=0;break}if(!(+LO(i,w)>a)){r=0;break}BO(e,i,k,c);l=+GO(i,k,c);if(l==0.0){r=0;break}l=f/l;IO(i,k,l,u);CO(i,A,u,A);if((r|0)<(n|0)){IO(i,c,l,c);yO(i,w,c,w);l=+GO(i,w,w);if(f==0.0){d=9;break}IO(i,k,l/f,k);CO(i,w,k,k);f=l}r=r+1|0}if((d|0)==9){nw(1,93242,s)|0;r=1}G2(w);G2(k);G2(c);G2(o);G2(u);G2(b);h=v;return r|0}function bU(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;t=t|0;var n=0.0,f=0.0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;s=k;c=i<<2;o=KF(c)|0;u=KF(c)|0;b=KF(c)|0;c=KF(c)|0;DO(i,A);DO(i,r);zO(e,i,A,c);DO(i,c);WO(i,r,c,o);VO(i,o,u);l=t+-1|0;r=0;n=+NO(i,o,o);while(1){if((r|0)>=(t|0)){r=0;break}if(!(+JO(i,o)>a)){r=0;break}DO(i,u);DO(i,A);DO(i,o);zO(e,i,u,b);DO(i,b);f=+NO(i,u,b);if(f==0.0){r=0;break}f=n/f;FO(i,A,f,u);if((r|0)<(l|0)){FO(i,o,-f,b);f=+NO(i,o,o);if(n==0.0){w=7;break}MO(i,u,f/n,u);YO(i,o,u,u);n=f}r=r+1|0}if((w|0)==7){nw(1,93242,s)|0;r=1}G2(o);G2(u);G2(b);G2(c);h=k;return r|0}function hU(e,A,r,i,a,n,f,l,o,u){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;o=o|0;u=+u;var b=0,w=0,k=0.0,d=0,v=0,g=0,m=0,p=0.0,E=0,B=0,y=0,C=0,I=0.0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0.0;N=h;h=h+48|0;D=N+24|0;L=N+16|0;G=N+8|0;Z=N;F=N+40|0;M=N+36|0;W=N+32|0;v=f&4;t[F>>2]=0;t[M>>2]=0;e:do{if(t[e+16>>2]|0){w=0;b=0;while(1){if((w|0)>=(A|0))break;g=t[e+(w*20|0)>>2]|0;m=e+(w*20|0)+16|0;d=1;while(1){if((d|0)>=(g|0))break;if(!(b<<24>>24))b=+s[(t[m>>2]|0)+(d<<2)>>2]!=0.0;else b=1;d=d+1|0;b=b&1}w=w+1|0}if(b<<24>>24){C=(v|0)!=0;if(C){d=i+4|0;A:do{if((n|0)>2){b=n+-1|0;if((rP(e,A,r,d,a,b,f,l,15)|0)<0){b=-1;break e}w=i+(b<<2)|0;b=0;while(1){if((b|0)>=(A|0))break A;c[(t[w>>2]|0)+(b<<3)>>3]=+c[(t[d>>2]|0)+(b<<3)>>3];b=b+1|0}}}while(0);y=t[i>>2]|0;E=t[d>>2]|0;if((_O(e,A,E,A)|0)==0?(gb(e,A,.01,.1,E,F,M,W)|0)==0:0){B=t[W>>2]|0;if((B|0)<1){b=rP(e,A,r,i,a,n,f,l,o)|0;break}A:do{if(u>0.0){v=t[F>>2]|0;g=t[M>>2]|0;m=B+-1|0;k=0.0;d=0;while(1){if((d|0)>=(B|0))break A;b=t[g+(d<<2)>>2]|0;I=u-k-+c[E+(t[v+(b<<2)>>2]<<3)>>3]+ +c[E+(t[v+(b+-1<<2)>>2]<<3)>>3];k=(I<0.0?0.0:I)+k;if((d|0)<(m|0))w=t[g+(d+1<<2)>>2]|0;else w=A;while(1){if((b|0)>=(w|0))break;Y=E+(t[v+(b<<2)>>2]<<3)|0;c[Y>>3]=+c[Y>>3]+k;b=b+1|0}d=d+1|0}}}while(0);if((n|0)==2?(L_(e,A,E,y,+c[23294])|0)!=0:0){w=0;b=-1}else V=33}else{w=0;b=-1}}else{_H(e,A,n,i,a)|0;if(!(gb(e,A,.01,.1,0,F,M,W)|0))V=33;else{w=0;b=-1}}A:do{if((V|0)==33){if((A|0)==1){b=0;break e}Y=$F(t[W>>2]<<2)|0;if(!o){b=0;break e}if(0)lx();switch(l|0){case 2:{if(0)G3(93290,24,1,t[15712]|0)|0;b=AP(e,A)|0;V=46;break}case 1:{b=qH(e,A)|0;if(!b){nw(0,93315,Z)|0;nw(3,93364,G)|0;V=47}else z=b;break}case 3:{if(0)G3(93417,21,1,t[15712]|0)|0;b=KH(e,A)|0;V=46;break}default:V=47}if((V|0)==46)if(!b)V=47;else z=b;if((V|0)==47){if(0)G3(93439,26,1,t[15712]|0)|0;z=eP(e,A)|0}if(0){e=t[15712]|0;c[L>>3]=+sx();a3(e,93466,L)|0;G3(93478,25,1,e)|0;lx()}e=A+-1|0;y=(P(e,A)|0)/2|0;L=y+A|0;r:do{if(!C){k=1.0;w=0;while(1){if((w|0)>=(n|0))break;d=i+(w<<2)|0;b=0;while(1){if((b|0)>=(A|0))break;I=+Q(+ +c[(t[d>>2]|0)+(b<<3)>>3]);k=I>k?I:k;b=b+1|0}w=w+1|0}k=1.0/k;w=0;while(1){if((w|0)>=(n|0))break r;d=i+(w<<2)|0;b=0;while(1){if((b|0)>=(A|0))break;G=(t[d>>2]|0)+(b<<3)|0;c[G>>3]=+c[G>>3]*(10.0*k);b=b+1|0}w=w+1|0}}}while(0);r:do{if(u>0.0){p=+(y|0);b=0;k=0.0;v=0;i:while(1){if((v|0)>=(e|0))break;g=v+1|0;d=b;w=g;while(1){b=d+1|0;if((w|0)>=(A|0)){v=g;continue i}I=+jT(i,n,v,w);d=b;k=I/+s[z+(b<<2)>>2]+k;w=w+1|0}}k=k/p;b=0;while(1){if((b|0)>=(L|0)){b=0;break r}G=z+(b<<2)|0;s[G>>2]=+s[G>>2]*k;b=b+1|0}}else b=0}while(0);while(1){if((b|0)>=(n|0))break;mO(A,t[i+(b<<2)>>2]|0);b=b+1|0}w=t[i+4>>2]|0;k=+c[w>>3];b=0;while(1){if((b|0)>=(A|0))break;G=w+(b<<3)|0;c[G>>3]=+c[G>>3]-k;b=b+1|0}m=n<<2;G=$F(m)|0;B=A<<2;E=P(B,n)|0;d=$F(E)|0;b=0;while(1){if((b|0)>=(n|0))break;v=d+((P(b,A)|0)<<2)|0;t[G+(b<<2)>>2]=v;g=i+(b<<2)|0;w=0;while(1){if((w|0)>=(A|0))break;s[v+(w<<2)>>2]=+c[(t[g>>2]|0)+(w<<3)>>3];w=w+1|0}b=b+1|0}p=+(y|0);if(0){Z=t[15712]|0;c[D>>3]=+sx();a3(Z,93504,D)|0}HO(L,z);PO(L,z);Z=$F(A<<3)|0;RO(A,0.0,Z);b=0;d=0;while(1){if((d|0)>=(e|0)){b=A;w=0;d=0;break}v=A-d|0;k=0.0;w=1;while(1){b=b+1|0;if((w|0)>=(v|0))break;I=+s[z+(b<<2)>>2];D=Z+(w+d<<3)|0;c[D>>3]=+c[D>>3]-I;k=k+I;w=w+1|0}D=Z+(d<<3)|0;c[D>>3]=+c[D>>3]-k;d=d+1|0}while(1){if((w|0)>=(A|0))break;s[z+(d<<2)>>2]=+c[Z+(w<<3)>>3];D=b+d|0;b=b+-1|0;w=w+1|0;d=D}l=$F(m)|0;t[l>>2]=$F(E)|0;b=1;while(1){if((b|0)>=(n|0))break;t[l+(b<<2)>>2]=(t[l>>2]|0)+((P(b,A)|0)<<2);b=b+1|0}C=$F(B)|0;a=$F(B)|0;f=$F(L<<2)|0;w=d_(z,A)|0;r=E_(z,A,t[F>>2]|0,t[M>>2]|0,t[W>>2]|0)|0;y=l+4|0;d=0;I=1797693134862315708145274.0e284;b=0;while(1){if(!(d<<24>>24==0&(b|0)<(o|0)))break;RO(A,0.0,Z);XO(L,z,f);E=0;g=0;while(1){if((E|0)>=(e|0)){d=0;v=A;g=0;break}B=A-E+-1|0;xO(A,0.0,a);d=0;while(1){if((d|0)>=(n|0))break;W=G+(d<<2)|0;xO(B,+s[(t[W>>2]|0)+(E<<2)>>2],C);FO(B,C,-1.0,(t[W>>2]|0)+(E<<2)+4|0);HO(B,C);YO(B,C,a,a);d=d+1|0}SO(B,a);d=0;while(1){if((d|0)>=(B|0))break;v=a+(d<<2)|0;k=+s[v>>2];if(k>=3402823466385288598117041.0e14|k<0.0)s[v>>2]=0.0;d=d+1|0}m=E+1|0;k=0.0;d=g;v=0;while(1){d=d+1|0;if((v|0)>=(B|0))break;W=f+(d<<2)|0;R=+s[W>>2]*+s[a+(v<<2)>>2];s[W>>2]=R;W=Z+(m+v<<3)|0;c[W>>3]=+c[W>>3]-R;k=k+R;v=v+1|0}g=Z+(E<<3)|0;c[g>>3]=+c[g>>3]-k;E=m;g=d}while(1){if((d|0)>=(A|0)){d=0;break}s[f+(g<<2)>>2]=+c[Z+(d<<3)>>3];W=v+g|0;d=d+1|0;v=v+-1|0;g=W}while(1){if((d|0)>=(n|0)){k=0.0;d=0;break}zO(f,A,t[G+(d<<2)>>2]|0,t[l+(d<<2)>>2]|0);d=d+1|0}while(1){if((d|0)>=(n|0))break;k=+NO(A,t[G+(d<<2)>>2]|0,t[l+(d<<2)>>2]|0)+k;d=d+1|0}k=k*2.0+p;d=0;while(1){if((d|0)>=(n|0))break;W=G+(d<<2)|0;zO(z,A,t[W>>2]|0,C);k=k-+NO(A,t[W>>2]|0,C);d=d+1|0}R=+Q(+(k-I))/+Q(+(I+1.0e-10));d=((b|0)>1&k>I|R<+c[23294])&1;v=0;while(1){if((v|0)>=(n|0))break;if((v|0)!=1){if(bU(z,t[G+(v<<2)>>2]|0,t[l+(v<<2)>>2]|0,A,.001,A)|0){b=-1;break A}}else v_(r,t[y>>2]|0,G,n,1,15,Y,u)|0;v=v+1|0}I=k;b=b+1|0}G2(Y);p_(r);if(G|0){d=0;while(1){if((d|0)>=(n|0))break;g=G+(d<<2)|0;m=i+(d<<2)|0;v=0;while(1){if((v|0)>=(A|0))break;c[(t[m>>2]|0)+(v<<3)>>3]=+s[(t[g>>2]|0)+(v<<2)>>2];v=v+1|0}d=d+1|0}G2(t[G>>2]|0);G2(G)}if(l|0){G2(t[l>>2]|0);G2(l)}G2(C);G2(a);G2(Z);G2(z);G2(f)}}while(0);G2(t[F>>2]|0);G2(t[M>>2]|0);if(w){G2(t[w>>2]|0);G2(w)}}else V=10}else V=10}while(0);if((V|0)==10)b=rP(e,A,r,i,a,n,f,l,o)|0;h=N;return b|0}function wU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+48|0;a=o+24|0;n=o+12|0;r=o;f=gk(e)|0;s=$F(f*48|0)|0;Kj(r,e);t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];r=sd(e)|0;i=s;while(1){if(!r)break;t[a>>2]=t[n>>2];t[a+4>>2]=t[n+4>>2];t[a+8>>2]=t[n+8>>2];kU(r,i,a);r=cd(e,r)|0;i=i+48|0}e:do{if(!(dU(s,f)|0))r=0;else{switch(A|0){case 9:{gU(e,s,f,70,1);pU(e,s,f,71,1);r=0;i=s;break}case 10:{pU(e,s,f,71,1);gU(e,s,f,70,1);r=0;i=s;break}case 7:{gU(e,s,f,72,1);pU(e,s,f,71,1);l=9;break}case 8:{l=9;break}case 13:{l=10;break}case 14:{pU(e,s,f,71,0);gU(e,s,f,70,0);r=0;i=s;break}case 12:{pU(e,s,f,73,0);gU(e,s,f,70,0);r=0;i=s;break}default:{gU(e,s,f,72,0);pU(e,s,f,71,0);r=0;i=s}}if((l|0)==9){pU(e,s,f,73,1);gU(e,s,f,70,1);l=10}if((l|0)==10){gU(e,s,f,70,0);pU(e,s,f,71,0);r=0;i=s}while(1){if((r|0)>=(f|0)){r=1;break e}n=t[i+16>>2]|0;l=t[(t[(t[i+20>>2]|0)+16>>2]|0)+132>>2]|0;c[l>>3]=+(t[i+12>>2]|0)*1.3888888888888887e-03;c[l+8>>3]=+(n|0)*1.3888888888888887e-03;r=r+1|0;i=i+48|0}}}while(0);G2(s);h=o;return r|0}function kU(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,o=0.0,u=0.0;a=t[e+16>>2]|0;l=t[a+132>>2]|0;o=+c[l>>3]*720.0;f=~~(o+(o>=0.0?.5:-.5));o=+c[l+8>>3]*720.0;l=~~(o+(o>=0.0?.5:-.5));if(!(i[r+8>>0]|0)){u=+c[a+32>>3]*72.0*(+s[r>>2]*5.0);o=+c[a+40>>3]*72.0*(+s[r+4>>2]*5.0);n=~~(u+(u>=0.0?.5:-.5));a=~~(o+(o>=0.0?.5:-.5))}else{o=+c[a+32>>3]*36.0;u=+c[a+40>>3]*36.0;n=~~((+s[r>>2]+ +(~~(o+(o>=0.0?.5:-.5))|0))*10.0);a=~~((+s[r+4>>2]+ +(~~(u+(u>=0.0?.5:-.5))|0))*10.0)}t[A+12>>2]=f;t[A+16>>2]=l;t[A+20>>2]=e;t[A+32>>2]=f-n;t[A+36>>2]=l-a;t[A+40>>2]=n+f;t[A+44>>2]=a+l;return}function dU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=A+-1|0;r=0;e:while(1){if((r|0)>=(c|0)){e=0;break}s=e+48|0;r=r+1|0;n=e+32|0;f=e+40|0;l=e+36|0;a=e+44|0;e=s;i=r;while(1){if((i|0)>=(A|0)){e=s;continue e}if((((t[n>>2]|0)<=(t[e+40>>2]|0)?(t[e+32>>2]|0)<=(t[f>>2]|0):0)?(t[l>>2]|0)<=(t[e+44>>2]|0):0)?(t[e+36>>2]|0)<=(t[a>>2]|0):0){e=1;break e}e=e+48|0;i=i+1|0}}return e|0}function vU(e,A){e=e|0;A=A|0;if((t[e+36>>2]|0)>(t[A+44>>2]|0))e=0;else e=(t[A+36>>2]|0)<=(t[e+44>>2]|0)&1;return e|0}function gU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;l=Uh(18168,t[4584]|0)|0;n=A;f=0;while(1){if((f|0)>=(r|0))break;t[n+8>>2]=t[n+12>>2];L5[t[l>>2]&63](l,n,1)|0;n=n+48|0;f=f+1|0}if(!a)f=ZU(e,l,i,74)|0;else f=IU(l,i,74)|0;VM(f,2,2147483647)|0;n=0;while(1){if((n|0)>=(r|0))break;a=A+12|0;e=t[(t[(t[A+24>>2]|0)+16>>2]|0)+232>>2]|0;i=e-(t[a>>2]|0)|0;t[a>>2]=e;a=A+32|0;t[a>>2]=(t[a>>2]|0)+i;a=A+40|0;t[a>>2]=(t[a>>2]|0)+i;A=A+48|0;n=n+1|0}GU(f);Ph(l)|0;return}function mU(e,A){e=e|0;A=A|0;if((t[e+32>>2]|0)>(t[A+40>>2]|0))e=0;else e=(t[A+32>>2]|0)<=(t[e+40>>2]|0)&1;return e|0}function pU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;l=Uh(18168,t[4584]|0)|0;n=A;f=0;while(1){if((f|0)>=(r|0))break;t[n+8>>2]=t[n+16>>2];L5[t[l>>2]&63](l,n,1)|0;n=n+48|0;f=f+1|0}if(!a)f=ZU(e,l,i,75)|0;else f=IU(l,i,75)|0;VM(f,2,2147483647)|0;n=0;while(1){if((n|0)>=(r|0))break;a=A+16|0;e=t[(t[(t[A+24>>2]|0)+16>>2]|0)+232>>2]|0;i=e-(t[a>>2]|0)|0;t[a>>2]=e;a=A+36|0;t[a>>2]=(t[a>>2]|0)+i;a=A+44|0;t[a>>2]=(t[a>>2]|0)+i;A=A+48|0;n=n+1|0}GU(f);Ph(l)|0;return}function EU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=e+32|0;i=A+32|0;if((t[e+36>>2]|0)<=(t[A+44>>2]|0)?(t[A+36>>2]|0)<=(t[e+44>>2]|0):0)if((t[e+40>>2]|0)<(t[i>>2]|0))e=1;else{n=CU(r,i)|0;n=n-(t[A+12>>2]|0)+(t[e+12>>2]|0)|0;A=t[A+16>>2]|0;e=t[e+16>>2]|0;a=(A|0)<(e|0);i=yU(r,i)|0;e=(n|0)<=(i-(a?e:A)+(a?A:e)|0)&1}else e=0;return e|0}function BU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;r=e+32|0;i=A+32|0;if((t[r>>2]|0)<=(t[A+40>>2]|0)?(t[i>>2]|0)<=(t[e+40>>2]|0):0)if((t[e+44>>2]|0)<(t[A+36>>2]|0))e=1;else{n=yU(r,i)|0;n=n-(t[A+16>>2]|0)+(t[e+16>>2]|0)|0;A=t[A+12>>2]|0;e=t[e+12>>2]|0;a=(A|0)<(e|0);i=CU(r,i)|0;e=(n|0)<=(i-(a?e:A)+(a?A:e)|0)&1}else e=0;return e|0}function yU(e,A){e=e|0;A=A|0;return((t[e+12>>2]|0)-(t[e+4>>2]|0)+(t[A+12>>2]|0)-(t[A+4>>2]|0)|0)/2|0|0}function CU(e,A){e=e|0;A=A|0;return((t[e+8>>2]|0)-(t[e>>2]|0)+(t[A+8>>2]|0)-(t[A>>2]|0)|0)/2|0|0}function IU(e,A,r){e=e|0;A=A|0;r=r|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0;B=h;h=h+16|0;p=B;i[p>>0]=i[18588]|0;i[p+1>>0]=i[18589]|0;i[p+2>>0]=i[18590]|0;i[p+3>>0]=i[18591]|0;E=hk(93515,p,0)|0;Sd(E,137483,280,1)|0;n=Sh(e)|0;f=-2147483647;m=0;while(1){if(!n)break;v=t[n+8>>2]|0;g=m+((f|0)!=(v|0)&1)|0;n=t[n>>2]|0;f=v;m=g}v=E+16|0;g=(m<<3)+-4|0;u=0;s=0;n=0;f=0;o=0;d=Sh(e)|0;l=-2147483647;while(1){if(!d)break;k=t[d+8>>2]|0;if((l|0)!=(k|0)){w=gd(E,Mk(t[d+20>>2]|0)|0,1)|0;Sd(w,137447,304,1)|0;b=w+16|0;n=t[b>>2]|0;t[n+112>>2]=d;if(!f){t[(t[v>>2]|0)+192>>2]=w;u=w}else{t[(t[u+16>>2]|0)+164>>2]=w;u=f}t[n+176>>2]=0;c=s+1|0;l=KF(c<<2)|0;t[(t[b>>2]|0)+172>>2]=l;if(!o){s=c;c=w;o=w;n=w;f=u;l=k}else{l=o+16|0;t[(t[l>>2]|0)+184>>2]=0;s=KF((o|0)==(u|0)?g:m-s<<2)|0;t[(t[l>>2]|0)+180>>2]=s;s=lk(E,o,w,0,1)|0;Sd(s,137460,176,1)|0;n=t[s+16>>2]|0;a[n+170>>1]=10;t[n+156>>2]=1;n=t[l>>2]|0;f=t[n+180>>2]|0;if(!f)n=$F((t[n+184>>2]<<2)+8|0)|0;else n=AM(f,(t[n+184>>2]<<2)+8|0)|0;o=t[l>>2]|0;t[o+180>>2]=n;o=o+184|0;f=t[o>>2]|0;t[o>>2]=f+1;t[n+(f<<2)>>2]=s;n=t[l>>2]|0;t[(t[n+180>>2]|0)+(t[n+184>>2]<<2)>>2]=0;n=t[b>>2]|0;f=t[n+172>>2]|0;if(!f)n=$F((t[n+176>>2]<<2)+8|0)|0;else n=AM(f,(t[n+176>>2]<<2)+8|0)|0;f=t[b>>2]|0;t[f+172>>2]=n;f=f+176|0;o=t[f>>2]|0;t[f>>2]=o+1;t[n+(o<<2)>>2]=s;s=t[b>>2]|0;t[(t[s+172>>2]|0)+(t[s+176>>2]<<2)>>2]=0;s=c;c=w;o=w;n=w;f=u;l=k}}else{c=n;n=u}t[d+24>>2]=c;u=n;n=c;d=t[d>>2]|0}o=o+16|0;t[(t[o>>2]|0)+184>>2]=0;n=KF(4)|0;t[(t[o>>2]|0)+180>>2]=n;i[p>>0]=i[18588]|0;i[p+1>>0]=i[18589]|0;i[p+2>>0]=i[18590]|0;i[p+3>>0]=i[18591]|0;o=hk(93562,p,0)|0;n=Sh(e)|0;while(1){if(!n)break;p=gd(o,Mk(t[n+20>>2]|0)|0,1)|0;Sd(p,137447,304,1)|0;t[n+28>>2]=p;t[(t[p+16>>2]|0)+112>>2]=n;n=t[n>>2]|0}n=0;c=Sh(e)|0;f=-2147483647;e:while(1){if(!c)break;s=t[c+8>>2]|0;A:do{if((f|0)==(s|0))s=f;else{n=c;while(1){n=t[n>>2]|0;if(!n)break e;if((t[n+8>>2]|0)!=(s|0))break A}}}while(0);l=c+28|0;f=n;while(1){if(!f)break;if(Z5[A&127](c,f)|0)lk(o,t[l>>2]|0,t[f+28>>2]|0,0,1)|0;f=t[f>>2]|0}c=t[c>>2]|0;f=s}LU(o,E,r);vk(o)|0;h=B;return E|0}function ZU(e,A,r,n){e=e|0;A=A|0;r=r|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;v=h;h=h+16|0;d=v;i[d>>0]=i[18588]|0;i[d+1>>0]=i[18589]|0;i[d+2>>0]=i[18590]|0;i[d+3>>0]=i[18591]|0;d=hk(93515,d,0)|0;Sd(d,137483,280,1)|0;c=d+16|0;f=Sh(A)|0;l=0;while(1){if(!f)break;s=gd(d,Mk(t[f+20>>2]|0)|0,1)|0;Sd(s,137447,304,1)|0;w=s+16|0;u=t[w>>2]|0;t[u+112>>2]=f;t[f+24>>2]=s;t[u+176>>2]=0;u=KF(4)|0;b=t[w>>2]|0;t[b+172>>2]=u;t[b+184>>2]=0;b=KF(4)|0;t[(t[w>>2]|0)+180>>2]=b;if(!l)t[(t[c>>2]|0)+192>>2]=s;else t[(t[l+16>>2]|0)+164>>2]=s;f=t[f>>2]|0;l=s}o=Sh(A)|0;e:while(1){if(!o)break;u=o+32|0;b=o+24|0;w=o+20|0;f=o;while(1){f=t[f>>2]|0;if(!f)break;if(Z5[r&127](o,f)|0){l=Z5[n&127](u,f+32|0)|0;s=lk(d,t[b>>2]|0,t[f+24>>2]|0,0,1)|0;Sd(s,137460,176,1)|0;if((l|0)>=65536){k=13;break e}c=s+16|0;g=t[c>>2]|0;a[g+170>>1]=l;t[g+156>>2]=1;if(s|0?lk(e,t[w>>2]|0,t[f+20>>2]|0,0,0)|0:0)t[(t[c>>2]|0)+156>>2]=100}}o=t[o>>2]|0}if((k|0)==13)ge(93518,93534,254,93547);o=Sh(A)|0;while(1){if(!o)break;c=t[o+24>>2]|0;u=c+16|0;c=Ow(d,c)|0;while(1){if(!c)break;f=t[u>>2]|0;l=t[f+180>>2]|0;if(!l)f=$F((t[f+184>>2]<<2)+8|0)|0;else f=AM(l,(t[f+184>>2]<<2)+8|0)|0;l=t[u>>2]|0;t[l+180>>2]=f;l=l+184|0;s=t[l>>2]|0;t[l>>2]=s+1;t[f+(s<<2)>>2]=c;s=t[u>>2]|0;t[(t[s+180>>2]|0)+(t[s+184>>2]<<2)>>2]=0;s=c+-48|0;f=t[(t[((t[c>>2]&3|0)==2?c:s)+40>>2]|0)+16>>2]|0;l=t[f+172>>2]|0;if(!l)f=$F((t[f+176>>2]<<2)+8|0)|0;else f=AM(l,(t[f+176>>2]<<2)+8|0)|0;t[(t[(t[((t[c>>2]&3|0)==2?c:s)+40>>2]|0)+16>>2]|0)+172>>2]=f;n=t[(t[((t[c>>2]&3|0)==2?c:s)+40>>2]|0)+16>>2]|0;k=t[n+172>>2]|0;n=n+176|0;g=t[n>>2]|0;t[n>>2]=g+1;t[k+(g<<2)>>2]=c;g=t[(t[((t[c>>2]&3|0)==2?c:s)+40>>2]|0)+16>>2]|0;t[(t[g+172>>2]|0)+(t[g+176>>2]<<2)>>2]=0;c=qw(d,c)|0}o=t[o>>2]|0}h=v;return d|0}function GU(e){e=e|0;var A=0,r=0,i=0,a=0;a=sd(e)|0;while(1){if(!a)break;r=a+16|0;A=t[r>>2]|0;i=t[A+172>>2]|0;if(i){G2(i);A=t[r>>2]|0}A=t[A+180>>2]|0;if(A|0)G2(A);a=cd(e,a)|0}vk(e)|0;return}function LU(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0;c=sd(e)|0;while(1){if(!c)break;b=t[(t[c+16>>2]|0)+112>>2]|0;u=t[b+24>>2]|0;b=b+32|0;h=u+16|0;o=Ow(e,c)|0;while(1){if(!o)break;f=t[(t[(t[((t[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;w=Z5[r&127](b,f+32|0)|0;f=t[f+24>>2]|0;l=lk(A,u,f,0,1)|0;Sd(l,137460,176,1)|0;s=l+16|0;i=t[s>>2]|0;t[i+156>>2]=1;n=a[i+170>>1]|0;if((w|0)>(n&65535|0)){if(!(n<<16>>16)){i=t[h>>2]|0;n=t[i+180>>2]|0;if(!n)i=$F((t[i+184>>2]<<2)+8|0)|0;else i=AM(n,(t[i+184>>2]<<2)+8|0)|0;k=t[h>>2]|0;t[k+180>>2]=i;k=k+184|0;n=t[k>>2]|0;t[k>>2]=n+1;t[i+(n<<2)>>2]=l;i=t[h>>2]|0;t[(t[i+180>>2]|0)+(t[i+184>>2]<<2)>>2]=0;f=f+16|0;i=t[f>>2]|0;n=t[i+172>>2]|0;if(!n)i=$F((t[i+176>>2]<<2)+8|0)|0;else i=AM(n,(t[i+176>>2]<<2)+8|0)|0;n=t[f>>2]|0;t[n+172>>2]=i;n=n+176|0;k=t[n>>2]|0;t[n>>2]=k+1;t[i+(k<<2)>>2]=l;i=t[f>>2]|0;t[(t[i+172>>2]|0)+(t[i+176>>2]<<2)>>2]=0;i=t[s>>2]|0}a[i+170>>1]=w}o=qw(e,o)|0}c=cd(e,c)|0}return}function QU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return(t[A>>2]|0)-(t[r>>2]|0)|0}function DU(e,A){e=e|0;A=A|0;var r=0,a=0,n=0.0,f=0.0,l=0.0,o=0.0,u=0.0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0.0,I=0.0;y=h;h=h+64|0;m=y+24|0;v=y+16|0;d=y+52|0;k=y+40|0;g=y;E=gk(e)|0;B=$F(E*72|0)|0;Kj(k,e);l=+s[k>>2];o=+s[k+4>>2];k=(i[k+8>>0]|0)!=0;l=k?l*.013888888888888888:l;o=k?o*.013888888888888888:o;u=l*.5;b=o*.5;r=B;a=sd(e)|0;while(1){if(!a)break;w=t[a+16>>2]|0;n=+c[w+32>>3];if(k){f=+c[w+40>>3]*.5+o;n=n*.5+l}else{f=b*+c[w+40>>3];n=u*n}w=t[w+132>>2]|0;I=+c[w>>3];c[r>>3]=I;C=+c[w+8>>3];c[r+8>>3]=C;c[r+16>>3]=I-n;c[r+24>>3]=C-f;c[r+32>>3]=I+n;c[r+40>>3]=C+f;c[r+48>>3]=n;c[r+56>>3]=f;t[r+64>>2]=a;r=r+72|0;a=cd(e,a)|0}do{if((A|0)<0){n=+zU(B,E);if(n==0.0){G2(B);r=0;break}if(!0){l=n;f=n;p=19}else{p=t[15712]|0;c[v>>3]=n;a3(p,93565,v)|0;l=n;f=n;p=19}}else{a=WU(B,E,d)|0;r=t[d>>2]|0;if(!r){G2(a);G2(B);r=0;break}if(!A){FU(g,a,r);n=+c[g>>3];f=+c[g+8>>3]}else{f=+YU(a,r);n=f}G2(a);if(!0){l=n;p=19}else{p=t[15712]|0;c[m>>3]=n;c[m+8>>3]=f;a3(p,93579,m)|0;l=n;p=19}}}while(0);if((p|0)==19){r=0;a=B;while(1){if((r|0)>=(E|0))break;p=t[(t[(t[a+64>>2]|0)+16>>2]|0)+132>>2]|0;c[p>>3]=+c[a>>3]*l;c[p+8>>3]=+c[a+8>>3]*f;r=r+1|0;a=a+72|0}G2(B);r=1}h=y;return r|0}function zU(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0,t=0.0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;r=0.0;i=0;e:while(1){if((i|0)>=(A|0))break;d=e+72|0;i=i+1|0;u=e+16|0;b=e+8|0;h=e+56|0;w=e+48|0;k=e+32|0;s=e+24|0;o=e+40|0;f=i;l=d;while(1){if((f|0)>=(A|0)){e=d;continue e}if(((+c[u>>3]<=+c[l+32>>3]?+c[l+16>>3]<=+c[k>>3]:0)?+c[s>>3]<=+c[l+40>>3]:0)?+c[l+24>>3]<=+c[o>>3]:0){r=0.0;break e}a=+c[e>>3];t=+c[l>>3];if(a==t)n=E;else{n=+Q(+(a-t));n=(+c[l+48>>3]+ +c[w>>3])/n}a=+c[b>>3];t=+c[l+8>>3];if(a==t)a=E;else{a=+Q(+(a-t));a=(+c[l+56>>3]+ +c[h>>3])/a}n=ar?n:r}}return+r}function WU(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,B=0,y=0,C=0,I=0;s=$F((A<<4)+16|0)|0;u=0;i=0;b=s;h=A;f=s;e:while(1){if((i|0)>=(A|0))break;C=e+72|0;i=i+1|0;y=e+16|0;d=e+32|0;v=e+24|0;g=e+40|0;m=e+8|0;p=e+56|0;B=e+48|0;w=i;k=C;o=f;while(1){if((w|0)==(A|0)){e=C;f=o;continue e}if(((+c[y>>3]<=+c[k+32>>3]?+c[k+16>>3]<=+c[d>>3]:0)?+c[v>>3]<=+c[k+40>>3]:0)?+c[k+24>>3]<=+c[g>>3]:0){f=h+A|0;if((u|0)==(h|0)){s=AM(s,(f<<4)+16|0)|0;b=s;o=s}else f=h;a=+c[e>>3];n=+c[k>>3];if(!(a==n)){a=(+c[k+48>>3]+ +c[B>>3])/+Q(+(a-n));if(a<1.0){a=1.0;I=13}}else{a=E;I=13}if((I|0)==13)I=0;n=+c[m>>3];l=+c[k+8>>3];if(!(n==l)){n=(+c[k+56>>3]+ +c[p>>3])/+Q(+(n-l));if(n<1.0){n=1.0;I=16}}else{n=E;I=16}if((I|0)==16)I=0;u=u+1|0;c[b+(u<<4)>>3]=a;c[b+(u<<4)+8>>3]=n}else f=h;w=w+1|0;k=k+72|0;h=f}}I=AM(f,(u<<4)+16|0)|0;t[r>>2]=u;return I|0}function YU(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0,t=0.0,n=0.0;i=1;a=0.0;while(1){r=e+16|0;if((i|0)>(A|0))break;n=+c[r>>3];t=+c[e+24>>3];t=na?t:a;e=r}return+a}function FU(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,t=0,n=0,f=0.0;c[A>>3]=1.0;c[A+8>>3]=E;_4(A+16|0,r,16,76);n=$F((r<<4)+16|0)|0;c[n+(r<<4)>>3]=+c[A+(r<<4)>>3];t=r;i=1.0;while(1){c[n+(t<<4)+8>>3]=i;a=t+-1|0;if((t|0)<=0){i=E;a=0;t=0;break}c[n+(a<<4)>>3]=+c[A+(a<<4)>>3];f=+c[(+c[A+(t<<4)+8>>3]>i?A:n)+(t<<4)+8>>3];t=a;i=f}while(1){if((t|0)>(r|0))break;f=+c[n+(t<<4)+8>>3]*+c[n+(t<<4)>>3];A=f>3];c[e>>3]=+c[n+(a<<4)>>3];c[e+8>>3]=f;return}else ge(93596,93534,832,93616)}function MU(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e>>3];i=+c[A>>3];if(!(ri)){i=+c[e+8>>3];r=+c[A+8>>3];if(ir&1}else e=1;else e=-1;return e|0}function VU(e,A,r){e=e|0;A=A|0;r=r|0;r=h;h=h+16|0;A=r;t[A>>2]=93631;nw(1,93681,A)|0;h=r;return 0}function NU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;i=h;h=h+16|0;r=i;t[r>>2]=93631;nw(1,93709,r)|0;h=i;return 0}function RU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;e:do{switch(r|0){case 2:{i=$F(16)|0;a=$F(24)|0;t[a+8>>2]=0;t[a+4>>2]=i;t[a>>2]=2;t[i>>2]=0;t[i+4>>2]=1;r=i+8|0;t[a+16>>2]=r;t[a+20>>2]=0;t[a+12>>2]=2;t[r>>2]=1;t[i+12>>2]=0;break}case 1:{i=$F(4)|0;a=$F(12)|0;t[a+8>>2]=0;t[a+4>>2]=i;t[a>>2]=1;t[i>>2]=0;break}default:{VU(0,0,0)|0;e=(r|0)>0;if(!i){if(!e){a=0;break e}iA()}else{if(!e){a=0;break e}iA()}}}}while(0);return a|0}function xU(e){e=e|0;var A=0;if(e|0){A=t[e+4>>2]|0;if(A|0)G2(A);A=t[e+8>>2]|0;if(A|0)G2(A);G2(e)}return}function JU(e){e=e|0;var A=0;if(e|0){A=t[e+4>>2]|0;if(A|0)G2(A);A=t[e+8>>2]|0;if(A|0)G2(A);A=t[e+16>>2]|0;if(A|0)G2(A);G2(e)}return}function HU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;u=b+8|0;o=b;c=Q2(t[46849]|0,r<<2)|0;t[46849]=c;a=0;while(1){if((a|0)>=(r|0))break;t[i+(a<<2)>>2]=2147483647;a=a+1|0}t[i+(e<<2)>>2]=0;n=A+(e*20|0)|0;f=A+(e*20|0)+8|0;l=A+(e*20|0)+4|0;a=1;while(1){if((a|0)>=(t[n>>2]|0))break;t[i+(t[(t[l>>2]|0)+(a<<2)>>2]<<2)>>2]=~~+s[(t[f>>2]|0)+(a<<2)>>2];a=a+1|0}PU(u,e,c,i,r);f=-2147483639;while(1){if(!((XU(u,o,t[46849]|0,i)|0)<<24>>24)){a=0;break}a=t[o>>2]|0;e=t[i+(a<<2)>>2]|0;if((e|0)==2147483647){a=0;break}f=A+(a*20|0)|0;l=A+(a*20|0)+4|0;n=A+(a*20|0)+8|0;a=1;while(1){if((a|0)>=(t[f>>2]|0))break;SU(u,t[(t[l>>2]|0)+(a<<2)>>2]|0,e+~~+s[(t[n>>2]|0)+(a<<2)>>2]|0,t[46849]|0,i);a=a+1|0}f=e+10|0}while(1){if((a|0)>=(r|0))break;n=i+(a<<2)|0;if((t[n>>2]|0)==2147483647)t[n>>2]=f;a=a+1|0}jU(u);h=b;return}function PU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;if((a|0)==1)l=0;else l=$F((a<<2)+-4|0)|0;t[e>>2]=l;s=a+-1|0;t[e+4>>2]=s;n=0;f=0;while(1){if((f|0)>=(a|0))break;if((f|0)!=(A|0)){t[l+(n<<2)>>2]=f;t[r+(f<<2)>>2]=n;n=n+1|0}f=f+1|0}n=(s|0)/2|0;while(1){if((n|0)<=-1)break;UU(e,n,r,i);n=n+-1|0}return}function XU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=e+4|0;if(!(t[a>>2]|0))e=0;else{n=t[e>>2]|0;t[A>>2]=t[n>>2];A=t[n+((t[a>>2]|0)+-1<<2)>>2]|0;t[n>>2]=A;t[r+(A<<2)>>2]=0;t[a>>2]=(t[a>>2]|0)+-1;UU(e,0,r,i);e=1}return e|0}function SU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;n=a+(A<<2)|0;if((t[n>>2]|0)>(r|0)){s=i+(A<<2)|0;l=t[s>>2]|0;t[n>>2]=r;n=t[e>>2]|0;e=l;while(1){if((e|0)<=0)break;f=e>>>1;l=t[n+(f<<2)>>2]|0;if((t[a+(l<<2)>>2]|0)<=(r|0))break;t[n+(e<<2)>>2]=l;t[i+(l<<2)>>2]=e;e=f}t[n+(e<<2)>>2]=A;t[s>>2]=e}return}function jU(e){e=e|0;e=t[e>>2]|0;if(e|0)G2(e);return}function UU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;l=e+4|0;while(1){a=A<<1;n=a|1;f=t[l>>2]|0;if(!((a|0)<(f|0)?(s=t[e>>2]|0,(t[i+(t[s+(a<<2)>>2]<<2)>>2]|0)<(t[i+(t[s+(A<<2)>>2]<<2)>>2]|0)):0))a=A;if((n|0)<(f|0)){s=t[e>>2]|0;a=(t[i+(t[s+(n<<2)>>2]<<2)>>2]|0)<(t[i+(t[s+(a<<2)>>2]<<2)>>2]|0)?n:a}if((a|0)==(A|0))break;s=t[e>>2]|0;f=s+(a<<2)|0;n=t[f>>2]|0;s=s+(A<<2)|0;t[f>>2]=t[s>>2];t[s>>2]=n;t[r+(t[f>>2]<<2)>>2]=a;t[r+(t[s>>2]<<2)>>2]=A;A=a}return}function TU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,c=0.0,o=0,u=0,b=0,w=0;w=h;h=h+16|0;o=w+8|0;u=w;t[u>>2]=0;b=$F(r<<2)|0;a=0;while(1){if((a|0)>=(r|0))break;s[i+(a<<2)>>2]=3402823466385288598117041.0e14;a=a+1|0}s[i+(e<<2)>>2]=0.0;n=t[A+(e*20|0)>>2]|0;f=A+(e*20|0)+8|0;l=A+(e*20|0)+4|0;a=1;while(1){if((a|0)>=(n|0))break;t[i+(t[(t[l>>2]|0)+(a<<2)>>2]<<2)>>2]=t[(t[f>>2]|0)+(a<<2)>>2];a=a+1|0}OU(o,e,b,i,r);e:while(1){if(!((_U(o,u,b,i)|0)<<24>>24))break;a=t[u>>2]|0;c=+s[i+(a<<2)>>2];if(c==3402823466385288598117041.0e14)break;f=A+(a*20|0)|0;l=A+(a*20|0)+4|0;n=A+(a*20|0)+8|0;a=1;while(1){if((a|0)>=(t[f>>2]|0))continue e;qU(o,t[(t[l>>2]|0)+(a<<2)>>2]|0,+s[(t[n>>2]|0)+(a<<2)>>2]+c,b,i);a=a+1|0}}jU(o);G2(b);h=w;return}function OU(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;l=a+-1|0;s=$F(l<<2)|0;t[e>>2]=s;t[e+4>>2]=l;n=0;f=0;while(1){if((f|0)>=(a|0))break;if((f|0)!=(A|0)){t[s+(n<<2)>>2]=f;t[r+(f<<2)>>2]=n;n=n+1|0}f=f+1|0}n=(l|0)/2|0;while(1){if((n|0)<=-1)break;KU(e,n,r,i);n=n+-1|0}return}function _U(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=e+4|0;if(!(t[a>>2]|0))e=0;else{n=t[e>>2]|0;t[A>>2]=t[n>>2];A=t[n+((t[a>>2]|0)+-1<<2)>>2]|0;t[n>>2]=A;t[r+(A<<2)>>2]=0;t[a>>2]=(t[a>>2]|0)+-1;KU(e,0,r,i);e=1}return e|0}function qU(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0,c=0;n=a+(A<<2)|0;if(!(+s[n>>2]<=r)){c=i+(A<<2)|0;l=t[c>>2]|0;s[n>>2]=r;n=t[e>>2]|0;e=l;while(1){if((e|0)<=0)break;f=e>>>1;l=t[n+(f<<2)>>2]|0;if(!(+s[a+(l<<2)>>2]>r))break;t[n+(e<<2)>>2]=l;t[i+(l<<2)>>2]=e;e=f}t[n+(e<<2)>>2]=A;t[c>>2]=e}return}function KU(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,c=0;l=e+4|0;while(1){a=A<<1;n=a|1;f=t[l>>2]|0;if(!((a|0)<(f|0)?(c=t[e>>2]|0,+s[i+(t[c+(a<<2)>>2]<<2)>>2]<+s[i+(t[c+(A<<2)>>2]<<2)>>2]):0))a=A;if((n|0)<(f|0)?(c=t[e>>2]|0,+s[i+(t[c+(n<<2)>>2]<<2)>>2]<+s[i+(t[c+(a<<2)>>2]<<2)>>2]):0)a=n;if((a|0)==(A|0))break;c=t[e>>2]|0;f=c+(a<<2)|0;n=t[f>>2]|0;c=c+(A<<2)|0;t[f>>2]=t[c>>2];t[c>>2]=n;t[r+(t[f>>2]<<2)>>2]=a;t[r+(t[c>>2]<<2)>>2]=A;A=a}return}function $U(){jO(187400,48);t[46853]=0;return}function eT(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0.0,n=0.0,f=0;f=TO(187400)|0;t[f+32>>2]=e;t[f+36>>2]=A;G_(e);G_(A);t[f+24>>2]=0;t[f+28>>2]=0;a=+c[e>>3];n=+c[A>>3]-a;i=+c[e+8>>3];r=+c[A+8>>3]-i;a=r*i+n*a+(r*r+n*n)*.5;A=f+16|0;c[A>>3]=a;if((n>0.0?n:-n)>(r>0.0?r:-r)){c[f>>3]=1.0;i=r/n;r=n;e=f+8|0}else{c[f+8>>3]=1.0;i=n/r;e=f}c[e>>3]=i;c[A>>3]=a/r;A=t[46853]|0;t[f+40>>2]=A;t[46853]=A+1;return f|0}function AT(e){e=e|0;var A=0,r=0,i=0.0,a=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0;o=+c[e>>3];e:do{if(o==1.0){if(!(+c[e+8>>3]>=0.0)){A=t[e+28>>2]|0;r=t[e+24>>2]|0;if(!r)u=9;else u=5}else{A=t[e+24>>2]|0;r=t[e+28>>2]|0;if(!r)u=9;else u=5}do{if((u|0)==5){i=+c[r+8>>3];if(i>+c[23266])break e;a=+c[23267];if(!(i>=a)){f=a;i=+c[e+16>>3]-+c[e+8>>3]*a;break}else{f=i;i=+c[r>>3];break}}else if((u|0)==9){a=+c[23267];f=a;i=+c[e+16>>3]-+c[e+8>>3]*a}}while(0);do{if(A){n=+c[A+8>>3];if(n>3]-+c[e+8>>3]*a;break}else{a=+c[A>>3];break}}else{a=+c[23266];n=a;a=+c[e+16>>3]-+c[e+8>>3]*a}}while(0);l=+c[23268];A=i>l;r=a>l;s=+c[23269];if(!(A&r|i>3]-l)/+c[e+8>>3];i=l}if(i>3]-s)/+c[e+8>>3];i=s}if(r){n=(+c[e+16>>3]-l)/+c[e+8>>3];a=l}if(a>3]-s)/+c[e+8>>3];a=s;u=46}else u=46}}else{r=t[e+28>>2]|0;A=t[e+24>>2]|0;do{if(A){i=+c[A>>3];if(i>+c[23268])break e;n=+c[23269];if(!(i>=n)){f=+c[e+16>>3]-n*o;i=n;break}else{f=+c[A+8>>3];break}}else{n=+c[23269];f=+c[e+16>>3]-n*o;i=n}}while(0);do{if(r){a=+c[r>>3];if(a>3]-o*l;a=l;break}else{n=+c[r+8>>3];break}}else{a=+c[23268];n=+c[e+16>>3]-o*a}}while(0);l=+c[23266];A=f>l;r=n>l;s=+c[23267];if(!(A&r|f>3]-l)/o}if(f>3]-s)/o}if(r){n=l;a=(+c[e+16>>3]-l)/o}if(n>3]-s)/o;u=46}else u=46}}}while(0);if((u|0)==46)rT(e,i,f,a,n);return}function rT(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;var n=0;n=e+32|0;FT(t[n>>2]|0,A,r);FT(t[n>>2]|0,i,a);e=e+36|0;FT(t[e>>2]|0,A,r);FT(t[e>>2]|0,i,a);return}function iT(e,A,r){e=e|0;A=A|0;r=r|0;t[e+24+(A<<2)>>2]=r;G_(r);if(t[e+24+(1-A<<2)>>2]|0){AT(e);Z_(t[e+32>>2]|0);Z_(t[e+36>>2]|0);OO(e,187400)}return}function aT(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;w=h;h=h+16|0;b=w;o=A<<2;f=$F(P(o,r)|0)|0;n=t[i>>2]|0;o=$F(o)|0;u=t[e+8>>2]|0;if(n|0){G2(t[n>>2]|0);G2(n)}c=$F(r<<2)|0;t[i>>2]=c;n=0;while(1){if((n|0)>=(r|0))break;t[c+(n<<2)>>2]=f+((P(n,A)|0)<<2);n=n+1|0}s=(a|0)!=0;if(s)XT(e,A);i=(t8()|0)%(A|0)|0;fU(b,A);n=t[c>>2]|0;if(s){HU(i,e,A,n);a=0;n=0}else{iU(i,e,A,n,b);a=0;n=0}while(1){if((n|0)>=(A|0)){l=1;break}f=t[(t[c>>2]|0)+(n<<2)>>2]|0;t[o+(n<<2)>>2]=f;l=(f|0)>(a|0);a=l?f:a;i=l?n:i;n=n+1|0}while(1){if((l|0)>=(r|0))break;f=c+(l<<2)|0;n=t[f>>2]|0;if(s){HU(i,e,A,n);n=0;a=0}else{iU(i,e,A,n,b);n=0;a=0}while(1){if((n|0)>=(A|0))break;v=o+(n<<2)|0;k=t[v>>2]|0;d=t[(t[f>>2]|0)+(n<<2)>>2]|0;d=(k|0)<(d|0)?k:d;t[v>>2]=d;v=(d|0)>(a|0);k=v?n:i;n=n+1|0;a=v?d:a;i=k}l=l+1|0}G2(o);if(s)ST(e,A,u);h=w;return}function tT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0.0,s=0,c=0;l=1.0/+(A|0);f=0;while(1){if((f|0)>=(r|0))break;s=e+(f<<2)|0;i=0.0;a=0;while(1){if((a|0)>=(A|0))break;i=i+ +(t[(t[s>>2]|0)+(a<<2)>>2]|0);a=a+1|0}n=~~(i*l);a=0;while(1){if((a|0)>=(A|0))break;c=(t[s>>2]|0)+(a<<2)|0;t[c>>2]=(t[c>>2]|0)-n;a=a+1|0}f=f+1|0}return}function nT(){t[46855]=~~+D(+ +((t[46854]|0)+4|0));return}function fT(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e>>3]-+c[A>>3];i=+c[e+8>>3]-+c[A+8>>3];return+(i*i+r*r)}function lT(e,A,r){e=e|0;A=A|0;r=r|0;c[e>>3]=+c[A>>3]-+c[r>>3];c[e+8>>3]=+c[A+8>>3]-+c[r+8>>3];return}function sT(e,A,r){e=e|0;A=A|0;r=r|0;c[e>>3]=+c[r>>3]+ +c[A>>3];c[e+8>>3]=+c[r+8>>3]+ +c[A+8>>3];return}function cT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;i=+c[A+8>>3];a=+c[A>>3];return+((+c[r>>3]-a)*(+c[e+8>>3]-i)-(+c[e>>3]-a)*(+c[r+8>>3]-i))}function oT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;i=h;h=h+48|0;a=i+32|0;n=i+16|0;f=i;t[f>>2]=t[e>>2];t[f+4>>2]=t[e+4>>2];t[f+8>>2]=t[e+8>>2];t[f+12>>2]=t[e+12>>2];t[n>>2]=t[A>>2];t[n+4>>2]=t[A+4>>2];t[n+8>>2]=t[A+8>>2];t[n+12>>2]=t[A+12>>2];t[a>>2]=t[r>>2];t[a+4>>2]=t[r+4>>2];t[a+8>>2]=t[r+8>>2];t[a+12>>2]=t[r+12>>2];r=+cT(f,n,a)>0.0&1;h=i;return r|0}function uT(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,h=0.0,w=0.0,k=0.0;h=+c[e>>3];w=+c[i+8>>3];k=+c[r+8>>3];u=(w-k)*h;b=+c[A>>3];o=+c[i>>3];s=+c[A+8>>3];f=+c[e+8>>3];l=s-f;t=+c[r>>3];n=u+b*(k-w)+l*o+t*(f-s);if(n==0.0)i=0;else{w=(t*(f-w)+u+(k-f)*o)/n;k=-(t*l+((k-s)*h+(f-k)*b))/n;c[a>>3]=w*(b-h)+h;c[a+8>>3]=l*w+f;i=k<=1.0&(k>=0.0&(w>=0.0&w<=1.0))&1}return i|0}function bT(e,A,r){e=e|0;A=A|0;r=+r;var i=0,a=0,n=0.0,f=0;t[e+20>>2]=A;G_(A);f=e+24|0;c[f>>3]=+c[A+8>>3]+r;i=t[46856]|0;i=i+((hT(e)|0)*40|0)|0;while(1){a=i+32|0;i=t[a>>2]|0;if(!i)break;r=+c[f>>3];n=+c[i+24>>3];if(r>n)continue;if(!(r==n))break;if(!(+c[A>>3]>+c[t[i+20>>2]>>3]))break}t[e+32>>2]=i;t[a>>2]=e;t[46857]=(t[46857]|0)+1;return}function hT(e){e=e|0;var A=0.0,r=0,i=0.0;r=t[46858]|0;i=+(r|0);A=(+c[e+24>>3]-+c[23273])/+c[23275]*i;do{if(!(A<0.0))if(!(A>=i)){e=~~A;break}else{e=r+-1|0;break}else e=0}while(0);if((e|0)<(t[46859]|0))t[46859]=e;return e|0}function wT(e){e=e|0;var A=0,r=0,i=0;r=e+20|0;if(t[r>>2]|0){A=t[46856]|0;A=A+((hT(e)|0)*40|0)|0;do{i=A+32|0;A=t[i>>2]|0}while((A|0)!=(e|0));t[i>>2]=t[e+32>>2];t[46857]=(t[46857]|0)+-1;Z_(t[r>>2]|0);t[r>>2]=0}return}function kT(){return(t[46857]|0)==0|0}function dT(e){e=e|0;var A=0,r=0,i=0,a=0.0;A=t[46856]|0;r=t[46859]|0;while(1){i=t[A+(r*40|0)+32>>2]|0;if(i|0)break;i=r+1|0;t[46859]=i;r=i}a=+c[i+24>>3];c[e>>3]=+c[t[i+20>>2]>>3];c[e+8>>3]=a;return}function vT(){var e=0,A=0;A=(t[46856]|0)+((t[46859]|0)*40|0)+32|0;e=t[A>>2]|0;t[A>>2]=t[e+32>>2];t[46857]=(t[46857]|0)+-1;return e|0}function gT(){G2(t[46856]|0);t[46856]=0;return}function mT(){var e=0,A=0,r=0;t[46857]=0;t[46859]=0;e=t[46855]|0;A=e<<2;t[46858]=A;r=t[46856]|0;if(!r){r=$F(e*160|0)|0;t[46856]=r;A=t[46858]|0}e=0;while(1){if((e|0)>=(A|0))break;t[r+(e*40|0)+32>>2]=0;e=e+1|0}return}function pT(){jO(187448,40);G2(t[46865]|0);t[46865]=0;return}function ET(){var e=0,A=0,r=0;jO(187448,40);e=t[46855]|0;A=e<<1;t[46866]=A;r=t[46865]|0;if(!r){r=$F(e<<3)|0;t[46865]=r;A=t[46866]|0}e=0;while(1){if((e|0)>=(A|0))break;t[r+(e<<2)>>2]=0;e=e+1|0}t[46860]=BT(0,0)|0;t[46861]=BT(0,0)|0;t[t[46860]>>2]=0;r=t[46861]|0;A=t[46860]|0;t[A+4>>2]=r;t[r>>2]=A;t[(t[46861]|0)+4>>2]=0;r=t[46865]|0;t[r>>2]=t[46860];t[r+((t[46866]|0)+-1<<2)>>2]=t[46861];return}function BT(e,A){e=e|0;A=A|0;var r=0;r=TO(187448)|0;t[r+8>>2]=e;i[r+16>>0]=A;t[r+32>>2]=0;t[r+20>>2]=0;t[r+12>>2]=0;return r|0}function yT(e,A){e=e|0;A=A|0;var r=0,a=0.0,n=0.0,f=0,l=0.0,s=0,o=0.0,u=0.0,b=0.0,h=0,w=0.0,k=0.0;f=t[e+8>>2]|0;s=t[A+8>>2]|0;do{if((!((f|0)==0|(s|0)==0)?(h=t[f+36>>2]|0,r=t[s+36>>2]|0,(h|0)!=(r|0)):0)?(l=+c[f>>3],a=+c[s+8>>3],n=+c[f+8>>3],o=+c[s>>3],u=a*l-o*n,!(u>-1.0e-10&u<1.0e-10)):0){w=+c[f+16>>3];k=+c[s+16>>3];b=(w*a-k*n)/u;l=(k*l-w*o)/u;a=+c[h+8>>3];n=+c[r+8>>3];do{if(a>3]<+c[r>>3]:0){r=h;break}e=A}}while(0);e=i[e+16>>0]|0;if(!(b>=+c[r>>3])){if(e<<24>>24==1){e=0;break}}else if(!(e<<24>>24)){e=0;break}e=y_()|0;t[e+20>>2]=0;c[e>>3]=b;c[e+8>>3]=l}else e=0}while(0);return e|0}function CT(e,A){e=e|0;A=A|0;var r=0.0,a=0,n=0.0,f=0.0,l=0.0,s=0,o=0.0,u=0,b=0,h=0.0,w=0;b=t[e+8>>2]|0;s=t[b+36>>2]|0;o=+c[A>>3];h=+c[s>>3];u=o>h;w=i[e+16>>0]|0;if(u)if(!(w<<24>>24))e=1;else a=4;else if(w<<24>>24==1)e=0;else a=4;if((a|0)==4){r=+c[b>>3];e:do{if(r==1.0){r=+c[A+8>>3];n=r-+c[s+8>>3];f=o-h;l=+c[b+8>>3];A=l<0.0;do{if(u?l>=0.0:A){if(n>=l*f){e=1;break e}}else{e=l*r+o>+c[b+16>>3];if(A)if(e){e=0;break e}else break;else if(e)break;else{e=0;break e}}}while(0);h=h-+c[t[b+32>>2]>>3];e=l*(f*f-n*n)>3]-o*r;l=+c[A+8>>3]-f;h=o-h;o=f-+c[s+8>>3];e=l*l>o*o+h*h}}while(0);e=(e^w<<24>>24!=0)&1}return e|0}function IT(e,A){e=e|0;A=A|0;t[A>>2]=e;e=e+4|0;t[A+4>>2]=t[e>>2];t[t[e>>2]>>2]=A;t[e>>2]=A;return}function ZT(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;a=t[46866]|0;A=~~((+c[e>>3]-+c[23272])/+c[23274]*+(a|0));A=(A|0)>0?A:0;a=(A|0)<(a|0)?A:a+-1|0;A=GT(a)|0;if(!A){r=1;while(1){A=GT(a-r|0)|0;if(A|0)break;A=GT(r+a|0)|0;if(A|0)break;r=r+1|0}t[46867]=(t[46867]|0)+r}t[46868]=(t[46868]|0)+1;i=t[46860]|0;r=t[46861]|0;e:do{if((A|0)==(i|0))n=9;else{if((A|0)!=(r|0)?(CT(A,e)|0)!=0:0){n=9;break}while(1){A=t[A>>2]|0;if((A|0)==(i|0))break e;if(CT(A,e)|0){i=A;break}}}}while(0);if((n|0)==9){while(1){A=t[A+4>>2]|0;if((A|0)==(r|0))break;if(!(CT(A,e)|0))break;else n=9}i=t[A>>2]|0}if((a|0)>0?(a|0)<((t[46866]|0)+-1|0):0){A=(t[46865]|0)+(a<<2)|0;r=t[A>>2]|0;if(r|0){n=r+12|0;t[n>>2]=(t[n>>2]|0)+-1}t[A>>2]=i;n=i+12|0;t[n>>2]=(t[n>>2]|0)+1}return i|0}function GT(e){e=e|0;var A=0,r=0;if((e|0)>-1&(t[46866]|0)>(e|0)?(r=(t[46865]|0)+(e<<2)|0,A=t[r>>2]|0,(A|0)!=0):0){if((t[A+8>>2]|0)==(-2|0)){t[r>>2]=0;e=A+12|0;r=(t[e>>2]|0)+-1|0;t[e>>2]=r;if(!r){OO(A,187448);A=0}else A=0}}else A=0;return A|0}function LT(e){e=e|0;var A=0,r=0;A=e+4|0;r=t[e>>2]|0;t[r+4>>2]=t[A>>2];t[t[A>>2]>>2]=r;t[e+8>>2]=-2;return}function QT(e){e=e|0;return t[e+4>>2]|0}function DT(e){e=e|0;return t[e>>2]|0}function zT(e){e=e|0;var A=0;A=t[e+8>>2]|0;if(!A)e=187672;else e=(i[e+16>>0]|0)==0?A+32|0:A+36|0;return t[e>>2]|0}function WT(e){e=e|0;var A=0;A=t[e+8>>2]|0;if(!A)e=187672;else e=(i[e+16>>0]|0)==0?A+36|0:A+32|0;return t[e>>2]|0}function YT(){jO(187480,24);return}function FT(e,A,r){e=e|0;A=+A;r=+r;var i=0,a=0,n=0,f=0,l=0;l=h;h=h+32|0;f=l;n=(t[46869]|0)+((t[e+16>>2]|0)*96|0)+88|0;a=t[n>>2]|0;c[f+8>>3]=A;c[f+16>>3]=r;i=MT(e,f,a)|0;do{if(i|0){if((i|0)<0){f=TO(187480)|0;c[f+8>>3]=A;c[f+16>>3]=r;t[f>>2]=a;t[n>>2]=f;break}while(1){i=t[a>>2]|0;n=MT(e,f,i)|0;if((n|0)>0)a=i;else break}if(n|0){f=TO(187480)|0;c[f+8>>3]=A;c[f+16>>3]=r;t[a>>2]=f;t[f>>2]=i}}}while(0);h=l;return}function MT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,t=0.0,n=0.0,f=0.0,l=0.0,s=0.0;do{if(r){a=+c[A+8>>3];f=+c[r+8>>3];i=+c[A+16>>3];t=+c[r+16>>3];if(!(a==f&i==t)){s=+c[e>>3];l=a-s;a=+c[e+8>>3];n=i-a;f=f-s;i=t-a;if(!(l>=0.0)){if(f>=0.0){A=1;break}a=i/f;i=n/l;if(ia){A=1;break}A=l>f?-1:1;break}if(!(f<0.0)){A=f>0.0;if(!(l>0.0)){if(A){A=!(n<=0.0)?1:-1;break}if(n0.0?-1:1;break}a=i/f;i=n/l;if(ia){A=1;break}A=l>2]|0;r=e+(r*20|0)+4|0;A=1;e=0;while(1){if((A|0)>=(a|0))break;n=e+((t[i+(t[(t[r>>2]|0)+(A<<2)>>2]<<2)>>2]|0)>0&1)|0;A=A+1|0;e=n}return e|0}function NT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=e+(A*20|0)|0;A=e+(A*20|0)+4|0;e=1;while(1){if((e|0)>=(t[i>>2]|0))break;t[r+(t[(t[A>>2]|0)+(e<<2)>>2]<<2)>>2]=1;e=e+1|0}return}function RT(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=e+(A*20|0)|0;A=e+(A*20|0)+4|0;e=1;while(1){if((e|0)>=(t[i>>2]|0))break;t[r+(t[(t[A>>2]|0)+(e<<2)>>2]<<2)>>2]=0;e=e+1|0}return}function xT(e,A){e=e|0;A=A|0;if(!(t[e+8>>2]|0))e=HT(e,A)|0;else e=JT(e,A)|0;return e|0}function JT(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=A<<2;i=$F(P(a,A)|0)|0;a=$F(a)|0;r=0;while(1){if((r|0)>=(A|0)){r=0;break}t[a+(r<<2)>>2]=i+((P(r,A)|0)<<2);r=r+1|0}while(1){if((r|0)>=(A|0))break;HU(r,e,A,t[a+(r<<2)>>2]|0);r=r+1|0}return a|0}function HT(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=h;h=h+16|0;a=f;n=A<<2;i=$F(P(n,A)|0)|0;n=$F(n)|0;r=0;while(1){if((r|0)>=(A|0))break;t[n+(r<<2)>>2]=i+((P(r,A)|0)<<2);r=r+1|0}fU(a,A);r=0;while(1){if((r|0)>=(A|0))break;iU(r,e,A,t[n+(r<<2)>>2]|0,a);r=r+1|0}lU(a);h=f;return n|0}function PT(e,A){e=e|0;A=A|0;var r=0,i=0;i=t[e+8>>2]|0;XT(e,A);r=JT(e,A)|0;ST(e,A,i);return r|0}function XT(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,c=0,o=0,u=0,b=0;o=$F(A<<2)|0;r=0;i=0;while(1){if((r|0)>=(A|0))break;c=(t[e+(r*20|0)>>2]|0)+i|0;r=r+1|0;i=c}i=$F(i<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;t[o+(r<<2)>>2]=0;r=r+1|0}a=0;while(1){if((a|0)>=(A|0))break;t[e+(a*20|0)+8>>2]=i;NT(e,a,o);n=e+(a*20|0)|0;f=t[n>>2]|0;l=e+(a*20|0)+4|0;c=f+-2|0;r=1;while(1){if((r|0)>=(f|0))break;u=t[(t[l>>2]|0)+(r<<2)>>2]|0;b=t[e+(u*20|0)>>2]|0;s[i+(r<<2)>>2]=+(c+b-((VT(e,0,u,o)|0)<<1)|0);r=r+1|0}RT(e,a,o);i=i+(t[n>>2]<<2)|0;a=a+1|0}G2(o);return}function ST(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=e+8|0;G2(t[i>>2]|0);t[i>>2]=0;e:do{if(r|0){i=0;while(1){if((i|0)>=(A|0))break e;t[e+(i*20|0)+8>>2]=r;a=r+(t[e+(i*20|0)>>2]<<2)|0;i=i+1|0;r=a}}}while(0);return}function jT(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0.0,f=0.0,l=0;a=0;n=0.0;while(1){if((a|0)>=(A|0))break;l=t[e+(a<<2)>>2]|0;f=+c[l+(r<<3)>>3]-+c[l+(i<<3)>>3];a=a+1|0;n=f*f+n}return+ +D(+n)}function UT(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;if((i|0)>(r|0)){t[46873]=e;_4(A+(r<<2)|0,1-r+i|0,4,77)}return}function TT(e,A){e=e|0;A=A|0;var r=0.0,i=0.0,a=0;a=t[46873]|0;i=+s[a+(t[e>>2]<<2)>>2];r=+s[a+(t[A>>2]<<2)>>2];return(ir&1)|0}function OT(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;f=h;h=h+16|0;a=f;if((r|0)<(i|0)){_T(e,A,r,i,a);n=t[a>>2]|0;a=n+-1|0;OT(e,A,r,a);n=n+1|0;OT(e,A,n,i);if(!(qT(e,A,r,a)|0))OT(e,A,r,a);if(!(qT(e,A,n,i)|0))OT(e,A,n,i)}h=f;return}function _T(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0.0,u=0,b=0;n=t8()|0;n=A+(((((t8()|0)<<16|n)>>>0)%((1-r+i|0)>>>0)|0)+r<<2)|0;l=t[n>>2]|0;s=A+(r<<2)|0;t[n>>2]=t[s>>2];t[s>>2]=l;o=+c[e+(l<<3)>>3];n=r+1|0;r=i;e:while(1){if((n|0)>=(r|0))break;while(1){if((n|0)>=(r|0))break;if(!(+c[e+(t[A+(n<<2)>>2]<<3)>>3]<=o))break;n=n+1|0}while(1){if((n|0)>=(r|0))continue e;i=A+(r<<2)|0;f=t[i>>2]|0;if(!(+c[e+(f<<3)>>3]>o))break;r=r+-1|0}b=A+(n<<2)|0;u=t[b>>2]|0;t[b>>2]=f;t[i>>2]=u;n=n+1|0;r=r+-1|0}b=n+((+c[e+(t[A+(n<<2)>>2]<<3)>>3]>o)<<31>>31)|0;t[a>>2]=b;b=A+(b<<2)|0;t[s>>2]=t[b>>2];t[b>>2]=l;return}function qT(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=1;while(1){a=r+1|0;if(!((r|0)<(i|0)&(n|0)!=0))break;n=+c[e+(t[A+(r<<2)>>2]<<3)>>3]>+c[e+(t[A+(a<<2)>>2]<<3)>>3]?0:n;r=a}return n|0}function KT(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0.0;B=h;h=h+16|0;p=4;E=Z2(40)|0;t[E>>2]=0;g=B;d=0;m=re(23,A*40|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,E|0,p|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)!=1){r=0;w=0;while(1){if((r|0)>=(A|0))break;k=(t[(t[e+(r<<2)>>2]|0)+4>>2]|0)+w|0;r=r+1|0;w=k}d=0;k=re(23,w*24|0)|0;r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,E|0,p|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)!=1){r=0;o=0;while(1){if((o|0)>=(A|0))break;u=m+(o*40|0)|0;t[u>>2]=k+(r*24|0);b=e+(o<<2)|0;a=0;n=1797693134862315708145274.0e284;f=-1797693134862315708145274.0e284;l=-1797693134862315708145274.0e284;s=1797693134862315708145274.0e284;while(1){i=t[b>>2]|0;if((a|0)>=(t[i+4>>2]|0))break;i=t[i>>2]|0;C=+c[i+(a<<4)>>3];y=+c[i+(a<<4)+8>>3];c[k+(r*24|0)>>3]=C;c[k+(r*24|0)+8>>3]=y;t[k+(r*24|0)+16>>2]=u;t[k+(r*24|0)+20>>2]=0;a=a+1|0;r=r+1|0;n=nC?f:C;l=l>y?l:y;s=s>2]=k+((r+-1|0)*24|0);c[m+(o*40|0)+8>>3]=n;c[m+(o*40|0)+16>>3]=s;c[m+(o*40|0)+24>>3]=f;c[m+(o*40|0)+32>>3]=l;o=o+1|0}t[g>>2]=w;t[g+4>>2]=A;E=G6(187496,1,E|0,p|0)|0;p=G;d=0;r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,E|0,p|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)==1){r=G;b=k;o=k;u=m}else{r=0;b=k;o=k;u=m}}else{r=G;b=0;o=k;u=m}}else{r=G;b=0;o=0;u=0}while(1){if(r|0){d=0;oe(105,m|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,E|0,p|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k;continue}d=0;oe(105,o|0);r=d;d=0;if((r|0)!=0&(v|0)!=0){i=L6(t[r>>2]|0,E|0,p|0)|0;if(!i)aA(r|0,v|0);G=v}else i=-1;if((i|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k;continue}else{i=17;break}}d=0;r=ie(78,b|0,g|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,E|0,p|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k;continue}if(!r){d=0;r=te(24,e|0,A|0,u|0)|0;i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,E|0,p|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k;continue}}d=0;oe(105,m|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,E|0,p|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k;continue}d=0;oe(105,o|0);i=d;d=0;if((i|0)!=0&(v|0)!=0){a=L6(t[i>>2]|0,E|0,p|0)|0;if(!a)aA(i|0,v|0);G=v}else a=-1;if((a|0)==1){a=u;w=o;k=b;r=G;u=a;o=w;b=k}else{i=24;break}}if((i|0)==17)r=0;else if((i|0)==24)r=(r|0)==0&1;G2(E|0);h=B;return r|0}function $T(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+16|0;k=p;b=p+8|0;w=p+4|0;t[A+8>>2]=0;m=$F(t[A>>2]<<2)|0;a=t[A>>2]|0;i=0;while(1){if((i|0)>=(a|0))break;t[m+(i<<2)>>2]=e+(i*24|0);i=i+1|0}_4(m,a,4,79);o=0;n=0;a=0;f=0;e:while(1){if((o|0)>=(t[A>>2]|0)){v=0;r=n;g=f;break}u=m+(o<<2)|0;i=t[u>>2]|0;t[b>>2]=i;e=t[i+16>>2]|0;if((t[e>>2]|0)==(i|0))i=t[e+4>>2]|0;else i=i+-24|0;t[w>>2]=i;c=0;e=n;s=f;while(1){if((c|0)>=2)break;switch(AO(b,w)|0){case-1:{n=0;f=e;while(1){if((n|0)>=(s|0))break;l=rO(t[f>>2]|0,i)|0;if(l|0){v=l;r=e;g=s;break e}n=n+1|0;f=t[f+4>>2]|0}n=$F(12)|0;if(!s){a=0;e=n}else t[a+4>>2]=n;t[n+8>>2]=a;t[n>>2]=i;t[n+4>>2]=0;t[i+20>>2]=n;f=s+1|0;break}case 1:{i=i+20|0;n=t[i>>2]|0;if(!n){d=19;break e}do{if((s|0)!=1){if((n|0)==(e|0)){e=t[e+4>>2]|0;t[e+8>>2]=0;break}if((n|0)==(a|0)){a=t[a+8>>2]|0;t[a+4>>2]=0;break}else{l=n+4|0;f=t[n+8>>2]|0;t[f+4>>2]=t[l>>2];t[(t[l>>2]|0)+8>>2]=f;break}}else{e=0;a=0}}while(0);G2(n);t[i>>2]=0;n=a;f=s+-1|0;break}default:{n=a;f=s}}i=t[u>>2]|0;a=t[i+16>>2]|0;if((i|0)==(t[a+4>>2]|0))a=t[a>>2]|0;else a=i+24|0;t[w>>2]=a;c=c+1|0;a=n;s=f}o=o+1|0;n=e;f=s}if((d|0)==19){nw(1,93727,k)|0;aA(187496,1)}i=0;while(1){if((i|0)>=(g|0))break;d=t[r+4>>2]|0;G2(r);i=i+1|0;r=d}G2(m);h=p;return v|0}function eO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0.0,s=0.0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0.0,g=0.0,m=0,p=0.0,E=0.0,B=0.0,y=0.0,C=0,I=0,Z=0,G=0,L=0,Q=0.0;L=h;h=h+48|0;b=L+24|0;u=L+16|0;m=L;i=0;e:while(1){if((i|0)>=(A|0)){i=0;break}C=t[e+(i<<2)>>2]|0;I=t[C>>2]|0;t[m>>2]=t[I>>2];t[m+4>>2]=t[I+4>>2];t[m+8>>2]=t[I+8>>2];t[m+12>>2]=t[I+12>>2];I=i+1|0;Z=r+(i*40|0)+8|0;w=r+(i*40|0)+24|0;k=r+(i*40|0)+32|0;n=r+(i*40|0)+16|0;i=I;while(1){if((i|0)>=(A|0)){i=I;continue e}f=t[e+(i<<2)>>2]|0;l=+c[Z>>3];s=+c[r+(i*40|0)+24>>3];o=!(l<=s);a=+c[r+(i*40|0)+8>>3];if((((!(o|!(l>=a))?(d=+c[n>>3],v=+c[r+(i*40|0)+32>>3],d<=v):0)?(g=+c[r+(i*40|0)+16>>3],d>=g):0)?(Q=+c[w>>3],!(!(Q<=s)|!(Q>=a))):0)?(Q=+c[k>>3],!(!(Q<=v)|!(Q>=g))):0){t[u>>2]=t[f>>2];t[u+4>>2]=t[f+4>>2];t[b>>2]=t[m>>2];t[b+4>>2]=t[m+4>>2];t[b+8>>2]=t[m+8>>2];t[b+12>>2]=t[m+12>>2];if(Wl(u,b)|0){i=1;break e}}else G=11;if((((((G|0)==11?(G=0,p=+c[w>>3],!(!(a<=p)|!(a>=l))):0)?(E=+c[r+(i*40|0)+16>>3],B=+c[k>>3],E<=B):0)?(y=+c[n>>3],!(!(E>=y)|(!(s<=p)|o))):0)?(Q=+c[r+(i*40|0)+32>>3],!(!(Q<=B)|!(Q>=y))):0)?(o=t[f>>2]|0,t[u>>2]=t[C>>2],t[u+4>>2]=t[C+4>>2],t[b>>2]=t[o>>2],t[b+4>>2]=t[o+4>>2],t[b+8>>2]=t[o+8>>2],t[b+12>>2]=t[o+12>>2],Wl(u,b)|0):0){i=1;break e}i=i+1|0}}h=L;return i|0}function AO(e,A){e=e|0;A=A|0;var r=0.0,i=0;i=t[e>>2]|0;e=t[A>>2]|0;r=+c[i>>3]-+c[e>>3];if(!(r!=0.0)){r=+c[i+8>>3]-+c[e+8>>3];if(r==0.0)e=0;else e=r>0.0?1:-1}else e=r>0.0?1:-1;return e|0}function rO(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0;o=h;h=h+64|0;n=o+32|0;f=o+24|0;l=o+16|0;s=o;a=o+48|0;iO(e,A,a);r=a+8|0;i=t[r>>2]|0;do{if((i|0)>0)r=0;else{if((i|0)<0){iO(A,e,a);r=t[r>>2]|0;if((r|0)>0){r=0;break}if((r|0)<0)r=3;else{r=t[a>>2]|0;r=aO(A,e,(r|0)>-1?r:0-r|0)|0}if(!(tO(e,A,f,l,r)|0)){r=0;break}}else{r=t[a>>2]|0;if((r|0)==(t[a+4>>2]|0)){r=aO(e,A,0)|0;r=(aO(e,A,(r|0)<=(aO(e,A,1)|0)&1)|0)<<1}else r=aO(e,A,(r|0)>-1?r:0-r|0)|0;if(!(tO(e,A,f,l,r)|0)){r=0;break}}c[s>>3]=+c[f>>3];c[s+8>>3]=+c[l>>3];t[n>>2]=t[s>>2];t[n+4>>2]=t[s+4>>2];t[n+8>>2]=t[s+8>>2];t[n+12>>2]=t[s+12>>2];r=nO(e,A,n)|0}}while(0);h=o;return r|0}function iO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0;f=+c[e>>3];l=+c[e+8>>3];i=t[e+16>>2]|0;if((t[i+4>>2]|0)==(e|0)){e=t[i>>2]|0;i=e}else{i=e+24|0;e=e+24|0}n=+c[i>>3]-f;a=+c[e+8>>3]-l;i=t[A+16>>2]|0;if((t[i+4>>2]|0)==(A|0)){e=t[i>>2]|0;i=e}else{i=A+24|0;e=A+24|0}s=+c[i>>3]-f;o=+c[e+8>>3]-l;l=(+c[A+8>>3]-l)*n-(+c[A>>3]-f)*a;A=l==0.0?0:l>0.0?1:-1;t[r>>2]=A;l=o*n-s*a;e=l==0.0?0:l>0.0?1:-1;t[r+4>>2]=e;t[r+8>>2]=P(e,A)|0;return}function aO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0;s=+c[e>>3];o=+c[e+8>>3];a=t[e+16>>2]|0;if((t[a+4>>2]|0)==(e|0))e=t[a>>2]|0;else e=e+24|0;l=+c[e>>3];f=+c[e+8>>3];do{if(r){e=t[A+16>>2]|0;if((t[e+4>>2]|0)==(A|0)){A=t[e>>2]|0;break}else{A=A+24|0;break}}}while(0);n=+c[A>>3];i=+c[A+8>>3];if(s==l)if(s==n)A=(lO(o,i,f)|0)!=-1&1;else A=0;else A=lO(s,n,l)|0;return A|0}function tO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,h=0.0,w=0.0;e:do{if((a|0)<1)n=0;else{b=+c[e>>3];w=+c[e+8>>3];n=t[e+16>>2]|0;if((t[n+4>>2]|0)==(e|0))n=t[n>>2]|0;else n=e+24|0;o=+c[n>>3];l=+c[n+8>>3];u=+c[A>>3];h=+c[A+8>>3];n=t[A+16>>2]|0;if((t[n+4>>2]|0)==(A|0))n=t[n>>2]|0;else n=A+24|0;s=+c[n>>3];f=+c[n+8>>3];A:do{switch(a|0){case 3:{if(b==o){c[r>>3]=b;f=(h-f)/(u-s)*(b-s)+f;break A}if(u==s){c[r>>3]=u;f=(w-l)/(b-o)*(u-o)+l;break A}else{s=(h-f)/(u-s);o=(w-l)/(b-o);h=h-s*u;w=w-o*b;f=s-o;c[r>>3]=(w-h)/f;f=(s*w-h*o)/f;break A}}case 2:{if((aO(e,A,0)|0)==-1)if((aO(A,e,1)|0)==-1){a=(aO(A,e,0)|0)==-1;o=a?o:b;s=u;l=a?l:w;f=h}else{o=s;s=u;l=f;f=h}else if((aO(e,A,1)|0)!=-1)if((aO(A,e,0)|0)==-1){s=b;f=w}else{n=0;break e}else{o=u;l=h}c[r>>3]=(s+o)*.5;f=(f+l)*.5;break}case 1:if((h-w)*(b-o)==(u-b)*(w-l)){c[r>>3]=u;f=h;break A}else{c[r>>3]=s;break A}default:{n=1;break e}}}while(0);c[i>>3]=f;n=1}}while(0);return n|0}function nO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0;v=h;h=h+16|0;k=v;b=+c[e>>3];w=+c[e+8>>3];i=t[e+16>>2]|0;if((t[i+4>>2]|0)==(e|0))i=t[i>>2]|0;else i=e+24|0;o=+c[i>>3];l=+c[i+8>>3];s=+c[A>>3];u=+c[A+8>>3];i=t[A+16>>2]|0;if((t[i+4>>2]|0)==(A|0))i=t[i>>2]|0;else i=A+24|0;f=+c[i>>3];n=+c[i+8>>3];e:do{if(!(b!=o&s!=f)){do{if(b==o){a=+c[r>>3];if(b==a?w==+c[r+8>>3]:0)break;if(!(o==a)){d=18;break e}if(!(l==+c[r+8>>3])){d=18;break e}}}while(0);if(s==f){a=+c[r>>3];if(s==a?u==+c[r+8>>3]:0){i=0;break}if(f==a?n==+c[r+8>>3]:0)i=0;else d=18}else i=0}else d=18}while(0);if((d|0)==18)if(0>1){i=t[15712]|0;w=+c[r+8>>3];c[k>>3]=+c[r>>3];c[k+8>>3]=w;a3(i,93756,k)|0;fO(1,e);fO(2,A);i=1}else i=1;h=v;return i|0}function fO(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0.0,l=0,s=0,o=0.0,u=0.0;s=h;h=h+48|0;l=s;a=t[15712]|0;n=+c[A>>3];f=+c[A+8>>3];r=t[A+16>>2]|0;if((t[r+4>>2]|0)==(A|0)){r=t[r>>2]|0;i=r}else{i=A+24|0;r=A+24|0}u=+c[i>>3];o=+c[r+8>>3];t[l>>2]=e;c[l+8>>3]=n;c[l+16>>3]=f;c[l+24>>3]=u;c[l+32>>3]=o;a3(a,93784,l)|0;h=s;return}function lO(e,A,r){e=+e;A=+A;r=+r;return(e==A|A==r?0:(e>3]=0.0;i=i+1|0}c[a+(e<<3)>>3]=1.0;pb(t[A+(e<<2)>>2]|0,a,r);e=e+1|0}G2(a);a=0;while(1){if((a|0)>=(r|0)){e=1;break e}i=A+(a<<2)|0;e=0;while(1){if((e|0)==(a|0))break;l=(t[i>>2]|0)+(e<<3)|0;f=+c[l>>3];n=(t[A+(e<<2)>>2]|0)+(a<<3)|0;c[l>>3]=+c[n>>3];c[n>>3]=f;e=e+1|0}a=a+1|0}}}while(0);return e|0}function cO(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,s=0,o=0.0,u=0,b=0,h=0,w=0,k=0,d=0,v=0;k=A<<3;w=$F(k)|0;k=$F(k)|0;d=A*30|0;b=(r|0)<(A|0)?r:A;h=A+-1|0;u=(n|0)==0;r=0;f=0;e:while(1){if((f|0)>=(b|0))break;s=t[i+(f<<2)>>2]|0;do{A:do{if(u)r=0;else{r=0;while(1){if((r|0)==(A|0)){r=0;break A}c[s+(r<<3)>>3]=+((t8()|0)%100|0|0);r=r+1|0}}}while(0);while(1){if((r|0)==(f|0))break;n=t[i+(r<<2)>>2]|0;uO(s,0,h,-+oO(n,0,h,s),n);r=r+1|0}l=+bO(s,0,h)}while(l<1.0e-10);hO(s,0,h,1.0/l,s);r=0;do{wO(k,0,h,s);kO(e,A,A,s,w);wO(s,0,h,w);n=0;while(1){if((n|0)==(f|0))break;v=t[i+(n<<2)>>2]|0;uO(s,0,h,-+oO(v,0,h,s),v);n=n+1|0}v=r;r=r+1|0;l=+bO(s,0,h);if(!((v|0)<(d|0)&!(l<1.0e-10)))break e;hO(s,0,h,1.0/l,s);o=+oO(s,0,h,k)}while(+Q(+o)<.999);c[a+(f<<3)>>3]=o*l;f=f+1|0}while(1){if((f|0)>=(b|0))break;s=t[i+(f<<2)>>2]|0;n=0;while(1){if((n|0)>=(A|0)){n=0;break}c[s+(n<<3)>>3]=+((t8()|0)%100|0|0);n=n+1|0}while(1){if((n|0)>=(f|0))break;v=t[i+(n<<2)>>2]|0;uO(s,0,h,-+oO(v,0,h,s),v);n=n+1|0}hO(s,0,h,1.0/+bO(s,0,h),s);c[a+(f<<3)>>3]=0.0;f=f+1|0}u=b+-1|0;f=0;while(1){if((f|0)>=(u|0))break;e=a+(f<<3)|0;A=f+1|0;l=+c[e>>3];n=f;s=A;while(1){if((s|0)>=(b|0))break;o=+c[a+(s<<3)>>3];v=l>2]|0);v=i+(n<<2)|0;wO(t[s>>2]|0,0,h,t[v>>2]|0);wO(t[v>>2]|0,0,h,w);c[a+(n<<3)>>3]=+c[e>>3];c[e>>3]=l;f=A}G2(w);G2(k);return(r|0)<=(d|0)|0}function oO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0.0;t=0.0;a=1-A+r|0;i=i+(A<<3)|0;r=e+(A<<3)|0;while(1){if(!a)break;t=+c[i>>3]*+c[r>>3]+t;a=a+-1|0;i=i+8|0;r=r+8|0}return+t}function uO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var t=0;t=1-A+r|0;a=a+(A<<3)|0;r=e+(A<<3)|0;while(1){if(!t)break;c[r>>3]=+c[r>>3]+ +c[a>>3]*i;t=t+-1|0;a=a+8|0;r=r+8|0}return}function bO(e,A,r){e=e|0;A=A|0;r=r|0;return+ +D(+ +oO(e,A,r,e))}function hO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=a|0;var t=0;t=1-A+r|0;a=a+(A<<3)|0;r=e+(A<<3)|0;while(1){if(!t)break;c[r>>3]=+c[a>>3]*i;t=t+-1|0;a=a+8|0;r=r+8|0}return}function wO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=1-A+r|0;i=i+(A<<3)|0;r=e+(A<<3)|0;while(1){if(!a)break;c[r>>3]=+c[i>>3];a=a+-1|0;i=i+8|0;r=r+8|0}return}function kO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0,l=0,s=0;l=0;while(1){if((l|0)>=(A|0))break;s=e+(l<<2)|0;n=0.0;f=0;while(1){if((f|0)>=(r|0))break;n=+c[i+(f<<3)>>3]*+c[(t[s>>2]|0)+(f<<3)>>3]+n;f=f+1|0}c[a+(l<<3)>>3]=n;l=l+1|0}return}function dO(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,o=0.0,u=0,b=0,h=0,w=0.0;l=t[n>>2]|0;if(!l){h=r<<2;f=Z2(P(h,a)|0)|0;h=Z2(h)|0}else{h=r<<2;f=Q2(t[l>>2]|0,P(h,a)|0)|0;h=Q2(l,h)|0}t[n>>2]=h;l=0;while(1){if((l|0)>=(r|0)){n=0;break}t[h+(l<<2)>>2]=f;l=l+1|0;f=f+(a<<2)|0}while(1){if((n|0)>=(r|0))break;u=e+(n<<2)|0;b=h+(n<<2)|0;l=0;while(1){if((l|0)<(a|0)){f=0;o=0.0}else break;while(1){if((f|0)>=(i|0))break;w=+c[(t[u>>2]|0)+(f<<3)>>3]*+s[(t[A+(f<<2)>>2]|0)+(l<<2)>>2]+o;f=f+1|0;o=w}s[(t[b>>2]|0)+(l<<2)>>2]=o;l=l+1|0}n=n+1|0}return}function vO(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,o=0.0,u=0,b=0,h=0;l=t[n>>2]|0;if(!l){f=Z2(P(r<<3,a)|0)|0;h=Z2(r<<2)|0}else{f=Q2(t[l>>2]|0,P(r<<3,a)|0)|0;h=Q2(l,r<<2)|0}t[n>>2]=h;l=0;while(1){if((l|0)>=(r|0)){n=0;break}t[h+(l<<2)>>2]=f;l=l+1|0;f=f+(a<<3)|0}while(1){if((n|0)>=(r|0))break;u=e+(n<<2)|0;b=h+(n<<2)|0;l=0;while(1){if((l|0)<(a|0)){o=0.0;f=0}else break;while(1){if((f|0)>=(i|0))break;o=+c[(t[u>>2]|0)+(f<<3)>>3]*+s[(t[A+(f<<2)>>2]|0)+(l<<2)>>2]+o;f=f+1|0}c[(t[b>>2]|0)+(l<<3)>>3]=o;l=l+1|0}n=n+1|0}return}function gO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0.0,o=0,u=0,b=0,h=0,w=0,k=0;f=t[a>>2]|0;if(!f){n=Z2(P(r*20|0,i)|0)|0;k=Z2(r<<2)|0}else{n=Q2(t[f>>2]|0,P(r*20|0,i)|0)|0;k=Q2(f,r<<2)|0}t[a>>2]=k;f=0;while(1){if((f|0)>=(r|0)){a=0;break}t[k+(f<<2)>>2]=n;f=f+1|0;n=n+(i<<2)|0}while(1){if((a|0)>=(r|0))break;o=t[e+(a*20|0)+4>>2]|0;u=t[e+(a*20|0)+8>>2]|0;b=t[e+(a*20|0)>>2]|0;h=k+(a<<2)|0;n=0;while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;l=0.0;f=0;while(1){if((f|0)>=(b|0))break;l=+c[(t[w>>2]|0)+(t[o+(f<<2)>>2]<<3)>>3]*+s[u+(f<<2)>>2]+l;f=f+1|0}s[(t[h>>2]|0)+(n<<2)>>2]=l;n=n+1|0}a=a+1|0}return}function mO(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0;r=0.0;i=A;a=e;while(1){if(!a)break;r=+c[i>>3]+r;i=i+8|0;a=a+-1|0}r=r/+(e|0);while(1){if(!e)break;c[A>>3]=+c[A>>3]-r;A=A+8|0;e=e+-1|0}return}function pO(e,A){e=e|0;A=A|0;var r=0;r=0;while(1){if((r|0)>=(e|0))break;c[A+(r<<3)>>3]=+((t8()|0)%500|0|0);r=r+1|0}mO(e,A);return}function EO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0,o=0,u=0;f=0;while(1){if((f|0)>=(A|0))break;l=t[e+(f*20|0)>>2]|0;o=e+(f*20|0)+8|0;u=e+(f*20|0)+4|0;a=0.0;n=0;while(1){if((n|0)>=(l|0))break;a=+c[r+(t[(t[u>>2]|0)+(n<<2)>>2]<<3)>>3]*+s[(t[o>>2]|0)+(n<<2)>>2]+a;n=n+1|0}c[i+(f<<3)>>3]=a;f=f+1|0}return}function BO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0;f=0;while(1){if((f|0)>=(A|0))break;l=e+(f<<2)|0;a=0.0;n=0;while(1){if((n|0)==(A|0))break;a=+c[r+(n<<3)>>3]*+s[(t[l>>2]|0)+(n<<2)>>2]+a;n=n+1|0}c[i+(f<<3)>>3]=a;f=f+1|0}return}function yO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;c[i+(a<<3)>>3]=+c[A+(a<<3)>>3]-+c[r+(a<<3)>>3];a=a+1|0}return}function CO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;c[i+(a<<3)>>3]=+c[r+(a<<3)>>3]+ +c[A+(a<<3)>>3];a=a+1|0}return}function IO(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;c[i+(a<<3)>>3]=+c[A+(a<<3)>>3]*r;a=a+1|0}return}function ZO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=0;while(1){if((i|0)>=(e|0))break;c[r+(i<<3)>>3]=+c[A+(i<<3)>>3];i=i+1|0}return}function GO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0;i=0.0;a=0;while(1){if((a|0)>=(e|0))break;i=+c[r+(a<<3)>>3]*+c[A+(a<<3)>>3]+i;a=a+1|0}return+i}function LO(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0;r=0;i=-1.e+50;while(1){if((r|0)>=(e|0))break;a=+Q(+ +c[A+(r<<3)>>3]);r=r+1|0;i=a>i?a:i}return+i}function QO(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0,l=0;l=0;while(1){if((l|0)<(A|0)){n=0.0;f=0}else break;while(1){if((f|0)>=(r|0))break;n=+c[i+(f<<3)>>3]*+c[(t[e+(f<<2)>>2]|0)+(l<<3)>>3]+n;f=f+1|0}c[a+(l<<3)>>3]=n;l=l+1|0}return}function DO(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0;r=0.0;i=A;a=e;while(1){if(!a)break;r=+s[i>>2]+r;i=i+4|0;a=a+-1|0}r=r/+(e|0);while(1){if(!e)break;s[A>>2]=+s[A>>2]-r;A=A+4|0;e=e+-1|0}return}function zO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0.0,n=0,f=0,l=0,c=0,o=0.0,u=0,b=0.0,h=0,w=0.0;a=0;while(1){if((a|0)>=(A|0)){n=0;l=0;u=A;break}s[i+(a<<2)>>2]=0.0;a=a+1|0}while(1){if((l|0)>=(A|0))break;o=+s[r+(l<<2)>>2];c=l+1|0;t=+s[e+(n<<2)>>2]*o;f=c;a=n;while(1){a=a+1|0;if((f|0)==(A|0))break;w=+s[e+(a<<2)>>2];b=+s[r+(f<<2)>>2]*w+t;h=i+(f<<2)|0;s[h>>2]=+s[h>>2]+w*o;t=b;f=f+1|0}h=i+(l<<2)|0;s[h>>2]=+s[h>>2]+t;n=n+u|0;l=c;u=u+-1|0}return}function WO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;s[i+(a<<2)>>2]=+s[A+(a<<2)>>2]-+s[r+(a<<2)>>2];a=a+1|0}return}function YO(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;s[i+(a<<2)>>2]=+s[r+(a<<2)>>2]+ +s[A+(a<<2)>>2];a=a+1|0}return}function FO(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;var a=0,t=0;a=0;while(1){if((a|0)>=(e|0))break;t=A+(a<<2)|0;s[t>>2]=+s[i+(a<<2)>>2]*r+ +s[t>>2];a=a+1|0}return}function MO(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;var a=0;a=0;while(1){if((a|0)>=(e|0))break;s[i+(a<<2)>>2]=+s[A+(a<<2)>>2]*r;a=a+1|0}return}function VO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=0;while(1){if((i|0)>=(e|0))break;t[r+(i<<2)>>2]=t[A+(i<<2)>>2];i=i+1|0}return}function NO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0;i=0.0;a=0;while(1){if((a|0)>=(e|0))break;i=i+ +s[r+(a<<2)>>2]*+s[A+(a<<2)>>2];a=a+1|0}return+i}function RO(e,A,r){e=e|0;A=+A;r=r|0;var i=0;i=0;while(1){if((i|0)>=(e|0))break;c[r+(i<<3)>>3]=A;i=i+1|0}return}function xO(e,A,r){e=e|0;A=+A;r=r|0;var i=0;i=0;while(1){if((i|0)>=(e|0))break;s[r+(i<<2)>>2]=A;i=i+1|0}return}function JO(e,A){e=e|0;A=A|0;var r=0.0,i=0,a=0.0;r=-1000000015047466219876688.0e6;i=0;while(1){if((i|0)>=(e|0))break;a=+Q(+ +s[A+(i<<2)>>2]);r=a>r?a:r;i=i+1|0}return+r}function HO(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0;r=0;while(1){if((r|0)>=(e|0))break;i=A+(r<<2)|0;a=+s[i>>2];s[i>>2]=a*a;r=r+1|0}return}function PO(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0;r=0;while(1){if((r|0)>=(e|0))break;i=A+(r<<2)|0;a=+s[i>>2];if(a!=0.0)s[i>>2]=1.0/a;r=r+1|0}return}function XO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0;i=0;while(1){if((i|0)>=(e|0))break;a=+s[A+(i<<2)>>2];if(a>=0.0)s[r+(i<<2)>>2]=+D(+a);i=i+1|0}return}function SO(e,A){e=e|0;A=A|0;var r=0,i=0,a=0.0;r=0;while(1){if((r|0)>=(e|0))break;i=A+(r<<2)|0;a=+s[i>>2];if(a>0.0)s[i>>2]=1.0/+D(+a);r=r+1|0}return}function jO(e,A){e=e|0;A=A|0;var r=0;t[e>>2]=0;if(A&3)if(!(4%(A>>>0)|0))A=4;else A=P(4/((UO(A)|0)>>>0)|0,A)|0;t[e+8>>2]=A;e=e+4|0;A=t[e>>2]|0;e:do{if(A|0)while(1){if(!A)break e;r=t[A>>2]|0;G2(t[A+4>>2]|0);G2(A);A=r}}while(0);t[e>>2]=0;return}function UO(e){e=e|0;var A=0,r=0;r=4;e:while(1){A=r;while(1){if((A|0)==(e|0))break e;if((A|0)<=(e|0))break;A=A-e|0}r=A;e=e-A|0}return e|0}function TO(e){e=e|0;var A=0,r=0,i=0,a=0;A=t[e>>2]|0;if(!A){r=t[e+8>>2]|0;i=$F(8)|0;a=$F(P(t[46855]|0,r)|0)|0;t[i+4>>2]=a;A=0;while(1){if((A|0)>=(t[46855]|0))break;OO(a+(P(A,r)|0)|0,e);A=A+1|0}A=e+4|0;t[i>>2]=t[A>>2];t[A>>2]=i;A=t[e>>2]|0}t[e>>2]=t[A>>2];return A|0}function OO(e,A){e=e|0;A=A|0;t[e>>2]=t[A>>2];t[A>>2]=e;return}function _O(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,c=0,o=0,u=0;u=KF(A<<3)|0;o=e+8|0;a=t[o>>2]|0;qO(e,A,u);pO(A,r);n=0;f=0;while(1){if((f|0)>=(A|0))break;n=(t[e+(f*20|0)>>2]|0)+n|0;f=f+1|0}n=$F(n<<2)|0;l=0;while(1){if((l|0)>=(A|0))break;t[e+(l*20|0)+8>>2]=n;c=t[e+(l*20|0)>>2]|0;s[n>>2]=+(1-c|0);f=1;while(1){if((f|0)>=(c|0))break;s[n+(f<<2)>>2]=1.0;f=f+1|0}n=n+(c<<2)|0;l=l+1|0}f=oU(e,r,u,A,.001,i)|0;G2(t[o>>2]|0);n=0;while(1){if((n|0)>=(A|0))break;t[e+(n*20|0)+8>>2]=a;a=a+(t[e+(n*20|0)>>2]<<2)|0;n=n+1|0}G2(u);return f>>>31|0}function qO(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0,o=0,u=0;l=e+16|0;n=0;while(1){if((n|0)>=(A|0))break;if(t[l>>2]|0){o=t[e+(n*20|0)>>2]|0;u=e+(n*20|0)+8|0;f=e+(n*20|0)+16|0;i=0.0;a=1;while(1){if((a|0)>=(o|0))break;i=i+ +s[(t[f>>2]|0)+(a<<2)>>2]*+s[(t[u>>2]|0)+(a<<2)>>2];a=a+1|0}c[r+(n<<3)>>3]=i}n=n+1|0}return}function KO(e,A,r,i,a,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=+f;l=l|0;s=s|0;e=h;h=h+16|0;if(!(t[46913]|0)){t[46913]=1;nw(1,93820,e)|0}h=e;return}function $O(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0.0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0.0;d=$F(a<<2)|0;f=A<<3;n=0;while(1){if((n|0)>=(a|0))break;t[d+(n<<2)>>2]=$F(f)|0;n=n+1|0}w=$F(a<<3)|0;k=$F(A<<2)|0;n=$F(P(f,A)|0)|0;f=0;while(1){if((f|0)>=(A|0))break;t[k+(f<<2)>>2]=n;n=n+(A<<3)|0;f=f+1|0}s=0;h=1;while(1){if((s|0)>=(A|0))break;o=e+(s<<2)|0;u=k+(s<<2)|0;f=0;while(1){if((f|0)==(h|0))break;b=e+(f<<2)|0;n=0;l=0.0;while(1){if((n|0)>=(r|0))break;v=l+ +(P(t[(t[b>>2]|0)+(n<<2)>>2]|0,t[(t[o>>2]|0)+(n<<2)>>2]|0)|0);n=n+1|0;l=v}c[(t[k+(f<<2)>>2]|0)+(s<<3)>>3]=l;c[(t[u>>2]|0)+(f<<3)>>3]=l;f=f+1|0}s=s+1|0;h=h+1|0}cO(k,A,a,d,w,1)|0;f=0;while(1){if((f|0)>=(a|0)){n=0;break}o=d+(f<<2)|0;u=i+(f<<2)|0;s=0;while(1){if((s|0)<(r|0)){n=0;l=0.0}else break;while(1){if((n|0)>=(A|0))break;v=+c[(t[o>>2]|0)+(n<<3)>>3]*+(t[(t[e+(n<<2)>>2]|0)+(s<<2)>>2]|0)+l;n=n+1|0;l=v}c[(t[u>>2]|0)+(s<<3)>>3]=l;s=s+1|0}f=f+1|0}while(1){if((n|0)>=(a|0))break;G2(t[d+(n<<2)>>2]|0);n=n+1|0}G2(d);G2(w);G2(t[k>>2]|0);G2(k);return}function e_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0;a=h;h=h+32|0;n=a+16|0;s=a+20|0;l=a+12|0;f=a+8|0;t[n>>2]=i;t[l>>2]=0;t[f>>2]=0;lb(t[e>>2]|0,r,r<<2,s);gO(t[s>>2]|0,e,r,A,l);vO(e,t[l>>2]|0,A,r,A,f);G2(t[t[l>>2]>>2]|0);G2(t[l>>2]|0);i=(cO(t[f>>2]|0,A,1,n,a,1)|0)&255;h=a;return i|0}function A_(){t[46914]=0;G2(t[46915]|0);G2(t[46916]|0);G2(t[46917]|0);t[46915]=0;t[46916]=0;t[46917]=0;return}function r_(e){e=e|0;G2(t[e+36>>2]|0);return}function i_(e,A,r,a){e=e|0;A=A|0;r=+r;a=+a;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0.0,p=0.0;d=h;h=h+80|0;b=d+64|0;k=d+68|0;f=d+48|0;l=d+32|0;s=d+16|0;o=d;u=A+16|0;n=t[u>>2]|0;e:do{if(!(t[n+212>>2]|0))switch(oN(A)|0){case 1:{n=t[u>>2]|0;l=t[n+12>>2]|0;s=t[l+8>>2]|0;t[k>>2]=s;n=t[t[n+8>>2]>>2]|0;switch(i[n>>0]|0){case 98:{if(!(e1(n,108236)|0))w=11;else w=8;break}case 112:{if((e1(n,105721)|0)==0?(a_(t[l+44>>2]|0,s)|0)!=0:0)w=11;else w=8;break}default:w=8}do{if((w|0)==8)if((s|0)<3){t[e+40>>2]=(t[l>>2]|0)==0?0:2;w=17;break}else{n=e+40|0;t[n>>2]=0;break}else if((w|0)==11){n=e+40|0;t[n>>2]=1;if((s|0)<=2)w=17}}while(0);if((w|0)==17){f=t_(A,k,r,a)|0;w=21;break e}f=$F(s<<4)|0;l=l+44|0;if((t[n>>2]|0)==1){w=t[l>>2]|0;v=r;c[f>>3]=+c[w>>3]*.013888888888888888+v;r=a;c[f+8>>3]=+c[w+8>>3]*.013888888888888888+r;c[f+16>>3]=+c[w+16>>3]*.013888888888888888-v;c[f+24>>3]=+c[w+24>>3]*.013888888888888888+r;c[f+32>>3]=+c[w+32>>3]*.013888888888888888-v;c[f+40>>3]=+c[w+40>>3]*.013888888888888888-r;c[f+48>>3]=+c[w+48>>3]*.013888888888888888+v;c[f+56>>3]=+c[w+56>>3]*.013888888888888888-r;w=21;break e}n=0;while(1){if((n|0)>=(s|0)){w=21;break e}w=t[l>>2]|0;m=+c[w+(n<<4)>>3];v=+c[w+(n<<4)+8>>3];g=+D(+(v*v+m*m));c[f+(n<<4)>>3]=(r/g+1.0)*m*.013888888888888888;c[f+(n<<4)+8>>3]=(a/g+1.0)*v*.013888888888888888;n=n+1|0}}case 2:{t[k>>2]=4;w=$F(64)|0;A=t[(t[u>>2]|0)+12>>2]|0;p=+c[A+32>>3];g=+c[A+40>>3];b=~~+c[A+16>>3];A=~~+c[A+24>>3];m=-r;v=-a;n_(f,b,A,m,v);t[w>>2]=t[f>>2];t[w+4>>2]=t[f+4>>2];t[w+8>>2]=t[f+8>>2];t[w+12>>2]=t[f+12>>2];f=w+16|0;u=~~p;n_(l,u,A,r,v);t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];t[f+8>>2]=t[l+8>>2];t[f+12>>2]=t[l+12>>2];f=w+32|0;A=~~g;n_(s,u,A,r,a);t[f>>2]=t[s>>2];t[f+4>>2]=t[s+4>>2];t[f+8>>2]=t[s+8>>2];t[f+12>>2]=t[s+12>>2];f=w+48|0;n_(o,b,A,m,a);t[f>>2]=t[o>>2];t[f+4>>2]=t[o+4>>2];t[f+8>>2]=t[o+8>>2];t[f+12>>2]=t[o+12>>2];t[e+40>>2]=1;f=w;w=21;break e}case 3:{t[e+40>>2]=2;f=t_(A,k,r,a)|0;w=21;break e}default:{t[b>>2]=t[t[(t[u>>2]|0)+8>>2]>>2];nw(1,93883,b)|0;n=1;break e}}else{t[k>>2]=4;m=+c[n+32>>3]*.5+r;p=+c[n+40>>3]*.5+a;t[e+40>>2]=1;f=$F(64)|0;c[f>>3]=m;c[f+8>>3]=p;g=-m;c[f+16>>3]=g;c[f+24>>3]=p;c[f+32>>3]=g;p=-p;c[f+40>>3]=p;c[f+48>>3]=m;c[f+56>>3]=p;w=21}}while(0);if((w|0)==21){t[e+36>>2]=f;n=t[k>>2]|0;t[e+32>>2]=n;f_(f,n,e,e+16|0);if((n|0)>(t[46914]|0)){t[46914]=n;n=0}else n=0}h=d;return n|0}function a_(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;do{if((A|0)==4){r=+c[e+8>>3];A=e+16|0;i=+c[e+24>>3];if(r==i){if(!(+c[e+40>>3]==+c[e+56>>3])){A=0;break}if(!(+c[e>>3]==+c[e+48>>3])){A=0;break}A=+c[A>>3]==+c[e+32>>3];break}if((+c[e>>3]==+c[A>>3]?+c[e+32>>3]==+c[e+48>>3]:0)?r==+c[e+56>>3]:0)A=i==+c[e+40>>3];else A=0}else A=0}while(0);return A&1|0}function t_(e,A,r,i){e=e|0;A=A|0;r=+r;i=+i;var a=0,n=0.0,f=0,l=0,s=0.0,o=0;a=Hw(e,102705)|0;if(!a)a=0;else a=K3(a)|0;f=(a|0)<3?20:a;l=$F(f<<4)|0;e=e+16|0;n=1.0/+(f|0);a=0;while(1){if((a|0)>=(f|0))break;o=t[e>>2]|0;s=n*+(a|0)*6.283185307179586;c[l+(a<<4)>>3]=(+c[o+32>>3]*.5+r)*+W(+s);c[l+(a<<4)+8>>3]=(+c[o+40>>3]*.5+i)*+Y(+s);a=a+1|0}t[A>>2]=f;return l|0}function n_(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=+a;c[e>>3]=+(A|0)*.013888888888888888+i;c[e+8>>3]=+(r|0)*.013888888888888888+a;return}function f_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0.0,n=0.0,f=0.0,l=0.0,s=0,o=0.0,u=0.0;l=+c[e>>3];f=+c[e+8>>3];a=1;t=f;n=l;while(1){if((a|0)>=(A|0))break;s=e+16|0;o=+c[s>>3];u=+c[e+24>>3];a=a+1|0;t=u>t?u:t;n=o>n?o:n;f=u>3]=l;c[r+8>>3]=f;c[i>>3]=n;c[i+8>>3]=t;return}function l_(e,A,r,a){e=e|0;A=A|0;r=+r;a=+a;var n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0.0,p=0.0;d=h;h=h+80|0;u=d+64|0;w=d+68|0;f=d+48|0;l=d+32|0;s=d+16|0;o=d;b=A+16|0;n=t[b>>2]|0;e:do{if(!(t[n+212>>2]|0))switch(oN(A)|0){case 1:{o=t[(t[b>>2]|0)+12>>2]|0;u=o+8|0;s=t[u>>2]|0;t[w>>2]=s;A:do{if((s|0)>2){f=$F(s<<4)|0;l=o+44|0;n=0;while(1){if((n|0)>=(s|0))break A;A=t[l>>2]|0;c[f+(n<<4)>>3]=+c[A+(n<<4)>>3]*.013888888888888888;c[f+(n<<4)+8>>3]=+c[A+(n<<4)+8>>3]*.013888888888888888;n=n+1|0}}else f=t_(A,w,0.0,0.0)|0}while(0);n=t[t[(t[b>>2]|0)+8>>2]>>2]|0;switch(i[n>>0]|0){case 98:{if(!(e1(n,108236)|0))n=1;else k=13;break}case 112:{if((e1(n,105721)|0)==0?(a_(f,t[w>>2]|0)|0)!=0:0)n=1;else k=13;break}default:k=13}do{if((k|0)==13){if((t[u>>2]|0)<3?t[o>>2]|0:0){n=2;break}n=0}}while(0);t[e+40>>2]=n;k=20;break e}case 2:{t[w>>2]=4;k=$F(64)|0;b=t[(t[b>>2]|0)+12>>2]|0;g=+c[b+16>>3];p=+c[b+24>>3];m=+c[b+32>>3];v=+c[b+40>>3];s_(f,g,p);t[k>>2]=t[f>>2];t[k+4>>2]=t[f+4>>2];t[k+8>>2]=t[f+8>>2];t[k+12>>2]=t[f+12>>2];f=k+16|0;s_(l,m,p);t[f>>2]=t[l>>2];t[f+4>>2]=t[l+4>>2];t[f+8>>2]=t[l+8>>2];t[f+12>>2]=t[l+12>>2];f=k+32|0;s_(s,m,v);t[f>>2]=t[s>>2];t[f+4>>2]=t[s+4>>2];t[f+8>>2]=t[s+8>>2];t[f+12>>2]=t[s+12>>2];f=k+48|0;s_(o,g,v);t[f>>2]=t[o>>2];t[f+4>>2]=t[o+4>>2];t[f+8>>2]=t[o+8>>2];t[f+12>>2]=t[o+12>>2];t[e+40>>2]=1;f=k;k=20;break e}case 3:{t[e+40>>2]=2;f=t_(A,w,0.0,0.0)|0;k=20;break e}default:{t[u>>2]=t[t[(t[b>>2]|0)+8>>2]>>2];nw(1,93919,u)|0;n=1;break e}}else{t[w>>2]=4;m=+c[n+32>>3]*.5;p=+c[n+40>>3]*.5;t[e+40>>2]=1;f=$F(64)|0;c[f>>3]=m;c[f+8>>3]=p;g=-m;c[f+16>>3]=g;c[f+24>>3]=p;c[f+32>>3]=g;p=-p;c[f+40>>3]=p;c[f+48>>3]=m;c[f+56>>3]=p;k=20}}while(0);if((k|0)==20){n=t[w>>2]|0;if(r!=1.0|a!=1.0)c_(f,n,r,a);t[e+36>>2]=f;t[e+32>>2]=n;f_(f,n,e,e+16|0);if((n|0)>(t[46914]|0)){t[46914]=n;n=0}else n=0}h=d;return n|0}function s_(e,A,r){e=e|0;A=+A;r=+r;c[e>>3]=A*.013888888888888888;c[e+8>>3]=r*.013888888888888888;return}function c_(e,A,r,i){e=e|0;A=A|0;r=+r;i=+i;var a=0,t=0;a=0;while(1){if((a|0)>=(A|0))break;c[e>>3]=+c[e>>3]*r;t=e+8|0;c[t>>3]=+c[t>>3]*i;e=e+16|0;a=a+1|0}return}function o_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0.0,g=0.0,m=0.0,p=0;d=h;h=h+128|0;b=d+112|0;u=d+96|0;o=d+80|0;a=d+64|0;w=d+48|0;k=d+32|0;l=d+16|0;s=d;t[u>>2]=t[e>>2];t[u+4>>2]=t[e+4>>2];t[u+8>>2]=t[e+8>>2];t[u+12>>2]=t[e+12>>2];t[b>>2]=t[A>>2];t[b+4>>2]=t[A+4>>2];t[b+8>>2]=t[A+8>>2];t[b+12>>2]=t[A+12>>2];sT(w,u,b);n=A+16|0;t[u>>2]=t[e>>2];t[u+4>>2]=t[e+4>>2];t[u+8>>2]=t[e+8>>2];t[u+12>>2]=t[e+12>>2];t[b>>2]=t[n>>2];t[b+4>>2]=t[n+4>>2];t[b+8>>2]=t[n+8>>2];t[b+12>>2]=t[n+12>>2];sT(k,u,b);t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];t[b+12>>2]=t[i+12>>2];sT(l,u,b);f=i+16|0;t[u>>2]=t[r>>2];t[u+4>>2]=t[r+4>>2];t[u+8>>2]=t[r+8>>2];t[u+12>>2]=t[r+12>>2];t[b>>2]=t[f>>2];t[b+4>>2]=t[f+4>>2];t[b+8>>2]=t[f+8>>2];t[b+12>>2]=t[f+12>>2];sT(s,u,b);t[a>>2]=t[w>>2];t[a+4>>2]=t[w+4>>2];t[a+8>>2]=t[w+8>>2];t[a+12>>2]=t[w+12>>2];t[o>>2]=t[k>>2];t[o+4>>2]=t[k+4>>2];t[o+8>>2]=t[k+8>>2];t[o+12>>2]=t[k+12>>2];t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];t[u+8>>2]=t[l+8>>2];t[u+12>>2]=t[l+12>>2];t[b>>2]=t[s>>2];t[b+4>>2]=t[s+4>>2];t[b+8>>2]=t[s+8>>2];t[b+12>>2]=t[s+12>>2];do{if(u_(a,o,u,b)|0){a=t[A+40>>2]|0;if(a&1|0?t[i+40>>2]&1|0:0){a=1;break}if(a&2|0?t[i+40>>2]&2|0:0){v=+c[n>>3]-+c[A>>3]+ +c[f>>3]-+c[i>>3];g=+c[e>>3]-+c[r>>3];m=+c[e+8>>3]-+c[r+8>>3];a=!(m*m+g*g>v*v*.25);break}a=t[46915]|0;if(!a){t[46915]=$F(t[46914]<<4)|0;f=$F(t[46914]<<4)|0;t[46916]=f;a=t[46915]|0}else f=t[46916]|0;p=t[A+36>>2]|0;A=A+32|0;n=t[A>>2]|0;t[b>>2]=t[e>>2];t[b+4>>2]=t[e+4>>2];t[b+8>>2]=t[e+8>>2];t[b+12>>2]=t[e+12>>2];b_(p,n,b,a);e=t[i+36>>2]|0;n=i+32|0;i=t[n>>2]|0;t[b>>2]=t[r>>2];t[b+4>>2]=t[r+4>>2];t[b+8>>2]=t[r+8>>2];t[b+12>>2]=t[r+12>>2];b_(e,i,b,f);if(!(h_(a,f,t[A>>2]|0,t[n>>2]|0)|0)){a=t[46915]|0;t[o>>2]=t[a>>2];t[o+4>>2]=t[a+4>>2];t[o+8>>2]=t[a+8>>2];t[o+12>>2]=t[a+12>>2];t[u>>2]=t[l>>2];t[u+4>>2]=t[l+4>>2];t[u+8>>2]=t[l+8>>2];t[u+12>>2]=t[l+12>>2];t[b>>2]=t[s>>2];t[b+4>>2]=t[s+4>>2];t[b+8>>2]=t[s+8>>2];t[b+12>>2]=t[s+12>>2];if(w_(o,u,b)|0?(s=t[46916]|0,p=t[n>>2]|0,t[b>>2]=t[a>>2],t[b+4>>2]=t[a+4>>2],t[b+8>>2]=t[a+8>>2],t[b+12>>2]=t[a+12>>2],k_(s,p,b)|0):0){a=1;break}a=t[46916]|0;t[o>>2]=t[a>>2];t[o+4>>2]=t[a+4>>2];t[o+8>>2]=t[a+8>>2];t[o+12>>2]=t[a+12>>2];t[u>>2]=t[w>>2];t[u+4>>2]=t[w+4>>2];t[u+8>>2]=t[w+8>>2];t[u+12>>2]=t[w+12>>2];t[b>>2]=t[k>>2];t[b+4>>2]=t[k+4>>2];t[b+8>>2]=t[k+8>>2];t[b+12>>2]=t[k+12>>2];if(!(w_(o,u,b)|0))a=0;else{k=t[46915]|0;p=t[A>>2]|0;t[b>>2]=t[a>>2];t[b+4>>2]=t[a+4>>2];t[b+8>>2]=t[a+8>>2];t[b+12>>2]=t[a+12>>2];a=(k_(k,p,b)|0)!=0}}else a=1}else a=0}while(0);h=d;return a&1|0}function u_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;if((+c[e>>3]<=+c[i>>3]?+c[r>>3]<=+c[A>>3]:0)?+c[e+8>>3]<=+c[i+8>>3]:0)e=+c[r+8>>3]<=+c[A+8>>3]&1;else e=0;return e|0}function b_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0;t=r+8|0;a=0;while(1){if((a|0)>=(A|0))break;c[i>>3]=+c[r>>3]+ +c[e>>3];c[i+8>>3]=+c[t>>3]+ +c[e+8>>3];a=a+1|0;e=e+16|0;i=i+16|0}return}function h_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0.0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0;I=h;h=h+112|0;v=I+96|0;d=I+80|0;k=I+64|0;w=I+48|0;m=I+32|0;p=I+16|0;E=I;B=r+-1|0;y=i+-1|0;C=r<<1;g=i<<1;a=0;n=0;f=0;l=0;while(1){Z=e+(a<<4)|0;G=e+(((B+a|0)%(r|0)|0)<<4)|0;t[d>>2]=t[Z>>2];t[d+4>>2]=t[Z+4>>2];t[d+8>>2]=t[Z+8>>2];t[d+12>>2]=t[Z+12>>2];t[v>>2]=t[G>>2];t[v+4>>2]=t[G+4>>2];t[v+8>>2]=t[G+8>>2];t[v+12>>2]=t[G+12>>2];lT(m,d,v);b=A+(n<<4)|0;u=A+(((y+n|0)%(i|0)|0)<<4)|0;t[d>>2]=t[b>>2];t[d+4>>2]=t[b+4>>2];t[d+8>>2]=t[b+8>>2];t[d+12>>2]=t[b+12>>2];t[v>>2]=t[u>>2];t[v+4>>2]=t[u+4>>2];t[v+8>>2]=t[u+8>>2];t[v+12>>2]=t[u+12>>2];lT(p,d,v);t[k>>2]=t[46540];t[k+4>>2]=t[46541];t[k+8>>2]=t[46542];t[k+12>>2]=t[46543];t[d>>2]=t[m>>2];t[d+4>>2]=t[m+4>>2];t[d+8>>2]=t[m+8>>2];t[d+12>>2]=t[m+12>>2];t[v>>2]=t[p>>2];t[v+4>>2]=t[p+4>>2];t[v+8>>2]=t[p+8>>2];t[v+12>>2]=t[p+12>>2];s=+cT(k,d,v);t[k>>2]=t[G>>2];t[k+4>>2]=t[G+4>>2];t[k+8>>2]=t[G+8>>2];t[k+12>>2]=t[G+12>>2];t[d>>2]=t[Z>>2];t[d+4>>2]=t[Z+4>>2];t[d+8>>2]=t[Z+8>>2];t[d+12>>2]=t[Z+12>>2];t[v>>2]=t[b>>2];t[v+4>>2]=t[b+4>>2];t[v+8>>2]=t[b+8>>2];t[v+12>>2]=t[b+12>>2];c=oT(k,d,v)|0;t[k>>2]=t[u>>2];t[k+4>>2]=t[u+4>>2];t[k+8>>2]=t[u+8>>2];t[k+12>>2]=t[u+12>>2];t[d>>2]=t[b>>2];t[d+4>>2]=t[b+4>>2];t[d+8>>2]=t[b+8>>2];t[d+12>>2]=t[b+12>>2];t[v>>2]=t[Z>>2];t[v+4>>2]=t[Z+4>>2];t[v+8>>2]=t[Z+8>>2];t[v+12>>2]=t[Z+12>>2];o=oT(k,d,v)|0;t[w>>2]=t[G>>2];t[w+4>>2]=t[G+4>>2];t[w+8>>2]=t[G+8>>2];t[w+12>>2]=t[G+12>>2];t[k>>2]=t[Z>>2];t[k+4>>2]=t[Z+4>>2];t[k+8>>2]=t[Z+8>>2];t[k+12>>2]=t[Z+12>>2];t[d>>2]=t[u>>2];t[d+4>>2]=t[u+4>>2];t[d+8>>2]=t[u+8>>2];t[d+12>>2]=t[u+12>>2];t[v>>2]=t[b>>2];t[v+4>>2]=t[b+4>>2];t[v+8>>2]=t[b+8>>2];t[v+12>>2]=t[b+12>>2];if(uT(w,k,d,v,E)|0){a=1;break}u=(c|0)==0;b=(o|0)==0;do{if(s!=0.0|(o|c|0)!=0)if(!(s>=0.0))if(b){a=(a+1|0)%(r|0)|0;f=f+1|0;break}else{n=(n+1|0)%(i|0)|0;l=l+1|0;break}else if(u){n=(n+1|0)%(i|0)|0;l=l+1|0;break}else{a=(a+1|0)%(r|0)|0;f=f+1|0;break}else{a=(a+1|0)%(r|0)|0;f=f+1|0}}while(0);if(!((l|0)<(g|0)&((f|0)<(C|0)&((l|0)<(i|0)|(f|0)<(r|0))))){a=0;break}}h=I;return a|0}function w_(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0;a=+c[e>>3];if((a<=+c[r>>3]?a>=+c[A>>3]:0)?(i=+c[e+8>>3],i<=+c[r+8>>3]):0)e=i>=+c[A+8>>3]&1;else e=0;return e|0}function k_(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0.0,s=0.0,o=0;i=t[46917]|0;if(!i){i=$F(t[46914]<<4)|0;t[46917]=i}f=r+8|0;n=0;while(1){if((n|0)>=(A|0))break;c[i+(n<<4)>>3]=+c[e+(n<<4)>>3]-+c[r>>3];c[i+(n<<4)+8>>3]=+c[e+(n<<4)+8>>3]-+c[f>>3];n=n+1|0}r=A+-1|0;a=0.0;e=0;e:while(1){if((e|0)>=(A|0)){o=19;break}n=(r+e|0)%(A|0)|0;l=+c[i+(e<<4)+8>>3];f=l==0.0;if(f?+c[i+(n<<4)+8>>3]==0.0:0){if(+c[i+(n<<4)>>3]*+c[i+(e<<4)>>3]<0.0){i=1;break}}else o=11;do{if((o|0)==11){o=0;s=+c[i+(n<<4)+8>>3];if(!(l>=0.0)|!(s<=0.0)?!(s>=0.0)|!(l<=0.0):0)break;l=(s*+c[i+(e<<4)>>3]-l*+c[i+(n<<4)>>3])/(s-l);if(l==0.0){i=1;break e}if(l>0.0)if(s==0.0|f){a=a+.5;break}else{a=a+1.0;break}}}while(0);e=e+1|0}if((o|0)==19)i=((~~a|0)%2|0|0)==1&1;return i|0}function d_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;s=$F(A<<2)|0;l=P(A,A)|0;r=$F(l<<2)|0;t[s>>2]=r;xO(l,0.0,r);r=1;while(1){if((r|0)>=(A|0)){r=0;n=0;l=A;break}t[s+(r<<2)>>2]=(t[s>>2]|0)+((P(r,A)|0)<<2);r=r+1|0}while(1){if((n|0)>=(A|0))break;f=s+(n<<2)|0;i=n;a=r;while(1){if((i|0)==(A|0))break;c=t[e+(a<<2)>>2]|0;t[(t[f>>2]|0)+(i<<2)>>2]=c;t[(t[s+(i<<2)>>2]|0)+(n<<2)>>2]=c;i=i+1|0;a=a+1|0}r=r+l|0;n=n+1|0;l=l+-1|0}return s|0}function v_(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=+l;var c=0.0,o=0.0,u=0.0,b=0,h=0,w=0,k=0.0,d=0,v=0.0,g=0,m=0,p=0,E=0,B=0,y=0.0,C=0,I=0,Z=0,G=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0.0;N=t[r+(a<<2)>>2]|0;Z=t[e+4>>2]|0;G=t[e>>2]|0;L=t[e+48>>2]|0;D=t[e+52>>2]|0;z=t[e+56>>2]|0;e:do{if((n|0)<1)r=0;else{m_(N,Z,L,D,z,l);W=t[e+28>>2]|0;Y=t[e+32>>2]|0;F=t[e+36>>2]|0;M=t[e+12>>2]|0;V=t[e+16>>2]|0;a=0;i=0;r=-1;while(1){if((a|0)>=(Z|0))break;if((a|0)>=(i|0)){r=r+1|0;if((r|0)==(z|0)){i=Z;r=z}else i=t[D+(r<<2)>>2]|0}t[V+(t[L+(a<<2)>>2]<<2)>>2]=r;a=a+1|0}C=t[e+40>>2]|0;I=Y+(Z+-1<<2)|0;r=0;i=0;while(1){if(i<<24>>24==0&(r|0)<(n|0)){c=-1.0e9;a=0;i=1}else break e;A:while(1){B=a;while(1){if((B|0)>=(Z|0))break A;a=t[L+(B<<2)>>2]|0;y=+s[N+(a<<2)>>2];o=y;E=B;u=0.0;while(1){s[C+(a<<2)>>2]=u;a=E+1|0;if((a|0)>=(Z|0)){p=0;break}o=(t[V+(a<<2)>>2]|0)>(t[V+(E<<2)>>2]|0)?o+l:o;e=t[L+(a<<2)>>2]|0;u=+s[N+(e<<2)>>2];if(+Q(+(u-o))>1.0e-09){p=1;break}E=a;u=u-y;a=e}b=B;while(1){if((b|0)>(E|0)){e=0;h=B;break}h=t[L+(b<<2)>>2]|0;w=t[G+(h<<2)>>2]|0;e=0;o=-+s[A+(h<<2)>>2];while(1){if((e|0)>=(Z|0))break;if((e|0)!=(h|0))o=+s[N+(e<<2)>>2]*+s[w+(e<<2)>>2]+o;e=e+1|0}s[W+(h<<2)>>2]=o/-+s[w+(h<<2)>>2]-+s[C+(h<<2)>>2];b=b+1|0}r:while(1){if((h|0)>(E|0)){u=0.0;k=0.0;d=0;break}b=t[V+(t[L+(h<<2)>>2]<<2)>>2]|0;if((b|0)==(z|0))d=a;else{d=t[D+(b<<2)>>2]|0;d=(a|0)<(d|0)?a:d}w=h;while(1){if((w|0)>=(d|0)){w=h;break}b=t[L+(w<<2)>>2]|0;if(+s[W+(b<<2)>>2]>2]=b;e=e+1|0}w=w+1|0}while(1){if((w|0)>=(d|0))break;b=t[L+(w<<2)>>2]|0;if(+s[W+(b<<2)>>2]==y){t[M+(e<<2)>>2]=b;e=e+1|0}w=w+1|0}while(1){if((h|0)>=(d|0)){h=d;continue r}b=t[L+(h<<2)>>2]|0;if(+s[W+(b<<2)>>2]>y){t[M+(e<<2)>>2]=b;e=e+1|0}h=h+1|0}}while(1){if((d|0)>=(e|0))break;h=t[M+(d<<2)>>2]|0;w=t[G+(h<<2)>>2]|0;o=0.0;b=0;while(1){if((b|0)==(d|0))break;o=o-+s[w+(t[M+(b<<2)>>2]<<2)>>2];b=b+1|0}R=o*2.0;m=w+(h<<2)|0;v=+s[m>>2];o=R+u;v=(R*y+u*k-+s[W+(h<<2)>>2]*v)/(o-v);s[Y+(d<<2)>>2]=v;u=o-+s[m>>2];k=v;d=d+1|0}w=(e|0)==(Z|0);if(w)s[I>>2]=y;m=e+-1|0;u=0.0;k=0.0;h=m;while(1){if((h|0)<=-1)break;d=t[M+(h<<2)>>2]|0;g=t[G+(d<<2)>>2]|0;o=0.0;b=h;while(1){b=b+1|0;if((b|0)>=(e|0))break;o=o-+s[g+(t[M+(b<<2)>>2]<<2)>>2]}o=o*2.0;g=g+(d<<2)|0;R=+s[g>>2];v=o+u;R=(o*y+u*k-+s[W+(d<<2)>>2]*R)/(v-R);s[F+(h<<2)>>2]=R;u=v-+s[g>>2];k=R;h=h+-1|0}if(w){s[F>>2]=y;v=0.0;b=-1;w=0}else{v=0.0;b=-1;w=0}while(1){if((e|0)<=(w|0))break;k=+s[F+(w<<2)>>2];if((w|0)>0)o=+s[Y+(w+-1<<2)>>2];else o=k;do{if(ky;if(kv;v=g?R:v;b=g?w:b;w=w+1|0}if((b|0)>-1)break;if(p?(t[V+(t[L+(a<<2)>>2]<<2)>>2]|0)>(t[V+(t[L+(E<<2)>>2]<<2)>>2]|0):0){c=+s[N+(t[M+(m<<2)>>2]<<2)>>2]+l;B=a;continue}c=+s[N+(t[M+(m<<2)>>2]<<2)>>2];B=a}u=+s[F+(b<<2)>>2];if(!b)k=u;else k=+s[Y+(b+-1<<2)>>2];if(p){g=t[L+(a<<2)>>2]|0;o=+s[N+(g<<2)>>2];o=((t[V+(g<<2)>>2]|0)>(t[V+(t[L+(E<<2)>>2]<<2)>>2]|0)?o-l:o)-+s[C+(t[M+(m<<2)>>2]<<2)>>2]}else o=1.0e9;o=uc?k:c;do{if(oy;if(o=(b|0))break;g=t[M+(h<<2)>>2]|0;s[N+(g<<2)>>2]=+s[C+(g<<2)>>2]+o;h=h+1|0}while(1){if((b|0)>=(e|0))break;g=t[M+(b<<2)>>2]|0;s[N+(g<<2)>>2]=+s[C+(g<<2)>>2]+u;b=b+1|0}if(p?(t[V+(t[L+(a<<2)>>2]<<2)>>2]|0)>(t[V+(t[L+(E<<2)>>2]<<2)>>2]|0):0)c=+s[N+(t[M+(m<<2)>>2]<<2)>>2]+l;else c=+s[N+(t[M+(m<<2)>>2]<<2)>>2];e=B;while(1){if((e|0)>(E|0))break;t[L+(e<<2)>>2]=t[M+(e-B<<2)>>2];e=e+1|0}if(i<<24>>24!=0?+Q(+(o-y))<.01:0)i=+Q(+(u-y))<.01;else i=0;i=i&1}DO(Z,N);g_(N,L,D,z,f);r=r+1|0}}}while(0);return r|0}function g_(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;n=0;while(1){if((n|0)>=(i|0))break;t[a+(n<<2)>>2]=t[e+(t[A+((t[r+(n<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];n=n+1|0}return}function m_(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;var f=0.0,l=0,c=0,o=0,u=0;f=-1.0e9;c=0;l=-1;u=0;while(1){if((u|0)>=(A|0))break;if((u|0)<(c|0))o=c;else{l=l+1|0;if((l|0)==(a|0))c=A;else c=t[i+(l<<2)>>2]|0;if((u|0)>0)f=+s[e+(t[r+(u+-1<<2)>>2]<<2)>>2]+n;else f=-1.0e9;UT(e,r,u,c+-1|0);o=c}c=e+(t[r+(u<<2)>>2]<<2)|0;if(+s[c>>2]>2]=f;c=o;u=u+1|0}return}function p_(e){e=e|0;G2(t[t[e>>2]>>2]|0);G2(t[e>>2]|0);G2(t[e+8>>2]|0);G2(t[e+28>>2]|0);G2(t[e+32>>2]|0);G2(t[e+36>>2]|0);G2(t[e+40>>2]|0);G2(t[e+12>>2]|0);G2(t[e+16>>2]|0);G2(t[e+20>>2]|0);G2(t[e+24>>2]|0);G2(e);return}function E_(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;c=$F(60)|0;t[c>>2]=0;o=c+4|0;t[o>>2]=A;t[c+48>>2]=r;t[c+52>>2]=i;t[c+56>>2]=a;t[c>>2]=d_(e,A)|0;l=A<<2;s=$F(l)|0;t[c+8>>2]=s;f=0;A=0;e=-1;while(1){if((f|0)>=(t[o>>2]|0))break;n=e+1|0;if((f|0)>=(A|0)){A=t[((n|0)==(a|0)?o:i+(n<<2)|0)>>2]|0;e=n}t[s+(t[r+(f<<2)>>2]<<2)>>2]=e;f=f+1|0}t[c+28>>2]=$F(l)|0;t[c+32>>2]=$F(l)|0;t[c+36>>2]=$F(l)|0;t[c+40>>2]=$F(l)|0;t[c+12>>2]=$F(l)|0;t[c+16>>2]=$F(l)|0;t[c+20>>2]=$F(l)|0;t[c+24>>2]=$F(l)|0;return c|0}function B_(){jO(187676,24);t[46922]=0;return}function y_(){return TO(187676)|0}function C_(e,A){e=e|0;A=A|0;var r=0.0,i=0.0;r=+c[e>>3]-+c[A>>3];i=+c[e+8>>3]-+c[A+8>>3];return+ +D(+(i*i+r*r))}function I_(e){e=e|0;var A=0;A=t[46922]|0;t[e+16>>2]=A;t[46922]=A+1;return}function Z_(e){e=e|0;var A=0,r=0;r=e+20|0;A=(t[r>>2]|0)+-1|0;t[r>>2]=A;if(!A)OO(e,187676);return}function G_(e){e=e|0;e=e+20|0;t[e>>2]=(t[e>>2]|0)+1;return}function L_(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;var n=0.0,f=0,l=0,o=0,u=0.0,b=0,w=0.0,k=0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;B=h;h=h+16|0;b=B;t[b>>2]=i;k=A<<2;p=$F(k)|0;o=A<<3;E=$F(o)|0;m=xT(e,A)|0;e=0;while(1){if((e|0)>=(A|0))break;l=m+(e<<2)|0;f=0;while(1){if((f|0)==(A|0))break;v=(t[l>>2]|0)+(f<<2)|0;t[v>>2]=t[v>>2]<<8;f=f+1|0}e=e+1|0}if(!r)ge(93952,93960,283,93974);v=$F(o)|0;e=0;while(1){if((e|0)>=(A|0))break;c[v+(e<<3)>>3]=+c[r+(e<<3)>>3];e=e+1|0}Q_(v,A);n=0.0;u=0.0;o=1;while(1){if((o|0)>=(A|0))break;f=m+(o<<2)|0;l=r+(o<<3)|0;e=0;while(1){if((e|0)==(o|0))break;y=t[(t[f>>2]|0)+(e<<2)>>2]|0;d=+c[l>>3]-+c[r+(e<<3)>>3];n=d*d*(1.0/+(P(y,y)|0))+n;u=+Q(+d)*(1.0/+(y|0))+u;e=e+1|0}o=o+1|0}d=u/n;e=0;while(1){if((e|0)>=(A|0))break;y=r+(e<<3)|0;c[y>>3]=+c[y>>3]*d;e=e+1|0}D_(A,b,a,r,m);l=$F(P(k,A)|0)|0;f=0;while(1){if((f|0)>=(A|0)){l=1;break}o=l+((P(f,A)|0)<<2)|0;t[p+(f<<2)>>2]=o;b=m+(f<<2)|0;n=0.0;e=0;while(1){if((e|0)==(A|0))break;if((e|0)!=(f|0)){w=+(t[(t[b>>2]|0)+(e<<2)>>2]|0);w=-1.0/(w*w);s[o+(e<<2)>>2]=w;n=n-w}e=e+1|0}s[o+(f<<2)>>2]=n;f=f+1|0}while(1){if((l|0)>=(A|0)){f=0;break}n=+c[r+(l<<3)>>3];f=m+(l<<2)|0;e=0;while(1){if((e|0)==(l|0))break;y=(t[f>>2]|0)+(e<<2)|0;u=+(t[y>>2]|0);w=n-+c[r+(e<<3)>>3];w=u*u-w*w;k=~~+D(+w);k=w>0.0?k:0;t[(t[m+(e<<2)>>2]|0)+(l<<2)>>2]=k;t[y>>2]=k;e=e+1|0}l=l+1|0}while(1){if((f|0)>=(A|0)){k=0;e=0;break}u=+c[i+(f<<3)>>3];o=E+(f<<3)|0;c[o>>3]=0.0;b=m+(f<<2)|0;l=p+(f<<2)|0;e=0;n=0.0;while(1){if((e|0)==(A|0))break;if((e|0)!=(f|0)){w=+s[(t[l>>2]|0)+(e<<2)>>2]*+(t[(t[b>>2]|0)+(e<<2)>>2]|0);n=n+(u>=+c[i+(e<<3)>>3]?-w:w);c[o>>3]=n}e=e+1|0}f=f+1|0}while(1){if(!(e<<24>>24==0&(k|0)<200)){g=42;break}if((uU(p,i,E,A,a,A,1)|0)<0){e=1;break}else{e=1;b=0}while(1){if((b|0)>=(A|0))break;w=+c[i+(b<<3)>>3];l=m+(b<<2)|0;o=p+(b<<2)|0;n=0.0;f=0;while(1){if((f|0)==(A|0))break;do{if((f|0)!=(b|0)){u=+s[(t[o>>2]|0)+(f<<2)>>2]*+(t[(t[l>>2]|0)+(f<<2)>>2]|0);if(!(w>=+c[i+(f<<3)>>3])){n=n+u;break}else{n=n+-u;break}}}while(0);f=f+1|0}f=E+(b<<3)|0;w=+c[f>>3];if(n!=w?+Q(+(1.0-n/w))>1.0e-05:0){c[f>>3]=n;e=0}b=b+1|0}k=k+1|0}e:do{if((g|0)==42){n=1.0/d;e=0;while(1){if((e|0)>=(A|0)){e=0;break e}y=r+(e<<3)|0;c[y>>3]=+c[y>>3]*n;y=i+(e<<3)|0;c[y>>3]=+c[y>>3]*n;e=e+1|0}}}while(0);G2(t[m>>2]|0);G2(m);G2(t[p>>2]|0);G2(p);G2(v);G2(E);h=B;return e|0}function Q_(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0.0,t=0;r=0;i=0.0;while(1){if((r|0)>=(A|0))break;a=+c[e+(r<<3)>>3]+i;r=r+1|0;i=a}i=i/+(A|0);r=0;while(1){if((r|0)>=(A|0))break;t=e+(r<<3)|0;c[t>>3]=+c[t>>3]-i;r=r+1|0}t=A+-1|0;hO(e,0,t,1.0/+bO(e,0,t),e);return}function D_(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,o=0,u=0;s=z_(a,e)|0;o=$F(8)|0;if(!i){a=0;l=0}else{n=$F(e<<3)|0;a=0;while(1){if((a|0)>=(e|0))break;c[n+(a<<3)>>3]=+c[i+(a<<3)>>3];a=a+1|0}Q_(n,e);a=n;l=n}W_(s,e,A,o,a,r);i=0;while(1){if((i|0)==1)break;n=o+(i<<3)|0;f=A+(i<<2)|0;a=0;while(1){if((a|0)>=(e|0))break;r=+D(+ +Q(+ +c[n>>3]));u=(t[f>>2]|0)+(a<<3)|0;c[u>>3]=+c[u>>3]*r;a=a+1|0}i=i+1|0}G2(t[s>>2]|0);G2(s);G2(o);G2(l);return}function z_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0,l=0,c=0,o=0,u=0,b=0,w=0.0;b=h;h=h+16|0;a=b;u=A<<2;i=$F(P(u,A)|0)|0;u=$F(u)|0;r=0;while(1){if((r|0)>=(A|0))break;t[u+(r<<2)>>2]=i+((P(r,A)|0)<<2);r=r+1|0}o=F_(e,A,a)|0;n=+s[a>>2];i=0;c=1;while(1){if((i|0)>=(A|0))break;a=e+(i<<2)|0;f=o+(i<<2)|0;l=u+(i<<2)|0;r=0;while(1){if((r|0)==(c|0))break;w=+(t[(t[a>>2]|0)+(r<<2)>>2]|0);w=+s[o+(r<<2)>>2]+ +s[f>>2]-w*w-n;s[(t[l>>2]|0)+(r<<2)>>2]=w;s[(t[u+(r<<2)>>2]|0)+(i<<2)>>2]=w;r=r+1|0}i=i+1|0;c=c+1|0}G2(o);h=b;return u|0}function W_(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=+n;var f=0,l=0,s=0,o=0,u=0.0,b=0.0,h=0,w=0,k=0,d=0,v=0;d=A<<3;k=$F(d)|0;d=$F(d)|0;b=1.0-n;h=(A|0)<1?A:1;w=A+-1|0;s=(a|0)==0;l=0;e:while(1){if((l|0)>=(h|0))break;o=t[r+(l<<2)>>2]|0;do{f=0;while(1){if((f|0)==(A|0))break;c[o+(f<<3)>>3]=+((t8()|0)%100|0|0);f=f+1|0}if(s)f=0;else{uO(o,0,w,-+oO(a,0,w,o),a);f=0}while(1){if((f|0)==(l|0))break;v=r+(f<<2)|0;u=-+oO(t[v>>2]|0,0,w,o);uO(o,0,w,u,t[v>>2]|0);f=f+1|0}n=+bO(o,0,w)}while(n<1.0e-10);hO(o,0,w,1.0/n,o);do{wO(d,0,w,o);Y_(e,A,A,o,k,a);wO(o,0,w,k);f=0;while(1){if((f|0)==(l|0))break;v=r+(f<<2)|0;u=-+oO(t[v>>2]|0,0,w,o);uO(o,0,w,u,t[v>>2]|0);f=f+1|0}n=+bO(o,0,w);if(n<1.0e-10)break e;hO(o,0,w,1.0/n,o);u=+oO(o,0,w,d)}while(+Q(+u)>3]=u*n;l=l+1|0}while(1){if((l|0)>=(h|0))break;s=t[r+(l<<2)>>2]|0;f=0;while(1){if((f|0)>=(A|0)){f=0;break}c[s+(f<<3)>>3]=+((t8()|0)%100|0|0);f=f+1|0}while(1){if((f|0)>=(l|0))break;v=r+(f<<2)|0;b=-+oO(t[v>>2]|0,0,w,s);uO(s,0,w,b,t[v>>2]|0);f=f+1|0}hO(s,0,w,1.0/+bO(s,0,w),s);c[i+(l<<3)>>3]=0.0;l=l+1|0}o=h+-1|0;l=0;while(1){if((l|0)>=(o|0))break;e=i+(l<<3)|0;a=l+1|0;n=+c[e>>3];f=l;s=a;while(1){if((s|0)>=(h|0))break;b=+c[i+(s<<3)>>3];v=n>2]|0);v=r+(f<<2)|0;wO(t[A>>2]|0,0,w,t[v>>2]|0);wO(t[v>>2]|0,0,w,k);c[i+(f<<3)>>3]=+c[e>>3];c[e>>3]=n;l=a}G2(k);G2(d);return}function Y_(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0.0,o=0,u=0;f=0;while(1){if((f|0)>=(A|0))break;u=e+(f<<2)|0;l=0.0;o=0;while(1){if((o|0)>=(r|0))break;l=+c[i+(o<<3)>>3]*+s[(t[u>>2]|0)+(o<<2)>>2]+l;o=o+1|0}c[a+(f<<3)>>3]=l;f=f+1|0}f=A+-1|0;if(n|0)uO(a,0,f,-+oO(a,0,f,n),n);return}function F_(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0.0,n=0,f=0,l=0,c=0.0,o=0,u=0.0;l=$F(A<<2)|0;c=1.0/+(A|0);i=0.0;f=0;while(1){if((f|0)>=(A|0))break;o=e+(f<<2)|0;a=0.0;n=0;while(1){if((n|0)==(A|0))break;u=+(t[(t[o>>2]|0)+(n<<2)>>2]|0);u=u*u;a=u+a;n=n+1|0;i=u+i}s[l+(f<<2)>>2]=c*a;f=f+1|0}s[r>>2]=i/+(P(A,A)|0);return l|0}function M_(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0.0,m=0;k=P(i,i)|0;d=$F(k<<3)|0;v=$F(i<<3)|0;a=0;while(1){if((a|0)>=(i|0))break;c[v+(a<<3)>>3]=+c[r+(a<<3)>>3];a=a+1|0}a=0;while(1){if((a|0)>=(k|0))break;c[d+(a<<3)>>3]=+c[e+(a<<3)>>3];a=a+1|0}w=i+-1|0;n=0;h=0;e:while(1){if((h|0)<(w|0)){t=0.0;a=h}else{o=21;break}while(1){if((a|0)>=(i|0))break;g=+Q(+ +c[e+((P(a,i)|0)+h<<3)>>3]);u=g=(i|0))break;o=e+(a+f<<3)|0;g=+c[o>>3];u=e+(a+b<<3)|0;c[o>>3]=+c[u>>3];c[u>>3]=g;a=a+1|0}u=r+(n<<3)|0;g=+c[u>>3];l=r+(h<<3)|0;c[u>>3]=+c[l>>3];c[l>>3]=g;u=h+1|0;s=e+(b+h<<3)|0;a=u;while(1){if((a|0)>=(i|0)){h=u;continue e}o=P(a,i)|0;t=+c[e+(o+h<<3)>>3]/+c[s>>3];f=r+(a<<3)|0;c[f>>3]=+c[f>>3]-+c[l>>3]*t;f=0;while(1){if((f|0)>=(i|0))break;m=e+(f+o<<3)|0;c[m>>3]=+c[m>>3]-+c[e+(f+b<<3)>>3]*t;f=f+1|0}a=a+1|0}}if((o|0)==21){t=+c[e+(k+-1<<3)>>3];if(+Q(+t)<1.0e-10)o=33;else{c[A+(w<<3)>>3]=+c[r+(w<<3)>>3]/t;a=0;while(1){if((a|0)>=(w|0)){a=0;break}n=i-a|0;f=n+-2|0;t=+c[r+(f<<3)>>3];l=A+(f<<3)|0;c[l>>3]=t;s=P(f,i)|0;n=n+-1|0;while(1){if((n|0)>=(i|0))break;g=t-+c[A+(n<<3)>>3]*+c[e+(n+s<<3)>>3];c[l>>3]=g;n=n+1|0;t=g}c[l>>3]=t/+c[e+(s+f<<3)>>3];a=a+1|0}while(1){if((a|0)>=(i|0)){a=0;break}c[r+(a<<3)>>3]=+c[v+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(k|0))break;c[e+(a<<3)>>3]=+c[d+(a<<3)>>3];a=a+1|0}G2(d);G2(v)}}if((o|0)==33){s6(93989)|0;G2(d);G2(v)}return}function V_(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;v=h;h=h+16|0;d=v;$U();B_();mT();t[46918]=C5[A&3]()|0;ET();k=d+8|0;w=C5[A&3]()|0;r=0.0;a=0.0;e:while(1){u=(w|0)==0;b=w+8|0;while(1){if(!(kT()|0)){dT(d);r=+c[d>>3];a=+c[k>>3]}if(!u){if(kT()|0)break;n=+c[b>>3];if(n>3]>2]|0;I_(l);iT(t[g+8>>2]|0,i[g+16>>0]|0,l);iT(t[p+8>>2]|0,i[p+16>>0]|0,l);LT(g);wT(p);LT(p);p=+c[o+8>>3]>+c[m+8>>3];g=p&1;s=p?m:o;m=eT(s,p?o:m)|0;o=BT(m,g)|0;IT(e,o);iT(m,(g^1)&255,l);Z_(l);l=yT(e,o)|0;if(l|0){wT(e);bT(e,l,+C_(l,s))}e=yT(o,f)|0;if(!e)continue;bT(o,e,+C_(e,s))}e=ZT(w)|0;s=QT(e)|0;f=eT(WT(e)|0,w)|0;o=BT(f,0)|0;IT(e,o);l=yT(e,o)|0;if(l|0){wT(e);bT(e,l,+C_(l,w))}f=BT(f,1)|0;IT(o,f);e=yT(f,s)|0;if(e|0)bT(f,e,+C_(e,w));w=C5[A&3]()|0}e=t[46860]|0;while(1){e=QT(e)|0;if((e|0)==(t[46861]|0))break;AT(t[e+8>>2]|0)}h=v;return}function N_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;n=h;h=h+16|0;a=n+8|0;i=n;do{if((gk(e)|0)!=1){R_(e);if(!A)A=x_(e)|0;r=J_(e,A)|0;if(0){f=t[15712]|0;t[i>>2]=Mk(A)|0;t[i+4>>2]=r;a3(f,94005,i)|0}if((r|0)<0){nw(1,94039,a)|0;break}else{H_(e);P_(e,A);X_(e,A);S_(e,r);break}}else{f=t[(t[(sd(e)|0)+16>>2]|0)+132>>2]|0;t[f>>2]=0;t[f+4>>2]=0;t[f+8>>2]=0;t[f+12>>2]=0}}while(0);h=n;return A|0}function R_(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;r=gk(e)|0;r=P(r,r)|0;A=sd(e)|0;while(1){if(!A)break;i=A+16|0;a=t[(t[i>>2]|0)+112>>2]|0;n=a+24|0;t[n>>2]=r;t[n+4>>2]=0;c[a+48>>3]=10.0;a=($_(e,A)|0)==0;i=t[(t[i>>2]|0)+112>>2]|0;t[i>>2]=a?r:0;t[i+4>>2]=a?0:0;A=cd(e,A)|0}return}function x_(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;i=(gk(e)|0)<3;A=sd(e)|0;e:do{if(!i){while(1){if(!A)break;i=t[(t[A+16>>2]|0)+112>>2]|0;if((t[i>>2]|0)==0&(t[i+4>>2]|0)==0)K_(e,A,0);A=cd(e,A)|0}r=0;A=0;i=sd(e)|0;while(1){if(!i)break e;f=t[(t[i+16>>2]|0)+112>>2]|0;n=t[f>>2]|0;f=t[f+4>>2]|0;a=((r|0)<0)<<31>>31;a=f>>>0>a>>>0|(f|0)==(a|0)&n>>>0>r>>>0;r=a?n:r;A=a?i:A;i=cd(e,i)|0}}}while(0);return A|0}function J_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;r=t[(t[A+16>>2]|0)+112>>2]|0;a=r+24|0;i=t[a>>2]|0;t[a>>2]=0;t[a+4>>2]=0;t[r+32>>2]=0;O_(e,A);r=sd(e)|0;i=B6(0,i|0,32)|0;a=G;A=0;while(1){if(!r)break;f=(t[(t[r+16>>2]|0)+112>>2]|0)+24|0;n=t[f>>2]|0;f=t[f+4>>2]|0;if((n|0)==(i|0)&(f|0)==(a|0)){A=-1;break}l=((A|0)<0)<<31>>31;A=f>>>0>l>>>0|(f|0)==(l|0)&n>>>0>A>>>0?n:A;r=cd(e,r)|0}return A|0}function H_(e){e=e|0;var A=0,r=0,i=0,a=0;r=sd(e)|0;while(1){if(!r)break;A=t[(t[r+16>>2]|0)+112>>2]|0;i=A+16|0;e:do{if((t[i>>2]|0)==0&(t[i+4>>2]|0)==0)while(1){i=A+8|0;a=i;a=d6(t[a>>2]|0,t[a+4>>2]|0,1,0)|0;t[i>>2]=a;t[i+4>>2]=G;A=t[A+32>>2]|0;if(!A)break e;A=t[(t[A+16>>2]|0)+112>>2]|0}}while(0);r=cd(e,r)|0}return}function P_(e,A){e=e|0;A=A|0;c[(t[(t[A+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;T_(e,A);return}function X_(e,A){e=e|0;A=A|0;c[(t[(t[A+16>>2]|0)+112>>2]|0)+48>>3]=0.0;U_(e,A);return}function S_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0.0,s=0.0;f=h;h=h+16|0;a=f;n=j_(e,A)|0;if(0){i=t[15712]|0;Z3(94095,i)|0;r=0;while(1){if((r|0)>(A|0))break;c[a>>3]=+c[n+(r<<3)>>3];a3(i,94114,a)|0;r=r+1|0}Z3(153599,i)|0}r=sd(e)|0;while(1){if(!r)break;a=t[r+16>>2]|0;i=t[a+112>>2]|0;l=+c[n+(t[i+24>>2]<<3)>>3];i=i+48|0;s=+W(+ +c[i>>3])*l;a=t[a+132>>2]|0;c[a>>3]=s;c[a+8>>3]=+Y(+ +c[i>>3])*l;r=cd(e,r)|0}G2(n);h=f;return}function j_(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0,f=0.0,l=0,s=0,o=0,u=0;u=h;h=h+16|0;s=u;o=KF((A<<3)+8|0)|0;e=dx(e,zw(t[e+60>>2]|0,0,101288,0)|0,0)|0;e:do{if(!e){a=1.0;r=0.0;e=1}else{f=0.0;r=0.0;n=1;A:while(1){if((n|0)>(A|0)){a=f;e=n;break e}a=+e8(e,s);if(!(a>0.0)){a=f;e=n;break e}f=a>.02?a:.02;r=f+r;l=n+1|0;c[o+(n<<3)>>3]=r;e=t[s>>2]|0;while(1){n=i[e>>0]|0;if(!(n<<24>>24)){n=l;continue A}if(!(n<<24>>24==58|(I1(n<<24>>24)|0)!=0)){n=l;continue A}e=e+1|0}}}}while(0);while(1){if((e|0)>(A|0))break;f=r+a;c[o+(e<<3)>>3]=f;e=e+1|0;r=f}h=u;return o|0}function U_(e,A){e=e|0;A=A|0;var r=0,i=0.0,a=0,n=0,f=0,l=0.0;r=t[(t[A+16>>2]|0)+112>>2]|0;if(!(t[r+32>>2]|0))i=0.0;else i=+c[r+48>>3]-+c[r+40>>3]*.5;n=ek(e,A)|0;while(1){if(!n)break;r=t[n>>2]&3;a=t[((r|0)==3?n:n+48|0)+40>>2]|0;if((a|0)==(A|0))a=t[((r|0)==2?n:n+-48|0)+40>>2]|0;r=t[(t[a+16>>2]|0)+112>>2]|0;if((t[r+32>>2]|0)==(A|0)?(f=r+48|0,!(+c[f>>3]!=10.0)):0){l=+c[r+40>>3];c[f>>3]=l*.5+i;i=l+i;r=r+16|0;if(!((t[r>>2]|0)==0&(t[r+4>>2]|0)==0))U_(e,a)}n=Ak(e,n,A)|0}return}function T_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0.0,f=0,l=0;i=t[(t[A+16>>2]|0)+112>>2]|0;a=i+8|0;n=+c[i+40>>3]/(+((t[a>>2]|0)>>>0)+4294967296.0*+((t[a+4>>2]|0)>>>0));a=ek(e,A)|0;while(1){if(!a)break;i=t[a>>2]&3;r=t[((i|0)==3?a:a+48|0)+40>>2]|0;if((r|0)==(A|0))r=t[((i|0)==2?a:a+-48|0)+40>>2]|0;i=t[(t[r+16>>2]|0)+112>>2]|0;if(((t[i+32>>2]|0)==(A|0)?(f=i+40|0,!(+c[f>>3]!=0.0)):0)?(l=i+8|0,c[f>>3]=n*(+((t[l>>2]|0)>>>0)+4294967296.0*+((t[l+4>>2]|0)>>>0)),i=i+16|0,!((t[i>>2]|0)==0&(t[i+4>>2]|0)==0)):0)T_(e,r);a=Ak(e,a,A)|0}return}function O_(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0;w=h;h=h+16|0;u=w;b=zw(e,2,101541,0)|0;t[u+4>>2]=0;t[u>>2]=0;__(u,A);s=(b|0)==0;e:while(1){c=q_(u)|0;if(!c)break;o=c+16|0;f=t[(t[(t[o>>2]|0)+112>>2]|0)+24>>2]|0;n=ek(e,c)|0;f=d6(0,f|0,0,1)|0;f=B6(f|0,G|0,32)|0;l=G;while(1){if(!n)continue e;if(!((!s?(i[(Pw(n,b)|0)>>0]|0)==48:0)?!(e1(Pw(n,b)|0,138394)|0):0)){A=t[n>>2]&3;r=t[((A|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(c|0))r=t[((A|0)==2?n:n+-48|0)+40>>2]|0;A=t[(t[r+16>>2]|0)+112>>2]|0;a=A+24|0;k=a;d=t[k+4>>2]|0;if(l>>>0>>0|((l|0)==(d|0)?f>>>0<(t[k>>2]|0)>>>0:0)){d=a;t[d>>2]=f;t[d+4>>2]=l;t[A+32>>2]=c;d=(t[(t[o>>2]|0)+112>>2]|0)+16|0;k=d;k=d6(t[k>>2]|0,t[k+4>>2]|0,1,0)|0;t[d>>2]=k;t[d+4>>2]=G;__(u,r)}}n=Ak(e,n,c)|0}}h=w;return}function __(e,A){e=e|0;A=A|0;var r=0,i=0;r=KF(8)|0;t[r>>2]=A;A=e+4|0;i=t[A>>2]|0;t[((i|0)==0?e:i+4|0)>>2]=r;t[A>>2]=r;return}function q_(e){e=e|0;var A=0,r=0;r=t[e>>2]|0;if(r){A=t[r>>2]|0;t[e>>2]=t[r+4>>2];G2(r);if(!(t[e>>2]|0))t[e+4>>2]=0}else A=0;return A|0}function K_(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0;f=t[t[(t[A+16>>2]|0)+112>>2]>>2]|0;n=ek(e,A)|0;f=d6(0,f|0,0,1)|0;f=B6(f|0,G|0,32)|0;l=G;while(1){if(!n)break;a=t[n>>2]&3;i=t[((a|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(A|0))i=t[((a|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)!=(r|0)?(s=t[(t[i+16>>2]|0)+112>>2]|0,a=s,c=t[a+4>>2]|0,l>>>0>>0|((l|0)==(c|0)?f>>>0<(t[a>>2]|0)>>>0:0)):0){c=s;t[c>>2]=f;t[c+4>>2]=l;K_(e,i,A)}n=Ak(e,n,A)|0}return}function $_(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;a=0;n=ek(e,A)|0;while(1){if(!n){r=1;break}i=t[n>>2]&3;r=t[((i|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(A|0))r=t[((i|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)!=(A|0)){if(a)if((a|0)==(r|0))r=a;else{r=0;break}}else r=a;a=r;n=Ak(e,n,A)|0}return r|0}function eq(e){e=e|0;var A=0,r=0,i=0,a=0.0,n=0;A=h;h=h+32|0;i=A;r=zw(e,1,94122,0)|0;n=zw(e,0,94122,0)|0;e=Aq(e,n,r,zw(e,0,94127,0)|0)|0;r=e+16|0;a=+D(+(+c[e>>3]+.1));uq(i,0.0,0.0,a,a);t[r>>2]=t[i>>2];t[r+4>>2]=t[i+4>>2];t[r+8>>2]=t[i+8>>2];t[r+12>>2]=t[i+12>>2];t[r+16>>2]=t[i+16>>2];t[r+20>>2]=t[i+20>>2];t[r+24>>2]=t[i+24>>2];t[r+28>>2]=t[i+28>>2];rq(e);iq(e);aq(e);h=A;return}function Aq(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0.0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0;h=KF(72)|0;t[h+60>>2]=0;t[h+56>>2]=e;s=e+16|0;a=0.0;o=0;f=1;l=0;u=0;while(1){n=t[s>>2]|0;if((f|0)>(t[n+180>>2]|0))break;n=Aq(t[(t[n+184>>2]|0)+(f<<2)>>2]|0,A,r,i)|0;a=+c[n>>3]+a;if(l|0)t[l+52>>2]=n;o=o+1|0;f=f+1|0;l=n;u=(u|0)==0?n:u}b=sd(e)|0;n=u;while(1){if(!b)break;f=b+16|0;if(!(t[t[(t[f>>2]|0)+112>>2]>>2]|0)){s=fq(b,r)|0;a=+c[s>>3]+a;if(l|0)t[l+52>>2]=s;t[t[(t[f>>2]|0)+112>>2]>>2]=e;f=o+1|0;l=s;n=(n|0)==0?s:n}else f=o;b=cd(e,b)|0;o=f}t[h+64>>2]=o;if(!o)a=+sq(e,A);else{c[h+8>>3]=a;a=+lq(h,i)}c[h>>3]=a;t[h+48>>2]=n;return h|0}function rq(e){e=e|0;var A=0,r=0,i=0,a=0,n=0.0,f=0,l=0,s=0,o=0,u=0,b=0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0.0;w=h;h=h+176|0;a=w+144|0;u=w+64|0;s=w+32|0;f=w;b=t[e+64>>2]|0;e:do{if(b|0){o=KF(b<<2)|0;A=e+48|0;i=0;r=A;while(1){r=t[r>>2]|0;if((i|0)>=(b|0))break;t[o+(i<<2)>>2]=r;i=i+1|0;r=r+52|0}_4(o,b,4,80);l=KF(b<<3)|0;r=0;while(1){if((r|0)>=(b|0))break;c[l+(r<<3)>>3]=+c[t[o+(r<<2)>>2]>>3];r=r+1|0}n=+c[e+8>>3];if(+c[e>>3]==n){f=e+16|0;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2];t[a+16>>2]=t[f+16>>2];t[a+20>>2]=t[f+20>>2];t[a+24>>2]=t[f+24>>2];t[a+28>>2]=t[f+28>>2];f=cq(b,l,a)|0}else{k=+c[e+40>>3];d=+c[e+32>>3];c[f>>3]=+c[e+16>>3];c[f+8>>3]=+c[e+24>>3];v=k-d;n=(d+k-+D(+(n*4.0+v*v)))*.5;c[f+16>>3]=d-n;c[f+24>>3]=k-n;t[a>>2]=t[f>>2];t[a+4>>2]=t[f+4>>2];t[a+8>>2]=t[f+8>>2];t[a+12>>2]=t[f+12>>2];t[a+16>>2]=t[f+16>>2];t[a+20>>2]=t[f+20>>2];t[a+24>>2]=t[f+24>>2];t[a+28>>2]=t[f+28>>2];f=cq(b,l,a)|0}if(0){a=t[15712]|0;k=+c[e+24>>3];d=+c[e+32>>3];v=+c[e+40>>3];c[s>>3]=+c[e+16>>3];c[s+8>>3]=k;c[s+16>>3]=d;c[s+24>>3]=v;a3(a,94174,s)|0}i=t[15712]|0;r=0;while(1){if((r|0)>=(b|0))break;s=(t[o+(r<<2)>>2]|0)+16|0;a=f+(r<<5)|0;t[s>>2]=t[a>>2];t[s+4>>2]=t[a+4>>2];t[s+8>>2]=t[a+8>>2];t[s+12>>2]=t[a+12>>2];t[s+16>>2]=t[a+16>>2];t[s+20>>2]=t[a+20>>2];t[s+24>>2]=t[a+24>>2];t[s+28>>2]=t[a+28>>2];if(0){n=+c[a>>3];d=+c[f+(r<<5)+16>>3];m=d*.5;k=+c[f+(r<<5)+8>>3];v=+c[f+(r<<5)+24>>3];g=v*.5;c[u>>3]=+c[l+(r<<3)>>3];c[u+8>>3]=n-m;c[u+16>>3]=k-g;c[u+24>>3]=m+n;c[u+32>>3]=g+k;c[u+40>>3]=v*d;c[u+48>>3]=n;c[u+56>>3]=k;c[u+64>>3]=d;c[u+72>>3]=v;a3(i,94191,u)|0}r=r+1|0}G2(o);G2(l);G2(f);r=0;while(1){A=t[A>>2]|0;if((r|0)>=(b|0))break e;if(!(t[A+60>>2]|0))rq(A);A=A+52|0;r=r+1|0}}}while(0);h=w;return}function iq(e){e=e|0;var A=0,r=0,i=0,a=0,n=0.0,f=0.0,l=0,s=0.0,o=0.0;a=h;h=h+48|0;i=a;if(t[e+60>>2]|0){s=+c[e+24>>3];f=+c[e+32>>3];n=+c[e+40>>3];A=t[e+56>>2]|0;r=A+16|0;l=t[r>>2]|0;c[l+16>>3]=+c[e+16>>3];c[l+24>>3]=s;e=t[r>>2]|0;c[e+32>>3]=f*.013888888888888888;c[e+40>>3]=n*.013888888888888888;WJ(A,t[(t[(Bd(A)|0)+16>>2]|0)+116>>2]&1);tq(A);if(0){l=t[15712]|0;e=Mk(A)|0;r=t[r>>2]|0;o=+c[r+16>>3];n=+c[r+24>>3];f=+c[r+80>>3];s=+c[r+96>>3]+ +c[r+88>>3];t[i>>2]=e;c[i+8>>3]=o;c[i+16>>3]=n;c[i+24>>3]=f;c[i+32>>3]=s;a3(l,94133,i)|0}}else{A=e+48|0;while(1){A=t[A>>2]|0;if(!A)break;iq(A);A=A+52|0}f=+c[e+32>>3];o=+c[e+40>>3];n=+c[e+16>>3]-f*.5;s=+c[e+24>>3]-o*.5;l=t[(t[e+56>>2]|0)+16>>2]|0;c[l+16>>3]=n;c[l+24>>3]=s;c[l+32>>3]=n+f;c[l+40>>3]=s+o}h=a;return}function aq(e){e=e|0;var A=0,r=0,i=0;i=t[e+64>>2]|0;A=e+48|0;r=0;while(1){A=t[A>>2]|0;if((r|0)>=(i|0))break;aq(A);A=A+52|0;r=r+1|0}G2(e);return}function tq(e){e=e|0;var A=0,r=0,a=0,n=0;n=h;h=h+48|0;a=n;A=n+8|0;r=t[47150]|0;if(r|0?(i[(Pw(e,r)|0)>>0]|0)==0:0){c[a>>3]=+c[(t[e+16>>2]|0)+80>>3]*.7;T4(A,94168,a)|0;Mw(e,t[47150]|0,A)|0}Fx(e);h=n;return}function nq(e,A){e=e|0;A=A|0;var r=0.0;r=+c[t[e>>2]>>3]-+c[t[A>>2]>>3];return(r<0.0?1:(r>0.0)<<31>>31)|0}function fq(e,A){e=e|0;A=A|0;var r=0;r=KF(72)|0;c[r>>3]=+sq(e,A);t[r+60>>2]=1;t[r+56>>2]=e;return r|0}function lq(e,A){e=e|0;A=A|0;var r=0.0;r=+wx(t[e+56>>2]|0,A,0.0,0.0);if(r==0.0)r=+c[e+8>>3];else{r=+D(+ +c[e+8>>3])+r*2.0;r=r*r}return+r}function sq(e,A){e=e|0;A=A|0;var r=0.0;r=+wx(e,A,1.0,0.0);return+(r==0.0?1.0e3:r*1.0e3)}function cq(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0.0,n=0,f=0,l=0.0;f=h;h=h+32|0;n=f;i=0;a=0.0;while(1){if((i|0)>=(e|0))break;l=+c[A+(i<<3)>>3]+a;i=i+1|0;a=l}if(a>+c[r+24>>3]*+c[r+16>>3]+.001)i=0;else{i=KF(e<<5)|0;t[n>>2]=t[r>>2];t[n+4>>2]=t[r+4>>2];t[n+8>>2]=t[r+8>>2];t[n+12>>2]=t[r+12>>2];t[n+16>>2]=t[r+16>>2];t[n+20>>2]=t[r+20>>2];t[n+24>>2]=t[r+24>>2];t[n+28>>2]=t[r+28>>2];oq(e,A,i,0,0.0,1.0,0.0,1.0,n)}h=f;return i|0}function oq(e,A,r,i,a,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;n=+n;f=+f;l=+l;s=s|0;var o=0,u=0.0,b=0.0,w=0,k=0.0,d=0.0,v=0.0,g=0.0,m=0,p=0.0,E=0,B=0,y=0,C=0,I=0,Z=0.0;C=h;h=h+112|0;y=C+72|0;m=C+40|0;w=C+32|0;o=C;E=s+16|0;k=+c[E>>3];B=s+24|0;d=+c[B>>3];p=+c[s+16+((!(k>3];do{if((e|0)>=1){if(0){I=t[15712]|0;Z=+c[s+8>>3];c[o>>3]=+c[s>>3];c[o+8>>3]=k;c[o+16>>3]=Z;c[o+24>>3]=d;a3(I,94228,o)|0;t[w>>2]=i;a3(I,94274,w)|0}if(!i){f=+c[A>>3];Z=p*p;p=f/Z;Z=Z/f;t[y>>2]=t[s>>2];t[y+4>>2]=t[s+4>>2];t[y+8>>2]=t[s+8>>2];t[y+12>>2]=t[s+12>>2];t[y+16>>2]=t[s+16>>2];t[y+20>>2]=t[s+20>>2];t[y+24>>2]=t[s+24>>2];t[y+28>>2]=t[s+28>>2];oq(e,A,r,1,f,f,f,p>Z?p:Z,y);break}if((e|0)>(i|0)?(g=+c[A+(i<<3)>>3],u=gn?n:g,g=g+f,b=g/p,b=b*b,Z=b/v,b=u/b,b=Z>b?Z:b,b<=l):0){t[y>>2]=t[s>>2];t[y+4>>2]=t[s+4>>2];t[y+8>>2]=t[s+8>>2];t[y+12>>2]=t[s+12>>2];t[y+16>>2]=t[s+16>>2];t[y+20>>2]=t[s+20>>2];t[y+24>>2]=t[s+24>>2];t[y+28>>2]=t[s+28>>2];oq(e,A,r,i+1|0,u,v,g,b,y);break}k=f/p;if(0){I=t[15712]|0;t[m>>2]=i;c[m+8>>3]=f;c[m+16>>3]=p;c[m+24>>3]=k;a3(I,94299,m)|0}u=+c[E>>3];if(p==u){b=1.0/k;w=s+8|0;u=+c[s>>3]-u*.5;o=0;while(1){if((o|0)>=(i|0))break;c[r+(o<<5)+24>>3]=k;Z=+c[A+(o<<3)>>3]*b;c[r+(o<<5)+16>>3]=Z;c[r+(o<<5)+8>>3]=(+c[B>>3]-k)*.5+ +c[w>>3];c[r+(o<<5)>>3]=Z*.5+u;u=Z+u;o=o+1|0}c[w>>3]=+c[w>>3]-k*.5;o=1}else{b=1.0/k;u=+c[B>>3]*.5+ +c[s+8>>3];o=0;while(1){if((o|0)>=(i|0))break;c[r+(o<<5)+16>>3]=k;Z=+c[A+(o<<3)>>3]*b;c[r+(o<<5)+24>>3]=Z;c[r+(o<<5)>>3]=(k-+c[E>>3])*.5+ +c[s>>3];c[r+(o<<5)+8>>3]=u-Z*.5;u=u-Z;o=o+1|0}c[s>>3]=+c[s>>3]+k*.5;o=0}I=s+16+(o<<3)|0;c[I>>3]=+c[I>>3]-k;t[y>>2]=t[s>>2];t[y+4>>2]=t[s+4>>2];t[y+8>>2]=t[s+8>>2];t[y+12>>2]=t[s+12>>2];t[y+16>>2]=t[s+16>>2];t[y+20>>2]=t[s+20>>2];t[y+24>>2]=t[s+24>>2];t[y+28>>2]=t[s+28>>2];oq(e-i|0,A+(i<<3)|0,r+(i<<5)|0,0,0.0,0.0,0.0,1.0,y)}}while(0);h=C;return}function uq(e,A,r,i,a){e=e|0;A=+A;r=+r;i=+i;a=+a;c[e>>3]=A;c[e+8>>3]=r;c[e+16>>3]=i;c[e+24>>3]=a;return}function bq(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,n=0,f=0,l=0,o=0.0,u=0.0,b=0.0,w=0.0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0;L=h;h=h+96|0;G=L+48|0;Z=L+24|0;I=L+16|0;C=L+8|0;m=L+80|0;p=L;E=e+16|0;B=A+4|0;y=m+4|0;v=sd(e)|0;r=0;i=0;n=0;f=0;while(1){if(!v)break;g=Ow(e,v)|0;k=r;d=f;while(1){if(!g)break;r=(a[(t[g+16>>2]|0)+168>>1]|0)==0;do{if((v|0)==(t[((t[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0))if(r){f=k;r=d}else{if(!i){r=KF(96)|0;t[r+84>>2]=KF(((gk(e)|0)<<5)+11520|0)|0;i=r}else r=d;CH(i,g,t[(t[E>>2]|0)+248>>2]|0);f=k}else if(!r){n=hq(g,A)|0;f=n+8|0;if(KT(t[f>>2]|0,t[n>>2]|0)|0){l=Ll(t[f>>2]|0,t[n>>2]|0)|0;if(!l){nw(0,94352,C)|0;f=1;r=d;break}else r=g;while(1){if(!r)break;Q=r+16|0;D=(t[Q>>2]|0)+144|0;DH(p,r,l,0,t[f>>2]|0,t[n>>2]|0);W=p;z=t[W+4>>2]|0;t[D>>2]=t[W>>2];t[D+4>>2]=z;WH(e,r,t[f>>2]|0,t[n>>2]|0,0);r=t[(t[Q>>2]|0)+172>>2]|0}wq(n);f=k;r=d;break}if(!k){Kj(m,e);r=oE(e,8,8)|0;nw(0,94436,I)|0;u=+(r|0);b=+s[A>>2];w=+s[B>>2];if(!(b>=u)&!(w>=u)){o=+s[m>>2];u=+s[y>>2];if(!(!(o<=b)&!(u<=w))){c[G>>3]=o;c[G+8>>3]=u;c[G+16>>3]=b;c[G+24>>3]=w;nw(3,94552,G)|0}}else{t[Z>>2]=r;c[Z+8>>3]=b;c[Z+16>>3]=w;nw(3,94502,Z)|0}f=1;r=d}else{f=k;r=d}}else{f=k;r=d}}while(0);g=qw(e,g)|0;k=f;d=r}v=cd(e,v)|0;r=k;f=d}kq(n);if(i|0){G2(t[i+84>>2]|0);G2(f)}h=L;return r|0}function hq(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+16|0;o=w+4|0;u=w;r=t[e>>2]&3;a=t[((r|0)==2?e:e+-48|0)+40>>2]|0;r=t[((r|0)==3?e:e+48|0)+40>>2]|0;k=a+16|0;f=t[(t[k>>2]|0)+212>>2]|0;t[o>>2]=f;l=r+16|0;n=t[(t[l>>2]|0)+212>>2]|0;t[u>>2]=n;c=KF(12)|0;e=f;s=n;if(i[(t[k>>2]|0)+118>>0]|0){e=t[(t[(t[e+16>>2]|0)+140>>2]|0)+48>>2]|0;t[o>>2]=e;a=f;f=e}if(!(i[(t[l>>2]|0)+118>>0]|0))l=s;else{l=t[(t[(t[s+16>>2]|0)+140>>2]|0)+48>>2]|0;t[u>>2]=l;r=n;n=l}f=t[(t[(t[f+16>>2]|0)+140>>2]|0)+44>>2]|0;n=t[(t[(t[n+16>>2]|0)+140>>2]|0)+44>>2]|0;if((f|0)<=(n|0))if((n|0)>(f|0)){dq(c,n,r,f,u,A);e=t[u>>2]|0;n=e;r=u;b=11}else f=l;else{dq(c,f,a,n,o,A);e=t[o>>2]|0;a=e;n=r;r=o;b=11}while(1){if((b|0)==11){t[r>>2]=t[(t[(t[e+16>>2]|0)+140>>2]|0)+48>>2];r=n;e=t[o>>2]|0;f=t[u>>2]|0}if((e|0)==(f|0))break;vq(c,e,0,a,A);vq(c,f,r,0,A);t[o>>2]=t[(t[(t[e+16>>2]|0)+140>>2]|0)+48>>2];a=e;n=f;r=u;e=f;b=11}vq(c,f,r,a,A);h=w;return c|0}function wq(e){e=e|0;t[e>>2]=0;return}function kq(e){e=e|0;if(e|0){G2(t[e+8>>2]|0);G2(e)}return}function dq(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0;l=a;while(1){f=t[l>>2]|0;if((A|0)<=(i|0))break;vq(e,f,r,0,n);A=A+-1|0;l=(t[(t[f+16>>2]|0)+140>>2]|0)+48|0;r=f}t[a>>2]=r;return}function vq(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0;f=sd(A)|0;while(1){if(!f)break;l=t[f+16>>2]|0;if(!((f|0)==(a|0)|((f|0)==(r|0)?1:(t[l+212>>2]|0)!=(A|0)))?(i[l+118>>0]|0)==0:0)gq(e,GH(f,n,0)|0);f=cd(A,f)|0}l=A+16|0;A=1;while(1){f=t[l>>2]|0;if((A|0)>(t[f+180>>2]|0))break;f=t[(t[f+184>>2]|0)+(A<<2)>>2]|0;if(!((f|0)==(r|0)|(f|0)==(a|0)))gq(e,mq(f,n)|0);A=A+1|0}return}function gq(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;i=e+4|0;a=t[i>>2]|0;n=e+8|0;r=t[n>>2]|0;do{if((a|0)==(t[e>>2]|0))if(!r){r=$F(400)|0;t[n>>2]=r;t[i>>2]=100;break}else{t[i>>2]=a<<1;r=AM(r,a<<3)|0;t[n>>2]=r;break}}while(0);n=t[e>>2]|0;t[e>>2]=n+1;t[r+(n<<2)>>2]=A;return}function mq(e,A){e=e|0;A=A|0;var r=0.0,a=0.0,n=0.0,f=0.0,l=0.0,o=0.0,u=0,b=0.0,h=0.0,w=0.0;u=KF(8)|0;e=t[e+16>>2]|0;r=+c[e+16>>3];o=+c[e+24>>3];a=+c[e+32>>3];l=+c[e+40>>3];t[u+4>>2]=4;e=KF(64)|0;t[u>>2]=e;if(!(i[A+8>>0]|0)){w=+s[A>>2];h=+s[A+4>>2];n=(a+r)*.5*(w+-1.0);b=(l+o)*.5*(h+-1.0);f=r*w-n;n=a*w-n;a=l*h-b;r=o*h-b}else{n=+s[A>>2];w=+s[A+4>>2];f=r-n;n=a+n;a=l+w;r=o-w}c[e>>3]=f;c[e+8>>3]=r;c[e+16>>3]=f;c[e+24>>3]=a;c[e+32>>3]=n;c[e+40>>3]=a;c[e+48>>3]=n;c[e+56>>3]=r;return u|0}function pq(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;b=h;h=h+160|0;u=b+16|0;s=b+8|0;n=b;c=b+24|0;o=KF(gk(e)|0)|0;f=e+16|0;a=t[t[(t[f>>2]|0)+140>>2]>>2]|0;e:do{if(!a){n=0;a=0}else{w=Mk(e)|0;l=t[46923]|0;t[n>>2]=w;t[n+4>>2]=l;T4(c,94612,n)|0;l=Rv(e,c,1)|0;Sd(l,137483,280,1)|0;n=KF(56)|0;t[(t[l+16>>2]|0)+140>>2]=n;t[n>>2]=a;t[n+4>>2]=t[(t[(t[f>>2]|0)+140>>2]|0)+4>>2];while(1){n=t[a+4>>2]|0;if(!n){n=l;a=1;break e}if(!(i[o+(t[(t[n+16>>2]|0)+120>>2]|0)>>0]|0))Eq(e,n,l,o);a=a+16|0}}}while(0);f=0;l=sd(e)|0;while(1){if(!l)break;w=t[l+16>>2]|0;if((i[o+(t[w+120>>2]|0)>>0]|0)==0?(i[w+119>>0]|0)==3:0){if(!n){w=Mk(e)|0;n=(t[46923]|0)+a|0;t[s>>2]=w;t[s+4>>2]=n;T4(c,94612,s)|0;n=Rv(e,c,1)|0;Sd(n,137483,280,1)|0;w=KF(56)|0;t[(t[n+16>>2]|0)+140>>2]=w;a=a+1|0}Eq(e,l,n,o);f=1}l=cd(e,l)|0}if(n|0)Mp(n)|0;n=sd(e)|0;while(1){if(!n)break;if(!(i[o+(t[(t[n+16>>2]|0)+120>>2]|0)>>0]|0)){s=Mk(e)|0;w=(t[46923]|0)+a|0;t[u>>2]=s;t[u+4>>2]=w;T4(c,94620,u)|0;w=Rv(e,c,1)|0;Sd(w,137483,280,1)|0;s=KF(56)|0;t[(t[w+16>>2]|0)+140>>2]=s;Eq(e,n,w,o);Mp(w)|0;a=a+1|0}n=cd(e,n)|0}G2(o);t[46923]=(t[46923]|0)+a;if(A|0)t[A>>2]=a;if(r|0)t[r>>2]=f;l=KF((a<<2)+4|0)|0;f=l;n=xv(e)|0;while(1){if(!n)break;t[f>>2]=n;f=f+4|0;n=Jv(n)|0;a=a+-1|0}if(!a){t[f>>2]=0;h=b;return l|0}else ge(94628,94639,134,94646);return 0}function Eq(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0;i[a+(t[(t[A+16>>2]|0)+120>>2]|0)>>0]=1;hd(r,A,1)|0;l=ek(e,A)|0;while(1){if(!l)break;f=t[l>>2]&3;n=t[((f|0)==3?l:l+48|0)+40>>2]|0;if((n|0)==(A|0))n=t[((f|0)==2?l:l+-48|0)+40>>2]|0;if(!(i[a+(t[(t[n+16>>2]|0)+120>>2]|0)>>0]|0))Eq(e,n,r,a);l=Ak(e,l,A)|0}return}function Bq(e){e=e|0;var A=0;A=$F(24)|0;t[46924]=A;t[A>>2]=Uh(18204,t[4581]|0)|0;t[A+16>>2]=0;t[A+12>>2]=0;t[A+4>>2]=yq(e)|0;return A|0}function yq(e){e=e|0;var A=0,r=0;A=$F(16)|0;t[A+12>>2]=0;r=$F(e*20|0)|0;t[A>>2]=r;t[A+8>>2]=r+(e*20|0);t[A+4>>2]=r;return A|0}function Cq(e,A,r){e=e|0;A=A|0;r=r|0;r=Zq(t[46924]|0)|0;t[r>>2]=t[A>>2];t[r+4>>2]=t[A+4>>2];t[r+8>>2]=0;return r|0}function Iq(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;e=(t[A>>2]|0)-(t[r>>2]|0)|0;if(!e)e=(t[A+4>>2]|0)-(t[r+4>>2]|0)|0;return e|0}function Zq(e){e=e|0;var A=0,r=0,i=0,a=0;a=e+8|0;e=t[a>>2]|0;A=t[e+4>>2]|0;if((A|0)==(t[e+8>>2]|0)){r=e+12|0;i=t[r>>2]|0;if(!i){e=yq(((A-(t[e>>2]|0)|0)/20|0)<<1)|0;t[r>>2]=e}else e=i;t[a>>2]=e;A=t[e>>2]|0;t[e+4>>2]=A}t[e+4>>2]=A+20;return A|0}function Gq(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+12|0;r=t[a>>2]|0;if((r|0)<(A|0)){i=r<<1;i=(i|0)<(A|0)?A:i;A=e+16|0;r=t[A>>2]|0;if(r|0)G2(r);t[A>>2]=$F(i<<3)|0;t[a>>2]=i}return}function Lq(e){e=e|0;var A=0;A=t[e>>2]|0;L5[t[A>>2]&63](A,0,64)|0;t[e+20>>2]=t[e+16>>2];A=t[e+4>>2]|0;t[e+8>>2]=A;t[A+4>>2]=t[A>>2];return}function Qq(e){e=e|0;Ph(t[e>>2]|0)|0;Dq(t[e+4>>2]|0);G2(t[e+16>>2]|0);G2(e);return}function Dq(e){e=e|0;var A=0;while(1){if(!e)break;A=t[e+12>>2]|0;G2(t[e>>2]|0);G2(e);e=A}return}function zq(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0;n=h;h=h+32|0;a=n;f=n+12|0;t[f>>2]=A;t[f+4>>2]=r;l=t[e>>2]|0;f=(L5[t[l>>2]&63](l,f,1)|0)+8|0;t[f>>2]=Wq(e,i,t[f>>2]|0)|0;if(0>2){l=t[15712]|0;f=Mk(i)|0;t[a>>2]=A;t[a+4>>2]=r;t[a+8>>2]=f;a3(l,94656,a)|0}h=n;return}function Wq(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;i=e+20|0;e=t[i>>2]|0;t[i>>2]=e+8;t[e>>2]=A;t[e+4>>2]=r;return e|0}function Yq(e,A){e=e|0;A=A|0;ew(t[e>>2]|0,A,e)|0;return}function Fq(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+32|0;a=i;t[a>>2]=A;t[a+4>>2]=r;r=t[e>>2]|0;r=L5[t[r>>2]&63](r,a,4)|0;h=i;return r|0}function Mq(e){e=e|0;G2(t[e+8>>2]|0);G2(e);return}function Vq(e){e=e|0;return+ +c[e>>3]}function Nq(e){e=e|0;return t[e+8>>2]|0}function Rq(e){e=e|0;return~~+c[e+16>>3]|0}function xq(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;A=t[A>>2]|0;if((A|0)>=(t[r>>2]|0)){A=A+10|0;t[r>>2]=A;t[i>>2]=AM(t[i>>2]|0,P(e<<3,A)|0)|0;t[a>>2]=AM(t[a>>2]|0,t[r>>2]<<3)|0;t[n>>2]=AM(t[n>>2]|0,t[r>>2]<<3)|0}return}function Jq(e,A,r,i,a,n,f,l,s,o,u){e=e|0;A=+A;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;u=u|0;var b=0,h=0,w=0,k=0,d=0.0;c[o>>3]=+c[o>>3]+1.0;e:do{if(e|0){k=t[e+16>>2]|0;b=t[e+40>>2]|0;if(b|0)do{xq(k,a,n,f,l,s);if((Rq(Cb(b)|0)|0)!=(i|0)){w=Nq(Cb(b)|0)|0;h=0;while(1){if((h|0)>=(k|0))break;c[(t[f>>2]|0)+((P(t[a>>2]|0,k)|0)+h<<3)>>3]=+c[w+(h<<3)>>3];h=h+1|0}d=+Vq(Cb(b)|0);c[(t[l>>2]|0)+(t[a>>2]<<3)>>3]=d;d=+$o(r,w,k);w=t[a>>2]|0;c[(t[s>>2]|0)+(w<<3)>>3]=d;t[a>>2]=w+1}b=Ib(b)|0}while((b|0)!=0);w=e+36|0;if(t[w>>2]|0){d=+$o(t[e+20>>2]|0,r,k);if(!(+c[e+24>>3]=(h|0))break e;Jq(t[(t[w>>2]|0)+(b<<2)>>2]|0,A,r,i,a,n,f,l,s,o,u);b=b+1|0}}xq(k,a,n,f,l,s);h=e+32|0;b=0;while(1){if((b|0)>=(k|0))break;c[(t[f>>2]|0)+((P(t[a>>2]|0,k)|0)+b<<3)>>3]=+c[(t[h>>2]|0)+(b<<3)>>3];b=b+1|0}c[(t[l>>2]|0)+(t[a>>2]<<3)>>3]=+c[e+8>>3];d=+$o(t[h>>2]|0,r,k);l=t[a>>2]|0;c[(t[s>>2]|0)+(l<<3)>>3]=d;t[a>>2]=l+1}}}while(0);return}function Hq(e,A,r,i,a,n,f,l,s,o,u){e=e|0;A=+A;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;o=o|0;u=u|0;var b=0;b=t[e+16>>2]|0;c[o>>3]=0.0;t[a>>2]=0;t[u>>2]=0;t[n>>2]=10;if(!(t[f>>2]|0))t[f>>2]=$F(b*80|0)|0;if(!(t[l>>2]|0))t[l>>2]=$F(t[n>>2]<<3)|0;if(!(t[s>>2]|0))t[s>>2]=$F(t[n>>2]<<3)|0;Jq(e,A,r,i,a,n,f,l,s,o,u);return}function Pq(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=+i;a=+a;n=+n;f=f|0;l=l|0;var s=0,o=0,u=0;u=t[e>>2]|0;o=t[e+16>>2]|0;s=0;while(1){if((s|0)==4)break;c[f+(s<<3)>>3]=0.0;s=s+1|0}t[l>>2]=0;o=P(o,u)|0;s=0;while(1){if((s|0)>=(o|0))break;c[A+(s<<3)>>3]=0.0;s=s+1|0}Xq(e,e,r,A,i,a,n,f);Sq(e,A,f);i=1.0/+(u|0);s=0;while(1){if((s|0)==4)break;u=f+(s<<3)|0;c[u>>3]=+c[u>>3]*i;s=s+1|0}return}function Xq(e,A,r,i,a,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;n=+n;f=+f;l=l|0;var s=0,o=0.0,u=0,b=0.0,h=0,w=0,k=0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0;e:do{if((e|0)!=0&(A|0)!=0){if((t[e>>2]|0)>0?(t[A>>2]|0)>0:0){E=t[e+16>>2]|0;w=t[e+40>>2]|0;p=A+40|0;h=t[p>>2]|0;s=e+32|0;u=A+32|0;d=+$o(t[s>>2]|0,t[u>>2]|0,E);o=+c[e+24>>3];b=+c[A+24>>3];if(b+o>3]=+c[l>>3]+1.0;k=t[s>>2]|0;b=+c[e+8>>3];w=jq(e,E)|0;h=t[u>>2]|0;o=+c[A+8>>3];u=jq(A,E)|0;if(!(d>0.0))ge(94798,94681,191,94764);b=b*f*o;o=+z(+d,+(1.0-n));o=1.0/(n==-1.0?d*d:o);s=0;while(1){if((s|0)>=(E|0))break e;f=b*(+c[k+(s<<3)>>3]-+c[h+(s<<3)>>3])*o;i=w+(s<<3)|0;c[i>>3]=f+ +c[i>>3];i=u+(s<<3)|0;c[i>>3]=+c[i>>3]-f;s=s+1|0}}u=(w|0)!=0;s=(h|0)!=0;m=(e|0)==(A|0);if(u&s){v=l+8|0;g=n==-1.0;a=1.0-n;u=w;while(1){if(!u)break e;w=Nq(Cb(u)|0)|0;d=+Vq(Cb(u)|0);k=Rq(Cb(u)|0)|0;e=Uq(i,k,u,E)|0;d=d*f;h=t[p>>2]|0;while(1){if(!h)break;A=Nq(Cb(h)|0)|0;o=+Vq(Cb(h)|0);s=Rq(Cb(h)|0)|0;l=Uq(i,s,h,E)|0;A:do{if(!((k|0)==(s|0)|m&(s|0)<(k|0))){c[v>>3]=+c[v>>3]+1.0;n=+qo(r,E,k,s);o=d*o;b=+z(+n,+a);b=1.0/(g?n*n:b);s=0;while(1){if((s|0)>=(E|0))break A;n=o*(+c[w+(s<<3)>>3]-+c[A+(s<<3)>>3])*b;B=e+(s<<3)|0;c[B>>3]=n+ +c[B>>3];B=l+(s<<3)|0;c[B>>3]=+c[B>>3]-n;s=s+1|0}}}while(0);h=Ib(h)|0}u=Ib(u)|0}}if(m){k=1<=(k|0))break e;w=t[(t[h>>2]|0)+(u<<2)>>2]|0;s=u;while(1){if((s|0)==(k|0))break;Xq(w,t[(t[h>>2]|0)+(s<<2)>>2]|0,r,i,a,n,f,l);s=s+1|0}u=u+1|0}}if(!(u|!(o>b))){h=1<=(h|0))break e;Xq(t[(t[u>>2]|0)+(s<<2)>>2]|0,A,r,i,a,n,f,l);s=s+1|0}}if(!(s|!(b>o))){h=1<=(h|0))break e;Xq(t[(t[u>>2]|0)+(s<<2)>>2]|0,e,r,i,a,n,f,l);s=s+1|0}}if(!u){h=1<=(h|0))break e;Xq(t[(t[u>>2]|0)+(s<<2)>>2]|0,A,r,i,a,n,f,l);s=s+1|0}}if(s)ge(138394,94681,273,94764);h=1<=(h|0))break e;Xq(t[(t[u>>2]|0)+(s<<2)>>2]|0,e,r,i,a,n,f,l);s=s+1|0}}ge(94739,94681,175,94764)}}while(0);return}function Sq(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,h=0;i=t[e+40>>2]|0;u=t[e+16>>2]|0;n=+c[e+8>>3];b=jq(e,u)|0;if(!(n>0.0))ge(94673,94681,289,94692);o=r+16|0;c[o>>3]=+c[o>>3]+1.0;e:do{if(!i){o=1<=(o|0))break e;a=t[(t[s>>2]|0)+(e<<2)>>2]|0;if(a|0){if((t[a>>2]|0)<=0)break;l=jq(a,u)|0;f=+c[a+8>>3]*n;i=0;while(1){if((i|0)>=(u|0))break;h=l+(i<<3)|0;c[h>>3]=+c[h>>3]+ +c[b+(i<<3)>>3]*f;i=i+1|0}Sq(a,A,r)}e=e+1|0}ge(94728,94681,307,94692)}else{f=1.0/n;while(1){if(!i)break e;a=Uq(A,Rq(Cb(i)|0)|0,i,u)|0;n=+Vq(Cb(i)|0)*f;e=0;while(1){if((e|0)>=(u|0))break;h=a+(e<<3)|0;c[h>>3]=+c[h>>3]+ +c[b+(e<<3)>>3]*n;e=e+1|0}i=Ib(i)|0}}}while(0);return}function jq(e,A){e=e|0;A=A|0;var r=0;r=e+48|0;e=t[r>>2]|0;e:do{if(!e){e=$F(A<<3)|0;t[r>>2]=e;r=0;while(1){if((r|0)>=(A|0))break e;c[e+(r<<3)>>3]=0.0;r=r+1|0}}}while(0);return e|0}function Uq(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=t[(Cb(r)|0)+24>>2]|0;if(!a){a=e+((P(i,A)|0)<<3)|0;t[(Cb(r)|0)+24>>2]=a;a=t[(Cb(r)|0)+24>>2]|0}return a|0}function Tq(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0,n=0,f=0.0,l=0,s=0,o=0,u=0,b=0,h=0.0,w=0;u=e<<3;s=$F(u)|0;o=$F(u)|0;u=$F(u)|0;if((s|0)!=0&(o|0)!=0&(u|0)!=0){t=0;while(1){if((t|0)>=(e|0)){t=0;break}c[s+(t<<3)>>3]=+c[i+(t<<3)>>3];t=t+1|0}while(1){if((t|0)>=(e|0)){n=1;break}c[o+(t<<3)>>3]=+c[i+(t<<3)>>3];t=t+1|0}while(1){if((n|0)>=(A|0))break;l=P(n,e)|0;t=0;while(1){if((t|0)>=(e|0))break;b=s+(t<<3)|0;f=+c[b>>3];w=i+(t+l<<3)|0;h=+c[w>>3];c[b>>3]=f>3];f=+c[w>>3];c[b>>3]=h>f?h:f;t=t+1|0}n=n+1|0}f=+c[o>>3]-+c[s>>3];t=0;while(1){if((t|0)>=(e|0))break;w=s+(t<<3)|0;b=o+(t<<3)|0;c[u+(t<<3)>>3]=(+c[b>>3]+ +c[w>>3])*.5;h=+c[b>>3]-+c[w>>3];f=f>h?f:h;t=t+1|0}t=Oq(e,u,f==0.0?5.2e-06:f*.52,r)|0;e:do{if(!a){n=0;while(1){if((n|0)>=(A|0))break e;t=_q(t,i+((P(n,e)|0)<<3)|0,1.0,n)|0;n=n+1|0}}else{n=0;while(1){if((n|0)>=(A|0))break e;w=i+((P(n,e)|0)<<3)|0;t=_q(t,w,+c[a+(n<<3)>>3],n)|0;n=n+1|0}}}while(0);G2(s);G2(o);G2(u)}else{G2(s);G2(o);G2(u);t=0}return t|0}function Oq(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;var a=0,n=0,f=0;n=$F(56)|0;t[n+16>>2]=e;t[n>>2]=0;f=$F(e<<3)|0;t[n+20>>2]=f;a=0;while(1){if((a|0)>=(e|0))break;c[f+(a<<3)>>3]=+c[A+(a<<3)>>3];a=a+1|0}if(r>0.0){c[n+24>>3]=r;c[n+8>>3]=0.0;t[n+32>>2]=0;t[n+36>>2]=0;t[n+40>>2]=0;t[n+44>>2]=i;t[n+48>>2]=0;return n|0}else ge(94896,94681,410,94906);return 0}function _q(e,A,r,i){e=e|0;A=A|0;r=+r;i=i|0;if(!e)e=0;else qq(e,A,r,i,0)|0;return e|0}function qq(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0,s=0.0,o=0.0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0;g=e+16|0;d=t[g>>2]|0;v=t[e+44>>2]|0;u=t[e>>2]|0;do{if(!u){t[e>>2]=1;c[e+8>>3]=r;l=$F(d<<3)|0;t[e+32>>2]=l;f=t[g>>2]|0;n=0;while(1){if((n|0)>=(f|0))break;c[l+(n<<3)>>3]=+c[A+(n<<3)>>3];n=n+1|0}n=Kq(f,r,A,i)|0;f=e+40|0;if(!(t[f>>2]|0)){t[f>>2]=Eb(n)|0;break}else ge(94807,94681,502,94815)}else{if((v|0)<=(a|0)){if(t[e+36>>2]|0)ge(94881,94681,541,94815);n=u+1|0;t[e>>2]=n;f=e+8|0;c[f>>3]=+c[f>>3]+r;f=e+32|0;s=+(n|0);o=1.0/+(u+2|0);n=0;while(1){if((n|0)>=(d|0))break;k=(t[f>>2]|0)+(n<<3)|0;c[k>>3]=(+c[k>>3]*s+ +c[A+(n<<3)>>3])*o;n=n+1|0}n=Kq(d,r,A,i)|0;f=e+40|0;l=t[f>>2]|0;if(!l)ge(94891,94681,547,94815);else{t[f>>2]=yb(l,n)|0;break}}f=e+8|0;c[f>>3]=+c[f>>3]+r;f=e+32|0;o=+(u|0);s=1.0/+(u+1|0);n=0;while(1){if((n|0)>=(d|0))break;k=(t[f>>2]|0)+(n<<3)|0;c[k>>3]=(+c[k>>3]*o+ +c[A+(n<<3)>>3])*s;n=n+1|0}k=e+36|0;w=1<>2]|0)){t[k>>2]=$F(w<<2)|0;n=0;while(1){if((n|0)>=(w|0))break e;t[(t[k>>2]|0)+(n<<2)>>2]=0;n=n+1|0}}}while(0);b=e+20|0;n=t[b>>2]|0;l=$q(d,n,A)|0;if(!((l|0)<(w|0)&(l|0)>-1))ge(94837,94681,515,94815);f=t[(t[k>>2]|0)+(l<<2)>>2]|0;if(!f){f=eK(t[g>>2]|0,n,+c[e+24>>3]*.5,v,l)|0;t[(t[k>>2]|0)+(l<<2)>>2]=f;f=t[(t[k>>2]|0)+(l<<2)>>2]|0}h=a+1|0;i=qq(f,A,r,i,h)|0;t[(t[k>>2]|0)+(l<<2)>>2]=i;if(!(t[(t[k>>2]|0)+(l<<2)>>2]|0))ge(94860,94681,519,94815);A=e+40|0;n=t[A>>2]|0;do{if(n|0){u=Rq(Cb(n)|0)|0;if((t[e>>2]|0)!=1)ge(94871,94681,523,94815);a=Nq(Cb(t[A>>2]|0)|0)|0;s=+Vq(Cb(t[A>>2]|0)|0);f=t[b>>2]|0;l=$q(d,f,a)|0;if(!((l|0)<(w|0)&(l|0)>-1))ge(94837,94681,527,94815);n=t[(t[k>>2]|0)+(l<<2)>>2]|0;if(!n){n=eK(t[g>>2]|0,f,+c[e+24>>3]*.5,v,l)|0;t[(t[k>>2]|0)+(l<<2)>>2]=n;n=t[(t[k>>2]|0)+(l<<2)>>2]|0}g=qq(n,a,s,u,h)|0;t[(t[k>>2]|0)+(l<<2)>>2]=g;if(!(t[(t[k>>2]|0)+(l<<2)>>2]|0))ge(94860,94681,532,94815);else{Bb(t[A>>2]|0,106);t[A>>2]=0;break}}}while(0);t[e>>2]=(t[e>>2]|0)+1}}while(0);return e|0}function Kq(e,A,r,i){e=e|0;A=+A;r=r|0;i=i|0;var a=0,n=0;n=$F(32)|0;c[n>>3]=A;a=$F(e<<3)|0;t[n+8>>2]=a;c[n+16>>3]=+(i|0);i=0;while(1){if((i|0)>=(e|0))break;c[a+(i<<3)>>3]=+c[r+(i<<3)>>3];i=i+1|0}t[n+24>>2]=0;return n|0}function $q(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;a=0;while(1){i=e+-1|0;if((e|0)<=0)break;e=i;a=a<<1|!(+c[r+(i<<3)>>3]-+c[A+(i<<3)>>3]<0.0)&1}return a|0}function eK(e,A,r,i,a){e=e|0;A=A|0;r=+r;i=i|0;a=a|0;var n=0,f=0,l=0.0;n=Oq(e,A,r,i)|0;f=t[n+20>>2]|0;l=-r;i=0;A=a;while(1){if((i|0)>=(e|0))break;a=f+(i<<3)|0;c[a>>3]=+c[a>>3]+((A&1|0)==0?l:r);i=i+1|0;A=(A|0)/2|0}return n|0}function AK(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if(e|0){A=t[e+16>>2]|0;G2(t[e+20>>2]|0);G2(t[e+32>>2]|0);G2(t[e+48>>2]|0);n=e+36|0;i=t[n>>2]|0;if(i|0){a=1<=(a|0))break;AK(t[A+(r<<2)>>2]|0);r=r+1|0;A=t[n>>2]|0}G2(A)}Bb(t[e+40>>2]|0,106);G2(e)}return}function rK(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0.0,d=0,v=0,g=0;e:do{if(!e)A=0;else{o=t[e+20>>2]|0;u=t[e+24>>2]|0;r=t[e+8>>2]|0;b=t[e>>2]|0;i=t[e+4>>2]|0;f=e+16|0;if((t[e+32>>2]|0)!=1)ge(94919,94943,76,94958);A=aK(i,b,r,t[f>>2]|0,1)|0;t[A+8>>2]=r;h=t[A+20>>2]|0;s=t[A+24>>2]|0;r=0;while(1){if((r|0)>(i|0)){r=0;break}t[h+(r<<2)>>2]=0;r=r+1|0}A:while(1){if((r|0)>=(b|0)){r=0;break}a=r+1|0;n=o+(a<<2)|0;r=t[o+(r<<2)>>2]|0;while(1){if((r|0)>=(t[n>>2]|0)){r=a;continue A}l=h+((t[u+(r<<2)>>2]|0)+1<<2)|0;t[l>>2]=(t[l>>2]|0)+1;r=r+1|0}}while(1){if((r|0)>=(i|0))break;l=r+1|0;n=h+(l<<2)|0;t[n>>2]=(t[n>>2]|0)+(t[h+(r<<2)>>2]|0);r=l}A:do{switch(t[f>>2]|0){case 1:{n=t[e+28>>2]|0;e=t[A+28>>2]|0;a=0;r:while(1){if((a|0)>=(b|0))break A;f=a+1|0;l=o+(f<<2)|0;r=t[o+(a<<2)>>2]|0;while(1){if((r|0)>=(t[l>>2]|0)){a=f;continue r}d=u+(r<<2)|0;t[s+(t[h+(t[d>>2]<<2)>>2]<<2)>>2]=a;k=+c[n+(r<<3)>>3];d=h+(t[d>>2]<<2)|0;w=t[d>>2]|0;t[d>>2]=w+1;c[e+(w<<3)>>3]=k;r=r+1|0}}}case 2:{n=t[e+28>>2]|0;e=t[A+28>>2]|0;a=0;r:while(1){if((a|0)>=(b|0))break A;f=a+1|0;l=o+(f<<2)|0;r=t[o+(a<<2)>>2]|0;while(1){if((r|0)>=(t[l>>2]|0)){a=f;continue r}d=u+(r<<2)|0;t[s+(t[h+(t[d>>2]<<2)>>2]<<2)>>2]=a;g=r<<1;d=h+(t[d>>2]<<2)|0;w=t[d>>2]|0;v=w<<1;c[e+(v<<3)>>3]=+c[n+(g<<3)>>3];c[e+((v|1)<<3)>>3]=+c[n+((g|1)<<3)>>3];t[d>>2]=w+1;r=r+1|0}}}case 4:{n=t[e+28>>2]|0;e=t[A+28>>2]|0;a=0;r:while(1){if((a|0)>=(b|0))break A;f=a+1|0;l=o+(f<<2)|0;r=t[o+(a<<2)>>2]|0;while(1){if((r|0)>=(t[l>>2]|0)){a=f;continue r}d=u+(r<<2)|0;t[s+(t[h+(t[d>>2]<<2)>>2]<<2)>>2]=a;v=t[n+(r<<2)>>2]|0;d=h+(t[d>>2]<<2)|0;g=t[d>>2]|0;t[d>>2]=g+1;t[e+(g<<2)>>2]=v;r=r+1|0}}}case 8:{a=0;r:while(1){if((a|0)>=(b|0))break A;n=a+1|0;e=o+(n<<2)|0;r=t[o+(a<<2)>>2]|0;while(1){if((r|0)>=(t[e>>2]|0)){a=n;continue r}v=h+(t[u+(r<<2)>>2]<<2)|0;g=t[v>>2]|0;t[v>>2]=g+1;t[s+(g<<2)>>2]=a;r=r+1|0}}}case 16:{iK(A);A=0;break e}default:{iK(A);A=0;break e}}}while(0);while(1){r=i+-1|0;if((i|0)<=0)break;t[h+(i<<2)>>2]=t[h+(r<<2)>>2];i=r}t[h>>2]=0}}while(0);return A|0}function iK(e){e=e|0;var A=0;if(e|0){A=t[e+20>>2]|0;if(A|0)G2(A);A=t[e+24>>2]|0;if(A|0)G2(A);G2(t[e+28>>2]|0);G2(e)}return}function aK(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;e=nK(e,A,i,tK(i)|0,a)|0;if((r|0)>0)fK(e,r)|0;return e|0}function tK(e){e=e|0;switch(e|0){case 1:{e=8;break}case 2:{e=16;break}case 4:{e=4;break}case 8:{e=0;break}case 16:{e=0;break}default:e=0}return e|0}function nK(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;n=$F(44)|0;t[n>>2]=e;t[n+4>>2]=A;t[n+8>>2]=0;t[n+12>>2]=0;t[n+16>>2]=r;t[n+40>>2]=i;if((a|0)==2)e=0;else e=$F((e<<2)+4|0)|0;t[n+20>>2]=e;t[n+24>>2]=0;t[n+28>>2]=0;t[n+32>>2]=a;t[n+36>>2]=0;return n|0}function fK(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0;f=t[e+32>>2]|0;a=e+28|0;t[a>>2]=0;r=A<<2;i=$F(r)|0;if((f|0)!=2){t[e+24>>2]=i;r=t[e+40>>2]|0;if((A|0)!=0&(r|0)>0)n=4}else{t[e+20>>2]=i;t[e+24>>2]=$F(r)|0;r=t[e+40>>2]|0;n=4}if((n|0)==4)t[a>>2]=$F(P(r,A)|0)|0;t[e+12>>2]=A;return e|0}function lK(e,A){e=e|0;A=A|0;if(!(sK(e,A)|0)){A=rK(e)|0;if(!A)A=0;else{e=oK(e,A)|0;iK(A);A=e+36|0;t[A>>2]=t[A>>2]|3;A=e}}else A=cK(e)|0;return A|0}function sK(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0.0;if(e){if((t[e+32>>2]|0)!=1)ge(94919,94943,187,95074);v=e+36|0;r=t[v>>2]|0;if((r&2|0)==0?(w=(A|0)!=0,(r&1|0)==0|w^1):0)if((t[e>>2]|0)==(t[e+4>>2]|0)?(g=rK(e)|0,(g|0)!=0):0){s=t[e+20>>2]|0;o=t[e+24>>2]|0;u=t[g+20>>2]|0;b=t[g+24>>2]|0;h=t[e>>2]|0;k=$F(h<<2)|0;A=0;while(1){if((A|0)>=(h|0))break;t[k+(A<<2)>>2]=-1;A=A+1|0}e:do{switch((w?8:t[e+16>>2]|0)|0){case 1:{n=t[e+28>>2]|0;f=t[g+28>>2]|0;A=0;while(1){if((A|0)>(h|0)){r=0;break}if((t[s+(A<<2)>>2]|0)==(t[u+(A<<2)>>2]|0))A=A+1|0;else{A=0;break e}}A:while(1){if((r|0)>=(h|0)){d=54;break e}i=s+(r<<2)|0;a=r+1|0;e=s+(a<<2)|0;A=t[i>>2]|0;while(1){if((A|0)>=(t[e>>2]|0))break;t[k+(t[o+(A<<2)>>2]<<2)>>2]=A;A=A+1|0}A=t[u+(r<<2)>>2]|0;e=t[u+(a<<2)>>2]|0;r=A;while(1){if((r|0)>=(e|0))break;if((t[k+(t[b+(r<<2)>>2]<<2)>>2]|0)<(t[i>>2]|0)){A=0;break e}else r=r+1|0}while(1){if((A|0)>=(e|0)){r=a;continue A}m=+c[f+(A<<3)>>3]-+c[n+(t[k+(t[b+(A<<2)>>2]<<2)>>2]<<3)>>3];if((m>=0.0?m:-m)>1.0e-07){A=0;break e}else A=A+1|0}}}case 2:{f=t[e+28>>2]|0;l=t[g+28>>2]|0;A=0;while(1){if((A|0)>(h|0)){r=0;break}if((t[s+(A<<2)>>2]|0)==(t[u+(A<<2)>>2]|0))A=A+1|0;else{A=0;break e}}A:while(1){if((r|0)>=(h|0)){d=54;break e}a=s+(r<<2)|0;n=r+1|0;e=s+(n<<2)|0;A=t[a>>2]|0;while(1){if((A|0)>=(t[e>>2]|0))break;t[k+(t[o+(A<<2)>>2]<<2)>>2]=A;A=A+1|0}r=t[u+(r<<2)>>2]|0;i=t[u+(n<<2)>>2]|0;A=r;while(1){if((A|0)>=(i|0)){A=r;break}if((t[k+(t[b+(A<<2)>>2]<<2)>>2]|0)<(t[a>>2]|0)){A=0;break e}else A=A+1|0}while(1){if((A|0)>=(i|0)){r=n;continue A}r=A<<1;e=t[k+(t[b+(A<<2)>>2]<<2)>>2]<<1;m=+c[l+(r<<3)>>3]-+c[f+(e<<3)>>3];if((m>=0.0?m:-m)>1.0e-07){A=0;break e}m=+c[l+((r|1)<<3)>>3]-+c[f+((e|1)<<3)>>3];if((m>=0.0?m:-m)>1.0e-07){A=0;break e}else A=A+1|0}}}case 4:{a=t[e+28>>2]|0;n=t[g+28>>2]|0;A=0;A:while(1){if((A|0)>=(h|0)){d=54;break e}i=s+(A<<2)|0;f=A+1|0;e=s+(f<<2)|0;r=t[i>>2]|0;while(1){if((r|0)>=(t[e>>2]|0))break;t[k+(t[o+(r<<2)>>2]<<2)>>2]=r;r=r+1|0}A=t[u+(A<<2)>>2]|0;e=t[u+(f<<2)>>2]|0;r=A;while(1){if((r|0)>=(e|0))break;if((t[k+(t[b+(r<<2)>>2]<<2)>>2]|0)<(t[i>>2]|0)){A=0;break e}else r=r+1|0}while(1){if((A|0)>=(e|0)){A=f;continue A}if((t[n+(A<<2)>>2]|0)==(t[a+(t[k+(t[b+(A<<2)>>2]<<2)>>2]<<2)>>2]|0))A=A+1|0;else{A=0;break e}}}}case 8:{e=0;A:while(1){if((e|0)>=(h|0)){d=54;break e}i=s+(e<<2)|0;a=e+1|0;r=s+(a<<2)|0;A=t[i>>2]|0;while(1){if((A|0)>=(t[r>>2]|0))break;t[k+(t[o+(A<<2)>>2]<<2)>>2]=A;A=A+1|0}r=t[u+(a<<2)>>2]|0;A=t[u+(e<<2)>>2]|0;while(1){if((A|0)>=(r|0)){e=a;continue A}if((t[k+(t[b+(A<<2)>>2]<<2)>>2]|0)<(t[i>>2]|0)){A=0;break e}else A=A+1|0}}}default:A=0}}while(0);if((d|0)==54){r=t[v>>2]|0;if(w)A=1;else{t[v>>2]=r|2;A=3}t[v>>2]=A|r;A=1}G2(k);iK(g)}else A=0;else A=1}else A=0;return A|0}function cK(e){e=e|0;var A=0,r=0,i=0,a=0;if(!e)A=0;else{i=e+8|0;a=e+40|0;A=uK(t[e>>2]|0,t[e+4>>2]|0,t[i>>2]|0,t[e+16>>2]|0,t[a>>2]|0,t[e+32>>2]|0)|0;r=e+20|0;Q6(t[A+20>>2]|0,t[r>>2]|0,(t[e>>2]<<2)+4|0)|0;Q6(t[A+24>>2]|0,t[e+24>>2]|0,t[(t[r>>2]|0)+(t[e>>2]<<2)>>2]<<2|0)|0;r=t[e+28>>2]|0;if(r|0)Q6(t[A+28>>2]|0,r|0,P(t[i>>2]|0,t[a>>2]|0)|0)|0;t[A+36>>2]=t[e+36>>2];t[A+8>>2]=t[i>>2]}return A|0}function oK(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;w=t[e+20>>2]|0;d=t[e+24>>2]|0;v=t[A+20>>2]|0;g=t[A+24>>2]|0;if(!((e|0)!=0&(A|0)!=0))ge(94981,94943,973,94988);k=t[e+32>>2]|0;if(!((k|0)==1?(k|0)==(t[A+32>>2]|0):0))ge(95005,94943,974,94988);i=e+16|0;r=t[i>>2]|0;if((r|0)!=(t[A+16>>2]|0))ge(95055,94943,975,94988);h=t[e>>2]|0;a=t[e+4>>2]|0;if(((h|0)==(t[A>>2]|0)?(a|0)==(t[A+4>>2]|0):0)?(m=aK(h,a,(t[A+8>>2]|0)+(t[e+8>>2]|0)|0,r,1)|0,m|0):0){u=t[m+20>>2]|0;b=t[m+24>>2]|0;k=$F(a<<2)|0;r=0;while(1){if((r|0)>=(a|0))break;t[k+(r<<2)>>2]=-1;r=r+1|0}t[u>>2]=0;e:do{switch(t[i>>2]|0){case 1:{o=t[e+28>>2]|0;f=t[A+28>>2]|0;l=t[m+28>>2]|0;r=0;a=0;while(1){if((a|0)>=(h|0))break e;s=a+1|0;i=w+(s<<2)|0;e=t[w+(a<<2)>>2]|0;while(1){if((e|0)>=(t[i>>2]|0))break;n=d+(e<<2)|0;t[k+(t[n>>2]<<2)>>2]=r;t[b+(r<<2)>>2]=t[n>>2];c[l+(r<<3)>>3]=+c[o+(e<<3)>>3];e=e+1|0;r=r+1|0}A=v+(s<<2)|0;n=u+(a<<2)|0;a=t[v+(a<<2)>>2]|0;while(1){if((a|0)>=(t[A>>2]|0))break;e=t[g+(a<<2)>>2]|0;i=t[k+(e<<2)>>2]|0;if((i|0)<(t[n>>2]|0)){t[b+(r<<2)>>2]=e;c[l+(r<<3)>>3]=+c[f+(a<<3)>>3];r=r+1|0}else{i=l+(i<<3)|0;c[i>>3]=+c[i>>3]+ +c[f+(a<<3)>>3]}a=a+1|0}t[u+(s<<2)>>2]=r;a=s}}case 2:{o=t[e+28>>2]|0;s=t[A+28>>2]|0;f=t[m+28>>2]|0;a=0;r=0;while(1){if((a|0)>=(h|0))break e;l=a+1|0;i=w+(l<<2)|0;e=t[w+(a<<2)>>2]|0;while(1){if((e|0)>=(t[i>>2]|0))break;A=d+(e<<2)|0;t[k+(t[A>>2]<<2)>>2]=r;t[b+(r<<2)>>2]=t[A>>2];A=e<<1;n=r<<1;c[f+(n<<3)>>3]=+c[o+(A<<3)>>3];c[f+((n|1)<<3)>>3]=+c[o+((A|1)<<3)>>3];e=e+1|0;r=r+1|0}A=v+(l<<2)|0;n=u+(a<<2)|0;a=t[v+(a<<2)>>2]|0;while(1){if((a|0)>=(t[A>>2]|0))break;e=t[g+(a<<2)>>2]|0;i=t[k+(e<<2)>>2]|0;if((i|0)<(t[n>>2]|0)){t[b+(r<<2)>>2]=e;e=a<<1;i=r<<1;c[f+(i<<3)>>3]=+c[s+(e<<3)>>3];c[f+((i|1)<<3)>>3]=+c[s+((e|1)<<3)>>3];r=r+1|0}else{e=a<<1;i=i<<1;p=f+(i<<3)|0;c[p>>3]=+c[p>>3]+ +c[s+(e<<3)>>3];i=f+((i|1)<<3)|0;c[i>>3]=+c[i>>3]+ +c[s+((e|1)<<3)>>3]}a=a+1|0}t[u+(l<<2)>>2]=r;a=l}}case 4:{o=t[e+28>>2]|0;f=t[A+28>>2]|0;l=t[m+28>>2]|0;a=0;r=0;while(1){if((a|0)>=(h|0))break e;s=a+1|0;i=w+(s<<2)|0;e=t[w+(a<<2)>>2]|0;while(1){if((e|0)>=(t[i>>2]|0))break;p=d+(e<<2)|0;t[k+(t[p>>2]<<2)>>2]=r;t[b+(r<<2)>>2]=t[p>>2];t[l+(r<<2)>>2]=t[o+(e<<2)>>2];e=e+1|0;r=r+1|0}A=v+(s<<2)|0;n=u+(a<<2)|0;a=t[v+(a<<2)>>2]|0;while(1){if((a|0)>=(t[A>>2]|0))break;e=t[g+(a<<2)>>2]|0;i=t[k+(e<<2)>>2]|0;if((i|0)<(t[n>>2]|0)){t[b+(r<<2)>>2]=e;t[l+(r<<2)>>2]=t[f+(a<<2)>>2];r=r+1|0}else{p=l+(i<<2)|0;t[p>>2]=(t[p>>2]|0)+(t[f+(a<<2)>>2]|0)}a=a+1|0}t[u+(s<<2)>>2]=r;a=s}}case 8:{r=0;a=0;while(1){if((a|0)>=(h|0))break e;f=a+1|0;i=w+(f<<2)|0;e=t[w+(a<<2)>>2]|0;while(1){if((e|0)>=(t[i>>2]|0))break;p=d+(e<<2)|0;t[k+(t[p>>2]<<2)>>2]=r;t[b+(r<<2)>>2]=t[p>>2];r=r+1|0;e=e+1|0}A=v+(f<<2)|0;n=u+(a<<2)|0;i=t[v+(a<<2)>>2]|0;while(1){if((i|0)>=(t[A>>2]|0))break;e=t[g+(i<<2)>>2]|0;if((t[k+(e<<2)>>2]|0)<(t[n>>2]|0)){t[b+(r<<2)>>2]=e;r=r+1|0}i=i+1|0}t[u+(f<<2)>>2]=r;a=f}}default:r=0}}while(0);t[m+8>>2]=r;G2(k);return m|0}return 0}function uK(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;e=nK(e,A,i,a,t)|0;if((r|0)>0)fK(e,r)|0;return e|0}function bK(e,A){e=e|0;A=A|0;var r=0;if(!(sK(e,A)|0)){A=rK(e)|0;if(!A)A=0;else{r=oK(e,A)|0;iK(A);A=r+36|0;t[A>>2]=t[A>>2]|3;A=r;r=5}}else{A=cK(e)|0;r=5}if((r|0)==5)A=hK(A)|0;return A|0}function hK(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,u=0;e:do{if(!e)e=0;else{s=t[e+20>>2]|0;o=t[e+24>>2]|0;r=t[s>>2]|0;A:do{switch(t[e+16>>2]|0){case 1:{l=t[e+28>>2]|0;f=0;A=0;while(1){if((f|0)>=(t[e>>2]|0))break A;a=f+1|0;n=s+(a<<2)|0;while(1){i=t[n>>2]|0;if((r|0)>=(i|0))break;i=t[o+(r<<2)>>2]|0;if((i|0)!=(f|0)){t[o+(A<<2)>>2]=i;c[l+(A<<3)>>3]=+c[l+(r<<3)>>3];A=A+1|0}r=r+1|0}t[n>>2]=A;f=a;r=i}}case 2:{l=t[e+28>>2]|0;f=0;A=0;while(1){if((f|0)>=(t[e>>2]|0))break A;a=f+1|0;n=s+(a<<2)|0;while(1){i=t[n>>2]|0;if((r|0)>=(i|0))break;i=t[o+(r<<2)>>2]|0;if((i|0)!=(f|0)){t[o+(A<<2)>>2]=i;u=r<<1;i=A<<1;c[l+(i<<3)>>3]=+c[l+(u<<3)>>3];c[l+((i|1)<<3)>>3]=+c[l+((u|1)<<3)>>3];A=A+1|0}r=r+1|0}t[n>>2]=A;f=a;r=i}}case 4:{l=t[e+28>>2]|0;f=0;A=0;while(1){if((f|0)>=(t[e>>2]|0))break A;a=f+1|0;n=s+(a<<2)|0;while(1){i=t[n>>2]|0;if((r|0)>=(i|0))break;i=t[o+(r<<2)>>2]|0;if((i|0)!=(f|0)){t[o+(A<<2)>>2]=i;t[l+(A<<2)>>2]=t[l+(r<<2)>>2];A=A+1|0}r=r+1|0}t[n>>2]=A;f=a;r=i}}case 8:{f=0;A=0;while(1){if((f|0)>=(t[e>>2]|0))break A;a=f+1|0;n=s+(a<<2)|0;while(1){i=t[n>>2]|0;if((r|0)>=(i|0))break;i=t[o+(r<<2)>>2]|0;if((i|0)!=(f|0)){t[o+(A<<2)>>2]=i;A=A+1|0}r=r+1|0}t[n>>2]=A;f=a;r=i}}default:{e=0;break e}}}while(0);t[e+8>>2]=A}}while(0);return e|0}function wK(e){e=e|0;if((t[e+32>>2]|0)==2)return kK(t[e+8>>2]|0,t[e>>2]|0,t[e+4>>2]|0,t[e+20>>2]|0,t[e+24>>2]|0,t[e+28>>2]|0,t[e+16>>2]|0,t[e+40>>2]|0)|0;else ge(95100,94943,803,95126);return 0}function kK(e,A,r,i,a,t,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;return Qo(e,A,r,i,a,t,n,f,1)|0}function dK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;s=e+72|0;c=e+352|0;o=e+356|0;u=e+360|0;l=0;e:while(1){f=r-A|0;if((f|0)<=0){r=-1;break}switch(i[s+(n[A>>0]|0)>>0]|0){case 8:case 1:case 0:{b=16;break e}case 5:{if((f|0)<2){r=-2;break e}if(Z5[t[c>>2]&127](e,A)|0){b=6;break e}f=l;A=A+2|0;l=f;continue e}case 6:{if((f|0)<3){r=-2;break e}if(Z5[t[o>>2]&127](e,A)|0){b=10;break e}f=l;A=A+3|0;l=f;continue e}case 7:{if((f|0)<4){r=-2;break e}if(Z5[t[u>>2]&127](e,A)|0){b=14;break e}f=l;A=A+4|0;l=f;continue e}case 2:{f=A+1|0;if((r-f|0)<=0){r=-1;break e}if((i[f>>0]|0)!=33){h=l;A=f;l=h;continue e}f=A+2|0;if((r-f|0)<=0){r=-1;break e}h=(i[f>>0]|0)==91;l=l+(h&1)|0;A=h?A+3|0:f;continue e}case 4:{f=A+1|0;if((r-f|0)<=0){r=-1;break e}if((i[f>>0]|0)!=93){h=l;A=f;l=h;continue e}f=A+2|0;if((r-f|0)<=0){r=-1;break e}if((i[f>>0]|0)!=62){h=l;A=f;l=h;continue e}A=A+3|0;if(!l){b=26;break e}l=l+-1|0;continue e}default:{h=l;A=A+1|0;l=h;continue e}}}if((b|0)==6){t[a>>2]=A;r=0}else if((b|0)==10){t[a>>2]=A;r=0}else if((b|0)==14){t[a>>2]=A;r=0}else if((b|0)==16){t[a>>2]=A;r=0}else if((b|0)==26){t[a>>2]=A;r=42}return r|0}function vK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>0){o=e+72|0;l=A;e:while(1){if((c-l|0)<=0){s=24;break}switch(i[o+(n[l>>0]|0)>>0]|0){case 3:{s=8;break e}case 2:{s=11;break e}case 10:{s=12;break e}case 9:{s=15;break e}case 21:{s=19;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=1}l=l+f|0}if((s|0)==8)if((l|0)==(A|0)){f=QK(e,A+1|0,r,a)|0;break}else{t[a>>2]=l;f=6;break}else if((s|0)==11){t[a>>2]=l;f=0;break}else if((s|0)==12)if((l|0)==(A|0)){t[a>>2]=A+1;f=7;break}else{t[a>>2]=l;f=6;break}else if((s|0)==15){if((l|0)!=(A|0)){t[a>>2]=l;f=6;break}f=A+1|0;if((c-f|0)<=0){f=-3;break}t[a>>2]=(i[o+(n[f>>0]|0)>>0]|0)==10?A+2|0:f;f=7;break}else if((s|0)==19)if((l|0)==(A|0)){t[a>>2]=A+1;f=39;break}else{t[a>>2]=l;f=6;break}else if((s|0)==24){t[a>>2]=l;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function gK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>0){o=e+72|0;l=A;e:while(1){if((c-l|0)<=0){s=23;break}switch(i[o+(n[l>>0]|0)>>0]|0){case 3:{s=8;break e}case 30:{s=11;break e}case 10:{s=14;break e}case 9:{s=17;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=1}l=l+f|0}if((s|0)==8)if((l|0)==(A|0)){f=QK(e,A+1|0,r,a)|0;break}else{t[a>>2]=l;f=6;break}else if((s|0)==11)if((l|0)==(A|0)){f=DK(e,A+1|0,r,a)|0;f=(f|0)==22?0:f;break}else{t[a>>2]=l;f=6;break}else if((s|0)==14)if((l|0)==(A|0)){t[a>>2]=A+1;f=7;break}else{t[a>>2]=l;f=6;break}else if((s|0)==17){if((l|0)!=(A|0)){t[a>>2]=l;f=6;break}f=A+1|0;if((c-f|0)<=0){f=-3;break}t[a>>2]=(i[o+(n[f>>0]|0)>>0]|0)==10?A+2|0:f;f=7;break}else if((s|0)==23){t[a>>2]=l;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function mK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var t=0,n=0;t=r;e=A;while(1){A=i[a>>0]|0;if(!(A<<24>>24)){n=6;break}if((t-e|0)<1){e=0;break}if((i[e>>0]|0)!=A<<24>>24){e=0;break}a=a+1|0;e=e+1|0}if((n|0)==6)e=(e|0)==(r|0)&1;return e|0}function pK(e,A){e=e|0;A=A|0;var r=0,a=0;a=e+72|0;e=A;e:while(1){switch(i[a+(n[e>>0]|0)>>0]|0){case 5:{r=2;break}case 6:{r=3;break}case 7:{r=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{r=1;break}default:break e}e=e+r|0}return e-A|0}function EK(e,A){e=e|0;A=A|0;e=e+72|0;e:while(1){switch(i[e+(n[A>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break e}A=A+1|0}return A|0}function BK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;o=e+72|0;s=0;c=0;e=1;e:while(1){f=A+1|0;l=i[f>>0]|0;do{switch(i[o+(l&255)>>0]|0){case 5:{if(!e)if((c|0)<(r|0)){t[a+(c<<4)>>2]=f;i[a+(c<<4)+12>>0]=1;e=1}else e=1;f=c;l=s;A=A+2|0;c=f;s=l;continue e}case 6:{if(!e)if((c|0)<(r|0)){t[a+(c<<4)>>2]=f;i[a+(c<<4)+12>>0]=1;e=1}else e=1;f=c;l=s;A=A+3|0;c=f;s=l;continue e}case 7:{if(!e)if((c|0)<(r|0)){t[a+(c<<4)>>2]=f;i[a+(c<<4)+12>>0]=1;e=1}else e=1;f=c;l=s;A=A+4|0;c=f;s=l;continue e}case 24:case 22:case 29:{if(e|0){h=e;b=c;l=s;A=f;e=h;c=b;s=l;continue e}if((c|0)>=(r|0)){b=c;h=s;e=1;A=f;c=b;s=h;continue e}t[a+(c<<4)>>2]=f;i[a+(c<<4)+12>>0]=1;b=c;h=s;e=1;A=f;c=b;s=h;continue e}case 12:{if((e|0)!=2){if((c|0)>=(r|0)){h=c;s=12;e=2;A=f;c=h;continue e}t[a+(c<<4)+4>>2]=A+2;h=c;s=12;e=2;A=f;c=h;continue e}if((s|0)!=12){b=c;h=s;e=2;A=f;c=b;s=h;continue e}if((c|0)<(r|0))t[a+(c<<4)+8>>2]=f;s=12;c=c+1|0;e=0;A=f;continue e}case 13:{if((e|0)!=2){if((c|0)>=(r|0)){h=c;s=13;e=2;A=f;c=h;continue e}t[a+(c<<4)+4>>2]=A+2;h=c;s=13;e=2;A=f;c=h;continue e}if((s|0)!=13){b=c;h=s;e=2;A=f;c=b;s=h;continue e}if((c|0)<(r|0))t[a+(c<<4)+8>>2]=f;s=13;c=c+1|0;e=0;A=f;continue e}case 3:{if((c|0)>=(r|0)){l=e;b=c;h=s;A=f;e=l;c=b;s=h;continue e}i[a+(c<<4)+12>>0]=0;l=e;b=c;h=s;A=f;e=l;c=b;s=h;continue e}case 21:{switch(e|0){case 1:{b=c;h=s;e=0;A=f;c=b;s=h;continue e}case 2:break;default:{l=e;b=c;h=s;A=f;e=l;c=b;s=h;continue e}}if((c|0)>=(r|0)){b=c;h=s;e=2;A=f;c=b;s=h;continue e}e=a+(c<<4)+12|0;if(!(i[e>>0]|0)){b=c;h=s;e=2;A=f;c=b;s=h;continue e}if(((l<<24>>24==32?(f|0)!=(t[a+(c<<4)+4>>2]|0):0)?(u=i[A+2>>0]|0,u<<24>>24!=32):0)?(s|0)!=(n[o+(u&255)>>0]|0):0){b=c;h=s;e=2;A=f;c=b;s=h;continue e}i[e>>0]=0;b=c;h=s;e=2;A=f;c=b;s=h;continue e}case 10:case 9:{switch(e|0){case 1:{b=c;h=s;e=0;A=f;c=b;s=h;continue e}case 2:break;default:{l=e;b=c;h=s;A=f;e=l;c=b;s=h;continue e}}if((c|0)>=(r|0)){b=c;h=s;e=2;A=f;c=b;s=h;continue e}i[a+(c<<4)+12>>0]=0;b=c;h=s;e=2;A=f;c=b;s=h;continue e}case 17:case 11:if((e|0)==2){b=c;h=s;e=2;A=f;c=b;s=h;continue e}else break e;default:{l=e;b=c;h=s;A=f;e=l;c=b;s=h;continue e}}}while(0)}return c|0}function yK(e,A){e=e|0;A=A|0;var r=0,a=0;e=A+2|0;r=i[e>>0]|0;e:do{if(r<<24>>24==120){r=A+3|0;e=0;while(1){A:while(1){a=i[r>>0]|0;A=a<<24>>24;if(a<<24>>24==59){a=14;break e}switch(A|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{a=7;break A}case 70:case 69:case 68:case 67:case 66:case 65:{a=8;break A}case 102:case 101:case 100:case 99:case 98:case 97:{a=9;break A}default:{}}r=r+1|0}if((a|0)==7){a=0;e=A+-48|e<<4}else if((a|0)==8){a=0;e=(e<<4)+-55+A|0}else if((a|0)==9){a=0;e=(e<<4)+-87+A|0}if((e|0)<1114112)r=r+1|0;else{e=-1;break}}}else{A=e;e=0;while(1){if(r<<24>>24==59){a=14;break e}e=(r<<24>>24)+-48+(e*10|0)|0;if((e|0)>=1114112){e=-1;break e}r=A+1|0;A=r;r=i[r>>0]|0}}}while(0);if((a|0)==14)e=po(e)|0;return e|0}function CK(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;e:do{switch(r-A|0){case 2:{if((i[A+1>>0]|0)==116){e=i[A>>0]|0;e=e<<24>>24==108?60:e<<24>>24==103?62:0}else a=14;break}case 3:{if(((i[A>>0]|0)==97?(i[A+1>>0]|0)==109:0)?(i[A+2>>0]|0)==112:0)e=38;else a=14;break}case 4:switch(i[A>>0]|0){case 113:{if((i[A+1>>0]|0)!=117){a=14;break e}if((i[A+2>>0]|0)!=111){a=14;break e}if((i[A+3>>0]|0)==116){e=34;break e}else{a=14;break e}}case 97:{if((i[A+1>>0]|0)!=112){a=14;break e}if((i[A+2>>0]|0)!=111){a=14;break e}if((i[A+3>>0]|0)==115){e=39;break e}else{a=14;break e}}default:{a=14;break e}}default:a=14}}while(0);if((a|0)==14)e=0;return e|0}function IK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0;f=e+72|0;l=a+4|0;while(1){if((r-A|0)<=0)break;switch(i[f+(n[A>>0]|0)>>0]|0){case 5:{A=A+2|0;break}case 6:{A=A+3|0;break}case 7:{A=A+4|0;break}case 10:{t[l>>2]=-1;t[a>>2]=(t[a>>2]|0)+1;A=A+1|0;break}case 9:{t[a>>2]=(t[a>>2]|0)+1;e=A+1|0;if((r-e|0)>0)A=(i[f+(n[e>>0]|0)>>0]|0)==10?A+2|0:e;else A=e;t[l>>2]=-1;break}default:A=A+1|0}t[l>>2]=(t[l>>2]|0)+1}return}function ZK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0;n=r+-1|0;e=e+72|0;e:while(1){A=A+1|0;if((n-A|0)<=0){A=1;break}r=i[A>>0]|0;switch(i[e+(r&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue e;case 21:if(r<<24>>24==9){f=7;break e}else continue e;case 22:case 26:{if(r<<24>>24>=0)continue e;break}default:{}}switch(r<<24>>24|0){case 64:case 36:break;default:{f=7;break e}}}if((f|0)==7){t[a>>2]=A;A=0}return A|0}function GK(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0;l=f;while(1){s=t[A>>2]|0;if((s|0)==(r|0)){e=0;break}c=n[s>>0]|0;e=t[a>>2]|0;if(!(c&128)){if((e|0)==(f|0)){e=2;break}t[A>>2]=s+1;s=i[s>>0]|0;c=t[a>>2]|0;t[a>>2]=c+1;i[c>>0]=s;continue}else{if((l-e|0)<2){e=2;break}t[a>>2]=e+1;i[e>>0]=c>>>6|192;s=t[a>>2]|0;t[a>>2]=s+1;i[s>>0]=c&63|128;t[A>>2]=(t[A>>2]|0)+1;continue}}return e|0}function LK(e,A,r,i,f){e=e|0;A=A|0;r=r|0;i=i|0;f=f|0;var l=0,s=0;while(1){e=t[A>>2]|0;l=e>>>0>>0;s=t[i>>2]|0;if(!(l&s>>>0>>0))break;t[A>>2]=e+1;l=n[e>>0]|0;s=t[i>>2]|0;t[i>>2]=s+2;a[s>>1]=l}return((s|0)!=(f|0)|l^1?0:2)|0}function QK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r;f=c-A|0;e:do{if((f|0)>0){o=e+72|0;switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;r=0;break e}case 24:case 22:{r=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=4;break}case 19:{r=zK(e,A+1|0,r,a)|0;break e}default:{t[a>>2]=A;r=0;break e}}f=e+328|0;l=e+332|0;s=e+336|0;A=A+r|0;A:while(1){r=c-A|0;if((r|0)<=0){r=-1;break e}switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{f=18;break A}case 18:{f=29;break A}case 27:case 26:case 25:case 24:case 22:{r=1;break}case 5:{if((r|0)<2){r=-2;break e}if(!(Z5[t[f>>2]&127](e,A)|0)){f=21;break A}else r=2;break}case 6:{if((r|0)<3){r=-2;break e}if(!(Z5[t[l>>2]&127](e,A)|0)){f=24;break A}else r=3;break}case 7:{if((r|0)<4){r=-2;break e}if(!(Z5[t[s>>2]&127](e,A)|0)){f=27;break A}else r=4;break}default:{f=30;break A}}A=A+r|0}if((f|0)==18){t[a>>2]=A;r=0;break}else if((f|0)==21){t[a>>2]=A;r=0;break}else if((f|0)==24){t[a>>2]=A;r=0;break}else if((f|0)==27){t[a>>2]=A;r=0;break}else if((f|0)==29){t[a>>2]=A+1;r=9;break}else if((f|0)==30){t[a>>2]=A;r=0;break}}else r=-1}while(0);return r|0}function DK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;f=r-A|0;e:do{if((f|0)>0){o=e+72|0;switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;r=0;break e}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=4;break}case 30:case 9:case 10:case 21:{t[a>>2]=A;r=22;break e}default:{t[a>>2]=A;r=0;break e}}l=e+328|0;s=e+332|0;c=e+336|0;A=A+f|0;A:while(1){f=r-A|0;if((f|0)<=0){r=-1;break e}switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{f=18;break A}case 18:{f=29;break A}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[l>>2]&127](e,A)|0)){f=21;break A}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[s>>2]&127](e,A)|0)){f=24;break A}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[c>>2]&127](e,A)|0)){f=27;break A}else f=4;break}default:{f=30;break A}}A=A+f|0}if((f|0)==18){t[a>>2]=A;r=0;break}else if((f|0)==21){t[a>>2]=A;r=0;break}else if((f|0)==24){t[a>>2]=A;r=0;break}else if((f|0)==27){t[a>>2]=A;r=0;break}else if((f|0)==29){t[a>>2]=A+1;r=28;break}else if((f|0)==30){t[a>>2]=A;r=0;break}}else r=-1}while(0);return r|0}function zK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0;l=r;e:do{if((l-A|0)>0){f=i[A>>0]|0;if(f<<24>>24==120){e=WK(e,A+1|0,r,a)|0;break}r=e+72|0;if((i[r+(f&255)>>0]|0)!=25){t[a>>2]=A;e=0;break}A:while(1){e=A+1|0;if((l-e|0)<=0){e=-1;break e}switch(i[r+(n[e>>0]|0)>>0]|0){case 25:{A=e;break}case 18:{r=8;break A}default:{r=9;break A}}}if((r|0)==8){t[a>>2]=A+2;e=10;break}else if((r|0)==9){t[a>>2]=e;e=0;break}}else e=-1}while(0);return e|0}function WK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0;e:do{if((r-A|0)>0){e=e+72|0;if((i[e+(n[A>>0]|0)>>0]&-2)<<24>>24!=24){t[a>>2]=A;r=0;break}A:while(1){f=A+1|0;if((r-f|0)<=0){r=-1;break e}switch(i[e+(n[f>>0]|0)>>0]|0){case 24:case 25:{A=f;break}case 18:{e=6;break A}default:{e=7;break A}}}if((e|0)==6){t[a>>2]=A+2;r=10;break}else if((e|0)==7){t[a>>2]=f;r=0;break}}else r=-1}while(0);return r|0}function YK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;k=r;f=k-A|0;e:do{if((f|0)>0){w=e+72|0;switch(i[w+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;f=0;break e}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else f=2;break}case 6:{if((f|0)<3){f=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else f=3;break}case 7:{if((f|0)<4){f=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;f=0;break e}else f=4;break}case 16:{f=A+1|0;if((k-f|0)<=0){f=-1;break e}switch(i[w+(n[f>>0]|0)>>0]|0){case 27:{f=FK(e,A+2|0,r,a)|0;break e}case 20:{f=MK(A+2|0,r,a)|0;break e}default:{t[a>>2]=f;f=0;break e}}}case 15:{f=VK(e,A+1|0,r,a)|0;break e}case 17:{f=NK(e,A+1|0,r,a)|0;break e}default:{t[a>>2]=A;f=0;break e}}s=e+328|0;c=e+332|0;o=e+336|0;u=e+340|0;b=e+344|0;h=e+348|0;l=0;f=A+f|0;A:while(1){A=k-f|0;if((A|0)<=0){f=-1;break e}r:do{switch(i[w+(n[f>>0]|0)>>0]|0){case 29:{d=24;break A}case 10:case 9:case 21:{d=50;break A}case 11:{d=64;break A}case 17:break A;case 27:case 26:case 25:case 24:case 22:{A=1;break}case 5:{if((A|0)<2){f=-2;break e}if(!(Z5[t[s>>2]&127](e,f)|0)){d=27;break A}else A=2;break}case 6:{if((A|0)<3){f=-2;break e}if(!(Z5[t[c>>2]&127](e,f)|0)){d=30;break A}else A=3;break}case 7:{if((A|0)<4){f=-2;break e}if(!(Z5[t[o>>2]&127](e,f)|0)){d=33;break A}else A=4;break}case 23:{if(l|0){d=35;break A}l=f+1|0;A=k-l|0;if((A|0)<=0){f=-1;break e}switch(i[w+(n[l>>0]|0)>>0]|0){case 29:{d=38;break A}case 24:case 22:{l=1;A=2;break r}case 5:{if((A|0)<2){f=-2;break e}if(!(Z5[t[u>>2]&127](e,l)|0)){d=42;break A}else{l=1;A=3;break r}}case 6:{if((A|0)<3){f=-2;break e}if(!(Z5[t[b>>2]&127](e,l)|0)){d=45;break A}else{l=1;A=4;break r}}case 7:{if((A|0)<4){f=-2;break e}if(!(Z5[t[h>>2]&127](e,l)|0)){d=48;break A}else{l=1;A=5;break r}}default:{d=49;break A}}}default:{d=69;break A}}}while(0);f=f+A|0}A:switch(d|0){case 24:{t[a>>2]=f;f=0;break e}case 27:{t[a>>2]=f;f=0;break e}case 30:{t[a>>2]=f;f=0;break e}case 33:{t[a>>2]=f;f=0;break e}case 35:{t[a>>2]=f;f=0;break e}case 38:{t[a>>2]=l;f=0;break e}case 42:{t[a>>2]=l;f=0;break e}case 45:{t[a>>2]=l;f=0;break e}case 48:{t[a>>2]=l;f=0;break e}case 49:{t[a>>2]=l;f=0;break e}case 50:{r:while(1){d=0;l=f+1|0;A=k-l|0;if((A|0)<=0){f=-1;break e}switch(i[w+(n[l>>0]|0)>>0]|0){case 11:{f=l;d=64;break A}case 17:{f=l;break A}case 10:case 9:case 21:{f=l;d=50;break}case 29:{d=52;break r}case 24:case 22:{l=2;break r}case 5:{d=53;break r}case 6:{d=56;break r}case 7:{d=59;break r}default:{d=62;break r}}}if((d|0)==52){t[a>>2]=l;f=0;break e}else if((d|0)==53){if((A|0)<2){f=-2;break e}if(!(Z5[t[u>>2]&127](e,l)|0)){t[a>>2]=l;f=0;break e}else l=3}else if((d|0)==56){if((A|0)<3){f=-2;break e}if(!(Z5[t[b>>2]&127](e,l)|0)){t[a>>2]=l;f=0;break e}else l=4}else if((d|0)==59){if((A|0)<4){f=-2;break e}if(!(Z5[t[h>>2]&127](e,l)|0)){t[a>>2]=l;f=0;break e}else l=5}else if((d|0)==62){t[a>>2]=l;f=0;break e}f=RK(e,f+l|0,r,a)|0;break e}case 69:{t[a>>2]=f;f=0;break e}}if((d|0)==64){t[a>>2]=f+1;f=2;break}l=f+1|0;if((k-l|0)>0)if((i[l>>0]|0)==62){t[a>>2]=f+2;f=4;break}else{t[a>>2]=l;f=0;break}else f=-1}else f=-1}while(0);return f|0}function FK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;e:do{if((r-A|0)>0){if((i[A>>0]|0)!=45){t[a>>2]=A;r=0;break}f=e+72|0;l=e+352|0;s=e+356|0;c=e+360|0;o=A+1|0;A:while(1){A=r-o|0;if((A|0)<=0){r=-1;break e}switch(i[f+(n[o>>0]|0)>>0]|0){case 8:case 1:case 0:{A=19;break A}case 5:{if((A|0)<2){r=-2;break e}if(Z5[t[l>>2]&127](e,o)|0){A=9;break A}o=o+2|0;continue A}case 6:{if((A|0)<3){r=-2;break e}if(Z5[t[s>>2]&127](e,o)|0){A=13;break A}o=o+3|0;continue A}case 7:{if((A|0)<4){r=-2;break e}if(Z5[t[c>>2]&127](e,o)|0){A=17;break A}o=o+4|0;continue A}case 27:{A=o+1|0;if((r-A|0)<=0){r=-1;break e}if((i[A>>0]|0)==45){A=22;break A}else{o=A;continue A}}default:{o=o+1|0;continue A}}}if((A|0)==9){t[a>>2]=o;r=0;break}else if((A|0)==13){t[a>>2]=o;r=0;break}else if((A|0)==17){t[a>>2]=o;r=0;break}else if((A|0)==19){t[a>>2]=o;r=0;break}else if((A|0)==22){A=o+2|0;if((r-A|0)<=0){r=-1;break}if((i[A>>0]|0)==62){t[a>>2]=o+3;r=13;break}else{t[a>>2]=A;r=0;break}}}else r=-1}while(0);return r|0}function MK(e,A,r){e=e|0;A=A|0;r=r|0;if((A-e|0)>5){A=0;while(1){if((A|0)>=6){A=8;break}if((i[e>>0]|0)!=(i[144300+A>>0]|0)){A=0;break}A=A+1|0;e=e+1|0}t[r>>2]=e}else A=-1;return A|0}function VK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;w=k;b=r;r=b-A|0;e:do{if((r|0)>0){u=e+72|0;switch(i[u+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;r=0;break e}case 24:case 22:{r=1;break}case 5:{if((r|0)<2){r=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=2;break}case 6:{if((r|0)<3){r=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=3;break}case 7:{if((r|0)<4){r=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else r=4;break}default:{t[a>>2]=A;r=0;break e}}l=e+328|0;s=e+332|0;c=e+336|0;r=A+r|0;A:while(1){f=b-r|0;if((f|0)<=0){r=-1;break e}switch(i[u+(n[r>>0]|0)>>0]|0){case 29:{o=17;break A}case 10:case 9:case 21:{o=28;break A}case 15:{o=50;break A}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[l>>2]&127](e,r)|0)){o=20;break A}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[s>>2]&127](e,r)|0)){o=23;break A}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[c>>2]&127](e,r)|0)){o=26;break A}else f=4;break}default:break A}r=r+f|0}if((o|0)==17){t[a>>2]=r;r=0;break}else if((o|0)==20){t[a>>2]=r;r=0;break}else if((o|0)==23){t[a>>2]=r;r=0;break}else if((o|0)==26){t[a>>2]=r;r=0;break}else if((o|0)==28){if(!(xK(A,r,w)|0)){t[a>>2]=r;r=0;break}l=e+352|0;s=e+356|0;c=e+360|0;f=r+1|0;A:while(1){r=b-f|0;if((r|0)<=0){r=-1;break e}switch(i[u+(n[f>>0]|0)>>0]|0){case 8:case 1:case 0:{o=45;break A}case 5:{if((r|0)<2){r=-2;break e}if(Z5[t[l>>2]&127](e,f)|0){o=35;break A}f=f+2|0;continue A}case 6:{if((r|0)<3){r=-2;break e}if(Z5[t[s>>2]&127](e,f)|0){o=39;break A}f=f+3|0;continue A}case 7:{if((r|0)<4){r=-2;break e}if(Z5[t[c>>2]&127](e,f)|0){o=43;break A}f=f+4|0;continue A}case 15:{r=f+1|0;if((b-r|0)<=0){r=-1;break e}if((i[r>>0]|0)==62){o=48;break A}else{f=r;continue A}}default:{f=f+1|0;continue A}}}if((o|0)==35){t[a>>2]=f;r=0;break}else if((o|0)==39){t[a>>2]=f;r=0;break}else if((o|0)==43){t[a>>2]=f;r=0;break}else if((o|0)==45){t[a>>2]=f;r=0;break}else if((o|0)==48){t[a>>2]=f+2;r=t[w>>2]|0;break}}else if((o|0)==50){if(!(xK(A,r,w)|0)){t[a>>2]=r;r=0;break}f=r+1|0;if((b-f|0)<=0){r=-1;break}if((i[f>>0]|0)==62){t[a>>2]=r+2;r=t[w>>2]|0;break}else r=f}t[a>>2]=r;r=0}else r=-1}while(0);h=k;return r|0}function NK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;f=r-A|0;e:do{if((f|0)>0){o=e+72|0;switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;r=0;break e}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=4;break}default:{t[a>>2]=A;r=0;break e}}l=e+328|0;s=e+332|0;c=e+336|0;f=A+f|0;A:while(1){A=r-f|0;if((A|0)<=0){r=-1;break e}switch(i[o+(n[f>>0]|0)>>0]|0){case 29:{l=17;break A}case 10:case 9:case 21:{l=27;break A}case 11:{l=32;break A}case 23:case 27:case 26:case 25:case 24:case 22:{A=1;break}case 5:{if((A|0)<2){r=-2;break e}if(!(Z5[t[l>>2]&127](e,f)|0)){l=20;break A}else A=2;break}case 6:{if((A|0)<3){r=-2;break e}if(!(Z5[t[s>>2]&127](e,f)|0)){l=23;break A}else A=3;break}case 7:{if((A|0)<4){r=-2;break e}if(!(Z5[t[c>>2]&127](e,f)|0)){l=26;break A}else A=4;break}default:{l=33;break A}}f=f+A|0}if((l|0)==17){t[a>>2]=f;r=0;break}else if((l|0)==20){t[a>>2]=f;r=0;break}else if((l|0)==23){t[a>>2]=f;r=0;break}else if((l|0)==26){t[a>>2]=f;r=0;break}else if((l|0)==27){A:while(1){A=f+1|0;if((r-A|0)<=0){r=-1;break e}switch(i[o+(n[A>>0]|0)>>0]|0){case 10:case 9:case 21:{f=A;l=27;break}case 11:{l=29;break A}default:{l=30;break A}}}if((l|0)==29){t[a>>2]=f+2;r=5;break}else if((l|0)==30){t[a>>2]=A;r=0;break}}else if((l|0)==32){t[a>>2]=f+1;r=5;break}else if((l|0)==33){t[a>>2]=f;r=0;break}}else r=-1}while(0);return r|0}function RK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=h;h=h+16|0;p=y;t[p>>2]=A;E=r;d=e+72|0;v=e+328|0;g=e+332|0;m=e+336|0;c=e+340|0;o=e+344|0;u=e+348|0;b=e+352|0;w=e+356|0;k=e+360|0;l=0;e:while(1){f=E-A|0;if((f|0)<=0){A=-1;break}A:do{switch(i[d+(n[A>>0]|0)>>0]|0){case 29:{B=4;break e}case 27:case 26:case 25:case 24:case 22:{f=A+1|0;t[p>>2]=f;s=l;A=f;l=s;continue e}case 5:{if((f|0)<2){A=-2;break e}if(!(Z5[t[v>>2]&127](e,A)|0)){B=8;break e}f=A+2|0;t[p>>2]=f;s=l;A=f;l=s;continue e}case 6:{if((f|0)<3){A=-2;break e}if(!(Z5[t[g>>2]&127](e,A)|0)){B=12;break e}f=A+3|0;t[p>>2]=f;s=l;A=f;l=s;continue e}case 7:{if((f|0)<4){A=-2;break e}if(!(Z5[t[m>>2]&127](e,A)|0)){B=16;break e}f=A+4|0;t[p>>2]=f;s=l;A=f;l=s;continue e}case 23:{if(l|0){B=19;break e}f=A+1|0;t[p>>2]=f;l=E-f|0;if((l|0)<=0){A=-1;break e}switch(i[d+(n[f>>0]|0)>>0]|0){case 29:{B=22;break e}case 24:case 22:{s=A+2|0;t[p>>2]=s;l=1;A=s;continue e}case 5:{if((l|0)<2){A=-2;break e}if(!(Z5[t[c>>2]&127](e,f)|0)){B=26;break e}s=A+3|0;t[p>>2]=s;l=1;A=s;continue e}case 6:{if((l|0)<3){A=-2;break e}if(!(Z5[t[o>>2]&127](e,f)|0)){B=30;break e}s=A+4|0;t[p>>2]=s;l=1;A=s;continue e}case 7:{if((l|0)<4){A=-2;break e}if(!(Z5[t[u>>2]&127](e,f)|0)){B=34;break e}s=A+5|0;t[p>>2]=s;l=1;A=s;continue e}default:{B=36;break e}}}case 10:case 9:case 21:while(1){A=A+1|0;t[p>>2]=A;if((E-A|0)<=0){A=-1;break e}switch(i[d+(n[A>>0]|0)>>0]|0){case 14:break A;case 9:case 10:case 21:break;default:{B=39;break e}}}case 14:break;default:{B=92;break e}}}while(0);while(1){f=A+1|0;t[p>>2]=f;if((E-f|0)<=0){A=-1;break e}s=i[d+(n[f>>0]|0)>>0]|0;if((s|1)<<24>>24==13)break;switch(s<<24>>24){case 9:case 10:case 21:{A=f;break}default:{B=43;break e}}}A=A+2|0;t[p>>2]=A;A:while(1){f=E-A|0;if((f|0)<=0){A=-1;break e}l=i[d+(n[A>>0]|0)>>0]|0;if(l<<24>>24==s<<24>>24)break;switch(l<<24>>24){case 8:case 1:case 0:{B=60;break e}case 2:{B=65;break e}case 5:{if((f|0)<2){A=-2;break e}if(Z5[t[b>>2]&127](e,A)|0){B=50;break e}l=A+2|0;t[p>>2]=l;A=l;continue A}case 6:{if((f|0)<3){A=-2;break e}if(Z5[t[w>>2]&127](e,A)|0){B=54;break e}l=A+3|0;t[p>>2]=l;A=l;continue A}case 7:{if((f|0)<4){A=-2;break e}if(Z5[t[k>>2]&127](e,A)|0){B=58;break e}l=A+4|0;t[p>>2]=l;A=l;continue A}case 3:{A=QK(e,A+1|0,r,p)|0;if((A|0)<1){B=63;break e}A=t[p>>2]|0;continue A}default:{l=A+1|0;t[p>>2]=l;A=l;continue A}}}f=A+1|0;t[p>>2]=f;if((E-f|0)<=0){A=-1;break}switch(i[d+(n[f>>0]|0)>>0]|0){case 11:{B=86;break e}case 17:{B=87;break e}case 10:case 9:case 21:{A=f;break}default:{B=69;break e}}A:while(1){f=A+1|0;t[p>>2]=f;l=E-f|0;if((l|0)<=0){A=-1;break e}switch(i[d+(n[f>>0]|0)>>0]|0){case 29:{B=72;break e}case 11:{B=86;break e}case 17:{B=87;break e}case 10:case 9:case 21:{A=f;break}case 24:case 22:{B=73;break A}case 5:{B=74;break A}case 6:{B=78;break A}case 7:{B=82;break A}default:{B=91;break e}}}if((B|0)==73){B=0;A=A+2|0;t[p>>2]=A;l=0;continue}else if((B|0)==74){B=0;if((l|0)<2){A=-2;break}if(!(Z5[t[c>>2]&127](e,f)|0)){B=76;break}A=A+3|0;t[p>>2]=A;l=0;continue}else if((B|0)==78){B=0;if((l|0)<3){A=-2;break}if(!(Z5[t[o>>2]&127](e,f)|0)){B=80;break}A=A+4|0;t[p>>2]=A;l=0;continue}else if((B|0)==82){B=0;if((l|0)<4){A=-2;break}if(!(Z5[t[u>>2]&127](e,f)|0)){B=84;break}A=A+5|0;t[p>>2]=A;l=0;continue}}switch(B|0){case 4:{t[a>>2]=A;A=0;break}case 8:{t[a>>2]=A;A=0;break}case 12:{t[a>>2]=A;A=0;break}case 16:{t[a>>2]=A;A=0;break}case 19:{t[a>>2]=A;A=0;break}case 22:{t[a>>2]=f;A=0;break}case 26:{t[a>>2]=f;A=0;break}case 30:{t[a>>2]=f;A=0;break}case 34:{t[a>>2]=f;A=0;break}case 36:{t[a>>2]=f;A=0;break}case 39:{t[a>>2]=A;A=0;break}case 43:{t[a>>2]=f;A=0;break}case 50:{t[a>>2]=A;A=0;break}case 54:{t[a>>2]=A;A=0;break}case 58:{t[a>>2]=A;A=0;break}case 60:{t[a>>2]=A;A=0;break}case 63:{if(!A){t[a>>2]=t[p>>2];A=0}break}case 65:{t[a>>2]=A;A=0;break}case 69:{t[a>>2]=f;A=0;break}case 72:{t[a>>2]=f;A=0;break}case 76:{t[a>>2]=f;A=0;break}case 80:{t[a>>2]=f;A=0;break}case 84:{t[a>>2]=f;A=0;break}case 86:{t[a>>2]=A+2;A=1;break}case 87:{A=f+1|0;t[p>>2]=A;if((E-A|0)>0)if((i[A>>0]|0)==62){t[a>>2]=f+2;A=3;break}else{t[a>>2]=A;A=0;break}else A=-1;break}case 91:{t[a>>2]=f;A=0;break}case 92:{t[a>>2]=A;A=0;break}}h=y;return A|0}function xK(e,A,r){e=e|0;A=A|0;r=r|0;t[r>>2]=11;e:do{if((A-e|0)==3){switch(i[e>>0]|0){case 120:{A=0;break}case 88:{A=1;break}default:{A=1;break e}}switch(i[e+1>>0]|0){case 109:break;case 77:{A=1;break}default:{A=1;break e}}switch(i[e+2>>0]|0){case 108:break;case 76:{A=0;break e}default:{A=1;break e}}if(!A){t[r>>2]=12;A=1}else A=0}else A=1}while(0);return A|0}function JK(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;c=A+72|0;o=A+352|0;u=A+356|0;b=A+360|0;e:while(1){l=a-r|0;if((l|0)<=0){a=-1;break}s=i[c+(n[r>>0]|0)>>0]|0;switch(s<<24>>24){case 8:case 1:case 0:{h=16;break e}case 5:{if((l|0)<2){a=-2;break e}if(Z5[t[o>>2]&127](A,r)|0){h=6;break e}r=r+2|0;continue e}case 6:{if((l|0)<3){a=-2;break e}if(Z5[t[u>>2]&127](A,r)|0){h=10;break e}r=r+3|0;continue e}case 7:{if((l|0)<4){a=-2;break e}if(Z5[t[b>>2]&127](A,r)|0){h=14;break e}r=r+4|0;continue e}case 13:case 12:{r=r+1|0;if((s&255|0)==(e|0)){h=18;break e}else continue e}default:{r=r+1|0;continue e}}}e:do{if((h|0)==6){t[f>>2]=r;a=0}else if((h|0)==10){t[f>>2]=r;a=0}else if((h|0)==14){t[f>>2]=r;a=0}else if((h|0)==16){t[f>>2]=r;a=0}else if((h|0)==18)if((a-r|0)>0){t[f>>2]=r;switch(i[c+(n[r>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{a=27;break e}default:{}}a=0}else a=-27}while(0);return a|0}function HK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0;f=r;e:do{if((f-A|0)>0){l=e+72|0;switch(i[l+(n[A>>0]|0)>>0]|0){case 27:{e=FK(e,A+1|0,r,a)|0;break e}case 20:{t[a>>2]=A+1;e=33;break e}case 24:case 22:{A:while(1){e=A+1|0;r=f-e|0;if((r|0)<=0){e=-1;break e}switch(i[l+(n[e>>0]|0)>>0]|0){case 24:case 22:{A=e;break}case 30:{s=8;break A}case 10:case 9:case 21:break A;default:{s=12;break A}}}if((s|0)==12){t[a>>2]=e;e=0;break e}A:do{if((s|0)==8){if((r|0)<=1){e=-1;break e}switch(i[l+(n[A+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break A}t[a>>2]=e;e=0;break e}}while(0);t[a>>2]=e;e=16;break e}default:{t[a>>2]=A;e=0;break e}}}else e=-1}while(0);return e|0}function PK(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;f=r-A|0;e:do{if((f|0)>0){o=e+72|0;switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{t[a>>2]=A;r=0;break e}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[e+340>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[e+344>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[e+348>>2]&127](e,A)|0)){t[a>>2]=A;r=0;break e}else f=4;break}default:{t[a>>2]=A;r=0;break e}}l=e+328|0;s=e+332|0;c=e+336|0;A=A+f|0;A:while(1){f=r-A|0;if((f|0)<=0){r=-20;break e}switch(i[o+(n[A>>0]|0)>>0]|0){case 29:{f=17;break A}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{f=28;break A}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){r=-2;break e}if(!(Z5[t[l>>2]&127](e,A)|0)){f=20;break A}else f=2;break}case 6:{if((f|0)<3){r=-2;break e}if(!(Z5[t[s>>2]&127](e,A)|0)){f=23;break A}else f=3;break}case 7:{if((f|0)<4){r=-2;break e}if(!(Z5[t[c>>2]&127](e,A)|0)){f=26;break A}else f=4;break}default:{f=29;break A}}A=A+f|0}if((f|0)==17){t[a>>2]=A;r=0;break}else if((f|0)==20){t[a>>2]=A;r=0;break}else if((f|0)==23){t[a>>2]=A;r=0;break}else if((f|0)==26){t[a>>2]=A;r=0;break}else if((f|0)==28){t[a>>2]=A;r=20;break}else if((f|0)==29){t[a>>2]=A;r=0;break}}else r=-1}while(0);return r|0}function XK(){return 58220}function SK(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;l=h;h=h+16|0;n=l;t[n>>2]=r;f=t[A>>2]|0;e=a-(t[i>>2]|0)|0;if((r-f|0)>(e|0)){e=f+e|0;t[n>>2]=e;a=1}else{a=0;e=r}ko(f,n);f=t[n>>2]|0;r=t[A>>2]|0;n=f-r|0;Q6(t[i>>2]|0,r|0,n|0)|0;t[A>>2]=(t[A>>2]|0)+n;t[i>>2]=(t[i>>2]|0)+n;h=l;return(a?2:f>>>0>>0&1)|0}function jK(e,A,r,n,f){e=e|0;A=A|0;r=r|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;s=e+72|0;c=r;o=f;u=t[A>>2]|0;b=t[n>>2]|0;e:while(1){e=u>>>0>>0;if(!(b>>>0>>0&e)){h=12;break}e=i[u>>0]|0;l=e&255;switch(i[s+l>>0]|0){case 5:{if((c-u|0)<2){e=1;break e}a[b>>1]=(e&31)<<6|i[u+1>>0]&63;u=u+2|0;b=b+2|0;continue e}case 6:{if((c-u|0)<3){e=1;break e}a[b>>1]=(i[u+1>>0]&63)<<6|l<<12|i[u+2>>0]&63;u=u+3|0;b=b+2|0;continue e}case 7:{if((o-b|0)<4){e=2;break e}if((c-u|0)<4){e=1;break e}l=((i[u+1>>0]&63)<<12|(e&7)<<18|(i[u+2>>0]&63)<<6|i[u+3>>0]&63)+-65536|0;a[b>>1]=l>>>10|55296;a[b+2>>1]=l&1023|56320;u=u+4|0;b=b+4|0;continue e}default:{a[b>>1]=e<<24>>24;u=u+1|0;b=b+2|0;continue e}}}if((h|0)==12)e=e?2:0;t[A>>2]=u;t[n>>2]=b;return e|0}function UK(e,A){e=e|0;A=A|0;e=n[A>>0]|0;A=n[A+1>>0]|0;return 1<<(A&31)&t[56940+(((n[144044+(e>>>2&7)>>0]|0)<<3|e<<1&6|A>>>5&1)<<2)>>2]|0}function TK(e,A){e=e|0;A=A|0;var r=0;r=n[A+1>>0]|0;e=n[A+2>>0]|0;return 1<<(e&31)&t[56940+(((n[144044+(r>>>2&15|i[A>>0]<<4&255)>>0]|0)<<3|r<<1&6|e>>>5&1)<<2)>>2]|0}function OK(e,A){e=e|0;A=A|0;return 0}function _K(e,A){e=e|0;A=A|0;e=n[A>>0]|0;A=n[A+1>>0]|0;return 1<<(A&31)&t[56940+(((n[143788+(e>>>2&7)>>0]|0)<<3|e<<1&6|A>>>5&1)<<2)>>2]|0}function qK(e,A){e=e|0;A=A|0;var r=0;r=n[A+1>>0]|0;e=n[A+2>>0]|0;return 1<<(e&31)&t[56940+(((n[143788+(r>>>2&15|i[A>>0]<<4&255)>>0]|0)<<3|r<<1&6|e>>>5&1)<<2)>>2]|0}function KK(e,A){e=e|0;A=A|0;if((n[A>>0]|0)<194)return 1;else{A=n[A+1>>0]|0;return A>>>7^1|(A&192|0)==192|0}return 0}function $K(e,A){e=e|0;A=A|0;var r=0;e=i[A+2>>0]|0;do{if(e<<24>>24>-1)e=1;else{r=i[A>>0]|0;if(r<<24>>24==-17?(i[A+1>>0]|0)==-65:0)if((e&255)>189){e=1;break}else{e=191;A=-65}else{if((e&255)>191){e=1;break}A=i[A+1>>0]|0;e=A&255;if(r<<24>>24==-32){e=(A&255)<160|(e&192|0)==192;break}}e=(e&128|0)==0?1:r<<24>>24==-19?(A&255)>159:(e&192|0)==192}}while(0);return e&1|0}function e$(e,A){e=e|0;A=A|0;var r=0;r=n[A+3>>0]|0;do{if(!((r&128|0)==0|(r&192|0)==192)?(r=n[A+2>>0]|0,!((r&128|0)==0|(r&192|0)==192)):0){r=i[A>>0]|0;e=i[A+1>>0]|0;A=e&255;if(r<<24>>24==-16){e=(e&255)<144|(A&192|0)==192;break}else{e=(A&128|0)==0?1:r<<24>>24==-12?(e&255)>143:(A&192|0)==192;break}}else e=1}while(0);return e&1|0}function A$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0;e:do{if(A>>>0>>0){l=A;u=r-l|0;c=(u&1|0)==0;u=u&-2;o=(u|0)==0;u=c|o?r:A+u|0;if(c|o^1){r=i[A+1>>0]|0;if(!(r<<24>>24)){f=i[A>>0]|0;s=f;f=n[e+72+(f&255)>>0]|0}else{f=i[A>>0]|0;s=f;f=d$(r,f)|0}do{switch(f|0){case 12:{r=L$(12,e,A+2|0,u,a)|0;break e}case 13:{r=L$(13,e,A+2|0,u,a)|0;break e}case 2:{f=A+2|0;if((u-f|0)<=1){r=-1;break e}r=i[A+3>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[f>>0]|0)>>0]|0;else r=d$(r,i[f>>0]|0)|0;switch(r|0){case 16:{r=Q$(e,A+4|0,u,a)|0;break e}case 15:{r=C$(e,A+4|0,u,a)|0;break e}case 7:case 6:case 5:case 29:case 24:case 22:{t[a>>2]=A;r=29;break e}default:{t[a>>2]=f;r=0;break e}}}case 9:{if((A+2|0)==(u|0)){t[a>>2]=u;r=-15;break e}else l=7;break}case 10:case 21:{l=7;break}case 30:{r=g$(e,A+2|0,u,a)|0;break e}case 35:{t[a>>2]=A+2;r=38;break e}case 20:{t[a>>2]=A+2;r=25;break e}case 4:{f=A+2|0;r=u-f|0;if((r|0)<=1){r=-26;break e}if((i[A+3>>0]|0)==0?(i[f>>0]|0)==93:0){if((r|0)<=3){r=-1;break e}if((i[A+5>>0]|0)==0?(i[A+4>>0]|0)==62:0){t[a>>2]=A+6;r=34;break e}}t[a>>2]=f;r=26;break e}case 31:{t[a>>2]=A+2;r=23;break e}case 32:{f=A+2|0;if((u-f|0)<=1){r=-24;break e}r=i[A+3>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[f>>0]|0)>>0]|0;else r=d$(r,i[f>>0]|0)|0;switch(r|0){case 33:{t[a>>2]=A+4;r=36;break e}case 15:{t[a>>2]=A+4;r=35;break e}case 34:{t[a>>2]=A+4;r=37;break e}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{t[a>>2]=f;r=24;break e}default:{t[a>>2]=f;r=0;break e}}}case 36:{t[a>>2]=A+2;r=21;break e}case 11:{t[a>>2]=A+2;r=17;break e}case 19:{r=D$(e,A+2|0,u,a)|0;break e}case 5:{if((u-l|0)<2){r=-2;break e}t[a>>2]=A;r=0;break e}case 6:{if((u-l|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((u-l|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}case 24:case 22:{r=18;l=61;break}case 23:case 27:case 26:case 25:{r=19;l=61;break}case 29:{l=r&255;f=s&255;r=f>>>5;f=1<<(f&31);if(!(f&t[56940+((r|n[143788+l>>0]<<3)<<2)>>2]))if(!(t[56940+((n[144044+l>>0]<<3|r)<<2)>>2]&f))l=64;else{r=19;l=61}else{r=18;l=61}break}default:l=64}}while(0);if((l|0)==7){c=u;e=e+72|0;s=A;A:while(1){l=s;s=s+2|0;if((c-s|0)<=1){l=28;break}r=i[l+3>>0]|0;f=i[s>>0]|0;if(!(r<<24>>24))r=n[e+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 10:case 21:continue A;case 9:break;default:{l=27;break A}}if((l+4|0)==(u|0)){l=27;break}}if((l|0)==27){t[a>>2]=s;r=15;break}else if((l|0)==28){t[a>>2]=s;r=15;break}}else if((l|0)==61){o=e+72|0;f=A+2|0;A:while(1){A=r&255;r:while(1){c=u-f|0;if((c|0)<=1){l=104;break A}l=i[f+1>>0]|0;s=i[f>>0]|0;if(!(l<<24>>24))e=n[o+(s&255)>>0]|0;else e=d$(l,s)|0;switch(e|0){case 5:{l=73;break A}case 6:{l=74;break A}case 7:{l=76;break A}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{l=78;break A}case 34:{l=94;break A}case 33:{l=97;break A}case 15:{l=100;break A}case 29:{c=s&255;if(!(1<<(c&31)&t[56940+((c>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){l=71;break A}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c=f+2|0;switch(A&63){case 41:{r=19;f=c;continue A}case 18:break r;default:{f=c;continue r}}}default:{l=103;break A}}f=f+2|0}e=u-c|0;if((e|0)<=1){r=-1;break e}r=i[f+3>>0]|0;l=i[c>>0]|0;if(!(r<<24>>24))s=n[o+(l&255)>>0]|0;else s=d$(r,l)|0;switch(s|0){case 5:{l=89;break A}case 6:{l=90;break A}case 7:{l=92;break A}case 29:{A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|n[144044+(r&255)>>0]<<3)<<2)>>2])){l=87;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{r=19;f=c;continue A}}r=41;f=f+4|0}switch(l|0){case 71:{t[a>>2]=f;r=0;break e}case 73:{t[a>>2]=f;r=0;break e}case 74:{if((c|0)<3){r=-2;break e}t[a>>2]=f;r=0;break e}case 76:{if((c|0)<4){r=-2;break e}t[a>>2]=f;r=0;break e}case 78:{t[a>>2]=f;break e}case 87:{t[a>>2]=c;r=0;break e}case 89:{t[a>>2]=c;r=0;break e}case 90:{if((e|0)<3){r=-2;break e}t[a>>2]=c;r=0;break e}case 92:{if((e|0)<4){r=-2;break e}t[a>>2]=c;r=0;break e}case 94:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=32;break e}case 97:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=31;break e}case 100:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=30;break e}case 103:{t[a>>2]=f;r=0;break e}case 104:{r=0-r|0;break e}}}else if((l|0)==64){t[a>>2]=A;r=0;break}}else r=-1}else r=-4}while(0);return r|0}function r$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;e:do{if(A>>>0>>0){f=A;l=r-f|0;c=(l&1|0)==0;l=l&-2;s=(l|0)==0;l=c|s?r:A+l|0;if(c|s^1){r=i[A+1>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A>>0]|0)>>0]|0;else r=d$(r,i[A>>0]|0)|0;do{switch(r|0){case 2:{r=E$(e,A+2|0,l,a)|0;break e}case 3:{r=v$(e,A+2|0,l,a)|0;break e}case 9:{f=A+2|0;if((l-f|0)<=1){r=-3;break e}r=i[A+3>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[f>>0]|0)>>0]|0;else r=d$(r,i[f>>0]|0)|0;t[a>>2]=(r|0)==10?A+4|0:f;r=7;break e}case 10:{t[a>>2]=A+2;r=7;break e}case 4:{f=A+2|0;if((l-f|0)<=1){r=-5;break e}if((i[A+3>>0]|0)==0?(i[f>>0]|0)==93:0){r=A+4|0;if((l-r|0)<=1){r=-5;break e}if((i[A+5>>0]|0)==0?(i[r>>0]|0)==62:0){t[a>>2]=r;r=0;break e}else r=l}else r=l;break}case 5:{r=l;if((r-f|0)<2){r=-2;break e}f=A+2|0;break}case 6:{r=l;if((r-f|0)<3){r=-2;break e}f=A+3|0;break}case 7:{r=l;if((r-f|0)<4){r=-2;break e}f=A+4|0;break}case 8:case 1:case 0:{t[a>>2]=A;r=0;break e}default:{f=A+2|0;r=l}}}while(0);s=e+72|0;e=f;A:while(1){A=r-e|0;if((A|0)<=1){f=52;break}f=i[e+1>>0]|0;l=i[e>>0]|0;if(!(f<<24>>24))f=n[s+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=50;break A}case 5:{e=e+2|0;continue A}case 6:{if((A|0)<3){f=38;break A}e=e+3|0;continue A}case 7:{if((A|0)<4){f=41;break A}e=e+4|0;continue A}case 4:{if((A|0)<=3){f=50;break A}f=e+2|0;if(i[e+3>>0]|0){e=f;continue A}if((i[f>>0]|0)!=93){e=f;continue A}if((A|0)<=5){f=50;break A}l=e+4|0;if(i[e+5>>0]|0){e=f;continue A}if((i[l>>0]|0)==62){f=49;break A}else{e=f;continue A}}default:{e=e+2|0;continue A}}}if((f|0)==38){t[a>>2]=e;r=6;break}else if((f|0)==41){t[a>>2]=e;r=6;break}else if((f|0)==49){t[a>>2]=l;r=0;break}else if((f|0)==50){t[a>>2]=e;r=6;break}else if((f|0)==52){t[a>>2]=e;r=6;break}}else r=-1}else r=-4}while(0);return r|0}function i$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;e:do{if(A>>>0>>0){f=A;l=r-f|0;c=(l&1|0)==0;l=l&-2;s=(l|0)==0;l=c|s?r:A+l|0;if(c|s^1){r=i[A+1>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A>>0]|0)>>0]|0;else r=d$(r,i[A>>0]|0)|0;switch(r|0){case 4:{f=A+2|0;if((l-f|0)<=1){r=-1;break e}if((i[A+3>>0]|0)==0?(i[f>>0]|0)==93:0){r=A+4|0;if((l-r|0)<=1){r=-1;break e}if((i[A+5>>0]|0)==0?(i[r>>0]|0)==62:0){t[a>>2]=A+6;r=40;break e}}break}case 9:{f=A+2|0;if((l-f|0)<=1){r=-1;break e}r=i[A+3>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[f>>0]|0)>>0]|0;else r=d$(r,i[f>>0]|0)|0;t[a>>2]=(r|0)==10?A+4|0:f;r=7;break e}case 10:{t[a>>2]=A+2;r=7;break e}case 5:{r=l;if((r-f|0)<2){r=-2;break e}f=A+2|0;l=r;break}case 6:{r=l;if((r-f|0)<3){r=-2;break e}f=A+3|0;l=r;break}case 7:{r=l;if((r-f|0)<4){r=-2;break e}f=A+4|0;l=r;break}case 8:case 1:case 0:{t[a>>2]=A;r=0;break e}default:f=A+2|0}s=e+72|0;e=f;A:while(1){A=l-e|0;if((A|0)<=1){f=40;break}r=i[e+1>>0]|0;f=i[e>>0]|0;if(!(r<<24>>24))r=n[s+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 10:case 9:case 8:case 1:case 0:case 4:{f=38;break A}case 6:{if((A|0)<3){f=35;break A}else r=3;break}case 7:{if((A|0)<4){f=37;break A}else r=4;break}default:r=2}e=e+r|0}if((f|0)==35){t[a>>2]=e;r=6;break}else if((f|0)==37){t[a>>2]=e;r=6;break}else if((f|0)==38){t[a>>2]=e;r=6;break}else if((f|0)==40){t[a>>2]=e;r=6;break}}else r=-1}else r=-4}while(0);return r|0}function a$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r-A|0;c=(c&1|0)==0?r:A+(c&-2)|0;s=e+72|0;l=0;r=A;e:while(1){f=c-r|0;if((f|0)<=1){r=-1;break}e=i[r+1>>0]|0;A=i[r>>0]|0;if(!(e<<24>>24))e=n[s+(A&255)>>0]|0;else e=d$(e,A)|0;switch(e|0){case 8:case 1:case 0:{o=12;break e}case 5:{f=l;r=r+2|0;l=f;continue e}case 6:{if((f|0)<3){r=-2;break e}f=l;r=r+3|0;l=f;continue e}case 7:{if((f|0)<4){r=-2;break e}f=l;r=r+4|0;l=f;continue e}case 2:{e=r+2|0;if((c-e|0)<=1){r=-1;break e}if(i[r+3>>0]|0){f=l;r=e;l=f;continue e}if((i[e>>0]|0)!=33){f=l;r=e;l=f;continue e}e=r+4|0;if((c-e|0)<=1){r=-1;break e}if(i[r+5>>0]|0){f=l;r=e;l=f;continue e}f=(i[e>>0]|0)==91;l=l+(f&1)|0;r=f?r+6|0:e;continue e}case 4:{e=r+2|0;if((c-e|0)<=1){r=-1;break e}if(i[r+3>>0]|0){f=l;r=e;l=f;continue e}if((i[e>>0]|0)!=93){f=l;r=e;l=f;continue e}e=r+4|0;if((c-e|0)<=1){r=-1;break e}if(i[r+5>>0]|0){f=l;r=e;l=f;continue e}if((i[e>>0]|0)!=62){f=l;r=e;l=f;continue e}r=r+6|0;if(!l){o=26;break e}l=l+-1|0;continue e}default:{f=l;r=r+2|0;l=f;continue e}}}if((o|0)==12){t[a>>2]=r;r=0}else if((o|0)==26){t[a>>2]=r;r=42}return r|0}function t$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>1){o=e+72|0;s=A;e:while(1){if((c-s|0)<=1){l=30;break}f=i[s+1>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 3:{l=11;break e}case 2:{l=14;break e}case 10:{l=15;break e}case 9:{l=18;break e}case 21:{l=25;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=2}s=s+f|0}if((l|0)==11)if((s|0)==(A|0)){f=v$(e,A+2|0,r,a)|0;break}else{t[a>>2]=s;f=6;break}else if((l|0)==14){t[a>>2]=s;f=0;break}else if((l|0)==15)if((s|0)==(A|0)){t[a>>2]=A+2;f=7;break}else{t[a>>2]=s;f=6;break}else if((l|0)==18){if((s|0)!=(A|0)){t[a>>2]=s;f=6;break}s=A+2|0;if((c-s|0)<=1){f=-3;break}f=i[A+3>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;t[a>>2]=(f|0)==10?A+4|0:s;f=7;break}else if((l|0)==25)if((s|0)==(A|0)){t[a>>2]=A+2;f=39;break}else{t[a>>2]=s;f=6;break}else if((l|0)==30){t[a>>2]=s;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function n$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>1){o=e+72|0;s=A;e:while(1){if((c-s|0)<=1){l=29;break}f=i[s+1>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 3:{l=11;break e}case 30:{l=14;break e}case 10:{l=17;break e}case 9:{l=20;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=2}s=s+f|0}if((l|0)==11)if((s|0)==(A|0)){f=v$(e,A+2|0,r,a)|0;break}else{t[a>>2]=s;f=6;break}else if((l|0)==14)if((s|0)==(A|0)){f=g$(e,A+2|0,r,a)|0;f=(f|0)==22?0:f;break}else{t[a>>2]=s;f=6;break}else if((l|0)==17)if((s|0)==(A|0)){t[a>>2]=A+2;f=7;break}else{t[a>>2]=s;f=6;break}else if((l|0)==20){if((s|0)!=(A|0)){t[a>>2]=s;f=6;break}s=A+2|0;if((c-s|0)<=1){f=-3;break}f=i[A+3>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;t[a>>2]=(f|0)==10?A+4|0:s;f=7;break}else if((l|0)==29){t[a>>2]=s;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function f$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var t=0,n=0;t=r;e=A;while(1){A=i[a>>0]|0;if(!(A<<24>>24)){n=7;break}if((t-e|0)<2){e=0;break}if(i[e+1>>0]|0){e=0;break}if((i[e>>0]|0)!=A<<24>>24){e=0;break}a=a+1|0;e=e+2|0}if((n|0)==7)e=(e|0)==(r|0)&1;return e|0}function l$(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;t=e+72|0;a=A;e:while(1){e=i[a+1>>0]|0;r=i[a>>0]|0;if(!(e<<24>>24))e=n[t+(r&255)>>0]|0;else e=d$(e,r)|0;switch(e|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=2;break}default:break e}a=a+e|0}return a-A|0}function s$(e,A){e=e|0;A=A|0;var r=0,a=0;a=e+72|0;e:while(1){e=i[A+1>>0]|0;r=i[A>>0]|0;if(!(e<<24>>24))e=n[a+(r&255)>>0]|0;else e=d$(e,r)|0;switch(e|0){case 21:case 9:case 10:break;default:break e}A=A+2|0}return A|0}function c$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=e+72|0;u=0;b=0;e=1;e:while(1){o=A+2|0;l=A+3|0;f=i[l>>0]|0;s=f<<24>>24==0;c=i[o>>0]|0;if(s)f=n[h+(c&255)>>0]|0;else f=d$(f,c)|0;do{switch(f|0){case 5:{if(e|0){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}if((b|0)>=(r|0)){s=b;c=u;e=1;A=o;b=s;u=c;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;s=b;c=u;e=1;A=o;b=s;u=c;continue e}case 6:{if(e|0){s=e;c=b;o=u;A=l;e=s;b=c;u=o;continue e}if((b|0)>=(r|0)){c=b;o=u;e=1;A=l;b=c;u=o;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;c=b;o=u;e=1;A=l;b=c;u=o;continue e}case 7:{if(!e)if((b|0)<(r|0)){t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;e=1}else e=1;c=b;o=u;A=A+4|0;b=c;u=o;continue e}case 24:case 22:case 29:{if(e|0){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}if((b|0)>=(r|0)){s=b;c=u;e=1;A=o;b=s;u=c;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;s=b;c=u;e=1;A=o;b=s;u=c;continue e}case 12:{if((e|0)!=2){if((b|0)>=(r|0)){c=b;u=12;e=2;A=o;b=c;continue e}t[a+(b<<4)+4>>2]=A+4;c=b;u=12;e=2;A=o;b=c;continue e}if((u|0)!=12){s=b;c=u;e=2;A=o;b=s;u=c;continue e}if((b|0)<(r|0))t[a+(b<<4)+8>>2]=o;u=12;b=b+1|0;e=0;A=o;continue e}case 13:{if((e|0)!=2){if((b|0)>=(r|0)){c=b;u=13;e=2;A=o;b=c;continue e}t[a+(b<<4)+4>>2]=A+4;c=b;u=13;e=2;A=o;b=c;continue e}if((u|0)!=13){s=b;c=u;e=2;A=o;b=s;u=c;continue e}if((b|0)<(r|0))t[a+(b<<4)+8>>2]=o;u=13;b=b+1|0;e=0;A=o;continue e}case 3:{if((b|0)>=(r|0)){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}i[a+(b<<4)+12>>0]=0;l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}case 21:{switch(e|0){case 1:{s=b;c=u;e=0;A=o;b=s;u=c;continue e}case 2:break;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}if((b|0)>=(r|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}l=a+(b<<4)+12|0;if(!(i[l>>0]|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}do{if(s&(o|0)!=(t[a+(b<<4)+4>>2]|0)&c<<24>>24==32){f=i[A+5>>0]|0;e=i[A+4>>0]|0;if(!(f<<24>>24)){if(e<<24>>24==32)break;e=n[h+(e&255)>>0]|0}else e=d$(f,e)|0;if((e|0)!=(u|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}}}while(0);i[l>>0]=0;s=b;c=u;e=2;A=o;b=s;u=c;continue e}case 10:case 9:{switch(e|0){case 1:{s=b;c=u;e=0;A=o;b=s;u=c;continue e}case 2:break;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}if((b|0)>=(r|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}i[a+(b<<4)+12>>0]=0;s=b;c=u;e=2;A=o;b=s;u=c;continue e}case 17:case 11:if((e|0)==2){s=b;c=u;e=2;A=o;b=s;u=c;continue e}else break e;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}}while(0)}return b|0}function o$(e,A){e=e|0;A=A|0;var r=0,a=0;e=A+4|0;e:do{if((i[A+5>>0]|0)==0?(i[e>>0]|0)==120:0){A=A+6|0;e=0;while(1){A:while(1){if(!(i[A+1>>0]|0)){r=i[A>>0]|0;if(r<<24>>24==59){a=17;break e}r=r<<24>>24;switch(r|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{a=8;break A}case 70:case 69:case 68:case 67:case 66:case 65:{a=9;break A}case 102:case 101:case 100:case 99:case 98:case 97:{a=10;break A}default:{}}}A=A+2|0}if((a|0)==8){a=0;e=r+-48|e<<4}else if((a|0)==9){a=0;e=(e<<4)+-55+r|0}else if((a|0)==10){a=0;e=(e<<4)+-87+r|0}if((e|0)<1114112)A=A+2|0;else{e=-1;break}}}else{r=e;e=0;a=13}}while(0);e:do{if((a|0)==13)while(1){a=0;if(!(i[r+1>>0]|0)){A=i[r>>0]|0;if(A<<24>>24==59){a=17;break e}A=A<<24>>24}else A=-1;e=(e*10|0)+-48+A|0;if((e|0)>=1114112){e=-1;break}else{r=r+2|0;a=13}}}while(0);if((a|0)==17)e=po(e)|0;return e|0}function u$(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;e:do{switch((r-A|0)/2|0|0){case 2:{if((i[A+3>>0]|0)==0?(i[A+2>>0]|0)==116:0){if(!(i[A+1>>0]|0))e=i[A>>0]|0;else e=-1;e=(e|0)==108?60:(e|0)==103?62:0}else a=27;break}case 3:{if((((((i[A+1>>0]|0)==0?(i[A>>0]|0)==97:0)?(i[A+3>>0]|0)==0:0)?(i[A+2>>0]|0)==109:0)?(i[A+5>>0]|0)==0:0)?(i[A+4>>0]|0)==112:0)e=38;else a=27;break}case 4:{if(!(i[A+1>>0]|0))switch(i[A>>0]|0){case 113:{if(i[A+3>>0]|0){a=27;break e}if((i[A+2>>0]|0)!=117){a=27;break e}if(i[A+5>>0]|0){a=27;break e}if((i[A+4>>0]|0)!=111){a=27;break e}if(i[A+7>>0]|0){a=27;break e}if((i[A+6>>0]|0)==116){e=34;break e}else{a=27;break e}}case 97:{if(i[A+3>>0]|0){a=27;break e}if((i[A+2>>0]|0)!=112){a=27;break e}if(i[A+5>>0]|0){a=27;break e}if((i[A+4>>0]|0)!=111){a=27;break e}if(i[A+7>>0]|0){a=27;break e}if((i[A+6>>0]|0)==115){e=39;break e}else{a=27;break e}}default:{a=27;break e}}else a=27;break}default:a=27}}while(0);if((a|0)==27)e=0;return e|0}function b$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=e+72|0;c=a+4|0;while(1){if((r-A|0)<=1)break;e=i[A+1>>0]|0;f=i[A>>0]|0;if(!(e<<24>>24))e=n[s+(f&255)>>0]|0;else e=d$(e,f)|0;switch(e|0){case 5:{A=A+2|0;break}case 6:{A=A+3|0;break}case 7:{A=A+4|0;break}case 10:{t[c>>2]=-1;t[a>>2]=(t[a>>2]|0)+1;A=A+2|0;break}case 9:{t[a>>2]=(t[a>>2]|0)+1;l=A+2|0;if((r-l|0)>1){e=i[A+3>>0]|0;f=i[l>>0]|0;if(!(e<<24>>24))e=n[s+(f&255)>>0]|0;else e=d$(e,f)|0;A=(e|0)==10?A+4|0:l}else A=l;t[c>>2]=-1;break}default:A=A+2|0}t[c>>2]=(t[c>>2]|0)+1}return}function h$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=r+-2|0;l=e+72|0;r=A;e:while(1){f=r+2|0;if((s-f|0)<=1){r=1;break}r=i[r+3>>0]|0;e=r<<24>>24==0;A=i[f>>0]|0;if(e)r=n[l+(A&255)>>0]|0;else r=d$(r,A)|0;switch(r|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{r=f;continue e}case 21:if(e&A<<24>>24==9){c=12;break e}else{r=f;continue e}case 22:case 26:{if(!e){c=12;break e}if(A<<24>>24>=0){r=f;continue e}break}default:if(!e){c=12;break e}}switch(A<<24>>24|0){case 64:case 36:{r=f;break}default:{c=12;break e}}}if((c|0)==12){t[a>>2]=f;r=0}return r|0}function w$(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;s=t[A>>2]|0;c=s+(r-s&-2)|0;o=c;u=f;e:while(1){if(s>>>0>=c>>>0){e=0;break}l=i[s>>0]|0;e=i[s+1>>0]|0;r=e&255;switch(e<<24>>24){case 0:{if(l<<24>>24>-1){e=t[a>>2]|0;if((e|0)==(f|0)){e=2;break e}t[a>>2]=e+1;i[e>>0]=l;e=s}else b=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{b=7;break}case-37:case-38:case-39:case-40:{e=t[a>>2]|0;if((u-e|0)<4){e=2;break e}if((o-s|0)<4){e=1;break e}h=l&255;l=(r<<2&12|h>>>6)+1|0;t[a>>2]=e+1;i[e>>0]=l>>>2|240;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h>>>2&15|l<<4&48|128;e=s+2|0;l=n[e>>0]|0;r=(h<<4&48|l>>>6|i[s+3>>0]<<2&12|128)&255;s=t[a>>2]|0;t[a>>2]=s+1;i[s>>0]=r;s=t[a>>2]|0;t[a>>2]=s+1;i[s>>0]=l&63|128;break}default:{e=t[a>>2]|0;if((u-e|0)<3){e=2;break e}t[a>>2]=e+1;i[e>>0]=r>>>4|224;h=l&255;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h>>>6|r<<2&60|128;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h&63|128;e=s}}if((b|0)==7){b=0;e=t[a>>2]|0;if((u-e|0)<2){e=2;break}h=l&255;t[a>>2]=e+1;i[e>>0]=h>>>6|r<<2|192;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h&63|128;e=s}s=e+2|0}t[A>>2]=s;return e|0}function k$(e,A,r,f,l){e=e|0;A=A|0;r=r|0;f=f|0;l=l|0;var s=0,c=0,o=0;s=t[A>>2]|0;o=r-s&-2;e=s+o|0;if((o|0)>(l-(t[f>>2]|0)|0)){c=e+-2|0;r=(i[c+1>>0]&-8)<<24>>24==-40;o=r&1;e=r?c:e}else o=0;r=s;while(1){s=r>>>0>>0;c=t[f>>2]|0;if(!(s&c>>>0>>0))break;s=((n[r+1>>0]|0)<<8|(n[r>>0]|0))&65535;t[f>>2]=c+2;a[c>>1]=s;c=(t[A>>2]|0)+2|0;t[A>>2]=c;r=c}return((c|0)!=(l|0)|s^1?o:2)|0}function d$(e,A){e=e|0;A=A|0;var r=0;switch(e<<24>>24){case-37:case-38:case-39:case-40:{e=7;break}case-33:case-34:case-35:case-36:{e=8;break}case-1:{if((A&255)>253)e=0;else r=4;break}default:r=4}if((r|0)==4)e=29;return e|0}function v$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;o=r;s=o-A|0;e:do{if((s|0)>1){c=i[A+1>>0]|0;if(!(c<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{s=l&255;if(!(1<<(s&31)&t[56940+((s>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;e=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;e=0;break e}case 6:{if((s|0)<3){e=-2;break e}t[a>>2]=A;e=0;break e}case 7:{if((s|0)<4){e=-2;break e}t[a>>2]=A;e=0;break e}case 19:{e=m$(e,A+2|0,r,a)|0;break e}default:{t[a>>2]=A;e=0;break e}}c=e+72|0;s=A;A:while(1){l=s+2|0;A=o-l|0;if((A|0)<=1){e=-1;break e}e=i[s+3>>0]|0;f=i[l>>0]|0;if(!(e<<24>>24))r=n[c+(f&255)>>0]|0;else r=d$(e,f)|0;switch(r|0){case 27:case 26:case 25:case 24:case 22:{s=l;continue A}case 5:{f=23;break A}case 6:{f=24;break A}case 7:{f=26;break A}case 18:{f=28;break A}case 29:break;default:{f=29;break A}}A=f&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(e&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else s=l}if((f|0)==22){t[a>>2]=l;e=0;break}else if((f|0)==23){t[a>>2]=l;e=0;break}else if((f|0)==24){if((A|0)<3){e=-2;break}t[a>>2]=l;e=0;break}else if((f|0)==26){if((A|0)<4){e=-2;break}t[a>>2]=l;e=0;break}else if((f|0)==28){t[a>>2]=s+4;e=9;break}else if((f|0)==29){t[a>>2]=l;e=0;break}}else e=-1}while(0);return e|0}function g$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;s=r-A|0;e:do{if((s|0)>1){c=i[A+1>>0]|0;if(!(c<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{o=l&255;if(!(1<<(o&31)&t[56940+((o>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}case 30:case 9:case 10:case 21:{t[a>>2]=A;r=22;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;e=A;A:while(1){c=e+2|0;A=r-c|0;if((A|0)<=1){r=-1;break e}f=i[e+3>>0]|0;l=i[c>>0]|0;if(!(f<<24>>24))s=n[o+(l&255)>>0]|0;else s=d$(f,l)|0;switch(s|0){case 27:case 26:case 25:case 24:case 22:{e=c;continue A}case 5:{f=23;break A}case 6:{f=24;break A}case 7:{f=26;break A}case 18:{f=28;break A}case 29:break;default:{f=29;break A}}A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(f&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else e=c}if((f|0)==22){t[a>>2]=c;r=0;break}else if((f|0)==23){t[a>>2]=c;r=0;break}else if((f|0)==24){if((A|0)<3){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==26){if((A|0)<4){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==28){t[a>>2]=e+4;r=28;break}else if((f|0)==29){t[a>>2]=c;r=0;break}}else r=-1}while(0);return r|0}function m$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;c=r;e:do{if((c-A|0)>1){l=i[A+1>>0]|0;f=i[A>>0]|0;do{if(!(l<<24>>24))if(f<<24>>24==120){f=p$(e,A+2|0,r,a)|0;break e}else{f=n[e+72+(f&255)>>0]|0;break}else f=d$(l,f)|0}while(0);if((f|0)!=25){t[a>>2]=A;f=0;break}s=e+72|0;e=A;A:while(1){l=e+2|0;if((c-l|0)<=1){f=-1;break e}f=i[e+3>>0]|0;r=i[l>>0]|0;if(!(f<<24>>24))f=n[s+(r&255)>>0]|0;else f=d$(f,r)|0;switch(f|0){case 25:{e=l;break}case 18:{r=15;break A}default:{r=16;break A}}}if((r|0)==15){t[a>>2]=e+4;f=10;break}else if((r|0)==16){t[a>>2]=l;f=0;break}}else f=-1}while(0);return f|0}function p$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0;e:do{if((r-A|0)>1){f=i[A+1>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[A>>0]|0)>>0]|0;else f=d$(f,i[A>>0]|0)|0;if((f&-2|0)!=24){t[a>>2]=A;r=0;break}s=e+72|0;A:while(1){l=A+2|0;if((r-l|0)<=1){r=-1;break e}f=i[A+3>>0]|0;e=i[l>>0]|0;if(!(f<<24>>24))f=n[s+(e&255)>>0]|0;else f=d$(f,e)|0;switch(f|0){case 24:case 25:{A=l;break}case 18:{f=13;break A}default:{f=14;break A}}}if((f|0)==13){t[a>>2]=A+4;r=10;break}else if((f|0)==14){t[a>>2]=l;r=0;break}}else r=-1}while(0);return r|0}function E$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=r;s=h-A|0;e:do{if((s|0)>1){c=i[A+1>>0]|0;if(!(c<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{u=l&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){t[a>>2]=A;f=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;f=0;break e}case 6:{if((s|0)<3){f=-2;break e}t[a>>2]=A;f=0;break e}case 7:{if((s|0)<4){f=-2;break e}t[a>>2]=A;f=0;break e}case 16:{l=A+2|0;if((h-l|0)<=1){f=-1;break e}f=i[A+3>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[l>>0]|0)>>0]|0;else f=d$(f,i[l>>0]|0)|0;switch(f|0){case 27:{f=B$(e,A+4|0,r,a)|0;break e}case 20:{f=y$(A+4|0,r,a)|0;break e}default:{t[a>>2]=l;f=0;break e}}}case 15:{f=C$(e,A+2|0,r,a)|0;break e}case 17:{f=I$(e,A+2|0,r,a)|0;break e}default:{t[a>>2]=A;f=0;break e}}u=e+72|0;o=0;f=A+2|0;A:while(1){r:while(1){l=h-f|0;if((l|0)<=1){f=-1;break e}s=i[f+1>>0]|0;c=i[f>>0]|0;if(!(s<<24>>24))A=n[u+(c&255)>>0]|0;else A=d$(s,c)|0;switch(A|0){case 5:{b=34;break A}case 6:{b=35;break A}case 7:{b=37;break A}case 10:case 9:case 21:{b=55;break A}case 11:{b=69;break A}case 17:break A;case 23:break r;case 29:{A=c&255;if(!(1<<(A&31)&t[56940+((A>>>5|n[144044+(s&255)>>0]<<3)<<2)>>2])){b=32;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=75;break A}}f=f+2|0}if(o|0){b=40;break}c=f+2|0;A=h-c|0;if((A|0)<=1){f=-1;break e}o=i[f+3>>0]|0;l=i[c>>0]|0;if(!(o<<24>>24))s=n[u+(l&255)>>0]|0;else s=d$(o,l)|0;switch(s|0){case 5:{b=49;break A}case 6:{b=50;break A}case 7:{b=52;break A}case 29:{A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|n[143788+(o&255)>>0]<<3)<<2)>>2])){b=47;break A}break}case 24:case 22:break;default:{b=54;break A}}o=1;f=f+4|0}A:switch(b|0){case 32:{t[a>>2]=f;f=0;break e}case 34:{t[a>>2]=f;f=0;break e}case 35:{if((l|0)<3){f=-2;break e}t[a>>2]=f;f=0;break e}case 37:{if((l|0)<4){f=-2;break e}t[a>>2]=f;f=0;break e}case 40:{t[a>>2]=f;f=0;break e}case 47:{t[a>>2]=c;f=0;break e}case 49:{t[a>>2]=c;f=0;break e}case 50:{if((A|0)<3){f=-2;break e}t[a>>2]=c;f=0;break e}case 52:{if((A|0)<4){f=-2;break e}t[a>>2]=c;f=0;break e}case 54:{t[a>>2]=c;f=0;break e}case 55:{r:while(1){b=0;l=f+2|0;s=h-l|0;if((s|0)<=1){f=-1;break e}c=i[f+3>>0]|0;A=i[l>>0]|0;if(!(c<<24>>24))o=n[u+(A&255)>>0]|0;else o=d$(c,A)|0;switch(o|0){case 11:{f=l;b=69;break A}case 17:{f=l;break A}case 10:case 9:case 21:{f=l;b=55;break}case 29:{b=60;break r}case 24:case 22:break r;case 5:{b=63;break r}case 6:{b=64;break r}case 7:{b=66;break r}default:{b=68;break r}}}if((b|0)==60){h=A&255;if(!(1<<(h&31)&t[56940+((h>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){t[a>>2]=l;f=0;break e}}else if((b|0)==63){t[a>>2]=l;f=0;break e}else if((b|0)==64){if((s|0)<3){f=-2;break e}t[a>>2]=l;f=0;break e}else if((b|0)==66){if((s|0)<4){f=-2;break e}t[a>>2]=l;f=0;break e}else if((b|0)==68){t[a>>2]=l;f=0;break e}f=Z$(e,f+4|0,r,a)|0;break e}case 75:{t[a>>2]=f;f=0;break e}}if((b|0)==69){t[a>>2]=f+2;f=2;break}l=f+2|0;if((h-l|0)>1){if((i[f+3>>0]|0)==0?(i[l>>0]|0)==62:0){t[a>>2]=f+4;f=4;break}t[a>>2]=l;f=0}else f=-1}else f=-1}while(0);return f|0}function B$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=r;e:do{if((s-A|0)>1){if((i[A+1>>0]|0)==0?(i[A>>0]|0)==45:0){l=e+72|0;f=A+2|0;A:while(1){A=s-f|0;if((A|0)<=1){r=-1;break e}r=i[f+1>>0]|0;e=i[f>>0]|0;if(!(r<<24>>24))r=n[l+(e&255)>>0]|0;else r=d$(r,e)|0;switch(r|0){case 8:case 1:case 0:{c=16;break A}case 5:{f=f+2|0;continue A}case 6:{if((A|0)<3){r=-2;break e}f=f+3|0;continue A}case 7:{if((A|0)<4){r=-2;break e}f=f+4|0;continue A}case 27:{r=f+2|0;if((s-r|0)<=1){r=-1;break e}if(i[f+3>>0]|0){f=r;continue A}if((i[r>>0]|0)==45)break A;else{f=r;continue A}}default:{f=f+2|0;continue A}}}if((c|0)==16){t[a>>2]=f;r=0;break}r=f+4|0;if((s-r|0)<=1){r=-1;break}if((i[f+5>>0]|0)==0?(i[r>>0]|0)==62:0){t[a>>2]=f+6;r=13;break}t[a>>2]=r;r=0;break}t[a>>2]=A;r=0}else r=-1}while(0);return r|0}function y$(e,A,r){e=e|0;A=A|0;r=r|0;if((A-e|0)>11){A=0;while(1){if((A|0)>=6){A=8;break}if(i[e+1>>0]|0){A=0;break}if((i[e>>0]|0)!=(i[144300+A>>0]|0)){A=0;break}A=A+1|0;e=e+2|0}t[r>>2]=e}else A=-1;return A|0}function C$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;w=k;b=r;s=b-A|0;e:do{if((s|0)>1){r=i[A+1>>0]|0;if(!(r<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(r,l)|0}switch(f|0){case 29:{o=l&255;if(!(1<<(o&31)&t[56940+((o>>>5|n[143788+(r&255)>>0]<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;c=A;A:while(1){r=c+2|0;f=b-r|0;if((f|0)<=1){r=-1;break e}l=i[c+3>>0]|0;s=i[r>>0]|0;if(!(l<<24>>24))e=n[o+(s&255)>>0]|0;else e=d$(l,s)|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{c=r;continue A}case 5:{u=22;break A}case 6:{u=23;break A}case 7:{u=25;break A}case 10:case 9:case 21:{u=27;break A}case 15:{u=46;break A}case 29:break;default:break A}c=s&255;if(!(1<<(c&31)&t[56940+((c>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){u=21;break}else c=r}if((u|0)==21){t[a>>2]=r;r=0;break}else if((u|0)==22){t[a>>2]=r;r=0;break}else if((u|0)==23){if((f|0)<3){r=-2;break}t[a>>2]=r;r=0;break}else if((u|0)==25){if((f|0)<4){r=-2;break}t[a>>2]=r;r=0;break}else if((u|0)==27){if(!(G$(A,r,w)|0)){t[a>>2]=r;r=0;break}s=c+4|0;A:while(1){l=b-s|0;if((l|0)<=1){r=-1;break e}r=i[s+1>>0]|0;f=i[s>>0]|0;if(!(r<<24>>24))r=n[o+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 8:case 1:case 0:{u=40;break A}case 5:{s=s+2|0;continue A}case 6:{if((l|0)<3){r=-2;break e}s=s+3|0;continue A}case 7:{if((l|0)<4){r=-2;break e}s=s+4|0;continue A}case 15:{r=s+2|0;if((b-r|0)<=1){r=-1;break e}if(i[s+3>>0]|0){s=r;continue A}if((i[r>>0]|0)==62){u=44;break A}else{s=r;continue A}}default:{s=s+2|0;continue A}}}if((u|0)==40){t[a>>2]=s;r=0;break}else if((u|0)==44){t[a>>2]=s+4;r=t[w>>2]|0;break}}else if((u|0)==46){if(!(G$(A,r,w)|0)){t[a>>2]=r;r=0;break}r=c+4|0;if((b-r|0)<=1){r=-1;break}if((i[c+5>>0]|0)==0?(i[r>>0]|0)==62:0){t[a>>2]=c+6;r=t[w>>2]|0;break}}t[a>>2]=r;r=0}else r=-1}while(0);h=k;return r|0}function I$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;s=r-A|0;e:do{if((s|0)>1){c=i[A+1>>0]|0;if(!(c<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{o=l&255;if(!(1<<(o&31)&t[56940+((o>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;e=A;A:while(1){s=e+2|0;A=r-s|0;if((A|0)<=1){r=-1;break e}f=i[e+3>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))c=n[o+(l&255)>>0]|0;else c=d$(f,l)|0;switch(c|0){case 23:case 27:case 26:case 25:case 24:case 22:{e=s;continue A}case 5:{f=22;break A}case 6:{f=23;break A}case 7:{f=25;break A}case 10:case 9:case 21:{f=27;break A}case 11:{f=34;break A}case 29:break;default:{f=35;break A}}A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(f&255)>>0]|0)<<3)<<2)>>2])){f=21;break}else e=s}if((f|0)==21){t[a>>2]=s;r=0;break}else if((f|0)==22){t[a>>2]=s;r=0;break}else if((f|0)==23){if((A|0)<3){r=-2;break}t[a>>2]=s;r=0;break}else if((f|0)==25){if((A|0)<4){r=-2;break}t[a>>2]=s;r=0;break}else if((f|0)==27){A:while(1){c=s+2|0;if((r-c|0)<=1){r=-1;break e}f=i[s+3>>0]|0;l=i[c>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 10:case 9:case 21:{s=c;f=27;break}case 11:{f=32;break A}default:{f=33;break A}}}if((f|0)==32){t[a>>2]=s+4;r=5;break}else if((f|0)==33){t[a>>2]=c;r=0;break}}else if((f|0)==34){t[a>>2]=e+4;r=5;break}else if((f|0)==35){t[a>>2]=s;r=0;break}}else r=-1}while(0);return r|0}function Z$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+16|0;k=v;t[k>>2]=A;d=r;b=e+72|0;f=0;e:while(1){A:while(1){o=d-A|0;if((o|0)<=1){A=-1;break e}l=i[A+1>>0]|0;s=i[A>>0]|0;if(!(l<<24>>24))c=n[b+(s&255)>>0]|0;else c=d$(l,s)|0;switch(c|0){case 5:{w=11;break e}case 6:{w=12;break e}case 7:{w=14;break e}case 23:{w=16;break A}case 10:case 9:case 21:{w=31;break A}case 14:{w=37;break A}case 29:{u=s&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){w=9;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{w=89;break e}}u=A+2|0;t[k>>2]=u;A=u}A:do{if((w|0)==16){w=0;if(f|0){w=17;break e}f=A+2|0;t[k>>2]=f;l=f;s=d-l|0;if((s|0)<=1){A=-1;break e}c=i[A+3>>0]|0;o=i[f>>0]|0;if(!(c<<24>>24))u=n[b+(o&255)>>0]|0;else u=d$(c,o)|0;switch(u|0){case 5:{w=25;break e}case 6:{w=26;break e}case 7:{w=28;break e}case 24:case 22:{f=1;break A}case 29:break;default:{w=30;break e}}u=o&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){w=24;break e}else f=1}else if((w|0)==31)while(1){w=0;l=A+2|0;t[k>>2]=l;s=l;if((d-s|0)<=1){A=-1;break e}A=i[A+3>>0]|0;f=i[l>>0]|0;if(!(A<<24>>24))A=n[b+(f&255)>>0]|0;else A=d$(A,f)|0;switch(A|0){case 14:{A=l;w=37;break A}case 9:case 10:case 21:{A=l;w=31;break}default:{w=36;break e}}}}while(0);A:do{if((w|0)==37){while(1){w=0;s=A+2|0;t[k>>2]=s;c=s;if((d-c|0)<=1){A=-1;break e}f=i[A+3>>0]|0;l=i[s>>0]|0;if(!(f<<24>>24))o=n[b+(l&255)>>0]|0;else o=d$(f,l)|0;if((o|1|0)==13)break;switch(o|0){case 9:case 10:case 21:{A=s;w=37;break}default:{w=43;break e}}}A=A+4|0;t[k>>2]=A;r:while(1){s=d-A|0;if((s|0)<=1){A=-1;break e}f=i[A+1>>0]|0;l=i[A>>0]|0;if(!(f<<24>>24))f=n[b+(l&255)>>0]|0;else f=d$(f,l)|0;if((f|0)==(o|0))break;switch(f|0){case 8:case 1:case 0:{w=56;break e}case 2:{w=61;break e}case 5:{u=A+2|0;t[k>>2]=u;A=u;continue r}case 6:{if((s|0)<3){A=-2;break e}u=A+3|0;t[k>>2]=u;A=u;continue r}case 7:{if((s|0)<4){A=-2;break e}u=A+4|0;t[k>>2]=u;A=u;continue r}case 3:{A=v$(e,A+2|0,r,k)|0;if((A|0)<1){w=59;break e}A=t[k>>2]|0;continue r}default:{u=A+2|0;t[k>>2]=u;A=u;continue r}}}l=A+2|0;t[k>>2]=l;c=l;if((d-c|0)<=1){A=-1;break e}f=i[A+3>>0]|0;s=i[l>>0]|0;if(!(f<<24>>24))f=n[b+(s&255)>>0]|0;else f=d$(f,s)|0;switch(f|0){case 11:{w=81;break e}case 17:{w=82;break e}case 10:case 9:case 21:{A=l;break}default:{w=68;break e}}r:while(1){l=A+2|0;t[k>>2]=l;f=l;s=d-f|0;if((s|0)<=1){A=-1;break e}c=i[A+3>>0]|0;o=i[l>>0]|0;if(!(c<<24>>24))u=n[b+(o&255)>>0]|0;else u=d$(c,o)|0;switch(u|0){case 5:{w=76;break e}case 6:{w=77;break e}case 7:{w=79;break e}case 11:{w=81;break e}case 17:{w=82;break e}case 24:case 22:{f=0;break A}case 10:case 9:case 21:{A=l;break}case 29:break r;default:{w=87;break e}}}u=o&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){w=75;break e}else f=0}}while(0);A=A+4|0;t[k>>2]=A}switch(w|0){case 9:{t[a>>2]=A;A=0;break}case 11:{t[a>>2]=A;A=0;break}case 12:{if((o|0)<3)A=-2;else{t[a>>2]=A;A=0}break}case 14:{if((o|0)<4)A=-2;else{t[a>>2]=A;A=0}break}case 17:{t[a>>2]=A;A=0;break}case 24:{t[a>>2]=f;A=0;break}case 25:{t[a>>2]=f;A=0;break}case 26:{if((s|0)<3)A=-2;else{t[a>>2]=f;A=0}break}case 28:{if((s|0)<4)A=-2;else{t[a>>2]=f;A=0}break}case 30:{t[a>>2]=l;A=0;break}case 36:{t[a>>2]=s;A=0;break}case 43:{t[a>>2]=c;A=0;break}case 56:{t[a>>2]=A;A=0;break}case 59:{if(!A){t[a>>2]=t[k>>2];A=0}break}case 61:{t[a>>2]=A;A=0;break}case 68:{t[a>>2]=c;A=0;break}case 75:{t[a>>2]=l;A=0;break}case 76:{t[a>>2]=l;A=0;break}case 77:{if((s|0)<3)A=-2;else{t[a>>2]=l;A=0}break}case 79:{if((s|0)<4)A=-2;else{t[a>>2]=l;A=0}break}case 81:{t[a>>2]=A+4;A=1;break}case 82:{f=l+2|0;t[k>>2]=f;A=f;if((d-A|0)>1){if((i[l+3>>0]|0)==0?(i[f>>0]|0)==62:0){t[a>>2]=l+4;A=3;break}t[a>>2]=A;A=0}else A=-1;break}case 87:{t[a>>2]=f;A=0;break}case 89:{t[a>>2]=A;A=0;break}}h=v;return A|0}function G$(e,A,r){e=e|0;A=A|0;r=r|0;t[r>>2]=11;e:do{if((A-e|0)==6?(i[e+1>>0]|0)==0:0){switch(i[e>>0]|0){case 120:{A=0;break}case 88:{A=1;break}default:{A=1;break e}}if(!(i[e+3>>0]|0)){switch(i[e+2>>0]|0){case 109:break;case 77:{A=1;break}default:{A=1;break e}}if(!(i[e+5>>0]|0)){switch(i[e+4>>0]|0){case 108:break;case 76:{A=0;break e}default:{A=1;break e}}if(!A){t[r>>2]=12;A=1}else A=0}else A=1}else A=1}else A=1}while(0);return A|0}function L$(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0;c=A+72|0;e:while(1){A:while(1){s=a-r|0;if((s|0)<=1){r=-1;break e}A=i[r+1>>0]|0;l=i[r>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 8:case 1:case 0:{o=10;break e}case 6:{o=9;break A}case 7:{o=19;break A}case 5:{r=r+2|0;continue A}case 13:case 12:{l=r+2|0;if((A|0)==(e|0)){o=12;break e}else{r=l;continue A}}default:{r=r+2|0;continue A}}}if((o|0)==9){o=0;if((s|0)<3){r=-2;break}else{r=r+3|0;continue}}else if((o|0)==19){o=0;if((s|0)<4){r=-2;break}else{r=r+4|0;continue}}}e:do{if((o|0)==10){t[f>>2]=r;r=0}else if((o|0)==12)if((a-l|0)>1){t[f>>2]=l;a=i[r+3>>0]|0;r=i[l>>0]|0;if(!(a<<24>>24))r=n[c+(r&255)>>0]|0;else r=d$(a,r)|0;switch(r|0){case 20:case 30:case 11:case 10:case 9:case 21:{r=27;break e}default:{}}r=0}else r=-27}while(0);return r|0}function Q$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r;e:do{if((c-A|0)>1){f=i[A+1>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[A>>0]|0)>>0]|0;else f=d$(f,i[A>>0]|0)|0;switch(f|0){case 27:{f=B$(e,A+2|0,r,a)|0;break e}case 20:{t[a>>2]=A+2;f=33;break e}case 24:case 22:{s=e+72|0;A:while(1){l=A+2|0;r=c-l|0;if((r|0)<=1){f=-1;break e}f=i[A+3>>0]|0;e=i[l>>0]|0;if(!(f<<24>>24))f=n[s+(e&255)>>0]|0;else f=d$(f,e)|0;switch(f|0){case 24:case 22:{A=l;break}case 30:{o=15;break A}case 10:case 9:case 21:break A;default:{o=22;break A}}}if((o|0)==22){t[a>>2]=l;f=0;break e}A:do{if((o|0)==15){if((r|0)<=3){f=-1;break e}e=i[A+5>>0]|0;f=i[A+4>>0]|0;if(!(e<<24>>24))f=n[s+(f&255)>>0]|0;else f=d$(e,f)|0;switch(f|0){case 30:case 10:case 9:case 21:break;default:break A}t[a>>2]=l;f=0;break e}}while(0);t[a>>2]=l;f=16;break e}default:{t[a>>2]=A;f=0;break e}}}else f=-1}while(0);return f|0}function D$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=r-A|0;e:do{if((s|0)>1){c=i[A+1>>0]|0;if(!(c<<24>>24)){l=i[A>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{s=l&255;if(!(1<<(s&31)&t[56940+((s>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}e=e+72|0;c=A;A:while(1){f=c;c=c+2|0;A=r-c|0;if((A|0)<=1){r=-20;break e}f=i[f+3>>0]|0;l=i[c>>0]|0;if(!(f<<24>>24))s=n[e+(l&255)>>0]|0;else s=d$(f,l)|0;switch(s|0){case 27:case 26:case 25:case 24:case 22:continue A;case 5:{f=22;break A}case 6:{f=23;break A}case 7:{f=25;break A}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{f=27;break A}case 29:break;default:{f=28;break A}}A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(f&255)>>0]|0)<<3)<<2)>>2])){f=21;break}}if((f|0)==21){t[a>>2]=c;r=0;break}else if((f|0)==22){t[a>>2]=c;r=0;break}else if((f|0)==23){if((A|0)<3){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==25){if((A|0)<4){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==27){t[a>>2]=c;r=20;break}else if((f|0)==28){t[a>>2]=c;r=0;break}}else r=-1}while(0);return r|0}function z$(e,A,r){e=e|0;A=A|0;r=r|0;r=W$(r)|0;if((r|0)==-1)r=0;else{i[e+69>>0]=r;t[e>>2]=67;t[e+4>>2]=68;t[e+48>>2]=31;t[e+72>>2]=A;t[A>>2]=e;r=1}return r|0}function W$(e){e=e|0;var A=0;e:do{if(!e)A=6;else{A=0;while(1){if((A|0)>=6){A=-1;break e}if(w0(e,t[60068+(A<<2)>>2]|0)|0)break e;A=A+1|0}}}while(0);return A|0}function Y$(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return V$(58948,e,0,A,r,i)|0}function F$(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return V$(58948,e,1,A,r,i)|0}function M$(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;IK(58584,A,r,i);return}function V$(e,A,r,a,n,f){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0;e:do{if(a>>>0>>0){o=t[A+72>>2]|0;l=a+1|0;A:do{if((l|0)==(n|0)){l=i[A+69>>0]|0;if(((l<<24>>24)+-3|0)>>>0<3){l=-1;break e}switch(i[a>>0]|0){case 60:case 0:{l=-1;break e}case-17:case-1:case-2:break;default:break A}if(!((r|0)==1&l<<24>>24==0)){l=-1;break e}}else{c=i[a>>0]|0;l=i[l>>0]|0;s=((c&255)<<8|l&255)&65535;r:do{if(s<<16>>16<-2){if(s<<16>>16>=-257){switch(s<<16>>16){case-257:break;default:break r}if((r|0)==1&(i[A+69>>0]|0)==0)break A;t[f>>2]=a+2;t[o>>2]=t[e+16>>2];l=14;break e}switch(s<<16>>16){case-4165:break;default:break r}if((r|0)==1)switch(i[A+69>>0]|0){case 0:case 3:case 4:case 5:break A;default:{}}l=a+2|0;if((l|0)==(n|0)){l=-1;break e}if((i[l>>0]|0)!=-65)break A;t[f>>2]=a+3;t[o>>2]=t[e+8>>2];l=14;break e}else{if(s<<16>>16<15360){switch(s<<16>>16){case-2:break;default:break r}if((r|0)==1&(i[A+69>>0]|0)==0)break A;t[f>>2]=a+2;t[o>>2]=t[e+20>>2];l=14;break e}switch(s<<16>>16){case 15360:break;default:break r}l=i[A+69>>0]|0;if(l<<24>>24==4){if((r|0)==1)break A}else if((r|0)==1&l<<24>>24==3)break A;l=t[e+20>>2]|0;t[o>>2]=l;l=Q5[t[l+(r<<2)>>2]&127](l,a,n,f)|0;break e}}while(0);if(c<<24>>24){if((r|0)==1|l<<24>>24!=0)break;l=t[e+20>>2]|0;t[o>>2]=l;l=Q5[t[l+(r<<2)>>2]&127](l,a,n,f)|0;break e}if((r|0)==1?(i[A+69>>0]|0)==5:0)break;l=t[e+16>>2]|0;t[o>>2]=l;l=Q5[t[l+(r<<2)>>2]&127](l,a,n,f)|0;break e}}while(0);l=t[e+(i[A+69>>0]<<2)>>2]|0;t[o>>2]=l;l=Q5[t[l+(r<<2)>>2]&127](l,a,n,f)|0}else l=-4}while(0);return l|0}function N$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0;e:do{if(A>>>0>>0){l=A;u=r-l|0;c=(u&1|0)==0;u=u&-2;o=(u|0)==0;u=c|o?r:A+u|0;if(c|o^1){r=i[A>>0]|0;if(!(r<<24>>24)){f=i[A+1>>0]|0;s=f;f=n[e+72+(f&255)>>0]|0}else{f=i[A+1>>0]|0;s=f;f=d$(r,f)|0}do{switch(f|0){case 12:{r=o0(12,e,A+2|0,u,a)|0;break e}case 13:{r=o0(13,e,A+2|0,u,a)|0;break e}case 2:{f=A+2|0;if((u-f|0)<=1){r=-1;break e}r=i[f>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+3>>0]|0)>>0]|0;else r=d$(r,i[A+3>>0]|0)|0;switch(r|0){case 16:{r=u0(e,A+4|0,u,a)|0;break e}case 15:{r=f0(e,A+4|0,u,a)|0;break e}case 7:case 6:case 5:case 29:case 24:case 22:{t[a>>2]=A;r=29;break e}default:{t[a>>2]=f;r=0;break e}}}case 9:{if((A+2|0)==(u|0)){t[a>>2]=u;r=-15;break e}else l=7;break}case 10:case 21:{l=7;break}case 30:{r=A0(e,A+2|0,u,a)|0;break e}case 35:{t[a>>2]=A+2;r=38;break e}case 20:{t[a>>2]=A+2;r=25;break e}case 4:{f=A+2|0;r=u-f|0;if((r|0)<=1){r=-26;break e}if((i[f>>0]|0)==0?(i[A+3>>0]|0)==93:0){if((r|0)<=3){r=-1;break e}if((i[A+4>>0]|0)==0?(i[A+5>>0]|0)==62:0){t[a>>2]=A+6;r=34;break e}}t[a>>2]=f;r=26;break e}case 31:{t[a>>2]=A+2;r=23;break e}case 32:{f=A+2|0;if((u-f|0)<=1){r=-24;break e}r=i[f>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+3>>0]|0)>>0]|0;else r=d$(r,i[A+3>>0]|0)|0;switch(r|0){case 33:{t[a>>2]=A+4;r=36;break e}case 15:{t[a>>2]=A+4;r=35;break e}case 34:{t[a>>2]=A+4;r=37;break e}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{t[a>>2]=f;r=24;break e}default:{t[a>>2]=f;r=0;break e}}}case 36:{t[a>>2]=A+2;r=21;break e}case 11:{t[a>>2]=A+2;r=17;break e}case 19:{r=b0(e,A+2|0,u,a)|0;break e}case 5:{if((u-l|0)<2){r=-2;break e}t[a>>2]=A;r=0;break e}case 6:{if((u-l|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((u-l|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}case 24:case 22:{r=18;l=61;break}case 23:case 27:case 26:case 25:{r=19;l=61;break}case 29:{l=r&255;f=s&255;r=f>>>5;f=1<<(f&31);if(!(f&t[56940+((r|n[143788+l>>0]<<3)<<2)>>2]))if(!(t[56940+((n[144044+l>>0]<<3|r)<<2)>>2]&f))l=64;else{r=19;l=61}else{r=18;l=61}break}default:l=64}}while(0);if((l|0)==7){c=u;e=e+72|0;s=A;A:while(1){l=s;s=s+2|0;if((c-s|0)<=1){l=28;break}r=i[s>>0]|0;f=i[l+3>>0]|0;if(!(r<<24>>24))r=n[e+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 10:case 21:continue A;case 9:break;default:{l=27;break A}}if((l+4|0)==(u|0)){l=27;break}}if((l|0)==27){t[a>>2]=s;r=15;break}else if((l|0)==28){t[a>>2]=s;r=15;break}}else if((l|0)==61){o=e+72|0;f=A+2|0;A:while(1){A=r&255;r:while(1){c=u-f|0;if((c|0)<=1){l=104;break A}l=i[f>>0]|0;s=i[f+1>>0]|0;if(!(l<<24>>24))e=n[o+(s&255)>>0]|0;else e=d$(l,s)|0;switch(e|0){case 5:{l=73;break A}case 6:{l=74;break A}case 7:{l=76;break A}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{l=78;break A}case 34:{l=94;break A}case 33:{l=97;break A}case 15:{l=100;break A}case 29:{c=s&255;if(!(1<<(c&31)&t[56940+((c>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){l=71;break A}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c=f+2|0;switch(A&63){case 41:{r=19;f=c;continue A}case 18:break r;default:{f=c;continue r}}}default:{l=103;break A}}f=f+2|0}e=u-c|0;if((e|0)<=1){r=-1;break e}r=i[c>>0]|0;l=i[f+3>>0]|0;if(!(r<<24>>24))s=n[o+(l&255)>>0]|0;else s=d$(r,l)|0;switch(s|0){case 5:{l=89;break A}case 6:{l=90;break A}case 7:{l=92;break A}case 29:{A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|n[144044+(r&255)>>0]<<3)<<2)>>2])){l=87;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{r=19;f=c;continue A}}r=41;f=f+4|0}switch(l|0){case 71:{t[a>>2]=f;r=0;break e}case 73:{t[a>>2]=f;r=0;break e}case 74:{if((c|0)<3){r=-2;break e}t[a>>2]=f;r=0;break e}case 76:{if((c|0)<4){r=-2;break e}t[a>>2]=f;r=0;break e}case 78:{t[a>>2]=f;break e}case 87:{t[a>>2]=c;r=0;break e}case 89:{t[a>>2]=c;r=0;break e}case 90:{if((e|0)<3){r=-2;break e}t[a>>2]=c;r=0;break e}case 92:{if((e|0)<4){r=-2;break e}t[a>>2]=c;r=0;break e}case 94:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=32;break e}case 97:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=31;break e}case 100:if((r|0)==19){t[a>>2]=f;r=0;break e}else{t[a>>2]=f+2;r=30;break e}case 103:{t[a>>2]=f;r=0;break e}case 104:{r=0-r|0;break e}}}else if((l|0)==64){t[a>>2]=A;r=0;break}}else r=-1}else r=-4}while(0);return r|0}function R$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;e:do{if(A>>>0>>0){f=A;l=r-f|0;c=(l&1|0)==0;l=l&-2;s=(l|0)==0;l=c|s?r:A+l|0;if(c|s^1){r=i[A>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+1>>0]|0)>>0]|0;else r=d$(r,i[A+1>>0]|0)|0;do{switch(r|0){case 2:{r=a0(e,A+2|0,l,a)|0;break e}case 3:{r=e0(e,A+2|0,l,a)|0;break e}case 9:{f=A+2|0;if((l-f|0)<=1){r=-3;break e}r=i[f>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+3>>0]|0)>>0]|0;else r=d$(r,i[A+3>>0]|0)|0;t[a>>2]=(r|0)==10?A+4|0:f;r=7;break e}case 10:{t[a>>2]=A+2;r=7;break e}case 4:{f=A+2|0;if((l-f|0)<=1){r=-5;break e}if((i[f>>0]|0)==0?(i[A+3>>0]|0)==93:0){r=A+4|0;if((l-r|0)<=1){r=-5;break e}if((i[r>>0]|0)==0?(i[A+5>>0]|0)==62:0){t[a>>2]=r;r=0;break e}else r=l}else r=l;break}case 5:{r=l;if((r-f|0)<2){r=-2;break e}f=A+2|0;break}case 6:{r=l;if((r-f|0)<3){r=-2;break e}f=A+3|0;break}case 7:{r=l;if((r-f|0)<4){r=-2;break e}f=A+4|0;break}case 8:case 1:case 0:{t[a>>2]=A;r=0;break e}default:{f=A+2|0;r=l}}}while(0);s=e+72|0;e=f;A:while(1){A=r-e|0;if((A|0)<=1){f=52;break}f=i[e>>0]|0;l=i[e+1>>0]|0;if(!(f<<24>>24))f=n[s+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=50;break A}case 5:{e=e+2|0;continue A}case 6:{if((A|0)<3){f=38;break A}e=e+3|0;continue A}case 7:{if((A|0)<4){f=41;break A}e=e+4|0;continue A}case 4:{if((A|0)<=3){f=50;break A}f=e+2|0;if(i[f>>0]|0){e=f;continue A}if((i[e+3>>0]|0)!=93){e=f;continue A}if((A|0)<=5){f=50;break A}l=e+4|0;if(i[l>>0]|0){e=f;continue A}if((i[e+5>>0]|0)==62){f=49;break A}else{e=f;continue A}}default:{e=e+2|0;continue A}}}if((f|0)==38){t[a>>2]=e;r=6;break}else if((f|0)==41){t[a>>2]=e;r=6;break}else if((f|0)==49){t[a>>2]=l;r=0;break}else if((f|0)==50){t[a>>2]=e;r=6;break}else if((f|0)==52){t[a>>2]=e;r=6;break}}else r=-1}else r=-4}while(0);return r|0}function x$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;e:do{if(A>>>0>>0){f=A;l=r-f|0;c=(l&1|0)==0;l=l&-2;s=(l|0)==0;l=c|s?r:A+l|0;if(c|s^1){r=i[A>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+1>>0]|0)>>0]|0;else r=d$(r,i[A+1>>0]|0)|0;switch(r|0){case 4:{f=A+2|0;if((l-f|0)<=1){r=-1;break e}if((i[f>>0]|0)==0?(i[A+3>>0]|0)==93:0){r=A+4|0;if((l-r|0)<=1){r=-1;break e}if((i[r>>0]|0)==0?(i[A+5>>0]|0)==62:0){t[a>>2]=A+6;r=40;break e}}break}case 9:{f=A+2|0;if((l-f|0)<=1){r=-1;break e}r=i[f>>0]|0;if(!(r<<24>>24))r=n[e+72+(n[A+3>>0]|0)>>0]|0;else r=d$(r,i[A+3>>0]|0)|0;t[a>>2]=(r|0)==10?A+4|0:f;r=7;break e}case 10:{t[a>>2]=A+2;r=7;break e}case 5:{r=l;if((r-f|0)<2){r=-2;break e}f=A+2|0;l=r;break}case 6:{r=l;if((r-f|0)<3){r=-2;break e}f=A+3|0;l=r;break}case 7:{r=l;if((r-f|0)<4){r=-2;break e}f=A+4|0;l=r;break}case 8:case 1:case 0:{t[a>>2]=A;r=0;break e}default:f=A+2|0}s=e+72|0;e=f;A:while(1){A=l-e|0;if((A|0)<=1){f=40;break}r=i[e>>0]|0;f=i[e+1>>0]|0;if(!(r<<24>>24))r=n[s+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 10:case 9:case 8:case 1:case 0:case 4:{f=38;break A}case 6:{if((A|0)<3){f=35;break A}else r=3;break}case 7:{if((A|0)<4){f=37;break A}else r=4;break}default:r=2}e=e+r|0}if((f|0)==35){t[a>>2]=e;r=6;break}else if((f|0)==37){t[a>>2]=e;r=6;break}else if((f|0)==38){t[a>>2]=e;r=6;break}else if((f|0)==40){t[a>>2]=e;r=6;break}}else r=-1}else r=-4}while(0);return r|0}function J$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r-A|0;c=(c&1|0)==0?r:A+(c&-2)|0;s=e+72|0;l=0;r=A;e:while(1){f=c-r|0;if((f|0)<=1){r=-1;break}e=i[r>>0]|0;A=i[r+1>>0]|0;if(!(e<<24>>24))e=n[s+(A&255)>>0]|0;else e=d$(e,A)|0;switch(e|0){case 8:case 1:case 0:{o=12;break e}case 5:{f=l;r=r+2|0;l=f;continue e}case 6:{if((f|0)<3){r=-2;break e}f=l;r=r+3|0;l=f;continue e}case 7:{if((f|0)<4){r=-2;break e}f=l;r=r+4|0;l=f;continue e}case 2:{e=r+2|0;if((c-e|0)<=1){r=-1;break e}if(i[e>>0]|0){f=l;r=e;l=f;continue e}if((i[r+3>>0]|0)!=33){f=l;r=e;l=f;continue e}e=r+4|0;if((c-e|0)<=1){r=-1;break e}if(i[e>>0]|0){f=l;r=e;l=f;continue e}f=(i[r+5>>0]|0)==91;l=l+(f&1)|0;r=f?r+6|0:e;continue e}case 4:{e=r+2|0;if((c-e|0)<=1){r=-1;break e}if(i[e>>0]|0){f=l;r=e;l=f;continue e}if((i[r+3>>0]|0)!=93){f=l;r=e;l=f;continue e}e=r+4|0;if((c-e|0)<=1){r=-1;break e}if(i[e>>0]|0){f=l;r=e;l=f;continue e}if((i[r+5>>0]|0)!=62){f=l;r=e;l=f;continue e}r=r+6|0;if(!l){o=26;break e}l=l+-1|0;continue e}default:{f=l;r=r+2|0;l=f;continue e}}}if((o|0)==12){t[a>>2]=r;r=0}else if((o|0)==26){t[a>>2]=r;r=42}return r|0}function H$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>1){o=e+72|0;s=A;e:while(1){if((c-s|0)<=1){l=30;break}f=i[s>>0]|0;l=i[s+1>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 3:{l=11;break e}case 2:{l=14;break e}case 10:{l=15;break e}case 9:{l=18;break e}case 21:{l=25;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=2}s=s+f|0}if((l|0)==11)if((s|0)==(A|0)){f=e0(e,A+2|0,r,a)|0;break}else{t[a>>2]=s;f=6;break}else if((l|0)==14){t[a>>2]=s;f=0;break}else if((l|0)==15)if((s|0)==(A|0)){t[a>>2]=A+2;f=7;break}else{t[a>>2]=s;f=6;break}else if((l|0)==18){if((s|0)!=(A|0)){t[a>>2]=s;f=6;break}s=A+2|0;if((c-s|0)<=1){f=-3;break}f=i[s>>0]|0;l=i[A+3>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;t[a>>2]=(f|0)==10?A+4|0:s;f=7;break}else if((l|0)==25)if((s|0)==(A|0)){t[a>>2]=A+2;f=39;break}else{t[a>>2]=s;f=6;break}else if((l|0)==30){t[a>>2]=s;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function P$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;do{if(A>>>0>>0){c=r;if((c-A|0)>1){o=e+72|0;s=A;e:while(1){if((c-s|0)<=1){l=29;break}f=i[s>>0]|0;l=i[s+1>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 3:{l=11;break e}case 30:{l=14;break e}case 10:{l=17;break e}case 9:{l=20;break e}case 5:{f=2;break}case 6:{f=3;break}case 7:{f=4;break}default:f=2}s=s+f|0}if((l|0)==11)if((s|0)==(A|0)){f=e0(e,A+2|0,r,a)|0;break}else{t[a>>2]=s;f=6;break}else if((l|0)==14)if((s|0)==(A|0)){f=A0(e,A+2|0,r,a)|0;f=(f|0)==22?0:f;break}else{t[a>>2]=s;f=6;break}else if((l|0)==17)if((s|0)==(A|0)){t[a>>2]=A+2;f=7;break}else{t[a>>2]=s;f=6;break}else if((l|0)==20){if((s|0)!=(A|0)){t[a>>2]=s;f=6;break}s=A+2|0;if((c-s|0)<=1){f=-3;break}f=i[s>>0]|0;l=i[A+3>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;t[a>>2]=(f|0)==10?A+4|0:s;f=7;break}else if((l|0)==29){t[a>>2]=s;f=6;break}}else f=-1}else f=-4}while(0);return f|0}function X$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var t=0,n=0;t=r;e=A;while(1){A=i[a>>0]|0;if(!(A<<24>>24)){n=7;break}if((t-e|0)<2){e=0;break}if(i[e>>0]|0){e=0;break}if((i[e+1>>0]|0)!=A<<24>>24){e=0;break}a=a+1|0;e=e+2|0}if((n|0)==7)e=(e|0)==(r|0)&1;return e|0}function S$(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;t=e+72|0;a=A;e:while(1){e=i[a>>0]|0;r=i[a+1>>0]|0;if(!(e<<24>>24))e=n[t+(r&255)>>0]|0;else e=d$(e,r)|0;switch(e|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=2;break}default:break e}a=a+e|0}return a-A|0}function j$(e,A){e=e|0;A=A|0;var r=0,a=0;a=e+72|0;e:while(1){e=i[A>>0]|0;r=i[A+1>>0]|0;if(!(e<<24>>24))e=n[a+(r&255)>>0]|0;else e=d$(e,r)|0;switch(e|0){case 21:case 9:case 10:break;default:break e}A=A+2|0}return A|0}function U$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=e+72|0;u=0;b=0;e=1;e:while(1){o=A+2|0;f=i[o>>0]|0;s=f<<24>>24==0;l=A+3|0;c=i[l>>0]|0;if(s)f=n[h+(c&255)>>0]|0;else f=d$(f,c)|0;do{switch(f|0){case 5:{if(e|0){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}if((b|0)>=(r|0)){s=b;c=u;e=1;A=o;b=s;u=c;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;s=b;c=u;e=1;A=o;b=s;u=c;continue e}case 6:{if(e|0){s=e;c=b;o=u;A=l;e=s;b=c;u=o;continue e}if((b|0)>=(r|0)){c=b;o=u;e=1;A=l;b=c;u=o;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;c=b;o=u;e=1;A=l;b=c;u=o;continue e}case 7:{if(!e)if((b|0)<(r|0)){t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;e=1}else e=1;c=b;o=u;A=A+4|0;b=c;u=o;continue e}case 24:case 22:case 29:{if(e|0){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}if((b|0)>=(r|0)){s=b;c=u;e=1;A=o;b=s;u=c;continue e}t[a+(b<<4)>>2]=o;i[a+(b<<4)+12>>0]=1;s=b;c=u;e=1;A=o;b=s;u=c;continue e}case 12:{if((e|0)!=2){if((b|0)>=(r|0)){c=b;u=12;e=2;A=o;b=c;continue e}t[a+(b<<4)+4>>2]=A+4;c=b;u=12;e=2;A=o;b=c;continue e}if((u|0)!=12){s=b;c=u;e=2;A=o;b=s;u=c;continue e}if((b|0)<(r|0))t[a+(b<<4)+8>>2]=o;u=12;b=b+1|0;e=0;A=o;continue e}case 13:{if((e|0)!=2){if((b|0)>=(r|0)){c=b;u=13;e=2;A=o;b=c;continue e}t[a+(b<<4)+4>>2]=A+4;c=b;u=13;e=2;A=o;b=c;continue e}if((u|0)!=13){s=b;c=u;e=2;A=o;b=s;u=c;continue e}if((b|0)<(r|0))t[a+(b<<4)+8>>2]=o;u=13;b=b+1|0;e=0;A=o;continue e}case 3:{if((b|0)>=(r|0)){l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}i[a+(b<<4)+12>>0]=0;l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}case 21:{switch(e|0){case 1:{s=b;c=u;e=0;A=o;b=s;u=c;continue e}case 2:break;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}if((b|0)>=(r|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}l=a+(b<<4)+12|0;if(!(i[l>>0]|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}do{if(s&(o|0)!=(t[a+(b<<4)+4>>2]|0)&c<<24>>24==32){f=i[A+4>>0]|0;e=i[A+5>>0]|0;if(!(f<<24>>24)){if(e<<24>>24==32)break;e=n[h+(e&255)>>0]|0}else e=d$(f,e)|0;if((e|0)!=(u|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}}}while(0);i[l>>0]=0;s=b;c=u;e=2;A=o;b=s;u=c;continue e}case 10:case 9:{switch(e|0){case 1:{s=b;c=u;e=0;A=o;b=s;u=c;continue e}case 2:break;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}if((b|0)>=(r|0)){s=b;c=u;e=2;A=o;b=s;u=c;continue e}i[a+(b<<4)+12>>0]=0;s=b;c=u;e=2;A=o;b=s;u=c;continue e}case 17:case 11:if((e|0)==2){s=b;c=u;e=2;A=o;b=s;u=c;continue e}else break e;default:{l=e;s=b;c=u;A=o;e=l;b=s;u=c;continue e}}}while(0)}return b|0}function T$(e,A){e=e|0;A=A|0;var r=0,a=0;e=A+4|0;e:do{if(!(i[e>>0]|0))if((i[A+5>>0]|0)==120){A=A+6|0;e=0;while(1){A:while(1){if(!(i[A>>0]|0)){r=i[A+1>>0]|0;if(r<<24>>24==59){a=18;break e}r=r<<24>>24;switch(r|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{a=8;break A}case 70:case 69:case 68:case 67:case 66:case 65:{a=9;break A}case 102:case 101:case 100:case 99:case 98:case 97:{a=10;break A}default:{}}}A=A+2|0}if((a|0)==8)e=r+-48|e<<4;else if((a|0)==9)e=(e<<4)+-55+r|0;else if((a|0)==10)e=(e<<4)+-87+r|0;if((e|0)<1114112)A=A+2|0;else{e=-1;a=19;break}}}else{A=e;e=0;a=13}else{r=e;e=0;A=-1;a=16}}while(0);while(1)if((a|0)==13){if(i[A>>0]|0){r=A;A=-1;a=16;continue}if((i[A+1>>0]|0)==59){a=18;continue}r=A;A=i[A+1>>0]|0;a=16;continue}else if((a|0)==16){e=(e*10|0)+-48+A|0;if((e|0)>=1114112){e=-1;a=19;continue}A=r+2|0;a=13;continue}else if((a|0)==18){e=po(e)|0;a=19;continue}else if((a|0)==19)return e|0;return 0}function O$(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;e:do{switch((r-A|0)/2|0|0){case 2:{if((i[A+2>>0]|0)==0?(i[A+3>>0]|0)==116:0){if(!(i[A>>0]|0))e=i[A+1>>0]|0;else e=-1;e=(e|0)==108?60:(e|0)==103?62:0}else a=27;break}case 3:{if((((((i[A>>0]|0)==0?(i[A+1>>0]|0)==97:0)?(i[A+2>>0]|0)==0:0)?(i[A+3>>0]|0)==109:0)?(i[A+4>>0]|0)==0:0)?(i[A+5>>0]|0)==112:0)e=38;else a=27;break}case 4:{if(!(i[A>>0]|0))switch(i[A+1>>0]|0){case 113:{if(i[A+2>>0]|0){a=27;break e}if((i[A+3>>0]|0)!=117){a=27;break e}if(i[A+4>>0]|0){a=27;break e}if((i[A+5>>0]|0)!=111){a=27;break e}if(i[A+6>>0]|0){a=27;break e}if((i[A+7>>0]|0)==116){e=34;break e}else{a=27;break e}}case 97:{if(i[A+2>>0]|0){a=27;break e}if((i[A+3>>0]|0)!=112){a=27;break e}if(i[A+4>>0]|0){a=27;break e}if((i[A+5>>0]|0)!=111){a=27;break e}if(i[A+6>>0]|0){a=27;break e}if((i[A+7>>0]|0)==115){e=39;break e}else{a=27;break e}}default:{a=27;break e}}else a=27;break}default:a=27}}while(0);if((a|0)==27)e=0;return e|0}function _$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=e+72|0;c=a+4|0;while(1){if((r-A|0)<=1)break;e=i[A>>0]|0;f=i[A+1>>0]|0;if(!(e<<24>>24))e=n[s+(f&255)>>0]|0;else e=d$(e,f)|0;switch(e|0){case 5:{A=A+2|0;break}case 6:{A=A+3|0;break}case 7:{A=A+4|0;break}case 10:{t[c>>2]=-1;t[a>>2]=(t[a>>2]|0)+1;A=A+2|0;break}case 9:{t[a>>2]=(t[a>>2]|0)+1;l=A+2|0;if((r-l|0)>1){e=i[l>>0]|0;f=i[A+3>>0]|0;if(!(e<<24>>24))e=n[s+(f&255)>>0]|0;else e=d$(e,f)|0;A=(e|0)==10?A+4|0:l}else A=l;t[c>>2]=-1;break}default:A=A+2|0}t[c>>2]=(t[c>>2]|0)+1}return}function q$(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r+-2|0;s=e+72|0;e:while(1){f=A+2|0;if((c-f|0)<=1){r=1;break}r=i[f>>0]|0;l=r<<24>>24==0;e=i[A+3>>0]|0;if(l)r=n[s+(e&255)>>0]|0;else r=d$(r,e)|0;switch(r|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{A=f;continue e}case 21:if(l&e<<24>>24==9){o=12;break e}else{A=f;continue e}case 22:case 26:{if(!l){o=12;break e}if(e<<24>>24>=0){A=f;continue e}break}default:if(!l){o=12;break e}}switch(e<<24>>24|0){case 64:case 36:{A=f;break}default:{o=12;break e}}}if((o|0)==12){t[a>>2]=f;r=0}return r|0}function K$(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0;s=t[A>>2]|0;c=s+(r-s&-2)|0;o=c;u=f;e:while(1){if(s>>>0>=c>>>0){e=0;break}l=i[s+1>>0]|0;e=i[s>>0]|0;r=e&255;switch(e<<24>>24){case 0:{if(l<<24>>24>-1){e=t[a>>2]|0;if((e|0)==(f|0)){e=2;break e}t[a>>2]=e+1;i[e>>0]=l;e=s}else b=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{b=7;break}case-37:case-38:case-39:case-40:{e=t[a>>2]|0;if((u-e|0)<4){e=2;break e}if((o-s|0)<4){e=1;break e}h=l&255;l=(r<<2&12|h>>>6)+1|0;t[a>>2]=e+1;i[e>>0]=l>>>2|240;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h>>>2&15|l<<4&48|128;e=s+2|0;l=n[s+3>>0]|0;r=(h<<4&48|l>>>6|i[e>>0]<<2&12|128)&255;s=t[a>>2]|0;t[a>>2]=s+1;i[s>>0]=r;s=t[a>>2]|0;t[a>>2]=s+1;i[s>>0]=l&63|128;break}default:{e=t[a>>2]|0;if((u-e|0)<3){e=2;break e}t[a>>2]=e+1;i[e>>0]=r>>>4|224;h=l&255;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h>>>6|r<<2&60|128;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h&63|128;e=s}}if((b|0)==7){b=0;e=t[a>>2]|0;if((u-e|0)<2){e=2;break}h=l&255;t[a>>2]=e+1;i[e>>0]=h>>>6|r<<2|192;e=t[a>>2]|0;t[a>>2]=e+1;i[e>>0]=h&63|128;e=s}s=e+2|0}t[A>>2]=s;return e|0}function $$(e,A,r,f,l){e=e|0;A=A|0;r=r|0;f=f|0;l=l|0;var s=0,c=0,o=0;s=t[A>>2]|0;o=r-s&-2;e=s+o|0;if((o|0)>(l-(t[f>>2]|0)|0)){c=e+-2|0;r=(i[c>>0]&-8)<<24>>24==-40;o=r&1;e=r?c:e}else o=0;r=s;while(1){s=r>>>0>>0;c=t[f>>2]|0;if(!(s&c>>>0>>0))break;s=((n[r>>0]|0)<<8|(n[r+1>>0]|0))&65535;t[f>>2]=c+2;a[c>>1]=s;c=(t[A>>2]|0)+2|0;t[A>>2]=c;r=c}return((c|0)!=(l|0)|s^1?o:2)|0}function e0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;o=r;s=o-A|0;e:do{if((s|0)>1){c=i[A>>0]|0;if(!(c<<24>>24)){l=i[A+1>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A+1>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{s=l&255;if(!(1<<(s&31)&t[56940+((s>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;e=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;e=0;break e}case 6:{if((s|0)<3){e=-2;break e}t[a>>2]=A;e=0;break e}case 7:{if((s|0)<4){e=-2;break e}t[a>>2]=A;e=0;break e}case 19:{e=r0(e,A+2|0,r,a)|0;break e}default:{t[a>>2]=A;e=0;break e}}c=e+72|0;s=A;A:while(1){l=s+2|0;A=o-l|0;if((A|0)<=1){e=-1;break e}e=i[l>>0]|0;r=i[s+3>>0]|0;if(!(e<<24>>24))f=n[c+(r&255)>>0]|0;else f=d$(e,r)|0;switch(f|0){case 27:case 26:case 25:case 24:case 22:{s=l;continue A}case 5:{r=23;break A}case 6:{r=24;break A}case 7:{r=26;break A}case 18:{r=28;break A}case 29:break;default:{r=29;break A}}A=r&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(e&255)>>0]|0)<<3)<<2)>>2])){r=22;break}else s=l}if((r|0)==22){t[a>>2]=l;e=0;break}else if((r|0)==23){t[a>>2]=l;e=0;break}else if((r|0)==24){if((A|0)<3){e=-2;break}t[a>>2]=l;e=0;break}else if((r|0)==26){if((A|0)<4){e=-2;break}t[a>>2]=l;e=0;break}else if((r|0)==28){t[a>>2]=s+4;e=9;break}else if((r|0)==29){t[a>>2]=l;e=0;break}}else e=-1}while(0);return e|0}function A0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;s=r-A|0;e:do{if((s|0)>1){c=i[A>>0]|0;if(!(c<<24>>24)){l=i[A+1>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A+1>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{o=l&255;if(!(1<<(o&31)&t[56940+((o>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}case 30:case 9:case 10:case 21:{t[a>>2]=A;r=22;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;e=A;A:while(1){c=e+2|0;A=r-c|0;if((A|0)<=1){r=-1;break e}f=i[c>>0]|0;l=i[e+3>>0]|0;if(!(f<<24>>24))s=n[o+(l&255)>>0]|0;else s=d$(f,l)|0;switch(s|0){case 27:case 26:case 25:case 24:case 22:{e=c;continue A}case 5:{f=23;break A}case 6:{f=24;break A}case 7:{f=26;break A}case 18:{f=28;break A}case 29:break;default:{f=29;break A}}A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(f&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else e=c}if((f|0)==22){t[a>>2]=c;r=0;break}else if((f|0)==23){t[a>>2]=c;r=0;break}else if((f|0)==24){if((A|0)<3){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==26){if((A|0)<4){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==28){t[a>>2]=e+4;r=28;break}else if((f|0)==29){t[a>>2]=c;r=0;break}}else r=-1}while(0);return r|0}function r0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;c=r;e:do{if((c-A|0)>1){l=i[A>>0]|0;f=i[A+1>>0]|0;do{if(!(l<<24>>24))if(f<<24>>24==120){f=i0(e,A+2|0,r,a)|0;break e}else{f=n[e+72+(f&255)>>0]|0;break}else f=d$(l,f)|0}while(0);if((f|0)!=25){t[a>>2]=A;f=0;break}s=e+72|0;e=A;A:while(1){l=e+2|0;if((c-l|0)<=1){f=-1;break e}f=i[l>>0]|0;r=i[e+3>>0]|0;if(!(f<<24>>24))f=n[s+(r&255)>>0]|0;else f=d$(f,r)|0;switch(f|0){case 25:{e=l;break}case 18:{r=15;break A}default:{r=16;break A}}}if((r|0)==15){t[a>>2]=e+4;f=10;break}else if((r|0)==16){t[a>>2]=l;f=0;break}}else f=-1}while(0);return f|0}function i0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0;e:do{if((r-A|0)>1){f=i[A>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[A+1>>0]|0)>>0]|0;else f=d$(f,i[A+1>>0]|0)|0;if((f&-2|0)!=24){t[a>>2]=A;r=0;break}s=e+72|0;A:while(1){l=A+2|0;if((r-l|0)<=1){r=-1;break e}f=i[l>>0]|0;e=i[A+3>>0]|0;if(!(f<<24>>24))f=n[s+(e&255)>>0]|0;else f=d$(f,e)|0;switch(f|0){case 24:case 25:{A=l;break}case 18:{f=13;break A}default:{f=14;break A}}}if((f|0)==13){t[a>>2]=A+4;r=10;break}else if((f|0)==14){t[a>>2]=l;r=0;break}}else r=-1}while(0);return r|0}function a0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=r;s=h-A|0;e:do{if((s|0)>1){c=i[A>>0]|0;if(!(c<<24>>24)){l=i[A+1>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A+1>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{u=l&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){t[a>>2]=A;f=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;f=0;break e}case 6:{if((s|0)<3){f=-2;break e}t[a>>2]=A;f=0;break e}case 7:{if((s|0)<4){f=-2;break e}t[a>>2]=A;f=0;break e}case 16:{l=A+2|0;if((h-l|0)<=1){f=-1;break e}f=i[l>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[A+3>>0]|0)>>0]|0;else f=d$(f,i[A+3>>0]|0)|0;switch(f|0){case 27:{f=t0(e,A+4|0,r,a)|0;break e}case 20:{f=n0(A+4|0,r,a)|0;break e}default:{t[a>>2]=l;f=0;break e}}}case 15:{f=f0(e,A+2|0,r,a)|0;break e}case 17:{f=l0(e,A+2|0,r,a)|0;break e}default:{t[a>>2]=A;f=0;break e}}u=e+72|0;o=0;f=A+2|0;A:while(1){r:while(1){l=h-f|0;if((l|0)<=1){f=-1;break e}s=i[f>>0]|0;c=i[f+1>>0]|0;if(!(s<<24>>24))A=n[u+(c&255)>>0]|0;else A=d$(s,c)|0;switch(A|0){case 5:{b=34;break A}case 6:{b=35;break A}case 7:{b=37;break A}case 10:case 9:case 21:{b=55;break A}case 11:{b=69;break A}case 17:break A;case 23:break r;case 29:{A=c&255;if(!(1<<(A&31)&t[56940+((A>>>5|n[144044+(s&255)>>0]<<3)<<2)>>2])){b=32;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=75;break A}}f=f+2|0}if(o|0){b=40;break}A=f+2|0;o=h-A|0;if((o|0)<=1){f=-1;break e}l=i[A>>0]|0;s=i[f+3>>0]|0;if(!(l<<24>>24))c=n[u+(s&255)>>0]|0;else c=d$(l,s)|0;switch(c|0){case 5:{b=49;break A}case 6:{b=50;break A}case 7:{b=52;break A}case 29:{o=s&255;if(!(1<<(o&31)&t[56940+((o>>>5|n[143788+(l&255)>>0]<<3)<<2)>>2])){b=47;break A}break}case 24:case 22:break;default:{b=54;break A}}o=1;f=f+4|0}A:switch(b|0){case 32:{t[a>>2]=f;f=0;break e}case 34:{t[a>>2]=f;f=0;break e}case 35:{if((l|0)<3){f=-2;break e}t[a>>2]=f;f=0;break e}case 37:{if((l|0)<4){f=-2;break e}t[a>>2]=f;f=0;break e}case 40:{t[a>>2]=f;f=0;break e}case 47:{t[a>>2]=A;f=0;break e}case 49:{t[a>>2]=A;f=0;break e}case 50:{if((o|0)<3){f=-2;break e}t[a>>2]=A;f=0;break e}case 52:{if((o|0)<4){f=-2;break e}t[a>>2]=A;f=0;break e}case 54:{t[a>>2]=A;f=0;break e}case 55:{r:while(1){b=0;l=f+2|0;s=h-l|0;if((s|0)<=1){f=-1;break e}c=i[l>>0]|0;A=i[f+3>>0]|0;if(!(c<<24>>24))o=n[u+(A&255)>>0]|0;else o=d$(c,A)|0;switch(o|0){case 11:{f=l;b=69;break A}case 17:{f=l;break A}case 10:case 9:case 21:{f=l;b=55;break}case 29:{b=60;break r}case 24:case 22:break r;case 5:{b=63;break r}case 6:{b=64;break r}case 7:{b=66;break r}default:{b=68;break r}}}if((b|0)==60){h=A&255;if(!(1<<(h&31)&t[56940+((h>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){t[a>>2]=l;f=0;break e}}else if((b|0)==63){t[a>>2]=l;f=0;break e}else if((b|0)==64){if((s|0)<3){f=-2;break e}t[a>>2]=l;f=0;break e}else if((b|0)==66){if((s|0)<4){f=-2;break e}t[a>>2]=l;f=0;break e}else if((b|0)==68){t[a>>2]=l;f=0;break e}f=s0(e,f+4|0,r,a)|0;break e}case 75:{t[a>>2]=f;f=0;break e}}if((b|0)==69){t[a>>2]=f+2;f=2;break}l=f+2|0;if((h-l|0)>1){if((i[l>>0]|0)==0?(i[f+3>>0]|0)==62:0){t[a>>2]=f+4;f=4;break}t[a>>2]=l;f=0}else f=-1}else f=-1}while(0);return f|0}function t0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=r;e:do{if((s-A|0)>1){if((i[A>>0]|0)==0?(i[A+1>>0]|0)==45:0){l=e+72|0;f=A+2|0;A:while(1){A=s-f|0;if((A|0)<=1){r=-1;break e}r=i[f>>0]|0;e=i[f+1>>0]|0;if(!(r<<24>>24))r=n[l+(e&255)>>0]|0;else r=d$(r,e)|0;switch(r|0){case 8:case 1:case 0:{c=16;break A}case 5:{f=f+2|0;continue A}case 6:{if((A|0)<3){r=-2;break e}f=f+3|0;continue A}case 7:{if((A|0)<4){r=-2;break e}f=f+4|0;continue A}case 27:{r=f+2|0;if((s-r|0)<=1){r=-1;break e}if(i[r>>0]|0){f=r;continue A}if((i[f+3>>0]|0)==45)break A;else{f=r;continue A}}default:{f=f+2|0;continue A}}}if((c|0)==16){t[a>>2]=f;r=0;break}r=f+4|0;if((s-r|0)<=1){r=-1;break}if((i[r>>0]|0)==0?(i[f+5>>0]|0)==62:0){t[a>>2]=f+6;r=13;break}t[a>>2]=r;r=0;break}t[a>>2]=A;r=0}else r=-1}while(0);return r|0}function n0(e,A,r){e=e|0;A=A|0;r=r|0;if((A-e|0)>11){A=0;while(1){if((A|0)>=6){A=8;break}if(i[e>>0]|0){A=0;break}if((i[e+1>>0]|0)!=(i[144300+A>>0]|0)){A=0;break}A=A+1|0;e=e+2|0}t[r>>2]=e}else A=-1;return A|0}function f0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;k=h;h=h+16|0;w=k;b=r;l=b-A|0;e:do{if((l|0)>1){s=i[A>>0]|0;if(!(s<<24>>24)){f=i[A+1>>0]|0;r=n[e+72+(f&255)>>0]|0}else{f=i[A+1>>0]|0;r=d$(s,f)|0}switch(r|0){case 29:{o=f&255;if(!(1<<(o&31)&t[56940+((o>>>5|n[143788+(s&255)>>0]<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((l|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((l|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;c=A;A:while(1){r=c+2|0;f=b-r|0;if((f|0)<=1){r=-1;break e}l=i[r>>0]|0;s=i[c+3>>0]|0;if(!(l<<24>>24))e=n[o+(s&255)>>0]|0;else e=d$(l,s)|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{c=r;continue A}case 5:{u=22;break A}case 6:{u=23;break A}case 7:{u=25;break A}case 10:case 9:case 21:{u=27;break A}case 15:{u=46;break A}case 29:break;default:break A}c=s&255;if(!(1<<(c&31)&t[56940+((c>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){u=21;break}else c=r}if((u|0)==21){t[a>>2]=r;r=0;break}else if((u|0)==22){t[a>>2]=r;r=0;break}else if((u|0)==23){if((f|0)<3){r=-2;break}t[a>>2]=r;r=0;break}else if((u|0)==25){if((f|0)<4){r=-2;break}t[a>>2]=r;r=0;break}else if((u|0)==27){if(!(c0(A,r,w)|0)){t[a>>2]=r;r=0;break}s=c+4|0;A:while(1){l=b-s|0;if((l|0)<=1){r=-1;break e}r=i[s>>0]|0;f=i[s+1>>0]|0;if(!(r<<24>>24))r=n[o+(f&255)>>0]|0;else r=d$(r,f)|0;switch(r|0){case 8:case 1:case 0:{u=40;break A}case 5:{s=s+2|0;continue A}case 6:{if((l|0)<3){r=-2;break e}s=s+3|0;continue A}case 7:{if((l|0)<4){r=-2;break e}s=s+4|0;continue A}case 15:{r=s+2|0;if((b-r|0)<=1){r=-1;break e}if(i[r>>0]|0){s=r;continue A}if((i[s+3>>0]|0)==62){u=44;break A}else{s=r;continue A}}default:{s=s+2|0;continue A}}}if((u|0)==40){t[a>>2]=s;r=0;break}else if((u|0)==44){t[a>>2]=s+4;r=t[w>>2]|0;break}}else if((u|0)==46){if(!(c0(A,r,w)|0)){t[a>>2]=r;r=0;break}r=c+4|0;if((b-r|0)<=1){r=-1;break}if((i[r>>0]|0)==0?(i[c+5>>0]|0)==62:0){t[a>>2]=c+6;r=t[w>>2]|0;break}}t[a>>2]=r;r=0}else r=-1}while(0);h=k;return r|0}function l0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;s=r-A|0;e:do{if((s|0)>1){c=i[A>>0]|0;if(!(c<<24>>24)){l=i[A+1>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A+1>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{o=l&255;if(!(1<<(o&31)&t[56940+((o>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}o=e+72|0;e=A;A:while(1){s=e+2|0;A=r-s|0;if((A|0)<=1){r=-1;break e}f=i[s>>0]|0;l=i[e+3>>0]|0;if(!(f<<24>>24))c=n[o+(l&255)>>0]|0;else c=d$(f,l)|0;switch(c|0){case 23:case 27:case 26:case 25:case 24:case 22:{e=s;continue A}case 5:{f=22;break A}case 6:{f=23;break A}case 7:{f=25;break A}case 10:case 9:case 21:{f=27;break A}case 11:{f=34;break A}case 29:break;default:{f=35;break A}}A=l&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(f&255)>>0]|0)<<3)<<2)>>2])){f=21;break}else e=s}if((f|0)==21){t[a>>2]=s;r=0;break}else if((f|0)==22){t[a>>2]=s;r=0;break}else if((f|0)==23){if((A|0)<3){r=-2;break}t[a>>2]=s;r=0;break}else if((f|0)==25){if((A|0)<4){r=-2;break}t[a>>2]=s;r=0;break}else if((f|0)==27){A:while(1){c=s+2|0;if((r-c|0)<=1){r=-1;break e}f=i[c>>0]|0;l=i[s+3>>0]|0;if(!(f<<24>>24))f=n[o+(l&255)>>0]|0;else f=d$(f,l)|0;switch(f|0){case 10:case 9:case 21:{s=c;f=27;break}case 11:{f=32;break A}default:{f=33;break A}}}if((f|0)==32){t[a>>2]=s+4;r=5;break}else if((f|0)==33){t[a>>2]=c;r=0;break}}else if((f|0)==34){t[a>>2]=e+4;r=5;break}else if((f|0)==35){t[a>>2]=s;r=0;break}}else r=-1}while(0);return r|0}function s0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+16|0;k=v;t[k>>2]=A;d=r;b=e+72|0;f=0;e:while(1){A:while(1){o=d-A|0;if((o|0)<=1){A=-1;break e}l=i[A>>0]|0;s=i[A+1>>0]|0;if(!(l<<24>>24))c=n[b+(s&255)>>0]|0;else c=d$(l,s)|0;switch(c|0){case 5:{w=11;break e}case 6:{w=12;break e}case 7:{w=14;break e}case 23:{w=16;break A}case 10:case 9:case 21:{w=31;break A}case 14:{w=37;break A}case 29:{u=s&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[144044+(l&255)>>0]<<3)<<2)>>2])){w=9;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{w=89;break e}}u=A+2|0;t[k>>2]=u;A=u}A:do{if((w|0)==16){w=0;if(f|0){w=17;break e}f=A+2|0;t[k>>2]=f;l=f;s=d-l|0;if((s|0)<=1){A=-1;break e}c=i[f>>0]|0;o=i[A+3>>0]|0;if(!(c<<24>>24))u=n[b+(o&255)>>0]|0;else u=d$(c,o)|0;switch(u|0){case 5:{w=25;break e}case 6:{w=26;break e}case 7:{w=28;break e}case 24:case 22:{f=1;break A}case 29:break;default:{w=30;break e}}u=o&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){w=24;break e}else f=1}else if((w|0)==31)while(1){w=0;l=A+2|0;t[k>>2]=l;s=l;if((d-s|0)<=1){A=-1;break e}f=i[l>>0]|0;A=i[A+3>>0]|0;if(!(f<<24>>24))A=n[b+(A&255)>>0]|0;else A=d$(f,A)|0;switch(A|0){case 14:{A=l;w=37;break A}case 9:case 10:case 21:{A=l;w=31;break}default:{w=36;break e}}}}while(0);A:do{if((w|0)==37){while(1){w=0;s=A+2|0;t[k>>2]=s;c=s;if((d-c|0)<=1){A=-1;break e}f=i[s>>0]|0;l=i[A+3>>0]|0;if(!(f<<24>>24))o=n[b+(l&255)>>0]|0;else o=d$(f,l)|0;if((o|1|0)==13)break;switch(o|0){case 9:case 10:case 21:{A=s;w=37;break}default:{w=43;break e}}}A=A+4|0;t[k>>2]=A;r:while(1){s=d-A|0;if((s|0)<=1){A=-1;break e}f=i[A>>0]|0;l=i[A+1>>0]|0;if(!(f<<24>>24))f=n[b+(l&255)>>0]|0;else f=d$(f,l)|0;if((f|0)==(o|0))break;switch(f|0){case 8:case 1:case 0:{w=56;break e}case 2:{w=61;break e}case 5:{u=A+2|0;t[k>>2]=u;A=u;continue r}case 6:{if((s|0)<3){A=-2;break e}u=A+3|0;t[k>>2]=u;A=u;continue r}case 7:{if((s|0)<4){A=-2;break e}u=A+4|0;t[k>>2]=u;A=u;continue r}case 3:{A=e0(e,A+2|0,r,k)|0;if((A|0)<1){w=59;break e}A=t[k>>2]|0;continue r}default:{u=A+2|0;t[k>>2]=u;A=u;continue r}}}l=A+2|0;t[k>>2]=l;c=l;if((d-c|0)<=1){A=-1;break e}f=i[l>>0]|0;s=i[A+3>>0]|0;if(!(f<<24>>24))f=n[b+(s&255)>>0]|0;else f=d$(f,s)|0;switch(f|0){case 11:{w=81;break e}case 17:{w=82;break e}case 10:case 9:case 21:{A=l;break}default:{w=68;break e}}r:while(1){l=A+2|0;t[k>>2]=l;f=l;s=d-f|0;if((s|0)<=1){A=-1;break e}c=i[l>>0]|0;o=i[A+3>>0]|0;if(!(c<<24>>24))u=n[b+(o&255)>>0]|0;else u=d$(c,o)|0;switch(u|0){case 5:{w=76;break e}case 6:{w=77;break e}case 7:{w=79;break e}case 11:{w=81;break e}case 17:{w=82;break e}case 24:case 22:{f=0;break A}case 10:case 9:case 21:{A=l;break}case 29:break r;default:{w=87;break e}}}u=o&255;if(!(1<<(u&31)&t[56940+((u>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){w=75;break e}else f=0}}while(0);A=A+4|0;t[k>>2]=A}switch(w|0){case 9:{t[a>>2]=A;A=0;break}case 11:{t[a>>2]=A;A=0;break}case 12:{if((o|0)<3)A=-2;else{t[a>>2]=A;A=0}break}case 14:{if((o|0)<4)A=-2;else{t[a>>2]=A;A=0}break}case 17:{t[a>>2]=A;A=0;break}case 24:{t[a>>2]=f;A=0;break}case 25:{t[a>>2]=f;A=0;break}case 26:{if((s|0)<3)A=-2;else{t[a>>2]=f;A=0}break}case 28:{if((s|0)<4)A=-2;else{t[a>>2]=f;A=0}break}case 30:{t[a>>2]=l;A=0;break}case 36:{t[a>>2]=s;A=0;break}case 43:{t[a>>2]=c;A=0;break}case 56:{t[a>>2]=A;A=0;break}case 59:{if(!A){t[a>>2]=t[k>>2];A=0}break}case 61:{t[a>>2]=A;A=0;break}case 68:{t[a>>2]=c;A=0;break}case 75:{t[a>>2]=l;A=0;break}case 76:{t[a>>2]=l;A=0;break}case 77:{if((s|0)<3)A=-2;else{t[a>>2]=l;A=0}break}case 79:{if((s|0)<4)A=-2;else{t[a>>2]=l;A=0}break}case 81:{t[a>>2]=A+4;A=1;break}case 82:{f=l+2|0;t[k>>2]=f;A=f;if((d-A|0)>1){if((i[f>>0]|0)==0?(i[l+3>>0]|0)==62:0){t[a>>2]=l+4;A=3;break}t[a>>2]=A;A=0}else A=-1;break}case 87:{t[a>>2]=f;A=0;break}case 89:{t[a>>2]=A;A=0;break}}h=v;return A|0}function c0(e,A,r){e=e|0;A=A|0;r=r|0;t[r>>2]=11;e:do{if((A-e|0)==6?(i[e>>0]|0)==0:0){switch(i[e+1>>0]|0){case 120:{A=0;break}case 88:{A=1;break}default:{A=1;break e}}if(!(i[e+2>>0]|0)){switch(i[e+3>>0]|0){case 109:break;case 77:{A=1;break}default:{A=1;break e}}if(!(i[e+4>>0]|0)){switch(i[e+5>>0]|0){case 108:break;case 76:{A=0;break e}default:{A=1;break e}}if(!A){t[r>>2]=12;A=1}else A=0}else A=1}else A=1}else A=1}while(0);return A|0}function o0(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0;c=A+72|0;e:while(1){A:while(1){s=a-r|0;if((s|0)<=1){r=-1;break e}A=i[r>>0]|0;l=i[r+1>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 8:case 1:case 0:{o=10;break e}case 6:{o=9;break A}case 7:{o=19;break A}case 5:{r=r+2|0;continue A}case 13:case 12:{A=r+2|0;if((l|0)==(e|0)){o=12;break e}else{r=A;continue A}}default:{r=r+2|0;continue A}}}if((o|0)==9){o=0;if((s|0)<3){r=-2;break}else{r=r+3|0;continue}}else if((o|0)==19){o=0;if((s|0)<4){r=-2;break}else{r=r+4|0;continue}}}e:do{if((o|0)==10){t[f>>2]=r;r=0}else if((o|0)==12)if((a-A|0)>1){t[f>>2]=A;a=i[A>>0]|0;r=i[r+3>>0]|0;if(!(a<<24>>24))r=n[c+(r&255)>>0]|0;else r=d$(a,r)|0;switch(r|0){case 20:case 30:case 11:case 10:case 9:case 21:{r=27;break e}default:{}}r=0}else r=-27}while(0);return r|0}function u0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0,o=0;c=r;e:do{if((c-A|0)>1){f=i[A>>0]|0;if(!(f<<24>>24))f=n[e+72+(n[A+1>>0]|0)>>0]|0;else f=d$(f,i[A+1>>0]|0)|0;switch(f|0){case 27:{f=t0(e,A+2|0,r,a)|0;break e}case 20:{t[a>>2]=A+2;f=33;break e}case 24:case 22:{s=e+72|0;A:while(1){l=A+2|0;r=c-l|0;if((r|0)<=1){f=-1;break e}f=i[l>>0]|0;e=i[A+3>>0]|0;if(!(f<<24>>24))f=n[s+(e&255)>>0]|0;else f=d$(f,e)|0;switch(f|0){case 24:case 22:{A=l;break}case 30:{o=15;break A}case 10:case 9:case 21:break A;default:{o=22;break A}}}if((o|0)==22){t[a>>2]=l;f=0;break e}A:do{if((o|0)==15){if((r|0)<=3){f=-1;break e}e=i[A+4>>0]|0;f=i[A+5>>0]|0;if(!(e<<24>>24))f=n[s+(f&255)>>0]|0;else f=d$(e,f)|0;switch(f|0){case 30:case 10:case 9:case 21:break;default:break A}t[a>>2]=l;f=0;break e}}while(0);t[a>>2]=l;f=16;break e}default:{t[a>>2]=A;f=0;break e}}}else f=-1}while(0);return f|0}function b0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var f=0,l=0,s=0,c=0;s=r-A|0;e:do{if((s|0)>1){c=i[A>>0]|0;if(!(c<<24>>24)){l=i[A+1>>0]|0;f=n[e+72+(l&255)>>0]|0}else{l=i[A+1>>0]|0;f=d$(c,l)|0}switch(f|0){case 29:{s=l&255;if(!(1<<(s&31)&t[56940+((s>>>5|(n[143788+(c&255)>>0]|0)<<3)<<2)>>2])){t[a>>2]=A;r=0;break e}break}case 24:case 22:break;case 5:{t[a>>2]=A;r=0;break e}case 6:{if((s|0)<3){r=-2;break e}t[a>>2]=A;r=0;break e}case 7:{if((s|0)<4){r=-2;break e}t[a>>2]=A;r=0;break e}default:{t[a>>2]=A;r=0;break e}}e=e+72|0;c=A;A:while(1){f=c;c=c+2|0;A=r-c|0;if((A|0)<=1){r=-20;break e}s=i[c>>0]|0;f=i[f+3>>0]|0;if(!(s<<24>>24))l=n[e+(f&255)>>0]|0;else l=d$(s,f)|0;switch(l|0){case 27:case 26:case 25:case 24:case 22:continue A;case 5:{f=22;break A}case 6:{f=23;break A}case 7:{f=25;break A}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{f=27;break A}case 29:break;default:{f=28;break A}}A=f&255;if(!(1<<(A&31)&t[56940+((A>>>5|(n[144044+(s&255)>>0]|0)<<3)<<2)>>2])){f=21;break}}if((f|0)==21){t[a>>2]=c;r=0;break}else if((f|0)==22){t[a>>2]=c;r=0;break}else if((f|0)==23){if((A|0)<3){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==25){if((A|0)<4){r=-2;break}t[a>>2]=c;r=0;break}else if((f|0)==27){t[a>>2]=c;r=20;break}else if((f|0)==28){t[a>>2]=c;r=0;break}}else r=-1}while(0);return r|0}function h0(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0,l=0;while(1){e=t[A>>2]|0;f=e>>>0>>0;l=t[a>>2]|0;if(!(f&l>>>0>>0))break;t[A>>2]=e+1;f=i[e>>0]|0;l=t[a>>2]|0;t[a>>2]=l+1;i[l>>0]=f}return((l|0)!=(n|0)|f^1?0:2)|0}function w0(e,A){e=e|0;A=A|0;var r=0,a=0,t=0,n=0;e:while(1){t=i[e>>0]|0;n=i[A>>0]|0;t=(t+-97&255)<26?(t&255)+224&255:t;switch((t<<24>>24==((n+-97&255)<26?(n&255)+224&255:n)<<24>>24?t<<24>>24==0?2:0:1)&3){case 0:{A=A+1|0;e=e+1|0;break}case 1:{a=3;break e}case 2:{r=1;break e}default:{a=5;break e}}}if((a|0)==3)r=0;return r|0}function k0(e,A,r,i,a,t,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;return v0(39,e,A,r,i,a,t,n,f,l,s)|0}function d0(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;f=h;h=h+144|0;l=f+4|0;a=f+8|0;n=f;t[l>>2]=A;t[n>>2]=a;D5[t[e+56>>2]&127](e,l,r,n,a+127|0)|0;do{if((t[l>>2]|0)==(r|0)){i[t[n>>2]>>0]=0;if(w0(a,144315)|0?(t[e+64>>2]|0)==2:0)break;e=W$(a)|0;if((e|0)!=-1)e=t[58948+(e<<2)>>2]|0;else e=0}else e=0}while(0);h=f;return e|0}function v0(e,A,r,i,a,n,f,l,s,c,o){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;c=c|0;o=o|0;var u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+16|0;g=p+8|0;k=p+12|0;b=p+4|0;w=p;t[k>>2]=0;t[b>>2]=0;t[w>>2]=0;m=r+64|0;v=t[m>>2]|0;d=i+(v*5|0)|0;t[g>>2]=d;v=a+(0-(v<<1))|0;d=(g0(r,d,v,b,w,k,g)|0)!=0;u=t[b>>2]|0;i=u;e:do{if(d&(u|0)!=0){d=r+24|0;a=t[w>>2]|0;do{if(!(Q5[t[d>>2]&127](r,u,a,144340)|0)){if(!A){t[n>>2]=i;i=0;break e}}else{if(f|0)t[f>>2]=t[k>>2];if(!l)i=t[g>>2]|0;else{i=t[g>>2]|0;t[l>>2]=i}if(!(g0(r,i,v,b,w,k,g)|0)){t[n>>2]=t[g>>2];i=0;break e}a=t[b>>2]|0;if(a|0){i=a;u=a;a=t[w>>2]|0;break}if(!A){i=1;break e}t[n>>2]=t[g>>2];i=0;break e}}while(0);if(Q5[t[d>>2]&127](r,u,a,144348)|0){a=t[k>>2]|0;i=a;if((((m0(r,a,v)|0)&-33)+-65|0)>>>0>=26){t[n>>2]=i;i=0;break}if(s|0)t[s>>2]=i;i=t[g>>2]|0;if(c|0)t[c>>2]=L5[e&63](r,a,i+(0-(t[m>>2]|0))|0)|0;if(!(g0(r,i,v,b,w,k,g)|0)){t[n>>2]=t[g>>2];i=0;break}i=t[b>>2]|0;if(!i){i=1;break}u=i;a=t[w>>2]|0}if((A|0)!=0|(Q5[t[d>>2]&127](r,u,a,144357)|0)==0){t[n>>2]=i;i=0;break}a=t[k>>2]|0;i=t[g>>2]|0;u=a;if(!(Q5[t[d>>2]&127](r,a,i+(0-(t[m>>2]|0))|0,107657)|0)){if(!(Q5[t[d>>2]&127](r,a,i+(0-(t[m>>2]|0))|0,107649)|0)){t[n>>2]=u;i=0;break}if(o)t[o>>2]=0}else if(o)t[o>>2]=1;while(1){if(!(p0(m0(r,i,v)|0)|0))break;i=i+(t[m>>2]|0)|0}t[g>>2]=i;if((i|0)==(v|0))i=1;else{t[n>>2]=i;i=0}}else{t[n>>2]=t[g>>2];i=0}}while(0);h=p;return i|0}function g0(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0;e:do{if((A|0)!=(r|0)){if(!(p0(m0(e,A,r)|0)|0)){t[f>>2]=A;A=0;break}s=e+64|0;do{A=A+(t[s>>2]|0)|0}while((p0(m0(e,A,r)|0)|0)!=0);if((A|0)==(r|0)){t[i>>2]=0;A=1;break}t[i>>2]=A;A:while(1){l=m0(e,A,r)|0;switch(l|0){case-1:{l=11;break A}case 61:{l=12;break A}default:{}}if(p0(l)|0){l=14;break}A=A+(t[s>>2]|0)|0}if((l|0)==11){t[f>>2]=A;A=0;break}else if((l|0)==12)t[a>>2]=A;else if((l|0)==14){t[a>>2]=A;do{A=A+(t[s>>2]|0)|0;l=m0(e,A,r)|0}while((p0(l)|0)!=0);if((l|0)!=61){t[f>>2]=A;A=0;break}}if((A|0)==(t[i>>2]|0)){t[f>>2]=A;A=0;break}do{A=A+(t[s>>2]|0)|0;l=m0(e,A,r)|0}while((p0(l)|0)!=0);switch(l|0){case 34:case 39:break;default:{t[f>>2]=A;A=0;break e}}a=A+(t[s>>2]|0)|0;t[n>>2]=a;A=l<<24>>24;A:while(1){l=m0(e,a,r)|0;if((l|0)==(A|0)){l=30;break}if((l+-48|0)>>>0>9&((l&-33)+-65|0)>>>0>25)switch(l|0){case 45:case 46:case 95:break;default:{l=28;break A}}a=a+(t[s>>2]|0)|0}if((l|0)==28){t[f>>2]=a;A=0;break}else if((l|0)==30){t[f>>2]=a+(t[s>>2]|0);A=1;break}}else{t[i>>2]=0;A=1}}while(0);return A|0}function m0(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;f=h;h=h+16|0;l=f+4|0;a=f+8|0;n=f;t[l>>2]=A;t[n>>2]=a;D5[t[e+56>>2]&127](e,l,r,n,a+1|0)|0;h=f;return((t[n>>2]|0)==(a|0)?-1:i[a>>0]|0)|0}function p0(e){e=e|0;switch(e|0){case 9:case 10:case 13:case 32:{e=1;break}default:e=0}return e|0}function E0(){return 60092}function B0(e,A,r){e=e|0;A=A|0;r=r|0;r=W$(r)|0;if((r|0)==-1)r=0;else{i[e+69>>0]=r;t[e>>2]=69;t[e+4>>2]=70;t[e+48>>2]=31;t[e+72>>2]=A;t[A>>2]=e;r=1}return r|0}function y0(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return V$(60456,e,0,A,r,i)|0}function C0(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return V$(60456,e,1,A,r,i)|0}function I0(e,A,r,i,a,t,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;return v0(40,e,A,r,i,a,t,n,f,l,s)|0}function Z0(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;f=h;h=h+144|0;l=f+4|0;a=f+8|0;n=f;t[l>>2]=A;t[n>>2]=a;D5[t[e+56>>2]&127](e,l,r,n,a+127|0)|0;do{if((t[l>>2]|0)==(r|0)){i[t[n>>2]>>0]=0;if(w0(a,144315)|0?(t[e+64>>2]|0)==2:0)break;e=W$(a)|0;if((e|0)!=-1)e=t[60456+(e<<2)>>2]|0;else e=0}else e=0}while(0);h=f;return e|0}function G0(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;e=mo(e,A,r,a)|0;if(e|0)i[e+72+58>>0]=23;return e|0}function L0(e){e=e|0;t[e>>2]=15;t[e+16>>2]=1;t[e+12>>2]=0;t[e+20>>2]=0;return}function Q0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(A|0){case 15:{t[e>>2]=16;e=0;break}case 12:{t[e>>2]=16;e=1;break}case 11:{t[e>>2]=16;e=55;break}case 13:{t[e>>2]=16;e=56;break}case 14:{e=0;break}case 16:{if(!(Q5[t[a+24>>2]&127](a,r+(t[a+64>>2]<<1)|0,i,144368)|0))n=9;else{t[e>>2]=17;e=3}break}case 29:{t[e>>2]=18;e=2;break}default:n=9}if((n|0)==9)e=Y0(e,A)|0;return e|0}function D0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(A|0){case 14:case 15:{e=0;break}case 11:{e=55;break}case 13:{e=56;break}case 16:{if(!(Q5[t[a+24>>2]&127](a,r+(t[a+64>>2]<<1)|0,i,144368)|0))n=7;else{t[e>>2]=17;e=3}break}case 29:{t[e>>2]=18;e=2;break}default:n=7}if((n|0)==7)e=Y0(e,A)|0;return e|0}function z0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=3;break}case 41:case 18:{t[e>>2]=19;e=4;break}default:e=Y0(e,A)|0}return e|0}function W0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;return 0}function Y0(e,A){e=e|0;A=A|0;if((A|0)==28&(t[e+16>>2]|0)==0)e=59;else{t[e>>2]=18;e=-1}return e|0}function F0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=3;break}case 25:{t[e>>2]=20;e=7;break}case 17:{t[e>>2]=21;e=8;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144376)|0){t[e>>2]=22;e=3;break e}if(!(Q5[t[n>>2]&127](a,r,i,144383)|0))f=8;else{t[e>>2]=23;e=3}break}default:f=8}}while(0);if((f|0)==8)e=Y0(e,A)|0;return e|0}function M0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;e:do{switch(A|0){case-4:case 15:{e=0;break}case 16:{n=a+24|0;f=a+64|0;if(Q5[t[n>>2]&127](a,r+(t[f>>2]<<1)|0,i,144390)|0){t[e>>2]=24;e=11;break e}if(Q5[t[n>>2]&127](a,r+(t[f>>2]<<1)|0,i,144397)|0){t[e>>2]=25;e=33;break e}if(Q5[t[n>>2]&127](a,r+(t[f>>2]<<1)|0,i,144405)|0){t[e>>2]=26;e=39;break e}if(!(Q5[t[n>>2]&127](a,r+(t[f>>2]<<1)|0,i,144413)|0))l=14;else{t[e>>2]=27;e=17}break}case 11:{e=55;break}case 13:{e=56;break}case 28:{e=60;break}case 26:{t[e>>2]=28;e=3;break}default:l=14}}while(0);if((l|0)==14)e=Y0(e,A)|0;return e|0}function V0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;a=A+-11|0;switch(a>>>1|a<<31|0){case 2:{e=0;break}case 0:{e=55;break}case 1:{e=56;break}case 9:{t[e>>2]=18;e=2;break}default:e=Y0(e,A)|0}return e|0}function N0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=3;break}case 27:{t[e>>2]=29;e=5;break}default:e=Y0(e,A)|0}return e|0}function R0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=3;break}case 27:{t[e>>2]=22;e=6;break}default:e=Y0(e,A)|0}return e|0}function x0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=3;break}case 25:{t[e>>2]=20;e=7;break}case 17:{t[e>>2]=21;e=8;break}default:e=Y0(e,A)|0}return e|0}function J0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 22:{t[e>>2]=30;e=11;break}case 18:{t[e>>2]=31;e=9;break}default:e=Y0(e,A)|0}return e|0}function H0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 41:case 18:{t[e>>2]=32;e=34;break}default:e=Y0(e,A)|0}return e|0}function P0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 41:case 18:{t[e>>2]=33;e=40;break}default:e=Y0(e,A)|0}return e|0}function X0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=17;break}case 18:{t[e>>2]=34;e=18;break}default:e=Y0(e,A)|0}return e|0}function S0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=3;break}case 17:{t[e>>2]=21;e=8;break}default:e=Y0(e,A)|0}return e|0}function j0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=17;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144376)|0){t[e>>2]=35;e=17;break e}if(!(Q5[t[n>>2]&127](a,r,i,144383)|0))f=6;else{t[e>>2]=36;e=17}break}default:f=6}}while(0);if((f|0)==6)e=Y0(e,A)|0;return e|0}function U0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=17;break}case 27:{t[e>>2]=37;t[e+8>>2]=17;e=19;break}default:e=Y0(e,A)|0}return e|0}function T0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=17;break}case 27:{t[e>>2]=38;e=21;break}default:e=Y0(e,A)|0}return e|0}function O0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=17;break}case 27:{t[e>>2]=37;t[e+8>>2]=17;e=19;break}case 17:{t[e>>2]=t[e+16>>2]|0?20:39;e=20;break}default:e=Y0(e,A)|0}return e|0}function _0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=t[e+8>>2]|0;break}case 17:{t[e>>2]=t[e+16>>2]|0?20:39;e=t[e+8>>2]|0;break}default:e=Y0(e,A)|0}return e|0}function q0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(A|0){case 33:{t[e>>2]=40;r=0;break}case 34:{r=e+12|0;i=t[r>>2]|0;if(!i)n=7;else{t[r>>2]=i+-1;r=0}break}case 15:{r=0;break}case 26:{n=7;break}case-4:{if(!(t[e+12>>2]|0))r=0;else n=7;break}default:r=M0(e,A,r,i,a)|0}if((n|0)==7)r=Y0(e,A)|0;return r|0}function K0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=0;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144422)|0){t[e>>2]=41;e=0;break e}if(!(Q5[t[n>>2]&127](a,r,i,144430)|0))f=6;else{t[e>>2]=42;e=0}break}default:f=6}}while(0);if((f|0)==6)e=Y0(e,A)|0;return e|0}function $0(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=0;break}case 25:{t[e>>2]=39;e=e+12|0;t[e>>2]=(t[e>>2]|0)+1;e=0;break}default:e=Y0(e,A)|0}return e|0}function e2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=0;break}case 25:{t[e>>2]=39;e=58;break}default:e=Y0(e,A)|0}return e|0}function A2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=39;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144437)|0){t[e>>2]=37;t[e+8>>2]=39;e=42;break e}if(!(Q5[t[n>>2]&127](a,r,i,144443)|0))f=7;else{t[e>>2]=37;t[e+8>>2]=39;e=41}break}case 23:{t[e>>2]=43;t[e+4>>2]=1;e=44;break}default:f=7}}while(0);if((f|0)==7)e=Y0(e,A)|0;return e|0}function r2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(A|0){case 15:{e=39;break}case 20:{if(!(Q5[t[a+24>>2]&127](a,r+(t[a+64>>2]|0)|0,i,144447)|0))n=9;else{t[e>>2]=44;e=43}break}case 23:{t[e+4>>2]=2;t[e>>2]=45;e=44;break}case 41:case 18:{t[e>>2]=46;e=51;break}case 30:{t[e>>2]=46;e=53;break}case 31:{t[e>>2]=46;e=52;break}case 32:{t[e>>2]=46;e=54;break}default:n=9}if((n|0)==9)e=Y0(e,A)|0;return e|0}function i2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 24:{t[e>>2]=37;t[e+8>>2]=39;e=45;break}case 36:{t[e>>2]=37;t[e+8>>2]=39;e=46;break}case 21:{t[e>>2]=47;e=39;break}default:e=Y0(e,A)|0}return e|0}function a2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 23:{e=e+4|0;t[e>>2]=(t[e>>2]|0)+1;e=44;break}case 41:case 18:{t[e>>2]=46;e=51;break}case 30:{t[e>>2]=46;e=53;break}case 31:{t[e>>2]=46;e=52;break}case 32:{t[e>>2]=46;e=54;break}default:e=Y0(e,A)|0}return e|0}function t2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 24:{i=e+4|0;a=(t[i>>2]|0)+-1|0;t[i>>2]=a;if(!a){t[e>>2]=37;t[e+8>>2]=39;e=45}else e=45;break}case 36:{i=e+4|0;a=(t[i>>2]|0)+-1|0;t[i>>2]=a;if(!a){t[e>>2]=37;t[e+8>>2]=39;e=46}else e=46;break}case 35:{i=e+4|0;a=(t[i>>2]|0)+-1|0;t[i>>2]=a;if(!a){t[e>>2]=37;t[e+8>>2]=39;e=47}else e=47;break}case 37:{i=e+4|0;a=(t[i>>2]|0)+-1|0;t[i>>2]=a;if(!a){t[e>>2]=37;t[e+8>>2]=39;e=48}else e=48;break}case 38:{t[e>>2]=45;e=50;break}case 21:{t[e>>2]=45;e=49;break}default:e=Y0(e,A)|0}return e|0}function n2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 41:case 18:{t[e>>2]=48;e=51;break}default:e=Y0(e,A)|0}return e|0}function f2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=39;break}case 36:{t[e>>2]=37;t[e+8>>2]=39;e=46;break}case 21:{t[e>>2]=47;e=39;break}default:e=Y0(e,A)|0}return e|0}function l2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 17:{t[e>>2]=t[e+16>>2]|0?20:39;e=33;break}case 41:case 18:{t[e>>2]=49;e=22;break}default:e=Y0(e,A)|0}return e|0}function s2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;e:do{switch(A|0){case 15:{n=33;break}case 18:{f=a+24|0;n=0;while(1){l=t[f>>2]|0;if((n|0)>=8)break;if(Q5[l&127](a,r,i,t[62304+(n<<2)>>2]|0)|0){s=6;break}n=n+1|0}if((s|0)==6){t[e>>2]=50;n=n+23|0;break e}if(!(Q5[l&127](a,r,i,144413)|0))s=10;else{t[e>>2]=51;n=33}break}case 23:{t[e>>2]=52;n=33;break}default:s=10}}while(0);if((s|0)==10)n=Y0(e,A)|0;return n|0}function c2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0;e:do{switch(A|0){case 15:{e=33;break}case 20:{n=a+24|0;f=a+64|0;if(Q5[t[n>>2]&127](a,r+(t[f>>2]|0)|0,i,144454)|0){t[e>>2]=32;e=35;break e}if(Q5[t[n>>2]&127](a,r+(t[f>>2]|0)|0,i,144462)|0){t[e>>2]=32;e=36;break e}if(!(Q5[t[n>>2]&127](a,r+(t[f>>2]|0)|0,i,144471)|0))l=9;else{t[e>>2]=53;e=33}break}case 27:{t[e>>2]=32;e=37;break}default:l=9}}while(0);if((l|0)==9)e=Y0(e,A)|0;return e|0}function o2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 23:{t[e>>2]=54;e=33;break}default:e=Y0(e,A)|0}return e|0}function u2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 41:case 18:case 19:{t[e>>2]=55;e=31;break}default:e=Y0(e,A)|0}return e|0}function b2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 24:{t[e>>2]=50;e=33;break}case 21:{t[e>>2]=52;e=33;break}default:e=Y0(e,A)|0}return e|0}function h2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 18:{t[e>>2]=56;e=32;break}default:e=Y0(e,A)|0}return e|0}function w2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 24:{t[e>>2]=50;e=33;break}case 21:{t[e>>2]=54;e=33;break}default:e=Y0(e,A)|0}return e|0}function k2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=33;break}case 27:{t[e>>2]=32;e=38;break}default:e=Y0(e,A)|0}return e|0}function d2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 18:{t[e>>2]=57;e=10;break}default:e=Y0(e,A)|0}return e|0}function v2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=11;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144376)|0){t[e>>2]=58;e=11;break e}if(!(Q5[t[n>>2]&127](a,r,i,144383)|0))f=7;else{t[e>>2]=59;e=11}break}case 27:{t[e>>2]=37;t[e+8>>2]=11;e=12;break}default:f=7}}while(0);if((f|0)==7)e=Y0(e,A)|0;return e|0}function g2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 27:{t[e>>2]=60;e=13;break}default:e=Y0(e,A)|0}return e|0}function m2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 27:{t[e>>2]=58;e=14;break}default:e=Y0(e,A)|0}return e|0}function p2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0;switch(A|0){case 15:{e=11;break}case 17:{t[e>>2]=t[e+16>>2]|0?20:39;e=15;break}case 18:{if(!(Q5[t[a+24>>2]&127](a,r,i,144525)|0))n=5;else{t[e>>2]=61;e=11}break}default:n=5}if((n|0)==5)e=Y0(e,A)|0;return e|0}function E2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 18:{t[e>>2]=37;t[e+8>>2]=11;e=16;break}default:e=Y0(e,A)|0}return e|0}function B2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0;e:do{switch(A|0){case 15:{e=11;break}case 18:{n=a+24|0;if(Q5[t[n>>2]&127](a,r,i,144376)|0){t[e>>2]=62;e=11;break e}if(!(Q5[t[n>>2]&127](a,r,i,144383)|0))f=7;else{t[e>>2]=63;e=11}break}case 27:{t[e>>2]=37;t[e+8>>2]=11;e=12;break}default:f=7}}while(0);if((f|0)==7)e=Y0(e,A)|0;return e|0}function y2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 27:{t[e>>2]=64;e=13;break}default:e=Y0(e,A)|0}return e|0}function C2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 27:{t[e>>2]=62;e=14;break}default:e=Y0(e,A)|0}return e|0}function I2(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;switch(A|0){case 15:{e=11;break}case 17:{t[e>>2]=t[e+16>>2]|0?20:39;e=15;break}default:e=Y0(e,A)|0}return e|0}function Z2(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0;B=h;h=h+16|0;w=B;do{if(e>>>0<245){o=e>>>0<11?16:e+11&-8;e=o>>>3;b=t[47519]|0;r=b>>>e;if(r&3|0){A=(r&1^1)+e|0;e=190116+(A<<1<<2)|0;r=e+8|0;i=t[r>>2]|0;a=i+8|0;n=t[a>>2]|0;if((n|0)==(e|0))t[47519]=b&~(1<>2]=e;t[r>>2]=n}E=A<<3;t[i+4>>2]=E|3;E=i+E+4|0;t[E>>2]=t[E>>2]|1;E=a;h=B;return E|0}u=t[47521]|0;if(o>>>0>u>>>0){if(r|0){A=2<>>12&16;A=A>>>l;r=A>>>5&8;A=A>>>r;n=A>>>2&4;A=A>>>n;e=A>>>1&2;A=A>>>e;i=A>>>1&1;i=(r|l|n|e|i)+(A>>>i)|0;A=190116+(i<<1<<2)|0;e=A+8|0;n=t[e>>2]|0;l=n+8|0;r=t[l>>2]|0;if((r|0)==(A|0)){e=b&~(1<>2]=A;t[e>>2]=r;e=b}E=i<<3;f=E-o|0;t[n+4>>2]=o|3;a=n+o|0;t[a+4>>2]=f|1;t[n+E>>2]=f;if(u|0){i=t[47524]|0;A=u>>>3;r=190116+(A<<1<<2)|0;A=1<>2]|0}t[e>>2]=i;t[A+12>>2]=i;t[i+8>>2]=A;t[i+12>>2]=r}t[47521]=f;t[47524]=a;E=l;h=B;return E|0}s=t[47520]|0;if(s){r=(s&0-s)+-1|0;l=r>>>12&16;r=r>>>l;f=r>>>5&8;r=r>>>f;c=r>>>2&4;r=r>>>c;i=r>>>1&2;r=r>>>i;e=r>>>1&1;e=t[190380+((f|l|c|i|e)+(r>>>e)<<2)>>2]|0;r=(t[e+4>>2]&-8)-o|0;i=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){c=e;f=r}else{do{l=(t[i+4>>2]&-8)-o|0;c=l>>>0>>0;r=c?l:r;e=c?i:e;i=t[i+16+(((t[i+16>>2]|0)==0&1)<<2)>>2]|0}while((i|0)!=0);c=e;f=r}l=c+o|0;if(l>>>0>c>>>0){a=t[c+24>>2]|0;A=t[c+12>>2]|0;do{if((A|0)==(c|0)){e=c+20|0;A=t[e>>2]|0;if(!A){e=c+16|0;A=t[e>>2]|0;if(!A){r=0;break}}while(1){r=A+20|0;i=t[r>>2]|0;if(i|0){A=i;e=r;continue}r=A+16|0;i=t[r>>2]|0;if(!i)break;else{A=i;e=r}}t[e>>2]=0;r=A}else{r=t[c+8>>2]|0;t[r+12>>2]=A;t[A+8>>2]=r;r=A}}while(0);do{if(a|0){A=t[c+28>>2]|0;e=190380+(A<<2)|0;if((c|0)==(t[e>>2]|0)){t[e>>2]=r;if(!r){t[47520]=s&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=r;if(!r)break}t[r+24>>2]=a;A=t[c+16>>2]|0;if(A|0){t[r+16>>2]=A;t[A+24>>2]=r}A=t[c+20>>2]|0;if(A|0){t[r+20>>2]=A;t[A+24>>2]=r}}}while(0);if(f>>>0<16){E=f+o|0;t[c+4>>2]=E|3;E=c+E+4|0;t[E>>2]=t[E>>2]|1}else{t[c+4>>2]=o|3;t[l+4>>2]=f|1;t[l+f>>2]=f;if(u|0){i=t[47524]|0;A=u>>>3;r=190116+(A<<1<<2)|0;A=1<>2]|0}t[e>>2]=i;t[A+12>>2]=i;t[i+8>>2]=A;t[i+12>>2]=r}t[47521]=f;t[47524]=l}E=c+8|0;h=B;return E|0}else u=o}else u=o}else u=o}else if(e>>>0<=4294967231){e=e+11|0;o=e&-8;c=t[47520]|0;if(c){i=0-o|0;e=e>>>8;if(e)if(o>>>0>16777215)s=31;else{b=(e+1048320|0)>>>16&8;p=e<>>16&4;p=p<>>16&2;s=14-(u|b|s)+(p<>>15)|0;s=o>>>(s+7|0)&1|s<<1}else s=0;r=t[190380+(s<<2)>>2]|0;e:do{if(!r){r=0;e=0;p=57}else{e=0;l=r;f=o<<((s|0)==31?0:25-(s>>>1)|0);r=0;while(1){a=(t[l+4>>2]&-8)-o|0;if(a>>>0>>0)if(!a){i=0;r=l;e=l;p=61;break e}else{e=l;i=a}a=t[l+20>>2]|0;l=t[l+16+(f>>>31<<2)>>2]|0;r=(a|0)==0|(a|0)==(l|0)?r:a;a=(l|0)==0;if(a){p=57;break}else f=f<<((a^1)&1)}}}while(0);if((p|0)==57){if((r|0)==0&(e|0)==0){e=2<>>12&16;b=b>>>l;f=b>>>5&8;b=b>>>f;s=b>>>2&4;b=b>>>s;u=b>>>1&2;b=b>>>u;r=b>>>1&1;e=0;r=t[190380+((f|l|s|u|r)+(b>>>r)<<2)>>2]|0}if(!r){l=e;f=i}else p=61}if((p|0)==61)while(1){p=0;u=(t[r+4>>2]&-8)-o|0;b=u>>>0>>0;i=b?u:i;e=b?r:e;r=t[r+16+(((t[r+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){l=e;f=i;break}else p=61}if((l|0)!=0?f>>>0<((t[47521]|0)-o|0)>>>0:0){n=l+o|0;if(n>>>0<=l>>>0){E=0;h=B;return E|0}a=t[l+24>>2]|0;A=t[l+12>>2]|0;do{if((A|0)==(l|0)){e=l+20|0;A=t[e>>2]|0;if(!A){e=l+16|0;A=t[e>>2]|0;if(!A){A=0;break}}while(1){r=A+20|0;i=t[r>>2]|0;if(i|0){A=i;e=r;continue}r=A+16|0;i=t[r>>2]|0;if(!i)break;else{A=i;e=r}}t[e>>2]=0}else{E=t[l+8>>2]|0;t[E+12>>2]=A;t[A+8>>2]=E}}while(0);do{if(a){e=t[l+28>>2]|0;r=190380+(e<<2)|0;if((l|0)==(t[r>>2]|0)){t[r>>2]=A;if(!A){i=c&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){i=c;break}}t[A+24>>2]=a;e=t[l+16>>2]|0;if(e|0){t[A+16>>2]=e;t[e+24>>2]=A}e=t[l+20>>2]|0;if(e){t[A+20>>2]=e;t[e+24>>2]=A;i=c}else i=c}else i=c}while(0);do{if(f>>>0>=16){t[l+4>>2]=o|3;t[n+4>>2]=f|1;t[n+f>>2]=f;A=f>>>3;if(f>>>0<256){r=190116+(A<<1<<2)|0;e=t[47519]|0;A=1<>2]|0}t[e>>2]=n;t[A+12>>2]=n;t[n+8>>2]=A;t[n+12>>2]=r;break}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{p=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;A=14-(m|p|A)+(E<>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=190380+(A<<2)|0;t[n+28>>2]=A;e=n+16|0;t[e+4>>2]=0;t[e>>2]=0;e=1<>2]=n;t[n+24>>2]=r;t[n+12>>2]=n;t[n+8>>2]=n;break}e=f<<((A|0)==31?0:25-(A>>>1)|0);r=t[r>>2]|0;while(1){if((t[r+4>>2]&-8|0)==(f|0)){p=97;break}i=r+16+(e>>>31<<2)|0;A=t[i>>2]|0;if(!A){p=96;break}else{e=e<<1;r=A}}if((p|0)==96){t[i>>2]=n;t[n+24>>2]=r;t[n+12>>2]=n;t[n+8>>2]=n;break}else if((p|0)==97){p=r+8|0;E=t[p>>2]|0;t[E+12>>2]=n;t[p>>2]=n;t[n+8>>2]=E;t[n+12>>2]=r;t[n+24>>2]=0;break}}else{E=f+o|0;t[l+4>>2]=E|3;E=l+E+4|0;t[E>>2]=t[E>>2]|1}}while(0);E=l+8|0;h=B;return E|0}else u=o}else u=o}else u=-1}while(0);r=t[47521]|0;if(r>>>0>=u>>>0){A=r-u|0;e=t[47524]|0;if(A>>>0>15){E=e+u|0;t[47524]=E;t[47521]=A;t[E+4>>2]=A|1;t[e+r>>2]=A;t[e+4>>2]=u|3}else{t[47521]=0;t[47524]=0;t[e+4>>2]=r|3;E=e+r+4|0;t[E>>2]=t[E>>2]|1}E=e+8|0;h=B;return E|0}l=t[47522]|0;if(l>>>0>u>>>0){m=l-u|0;t[47522]=m;E=t[47525]|0;p=E+u|0;t[47525]=p;t[p+4>>2]=m|1;t[E+4>>2]=u|3;E=E+8|0;h=B;return E|0}if(!(t[47637]|0)){t[47639]=4096;t[47638]=4096;t[47640]=-1;t[47641]=-1;t[47642]=0;t[47630]=0;t[47637]=w&-16^1431655768;e=4096}else e=t[47639]|0;s=u+48|0;c=u+47|0;f=e+c|0;a=0-e|0;o=f&a;if(o>>>0<=u>>>0){E=0;h=B;return E|0}e=t[47629]|0;if(e|0?(b=t[47627]|0,w=b+o|0,w>>>0<=b>>>0|w>>>0>e>>>0):0){E=0;h=B;return E|0}e:do{if(!(t[47630]&4)){r=t[47525]|0;A:do{if(r){i=190524;while(1){e=t[i>>2]|0;if(e>>>0<=r>>>0?(v=i+4|0,(e+(t[v>>2]|0)|0)>>>0>r>>>0):0)break;e=t[i+8>>2]|0;if(!e){p=118;break A}else i=e}A=f-l&a;if(A>>>0<2147483647){e=W6(A|0)|0;if((e|0)==((t[i>>2]|0)+(t[v>>2]|0)|0)){if((e|0)!=(-1|0)){f=A;n=e;p=135;break e}}else{i=e;p=126}}else A=0}else p=118}while(0);do{if((p|0)==118){r=W6(0)|0;if((r|0)!=(-1|0)?(A=r,k=t[47638]|0,d=k+-1|0,A=((d&A|0)==0?0:(d+A&0-k)-A|0)+o|0,k=t[47627]|0,d=A+k|0,A>>>0>u>>>0&A>>>0<2147483647):0){v=t[47629]|0;if(v|0?d>>>0<=k>>>0|d>>>0>v>>>0:0){A=0;break}e=W6(A|0)|0;if((e|0)==(r|0)){f=A;n=r;p=135;break e}else{i=e;p=126}}else A=0}}while(0);do{if((p|0)==126){r=0-A|0;if(!(s>>>0>A>>>0&(A>>>0<2147483647&(i|0)!=(-1|0))))if((i|0)==(-1|0)){A=0;break}else{f=A;n=i;p=135;break e}e=t[47639]|0;e=c-A+e&0-e;if(e>>>0>=2147483647){f=A;n=i;p=135;break e}if((W6(e|0)|0)==(-1|0)){W6(r|0)|0;A=0;break}else{f=e+A|0;n=i;p=135;break e}}}while(0);t[47630]=t[47630]|4;p=133}else{A=0;p=133}}while(0);if(((p|0)==133?o>>>0<2147483647:0)?(n=W6(o|0)|0,v=W6(0)|0,g=v-n|0,m=g>>>0>(u+40|0)>>>0,!((n|0)==(-1|0)|m^1|n>>>0>>0&((n|0)!=(-1|0)&(v|0)!=(-1|0))^1)):0){f=m?g:A;p=135}if((p|0)==135){A=(t[47627]|0)+f|0;t[47627]=A;if(A>>>0>(t[47628]|0)>>>0)t[47628]=A;s=t[47525]|0;do{if(s){A=190524;while(1){e=t[A>>2]|0;r=A+4|0;i=t[r>>2]|0;if((n|0)==(e+i|0)){p=143;break}a=t[A+8>>2]|0;if(!a)break;else A=a}if(((p|0)==143?(t[A+12>>2]&8|0)==0:0)?n>>>0>s>>>0&e>>>0<=s>>>0:0){t[r>>2]=i+f;E=(t[47522]|0)+f|0;m=s+8|0;m=(m&7|0)==0?0:0-m&7;p=s+m|0;m=E-m|0;t[47525]=p;t[47522]=m;t[p+4>>2]=m|1;t[s+E+4>>2]=40;t[47526]=t[47641];break}if(n>>>0<(t[47523]|0)>>>0)t[47523]=n;e=n+f|0;A=190524;while(1){if((t[A>>2]|0)==(e|0)){p=151;break}A=t[A+8>>2]|0;if(!A){e=190524;break}}if((p|0)==151)if(!(t[A+12>>2]&8)){t[A>>2]=n;o=A+4|0;t[o>>2]=(t[o>>2]|0)+f;o=n+8|0;o=n+((o&7|0)==0?0:0-o&7)|0;A=e+8|0;A=e+((A&7|0)==0?0:0-A&7)|0;c=o+u|0;l=A-o-u|0;t[o+4>>2]=u|3;do{if((s|0)!=(A|0)){if((t[47524]|0)==(A|0)){E=(t[47521]|0)+l|0;t[47521]=E;t[47524]=c;t[c+4>>2]=E|1;t[c+E>>2]=E;break}e=t[A+4>>2]|0;if((e&3|0)==1){f=e&-8;i=e>>>3;e:do{if(e>>>0<256){e=t[A+8>>2]|0;r=t[A+12>>2]|0;if((r|0)==(e|0)){t[47519]=t[47519]&~(1<>2]=r;t[r+8>>2]=e;break}}else{n=t[A+24>>2]|0;e=t[A+12>>2]|0;do{if((e|0)==(A|0)){i=A+16|0;r=i+4|0;e=t[r>>2]|0;if(!e){e=t[i>>2]|0;if(!e){e=0;break}else r=i}while(1){i=e+20|0;a=t[i>>2]|0;if(a|0){e=a;r=i;continue}i=e+16|0;a=t[i>>2]|0;if(!a)break;else{e=a;r=i}}t[r>>2]=0}else{E=t[A+8>>2]|0;t[E+12>>2]=e;t[e+8>>2]=E}}while(0);if(!n)break;r=t[A+28>>2]|0;i=190380+(r<<2)|0;do{if((t[i>>2]|0)!=(A|0)){t[n+16+(((t[n+16>>2]|0)!=(A|0)&1)<<2)>>2]=e;if(!e)break e}else{t[i>>2]=e;if(e|0)break;t[47520]=t[47520]&~(1<>2]=n;r=A+16|0;i=t[r>>2]|0;if(i|0){t[e+16>>2]=i;t[i+24>>2]=e}r=t[r+4>>2]|0;if(!r)break;t[e+20>>2]=r;t[r+24>>2]=e}}while(0);A=A+f|0;a=f+l|0}else a=l;A=A+4|0;t[A>>2]=t[A>>2]&-2;t[c+4>>2]=a|1;t[c+a>>2]=a;A=a>>>3;if(a>>>0<256){r=190116+(A<<1<<2)|0;e=t[47519]|0;A=1<>2]|0}t[e>>2]=c;t[A+12>>2]=c;t[c+8>>2]=A;t[c+12>>2]=r;break}A=a>>>8;do{if(!A)A=0;else{if(a>>>0>16777215){A=31;break}p=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;A=14-(m|p|A)+(E<>>15)|0;A=a>>>(A+7|0)&1|A<<1}}while(0);i=190380+(A<<2)|0;t[c+28>>2]=A;e=c+16|0;t[e+4>>2]=0;t[e>>2]=0;e=t[47520]|0;r=1<>2]=c;t[c+24>>2]=i;t[c+12>>2]=c;t[c+8>>2]=c;break}e=a<<((A|0)==31?0:25-(A>>>1)|0);r=t[i>>2]|0;while(1){if((t[r+4>>2]&-8|0)==(a|0)){p=192;break}i=r+16+(e>>>31<<2)|0;A=t[i>>2]|0;if(!A){p=191;break}else{e=e<<1;r=A}}if((p|0)==191){t[i>>2]=c;t[c+24>>2]=r;t[c+12>>2]=c;t[c+8>>2]=c;break}else if((p|0)==192){p=r+8|0;E=t[p>>2]|0;t[E+12>>2]=c;t[p>>2]=c;t[c+8>>2]=E;t[c+12>>2]=r;t[c+24>>2]=0;break}}else{E=(t[47522]|0)+l|0;t[47522]=E;t[47525]=c;t[c+4>>2]=E|1}}while(0);E=o+8|0;h=B;return E|0}else e=190524;while(1){A=t[e>>2]|0;if(A>>>0<=s>>>0?(E=A+(t[e+4>>2]|0)|0,E>>>0>s>>>0):0)break;e=t[e+8>>2]|0}a=E+-47|0;e=a+8|0;e=a+((e&7|0)==0?0:0-e&7)|0;a=s+16|0;e=e>>>0>>0?s:e;A=e+8|0;r=f+-40|0;m=n+8|0;m=(m&7|0)==0?0:0-m&7;p=n+m|0;m=r-m|0;t[47525]=p;t[47522]=m;t[p+4>>2]=m|1;t[n+r+4>>2]=40;t[47526]=t[47641];r=e+4|0;t[r>>2]=27;t[A>>2]=t[47631];t[A+4>>2]=t[47632];t[A+8>>2]=t[47633];t[A+12>>2]=t[47634];t[47631]=n;t[47632]=f;t[47634]=0;t[47633]=A;A=e+24|0;do{p=A;A=A+4|0;t[A>>2]=7}while((p+8|0)>>>0>>0);if((e|0)!=(s|0)){n=e-s|0;t[r>>2]=t[r>>2]&-2;t[s+4>>2]=n|1;t[e>>2]=n;A=n>>>3;if(n>>>0<256){r=190116+(A<<1<<2)|0;e=t[47519]|0;A=1<>2]|0}t[e>>2]=s;t[A+12>>2]=s;t[s+8>>2]=A;t[s+12>>2]=r;break}A=n>>>8;if(A)if(n>>>0>16777215)r=31;else{p=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;r=14-(m|p|r)+(E<>>15)|0;r=n>>>(r+7|0)&1|r<<1}else r=0;i=190380+(r<<2)|0;t[s+28>>2]=r;t[s+20>>2]=0;t[a>>2]=0;A=t[47520]|0;e=1<>2]=s;t[s+24>>2]=i;t[s+12>>2]=s;t[s+8>>2]=s;break}e=n<<((r|0)==31?0:25-(r>>>1)|0);r=t[i>>2]|0;while(1){if((t[r+4>>2]&-8|0)==(n|0)){p=213;break}i=r+16+(e>>>31<<2)|0;A=t[i>>2]|0;if(!A){p=212;break}else{e=e<<1;r=A}}if((p|0)==212){t[i>>2]=s;t[s+24>>2]=r;t[s+12>>2]=s;t[s+8>>2]=s;break}else if((p|0)==213){p=r+8|0;E=t[p>>2]|0;t[E+12>>2]=s;t[p>>2]=s;t[s+8>>2]=E;t[s+12>>2]=r;t[s+24>>2]=0;break}}}else{E=t[47523]|0;if((E|0)==0|n>>>0>>0)t[47523]=n;t[47631]=n;t[47632]=f;t[47634]=0;t[47528]=t[47637];t[47527]=-1;t[47532]=190116;t[47531]=190116;t[47534]=190124;t[47533]=190124;t[47536]=190132;t[47535]=190132;t[47538]=190140;t[47537]=190140;t[47540]=190148;t[47539]=190148;t[47542]=190156;t[47541]=190156;t[47544]=190164;t[47543]=190164;t[47546]=190172;t[47545]=190172;t[47548]=190180;t[47547]=190180;t[47550]=190188;t[47549]=190188;t[47552]=190196;t[47551]=190196;t[47554]=190204;t[47553]=190204;t[47556]=190212;t[47555]=190212;t[47558]=190220;t[47557]=190220;t[47560]=190228;t[47559]=190228;t[47562]=190236;t[47561]=190236;t[47564]=190244;t[47563]=190244;t[47566]=190252;t[47565]=190252;t[47568]=190260;t[47567]=190260;t[47570]=190268;t[47569]=190268;t[47572]=190276;t[47571]=190276;t[47574]=190284;t[47573]=190284;t[47576]=190292;t[47575]=190292;t[47578]=190300;t[47577]=190300;t[47580]=190308;t[47579]=190308;t[47582]=190316;t[47581]=190316;t[47584]=190324;t[47583]=190324;t[47586]=190332;t[47585]=190332;t[47588]=190340;t[47587]=190340;t[47590]=190348;t[47589]=190348;t[47592]=190356;t[47591]=190356;t[47594]=190364;t[47593]=190364;E=f+-40|0;m=n+8|0;m=(m&7|0)==0?0:0-m&7;p=n+m|0;m=E-m|0;t[47525]=p;t[47522]=m;t[p+4>>2]=m|1;t[n+E+4>>2]=40;t[47526]=t[47641]}}while(0);A=t[47522]|0;if(A>>>0>u>>>0){m=A-u|0;t[47522]=m;E=t[47525]|0;p=E+u|0;t[47525]=p;t[p+4>>2]=m|1;t[E+4>>2]=u|3;E=E+8|0;h=B;return E|0}}t[(R2()|0)>>2]=12;E=0;h=B;return E|0}function G2(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0,s=0;if(!e)return;r=e+-8|0;a=t[47523]|0;e=t[e+-4>>2]|0;A=e&-8;s=r+A|0;do{if(!(e&1)){i=t[r>>2]|0;if(!(e&3))return;f=r+(0-i)|0;n=i+A|0;if(f>>>0>>0)return;if((t[47524]|0)==(f|0)){e=s+4|0;A=t[e>>2]|0;if((A&3|0)!=3){l=f;A=n;break}t[47521]=n;t[e>>2]=A&-2;t[f+4>>2]=n|1;t[f+n>>2]=n;return}r=i>>>3;if(i>>>0<256){e=t[f+8>>2]|0;A=t[f+12>>2]|0;if((A|0)==(e|0)){t[47519]=t[47519]&~(1<>2]=A;t[A+8>>2]=e;l=f;A=n;break}}a=t[f+24>>2]|0;e=t[f+12>>2]|0;do{if((e|0)==(f|0)){r=f+16|0;A=r+4|0;e=t[A>>2]|0;if(!e){e=t[r>>2]|0;if(!e){e=0;break}else A=r}while(1){r=e+20|0;i=t[r>>2]|0;if(i|0){e=i;A=r;continue}r=e+16|0;i=t[r>>2]|0;if(!i)break;else{e=i;A=r}}t[A>>2]=0}else{l=t[f+8>>2]|0;t[l+12>>2]=e;t[e+8>>2]=l}}while(0);if(a){A=t[f+28>>2]|0;r=190380+(A<<2)|0;if((t[r>>2]|0)==(f|0)){t[r>>2]=e;if(!e){t[47520]=t[47520]&~(1<>2]|0)!=(f|0)&1)<<2)>>2]=e;if(!e){l=f;A=n;break}}t[e+24>>2]=a;A=f+16|0;r=t[A>>2]|0;if(r|0){t[e+16>>2]=r;t[r+24>>2]=e}A=t[A+4>>2]|0;if(A){t[e+20>>2]=A;t[A+24>>2]=e;l=f;A=n}else{l=f;A=n}}else{l=f;A=n}}else{l=r;f=r}}while(0);if(f>>>0>=s>>>0)return;e=s+4|0;i=t[e>>2]|0;if(!(i&1))return;if(!(i&2)){if((t[47525]|0)==(s|0)){s=(t[47522]|0)+A|0;t[47522]=s;t[47525]=l;t[l+4>>2]=s|1;if((l|0)!=(t[47524]|0))return;t[47524]=0;t[47521]=0;return}if((t[47524]|0)==(s|0)){s=(t[47521]|0)+A|0;t[47521]=s;t[47524]=f;t[l+4>>2]=s|1;t[f+s>>2]=s;return}a=(i&-8)+A|0;r=i>>>3;do{if(i>>>0<256){A=t[s+8>>2]|0;e=t[s+12>>2]|0;if((e|0)==(A|0)){t[47519]=t[47519]&~(1<>2]=e;t[e+8>>2]=A;break}}else{n=t[s+24>>2]|0;e=t[s+12>>2]|0;do{if((e|0)==(s|0)){r=s+16|0;A=r+4|0;e=t[A>>2]|0;if(!e){e=t[r>>2]|0;if(!e){r=0;break}else A=r}while(1){r=e+20|0;i=t[r>>2]|0;if(i|0){e=i;A=r;continue}r=e+16|0;i=t[r>>2]|0;if(!i)break;else{e=i;A=r}}t[A>>2]=0;r=e}else{r=t[s+8>>2]|0;t[r+12>>2]=e;t[e+8>>2]=r;r=e}}while(0);if(n|0){e=t[s+28>>2]|0;A=190380+(e<<2)|0;if((t[A>>2]|0)==(s|0)){t[A>>2]=r;if(!r){t[47520]=t[47520]&~(1<>2]|0)!=(s|0)&1)<<2)>>2]=r;if(!r)break}t[r+24>>2]=n;e=s+16|0;A=t[e>>2]|0;if(A|0){t[r+16>>2]=A;t[A+24>>2]=r}e=t[e+4>>2]|0;if(e|0){t[r+20>>2]=e;t[e+24>>2]=r}}}}while(0);t[l+4>>2]=a|1;t[f+a>>2]=a;if((l|0)==(t[47524]|0)){t[47521]=a;return}}else{t[e>>2]=i&-2;t[l+4>>2]=A|1;t[f+A>>2]=A;a=A}e=a>>>3;if(a>>>0<256){r=190116+(e<<1<<2)|0;A=t[47519]|0;e=1<>2]|0}t[A>>2]=l;t[e+12>>2]=l;t[l+8>>2]=e;t[l+12>>2]=r;return}e=a>>>8;if(e)if(a>>>0>16777215)e=31;else{f=(e+1048320|0)>>>16&8;s=e<>>16&4;s=s<>>16&2;e=14-(n|f|e)+(s<>>15)|0;e=a>>>(e+7|0)&1|e<<1}else e=0;i=190380+(e<<2)|0;t[l+28>>2]=e;t[l+20>>2]=0;t[l+16>>2]=0;A=t[47520]|0;r=1<>>1)|0);r=t[i>>2]|0;while(1){if((t[r+4>>2]&-8|0)==(a|0)){e=73;break}i=r+16+(A>>>31<<2)|0;e=t[i>>2]|0;if(!e){e=72;break}else{A=A<<1;r=e}}if((e|0)==72){t[i>>2]=l;t[l+24>>2]=r;t[l+12>>2]=l;t[l+8>>2]=l;break}else if((e|0)==73){f=r+8|0;s=t[f>>2]|0;t[s+12>>2]=l;t[f>>2]=l;t[l+8>>2]=s;t[l+12>>2]=r;t[l+24>>2]=0;break}}else{t[47520]=A|r;t[i>>2]=l;t[l+24>>2]=i;t[l+12>>2]=l;t[l+8>>2]=l}}while(0);s=(t[47527]|0)+-1|0;t[47527]=s;if(!s)e=190532;else return;while(1){e=t[e>>2]|0;if(!e)break;else e=e+8|0}t[47527]=-1;return}function L2(e,A){e=e|0;A=A|0;var r=0;if(e){r=P(A,e)|0;if((A|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(A|0)?r:-1}else r=0;e=Z2(r)|0;if(!e)return e|0;if(!(t[e+-4>>2]&3))return e|0;z6(e|0,0,r|0)|0;return e|0}function Q2(e,A){e=e|0;A=A|0;var r=0,i=0;if(!e){A=Z2(A)|0;return A|0}if(A>>>0>4294967231){t[(R2()|0)>>2]=12;A=0;return A|0}r=D2(e+-8|0,A>>>0<11?16:A+11&-8)|0;if(r|0){A=r+8|0;return A|0}r=Z2(A)|0;if(!r){A=0;return A|0}i=t[e+-4>>2]|0;i=(i&-8)-((i&3|0)==0?8:4)|0;Q6(r|0,e|0,(i>>>0>>0?i:A)|0)|0;G2(e);A=r;return A|0}function D2(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;o=e+4|0;u=t[o>>2]|0;r=u&-8;l=e+r|0;if(!(u&3)){if(A>>>0<256){e=0;return e|0}if(r>>>0>=(A+4|0)>>>0?(r-A|0)>>>0<=t[47639]<<1>>>0:0)return e|0;e=0;return e|0}if(r>>>0>=A>>>0){r=r-A|0;if(r>>>0<=15)return e|0;c=e+A|0;t[o>>2]=u&1|A|2;t[c+4>>2]=r|3;u=l+4|0;t[u>>2]=t[u>>2]|1;z2(c,r);return e|0}if((t[47525]|0)==(l|0)){c=(t[47522]|0)+r|0;r=c-A|0;i=e+A|0;if(c>>>0<=A>>>0){e=0;return e|0}t[o>>2]=u&1|A|2;t[i+4>>2]=r|1;t[47525]=i;t[47522]=r;return e|0}if((t[47524]|0)==(l|0)){i=(t[47521]|0)+r|0;if(i>>>0>>0){e=0;return e|0}r=i-A|0;if(r>>>0>15){c=e+A|0;i=e+i|0;t[o>>2]=u&1|A|2;t[c+4>>2]=r|1;t[i>>2]=r;i=i+4|0;t[i>>2]=t[i>>2]&-2;i=c}else{t[o>>2]=u&1|i|2;i=e+i+4|0;t[i>>2]=t[i>>2]|1;i=0;r=0}t[47521]=r;t[47524]=i;return e|0}i=t[l+4>>2]|0;if(i&2|0){e=0;return e|0}s=(i&-8)+r|0;if(s>>>0>>0){e=0;return e|0}c=s-A|0;a=i>>>3;do{if(i>>>0<256){i=t[l+8>>2]|0;r=t[l+12>>2]|0;if((r|0)==(i|0)){t[47519]=t[47519]&~(1<>2]=r;t[r+8>>2]=i;break}}else{f=t[l+24>>2]|0;r=t[l+12>>2]|0;do{if((r|0)==(l|0)){a=l+16|0;i=a+4|0;r=t[i>>2]|0;if(!r){r=t[a>>2]|0;if(!r){a=0;break}else n=a}else n=i;while(1){a=r+20|0;i=t[a>>2]|0;if(i|0){r=i;n=a;continue}i=r+16|0;a=t[i>>2]|0;if(!a)break;else{r=a;n=i}}t[n>>2]=0;a=r}else{a=t[l+8>>2]|0;t[a+12>>2]=r;t[r+8>>2]=a;a=r}}while(0);if(f|0){r=t[l+28>>2]|0;i=190380+(r<<2)|0;if((t[i>>2]|0)==(l|0)){t[i>>2]=a;if(!a){t[47520]=t[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=a;if(!a)break}t[a+24>>2]=f;r=l+16|0;i=t[r>>2]|0;if(i|0){t[a+16>>2]=i;t[i+24>>2]=a}r=t[r+4>>2]|0;if(r|0){t[a+20>>2]=r;t[r+24>>2]=a}}}}while(0);if(c>>>0<16){t[o>>2]=s|u&1|2;u=e+s+4|0;t[u>>2]=t[u>>2]|1;return e|0}else{l=e+A|0;t[o>>2]=u&1|A|2;t[l+4>>2]=c|3;u=e+s+4|0;t[u>>2]=t[u>>2]|1;z2(l,c);return e|0}return 0}function z2(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;l=e+A|0;r=t[e+4>>2]|0;do{if(!(r&1)){a=t[e>>2]|0;if(!(r&3))return;f=e+(0-a)|0;A=a+A|0;if((t[47524]|0)==(f|0)){e=l+4|0;r=t[e>>2]|0;if((r&3|0)!=3)break;t[47521]=A;t[e>>2]=r&-2;t[f+4>>2]=A|1;t[l>>2]=A;return}i=a>>>3;if(a>>>0<256){e=t[f+8>>2]|0;r=t[f+12>>2]|0;if((r|0)==(e|0)){t[47519]=t[47519]&~(1<>2]=r;t[r+8>>2]=e;break}}n=t[f+24>>2]|0;e=t[f+12>>2]|0;do{if((e|0)==(f|0)){i=f+16|0;r=i+4|0;e=t[r>>2]|0;if(!e){e=t[i>>2]|0;if(!e){e=0;break}else r=i}while(1){i=e+20|0;a=t[i>>2]|0;if(a|0){e=a;r=i;continue}i=e+16|0;a=t[i>>2]|0;if(!a)break;else{e=a;r=i}}t[r>>2]=0}else{a=t[f+8>>2]|0;t[a+12>>2]=e;t[e+8>>2]=a}}while(0);if(n){r=t[f+28>>2]|0;i=190380+(r<<2)|0;if((t[i>>2]|0)==(f|0)){t[i>>2]=e;if(!e){t[47520]=t[47520]&~(1<>2]|0)!=(f|0)&1)<<2)>>2]=e;if(!e)break}t[e+24>>2]=n;r=f+16|0;i=t[r>>2]|0;if(i|0){t[e+16>>2]=i;t[i+24>>2]=e}r=t[r+4>>2]|0;if(r){t[e+20>>2]=r;t[r+24>>2]=e}}}else f=e}while(0);e=l+4|0;i=t[e>>2]|0;if(!(i&2)){if((t[47525]|0)==(l|0)){l=(t[47522]|0)+A|0;t[47522]=l;t[47525]=f;t[f+4>>2]=l|1;if((f|0)!=(t[47524]|0))return;t[47524]=0;t[47521]=0;return}if((t[47524]|0)==(l|0)){l=(t[47521]|0)+A|0;t[47521]=l;t[47524]=f;t[f+4>>2]=l|1;t[f+l>>2]=l;return}a=(i&-8)+A|0;r=i>>>3;do{if(i>>>0<256){e=t[l+8>>2]|0;A=t[l+12>>2]|0;if((A|0)==(e|0)){t[47519]=t[47519]&~(1<>2]=A;t[A+8>>2]=e;break}}else{n=t[l+24>>2]|0;A=t[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;e=r+4|0;A=t[e>>2]|0;if(!A){A=t[r>>2]|0;if(!A){r=0;break}else e=r}while(1){r=A+20|0;i=t[r>>2]|0;if(i|0){A=i;e=r;continue}r=A+16|0;i=t[r>>2]|0;if(!i)break;else{A=i;e=r}}t[e>>2]=0;r=A}else{r=t[l+8>>2]|0;t[r+12>>2]=A;t[A+8>>2]=r;r=A}}while(0);if(n|0){A=t[l+28>>2]|0;e=190380+(A<<2)|0;if((t[e>>2]|0)==(l|0)){t[e>>2]=r;if(!r){t[47520]=t[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=r;if(!r)break}t[r+24>>2]=n;A=l+16|0;e=t[A>>2]|0;if(e|0){t[r+16>>2]=e;t[e+24>>2]=r}A=t[A+4>>2]|0;if(A|0){t[r+20>>2]=A;t[A+24>>2]=r}}}}while(0);t[f+4>>2]=a|1;t[f+a>>2]=a;if((f|0)==(t[47524]|0)){t[47521]=a;return}}else{t[e>>2]=i&-2;t[f+4>>2]=A|1;t[f+A>>2]=A;a=A}A=a>>>3;if(a>>>0<256){r=190116+(A<<1<<2)|0;e=t[47519]|0;A=1<>2]|0}t[e>>2]=f;t[A+12>>2]=f;t[f+8>>2]=A;t[f+12>>2]=r;return}A=a>>>8;if(A)if(a>>>0>16777215)A=31;else{n=(A+1048320|0)>>>16&8;l=A<>>16&4;l=l<>>16&2;A=14-(i|n|A)+(l<>>15)|0;A=a>>>(A+7|0)&1|A<<1}else A=0;i=190380+(A<<2)|0;t[f+28>>2]=A;t[f+20>>2]=0;t[f+16>>2]=0;e=t[47520]|0;r=1<>2]=f;t[f+24>>2]=i;t[f+12>>2]=f;t[f+8>>2]=f;return}e=a<<((A|0)==31?0:25-(A>>>1)|0);r=t[i>>2]|0;while(1){if((t[r+4>>2]&-8|0)==(a|0)){A=69;break}i=r+16+(e>>>31<<2)|0;A=t[i>>2]|0;if(!A){A=68;break}else{e=e<<1;r=A}}if((A|0)==68){t[i>>2]=f;t[f+24>>2]=r;t[f+12>>2]=f;t[f+8>>2]=f;return}else if((A|0)==69){n=r+8|0;l=t[n>>2]|0;t[l+12>>2]=f;t[n>>2]=f;t[f+8>>2]=l;t[f+12>>2]=r;t[f+24>>2]=0;return}}function W2(e,A){e=e|0;A=A|0;if(e>>>0<9){A=Z2(A)|0;return A|0}else{A=Y2(e,A)|0;return A|0}return 0}function Y2(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0;e=e>>>0>16?e:16;if(e+-1&e){r=16;while(1)if(r>>>0>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=A>>>0){t[(R2()|0)>>2]=12;f=0;return f|0}n=A>>>0<11?16:A+11&-8;r=Z2(n+12+e|0)|0;if(!r){f=0;return f|0}a=r+-8|0;do{if(e+-1&r){i=(r+e+-1&0-e)+-8|0;A=a;i=(i-A|0)>>>0>15?i:i+e|0;A=i-A|0;e=r+-4|0;l=t[e>>2]|0;r=(l&-8)-A|0;if(!(l&3)){t[i>>2]=(t[a>>2]|0)+A;t[i+4>>2]=r;e=i;A=i;break}else{l=i+4|0;t[l>>2]=r|t[l>>2]&1|2;r=i+r+4|0;t[r>>2]=t[r>>2]|1;t[e>>2]=A|t[e>>2]&1|2;t[l>>2]=t[l>>2]|1;z2(a,A);e=i;A=i;break}}else{e=a;A=a}}while(0);e=e+4|0;r=t[e>>2]|0;if(r&3|0?(f=r&-8,f>>>0>(n+16|0)>>>0):0){l=f-n|0;a=A+n|0;t[e>>2]=n|r&1|2;t[a+4>>2]=l|3;f=A+f+4|0;t[f>>2]=t[f>>2]|1;z2(a,l)}l=A+8|0;return l|0}function F2(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;t[r>>2]=x2(t[e+60>>2]|0)|0;e=N2(Ne(6,r|0)|0)|0;h=A;return e|0}function M2(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0;c=h;h=h+32|0;a=c;l=c+16|0;t[l>>2]=A;n=l+4|0;s=e+48|0;o=t[s>>2]|0;t[n>>2]=r-((o|0)!=0&1);f=e+44|0;t[l+8>>2]=t[f>>2];t[l+12>>2]=o;t[a>>2]=t[e+60>>2];t[a+4>>2]=l;t[a+8>>2]=2;a=N2(Ze(145,a|0)|0)|0;if((a|0)>=1){l=t[n>>2]|0;if(a>>>0>l>>>0){n=t[f>>2]|0;f=e+4|0;t[f>>2]=n;t[e+8>>2]=n+(a-l);if(!(t[s>>2]|0))a=r;else{t[f>>2]=n+1;i[A+(r+-1)>>0]=i[n>>0]|0;a=r}}}else t[e>>2]=t[e>>2]|a&48^16;h=c;return a|0}function V2(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;a=h;h=h+32|0;n=a;i=a+20|0;t[n>>2]=t[e+60>>2];t[n+4>>2]=0;t[n+8>>2]=A;t[n+12>>2]=i;t[n+16>>2]=r;if((N2(Ie(140,n|0)|0)|0)<0){t[i>>2]=-1;e=-1}else e=t[i>>2]|0;h=a;return e|0}function N2(e){e=e|0;if(e>>>0>4294963200){t[(R2()|0)>>2]=0-e;e=-1}return e|0}function R2(){return 190572}function x2(e){e=e|0;return e|0}function J2(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0;n=h;h=h+32|0;a=n;t[e+36>>2]=18;if((t[e>>2]&64|0)==0?(t[a>>2]=t[e+60>>2],t[a+4>>2]=21523,t[a+8>>2]=n+16,Ve(54,a|0)|0):0)i[e+75>>0]=-1;a=H2(e,A,r)|0;h=n;return a|0}function H2(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;u=h;h=h+48|0;c=u+16|0;n=u;a=u+32|0;l=e+28|0;i=t[l>>2]|0;t[a>>2]=i;s=e+20|0;i=(t[s>>2]|0)-i|0;t[a+4>>2]=i;t[a+8>>2]=A;t[a+12>>2]=r;i=i+r|0;f=e+60|0;t[n>>2]=t[f>>2];t[n+4>>2]=a;t[n+8>>2]=2;n=N2(Ge(146,n|0)|0)|0;e:do{if((i|0)!=(n|0)){A=2;while(1){if((n|0)<0)break;i=i-n|0;w=t[a+4>>2]|0;b=n>>>0>w>>>0;a=b?a+8|0:a;A=A+(b<<31>>31)|0;w=n-(b?w:0)|0;t[a>>2]=(t[a>>2]|0)+w;b=a+4|0;t[b>>2]=(t[b>>2]|0)-w;t[c>>2]=t[f>>2];t[c+4>>2]=a;t[c+8>>2]=A;n=N2(Ge(146,c|0)|0)|0;if((i|0)==(n|0)){o=3;break e}}t[e+16>>2]=0;t[l>>2]=0;t[s>>2]=0;t[e>>2]=t[e>>2]|32;if((A|0)==2)r=0;else r=r-(t[a+4>>2]|0)|0}else o=3}while(0);if((o|0)==3){w=t[e+44>>2]|0;t[e+16>>2]=w+(t[e+48>>2]|0);t[l>>2]=w;t[s>>2]=w}h=u;return r|0}function P2(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=e;t[i+4>>2]=A;A=N2(Re(91,i|0)|0)|0;h=r;return A|0}function X2(){return}function S2(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0;l=h;h=h+32|0;f=l;do{if((n&4095|0)==0&(((n|0)<0)<<31>>31&-4096|0)==0){if(A>>>0>2147483646){t[(R2()|0)>>2]=12;e=-1;break}t[f>>2]=e;t[f+4>>2]=A;t[f+8>>2]=r;t[f+12>>2]=i;t[f+16>>2]=a;t[f+20>>2]=n>>12;e=N2(Le(192,f|0)|0)|0}else{t[(R2()|0)>>2]=22;e=-1}}while(0);h=l;return e|0}function j2(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;a=A&255;e:do{if(!a)e=e+(U2(e)|0)|0;else{if(e&3){r=A&255;do{n=i[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}a=P(a,16843009)|0;r=t[e>>2]|0;A:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{n=r^a;if((n&-2139062144^-2139062144)&n+-16843009|0)break A;e=e+4|0;r=t[e>>2]|0}while(!((r&-2139062144^-2139062144)&r+-16843009|0))}while(0);r=A&255;while(1){n=i[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function U2(e){e=e|0;var A=0,r=0,a=0;a=e;e:do{if(!(a&3))r=4;else{A=a;while(1){if(!(i[e>>0]|0)){e=A;break e}e=e+1|0;A=e;if(!(A&3)){r=4;break}}}}while(0);if((r|0)==4){while(1){A=t[e>>2]|0;if(!((A&-2139062144^-2139062144)&A+-16843009))e=e+4|0;else break}if((A&255)<<24>>24)do{e=e+1|0}while((i[e>>0]|0)!=0)}return e-a|0}function T2(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;f=h;h=h+48|0;n=f+16|0;a=f;i=f+32|0;if(!(A&4194368))i=0;else{t[i>>2]=r;l=(t[i>>2]|0)+(4-1)&~(4-1);r=t[l>>2]|0;t[i>>2]=l+4;i=r}t[a>>2]=e;t[a+4>>2]=A|32768;t[a+8>>2]=i;i=Me(5,a|0)|0;if(!((A&524288|0)==0|(i|0)<0)){t[n>>2]=i;t[n+4>>2]=2;t[n+8>>2]=1;We(221,n|0)|0}l=N2(i)|0;h=f;return l|0}function O2(e,A){e=e|0;A=A|0;var r=0,a=0;a=0;while(1){if((n[144531+a>>0]|0)==(e|0)){e=2;break}r=a+1|0;if((r|0)==87){r=144619;a=87;e=5;break}else a=r}if((e|0)==2)if(!a)r=144619;else{r=144619;e=5}if((e|0)==5)while(1){do{e=r;r=r+1|0}while((i[e>>0]|0)!=0);a=a+-1|0;if(!a)break;else e=5}return _2(r,t[A+20>>2]|0)|0}function _2(e,A){e=e|0;A=A|0;return q2(e,A)|0}function q2(e,A){e=e|0;A=A|0;if(!A)A=0;else A=K2(t[A>>2]|0,t[A+4>>2]|0,e)|0;return(A|0?A:e)|0}function K2(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=(t[e>>2]|0)+1794895138|0;f=$2(t[e+8>>2]|0,h)|0;a=$2(t[e+12>>2]|0,h)|0;n=$2(t[e+16>>2]|0,h)|0;e:do{if((f>>>0>>2>>>0?(b=A-(f<<2)|0,a>>>0>>0&n>>>0>>0):0)?((n|a)&3|0)==0:0){b=a>>>2;u=n>>>2;o=0;while(1){s=f>>>1;c=o+s|0;l=c<<1;n=l+b|0;a=$2(t[e+(n<<2)>>2]|0,h)|0;n=$2(t[e+(n+1<<2)>>2]|0,h)|0;if(!(n>>>0>>0&a>>>0<(A-n|0)>>>0)){a=0;break e}if(i[e+(n+a)>>0]|0){a=0;break e}a=e1(r,e+n|0)|0;if(!a)break;a=(a|0)<0;if((f|0)==1){a=0;break e}else{o=a?o:c;f=a?s:f-s|0}}a=l+u|0;n=$2(t[e+(a<<2)>>2]|0,h)|0;a=$2(t[e+(a+1<<2)>>2]|0,h)|0;if(a>>>0>>0&n>>>0<(A-a|0)>>>0)a=(i[e+(a+n)>>0]|0)==0?e+a|0:0;else a=0}else a=0}while(0);return a|0}function $2(e,A){e=e|0;A=A|0;var r=0;r=Z6(e|0)|0;return((A|0)==0?e:r)|0}function e1(e,A){e=e|0;A=A|0;var r=0,a=0;r=i[e>>0]|0;a=i[A>>0]|0;if(r<<24>>24==0?1:r<<24>>24!=a<<24>>24)e=a;else{do{e=e+1|0;A=A+1|0;r=i[e>>0]|0;a=i[A>>0]|0}while(!(r<<24>>24==0?1:r<<24>>24!=a<<24>>24));e=a}return(r&255)-(e&255)|0}function A1(e){e=e|0;return O2(e,t[(r1()|0)+188>>2]|0)|0}function r1(){return i1()|0}function i1(){return 62976}function a1(e,A,r){e=+e;A=+A;r=r|0;var i=0.0,a=0.0,t=0.0;t=e*e;i=t*(t*t)*(t*1.58969099521155e-10+-2.5050760253406863e-08)+(t*(t*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);a=t*e;if(!r)e=a*(t*i+-.16666666666666632)+e;else e=e-(a*.16666666666666632+(t*(A*.5-a*i)-A));return+e}function t1(e){e=+e;var A=0,r=0,i=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0;c[u>>3]=e;A=t[u>>2]|0;r=t[u+4>>2]|0;i=(r|0)<0;do{if(i|r>>>0<1048576){if((A|0)==0&(r&2147483647|0)==0){e=-1.0/(e*e);break}if(i){e=(e-e)/0.0;break}else{c[u>>3]=e*18014398509481984.0;r=t[u+4>>2]|0;i=-1077;A=t[u>>2]|0;a=9;break}}else if(r>>>0<=2146435071)if((A|0)==0&0==0&(r|0)==1072693248)e=0.0;else{i=-1023;a=9}}while(0);if((a|0)==9){a=r+614242|0;t[u>>2]=A;t[u+4>>2]=(a&1048575)+1072079006;o=+c[u>>3]+-1.0;l=o*(o*.5);f=o/(o+2.0);s=f*f;n=s*s;c[u>>3]=o-l;r=t[u+4>>2]|0;t[u>>2]=0;t[u+4>>2]=r;e=+c[u>>3];n=o-e-l+f*(l+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=e*1.4426950407214463;l=+(i+(a>>>20)|0);f=s+l;e=f+(s+(l-f)+(n*1.4426950407214463+(n+e)*1.6751713164886512e-10))}return+e}function n1(e,A){e=+e;A=A|0;var r=0,i=0,a=0;c[u>>3]=e;r=t[u>>2]|0;i=t[u+4>>2]|0;a=y6(r|0,i|0,52)|0;switch(a&2047){case 0:{if(e!=0.0){e=+n1(e*18446744073709551616.0,A);r=(t[A>>2]|0)+-64|0}else r=0;t[A>>2]=r;break}case 2047:break;default:{t[A>>2]=(a&2047)+-1022;t[u>>2]=r;t[u+4>>2]=i&-2146435073|1071644672;e=+c[u>>3]}}return+e}function f1(e,A){e=+e;A=+A;var r=0.0,i=0.0,a=0.0,t=0.0;r=e*e;i=r*r;a=r*.5;t=1.0-a;return+(t+(1.0-t-a+(r*(r*(r*(r*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+i*i*(r*(2.087572321298175e-09-r*1.1359647557788195e-11)+-2.7557314351390663e-07))-e*A)))}function l1(e){e=+e;var A=0,r=0,i=0,a=0,n=0.0,f=0.0,l=0.0,s=0.0,o=0.0;c[u>>3]=e;A=t[u>>2]|0;r=t[u+4>>2]|0;i=(r|0)<0;do{if(i|r>>>0<1048576){if((A|0)==0&(r&2147483647|0)==0){e=-1.0/(e*e);break}if(i){e=(e-e)/0.0;break}else{c[u>>3]=e*18014398509481984.0;r=t[u+4>>2]|0;i=-1077;A=t[u>>2]|0;a=9;break}}else if(r>>>0<=2146435071)if((A|0)==0&0==0&(r|0)==1072693248)e=0.0;else{i=-1023;a=9}}while(0);if((a|0)==9){a=r+614242|0;t[u>>2]=A;t[u+4>>2]=(a&1048575)+1072079006;l=+c[u>>3]+-1.0;f=l*(l*.5);s=l/(l+2.0);o=s*s;n=o*o;c[u>>3]=l-f;r=t[u+4>>2]|0;t[u>>2]=0;t[u+4>>2]=r;e=+c[u>>3];n=l-e-f+s*(f+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));o=e*.4342944818781689;f=+(i+(a>>>20)|0);s=f*.30102999566361177;l=s+o;e=l+(o+(s-l)+(n*.4342944818781689+(f*3.694239077158931e-13+(n+e)*2.5082946711645275e-11)))}return+e}function s1(e,A){e=+e;A=A|0;var r=0,i=0.0,a=0.0,n=0.0,f=0,l=0.0,s=0,o=0,b=0,w=0,k=0,d=0,v=0.0;d=h;h=h+48|0;s=d+16|0;o=d;c[u>>3]=e;r=t[u>>2]|0;f=t[u+4>>2]|0;b=y6(r|0,f|0,63)|0;k=f&2147483647;do{if(k>>>0<1074752123)if((f&1048575|0)!=598523){r=(b|0)!=0;if(k>>>0<1073928573)if(r){n=e+1.5707963267341256;l=n+6.077100506506192e-11;c[A>>3]=l;c[A+8>>3]=n-l+6.077100506506192e-11;r=-1;break}else{n=e+-1.5707963267341256;l=n+-6.077100506506192e-11;c[A>>3]=l;c[A+8>>3]=n-l+-6.077100506506192e-11;r=1;break}else if(r){n=e+3.1415926534682512;l=n+1.2154201013012384e-10;c[A>>3]=l;c[A+8>>3]=n-l+1.2154201013012384e-10;r=-2;break}else{n=e+-3.1415926534682512;l=n+-1.2154201013012384e-10;c[A>>3]=l;c[A+8>>3]=n-l+-1.2154201013012384e-10;r=2;break}}else w=21;else{if(k>>>0<1075594812)if(k>>>0<1075183037){if((k|0)==1074977148){w=21;break}if(!b){n=e+-4.712388980202377;l=n+-1.8231301519518578e-10;c[A>>3]=l;c[A+8>>3]=n-l+-1.8231301519518578e-10;r=3;break}else{n=e+4.712388980202377;l=n+1.8231301519518578e-10;c[A>>3]=l;c[A+8>>3]=n-l+1.8231301519518578e-10;r=-3;break}}else{if((k|0)==1075388923){w=21;break}if(!b){n=e+-6.2831853069365025;l=n+-2.430840202602477e-10;c[A>>3]=l;c[A+8>>3]=n-l+-2.430840202602477e-10;r=4;break}else{n=e+6.2831853069365025;l=n+2.430840202602477e-10;c[A>>3]=l;c[A+8>>3]=n-l+2.430840202602477e-10;r=-4;break}}if(k>>>0>=1094263291){if(k>>>0>2146435071){l=e-e;c[A+8>>3]=l;c[A>>3]=l;r=0;break}t[u>>2]=r;t[u+4>>2]=f&1048575|1096810496;e=+c[u>>3];r=0;do{l=+(~~e|0);c[s+(r<<3)>>3]=l;e=(e-l)*16777216.0;r=r+1|0}while((r|0)!=2);c[s+16>>3]=e;if(e==0.0){r=1;while(1)if(+c[s+(r<<3)>>3]==0.0)r=r+-1|0;else break}else r=2;r=c1(s,o,(k>>>20)+-1046|0,r+1|0,1)|0;e=+c[o>>3];if(!b){c[A>>3]=e;c[A+8>>3]=+c[o+8>>3];break}else{c[A>>3]=-e;c[A+8>>3]=-+c[o+8>>3];r=0-r|0;break}}else w=21}}while(0);if((w|0)==21){n=e*.6366197723675814+6755399441055744.0+-6755399441055744.0;r=~~n;i=e-n*1.5707963267341256;a=n*6.077100506506192e-11;e=i-a;c[A>>3]=e;c[u>>3]=e;w=y6(t[u>>2]|0,t[u+4>>2]|0,52)|0;f=k>>>20;if((f-(w&2047)|0)>16){a=n*6.077100506303966e-11;l=i-a;a=n*2.0222662487959506e-21-(i-l-a);e=l-a;c[A>>3]=e;c[u>>3]=e;k=y6(t[u>>2]|0,t[u+4>>2]|0,52)|0;v=n*2.0222662487111665e-21;i=l-v;n=n*8.4784276603689e-32-(l-i-v);if((f-(k&2047)|0)>49){e=i-n;c[A>>3]=e;a=n}else i=l}c[A+8>>3]=i-e-a}h=d;return r|0}function c1(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0.0,f=0.0,l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,Q=0,D=0,z=0,W=0,Y=0.0;W=h;h=h+560|0;Z=W+480|0;C=W+320|0;z=W+160|0;Q=W;G=t[63220+(a<<2)>>2]|0;w=i+-1|0;y=(r+-3|0)/24|0;y=(y|0)>0?y:0;I=P(y,-24)|0;l=r+-24+I|0;if((G+w|0)>=0){u=G+i|0;s=y-w|0;o=0;while(1){if((s|0)<0)n=0.0;else n=+(t[63236+(s<<2)>>2]|0);c[C+(o<<3)>>3]=n;o=o+1|0;if((o|0)==(u|0))break;else s=s+1|0}}b=(i|0)>0;u=0;while(1){if(b){o=u+w|0;n=0.0;s=0;do{n=n+ +c[e+(s<<3)>>3]*+c[C+(o-s<<3)>>3];s=s+1|0}while((s|0)!=(i|0))}else n=0.0;c[Q+(u<<3)>>3]=n;if((u|0)<(G|0))u=u+1|0;else break}g=(l|0)>0;m=24-l|0;p=23-l|0;E=(i|0)>0;B=(l|0)==0;s=G;e:while(1){n=+c[Q+(s<<3)>>3];b=(s|0)>0;if(b){o=s;u=0;while(1){f=+(~~(n*5.9604644775390625e-08)|0);t[Z+(u<<2)>>2]=~~(n-f*16777216.0);v=o;o=o+-1|0;n=+c[Q+(o<<3)>>3]+f;if((v|0)<=1)break;else u=u+1|0}}n=+o1(n,l);n=n-+L(+(n*.125))*8.0;o=~~n;n=n-+(o|0);do{if(!g)if(!B)if(!(n>=.5)){w=0;v=o;break}else{u=2;D=20;break}else{u=t[Z+(s+-1<<2)>>2]>>23;D=19;break}else{v=Z+(s+-1<<2)|0;u=t[v>>2]|0;D=u>>m;u=u-(D<>2]=u;u=u>>p;o=D+o|0;D=19}}while(0);if((D|0)==19){D=0;if((u|0)>0)D=20;else{w=u;v=o}}if((D|0)==20){D=0;v=o+1|0;if(b){o=0;d=0;do{w=Z+(d<<2)|0;k=t[w>>2]|0;if(!o)if(!k)o=0;else{o=1;b=16777216;D=23}else{b=16777215;D=23}if((D|0)==23){D=0;t[w>>2]=b-k}d=d+1|0}while((d|0)!=(s|0))}else o=0;A:do{if(g){switch(l|0){case 1:{b=8388607;break}case 2:{b=4194303;break}default:break A}d=Z+(s+-1<<2)|0;t[d>>2]=t[d>>2]&b}}while(0);if((u|0)==2){n=1.0-n;if(!o)w=2;else{w=2;n=n-+o1(1.0,l)}}else w=u}if(!(n==0.0)){D=42;break}if((s|0)>(G|0)){o=0;u=s;do{u=u+-1|0;o=t[Z+(u<<2)>>2]|o}while((u|0)>(G|0));if(o){D=41;break}else o=1}else o=1;while(1)if(!(t[Z+(G-o<<2)>>2]|0))o=o+1|0;else break;b=o+s|0;if((o|0)<=0){s=b;continue}while(1){u=s+1|0;o=s+i|0;c[C+(o<<3)>>3]=+(t[63236+(u+y<<2)>>2]|0);if(E){n=0.0;s=0;do{n=n+ +c[e+(s<<3)>>3]*+c[C+(o-s<<3)>>3];s=s+1|0}while((s|0)!=(i|0))}else n=0.0;c[Q+(u<<3)>>3]=n;if((u|0)<(b|0))s=u;else{s=b;continue e}}}if((D|0)==41)while(1){D=0;l=l+-24|0;s=s+-1|0;if(!(t[Z+(s<<2)>>2]|0))D=41;else{b=s;break}}else if((D|0)==42){n=+o1(n,0-l|0);if(n>=16777216.0){f=+(~~(n*5.9604644775390625e-08)|0);t[Z+(s<<2)>>2]=~~(n-f*16777216.0);l=I+r|0;s=s+1|0;n=f}t[Z+(s<<2)>>2]=~~n;b=s}u=(b|0)>-1;if(u){n=+o1(1.0,l);l=b;while(1){c[Q+(l<<3)>>3]=n*+(t[Z+(l<<2)>>2]|0);if((l|0)>0){n=n*5.9604644775390625e-08;l=l+-1|0}else break}if(u){s=b;while(1){o=b-s|0;l=0;n=0.0;while(1){n=n+ +c[10904+(l<<3)>>3]*+c[Q+(l+s<<3)>>3];if((l|0)>=(G|0)|(l|0)>=(o|0))break;else l=l+1|0}c[z+(o<<3)>>3]=n;if((s|0)>0)s=s+-1|0;else break}}}switch(a|0){case 0:{if(u){n=0.0;l=b;while(1){n=n+ +c[z+(l<<3)>>3];if((l|0)>0)l=l+-1|0;else break}}else n=0.0;f=(w|0)==0?n:-n;D=73;break}case 2:case 1:{if(u){n=0.0;l=b;while(1){n=n+ +c[z+(l<<3)>>3];if((l|0)>0)l=l+-1|0;else break}}else n=0.0;s=(w|0)==0;c[A>>3]=s?n:-n;n=+c[z>>3]-n;if((b|0)>=1){l=1;while(1){n=n+ +c[z+(l<<3)>>3];if((l|0)==(b|0))break;else l=l+1|0}}f=s?n:-n;A=A+8|0;D=73;break}case 3:{if((b|0)>0){l=b;n=+c[z+(b<<3)>>3];do{D=l;l=l+-1|0;Q=z+(l<<3)|0;f=+c[Q>>3];Y=n;n=f+n;c[z+(D<<3)>>3]=Y+(f-n);c[Q>>3]=n}while((D|0)>1);s=(b|0)>1;if(s){l=b;n=+c[z+(b<<3)>>3];do{D=l;l=l+-1|0;Q=z+(l<<3)|0;Y=+c[Q>>3];f=n;n=Y+n;c[z+(D<<3)>>3]=f+(Y-n);c[Q>>3]=n}while((D|0)>2);if(s){l=b;f=0.0;while(1){f=f+ +c[z+(l<<3)>>3];if((l|0)>2)l=l+-1|0;else break}}else f=0.0}else f=0.0}else f=0.0;n=+c[z>>3];if(!w){c[A>>3]=n;n=+c[z+8>>3]}else{c[A>>3]=-n;f=-f;n=-+c[z+8>>3]}c[A+8>>3]=n;A=A+16|0;D=73;break}default:{}}if((D|0)==73)c[A>>3]=f;h=W;return v&7|0}function o1(e,A){e=+e;A=A|0;var r=0,i=0;if((A|0)<=1023){if((A|0)<-1022){e=e*2.2250738585072014e-308;i=(A|0)<-2044;r=A+2044|0;e=i?e*2.2250738585072014e-308:e;A=i?(r|0)>-1022?r:-1022:A+1022|0}}else{e=e*8988465674311579538646525.0e283;r=(A|0)>2046;i=A+-2046|0;e=r?e*8988465674311579538646525.0e283:e;A=r?(i|0)<1023?i:1023:A+-1023|0}r=C6(A+1023|0,0,52)|0;i=G;t[u>>2]=r;t[u+4>>2]=i;return+(e*+c[u>>3])}function u1(e){e=+e;var A=0,r=0,i=0,a=0.0,n=0.0;c[u>>3]=e;r=t[u+4>>2]|0;A=r&2147483647;do{if(A>>>0>2146435071)e=e+e;else{if(A>>>0<1048576){c[u>>3]=e*18014398509481984.0;r=t[u+4>>2]|0;A=r&2147483647;if(!A)break;else i=696219795}else i=715094163;t[u>>2]=0;t[u+4>>2]=((A>>>0)/3|0)+i|r&-2147483648;a=+c[u>>3];n=a*a*(a/e);c[u>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*a;r=d6(t[u>>2]|0,t[u+4>>2]|0,-2147483648,0)|0;i=G;t[u>>2]=r&-1073741824;t[u+4>>2]=i;a=+c[u>>3];e=e/(a*a);e=(e-a)/(a+a+e)*a+a}}while(0);return+e}function b1(e,A){e=+e;A=+A;var r=0,i=0;c[u>>3]=e;i=t[u>>2]|0;r=t[u+4>>2]|0;c[u>>3]=A;r=t[u+4>>2]&-2147483648|r&2147483647;t[u>>2]=i;t[u+4>>2]=r;return+ +c[u>>3]}function h1(e,A){e=+e;A=+A;return+ +b1(e,A)}function w1(e,A){e=+e;A=A|0;return+ +o1(e,A)}function k1(e,A){e=+e;A=+A;return+ +d1(e,A)}function d1(e,A){e=+e;A=+A;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,o=0,b=0,h=0,w=0,k=0;c[u>>3]=e;f=t[u>>2]|0;s=t[u+4>>2]|0;c[u>>3]=A;b=t[u>>2]|0;h=t[u+4>>2]|0;i=y6(f|0,s|0,52)|0;i=i&2047;o=y6(b|0,h|0,52)|0;o=o&2047;w=s&-2147483648;n=C6(b|0,h|0,1)|0;l=G;e:do{if(!((n|0)==0&(l|0)==0)?(a=v1(A)|0,r=G&2147483647,!((i|0)==2047|(r>>>0>2146435072|(r|0)==2146435072&a>>>0>0))):0){r=C6(f|0,s|0,1)|0;a=G;if(!(a>>>0>l>>>0|(a|0)==(l|0)&r>>>0>n>>>0))return+((r|0)==(n|0)&(a|0)==(l|0)?e*0.0:e);if(!i){r=C6(f|0,s|0,12)|0;a=G;if((a|0)>-1|(a|0)==-1&r>>>0>4294967295){i=0;do{i=i+-1|0;r=C6(r|0,a|0,1)|0;a=G}while((a|0)>-1|(a|0)==-1&r>>>0>4294967295)}else i=0;f=C6(f|0,s|0,1-i|0)|0;n=G}else n=s&1048575|1048576;if(!o){a=C6(b|0,h|0,12)|0;l=G;if((l|0)>-1|(l|0)==-1&a>>>0>4294967295){r=0;do{r=r+-1|0;a=C6(a|0,l|0,1)|0;l=G}while((l|0)>-1|(l|0)==-1&a>>>0>4294967295)}else r=0;b=C6(b|0,h|0,1-r|0)|0;o=r;s=G}else s=h&1048575|1048576;a=v6(f|0,n|0,b|0,s|0)|0;r=G;l=(r|0)>-1|(r|0)==-1&a>>>0>4294967295;A:do{if((i|0)>(o|0)){while(1){if(l){if((a|0)==0&(r|0)==0)break}else{a=f;r=n}f=C6(a|0,r|0,1)|0;n=G;i=i+-1|0;a=v6(f|0,n|0,b|0,s|0)|0;r=G;l=(r|0)>-1|(r|0)==-1&a>>>0>4294967295;if((i|0)<=(o|0))break A}A=e*0.0;break e}}while(0);if(l){if((a|0)==0&(r|0)==0){A=e*0.0;break}}else{r=n;a=f}if(r>>>0<1048576|(r|0)==1048576&a>>>0<0)do{a=C6(a|0,r|0,1)|0;r=G;i=i+-1|0}while(r>>>0<1048576|(r|0)==1048576&a>>>0<0);if((i|0)>0){h=d6(a|0,r|0,0,-1048576)|0;r=G;i=C6(i|0,0,52)|0;r=r|G;i=h|i}else{i=y6(a|0,r|0,1-i|0)|0;r=G}t[u>>2]=i;t[u+4>>2]=r|w;A=+c[u>>3]}else k=3}while(0);if((k|0)==3){A=e*A;A=A/A}return+A}function v1(e){e=+e;var A=0;c[u>>3]=e;A=t[u>>2]|0;G=t[u+4>>2]|0;return A|0}function g1(e,A){e=+e;A=+A;var r=0.0,i=0,a=0,n=0,f=0,l=0.0,s=0,o=0,b=0,w=0,k=0,d=0,v=0,g=0;k=h;h=h+32|0;s=k+24|0;o=k+16|0;b=k+8|0;w=k;c[u>>3]=e;g=t[u>>2]|0;n=t[u+4>>2]|0;c[u>>3]=A;i=t[u>>2]|0;n=n&2147483647;a=t[u+4>>2]&2147483647;f=n>>>0>>0|(n|0)==(a|0)&g>>>0>>0;v=f?i:g;d=f?a:n;i=f?g:i;a=f?n:a;n=y6(v|0,d|0,52)|0;f=y6(i|0,a|0,52)|0;t[u>>2]=v;t[u+4>>2]=d;e=+c[u>>3];t[u>>2]=i;t[u+4>>2]=a;l=+c[u>>3];do{if((f|0)!=2047){if(!((i|0)==0&(a|0)==0|(n|0)==2047)){if((n-f|0)>64){e=e+l;break}if((n|0)>1533){r=5260135901548373507240989.0e186;A=e*1.90109156629516e-211;e=l*1.90109156629516e-211}else{g=(f|0)<573;r=g?1.90109156629516e-211:1.0;A=g?e*5260135901548373507240989.0e186:e;e=g?l*5260135901548373507240989.0e186:l}m1(s,o,A);m1(b,w,e);e=r*+D(+(+c[w>>3]+ +c[o>>3]+ +c[b>>3]+ +c[s>>3]))}}else e=l}while(0);h=k;return+e}function m1(e,A,r){e=e|0;A=A|0;r=+r;var i=0.0,a=0.0;a=r*134217729.0;a=a+(r-a);i=r-a;r=r*r;c[e>>3]=r;c[A>>3]=i*i+(a*a-r+a*2.0*i);return}function p1(e,A,r){e=+e;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0.0,l=0,s=0;l=h;h=h+16|0;n=l;c[u>>3]=e;a=t[u+4>>2]&2147483647;do{if(a>>>0<1072243196)if(a>>>0<1044816030){c[A>>3]=e;c[r>>3]=1.0;break}else{c[A>>3]=+a1(e,0.0,0);c[r>>3]=+f1(e,0.0);break}else{if(a>>>0>2146435071){f=e-e;c[r>>3]=f;c[A>>3]=f;break}a=s1(e,n)|0;s=n+8|0;i=+a1(+c[n>>3],+c[s>>3],1);e=+f1(+c[n>>3],+c[s>>3]);switch(a&3){case 0:{c[A>>3]=i;f=e;break}case 1:{c[A>>3]=e;f=-i;break}case 2:{c[A>>3]=-i;f=-e;break}case 3:{c[A>>3]=-e;f=i;break}default:{}}c[r>>3]=f}}while(0);h=l;return}function E1(e,A){e=+e;A=A|0;return+ +n1(e,A)}function B1(e){e=e|0;if(e>>>0<131072)e=(n[146423+((n[146423+(e>>>8)>>0]|0)<<5|e>>>3&31)>>0]|0)>>>(e&7)&1;else e=0;return e|0}function y1(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0;if(!r)a=0;else{a=i[e>>0]|0;e:do{if(!(a<<24>>24))a=0;else while(1){r=r+-1|0;t=i[A>>0]|0;if(!(a<<24>>24==t<<24>>24&((r|0)!=0&t<<24>>24!=0)))break e;e=e+1|0;A=A+1|0;a=i[e>>0]|0;if(!(a<<24>>24)){a=0;break}}}while(0);a=(a&255)-(n[A>>0]|0)|0}return a|0}function C1(e,A){e=e|0;A=A|0;e=j2(e,A)|0;return((i[e>>0]|0)==(A&255)<<24>>24?e:0)|0}function I1(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Z1(e,A,r){e=e|0;A=A|0;r=r|0;r=L1(e,A,r,-1,0)|0;return r|0}function G1(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;f=A&255;a=(r|0)!=0;e:do{if(a&(e&3|0)!=0){n=A&255;while(1){if((i[e>>0]|0)==n<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;a=(r|0)!=0;if(!(a&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(a)l=6;else r=0;e:do{if((l|0)==6){n=A&255;if((i[e>>0]|0)!=n<<24>>24){a=P(f,16843009)|0;A:do{if(r>>>0>3)while(1){f=t[e>>2]^a;if((f&-2139062144^-2139062144)&f+-16843009|0)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break A}}else l=11}while(0);if((l|0)==11)if(!r){r=0;break}while(1){if((i[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return(r|0?e:0)|0}function L1(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0;s=h;h=h+128|0;f=s;t[f>>2]=0;l=f+4|0;t[l>>2]=e;t[f+44>>2]=e;n=f+8|0;t[n>>2]=(e|0)<0?-1:e+2147483647|0;t[f+76>>2]=-1;Q1(f,0);r=D1(f,r,1,i,a)|0;if(A|0)t[A>>2]=e+((t[l>>2]|0)+(t[f+108>>2]|0)-(t[n>>2]|0));h=s;return r|0}function Q1(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;t[e+104>>2]=A;r=t[e+8>>2]|0;i=t[e+4>>2]|0;a=r-i|0;t[e+108>>2]=a;t[e+100>>2]=(A|0)!=0&(a|0)>(A|0)?i+A|0:r;return}function D1(e,A,r,a,f){e=e|0;A=A|0;r=r|0;a=a|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;e:do{if(A>>>0>36){t[(R2()|0)>>2]=22;f=0;a=0}else{d=e+4|0;k=e+100|0;do{l=t[d>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[d>>2]=l+1;l=n[l>>0]|0}else l=z1(e)|0}while((I1(l)|0)!=0);A:do{switch(l|0){case 43:case 45:{l=((l|0)==45)<<31>>31;s=t[d>>2]|0;if(s>>>0<(t[k>>2]|0)>>>0){t[d>>2]=s+1;w=l;l=n[s>>0]|0;break A}else{w=l;l=z1(e)|0;break A}}default:w=0}}while(0);s=(A|0)==0;do{if((A|16|0)==16&(l|0)==48){l=t[d>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[d>>2]=l+1;l=n[l>>0]|0}else l=z1(e)|0;if((l|32|0)!=120)if(s){A=8;b=46;break}else{b=32;break}l=t[d>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[d>>2]=l+1;l=n[l>>0]|0}else l=z1(e)|0;if((n[149592+l>>0]|0)>15){a=(t[k>>2]|0)==0;if(!a)t[d>>2]=(t[d>>2]|0)+-1;if(!r){Q1(e,0);f=0;a=0;break e}if(a){f=0;a=0;break e}t[d>>2]=(t[d>>2]|0)+-1;f=0;a=0;break e}else{A=16;b=46}}else{A=s?10:A;if(A>>>0>(n[149592+l>>0]|0)>>>0)b=32;else{if(t[k>>2]|0)t[d>>2]=(t[d>>2]|0)+-1;Q1(e,0);t[(R2()|0)>>2]=22;f=0;a=0;break e}}}while(0);A:do{if((b|0)==32)if((A|0)==10){A=l+-48|0;if(A>>>0<10){l=0;s=A;do{l=(l*10|0)+s|0;A=t[d>>2]|0;if(A>>>0<(t[k>>2]|0)>>>0){t[d>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;s=A+-48|0}while(s>>>0<10&l>>>0<429496729);r=0}else{A=l;l=0;r=0}c=A+-48|0;if(c>>>0<10){s=A;do{A=k6(l|0,r|0,10,0)|0;o=G;u=((c|0)<0)<<31>>31;h=~u;if(o>>>0>h>>>0|(o|0)==(h|0)&A>>>0>~c>>>0){A=10;b=72;break A}l=d6(A|0,o|0,c|0,u|0)|0;r=G;A=t[d>>2]|0;if(A>>>0<(t[k>>2]|0)>>>0){t[d>>2]=A+1;s=n[A>>0]|0}else s=z1(e)|0;c=s+-48|0}while(c>>>0<10&(r>>>0<429496729|(r|0)==429496729&l>>>0<2576980378));if(c>>>0>9){s=w;A=r}else{A=10;b=72}}else{s=w;A=r}}else b=46}while(0);A:do{if((b|0)==46){if(!(A+-1&A)){b=i[149848+((A*23|0)>>>5&7)>>0]|0;r=i[149592+l>>0]|0;s=r&255;if(A>>>0>s>>>0){l=0;c=s;do{l=c|l<>2]|0;if(s>>>0<(t[k>>2]|0)>>>0){t[d>>2]=s+1;s=n[s>>0]|0}else s=z1(e)|0;r=i[149592+s>>0]|0;c=r&255}while(l>>>0<134217728&A>>>0>c>>>0);c=0}else{s=l;c=0;l=0}o=y6(-1,-1,b|0)|0;u=G;if(A>>>0<=(r&255)>>>0|(u>>>0>>0|(u|0)==(c|0)&o>>>0>>0)){r=c;b=72;break}else s=c;while(1){l=C6(l|0,s|0,b|0)|0;c=G;l=l|r&255;s=t[d>>2]|0;if(s>>>0<(t[k>>2]|0)>>>0){t[d>>2]=s+1;s=n[s>>0]|0}else s=z1(e)|0;r=i[149592+s>>0]|0;if(A>>>0<=(r&255)>>>0|(c>>>0>u>>>0|(c|0)==(u|0)&l>>>0>o>>>0)){r=c;b=72;break A}else s=c}}r=i[149592+l>>0]|0;s=r&255;if(A>>>0>s>>>0){l=0;c=s;do{l=c+(P(l,A)|0)|0;s=t[d>>2]|0;if(s>>>0<(t[k>>2]|0)>>>0){t[d>>2]=s+1;s=n[s>>0]|0}else s=z1(e)|0;r=i[149592+s>>0]|0;c=r&255}while(l>>>0<119304647&A>>>0>c>>>0);c=0}else{s=l;l=0;c=0}if(A>>>0>(r&255)>>>0){b=p6(-1,-1,A|0,0)|0;h=G;u=c;while(1){if(u>>>0>h>>>0|(u|0)==(h|0)&l>>>0>b>>>0){r=u;b=72;break A}c=k6(l|0,u|0,A|0,0)|0;o=G;r=r&255;if(o>>>0>4294967295|(o|0)==-1&c>>>0>~r>>>0){r=u;b=72;break A}l=d6(c|0,o|0,r|0,0)|0;c=G;s=t[d>>2]|0;if(s>>>0<(t[k>>2]|0)>>>0){t[d>>2]=s+1;s=n[s>>0]|0}else s=z1(e)|0;r=i[149592+s>>0]|0;if(A>>>0<=(r&255)>>>0){r=c;b=72;break}else u=c}}else{r=c;b=72}}}while(0);if((b|0)==72)if(A>>>0>(n[149592+s>>0]|0)>>>0){do{l=t[d>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[d>>2]=l+1;l=n[l>>0]|0}else l=z1(e)|0}while(A>>>0>(n[149592+l>>0]|0)>>>0);t[(R2()|0)>>2]=34;s=(a&1|0)==0&0==0?w:0;A=f;l=a}else{s=w;A=r}if(t[k>>2]|0)t[d>>2]=(t[d>>2]|0)+-1;if(!(A>>>0>>0|(A|0)==(f|0)&l>>>0>>0)){if(!((a&1|0)!=0|0!=0|(s|0)!=0)){t[(R2()|0)>>2]=34;a=d6(a|0,f|0,-1,-1)|0;f=G;break}if(A>>>0>f>>>0|(A|0)==(f|0)&l>>>0>a>>>0){t[(R2()|0)>>2]=34;break}}a=((s|0)<0)<<31>>31;a=v6(l^s|0,A^a|0,s|0,a|0)|0;f=G}}while(0);G=f;return a|0}function z1(e){e=e|0;var A=0,r=0,a=0,f=0,l=0,s=0;r=e+104|0;f=t[r>>2]|0;if((f|0)!=0?(t[e+108>>2]|0)>=(f|0):0)l=4;else{A=W1(e)|0;if((A|0)>=0){a=t[r>>2]|0;r=e+8|0;if(a){s=t[r>>2]|0;f=t[e+4>>2]|0;r=a-(t[e+108>>2]|0)|0;a=s;if((s-f|0)<(r|0))r=a;else r=f+(r+-1)|0}else{a=t[r>>2]|0;r=a}t[e+100>>2]=r;r=e+4|0;if(!a)r=t[r>>2]|0;else{r=t[r>>2]|0;s=e+108|0;t[s>>2]=a+1-r+(t[s>>2]|0)}r=r+-1|0;if((A|0)!=(n[r>>0]|0|0))i[r>>0]=A}else l=4}if((l|0)==4){t[e+100>>2]=0;A=-1}return A|0}function W1(e){e=e|0;var A=0,r=0;r=h;h=h+16|0;A=r;if((Y1(e)|0)==0?(L5[t[e+32>>2]&63](e,A,1)|0)==1:0)e=n[A>>0]|0;else e=-1;h=r;return e|0}function Y1(e){e=e|0;var A=0,r=0;A=e+74|0;r=i[A>>0]|0;i[A>>0]=r+255|r;A=e+20|0;r=e+28|0;if((t[A>>2]|0)>>>0>(t[r>>2]|0)>>>0)L5[t[e+36>>2]&63](e,0,0)|0;t[e+16>>2]=0;t[r>>2]=0;t[A>>2]=0;A=t[e>>2]|0;if(!(A&4)){r=(t[e+44>>2]|0)+(t[e+48>>2]|0)|0;t[e+8>>2]=r;t[e+4>>2]=r;A=A<<27>>31}else{t[e>>2]=A|32;A=-1}return A|0}function F1(e){e=e|0;return(e+-48|0)>>>0<10|0}function M1(e){e=e|0;return((e+-48|0)>>>0<10|(V1(e)|0)!=0)&1|0}function V1(e){e=e|0;return((e|32)+-97|0)>>>0<26|0}function N1(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;r=i[e>>0]|0;e:do{if(!(r<<24>>24))r=0;else{t=r&255;while(1){a=i[A>>0]|0;if(!(a<<24>>24))break e;if(r<<24>>24!=a<<24>>24?(t=R1(t)|0,(t|0)!=(R1(a&255)|0)):0)break e;e=e+1|0;A=A+1|0;r=i[e>>0]|0;if(!(r<<24>>24)){r=0;break}else t=r&255}}}while(0);t=R1(r&255)|0;return t-(R1(n[A>>0]|0)|0)|0}function R1(e){e=e|0;var A=0;A=(x1(e)|0)==0;return(A?e:e|32)|0}function x1(e){e=e|0;return(e+-65|0)>>>0<26|0}function J1(e){e=e|0;return H1(e,0)|0}function H1(e,A){e=e|0;A=A|0;var r=0,t=0,l=0,s=0,c=0,o=0,u=0;c=(A<<1)+-1|0;o=A+-1|0;e:do{if(!((e+-43008|0)>>>0<22272|((e+-11776|0)>>>0<30784|((e+-1536|0)>>>0<2560|(P1(e)|0)==0)))){r=(A|0)!=0;if(r&(e+-4256|0)>>>0<46){if((e|0)>4293)switch(e|0){case 4295:case 4301:break;default:break e}e=e+7264|0;break}if((e+-11520|0)>>>0<38&(r^1)){e=e+-7264|0;break}else r=0;do{l=i[66346+(r<<2)+2>>0]|0;s=l<<24>>24;t=e-(f[66346+(r<<2)>>1]|0)|0;if((t-(o&s)|0)>>>0<(n[66346+(r<<2)+3>>0]|0)>>>0){u=11;break}r=r+1|0}while((r|0)!=61);if((u|0)==11)if(l<<24>>24==1){e=A+e-(t&1)|0;break}else{e=(P(c,s)|0)+e|0;break}l=1-A|0;r=a[65858+(l<<1)>>1]|0;A:do{if(r<<16>>16){t=0;while(1){if((r&65535|0)==(e|0))break;t=t+1|0;r=a[65858+(t<<2)+(l<<1)>>1]|0;if(!(r<<16>>16))break A}e=f[65858+(t<<2)+(A<<1)>>1]|0;break e}}while(0);return((e+-66600+(A*40|0)|0)>>>0<40?e+-40+(A*80|0)|0:e)|0}}while(0);return e|0}function P1(e){e=e|0;if(e>>>0<131072)e=(n[149857+((n[149857+(e>>>8)>>0]|0)<<5|e>>>3&31)>>0]|0)>>>(e&7)&1;else e=e>>>0<196606&1;return e|0}function X1(e){e=e|0;var A=0;A=e;while(1)if(!(t[A>>2]|0))break;else A=A+4|0;return A-e>>2|0}function S1(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0,f=0;if(!r)e=0;else{a=i[e>>0]|0;e:do{if(!(a<<24>>24))e=0;else{f=e;e=a;a=a&255;while(1){r=r+-1|0;t=i[A>>0]|0;if(!((r|0)!=0&t<<24>>24!=0))break e;if(e<<24>>24!=t<<24>>24?(a=R1(a)|0,(a|0)!=(R1(t&255)|0)):0)break e;f=f+1|0;A=A+1|0;a=i[f>>0]|0;if(!(a<<24>>24)){e=0;break}else{e=a;a=a&255}}}}while(0);e=R1(e&255)|0;e=e-(R1(n[A>>0]|0)|0)|0}return e|0}function j1(e){e=e|0;if(e>>>0>=255)if((e+-57344|0)>>>0<8185|(e>>>0<8232|(e+-8234|0)>>>0<47062))e=1;else return(e&65534|0)!=65534&(e+-65532|0)>>>0<1048580&1|0;else e=(e+1&127)>>>0>32&1;return e|0}function U1(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0;c=h;h=h+16|0;n=c;l=(a|0)==0?190640:a;a=t[l>>2]|0;e:do{if(!A)if(!a)a=0;else s=17;else{f=(e|0)==0?n:e;if(!r)a=-2;else{if(!a){a=i[A>>0]|0;if(a<<24>>24>-1){t[f>>2]=a&255;a=a<<24>>24!=0&1;break}n=(t[t[(q1()|0)+188>>2]>>2]|0)==0;a=i[A>>0]|0;if(n){t[f>>2]=a<<24>>24&57343;a=1;break}a=(a&255)+-194|0;if(a>>>0>50){s=17;break}a=t[62384+(a<<2)>>2]|0;n=r+-1|0;if(n){A=A+1|0;s=11}}else{n=r;s=11}A:do{if((s|0)==11){e=i[A>>0]|0;o=(e&255)>>>3;if((o+-16|o+(a>>26))>>>0>7){s=17;break e}while(1){A=A+1|0;a=(e&255)+-128|a<<6;n=n+-1|0;if((a|0)>=0)break;if(!n)break A;e=i[A>>0]|0;if((e&-64)<<24>>24!=-128){s=17;break e}}t[l>>2]=0;t[f>>2]=a;a=r-n|0;break e}}while(0);t[l>>2]=a;a=-2}}}while(0);if((s|0)==17){t[l>>2]=0;t[(R2()|0)>>2]=84;a=-1}h=c;return a|0}function T1(e,A){e=e|0;A=A|0;if(!e)e=0;else e=O1(e,A,0)|0;return e|0}function O1(e,A,r){e=e|0;A=A|0;r=r|0;do{if(e){if(A>>>0<128){i[e>>0]=A;e=1;break}if(!(t[t[(_1()|0)+188>>2]>>2]|0))if((A&-128|0)==57216){i[e>>0]=A;e=1;break}else{t[(R2()|0)>>2]=84;e=-1;break}if(A>>>0<2048){i[e>>0]=A>>>6|192;i[e+1>>0]=A&63|128;e=2;break}if(A>>>0<55296|(A&-8192|0)==57344){i[e>>0]=A>>>12|224;i[e+1>>0]=A>>>6&63|128;i[e+2>>0]=A&63|128;e=3;break}if((A+-65536|0)>>>0<1048576){i[e>>0]=A>>>18|240;i[e+1>>0]=A>>>12&63|128;i[e+2>>0]=A>>>6&63|128;i[e+3>>0]=A&63|128;e=4;break}else{t[(R2()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function _1(){return i1()|0}function q1(){return i1()|0}function K1(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0;w=h;h=h+272|0;u=w+8|0;b=w;do{if(!(i[A>>0]|0)){A=Te(152833)|0;if(A|0?i[A>>0]|0:0)break;A=Te(152840+(e*12|0)|0)|0;if(A|0?i[A>>0]|0:0)break;A=Te(152912)|0;if(A|0?i[A>>0]|0:0)break;A=152917}}while(0);r=0;e:do{switch(i[A+r>>0]|0){case 47:case 0:break e;default:{}}r=r+1|0}while(r>>>0<15);a=i[A>>0]|0;if(a<<24>>24!=46?(i[A+r>>0]|0)==0:0)if(a<<24>>24==67)o=15;else{c=A;o=16}else{A=152917;o=15}if((o|0)==15)if(!(i[A+1>>0]|0))o=18;else{c=A;o=16}e:do{if((o|0)==16)if((e1(c,152917)|0)!=0?(e1(c,152925)|0)!=0:0){A=t[47661]|0;if(A|0)do{if(!(e1(c,A+8|0)|0))break e;A=t[A+24>>2]|0}while((A|0)!=0);Ee(190648);A=t[47661]|0;A:do{if(A|0){while(1){if(!(e1(c,A+8|0)|0))break;A=t[A+24>>2]|0;if(!A)break A}xe(190648);break e}}while(0);A:do{if(((t[47646]|0)==0?(n=Te(152931)|0,(n|0)!=0):0)?(i[n>>0]|0)!=0:0){l=254-r|0;s=r+1|0;a=n;while(1){f=j2(a,58)|0;A=i[f>>0]|0;n=f-a+((A<<24>>24!=0)<<31>>31)|0;if(n>>>0>>0){Q6(u|0,a|0,n|0)|0;a=u+n|0;i[a>>0]=47;Q6(a+1|0,c|0,r|0)|0;i[u+(s+n)>>0]=0;a=Be(u|0,b|0)|0;if(a|0)break;A=i[f>>0]|0}a=f+(A<<24>>24!=0&1)|0;if(!(i[a>>0]|0)){o=41;break A}}A=Z2(28)|0;if(!A){P2(a,t[b>>2]|0)|0;o=41;break}else{t[A>>2]=a;t[A+4>>2]=t[b>>2];b=A+8|0;Q6(b|0,c|0,r|0)|0;i[b+r>>0]=0;t[A+24>>2]=t[47661];t[47661]=A;break}}else o=41}while(0);if((o|0)==41){A=Z2(28)|0;if(A){t[A>>2]=t[15584];t[A+4>>2]=t[15585];b=A+8|0;Q6(b|0,c|0,r|0)|0;i[b+r>>0]=0;t[A+24>>2]=t[47661];t[47661]=A}}xe(190648);A=(e|0)==0&(A|0)==0?62336:A}else{A=c;o=18}}while(0);do{if((o|0)==18){if((e|0)==0?(i[A+1>>0]|0)==46:0){A=62336;break}A=0}}while(0);h=w;return A|0}function $1(e,A){e=e|0;A=A|0;e4(e,A)|0;return e|0}function e4(e,A){e=e|0;A=A|0;var r=0,a=0;r=A;e:do{if(!((r^e)&3)){if(r&3)do{r=i[A>>0]|0;i[e>>0]=r;if(!(r<<24>>24))break e;A=A+1|0;e=e+1|0}while((A&3|0)!=0);r=t[A>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){a=e;while(1){A=A+4|0;e=a+4|0;t[a>>2]=r;r=t[A>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009|0)break;else a=e}}a=8}else a=8}while(0);if((a|0)==8){a=i[A>>0]|0;i[e>>0]=a;if(a<<24>>24)do{A=A+1|0;e=e+1|0;a=i[A>>0]|0;i[e>>0]=a}while(a<<24>>24!=0)}return e|0}function A4(e){e=e|0;return((e|0)==32|(e|0)==9)&1|0}function r4(e){e=e|0;if(!e)e=0;else e=(i4(63500,e)|0)!=0&1;return e|0}function i4(e,A){e=e|0;A=A|0;var r=0;if(!A)e=e+((X1(e)|0)<<2)|0;else{while(1){r=t[e>>2]|0;if((r|0)==0|(r|0)==(A|0))break;else e=e+4|0}e=r|0?e:0}return e|0}function a4(e,A){e=e|0;A=A|0;do{switch(A|0){case 1:{e=t4(e)|0;break}case 2:{e=P1(e)|0;break}case 3:{e=n4(e)|0;break}case 4:{e=f4(e)|0;break}case 5:{e=F1(e)|0;break}case 6:{e=l4(e)|0;break}case 7:{e=s4(e)|0;break}case 8:{e=j1(e)|0;break}case 9:{e=B1(e)|0;break}case 10:{e=r4(e)|0;break}case 11:{e=c4(e)|0;break}case 12:{e=o4(e)|0;break}default:e=0}}while(0);return e|0}function t4(e){e=e|0;if(!(F1(e)|0))e=(P1(e)|0)!=0&1;else e=1;return e|0}function n4(e){e=e|0;return A4(e)|0}function f4(e){e=e|0;return((e+-65529|0)>>>0<3|((e&-2|0)==8232|(e>>>0<32|(e+-127|0)>>>0<33)))&1|0}function l4(e){e=e|0;if(!(r4(e)|0))e=(j1(e)|0)!=0&1;else e=0;return e|0}function s4(e){e=e|0;return(J1(e)|0)!=(e|0)|0}function c4(e){e=e|0;return(u4(e)|0)!=(e|0)|0}function o4(e){e=e|0;return((e+-48|0)>>>0<10|((e|32)+-97|0)>>>0<6)&1|0}function u4(e){e=e|0;return H1(e,1)|0}function b4(e){e=e|0;return(e+-97|0)>>>0<26|0}function h4(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+128|0;n=u+124|0;o=u;f=o;l=63588;s=f+124|0;do{t[f>>2]=t[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(s|0));if((A+-1|0)>>>0>2147483646)if(!A){e=n;A=1;c=4}else{t[(R2()|0)>>2]=75;A=-1}else c=4;if((c|0)==4){c=-2-e|0;c=A>>>0>c>>>0?c:A;t[o+48>>2]=c;n=o+20|0;t[n>>2]=e;t[o+44>>2]=e;A=e+c|0;e=o+16|0;t[e>>2]=A;t[o+28>>2]=A;A=w4(o,r,a)|0;if(c){o=t[n>>2]|0;i[o+(((o|0)==(t[e>>2]|0))<<31>>31)>>0]=0}}h=u;return A|0}function w4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+224|0;u=v+120|0;w=v+80|0;k=v;d=v+136|0;a=w;n=a+40|0;do{t[a>>2]=0;a=a+4|0}while((a|0)<(n|0));t[u>>2]=t[r>>2];if((k4(0,A,u,k,w)|0)<0)r=-1;else{if((t[e+76>>2]|0)>-1)b=d4(e)|0;else b=0;r=t[e>>2]|0;o=r&32;if((i[e+74>>0]|0)<1)t[e>>2]=r&-33;a=e+48|0;if(!(t[a>>2]|0)){n=e+44|0;f=t[n>>2]|0;t[n>>2]=d;l=e+28|0;t[l>>2]=d;s=e+20|0;t[s>>2]=d;t[a>>2]=80;c=e+16|0;t[c>>2]=d+80;r=k4(e,A,u,k,w)|0;if(f){L5[t[e+36>>2]&63](e,0,0)|0;r=(t[s>>2]|0)==0?-1:r;t[n>>2]=f;t[a>>2]=0;t[c>>2]=0;t[l>>2]=0;t[s>>2]=0}}else r=k4(e,A,u,k,w)|0;a=t[e>>2]|0;t[e>>2]=a|o;if(b|0)v4(e);r=(a&32|0)==0?r:-1}h=v;return r|0}function k4(e,A,r,n,f){e=e|0;A=A|0;r=r|0;n=n|0;f=f|0;var l=0,s=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+64|0;L=W+16|0;Q=W;I=W+24|0;D=W+8|0;z=W+20|0;t[L>>2]=A;B=(e|0)!=0;y=I+40|0;C=y;I=I+39|0;Z=D+4|0;s=0;l=0;w=0;e:while(1){do{if((l|0)>-1)if((s|0)>(2147483647-l|0)){t[(R2()|0)>>2]=75;l=-1;break}else{l=s+l|0;break}}while(0);s=i[A>>0]|0;if(!(s<<24>>24)){E=86;break}else o=A;A:while(1){switch(s<<24>>24){case 37:{s=o;E=9;break A}case 0:{s=o;break A}default:{}}p=o+1|0;t[L>>2]=p;s=i[p>>0]|0;o=p}A:do{if((E|0)==9)while(1){E=0;if((i[o+1>>0]|0)!=37)break A;s=s+1|0;o=o+2|0;t[L>>2]=o;if((i[o>>0]|0)==37)E=9;else break}}while(0);s=s-A|0;if(B)g4(e,A,s);if(s|0){A=o;continue}u=o+1|0;s=(i[u>>0]|0)+-48|0;if(s>>>0<10){p=(i[o+2>>0]|0)==36;g=p?s:-1;w=p?1:w;u=p?o+3|0:u}else g=-1;t[L>>2]=u;s=i[u>>0]|0;p=(s<<24>>24)+-32|0;if(p>>>0>31|(1<>24)+-32|o;u=u+1|0;t[L>>2]=u;s=i[u>>0]|0;p=(s<<24>>24)+-32|0}while(!(p>>>0>31|(1<>24==42){b=u+1|0;s=(i[b>>0]|0)+-48|0;if(s>>>0<10?(i[u+2>>0]|0)==36:0){t[f+(s<<2)>>2]=10;s=t[n+((i[b>>0]|0)+-48<<3)>>2]|0;w=1;u=u+3|0}else{if(w|0){l=-1;break}if(B){w=(t[r>>2]|0)+(4-1)&~(4-1);s=t[w>>2]|0;t[r>>2]=w+4;w=0;u=b}else{s=0;w=0;u=b}}t[L>>2]=u;m=(s|0)<0;s=m?0-s|0:s;m=m?o|8192:o}else{s=m4(L)|0;if((s|0)<0){l=-1;break}m=o;u=t[L>>2]|0}do{if((i[u>>0]|0)==46){if((i[u+1>>0]|0)!=42){t[L>>2]=u+1;o=m4(L)|0;u=t[L>>2]|0;break}b=u+2|0;o=(i[b>>0]|0)+-48|0;if(o>>>0<10?(i[u+3>>0]|0)==36:0){t[f+(o<<2)>>2]=10;o=t[n+((i[b>>0]|0)+-48<<3)>>2]|0;u=u+4|0;t[L>>2]=u;break}if(w|0){l=-1;break e}if(B){p=(t[r>>2]|0)+(4-1)&~(4-1);o=t[p>>2]|0;t[r>>2]=p+4}else o=0;t[L>>2]=b;u=b}else o=-1}while(0);v=0;while(1){if(((i[u>>0]|0)+-65|0)>>>0>57){l=-1;break e}p=u+1|0;t[L>>2]=p;b=i[(i[u>>0]|0)+-65+(152944+(v*58|0))>>0]|0;k=b&255;if((k+-1|0)>>>0<8){v=k;u=p}else break}if(!(b<<24>>24)){l=-1;break}d=(g|0)>-1;do{if(b<<24>>24==19)if(d){l=-1;break e}else E=48;else{if(d){t[f+(g<<2)>>2]=k;d=n+(g<<3)|0;g=t[d+4>>2]|0;E=Q;t[E>>2]=t[d>>2];t[E+4>>2]=g;E=48;break}if(!B){l=0;break e}p4(Q,k,r)}}while(0);if((E|0)==48?(E=0,!B):0){s=0;A=p;continue}u=i[u>>0]|0;u=(v|0)!=0&(u&15|0)==3?u&-33:u;g=m&-65537;m=(m&8192|0)==0?m:g;A:do{switch(u|0){case 110:switch((v&255)<<24>>24){case 0:{t[t[Q>>2]>>2]=l;s=0;A=p;continue e}case 1:{t[t[Q>>2]>>2]=l;s=0;A=p;continue e}case 2:{s=t[Q>>2]|0;t[s>>2]=l;t[s+4>>2]=((l|0)<0)<<31>>31;s=0;A=p;continue e}case 3:{a[t[Q>>2]>>1]=l;s=0;A=p;continue e}case 4:{i[t[Q>>2]>>0]=l;s=0;A=p;continue e}case 6:{t[t[Q>>2]>>2]=l;s=0;A=p;continue e}case 7:{s=t[Q>>2]|0;t[s>>2]=l;t[s+4>>2]=((l|0)<0)<<31>>31;s=0;A=p;continue e}default:{s=0;A=p;continue e}}case 112:{u=120;o=o>>>0>8?o:8;A=m|8;E=60;break}case 88:case 120:{A=m;E=60;break}case 111:{u=Q;A=t[u>>2]|0;u=t[u+4>>2]|0;d=B4(A,u,y)|0;v=C-d|0;b=0;k=153408;o=(m&8|0)==0|(o|0)>(v|0)?o:v+1|0;v=m;E=66;break}case 105:case 100:{u=Q;A=t[u>>2]|0;u=t[u+4>>2]|0;if((u|0)<0){A=v6(0,0,A|0,u|0)|0;u=G;b=Q;t[b>>2]=A;t[b+4>>2]=u;b=1;k=153408;E=65;break A}else{b=(m&2049|0)!=0&1;k=(m&2048|0)==0?(m&1|0)==0?153408:153410:153409;E=65;break A}}case 117:{u=Q;b=0;k=153408;A=t[u>>2]|0;u=t[u+4>>2]|0;E=65;break}case 99:{i[I>>0]=t[Q>>2];A=I;b=0;k=153408;d=y;u=1;o=g;break}case 109:{u=A1(t[(R2()|0)>>2]|0)|0;E=70;break}case 115:{u=t[Q>>2]|0;u=u|0?u:153418;E=70;break}case 67:{t[D>>2]=t[Q>>2];t[Z>>2]=0;t[Q>>2]=D;d=-1;u=D;E=74;break}case 83:{A=t[Q>>2]|0;if(!o){C4(e,32,s,0,m);A=0;E=83}else{d=o;u=A;E=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=I4(e,+c[Q>>3],s,o,m,u)|0;A=p;continue e}default:{b=0;k=153408;d=y;u=o;o=m}}}while(0);A:do{if((E|0)==60){m=Q;g=t[m>>2]|0;m=t[m+4>>2]|0;d=E4(g,m,y,u&32)|0;k=(A&8|0)==0|(g|0)==0&(m|0)==0;b=k?0:2;k=k?153408:153408+(u>>4)|0;v=A;A=g;u=m;E=66}else if((E|0)==65){d=y4(A,u,y)|0;v=m;E=66}else if((E|0)==70){E=0;m=G1(u,0,o)|0;v=(m|0)==0;A=u;b=0;k=153408;d=v?u+o|0:m;u=v?o:m-u|0;o=g}else if((E|0)==74){E=0;k=u;A=0;o=0;while(1){b=t[k>>2]|0;if(!b)break;o=T1(z,b)|0;if((o|0)<0|o>>>0>(d-A|0)>>>0)break;A=o+A|0;if(d>>>0>A>>>0)k=k+4|0;else break}if((o|0)<0){l=-1;break e}C4(e,32,s,A,m);if(!A){A=0;E=83}else{b=0;while(1){o=t[u>>2]|0;if(!o){E=83;break A}o=T1(z,o)|0;b=o+b|0;if((b|0)>(A|0)){E=83;break A}g4(e,z,o);if(b>>>0>=A>>>0){E=83;break}else u=u+4|0}}}}while(0);if((E|0)==66){E=0;u=(A|0)!=0|(u|0)!=0;m=(o|0)!=0|u;u=C-d+((u^1)&1)|0;A=m?d:y;d=y;u=m?(o|0)>(u|0)?o:u:o;o=(o|0)>-1?v&-65537:v}else if((E|0)==83){E=0;C4(e,32,s,A,m^8192);s=(s|0)>(A|0)?s:A;A=p;continue}g=d-A|0;v=(u|0)<(g|0)?g:u;m=v+b|0;s=(s|0)<(m|0)?m:s;C4(e,32,s,m,o);g4(e,k,b);C4(e,48,s,m,o^65536);C4(e,48,v,g,0);g4(e,A,g);C4(e,32,s,m,o^8192);A=p}e:do{if((E|0)==86)if(!e)if(w){l=1;while(1){A=t[f+(l<<2)>>2]|0;if(!A)break;p4(n+(l<<3)|0,A,r);A=l+1|0;if((l|0)<9)l=A;else{l=A;break}}if((l|0)<10)while(1){if(t[f+(l<<2)>>2]|0){l=-1;break e}if((l|0)<9)l=l+1|0;else{l=1;break}}else l=1}else l=0}while(0);h=W;return l|0}function d4(e){e=e|0;return 0}function v4(e){e=e|0;return}function g4(e,A,r){e=e|0;A=A|0;r=r|0;if(!(t[e>>2]&32))G4(A,r,e)|0;return}function m4(e){e=e|0;var A=0,r=0,a=0;r=t[e>>2]|0;a=(i[r>>0]|0)+-48|0;if(a>>>0<10){A=0;do{A=a+(A*10|0)|0;r=r+1|0;t[e>>2]=r;a=(i[r>>0]|0)+-48|0}while(a>>>0<10)}else A=0;return A|0}function p4(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0.0;e:do{if(A>>>0<=20)do{switch(A|0){case 9:{i=(t[r>>2]|0)+(4-1)&~(4-1);A=t[i>>2]|0;t[r>>2]=i+4;t[e>>2]=A;break e}case 10:{i=(t[r>>2]|0)+(4-1)&~(4-1);A=t[i>>2]|0;t[r>>2]=i+4;i=e;t[i>>2]=A;t[i+4>>2]=((A|0)<0)<<31>>31;break e}case 11:{i=(t[r>>2]|0)+(4-1)&~(4-1);A=t[i>>2]|0;t[r>>2]=i+4;i=e;t[i>>2]=A;t[i+4>>2]=0;break e}case 12:{i=(t[r>>2]|0)+(8-1)&~(8-1);A=i;a=t[A>>2]|0;A=t[A+4>>2]|0;t[r>>2]=i+8;i=e;t[i>>2]=a;t[i+4>>2]=A;break e}case 13:{a=(t[r>>2]|0)+(4-1)&~(4-1);i=t[a>>2]|0;t[r>>2]=a+4;i=(i&65535)<<16>>16;a=e;t[a>>2]=i;t[a+4>>2]=((i|0)<0)<<31>>31;break e}case 14:{a=(t[r>>2]|0)+(4-1)&~(4-1);i=t[a>>2]|0;t[r>>2]=a+4;a=e;t[a>>2]=i&65535;t[a+4>>2]=0;break e}case 15:{a=(t[r>>2]|0)+(4-1)&~(4-1);i=t[a>>2]|0;t[r>>2]=a+4;i=(i&255)<<24>>24;a=e;t[a>>2]=i;t[a+4>>2]=((i|0)<0)<<31>>31;break e}case 16:{a=(t[r>>2]|0)+(4-1)&~(4-1);i=t[a>>2]|0;t[r>>2]=a+4;a=e;t[a>>2]=i&255;t[a+4>>2]=0;break e}case 17:{a=(t[r>>2]|0)+(8-1)&~(8-1);n=+c[a>>3];t[r>>2]=a+8;c[e>>3]=n;break e}case 18:{a=(t[r>>2]|0)+(8-1)&~(8-1);n=+c[a>>3];t[r>>2]=a+8;c[e>>3]=n;break e}default:break e}}while(0)}while(0);return}function E4(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;if(!((e|0)==0&(A|0)==0))do{r=r+-1|0;i[r>>0]=n[153456+(e&15)>>0]|0|a;e=y6(e|0,A|0,4)|0;A=G}while(!((e|0)==0&(A|0)==0));return r|0}function B4(e,A,r){e=e|0;A=A|0;r=r|0;if(!((e|0)==0&(A|0)==0))do{r=r+-1|0;i[r>>0]=e&7|48;e=y6(e|0,A|0,3)|0;A=G}while(!((e|0)==0&(A|0)==0));return r|0}function y4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;if(A>>>0>0|(A|0)==0&e>>>0>4294967295){while(1){a=E6(e|0,A|0,10,0)|0;r=r+-1|0;i[r>>0]=a&255|48;a=e;e=p6(e|0,A|0,10,0)|0;if(!(A>>>0>9|(A|0)==9&a>>>0>4294967295))break;else A=G}A=e}else A=e;if(A)while(1){r=r+-1|0;i[r>>0]=(A>>>0)%10|0|48;if(A>>>0<10)break;else A=(A>>>0)/10|0}return r|0}function C4(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0,n=0;n=h;h=h+256|0;t=n;if((r|0)>(i|0)&(a&73728|0)==0){a=r-i|0;z6(t|0,A|0,(a>>>0<256?a:256)|0)|0;if(a>>>0>255){A=r-i|0;do{g4(e,t,256);a=a+-256|0}while(a>>>0>255);a=A&255}g4(e,t,a)}h=n;return}function I4(e,A,r,a,f,l){e=e|0;A=+A;r=r|0;a=a|0;f=f|0;l=l|0;var s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,L=0,Q=0,D=0,z=0,W=0;W=h;h=h+560|0;o=W+8|0;m=W;z=W+524|0;D=z;u=W+512|0;t[m>>2]=0;Q=u+12|0;Z4(A)|0;if((G|0)<0){A=-A;Z=1;I=153425}else{Z=(f&2049|0)!=0&1;I=(f&2048|0)==0?(f&1|0)==0?153426:153431:153428}Z4(A)|0;do{if(0==0&(G&2146435072|0)==2146435072){z=(l&32|0)!=0;s=Z+3|0;C4(e,32,r,s,f&-65537);g4(e,I,Z);g4(e,A!=A|0.0!=0.0?z?153593:153452:z?153444:153448,3);C4(e,32,r,s,f^8192)}else{d=+E1(A,m)*2.0;s=d!=0.0;if(s)t[m>>2]=(t[m>>2]|0)+-1;E=l|32;if((E|0)==97){w=l&32;v=(w|0)==0?I:I+9|0;k=Z|2;s=12-a|0;do{if(!(a>>>0>11|(s|0)==0)){A=8.0;do{s=s+-1|0;A=A*16.0}while((s|0)!=0);if((i[v>>0]|0)==45){A=-(A+(-d-A));break}else{A=d+A-A;break}}else A=d}while(0);c=t[m>>2]|0;s=(c|0)<0?0-c|0:c;s=y4(s,((s|0)<0)<<31>>31,Q)|0;if((s|0)==(Q|0)){s=u+11|0;i[s>>0]=48}i[s+-1>>0]=(c>>31&2)+43;b=s+-2|0;i[b>>0]=l+15;o=(a|0)<1;u=(f&8|0)==0;s=z;do{L=~~A;c=s+1|0;i[s>>0]=w|n[153456+L>>0];A=(A-+(L|0))*16.0;if((c-D|0)==1?!(u&(o&A==0.0)):0){i[c>>0]=46;s=s+2|0}else s=c}while(A!=0.0);if((a|0)!=0?(-2-D+s|0)<(a|0):0){c=s-D|0;s=a+2|0}else{s=s-D|0;c=s}Q=Q-b|0;D=Q+k+s|0;C4(e,32,r,D,f);g4(e,v,k);C4(e,48,r,D,f^65536);g4(e,z,c);C4(e,48,s-c|0,0,0);g4(e,b,Q);C4(e,32,r,D,f^8192);s=D;break}c=(a|0)<0?6:a;if(s){s=(t[m>>2]|0)+-28|0;t[m>>2]=s;A=d*268435456.0}else{A=d;s=t[m>>2]|0}L=(s|0)<0?o:o+288|0;o=L;do{y=~~A>>>0;t[o>>2]=y;o=o+4|0;A=(A-+(y>>>0))*1.0e9}while(A!=0.0);if((s|0)>0){u=L;w=o;while(1){b=(s|0)<29?s:29;s=w+-4|0;if(s>>>0>=u>>>0){o=0;do{B=C6(t[s>>2]|0,0,b|0)|0;B=d6(B|0,G|0,o|0,0)|0;y=G;p=E6(B|0,y|0,1e9,0)|0;t[s>>2]=p;o=p6(B|0,y|0,1e9,0)|0;s=s+-4|0}while(s>>>0>=u>>>0);if(o){u=u+-4|0;t[u>>2]=o}}o=w;while(1){if(o>>>0<=u>>>0)break;s=o+-4|0;if(!(t[s>>2]|0))o=s;else break}s=(t[m>>2]|0)-b|0;t[m>>2]=s;if((s|0)>0)w=o;else break}}else u=L;if((s|0)<0){a=((c+25|0)/9|0)+1|0;g=(E|0)==102;do{v=0-s|0;v=(v|0)<9?v:9;if(u>>>0>>0){b=(1<>>v;k=0;s=u;do{y=t[s>>2]|0;t[s>>2]=(y>>>v)+k;k=P(y&b,w)|0;s=s+4|0}while(s>>>0>>0);s=(t[u>>2]|0)==0?u+4|0:u;if(!k){u=s;s=o}else{t[o>>2]=k;u=s;s=o+4|0}}else{u=(t[u>>2]|0)==0?u+4|0:u;s=o}o=g?L:u;o=(s-o>>2|0)>(a|0)?o+(a<<2)|0:s;s=(t[m>>2]|0)+v|0;t[m>>2]=s}while((s|0)<0);s=u;a=o}else{s=u;a=o}y=L;if(s>>>0>>0){o=(y-s>>2)*9|0;b=t[s>>2]|0;if(b>>>0>=10){u=10;do{u=u*10|0;o=o+1|0}while(b>>>0>=u>>>0)}}else o=0;g=(E|0)==103;p=(c|0)!=0;u=c-((E|0)!=102?o:0)+((p&g)<<31>>31)|0;if((u|0)<(((a-y>>2)*9|0)+-9|0)){u=u+9216|0;v=L+4+(((u|0)/9|0)+-1024<<2)|0;u=(u|0)%9|0;if((u|0)<8){b=10;while(1){b=b*10|0;if((u|0)<7)u=u+1|0;else break}}else b=10;w=t[v>>2]|0;k=(w>>>0)%(b>>>0)|0;u=(v+4|0)==(a|0);if(!(u&(k|0)==0)){d=(((w>>>0)/(b>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;B=(b|0)/2|0;A=k>>>0>>0?.5:u&(k|0)==(B|0)?1.0:1.5;if(Z){B=(i[I>>0]|0)==45;A=B?-A:A;d=B?-d:d}u=w-k|0;t[v>>2]=u;if(d+A!=d){B=u+b|0;t[v>>2]=B;if(B>>>0>999999999){o=v;while(1){u=o+-4|0;t[o>>2]=0;if(u>>>0>>0){s=s+-4|0;t[s>>2]=0}B=(t[u>>2]|0)+1|0;t[u>>2]=B;if(B>>>0>999999999)o=u;else break}}else u=v;o=(y-s>>2)*9|0;w=t[s>>2]|0;if(w>>>0>=10){b=10;do{b=b*10|0;o=o+1|0}while(w>>>0>=b>>>0)}}else u=v}else u=v;u=u+4|0;u=a>>>0>u>>>0?u:a;B=s}else{u=a;B=s}E=u;while(1){if(E>>>0<=B>>>0){m=0;break}s=E+-4|0;if(!(t[s>>2]|0))E=s;else{m=1;break}}a=0-o|0;do{if(g){s=c+((p^1)&1)|0;if((s|0)>(o|0)&(o|0)>-5){b=l+-1|0;c=s+-1-o|0}else{b=l+-2|0;c=s+-1|0}s=f&8;if(!s){if(m?(C=t[E+-4>>2]|0,(C|0)!=0):0)if(!((C>>>0)%10|0)){u=0;s=10;do{s=s*10|0;u=u+1|0}while(!((C>>>0)%(s>>>0)|0|0))}else u=0;else u=9;s=((E-y>>2)*9|0)+-9|0;if((b|32|0)==102){v=s-u|0;v=(v|0)>0?v:0;c=(c|0)<(v|0)?c:v;v=0;break}else{v=s+o-u|0;v=(v|0)>0?v:0;c=(c|0)<(v|0)?c:v;v=0;break}}else v=s}else{b=l;v=f&8}}while(0);g=c|v;w=(g|0)!=0&1;k=(b|32|0)==102;if(k){p=0;s=(o|0)>0?o:0}else{s=(o|0)<0?a:o;s=y4(s,((s|0)<0)<<31>>31,Q)|0;u=Q;if((u-s|0)<2)do{s=s+-1|0;i[s>>0]=48}while((u-s|0)<2);i[s+-1>>0]=(o>>31&2)+43;s=s+-2|0;i[s>>0]=b;p=s;s=u-s|0}s=Z+1+c+w+s|0;C4(e,32,r,s,f);g4(e,I,Z);C4(e,48,r,s,f^65536);if(k){b=B>>>0>L>>>0?L:B;v=z+9|0;w=v;k=z+8|0;u=b;do{o=y4(t[u>>2]|0,0,v)|0;if((u|0)==(b|0)){if((o|0)==(v|0)){i[k>>0]=48;o=k}}else if(o>>>0>z>>>0){z6(z|0,48,o-D|0)|0;do{o=o+-1|0}while(o>>>0>z>>>0)}g4(e,o,w-o|0);u=u+4|0}while(u>>>0<=L>>>0);if(g|0)g4(e,153472,1);if(u>>>0>>0&(c|0)>0)while(1){o=y4(t[u>>2]|0,0,v)|0;if(o>>>0>z>>>0){z6(z|0,48,o-D|0)|0;do{o=o+-1|0}while(o>>>0>z>>>0)}g4(e,o,(c|0)<9?c:9);u=u+4|0;o=c+-9|0;if(!(u>>>0>>0&(c|0)>9)){c=o;break}else c=o}C4(e,48,c+9|0,9,0)}else{g=m?E:B+4|0;if((c|0)>-1){m=z+9|0;v=(v|0)==0;a=m;w=0-D|0;k=z+8|0;b=B;do{o=y4(t[b>>2]|0,0,m)|0;if((o|0)==(m|0)){i[k>>0]=48;o=k}do{if((b|0)==(B|0)){u=o+1|0;g4(e,o,1);if(v&(c|0)<1){o=u;break}g4(e,153472,1);o=u}else{if(o>>>0<=z>>>0)break;z6(z|0,48,o+w|0)|0;do{o=o+-1|0}while(o>>>0>z>>>0)}}while(0);D=a-o|0;g4(e,o,(c|0)>(D|0)?D:c);c=c-D|0;b=b+4|0}while(b>>>0>>0&(c|0)>-1)}C4(e,48,c+18|0,18,0);g4(e,p,Q-p|0)}C4(e,32,r,s,f^8192)}}while(0);h=W;return((s|0)<(r|0)?r:s)|0}function Z4(e){e=+e;var A=0;c[u>>3]=e;A=t[u>>2]|0;G=t[u+4>>2]|0;return A|0}function G4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0,s=0;a=r+16|0;n=t[a>>2]|0;if(!n)if(!(L4(r)|0)){n=t[a>>2]|0;f=5}else a=0;else f=5;e:do{if((f|0)==5){s=r+20|0;l=t[s>>2]|0;a=l;if((n-l|0)>>>0>>0){a=L5[t[r+36>>2]&63](r,e,A)|0;break}A:do{if((i[r+75>>0]|0)>-1){l=A;while(1){if(!l){f=0;n=e;break A}n=l+-1|0;if((i[e+n>>0]|0)==10)break;else l=n}a=L5[t[r+36>>2]&63](r,e,l)|0;if(a>>>0>>0)break e;f=l;n=e+l|0;A=A-l|0;a=t[s>>2]|0}else{f=0;n=e}}while(0);Q6(a|0,n|0,A|0)|0;t[s>>2]=(t[s>>2]|0)+A;a=f+A|0}}while(0);return a|0}function L4(e){e=e|0;var A=0,r=0;A=e+74|0;r=i[A>>0]|0;i[A>>0]=r+255|r;A=t[e>>2]|0;if(!(A&8)){t[e+8>>2]=0;t[e+4>>2]=0;r=t[e+44>>2]|0;t[e+28>>2]=r;t[e+20>>2]=r;t[e+16>>2]=r+(t[e+48>>2]|0);e=0}else{t[e>>2]=A|32;e=-1}return e|0}function Q4(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=e+20|0;a=t[i>>2]|0;e=(t[e+16>>2]|0)-a|0;e=e>>>0>r>>>0?r:e;Q6(a|0,A|0,e|0)|0;t[i>>2]=(t[i>>2]|0)+e;return r|0}function D4(e){e=e|0;var A=0,r=0,a=0,t=0;a=i[e>>0]|0;A=1;r=153474;t=97;while(1){if(a<<24>>24==t<<24>>24?(e1(e,r)|0)==0:0)break;r=r+6|0;t=i[r>>0]|0;if(!(t<<24>>24)){A=0;break}else A=A+1|0}return A|0}function z4(e){e=e|0;var A=0;A=(b4(e)|0)==0;return(A?e:e&95)|0}function W4(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;f=h;h=h+16|0;n=f;do{if(e>>>0>6)A=0;else{Ee(190656);if((e|0)!=6){A=Y4(e,A)|0;xe(190656);break}if(!A){A=197132;e=0}else{e=n;r=153547;a=e+16|0;do{i[e>>0]=i[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(a|0));a=0;do{e=j2(A,59)|0;r=e-A|0;if((r|0)<16){Q6(n|0,A|0,r|0)|0;i[n+r>>0]=0;A=(i[e>>0]|0)==0?A:e+1|0}Y4(a,n)|0;a=a+1|0}while((a|0)!=6);A=197132;e=0}while(1){a=t[190616+(e<<2)>>2]|0;a=a|0?a+8|0:153563;r=U2(a)|0;Q6(A|0,a|0,r|0)|0;a=A+r|0;i[a>>0]=59;e=e+1|0;if((e|0)==6)break;else A=A+(r+1)|0}i[a>>0]=0;xe(190656);A=197132}}while(0);h=f;return A|0}function Y4(e,A){e=e|0;A=A|0;if(!A)e=t[190616+(e<<2)>>2]|0;else{A=K1(e,A)|0;t[190616+(e<<2)>>2]=A;e=A}return(e|0?e+8|0:153563)|0}function F4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,t=0;e:do{if(!r)e=0;else{while(1){a=i[e>>0]|0;t=i[A>>0]|0;if(a<<24>>24!=t<<24>>24)break;r=r+-1|0;if(!r){e=0;break e}else{e=e+1|0;A=A+1|0}}e=(a&255)-(t&255)|0}}while(0);return e|0}function M4(e){e=e|0;return V4(e)|0}function V4(e){e=e|0;return I6(e|0)|0}function N4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;if((t[r+76>>2]|0)>-1)u=d4(r)|0;else u=0;a=A+-1|0;if((A|0)<2){b=r+74|0;o=i[b>>0]|0;i[b>>0]=o+255|o;if(u|0)v4(r);if(!a)i[e>>0]=0;else e=0}else{e:do{if(a){c=r+4|0;o=r+8|0;A=e;while(1){f=t[c>>2]|0;h=f;w=(t[o>>2]|0)-h|0;l=G1(f,10,w)|0;s=(l|0)==0;l=s?w:1-h+l|0;l=l>>>0>>0?l:a;Q6(A|0,f|0,l|0)|0;f=(t[c>>2]|0)+l|0;t[c>>2]=f;A=A+l|0;l=a-l|0;if(!(s&(l|0)!=0)){b=17;break e}if(f>>>0>=(t[o>>2]|0)>>>0){a=W1(r)|0;if((a|0)<0)break;else s=a}else{t[c>>2]=f+1;s=n[f>>0]|0}a=l+-1|0;f=A+1|0;i[A>>0]=s;if(!((a|0)!=0&(s&255|0)!=10)){A=f;b=17;break e}else A=f}if((A|0)!=(e|0)?(t[r>>2]&16|0)!=0:0)b=17;else e=0}else{A=e;b=17}}while(0);if((b|0)==17)if(!e)e=0;else i[A>>0]=0;if(u)v4(r)}return e|0}function R4(e,A){e=e|0;A=A|0;var r=0;r=i[A>>0]|0;do{if(r<<24>>24){e=C1(e,r<<24>>24)|0;if(e){if(i[A+1>>0]|0)if(i[e+1>>0]|0){if(!(i[A+2>>0]|0)){e=x4(e,A)|0;break}if(i[e+2>>0]|0){if(!(i[A+3>>0]|0)){e=J4(e,A)|0;break}if(i[e+3>>0]|0)if(!(i[A+4>>0]|0)){e=H4(e,A)|0;break}else{e=P4(e,A)|0;break}else e=0}else e=0}else e=0}else e=0}}while(0);return e|0}function x4(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;t=(n[A>>0]|0)<<8|(n[A+1>>0]|0);a=n[e>>0]|0;while(1){A=e+1|0;r=i[A>>0]|0;if(!(r<<24>>24))break;a=a<<8&65280|r&255;if((a|0)==(t|0))break;else e=A}return(r<<24>>24?e:0)|0}function J4(e,A){e=e|0;A=A|0;var r=0,a=0;a=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8;r=e+2|0;A=i[r>>0]|0;e=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(A&255)<<8;if(!((e|0)==(a|0)|A<<24>>24==0))do{r=r+1|0;A=i[r>>0]|0;e=(e|A&255)<<8}while(!((e|0)==(a|0)|A<<24>>24==0));return(A<<24>>24?r+-2|0:0)|0}function H4(e,A){e=e|0;A=A|0;var r=0,a=0;a=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8|(n[A+3>>0]|0);A=e+3|0;r=i[A>>0]|0;e=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8|r&255;if(!(r<<24>>24==0|(e|0)==(a|0)))do{A=A+1|0;r=i[A>>0]|0;e=e<<8|r&255}while(!(r<<24>>24==0|(e|0)==(a|0)));return(r<<24>>24?A+-3|0:0)|0}function P4(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0;p=h;h=h+1056|0;g=p+1024|0;m=p;t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;t[g+12>>2]=0;t[g+16>>2]=0;t[g+20>>2]=0;t[g+24>>2]=0;t[g+28>>2]=0;r=i[A>>0]|0;e:do{if(r<<24>>24){v=0;do{if(!(i[e+v>>0]|0)){r=0;break e}d=g+(((r&255)>>>5&255)<<2)|0;t[d>>2]=t[d>>2]|1<<(r&31);v=v+1|0;t[m+((r&255)<<2)>>2]=v;r=i[A+v>>0]|0}while(r<<24>>24!=0);o=v>>>0>1;if(o){a=0;c=-1;n=1;A:while(1){f=1;r=a;while(1){a=n;r:while(1){s=1;while(1){n=i[A+(s+c)>>0]|0;l=i[A+a>>0]|0;if(n<<24>>24!=l<<24>>24)break r;if((s|0)==(f|0))break;s=s+1|0;a=s+r|0;if(a>>>0>=v>>>0){u=f;r=c;break A}}r=f+r|0;a=r+1|0;if(a>>>0>=v>>>0){u=f;r=c;break A}}f=a-c|0;if((n&255)<=(l&255))break;n=a+1|0;if(n>>>0>=v>>>0){u=f;r=c;break A}else r=a}n=r+2|0;if(n>>>0>=v>>>0){u=1;break}else{a=r+1|0;c=r}}if(o){f=0;o=-1;l=1;while(1){a=1;n=f;while(1){f=l;A:while(1){c=1;while(1){l=i[A+(c+o)>>0]|0;s=i[A+f>>0]|0;if(l<<24>>24!=s<<24>>24)break A;if((c|0)==(a|0))break;c=c+1|0;f=c+n|0;if(f>>>0>=v>>>0){l=u;n=o;f=26;break e}}n=a+n|0;f=n+1|0;if(f>>>0>=v>>>0){l=u;n=o;f=26;break e}}a=f-o|0;if((l&255)>=(s&255))break;l=f+1|0;if(l>>>0>=v>>>0){l=u;n=o;f=26;break e}else n=f}l=n+2|0;if(l>>>0>=v>>>0){l=u;a=1;f=26;break}else{f=n+1|0;o=n}}}else{l=u;a=1;n=-1;f=26}}else{l=1;r=-1;a=1;n=-1;f=26}}else{l=1;r=-1;v=0;a=1;n=-1;f=26}}while(0);e:do{if((f|0)==26){k=(n+1|0)>>>0>(r+1|0)>>>0;a=k?a:l;k=k?n:r;d=k+1|0;if(!(F4(A,A+a|0,d)|0))w=v-a|0;else{a=v-k+-1|0;w=0;a=(k>>>0>a>>>0?k:a)+1|0}c=v|63;o=v+-1|0;u=(w|0)!=0;b=v-a|0;r=e;s=0;n=e;while(1){f=r;do{if((n-f|0)>>>0>>0){l=G1(n,0,c)|0;if(l)if((l-f|0)>>>0>>0){r=0;break e}else break;else{l=n+c|0;break}}else l=n}while(0);n=i[r+o>>0]|0;A:do{if(!(1<<(n&31)&t[g+(((n&255)>>>5&255)<<2)>>2])){f=0;n=v}else{n=v-(t[m+((n&255)<<2)>>2]|0)|0;if(n|0){f=0;n=u&(s|0)!=0&n>>>0>>0?b:n;break}n=d>>>0>s>>>0?d:s;f=i[A+n>>0]|0;r:do{if(!(f<<24>>24))n=d;else{while(1){if(f<<24>>24!=(i[r+n>>0]|0))break;n=n+1|0;f=i[A+n>>0]|0;if(!(f<<24>>24)){n=d;break r}}f=0;n=n-k|0;break A}}while(0);while(1){if(n>>>0<=s>>>0)break e;n=n+-1|0;if((i[A+n>>0]|0)!=(i[r+n>>0]|0)){f=w;n=a;break}}}}while(0);r=r+n|0;s=f;n=l}}}while(0);h=p;return r|0}function X4(e,A,r){e=e|0;A=A|0;r=r|0;S4(e,A,r)|0;return e|0}function S4(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;n=A;e:do{if(!((n^e)&3)){a=(r|0)!=0;if(a&(n&3|0)!=0)do{n=i[A>>0]|0;i[e>>0]=n;if(!(n<<24>>24))break e;r=r+-1|0;A=A+1|0;e=e+1|0;a=(r|0)!=0}while(a&(A&3|0)!=0);if(a){if(i[A>>0]|0){A:do{if(r>>>0>3){a=A;while(1){A=t[a>>2]|0;if((A&-2139062144^-2139062144)&A+-16843009|0){A=a;break A}t[e>>2]=A;r=r+-4|0;A=a+4|0;e=e+4|0;if(r>>>0>3)a=A;else break}}}while(0);f=11}}else r=0}else f=11}while(0);e:do{if((f|0)==11)if(!r)r=0;else while(1){f=i[A>>0]|0;i[e>>0]=f;if(!(f<<24>>24))break e;r=r+-1|0;e=e+1|0;if(!r){r=0;break}else A=A+1|0}}while(0);z6(e|0,0,r|0)|0;return e|0}function j4(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0;n=h;h=h+32|0;a=n;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[a+16>>2]=0;t[a+20>>2]=0;t[a+24>>2]=0;t[a+28>>2]=0;r=i[A>>0]|0;do{if(!(r<<24>>24))A=0;else{if(!(i[A+1>>0]|0)){A=e;while(1)if((i[A>>0]|0)==r<<24>>24)A=A+1|0;else break;A=A-e|0;break}do{f=a+(((r&255)>>>5&255)<<2)|0;t[f>>2]=t[f>>2]|1<<(r&31);A=A+1|0;r=i[A>>0]|0}while(r<<24>>24!=0);r=i[e>>0]|0;e:do{if(!(r<<24>>24))A=e;else{A=e;do{if(!(t[a+(((r&255)>>>5&255)<<2)>>2]&1<<(r&31)))break e;A=A+1|0;r=i[A>>0]|0}while(r<<24>>24!=0)}}while(0);A=A-e|0}}while(0);h=n;return A|0}function U4(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;t[r>>2]=x2(e)|0;e=Ne(6,r|0)|0;e=N2((e|0)==-4?0:e)|0;h=A;return e|0}function T4(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=O4(e,A,a)|0;h=i;return r|0}function O4(e,A,r){e=e|0;A=A|0;r=r|0;return h4(e,2147483647,A,r)|0}function _4(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+208|0;s=o+8|0;c=o;f=P(r,A)|0;l=c;t[l>>2]=1;t[l+4>>2]=0;e:do{if(f|0){l=0-r|0;t[s+4>>2]=r;t[s>>2]=r;a=2;A=r;n=r;while(1){A=A+r+n|0;t[s+(a<<2)>>2]=A;if(A>>>0>>0){u=n;a=a+1|0;n=A;A=u}else break}n=e+f+l|0;if(n>>>0>e>>>0){f=n;a=1;A=1;do{do{if((A&3|0)!=3){A=a+-1|0;if((t[s+(A<<2)>>2]|0)>>>0<(f-e|0)>>>0)q4(e,r,i,a,s);else $4(e,r,i,c,a,0,s);if((a|0)==1){e3(c,1);a=0;break}else{e3(c,A);a=1;break}}else{q4(e,r,i,a,s);K4(c,2);a=a+2|0}}while(0);A=t[c>>2]|1;t[c>>2]=A;e=e+r|0}while(e>>>0>>0)}else{a=1;A=1}$4(e,r,i,c,a,0,s);n=c+4|0;while(1){if((a|0)==1&(A|0)==1){if(!(t[n>>2]|0))break e}else if((a|0)>=2){e3(c,2);u=a+-2|0;t[c>>2]=t[c>>2]^7;K4(c,1);$4(e+(0-(t[s+(u<<2)>>2]|0))+l|0,r,i,c,a+-1|0,1,s);e3(c,1);A=t[c>>2]|1;t[c>>2]=A;f=e+l|0;$4(f,r,i,c,u,1,s);e=f;a=u;continue}A=A3(c)|0;K4(c,A);e=e+l|0;a=A+a|0;A=t[c>>2]|0}}}while(0);h=o;return}function q4(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+240|0;o=u;t[o>>2]=e;e:do{if((i|0)>1){c=0-A|0;n=e;s=i;i=1;while(1){f=n+c|0;l=s+-2|0;n=f+(0-(t[a+(l<<2)>>2]|0))|0;if((Z5[r&127](e,n)|0)>-1?(Z5[r&127](e,f)|0)>-1:0)break e;e=i+1|0;i=o+(i<<2)|0;if((Z5[r&127](n,f)|0)>-1){t[i>>2]=n;i=s+-1|0}else{t[i>>2]=f;n=f;i=l}if((i|0)<=1){i=e;break e}s=i;i=e;e=t[o>>2]|0}}else i=1}while(0);i3(A,o,i);h=u;return}function K4(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+4|0;if(A>>>0>31){i=t[a>>2]|0;t[e>>2]=i;t[a>>2]=0;A=A+-32|0;r=0}else{r=t[a>>2]|0;i=t[e>>2]|0}t[e>>2]=r<<32-A|i>>>A;t[a>>2]=r>>>A;return}function $4(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;var l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0;w=h;h=h+240|0;u=w+232|0;b=w;k=t[i>>2]|0;t[u>>2]=k;s=t[i+4>>2]|0;c=u+4|0;t[c>>2]=s;t[b>>2]=e;e:do{if((k|0)!=1|(s|0)!=0?(o=0-A|0,l=e+(0-(t[f+(a<<2)>>2]|0))|0,(Z5[r&127](l,e)|0)>=1):0){i=1;n=(n|0)==0;s=l;while(1){if(n&(a|0)>1){n=e+o|0;l=t[f+(a+-2<<2)>>2]|0;if((Z5[r&127](n,s)|0)>-1){l=10;break e}if((Z5[r&127](n+(0-l)|0,s)|0)>-1){l=10;break e}}n=i+1|0;t[b+(i<<2)>>2]=s;k=A3(u)|0;K4(u,k);a=k+a|0;if(!((t[u>>2]|0)!=1|(t[c>>2]|0)!=0)){i=n;e=s;l=10;break e}e=s+(0-(t[f+(a<<2)>>2]|0))|0;if((Z5[r&127](e,t[b>>2]|0)|0)<1){e=s;i=n;n=0;l=9;break}else{k=s;i=n;n=1;s=e;e=k}}}else{i=1;l=9}}while(0);if((l|0)==9?(n|0)==0:0)l=10;if((l|0)==10){i3(A,b,i);q4(e,A,r,a,f)}h=w;return}function e3(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;a=e+4|0;if(A>>>0>31){i=t[e>>2]|0;t[a>>2]=i;t[e>>2]=0;A=A+-32|0;r=0}else{r=t[e>>2]|0;i=t[a>>2]|0}t[a>>2]=r>>>(32-A|0)|i<>2]=r<>2]|0)+-1|0)|0;if(!A){A=r3(t[e+4>>2]|0)|0;return((A|0)==0?0:A+32|0)|0}else return A|0;return 0}function r3(e){e=e|0;var A=0;if(e)if(!(e&1)){A=e;e=0;do{e=e+1|0;A=A>>>1}while(!(A&1|0))}else e=0;else e=32;return e|0}function i3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0;f=h;h=h+256|0;i=f;e:do{if((r|0)>=2?(n=A+(r<<2)|0,t[n>>2]=i,e|0):0)while(1){a=e>>>0<256?e:256;Q6(i|0,t[A>>2]|0,a|0)|0;i=0;do{l=A+(i<<2)|0;i=i+1|0;Q6(t[l>>2]|0,t[A+(i<<2)>>2]|0,a|0)|0;t[l>>2]=(t[l>>2]|0)+a}while((i|0)!=(r|0));e=e-a|0;if(!e)break e;i=t[n>>2]|0}}while(0);h=f;return}function a3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=w4(e,A,a)|0;h=i;return r|0}function t3(e){e=e|0;var A=0,r=0,a=0;a=h;h=h+16|0;r=a;pe(0,r|0)|0;A=0;r=(t[r+4>>2]|0)*65537^(r>>>4)+e;while(1){i[e+A>>0]=(r&15)+65|r<<1&32;A=A+1|0;if((A|0)==6)break;else r=r>>>5}h=a;return e|0}function n3(e,A,r){e=e|0;A=A|0;r=r|0;r=L1(e,A,r,-2147483648,0)|0;return r|0}function f3(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;f=h;h=h+32|0;a=f;r=i[A>>0]|0;e:do{if(r<<24>>24!=0?(i[A+1>>0]|0)!=0:0){t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[a+16>>2]=0;t[a+20>>2]=0;t[a+24>>2]=0;t[a+28>>2]=0;do{l=a+(((r&255)>>>5&255)<<2)|0;t[l>>2]=t[l>>2]|1<<(r&31);A=A+1|0;r=i[A>>0]|0}while(r<<24>>24!=0);r=i[e>>0]|0;if(!(r<<24>>24))A=e;else{A=e;do{if(t[a+(((r&255)>>>5&255)<<2)>>2]&1<<(r&31)|0)break e;A=A+1|0;r=i[A>>0]|0}while(r<<24>>24!=0)}}else n=3}while(0);if((n|0)==3)A=j2(e,r<<24>>24)|0;h=f;return A-e|0}function l3(e,A){e=e|0;A=A|0;var r=0;if(!e){e=t[47666]|0;if(!e)e=0;else r=3}else r=3;do{if((r|0)==3){e=e+(j4(e,A)|0)|0;if(!(i[e>>0]|0)){t[47666]=0;e=0;break}A=e+(f3(e,A)|0)|0;t[47666]=A;if(!(i[A>>0]|0)){t[47666]=0;break}else{t[47666]=A+1;i[A>>0]=0;break}}}while(0);return e|0}function s3(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;a=A&255;do{if(!r){A=0;break}r=r+-1|0;A=e+r|0}while((i[A>>0]|0)!=a<<24>>24);return A|0}function c3(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;if(!e){e=t[r>>2]|0;if(!e)e=0;else a=3}else a=3;do{if((a|0)==3){e=e+(j4(e,A)|0)|0;if(!(i[e>>0]|0)){t[r>>2]=0;e=0;break}A=e+(f3(e,A)|0)|0;t[r>>2]=A;if(!(i[A>>0]|0)){t[r>>2]=0;break}else{t[r>>2]=A+1;i[A>>0]=0;break}}}while(0);return e|0}function o3(e){e=e|0;var A=0,r=0;r=(U2(e)|0)+1|0;A=Z2(r)|0;if(!A)A=0;else Q6(A|0,e|0,r|0)|0;return A|0}function u3(e,A){e=e|0;A=A|0;return s3(e,A,(U2(e)|0)+1|0)|0}function b3(e,A){e=e|0;A=A|0;$1(e+(U2(e)|0)|0,A)|0;return e|0}function h3(e,A){e=e|0;A=A|0;A=e+(f3(e,A)|0)|0;return(i[A>>0]|0?A:0)|0}function w3(e){e=e|0;var A=0;if((t[e+76>>2]|0)>-1){A=(d4(e)|0)==0;e=(t[e>>2]|0)>>>4&1}else e=(t[e>>2]|0)>>>4&1;return e|0}function k3(e){e=e|0;var A=0,r=0,i=0,a=0,n=0;if((t[e+76>>2]|0)>-1)a=d4(e)|0;else a=0;d3(e);n=(t[e>>2]&1|0)!=0;if(!n){i=v3()|0;r=t[e+52>>2]|0;A=e+56|0;if(r|0)t[r+56>>2]=t[A>>2];A=t[A>>2]|0;if(A|0)t[A+52>>2]=r;if((t[i>>2]|0)==(e|0))t[i>>2]=A;g3()}A=m3(e)|0;A=I5[t[e+12>>2]&63](e)|0|A;r=t[e+92>>2]|0;if(r|0)G2(r);if(n){if(a|0)v4(e)}else G2(e);return A|0}function d3(e){e=e|0;var A=0;if(t[e+68>>2]|0){A=t[e+116>>2]|0;e=e+112|0;if(A|0)t[A+112>>2]=t[e>>2];e=t[e>>2]|0;if(!e)e=(E3()|0)+232|0;else e=e+116|0;t[e>>2]=A}return}function v3(){Ee(190668);return 190676}function g3(){xe(190668);return}function m3(e){e=e|0;var A=0,r=0;do{if(e){if((t[e+76>>2]|0)<=-1){A=p3(e)|0;break}r=(d4(e)|0)==0;A=p3(e)|0;if(!r)v4(e)}else{if(!(t[15711]|0))A=0;else A=m3(t[15711]|0)|0;e=t[(v3()|0)>>2]|0;if(e)do{if((t[e+76>>2]|0)>-1)r=d4(e)|0;else r=0;if((t[e+20>>2]|0)>>>0>(t[e+28>>2]|0)>>>0)A=p3(e)|0|A;if(r|0)v4(e);e=t[e+56>>2]|0}while((e|0)!=0);g3()}}while(0);return A|0}function p3(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;A=e+20|0;f=e+28|0;if((t[A>>2]|0)>>>0>(t[f>>2]|0)>>>0?(L5[t[e+36>>2]&63](e,0,0)|0,(t[A>>2]|0)==0):0)e=-1;else{r=e+4|0;i=t[r>>2]|0;a=e+8|0;n=t[a>>2]|0;if(i>>>0>>0)L5[t[e+40>>2]&63](e,i-n|0,1)|0;t[e+16>>2]=0;t[f>>2]=0;t[A>>2]=0;t[a>>2]=0;t[r>>2]=0;e=0}return e|0}function E3(){return i1()|0}function B3(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+64|0;u=b+40|0;c=b+24|0;s=b+16|0;n=b;o=b+56|0;a=i[A>>0]|0;if(G1(153580,a<<24>>24,4)|0){r=Z2(1156)|0;if(!r)r=0;else{f=r;l=f+124|0;do{t[f>>2]=0;f=f+4|0}while((f|0)<(l|0));if(!(C1(A,43)|0))t[r>>2]=a<<24>>24==114?8:4;if(C1(A,101)|0){t[n>>2]=e;t[n+4>>2]=2;t[n+8>>2]=1;We(221,n|0)|0;a=i[A>>0]|0}if(a<<24>>24==97){t[s>>2]=e;t[s+4>>2]=3;a=We(221,s|0)|0;if(!(a&1024)){t[c>>2]=e;t[c+4>>2]=4;t[c+8>>2]=a|1024;We(221,c|0)|0}A=t[r>>2]|128;t[r>>2]=A}else A=t[r>>2]|0;t[r+60>>2]=e;t[r+44>>2]=r+132;t[r+48>>2]=1024;a=r+75|0;i[a>>0]=-1;if((A&8|0)==0?(t[u>>2]=e,t[u+4>>2]=21523,t[u+8>>2]=o,(Ve(54,u|0)|0)==0):0)i[a>>0]=10;t[r+32>>2]=15;t[r+36>>2]=18;t[r+40>>2]=16;t[r+12>>2]=17;if(!(t[47645]|0))t[r+76>>2]=-1;y3(r)|0}}else{t[(R2()|0)>>2]=22;r=0}h=b;return r|0}function y3(e){e=e|0;var A=0,r=0;A=v3()|0;t[e+56>>2]=t[A>>2];r=t[A>>2]|0;if(r|0)t[r+52>>2]=e;t[A>>2]=e;g3();return e|0}function C3(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,s=0;s=h;h=h+16|0;a=s;e:do{if(!A)e=0;else{do{if(r|0){l=(e|0)==0?a:e;e=i[A>>0]|0;if(e<<24>>24>-1){t[l>>2]=e&255;e=e<<24>>24!=0&1;break e}f=(t[t[(I3()|0)+188>>2]>>2]|0)==0;e=i[A>>0]|0;if(f){t[l>>2]=e<<24>>24&57343;e=1;break e}e=(e&255)+-194|0;if(e>>>0<=50){a=A+1|0;f=t[62384+(e<<2)>>2]|0;if(r>>>0<4?f&-2147483648>>>((r*6|0)+-6|0)|0:0)break;e=n[a>>0]|0;r=e>>>3;if((r+-16|r+(f>>26))>>>0<=7){e=e+-128|f<<6;if((e|0)>=0){t[l>>2]=e;e=2;break e}a=(n[A+2>>0]|0)+-128|0;if(a>>>0<=63){a=a|e<<6;if((a|0)>=0){t[l>>2]=a;e=3;break e}e=(n[A+3>>0]|0)+-128|0;if(e>>>0<=63){t[l>>2]=e|a<<6;e=4;break e}}}}}}while(0);t[(R2()|0)>>2]=84;e=-1}}while(0);h=s;return e|0}function I3(){return i1()|0}function Z3(e,A){e=e|0;A=A|0;var r=0;r=U2(e)|0;return((G3(e,1,r,A)|0)!=(r|0))<<31>>31|0}function G3(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;a=P(r,A)|0;r=(A|0)==0?0:r;if((t[i+76>>2]|0)>-1){n=(d4(i)|0)==0;e=G4(e,a,i)|0;if(!n)v4(i)}else e=G4(e,a,i)|0;if((e|0)!=(a|0))r=(e>>>0)/(A>>>0)|0;return r|0}function L3(e,A){e=e|0;A=A|0;var r=0,a=0,f=0,l=0,s=0,c=0,o=0;o=h;h=h+16|0;s=o;c=A&255;i[s>>0]=c;a=e+16|0;f=t[a>>2]|0;if(!f)if(!(L4(e)|0)){f=t[a>>2]|0;l=4}else r=-1;else l=4;do{if((l|0)==4){l=e+20|0;a=t[l>>2]|0;if(a>>>0>>0?(r=A&255,(r|0)!=(i[e+75>>0]|0)):0){t[l>>2]=a+1;i[a>>0]=c;break}if((L5[t[e+36>>2]&63](e,s,1)|0)==1)r=n[s>>0]|0;else r=-1}}while(0);h=o;return r|0}function Q3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=e;t[a+4>>2]=A;t[a+8>>2]=r;r=N2(Ye(3,a|0)|0)|0;h=i;return r|0}function D3(){var e=0,A=0;A=h;h=h+16|0;e=ze(20,A|0)|0;h=A;return e|0}function z3(e,A){e=e|0;A=A|0;var r=0,a=0,t=0;r=e;a=153565;t=r+15|0;do{i[r>>0]=i[a>>0]|0;r=r+1|0;a=a+1|0}while((r|0)<(t|0));if(!A){i[e+14>>0]=48;i[e+15>>0]=0}else{a=A;r=14;while(1){r=r+1|0;if(a>>>0<10)break;else a=(a>>>0)/10|0}i[e+r>>0]=0;while(1){r=r+-1|0;i[e+r>>0]=(A>>>0)%10|0|48;if(A>>>0<10)break;else A=(A>>>0)/10|0}}return}function W3(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0;n=h;h=h+48|0;a=n+40|0;i=n+8|0;r=n;t[r>>2]=e;t[r+4>>2]=A;r=De(197,r|0)|0;if((r|0)==-9?(t[i>>2]=e,t[i+4>>2]=1,(We(221,i|0)|0)>=0):0){z3(i,e);t[a>>2]=i;t[a+4>>2]=A;A=N2(Qe(195,a|0)|0)|0}else A=N2(r)|0;h=n;return A|0}function Y3(e,A){e=e|0;A=A|0;var r=0,i=0;r=h;h=h+16|0;i=r;t[i>>2]=e;t[i+4>>2]=A;A=N2(Fe(33,i|0)|0)|0;h=r;return A|0}function F3(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0;l=h;h=h+48|0;f=l+32|0;n=l+16|0;r=l;if(G1(153580,i[A>>0]|0,4)|0){a=M3(A)|0;t[r>>2]=e;t[r+4>>2]=a|32768;t[r+8>>2]=438;r=N2(Me(5,r|0)|0)|0;if((r|0)>=0){if(a&524288|0){t[n>>2]=r;t[n+4>>2]=2;t[n+8>>2]=1;We(221,n|0)|0}e=B3(r,A)|0;if(!e){t[f>>2]=r;Ne(6,f|0)|0;e=0}}else e=0}else{t[(R2()|0)>>2]=22;e=0}h=l;return e|0}function M3(e){e=e|0;var A=0,r=0,a=0;r=(C1(e,43)|0)==0;A=i[e>>0]|0;r=r?A<<24>>24!=114&1:2;a=(C1(e,120)|0)==0;r=a?r:r|128;e=(C1(e,101)|0)==0;e=e?r:r|524288;e=A<<24>>24==114?e:e|64;e=A<<24>>24==119?e|512:e;return(A<<24>>24==97?e|1024:e)|0}function V3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=h;h=h+16|0;a=i;t[a>>2]=r;r=N3(e,A,a)|0;h=i;return r|0}function N3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;n=h;h=h+128|0;i=n;a=i;f=a+124|0;do{t[a>>2]=0;a=a+4|0}while((a|0)<(f|0));t[i+32>>2]=41;t[i+44>>2]=e;t[i+76>>2]=-1;t[i+84>>2]=e;f=x3(i,A,r)|0;h=n;return f|0}function R3(e,A,r){e=e|0;A=A|0;r=r|0;return T3(e,A,r)|0}function x3(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,f=0,l=0,o=0,u=0,b=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0;J=h;h=h+288|0;F=J+8|0;M=J+17|0;V=J;N=J+16|0;if((t[e+76>>2]|0)>-1)x=d4(e)|0;else x=0;a=i[A>>0]|0;e:do{if(a<<24>>24){I=e+4|0;Z=e+100|0;L=e+108|0;Q=e+8|0;D=M+10|0;z=M+33|0;C=F+4|0;W=M+1|0;Y=M+1|0;o=A;g=0;A=0;l=0;f=0;A:while(1){r:do{if(!(I1(a&255)|0)){a=a<<24>>24==37;i:do{if(a){w=o+1|0;u=i[w>>0]|0;a:do{switch(u<<24>>24){case 37:break i;case 42:{y=0;o=o+2|0;break}default:{a=(u&255)+-48|0;if(a>>>0<10?(i[o+2>>0]|0)==36:0){y=J3(r,a)|0;o=o+3|0;break a}o=(t[r>>2]|0)+(4-1)&~(4-1);y=t[o>>2]|0;t[r>>2]=o+4;o=w}}}while(0);a=i[o>>0]|0;u=a&255;if((u+-48|0)>>>0<10){w=0;do{w=(w*10|0)+-48+u|0;o=o+1|0;a=i[o>>0]|0;u=a&255}while((u+-48|0)>>>0<10)}else w=0;a=a<<24>>24==109;B=(y|0)!=0;l=a?0:l;f=a?0:f;o=a?o+1|0:o;a=B&a;u=o+1|0;switch(i[o>>0]|0){case 104:{E=(i[u>>0]|0)==104;k=E?-2:-1;o=E?o+2|0:u;break}case 108:{E=(i[u>>0]|0)==108;k=E?3:1;o=E?o+2|0:u;break}case 106:{k=3;o=u;break}case 116:case 122:{k=1;o=u;break}case 76:{k=2;o=u;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{k=0;break}default:{R=135;break A}}v=n[o>>0]|0;m=(v&47|0)==3;v=m?v|32:v;m=m?1:k;d=v&255;switch(d<<24>>24){case 99:{w=(w|0)>1?w:1;E=g;break}case 91:{E=g;break}case 110:{H3(y,m,g,((g|0)<0)<<31>>31);u=g;break r}default:{Q1(e,0);do{u=t[I>>2]|0;if(u>>>0<(t[Z>>2]|0)>>>0){t[I>>2]=u+1;u=n[u>>0]|0}else u=z1(e)|0}while((I1(u)|0)!=0);if(!(t[Z>>2]|0))u=t[I>>2]|0;else{u=(t[I>>2]|0)+-1|0;t[I>>2]=u}E=(t[L>>2]|0)+g+u-(t[Q>>2]|0)|0}}Q1(e,w);u=t[I>>2]|0;k=t[Z>>2]|0;if(u>>>0>>0)t[I>>2]=u+1;else{if((z1(e)|0)<0){R=135;break A}k=t[Z>>2]|0}if(k|0)t[I>>2]=(t[I>>2]|0)+-1;a:do{switch(d<<24>>24){case 91:case 99:case 115:{p=(v|0)==99;t:do{if((v|16|0)==115){z6(W|0,-1,256)|0;i[M>>0]=0;if((v|0)==115){i[z>>0]=0;i[D>>0]=0;i[D+1>>0]=0;i[D+2>>0]=0;i[D+3>>0]=0;i[D+4>>0]=0}}else{v=o+1|0;u=(i[v>>0]|0)==94;g=u&1;o=u?o+2|0:v;z6(Y|0,u&1|0,256)|0;i[M>>0]=0;u=i[o>>0]|0;switch(u<<24>>24){case 45:{u=46;R=63;break}case 93:{u=94;R=63;break}default:{}}while(1){if((R|0)==63){R=0;i[M+u>>0]=g^1;u=o+1|0;o=u;u=i[u>>0]|0}n:do{switch(u<<24>>24){case 0:{R=135;break A}case 93:break t;case 45:{v=o+1|0;u=i[v>>0]|0;switch(u<<24>>24){case 93:case 0:{u=45;break n}default:{}}o=i[o+-1>>0]|0;if((o&255)<(u&255)){d=(g^1)&255;o=o&255;do{o=o+1|0;i[M+o>>0]=d;u=i[v>>0]|0}while((o|0)<(u&255|0));o=v}else o=v;break}default:{}}}while(0);u=(u&255)+1|0;R=63}}}while(0);u=p?w+1|0:31;v=(m|0)==1;t:do{if(v){if(a){f=Z2(u<<2)|0;if(!f){l=0;f=0;a=1;R=135;break A}}else f=y;t[F>>2]=0;t[C>>2]=0;d=u;l=0;n:while(1){k=(f|0)==0;do{f:while(1){u=t[I>>2]|0;if(u>>>0<(t[Z>>2]|0)>>>0){t[I>>2]=u+1;u=n[u>>0]|0}else u=z1(e)|0;if(!(i[M+(u+1)>>0]|0))break n;i[N>>0]=u;switch(U1(V,N,1,F)|0){case-1:{l=0;R=135;break A}case-2:break;default:break f}}if(!k){t[f+(l<<2)>>2]=t[V>>2];l=l+1|0}}while(!(a&(l|0)==(d|0)));l=d<<1|1;u=Q2(f,l<<2)|0;if(!u){l=0;a=1;R=135;break A}else{m=d;d=l;f=u;l=m}}if(!(P3(F)|0)){l=0;R=135;break A}else{u=l;l=0;d=f}}else{if(a){l=Z2(u)|0;if(!l){l=0;f=0;a=1;R=135;break A}else{k=u;f=0}while(1){do{u=t[I>>2]|0;if(u>>>0<(t[Z>>2]|0)>>>0){t[I>>2]=u+1;u=n[u>>0]|0}else u=z1(e)|0;if(!(i[M+(u+1)>>0]|0)){u=f;d=0;f=0;break t}i[l+f>>0]=u;f=f+1|0}while((f|0)!=(k|0));f=k<<1|1;u=Q2(l,f)|0;if(!u){f=0;a=1;R=135;break A}else{m=k;k=f;l=u;f=m}}}if(!y){l=k;while(1){f=t[I>>2]|0;if(f>>>0>>0){t[I>>2]=f+1;f=n[f>>0]|0}else f=z1(e)|0;if(!(i[M+(f+1)>>0]|0)){u=0;l=0;d=0;f=0;break t}l=t[Z>>2]|0}}else{u=0;l=k;while(1){f=t[I>>2]|0;if(f>>>0>>0){t[I>>2]=f+1;f=n[f>>0]|0}else f=z1(e)|0;if(!(i[M+(f+1)>>0]|0)){l=y;d=0;f=0;break t}i[y+u>>0]=f;u=u+1|0;l=t[Z>>2]|0}}}}while(0);if(!(t[Z>>2]|0))k=t[I>>2]|0;else{k=(t[I>>2]|0)+-1|0;t[I>>2]=k}k=k-(t[Q>>2]|0)+(t[L>>2]|0)|0;if(!k){R=137;break A}if(!((k|0)==(w|0)|p^1)){R=137;break A}do{if(a)if(v){t[y>>2]=d;break}else{t[y>>2]=l;break}}while(0);if(!p){if(d|0)t[d+(u<<2)>>2]=0;if(!l){l=0;break a}i[l+u>>0]=0}break}case 120:case 88:case 112:{u=16;R=123;break}case 111:{u=8;R=123;break}case 117:case 100:{u=10;R=123;break}case 105:{u=0;R=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{b=+X3(e,m,0);if((t[L>>2]|0)==((t[Q>>2]|0)-(t[I>>2]|0)|0)){R=137;break A}if(y)switch(m|0){case 0:{s[y>>2]=b;break a}case 1:{c[y>>3]=b;break a}case 2:{c[y>>3]=b;break a}default:break a}break}default:{}}}while(0);do{if((R|0)==123){R=0;u=D1(e,u,0,-1,-1)|0;if((t[L>>2]|0)==((t[Q>>2]|0)-(t[I>>2]|0)|0)){R=137;break A}if(B&(v|0)==112){t[y>>2]=u;break}else{H3(y,m,u,G);break}}}while(0);A=A+(B&1)|0;u=(t[L>>2]|0)+E+(t[I>>2]|0)-(t[Q>>2]|0)|0;break r}}while(0);o=o+(a&1)|0;Q1(e,0);a=t[I>>2]|0;if(a>>>0<(t[Z>>2]|0)>>>0){t[I>>2]=a+1;a=n[a>>0]|0}else a=z1(e)|0;if((a|0)!=(n[o>>0]|0)){R=22;break A}u=g+1|0}else{while(1){a=o+1|0;if(!(I1(n[a>>0]|0)|0))break;else o=a}Q1(e,0);do{a=t[I>>2]|0;if(a>>>0<(t[Z>>2]|0)>>>0){t[I>>2]=a+1;a=n[a>>0]|0}else a=z1(e)|0}while((I1(a)|0)!=0);if(!(t[Z>>2]|0))a=t[I>>2]|0;else{a=(t[I>>2]|0)+-1|0;t[I>>2]=a}u=(t[L>>2]|0)+g+a-(t[Q>>2]|0)|0}}while(0);o=o+1|0;a=i[o>>0]|0;if(!(a<<24>>24))break e;else g=u}if((R|0)==22){if(t[Z>>2]|0)t[I>>2]=(t[I>>2]|0)+-1;if((A|0)!=0|(a|0)>-1)break;else{a=0;R=136}}else if((R|0)==135){a=a&1;if(!A)R=136}else if((R|0)==137)a=a&1;if((R|0)==136)A=-1;if(a){G2(l);G2(f)}}else A=0}while(0);if(x|0)v4(e);h=J;return A|0}function J3(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;i=h;h=h+16|0;r=i;t[r>>2]=t[e>>2];while(1){a=(t[r>>2]|0)+(4-1)&~(4-1);e=t[a>>2]|0;t[r>>2]=a+4;if(A>>>0>1)A=A+-1|0;else break}h=i;return e|0}function H3(e,A,r,n){e=e|0;A=A|0;r=r|0;n=n|0;e:do{if(e|0)switch(A|0){case-2:{i[e>>0]=r;break e}case-1:{a[e>>1]=r;break e}case 0:{t[e>>2]=r;break e}case 1:{t[e>>2]=r;break e}case 3:{A=e;t[A>>2]=r;t[A+4>>2]=n;break e}default:break e}}while(0);return}function P3(e){e=e|0;if(!e)e=1;else e=(t[e>>2]|0)==0&1;return e|0}function X3(e,A,r){e=e|0;A=A|0;r=r|0;var a=0.0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;switch(A|0){case 0:{o=-149;u=24;s=4;break}case 1:{o=-1074;u=53;s=4;break}case 2:{o=-1074;u=53;s=4;break}default:a=0.0}e:do{if((s|0)==4){h=e+4|0;b=e+100|0;do{A=t[h>>2]|0;if(A>>>0<(t[b>>2]|0)>>>0){t[h>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0}while((I1(A)|0)!=0);A:do{switch(A|0){case 43:case 45:{l=1-(((A|0)==45&1)<<1)|0;A=t[h>>2]|0;if(A>>>0<(t[b>>2]|0)>>>0){t[h>>2]=A+1;f=n[A>>0]|0;break A}else{f=z1(e)|0;break A}}default:{f=A;l=1}}}while(0);A=0;do{if((f|32|0)!=(i[153584+A>>0]|0))break;do{if(A>>>0<7){f=t[h>>2]|0;if(f>>>0<(t[b>>2]|0)>>>0){t[h>>2]=f+1;f=n[f>>0]|0;break}else{f=z1(e)|0;break}}}while(0);A=A+1|0}while(A>>>0<8);A:do{switch(A|0){case 8:break;case 3:{s=23;break}default:{c=(r|0)!=0;if(c&A>>>0>3)if((A|0)==8)break A;else{s=23;break A}r:do{if(!A){A=0;do{if((f|32|0)!=(i[153593+A>>0]|0))break r;do{if(A>>>0<2){f=t[h>>2]|0;if(f>>>0<(t[b>>2]|0)>>>0){t[h>>2]=f+1;f=n[f>>0]|0;break}else{f=z1(e)|0;break}}}while(0);A=A+1|0}while(A>>>0<3)}}while(0);switch(A|0){case 3:{A=t[h>>2]|0;if(A>>>0<(t[b>>2]|0)>>>0){t[h>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;if((A|0)==40)A=1;else{if(!(t[b>>2]|0)){a=p;break e}t[h>>2]=(t[h>>2]|0)+-1;a=p;break e}while(1){f=t[h>>2]|0;if(f>>>0<(t[b>>2]|0)>>>0){t[h>>2]=f+1;f=n[f>>0]|0}else f=z1(e)|0;if(!((f+-48|0)>>>0<10|(f+-65|0)>>>0<26)?!((f|0)==95|(f+-97|0)>>>0<26):0)break;A=A+1|0}if((f|0)==41){a=p;break e}f=(t[b>>2]|0)==0;if(!f)t[h>>2]=(t[h>>2]|0)+-1;if(!c){t[(R2()|0)>>2]=22;Q1(e,0);a=0.0;break e}if(!A){a=p;break e}while(1){A=A+-1|0;if(!f)t[h>>2]=(t[h>>2]|0)+-1;if(!A){a=p;break e}}}case 0:{if((f|0)==48){A=t[h>>2]|0;if(A>>>0<(t[b>>2]|0)>>>0){t[h>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;if((A|32|0)==120){a=+S3(e,u,o,l,r);break e}if(!(t[b>>2]|0))A=48;else{t[h>>2]=(t[h>>2]|0)+-1;A=48}}else A=f;a=+j3(e,A,u,o,l,r);break e}default:{if(t[b>>2]|0)t[h>>2]=(t[h>>2]|0)+-1;t[(R2()|0)>>2]=22;Q1(e,0);a=0.0;break e}}}}}while(0);if((s|0)==23){f=(t[b>>2]|0)==0;if(!f)t[h>>2]=(t[h>>2]|0)+-1;if((r|0)!=0&A>>>0>3)do{if(!f)t[h>>2]=(t[h>>2]|0)+-1;A=A+-1|0}while(A>>>0>3)}a=+(l|0)*E}}while(0);return+a}function S3(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var f=0.0,l=0,s=0,c=0.0,o=0,u=0,b=0,h=0.0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=e+4|0;l=t[y>>2]|0;B=e+100|0;if(l>>>0<(t[B>>2]|0)>>>0){t[y>>2]=l+1;s=n[l>>0]|0;o=0}else{s=z1(e)|0;o=0}e:while(1){switch(s|0){case 46:{E=8;break e}case 48:break;default:{v=0;b=0;h=1.0;f=0.0;l=0;u=s;g=o;p=0;m=0;o=0;s=0;break e}}l=t[y>>2]|0;if(l>>>0<(t[B>>2]|0)>>>0){t[y>>2]=l+1;s=n[l>>0]|0;o=1;continue}else{s=z1(e)|0;o=1;continue}}if((E|0)==8){l=t[y>>2]|0;if(l>>>0<(t[B>>2]|0)>>>0){t[y>>2]=l+1;s=n[l>>0]|0}else s=z1(e)|0;if((s|0)==48){o=0;s=0;do{l=t[y>>2]|0;if(l>>>0<(t[B>>2]|0)>>>0){t[y>>2]=l+1;u=n[l>>0]|0}else u=z1(e)|0;o=d6(o|0,s|0,-1,-1)|0;s=G}while((u|0)==48);v=1;b=0;h=1.0;f=0.0;l=0;g=1;p=0;m=0}else{v=1;b=0;h=1.0;f=0.0;l=0;u=s;g=o;p=0;m=0;o=0;s=0}}while(1){k=u+-48|0;w=u|32;if(k>>>0>=10){d=(u|0)==46;if(!(d|(w+-97|0)>>>0<6))break;if(d)if(!v){v=1;c=h;d=g;o=m;s=p;k=m;w=p}else{u=46;break}else E=20}else E=20;if((E|0)==20){E=0;u=(u|0)>57?w+-87|0:k;do{if(!((p|0)<0|(p|0)==0&m>>>0<8))if((p|0)<0|(p|0)==0&m>>>0<14){h=h*.0625;c=h;f=f+h*+(u|0);break}else{g=(b|0)!=0|(u|0)==0;b=g?b:1;c=h;f=g?f:f+h*.5;break}else{c=h;l=u+(l<<4)|0}}while(0);k=d6(m|0,p|0,1,0)|0;d=1;w=G}u=t[y>>2]|0;if(u>>>0<(t[B>>2]|0)>>>0){t[y>>2]=u+1;h=c;u=n[u>>0]|0;g=d;p=w;m=k;continue}else{h=c;u=z1(e)|0;g=d;p=w;m=k;continue}}do{if(!g){l=(t[B>>2]|0)==0;if(!l)t[y>>2]=(t[y>>2]|0)+-1;if(a){if(!l)t[y>>2]=(t[y>>2]|0)+-1;if(!((v|0)==0|l))t[y>>2]=(t[y>>2]|0)+-1}else Q1(e,0);f=+(i|0)*0.0}else{w=(v|0)==0;k=w?m:o;w=w?p:s;if((p|0)<0|(p|0)==0&m>>>0<8){o=m;s=p;while(1){l=l<<4;E=o;o=d6(o|0,s|0,1,0)|0;if(!((s|0)<0|(s|0)==0&E>>>0<7)){b=l;break}else s=G}}else b=l;if((u|32|0)==112){s=U3(e,a)|0;l=G;if((s|0)==0&(l|0)==-2147483648){if(!a){Q1(e,0);f=0.0;break}if(!(t[B>>2]|0)){s=0;l=0}else{t[y>>2]=(t[y>>2]|0)+-1;s=0;l=0}}}else if(!(t[B>>2]|0)){s=0;l=0}else{t[y>>2]=(t[y>>2]|0)+-1;s=0;l=0}o=C6(k|0,w|0,2)|0;o=d6(o|0,G|0,-32,-1)|0;o=d6(o|0,G|0,s|0,l|0)|0;l=G;if(!b){f=+(i|0)*0.0;break}y=0-r|0;a=((y|0)<0)<<31>>31;if((l|0)>(a|0)|(l|0)==(a|0)&o>>>0>y>>>0){t[(R2()|0)>>2]=34;f=+(i|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=r+-106|0;a=((y|0)<0)<<31>>31;if((l|0)<(a|0)|(l|0)==(a|0)&o>>>0>>0){t[(R2()|0)>>2]=34;f=+(i|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((b|0)>-1){s=b;do{y=!(f>=.5);s=s<<1|(y^1)&1;f=f+(y?f:f+-1.0);o=d6(o|0,l|0,-1,-1)|0;l=G}while((s|0)>-1);h=f;u=s}else{h=f;u=b}y=((A|0)<0)<<31>>31;r=v6(32,0,r|0,((r|0)<0)<<31>>31|0)|0;l=d6(r|0,G|0,o|0,l|0)|0;r=G;if((r|0)<(y|0)|(r|0)==(y|0)&l>>>0>>0)if((l|0)>0)E=59;else{s=0;l=84;E=61}else{l=A;E=59}if((E|0)==59)if((l|0)<53){s=l;l=84-l|0;E=61}else{c=0.0;f=+(i|0)}if((E|0)==61){f=+(i|0);c=+h1(+o1(1.0,l),f);l=s}i=(u&1|0)==0&(h!=0.0&(l|0)<32);f=(i?0.0:h)*f+(c+f*+((u+(i&1)|0)>>>0))-c;if(!(f!=0.0))t[(R2()|0)>>2]=34;f=+w1(f,o)}}while(0);return+f}function j3(e,A,r,i,a,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;f=f|0;var l=0.0,s=0.0,c=0,o=0,u=0,b=0,w=0,k=0,d=0.0,v=0.0,g=0.0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,L=0,D=0,z=0,W=0,Y=0,F=0,M=0.0;F=h;h=h+512|0;z=F;W=i+r|0;Y=0-W|0;Z=e+4|0;L=e+100|0;c=0;e:while(1){switch(A|0){case 46:{C=6;break e}case 48:break;default:{p=0;w=c;k=0;b=0;break e}}A=t[Z>>2]|0;if(A>>>0<(t[L>>2]|0)>>>0){t[Z>>2]=A+1;A=n[A>>0]|0;c=1;continue}else{A=z1(e)|0;c=1;continue}}if((C|0)==6){A=t[Z>>2]|0;if(A>>>0<(t[L>>2]|0)>>>0){t[Z>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;if((A|0)==48){c=0;A=0;while(1){c=d6(c|0,A|0,-1,-1)|0;b=G;A=t[Z>>2]|0;if(A>>>0<(t[L>>2]|0)>>>0){t[Z>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;if((A|0)==48)A=b;else{p=1;w=1;k=c;break}}}else{p=1;w=c;k=0;b=0}}t[z>>2]=0;u=A+-48|0;o=(A|0)==46;e:do{if(o|u>>>0<10){I=z+496|0;E=0;c=0;m=0;B=p;y=w;C=u;w=0;u=0;A:while(1){do{if(o)if(!B){B=1;k=w;b=u}else break A;else{w=d6(w|0,u|0,1,0)|0;u=G;p=(A|0)!=48;if((c|0)>=125){if(!p)break;t[I>>2]=t[I>>2]|1;break}o=z+(c<<2)|0;if(!E)A=C;else A=A+-48+((t[o>>2]|0)*10|0)|0;t[o>>2]=A;E=E+1|0;y=(E|0)==9;E=y?0:E;c=c+(y&1)|0;m=p?w:m;y=1}}while(0);A=t[Z>>2]|0;if(A>>>0<(t[L>>2]|0)>>>0){t[Z>>2]=A+1;A=n[A>>0]|0}else A=z1(e)|0;C=A+-48|0;o=(A|0)==46;if(!(o|C>>>0<10)){p=B;o=y;C=29;break e}}A=E;o=(y|0)!=0;C=37}else{E=0;c=0;m=0;o=w;w=0;u=0;C=29}}while(0);do{if((C|0)==29){I=(p|0)==0;k=I?w:k;b=I?u:b;o=(o|0)!=0;if(!(o&(A|32|0)==101))if((A|0)>-1){A=E;C=37;break}else{A=E;C=39;break}o=U3(e,f)|0;A=G;if((o|0)==0&(A|0)==-2147483648){if(!f){Q1(e,0);l=0.0;break}if(!(t[L>>2]|0)){o=0;A=0}else{t[Z>>2]=(t[Z>>2]|0)+-1;o=0;A=0}}y=d6(o|0,A|0,k|0,b|0)|0;A=E;b=G;C=41}}while(0);if((C|0)==37)if(t[L>>2]|0){t[Z>>2]=(t[Z>>2]|0)+-1;if(o){y=k;C=41}else C=40}else C=39;if((C|0)==39)if(o){y=k;C=41}else C=40;do{if((C|0)==40){t[(R2()|0)>>2]=22;Q1(e,0);l=0.0}else if((C|0)==41){o=t[z>>2]|0;if(!o){l=+(a|0)*0.0;break}if(((u|0)<0|(u|0)==0&w>>>0<10)&((y|0)==(w|0)&(b|0)==(u|0))?(r|0)>30|(o>>>r|0)==0:0){l=+(a|0)*+(o>>>0);break}e=(i|0)/-2|0;L=((e|0)<0)<<31>>31;if((b|0)>(L|0)|(b|0)==(L|0)&y>>>0>e>>>0){t[(R2()|0)>>2]=34;l=+(a|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=i+-106|0;L=((e|0)<0)<<31>>31;if((b|0)<(L|0)|(b|0)==(L|0)&y>>>0>>0){t[(R2()|0)>>2]=34;l=+(a|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(A){if((A|0)<9){u=z+(c<<2)|0;o=t[u>>2]|0;while(1){o=o*10|0;if((A|0)>=8)break;else A=A+1|0}t[u>>2]=o}c=c+1|0}if((m|0)<9?(m|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){l=+(a|0)*+((t[z>>2]|0)>>>0);break}if((y|0)<9){l=+(a|0)*+((t[z>>2]|0)>>>0)/+(t[63712+(8-y<<2)>>2]|0);break}e=r+27+(P(y,-3)|0)|0;A=t[z>>2]|0;if((e|0)>30|(A>>>e|0)==0){l=+(a|0)*+(A>>>0)*+(t[63712+(y+-10<<2)>>2]|0);break}}A=(y|0)%9|0;if(!A){A=0;u=0}else{m=(y|0)>-1?A:A+9|0;w=t[63712+(8-m<<2)>>2]|0;if(c){k=1e9/(w|0)|0;u=0;b=0;o=y;A=0;do{Z=z+(A<<2)|0;L=t[Z>>2]|0;e=((L>>>0)/(w>>>0)|0)+u|0;t[Z>>2]=e;u=P(k,(L>>>0)%(w>>>0)|0)|0;e=(A|0)==(b|0)&(e|0)==0;o=e?o+-9|0:o;b=e?b+1&127:b;A=A+1|0}while((A|0)!=(c|0));if(!u)u=b;else{t[z+(c<<2)>>2]=u;u=b;c=c+1|0}}else{u=0;c=0;o=y}A=0;y=9-m+o|0}e:while(1){m=(y|0)<18;p=(y|0)==18;E=z+(u<<2)|0;while(1){if(!m){if(!p){o=y;break e}if((t[E>>2]|0)>>>0>=9007199){o=18;break e}}o=0;B=c;c=c+127|0;while(1){b=c&127;w=z+(b<<2)|0;c=C6(t[w>>2]|0,0,29)|0;c=d6(c|0,G|0,o|0,0)|0;o=G;if(o>>>0>0|(o|0)==0&c>>>0>1e9){k=p6(c|0,o|0,1e9,0)|0;c=E6(c|0,o|0,1e9,0)|0}else k=0;t[w>>2]=c;e=(b|0)==(u|0);B=(c|0)==0&(((b|0)!=(B+127&127|0)|e)^1)?b:B;if(e)break;else{o=k;c=b+-1|0}}A=A+-29|0;if(k|0)break;else c=B}u=u+127&127;c=B+127&127;o=z+((B+126&127)<<2)|0;if((u|0)==(B|0))t[o>>2]=t[o>>2]|t[z+(c<<2)>>2];else c=B;t[z+(u<<2)>>2]=k;y=y+9|0}e:while(1){E=c+1&127;B=z+((c+127&127)<<2)|0;while(1){k=(o|0)==18;p=(o|0)>27?9:1;y=u;while(1){w=0;while(1){u=w+y&127;if((u|0)==(c|0)){D=2;C=88;break}u=t[z+(u<<2)>>2]|0;b=t[63744+(w<<2)>>2]|0;if(u>>>0>>0){D=2;C=88;break}if(u>>>0>b>>>0)break;u=w+1|0;if((w|0)<1)w=u;else{D=u;C=88;break}}if((C|0)==88?(C=0,k&(D|0)==2):0){l=0.0;b=0;break e}A=p+A|0;if((y|0)==(c|0))y=c;else break}k=(1<>>p;w=0;u=y;b=y;do{Z=z+(b<<2)|0;L=t[Z>>2]|0;e=(L>>>p)+w|0;t[Z>>2]=e;w=P(L&k,m)|0;e=(b|0)==(u|0)&(e|0)==0;o=e?o+-9|0:o;u=e?u+1&127:u;b=b+1&127}while((b|0)!=(c|0));if(!w)continue;if((E|0)!=(u|0))break;t[B>>2]=t[B>>2]|1}t[z+(c<<2)>>2]=w;c=E}do{u=b+y&127;o=c+1&127;if((u|0)==(c|0)){t[z+(o+-1<<2)>>2]=0;c=o}l=l*1.0e9+ +((t[z+(u<<2)>>2]|0)>>>0);b=b+1|0}while((b|0)!=2);g=+(a|0);s=l*g;b=A+53|0;w=b-i|0;k=(w|0)<(r|0);u=k?(w|0)>0?w:0:r;if((u|0)<53){M=+h1(+o1(1.0,105-u|0),s);d=+k1(s,+o1(1.0,53-u|0));v=M;l=d;d=M+(s-d)}else{v=0.0;l=0.0;d=s}o=y+2&127;if((o|0)!=(c|0)){o=t[z+(o<<2)>>2]|0;do{if(o>>>0>=5e8){if((o|0)!=5e8){l=g*.75+l;break}if((y+3&127|0)==(c|0)){l=g*.5+l;break}else{l=g*.75+l;break}}else{if((o|0)==0?(y+3&127|0)==(c|0):0)break;l=g*.25+l}}while(0);if((53-u|0)>1?!(+k1(l,1.0)!=0.0):0)s=l+1.0;else s=l}else s=l;l=d+s-v;do{if((b&2147483647|0)>(-2-W|0)){W=!(+Q(+l)>=9007199254740992.0);A=A+((W^1)&1)|0;l=W?l:l*.5;if((A+50|0)<=(Y|0)?!(s!=0.0&(k&((u|0)!=(w|0)|W))):0)break;t[(R2()|0)>>2]=34}}while(0);l=+w1(l,A)}}while(0);h=F;return+l}function U3(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,f=0,l=0;f=e+4|0;r=t[f>>2]|0;l=e+100|0;if(r>>>0<(t[l>>2]|0)>>>0){t[f>>2]=r+1;r=n[r>>0]|0}else r=z1(e)|0;switch(r|0){case 43:case 45:{i=(r|0)==45&1;r=t[f>>2]|0;if(r>>>0<(t[l>>2]|0)>>>0){t[f>>2]=r+1;r=n[r>>0]|0}else r=z1(e)|0;if((A|0)!=0&(r+-48|0)>>>0>9?(t[l>>2]|0)!=0:0)t[f>>2]=(t[f>>2]|0)+-1;break}default:i=0}if((r+-48|0)>>>0>9)if(!(t[l>>2]|0)){i=-2147483648;r=0}else{t[f>>2]=(t[f>>2]|0)+-1;i=-2147483648;r=0}else{a=0;do{a=r+-48+(a*10|0)|0;r=t[f>>2]|0;if(r>>>0<(t[l>>2]|0)>>>0){t[f>>2]=r+1;r=n[r>>0]|0}else r=z1(e)|0}while((r+-48|0)>>>0<10&(a|0)<214748364);A=((a|0)<0)<<31>>31;if((r+-48|0)>>>0<10)do{A=k6(a|0,A|0,10,0)|0;a=G;r=d6(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;a=d6(r|0,G|0,A|0,a|0)|0;A=G;r=t[f>>2]|0;if(r>>>0<(t[l>>2]|0)>>>0){t[f>>2]=r+1;r=n[r>>0]|0}else r=z1(e)|0}while((r+-48|0)>>>0<10&((A|0)<21474836|(A|0)==21474836&a>>>0<2061584302));if((r+-48|0)>>>0<10)do{r=t[f>>2]|0;if(r>>>0<(t[l>>2]|0)>>>0){t[f>>2]=r+1;r=n[r>>0]|0}else r=z1(e)|0}while((r+-48|0)>>>0<10);if(t[l>>2]|0)t[f>>2]=(t[f>>2]|0)+-1;l=(i|0)!=0;r=v6(0,0,a|0,A|0)|0;i=l?G:A;r=l?r:a}G=i;return r|0}function T3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;i=e+84|0;n=t[i>>2]|0;f=r+256|0;a=G1(n,0,f)|0;a=(a|0)==0?f:a-n|0;r=a>>>0>>0?a:r;Q6(A|0,n|0,r|0)|0;t[e+4>>2]=n+r;A=n+a|0;t[e+8>>2]=A;t[i>>2]=A;return r|0}function O3(e,A,r){e=e|0;A=A|0;r=r|0;return _3(e,A,r)|0}function _3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if((t[e+76>>2]|0)>-1){i=(d4(e)|0)==0;A=q3(e,A,r)|0;if(!i)v4(e)}else A=q3(e,A,r)|0;return A|0}function q3(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;if((r|0)==1)A=A-(t[e+8>>2]|0)+(t[e+4>>2]|0)|0;i=e+20|0;a=e+28|0;if((t[i>>2]|0)>>>0>(t[a>>2]|0)>>>0?(L5[t[e+36>>2]&63](e,0,0)|0,(t[i>>2]|0)==0):0)A=-1;else{t[e+16>>2]=0;t[a>>2]=0;t[i>>2]=0;if((L5[t[e+40>>2]&63](e,A,r)|0)<0)A=-1;else{t[e+8>>2]=0;t[e+4>>2]=0;t[e>>2]=t[e>>2]&-17;A=0}}return A|0}function K3(e){e=e|0;var A=0,r=0,a=0,t=0,n=0,f=0;while(1){a=i[e>>0]|0;A=a<<24>>24;t=e+1|0;if(!(I1(A)|0))break;else e=t}switch(A|0){case 45:{e=1;n=5;break}case 43:{e=0;n=5;break}default:{f=0;r=e;e=a}}if((n|0)==5){f=e;r=t;e=i[t>>0]|0}A=(e<<24>>24)+-48|0;if(A>>>0<10){e=0;do{r=r+1|0;e=(e*10|0)-A|0;A=(i[r>>0]|0)+-48|0}while(A>>>0<10)}else e=0;return(f|0?e:0-e|0)|0}function $3(e){e=e|0;return+ +e8(e,0)}function e8(e,A){e=e|0;A=A|0;return+ +A8(e,A,1)}function A8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0.0,a=0,n=0,f=0,l=0;l=h;h=h+128|0;f=l;a=f;n=a+124|0;do{t[a>>2]=0;a=a+4|0}while((a|0)<(n|0));a=f+4|0;t[a>>2]=e;n=f+8|0;t[n>>2]=-1;t[f+44>>2]=e;t[f+76>>2]=-1;Q1(f,0);i=+X3(f,r,1);r=(t[a>>2]|0)-(t[n>>2]|0)+(t[f+108>>2]|0)|0;if(A|0)t[A>>2]=r|0?e+r|0:e;h=l;return+i}function r8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var t=0,n=0,f=0;e:do{if(!r)A=0;else{f=A;while(1){n=r>>>1;A=f+(P(n,i)|0)|0;t=Z5[a&127](e,A)|0;if(!t)break e;if((r|0)==1){A=0;break e}t=(t|0)<0;r=t?n:r-n|0;if(!r){A=0;break}else f=t?f:A}}}while(0);return A|0}function i8(e,A){e=e|0;A=A|0;var r=0,i=0,t=0;t=e+2|0;i=e+4|0;r=k6((f[A+2>>1]|0)<<16|(f[A>>1]|0)|0,f[A+4>>1]|0|0,(f[t>>1]|0)<<16|(f[e>>1]|0)|0,f[i>>1]|0|0)|0;A=d6(r|0,G|0,f[A+6>>1]|0|0,0)|0;r=G;a[e>>1]=A;e=y6(A|0,r|0,16)|0;a[t>>1]=e;a[i>>1]=r;G=r&65535;return A|0}function a8(e){e=e|0;var A=0;A=186608;t[A>>2]=e+-1;t[A+4>>2]=0;return}function t8(){var e=0,A=0,r=0;A=186608;A=k6(t[A>>2]|0,t[A+4>>2]|0,1284865837,1481765933)|0;A=d6(A|0,G|0,1,0)|0;e=G;r=186608;t[r>>2]=A;t[r+4>>2]=e;e=y6(A|0,e|0,33)|0;return e|0}function n8(e){e=e|0;a[96876]=a[32922]|0;a[96877]=a[32923]|0;a[96878]=a[32924]|0;a[32922]=a[e>>1]|0;a[32923]=a[e+2>>1]|0;a[32924]=a[e+4>>1]|0;return 193752}function f8(e){e=e|0;var A=0,r=0;A=h;h=h+16|0;r=A;a[r>>1]=13070;a[r+2>>1]=e;a[r+4>>1]=e>>>16;n8(r)|0;h=A;return}function l8(e){e=e|0;var A=0;A=i8(e,65850)|0;A=C6(A|0,G|0,4)|0;e=G|1072693248;t[u>>2]=A;t[u+4>>2]=e;return+(+c[u>>3]+-1.0)}function s8(){return+ +l8(65844)}function c8(e,A){e=e|0;A=A|0;if(!e)A=L2(1,24)|0;else{t[A>>2]=0;t[A+4>>2]=0;t[A+8>>2]=0;t[A+12>>2]=0;t[A+16>>2]=0;t[A+20>>2]=0}return A|0}function o8(e){e=e|0;var A=0,r=0;A=t[e>>2]|0;if(A|0)do{G2(t[A>>2]|0);r=A;A=t[A+4>>2]|0;G2(r)}while((A|0)!=0);G2(e);return}function u8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0;f=e+16|0;e:do{if(!(t[f>>2]|0)){c=e+12|0;n=t[c>>2]|0;if(n>>>0>>0){do{if(A)if(!r){t[f>>2]=1;A=0;break e}else{f=e+8|0;t[f>>2]=r;n=1024;A=r;break}else{n=a<<3;n=n>>>0>1024?n:1024;s=Z2(8)|0;if(!s){t[f>>2]=1;A=0;break e}A=Z2(n)|0;t[s>>2]=A;r=A;if(!A){G2(s);t[f>>2]=1;A=0;break e}t[s+4>>2]=0;f=e+4|0;l=t[f>>2]|0;if(l|0)t[l+4>>2]=s;if(!(t[e>>2]|0))t[e>>2]=s;t[f>>2]=s;f=e+8|0;t[f>>2]=r}}while(0);t[c>>2]=n}else{f=e+8|0;A=t[f>>2]|0;r=A}r=r+a&3;r=((r|0)==0?0:4-r|0)+a|0;t[f>>2]=A+r;t[c>>2]=n-r;if(i)z6(A|0,0,r|0)|0}else A=0}while(0);return A|0}function b8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0;p=h;h=h+48|0;l=p;g=h8()|0;e:do{if(!g)A=12;else{m=c8(0,0)|0;if(!m){w8(g);A=12;break}i=l+8|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[l>>2]=m;t[l+4>>2]=g;t[l+16>>2]=A;t[l+32>>2]=r;i=l+28|0;t[i>>2]=-1;A=k8(l)|0;A:do{if(!A){f=l+20|0;a=t[f>>2]|0;t[e>>2]=a+-1;s=t[l+8>>2]|0;A=t[i>>2]|0;if((A|0)<(a|0)){n=L2(1,68)|0;if(n){d=A>>>31^1;t[n+60>>2]=d;t[n+28>>2]=a;if((r&8|0)==0|(d|0)!=0){A=d8(0,g,s,n)|0;if(A|0){f=0;l=0;a=0;i=0;break}a=t[n+40>>2]|0;if((a|0)>0){A=(a<<2)+4|0;i=Z2(A)|0;if(!i){f=0;l=0;A=12;a=0;i=0;break}t[n+32>>2]=i;z6(i|0,-1,A|0)|0}else i=0;d=L2(a<<1|1,4)|0;t[n+36>>2]=d;if(!d){f=0;l=0;A=12;a=0;i=0;break}A=L2(t[f>>2]|0,12)|0;if(!A){f=0;l=0;A=12;a=0;i=0;break}t[n+16>>2]=A;A=d8(m,g,s,n)|0;if(!A)A=i;else{f=0;l=0;a=0;i=0;break}}else A=0;d=l+24|0;A=v8(m,g,s,d,A)|0;if(!A){A=t[d>>2]|0;t[d>>2]=A+1;A=g8(m,0,0,A)|0;if((A|0)!=0?(v=m8(m,s,A)|0,(v|0)!=0):0){A=p8(m,g,v)|0;if(!A){i=t[d>>2]|0;A=i<<2;w=Z2(A)|0;if(w){k=Z2(A)|0;if(k){if((i|0)>0)z6(w|0,0,i<<2|0)|0;E8(v,0,w,0)|0;a=t[d>>2]|0;if((a|0)>0){A=0;i=0;do{t[k+(i<<2)>>2]=A;b=w+(i<<2)|0;A=A+1+(t[b>>2]|0)|0;t[b>>2]=0;i=i+1|0}while((i|0)<(a|0));o=A}else o=0;u=L2(o+1|0,32)|0;if(u){t[n>>2]=u;b=n+4|0;t[b>>2]=o;A=E8(v,u,w,k)|0;if(!A){t[n+20>>2]=0;a=v+24|0;A=t[a>>2]|0;i=0;while(1){i=i+1|0;if((t[A>>2]|0)<=-1)break;else A=A+32|0}c=L2(i,32)|0;if(!c){f=w;l=k;A=12;a=w;i=k}else{t[n+8>>2]=c;i=t[a>>2]|0;a=t[i>>2]|0;if((a|0)>-1){A=0;do{t[c+(A<<5)+8>>2]=u+(t[k+(a<<2)>>2]<<5);t[c+(A<<5)+12>>2]=a;l=c+(A<<5)+16|0;t[l>>2]=0;s=i+12|0;f=t[s>>2]|0;if(f|0){a=0;do{E=a;a=a+1|0}while((t[f+(E<<2)>>2]|0)>-1);a=a<<2;f=Z2(a)|0;t[l>>2]=f;if(!f){f=w;l=k;A=12;a=w;i=k;break A}Q6(f|0,t[s>>2]|0,a|0)|0}t[c+(A<<5)+20>>2]=t[i+16>>2];A=A+1|0;i=i+32|0;a=t[i>>2]|0}while((a|0)>-1)}else A=0;t[c+(A<<5)+8>>2]=0;t[b>>2]=o;t[n+12>>2]=u+(t[k+(t[t[v+28>>2]>>2]<<2)>>2]<<5);t[n+52>>2]=t[d>>2];t[n+56>>2]=r;o8(m);w8(g);G2(w);G2(k);t[e+4>>2]=n;A=0;break e}}else{f=w;l=k;a=w;i=k}}else{f=w;l=k;A=12;a=w;i=k}}else{f=w;l=k;A=12;a=w;i=0}}else{f=w;l=0;A=12;a=0;i=0}}else{f=0;l=0;a=0;i=0}}else{f=0;l=0;A=12;a=0;i=0}}else{f=0;l=0;a=0;i=0}}else{f=0;l=0;A=12;a=0;i=0}}else{n=0;f=0;l=0;A=6;a=0;i=0}}else{n=0;f=0;l=0;a=0;i=0}}while(0);o8(m);w8(g);if(f|0)G2(a);if(l|0)G2(i);t[e+4>>2]=n;B8(e)}}while(0);h=p;return A|0}function h8(){var e=0,A=0;e=Z2(20)|0;do{if(e){A=Z2(2048)|0;t[e+16>>2]=A;if(!A){G2(e);e=0;break}else{t[e>>2]=512;t[e+4>>2]=1024e3;t[e+8>>2]=128;t[e+12>>2]=0;break}}}while(0);return e|0}function w8(e){e=e|0;G2(t[e+16>>2]|0);G2(e);return}function k8(e){e=e|0;var A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0;m=h;h=h+16|0;w=m+4|0;k=m;d=t[e+32>>2]&1;v=e+16|0;r=t[v>>2]|0;g=t[e+4>>2]|0;A=Z8(g,0)|0;e:do{if(!A){o=(d|0)!=0;u=e+8|0;b=e+12|0;A=0;c=1;A:while(1){n=0;f=A;a=0;r:while(1){A=i[r>>0]|0;if(o){if(A<<24>>24==40)break;if((f|0)!=0&A<<24>>24==41)s=13;else s=14}else if(A<<24>>24==92)switch(i[r+1>>0]|0){case 40:break r;case 41:{s=13;break}default:s=14}else s=14;if((s|0)==13){s=0;l=g8(t[e>>2]|0,-1,-1,-1)|0;t[u>>2]=l;if(!l){A=12;break e}else l=a}else if((s|0)==14){s=0;A=H8(e,r)|0;if(A|0)break e;l=a;r=t[b>>2]|0}i:while(1){a:while(1){A=i[r>>0]|0;switch(A<<24>>24){case 42:case 92:break;default:{if(!o)break a;switch(A<<24>>24){case 123:case 63:case 43:break;default:break a}}}A=A<<24>>24==92;if(o&A)break;a=r+1|0;if(A)switch(i[a>>0]|0){case 123:case 63:case 43:break;default:break a}r=A?a:r;if((!o?(r|0)==((t[v>>2]|0)+1|0):0)?(i[r+-1>>0]|0)==94:0)break;if((i[r>>0]|0)==123){r=P8(r+1|0,d,w,k)|0;if(!r){s=28;break A}A=t[k>>2]|0;a=t[e>>2]|0;if(!A)A=g8(a,-1,-1,-1)|0;else s=36}else{t[w>>2]=0;t[k>>2]=-1;A=i[r>>0]|0;if(A<<24>>24==43){t[w>>2]=1;A=i[r>>0]|0}if(A<<24>>24==63){t[k>>2]=1;A=1}else A=-1;r=r+1|0;a=t[e>>2]|0;s=36}if((s|0)==36){s=0;A=V8(a,t[u>>2]|0,t[w>>2]|0,A,0)|0}t[u>>2]=A;if(!A){A=12;break e}}A=m8(t[e>>2]|0,n,t[u>>2]|0)|0;a=i[r>>0]|0;a:do{if(o){if(a<<24>>24==124){s=40;break i}if((f|0)!=0&a<<24>>24==41|a<<24>>24==0)s=47;else{n=A;a=l;continue r}}else{switch(a<<24>>24){case 0:{s=47;break a}case 92:break;default:{n=A;a=l;continue r}}switch(i[r+1>>0]|0){case 124:case 41:break;default:{n=A;a=l;continue r}}A=N8(t[e>>2]|0,l,A)|0;if((i[r+1>>0]|0)==124){a=2;break i}if(!f){A=8;break e}r=r+2|0;a=92}}while(0);if((s|0)==47){s=0;A=N8(t[e>>2]|0,l,A)|0;r=a<<24>>24==41?r+1|0:r}A=X8(e,A,G8(g)|0)|0;if(A|0)break e;A=a<<24>>24==0;a=(f|0)<1;if(a&A){s=50;break A}if(a|A){A=8;break e}n=L8(g)|0;f=f+-1|0;l=L8(g)|0}if((s|0)==40){a=1;A=N8(t[e>>2]|0,l,A)|0}n=0;r=r+a|0;a=A}A=I8(g,a)|0;if(A|0)break e;A=I8(g,n)|0;if(A|0)break e;A=Z8(g,c)|0;if(A|0)break e;A=f+1|0;c=c+1|0;r=o?r+1|0:r+2|0}if((s|0)==28){A=10;break}else if((s|0)==50){t[e+20>>2]=c;A=0;break}}}while(0);h=m;return A|0}function d8(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0;B=C8(A)|0;y=(e|0)==0|(a|0)==0;if(!y){t[a+48>>2]=0;t[t[a+36>>2]>>2]=-1}f=t[a+28>>2]|0;C=Z2((f<<3)+8|0)|0;do{if(!C)n=12;else{t[C>>2]=-1;I=Z2((f<<2)+4|0)|0;if(!I){G2(C);n=12;break}t[I>>2]=-1;n=0;while(1)if(n>>>0>f>>>0)break;else n=n+1|0;I8(A,r)|0;n=Z8(A,0)|0;e:do{if((n|0)!=0|(C8(A)|0)<=(B|0)){r=C;b=0;f=0;u=0;o=-1}else{m=a+32|0;p=a+36|0;E=a+16|0;r=C;b=0;f=0;u=0;g=1;o=-1;v=0;while(1){A:do{switch(G8(A)|0){case 6:{l=G8(A)|0;n=0;do{s=r+(n<<2)|0;n=n+1|0}while((t[s>>2]|0)>-1);t[s>>2]=l<<1|1;t[r+(n<<2)>>2]=-1;n=0;while(1)if((t[I+(n<<2)>>2]|0)>-1)n=n+1|0;else break;t[I+(n+-1<<2)>>2]=-1;n=0;s=g;l=v;break}case 0:{k=L8(A)|0;d=k+12|0;s=t[d>>2]|0;if((s|0)>-1){n=0;do{l=r+(n<<2)|0;n=n+1|0}while((t[l>>2]|0)>-1);t[l>>2]=s<<1;t[r+(n<<2)>>2]=-1;if(!y){n=0;while(1)if((t[I+(n<<2)>>2]|0)>-1)n=n+1|0;else break;l=(t[E>>2]|0)+(s*12|0)+8|0;t[l>>2]=0;if((n|0)>0){n=Z2((n<<2)+4|0)|0;if(!n){n=12;s=g;l=v;break A}t[l>>2]=n;l=t[I>>2]|0;if((l|0)>-1){c=0;s=n;do{t[s>>2]=l;c=c+1|0;l=t[I+(c<<2)>>2]|0;s=n+(c<<2)|0}while((l|0)>-1);n=s}t[n>>2]=-1}}n=Z8(A,t[d>>2]|0)|0;if(n|0){s=g;l=v;break A}n=Z8(A,6)|0;if(n|0){s=g;l=v;break A}}r:do{switch(t[k>>2]|0){case 0:{w=t[t[k+4>>2]>>2]|0;if((w|0)>-1|(w|0)==-4?(t[r>>2]|0)>-1:0){if(y){t[k+20>>2]=1;n=0}else{n=R8(e,k,u)|0;t[(t[m>>2]|0)+(u<<2)>>2]=v;if((o|0)>-1){s=t[p>>2]|0;l=0;while(1){c=s+(l<<2)|0;h=l+1|0;if((t[c>>2]|0)>-1)l=h;else break}t[c>>2]=u;t[s+(h<<2)>>2]=o;t[s+(l+2<<2)>>2]=-1;f=f+1|0;o=-1}x8(r,a,u)}t[r>>2]=-1;w=g+1|0;h=v;b=b+1|0;u=g}else{w=g;n=0;h=v}break}case 1:{s=t[k+4>>2]|0;c=t[s>>2]|0;s=t[s+4>>2]|0;n=I8(A,k)|0;if(!n){n=Z8(A,5)|0;if(!n){n=I8(A,s)|0;if(!n){n=Z8(A,0)|0;if(!n){l=c+20|0;n=Z8(A,(t[l>>2]|0)+g|0)|0;if(!n){if((t[l>>2]|0)>0){l=(t[s+20>>2]|0)>0;n=l?g:-1;l=g+(l&1)|0}else{n=-1;l=g}n=Z8(A,n)|0;if(!n){n=Z8(A,4)|0;if(!n){n=I8(A,c)|0;if(!n){w=l;n=Z8(A,0)|0;h=v}else{w=l;h=v}}else{w=l;h=v}}else{w=l;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}break}case 2:{l=t[k+4>>2]|0;if(y){if((t[r>>2]|0)>-1)n=1;else n=(i[l+12>>0]&1)!=0;n=Z8(A,n&1)|0;if(n|0){w=g;h=v;break r}}else{n=Z8(A,u)|0;if(n|0){w=g;h=v;break r}n=Z8(A,i[l+12>>0]&1)|0;if(n|0){w=g;h=v;break r}}n=I8(A,k)|0;if(!n){n=Z8(A,1)|0;if(!n){n=I8(A,t[l>>2]|0)|0;if(!n){n=Z8(A,0)|0;if(!n){if((t[r>>2]|0)<=-1?(i[l+12>>0]&1)==0:0){w=g;n=0;h=0;break r}if(y)n=0;else{n=R8(e,k,u)|0;t[(t[m>>2]|0)+(u<<2)>>2]=(i[l+12>>0]&1)==0?v:1;if((o|0)>-1){s=t[p>>2]|0;l=0;while(1){c=s+(l<<2)|0;h=l+1|0;if((t[c>>2]|0)>-1)l=h;else break}t[c>>2]=u;t[s+(h<<2)>>2]=o;t[s+(l+2<<2)>>2]=-1;f=f+1|0;o=-1}x8(r,a,u)}t[r>>2]=-1;w=g+1|0;h=0;b=b+1|0;u=g}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}break}case 3:{s=t[k+4>>2]|0;c=t[s>>2]|0;s=t[s+4>>2]|0;l=(t[r>>2]|0)>-1;w=g+1|0;n=Z8(A,l?w:g)|0;if(!n){n=Z8(A,l?g:u)|0;if(!n){n=I8(A,r)|0;if(!n){n=Z8(A,(t[r>>2]|0)>>>31^1)|0;if(!n){n=I8(A,k)|0;if(!n){n=I8(A,s)|0;if(!n){n=I8(A,c)|0;if(!n){n=Z8(A,3)|0;if(!n){n=I8(A,s)|0;if(!n){n=Z8(A,0)|0;if(!n){n=Z8(A,2)|0;if(n|0){w=g;h=v;break r}n=I8(A,c)|0;if(n|0){w=g;h=v;break r}n=Z8(A,0)|0;if(n|0){w=g;h=v;break r}if((t[r>>2]|0)>-1){if(y)n=0;else{n=R8(e,k,u)|0;t[(t[m>>2]|0)+(u<<2)>>2]=v;if((o|0)>-1){s=t[p>>2]|0;l=0;while(1){c=s+(l<<2)|0;h=l+1|0;if((t[c>>2]|0)>-1)l=h;else break}t[c>>2]=u;t[s+(h<<2)>>2]=o;t[s+(l+2<<2)>>2]=-1;f=f+1|0;o=-1}x8(r,a,u)}t[r>>2]=-1;b=b+1|0;u=g;l=w}else{n=0;l=g}g=(t[k+16>>2]|0)>0;w=g?l+2|0:l;h=v;u=g?l+1|0:u}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}}else{w=g;h=v}break}default:{w=g;n=0;h=v}}}while(0);s=t[d>>2]|0;if((s|0)>-1){l=0;do{c=I+(l<<2)|0;l=l+1|0}while((t[c>>2]|0)>-1);t[c>>2]=s;t[I+(l<<2)>>2]=-1;s=w;l=h}else{s=w;l=h}break}case 1:{n=L8(A)|0;if(y){l=t[(t[t[n+4>>2]>>2]|0)+20>>2]|0;t[n+20>>2]=(G8(A)|0)+l;l=0;o=-1}else{k=G8(A)|0;d=G8(A)|0;l=k;o=(k|0)==0?o:d}n=0;s=g;l=y?v:(l|0)==0&1;break}case 4:{l=G8(A)|0;s=G8(A)|0;n=0;u=(l|0)>-1?l:u;l=v;break}case 5:{n=L8(A)|0;if(y){s=t[n+4>>2]|0;t[n+20>>2]=(t[(t[s+4>>2]|0)+20>>2]|0)+(t[(t[s>>2]|0)+20>>2]|0);n=0;s=g;l=v}else{n=0;s=g;l=v}break}case 2:{while(1)if((t[r>>2]|0)>-1)r=r+4|0;else{n=0;s=g;l=v;break}break}case 3:{s=L8(A)|0;h=L8(A)|0;n=L8(A)|0;r=G8(A)|0;if(y){d=t[n+4>>2]|0;v=n+16|0;t[n+20>>2]=(t[(t[d>>2]|0)+20>>2]|0)+r+(t[(t[d+4>>2]|0)+20>>2]|0)+((t[v>>2]|0)>0?2:0);n=v}else n=n+16|0;r=L8(A)|0;l=G8(A)|0;c=G8(A)|0;if((t[n>>2]|0)>0){if(y)n=0;else{n=J8(e,s,l)|0;t[(t[m>>2]|0)+(l<<2)>>2]=1;if(!n)n=J8(e,h,c)|0;t[(t[m>>2]|0)+(c<<2)>>2]=1}b=b+2|0;s=g;l=1}else{n=0;s=g;l=1}break}default:{n=0;s=g;l=v}}}while(0);if((n|0)!=0|(C8(A)|0)<=(B|0))break e;else{g=s;v=l}}}}while(0);if(!y?(x8(r,a,u),(o|0)>-1):0){l=t[a+36>>2]|0;r=0;while(1){s=l+(r<<2)|0;c=r+1|0;if((t[s>>2]|0)>-1)r=c;else break}t[s>>2]=u;t[l+(c<<2)>>2]=o;t[l+(r+2<<2)>>2]=-1;f=f+1|0}t[a+48>>2]=b;t[a+40>>2]=b;t[a+44>>2]=f;G2(C);G2(I)}}while(0);return n|0}function v8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;y=h;h=h+16|0;g=y+12|0;B=y+8|0;m=y+4|0;p=y;E=C8(A)|0;t[g>>2]=0;t[B>>2]=0;r=I8(A,r)|0;e:do{if(!r){r=Z8(A,0)|0;if(!r){A:do{if((C8(A)|0)>(E|0)){n=0;l=0;s=0;r:while(1){k=G8(A)|0;d=L8(A)|0;i:do{switch(k|0){case 0:{switch(t[d>>2]|0){case 0:{r=t[d+4>>2]|0;d=t[r>>2]|0;if(!((d|0)>-1|(d|0)==-4)){r=s;break i}d=r+8|0;r=(t[d>>2]|0)+s|0;t[d>>2]=r;if((r|0)<=(t[B>>2]|0)){r=s;break i}t[B>>2]=r;r=s;break i}case 3:{f=t[d+4>>2]|0;r=I8(A,t[f+4>>2]|0)|0;if(r|0)break A;r=Z8(A,0)|0;if(r|0)break A;r=I8(A,t[f>>2]|0)|0;if(r|0)break A;break}case 1:{f=t[d+4>>2]|0;r=I8(A,t[f+4>>2]|0)|0;if(r|0)break A;r=Z8(A,0)|0;if(r|0)break A;r=I8(A,t[f>>2]|0)|0;if(r|0)break A;break}case 2:{f=t[d+4>>2]|0;r=Z8(A,s)|0;if(r|0)break A;r=I8(A,d)|0;if(r|0)break A;r=Z8(A,1)|0;if(r|0)break A;r=I8(A,t[f>>2]|0)|0;if(r|0)break A;r=Z8(A,0)|0;if(r|0)break A;if((t[f+4>>2]|0)<=1?(t[f+8>>2]|0)<=1:0)r=s;else{t[g>>2]=0;r=0}l=l+1|0;break i}default:{r=s;break i}}r=Z8(A,0)|0;if(!r)r=s;else break A;break}case 1:{w=d+4|0;b=t[w>>2]|0;k=G8(A)|0;t[g>>2]=k;u=b+4|0;s=t[u>>2]|0;if((s|0)<=1)if((t[b+8>>2]|0)>1){t[m>>2]=0;if((s|0)>0)v=30;else{r=k;f=0;v=37}}else r=k;else{t[m>>2]=0;v=30}a:do{if((v|0)==30){r=M8(e,A,t[b>>2]|0,(s|0)>1?1:2,g,a,p,B)|0;if(!r){f=0;c=k;o=1}else{v=34;break r}while(1){r=t[p>>2]|0;if(!f)f=r;else f=m8(e,f,r)|0;if(!f){r=12;v=34;break r}s=t[u>>2]|0;if((o|0)>=(s|0)){r=c;v=37;break a}c=t[g>>2]|0;o=o+1|0;r=M8(e,A,t[b>>2]|0,(o|0)<(s|0)?1:2,g,a,p,B)|0;if(r|0){v=34;break r}}}}while(0);if((v|0)==37){v=0;u=b+8|0;c=t[u>>2]|0;if((c|0)==-1){c=t[g>>2]|0;r=M8(e,A,t[b>>2]|0,0,g,0,m,B)|0;if(r|0)break r;s=V8(e,t[m>>2]|0,0,-1,0)|0;t[m>>2]=s;if(!s){r=12;break r}else r=c}else if((s|0)<(c|0)){c=s;s=0;while(1){o=t[g>>2]|0;r=M8(e,A,t[b>>2]|0,0,g,0,p,B)|0;if(r|0){v=49;break r}if(!s){r=t[p>>2]|0;t[m>>2]=r}else{r=m8(e,t[p>>2]|0,s)|0;t[m>>2]=r}if(!r){r=12;v=49;break r}s=g8(e,-1,-1,-1)|0;if(!s){r=12;v=49;break r}s=N8(e,s,r)|0;t[m>>2]=s;if(!s){r=12;v=49;break r}c=c+1|0;if((c|0)>=(t[u>>2]|0)){r=o;break}}}else s=0;t[g>>2]=r;if(f){if(s){f=m8(e,f,s)|0;v=54}}else{f=s;v=54}if((v|0)==54){v=0;if(!f){r=12;break r}}t[w>>2]=t[f+4>>2];t[d>>2]=t[f>>2]}l=l+-1|0;f=r-k+n|0;if(!l){t[g>>2]=f;n=f;l=0;r=f}else n=f;break}default:r=s}}while(0);if((C8(A)|0)>(E|0))s=r;else{r=0;break A}}break e}else{r=0;n=0}}while(0);E=(t[i>>2]|0)+n|0;B=t[B>>2]|0;t[i>>2]=(B|0)>(E|0)?B:E}}}while(0);h=y;return r|0}function g8(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;a=u8(e,0,0,1,20)|0;e=F8(e,0,a)|0;if(!e)e=0;else{t[a>>2]=A;t[a+4>>2]=r;t[a+8>>2]=i}return e|0}function m8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if(A){i=u8(e,0,0,1,8)|0;e=F8(e,1,i)|0;if(!e)r=0;else{t[i>>2]=A;t[i+4>>2]=r;t[e+16>>2]=(t[r+16>>2]|0)+(t[A+16>>2]|0);r=e}}return r|0}function p8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0;b=h;h=h+16|0;s=b+4|0;c=b;o=C8(A)|0;r=I8(A,r)|0;e:do{if(!r){r=Z8(A,0)|0;if(!r)if((C8(A)|0)>(o|0)){A:while(1){f=G8(A)|0;l=L8(A)|0;r:do{switch(f|0){case 0:switch(t[l>>2]|0){case 0:{n=t[l+4>>2]|0;a=t[n>>2]|0;if((a|0)==-4){t[l+8>>2]=0;r=n+8|0;f=Q8(e,t[r>>2]|0,0,1114111,0,0,-1)|0;t[l+24>>2]=f;if(!f){r=12;break e}f=Q8(e,t[r>>2]|0,0,1114111,0,0,t[n+4>>2]|0)|0;t[l+28>>2]=f;if(!f){r=12;break e}else break r}r=l+8|0;if((a|0)<0){t[r>>2]=1;f=D8(e)|0;t[l+24>>2]=f;if(!f){r=12;break e}f=D8(e)|0;t[l+28>>2]=f;if(!f){r=12;break e}else break r}else{t[r>>2]=0;r=n+8|0;i=n+4|0;f=Q8(e,t[r>>2]|0,a,t[i>>2]|0,0,0,-1)|0;t[l+24>>2]=f;if(!f){r=12;break e}f=Q8(e,t[r>>2]|0,t[n>>2]|0,t[i>>2]|0,t[n+12>>2]|0,t[n+16>>2]|0,-1)|0;t[l+28>>2]=f;if(!f){r=12;break e}else break r}}case 3:{r=I8(A,l)|0;if(r|0)break e;r=Z8(A,1)|0;if(r|0)break e;i=l+4|0;r=I8(A,t[(t[i>>2]|0)+4>>2]|0)|0;if(r|0)break e;r=Z8(A,0)|0;if(r|0)break e;r=I8(A,t[t[i>>2]>>2]|0)|0;if(r|0)break e;r=Z8(A,0)|0;if(!r)break r;else break e}case 1:{r=I8(A,l)|0;if(r|0)break e;r=Z8(A,2)|0;if(r|0)break e;i=l+4|0;r=I8(A,t[(t[i>>2]|0)+4>>2]|0)|0;if(r|0)break e;r=Z8(A,0)|0;if(r|0)break e;r=I8(A,t[t[i>>2]>>2]|0)|0;if(r|0)break e;r=Z8(A,0)|0;if(!r)break r;else break e}case 2:{r=I8(A,l)|0;if(r|0)break e;r=Z8(A,3)|0;if(r|0)break e;r=I8(A,t[t[l+4>>2]>>2]|0)|0;if(r|0)break e;r=Z8(A,0)|0;if(!r)break r;else break e}default:break r}case 1:{r=t[l+4>>2]|0;i=t[r>>2]|0;a=r+4|0;n=t[a>>2]|0;if(!(t[i+8>>2]|0))f=(t[n+8>>2]|0)!=0;else f=1;t[l+8>>2]=f&1;f=z8(e,t[i+24>>2]|0,t[n+24>>2]|0,0,0)|0;t[l+24>>2]=f;if(!f){r=12;break e}f=z8(e,t[(t[r>>2]|0)+28>>2]|0,t[(t[a>>2]|0)+28>>2]|0,0,0)|0;t[l+28>>2]=f;if(!f){r=12;break e}break}case 3:{f=t[l+4>>2]|0;r=t[f>>2]|0;if(!(t[f+4>>2]|0))i=1;else i=(t[r+8>>2]|0)!=0&1;t[l+8>>2]=i;t[l+24>>2]=t[r+24>>2];t[l+28>>2]=t[r+28>>2];break}case 2:{n=t[l+4>>2]|0;r=t[n>>2]|0;i=r+8|0;if(!(t[i>>2]|0))a=0;else a=(t[(t[n+4>>2]|0)+8>>2]|0)!=0;t[l+8>>2]=a&1;if(t[i>>2]|0){r=W8(A,r,0,0,s)|0;if(r|0)break A;i=Z2((t[s>>2]<<2)+4|0)|0;if(!i){r=12;break A}t[i>>2]=-1;t[c>>2]=0;r=W8(A,t[n>>2]|0,i,c,0)|0;if(r|0){u=45;break A}r=n+4|0;f=l+24|0;t[f>>2]=z8(e,t[(t[r>>2]|0)+24>>2]|0,t[(t[n>>2]|0)+24>>2]|0,i,t[c>>2]|0)|0;G2(i);if(!(t[f>>2]|0)){r=12;break A}else a=r}else{t[l+24>>2]=t[r+24>>2];a=n+4|0}r=t[a>>2]|0;if(t[r+8>>2]|0){r=W8(A,r,0,0,s)|0;if(r|0)break A;i=Z2((t[s>>2]<<2)+4|0)|0;if(!i){r=12;break A}t[i>>2]=-1;t[c>>2]=0;r=W8(A,t[a>>2]|0,i,c,0)|0;if(r|0){u=52;break A}l=l+28|0;t[l>>2]=z8(e,t[(t[n>>2]|0)+28>>2]|0,t[(t[a>>2]|0)+28>>2]|0,i,t[c>>2]|0)|0;G2(i);if(!(t[l>>2]|0)){r=12;break A}}else t[l+28>>2]=t[r+28>>2];break}default:{}}}while(0);if((C8(A)|0)<=(o|0)){r=0;break e}}if((u|0)==45)G2(i);else if((u|0)==52)G2(i)}else r=0}}while(0);h=b;return r|0}function E8(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;e:while(1){switch(t[e>>2]|0){case 2:{e=t[e+4>>2]|0;if((t[e+8>>2]|0)==-1?(f=t[e>>2]|0,f=y8(t[f+28>>2]|0,t[f+24>>2]|0,A,r,i)|0,(f|0)!=0):0){e=f;break e}break}case 3:{a=t[e+4>>2]|0;e=E8(t[a>>2]|0,A,r,i)|0;if(e|0)break e;e=a+4|0;break}case 1:{a=t[e+4>>2]|0;n=a+4|0;e=y8(t[(t[a>>2]|0)+28>>2]|0,t[(t[n>>2]|0)+24>>2]|0,A,r,i)|0;if(e|0)break e;e=E8(t[a>>2]|0,A,r,i)|0;if(!e)e=n;else break e;break}default:{e=0;break e}}e=t[e>>2]|0}return e|0}function B8(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0;f=t[e+4>>2]|0;if(f|0){i=f+4|0;e=t[f>>2]|0;if(t[i>>2]|0){r=0;do{if(t[e+(r<<5)+8>>2]|0){A=t[e+(r<<5)+16>>2]|0;if(A){G2(A);e=t[f>>2]|0}A=t[e+(r<<5)+28>>2]|0;if(A){G2(A);e=t[f>>2]|0}}r=r+1|0}while(r>>>0<(t[i>>2]|0)>>>0)}if(e|0)G2(e);r=f+8|0;e=t[r>>2]|0;if(e|0){if(t[e+8>>2]|0){while(1){A=t[e+16>>2]|0;if(A|0)G2(A);if(!(t[e+40>>2]|0))break;else e=e+32|0}e=t[r>>2]|0}G2(e)}a=f+16|0;e=t[a>>2]|0;if(e|0){n=f+28|0;A=t[n>>2]|0;if(A){i=0;do{r=t[e+(i*12|0)+8>>2]|0;if(r){G2(r);A=t[n>>2]|0;e=t[a>>2]|0}i=i+1|0}while(i>>>0>>0)}G2(e)}e=t[f+32>>2]|0;if(e|0)G2(e);e=t[f+20>>2]|0;if(e|0)G2(e);e=t[f+36>>2]|0;if(e|0)G2(e);G2(f)}return}function y8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0;n=t[e>>2]|0;f=(n|0)>-1;e:do{if(!r)if(f){f=A+32|0;do{if((t[A>>2]|0)>-1?(y=i+(n<<2)|0,t[y>>2]=(t[y>>2]|0)+1,(t[f>>2]|0)>-1):0){n=f;do{y=i+(t[e>>2]<<2)|0;t[y>>2]=(t[y>>2]|0)+1;n=n+32|0}while((t[n>>2]|0)>-1)}e=e+32|0;n=t[e>>2]|0}while((n|0)>-1);n=0}else n=0;else if(f)while(1){f=t[A>>2]|0;A:do{if((f|0)>-1){w=e+4|0;k=e+8|0;d=e+16|0;v=e+20|0;g=e+24|0;m=e+28|0;p=e+12|0;i=-1;n=A;while(1){h=f;while(1){if((h|0)!=(i|0))break;n=n+32|0;f=t[n>>2]|0;if((f|0)>-1)h=f;else break A}o=r+(t[a+(t[e>>2]<<2)>>2]<<5)|0;while(1){f=o+8|0;if(!(t[f>>2]|0))break;else o=o+32|0}t[o+40>>2]=0;t[o>>2]=t[w>>2];t[o+4>>2]=t[k>>2];t[f>>2]=r+(t[a+(h<<2)>>2]<<5);t[o+12>>2]=h;f=t[v>>2]|0;i=t[n+16>>2]|t[d>>2]|(f|0?4:0)|(t[g>>2]|0?8:0);l=o+20|0;t[l>>2]=i;s=t[m>>2]|0;if((s|0)>-1){t[l>>2]=i|256;f=s}t[o+24>>2]=f;i=t[g>>2]|0;if(!i)t[o+28>>2]=0;else{f=0;do{b=f;f=f+1|0}while((t[i+(b<<2)>>2]|0)!=0);f=Z2(f<<2)|0;t[o+28>>2]=f;if(!f){n=12;break e}c=t[g>>2]|0;i=t[c>>2]|0;if(i){s=0;l=f;do{t[l>>2]=i;s=s+1|0;i=t[c+(s<<2)>>2]|0;l=f+(s<<2)|0}while((i|0)!=0);f=l}t[f>>2]=0}i=t[p>>2]|0;if(!i)f=0;else{f=0;while(1)if((t[i+(f<<2)>>2]|0)>-1)f=f+1|0;else break}c=n+12|0;l=t[c>>2]|0;if(!l)i=0;else{i=0;while(1)if((t[l+(i<<2)>>2]|0)>-1)i=i+1|0;else break}s=o+16|0;l=t[s>>2]|0;if(l|0)G2(l);t[s>>2]=0;f=i+f|0;if((f|0)>0){b=Z2((f<<2)+4|0)|0;t[s>>2]=b;if(!b){n=12;break e}i=t[p>>2]|0;if((i|0)!=0?(E=t[i>>2]|0,(E|0)>-1):0){f=0;l=E;do{t[b+(f<<2)>>2]=l;f=f+1|0;l=t[i+(f<<2)>>2]|0}while((l|0)>-1);u=f}else u=0;s=t[c>>2]|0;if((s|0)!=0?(B=t[s>>2]|0,(B|0)>-1):0){c=(u|0)>0;f=u;l=0;o=B;do{r:do{if(c){i=0;while(1){if((t[b+(i<<2)>>2]|0)==(o|0))break r;i=i+1|0;if((i|0)>=(u|0)){y=39;break}}}else y=39}while(0);if((y|0)==39){y=0;t[b+(f<<2)>>2]=o;f=f+1|0}l=l+1|0;o=t[s+(l<<2)>>2]|0}while((o|0)>-1)}else f=u;t[b+(f<<2)>>2]=-1}n=n+32|0;f=t[n>>2]|0;if((f|0)<=-1)break;else i=h}}}while(0);e=e+32|0;if((t[e>>2]|0)<=-1){n=0;break}}else n=0}while(0);return n|0}function C8(e){e=e|0;return t[e+12>>2]|0}function I8(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+16|0;i=r+4|0;a=r;t[a>>2]=A;t[i>>2]=t[a>>2];A=Y8(e,i)|0;h=r;return A|0}function Z8(e,A){e=e|0;A=A|0;var r=0,i=0,a=0;r=h;h=h+16|0;i=r+4|0;a=r;t[a>>2]=A;t[i>>2]=t[a>>2];A=Y8(e,i)|0;h=r;return A|0}function G8(e){e=e|0;var A=0,r=0;A=t[e+16>>2]|0;r=e+12|0;e=(t[r>>2]|0)+-1|0;t[r>>2]=e;return t[A+(e<<2)>>2]|0}function L8(e){e=e|0;var A=0,r=0;A=t[e+16>>2]|0;r=e+12|0;e=(t[r>>2]|0)+-1|0;t[r>>2]=e;return t[A+(e<<2)>>2]|0}function Q8(e,A,r,i,a,n,f){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;f=f|0;e=u8(e,0,0,1,64)|0;if(!e)e=0;else{t[e>>2]=A;t[e+4>>2]=r;t[e+8>>2]=i;t[e+20>>2]=a;t[e+24>>2]=n;t[e+28>>2]=f;t[e+32>>2]=-1;t[e+36>>2]=-1;t[e+40>>2]=-1}return e|0}function D8(e){e=e|0;e=u8(e,0,0,1,32)|0;if(!e)e=0;else{t[e>>2]=-1;t[e+4>>2]=-1;t[e+8>>2]=-1}return e|0}function z8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;h=(i|0)==0;if(h)b=0;else{n=0;while(1)if((t[i+(n<<2)>>2]|0)>-1)n=n+1|0;else{b=n;break}}f=0;while(1)if((t[A+(f<<5)>>2]|0)>-1)f=f+1|0;else{n=0;break}while(1)if((t[r+(n<<5)>>2]|0)>-1)n=n+1|0;else break;n=u8(e,0,0,1,(n+f<<5)+32|0)|0;e:do{if(!n)n=0;else{f=t[A>>2]|0;if((f|0)>-1){u=(b|0)>0;l=0;while(1){t[n+(l<<5)>>2]=f;t[n+(l<<5)+4>>2]=t[A+(l<<5)+4>>2];t[n+(l<<5)+8>>2]=t[A+(l<<5)+8>>2];t[n+(l<<5)+16>>2]=t[A+(l<<5)+16>>2]|a;t[n+(l<<5)+20>>2]=t[A+(l<<5)+20>>2];t[n+(l<<5)+24>>2]=t[A+(l<<5)+24>>2];t[n+(l<<5)+28>>2]=t[A+(l<<5)+28>>2];o=A+(l<<5)+12|0;s=t[o>>2]|0;f=(s|0)==0;if(h&f)f=0;else{if(f)c=0;else{f=0;while(1)if((t[s+(f<<2)>>2]|0)>-1)f=f+1|0;else{c=f;break}}f=u8(e,0,0,0,(c+b<<2)+4|0)|0;if(!f){n=0;break e}if((c|0)>0){o=t[o>>2]|0;s=0;do{t[f+(s<<2)>>2]=t[o+(s<<2)>>2];s=s+1|0}while((s|0)!=(c|0))}else c=0;if(u){s=0;do{t[f+(s+c<<2)>>2]=t[i+(s<<2)>>2];s=s+1|0}while((s|0)!=(b|0));s=b}else s=0;t[f+(s+c<<2)>>2]=-1}t[n+(l<<5)+12>>2]=f;l=l+1|0;f=t[A+(l<<5)>>2]|0;if((f|0)<=-1){b=l;break}}}else b=0;l=t[r>>2]|0;f=n+(b<<5)|0;if((l|0)>-1){u=0;o=b;do{t[f>>2]=l;t[n+(o<<5)+4>>2]=t[r+(u<<5)+4>>2];t[n+(o<<5)+8>>2]=t[r+(u<<5)+8>>2];t[n+(o<<5)+16>>2]=t[r+(u<<5)+16>>2];t[n+(o<<5)+20>>2]=t[r+(u<<5)+20>>2];t[n+(o<<5)+24>>2]=t[r+(u<<5)+24>>2];t[n+(o<<5)+28>>2]=t[r+(u<<5)+28>>2];s=r+(u<<5)+12|0;f=t[s>>2]|0;if(!f)f=0;else{l=0;while(1)if((t[f+(l<<2)>>2]|0)>-1)l=l+1|0;else break;f=u8(e,0,0,0,(l<<2)+4|0)|0;if(!f){n=0;break e}if((l|0)>0){c=t[s>>2]|0;s=0;do{t[f+(s<<2)>>2]=t[c+(s<<2)>>2];s=s+1|0}while((s|0)!=(l|0))}else l=0;t[f+(l<<2)>>2]=-1}t[n+(o<<5)+12>>2]=f;u=u+1|0;l=t[r+(u<<5)>>2]|0;o=u+b|0;f=n+(o<<5)|0}while((l|0)>-1)}t[f>>2]=-1}}while(0);return n|0}function W8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;h=C8(e)|0;w=(a|0)!=0;if(w)t[a>>2]=0;A=I8(e,A)|0;e:do{if(!A){u=(r|0)==0;o=(i|0)==0;if((C8(e)|0)>(h|0))while(1){A=L8(e)|0;A:do{switch(t[A>>2]|0){case 0:{A=t[A+4>>2]|0;switch(t[A>>2]|0){case-3:break;case-2:{if(o)break A;t[i>>2]=t[i>>2]|t[A+4>>2];break A}default:break A}f=t[A+4>>2]|0;if((f|0)>-1){r:do{if(!u){A=0;while(1){l=r+(A<<2)|0;s=t[l>>2]|0;if((s|0)<=-1)break;if((s|0)==(f|0))break r;else A=A+1|0}t[l>>2]=f;t[r+(A+1<<2)>>2]=-1}}while(0);if(w)t[a>>2]=(t[a>>2]|0)+1}break}case 3:{A=t[A+4>>2]|0;f=t[A>>2]|0;if(t[f+8>>2]|0){c=f;b=6;break A}A=t[A+4>>2]|0;if(t[A+8>>2]|0){c=A;b=6}break}case 1:{A=t[A+4>>2]|0;f=I8(e,t[A>>2]|0)|0;if(f|0){n=f;break e}c=t[A+4>>2]|0;b=6;break}case 2:{A=t[t[A+4>>2]>>2]|0;if(t[A+8>>2]|0){c=A;b=6}break}default:{}}}while(0);if((b|0)==6?(b=0,n=I8(e,c)|0,n|0):0)break e;if((C8(e)|0)<=(h|0)){n=0;break e}}else n=0}else n=A}while(0);return n|0}function Y8(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+16|0;n=c;r=e+12|0;i=t[r>>2]|0;s=t[e>>2]|0;if((i|0)>=(s|0)){r=t[e+4>>2]|0;if((s|0)<(r|0)?(a=(t[e+8>>2]|0)+s|0,a=(a|0)>(r|0)?r:a,f=e+16|0,l=Q2(t[f>>2]|0,a<<2)|0,(l|0)!=0):0){t[e>>2]=a;t[f>>2]=l;t[n>>2]=t[A>>2];Y8(e,n)|0;r=0}else r=12}else{t[(t[e+16>>2]|0)+(i<<2)>>2]=t[A>>2];t[r>>2]=(t[r>>2]|0)+1;r=0}h=c;return r|0}function F8(e,A,r){e=e|0;A=A|0;r=r|0;e=u8(e,0,0,1,32)|0;if((r|0)!=0&(e|0)!=0){t[e+4>>2]=r;t[e>>2]=A;t[e+8>>2]=-1;t[e+12>>2]=-1}else e=0;return e|0}function M8(e,A,r,a,n,f,l,s){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;f=f|0;l=l|0;s=s|0;var c=0,o=0,u=0,b=0,h=0,w=0,k=0,d=0;d=C8(A)|0;I8(A,r)|0;r=Z8(A,0)|0;e:do{if(!r){k=(a&1|0)==0;w=(a&2|0)!=0;h=0;o=1;r=l;while(1){if((C8(A)|0)>(d|0))b=r;else{a=h;r=0;break e}A:while(1){r:while(1){switch(G8(A)|0){case 1:{l=7;break r}case 0:{r=L8(A)|0;switch(t[r>>2]|0){case 0:{l=9;break A}case 3:{l=19;break A}case 1:{l=26;break A}case 2:{l=33;break r}default:{}}break}default:{}}if((C8(A)|0)<=(d|0)){a=h;r=0;break e}}if((l|0)==7)r=L8(A)|0;else if((l|0)==33){a=t[r+4>>2]|0;r=I8(A,t[a>>2]|0)|0;if(r|0){a=h;break e}r=Z8(A,0)|0;if(r|0){a=h;break e}r=V8(e,t[a>>2]|0,t[a+4>>2]|0,t[a+8>>2]|0,i[a+12>>0]&1)|0;t[b>>2]=r;if(!r){a=h;r=12;break e}r=t[r+4>>2]|0}if((C8(A)|0)>(d|0))b=r;else{a=h;r=0;break e}}if((l|0)==9){u=t[r+4>>2]|0;l=t[u+8>>2]|0;a=t[u>>2]|0;r=t[u+4>>2]|0;if(!((a|0)>-1|(a|0)==-4))if(k|(a|0)!=-3)if((a|0)==-3)if(w&(o|0)!=0){t[f+(r<<2)>>2]=1;a=-3;c=h;o=0}else{a=-3;c=h}else c=h;else{r=-1;a=-1;l=-1;c=h}else{l=(t[n>>2]|0)+l|0;c=h+1|0}r=g8(e,a,r,l)|0;t[b>>2]=r;if(!r)r=12;else{r=t[r+4>>2]|0;t[r+12>>2]=t[u+12>>2];t[r+16>>2]=t[u+16>>2];r=0}if((l|0)>(t[s>>2]|0)){t[s>>2]=l;a=b}else a=b}else if((l|0)==19){l=t[r+4>>2]|0;a=l+4|0;r=N8(e,t[l>>2]|0,t[a>>2]|0)|0;t[b>>2]=r;if(!r){a=h;r=12;break e}u=t[r+4>>2]|0;r=I8(A,t[a>>2]|0)|0;if(r|0){a=h;break e}r=Z8(A,0)|0;if(r|0){a=h;break e}r=I8(A,u+4|0)|0;if(r|0){a=h;break e}r=Z8(A,1)|0;if(r|0){a=h;break e}r=I8(A,t[l>>2]|0)|0;if(r|0){a=h;break e}c=h;a=u;r=Z8(A,0)|0}else if((l|0)==26){u=t[r+4>>2]|0;l=u+4|0;r=m8(e,t[u>>2]|0,t[l>>2]|0)|0;t[b>>2]=r;if(!r){a=h;r=12;break e}a=t[r+4>>2]|0;t[a>>2]=0;c=a+4|0;t[c>>2]=0;r=I8(A,t[l>>2]|0)|0;if(r|0){a=h;break e}r=Z8(A,0)|0;if(r|0){a=h;break e}r=I8(A,c)|0;if(r|0){a=h;break e}r=Z8(A,1)|0;if(r|0){a=h;break e}r=I8(A,t[u>>2]|0)|0;if(r|0){a=h;break e}c=h;r=Z8(A,0)|0}if(!r){h=c;r=a}else{a=c;break}}}else a=0}while(0);t[n>>2]=(t[n>>2]|0)+a;return r|0}function V8(e,A,r,a,n){e=e|0;A=A|0;r=r|0;a=a|0;n=n|0;var f=0;f=u8(e,0,0,1,16)|0;e=F8(e,2,f)|0;if(!e)e=0;else{t[f>>2]=A;t[f+4>>2]=r;t[f+8>>2]=a;f=f+12|0;i[f>>0]=i[f>>0]&-2|n&1;t[e+16>>2]=t[A+16>>2]}return e|0}function N8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0;if(A){i=u8(e,0,0,1,8)|0;e=F8(e,3,i)|0;if((r|0)!=0&(e|0)!=0){t[i>>2]=A;t[i+4>>2]=r;t[e+16>>2]=(t[r+16>>2]|0)+(t[A+16>>2]|0);r=e}else r=0}return r|0}function R8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=u8(e,0,0,0,8)|0;if(((i|0)!=0?(r=g8(e,-3,r,-1)|0,t[i>>2]=r,(r|0)!=0):0)?(a=u8(e,0,0,0,32)|0,t[i+4>>2]=a,(a|0)!=0):0){e=A+4|0;t[a+4>>2]=t[e>>2];t[a>>2]=t[A>>2];t[a+8>>2]=-1;t[a+12>>2]=-1;a=a+16|0;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[e>>2]=i;t[A>>2]=1;e=0}else e=12;return e|0}function x8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;a=t[e>>2]|0;if((a|0)>-1){n=t[A+16>>2]|0;i=0;A=a;do{a=A>>>1;t[((A&1|0)==0?n+(a*12|0)|0:n+(a*12|0)+4|0)>>2]=r;i=i+1|0;A=t[e+(i<<2)>>2]|0}while((A|0)>-1)}t[e>>2]=-1;return}function J8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=u8(e,0,0,0,8)|0;if(((i|0)!=0?(r=g8(e,-3,r,-1)|0,t[i+4>>2]=r,(r|0)!=0):0)?(a=u8(e,0,0,0,32)|0,t[i>>2]=a,(a|0)!=0):0){e=A+4|0;t[a+4>>2]=t[e>>2];t[a>>2]=t[A>>2];t[a+8>>2]=-1;t[a+12>>2]=-1;a=a+16|0;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[e>>2]=i;t[A>>2]=1;e=0}else e=12;return e|0}function H8(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0;o=h;h=h+16|0;s=o;l=e+32|0;f=t[l>>2]|0;n=f&1;e:do{switch(i[A>>0]|0){case 91:{r=j8(e,A+1|0)|0;break}case 92:{r=A+1|0;a=U8(r)|0;if(a|0){r=H8(e,a)|0;t[e+12>>2]=A+2;break e}a=i[r>>0]|0;switch(a|0){case 0:{r=5;break e}case 98:{a=g8(t[e>>2]|0,-2,64,-1)|0;break}case 66:{a=g8(t[e>>2]|0,-2,128,-1)|0;break}case 60:{a=g8(t[e>>2]|0,-2,16,-1)|0;break}case 62:{a=g8(t[e>>2]|0,-2,32,-1)|0;break}case 120:{f=A+2|0;l=(i[f>>0]|0)==123;n=l?8:2;f=l?A+3|0:f;r=0;a=0;do{A=T8(i[f+r>>0]|0)|0;if((A|0)<0)break;a=A+(a<<4)|0;r=r+1|0}while((a|0)<1114112&(r|0)<(n|0));r=f+r|0;if(l){if((i[r>>0]|0)!=125){r=9;break e}r=r+1|0}s=t[e>>2]|0;l=e+24|0;c=t[l>>2]|0;t[l>>2]=c+1;a=g8(s,a,a,c)|0;r=r+-1|0;break}case 63:case 43:case 123:if(!n){r=13;break e}else{c=37;break e}case 124:{if(n|0){c=37;break e}r=g8(t[e>>2]|0,-1,-1,-1)|0;c=45;break e}default:{if(!((n|0)==0&(a+-49|0)>>>0<9)){c=37;break e}s=a+-48|0;c=t[e>>2]|0;l=e+24|0;a=t[l>>2]|0;t[l>>2]=a+1;a=g8(c,-4,s,a)|0;c=e+28|0;l=t[c>>2]|0;t[c>>2]=(s|0)<(l|0)?l:s}}A=r+1|0;r=a;c=45;break}case 46:{r=t[e>>2]|0;n=e+24|0;a=t[n>>2]|0;t[n>>2]=a+1;if(f&4){a=g8(r,0,9,a)|0;c=t[e>>2]|0;r=t[n>>2]|0;t[n>>2]=r+1;r=g8(c,11,1114111,r)|0;if((a|0)!=0&(r|0)!=0)r=N8(t[e>>2]|0,a,r)|0;else r=0}else r=g8(r,0,1114111,a)|0;A=A+1|0;c=45;break}case 94:{if((n|0)==0?(t[e+16>>2]|0)!=(A|0):0){r=A;c=37;break e}A=A+1|0;r=g8(t[e>>2]|0,-2,1,-1)|0;c=45;break}case 36:{r=A+1|0;if((n|0)==0?i[r>>0]|0:0){r=A;c=37;break e}A=r;r=g8(t[e>>2]|0,-2,2,-1)|0;c=45;break}case 63:case 43:case 123:case 42:{if(!n){r=A;c=37}else r=13;break}case 124:{if(!n){r=A;c=37}else c=36;break}case 0:{c=36;break}default:{r=A;c=37}}}while(0);if((c|0)==36){r=g8(t[e>>2]|0,-1,-1,-1)|0;c=45}else if((c|0)==37){f=C3(s,r,-1)|0;if((f|0)<0)r=2;else{do{if(t[l>>2]&2){if((c4(t[s>>2]|0)|0)==0?(s4(t[s>>2]|0)|0)==0:0){c=43;break}l=t[e>>2]|0;u=J1(t[s>>2]|0)|0;n=J1(t[s>>2]|0)|0;a=e+24|0;n=g8(l,u,n,t[a>>2]|0)|0;u=t[e>>2]|0;l=u4(t[s>>2]|0)|0;A=u4(t[s>>2]|0)|0;A=g8(u,l,A,t[a>>2]|0)|0;if((n|0)!=0&(A|0)!=0)n=N8(t[e>>2]|0,n,A)|0;else n=0}else c=43}while(0);if((c|0)==43){n=t[s>>2]|0;a=e+24|0;n=g8(t[e>>2]|0,n,n,t[a>>2]|0)|0}t[a>>2]=(t[a>>2]|0)+1;A=r+f|0;r=n;c=45}}if((c|0)==45)if(!r)r=12;else{t[e+8>>2]=r;t[e+12>>2]=A;r=0}h=o;return r|0}function P8(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0;s=h;h=h+16|0;l=s+4|0;n=s;e=S8(e,l)|0;if((i[e>>0]|0)==44){e=S8(e+1|0,n)|0;f=t[n>>2]|0;n=t[l>>2]|0}else{l=t[l>>2]|0;t[n>>2]=l;f=l;n=l}do{if(!(n>>>0>255|((f|0)>255|(f|0)>-1&(f|0)<(n|0)))){if(!A)if((i[e>>0]|0)==92)e=e+1|0;else{e=0;break}if((i[e>>0]|0)==125){t[r>>2]=n;t[a>>2]=f;e=e+1|0}else e=0}else e=0}while(0);h=s;return e|0}function X8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0;if((t[A+12>>2]|0)>-1){i=g8(t[e>>2]|0,-1,-1,-1)|0;if((i|0)!=0?(a=m8(t[e>>2]|0,i,A)|0,(a|0)!=0):0){i=t[A+16>>2]|0;t[a+16>>2]=i;n=6}else i=12}else{a=A;i=t[A+16>>2]|0;n=6}if((n|0)==6){t[a+12>>2]=r;t[a+16>>2]=i+1;t[e+8>>2]=a;i=0}return i|0}function S8(e,A){e=e|0;A=A|0;var r=0,a=0,n=0;t[A>>2]=-1;if(((i[e>>0]|0)+-48|0)>>>0<10){t[A>>2]=0;r=e;n=0;a=i[e>>0]|0;while(1){n=(n*10|0)+-48+(a<<24>>24)|0;t[A>>2]=n;e=r+1|0;a=i[e>>0]|0;if((n|0)>255|((a<<24>>24)+-48|0)>>>0>9)break;else r=e}}return e|0}function j8(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0;v=h;h=h+288|0;r=v+264|0;n=v;t[r>>2]=t[e>>2];f=r+8|0;t[f>>2]=0;t[r+12>>2]=32;w=Z2(128)|0;d=r+4|0;t[d>>2]=w;if(!w)A=12;else{a=n+4|0;t[a>>2]=0;w=(i[A>>0]|0)==94;t[n>>2]=w&1;A=O8(e,w?A+1|0:A,r,n)|0;e:do{if(!A){w=(t[n>>2]|0)==0;if(!w){_4(t[d>>2]|0,t[f>>2]|0,4,111);A=q8(r)|0;if(!A){A=12;r=0;break}t[A>>2]=1114112;t[A+4>>2]=1114112;t[A+8>>2]=-1;A=t[a>>2]|0;if(A){r=A<<2;a=u8(t[e>>2]|0,0,0,0,r+4|0)|0;if(!a){A=12;r=0;break}Q6(a|0,n+8|0,r|0)|0;t[a+(A<<2)>>2]=0}else a=0}else a=0;o=t[f>>2]|0;if((o|0)>0){u=t[d>>2]|0;b=e+24|0;r=0;A=0;c=0;while(1){s=t[u+(c<<2)>>2]|0;n=t[s>>2]|0;f=s+4|0;l=t[f>>2]|0;do{if(!w)if((n|0)>(A|0)){t[s>>2]=A;t[f>>2]=n+-1;A=l+1|0;k=14;break}else{s=l+1|0;A=(s|0)>=(A|0)?s:A;break}else k=14}while(0);if((k|0)==14){k=0;t[s+8>>2]=t[b>>2];t[s+16>>2]=a;s=F8(t[e>>2]|0,0,s)|0;r=N8(t[e>>2]|0,r,s)|0;if(!r){A=12;r=0;break e}}c=c+1|0;if((c|0)>=(o|0)){A=0;break}}}else{A=0;r=0}}else r=0}while(0);G2(t[d>>2]|0);d=e+24|0;t[d>>2]=(t[d>>2]|0)+1;t[e+8>>2]=r}h=v;return A|0}function U8(e){e=e|0;var A=0;A=i[e>>0]|0;e=0;while(1){if((i[63752+(e<<3)>>0]|0)==A<<24>>24)break;e=e+1|0;if((e|0)==12){e=12;break}}return t[63752+(e<<3)+4>>2]|0}function T8(e){e=e|0;var A=0;A=e+-48|0;if(A>>>0<10)return A|0;else{A=e|32;return((A+-97|0)>>>0<6?A+-87|0:-1)|0}return 0}function O8(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0;g=h;h=h+32|0;b=g;k=g+4|0;l=C3(b,A,-1)|0;n=i[A>>0]|0;e:do{if((l|0)>=1){d=a+4|0;u=e+32|0;f=A;s=l;A:while(1){l=(f|0)==(A|0);if(!(l|n<<24>>24!=93)){v=5;break}r:do{if(!(l|n<<24>>24!=45)){switch(i[f+1>>0]|0){case 93:break r;case 45:break;default:{n=11;break e}}if((i[f+2>>0]|0)==93){n=11;break e}}}while(0);r:do{if(n<<24>>24==91){switch(i[f+1>>0]|0){case 61:case 46:{n=3;break e}case 58:break;default:{v=17;break r}}l=f+2|0;n=0;i:while(1){switch(i[l+n>>0]|0){case 0:{v=16;break A}case 58:break i;default:{}}if((n|0)<13)n=n+1|0;else{v=16;break A}}Q6(k|0,l|0,n|0)|0;i[k+n>>0]=0;s=D4(k)|0;if(!s){v=16;break A}f=l+(n+2)|0;if((i[l+(n+1)>>0]|0)!=93){v=16;break A}if(!(t[a>>2]|0)){n=1114111;o=0;c=1;v=25}else{n=t[d>>2]|0;if((n|0)>63){n=12;break e}t[d>>2]=n+1;t[a+8+(n<<2)>>2]=s}}else v=17}while(0);if((v|0)==17){v=0;l=t[b>>2]|0;f=f+s|0;if((i[f>>0]|0)==45?(w=f+1|0,(i[w>>0]|0)!=93):0){f=C3(b,w,-1)|0;n=t[b>>2]|0;if((f|0)<1|(l|0)>(n|0)){n=11;break e}s=0;o=l;f=w+f|0;c=0;v=25}else{s=0;n=l;o=l;c=0;v=25}}if((v|0)==25){v=0;l=q8(r)|0;if(!l){n=12;break e}t[l>>2]=o;t[l+4>>2]=n;t[l+12>>2]=s;t[l+8>>2]=-1;if(!(c|(t[u>>2]&2|0)==0)?(K8(r,o,n)|0)!=0:0){n=12;break e}}s=C3(b,f,-1)|0;n=i[f>>0]|0;if((s|0)<1){v=3;break e}}if((v|0)==5){t[e+12>>2]=f+1;n=0;break}else if((v|0)==16){n=4;break}}else v=3}while(0);if((v|0)==3)n=n<<24>>24?2:7;h=g;return n|0}function _8(e,A){e=e|0;A=A|0;return(t[t[e>>2]>>2]|0)-(t[t[A>>2]>>2]|0)|0}function q8(e){e=e|0;var A=0,r=0,i=0,a=0,n=0,f=0,l=0;f=e+8|0;r=t[f>>2]|0;i=e+12|0;a=t[i>>2]|0;if((r|0)>=(a|0))if((a|0)<=32767?(t[i>>2]=a<<1,n=e+4|0,A=Q2(t[n>>2]|0,a<<3)|0,(A|0)!=0):0){t[n>>2]=A;r=t[f>>2]|0;l=6}else A=0;else{A=t[e+4>>2]|0;l=6}if((l|0)==6){t[f>>2]=r+1;l=u8(t[e>>2]|0,0,0,1,20)|0;t[A+(r<<2)>>2]=l;A=l}return A|0}function K8(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0,n=0,f=0;e:do{if((A|0)>(r|0))A=0;else while(1){A:do{if(!(s4(A)|0)){if(!(c4(A)|0)){A=A+1|0;break}a=u4(A)|0;i=a;while(1){n=A+1|0;i=i+1|0;if((A|0)>=(r|0)){f=a;A=n;n=12;break A}if((u4(n)|0)==(i|0))A=n;else{f=a;A=n;n=12;break}}}else{a=J1(A)|0;i=a;while(1){n=A+1|0;i=i+1|0;if((A|0)>=(r|0)){f=a;A=n;n=12;break A}if((J1(n)|0)==(i|0))A=n;else{f=a;A=n;n=12;break}}}}while(0);if((n|0)==12){n=0;a=q8(e)|0;if(!a){A=-1;break e}t[a>>2]=f;t[a+4>>2]=i+-1;t[a+8>>2]=-1}if((A|0)>(r|0)){A=0;break}}}while(0);return A|0}function $8(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;u=h;h=h+16|0;c=u;l=t[e+4>>2]|0;s=l+56|0;f=(t[s>>2]&8|0)==0?r:0;e=t[l+40>>2]|0;if((e|0)>0&(f|0)!=0){e=Z2(e<<2)|0;if(!e)e=12;else{n=e;r=e;o=3}}else{n=0;r=0;o=3}if((o|0)==3){if(!(t[l+60>>2]|0))e=A6(l,A,n,a,c)|0;else e=e6(l,A,n,a,c)|0;if(!e)r6(f,i,t[s>>2]|0,l,n,t[c>>2]|0);if(n)G2(r)}h=u;return e|0}function e6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,P=0,X=0,S=0,j=0,U=0;U=h;h=h+16|0;S=U;t[S>>2]=0;b=i&1;P=i&2;X=e+56|0;u=t[X>>2]&4;j=c8(0,0)|0;e:do{if(j){w=u8(j,0,0,0,32)|0;if(!w){o8(j);i=12;break}t[w+24>>2]=0;t[w+28>>2]=0;H=e+40|0;k=t[H>>2]|0;if(k){i=Z2(k<<2)|0;if(!i){o=0;c=0;s=i;i=12;l=0;f=0;n=0}else{s=i;l=i;G=6}}else{s=0;l=0;G=6}A:do{if((G|0)==6){i=t[e+28>>2]|0;if(i){i=Z2(i<<3)|0;if(!i){o=i;c=0;i=12;f=0;n=0;break}else{o=i;f=i}}else{o=0;f=0}J=e+52|0;i=t[J>>2]|0;if(i){i=Z2(i<<2)|0;if(!i){c=i;i=12;n=0;break}else{c=i;n=i}}else{c=0;n=0}M=e+8|0;V=e+12|0;N=(r|0)==0;R=(r|0)!=0;x=e+32|0;F=(u|0)!=0;Y=(b|0)==0;v=A;i=1;d=-1;p=-1;u=k;Z=0;r:while(1){if((u|0)>0){b=0;do{t[s+(b<<2)>>2]=-1;if(!N){t[r+(b<<2)>>2]=-1;u=t[H>>2]|0}b=b+1|0}while((b|0)<(u|0))}u=t[J>>2]|0;if((u|0)>0)z6(n|0,0,u<<2|0)|0;z=i+d|0;i=C3(S,v,4)|0;if((i|0)<1)if((i|0)<0){i=1;break A}else i=1;D=v+i|0;W=t[S>>2]|0;u=t[M>>2]|0;b=u+8|0;if(t[b>>2]|0){E=(z|0)!=0;B=(Z|0)==95;y=(z|0)==0;I=F&(Z|0)==10;C=(z|0)<1&Y;m=u;u=0;g=0;v=b;while(1){d=m+20|0;b=t[d>>2]|0;i:do{if(b)if((b&1|0)==0|C|I){if(b&2|0?(Q=t[S>>2]|0,!((Q|P|0)==0|F&(Q|0)==10)):0){k=g;break}do{if(b&16|0){if(B){k=g;break i}if(t4(Z)|0){k=g;break i}b=t[S>>2]|0;if((b|0)==95)break;if(!(t4(b)|0)){k=g;break i}}}while(0);b=t[d>>2]|0;if(b&32){if(B){b=t[S>>2]|0;if((b|0)==95){k=g;break}}else{Q=(t4(Z)|0)==0;b=t[S>>2]|0;if(Q|(b|0)==95){k=g;break}}if(t4(b)|0){k=g;break}b=t[d>>2]|0}k=t[S>>2]|0;do{if((k|0)!=0&(E&(b&64|0)!=0)){if(B)b=1;else{b=(t4(Z)|0)!=0;k=t[S>>2]|0}if((k|0)==95)if(b){k=g;break i}else break;else if(b^(t4(k)|0)!=0)break;else{k=g;break i}}}while(0);if(!(t[d>>2]&128)){G=49;break}b=t[S>>2]|0;if(y|(b|0)==0){k=g;break}if(B)k=1;else{k=(t4(Z)|0)!=0;b=t[S>>2]|0}if((b|0)==95)if(k){G=49;break}else{k=g;break}else if(k^(t4(b)|0)!=0){k=g;break}else{G=49;break}}else k=g;else G=49}while(0);do{if((G|0)==49){G=0;if(!g){u=t[m+16>>2]|0;k=t[v>>2]|0;break}k=w+28|0;b=t[k>>2]|0;if(!b){b=u8(j,0,0,0,32)|0;if(!b){G=53;break r}t[b+24>>2]=w;t[b+28>>2]=0;Q=u8(j,0,0,0,t[H>>2]<<2)|0;t[b+20>>2]=Q;if(!Q){G=60;break r}t[k>>2]=b;w=b}else w=b;t[w>>2]=z;t[w+4>>2]=D;t[w+8>>2]=t[v>>2];t[w+12>>2]=t[m+12>>2];t[w+16>>2]=t[S>>2];if((t[H>>2]|0)>0){k=t[w+20>>2]|0;b=0;do{t[k+(b<<2)>>2]=t[s+(b<<2)>>2];b=b+1|0}while((b|0)<(t[H>>2]|0))}b=t[m+16>>2]|0;if(!b)k=g;else{k=t[b>>2]|0;if((k|0)<=-1){k=g;break}d=t[w+20>>2]|0;do{b=b+4|0;t[d+(k<<2)>>2]=z;k=t[b>>2]|0}while((k|0)>-1);k=g}}}while(0);v=m+40|0;if(!(t[v>>2]|0))break;else{m=m+32|0;g=k}}if(u){b=t[u>>2]|0;if((b|0)>-1)do{t[s+(b<<2)>>2]=z;u=u+4|0;b=t[u>>2]|0}while((b|0)>-1)}else u=0;if(!k)G=171;else{v=z;d=D;E=k;B=u;G=79}}else{u=0;G=171}i:while(1){if((G|0)==79){if((E|0)==(t[V>>2]|0)){if((p|0)>=(v|0)){if(!(R&(p|0)==(v|0))){u=B;G=171;continue}u=t[H>>2]|0;if(!(a6(u,t[x>>2]|0,s,r)|0)){u=B;G=171;continue}}else{if(N){p=v;u=B;G=171;continue}u=t[H>>2]|0}if((u|0)>0)u=0;else{p=v;u=B;G=171;continue}while(1){t[r+(u<<2)>>2]=t[s+(u<<2)>>2];u=u+1|0;if((u|0)>=(t[H>>2]|0)){p=v;u=B;G=171;continue i}}}m=E+8|0;if((t[m>>2]|0)!=0?(t[E+20>>2]&256|0)!=0:0){b=t[E+24>>2]|0;r6(b+1|0,o,t[X>>2]&-9,e,s,v);Q=t[o+(b<<3)>>2]|0;b=(t[o+(b<<3)+4>>2]|0)-Q|0;if(y1(A+Q|0,d+-1|0,b)|0){u=B;G=171;continue}Q=(b|0)==0;u=Q&1;k=t[E+12>>2]|0;if(Q?t[c+(k<<2)>>2]|0:0){u=B;G=171;continue}t[c+(k<<2)>>2]=u;b=b+-1|0;d=d+b|0;b=b+v|0;k=t[S>>2]|0;u=C3(S,d,4)|0;if((u|0)<1)if((u|0)<0){i=1;break A}else u=1;L=d+u|0;Q=u}else{k=t[S>>2]|0;if(!k){u=B;G=171;continue}u=C3(S,d,4)|0;if((u|0)<1)if((u|0)<0){i=1;break A}else u=1;b=v;L=d+u|0;Q=u}v=b+i|0;if(!(t[m>>2]|0)){i=Q;u=B;G=171;continue}y=(v|0)!=0;C=(k|0)==95;I=(v|0)==0;G=F&(k|0)==10;Z=(v|0)<1&Y;g=0;u=B;while(1){a:do{if((t[E>>2]|0)>>>0<=k>>>0){if((t[E+4>>2]|0)>>>0>>0)break;d=E+20|0;i=t[d>>2]|0;do{if(i|0){if(!((i&1|0)==0|Z|G))break a;if(i&2|0?(B=t[S>>2]|0,!((B|P|0)==0|F&(B|0)==10)):0)break a;do{if(i&16|0){if(C)break a;if(t4(k)|0)break a;i=t[S>>2]|0;if((i|0)==95)break;if(!(t4(i)|0))break a}}while(0);i=t[d>>2]|0;if(i&32){if(C){i=t[S>>2]|0;if((i|0)==95)break a}else{B=(t4(k)|0)==0;i=t[S>>2]|0;if(B|(i|0)==95)break a}if(t4(i)|0)break a;i=t[d>>2]|0}b=t[S>>2]|0;do{if((b|0)!=0&(y&(i&64|0)!=0)){if(C)i=1;else{i=(t4(k)|0)!=0;b=t[S>>2]|0}if((b|0)==95)if(i)break a;else break;else if(i^(t4(b)|0)!=0)break;else break a}}while(0);do{if(t[d>>2]&128|0){i=t[S>>2]|0;if(I|(i|0)==0)break a;if(C)b=1;else{b=(t4(k)|0)!=0;i=t[S>>2]|0}if((i|0)==95)if(b)break;else break a;else if(b^(t4(i)|0)!=0)break a;else break}}while(0);i=t[d>>2]|0;do{if(i&4){if(t[X>>2]&2|0)break;if(!(a4(k,t[E+24>>2]|0)|0))break a;i=t[d>>2]|0}}while(0);do{if(i&4|0){if(!(t[X>>2]&2))break;B=u4(k)|0;i=E+24|0;if(a4(B,t[i>>2]|0)|0)break;B=J1(k)|0;if(!(a4(B,t[i>>2]|0)|0))break a}}while(0);if(!(t[d>>2]&8))break;if(i6(t[E+28>>2]|0,k,t[X>>2]&2)|0)break a}}while(0);if(!g){g=t[m>>2]|0;u=t[E+16>>2]|0;break}b=w+28|0;i=t[b>>2]|0;if(!i){i=u8(j,0,0,0,32)|0;if(!i){G=145;break r}t[i+24>>2]=w;t[i+28>>2]=0;B=u8(j,0,0,0,t[H>>2]<<2)|0;t[i+20>>2]=B;if(!B){G=152;break r}t[b>>2]=i;w=i}else w=i;t[w>>2]=v;t[w+4>>2]=L;t[w+8>>2]=t[m>>2];t[w+12>>2]=t[E+12>>2];t[w+16>>2]=t[S>>2];if((t[H>>2]|0)>0){b=t[w+20>>2]|0;i=0;do{t[b+(i<<2)>>2]=t[s+(i<<2)>>2];i=i+1|0}while((i|0)<(t[H>>2]|0))}i=t[E+16>>2]|0;if(!i)break;b=t[i>>2]|0;if((b|0)<=-1)break;d=t[w+20>>2]|0;do{t[d+(b<<2)>>2]=v;i=i+4|0;b=t[i>>2]|0}while((b|0)>-1)}}while(0);m=E+40|0;if(!(t[m>>2]|0))break;else E=E+32|0}if(!g){i=Q;G=171;continue}if(u){i=t[u>>2]|0;if((i|0)>-1){do{u=u+4|0;t[s+(i<<2)>>2]=v;i=t[u>>2]|0}while((i|0)>-1);k=p;b=L;i=Q}else{k=p;b=L;i=Q}}else{k=p;b=L;i=Q;u=0}}else if((G|0)==171){G=0;d=t[w+24>>2]|0;if(!d)break;g=t[w+8>>2]|0;if(t[g+20>>2]&256|0)t[c+(t[w+12>>2]<<2)>>2]=0;v=t[w>>2]|0;m=t[w+4>>2]|0;t[S>>2]=t[w+16>>2];k=t[H>>2]|0;if((k|0)>0){w=t[w+20>>2]|0;b=0;do{t[s+(b<<2)>>2]=t[w+(b<<2)>>2];b=b+1|0}while((b|0)<(k|0));w=d;k=p;b=m}else{w=d;k=p;b=m}}d=b;p=k;E=g;B=u;G=79}u=(p|0)>-1;if(u|(t[S>>2]|0)==0){G=180;break}t[S>>2]=W;v=D;d=z;u=t[H>>2]|0;Z=W}if((G|0)==53){o8(j);if(s|0)G2(l);if(o|0)G2(f);if(!c){i=12;break e}G2(n);i=12;break e}else if((G|0)==60){o8(j);if(s|0)G2(l);if(o|0)G2(f);if(!c){i=12;break e}G2(n);i=12;break e}else if((G|0)==145){o8(j);if(s|0)G2(l);if(o|0)G2(f);if(!c){i=12;break e}G2(n);i=12;break e}else if((G|0)==152){o8(j);if(s|0)G2(l);if(o|0)G2(f);if(!c){i=12;break e}G2(n);i=12;break e}else if((G|0)==180){t[a>>2]=p;i=(u^1)&1;break}}}while(0);o8(j);if(s|0)G2(l);if(o|0)G2(f);if(c)G2(n)}else i=12}while(0);h=U;return i|0}function A6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,w=0,k=0,d=0,v=0,g=0,m=0,p=0,E=0,B=0,y=0,C=0,I=0,Z=0,G=0,L=0,Q=0,D=0,z=0,W=0,Y=0,F=0,M=0,V=0,N=0,R=0,x=0,J=0,H=0,X=0,S=0,j=0,U=0,T=0;T=h;h=h+16|0;S=T;t[S>>2]=0;c=i&1;J=i&2;H=e+56|0;s=t[H>>2]&4;if(!r)R=0;else R=t[e+40>>2]|0;x=R<<2;l=t[e+52>>2]|0;f=l<<3;n=f+8|0;i=x+12+f+(n+(P(x,l)|0)<<1)|0;j=Z2(i)|0;if(!j)i=12;else{z6(j|0,0,i|0)|0;i=j+x|0;o=i&3;o=i+((o|0)==0?0:4-o|0)|0;i=o+n|0;u=i&3;u=i+((u|0)==0?0:4-u|0)|0;i=u+n|0;N=i&3;N=i+((N|0)==0?0:4-N|0)|0;i=N+f|0;n=i&3;f=(l|0)>0;if(f){i=i+((n|0)==0?0:4-n|0)|0;n=0;while(1){t[u+(n<<3)+4>>2]=i;i=i+x|0;t[o+(n<<3)+4>>2]=i;n=n+1|0;if((n|0)>=(l|0))break;else i=i+x|0}if(f){i=0;do{t[N+(i<<3)>>2]=-1;i=i+1|0}while((i|0)<(l|0))}}i=C3(S,A,4)|0;if((i|0)<1)if((i|0)<0)i=1;else{l=1;U=11}else{l=i;U=11}e:do{if((U|0)==11){V=e+8|0;M=(s|0)!=0;Q=(c|0)==0;D=(R|0)>0;z=e+12|0;W=(R|0)<1;Y=e+44|0;F=e+32|0;G=e+36|0;L=(R|0)==0;f=0;p=A+l|0;m=0;s=0;i=-1;n=o;I=j;B=o;E=u;while(1){if((i|0)<0){e=t[V>>2]|0;c=e+8|0;A:do{if(t[c>>2]|0){w=(m|0)!=0;k=(f|0)==95;d=(m|0)==0;g=M&(f|0)==10;v=(m|0)<1&Q;while(1){r:while(1){b=e+12|0;if((t[N+(t[b>>2]<<3)>>2]|0)>=(m|0))break;u=e+20|0;A=t[u>>2]|0;if(!A){U=46;break}i:do{if((A&1|0)==0|v|g){if(A&2|0?(Z=t[S>>2]|0,!((Z|J|0)==0|M&(Z|0)==10)):0)break;do{if(A&16|0){if(k)break i;if(t4(f)|0)break i;A=t[S>>2]|0;if((A|0)==95)break;if(!(t4(A)|0))break i}}while(0);A=t[u>>2]|0;if(A&32){if(k){A=t[S>>2]|0;if((A|0)==95)break}else{Z=(t4(f)|0)==0;A=t[S>>2]|0;if(Z|(A|0)==95)break}if(t4(A)|0)break;A=t[u>>2]|0}o=t[S>>2]|0;do{if((o|0)!=0&(w&(A&64|0)!=0)){if(k)A=1;else{A=(t4(f)|0)!=0;o=t[S>>2]|0}if((o|0)==95)if(A)break i;else break;else if(A^(t4(o)|0)!=0)break;else break i}}while(0);if(!(t[u>>2]&128)){U=46;break r}A=t[S>>2]|0;if(d|(A|0)==0)break;if(k)o=1;else{o=(t4(f)|0)!=0;A=t[S>>2]|0}if((A|0)==95)if(o){U=46;break r}else break;else if(o^(t4(A)|0)!=0)break;else{U=46;break r}}}while(0);c=e+40|0;if(!(t[c>>2]|0))break A;else e=e+32|0}if((U|0)==46){U=0;t[n>>2]=t[c>>2];if(D)z6(t[n+4>>2]|0,-1,x|0)|0;c=t[e+16>>2]|0;if(c|0?(X=t[c>>2]|0,(X|0)>-1):0){o=n+4|0;A=X;do{if((A|0)<(R|0))t[(t[o>>2]|0)+(A<<2)>>2]=m;c=c+4|0;A=t[c>>2]|0}while((A|0)>-1)}c=(t[n>>2]|0)!=(t[z>>2]|0);if(c|W){s=c?s:1;i=c?i:m;c=n+4|0}else{c=n+4|0;s=t[c>>2]|0;i=0;do{t[r+(i<<2)>>2]=t[s+(i<<2)>>2];i=i+1|0}while((i|0)!=(R|0));s=1;i=m}Z=t[b>>2]|0;t[N+(Z<<3)>>2]=m;t[N+(Z<<3)+4>>2]=c;n=n+8|0}c=e+40|0;if(!(t[c>>2]|0))break;else e=e+32|0}}}while(0);t[n>>2]=0;n=t[S>>2]|0;if(!n)break;else f=n}else{if(L)break;f=t[S>>2]|0;if(!((n|0)!=(B|0)&(f|0)!=0))break}Z=m+l|0;n=C3(S,p,4)|0;if((n|0)<1)if((n|0)<0){i=1;break e}else l=1;else l=n;C=p+l|0;if((s|0)!=0&(t[Y>>2]|0)!=0){if(!(t[B>>2]|0))n=E;else{b=t[G>>2]|0;w=t[b>>2]|0;k=(w|0)>-1;u=B;n=E;do{o=u+4|0;A:do{if(k){c=0;A=w;do{e=t[b+((c|1)<<2)>>2]|0;if((A|0)>=(R|0))break A;s=t[o>>2]|0;if((t[s+(e<<2)>>2]|0)==(t[r+(e<<2)>>2]|0)?(t[s+(A<<2)>>2]|0)<(t[r+(A<<2)>>2]|0):0)break A;c=c+2|0;A=t[b+(c<<2)>>2]|0}while((A|0)>-1);c=o;U=75}else{c=o;s=t[o>>2]|0;U=75}}while(0);if((U|0)==75){U=0;t[n>>2]=t[u>>2];p=n+4|0;y=t[p>>2]|0;t[p>>2]=s;t[c>>2]=y;n=n+8|0}u=u+8|0}while((t[u>>2]|0)!=0)}t[n>>2]=0;y=B;s=0}else{y=E;E=B}c=t[E>>2]|0;if(!c){c=I;n=y}else{d=(Z|0)!=0;v=(f|0)==95;g=(Z|0)==0;p=M&(f|0)==10;m=(Z|0)<1&Q;k=E;e=I;n=y;while(1){A=c+8|0;if(t[A>>2]|0){w=k+4|0;b=e;u=A;while(1){A:do{if((t[c>>2]|0)>>>0<=f>>>0?(t[c+4>>2]|0)>>>0>=f>>>0:0){o=c+20|0;e=t[o>>2]|0;do{if(e|0){if(!((e&1|0)==0|m|p)){e=b;break A}if(e&2|0?(I=t[S>>2]|0,!((I|J|0)==0|M&(I|0)==10)):0){e=b;break A}do{if(e&16|0){if(v){e=b;break A}if(t4(f)|0){e=b;break A}e=t[S>>2]|0;if((e|0)==95)break;if(!(t4(e)|0)){e=b;break A}}}while(0);e=t[o>>2]|0;if(e&32){if(v){e=t[S>>2]|0;if((e|0)==95){e=b;break A}}else{I=(t4(f)|0)==0;e=t[S>>2]|0;if(I|(e|0)==95){e=b;break A}}if(t4(e)|0){e=b;break A}e=t[o>>2]|0}A=t[S>>2]|0;do{if((A|0)!=0&(d&(e&64|0)!=0)){if(v)e=1;else{e=(t4(f)|0)!=0;A=t[S>>2]|0}if((A|0)==95)if(e){e=b;break A}else break;else if(e^(t4(A)|0)!=0)break;else{e=b;break A}}}while(0);do{if(t[o>>2]&128|0){e=t[S>>2]|0;if(g|(e|0)==0){e=b;break A}if(v)A=1;else{A=(t4(f)|0)!=0;e=t[S>>2]|0}if((e|0)==95)if(A)break;else{e=b;break A}else if(A^(t4(e)|0)!=0){e=b;break A}else break}}while(0);e=t[o>>2]|0;do{if(e&4){if(t[H>>2]&2|0)break;if(!(a4(f,t[c+24>>2]|0)|0)){e=b;break A}e=t[o>>2]|0}}while(0);do{if(e&4|0){if(!(t[H>>2]&2))break;I=u4(f)|0;e=c+24|0;if(a4(I,t[e>>2]|0)|0)break;I=J1(f)|0;if(!(a4(I,t[e>>2]|0)|0)){e=b;break A}}}while(0);if(!(t[o>>2]&8))break;if(i6(t[c+28>>2]|0,f,t[H>>2]&2)|0){e=b;break A}}}while(0);if(D){A=t[w>>2]|0;e=0;do{t[b+(e<<2)>>2]=t[A+(e<<2)>>2];e=e+1|0}while((e|0)!=(R|0))}e=t[c+16>>2]|0;do{if(e|0){A=t[e>>2]|0;if((A|0)<=-1)break;do{if((A|0)<(R|0))t[b+(A<<2)>>2]=Z;e=e+4|0;A=t[e>>2]|0}while((A|0)>-1)}}while(0);e=t[c+12>>2]|0;A=N+(e<<3)|0;if((t[A>>2]|0)>=(Z|0)){e=t[N+(e<<3)+4>>2]|0;A=t[e>>2]|0;if(!(a6(R,t[F>>2]|0,b,A)|0)){e=b;break}t[e>>2]=b;if((t[u>>2]|0)!=(t[z>>2]|0)){e=A;break}if(D)i=0;else{s=1;e=A;i=Z;break}while(1){t[r+(i<<2)>>2]=t[b+(i<<2)>>2];i=i+1|0;if((i|0)==(R|0)){s=1;e=A;i=Z;break A}}}I=t[u>>2]|0;t[n>>2]=I;B=n+4|0;o=t[B>>2]|0;t[B>>2]=b;t[A>>2]=Z;t[N+(e<<3)+4>>2]=B;do{if((t[z>>2]|0)==(I|0)){if((i|0)==-1)if(D)i=0;else{i=Z;s=1;break}else{if(!D)break;if((t[b>>2]|0)>(t[r>>2]|0))break;else i=0}do{t[r+(i<<2)>>2]=t[b+(i<<2)>>2];i=i+1|0}while((i|0)<(R|0));i=Z;s=1}}while(0);e=o;n=n+8|0}else e=b}while(0);u=c+40|0;if(!(t[u>>2]|0))break;else{c=c+32|0;b=e}}}k=k+8|0;c=t[k>>2]|0;if(!c){c=e;break}}}t[n>>2]=0;p=C;m=Z;I=c;B=y}t[a>>2]=i;i=i>>>31}}while(0);G2(j)}h=T;return i|0}function r6(e,A,r,i,a,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;n=n|0;var f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0;if((r&8|0)==0&(n|0)>-1?(u=t[i+16>>2]|0,b=t[i+28>>2]|0,o=(e|0)!=0&(b|0)!=0,o):0){c=t[i+48>>2]|0;s=0;do{r=t[u+(s*12|0)>>2]|0;if((r|0)==(c|0))l=n;else l=t[a+(r<<2)>>2]|0;f=A+(s<<3)|0;t[f>>2]=l;r=t[u+(s*12|0)+4>>2]|0;if((r|0)==(c|0))r=n;else r=t[a+(r<<2)>>2]|0;i=A+(s<<3)+4|0;t[i>>2]=r;if((r|0)==-1|(l|0)==-1){t[i>>2]=-1;t[f>>2]=-1}s=s+1|0}while(s>>>0>>0&s>>>0>>0);if(o){r=0;do{l=A+(r<<3)+4|0;s=t[u+(r*12|0)+8>>2]|0;if(s|0?(h=t[s>>2]|0,(h|0)>-1):0){c=A+(r<<3)|0;f=0;a=h;i=t[c>>2]|0;do{if(!((i|0)>=(t[A+(a<<3)>>2]|0)?(t[l>>2]|0)<=(t[A+(a<<3)+4>>2]|0):0)){t[l>>2]=-1;t[c>>2]=-1;i=-1}f=f+1|0;a=t[s+(f<<2)>>2]|0}while((a|0)>-1)}r=r+1|0}while(r>>>0>>0&r>>>0>>0)}else r=0}else r=0;if(r>>>0>>0)z6(A+(r<<3)|0,-1,e-r<<3|0)|0;return}function i6(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;i=t[e>>2]|0;e:do{if(!i)r=0;else{a=(r|0)==0;r=i;while(1){if(a){if(a4(A,r)|0){r=1;break e}}else{i=J1(A)|0;if(a4(i,t[e>>2]|0)|0){r=1;break e}i=u4(A)|0;if(a4(i,t[e>>2]|0)|0){r=1;break e}}e=e+4|0;r=t[e>>2]|0;if(!r){r=0;break}}}}while(0);return r|0}function a6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0,f=0;e:do{if((e|0)>0){a=0;while(1){f=t[r+(a<<2)>>2]|0;n=t[i+(a<<2)>>2]|0;if(!(t[A+(a<<2)>>2]|0)){if((f|0)<(n|0)){a=1;break e}if((f|0)>(n|0)){a=0;break e}}else{if((f|0)>(n|0)){a=1;break e}if((f|0)<(n|0)){a=0;break e}}a=a+1|0;if((a|0)>=(e|0)){a=0;break}}}else a=0}while(0);return a|0}function t6(e,A,r,a){e=e|0;A=A|0;r=r|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0;c=P(r,A)|0;r=(A|0)==0?0:r;if((t[a+76>>2]|0)>-1)s=d4(a)|0;else s=0;n=a+74|0;f=i[n>>0]|0;i[n>>0]=f+255|f;n=a+4|0;f=t[n>>2]|0;u=(t[a+8>>2]|0)-f|0;l=u>>>0>>0?u:c;if((u|0)>0){Q6(e|0,f|0,l|0)|0;t[n>>2]=f+l;n=c-l|0;e=e+l|0}else n=c;e:do{if(!n)o=13;else{l=a+32|0;while(1){if(Y1(a)|0)break;f=L5[t[l>>2]&63](a,e,n)|0;if((f+1|0)>>>0<2)break;n=n-f|0;if(!n){o=13;break e}else e=e+f|0}if(s|0)v4(a);r=((c-n|0)>>>0)/(A>>>0)|0}}while(0);if((o|0)==13)if(s)v4(a);return r|0}function n6(e){e=e|0;var A=0;if((t[e+76>>2]|0)>-1){A=(d4(e)|0)==0;e=f6(e)|0}else e=f6(e)|0;return e|0}function f6(e){e=e|0;var A=0;if(!(t[e>>2]&128))A=1;else A=(t[e+20>>2]|0)>>>0>(t[e+28>>2]|0)>>>0?2:1;A=L5[t[e+40>>2]&63](e,0,A)|0;if((A|0)>=0)A=A-(t[e+8>>2]|0)+(t[e+4>>2]|0)+(t[e+20>>2]|0)-(t[e+28>>2]|0)|0;return A|0}function l6(e){e=e|0;(t[e+76>>2]|0)>-1?d4(e)|0:0;return t[e+60>>2]|0}function s6(e){e=e|0;var A=0,r=0,a=0,n=0;a=t[15679]|0;if((t[a+76>>2]|0)>-1)n=d4(a)|0;else n=0;do{if((Z3(e,a)|0)<0)e=-1;else{if((i[a+75>>0]|0)!=10?(A=a+20|0,r=t[A>>2]|0,r>>>0<(t[a+16>>2]|0)>>>0):0){t[A>>2]=r+1;i[r>>0]=10;e=0;break}e=(L3(a,10)|0)>>31}}while(0);if(n|0)v4(a);return e|0}function c6(){var e=0,A=0,r=0,a=0,n=0,f=0,l=0,s=0,c=0;c=h;h=h+48|0;l=c+24|0;f=c+16|0;n=c;A=c+28|0;e=A;r=153686;a=e+20|0;do{i[e>>0]=i[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(a|0));r=A+13|0;e=0;while(1){t3(r)|0;t[n>>2]=A;t[n+4>>2]=32962;t[n+8>>2]=384;a=N2(Me(5,n|0)|0)|0;if((a|0)>-1){s=4;break}if((e|0)<99)e=e+1|0;else{e=0;break}}if((s|0)==4){t[f>>2]=A;Ce(10,f|0)|0;e=B3(a,153706)|0;if(!e){t[l>>2]=a;Ne(6,l|0)|0;e=0}}h=c;return e|0}function o6(e){e=e|0;var A=0,r=0,i=0;if((t[e+76>>2]|0)>=0?(d4(e)|0)!=0:0){A=e+4|0;r=t[A>>2]|0;if(r>>>0<(t[e+8>>2]|0)>>>0){t[A>>2]=r+1;A=n[r>>0]|0}else A=W1(e)|0}else i=3;do{if((i|0)==3){A=e+4|0;r=t[A>>2]|0;if(r>>>0<(t[e+8>>2]|0)>>>0){t[A>>2]=r+1;A=n[r>>0]|0;break}else{A=W1(e)|0;break}}}while(0);return A|0}function u6(e,A){e=e|0;A=A|0;var r=0,a=0,n=0,f=0,l=0,s=0,c=0;if((t[A+76>>2]|0)>=0?(d4(A)|0)!=0:0){a=e&255;r=e&255;if((r|0)!=(i[A+75>>0]|0)?(l=A+20|0,s=t[l>>2]|0,s>>>0<(t[A+16>>2]|0)>>>0):0){t[l>>2]=s+1;i[s>>0]=a}else r=L3(A,e)|0;v4(A)}else c=3;do{if((c|0)==3){a=e&255;r=e&255;if((r|0)!=(i[A+75>>0]|0)?(n=A+20|0,f=t[n>>2]|0,f>>>0<(t[A+16>>2]|0)>>>0):0){t[n>>2]=f+1;i[f>>0]=a;break}r=L3(A,e)|0}}while(0);return r|0}function b6(e){e=e|0;return n6(e)|0}function h6(){}function w6(e,A){e=e|0;A=A|0;var r=0,i=0,a=0,t=0;t=e&65535;a=A&65535;r=P(a,t)|0;i=e>>>16;e=(r>>>16)+(P(a,i)|0)|0;a=A>>>16;A=P(a,t)|0;return(G=(e>>>16)+(P(a,i)|0)+(((e&65535)+A|0)>>>16)|0,e+A<<16|r&65535|0)|0}function k6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,t=0;a=e;t=r;r=w6(a,t)|0;e=G;return(G=(P(A,t)|0)+(P(i,a)|0)+e|e&0,r|0|0)|0}function d6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;r=e+r>>>0;return(G=A+i+(r>>>0>>0|0)>>>0,r|0)|0}function v6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;i=A-i-(r>>>0>e>>>0|0)>>>0;return(G=i,e-r>>>0|0)|0}function g6(e){e=e|0;var A=0;A=i[k+(e&255)>>0]|0;if((A|0)<8)return A|0;A=i[k+(e>>8&255)>>0]|0;if((A|0)<8)return A+8|0;A=i[k+(e>>16&255)>>0]|0;if((A|0)<8)return A+16|0;return(i[k+(e>>>24)>>0]|0)+24|0}function m6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;var n=0,f=0,l=0,s=0,c=0,o=0,u=0,b=0,h=0,w=0;o=e;s=A;c=s;f=r;b=i;l=b;if(!c){n=(a|0)!=0;if(!l){if(n){t[a>>2]=(o>>>0)%(f>>>0);t[a+4>>2]=0}b=0;a=(o>>>0)/(f>>>0)>>>0;return(G=b,a)|0}else{if(!n){b=0;a=0;return(G=b,a)|0}t[a>>2]=e|0;t[a+4>>2]=A&0;b=0;a=0;return(G=b,a)|0}}n=(l|0)==0;do{if(f){if(!n){n=(j(l|0)|0)-(j(c|0)|0)|0;if(n>>>0<=31){u=n+1|0;l=31-n|0;A=n-31>>31;f=u;e=o>>>(u>>>0)&A|c<>>(u>>>0)&A;n=0;l=o<>2]=e|0;t[a+4>>2]=s|A&0;b=0;a=0;return(G=b,a)|0}n=f-1|0;if(n&f|0){l=(j(f|0)|0)+33-(j(c|0)|0)|0;w=64-l|0;u=32-l|0;s=u>>31;h=l-32|0;A=h>>31;f=l;e=u-1>>31&c>>>(h>>>0)|(c<>>(l>>>0))&A;A=A&c>>>(l>>>0);n=o<>>(h>>>0))&s|o<>31;break}if(a|0){t[a>>2]=n&o;t[a+4>>2]=0}if((f|0)==1){h=s|A&0;w=e|0|0;return(G=h,w)|0}else{w=g6(f|0)|0;h=c>>>(w>>>0)|0;w=c<<32-w|o>>>(w>>>0)|0;return(G=h,w)|0}}else{if(n){if(a|0){t[a>>2]=(c>>>0)%(f>>>0);t[a+4>>2]=0}h=0;w=(c>>>0)/(f>>>0)>>>0;return(G=h,w)|0}if(!o){if(a|0){t[a>>2]=0;t[a+4>>2]=(c>>>0)%(l>>>0)}h=0;w=(c>>>0)/(l>>>0)>>>0;return(G=h,w)|0}n=l-1|0;if(!(n&l)){if(a|0){t[a>>2]=e|0;t[a+4>>2]=n&c|A&0}h=0;w=c>>>((g6(l|0)|0)>>>0);return(G=h,w)|0}n=(j(l|0)|0)-(j(c|0)|0)|0;if(n>>>0<=30){A=n+1|0;l=31-n|0;f=A;e=c<>>(A>>>0);A=c>>>(A>>>0);n=0;l=o<>2]=e|0;t[a+4>>2]=s|A&0;h=0;w=0;return(G=h,w)|0}}while(0);if(!f){c=l;s=0;l=0}else{u=r|0|0;o=b|i&0;c=d6(u|0,o|0,-1,-1)|0;r=G;s=l;l=0;do{i=s;s=n>>>31|s<<1;n=l|n<<1;i=e<<1|i>>>31|0;b=e>>>31|A<<1|0;v6(c|0,r|0,i|0,b|0)|0;w=G;h=w>>31|((w|0)<0?-1:0)<<1;l=h&1;e=v6(i|0,b|0,h&u|0,(((w|0)<0?-1:0)>>31|((w|0)<0?-1:0)<<1)&o|0)|0;A=G;f=f-1|0}while((f|0)!=0);c=s;s=0}f=0;if(a|0){t[a>>2]=e;t[a+4>>2]=A}h=(n|0)>>>31|(c|f)<<1|(f<<1|n>>>31)&0|s;w=(n<<1|0>>>31)&-2|l;return(G=h,w)|0}function p6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return m6(e,A,r,i,0)|0}function E6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0,n=0;n=h;h=h+16|0;a=n|0;m6(e,A,r,i,a)|0;h=n;return(G=t[a+4>>2]|0,t[a>>2]|0)|0}function B6(e,A,r){e=e|0;A=A|0;r=r|0;if((r|0)<32){G=A>>r;return e>>>r|(A&(1<>r-32|0}function y6(e,A,r){e=e|0;A=A|0;r=r|0;if((r|0)<32){G=A>>>r;return e>>>r|(A&(1<>>r-32|0}function C6(e,A,r){e=e|0;A=A|0;r=r|0;if((r|0)<32){G=A<>>32-r;return e<>8&255|0}function Z6(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function G6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;var a=0;g=g+1|0;t[e>>2]=g;while((a|0)<(i|0)){if(!(t[r+(a<<3)>>2]|0)){t[r+(a<<3)>>2]=g;t[r+((a<<3)+4)>>2]=A;t[r+((a<<3)+8)>>2]=0;G=i;return r|0}a=a+1|0}i=i*2|0;r=Q2(r|0,8*(i+1|0)|0)|0;r=G6(e|0,A|0,r|0,i|0)|0;G=i;return r|0}function L6(e,A,r){e=e|0;A=A|0;r=r|0;var i=0,a=0;while((a|0)<(r|0)){i=t[A+(a<<3)>>2]|0;if(!i)break;if((i|0)==(e|0))return t[A+((a<<3)+4)>>2]|0;a=a+1|0}return 0}function Q6(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0;if((r|0)>=8192)return je(e|0,A|0,r|0)|0;f=e|0;n=e+r|0;if((e&3)==(A&3)){while(e&3){if(!r)return f|0;i[e>>0]=i[A>>0]|0;e=e+1|0;A=A+1|0;r=r-1|0}r=n&-4|0;a=r-64|0;while((e|0)<=(a|0)){t[e>>2]=t[A>>2];t[e+4>>2]=t[A+4>>2];t[e+8>>2]=t[A+8>>2];t[e+12>>2]=t[A+12>>2];t[e+16>>2]=t[A+16>>2];t[e+20>>2]=t[A+20>>2];t[e+24>>2]=t[A+24>>2];t[e+28>>2]=t[A+28>>2];t[e+32>>2]=t[A+32>>2];t[e+36>>2]=t[A+36>>2];t[e+40>>2]=t[A+40>>2];t[e+44>>2]=t[A+44>>2];t[e+48>>2]=t[A+48>>2];t[e+52>>2]=t[A+52>>2];t[e+56>>2]=t[A+56>>2];t[e+60>>2]=t[A+60>>2];e=e+64|0;A=A+64|0}while((e|0)<(r|0)){t[e>>2]=t[A>>2];e=e+4|0;A=A+4|0}}else{r=n-4|0;while((e|0)<(r|0)){i[e>>0]=i[A>>0]|0;i[e+1>>0]=i[A+1>>0]|0;i[e+2>>0]=i[A+2>>0]|0;i[e+3>>0]=i[A+3>>0]|0;e=e+4|0;A=A+4|0}}while((e|0)<(n|0)){i[e>>0]=i[A>>0]|0;e=e+1|0;A=A+1|0}return f|0}function D6(e,A,r){e=e|0;A=A|0;r=r|0;var a=0;if((A|0)<(e|0)&(e|0)<(A+r|0)){a=e;A=A+r|0;e=e+r|0;while((r|0)>0){e=e-1|0;A=A-1|0;r=r-1|0;i[e>>0]=i[A>>0]|0}e=a}else Q6(e,A,r)|0;return e|0}function z6(e,A,r){e=e|0;A=A|0;r=r|0;var a=0,n=0,f=0,l=0;f=e+r|0;A=A&255;if((r|0)>=67){while(e&3){i[e>>0]=A;e=e+1|0}a=f&-4|0;n=a-64|0;l=A|A<<8|A<<16|A<<24;while((e|0)<=(n|0)){t[e>>2]=l;t[e+4>>2]=l;t[e+8>>2]=l;t[e+12>>2]=l;t[e+16>>2]=l;t[e+20>>2]=l;t[e+24>>2]=l;t[e+28>>2]=l;t[e+32>>2]=l;t[e+36>>2]=l;t[e+40>>2]=l;t[e+44>>2]=l;t[e+48>>2]=l;t[e+52>>2]=l;t[e+56>>2]=l;t[e+60>>2]=l;e=e+64|0}while((e|0)<(a|0)){t[e>>2]=l;e=e+4|0}}while((e|0)<(f|0)){i[e>>0]=A;e=e+1|0}return f-r|0}function W6(e){e=e|0;var A=0,r=0;r=e+15&-16|0;A=t[o>>2]|0;e=A+r|0;if((r|0)>0&(e|0)<(A|0)|(e|0)<0){q()|0;ye(12);return-1}t[o>>2]=e;if((e|0)>(_()|0)?(O()|0)==0:0){t[o>>2]=A;ye(12);return-1}return A|0}function Y6(e){e=e|0;return+E5[e&1]()}function F6(e,A,r,i){e=e|0;A=+A;r=+r;i=+i;return+B5[e&7](+A,+r,+i)}function M6(e,A){e=e|0;A=A|0;return+y5[e&1](A|0)}function V6(e){e=e|0;return C5[e&3]()|0}function N6(e,A){e=e|0;A=A|0;return I5[e&63](A|0)|0}function R6(e,A,r){e=e|0;A=A|0;r=r|0;return Z5[e&127](A|0,r|0)|0}function x6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=+i;a=+a;return G5[e&3](A|0,r|0,+i,+a)|0}function J6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;return L5[e&63](A|0,r|0,i|0)|0}function H6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;return Q5[e&127](A|0,r|0,i|0,a|0)|0}function P6(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;return D5[e&127](A|0,r|0,i|0,a|0,t|0)|0}function X6(e,A,r,i,a,t,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;return z5[e&1](A|0,r|0,i|0,a|0,t|0,n|0)|0}function S6(e,A,r,i,a,t,n,f,l,s,c){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;c=c|0;return W5[e&3](A|0,r|0,i|0,a|0,t|0,n|0,f|0,l|0,s|0,c|0)|0}function j6(e){e=e|0;Y5[e&15]()}function U6(e,A){e=e|0;A=A|0;F5[e&127](A|0)}function T6(e,A,r){e=e|0;A=A|0;r=r|0;M5[e&63](A|0,r|0)}function O6(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;V5[e&127](A|0,r|0,i|0)}function _6(e,A,r,i,a,t,n){e=e|0;A=A|0;r=r|0;i=i|0;a=+a;t=+t;n=n|0;N5[e&15](A|0,r|0,i|0,+a,+t,n|0)}function q6(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;R5[e&31](A|0,r|0,i|0,a|0)}function K6(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;x5[e&15](A|0,r|0,i|0,a|0,t|0)}function $6(e,A,r,i,a,t,n){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;J5[e&15](A|0,r|0,i|0,a|0,t|0,n|0)}function e5(e,A,r,i,a,t,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;H5[e&0](A|0,r|0,i|0,a|0,t|0,n|0,f|0,l|0,s|0)}function A5(){U(0);return 0.0}function r5(e,A,r){e=+e;A=+A;r=+r;U(1);return 0.0}function i5(e){e=e|0;U(2);return 0.0}function a5(){U(3);return 0}function t5(e){e=e|0;U(4);return 0}function n5(e,A){e=e|0;A=A|0;U(5);return 0}function f5(e,A,r,i){e=e|0;A=A|0;r=+r;i=+i;U(6);return 0}function l5(e,A,r){e=e|0;A=A|0;r=r|0;U(7);return 0}function s5(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;U(8);return 0}function c5(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;U(9);return 0}function o5(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;U(10);return 0}function u5(e,A,r,i,a,t,n,f,l,s){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;s=s|0;U(11);return 0}function b5(){U(12)}function h5(e){e=e|0;U(13)}function w5(e,A){e=e|0;A=A|0;U(14)}function k5(e,A,r){e=e|0;A=A|0;r=r|0;U(15)}function d5(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=+i;a=+a;t=t|0;U(16)}function v5(e,A,r,i){e=e|0;A=A|0;r=r|0;i=i|0;U(17)}function g5(e,A,r,i,a){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;U(18)}function m5(e,A,r,i,a,t){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;U(19)}function p5(e,A,r,i,a,t,n,f,l){e=e|0;A=A|0;r=r|0;i=i|0;a=a|0;t=t|0;n=n|0;f=f|0;l=l|0;U(20)}var E5=[A5,sx];var B5=[r5,pY,mY,EY,BY,r5,r5,r5];var y5=[i5,kx];var C5=[a5,xj,lM,$M];var I5=[t5,kL,VG,IH,ZH,_k,$k,CA,IA,di,vi,gi,mi,pi,Ei,Bi,yi,F2,OB,km,NW,JW,JH,$F,gk,sd,vk,aM,sM,mk,oA,KF,kA,dA,us,Z2,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var Z5=[n5,Ik,Ok,ed,lR,sR,eR,_N,zN,Uf,Tf,Of,_f,qf,Kf,el,Al,rl,il,al,tl,nl,fl,ll,sl,cl,ol,ul,bl,hl,wl,kl,dl,vl,gl,ml,pl,El,Bl,yl,pK,EK,yK,UK,TK,OK,_K,qK,KK,$K,e$,S$,j$,T$,l$,s$,o$,hm,ZG,wL,XL,mQ,NQ,Oz,Uz,RW,HW,NX,TS,_j,vU,mU,EU,BU,CU,yU,MU,TT,$T,AO,nq,vu,Qg,Lg,Gg,pp,cd,AM,Yp,_p,Sp,jp,UE,Z3,u6,ix,dJ,Hw,_t,Ow,qw,uA,e1,Ba,jf,ls,ss,Q2,Eo,Bo,yo,_8,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var G5=[f5,i_,l_,f5];var L5=[l5,EH,Cq,Lh,Vh,jh,qh,Tk,Kk,oV,aJ,Yt,CK,O$,u$,M2,V2,J2,H2,Q4,nw,NH,bq,aS,eO,Uu,Ou,Ku,$h,gp,T4,Rv,a3,tx,fV,Cr,ts,z$,B0,d0,Z0,R3,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5];var Q5=[s5,yH,QU,Iq,Dh,Rh,Uw,Xv,Tw,bk,Gk,Qk,Jk,xk,Ad,td,fd,AV,nJ,er,KA,_i,Mt,tn,an,Zo,Go,Lo,dK,vK,gK,mK,BK,ZK,N$,R$,x$,J$,H$,P$,X$,U$,q$,A$,r$,i$,a$,t$,n$,f$,c$,h$,rw,Sd,Bp,fx,$s,rc,sc,mc,Lc,Fc,Wc,Mc,mo,G0,no,Y$,F$,y0,C0,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var D5=[c5,Zk,WN,AR,GK,LK,SK,jK,h0,K$,$$,w$,k$,Co,Io,Q0,D0,z0,W0,F0,M0,V0,N0,R0,J0,H0,P0,X0,S0,x0,d2,v2,l2,A2,j0,U0,T0,_0,O0,q0,K0,$0,e2,r2,i2,a2,t2,n2,f2,s2,c2,o2,u2,k2,h2,b2,w2,B2,g2,m2,p2,E2,y2,C2,I2,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var z5=[o5,Vl];var W5=[u5,k0,I0,u5];var Y5=[b5,lx,tM,nM,fM,oM,uM,bM,xt,b5,b5,b5,b5,b5,b5,b5];var F5=[h5,$B,ey,ay,ty,ny,Iy,Zy,qy,Ky,$y,eC,AC,rC,iC,wC,kC,gC,mC,pC,EC,BC,yC,CC,VC,NC,RC,JC,HC,PC,XC,SC,jC,UC,TC,tI,nI,fI,sI,cI,oI,uI,bI,hI,wI,kI,dI,gI,zI,WI,YI,FI,jI,UI,TI,_I,sZ,cZ,oZ,bZ,hZ,wZ,kZ,dZ,vZ,gZ,mZ,pZ,QZ,DZ,zZ,WZ,lG,iG,aH,HJ,XX,dX,ZS,MS,xP,HP,yS,CS,NJ,RJ,XP,KP,eX,oX,Dk,uN,QN,hN,bN,KN,VV,xV,Ci,Qi,_Z,PW,pX,CX,SX,G2,Mq,gw,yp,dB,Rt,vr,gA,rV,nn,Ml,is,as,cs,h5,h5,h5,h5,h5,h5,h5,h5,h5];var M5=[w5,tC,cC,ZC,zC,AI,CI,JI,rZ,ZZ,RZ,rd,YN,cR,rR,qN,GN,LN,nR,fR,Gi,zi,gV,sw,mp,cM,cA,Vf,Fl,ns,fs,os,bs,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var V5=[k5,fy,ly,oy,_y,aC,nC,sC,IC,GC,DC,_C,qC,eI,mI,pI,yI,MI,VI,xI,qI,KI,AZ,EZ,BZ,IZ,YZ,FZ,NZ,Gz,Lz,Qz,BH,Qh,Nh,kw,zk,nd,Jd,Sv,op,tF,eV,uV,RV,tJ,lJ,$A,qA,Ii,Zi,Li,Di,Wi,Ft,yf,Bf,Fw,sk,md,Od,Kd,iM,nx,tV,hA,vA,Cf,Zf,Gf,Mf,Nf,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5];var N5=[d5,NE,RE,xE,JE,HE,PE,XE,SE,d5,d5,d5,d5,d5,d5,d5];var R5=[v5,sy,fC,LC,xC,KC,lI,EI,NI,$I,uZ,yZ,MZ,$Z,KZ,qZ,OZ,TZ,UZ,Cy,jZ,SZ,Lk,DN,$N,IK,_$,b$,_4,bA,wA,M$];var x5=[g5,dC,OC,rI,vI,OI,xW,Ep,mA,g5,g5,g5,g5,g5,g5,g5];var J5=[m5,cy,lC,QC,$C,BI,RI,eZ,CZ,VZ,pA,m5,m5,m5,m5,m5];var H5=[p5];return{___errno_location:R2,___muldi3:k6,___udivdi3:p6,___uremdi3:E6,_bitshift64Ashr:B6,_bitshift64Lshr:y6,_bitshift64Shl:C6,_dtextract:Xh,_free:G2,_htons:M4,_i64Add:d6,_i64Subtract:v6,_llvm_bswap_i16:I6,_llvm_bswap_i32:Z6,_malloc:Z2,_memalign:W2,_memcpy:Q6,_memmove:D6,_memset:z6,_realloc:Q2,_saveSetjmp:G6,_sbrk:W6,_testSetjmp:L6,_vizCreateFile:qB,_vizLastErrorMessage:_B,_vizRenderFromString:KB,dynCall_d:Y6,dynCall_dddd:F6,dynCall_di:M6,dynCall_i:V6,dynCall_ii:N6,dynCall_iii:R6,dynCall_iiidd:x6,dynCall_iiii:J6,dynCall_iiiii:H6,dynCall_iiiiii:P6,dynCall_iiiiiii:X6,dynCall_iiiiiiiiiii:S6,dynCall_v:j6,dynCall_vi:U6,dynCall_vii:T6,dynCall_viii:O6,dynCall_viiiddi:_6,dynCall_viiii:q6,dynCall_viiiii:K6,dynCall_viiiiii:$6,dynCall_viiiiiiiii:e5,establishStackSpace:SB,getTempRet0:TB,runPostSets:h6,setTempRet0:UB,setThrew:jB,stackAlloc:HB,stackRestore:XB,stackSave:PB}}(A.asmGlobalArg,A.asmLibraryArg,N),dr=(A.___errno_location=kr.___errno_location,A.___muldi3=kr.___muldi3,A.___udivdi3=kr.___udivdi3,A.___uremdi3=kr.___uremdi3,A._bitshift64Ashr=kr._bitshift64Ashr,A._bitshift64Lshr=kr._bitshift64Lshr,A._bitshift64Shl=kr._bitshift64Shl,A._dtextract=kr._dtextract,A._free=kr._free),vr=(A._htons=kr._htons,A._i64Add=kr._i64Add,A._i64Subtract=kr._i64Subtract,A._llvm_bswap_i16=kr._llvm_bswap_i16,A._llvm_bswap_i32=kr._llvm_bswap_i32,A._malloc=kr._malloc),gr=A._memalign=kr._memalign,mr=(A._memcpy=kr._memcpy,A._memmove=kr._memmove,A._memset=kr._memset),pr=(A._realloc=kr._realloc,A._saveSetjmp=kr._saveSetjmp,A._sbrk=kr._sbrk,A._testSetjmp=kr._testSetjmp,A._vizCreateFile=kr._vizCreateFile,A._vizLastErrorMessage=kr._vizLastErrorMessage,A._vizRenderFromString=kr._vizRenderFromString,A.establishStackSpace=kr.establishStackSpace,A.getTempRet0=kr.getTempRet0,A.runPostSets=kr.runPostSets,A.setTempRet0=kr.setTempRet0,A.setThrew=kr.setThrew,A.stackAlloc=kr.stackAlloc),Er=A.stackRestore=kr.stackRestore,Br=A.stackSave=kr.stackSave;if(A.dynCall_d=kr.dynCall_d,A.dynCall_dddd=kr.dynCall_dddd,A.dynCall_di=kr.dynCall_di,A.dynCall_i=kr.dynCall_i,A.dynCall_ii=kr.dynCall_ii,A.dynCall_iii=kr.dynCall_iii,A.dynCall_iiidd=kr.dynCall_iiidd,A.dynCall_iiii=kr.dynCall_iiii,A.dynCall_iiiii=kr.dynCall_iiiii,A.dynCall_iiiiii=kr.dynCall_iiiiii,A.dynCall_iiiiiii=kr.dynCall_iiiiiii,A.dynCall_iiiiiiiiiii=kr.dynCall_iiiiiiiiiii,A.dynCall_v=kr.dynCall_v,A.dynCall_vi=kr.dynCall_vi,A.dynCall_vii=kr.dynCall_vii,A.dynCall_viii=kr.dynCall_viii,A.dynCall_viiiddi=kr.dynCall_viiiddi,A.dynCall_viiii=kr.dynCall_viiii,A.dynCall_viiiii=kr.dynCall_viiiii,A.dynCall_viiiiii=kr.dynCall_viiiiii,A.dynCall_viiiiiiiii=kr.dynCall_viiiiiiiii,A.asm=kr,A.ccall=E,A.Pointer_stringify=Z,A.UTF8ToString=Q,ze)if(Ye(ze)||("function"==typeof A.locateFile?ze=A.locateFile(ze):A.memoryInitializerPrefixURL&&(ze=A.memoryInitializerPrefixURL+ze)),s||c){var yr=A.readBinary(ze);x.set(yr,k)}else{Qe();var Cr=function(e){e.byteLength&&(e=new Uint8Array(e)),x.set(e,k),A.memoryInitializerRequest&&delete A.memoryInitializerRequest.response,De()};function Ir(){A.readAsync(ze,Cr,(function(){throw"could not load memory initializer "+ze}))}var Zr=UA(ze);if(Zr)Cr(Zr.buffer);else if(A.memoryInitializerRequest){function Gr(){var e=A.memoryInitializerRequest,r=e.response;if(200!==e.status&&0!==e.status){var i=UA(A.memoryInitializerRequestURL);if(!i)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+ze),void Ir();r=i.buffer}Cr(r)}A.memoryInitializerRequest.response?setTimeout(Gr,0):A.memoryInitializerRequest.addEventListener("load",Gr)}else Ir()}function Lr(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Qr(e){function r(){A.calledRun||(A.calledRun=!0,d||(be(),he(),A.onRuntimeInitialized&&A.onRuntimeInitialized(),ke()))}e=e||A.arguments,Ze>0||(ue(),Ze>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),r()}),1)):r()))}function Dr(e,r){r&&A.noExitRuntime&&0===e||(A.noExitRuntime||(d=!0,T=wr,we(),A.onExit&&A.onExit(e)),s&&process.exit(e),A.quit(e,new Lr(e)))}function zr(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",d=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(Lr.prototype=new Error,Lr.prototype.constructor=Lr,Le=function e(){A.calledRun||Qr(),A.calledRun||(Le=e)},A.run=Qr,A.exit=Dr,A.abort=zr,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,Qr(),A}({TOTAL_MEMORY:t});for(f=0;f1?window.devicePixelRatio:1);var i=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(e,(function(e,a){if(0==e.length){if(void 0!==r)return void r(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var t=document.createElement("canvas");t.width=a.width,t.height=a.height;var n=new fabric.Canvas(t,{enableRetinaScaling:!1}),f=fabric.util.groupSVGElements(e,a);n.add(f).renderAll(),i.src=n.toDataURL({multiplier:A}),i.width=a.width,i.height=a.height,void 0!==r&&r(null,i)}));else{var a=new Image;a.onload=function(){var e=document.createElement("canvas");e.width=a.width*A,e.height=a.height*A,e.getContext("2d").drawImage(a,0,0,e.width,e.height),i.src=e.toDataURL("image/png"),i.width=a.width,i.height=a.height,void 0!==r&&r(null,i)},a.onerror=function(e){var A;if(A="error"in e?e.error:new Error("Error loading SVG"),void 0===r)throw A;r(A)},a.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(function(e,A){return String.fromCharCode("0x"+A)})))}}catch(e){if(void 0===r)throw e;r(e)}if(void 0===r)return i},i.svgXmlToPngBase64=function(e,A,r){i.svgXmlToPngImageElement(e,A,(function(e,A){e?r(e):r(null,A.src.slice("data:image/png;base64,".length))}))},e.exports=i}()},6417:e=>{"use strict";e.exports=require("crypto")},5747:e=>{"use strict";e.exports=require("fs")},5622:e=>{"use strict";e.exports=require("path")}},A={};function r(i){if(A[i])return A[i].exports;var a=A[i]={id:i,loaded:!1,exports:{}};return e[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(8138)})(); \ No newline at end of file diff --git a/resources/fsm/utils/tree-sitter.js b/resources/fsm/utils/tree-sitter.js deleted file mode 100644 index e433281..0000000 --- a/resources/fsm/utils/tree-sitter.js +++ /dev/null @@ -1 +0,0 @@ -var Module=void 0!==Module?Module:{};!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.TreeSitter=t()}(0,function(){var e,t={};for(e in Module)Module.hasOwnProperty(e)&&(t[e]=Module[e]);var n,r,o=[],s="./this.program",i=function(e,t){throw t},a=!1,_=!1;a="object"==typeof window,_="function"==typeof importScripts,n="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,r=!a&&!n&&!_;var u,l,d,c,f="";n?(f=_?require("path").dirname(f)+"/":__dirname+"/",u=function(e,t){return d||(d=require("fs")),c||(c=require("path")),e=c.normalize(e),d.readFileSync(e,t?null:"utf8")},l=function(e){var t=u(e,!0);return t.buffer||(t=new Uint8Array(t)),O(t.buffer),t},process.argv.length>1&&(s=process.argv[1].replace(/\\/g,"/")),o=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof rt))throw e}),process.on("unhandledRejection",we),i=function(e){process.exit(e)},Module.inspect=function(){return"[Emscripten Module object]"}):r?("undefined"!=typeof read&&(u=function(e){return read(e)}),l=function(e){var t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(O("object"==typeof(t=read(e,"binary"))),t)},"undefined"!=typeof scriptArgs?o=scriptArgs:void 0!==arguments&&(o=arguments),"function"==typeof quit&&(i=function(e){quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(a||_)&&(_?f=self.location.href:document.currentScript&&(f=document.currentScript.src),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"",u=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},_&&(l=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var m=Module.print||console.log.bind(console),p=Module.printErr||console.warn.bind(console);for(e in t)t.hasOwnProperty(e)&&(Module[e]=t[e]);t=null,Module.arguments&&(o=Module.arguments),Module.thisProgram&&(s=Module.thisProgram),Module.quit&&(i=Module.quit);var h=16;function g(e){var t=Q[te>>2],n=t+e+15&-16;return Q[te>>2]=n,t}function y(e,t){return t||(t=h),Math.ceil(e/t)*t}function w(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return 4;if("i"===e[0]){var t=Number(e.substr(1));return O(t%8==0,"getNativeTypeSize invalid bits "+t+", type "+e),t/8}return 0}}var M={"f64-rem":function(e,t){return e%t},debugger:function(){}},b={nextHandle:1,loadedLibs:{"-1":{refcount:1/0,name:"__self__",module:Module,global:!0}},loadedLibNames:{__self__:-1}};function E(e,t){t=t||{global:!0,nodelete:!0};var n,r=b.loadedLibNames[e];if(r)return n=b.loadedLibs[r],t.global&&!n.global&&(n.global=!0,"loading"!==n.module&&a(n.module)),t.nodelete&&n.refcount!==1/0&&(n.refcount=1/0),n.refcount++,t.loadAsync?Promise.resolve(r):r;function o(e){if(t.fs){var n=t.fs.readFile(e,{encoding:"binary"});return n instanceof Uint8Array||(n=new Uint8Array(lib_data)),t.loadAsync?Promise.resolve(n):n}return t.loadAsync?(r=e,fetch(r,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load binary file at '"+r+"'";return e.arrayBuffer()}).then(function(e){return new Uint8Array(e)})):l(e);var r}function s(e){return I(e,t)}function i(){if(void 0!==Module.preloadedWasm&&void 0!==Module.preloadedWasm[e]){var n=Module.preloadedWasm[e];return t.loadAsync?Promise.resolve(n):n}return t.loadAsync?o(e).then(function(e){return s(e)}):s(o(e))}function a(e){for(var t in e)if(e.hasOwnProperty(t)){var n=t;"_"===t[0]&&(Module.hasOwnProperty(n)||(Module[n]=e[t]))}}function _(e){n.global&&a(e),n.module=e}return r=b.nextHandle++,n={refcount:t.nodelete?1/0:1,name:e,module:"loading",global:t.global},b.loadedLibNames[e]=r,b.loadedLibs[r]=n,t.loadAsync?i().then(function(e){return _(e),r}):(_(i()),r)}function v(e,t,n,r){var o={};for(var s in e){var i=e[s];"object"==typeof i&&(i=i.value),"number"==typeof i&&(i+=t),o[s]=i,r&&(r[s]=i)}return o}function I(e,t){O(1836278016==new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer)[0],"need to see wasm magic number"),O(0===e[8],"need the dylink section to be first");var n=9;function r(){for(var t=0,r=1;;){var o=e[n++];if(t+=(127&o)*r,r*=128,!(128&o))break}return t}r();O(6===e[n]),O(e[++n]==="d".charCodeAt(0)),O(e[++n]==="y".charCodeAt(0)),O(e[++n]==="l".charCodeAt(0)),O(e[++n]==="i".charCodeAt(0)),O(e[++n]==="n".charCodeAt(0)),O(e[++n]==="k".charCodeAt(0)),n++;for(var o=r(),s=r(),i=r(),a=r(),_=r(),u=[],l=0;l<_;++l){var d=r(),c=e.subarray(n,n+d);n+=d;var f=j(c,0);u.push(f)}function m(){s=Math.pow(2,s),a=Math.pow(2,a),s=Math.max(s,h);var n=y(Z(o+s),s),r=Ge,_=F,u=_.length,l=_;_.grow(i),O(_===l);for(var d=n;d=0,a=0;return e[t]=function(){if(!a){var e=f(r,0,i);a=C(e,s)}return a}}return t.startsWith("invoke_")?e[t]=invoke_X:e[t]=function(){return f(t).apply(null,arguments)}}}),g={global:{NaN:NaN,Infinity:1/0},"global.Math":Math,env:p,wasi_snapshot_preview1:p,asm2wasm:M};function w(e,t){var r=v(e.exports,n,0,t),o=r.__post_instantiate;return o&&(_e?o():se.push(o)),r}return t.loadAsync?WebAssembly.instantiate(e,g).then(function(e){return w(e.instance,c)}):w(new WebAssembly.Instance(new WebAssembly.Module(e),g),c)}return t.loadAsync?Promise.all(u.map(function(e){return E(e,t)})).then(function(){return m()}):(u.forEach(function(e){E(e,t)}),m())}Module.loadWebAssemblyModule=I,Module.registerFunctions=function(e,t){e.forEach(function(e){Module["FUNCTION_TABLE_"+e]||(Module["FUNCTION_TABLE_"+e]=[])});var n=alignFunctionTables(),r=alignFunctionTables(t),o=n+r;e.forEach(function(e){var r=t["FUNCTION_TABLE_"+e],s=Module["FUNCTION_TABLE_"+e];O(r!==s),O(s.length===n);for(var i=0;i>0]=t;break;case"i16":V[e>>1]=t;break;case"i32":Q[e>>2]=t;break;case"i64":Ae=[t>>>0,(Se=t,+le(Se)>=1?Se>0?(0|fe(+ce(Se/4294967296),4294967295))>>>0:~~+de((Se-+(~~Se>>>0))/4294967296)>>>0:0)],Q[e>>2]=Ae[0],Q[e+4>>2]=Ae[1];break;case"float":Y[e>>2]=t;break;case"double":J[e>>3]=t;break;default:we("invalid type for setValue: "+n)}}function L(e,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return G[e>>0];case"i16":return V[e>>1];case"i32":case"i64":return Q[e>>2];case"float":return Y[e>>2];case"double":return J[e>>3];default:we("invalid type for getValue: "+t)}return null}T=y(T,16),Module.wasmBinary&&(x=Module.wasmBinary),Module.noExitRuntime&&(P=Module.noExitRuntime),"object"!=typeof WebAssembly&&p("no native wasm support detected");var F=new WebAssembly.Table({initial:16,element:"anyfunc"}),W=!1;function O(e,t){e||we("Assertion failed: "+t)}var $=3;function Z(e){return _e?Ye(e):g(e)}var U="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(e,t,n){for(var r=t+n,o=t;e[o]&&!(o>=r);)++o;if(o-t>16&&e.subarray&&U)return U.decode(e.subarray(t,o));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&i)<<6|a)}else s+=String.fromCharCode(i)}return s}function D(e,t){return e?j(X,e,t):""}function B(e,t,n,r){if(!(r>0))return 0;for(var o=n,s=n+r-1,i=0;i=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if(a<=127){if(n>=s)break;t[n++]=a}else if(a<=2047){if(n+1>=s)break;t[n++]=192|a>>6,t[n++]=128|63&a}else if(a<=65535){if(n+2>=s)break;t[n++]=224|a>>12,t[n++]=128|a>>6&63,t[n++]=128|63&a}else{if(n+3>=s)break;t[n++]=240|a>>18,t[n++]=128|a>>12&63,t[n++]=128|a>>6&63,t[n++]=128|63&a}}return t[n]=0,n-o}function H(e){for(var t=0,n=0;n=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),r<=127?++t:t+=r<=2047?2:r<=65535?3:4}return t}function z(e){var t=H(e)+1,n=Je(t);return B(e,G,n,t),n}var K,G,X,V,Q,Y,J;function ee(e){K=e,Module.HEAP8=G=new Int8Array(e),Module.HEAP16=V=new Int16Array(e),Module.HEAP32=Q=new Int32Array(e),Module.HEAPU8=X=new Uint8Array(e),Module.HEAPU16=new Uint16Array(e),Module.HEAPU32=new Uint32Array(e),Module.HEAPF32=Y=new Float32Array(e),Module.HEAPF64=J=new Float64Array(e)}var te=7856,ne=Module.INITIAL_MEMORY||33554432;function re(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Module.dynCall_v(n):Module.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t(Module)}}(k=Module.wasmMemory?Module.wasmMemory:new WebAssembly.Memory({initial:ne/65536,maximum:32768}))&&(K=k.buffer),ne=K.byteLength,ee(K),Q[te>>2]=5250928;var oe=[],se=[],ie=[],ae=[],_e=!1;function ue(e){oe.unshift(e)}var le=Math.abs,de=Math.ceil,ce=Math.floor,fe=Math.min,me=0,pe=null,he=null;function ge(e){me++,Module.monitorRunDependencies&&Module.monitorRunDependencies(me)}function ye(e){if(me--,Module.monitorRunDependencies&&Module.monitorRunDependencies(me),0==me&&(null!==pe&&(clearInterval(pe),pe=null),he)){var t=he;he=null,t()}}function we(e){throw Module.onAbort&&Module.onAbort(e),m(e+=""),p(e),W=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}function Me(e,t){return String.prototype.startsWith?e.startsWith(t):0===e.indexOf(t)}Module.preloadedImages={},Module.preloadedAudios={},Module.preloadedWasm={},ue(function(){if(Module.dynamicLibraries&&Module.dynamicLibraries.length>0&&!l)return ge(),void Promise.all(Module.dynamicLibraries.map(function(e){return E(e,{loadAsync:!0,global:!0,nodelete:!0})})).then(function(){ye()});var e;(e=Module.dynamicLibraries)&&e.forEach(function(e){E(e,{global:!0,nodelete:!0})})});var be="data:application/octet-stream;base64,";function Ee(e){return Me(e,be)}var ve="file://";function Ie(e){return Me(e,ve)}var Ne,Se,Ae,Ce="../resources/tree-sitter/tree-sitter.wasm";function xe(){try{if(x)return new Uint8Array(x);if(l)return l(Ce);throw"both async and sync fetching of the wasm failed"}catch(e){we(e)}}Ee(Ce)||(Ne=Ce,Ce=Module.locateFile?Module.locateFile(Ne,f):f+Ne),Module.asm=function(){var e={env:Ge,wasi_snapshot_preview1:Ge,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:M};function t(e,t){var n=e.exports;n=v(n,T),Module.asm=n,ye()}function n(e){t(e.instance)}function r(t){return(x||!a&&!_||"function"!=typeof fetch||Ie(Ce)?new Promise(function(e,t){e(xe())}):fetch(Ce,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+Ce+"'";return e.arrayBuffer()}).catch(function(){return xe()})).then(function(t){return WebAssembly.instantiate(t,e)}).then(t,function(e){p("failed to asynchronously prepare wasm: "+e),we(e)})}if(ge(),Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}return function(){if(x||"function"!=typeof WebAssembly.instantiateStreaming||Ee(Ce)||Ie(Ce)||"function"!=typeof fetch)return r(n);fetch(Ce,{credentials:"same-origin"}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(n,function(e){p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),r(n)})})}(),{}},se.push({func:function(){Qe()}});var Pe;function ke(){we()}Module._abort=ke,Pe=n?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var Re=!0;function Te(){return X.length}function qe(e){try{return k.grow(e-K.byteLength+65535>>>16),ee(k.buffer),1}catch(e){}}function Le(e,t,n){if(Et){const e=D(n);Et(e,0!==t)}}var Fe=T;function We(e){return e|=0,mftCall_X(e)}function Oe(e){return e|=0,0|mftCall_i(e)}function $e(e,t){return e|=0,t|=0,0|mftCall_ii(e,0|t)}function Ze(e,t,n,r,o,s,i){return e|=0,t|=0,n=+n,r|=0,o|=0,s|=0,i|=0,0|mftCall_iidiiii(e,0|t,+n,0|r,0|o,0|s,0|i)}function Ue(e,t,n){return e|=0,t|=0,n|=0,0|mftCall_iii(e,0|t,0|n)}function je(e,t,n,r){return e|=0,t|=0,n|=0,r|=0,0|mftCall_iiii(e,0|t,0|n,0|r)}function De(e,t,n,r,o){return e|=0,t|=0,n|=0,r|=0,o|=0,0|mftCall_iiiii(e,0|t,0|n,0|r,0|o)}function Be(e){e|=0,mftCall_v(e)}function He(e,t){e|=0,t|=0,mftCall_vi(e,0|t)}function ze(e,t,n){e|=0,t|=0,n|=0,mftCall_vii(e,0|t,0|n)}function Ke(e,t,n,r){e|=0,t|=0,n|=0,r|=0,mftCall_viii(e,0|t,0|n,0|r)}var Ge={STACKTOP:8048,__memory_base:1024,__table_base:0,_abort:ke,_clock_gettime:function(e,t){var n,r;if(0===e)n=Date.now();else{if(1!==e&&4!==e||!Re)return r=28,Q[Ve()>>2]=r,-1;n=Pe()}return Q[t>>2]=n/1e3|0,Q[t+4>>2]=n%1e3*1e3*1e3|0,0},_emscripten_get_heap_size:Te,_emscripten_memcpy_big:function(e,t,n){X.copyWithin(e,t,t+n)},_emscripten_resize_heap:function(e){e>>>=0;var t=Te();if(e>2147483648)return!1;for(var n,r,o=1;o<=4;o*=2){var s=t*(1+.2/o);if(s=Math.min(s,e+100663296),qe(Math.min(2147483648,((n=Math.max(16777216,e,s))%(r=65536)>0&&(n+=r-n%r),n))))return!0}return!1},_exit:function(e){st(e)},_tree_sitter_parse_callback:function(e,t,n,r,o){var s=bt(t,{row:n,column:r});"string"==typeof s?(q(o,s.length,"i32"),function(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=(n-=2)<2*e.length?n/2:e.length,o=0;o>1]=s,t+=2}V[t>>1]=0}(s,e,10240)):q(o,0,"i32")},abort:we,fb:0,fp$_tree_sitter_log_callback$viii:function(){if(!Module.fp$_tree_sitter_log_callback$viii){var e=C(Module._tree_sitter_log_callback||Le,"viii");Module.fp$_tree_sitter_log_callback$viii=e}return Module.fp$_tree_sitter_log_callback$viii},gb:Fe,getTempRet0:function(){return R},memory:k,setTempRet0:function(e){R=e},table:F,tempDoublePtr:8032},Xe=Module.asm({},Ge,K);Module.asm=Xe;Module.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=function(){return Module.asm.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm.apply(null,arguments)},Module.__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv=function(){return Module.asm.__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_.apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=function(){return Module.asm.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev.apply(null,arguments)},Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=function(){return Module.asm.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw.apply(null,arguments)},Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=function(){return Module.asm.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev.apply(null,arguments)},Module.__ZdlPv=function(){return Module.asm.__ZdlPv.apply(null,arguments)},Module.__Znwm=function(){return Module.asm.__Znwm.apply(null,arguments)};var Ve=Module.___errno_location=function(){return Module.asm.___errno_location.apply(null,arguments)},Qe=Module.__apply_relocations=function(){return Module.asm.__apply_relocations.apply(null,arguments)},Ye=(Module._calloc=function(){return Module.asm._calloc.apply(null,arguments)},Module._free=function(){return Module.asm._free.apply(null,arguments)},Module._iswalnum=function(){return Module.asm._iswalnum.apply(null,arguments)},Module._iswalpha=function(){return Module.asm._iswalpha.apply(null,arguments)},Module._iswdigit=function(){return Module.asm._iswdigit.apply(null,arguments)},Module._iswlower=function(){return Module.asm._iswlower.apply(null,arguments)},Module._iswspace=function(){return Module.asm._iswspace.apply(null,arguments)},Module._malloc=function(){return Module.asm._malloc.apply(null,arguments)}),Je=(Module._memchr=function(){return Module.asm._memchr.apply(null,arguments)},Module._memcmp=function(){return Module.asm._memcmp.apply(null,arguments)},Module._memcpy=function(){return Module.asm._memcpy.apply(null,arguments)},Module._strlen=function(){return Module.asm._strlen.apply(null,arguments)},Module._towupper=function(){return Module.asm._towupper.apply(null,arguments)},Module._ts_init=function(){return Module.asm._ts_init.apply(null,arguments)},Module._ts_language_field_count=function(){return Module.asm._ts_language_field_count.apply(null,arguments)},Module._ts_language_field_name_for_id=function(){return Module.asm._ts_language_field_name_for_id.apply(null,arguments)},Module._ts_language_symbol_count=function(){return Module.asm._ts_language_symbol_count.apply(null,arguments)},Module._ts_language_symbol_name=function(){return Module.asm._ts_language_symbol_name.apply(null,arguments)},Module._ts_language_symbol_type=function(){return Module.asm._ts_language_symbol_type.apply(null,arguments)},Module._ts_language_version=function(){return Module.asm._ts_language_version.apply(null,arguments)},Module._ts_node_child_by_field_id_wasm=function(){return Module.asm._ts_node_child_by_field_id_wasm.apply(null,arguments)},Module._ts_node_child_count_wasm=function(){return Module.asm._ts_node_child_count_wasm.apply(null,arguments)},Module._ts_node_child_wasm=function(){return Module.asm._ts_node_child_wasm.apply(null,arguments)},Module._ts_node_children_wasm=function(){return Module.asm._ts_node_children_wasm.apply(null,arguments)},Module._ts_node_descendant_for_index_wasm=function(){return Module.asm._ts_node_descendant_for_index_wasm.apply(null,arguments)},Module._ts_node_descendant_for_position_wasm=function(){return Module.asm._ts_node_descendant_for_position_wasm.apply(null,arguments)},Module._ts_node_descendants_of_type_wasm=function(){return Module.asm._ts_node_descendants_of_type_wasm.apply(null,arguments)},Module._ts_node_end_index_wasm=function(){return Module.asm._ts_node_end_index_wasm.apply(null,arguments)},Module._ts_node_end_point_wasm=function(){return Module.asm._ts_node_end_point_wasm.apply(null,arguments)},Module._ts_node_has_changes_wasm=function(){return Module.asm._ts_node_has_changes_wasm.apply(null,arguments)},Module._ts_node_has_error_wasm=function(){return Module.asm._ts_node_has_error_wasm.apply(null,arguments)},Module._ts_node_is_missing_wasm=function(){return Module.asm._ts_node_is_missing_wasm.apply(null,arguments)},Module._ts_node_is_named_wasm=function(){return Module.asm._ts_node_is_named_wasm.apply(null,arguments)},Module._ts_node_named_child_count_wasm=function(){return Module.asm._ts_node_named_child_count_wasm.apply(null,arguments)},Module._ts_node_named_child_wasm=function(){return Module.asm._ts_node_named_child_wasm.apply(null,arguments)},Module._ts_node_named_children_wasm=function(){return Module.asm._ts_node_named_children_wasm.apply(null,arguments)},Module._ts_node_named_descendant_for_index_wasm=function(){return Module.asm._ts_node_named_descendant_for_index_wasm.apply(null,arguments)},Module._ts_node_named_descendant_for_position_wasm=function(){return Module.asm._ts_node_named_descendant_for_position_wasm.apply(null,arguments)},Module._ts_node_next_named_sibling_wasm=function(){return Module.asm._ts_node_next_named_sibling_wasm.apply(null,arguments)},Module._ts_node_next_sibling_wasm=function(){return Module.asm._ts_node_next_sibling_wasm.apply(null,arguments)},Module._ts_node_parent_wasm=function(){return Module.asm._ts_node_parent_wasm.apply(null,arguments)},Module._ts_node_prev_named_sibling_wasm=function(){return Module.asm._ts_node_prev_named_sibling_wasm.apply(null,arguments)},Module._ts_node_prev_sibling_wasm=function(){return Module.asm._ts_node_prev_sibling_wasm.apply(null,arguments)},Module._ts_node_start_index_wasm=function(){return Module.asm._ts_node_start_index_wasm.apply(null,arguments)},Module._ts_node_start_point_wasm=function(){return Module.asm._ts_node_start_point_wasm.apply(null,arguments)},Module._ts_node_symbol_wasm=function(){return Module.asm._ts_node_symbol_wasm.apply(null,arguments)},Module._ts_node_to_string_wasm=function(){return Module.asm._ts_node_to_string_wasm.apply(null,arguments)},Module._ts_parser_delete=function(){return Module.asm._ts_parser_delete.apply(null,arguments)},Module._ts_parser_enable_logger_wasm=function(){return Module.asm._ts_parser_enable_logger_wasm.apply(null,arguments)},Module._ts_parser_new_wasm=function(){return Module.asm._ts_parser_new_wasm.apply(null,arguments)},Module._ts_parser_parse_wasm=function(){return Module.asm._ts_parser_parse_wasm.apply(null,arguments)},Module._ts_parser_set_language=function(){return Module.asm._ts_parser_set_language.apply(null,arguments)},Module._ts_parser_set_timeout_micros=function(){return Module.asm._ts_parser_set_timeout_micros.apply(null,arguments)},Module._ts_parser_timeout_micros=function(){return Module.asm._ts_parser_timeout_micros.apply(null,arguments)},Module._ts_query_capture_count=function(){return Module.asm._ts_query_capture_count.apply(null,arguments)},Module._ts_query_capture_name_for_id=function(){return Module.asm._ts_query_capture_name_for_id.apply(null,arguments)},Module._ts_query_captures_wasm=function(){return Module.asm._ts_query_captures_wasm.apply(null,arguments)},Module._ts_query_delete=function(){return Module.asm._ts_query_delete.apply(null,arguments)},Module._ts_query_matches_wasm=function(){return Module.asm._ts_query_matches_wasm.apply(null,arguments)},Module._ts_query_new=function(){return Module.asm._ts_query_new.apply(null,arguments)},Module._ts_query_pattern_count=function(){return Module.asm._ts_query_pattern_count.apply(null,arguments)},Module._ts_query_predicates_for_pattern=function(){return Module.asm._ts_query_predicates_for_pattern.apply(null,arguments)},Module._ts_query_string_count=function(){return Module.asm._ts_query_string_count.apply(null,arguments)},Module._ts_query_string_value_for_id=function(){return Module.asm._ts_query_string_value_for_id.apply(null,arguments)},Module._ts_tree_cursor_current_field_id_wasm=function(){return Module.asm._ts_tree_cursor_current_field_id_wasm.apply(null,arguments)},Module._ts_tree_cursor_current_node_id_wasm=function(){return Module.asm._ts_tree_cursor_current_node_id_wasm.apply(null,arguments)},Module._ts_tree_cursor_current_node_is_missing_wasm=function(){return Module.asm._ts_tree_cursor_current_node_is_missing_wasm.apply(null,arguments)},Module._ts_tree_cursor_current_node_is_named_wasm=function(){return Module.asm._ts_tree_cursor_current_node_is_named_wasm.apply(null,arguments)},Module._ts_tree_cursor_current_node_type_id_wasm=function(){return Module.asm._ts_tree_cursor_current_node_type_id_wasm.apply(null,arguments)},Module._ts_tree_cursor_current_node_wasm=function(){return Module.asm._ts_tree_cursor_current_node_wasm.apply(null,arguments)},Module._ts_tree_cursor_delete_wasm=function(){return Module.asm._ts_tree_cursor_delete_wasm.apply(null,arguments)},Module._ts_tree_cursor_end_index_wasm=function(){return Module.asm._ts_tree_cursor_end_index_wasm.apply(null,arguments)},Module._ts_tree_cursor_end_position_wasm=function(){return Module.asm._ts_tree_cursor_end_position_wasm.apply(null,arguments)},Module._ts_tree_cursor_goto_first_child_wasm=function(){return Module.asm._ts_tree_cursor_goto_first_child_wasm.apply(null,arguments)},Module._ts_tree_cursor_goto_next_sibling_wasm=function(){return Module.asm._ts_tree_cursor_goto_next_sibling_wasm.apply(null,arguments)},Module._ts_tree_cursor_goto_parent_wasm=function(){return Module.asm._ts_tree_cursor_goto_parent_wasm.apply(null,arguments)},Module._ts_tree_cursor_new_wasm=function(){return Module.asm._ts_tree_cursor_new_wasm.apply(null,arguments)},Module._ts_tree_cursor_reset_wasm=function(){return Module.asm._ts_tree_cursor_reset_wasm.apply(null,arguments)},Module._ts_tree_cursor_start_index_wasm=function(){return Module.asm._ts_tree_cursor_start_index_wasm.apply(null,arguments)},Module._ts_tree_cursor_start_position_wasm=function(){return Module.asm._ts_tree_cursor_start_position_wasm.apply(null,arguments)},Module._ts_tree_delete=function(){return Module.asm._ts_tree_delete.apply(null,arguments)},Module._ts_tree_edit_wasm=function(){return Module.asm._ts_tree_edit_wasm.apply(null,arguments)},Module._ts_tree_get_changed_ranges_wasm=function(){return Module.asm._ts_tree_get_changed_ranges_wasm.apply(null,arguments)},Module._ts_tree_root_node_wasm=function(){return Module.asm._ts_tree_root_node_wasm.apply(null,arguments)},Module.stackAlloc=function(){return Module.asm.stackAlloc.apply(null,arguments)}),We=Module.dynCall_X=function(){return Module.asm.dynCall_X.apply(null,arguments)},Oe=Module.dynCall_i=function(){return Module.asm.dynCall_i.apply(null,arguments)},$e=Module.dynCall_ii=function(){return Module.asm.dynCall_ii.apply(null,arguments)},Ze=Module.dynCall_iidiiii=function(){return Module.asm.dynCall_iidiiii.apply(null,arguments)},Ue=Module.dynCall_iii=function(){return Module.asm.dynCall_iii.apply(null,arguments)},je=Module.dynCall_iiii=function(){return Module.asm.dynCall_iiii.apply(null,arguments)},De=Module.dynCall_iiiii=function(){return Module.asm.dynCall_iiiii.apply(null,arguments)},Be=Module.dynCall_v=function(){return Module.asm.dynCall_v.apply(null,arguments)},He=Module.dynCall_vi=function(){return Module.asm.dynCall_vi.apply(null,arguments)},ze=Module.dynCall_vii=function(){return Module.asm.dynCall_vii.apply(null,arguments)},Ke=Module.dynCall_viii=function(){return Module.asm.dynCall_viii.apply(null,arguments)};Module.dynCall_X=We,Module.dynCall_i=Oe,Module.dynCall_ii=$e,Module.dynCall_iidiiii=Ze,Module.dynCall_iii=Ue,Module.dynCall_iiii=je,Module.dynCall_iiiii=De,Module.dynCall_v=Be,Module.dynCall_vi=He,Module.dynCall_vii=ze,Module.dynCall_viii=Ke;var et,tt={};for(var nt in tt)Module["_"+nt]=Fe+tt[nt];for(var nt in Module.NAMED_GLOBALS=tt,tt)!function(e){var t=Module["_"+e];Module["g$_"+e]=function(){return t}}(nt);function rt(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_=Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_,Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev=Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev,Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev=Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev,Module.asm=Xe,Module.allocate=function(e,t,n,r){var o,s;"number"==typeof e?(o=!0,s=e):(o=!1,s=e.length);var i,a="string"==typeof t?t:null;if(i=n==$?r:[Ye,Je,g][n](Math.max(s,a?1:t.length)),o){var _;for(r=i,O(0==(3&i)),_=i+(-4&s);r<_;r+=4)Q[r>>2]=0;for(_=i+s;r<_;)G[r++>>0]=0;return i}if("i8"===a)return e.subarray||e.slice?X.set(e,i):X.set(new Uint8Array(e),i),i;for(var u,l,d,c=0;c>2]=z(s);for(var o=1;o>2)+o]=z(e[o-1]);Q[(r>>2)+n]=0;try{st(t(n,r),!0)}catch(e){if(e instanceof rt)return;if("unwind"==e)return void(P=!0);var a=e;e&&"object"==typeof e&&e.stack&&(a=[e,e.stack]),p("exception thrown: "+a),i(1,e)}finally{!0}}}(e),function(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)e=Module.postRun.shift(),ae.unshift(e);var e;re(ae)}()))}e=e||o,me>0||(!function(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)ue(Module.preRun.shift());re(oe)}(),me>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()))}function st(e,t){t&&P&&0===e||(P||(W=!0,e,!0,Module.onExit&&Module.onExit(e)),i(e,new rt(e)))}if(he=function e(){et||ot(),et||(he=e)},Module.run=ot,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var it=!0;Module.noInitialRun&&(it=!1),P=!0,ot();const at=Module,_t={},ut=4,lt=5*ut,dt=2*ut,ct=2*ut+2*dt,ft={row:0,column:0},mt=/[\w-.]*/g,pt=1,ht=2,gt=/^_?tree_sitter_\w+/;var yt,wt,Mt,bt,Et,vt=new Promise(e=>{Module.onRuntimeInitialized=e}).then(()=>{Mt=at._ts_init(),yt=L(Mt,"i32"),wt=L(Mt+ut,"i32")});class Parser{static init(){return vt}constructor(){if(null==Mt)throw new Error("You must first call Parser.init() and wait for it to resolve.");at._ts_parser_new_wasm(),this[0]=L(Mt,"i32"),this[1]=L(Mt+ut,"i32")}delete(){at._ts_parser_delete(this[0]),at._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(e){if(e.constructor!==Language)throw new Error("Argument must be a Language");{t=e[0];const n=at._ts_language_version(t);if(ne.slice(t,r));else{if("function"!=typeof e)throw new Error("Argument must be a string or a function");bt=e}this.logCallback?(Et=this.logCallback,at._ts_parser_enable_logger_wasm(this[0],1)):(Et=null,at._ts_parser_enable_logger_wasm(this[0],0));let r=0,o=0;if(n&&n.includedRanges){r=n.includedRanges.length;let e=o=at._calloc(r,ct);for(let t=0;t0){let e=n;for(let n=0;n0){let n=t;for(let t=0;t0){let n=t;for(let t=0;t0){let e=a;for(let t=0;t>0];if(!n)return t;t+=String.fromCharCode(n)}}(e);return at._free(e),t}}class TreeCursor{constructor(e,t){St(e),this.tree=t,kt(this)}delete(){Pt(this),at._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}reset(e){Ct(e),Pt(this,Mt+lt),at._ts_tree_cursor_reset_wasm(this.tree[0]),kt(this)}get nodeType(){return this.tree.language.types[this.nodeTypeId]||"ERROR"}get nodeTypeId(){return Pt(this),at._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeId(){return Pt(this),at._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return Pt(this),1===at._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])}get nodeIsMissing(){return Pt(this),1===at._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])}get nodeText(){Pt(this);const e=at._ts_tree_cursor_start_index_wasm(this.tree[0]),t=at._ts_tree_cursor_end_index_wasm(this.tree[0]);return It(this.tree,e,t)}get startPosition(){return Pt(this),at._ts_tree_cursor_start_position_wasm(this.tree[0]),Tt(Mt)}get endPosition(){return Pt(this),at._ts_tree_cursor_end_position_wasm(this.tree[0]),Tt(Mt)}get startIndex(){return Pt(this),at._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return Pt(this),at._ts_tree_cursor_end_index_wasm(this.tree[0])}currentNode(){return Pt(this),at._ts_tree_cursor_current_node_wasm(this.tree[0]),xt(this.tree)}currentFieldId(){return Pt(this),at._ts_tree_cursor_current_field_id_wasm(this.tree[0])}currentFieldName(){return this.tree.language.fields[this.currentFieldId()]}gotoFirstChild(){Pt(this);const e=at._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return kt(this),1===e}gotoNextSibling(){Pt(this);const e=at._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return kt(this),1===e}gotoParent(){Pt(this);const e=at._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return kt(this),1===e}}class Language{constructor(e,t){St(e),this[0]=t,this.types=new Array(at._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e0){if("string"!==o[0].type)throw new Error("Predicates must begin with a literal value");const t=o[0].value;let n=!0;switch(t){case"not-eq?":n=!1;case"eq?":if(3!==o.length)throw new Error(`Wrong number of arguments to \`#eq?\` predicate. Expected 2, got ${o.length-1}`);if("capture"!==o[1].type)throw new Error(`First argument of \`#eq?\` predicate must be a capture. Got "${o[1].value}"`);if("capture"===o[2].type){const t=o[1].name,r=o[2].name;f[e].push(function(e){let o,s;for(const n of e)n.name===t&&(o=n.node),n.name===r&&(s=n.node);return o.text===s.text===n})}else{const t=o[1].name,r=o[2].value;f[e].push(function(e){for(const o of e)if(o.name===t)return o.node.text===r===n;return!1})}break;case"match?":if(3!==o.length)throw new Error(`Wrong number of arguments to \`#match?\` predicate. Expected 2, got ${o.length-1}.`);if("capture"!==o[1].type)throw new Error(`First argument of \`#match?\` predicate must be a capture. Got "${o[1].value}".`);if("string"!==o[2].type)throw new Error(`Second argument of \`#match?\` predicate must be a string. Got @${o[2].value}.`);const r=o[1].name,s=new RegExp(o[2].value);f[e].push(function(e){for(const t of e)if(t.name===r)return s.test(t.node.text);return!1});break;case"set!":if(o.length<2||o.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${o.length-1}.`);if(o.some(e=>"string"!==e.type))throw new Error('Arguments to `#set!` predicate must be a strings.".');u[e]||(u[e]={}),u[e][o[1].value]=o[2]?o[2].value:null;break;case"is?":case"is-not?":if(o.length<2||o.length>3)throw new Error(`Wrong number of arguments to \`#${t}\` predicate. Expected 1 or 2. Got ${o.length-1}.`);if(o.some(e=>"string"!==e.type))throw new Error(`Arguments to \`#${t}\` predicate must be a strings.".`);const i="is?"===t?l:d;i[e]||(i[e]={}),i[e][o[1].value]=o[2]?o[2].value:null;break;default:c[e].push({operator:t,operands:o.slice(1)})}o.length=0}}Object.freeze(u[e]),Object.freeze(l[e]),Object.freeze(d[e])}return at._free(n),new Query(_t,r,a,f,c,Object.freeze(u),Object.freeze(l),Object.freeze(d))}static load(e){let t;if("undefined"!=typeof process&&process.versions&&process.versions.node){const n=require("fs");t=Promise.resolve(n.readFileSync(e))}else t=fetch(e).then(e=>e.arrayBuffer().then(t=>{if(e.ok)return new Uint8Array(t);{const n=new TextDecoder("utf-8").decode(t);throw new Error(`Language.load failed with status ${e.status}.\n\n${n}`)}}));return t.then(e=>I(e,{loadAsync:!0})).then(e=>{const t=Object.keys(e),n=t.find(e=>gt.test(e)&&!e.includes("external_scanner_"));n||console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(t,null,2)}`);const r=e[n]();return new Language(_t,r)})}}class Query{constructor(e,t,n,r,o,s,i,a){St(e),this[0]=t,this.captureNames=n,this.textPredicates=r,this.predicates=o,this.setProperties=s,this.assertedProperties=i,this.refutedProperties=a}delete(){at._ts_query_delete(this[0]),this[0]=0}matches(e,t,n){t||(t=ft),n||(n=ft),Ct(e),at._ts_query_matches_wasm(this[0],e.tree[0],t.row,t.column,n.row,n.column);const r=L(Mt,"i32"),o=L(Mt+ut,"i32"),s=new Array(r);let i=o;for(let t=0;te(o))){s[t]={pattern:n,captures:o};const e=this.setProperties[n];e&&(s[t].setProperties=e);const r=this.assertedProperties[n];r&&(s[t].assertedProperties=r);const i=this.refutedProperties[n];i&&(s[t].refutedProperties=i)}}return at._free(o),s}captures(e,t,n){t||(t=ft),n||(n=ft),Ct(e),at._ts_query_captures_wasm(this[0],e.tree[0],t.row,t.column,n.row,n.column);const r=L(Mt,"i32"),o=L(Mt+ut,"i32"),s=[],i=[];let a=o;for(let t=0;te(i))){const e=i[r],n=this.setProperties[t];n&&(e.setProperties=n);const o=this.assertedProperties[t];o&&(e.assertedProperties=o);const a=this.refutedProperties[t];a&&(e.refutedProperties=a),s.push(e)}}return at._free(o),s}predicatesForPattern(e){return this.predicates[e]}}function It(e,t,n){const r=n-t;let o=e.textCallback(t,null,n);for(t+=o.length;t0))break;t+=r.length,o+=r}return t>n&&(o=o.slice(0,r)),o}function Nt(e,t,n,r){for(let o=0,s=r.length;o { - const message = event.data; // The JSON data our extension sen - switch (message.command) { - case 'update': - update_graph(message.svg, message.stms); - break; - case 'clear': - clear(); - break; - } -}); - -let graph = []; -let div = []; -let stms = []; - -function update_graph(svgs, stms_i) { - stms = stms_i; - const el = document.querySelector('body'); - // get scroll position in px - let last_scroll_left = el.scrollLeft; - let last_scroll_top = el.scrollTop; - - let message = document.getElementById("message"); - message.innerHTML = `#State machines ${svgs.length}`; - - delete_graph(); - if (svgs === undefined) { - return; - } - for (let i = 0; i < svgs.length; ++i) { - create_graph(svgs[i].svg, `svg_${i}`, i); - } - - // set scroll position in px - el.scrollLeft = last_scroll_left; - el.scrollTop = last_scroll_top; -} - -function create_graph(svg, name, index) { - let embed = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - embed.setAttribute('style', 'width: 100%; height: 720px;'); - embed.setAttribute('type', 'image/svg+xml'); - embed.innerHTML = svg; - embed.id = name; - - //Add div - var elem = document.createElement('div'); - elem.style.width = "100%"; - elem.style.heigh = "500px"; - elem.style.border = "1px solid black"; - div.push(elem); - - document.body.appendChild(elem); - - //Add svg - elem.appendChild(embed); - - let pan_zoom = svgPanZoom(`#${name}`, pan_config); - pan_zoom.center(); - pan_zoom.resize(); - - let countries = embed.childNodes; - for (let i = 0; i < countries.length; i++) { - countries[i].addEventListener('click', e => { - let parent_target = e.target.parentNode; - let childs = parent_target.childNodes; - for (let i = 0; i < childs.length; ++i) { - let child = childs[i]; - if (child.tagName === 'title') { - let state_name = child.textContent; - let state_machine_index_i = index; - for (let j = 0; j < childs.length; ++j) { - let child_0 = childs[j]; - if (child_0.tagName === 'polygon' && check_state(state_machine_index_i, state_name) === true) { - uncheck_all(); - child_0.style = "fill:#d0fdf7"; - go_to_code_state(state_machine_index_i, state_name); - } - } - } - } - }); - - countries[i].addEventListener('click', e => { - let state_machine_index_i = index; - let parent_target = e.target.parentNode; - let childs = parent_target.childNodes; - for (let i = 0; i < childs.length; ++i) { - let child = childs[i]; - let transtion = child.textContent.split('->'); - - if (child.tagName === 'title' && transtion.length === 2) { - let text_count = 0; - let condition = ''; - let child_match; - let child_match_0; - for (let j = 0; j < childs.length; ++j) { - let child_0 = childs[j]; - if (child_0.tagName === 'text') { - if (text_count === 0) { - condition = child_0.textContent; - } - else { - condition += '\n' + child_0.textContent; - } - text_count += 1; - } - else if (child_0.tagName === 'polygon') { - child_match = child_0; - } - else if (child_0.tagName === 'path') { - child_match_0 = child_0; - } - } - if (text_count >= 0) { - uncheck_all(); - child_match.style = "fill:#0024b9;stroke:#0024b9"; - child_match_0.style = "stroke:#0024b9"; - go_to_condition(state_machine_index_i, transtion, condition); - } - } - } - }); - - } - graph.push(embed); - document.body.contentEditable = false; -} - -function uncheck_all() { - for (let i = 0; i < graph.length; i++) { - search_in_tree(graph[i], 'polygon'); - search_in_tree(graph[i], 'path'); - } -} - -function check_state(stm_index, state) { - let states = stms[stm_index].states; - for (let i = 0; i < states.length; ++i) { - if (states[i].name.replace(/\"/g, '').replace(/\'/g, '') === state) { - return true; - } - } - return false; -} - - -function search_in_tree(element, matchingTitle) { - let match = undefined; - function recursive_searchTree(element, matchingTitle) { - let type = element.tagName; - if (type === matchingTitle) { - if (element.style !== undefined && element.style.fill === 'rgb(208, 253, 247)') { - element.style = "fill:transparent"; - } - else if (element.style !== undefined && element.style.fill === 'rgb(0, 36, 185)' - && element.style.stroke === 'rgb(0, 36, 185)') { - element.style = "fill:#000000;stroke:#000000"; - } - else if (element.style !== undefined && element.style.stroke === 'rgb(0, 36, 185)') { - element.style = "fill:none;stroke:#000000"; - } - match = element; - } else if (element !== null) { - let i; - let result = null; - let childs = element.childNodes; - for (i = 0; result === null && i < childs.length; i++) { - result = recursive_searchTree(childs[i], matchingTitle); - if (result !== null) { - break; - } - } - return result; - } - return null; - } - recursive_searchTree(element, matchingTitle); - return match; -} - - -function go_to_code_state(stm_index, state) { - vscode.postMessage({ - command: 'go_to_state', - stm_index: stm_index, - state: state - }); -} - - -function go_to_condition(stm_index, transition, condition) { - vscode.postMessage({ - command: 'go_to_condition', - stm_index: stm_index, - transition: transition, - condition: condition - }); -} - -function delete_graph() { - if (graph === undefined) { - return; - } - for (let i = 0; i < graph.length; ++i) { - svgPanZoom(graph[i]).destroy(); - if (div[i].parentNode !== null) { - div[i].parentNode.removeChild(div[i]); - } - } -} - -let pan_config = { - zoomEnabled: true, - controlIconsEnabled: true, - fit: true, - center: true, -}; - -document.getElementById("export-as-svg").onclick = () => { - export_message("svg"); -}; - -function export_message(message) { - vscode.postMessage({ - command: 'export', - text: message - }); -} \ No newline at end of file diff --git a/resources/fsm/view/fsm_viewer.html b/resources/fsm/view/fsm_viewer.html deleted file mode 100644 index f6bfb4f..0000000 --- a/resources/fsm/view/fsm_viewer.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - Dependencies viewer - - - - - -
            - - - - -
            -
            - -
            -
            - -
            -
            -
            -
            -

            -
            -
            -
            -
            - - - \ No newline at end of file diff --git a/script/test.bat b/script/test.bat deleted file mode 100644 index 5f54b00..0000000 --- a/script/test.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off - -set production_folder=dist - -@REM important static or config - - -if not exist %production_folder% ( - mkdir %production_folder% -) - -echo vsce package -call vsce package diff --git a/script/test/callParser.js b/script/test/callParser.js deleted file mode 100644 index 8eb3a70..0000000 --- a/script/test/callParser.js +++ /dev/null @@ -1,10 +0,0 @@ -const { vlogFast, callParser } = require('../../resources/hdlParser'); - -const testFile = 'c:/Users/11934/Project/Digital-IDE/Digital-Test/user/src/netlist_test.v'; - -(async () => { - const fast = await callParser(testFile, 5); - console.log(fast); - const all = await callParser(testFile, 6); - console.log(all); -})(); \ No newline at end of file diff --git a/script/test/svlogAll.js b/script/test/svlogAll.js deleted file mode 100644 index a8486b1..0000000 --- a/script/test/svlogAll.js +++ /dev/null @@ -1,8 +0,0 @@ -const { svAll } = require('../../resources/hdlParser'); - -const testFile = '../Digital-Test/svlog/user/src/hello.sv'; - -(async () => { - const all = await svAll(testFile); - (JSON.stringify(all, null, ' ')); -})(); \ No newline at end of file diff --git a/script/test/vhdlAll.js b/script/test/vhdlAll.js deleted file mode 100644 index 74e4aef..0000000 --- a/script/test/vhdlAll.js +++ /dev/null @@ -1,9 +0,0 @@ -const { vhdlAll } = require('../../resources/hdlParser'); - -const testFile = '../Digital-Test/Verilog/dependence_test/test.vhd'; - -(async () => { - const all = await vhdlAll(testFile); - console.log(JSON.stringify(all, null, ' ')); - console.log('number of symbols:', all.content.length); -})(); \ No newline at end of file diff --git a/script/test/vhdlFast.js b/script/test/vhdlFast.js deleted file mode 100644 index 1ab1bf1..0000000 --- a/script/test/vhdlFast.js +++ /dev/null @@ -1,8 +0,0 @@ -const { vhdlFast } = require('../../resources/hdlParser'); - -const testFile = '../Digital-Test/Verilog/dependence_test/test.vhd'; - -(async () => { - const fast = await vhdlFast(testFile); - console.log(JSON.stringify(fast, null, ' ')); -})(); \ No newline at end of file diff --git a/script/test/vlogAll.js b/script/test/vlogAll.js deleted file mode 100644 index 6538f7b..0000000 --- a/script/test/vlogAll.js +++ /dev/null @@ -1,8 +0,0 @@ -const { vlogAll } = require('../../resources/hdlParser'); - -const testFile = '../Digital-Test/user/src/child_2.v'; - -(async () => { - const all = await vlogAll(testFile); - console.log(JSON.stringify(all, null, ' ')); -})(); \ No newline at end of file diff --git a/script/test/vlogFast.js b/script/test/vlogFast.js deleted file mode 100644 index ed6017d..0000000 --- a/script/test/vlogFast.js +++ /dev/null @@ -1,8 +0,0 @@ -const { vlogFast, callParser } = require('../../resources/hdlParser'); - -const testFile = '../Digital-Test/user/src/netlist_test.v'; - -(async () => { - const fast = await vlogFast(testFile); - console.log(JSON.stringify(fast, null, ' ')); -})(); \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index 130b7e6..85fe56c 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -18,7 +18,6 @@ async function registerCommand(context: vscode.ExtensionContext, packageJson: an func.registerTreeViewDataProvider(context); func.registerLsp(context, packageJson.version); func.registerToolCommands(context); - func.registerFSM(context); func.registerNetlist(context); func.registerWaveViewer(context); diff --git a/src/function/fsm/index.ts b/src/function/fsm/index.ts index 3a51dec..00d1f24 100644 --- a/src/function/fsm/index.ts +++ b/src/function/fsm/index.ts @@ -1,10 +1,7 @@ import * as vscode from 'vscode'; -import { FsmViewer } from '../../../resources/fsm'; - async function openFsmViewer(context: vscode.ExtensionContext, uri: vscode.Uri) { - const viewer = new FsmViewer(context); - viewer.open(uri); + } export { From ee7b4826bcc23432132d903e53d0544387320ba8 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 16:22:30 +0800 Subject: [PATCH 033/107] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscodeignore | 3 ++- README.md | 44 ++++++++++++++++++++++---------------------- figures/doc.png | Bin 0 -> 556679 bytes figures/lsp.png | Bin 0 -> 414416 bytes figures/vcd.png | Bin 0 -> 579327 bytes 5 files changed, 24 insertions(+), 23 deletions(-) create mode 100644 figures/doc.png create mode 100644 figures/lsp.png create mode 100644 figures/vcd.png diff --git a/.vscodeignore b/.vscodeignore index f6021d6..d95d7c3 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -18,4 +18,5 @@ tsconfig.json design lib *.vcd -*.zip \ No newline at end of file +*.zip +figures \ No newline at end of file diff --git a/README.md b/README.md index 48d0f1a..e44873d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@
            -
            -# Digital IDE - version 0.3.3 +### Digital IDE
            +All in one vscode plugin for Verilog/VHDL development + +
            + +[Document (New)](https://sterben.nitcloud.cn/) | [中文文档 (New)](https://sterben.nitcloud.cn/zh/) | [Bilibili Video](https://www.bilibili.com/video/BV1t14y1179V/?spm_id_from=333.999.0.0) ![](https://img.shields.io/badge/version-0.3.3-blue) ![](https://img.shields.io/badge/engine-wasm-blue) @@ -10,12 +14,24 @@ ![](https://img.shields.io/badge/VHDL-support-green) ![](https://img.shields.io/badge/SystemVerilog-building-black) -- [Document (New)](https://sterben.nitcloud.cn/) -- [中文文档 (New)](https://sterben.nitcloud.cn/zh/) -- [Video](https://www.bilibili.com/video/BV1t14y1179V/?spm_id_from=333.999.0.0) + + +## 0.4.0 新增内容 + +**使用 Rust 重写全新的解析器与语言服务**:支持 verilog, vhdl, system verilog,性能更快,服务更加稳定。 + +![](./figures/lsp.png) + +**修缮内容的文档化**:提供更加直接快速的,关于当前 HDL 文件的基本信息和依赖信息。支持 wavedrom 风格的注释并支持将其渲染成可视化的图表。 + +![](./figures/doc.png) + +**新增内容的 Vcd 渲染器**:增加顶部工具栏、系统信标等组件;支持左侧面板选定信号的拖拽、分组等功能、支持按住 shift 连续选中一片信号并进行增加和删除操作;支持基于系统信标建立相对坐标系。 + +![](./figures/vcd.png) ---- +- 全新的 Netlist 渲染器 ## Feature - 增加对于 vhdl 的 全面支持(文件树、LSP等) @@ -35,19 +51,3 @@ - 修复 iverilog 仿真功能中,将重复的路径作为编译参数编译的 bug - 修复 iverilog 仿真功能中,将 `include 加入或去除后,无法通过仿真编译的 bug (没有更新 instance 的 instModPathStatus 属性) - 修复其他已知 bug - ---- - -## develop - -```bash -python script/command/make_package.py -<<<<<<< HEAD -``` - -## library更新 - -library的更新不会随着Digital-IDE的git一起保存,是专门去拉取更新的,但是打包要一起打包进插件之中。 -======= -``` ->>>>>>> 199b7a8af3ea01baea4b20c89273a490dc0dc9d2 diff --git a/figures/doc.png b/figures/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..987680a6aa74ee19fa4d40aef541e9be9d030e55 GIT binary patch literal 556679 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
            +GN{^PEN8ie5FDje+oA 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 Oo1FA}sZz-g{{I0Q<@446 literal 0 HcmV?d00001 diff --git a/figures/lsp.png b/figures/lsp.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3abe70738aff1106e42f999b80387a3e2ae888 GIT binary patch literal 414416 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

            kHs-4N&+5P$?QcD!r6D+;uaC`q(d3Lkq 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

            M|+y2iW&f(r?8}7Yxn6%@2uo$4w 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%0AxO^ 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

            KuKxrPcaLrqEq02*7upqN4kLbh2O? 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

            Pp}IpDX@RGTv4qrL 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ʬuBbhIQ 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 G4Ei6{p4_nj literal 0 HcmV?d00001 diff --git a/figures/vcd.png b/figures/vcd.png new file mode 100644 index 0000000000000000000000000000000000000000..137e14dade9867ba203290b16317a94221c3cae2 GIT binary patch literal 579327 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%0AAf0JSlyvQ>7QEhCgfiyWjh8 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%0A3XMBd{PNsdw{0fcNcvw%bmVI< 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 WxmlS!txqMod^DcvJ}rA<8}eTQxutdh literal 0 HcmV?d00001 From 46674383afa404068c74a49e9bc9bd05d64472b1 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 16:25:45 +0800 Subject: [PATCH 034/107] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e44873d..3748b6f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ -

            +
            -### Digital IDE
            -All in one vscode plugin for Verilog/VHDL development +## Digital IDE | All in one vscode plugin for Verilog/VHDL development -
            [Document (New)](https://sterben.nitcloud.cn/) | [中文文档 (New)](https://sterben.nitcloud.cn/zh/) | [Bilibili Video](https://www.bilibili.com/video/BV1t14y1179V/?spm_id_from=333.999.0.0) @@ -14,7 +12,7 @@ All in one vscode plugin for Verilog/VHDL development ![](https://img.shields.io/badge/VHDL-support-green) ![](https://img.shields.io/badge/SystemVerilog-building-black) -
            + ## 0.4.0 新增内容 From 099dc48d1c622809e3cd641968ecae97dc9a58fa Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 16:28:28 +0800 Subject: [PATCH 035/107] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++--- script/command/make_package.py | 3 --- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3748b6f..095bbe7 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,10 @@ [Document (New)](https://sterben.nitcloud.cn/) | [中文文档 (New)](https://sterben.nitcloud.cn/zh/) | [Bilibili Video](https://www.bilibili.com/video/BV1t14y1179V/?spm_id_from=333.999.0.0) -![](https://img.shields.io/badge/version-0.3.3-blue) -![](https://img.shields.io/badge/engine-wasm-blue) +![](https://img.shields.io/badge/version-0.4.4-purple) ![](https://img.shields.io/badge/Verilog-support-green) ![](https://img.shields.io/badge/VHDL-support-green) -![](https://img.shields.io/badge/SystemVerilog-building-black) +![](https://img.shields.io/badge/SystemVerilog-support-green) diff --git a/script/command/make_package.py b/script/command/make_package.py index 0f2dab3..60dc38b 100644 --- a/script/command/make_package.py +++ b/script/command/make_package.py @@ -68,12 +68,9 @@ def modify_vsix(): # move wasm copy_dir('./resources/netlist/resources/kernel', os.path.join(extract_folder, 'extension', 'resources', 'kernel')) - copy_dir('./resources/fsm/resources/tree-sitter', os.path.join(extract_folder, 'extension', 'resources', 'tree-sitter')) - copy_file('./resources/hdlParser/parser.wasm', os.path.join(extract_folder, 'extension', 'out', 'parser.wasm')) # webview - copy_dir('./resources/fsm/view', os.path.join(extract_folder, 'extension', 'resources', 'fsm', 'view')) copy_dir('./resources/netlist/view', os.path.join(extract_folder, 'extension', 'resources', 'netlist', 'view')) copy_dir('./resources/dide-viewer/view', os.path.join(extract_folder, 'extension', 'resources', 'dide-viewer', 'view')) From cc3d8fcfba9aaf433c3fec6f56d7f5c35a076752 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 16:33:12 +0800 Subject: [PATCH 036/107] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 095bbe7..201ca42 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [Document (New)](https://sterben.nitcloud.cn/) | [中文文档 (New)](https://sterben.nitcloud.cn/zh/) | [Bilibili Video](https://www.bilibili.com/video/BV1t14y1179V/?spm_id_from=333.999.0.0) -![](https://img.shields.io/badge/version-0.4.4-purple) +![](https://img.shields.io/badge/version-0.4.0-purple) ![](https://img.shields.io/badge/Verilog-support-green) ![](https://img.shields.io/badge/VHDL-support-green) ![](https://img.shields.io/badge/SystemVerilog-support-green) @@ -23,7 +23,7 @@ ![](./figures/doc.png) -**新增内容的 Vcd 渲染器**:增加顶部工具栏、系统信标等组件;支持左侧面板选定信号的拖拽、分组等功能、支持按住 shift 连续选中一片信号并进行增加和删除操作;支持基于系统信标建立相对坐标系。 +**新增内容的 Vcd 渲染器**:增加顶部工具栏、系统信标等组件;支持左侧面板选定信号的拖拽、分组等功能、支持按住 shift 连续选中一片信号并进行增加和删除操作;支持基于系统信标建立相对坐标系;顶部工具栏支持选中信号的显示数字的进制转换,渲染模态切换,支持将信号渲染为模拟量。 ![](./figures/vcd.png) From 67aaa39dfe1df252949289f94f16580a31ee80e2 Mon Sep 17 00:00:00 2001 From: LSTM-Kirigaya <1193466151@qq.com> Date: Tue, 31 Dec 2024 23:43:50 +0800 Subject: [PATCH 037/107] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=96=B0=E7=9A=84=20?= =?UTF-8?q?netlist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + l10n/bundle.l10n.de.json | 6 +- l10n/bundle.l10n.en.json | 6 +- l10n/bundle.l10n.ja.json | 6 +- l10n/bundle.l10n.zh-cn.json | 6 +- l10n/bundle.l10n.zh-tw.json | 6 +- package.json | 15 + package.nls.de.json | 6 +- package.nls.ja.json | 6 +- package.nls.json | 6 +- package.nls.zh-cn.json | 6 +- package.nls.zh-tw.json | 6 +- project/property-init.json | 1 - resources/dide-netlist/README.md | 7 + resources/netlist/index.d.ts | 28 - resources/netlist/index.js | 151 - .../netlist/resources/kernel/kernel.wasm | Bin 11540570 -> 0 bytes .../netlist/resources/kernel/share/abc9_map.v | 27 - .../resources/kernel/share/abc9_model.v | 29 - .../resources/kernel/share/abc9_unmap.v | 16 - .../share/achronix/speedster22i/cells_map.v | 73 - .../share/achronix/speedster22i/cells_sim.v | 79 - .../netlist/resources/kernel/share/adff2dff.v | 30 - .../kernel/share/anlogic/arith_map.v | 93 - .../resources/kernel/share/anlogic/brams.txt | 69 - .../kernel/share/anlogic/brams_map.v | 474 - .../kernel/share/anlogic/cells_map.v | 48 - .../kernel/share/anlogic/cells_sim.v | 191 - .../resources/kernel/share/anlogic/eagle_bb.v | 1028 - .../kernel/share/anlogic/lutrams.txt | 12 - .../kernel/share/anlogic/lutrams_map.v | 32 - .../netlist/resources/kernel/share/cells.lib | 108 - .../netlist/resources/kernel/share/cmp2lcu.v | 129 - .../netlist/resources/kernel/share/cmp2lut.v | 98 - .../share/coolrunner2/cells_counter_map.v | 162 - .../kernel/share/coolrunner2/cells_latch.v | 19 - .../kernel/share/coolrunner2/cells_sim.v | 310 - .../kernel/share/coolrunner2/tff_extract.v | 41 - .../kernel/share/coolrunner2/xc2_dff.lib | 31 - .../netlist/resources/kernel/share/dff2ff.v | 16 - .../resources/kernel/share/ecp5/arith_map.v | 90 - .../resources/kernel/share/ecp5/brams.txt | 52 - .../resources/kernel/share/ecp5/brams_map.v | 489 - .../resources/kernel/share/ecp5/cells_bb.v | 832 - .../resources/kernel/share/ecp5/cells_ff.vh | 40 - .../resources/kernel/share/ecp5/cells_io.vh | 14 - .../resources/kernel/share/ecp5/cells_map.v | 191 - .../resources/kernel/share/ecp5/cells_sim.v | 810 - .../resources/kernel/share/ecp5/dsp_map.v | 17 - .../resources/kernel/share/ecp5/latches_map.v | 11 - .../resources/kernel/share/ecp5/lutrams.txt | 12 - .../resources/kernel/share/ecp5/lutrams_map.v | 30 - .../resources/kernel/share/efinix/arith_map.v | 88 - .../resources/kernel/share/efinix/brams.txt | 19 - .../resources/kernel/share/efinix/brams_map.v | 149 - .../resources/kernel/share/efinix/cells_map.v | 96 - .../resources/kernel/share/efinix/cells_sim.v | 179 - .../resources/kernel/share/efinix/gbuf_map.v | 3 - .../netlist/resources/kernel/share/gate2lut.v | 87 - .../kernel/share/gatemate/arith_map.v | 69 - .../resources/kernel/share/gatemate/brams.txt | 80 - .../kernel/share/gatemate/brams_init_20.vh | 64 - .../kernel/share/gatemate/brams_init_40.vh | 260 - .../kernel/share/gatemate/brams_map.v | 882 - .../kernel/share/gatemate/cells_bb.v | 191 - .../kernel/share/gatemate/cells_sim.v | 1455 - .../resources/kernel/share/gatemate/inv_map.v | 4 - .../resources/kernel/share/gatemate/lut_map.v | 45 - .../share/gatemate/lut_tree_cells.genlib | 221 - .../kernel/share/gatemate/lut_tree_map.v | 822 - .../resources/kernel/share/gatemate/mul_map.v | 77 - .../resources/kernel/share/gatemate/mux_map.v | 56 - .../resources/kernel/share/gatemate/reg_map.v | 45 - .../resources/kernel/share/gowin/arith_map.v | 67 - .../resources/kernel/share/gowin/brams.txt | 81 - .../resources/kernel/share/gowin/brams_map.v | 410 - .../resources/kernel/share/gowin/cells_map.v | 177 - .../resources/kernel/share/gowin/cells_sim.v | 1587 - .../resources/kernel/share/gowin/lutrams.txt | 13 - .../kernel/share/gowin/lutrams_map.v | 65 - .../kernel/share/greenpak4/cells_blackbox.v | 18 - .../kernel/share/greenpak4/cells_latch.v | 15 - .../kernel/share/greenpak4/cells_map.v | 261 - .../kernel/share/greenpak4/cells_sim.v | 5 - .../kernel/share/greenpak4/cells_sim_ams.v | 110 - .../share/greenpak4/cells_sim_digital.v | 794 - .../kernel/share/greenpak4/cells_sim_wip.v | 136 - .../kernel/share/greenpak4/gp_dff.lib | 36 - .../resources/kernel/share/ice40/abc9_model.v | 86 - .../resources/kernel/share/ice40/arith_map.v | 75 - .../resources/kernel/share/ice40/brams.txt | 23 - .../resources/kernel/share/ice40/brams_map.v | 218 - .../resources/kernel/share/ice40/cells_map.v | 32 - .../resources/kernel/share/ice40/cells_sim.v | 3502 -- .../resources/kernel/share/ice40/dsp_map.v | 34 - .../resources/kernel/share/ice40/ff_map.v | 25 - .../kernel/share/ice40/latches_map.v | 11 - .../resources/kernel/share/ice40/spram.txt | 12 - .../resources/kernel/share/ice40/spram_map.v | 24 - .../share/include/backends/cxxrtl/cxxrtl.h | 1616 - .../include/backends/cxxrtl/cxxrtl_capi.cc | 92 - .../include/backends/cxxrtl/cxxrtl_capi.h | 311 - .../include/backends/cxxrtl/cxxrtl_vcd.h | 275 - .../backends/cxxrtl/cxxrtl_vcd_capi.cc | 83 - .../include/backends/cxxrtl/cxxrtl_vcd_capi.h | 107 - .../include/backends/rtlil/rtlil_backend.h | 51 - .../kernel/share/include/frontends/ast/ast.h | 425 - .../share/include/frontends/ast/ast_binding.h | 58 - .../share/include/frontends/blif/blifparse.h | 32 - .../kernel/share/include/kernel/binding.h | 60 - .../kernel/share/include/kernel/celledges.h | 63 - .../kernel/share/include/kernel/celltypes.h | 527 - .../kernel/share/include/kernel/consteval.h | 425 - .../kernel/share/include/kernel/constids.inc | 263 - .../kernel/share/include/kernel/ff.h | 224 - .../kernel/share/include/kernel/ffinit.h | 140 - .../kernel/share/include/kernel/hashlib.h | 1191 - .../kernel/share/include/kernel/log.h | 467 - .../kernel/share/include/kernel/macc.h | 240 - .../kernel/share/include/kernel/mem.h | 229 - .../kernel/share/include/kernel/modtools.h | 579 - .../kernel/share/include/kernel/qcsat.h | 76 - .../kernel/share/include/kernel/register.h | 138 - .../kernel/share/include/kernel/rtlil.h | 1805 - .../kernel/share/include/kernel/satgen.h | 294 - .../kernel/share/include/kernel/sigtools.h | 347 - .../kernel/share/include/kernel/utils.h | 214 - .../kernel/share/include/kernel/yosys.h | 381 - .../share/include/libs/ezsat/ezminisat.h | 71 - .../kernel/share/include/libs/ezsat/ezsat.h | 359 - .../share/include/libs/json11/json11.hpp | 232 - .../kernel/share/include/libs/sha1/sha1.h | 57 - .../kernel/share/include/passes/fsm/fsmdata.h | 178 - .../kernel/share/intel/common/altpll_bb.v | 366 - .../kernel/share/intel/common/brams_m9k.txt | 33 - .../kernel/share/intel/common/brams_map_m9k.v | 93 - .../kernel/share/intel/common/ff_map.v | 11 - .../kernel/share/intel/common/m9k_bb.v | 70 - .../share/intel/cyclone10lp/cells_map.v | 75 - .../share/intel/cyclone10lp/cells_sim.v | 137 - .../kernel/share/intel/cycloneiv/cells_map.v | 59 - .../kernel/share/intel/cycloneiv/cells_sim.v | 299 - .../kernel/share/intel/cycloneive/cells_map.v | 75 - .../kernel/share/intel/cycloneive/cells_sim.v | 292 - .../kernel/share/intel/max10/cells_map.v | 59 - .../kernel/share/intel/max10/cells_sim.v | 292 - .../kernel/share/intel_alm/common/abc9_map.v | 18 - .../share/intel_alm/common/abc9_model.v | 10 - .../share/intel_alm/common/abc9_unmap.v | 11 - .../kernel/share/intel_alm/common/alm_map.v | 57 - .../kernel/share/intel_alm/common/alm_sim.v | 633 - .../share/intel_alm/common/arith_alm_map.v | 71 - .../share/intel_alm/common/bram_m10k.txt | 27 - .../share/intel_alm/common/bram_m10k_map.v | 16 - .../share/intel_alm/common/bram_m20k.txt | 33 - .../share/intel_alm/common/bram_m20k_map.v | 31 - .../kernel/share/intel_alm/common/dff_map.v | 13 - .../kernel/share/intel_alm/common/dff_sim.v | 131 - .../kernel/share/intel_alm/common/dsp_map.v | 51 - .../kernel/share/intel_alm/common/dsp_sim.v | 130 - .../share/intel_alm/common/lutram_mlab.txt | 18 - .../share/intel_alm/common/megafunction_bb.v | 717 - .../kernel/share/intel_alm/common/mem_sim.v | 155 - .../kernel/share/intel_alm/common/misc_sim.v | 21 - .../share/intel_alm/common/quartus_rename.v | 311 - .../share/intel_alm/cyclonev/cells_sim.v | 168 - .../resources/kernel/share/machxo2/brams.txt | 50 - .../kernel/share/machxo2/brams_map.v | 337 - .../kernel/share/machxo2/cells_map.v | 34 - .../kernel/share/machxo2/cells_sim.v | 333 - .../kernel/share/machxo2/lutrams.txt | 12 - .../kernel/share/machxo2/lutrams_map.v | 23 - .../netlist/resources/kernel/share/mul2dsp.v | 318 - .../resources/kernel/share/nexus/arith_map.v | 99 - .../resources/kernel/share/nexus/brams.txt | 47 - .../resources/kernel/share/nexus/brams_map.v | 420 - .../resources/kernel/share/nexus/cells_map.v | 98 - .../resources/kernel/share/nexus/cells_sim.v | 1058 - .../resources/kernel/share/nexus/cells_xtra.v | 10389 ----- .../resources/kernel/share/nexus/dsp_map.v | 79 - .../kernel/share/nexus/latches_map.v | 11 - .../resources/kernel/share/nexus/lrams.txt | 21 - .../resources/kernel/share/nexus/lrams_map.v | 194 - .../resources/kernel/share/nexus/lutrams.txt | 12 - .../kernel/share/nexus/lutrams_map.v | 23 - .../kernel/share/nexus/parse_init.vh | 33 - .../netlist/resources/kernel/share/pmux2mux.v | 21 - .../kernel/share/quicklogic/abc9_map.v | 26 - .../kernel/share/quicklogic/abc9_model.v | 11 - .../kernel/share/quicklogic/abc9_unmap.v | 14 - .../kernel/share/quicklogic/cells_sim.v | 36 - .../kernel/share/quicklogic/lut_sim.v | 76 - .../kernel/share/quicklogic/pp3_cells_map.v | 36 - .../kernel/share/quicklogic/pp3_cells_sim.v | 329 - .../kernel/share/quicklogic/pp3_ffs_map.v | 4 - .../kernel/share/quicklogic/pp3_latches_map.v | 11 - .../kernel/share/quicklogic/pp3_lut_map.v | 53 - .../resources/kernel/share/sf2/arith_map.v | 69 - .../resources/kernel/share/sf2/cells_map.v | 51 - .../resources/kernel/share/sf2/cells_sim.v | 579 - .../netlist/resources/kernel/share/simcells.v | 3609 -- .../netlist/resources/kernel/share/simlib.v | 2610 -- .../netlist/resources/kernel/share/techmap.v | 648 - .../kernel/share/xilinx/abc9_model.v | 39 - .../resources/kernel/share/xilinx/arith_map.v | 202 - .../kernel/share/xilinx/brams_defs.vh | 561 - .../kernel/share/xilinx/brams_xc2v.txt | 33 - .../kernel/share/xilinx/brams_xc2v_map.v | 532 - .../kernel/share/xilinx/brams_xc3sda.txt | 120 - .../kernel/share/xilinx/brams_xc3sda_map.v | 224 - .../kernel/share/xilinx/brams_xc4v.txt | 169 - .../kernel/share/xilinx/brams_xc4v_map.v | 149 - .../kernel/share/xilinx/brams_xc5v_map.v | 255 - .../kernel/share/xilinx/brams_xc6v_map.v | 284 - .../kernel/share/xilinx/brams_xcu_map.v | 225 - .../kernel/share/xilinx/brams_xcv.txt | 17 - .../kernel/share/xilinx/brams_xcv_map.v | 257 - .../resources/kernel/share/xilinx/cells_map.v | 361 - .../resources/kernel/share/xilinx/cells_sim.v | 4392 -- .../kernel/share/xilinx/cells_xtra.v | 34115 -------------- .../resources/kernel/share/xilinx/ff_map.v | 120 - .../resources/kernel/share/xilinx/lut_map.v | 101 - .../kernel/share/xilinx/lutrams_xc5v.txt | 100 - .../kernel/share/xilinx/lutrams_xc5v_map.v | 901 - .../kernel/share/xilinx/lutrams_xcu.txt | 162 - .../kernel/share/xilinx/lutrams_xcv.txt | 59 - .../kernel/share/xilinx/lutrams_xcv_map.v | 177 - .../resources/kernel/share/xilinx/mux_map.v | 74 - .../resources/kernel/share/xilinx/urams.txt | 37 - .../resources/kernel/share/xilinx/urams_map.v | 152 - .../kernel/share/xilinx/xc3s_mult_map.v | 14 - .../kernel/share/xilinx/xc3sda_dsp_map.v | 34 - .../kernel/share/xilinx/xc4v_dsp_map.v | 38 - .../kernel/share/xilinx/xc5v_dsp_map.v | 45 - .../kernel/share/xilinx/xc6s_dsp_map.v | 35 - .../kernel/share/xilinx/xc7_dsp_map.v | 50 - .../kernel/share/xilinx/xcu_dsp_map.v | 51 - resources/netlist/utils/kernel.js | 53 - resources/netlist/utils/vrfs.js | 239 - resources/netlist/view/netlist_view.js | 36757 ---------------- resources/netlist/view/netlist_viewer.html | 178 - resources/netlist/view/render.js | 230 - resources/public/elk.bundled.js | 6123 --- resources/public/full.render.js | 90 - resources/public/index.min.js | 1 - resources/public/jquery-2.2.4.min.js | 4 - resources/public/jquery.ztree.core.min.js | 1 - resources/public/svg-pan-zoom.min.js | 3 - resources/public/viz.js | 1302 - src/function/index.ts | 4 +- src/function/netlist/index.ts | 198 +- tsconfig.json | 4 +- 252 files changed, 217 insertions(+), 145597 deletions(-) create mode 100644 resources/dide-netlist/README.md delete mode 100644 resources/netlist/index.d.ts delete mode 100644 resources/netlist/index.js delete mode 100644 resources/netlist/resources/kernel/kernel.wasm delete mode 100644 resources/netlist/resources/kernel/share/abc9_map.v delete mode 100644 resources/netlist/resources/kernel/share/abc9_model.v delete mode 100644 resources/netlist/resources/kernel/share/abc9_unmap.v delete mode 100644 resources/netlist/resources/kernel/share/achronix/speedster22i/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/achronix/speedster22i/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/adff2dff.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/anlogic/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/eagle_bb.v delete mode 100644 resources/netlist/resources/kernel/share/anlogic/lutrams.txt delete mode 100644 resources/netlist/resources/kernel/share/anlogic/lutrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/cells.lib delete mode 100644 resources/netlist/resources/kernel/share/cmp2lcu.v delete mode 100644 resources/netlist/resources/kernel/share/cmp2lut.v delete mode 100644 resources/netlist/resources/kernel/share/coolrunner2/cells_counter_map.v delete mode 100644 resources/netlist/resources/kernel/share/coolrunner2/cells_latch.v delete mode 100644 resources/netlist/resources/kernel/share/coolrunner2/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/coolrunner2/tff_extract.v delete mode 100644 resources/netlist/resources/kernel/share/coolrunner2/xc2_dff.lib delete mode 100644 resources/netlist/resources/kernel/share/dff2ff.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/ecp5/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/cells_bb.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/cells_ff.vh delete mode 100644 resources/netlist/resources/kernel/share/ecp5/cells_io.vh delete mode 100644 resources/netlist/resources/kernel/share/ecp5/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/latches_map.v delete mode 100644 resources/netlist/resources/kernel/share/ecp5/lutrams.txt delete mode 100644 resources/netlist/resources/kernel/share/ecp5/lutrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/efinix/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/efinix/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/efinix/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/efinix/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/efinix/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/efinix/gbuf_map.v delete mode 100644 resources/netlist/resources/kernel/share/gate2lut.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/gatemate/brams_init_20.vh delete mode 100644 resources/netlist/resources/kernel/share/gatemate/brams_init_40.vh delete mode 100644 resources/netlist/resources/kernel/share/gatemate/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/cells_bb.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/inv_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/lut_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/lut_tree_cells.genlib delete mode 100644 resources/netlist/resources/kernel/share/gatemate/lut_tree_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/mul_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/mux_map.v delete mode 100644 resources/netlist/resources/kernel/share/gatemate/reg_map.v delete mode 100644 resources/netlist/resources/kernel/share/gowin/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/gowin/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/gowin/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/gowin/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/gowin/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/gowin/lutrams.txt delete mode 100644 resources/netlist/resources/kernel/share/gowin/lutrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_blackbox.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_latch.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_sim_ams.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_sim_digital.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/cells_sim_wip.v delete mode 100644 resources/netlist/resources/kernel/share/greenpak4/gp_dff.lib delete mode 100644 resources/netlist/resources/kernel/share/ice40/abc9_model.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/ice40/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/ff_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/latches_map.v delete mode 100644 resources/netlist/resources/kernel/share/ice40/spram.txt delete mode 100644 resources/netlist/resources/kernel/share/ice40/spram_map.v delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl.h delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl_capi.cc delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl_capi.h delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl_vcd.h delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl_vcd_capi.cc delete mode 100644 resources/netlist/resources/kernel/share/include/backends/cxxrtl/cxxrtl_vcd_capi.h delete mode 100644 resources/netlist/resources/kernel/share/include/backends/rtlil/rtlil_backend.h delete mode 100644 resources/netlist/resources/kernel/share/include/frontends/ast/ast.h delete mode 100644 resources/netlist/resources/kernel/share/include/frontends/ast/ast_binding.h delete mode 100644 resources/netlist/resources/kernel/share/include/frontends/blif/blifparse.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/binding.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/celledges.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/celltypes.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/consteval.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/constids.inc delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/ff.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/ffinit.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/hashlib.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/log.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/macc.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/mem.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/modtools.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/qcsat.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/register.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/rtlil.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/satgen.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/sigtools.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/utils.h delete mode 100644 resources/netlist/resources/kernel/share/include/kernel/yosys.h delete mode 100644 resources/netlist/resources/kernel/share/include/libs/ezsat/ezminisat.h delete mode 100644 resources/netlist/resources/kernel/share/include/libs/ezsat/ezsat.h delete mode 100644 resources/netlist/resources/kernel/share/include/libs/json11/json11.hpp delete mode 100644 resources/netlist/resources/kernel/share/include/libs/sha1/sha1.h delete mode 100644 resources/netlist/resources/kernel/share/include/passes/fsm/fsmdata.h delete mode 100644 resources/netlist/resources/kernel/share/intel/common/altpll_bb.v delete mode 100644 resources/netlist/resources/kernel/share/intel/common/brams_m9k.txt delete mode 100644 resources/netlist/resources/kernel/share/intel/common/brams_map_m9k.v delete mode 100644 resources/netlist/resources/kernel/share/intel/common/ff_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel/common/m9k_bb.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cyclone10lp/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cyclone10lp/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cycloneiv/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cycloneiv/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cycloneive/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel/cycloneive/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel/max10/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel/max10/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/abc9_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/abc9_model.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/abc9_unmap.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/alm_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/alm_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/arith_alm_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/bram_m10k.txt delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/bram_m10k_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/bram_m20k.txt delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/bram_m20k_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/dff_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/dff_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/dsp_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/lutram_mlab.txt delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/megafunction_bb.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/mem_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/misc_sim.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/common/quartus_rename.v delete mode 100644 resources/netlist/resources/kernel/share/intel_alm/cyclonev/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/machxo2/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/machxo2/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/machxo2/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/machxo2/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/machxo2/lutrams.txt delete mode 100644 resources/netlist/resources/kernel/share/machxo2/lutrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/mul2dsp.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/brams.txt delete mode 100644 resources/netlist/resources/kernel/share/nexus/brams_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/cells_xtra.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/latches_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/lrams.txt delete mode 100644 resources/netlist/resources/kernel/share/nexus/lrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/lutrams.txt delete mode 100644 resources/netlist/resources/kernel/share/nexus/lutrams_map.v delete mode 100644 resources/netlist/resources/kernel/share/nexus/parse_init.vh delete mode 100644 resources/netlist/resources/kernel/share/pmux2mux.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/abc9_map.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/abc9_model.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/abc9_unmap.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/lut_sim.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/pp3_cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/pp3_cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/pp3_ffs_map.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/pp3_latches_map.v delete mode 100644 resources/netlist/resources/kernel/share/quicklogic/pp3_lut_map.v delete mode 100644 resources/netlist/resources/kernel/share/sf2/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/sf2/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/sf2/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/simcells.v delete mode 100644 resources/netlist/resources/kernel/share/simlib.v delete mode 100644 resources/netlist/resources/kernel/share/techmap.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/abc9_model.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/arith_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_defs.vh delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc2v.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc2v_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc3sda.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc3sda_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc4v.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc4v_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc5v_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xc6v_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xcu_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xcv.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/brams_xcv_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/cells_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/cells_sim.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/cells_xtra.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/ff_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lut_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lutrams_xc5v.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lutrams_xc5v_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lutrams_xcu.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lutrams_xcv.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/lutrams_xcv_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/mux_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/urams.txt delete mode 100644 resources/netlist/resources/kernel/share/xilinx/urams_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc3s_mult_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc3sda_dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc4v_dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc5v_dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc6s_dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xc7_dsp_map.v delete mode 100644 resources/netlist/resources/kernel/share/xilinx/xcu_dsp_map.v delete mode 100644 resources/netlist/utils/kernel.js delete mode 100644 resources/netlist/utils/vrfs.js delete mode 100644 resources/netlist/view/netlist_view.js delete mode 100644 resources/netlist/view/netlist_viewer.html delete mode 100644 resources/netlist/view/render.js delete mode 100644 resources/public/elk.bundled.js delete mode 100644 resources/public/full.render.js delete mode 100644 resources/public/index.min.js delete mode 100644 resources/public/jquery-2.2.4.min.js delete mode 100644 resources/public/jquery.ztree.core.min.js delete mode 100644 resources/public/svg-pan-zoom.min.js delete mode 100644 resources/public/viz.js diff --git a/.gitignore b/.gitignore index 995ed11..9cea682 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ resources/hdlParser/parser.wasm resources/dide-viewer/view/* resources/dide-lsp/server/* resources/dide-lsp/static/* +resources/dide-netlist/static/* \ No newline at end of file diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index 1385094..752db82 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -96,5 +96,9 @@ "warning.linter.cannot-get-valid-linter-invoker": "Die digitale IDE kann keinen Aufrufpfad für {0} abrufen. Bitte installieren Sie den entsprechenden Diagnose-Tool und konfigurieren Sie ihn entweder in der Umgebungsvariablen PATH oder im digitalen IDE-Diagnosetool-Installationspfad.", "info.linter.config-linter-install-path": "Installationsverzeichnis konfigurieren", "info.progress.doing-diagnostic": "Diagnostizierung", - "error.common.fail-to-launch-lsp": "Start des Sprachservers fehlgeschlagen!" + "error.common.fail-to-launch-lsp": "Start des Sprachservers fehlgeschlagen!", + "info.netlist.launch-netlist": "Netlist wird gestartet", + "info.netlist.not-found-payload": "Die Lastressource des Netlists konnte nicht gefunden werden. Bitte überprüfen Sie, ob das Installationsverzeichnis beschädigt ist!", + "info.netlist.not-support-vhdl": "Das aktuelle Netlist unterstützt vorübergehend kein VHDL und andere Sprachen!", + "info.netlist.generate-network": "Netzwerktopologie wird generiert" } \ No newline at end of file diff --git a/l10n/bundle.l10n.en.json b/l10n/bundle.l10n.en.json index a48a8f2..2d2eb9b 100644 --- a/l10n/bundle.l10n.en.json +++ b/l10n/bundle.l10n.en.json @@ -96,5 +96,9 @@ "warning.linter.cannot-get-valid-linter-invoker": "The Digital IDE cannot retrieve the call path for {0}. Please install the corresponding diagnostic tool and configure it either in the environment variable PATH or in the Digital IDE's diagnostic tool installation path.", "info.linter.config-linter-install-path": "Configure installation directory", "info.progress.doing-diagnostic": "Diagnosing", - "error.common.fail-to-launch-lsp": "Language server startup failed!" + "error.common.fail-to-launch-lsp": "Language server startup failed!", + "info.netlist.launch-netlist": "Starting Netlist", + "info.netlist.not-found-payload": "Unable to find the load resource of the netlist, please check if the installation directory is corrupted!", + "info.netlist.not-support-vhdl": "The current netlist temporarily does not support VHDL and other languages!", + "info.netlist.generate-network": "Generating network topology" } \ No newline at end of file diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index a5bf450..7257a47 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -96,5 +96,9 @@ "warning.linter.cannot-get-valid-linter-invoker": "デジタルIDEは{0}の呼び出しパスを取得できません。対応する診断ツールをインストールし、環境変数PATHに設定するか、デジタルIDEの診断ツールインストールパスを設定してください。", "info.linter.config-linter-install-path": "インストールディレクトリを設定", "info.progress.doing-diagnostic": "診断中", - "error.common.fail-to-launch-lsp": "言語サーバーの起動に失敗しました!" + "error.common.fail-to-launch-lsp": "言語サーバーの起動に失敗しました!", + "info.netlist.launch-netlist": "Netlistを起動中", + "info.netlist.not-found-payload": "ネットリストのロードリソースが見つかりません。インストールディレクトリが破損していないか確認してください!", + "info.netlist.not-support-vhdl": "現在のネットリストは一時的にVHDLやその他の言語をサポートしていません!", + "info.netlist.generate-network": "ネットワークトポロジを生成中" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index e063f47..4176b2e 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -96,5 +96,9 @@ "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 无法获取到关于 {0} 的调用路径,请安装对应诊断器后,配置到环境变量 PATH 或者配置 Digital IDE 对应的诊断工具安装路径", "info.linter.config-linter-install-path": "配置安装目录", "info.progress.doing-diagnostic": "诊断中", - "error.common.fail-to-launch-lsp": "语言服务器启动失败!" + "error.common.fail-to-launch-lsp": "语言服务器启动失败!", + "info.netlist.launch-netlist": "正在启动 Netlist", + "info.netlist.not-found-payload": "无法找到 netlist 的负载资源,请检查安装目录是否损坏!", + "info.netlist.not-support-vhdl": "当前 netlist 暂时不支持 VHDL 和其他语言!", + "info.netlist.generate-network": "正在生成网络拓扑" } \ No newline at end of file diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 9ca7fe1..2f4a3e8 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -96,5 +96,9 @@ "warning.linter.cannot-get-valid-linter-invoker": "Digital IDE 無法取得關於 {0} 的呼叫路徑,請安裝對應診斷器後,配置到環境變數 PATH 或者配置 Digital IDE 對應的診斷工具安裝路徑。", "info.linter.config-linter-install-path": "配置安裝目錄", "info.progress.doing-diagnostic": "診斷中", - "error.common.fail-to-launch-lsp": "語言伺服器啟動失敗!" + "error.common.fail-to-launch-lsp": "語言伺服器啟動失敗!", + "info.netlist.launch-netlist": "正在啟動Netlist", + "info.netlist.not-found-payload": "無法找到 netlist 的負載資源,請檢查安裝目錄是否損壞!", + "info.netlist.not-support-vhdl": "當前 netlist 暫時不支援 VHDL 和其他語言!", + "info.netlist.generate-network": "正在生成網路拓撲" } \ No newline at end of file diff --git a/package.json b/package.json index 1037d45..deeb701 100644 --- a/package.json +++ b/package.json @@ -333,6 +333,21 @@ "type": "integer", "default": 1, "description": "%digital-ide.function.lsp.file-parse-maxsize.title%" + }, + "digital-ide.function.netlist.schema-mode": { + "type": "string", + "default": "before", + "enum": [ + "before", + "after", + "RTL" + ], + "enumDescriptions": [ + "%digital-ide.function.netlist.schema-mode.0.title%", + "%digital-ide.function.netlist.schema-mode.1.title%", + "%digital-ide.function.netlist.schema-mode.2.title%" + ], + "description": "%digital-ide.function.netlist.schema-mode.title%" } } }, diff --git a/package.nls.de.json b/package.nls.de.json index 924029e..306dba2 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -100,5 +100,9 @@ "digital-ide.function.lsp.linter.mode.2.title": "Global deaktiviert, d.h. für das gesamte Projekt werden keine Projektfehler gemeldet.", "digital-ide.function.lsp.linter.linter-level.title": "Diagnoselevel-Einstellungen des Linters", "digital-ide.function.lsp.linter.linter-level.error.title": "Nur Fehler anzeigen", - "digital-ide.function.lsp.linter.linter-level.warning.title": "Fehler und Warnungen anzeigen" + "digital-ide.function.lsp.linter.linter-level.warning.title": "Fehler und Warnungen anzeigen", + "%digital-ide.function.netlist.schema-mode.title%": "Netlist-Synthesemodus auswählen", + "%digital-ide.function.netlist.schema-mode.0.title%": "Prä-Verhaltenssynthese", + "%digital-ide.function.netlist.schema-mode.1.title%": "Post-Verhaltenssynthese", + "%digital-ide.function.netlist.schema-mode.2.title%": "Post-RTL-Synthese" } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index 9ca105b..6422cad 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -100,5 +100,9 @@ "digital-ide.function.lsp.linter.mode.2.title": "グローバルに無効化され、プロジェクト全体でプロジェクトエラーが報告されません。", "digital-ide.function.lsp.linter.linter-level.title": "診断器の診断レベル設定", "digital-ide.function.lsp.linter.linter-level.error.title": "エラーのみ表示", - "digital-ide.function.lsp.linter.linter-level.warning.title": "エラーと警告を表示" + "digital-ide.function.lsp.linter.linter-level.warning.title": "エラーと警告を表示", + "%digital-ide.function.netlist.schema-mode.title%": "Netlist 合成モードを選択", + "%digital-ide.function.netlist.schema-mode.0.title%": "ビヘイビア前合成", + "%digital-ide.function.netlist.schema-mode.1.title%": "ビヘイビア後合成", + "%digital-ide.function.netlist.schema-mode.2.title%": "RTL後合成" } \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 6e0e000..1585a9f 100644 --- a/package.nls.json +++ b/package.nls.json @@ -100,5 +100,9 @@ "digital-ide.function.lsp.linter.mode.2.title": "Globally disabled, meaning no project errors are reported for the entire project.", "digital-ide.function.lsp.linter.linter-level.title": "Diagnostic Level Settings for the Linter", "digital-ide.function.lsp.linter.linter-level.error.title": "Show Only Errors", - "digital-ide.function.lsp.linter.linter-level.warning.title": "Show Errors and Warnings" + "digital-ide.function.lsp.linter.linter-level.warning.title": "Show Errors and Warnings", + "%digital-ide.function.netlist.schema-mode.title%": "Select Netlist Synthesis Mode", + "%digital-ide.function.netlist.schema-mode.0.title%": "Pre-Behavioral Synthesis", + "%digital-ide.function.netlist.schema-mode.1.title%": "Post-Behavioral Synthesis", + "%digital-ide.function.netlist.schema-mode.2.title%": "Post-RTL Synthesis" } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 71b54f6..0d1b078 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -100,5 +100,9 @@ "digital-ide.function.lsp.linter.mode.2.title": "全局关闭,即整个工程都不进行工程报错。", "digital-ide.function.lsp.linter.linter-level.title": "诊断器诊断等级设置", "digital-ide.function.lsp.linter.linter-level.error.title": "只显示错误", - "digital-ide.function.lsp.linter.linter-level.warning.title": "显示错误和警告" + "digital-ide.function.lsp.linter.linter-level.warning.title": "显示错误和警告", + "%digital-ide.function.netlist.schema-mode.title%": "选择 Netlist 综合模式", + "%digital-ide.function.netlist.schema-mode.0.title%": "行为前综合", + "%digital-ide.function.netlist.schema-mode.1.title%": "行为后综合", + "%digital-ide.function.netlist.schema-mode.2.title%": "RTL后综合" } \ No newline at end of file diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index d5279c0..81fecd8 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -100,5 +100,9 @@ "digital-ide.function.lsp.linter.mode.2.title": "全局關閉,即整個工程都不進行工程報錯。", "digital-ide.function.lsp.linter.linter-level.title": "診斷器診斷等級設置", "digital-ide.function.lsp.linter.linter-level.error.title": "只顯示錯誤", - "digital-ide.function.lsp.linter.linter-level.warning.title": "顯示錯誤和警告" + "digital-ide.function.lsp.linter.linter-level.warning.title": "顯示錯誤和警告", + "%digital-ide.function.netlist.schema-mode.title%": "選擇 Netlist 綜合模式", + "%digital-ide.function.netlist.schema-mode.0.title%": "行為前綜合", + "%digital-ide.function.netlist.schema-mode.1.title%": "行為後綜合", + "%digital-ide.function.netlist.schema-mode.2.title%": "RTL後綜合" } \ No newline at end of file diff --git a/project/property-init.json b/project/property-init.json index 5bff5f5..cc2c49d 100644 --- a/project/property-init.json +++ b/project/property-init.json @@ -6,6 +6,5 @@ "soc": { "core": "none" }, - "enableShowLog": false, "device": "none" } \ No newline at end of file diff --git a/resources/dide-netlist/README.md b/resources/dide-netlist/README.md new file mode 100644 index 0000000..aea4421 --- /dev/null +++ b/resources/dide-netlist/README.md @@ -0,0 +1,7 @@ +dide-netlist + - view + - index.html + - css + - js + - ... + - static \ No newline at end of file diff --git a/resources/netlist/index.d.ts b/resources/netlist/index.d.ts deleted file mode 100644 index fe56925..0000000 --- a/resources/netlist/index.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -interface SynthOptions { - path: string - type: string - argu: string -} - -interface ExportOptions { - path?: string - type?: string - argu?: string -} - -declare module Netlist { - export class NetlistKernel { - public async launch(); - public exec(command: string); - public printHelp(): string; - public setInnerOutput(params: boolean); - public setMessageCallback(callback: (message: string, type: string) => void); - public load(files: string[]): string; - public synth(options: SynthOptions); - public export(options: ExportOptions): string; - public reset(); - public exit(); - } -} - -export = Netlist; \ No newline at end of file diff --git a/resources/netlist/index.js b/resources/netlist/index.js deleted file mode 100644 index 698df11..0000000 --- a/resources/netlist/index.js +++ /dev/null @@ -1,151 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -const os = require('os'); - -const kernel = require('./utils/kernel'); -const Vrfs = require('./utils/vrfs'); - -class NetlistKernel { - constructor() { - this.kernel = null; - this.vrfs = null; - } - - async launch() { - this.kernel = await kernel(); - this.vrfs = new Vrfs(this.kernel); - this.vrfs.diskMount(); - } - - /** - * @state finish-test - * @descriptionCn 直接执行指令 - * @param {String} command - */ - exec(command) { - this.kernel.ccall('run', '', ['string'], [command]); - } - - /** - * @state finish-test - * @descriptionCn 输出帮助界面 - */ - printHelp() { - this.kernel.TTY.message = ''; - this.exec("help"); - return this.kernel.TTY.message; - } - - /** - * @state finish-test - * @descriptionCn 设置内置log输出的使能 - * @param {Boolean} params (true : 打开内置log输出 | false : 关闭内置log输出) - */ - setInnerOutput(params) { - this.kernel.TTY.innerOutput = params; - } - - /** - * @state finish-test - * @descriptionCn 设置message的回调函数 - * @param {*} callback 对message操作的回调函数 - */ - setMessageCallback(callback) { - this.kernel.TTY.innerOutput = false; - this.kernel.TTY.callbackOutput = true; - this.kernel.TTY.callback = callback; - } - - /** - * @state finish-test - * @descriptionCn 导入文件到工程之中(仅适用于nodefs) 默认支持sv且覆盖 - * @param {Array} files 数组形式输入 输入所需导入工程的文件数组 - * @returns {String} 导入过程中所输出的日志(仅适用与message回调关闭的时候) - */ - load(files) { - this.kernel.TTY.message = ""; - const command = 'read_verilog -sv -formal -overwrite'; - for (let i = 0; i < files.length; i++) { - const file = files[i]; - if (os.platform().toLowerCase() === 'win32') { - // console.log(this.kernel.FS.readdir('/')); - this.exec(`${command} /${file}`); - } else { - this.exec(`${command} /host/${file}`); - } - } - - return this.kernel.TTY.message; - } - - synth(options) { - options.argu = options.argu ? options.argu : ''; - let command = ''; - switch (options.type) { - case 'json': - command = 'write_json'; - break; - case 'verilog': - command = 'write_verilog'; - break; - case 'aiger': - command = 'write_aiger'; - break; - case 'blif': - command = 'write_blif'; - break; - case 'edif': - command = 'write_edif'; - break; - default: break; - } - this.exec(`${command} ${options.argu} /${options.path}`); - } - - /** - * @descriptionCn 以指定的模式导出设计 - * @param {{ - * path : '' // 在虚拟文件系统中存放的路径 - * type : '' // 指定的模式 - * argu : '' // 指定导出的参数 - * }} options - * @returns {String} 设计的内容 - */ - export(options) { - options.path = options.path ? options.path : 'output'; - options.argu = options.argu ? options.argu : ''; - - let command = ''; - switch (options.type) { - case 'json': - command = 'write_json'; - break; - case 'verilog': - command = 'write_verilog'; - break; - case 'aiger': - command = 'write_aiger'; - break; - case 'blif': - command = 'write_blif'; - break; - case 'edif': - command = 'write_edif'; - break; - default: break; - } - this.exec(`${command} ${options.argu} /${options.path}`); - return this.vrfs.readFileToText(options.path); - } - - reset() { - this.exec('design -reset'); - } - - exit() { - this.kernel = null; - this.vrfs = null; - } -} -module.exports = { - NetlistKernel -}; \ No newline at end of file diff --git a/resources/netlist/resources/kernel/kernel.wasm b/resources/netlist/resources/kernel/kernel.wasm deleted file mode 100644 index 959e457599f4eff655cddf0315b38fc8ce559a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11540570 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

            =%9-QG)(xR(wNiFiEJ9oV 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

            t)zhNr%9xg4h#{RhUJIQ;kVHof^|X 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

            ROqd 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≈4rib3>f|PP{3JB0 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

            km%Z z>r2r-w_bOndi4`5NC%5>mwbf2n@HX89qX+Mm!LQoja@1-Wm$c7?s+RDSYmos**;L& zD#|L?JE+CvF`JpaLZBKQuAf4fRj)HCw7`WbzCztXSX;M-ZE4O0^ELV<3<%)EHvx}D zm2!WT^weDhv5!t|Cra+Rw_(<4V-)1t@k_Bm2vANzm~mJO9xH_yBrF>=#(3RS^YpsS$B!*GH-}X@t!rw4=Oh)uRb=&;~kEvU6x#J7zP#GqtoIH9E_)GH?U&f;+ z66j6-5cJS9z3{nIpeW2lAMi@^;rH<>9r0P{m8Q_|0n& zHr?6SG~S&CB|nat=k`I7>8v#<6eI=(gZ}Ad)CFS$nfC_enWFWN#xdx{e5U z_+kXVlT;JYcYzG1huD-Z=$FD9Nz_0>WxQjS?%)f`G+&9Hu*`qEwNpm}cw0AOMO#x|8;S&2S%=&CZ%4d7=vIV}d%~dXh}z z;Iq2PZ+71cD;*M#4_=>`ad8oSFJylSKyeIyZ>_^uLj5?=QQpdIg)#d$OUQSwx1{-G z!?q}uJ2^|nSPs3Jv5pBKoR%|ar|-@7vBemqsa=J+v#L?~EZV}cIM$w+9BcP@WbFN? zhpyW$x^@r4T4wdyEvtuKze%pS5k0iEJdEWTmczg)v1SDw7KNE_zv!QO!kd zQ_O61I&VOA)R37LcLGI8Lqq%Rz=kOtH1tcIh(~;b6t?7s8DuvMA<8l@E4v^D*$orL zI7Kpwk$OFfg{MMspZ3;7F~x}|V>K1)L~SY~f`~yoU1C3l_Mq=FIJgfo9o1m+Pn67% z&>n;*V-mBFvjyV)o|IWJh|*LCPh;4^Nxq^&B~en6a;f9OR_av>M5E7gMZTbPEF0@v?o$F&t*|LINLGM#q@QdA7(fX}*Sdc;#X^-NhD1iEJ9S80CU3 z>LuU!NJO;(rQJZ=Dq^;nvn^I=cV^3OKR6ClV`D^Cr8u>HU?Ov`${HuZV$$F!yaE9w zN8&!sh%iSo(e5^y(?` zLDEANwxFKny1>2LVC_S$QL6$DSjl9?mql#1!2BQzWHbSNDgI^>YDWx$XYI~3dGCHc z^4`%gEoT0FUd$x#T`Xo+LuNw5>TFhwdoJzWk7*TCtT9$GnR2nZa-!$4iV3)+&-=tR z4Vav*Rh6joCfQP<+Snh{qWgc zK`NDb*+A+CV>;0ehQSv?KnLtEgee0$cA|qBQm+eOgZlH1n=7H|`g=cyr)2Wih4nTO zN__(7LG_HVtMa7Ysccl%*O8poFiyr(0!ek~-m%Fo=7#Z0k}i(m3%8q@)h!*|aiMeC zK8IM$_=_6mQ-AMAhLd0J(m$Kn(65Hnh2`g!*JBWEePLD(%Rs%7X8_5;oB)cQzA82+ z-$e-N|J`jAQt4jw(1KI4#AB9^NN0D+O|1S0uMa^ zXu6yPInzgigQcDp47k(sKFd&sDEV@;`1Coao)2mg3;mb`;nmrAQ^|7(OwxD9u5DI{lUuKPi*t}>Bk8u%644>7(C?h&0EM15Kf-!?}Pg4s# znK;L-D{@E)aXQiv5F>K8!oJQ)f{FjJLIBdFfD>h>WdLBKs+FHA&aw$lP-(XaGvZvf zsszEDnuj^&+MS&lZci+OhNkZAJfiPpIb9=K+&&_E=j?xj;R?|hI~_9A=0>HFv#!hrJ(!O_U(5gfynV36GqTr`a!|H>eES~mYe7jeeq znZk^kpconoQ8SLD^&3`6=(sY8l6Xa1@Q+-RG$d6(5t?i@X#6B`G6o!I!VyQl?0#$M`gd-Fcr zc=NdH)?bKazXv8iC=>Fz_;v5(7ZLCEGx6)L$sfYCj(2Vkxu8{6x(bs8jwVd6&__H# z%lzrI41+0trmbuBQiW%0^$KN%RqtaF{!fPuj~XR~geh>Ch^7Lv>jZDY2;mMYmC2Hp z;w-qlz(JHLDKm|N0|pP{VK~qMmnpF(zpY3XSRyO%d2W0 zWIhejAEhR# zsD23NxoTjIbS!ILgRLKW`*abtQQI*Vy(s!_!eGeU?V!geb;TC?xP4mO-qQJ}JgT3> z(#0qR>!glwbe&Uh@#LHXFlj<~92*qcp`*6Q{5h2n)qxrd1Hd?uQ<<8EC$M;0+p!2) zk;aq%`i3fkd}Ze9gJAkthZvGHiMez$qjK7l4Z-HPgxFc-1^`+alZ0C_=7Nm+*&kr4ykf8{qV?| zcAS$U4f)!df$j5wFlQHF)}>}~9-PI?0cSUXQ=H$`)&K6%{^Y;7K@4dps3wrIXrxJO zhKe<&EZDCSM47W{O9PmNFSCILmb;^7?PcP5XySGPIRQWNHeqvPj0-(HF&RDj-t#Bq z)CZb3N9c%#0w%{Hp6n;Mtf!9?bBSuhol@WbB2-T^y~%&KHp-sezVM0MtX&IW$YnmF zu^n2&G{7dLX4IAh;musYQ;rO7>PvdX<^5E+Lr7f`=mZ8SfD98Hg0H%muqUBWQ01mu zIyc4Lx82hDHr<&Fy>4kzK?Lg={Ga6H^~ZnGftkQSOe>`)zppCvBIbVbPC|XXk`oML za5c1jyt!ak}kL`3oQ3rE*^ER=Hm7tMZS2WS7c$v0LSOwXe#*v|G=4(XRaL zvH_exA6F@@^3|uBW7!WQZs}5U;&Gbf6@!wzR+Dc=AT#a{foOomX!~z~MfsmT(`c zy@(7O)qxxj!%2Q~LGS_^(od`p(@(p+tk9;pb$HdF=7Yc~r1+Z&gZf=G#_TNv)Qz{y z`lBl326MC`e54Y@U2oM?HAMcavQnMB^*aUsss5>u`=YJux27< zJWL+kf7A_2v?4j}YUT;{fwQ7sJ46FUBKcS1fu>q3mD0CEsT_`LVkgCH!6E6g5ZFf;<^U^bHlEc$%NL*qcXf8zc5qlk&7KfYAdMpFzy$L}=X>t_7A+Vs z>lC+b%CP&*N}&3Uey@J#Etk=6|5^o(c2@Kiq(mpx@2#4$7L@@gKFGIM9o=Rpodk{I zD8Ukl)3`GEpIM>OPwTBX)Qr?2#**Ly*pztEh%~65>Y^!+Ki4g~f1}$RSPlbu{2=pb zhZRaYy_)=TskM3hzSt%(06Bn>rx2_zjF2*7iz+A!7%}D*`}hC=r4LZr;sccx7n*$# z>-g~jGoC&mN;5uCS;MGlAy)U}1L{g20116C1Sw%k2-S2cirOGk0ucx^sDXm>Pyu(hLjZoOh3AGAB_4+dVsAB@KzK31%dSg1Ioe^8B+ zfw0ph9_Vk?Z7<{xhn;T0p?M-Ntv=1QtF#CLVJ4g z`0gw4eD*Qc;N?uL|3oP-gqbWZ@du|q!E&mVAFPAJDI!n>QV}7sS{<`4s+X+ejBp;T zLGp1(Ao|AQv`^;+e{jo-eUA770-BBKlKu=UE<{_taXGENc};woxm+gr2LUQpKa@r? z?LFivr#zcxEjpEQ4-=((UNpTl`4XGk=IV@;TRT1={t%AbScNi7^Wsgd1wHj+w+%=!+9ozK?D^H^KD*)gthQh2l1#S@?X84o6ehH z^~@kAOWJ(`BCV z=KXUO_8e*isjEc^GP!_+e|?T@2V_21&sZUg2wW3yaCpt5x#<}`qPMY<+FH^k0MKmC z7zwWf6rlPWmq!#%Zv=NSWWEj>r$8F!QVi3J)I+U!E7vw4c6{v;cuIaP&stQ0wnNXO z5_o2+WEhojND+FT^f!_A6l!9BIlqjmC;|$a;=+oB*RSOTn$SsbRwp`Yoa{KhP#wsK z%dT=G?!kvx%V5!2Mz9x}lA3sPYM{`pX zBT-2C7O7j%z(kNM_NAD3qa%>{wTFK)=w0m3=5hNZ?^@cx7 za^kcIa#7=ISC|QMt}^g2jmw4GHAPs$c7jyO_8>^xxGNeJcg?60K`tg2!~yS{Wkz8v zF_oUV404Tdx}Z?!w7j)#x`|UZRz(!yj#HgxX9`Fb0SR?pb*kO&E1hc4&lA18zlrvu z*-jJ9vfo$XL@)1eqFG%$V5i0%qHf6cb~IFNx<(t|*F2G9LGf@*WQuGMBSp~tUbw+Z zFT4aI(U%xZ%C!YOiSnhL@uX>PoSGZY@sw&gI6W9RdFFZ;u$o4scl{g2Hdq6P71e?X zpdAM6=~O>En-m$OuogbX0Qsqd(Qk*fs2Ww0o<~@V*=HznUW070E!niNtrZycBDf>{ z8#stVlKY~iNo3Y_K$-+6(Cq`CVGk_0C)PDr8Rm5&aTL+{nu2xBG>IAO!hCJBF6$C} z+z@$UUBiZTX)+k8GzhUSuL<{%OmpHtv#u4fE)H2$Z}_v7bq&P2+7)KjHCI`ib#19> zH`ayIxy`z)OYFe9hKY48E37wUTMIooPC3TPC9$qDR_3>{F0@59u~M2@M)lwz41KxN z>`Va(#~yE;phjtIODVVeN~b!ruEqULw8_uoYtIW44Vs8`eU(i#DS`Gg(MWC_OZ1-@ zPHCTu_y#z!*T+;hx=v11wAj{l_QHo)z8kJ#&b4FFQ1;+s1(BKFD*r1V98B)0pZNQ) zt$UMBC!TFhV*Cf!u+~qi0;E6g*In28A*#^mFp^~AD{P=y>&JiLb00(L$K(#4k)m8h zsC>d9Oln2m3ryOq@nG@^#k=BYvGA|Z8rdO2m^iMRyU~=i30nB?@3rv%dxyFQwebI9 zMC(Op*nM%iCoXrP-{L$FDWU8sZima#)G@?9+8zhzCgJDu7UDe6%W6eR_=@y-eTJXp z4ugO}Y!FX|4{JR6FY$GfOOB*G)+O=h=yP1w`g4;4UB;7dhu|HzCRK1?yiY|3Y=}oOJqw^3=;vG4Q9wLy#2_ zYyv)imZpm>#q|Oi@owAt4&$WVc*^B0t75mdFi&ElIhPgDcOGA>=aSJWW*P`+^+D0i z_%XZ9q{>LfbKi?D69lGV1ke{^1htA5adTQ_=;@)hsbe!Z4Lu{V&yjBOfVcKJdQsoL zDNYcW#p0b@V>X}x-g-B9PY-Q^g%65NFgremeUfT>Tr}}DhxVC+0R_>PHYtS2HbTh5kk`zR7QQ~Ti89uokvZo zK~<58m>*OmI+zyqf)2thWUtbA`ykwI%|W2fM~UZ6;L0W_b*yTaB(i5q| z)U^PK$7+#$Gt9F!kLhw-_b8GdV*pjnR}^!-y)JCQND(ww(VBxJ99@zx)@fgJ z7FZv|0~`8xF2a;&mfD@QS(h`Rgzf(eBWAgplN^zj!?_#T( z(iJT=O}OwN<{pvY^%iK4721dsqK3O>5ARM7(V`rgWQFs$=M~Q1>~;H6w4O)NQZ5s) zO|~;Y?$u8tw+d|ANsWZ*NmSh%TYm2ra*JIYg==$RGqJ>hmSZEA1nkD^!35CV%`KOE zbV07A7pQ;f1TN+Vt)0SZ5(j(lUl6g2~9}ii{<-?;;%Yx6S!`~OqneG5PmObao#`R z97|$E=o!))SSN)&fK94OrvbJ$%Swm{CD@0Y8oGPd&^^(RcR8ho?sypud1q2?=#JEo z0(untniEQVu>iFU8hJ*3hI5{_gqwu}6L^VSM(lZFGKK;(*(D@kbTUV9YHl4wDBxWb zzebfQ0sU`uw^SJ_bF2(b$q+E zNlZi=UN^8!L9cQXt$Lfy!rSVF!yyApn@&>}bTPx!{|5RF zN);>_yVC6Ju^I3u|C+_eJ>e9fpFv7&AP-|Jr1I|JZ9{owAZoTAZ>#r}fvDNHY!GSR zas#5jmbQeW!zd_30R?LXC+3! zqpe4OuNePu)jcGRdWOY|^-fj;f@9JYhz0_y!LGhVJ45Xd3pElD77r)QAy-;hDsdQj zqsn|TvujDFC9c?naUla?WzrcXR^bz*GEfI9F-;97I&wU1C8quL&B>oNJSKf~Qrr1Z zhB|MMVN3V*XJW8Xg?=2jL6?RqPrzxo{EhOa5_T^+3$r__po}FNk~UT_&I(F0D05}4>KI;I6RiGQG2Kgy~Rb8C=J>6*lR_Ul_aApSql zX!2hLS8jfvNBEY&Ml-*U?X?g`^pp{yGz$=nMxY4U)CDI{q#a+*0JMgRLt@AfR0bMj z2rMD8RhAHi=)19DG#wM;W>$#7gGSs$xE-bEs)@6q=)HkB`9vCcg%5;*ukZ0O{mmc$ zFz$J#VDc%%u(5$IY4W)oS3(L9RK3?xAWXm^K7+Zgzl|e8)Hdnu zH4aXGK%wg3neJF^)#S)_r*pWQVsaX1E;Fr8<;gk9`GA7Gh8I#9HR>L|;&LyGw$P7v zqTg!txHUcnFO~tSN}?&!k>!LJ+Pg&`X}F4p*L6gocs-bZT8c8!`krjxgL%d?c=FOi zie@{FxxmLK_2;-Y(vWH-ui#Ih_EbZRt=)t@YE5lyopEJbs*>Yrh~pIxDWqZ;_+yEh-qKQBrh(%!o}0 zKgm&i2-H7Q)(D0w-`+yKE?-OTiUaNgoYI8AH7=|KG~hfMa7-}`2w1rSKwRl#M_Iq1 zI7+o>gRr_)ZB<@?ld3pTKV-<|hDvqdpei*0(G3#zkE51$9VCMvi<}OKoU=(M_D}{4 zK`Q&(_y*%ZFys#W3m6^<7!q!E5NfB$p)i0>Tkt2rc?MfBj1E?(nUd1aB69WZHR{k+b~KFWNb@lhPOqikdHTQ zs<43AifO~meucLlOj`mSXP6fI^Fv0PXwh9~2xp>gBV4jJjd1KS5`)VKXB;~pDE96a zk2`BRKD(92oo@k*VSF9;UIFfXZSyz~3?6sZ_{X`U=5ZI5fNeXEyI6c3&t3tZwMh1B zmB;O0|C?!mS;0-(W20eZ1wjg2u*XpCkD}Hj?eT{TsR8Jqp_Fq$@sL_;;SD#J#;B({ z0`}$Uhzm(a^rncfP92dovoEKPC}rEe;80gBvvmrD1)qI6A+d2Vqm`{KN=00R7PJm( zg-#0`N;zt2YN_sW?q&#oTI-Kess=xw3x z_frbH&(B|vWq}R(j>#9hHx%?-=G=bwgkw4YkJyi<4Ex>_u1sgD3{Qr<<7)7-b`;Qb zS%13Yon8Ceg8%q`=yqQtXU)UPxJwNzdfr@I2BkC>jsf@YhtqG)5%=?#@b~Hci}L$j zym;|TtifDN@19TZIP1N6_X0~5`}?Q)WCc^6m9b2@*fEHUpmSD-Of6tl&sSsw06ii{ zQLlbV?jr#9&8$~NNi9>zMC;bXUDUt*C_abDcX-dY+racvo3XYoTQqNBJyt7o5@F&3 z@};g4er*)*BalIfe^29*s(=53Cyjmei@s3+Xo*Ki{th987IJ&`bLkgmv@STC1t9jIZnVKyW;e*>xKEocfM4#f`86_3I51G z#}k|xxamr)c6FTx@_vwOLfo~lsfBMZn_P&XG(f~zS%)#G-4xOkvasSH)* z$Vkf-eBk8@C!&9x?^JQccGaKjfs>@I(f}U@*M%Ky05X=adyM^Eq|ya2_THx5nJ=&| zp*>@i>emmK)T8mj)a>8HOZRZOZ^jVmgn}^)GGl-@%8|coXKya(f*Mz|KYLK#-r2+k z7K?lcY3Yb(38RF?LcdT^O#E>}1I!Y27&UcVTteU=98KLe1ZEafOfYw*0>%Q)KG}uc zc20EuH+gt6zjar%B@wuG>LQ`-re+5!nm*C|f|Gkr<&Df(I-<3ubJlHV~f%KD2PQn^Qb z!apP30a0xA^&Ax@-90|=fKPO~^(~GS19LQHAtQ8|SWEpJj6uTl1<>p7frUanEtsr& z$w7#-MLKFk?jhtHOpGbkvnk82+xy4DMOnA{hfL_XPv0pIA%kgpUO?Yzwxx1`jcnkh zqZ&Zk1`-plDYK-f@@}G3Tj+n*C#~d!wcPfyl#d4gY^V7O>#?Pk;C+Y0hPeC9A zZtz@(`#jzh{b*D4axQu~746oqtviz|U~GK>5z43ot#-kkjICR6$Jpv!dMG-YwN%Mg z++l2OsP2M0g3Aeju_x|461bxpuL*bbK^u39F)CXH7eiwcs_=mBo{jn=K;+$JdqSi=+3O5=i&9z@Om>=(AzS+%nD4P zi4~;bT>~p%coMH4r-! zIUb#iM}W(vKF_0@1Ro$_-8f!A|_zePXx z$IlXFG5HRO(V!pmj4p3yc880bYQkiRPuRTk4nFJ5=_m@xqpzE>ppFviem~1-xYaWA z6%Xu6siSJAn`_r`Ikm~666|AB4h2#a;P@}=8%c2v zS0Mt9g&%?ntzxqZx=`AUw8WvsC{~la@QC>p`;BDqKtj)5e(mIckcm`3@iE_7mSX)J%B?||2%nhez_|>UNuJh=`}&1*bC+4w-mJr&00AZUMCfa{1S&7?ZcHl?#g7U zF%8OJ5cz9ojs%DGPnk!m$g7DcH#Zkg1JU|vEAL`3(ZA?GZ}MY(?8#OK^fg=tP-uVF z_9SraR^Xz*Z`?BY$HbMUyxq}%HlJokNBhgU{ynAsJ>~uZIrT{FY_I0Y9Yr@WvUBs? zMPl>RJm5RjFyMJ*MGROCzR*@y;3BI@B^M8!SE)o1LVxKA#_#{@N7s?&A_;<-SSZ)x zFX7xMF4c9qWLKw5F-f(&P!3Z&P*K==xR%Q4e{?#98uqT$&sgC9J zH}VnGw^8Kf^yq^^$Y=;e?}6RCCVWre@rF;Re2NEdT{$D>rz0RaHyxi4bUx8S7j-Dm zWvIznX`_qg;p*tpp07hfmo#68Qkr+Bdqv>~L`4J`V?{bGDcfU=Qjo!jG-W>_ozxWm zaA98yq@!Z{8X(iKAWlufI$c=6)}>>e_i<5vs+t9MTGax(4w_iypADJ;s~z` z0D|6hMHo3ED|W1ci;U3=R&tkVQZC8X%y(K3w5ZryMx)I0s#WZHWcalYT?;a35k8Qi zEMZoG4#>(`^v!fk`X+%KsI6<$MMjH=Ntn+cj7o)lsO~?xBU+5Mp@qD@ffh=Xvz?2y zTTyhz=G17xoyhnQd4V{efDqaiQl!)iqa0@-2ov?0A#9|OCYF$*2i1ZU<`erF-qnyo z0Sl@cq+l)sDaJwyuf$176;gPYC`HADg%nan8+MRZKIV}k3udzejVM3JaZP(5#V>vt zkmB2}2`L^oPJe}vg4zB$QlLHU%_;uHHHnQGr$B6EPBAYy%qhfQPjo;IG=H;u?)8MZN-k#p-Sv(PN7M`GUnw-i)F~b$t+_(!@CBSK>*lx zmQl`vX2dd(8DbeS?wSprW*KBk%UsTKBy)%zS;kf5$UkmahGh}+bE%Q;z4{hADUfs9 z6+*ONc`o<>5jppnWF2Z}`Ut%lb!qa^E_y-&sI69MBuG~4Fhq78ZrBMkFvkp^=zOT0`HOguZwc?Oz$Sf0^WLv7jMrE+YRxw~ zD+zD)XkKSUKF-ZI3Xt^Hc}3+AGd|Tm?`jncq~v>ioKYB72B@$9I1}X%|BYt)#m?5s@iJ7k(mEOQVR}wOHo@bplGNCubEd17@(|# z*RKZ^#-5I`omNLLY4{*hpbM1(unC@C6q88Vg}6 zEZnX=Z>0#B`Xw>-OJ7l@zO#Ao)x_2bWA1>rQUN2N;#KA6^QOR$&%6p7g+dUSYC;ej zyD*0!?qV0RQ@ok=YqAS3YT_^MIPtH(U5FP4X}ANO0&LQsAO?tYtsZ{-wZ+n*SHSLi3L=_bleMX<1^MTNV4Bywg}FGw-z2=5Xuy%#);of313EmR8y-*w43#?;1F9 znh=uzhz#@Yxart?xxYRs*JAt5?4lWaM1=r>b1;S@UmixUe-Z1a>VFF>r>`qtNTC6k zh_Z7o@k&dn3agrF*iSdpyKPRwURDz_EnNdd5*i?}TMw(L(p&T|X$$7OVMLVOc5;37 zocS+^PrqP3jfD1U4-nZ)3`f2KQZ8kuEO+6Q4L0ly8~bzA6J-{T`iILeo1LF+$`EW!RtktNS}Q)J2W z1Psq2OI~V<{&7?E#a#5oxuP4n()C!Ly&gNpb=3-}3 zG0r!c6}u-FyE_-VD;3jmE36cP@86mwPCcBO6AmK7yMQ2;bMh zV3iIvQoY`e0O zmua$H5vE-En!=Q?T2}ISgCQSnFywN^5O&6dT#DfAJIN=8Qu%_SxuriQbe8X)fpIH5Nlkcl=)x~qY({js}(2V3YyoMz; znHARCXI9-+8T)Ql-3~DSx|wYOz2j=;HjB>l(BhL$60r-$!zaIv@g0tz(Bj0_V5F=U z?Fx3qm(TMW?C1|A1u(_;$h7{Wo&wouAQ%NPm2BW8UXERtDN++o#jp7=P*hlW+Dox} zsM201=|LwttFv8CXwpj3e!O#7>yXOo_uEf%2%kd4e}yOnq-RHGuhP#*R-1lH3U3t8 zyJq&!?5E~V{n!r?%sXFgZ%ehbL#K79(cF%^S)lAc`I%yu&1gE?tZ2fRo2_Mwa1p9p z1k5A|W^WqYd8t0l8dAY_CRE2Ff@Hl52%p8so9GCMWrG~Yi1T$j>y!@TQ5H+wxx{{J zh13ulaF|akiSUPU{VxPjgK%#agdU zF~u^}y;luVP)sow02rsoJWUuMd5Oh?lp*P`N`8>&V+9_kSODfcVu(qhDcfJ=h7Ol; zHX)@aW$JPQBhrBq6iRIGdxshiCfECvk(tg=^Al|N()G#N24cqwI!ZY<#J|vka^zW{ zB_~uO1bO!0{0+n?lP6QuDNmB)f$yCT8i|x0zeGM;{0~w`y-s)!Sxo5aAm`v(KR2CB zJ_MJI-aSpP)VpVT(*x~DMou!wtJ7C>Hi~+8C44$izZB>Q0+|I=M1bD`hsDkUDnMdJ zH;mv*UkKHR;7d&b1D-%)) zO??-Oc|MeRPg46!jECE7&L2~s7^ykB7Z;?_du(zls#zrg!B=#(FF%T>Hqmr-3i#x|K{`bOguJ)ERU`Y{cdGNrgZd#Srg0e@1V&}yVY1uxQJ3SCWoR+qdrf+YP)C4d70 z4MfG2vahXsXy=UbKckKII0}->Xu6cN4zRydafENyI!=)TUx5mzn*5*5?|CUs7fi2p z2VzAx(cuz3G>r08Gi(}KWdK~P18T(NnK(e!4K8d3(Y}sDv_@Q!QVvlIS+%Vi+F7gb zvcjh{pvo}k)O1~4MpKSixZt>BssO>7G@xhc$sxw%>T(uSe_8=OK3(VRg9udC?w96k z)EIp_YCg?blJ@!S+?PJZf=$yjcbxfGyc(g9t8{?NgbsiJ-E>5R&gj!q4n7gKFz#wf z;!$W*jN+G+NlzzV^n6YTS}R?W*6Q&pd&$AP%TUNdSX=6p z!vt*?iZ;j+t_ykYonS?Hdp1C7x0a>^rCpgh52`P4PZ?7D;dGCbnR85Xik@wK>cYUm z&`9XiRN;(EQA7LtoRw2@=->>T`m7C3sk_R(q%B$jPVU$q9?3ZeZ+bf-cj=qi9)Ls) zBo}E;EQsM8rv;>q;*1OxZ|~X$cJ}U3b+#55vv!IhQy@sCb;a!IY4@nO0B5mYMy~V7 zes{95sP0qXXS5_dHWv~)Bo>3=E(k9tsCXFUsmLsb6iNJ}0+Bm;da3BF^Yqd@^)|;^ zpN>XO0bWGZ2Y=$V@J;(zN$1UeQz*rouf01Oib&ur5eR2yLEqIC$0px^MbgJIJ6#Zp^m=IlF{?s4T34i#$o2jpO(hp>SRPG8Ee-`%yyn90bK`=2jE?bzIPVa;H ziQgoa%jvoBBW42RCNf^ z`Pze_Hx>D`j4ic@NwDoJ@+~)qW`IbUlP#$m=48fM@D99aI2jBjNN+8;32%CFunn?E zbRhR1uqdkKP4>;eLr^QpW-124AK=6JT1vL6boB5L6=xXp)y#&m9P~mR?HV|-*XdSA z$mz0SA$b5EzIlfTTnSUm?Go=8R4F;~H<^f~OMonQiBGue*TyIAFxzzS)Yv>?Q5L?4 z8K7{XdVo?&qWQ$Ffi7% zvlxpS%y;4a?aw(W!4Q)SYckypW)P!gL(E$%n8$9U&@;Css3wHhlrHIeXSx%g;#?jx zj2K|8lUG=XRNTwB^A|2eZdk+I>|$?)*t0+V{erk+j?;&$z$i>!kv51`M zp$$ecK&PgRl}H%jr8UMzv{c04!*16(-#F+*!<3h7XVF3ycL7gX+(mM2*>cJa38-CL zQJyxnn8B)Lr3S25lQVlcdUupF>es0?z?{TQoJJC7(a4Mrh>bGDdRlvFTf zVAoOWwi2-pk$-G~dJ7bbig(W2l)B?JQl|M7C6WCC|H(?aELpIQG?o%Z{LrGT2l6N` zCWGj1-^n1lOIv*I(#CojL|notucvpjkxzS!LYV<=!xCa8W39)3MFIcOKk*^Jz{$+A zk5WSZI3Iz$6mlaUkoVXI8r(w*kX+u45(6Ae-r2imO$KAj%DQC-XS=EJ`K$$`YM1e` z;qnEGBW1x%`8DIl&jc2vj-z1-uea@=UXYZ_Wg?}TlCl7GC0#-DmR7^Mh7RjxiGkRw z1+fpLifpQ>k6{`r597t+EmC^KWto?E!M{M-YWcQf^`G;NPA~qnO%3aqWz-awed>>C_>}Orce0xtdwu z%8hx-8S|7yQo@)EN3m16*iE@u#4j##zLSfA?}~-za&L=9@{&kHBTRClj(fIHM>$U& z+jNhvIa0;~)R`TkwC2h{9oQdnOd@0fb%k9c8)=?8?9M%KqDs4|C>JVv~I%sug>R?v3P)Bb@9rDlYK^;cdeNzVpUPB%9au4co zpSDv6kTk(!Mejr%Vbt$Q9jMrIC_SSN^MSo>IH#^iHr%0Quz#*90KA1dI2JW1!z40K z9iS@IaVv}G7&z64FSpmu- ziUvi9l5_8l%f%%29^y;9fp=k8*(tarBL^OYa~sAqZ)WLC;;Prrvm@b%Nqid{NohzGCID>Jv1?$co$d4ttI>~0E0`hEj%QN-+A9=0*6Jc*X-?Gs8mOAfJ zQzOr^gmdTZsJNEr|GhbmoVhH82s)mSb*aieVOQV8`Z4*^#w2895|Q~nWJp29y;wpv zPua$B=hYDdk`Qibc&{K`vqi8I=qbZpdKOO*(lT_AB3@6SiPM zN$KHCcwJ@*TkM5KfMq@YE)70f$qwAv139~LGrIYpuz&Ilb*KC3!sL7DV^%+$eAm;` ztvCeqcKXF-a}EAsVY;N+CXe?ph}Yjj>2m=N{j-iT~58Q zh)zo$MQLEc8K8+^AXMMh;1?xBt*F(1@_%+)3k+aHR zl`i7ZY*Xul4QJ(sDnqM=$84>n)M3l}MJ0^pL+0ilZ-aZnZL_q{_1zNFKN}gDu zTb`AKR&r`gw2ta^9_)R9sd*GgIE_;95bAl*?s`6^vP{QRo~HO2nUy}NvXp9vk6Ben zqH}}j&WQWu``RnfbIclnxfO92LEML#Pp9IQ=)9>abvf-zc~@LW!=i`B=_XhkNlnYM zX6jlNUT@fYB}QINaV9LG3~|AuZ1yf6?3x#;*5@+oM2~P)$R+baC?G4wH`Re|Lf@7$ z^5R!JPqkd$J+(L6JSwBB$3{(urH#4@R7WA~yeDN@INA*ym1qo!VGWkPlOk6`xP$tc z9EN*y@qV{RmQA?_7%6o=+NB%NjdX$O!H1?~v!~QSeF>=K@j*>sNuWqe0;`%Xe}`h` zm92I=M&YJD7C582EtRdw=Z2V%17)4qu@_PRMP+V5!0ZCWE2Ka#76gz2=ndJb@7gb6 zOi#>1BePPw<6(o$oMwl=??=X3nWB5lf`GJ9ya!FBm~;6mtEyBIuYoOO?*a^ICzo#o z*RVFlWKYELxzifh1g~Ao<;zJA49$A98kenv>ZpTH?DFN=gE~tk2J(;}iqtlW2lhOc zAfTYRLV;52+^O{eHkb42Q^VbBG%jZud^dv|KMu<@v|yPFvy?19C~U{$K(1);fkl=h zRu6ilA>uvZuF&jMNq)3cyCCVSrCNP}9q1D2C1I#u@L1NRC-!MHiCRNPK()i=^{%xe zth31JGrcYjSWvfU86J={L4JZ*OLq|Uz;sCHC z-H>-tKeL4`DSz*8SC(lDTwfnC5)QGa@P6OQu2P0iP+fAN%9E$!|kL;Zs`_+JgY- zA_E~rjIM2q{<64~?xTnyiTa2b61MR4j_DzjS5iw4%E9oOXao7IrK9IV(yx|hfb&6p zy)uWQ1Cf2`F1*m{L-KE)5GFH6-V7K;v7DVw$5?}u3#))DN=a6WMb4>^{@}8emMR5ZXx?PDCIRWc1x_!F>tPEE$UW#CY z({#RTLdL?Idg(^+#`Lw$0a%$orjt^kKJk`e!)?P#4QHgl&GJ5%<2sdVQEsuNw^ikv zmywnt@(0fuSXDP2XoG=90_o~HH3AwfI`7~Vm+#e32a*MK7KJ+S9>jqHvS14=KFJ(| zqc|EyoC0sw&Bfgmqg$vRy5J@dWO|~Vdxbw%eAlZ58PQaYW_!TrBi^gPHZ*ztS=x$0 zlRvikco*`ar`3&Z)mwL}?Qh~Gim_&Jy=fy(*1mUZ140?p?gmlBTtl5Ho4M6UH3AJ! z4o#4QTO-Gvo>|ABX=)iH1`>ZikMZ^ydBgzojEOQ6QGz27CjH-INxBZl%w33{hcpQ3X;_5fBP|bfrF>I02&$y5x zJMwEZoLd{7c~venJ>s1^1xg~g)Dwd>8*&QzqoBhLTlvs+yYQifSDg=CFFtg=Ao`b* z4`nv8wEi;r&^I-FXllIsa`Pc&LEW7X9SuGtjwE6hAG#Xu1S3L*#R|J*7~2;0b&d&Y zc#ea_c_sIHFalV0Vm7e8t8<#BrW_xwT3SpCNo3~RW>>*Yn!u`V!%bj_SyG6bcsVKY z6QEFc(~(tMdCD4wLNIM}5Y{o)pt;?-h*-<3$3!9mgs!tEv4WR#S#R<3yOK2-EIpZ` znWGOMQmUf6uygq8r2e4V{{QT~3$R_+S?9SQ=bZbNwjQ=+UnSY+w7R&SlG+|BWjh86 zZ6>iD+j&fr>2lS$yWCZo8jodDa6nfuIG}0LL;*FJ#v$t926y8o^ZWn5wf8ya-YZ#FcuY@C6yLqi-fOSNx4!rK*0-d; zDh$KXi&w~1k?hgl>L!v2nref0yRubP$y7#GuEV?e&W;ME%%&)k(?gIcN>oT^io#c0 zM@8&Xwerh+gw=-^L<@9VrS4U6nT<x7j%3dBhm8+=Mq3pAhbzyrTe47wGpd>{L^dYl zJ*u(s9<@x?(XY2G$eL$OXkEc4L~R8;M{nY$d@Mmq37@#csev4* zS)jE2SIVDPy^ew);{(l4?Caf6C+ecPHV%lJ)6sVAW}em%-cVB!8*`eh`m&;wQkRZs zhs_20)NA`xHY&P)r^-w1)JAvek5+f;H-6@#JEfw3#ht3$sjsi@)F+<3=uWBVUvZ~4 zwbPeRP2anJ3e)!j)7NjOuh*#P`km6U+9l!C=63p~JN4V&JTIg`T#_6#6Wvnb&tjVx z$Kfx<80%dY8!5U+Kx?3U?_yDYOFNONdu-B6^yHce{3)9M?Q<_@kK_SjCD{u(b`iBy zler2u#682-3pOGu-$LYYfG~$pRHSWyg;4XXcmj-}hSOm2_=D3WrF?!G=PqZIQIWNuuP0!MCfgB`_w~SN4pZxq4@BoeWw|{+my8HN# zye!=v{FAgVw0ZA4+Gqdavsb3KpL)1`_WZlryC3>$Tg#Kb-F|!EZ2Rn!pKDut`fKgm z!yjz#zHwkV)%>1+*WUfsueNuyRo;B=;Gnv_dHkoZX?j&gpY?3j`Q`sA&r$3(vvS(E z;s;%6*fvQppL&giA*@9QK^LxS;s4I_@*%2w_>WfTZF9Ii%=*Z| zYr{&X{C2NT6xCN1`A``9AQR&g)|^3s`=CgoXl_A3&#HIl3r7l$n%CjBNOzrW zJ8^t;;tbYOGDO=$&DUVT15VjxPIJN6#WinyF7p%ZM;7Y?&9(>4R3<+C$UDlH^eJIY zP^Me`KflK6$4h8+;?pPol<~iWPx}g{idKL2xxDFD{|#qCF1%*p7Y6yFj(#W9WT1Vl zfK}cgUG_Bj4-j(=#z_b0J*davF4`48I{}7^RD)uK!$4q! zEIPoA=9XEk<{cXdc4f=c@A}IMU8$FD8!hlgmC0SgQIgBL%g_ermdX6_hEZQC$3wNe zLWDIB`x+q$hLKGDnQG`XMD0FpT@L z5dA0>3_`Kjwdeh6i=?6?_<$s}YzV3g=cwiDApJrrv7e(i5<>!Bi#rtELCtDPOdD)V zel2VFuC3Inu@+MtH|Xc817MSgNK0*w@gowU$=@z3s|ohB5o~oE=f98o^h1lG0GcToBS}B?qb`Po zE!6WUCcq83501Q^dwz5fmlY+5V^v&Tnm==w=FfM6F_Y>wfQ9$Z<#S_l0pey1)rn0* zBbyc7@u-v>v*j71*=3vow1$IFqw3ya4>7Jqq1=p7PDgpGR}>+ru^ZRya=pa3h+owL zoAmCQP;hP7=v5$mvtVPzdkfc^7L?^&UyES=baM4Raa+w8-H;m>3O0%zvI1~UPJCygDe$gfK z&{AT6rU=q35}~R}gJyyf1sY~AK$EDkBg1u3%AgSz1!!8#q7p@!60A|r1!#&EG~?lS ze3Ko98h$Csnryi-XvFo5SOmmFHh{(w8Rxng;<6zHoLmRH+7bd0e<9GQ?9ls2c%ML{ zRsuA6!WzdLbupn}d;$%3iAnK|vT*=It-$(XnVGO=J^qF#T}-tFjiW69IP6#scS7>& zet@QIL8FeXGG+0%X!wXIy|dIFgN+&DosgstXl4NorR3L@5aX3c51aypW&zEdkb~j^ zjmi#Zgf+ZRpiwIUnk<1P3#_r`B?e3%jWygQ(D037q=BJ8;|uzQ3YwsjwVmco1ck$1 zpkYxyVU6xot0XNtCE-(2AVp9to#KWM)>QWv{&LVUr#=ggs-viWcW%hSM*I^}C-x(6 ze#e>y(}dT(GkAmLt|C26lcXR(0*MDfbb~~6VomeIQmknJpwln;j0979%$y`h>h2}c zA1w4G&>yp<{`EWh!)`Go!T$;R(?W*MZZ6DNl14BM1wm+xfa7;Tn_82axovs0(9)mg zDo9Ra23Ub)3oVjS{0%MrIaPj(WHuX(WV#E`{I$@ZK?ANQ(C98e)6w6okPK&C3!3rp zJ84a(g4Ogl22IcJ;OJ&eT5mP|&4QSIC3qUoO^kDZ#t205j{asvf3#ux>zm3&f4U3M zWPcs>2ZpF$Eoht-Xqx_d0h$uffX!A7*!}f|K|U|#U^g-FJ2H^T;|(K1r|D@ov~nxN z8(cr|fIZFD`|uf~rIhmDzYZvwN}T;8tDd zQ8iodWfepX#1gRBUu&(hVO=RF#8tA^87#&y8jQGYgZ~tgVeaMj}mACsdJk z);8I9lT%SgtkG(n1HOU*$BZf>jZyLC>`nN-+dVH(W!;xAboKtcs4{GBWj`Unk!fq# zZm4xhsl$s9SbuWgkeXYss)(JA5sWa4QVI#~RE<(d%&e+L86em6C}5U)zlw$9 zNuaGuP%^>SB`8+&(RkORrax+_>GxkEHT52trlvKNGL8PGrZwmv)7etf`ed}G3@dzN zGMZcKXPTswx%IGe@|!s0b-u;Q*%rYOPpc680(25_cjKy%bLXX#7pGi44stV{bX8$h zO!i3P^=6pF+|6$p_92=Vr#};o6{$otGtdgDSYg-N1vo)9Yz$aUHS%@*mrFIjP~f8k zNTFJaA7o=~)C?9GD#6NQc((rdU>+;6i{W?N9+#~uqj0ON*=7ggHkIC9eSH&OYop4$ zP;_*@T`@+|^EyLURFs9%izvENMG4Qlh@#=ryr`o1R0W6|u7~OAF8i+Qv+r8?ojmU+ zlRl(&F6=;jg#)xdDw~=BY}ozEo)JQhZ4&^*0W0?KI-`SRX?nhWPk4Uyys)P{7Vs0L zLZhuz^x`hYiv&JM*m8O9g3H4Ugs|uz@^N~;WCh5_Chs~oV&E6#rGM57l?3;mVi5U9 zTdIUBlWPTJg|N%!fRipYWH|=rk9^=7=~Y?t@CU95$1FF^;|2KvXfV@zESbmgD`Bbu z$>#J|SM>T-S2g>2rH87}X@`?vL{({+B;=19)?Q)pO?mH7J3M2xWK_t9h!SAeE^*ZO zGc-(Xw*r)!77t)#?v7ixQ0O<+5d1(f@bMkqUBHXiQ9B|!v?K;>WvIf(qA`#9gdR1S z8q1rN?_>DcFppj|EBB7(osf%N=!%b{in_dgNqPvMGEeTthyycs^VPr#s-EL0oSxS< zJ~>v~K@hnPhWCCyDi5wz?REpFgbk7JY7JgYZs4^>nv{rH*cW)AZd8QYX*_tj)VCof zR==KCR9NUDLM$yH1D}{DytX+DO%95`EO2Asx!>DrvTWyfUUMiXHoW>Drj5dJrI*Bq=VU#3OSIeCsM`-c4NkF;_3?wO4~FE zN_9#|?JH%tN`Z2~afJu+5s|WsOc$4G)EBkTfrB~zb9QZ_Rtm2~H{M*vW*-$?tbNAV zh88s1xI-0O-fDgZ?nPuiAKyZJ1dtkT>MGe-?q-1J0K z1H-#x;%Jm)GE8Jy{VJ(cG>p415scX20^_W9%e{Iim~GNbvznketC|dxP?E(3IJoKBn?F z=|X{R_X4{+#4JQ{3MZi*d@|ybF5zjxiWyO>)*^b4DXl5*NTqM&T%ZuT@;gdSmchjteZE{y@9tk33^@lryO&b(0gh#xmed$$ruRVNBAf3 zdQ(>?-3I|Fq2H{py>STceEuJr(-)BEx|hlKKgv9S6dZ9;+iqj6QS^G?tDAS<}L zUF^KAA>!LI%PUK(XhlmDl8DKPk%_5?6wX8@B8d!P91)PpZ--D9zht%c^+34qFgMGr z)pl*R@JI9E2u;$bl`3jNQvFeDAkCprL@a=;M@W)#Fk9Ct5&`@Jitl~HQm!g^zVHUH zPTN76z4x=T{d$X>xkg!+-ujkc-J%>&lA&ogqkzWkjoDA~sM!y@rTW)MV2P4SG$z5R ze^2-{HGPyZhlR3YVRG!IWdRZpP#sH=)jv{bKP2;3)$ditz1_Nws9qclLfA`{2v05C z{Gj}7)s2>IKw_OksaMNEhOiImK^2mNjx?)&G#}1P8lAMU55X+DTkXY|a?vzIcUYr!aFD3bU<703KrvuCv!{h{zQf^)2yezgg3a_?E3n zhKM#tM}FM%HPbw;uy5@Mh&O+qzY~cl@NmT&j%U+xJOP`v(md%Drb}2h;1_D#?@{aJWgtY&WT|l z1$*q28!o`tS)`X5lG0L(ezCYX5Vo#W2^xB%z+#Q%J3}nJQqbHkps`0XloYy$r6n$) z)xmo33b*+t1#cHI)P3uxco)%nVCLnJg1 zaM7&9I*s}}FQFlQ-!-%|>Kr89-Xf@;+30Z9>VJVPht;@^>qVq;go~WtQ70+%!uJ$c zK9s*5RsSh~U&`%$zJHn`#%WF=L2yC`FmU}8ai%f|c+G6XqOp>!^-ov^DkyiDiiq*3@KpjtLNrG^cT^Xw`H-}lqRJ#!yM>L{*LQU46h~J7PC05j=cy&&= zmN<4;CEyJw4M&p)qDi5pFdvRPWc^Egn;iXRy?lL1AFqnO@mIzFZBIfjdIvQ=aF4Wq zZErm}dk;iiiesMWZuR7t-ZD5yC9mGdmSk8PVuYvlWr!7BOAc6`y}mrb=(PSPzr-=} zj!9}A;A|&q8@u@$T8I%P7K*|9i+jCMw!QrDEsh3r);k)287pxicXPQD@Tw>yWkp5m7gmzWw6 zOkhcjY6gn0zFVbkU?RjgpU4up8y8 zS=&@If(S;Yh?+)Lyy(mgJ4|b5vEMBYDa}_*f22SUtd%_)A*odKl}JJhBJsUDDZQBe zu&K`QJ|)omp(c`gJEHN?6*4S_f~jJAlF0TNu3?q+PJj9$wW#rW1H{(a znD{c_w&g9CP4B@WJ8k`x{FT_pTO9z0NlQ23TWnMf!)=4`hRnfWFdFOG;})gAs6{pi ztHt5AM!LNpjXSYk`)u@KqX{Xy9wbQNa+axa7!axo@q2xa@!D#YmP67Z4OnVGR$mE{ zO4Rpi?R3)JY<5u%yd8IBH>c%2YYx$P|R-hV~&1k18Jq1Q73wpdLT#}aq#BJq9(1v zoVN}M<3KZjuuyNcINzu!;*GVk>rlt~iGdlK{CVO(yG;(}6|YVVB&E11#ug-IYw#49 zkJ!0+3J>vLFb~|YK7!evyx~L(f}X-@=_`ep7s?I%KRZ7)$mx=To`wohkv3S)4rd$ zw)umT{iue=sTv-u8iZEc8zsmY3=O`|&SJfnypRcM-L>x|6HNRd}lXG{zsz{r;s;bTFRW*rCc3s&0gtr z;EcyjltHgsXy~)t3bCIl~*^D43%Ib2bg;pxX7O%V36CO6`L!og`c4B-hHC7w{V?jyAa0 z6)5?qQT?}ZeVz~`9S?Dc-?AOf^g|sB?skQy^a^t~%QNo_?u|B#Ntm>YVttbg1>Zlm zJT7&yR)R>*N2W@~Jx!(nfOBu?h0L>mXxj|rV@x(_$PQigh6RPnUD=0cpj)mVP1ld4 z>j%^Ia0DRi%04uMoGF`A*hHJF-@x{h0dxw7!hSNSQa80U``JmZ%g!E-y5MIeh6ntqXItmXqAu!n3 z9RA2P)pvD3JOL!Gjm{g2r2BrXx1q@LV!@Ez&^&oqOSW2u-P%4nZJ+5)OIxUw8lQcP z8b|XsEuZQ&tU!_}Wj>5crLu&bJj=w$gLPJ~ow*e+PpHYZCifxQl92p%P;&!sz6=BkK|+iRIBNT#f?pin>C+W_kUiF5W8@m)15=N z&c%86WpfVqppK3>*kSMiu(s1Nc$}mzFsyW1$osPldR1J?+4Ju>H^wJ9S z6lW337|U-hJ$SvQO`E^or(=F;5OgAr`5p7^1yyAcu)3=Ch3;5VV&qv;qM(>?-Xa_U zvB7f?dyo(tq$UfWJSJBH=_#a^sViHN3)-zvOl&%AN&*L9C0xz=T95;iLQuo2>K+cvK3b4)Sv`X&yPn~k!pNQ?HxADfrx~QHVO+5={5HMrgD2EkB&*lSWkEEVGe8HX(-`)0%g6`S=)jd;97uB=oXL zi18G9TaN=J6rm>MqqTa2jCwHxb@kE2zT{UV^A%4tVJpQEauBwR3qXT?lZ@*Yp1`=C zDLYxIwORz83^mKU;PKHG{sFf&#VXyF&{mvs+?J+bx-Ah7ZJimnMa0EKQ{vaI{spfc zz@y4`D4Jo`q%i>|hceBBN!q9CwX+#~;?PQXFrqqrXR<|LP?MRk+G?5b3+4JuSoW=% zFp>fzVwwr7f{qElAe_X&4R|~JOVWuMSi|ujRX*xcLo>u{-0hL7PD)kF}X9X*298 zfBG>8lFf}pO@z2kDY4BHQR+qH+7m}y*M-GaYyC)dwY+MNURYONbz}|a!L8Slwnx*| z)XA&WRZYpO^Hjx23uDn&s455kuC8hlDq|@+7JZ!bBW44C#NV{xCN|SC5I(bZ?P97@;2YIX!0R4^4F*@l^i}vqD%y7XybML6n8Y+rk%lTfEu@bhZ z_94m%?UQwValTUlK1ISk){`JAXo9u~4GV7|GieqDn_j~;f*+zkiicei+n8dA!8VvZ zqG5uDZeFSY#PsZi-M6uM=7{W$I{}X7sQQu?&$LqT))?5y7})b37}MUXZf@A2&H-g0 zNEMz+<=P3g_nA)ZJ=>|hXIi!QOsKu7=;^NL(_PW0+M-WI(JqoEYQKX|ty7Z?HdN|2 zI+BK=&^veQAu*-xG+e6Dst%udP*lAX%H>~T- znDiK|$5uGDGT4gTa|;^=S;_x0tkEm%!e*}jU$7`^Q*?4+mStRm>Yxo=#hH`|yJ7k@ zD@yRXmT&iXrKC0rk{`|j%QTB(ge!LPvl~- zn!xeN1j~ua;J#7ltnO@Fo+%P3oWW@VDezo&=%KFY!LBIDZubA$b_yuj&A8~%uIQ1j z=;5~L;i;l0x}wLsqQ}~z$EJ#&>WUHtkotPEEqZdQ=;^NL(_PW0+M-WQ6@9)dN^Z_n z>$$e*xv8T2@fZZK9@d?KwGX$HA+QfEcMO3;UD1PG(F1MK15-thc14eLMGv<{4@c4C zJ!1P(m2neD*JVm=f0b z79F~vNDK~@Po1l+YU2aIm_f8C3)z>KXNgVn#hS z-9Dsc-H5Ig9_sOI^N~NES4e^Xs|S0-qo0~iJ3k09m$K-CjKQY!Z}nJ}?n=^581vYL zFvhTR9N;D63|a_4T7@%u_@X%D@CRbQP_^7dWe! zm9}Y{VF_)z7&pR-8OIc&>=3jx2N#VftAnl+qP&7>q)qt3E^=-rB;S?Fw@@F8m&PuELMzWHO7urNV(r6a6^VeR@h8Q0UuMD^y7b zlb)MYx6IUoycP7A&*Y)wP7%gEs4=1OGLUr(6ErGG{p^OU ziGi8J6)&qDC_cvvf$>?$P^P~xTSv3fLxx%R zJV5N@b}t#;Ijokp{bTT91)$(@*kDO`~>BHXWW?Eo;FSqG@fcVHzmt=|E%U z%23*-RTB@i11I*@oI>Q&#*G*-Sa_lgEXZB$n8)GYxgQ$iFvbI$mOHs-bJ`ED)<+Y19^Igfm(7hkZ{E za4;t8x8m!vs|%uL4*=)pkY0g_OeC>U!lB1`tck=bp^jSpQcSwfrAL}49MXzR!XXM8 zhmQI>fkUc^Y4p|(7=!0Z6$JEfeLdRFm0)uVj(efgGibz$8lC{o3p^Ka zp34Q5y8<|OUH~{0G;mm;6fDLBrkbXJ^SroHgD0j14l~u@!|8zYGe0=E`- za18d`UrB-iJOg3)KIJg0pv%C4H&%cb%wSiZ@>cU%K zz#I11jH}bH^HfJfwyHz^h=X0*Jp1RWj(NOcp+Mg4$__Z&HdKWxOo#b4PzfAR%to~K zDVw#0*lzN9YwqBuY*Vt=yNBDBnh0gUZL96$*xMPRu#cwI=o|~_U#{wHg1ZNhY7&^e z9kZ)Rn^9FoQz%O;q0s1MGJv5HEBwdu*thNeq`K}2kiO$n10^)1p*Ccm>w>M4JCiKUz zpK4ZhU}03JOm5Tz+mk-R2vl9x{0mj5x`daH$U4z>Ir+l)jrFYG0h>3E<;dM3MgZ6y zt<1Vp1UE(Lh+>w-E+n$_eJ4cN?3%dB!}+)+nzqC;%aucrZ{BtZO^rD&)A+WosUs6j z9ZgNq0{h-lTO5seN#i<{cLU={=yqfvs_V7jPtAoaj*)%pQd*l5#dt#8*j)7o%1!hK zgya^@zQ_VScACrC{!??E%Zh}v%r^u8OL=nBaJJYD5h+kDZDtE5$}TO1=g&rV%N``9 z*Sh!+VO}fmc>5Z)F}_Y`3{Sm|>Pi0~{eICo9Fz`*zRR;DFNw@8)9a zfyR&#@Ai!eVl6;?mjDv^Gy@X02*9Z%@)AG{30@hW(kl>2-83Zp6}U9@3V`rZ`L^IP z;E{ZnvZXu{JsSgr#|Qv>?S(wTpa51~0+4=cN!UUcT7amA00>r30!Y|DN)iy@;sXK6 z0P!8Tf^6vk!d=1;-z9($Cn^y|131&fW6@MBi|R4~#E`J;V1Iael>ow5M9}N2*;TKi zN=5GT61WH;g#ejnC}()_6xx_X zx%FWs;K-8$fKn$WXpn>#3FWx!z;dxP2$dTk5O_y}+$DfSCQUWa(V%?=C`jwjVEbwv z8k~LwK&Y~#K`*FWhz1Q6fVIOIl$ereu(uu!_D#j2LGC($Tr3T?0AUM#M}uR4z?7Ja zKKdy%ST3BIb*2hY-1r}wB|*s6NJaLSO#>yz5x4ls&Hy9Q1qZ*ldp$8$a9U?q!d#o(pl=F(OyG;unq3bNI zjMW8R1R2xSTHPj{EDhQYNXrfKOs3sgfRJBkW*92M`A};qya)gQX>SN?^pLcu%@3GF zDaMD`q`PnpOc{Kpb$%Q7T;4#M6D1hHo=AhsRaHNJXCAEREY+jwOm$I-M-4{U4J$TE zg@k`Ea_k9%wj|pDThOpaDfR2P-a_pFzSl1SiRmr?bVDwtSuBz!TF6C2ylSTj!Izmu z(5*X>kLdRM2WiNJ9xTHBvKaumsTb7L5oox9X-*Qo|K7 z61=VipFqMn%Qd%#zR_`Nf@4+An2D;@z zMYLM6vWIOtFsMDlInmYlpK6v9W-DoTHVpdxEHBEQ(UZdI^gr_*+qkk1Br2EzRlO^- zze!BXB7wJ(7Jj=p_C}$6NbBg{7V7Qn_&vIZ_>f0{+L6>Z=$z3DBYjqbH8+b6X>LL) zV=I_e;$4^MP_y(Xsc%pz3mmNyvCTh1i9pTgO{c_3Y)gqiFYJ^!8v#rn##kp&XFG|? zog}JRAx&u62wSJ2g_z zcPd%35)d)VWs0sC_+VX_6r>$7LiDw#)mj-^5gu-n3*6Q8I0+bOR$n`0J2gw}bHIx} z0ZPuZRwYTxArBbY(}Ruil8w}QnY0|jJd;+)v$10B=ua~ff*xCTC$o%JIxR;gsk#!1 zHCE@YZ05#no|!1G$@<@sb4ABvFnG(=Fz6~>F0|^T3*s&}yZ3bYt@S{HJ&N6cS2^mq zS%RfncJx``1cwbFa=wJ(J1_JFH%MA<^u-IL7wixf=K4ioE(iGO#oWXTqpa8^q$Wh0 z5eGq{QJcEz&TyCT$&7F)P(6`gm2u zm(6<~&6SS}!sf?Q+4m{wIUC*dYehe#HsVj$n%(C&2?kN}o8K(&9~Z!5HK)T)3yrvF z8FR4QBvEa%am38+kl$Qbe3+;x5B1C>>qS6!uSL+j)}`gW zu)gNaz|igvC5J(@*s$(1F4DMb?$Cqy%r>m~wK$8GAf?w`tf-l=X@w-6P0Npjm8=+d zex(*Gd6rDLdD*n{>awH+?U!$W9WfRtRh)$v=0D+(PEGoA zU|3GS5@duXez`bWFd#M4;&2Iq$@^xxydYIla#>j$ESwPmGIU9hnmW;91`zBsf;bfi zWH4J)7B8R*_s^n}ykI<_eM~^Y3W%b^3YFmWEo=`@QNj$9O~Q<+5{#(D4wsq4j>Ve( zBi^V{8EHH|m}Ovyhh_|MeJz&6dw;XQI4R(MxQ-TGq&CCDY99lMTHi7zX(auG0@g?( zGLna2M#sGLqeByZTojtf8W6S{!gU}GJ%AZ;iinYAF+&zjr}06lHV0(z!MF0g))P-6R= zK(0x??pML`tH~Jz_X2+tyWi-S-CUU6Z{Qj1{6efg<|5d9>P1y=pbyNo6off;fVAvq zy4$x-b$c+0LWySSgCrFe=op3K6+lSc=H(hG#WSQ-BF}YDs3lFIP$EmYb!+<2;*icQ zqPub}#V%H1g-J2?km}$vroq}KcS#rZomD-K=u6ncUBVvU8GFz@nM;9-U6tG?O^DwH znB^r3Jws$m@+9;i+~CmtN$9}|1wF5-z>p`Q$16c^`c(@(zf4Of7So>eDd?Gbdzs11 z8w!<{sGf^?^TJGR8hWre^XxIlCUL2{E#3!#iGslm<12ip)oI%jGt#P~gu70Oq};A4 z(GEnlBt2IMOt(NtiFJ$u+VrsKI$Cc+3XjN}vh`l0vI3kWyOzxKd_KA{S(DHNeq-zw z=N^!Qw&}5yhB7Tgd2y_nVBoB?jX6(RbVIsaSk8}eC*6r%qX`d&(v%5P*3b(s3sODo zzFatXYkq~|5BCu+q=n6a7Ve)%PyZf}`dq(NEV+`5cb$Jq(F?C;_I7bPAbIX0Mx5kC zI$?=iQhJ9HH1Uo%IyZ2J;~ks5iq)e`rqjOY(>y=})3NdXf<83o$P3~#ACwGB$!j+f zF(?At*hLJguSx-TPFF07=P<@*sD$$q(PTJ>aK@p6@aG5>j9M+Sz&LjkMf)FJRS$O3 zCL=(RfFaW*<kK3Ma<)GL2Bd;8 z=`heFm(&R*FFb1xoQs_4j}|lz4nJK&3miq#-{K8RTixN2@_dp0>$S_xH~AkXP4hfg zoyj-HsJhY|+(-wi>y_b-Z>GP<`76KAf_Wpp8>79@s$z`eepGa4lyM8EXnx`F{) zGg^>aY9kPpr#u;a&h;s9h(MW%1yA>&IoZDlsF5e8`gPnA4N)A*Am$#&A$Ma9YQjE%_N=mm0c>msArRb0z0Jtl z!&fsZsZRR)Ar7Run*Ed{eAHWJ15lfH7z>r8)z3vv6BBLnI*}&+Sekg87;5xNF|k2& zxOY#}dkfAu1|7FbNpLJ~H*m`-)he)AW#jg8wSTN9{LnwMSUB4XFa$!v9+I}eR#(_Q z7qaVczrI{uBX1ih$QW6lWbat+1DSY!pkHr}_nXsuVe0%R2< zT>5<`T}g!{_X53*?(=t_@6TcPGOPZp>^o=k;THHn;5eTM$486e5i|9ca3ly@S`>E) z!CmQs2#Mb|MsXGvu)!3_w%FtkjxIBvUzYHk^GTZ**5EmxumKlPb$GswANP#rqiGK5 z4kVwcub4n`N+cwoPdx*cf#gPqK!csxS9&lGP4G(bv|~=-H(wt=JKH|{=J?rj?X&kn zcj?=Qos^DmKQMlFuzmLN@v|d-<{6JU#aEC}f=uw5_zmsE!_m<8v-V&0D>$G}_Mll8 zTWX6<;m6?~EZFZiruV{!LutPEr|a`@Iz4|TT}k{Ac#^IJ*!uSwSs6xm{(}GfC1C`A z_xUdw7q};iTKKUT_;FmU8d#p_kLChDOsWu{XW_V6pi3MxeryqbkXY&-B-1|r7n3dg zfSG_fu TZbQW9eymp2PZy(fw%ZESA%rm#}&aPwgi5_Y3eNrKj085!Twb-K{8r# zdtA5px*+~3{P=p=&GA`BhBC+B96x)mefHilemvab#|OsG4z|xeK7MwjefEX%vnSeT zpB_Iu?q^rR`C!QG_mOcSUOrE6d&=OGZmaKw3$~9*agc7g5lRs9?n!;hA*CmB=E-On z#`#Q*JdzAug2BNfuUGP1io&O^E1ve1DJ&igxT!8!JlvPyO%#T!REBnhR3~|-_D<>g z6exnz+boQ~Pvq6l^^??P4@6IVRYgR6?v|q0w1tpj=8G%BrYO>!q##}3x5Uk_y5x#~ zAMwn zJ2^2gfFLKFfpxy#9CD)N#!^yRFAF}PRxe9@K=}s7a-tf`2^0vFAzK^HrX`tB zjQM~!Qi~6apFP(;d+(SxJlyhz4~(B3Y@dC6{Om~k?9=0C$Nh}CV>?F7UC;y5i@?+L zUJ+A>gpjt}{?imxByDw(Eo(7g<7)jvGtZ8Iz=U*Vl6l1XNLhB_;M@>$iUo6f(@1gQyB0~?Y|LsSz+^nmB^jhd&d~? zaEk#S7(YAMKKuCi*^&0yr^nBZx6i&Ze)e?x>Vku#@EluRVsEx^eN zt7CIgwT)sQimznG7e=^l8=XU50U$*X`!D}xG5t_i!^GiB6 zS+f<&M+*s>pNCNZ@KqBohr|>>>N!u@LmoM{{i?S!hD4t&L-Gqy*)w=Y(y`lTxt%UP z0bPp9kunWo&FGKMHh=W9JLDfoK$dq2RTK+F6Q4Docn7fl+W<5O3PvXcm7EnjlN5!A zS?^=){(T0Qq@bJJ2%GUAiQusryHyaMaZhc*HQ`i{tm)%1U0v`NgA z(jp}2aT>${Hk_&pFyM_MY5X}M5H^a$V4NWmmTC?NfG;OMRN0E&Eih|@!N!`+%k{=i z7>uRvMx<_d`!Lz$`0J!Di^J*~#}~LorQPBuZ02%WM!m+)m1w}&C$~>{r66nz1$T=X zW={{$l(z>T4^UZ!o-#QWAAn0P0*E0@7p+|DUoC{ndJ;Hj*6RUBupu+PU}G;-CW;bl zVD)F6(W8=0WIyqukWM- zCJB8DV9ItGfhmEw_;F>-14v0>K$`Sv7D5EbKJ(CH1-k|0Ob19GxYw4};%GZN_?=0yvtRV5`BTZO?Lck^$i z7YLWTn&1B!@$xflePyGgrZWjot=}R%X#`TV=rxNdklIPR4qm7g;V-gU;m1j>h_yxf zYUjCDf~-v1d2Ucxos+-quAyxrv$-8D+%pmmxWCnB2xN_7Ja$NiLPZ2vFSJYK zS1AsZB@}VBM!$5-v!`gYdsg@Q-~;!G$1BX;NjGlW?OYVIt26wT`JNT z4jrBVs8s4|l6L^w+i6r~A7G`>Z^bGMsZA3~z})>j=T?>nH9_7Yk*x)o<#tUF?x*^d z(JzHX>g8;}VD@I_R05?hqJx8@5eem__6uHM31bn2)F^}u>^!FGON`B95|7I?0+wvG z$_4Cv4wn}wXQ+syiJFJt%BdbUZ_qbJmy~#%emb)QUM|H9&4+qPbG&%pa1-O8EIR9L z003~fDX}F47XSnRA-%-V6|gAG=9`%aB2f^f#sL}Xbz3_@mTHaO@I{x|#LPfnTWYF@ z3{>ORw(rIJutDI}Me|!f|D~VLPtLho$%!(pJG)jG;qc)w$O5bP> zMvBG4Y0qP^MYq)JxJXKA$2t#4vOE&}#DDz@I&HSH;2$n)fXvqdc^OOw%}kt!dNoU8 zcxp{BgYNXmlR?XZ0(-UZ=Q+1y1|!5EE$ZhAV|Sx+%Zs>#s| z%5CUuc=+l@Gs~k=L`6J<=t3kgoHO;!wrB5dx<}y)^C^5`-nx&@-c{vNb*S7b_tORl zw>M_LV{weXf)U%o!ibl&CSjfxN`gV|iA;w`ZL(6FJH+v&j%2V#oqB!JftTn}yI8tk z+iNnsxYv%jThr^!=jrvS)N3ktub&wA`t$1b$yL2Z*sj-WiUGKNC?bXWZMtbuT|;7^ zPi>NV`uVYXda`wi{?7Q>Q}Im0#+_uN_}IlwmT7X$u+KMHs$7#rEgmLRjy7`xjTJi z-06?0(}!1e8X2?RTv2SjxjMrvdEnh#eQZ20hugXO`LB+k>4`{ah@UH~R+c-{gc@ zvU*MZN4AH5lXrQ~`a6u4Vyl+Q0~nnIz7p>7hf_(lX`uRzO+I`OIbyAdU0ms$`v_&7 zU|X;vOO?d0W>j%l>E;{oE3ruPtIR?wDMZC?%bGT^S_C}9NLx+FEL%oFo!=~8IfMet z*-AKa5lk+nyPHmD_r*=3Jld?d%bV?tXoXDZ|Bn5rl0DP8@qV)_%$?tVx|a`920M;y z71yJuX2rqm70zT%3=^2hd|APaDCI>vV3hc^L}@8HW_LEQ9nDU#dP`Tum3yS^j&#D- zm|187tsiyNGTD*=6Ao@UK$+A|Z@yVfA3DLA&MM(8Lr~^2a2`>QjZvzHY?u>w*Ow9k zQmtyKL1b9`^b)_TKXhs?Nt@i0r33;#Oi+!0*iZ^ZTD%ThP4ZJgz%}& zT9h=spM-^x075m)UNTgY_oF?CTK&;M)T^P=Ujr4sfJOr<{WVZg&iNK9$_hORmmWaz zAclgK@UI;nK${r+NHSTTcc1ep!h_KC-`U*zr~NIn%O|KJa$-JYcqI_IDrvCW?qkOD z2N;=;+Ec)w8jLL?lXEk!%5x(eY(LtIC`?2c6BHF|)7u4aPb)6sB;?{Sch9l&;P*nJs*Ax!Ckj{x(7_4{L{zxJvcum}TIUM?T)= z=Id8iUn$|>?(O(F>e|~(ShE_gwutU-KJodNqX5ggtqaJ6y!5{8jmzBv*ps4t5~GoT zPsg$}gwMP>OaD_`YM}$!6{^4r$#9Wzx`w;ratDy78{{TzvrF|U!IQ0ZU#ZWi{|R=I z7|bW7SxkHK`Nf{>P=kQdU3|gi&7*nQ9QZSpURfy`WbWN1I`exHBgv(NurXOfc35&e zV&OrS35J#}6Gba(#YEQ<%VZvMM!6#XX<;;w>&4Y$hRQe>HHEWCYk2dt_hwq=3<SsBeTd0an$vty{Wr*Du+CKDc!z!^KDd*^j5J_;L zTbMyq0jkvbIbYgDb}m+U1$LEmrYeVbaolw9St=Grqz|6ngmFRV53tDNaY#%ZWJ)B# zX_&1QrUnJWVn;Ga-vcKEBh#uU>DPWgA^*;FX5StFbrWF4z>6!jW&q`M|>5 zEqL8$>cv~Mrl?QGriv8(HKvLlO76k#kb7aOh`rA(BT!h9sOOhi5un0)VHxXlL*4JP z3Tw!p`*yysjsR#GtJ;9weDU*auB*N;vOv|nUru!M)OUYqVYsFF#iP9jnjzfv!}(Rk zZu-c0-a7JJKQL0#hnoKEX|BDGadcF+L9Q)Gnew7FPHrAjib{U7e^sJ63NtZx@iiDP zw7(X1BZn31D@%zJF+(~P@QwVUR^_K-Y`2TpxVtg? zURnb))Cn6H!ZHLR0lYj(wuMXJNY0xddaPG{Hb=uL>H8Q>c=J&8KdHr?+4qK$#mH{a zbcT_QZ&7#NCP5dRg>9lf>nL{pq?c_)I3=&et@!B=34uv__dWo}1a8!Z=OxAp5-qlS zAPfiFrjFSspN*yfnh7B>%J&Xsfl@+VE-s5BHrpUd;6D$%7UnS{p}yvIGCh$>yi%pD zm{0ZYUBLUhfV`-CmKgL9;7Hk(zl<9R3$T~2NLX;Um5D=GfTI=`tkMbTr6U!Z_($z< z!$H>dyxc2+OI9>krZxyA@h2wgJ_jwgJtV((Qbe%IgAJt5HMWU?hp5Y2QJ1gnwiFR{ z8#z1C?T~TK1i@^Wh;vPYYh*fGRr&RLM-0?N`W!u>(rGW#oX$q61vi0UhSZQ>IZ$oHu-<6&u>(s&~;t zGk=rE9rO|~P!i{ndX7qzBJ24HpS8Ou7^MfO$cp7cBl`3B!qZaAip&17y zsh=L92y)5y?9Aw=LVb`gHeHa*zce^NFkw`G^ zN7--y<2JNm+)l^hF2K0mMihjlY!CcIpj0P|=DQ#e9ugp7@F<&MTj$Q~Cxz0>beFZ1 zVs}jZ9U;)~3~py|F$}bG2DXchX7Y*J@FI2tA4#>$VkC(22-WVQLNJztC6i$`>MdiS z=ylg>Pn^4wJ@xmH2%K+QXl|%j{+H}#xmmy=%D_s*!N4d?0hkH$)SqmEr5Ui`Qnd_~ zZK~cNE*HJO3pn>Yk{F#%P@rd5m-}-CGjc1r$BcKVtDdR*)oydoNyJ7e0H@Uv*1+sn zm66Wx2Y>?OtOp$~XB{s0WP!A$@pyK)jEvL|hK6Qg^v%@gaX$f6+fT!+>t_eSwx3iH zAnK4mQk}_jc2|d|M$k(^{?d+6W}-uWiO--YA-_n$$Pal3^2-s*WNDxNI>?Xi9d>G` zjG?6&M|8$KURmg%14N525;XmK<4sg6)k=#1kPck=T?;1ogw&)*{S-nQ{H7X&cJm{= z){I&~xdQ`0yn`&Nf;l+`n#_v7^f2=kC{%0&5o{fel`{v9IA1Bll6L;m5u-(-4Bu_Nd%LH*j7S9bvC=6Rfe zW%ZW}S2d4(?%SIK{CDtk-(FpVI62Mr?=}1W<+nG7;%W1|)!JnSZ-`Mx^Lx)m!I!J9 zul`K2lJV{goULKY-5=|EHXdfbuOA5WKg`8MdvpTBLj=uKIs2Vvj9GrDIsOryMp%R4 zRybsXu_}eU(;F%|$xyyOj`Z;l*GFx7UH$#)Gc>f5wnGv!31>XF)(B4ll4p1?hIcYo zvhRiFYd^VU^c{$b^-3^u6vUwUXI~cV4$$EH^5!G&+}gkqu$x5gA3L?s5Ty{mDD>1% ztJm78hv@joL4CJxz3+bdf1jQBPM{!*c@8)p^{H9SAz!dsvAMM8NUWe$tJsdF4r)kL ze@2E?8Yygo4QtK6`K4Fzf~3Q1`s;x`W#e2+f=^L_G>@lqL+?Uepuwpw+(kP-@=g*W zH;OZ`63r;^3`lg!Gq4b>8IaIH$Owe1{x3xZ7%A!fX=VWxUK2Sgo2vN_zXBdOP~bnx zZV}$@*OOzm994^kyPy3!Uo#scJvC0nvie2DfYpw=w=?@TG0U+fGbnaL2dgZZSug&O zO{ueF@W5Nw!UOMi!voLljTs(zcL5{~YX(~o!j?4yF1FT;l4TDm>40|>kxwdza9YY? za40IX^a`y*+&}$68JSiJUcoLPe0P{ z*2r8(p|KS&={0G^^AdIwX=6*Ia|e z9Pb!|U6FEsA%~i`4`+e52&gb1jGwkqx1KGV zJjt^~I3jVBs+?{pjL(713KO)Si%^Ud%|{v@f@>J6>=F%Go|`AYVBw!6;S7uD^my9Q z#Ud<2T;u3seLWyxn4UZj1Z1w1MsgE@lyf*tz}K2jAp*B!6L&XqL%*P#X*Mlw+npvF zyZNVI5Qf?E2MdH^{(Kt?2{`Y>o>eqOlY9vEoN}1L%(a;iXhw6* zFI;sG>Zn!XoG~9rU1eHUbyWCUh#AIi_;_4Vq6_&V_nO8X|zESp}kW z3*j89*Tt_8Ni(w938#I#!dseyPq6z(=N1e?zq4$BRXm+n57X224Fc{gRVgdn zw}EV9dlG&vKO&A_(f9nV%7+{t)55SR4AxOGUOl5AnM4HZ@@6Fx6IKP|250di${~YC za#_Y1-3py_(3En<_M84a#G|)yYc#c(`mZEfaGyS1)yaV6(LAn)a|+QKJLvFc!Exp^ zu3$cR%uA69ueTz%luRthFVhX=$056udkE^nj`j_F!t5W-`GD)=`Dj7RsHiuHU%&z& zNG%2jg;C-NB@;t}0V*p20eCf!pe?rgK?O7QQi|PV*Jj6%ydidyA-RE$1+iH#$y`37 z#m5=4`IJ|palu_j%eB4h+IU2-J0_GytYNNULLC(H3qip?69J)RL`^Qs5h|1@7Qp3j zC-asOP)>JN{$MOj6SMesVcAc9oTc+mn&%xAeRCEeig@09^a!z54{I>kxBIv@XNEc( zA#eWV^H4K3M04<++&n-DJVkq(qxg;v@OjKgYBa842Pk z0>jj9_9$x!0n_SeP9qGr6t>p4z9m$h!vM74n;(SA;;O+O;3;-5?xYyXwOqio16sww z?s>m-1K8>-qyIG*0Jeh*(rSgvJlk)YpEBIwZ9qM~(WW$46G1uAjuN88ce+9ZgS-*nsi>%lk|Mbx_sFAv!Eu7z7 zV{u!kd2TCRPo*ofN?~zEE}86Ch33GvE(85s8pa2CtFXpqB_vzP9(QVS}_F z3hMB(`mx?HmrQA+e2_CI1N^R-LKwY}v~qsb&7Yl;KsJ8xhT-Pbem+Mw6{FlAV2^NO zZdj27EW_;e7=fb0r?6zhHGytxze5BpW7q77C=9P|$tp;$UDXh-0`v<`JafG`o0ZOs zNWe(s=ixKL1QB8Rwaribk``#uUsy#7kRD6Zb~IfNrz=~Z4f6fzx-VVX0`2F|r0W@` zpg9LLHc;{5@*eT6qIq0%zEZs4`Po-ie@u{qUss#~%(#z9kaB%I)M2W?0zpJIk08F3 zFqOyz3bdQqmxTzb-L$Q#!exCQUa%T-R8DctC4W%ysv`wL8Lu$-ifd;c(G61YUM3XP z2q*N%*%k*nJBS~|WP3ruXAmvCZVBFicp+%rH9LG9Nh_L#r-;sgI~kXhcSZhjF3jP0 z#d8N*x{xVWJCu<{DQ!@%nWE~eNNt+0P7}DP1z%Q%9lc3>Fgo3iY*91Q>;r&<>X8J4 zntUtO$t6Yt%ub|ZpUwaV6|wjPqy>y_ISgm5tZ;bmXggQ>$0dAQ25hr(-|z|`LF$P; zBm~e)*nvJ7md(>YcI~b#lM?*Yk6qh*NH%({dC z(@ovNOCJu+FZs&>t)v8ogE3r9qKar+5~|o{m7z`Kp^9@sUePm!E>Mj>O&^j@RHB~f z2lbp_rar+;^K>$D>82nw79ztXv2DU70V~s3L;!T}*#H+CP5=aTTI@5V?bxPVwngGV z^nlby!9aaP@SN2>*Jpf14Uh97N5t<_E4imt!S+;(60TS&fx(h^>s9p}E_?bQ73CQ# z!Kjknwg@`c^<&B50x1goD|9%R9&V;|7MYsWMw!uObCinxpcoLFwHx?>5iw+!i8(4; zAQvbTqP>du+CVPCLcQP2+Aa7^syEIf_PO19M&3LWfZ!|b`Y|4YOiRV>%-%RiZFc7+MNcvM7d)fN_@z z*-+-mKFpm~E`)^mQIPj+suI|Vk*=O4 z*nYBtEvbS9ZDFU^JLo(P9C~A8sU>4}>e%-VOoKWoWp0MPltDj$Ky;zkXiFYGv@BQ) zLCArrRkoV5jW^RRuj`8H=xti0_2$Vc9By(LKb4Q_#{d+_@oX-xpzXpSBiA!IUF3S2 zh;Lob<`RHHE=zi8KZlaYJ)Evbxmxwt6~cKz$PS%7uPf~39M?5$2MTyZ<-zU!x-!6r zxlYqtZ4rN)X3PbyPE5nUFV+U8$aK25C%1`R}kyLQPmEsZUUZ(3D%FsX``t5i+qw97|`BE^wBt z1UX`zjPODlIEUx^Krzy8$^fKh5{G#tY}beIjexbDYhKav(H#X&kuscotc|b|NdZmV z8DQg{iRGU)pbjVK9zm^FzY9;Sb71mGf(jhmP+r)pjg!wpwrWtCpf$49kUrc&`b;UL zgo99UO-tZxDb*|KBb-WWna`}I_6Tu|=GHWJzL}uQ=bZ^n-rAYix}aPbg>*&!p7Gyj z>HlwvQE6ImooHG-Vu4sN67c}^Ry{w|spmc$b{+K`RT6SXJ%@_2a9>WT=ZD7XIfuix z^*%h&93;~|ejabKdLha}BwRvs&j*i?5Qhh}^&)<{(IJr9$K*#~a||}Ic*~`=2al4B zR(mKORLsE^Y`R|D;Qucz5Q_uwzX4P^`!bI5mfQ48e+am$X8*5oFs9s>oaUX1K_TZq z@w>i4^9A!jMLWN@o|nm6KNH^indGfsu89>)Q!aZ#11IUsFPX?L*+6?S3|PlNGuDqV zyu<8~fdd0+dnTg>goPFS3*>=U7Yk<;qxdO^IWWWy$V zBBhK(hKzE<rimzG{I|EWe#87jnubUWQu_vNV0J_3J8b!0hH zb=br{Ta6FTXZ&6YY{MWYtAe2SS7U=;N;i<}6GV=!+)~|{iN|NhkCAH~L=jGHX-Tve z&^Wi-$Fi2&$8hWRu{bfJg_(omj0wcWKUF@#6A^uc#3dT*F`c=4BMQu0WzK)i1;ReiLh|gvrlK zOFD{(Z{F_ph=SUv&ysOrLy;9QkP@w13kCRRSu7XI@Xe%~b#x`cy*%HUJyr~_s$VfG zW9OjCu@ff-EjdctSD|B$HZ99RfNU!GjarFC%%hEZ1WVqmA-Nl{K-pb+J+Fatp&z;^ zrLqF@3386DmzFJr9$uWv(~wc%rUU~d^+zC7A;^JqKJahmTpT;V#Vm zp+~JjU9N%5F``AfxI8hC4KWZO**QIs6!4~j^rr_h?&{pcfatAz90QsxGdZB!=$AGW z%ZRX@f2F$4kYetxOiy{Xt=`OjP6i}FkxOIOUR_ScYgRA|t!5vB6X^gx*wumJddG`1 z*Eur{0!75#Qc~VoBS5B1#@m5tMlN{_F^y#d_r=n%oI?`;FQ1fg;|a<{jxba`kh#Df zxmq4jPRkwPO98)dVq_?UM2cez?#dRI)DM3UqRc9sifKGfegPgXdWDFmHq@=0V$VwH z@|T?Ht2XEy#y6Z+dx}sMorz}_159?fxs0?IsWVs&1$TYp($mol`ZfIMV zG$??eA;zF23n99x@dS(oIyy#aHJ%2=;3fwZGujR+K%kP0(>NjOEmQ40nz>2sV7KUk zW08Y!t$$|XVoy^L4~jB~zU=BU8zymlEUybO>!Vy{$sOiud1*K1K{>ovb-J_tP@szPjA9x9#A*@|{T`)oTSoUamhP2J? ze4ZhU@Xj+dxUgr)s+;<%K1*Mucb}s3qPycS>H_B87rKZq`w~> z>(k6jTQ4S@Sr+2mIiraLWtCUf@vKniQwYEimTWzIi?7mH-b{Es|Oat`ta zTz-%b@uAd%E>%(4W!M?Oi@Hx(yr#9ZW=lKbK|^{Sn5)&f#pZ4IGbK(dB!caHbQ|QO z^M(*rQJ2iwr^*`Yi}fb4u;XRDL5GEHz%(htg~Wg$Zd0iM!A}9gBP2i@QPEa_nJ>=c z7->jG-&^ictc+ zk|GUy?K%C3-M%kMvqljrxdfVJMr37mcGHBJC3^}E;L2Nb3Wj?W=a)1bVt2HyAb~vB1I6&ll1AK6K4L*iR`Y}@2`9k- zv(-G1)x6}AL@CN@9!v$njnGbR8Esr1z5M3U20(#z#h-d(XEp0^MOn?;CX7v}Ojfhc zKAbi-C#+_&7$&QEtE^^u^|y9b^UKMlzO{aNvYNf4ESiOJC##v)YpiAlAglTEFfuRi ztY)5Xv(?NEb{?+yK{{TNsnD=C%5K&&kemRlofJ~7J%;nz%@_x0tabp9`g3w99gG;% zcu4eDLt>M;_|#;X$sw(=n|&rrXE$G->}Cxp+0EQ0yP1PwJG(g##E{+0ZEH6xyw!{M zFrU~mC+nH@(_}q!7eaeX6Qt1C&zW`uu zhJY3xyX)mic-$HAc+-X9fyL3ngOY;B9jo9$JyYry?Y(Y|tUP~F}<{?peqy()`1YQUFHhks);e?C+DC^&3uA%6%K{Nu2WnuA8{d<+^SiR$jt}R# z&Sj<%9|}Yc4mm+N`b-+HoE-TBj9WC@PX@O(3bgw)?EFh6HtA8=aiKBcd5Q4@22_La z7$}xJtZMhr{l`;EPwh540KcXm17Sp;vmj-1MQzX<@KlP)gFK|;@ZUl`?nS7#o182Z z-%gE(rvG-wgU^vZYp@Bb~(7}sy} z?qAlrz89)XuTqy+5DIB;0#J-5g59TF@(}^6i z{gGl#z-b)5Yz!8&7rJZr^TgI>;vOOvRZH#JP=0JV&C!5F z_(+ngi^c29H`4fNhOaYz$D_YD2LEQUwjB(bOTBu`4(Et5zd8DQw=NSSrk1Gz->vaJ zd06Aso&t~e&Ew(T9X*>I?VaE1Xwh#xT21NgF{oDyjChm8hZU_A9zyeCvGkPAj8fw6 zx9FmDRLtn@q6*C(8Iv@_w+JbzcQ>Ot{y~k3tq(uUEUy%=9*^pl=t16`aFJ`3)UU4o zTe9d-)N5OsZ$y|)NOd-EP8miuNQqvUzi9EZE?zN-1R%O}uFAa#A_;_qQsq`1#Q81F zkOr0jGyy)V7${+vdTeFKMG_u23g8OI58PrM>!!|r>kSG>NwAL2XE9ER_t@&iceuih zc97)bc{>v)W52t%W@&p?`tKL>yi95SiXEANN|(@Ez}@P1HpN{}clplj6$nm^3#$%* zsjN&{ndECDhBG;%(R=6)>W^(Rb(T8?9_uLKOcBH3_jAlPoFU>}q+Yz|ON>nlhT~m= zjTB-dpDpvb>9m9bKg(LWI2AIU^*J%s*j;Q9$}1MFyesNK5ReAy+0MB>-#OQX5k>2d zM-{TOF8ozKXF)Kg5$korK!)Q&(ui#ANyve=iW$qq5}17LfuV0wWE9ku;=QFbd9yH| z?P09|Kf3cNWTScY0ro2BRma;RaZ-*kcp3loBTIiB=Ow zQs~;)bB!}4&BhqlRHY$$sxnfZaO!oMVL>DDH?$b~8rx3O1RAMyir|a`mvqoen#h^S ziJZ|y{$)vez`v7`>Onacg4^q_$6PaX??GWNIk#B;&6l&AkVEnT$QWd6N$J8QqR_w^ zPLKv`o3D~eNk6ZOpSt}DapZdSne^()+qAsR@~DucBpz5E2nDk#sf9nDyG<+lFP@Fd zY_{9OF08^03qeZt?}d)Wf+c7@#5l*PVo?CfuiCo~4k-uM7omGw`vjCk@GBWR99yp5 zGbO^N0!S;xfA!yu+W1)BwkxaQ2}p&B_)v(2@Ch;%hvSL1^&mER0=rQcHOg|FbF6IB z&W>}AWv_<9oE&Eg+ygP3C2NZ<)`qA2iON z))2HhPiMWh)*t#faCH-4;CNd=N9wW)4VEJu6hy4KACzE1`;TQezS^p9WYvuKjw+k8 z1PTAWb~NW?0Ad7y#z18cD1k10yjk<=1*PQr0Z|BBe?51Aif07nYC53^5m9fcr$s+< zP5VPRpX#{?ujuJ3zNQ@Gl5ynB=p?OG6b1T`zAx?Osi>Hru#0WAbsvBh(@iDXN9UyJ z+bLyPWoP`@RF()K$w(v^@ z1ex~u!ZCaC9-+$KP#ok_+cd-`>{j)cX%dhE zW! zY9!qWg3w#5Swff{d!WXJ5C7wQUQG22wxL`EL~RNKn0v5Q3$Z)yBfUi-1&k=NJ+jI! z{10;cyU8cn>|ocyg4pGt`8Gjmz~V3@sOLOwhDzS0Cvz?dd+HH;32ry1w3AEQwiY!Rw*`(fYmaq#|mx5OQIFedicdXv4CVfoSGuNO&V*7w< zFo!k^aKWsdW<{@T&d?Qs>m=FHK8ivq%-sjKst|S|qBA?lC*8zDl@13KQuxK@Q<= zHNj`7p4w^fSv82%4pbp(CD|WRE6ESJ$Ld8WmI~w$NikYBM!+8=b)b)D#Rz19;M+>| z>M;OybJhw{YfoNEYpS4Y?8(%aun!MQP=;#nHBg4AHMOdd;N#9b(4J_5Jw*`FOCGE$ zQS->BjxOZK*@4z4IpvI1rorgO&gpJ^=TtXtV7L5vyCIv;Fo$EKK|YQs!H?6g8aC;On*t`0$#%`!qh#OG^-$QMb*@eQ zAiH+@2$yUIZ%4w}D(E#UdqA==)=^c|lIoC}*HQ|-2Ng56n2A!hi@OMD;+wL|_i?n; zId0UpoR@ZSivNJxR^Y{iTU0$j_n5u38@JE|Lz%G~w-Bm&3uxMnOG%@uQ#qtw zwKn-M*AZEX#f+o{n!^NV*$3e_``2)mM|mue9lRiC*+ff;vry1v$|2{|oJBQV6lXbP z&T=?$mVN7Rmc!GW<>>i2%ZbEUj<4Y?>hib7Sx$^O%h8UrJbo#(4kjEObC$=)oaNvI zX91vVILjlK(%KYfdF21+EPsQXWy}9}IScLvm}jJE$=P_LY*L-_5^9b@?0edL2CKDU z_-!{WDWf{8E6eX9G9VbNz z6{I=E3Sd%{4@aG!Qk_5l%Z2Mf^KL$z?$fuxzd5a)lFg~XJFlOQz#3Bp^Od^5-QQXqs|Np#upM9>bF~qsueHPER+jSSr}qB&#dw_Ox!%V+xS5 zl6wyT%e_Z>t52ZF$O%CmkA~-SXZ9^zYNfYl>sS`{RJJkM6DY1W@c@O$Q?V z1Xnszgc`&Gt*HQSZc>9p1xZ4xsPv$dzA|C8?yb5+776230v||P4LAl+U#~V!Fj#e2 zV5bV}IMz$$dgA?qyqBY4y*e)EomE47>gH?JFxGxmK`6+8>Os^rYvUUD8Uw$8QBYmP z@R*wn{C+yCfgjxB?w#R37~a7$!t3Qo<%|%f97RXYn_AnMjfc)kP;OwfUD1G`(ph1N z>m*k%unN-V-0v%S+B;&MFcOiX4FK-sY0nqu=va{APiwU$F!-e13L?+Rvq$4ujClA> zV^*rLc+bO@tEb`nN-s09;Gg5MaP!$hex7YWj?1!1A}o`<7EFo;fQ~3=db;Q-iZd)ilBy5uMhI3B!<>ZmhAFVG7#KxKU$bROUox%Rc0F;uxrnRM-0O zq%l}((-``L8*5Bv8e@~=i*KxUSh+DGUOcj|2ERb<6{x4KTRopo;4j!UA)i3|mk~ofZTTmjV32?H9Tb=V*65w$rnVFQ z14~XyOr?{7P_jBcSEFqT=-f8G^QEX?Bun5t#zFNoAhHGDGqiC;lnJVp9 za%_+!3~GaI`r2}ts-~8rjkonOF4K$l9bRGyoaXzANbS0VXcjhAc&rYxH@$5MT)u-8 zbO)dGwbj9=^gwm!4_@KRcJN7cuu|Nl-1 zcoG&5Tp}!-P%V)7B?^nt|4?ui1z*#2j?)@ zT3i6uOF6jfxKweyVr$bJ9Lprhre|A?fn=8o!pk&vMW^+Yv*(%A*jIzNs97}!AGA32 z^NEbVN^ay$(r+(e(|;}8$OAiS@Xx@F6;{~zXvBfhuUpGlUw3e+mvuUw40p6SG&Vu~ zMdHwh;ZN1k2?NAYECxtyz8N6d7Oubm7pSgwJ)7}4?*k;@5d6n{Mw`gyZ`h46*X|9b6en~PNdPPI;V6A?1bt5xwK92&RcYnezA zUOboG%Jb`QJ;V!=%Ip1lS+WK*Qwa1rR{a={#i}2fX4UKb{_+ebzdr@dsvq^W<@Z-j zEmnPbzrS)eY~c4l%=eYfpi8nO`TZZ{u{uaRYg^b|zJnBW2ao&O>Y!?RK^@d4^{>3& z{{!p&{y&p^{aOR~>1n_J68)L@{m)6nh2Q^N%I#7{&Mp+ z;hkTu-`|S}Ow)_;`>$~V)bsoO*#!WiOm+cG{Qg4Qzmk6c!wmfS{r<<(z=@q-=l5?7 z{BQjJPRt{}f17~q_kSJ&Zu|ZJtw{KDrNl#B^hg2N*6$)|Cw#d*Ob6_C?iZ z!bTfW+BOOMP+ojvQ#MJx4drjl1QehD-}wC({~DVK96vNs^`+Wt3($33NbHO&nyr25 zHM^OI-#jL6lE(y6jtRPqfX~>!!8$LI(WsVMTxFNK97$zFeQv`sWe2$ZNz1K`fL*Pv zLXx%e4-1v2UqScnkRR%C1^UD1EjM}{|Ih?{Dn@=`elVib!&^Cl{QTz0pWHF4MD{s! zRkjWd6V?*L=qh}PuvHI(P~S_3AuhQC4#H*I`UT&Pne9l@x z9#N~>jheGMoD;RG)nP}iX4MLkB?Yc_30gIa-ez9v6?JM)e0w1tY6lyhkrx@SN{1E{ z3F|ruETYb;!#dBb?Znr88#ct+Nk;L}qp$0{@6N?Oxt*DQC39Zo>OD~_+<0?a8GB^e z9uwPSQ_km9jI+YpIiHD9Y8O+4Oxj_UicRgfbyaVz%edw@nc7rN^bo7ipmr>U( zb-BH%9Q!LL#cr&N?Wv3HPQ^G8N5#?xfC?e)#V^%=zR%vDva`wC4!38L_<+tUugXYI zfRs+|Dzm}AoXPu<<)CB}0N?bY7*nJmVvf1i@e4v|G&KUC$qe=mO@0nis=8FJkNr*p zUF}$jH{P+bpp=h_h*OZXKD`56CiHkm?8eWAAJOp&?RqwDPnqIDByAnyk7`x&W_H@$ z2mP?IHSKOmTXTG(9Y`D7mDvWwW;?H`kqMt1eX1a@-uos|t`p&JbRu!SmtjzcGFEBq z&lfP}jH=5F28D^F^hJlZ=r;i0d&X7{;H%OxwVRvuU!i zcHpI|+|wMJZwS+4Ctb7Ov@_jZJ0nsQj3XZ$1q16*#O3hSY8dZ3Gp@mTTO=*%bf0D< zjDtx;Q{8Yt^hN_BCs7PYqd*L96LYNM4@_U`Is>dVn znd(F*Ws%CL!!KY{ESSci$SS3fzXv|(m_zQ;*+LQgN0beH8MEs##p-bvTX6xJ3O8t>G#0lkdQ>$O7wb zdJtwfLpBV1vgn(l2-q|u6cmIMR$%T56?O+3pKku)Zf7>_pcaE|imT3LFv(RH)iI+H zsXG+CdjAJ+Fkx3mK6rzyzf3pP!%1>;;uzT!I{bFx77)04@&{M-`WvpTj`B*Rs0zdR zC1#fIRSkk=M z8N_un1^bleXH*1e%$0`!k=-qtT=*+5QxWZ9Q#H!_t;D<38X0#7zgOgQp(U^y-;!tE zT@tl3@*UnxChkt)7JNvYMp~-&^bs^Haa|N(qF-yO8HlAbyq`=*0=9{Pc7-IQ9IwxQ zvaIxqoMr>NyqOI)DKQ&tJTu2YGubI32ibaqr2!p>8L7qSIEQ7H1b4u z*%V!OSM5iKx2eN|KL-?SMr;a&ERBAj-YP}I`#yuoAs+g@&ndZql|ZLxQ1i?Ld%c(n zr%zDRYyynE$vSE?W+!;5Uv6u^L!F?Rq6HN>&`0%tb-Ee^s8@N@$Hc{BY&)P$p)QLjmKLN0Nj(5yhy zOdkawOsWTB-(;PMQ;zxp{AuXg#bagZQXq$-gpy8|8x3g+%(DWsGj%jzMmKA~3=Q!Q zusRi28_Yd;Qm+OxpEO`badVgS>D*=Dt?h>k=>LYd;K?MUjNcl`Yy!KCcP1>rPFcY` zRKEms!>iHoAQQt0QU{K;hNp;102@}%kh~bmkMT&i(@S|T*r6SGoxj(7NazgCopW46 zx7sTEz}ihF6j$`=@F%ZjGABPzT}#5>=4aIz{tk&+s$Zd9_(ps~rVOT>U%Rqz>qwSo z%I4O&R+g%S45doGDaBsNxp6%lYWwh}F$hLF0*$8097jHU01tEPn_JZSxaJs!rBls^ zA0CYJ(2WEJcmpsLqUSlZDD$6F%{S0cdseMD8pN%M5qpy;G$;*qhB5ZgP^klWSWBS0 zaB)Q6^>sd0bfW0JcB}VM1iA28LQL-H1|%jnY2gIFg>4V-5jms>BGPRCxJx2hUWtis zAKpi{avCLn6I=hmFToTgfXhPdG60@*8&?dlXTWF!u~i@Xu_}!g_Tiu5U<_%=mcT#o zZ8O6M*ndQZKTBZB$un?8TmBVHay|3e@OPWUJlx6oF!A zAQQmeu5fF~py!(o-;j(ceIw|@!2^RMfrn2ASMt@}n8yQU5C$wX<5A#$(>wwp^pxS> zLmn*q!7X~QfA}_|!F9z@pG8aVOZp7pVN~)Nio8Et(Suce#&u<^vBRF7l0y8NhisY9 zLq4OE9WPM;TBnKtO7H>R!aNUJc?P@0zy6zVzDs>QL9tqGL~G`^ooS z?w@A2yY$~~>g#_+zu)Wm?#uYIsq2rkPAAvRCQywwbb=@s$a&x5l8`$z(q|ftG_>a> zjh2nu{sd&M(5;3KNj(RlPO^dXC|smEMuEIK<^A0$h3*NSLs&W6$(fW^eT!45STDMW=HfxzUK zll-Bzqg_~6F6-+It*h#zGE{O!Li6`bL6V-Kf^EIg#~q{q?Db5+7+sxnk#vKvMlncx zS9bI8Uq~qw=U~T(uV>R$O{r-%*)EcR(e|AEUOasu;zYE6Kb`ifv9hray!Y{!(6jU6 z1oKeu^_uLfa0YKgnQzn^TNm0>#SNaOmNMS8GCrT=6lFgbk=L=1PKy-N!6BXTq(Dp$OV*ZjrkN~e%(KR#P zDcl}{Oy{YG--_U(x8i`bbyNqz4i*-K#Av_d={GjK57g)Gh_T>(4HhW*FGz_Kd-hF> zTCV~vXN1GZVqJE`Wf&LKRy{;u>asH~d*X7lRN7bPw;)VA!=E)`uC{O$q?q8U&b2hQ z9w}nJcV+Lxhb+1h#-5aV7SrVUsWDb4>@iXRj6K@j7-Lneg|QIlb;VJ(1uzyd=pLZw zW)&r<=M!+?1Wxma*22lEnwaS{D{R7?q_86}@2!j=>Kr4luJ^_OEkazC$~bnV4^nD(+^+cp zKRv-MGEMb!3WMs;AB5*nt^4s3h8wLiUTh)~*1|`SGmsTRYroDwyOBD%+$`?ajbtBK z+vr7fB$O@Q?$M?W(gt%3k8rd((PoK~oPPt!@~<|r^!ani#OkAhHl-C**PMUDQL)w{ zK}X?HS1Jp;@?}6-r{~NG7pEULgD_Yh>JfMIg0A#ZluRThT$Dqg5#*$i#zWr+5$wSO zYF0PEhiZ7MH5714*5L5_87E-)FB7c+a)d}6izly!K&?F*ny%rS0GxMyXlmj33alT3cF>28-&S5RTt6jerr5(HfmR*qSVkS|RNwo{B}DT5 z9rT3u5uWRWV`t&0PmbEqnJHsu~VuX0*}azSBcv6d)6lu#W5xH>Vh)?HzHYF2cNQ>)5g z)&ERL7<62mxAY>ue38I$sgGbh8=X{d&Q2&`z6MXz^+ACP;7>#^ltTY3dR0{1hW#v( zv=h;*x_B@Vz1kcV>`2`@Pr&-W@P~~V5*R9gjRa=TFu?WQ8Ae+0f%Y#ke2#T7MabTz!L55DW%!g2VuxZ^vjk}^~MDo)Y@ zR}R17Fz*I-TremOR&Q7Bn}&~E8(c+mD#DT54-T`S1LpaK*J-kYisxB+j>D<-TvH+v zLdO!#Kbs7z2MF@Of-T{90A2(YR5SfG)Wo zAXvg9lV*jgnu?$Hb19s)W~CD_jobH*=g5m&&K($jWJ+5otSv~ftNs9DkR54Ga0@rT zagryoGMr;wnk$I+kFKdsOHpui82nF!$6}o>oI{=X5H>L`j#-2#ELhQ5Sx$x8vyyB;c_2jxi zNVi-4a&~ZOwv+pRnZP8x>&vGD_6(odEKcBO?2!(uXx92=OS44vmYOKd^3xE8sQpaX zLT8XHdG+b;rM3_S_~g@#W~tmMC^JOJN{3-naK6J0Gw!RIKLZV!WDa@+Cw z5pI#%Dt?543SG&xAhIt}d`dG-Ty~UT0K*TPNj!&$lp@5OygENjSxuZfXvbZ2aAWkc z0VeTf;5aMZM0~l5X3CWbLKW*cLfmCON}ldyjTVVsC%+RyuhgF%_Jda6!Bk0=H7DA` z&F}vKPa^n4ZX9zWwC26Qp35x~4@EF}v@@%Fdo^mmy;NW^+i$b>vLG-mlv^dCz^~2np+51D7fqqgdYOO2fDKLLalAx; z>o_XPLpa!8e@JdT&E;{nf2pp^L<~gi2WmS0SRkDtP3@2EMXDemsgKR{(+R%5?1=Mx zhj9UtLcNu^uo|Xc=-a}}n?;M^J-MhJ9yYTJ?}?mB6nTIW`r>}B_MTAA-V=*CR=ge5 zwx8Yh3{ujE?a&mpUhON&V(mRqUCcgCTxYw|Ibni!FF5T*)K}bBodcDd!j619c8R$z zILL`l!brK>@H=Xnc*qi5psCi}I0muSKuCEgb~Rq$twp2loAN@a)IPOd=vyL5uWNIO#P94Qo zPt>AC1knsspyL%$e+nH>5CV{JUlH_mW5CUgVfKRi7D}u6M$F<|5WJ34>UDJd4$H6@SU`0@1{7#Y_%t1djJ#_y5G;$R=clQ?d#BehFWTtPZ6_x zUt8#|x~9&l9O#Q#&<^+V3sh{#{q5^;YwgRO|0>TN8OhJyUJJqeW>t z`UYvk$#*rS-8IgP`*h$PrPpp?yjeV4&EF20vHa7LFj&~w9eiR5L-PqIL?V$?SKkNX zQ|H?ojA83Y)6y|!Mu=o8^HU^@Yj}}uO^A%Pj!Z}zF4Z))M#t0`-tA^wB#eFW15*Xf zz?8o?(E>JZ)7a_Mm{GijB3X4`d~2?uY3`9pbD(6?+!`ip>cuf0zg~xC$aa5e?cvt7 zF$OHd!OAfMiXYI5pVx|4xuz)cbVN!S@i!><(t}-4ewi#0VZJxFZ>CFd0BWQ1eF(mf_QpknatD7^_7dcps(P)1oxrCnm6Jj8=bM0^;)7s_@oz z;@(MhMvg>3WH!>n*}5TztG#$;W7XMpPE_ZVzRv6HEJoJ!$f99GrsSWiA7kq_k3rS? z@rCqQ82u7p0N!7i5N~bi@^m9c*kTK6B0X_nV zHUH^=mEVVIMVQ?ochc(y2ReBQLhi0`xKF)?4STpLlXsGk8{EMNH{vq7)u!Z>kt%^- z1*3XbwrOgiFAsMNtV5Abu`G>bQ~==zdpe|p=VWeD%-M|C%B&_=f~Ziun>K=U_{S4^ zfVrz^C{AaDocMsVqU_l#_U0<4SZ_5lAbQPb(y-pZhIgE}t=J<}x$AQ16{&2WIKvT~ z{DZFr3dbJR4`hq%ANRNW6=wkSBlgIz&7Oz_;WS~0Sn+g?x0-rJXsH}$#R%|bSwWze z-KIYPEOjJ6r;b>)1&)~X>d0Pcy4<-PH9(buonTOV#W5VaM0_y%&_NX5N&Hx+>K)vf z!Jzi5eQFeaW5QA_xzo{1^r1ABLhDwBaRMjcr504lb}j0cYQdWtwRoN!2rDfMZF>mo z6HA0QizRZ;TLvu zqATfSCtmwxCzI4P$^Ai74R?P3e|4b)DFTy!F&Q~Z!NH{>?`f$pukbUOHfT)&b^tsb zdG52vIVTC11%nI{z;c}&%v5amrzjyp4dEAvupO+Oc|9hI&Q0Ph@4oDmT^T^;j}}t# zxCyg!U1TOfr&`(M^htlxPs&s#g4_<6`@=W;;3X!-gp3%_dJo~*d#jF4HDXH$E`fAQ zYY3)nEYfB*NsdK-6?-W5F;qM;e)((JzB0dOWT#MP_@&K?0hWcGzPz>U9ugL^=De>g z?xDvp2OW($BUE=+8OfnV7UUVlA#Oo?H-$u^gZ5&oCy)ujok{}F-HKq*1~LMCzs{;^ z16dBp=JYE8Sx{dOWWXUXmp!&evD1$6%h|{HM3ybsDOkMF(X6dWpyQOj+(ZZH{<33(PS)p5G=_L|C_S#`D`1$E;!CC*KuZD)kjYTKKmDDR=wkp2z}Hk z#SG-`efK?PA@b>EJajaBr#{Y%?2*hP(o*Uu$eH4TbH`8nz_h|G6w?Q$u_MMU(Gbf`aO!C;^uK3viS;?-f+Qnh=kFhNe=f=KUw!{ zTqu)pj{^T;^NFaS3HKo6!Y&j$1W|wO1yP-7xbh!rP0b#0FQQOb41Gb5J?U~NS;{~w zF*FcH<7tMaMdyGSRpWlC8MOk7_w(CUrf3L~xF60%z7>ELeJi(eiC5yT}`4u^(p z-O_yw&0>yTtg29JMr==>=+pJr!tuf0&xA$3Lz`Sl$aHpny} zeLX9>JiA?g?mP%;Q2k6btJjowEMm7>x|Q`lbaqOU1CW9;d-=%Z)*XK0T1i~~u{%hF z%Di;;ZNEz$r7H@_qbuRoqzqe$3RfPxT4#p;)T=#OrsvbXG)I4+4Iv0P$reO7kIThs zlP>ghL4O$C!HP|_=n(bD)Kd~Mx~KHGJpkz1kNxS?aDk=(z#jtuATuCH*aJvl^hm}p zqVI+KE`~$h%%sS?!Y=V->0tu4@Qu@!j0XFVktY6TY6pUF2ujcS?K$ys()4Gm_j(3L zX;$Ch(^*LDWJ1i&I9+}dN)IGD;xQq@Y z?nfUK>JokUwg=~_q7EUw@>i;+{T1$S#gjsWLk={cr}25G^xY+m^3e?eIOV1&(inP7*xc9EB z9igDwkJfu-#aZec3*ZPC!-MJFn>M?oB(otvlq<;&mbfE~7Ek8?IWEg9|c`vUuly&`Uq6=qKK1vpp?8euLYR4HW4u30C5uV{f3 zFN9EA(~wD}8=-AX!LTp;z(YVEQ;-BwNWD$gq`=tT_bPUbV{ul1jYSe*USQ}L*C)-?AQ35GF zXZ+LfG#s(fg+1EsIsphQqy?)>wz{6p*|jbBupcQP*CbD1AL(A0KUpmhlk`+u-RdAF zEs{&Al1~OG(R(Jz$HE4F`Xd4Yb?!CeQIBT@>2xYK5fhpP3P|{I!C4{siu94HkEtxV zGz+v*$dl6#cnC;*>Md17jQIQXwM< zQa(XVhQGEXVBDzNfKp$a8M0PcvKGvXqZt4JqRNi10}F^L2WriI@P!0%km@;Ol>;XQnWr)HNdEQ&-Cxv zb-x$t-!iPIJE>1T>P$;b#UU+D(}L^6$|9GH>(7~1%G(=&IwDCQ5@w8VkWmO%K~TX8 zZ$sJnADOp~{PQ@(=>MU})dbPJ(MnC{9V50qxDjmzL8NIAHWJy>5n~=Lf^3~Pj0WRa*jyHCO zY57ZfFrXcG7zjvOqL+IbANSH>*xN269@W|zqm%7|@Jjt;XwTneHUQ#!1Xp&)`antNuf%)t^(#TACZAUf`F z4LLBNnT;vPm2>FNN`4_CQaYd@ut2(j90~ltAss((ARR>o&t7y->-YWyPMifPn383C z_;+_OSnCz}x6Z~^S@aj#5S{Cbw=#-MHee`ou+ezW^;ucb1(Ke1L8KRWKFpXXoucAySY)$cES zd`*a^Cvb_T*vJ0?*o1nVKD+SRwE?f|cFefHmvMB<1?3-NLgsSM#Smf2~6Y=+~x^hC=Z$c=d@f=74(?j3i)0{%;@OZa!3 zq@o}P$Sk4)AB40Ef*dI5x`}o~mlgw)AfB%*i2HaP=9AYKIb9ErQF_cXz{SU8_eV-& znEHPHwGY|$TTssy#63ZMyJ7I@wqd{wA+0mvRt5Oz`tYpaDSl;S^x zPt%W9Z~#ab=CRjO{}f%{T(@u5nV^T@2ba&)z`kox!jmFDn54i zgYbz;A&QUxp77`!@qM2ufcd3P0f3^NdmaT)U@<^X{%Pl0{_YXh=TsDBU<^ZukTu_% z-4u@HdnEHYo!o?}S}b<}wI-7C+aL%o#0`s)@vWS~MskXR<_t|=aRI<0FnqrHR9b8C?^2oMX6Y_q`_l16tApB#{P5RG}!8T+CuQ->ZL~BhXMhYJCJ9P+@$p zQN!%ZDj`f8p2V-H8|sAZ&21((sam-_UVJ6v?B_ca0kmj@J1_BI)dAD(euGzFhR|#0 z7--<|5!OY&VCa~};7Z4Wk1~5`r_iD{P!n~=>Xd-K8?oSYUj6Dlw`=*1jynt-x|CuJ zf}vM5OTP-!#2EQ=5$6oVIg^N!VyWtaPng|)WvbM|L|7cMl4nps_o#74#@I~Bt^+A(J zUXw^(UHGhM*(735)K7Lh1L=qct(0#n(~pJFT4u*HGIz$1nM9rR(D9s}q+%=K%*5}V zv=(5pfBTp)Z#gtU|LdXMwB9Sdct1jv`oRjsGi6E!fmgwAJdyf-Y+nVw?GE!RUJwHx z_oXwXu_p=7S_)E+H8&tec?tD-qd&+CE-v6tgkxedL3hF?_?xgPKd8oc>kn~D2i2!K z6yiz^G8Q)dxiQzcE4xu+ywPLYm3@PLd_(#HAK8_CWBPHEe%zFP+^iorryt*>AK#RI zfXz6Y(vM0%D*qs+Osc)8@G=#;0r4e8aWsbDv-X~@zSY0hw+g|jIQ)%m6J>OfM|3mLAu}a$! zLt%3-424KI*^x+t(;bavtEW8MG=giUQnF(p0#HlnoW2o@W6K1-YJwJ);Wl(Jm>vZQ zpIe~Moz-mns|ovI-fqe`bG|zFhc}2Flfxo)M%)tNB4p=L+&uM%H&pz`s2H+}vlOyb zZeIE)Stcf~(SWhyzAC|S9jQVJ@SO3$z4&PVc18xDksuO#9sF-IEo zKul-&8JHFf@Yag{(KazVLS$}b+%bGP`xUGcteh1be&PIyWgCJEf)$i}_&mXa14M!aeSvzo%u0cx+LRfGJ5MU!Sm8u$ zdMmV2S?tPo+>{|2JvVyAotF>;y);67B59bjFO3P;^kp%asW!E42L#79A-mPTIq|)p z%G3>YCxEL(*?Zw~a;C^D^(hr$FEyHGN-}B{ z^hL&X6Un7)ec~3_Cd#8Y(&TKOyav*Kmq{6bKPlsCy%b2r(P(PT%^B86WC$L-KaZSUSbANvn8{Ku<4Nei9o?o? zsDZED{hAfHVOYUJ&JfkMm_>&2;IUtx1qzj0Jpd-()T)@OT#FG3n zW?D>WXLv%sPM}2+$56@?vcz0Zl2I6xdMHqW17iDz9J?YAKEeofSD1@SQJs)Dpm-K| z%0K`ZRt^0?%gF}kI-%R6$RdR%TD9iWXj=6o89LSRU+Au8ri)JX;4esp5=p>1Zps#` zRm4k80#)Z5tuy^6`aD+`is(X~NJV0Z6K44q{~`A!cdJMNAsxl}!x}kU8)%aj26!@D zp^TX2j^tm{T!+-r0rr~fs3x`4Y-g#$5lgIYxO|LK%8GRW4E>fBdXJue3O^qYZZwBk!p>%o<+&U z>dcq;rJK{-pwH3{4QJH}l`@Pqb#!8tPKY8rz3m5OPLqDTu0x=KETHUl9NtnIh3Rx> zcyf98W6M?c2K5)_DIf)>c)yk~!paM(P+ve<4IRqP0do`E3K5$)#CuypQ&=@kDUpbr zZ>gnT1(C=|vK9<6r!m`2VkjZ3pQiv^7D|{V=wun3oJ#qv9K)YMTg`^wj?CGWZN~tO z&|u6XHOexlM?k)7XJtjO<#Y#U*)k{y5cZEdIB2BM@eKLmA#5K>qT{rkk<+%Q-hF5^ z2gL#ateTw}me0-%D`jWK@ONf(b!UcD-I;;3uyRmibk{qt^dDj%tqt@=1USA$y0G19 z2KOzUiN;b*E}a}02uYS!qcom)ybH}TiUvb(H4G7hAg({Gsx05lSi*LL1pyQ}Y`t}3 z-Lwb;Lzzlk@CD3{#7#Xr&BBWhr2xK6jyqzP5|uZt1N>Is^c_q?flx4^&fs^8CiQG} z<`1kEcdEzZ1|4MKZukO_$g5xd$Y(#&0imiV{8Cy7FPSh_EwSXETdf*!pmnhS@IwwL5BqA6f>A{j@tSLy%TDZ&mL~+6wAe19OsVk8v zDv1S_I3JQ98a6vkgBjI>kqey_;sYbiGzpRccderE8{Gsn;R3NmXQ)N0ur8Xa$ks_A zbxSlvM`kT|P152O#22U|Ooc{c5>o|KCl^PkD*|3<_5te=e2FLKO9AxgaQI)TB@`Ft zn5AApsyqA~d?NN&w=|NedYkH83vGj{j*kAJVLoU)ud|Xt3=elR3Mn-wZMR-ZBuqoV z(8`r=pm_{rD9zEK7)N+0!SI?Uy7^upf)$OSMp~9%$-x-Yh$JIa2*yoyLA(&iLRbgWK#8uxgtifh?&xqg|!P?JuOp6+D7_knbiD}Ht@`cZWw-( zB|hQLGNp%au-c$Mvj?kft!J#RLES0_UQ4{0uE-TZpH1PC&pIvRG2UzH*d6nb2PseC`aw3&CWFMs3{1tiY(j9eEZpX*aU#apUF~7gHoZ-)z8^Dv=GyB1 zFX~u^lu!TY7jLM3>(7eeO;Cg0D7r(r9V%X^dK=&1)av4lTaX>!Piv$K4i(iUqgSQG zLodzZfcyFKDRs2~`f4#I;HZ@)`$8OXZyWAZM}hgfGL8mQUn(p@mtwAAYOyR+R3BI* zyM$Pp_ad^{wy1vd*O+FKj~)FaI#P8Es4JMEsGdQF9&L&q(cLeerRd?hD1jxZsA_#T z?_KG=+_=t&CLsCeD>c;%=rkNjJ{N>CKYUW1sBc1J3q;ZCEc!F@0Nn|~-*2ZWE=@N`?o=q?s4pL*Z zSlOi*{V)?H)_tV#ZTT?`# zVP%h%Kao7n0}l6GB+Zf<<0`R+FzPj0AnKi&u$`+&KBC9ywnfhz-R8z?{tbI%^%V}x zvW(edsF=fGa^^qKg+we~Y?$Rt1UAzE2`$Ac$9xVymBSX{eN$%BEA_yP3y#(BXm>*C zj@$|ID6Q*+){K&BL`n)bOP=g#R%((mRI@(amF6!smf}vvNAqh@$n4%Ejak|UTy#WM)Y-5@7uYs4JM2{JGj#v)wtPNxgY(3ZAU?s7$Ws)HQDFTk5q;*^;+u$;1~o!MKqsnE{oBt708i=y z$XFAw_zsUPNx3FTNcT8$1bEe!%<3njd2s7}}a(cQdL-nhRXxLkI929M7SI ziTn$ugucf#q#GMYDyjOK*~Z!MHaxYfn2Vw2i-(bA!;vV*er zE~%8(tDaYfayT7Jj5?NJ4h@N82{bn8P+L99TNk$oP%}v!d+Tk%kWoV!uv~5A^^vO$ z-lNoaGRz)FAZo$bG1w@-a+gSU(OVXbQNuti5-`771*w{Zb-sdmb!IEoYP>a|XYtbTk62*@7 zIh=vZg2Of^RJM*YIKm@1gGQsVv5)i;&cMuGfipNJ8>!&KrVh@?vUY2q$|f6GNnJupbCkD|TFlFtiE#aljUgtzkbZ*k(V{*MM?{ z9Mqh&)FR95c@WvMZ@$HTLiW*2&3>4>8H+m2UXp#22QBtf2Lv&x0rJeX*R%Y(%?ZNjR!>?k=xGTaii1u9&?qHOVFHTgk#6m!dbKy z3;W(kwW2@LFpmm4Hu#R{&KBR{JZX=IL5zu(c~N?ji$1G6Tag!PEAm2Eky?!6oh-j6 zo8sqmXWQ>=UHt4+adqTmQ~ZSP+>y1q_*!G5%A8$i`MM(;SiT-!Q>!iC7+ziL#PU_G zQFv8mc`p@)WqtY269wgj??^{YCktY6o;&idtZ)wjQ{@0Pm0y{SI-7ffd0 z#=4j^c~`eP6=R({imA5My4XrxTbYWzD6645(zeVGw>>Ak38`Q4IIvc-Q!?KHvYBLl z-uO*ArkA$N?`$OVImHkiMb+ifw4fn~J!JkYHerU$&*XgUD8!UI3`HT^`5fa)YnDd4 zGtG=Yt~;aM>3YVo!xEf+5Db;qC=8-gon#ToTLmD$eb8iVkluY#t{50uwkvx^@!i?* z&*sN#%3R8K`@-@aWR zJ=(QO3%T=yd{>Gv*V0nB-p+P$q3O*NxF~=WTvS2Fo(GEJ4u=b<66KKAGAutHw8v9w zvcE&ta6OJbkHertJJ>#T8z@&PLyH>n?vMjCA&;WeCVC=yFSQUZ3x84NawDXcbG3?s z2}to*OMAl1BT}@?S$CiqGpSHKp#GqfM9@BcN6jK8nW z)@Z=b!^n`^7w3QsKc0g{ds09seo9@}k(b;`5!D-1*Pr@b>FOkjVBnp1RquW0A^Ork zRON^6k;a2CBg#}4Z!@IKeHB@*-$RlHJBac(ut}9q6}mU`&NqT$J-*kvgZs-gI-laR z_$N)DBniXI7Jo+Uu6dcjG)t!F4V<_O1V6&O1~jRsvKmGO+)dB(U@myXB; zV5tc(SlU($gF#32@p?VTW&j!g0Wv7F0U1*U$Y$u7K!*3vl?_`UqXaz~NmhCcX>}>6 zjLxW4uW(`Gq_O#nF}?CZzRc_>V-Wrv&0zR`keXmLC_EqWEyM`bRsZO7{pvq_Ca=D) zQ+@J795Lpn9=Wv-BO#M5^Egf()khyY)33h7N3W{>-9ue{!}e?T>HVt}Hv5CikhtcR z*(bd<_hi}j-}9Ys)nQDO#+h^eLa+MRuNLHvuDEwH> zQ$ZA_d1xgMT4B(gL+{)tPzRxaTn(Yn#4+aXb|`>bog?B+URWfOPjG)zxQ=_c0~&OP zC}P~#N{v^(J;8J-W7|*FailW^`KIG<^wq=e(^`w$XI1ZAghN!tyXf5kFdY4tv;a&E zAUZXy{_wMGiO#CCf9MIVpS-q)Sp&sp{{C4v2a4~xEF2T)Lc zYaq8N#Y-;Cw0MlTNKi_lsVF-i#b%g!UHR=t6yZXr3CDcr*jUnZy4&hBYpHaa2~?-K zxYL@?v@||ph2WBaLZ_u7Oginta6nLzP9wD>CsmZ)m5?_NKuD!cQX}d#HhAi^DpIG_ z-*Q$x#*FC0sjKcGA#{nd@MPz8A|f>BOwJeaFh4&V&(G@l`Obj>%!tw+vXJGYe1raR zDJJ~xF9pq=?o>bVM<%h2h-{j?Pj!gvVxDP>F`zocoU?RMcC?Ydqm@1q6(cZ&2F*M( z(y|M{^e_PS2I*|A>7~=a8WX5tgs|#}(W!P5mzSKyEcqsdg|b9Gx<&HnBt5~WYfmwx zpP$v%(yTi2sTIovG6*_=ibpWgi%ixqm5PPK|X zl8QYX#mL&4v!DsFsS9g5=u8e=gcv_zDM6i9|Ggw;;VsuK2xWoji`Bk0XL?Nfna@m# zI;4+!oNHiVJ@yl+8xKY|?r-%L{@#Fye6RlW{wVfbK7r)nR_kF|=OZWY5#=|&%mVy9Zg z9%&VOG!;7)#ZI(};XrH}#XaNNPDC-CSx_S+HcnG)EfqT+#Znr5e|fA`j57fI?EWZr zxK$gDho&~%5iWK(ij|W#S0;s4qfBX-4JSp2=&IpQ!c&1?`-H^qo1V+ZmY9K5Jc@{p z21mv8RFr@>m51qgw^?F;`gPB^>!iKndDyni{XOHJ?j_{;%=+Y>99G9S=mOlnhkK_U zipN$F^!P2C1`~~^k<|}tBgrdUW&(Pydb*&vNc{0VMZA44Mr6Jh#z>EcTC!4GA+3Fw zw(P1-^$X~6QvUuUCqaEN8%p_;K#_8bH%xGWU4~NNUr~XDq974lU0WO;BM=!Tp*Z33 zB!pvl6A{k9&Ex5h*u1TPLJN#)&g3chS&FL?X-gKGydIVvPGBlgt~?F;Lh+>(F=*3` zRtr3MM{{Q0>L#DTf`YLW6x@fQNPijQ2D}{!gxm#un4WV|3g=bL*vIzF=&j!I1fC@A zXDlZxLi&1SD-Pmx`*zvD1TCY0Q5(wuS?LNoY7m>mt4XTGF;wOJh$RYCaarNiZwo>N z)g6=tjmlW!(#*)E`Wln0=v*ZFl$@KCZ1m$_>5!gIn4r!>I=D-P4u)p(5vcQkoG=&4 z@nR*)tvWVzH7{S_Gy|w+nxQ|{RC)r_G?&T*K_MDwPct50U$Fm7VjUfjnD7FnU6zc~<3ZQpu}}ocK8d5+tt$7ID`Ygy2Nm z?n{~F=43x+0b5r}9SCCGA*sIi4UcbOxSp{Opz6sXIOJjJZ+c8%syx`S!z!Bc4$0%=$^%#aJ1?dH!On71N84zzZ7qa zed=nMdidz&5FxTf&AhXE@9;VH35!cHBnU>nNUIhM(C)rl70QueZ9d9-Jdn0=*RXNV zvhpfIJnVlJbkv98cbUVxq<#Y_ z=}Og4h8c^Uqd|-oYrB^1(tfa1y{7>)IS?#%1ZYNmAM5H&nE>suV8A?QFtgTYFb~W5 zedW?2cvpUivhzR|5)vrhxo@#YmuJi2KGHUDo#UO^fsEiyOp2JFdA+sFd9!91x;6x4lf*MRZP?`-kYDK`I)kMJr8K`9V0oG#Vyl&hh4|S@4 zaxu*KOS~bB*m*g`?^0&jKmEPFk?Th$pOG3=o$?U1HC?WUNhc5B+4TJD*$HR=Pq0s& zj2^c6ysD9NT-4>Sp!oJ^p3!JDmZupD{uV@K%=Cl8W*pXXdrWnwF}1J z96m@bsSdwi^UTEXSI3e~iHiP4hWhhJ#71H^YT{bX0)_ev6K%SnXjHli{wd%Bjn$mI zJDySakQ5l9r*^{47AnW;IP)?tWNpijVI-hN(PJ9a@O!psk%MhU5kFIFnVCjR5XSdx z3G|aE$J>gNnw0v)JcaDFtC-#r2qvwIJ9JRbo9DIwcEq0cZB0aZ~2{83PHSZN2fFWgJDQID|n3Eb0xbXTZB0zL~x-Vb&YX15DxY(~v z(8WRILX{~Dg~!Le9`m498=z~MEW5Ik$k}oc@Nhv|aAGF-x`>AJ7_Sv|@_C6IK9&dd zI2guvG@92n#-u$6o2C>%5(Y*)YctRnABv8{3{Jjqcg5_>m?*NK7{v|gc5%Zz+}(LK zd&o(uaUgj;2*sM_O#ZNJv2C*Nli2Feh&&vloc~D0fu0nJjOLY;^|gma3p^*+1RqGx zA{f85)LJM-0^O1pFC?}(+jHKhU*x3M)*0KCNvusW3l_3o7S z9*J2!J@XHxn9P-I2~$eH&FY&X+46(*mT8wOjfu~yAN|-2If5=S3_zn^ZlWh6Ry+AE zwV-n!T1kQ1R_Nv>At+7D;Cupz1S03o0jQt zpIS5-9gdTYC7&&nZ_$StCsi_mK_j;3NqffxGP3#P?SF(+W8_G8kIVc`o?SjoihK>a z?jcRCYXHsFD#@oHHmw!uO6I>&4qD7GZaml;{&;{PQQ;5<-HmvlKf$qat2MmE-nG*0 zC@c!4 z9&d5Ra?jkbH%UZPy?0?2CPfXCG62unX6O_eO`|B9aZG<0b1hlQD%l{2QlZe*`~N7b zK8%CnXN&6J{7gp>nOLA z7jjCb7jPB7z&uOVRlZN~4aNfgB*ubze}!J4wGY2mR7k?7=z?3_m71&<`!0qvT1zu!?sZ6U^m~MbIF; z3#=lE>Sdvk-U63b#g*h1_l!~Sprh(-hrDiyneHaXtT^3!PwYIDnO8;f9!g5B#JsZt z!13nDHHmXKOgC|vsCZKAgqP|#8brri=u;$$J+h^A%d7O|_~~W>P zB#=lU$?h42+5ng#iUK9Xnx3;KuM%KQ6C5+*aF!pF#e);xPy0e1pOkC5(p=S zn1q;+3#&3RBP8Ed%gkW2446IisJGa7pe{QGgf%lR*-B`! z5v}E@Tk_b+HA1X&sayIxTh1#ss~LxUH(&8_*g^CcJC1&++bHSHQ0C2ZGU+6jo0Uvz z(F>jxsX~{`3Y(px9nGxfiHXr^;V*n*0DqlikiNE(xI{u%^M>Rph>wHVtor)OfqOc6xp*{PPp0efbUhl^{2W(N%h~jswOzFCSLdhWcX29R z*V6S^x*mr7Xz6T0SYUP9e^2@En*Sd2-@^!^Psx1f@65it2-?BCIO6=cJp16}*#q^n zpO`#5Q9t|mf;ro=Vp>tV3G5z~WjT)lh%W`tND~Wn%$P)`<25 zBv?>8v!BQtkeqOe9-e)C^6ZiN*{3JZ2$YK9|N7+Fx%$}`C(k}#Kl}5^vuER(Kyp7_ zHfS*01rj2-d?oV4*E8w*Xk6vYG?pBWq2>gD8%r*va_7^P2$cX$x}HKl(b8cLoe**E z&-*X&-`t<}U&Y*hzBA$zb&0j*xTfFtr>fo^HGfN7-Wr$vzUZ)eckfv0-UEE289Nr= z>RepU=;2h?JL2oN#pTYpAggHkn7ee?f7$WO6C%3#d)9x6#-8+)ExI1;jd59x%eJ^M z!NR2zY8mocOJ#S*+cGX}I2H7>XgTo1E$>#7q{8WAbFhcy1Nn%)?aVec_~IRHJb6X) zWH}+m4b794^yIb8lRfFlPsmpZ1A-P$upVxDdUNyWmh|NBHBa7>p8Uh+$=lNt7L!s% z_ogS`J*oRhUH1nk&mL%=O%M|`KKk(SNx4Vra-W_&d%S-3>yu~a>Ste^Jo|k8?9V69 zo~@sK_oUq;Zr3L?$mt342?Nd-ti29CtW&xg;g6=Fm@z3FW44x%V#Ma`B>#wB&6e>B z{SW_ZDgS@J$v)C;vX68DJO|<_CyBC;Xg?uI&>TdI+f2zvL28YzN61WSK ziK7PY*hpwR>`-%Dwn+f#AYtUsRgl+YQ{*=?UkX0eLuXpal(($p+=`-**5yP(5GmfX|9Gofmqm6KwqF#sFa|es$8dy zxc19Heh)K4P5fm_hihBnuB$tq#QDQ?N;&!*W2|W&JXA!u-kDFXsBs|jEj~`28(GDL z6Zh6wsfwNKC0B1593xb3J1Q9f;QLs2gWrOtN*KevLL-=^pc5lP>@*CU1B}sWbUoH&aJYIyVDFpx3x^lXM1uu%N!Yk*A zEmOH!t$uBa4M!MUI0UKAYQC$5WAQGR1&cEOCmqEWXRK9pWsPo@&)6=5O_*}5PjJc< zCJDR3@Fj|cc3C>NlUN~Fyi+cO5u4sYkO&e0Tnq3-9{7kc&T`_(jF5-YM7bN2Cbj)%-Qr4ksIw%hsv zN{ideAz)f^CX})dv(zdW$66A91_Z}F`oTWi&ZPWku|1a>jXK8GNwR|i+NNVPo~-8E z#zQ5LW>HPZlQOjNdI^xfdAvo=McLL&B_`h%Pm&fod4`vZx$v^~c!tAQnd&8K(Pzxt zpd8X&$z6TJq-%+na)=hq->4V0U_@@`1!L$bCX5XC#(=o*4V?P0ubG<>luZX(Ze__U zrBLH81cT}Woizr{h7JVmYc)1~_$s>L4`+EezWmoa^mXa4#SoLCnQ6dAEwDvcC>Fzt zk{&U01fU4deZoq2Jil*Dy4eLf41$15#vJBgVX>oUf<$1F&-Ue!Q7tx1tCUhk@f7?L zYSIvk@*17L#N(*;F`!tUES>o~`l(u(V|K%{+UyqGv$A`ube8BnRhq}^7bC0t5y$_s zGEa63MTBsP>GF`30Rb%L3w43MS`6zd)l#z2C7LD`44TFU<>qKA8YpOBfafKx z(DVkM7=+y6zygl)ASIF*CseT;>5x@>4vaU6H+QNPtpK5Tu}B17ahVr$YEdz^LCQkR zoihFw&a~;r4Hd^1iG0ahcU`_iiaU46YfT4~;U5#qb#1G!DYo&gVp`I%58Rc#UF0F0 zl89YNM6kotyIl);>x3aA<7BQ&c>A3AHz}ttn4-0|)*jhq5(YAg73TOLC{;khUR6fxbKq5;gfK)ajKzR+m*hZ!RNKSzj z{{<=l^{XC`L{pG<|MGymCLovqIUnFN>Lrj0kUSRd2wHJ8aQ$FoKvqQ@{{)!UVV?bA2rEHhNq_wJR?#-ZN;K2eW<(8oOpnOPle8$T(S6mA2vpuy!nwc@=0Phl zJlRna$k{xp6o$szJs!EZtcicz9iHxL(-Z=O?@w!qmUT0q-6Y^SzCANHhh9N5uX@Nl zz>)|GPETZ8KzseAZkDtBu6y%zECgE1#Naaypb<%DsPU{k@PuTgJPsBD4A z^n_)_n`oCr>u};_{YJWPr0ZTKT^Aq8ZR5=*2x{3xhmfhfnQ<@~YAZFcqzYvWr1Dan zotj#+VW|{Xkk)h*DU@DsCfbAv#YdB#Vsb4gk)%ue98^1Huu#e#n>eT_`d+HHe*+O^Kf26wu*+m1?PY$#O6THHmH{d zC+0hg$=5KCuK`ML6b)ENvc=3yWF1H+^AGG+B}&U2+TgYmk@LRfLCm)_%KGzd%3qk;YI za-nH+x7+0TqD-fZ(^nLV5e}dk`1-t(iUBzS0L(9ECn|$nB=l821AVKgI8BB`lgOqA z9fltS5)jJekbG~HGcb5}!km2H2m+(>0hlBDhW$y-iNo^|S^DfOSpU_nupWK2q_1d; zeIBaT*yuA3X|%1C)jW%#4ukYl z9gjh+IQt2s(zLj{46GTY_bDimlK_E$S4aGkokAvn)S{VP-Fk#eE5@!Kh)Rpv)$LT7 zph~ZzPwsV3Fspk_LjneD1Yl2fTu=W3J5JVhwLwz$D(h9dS4ef5@P61)k!7$u~ zNv7WU2l^UvRpd~>bn6e3J?0N>kGX7ZkNL+AeP~Y#RB>It`Wj_UQWhi7ni&qXhGe8L z2tkB^>Z(k0@=xlqx~^zcUa^!gWcN(VnyxyWK`2d=8W56<%8ZFdnT{9EBo=EXadQj~ zCUI+vN!;8piCfxCg5$9`%!Td=FyiIVUpDytPTJ_oHYX4d^W5A)w+*`_P%E)ZhiujC z(my8b5*DP~b%ho?$UiG!kugpF2X<{TA7TYkrJ7WlV7L?&%5Wl*w)>>wL0%C8Y3Tq6LG zcaD_8{qkB?iN;GQ3S2%HSlieuVC({8$EGx$;plpxPO{Nej;-R)9v!Z3o?z2S(VwaQqSObEbIo3K2P-Du;siE4@NxvPEmrhbv;Jyjvc&BAq@TNy}d**BZrqciavy+xe>9j>bD;%hX1aU4FC*Jmq)9bhVm7fRn&sa zHsV~n3$x{`v;%{S90>Gk86|Y}4RnW#eYqOAU7nsSB)??xt_ALWKs_ zt6bD}`6`~@bzt;zRTH<@fhBwK7l9?4gy}byo0#Zgcl=t7UuB?8xkE$Z{JgAuxu)ag z<;!>B`k0&8zAR;I(K|WAxX1e=NVWg9%!es8dv^Qys&X3v+}my&V+d?z*jrRqxFL=% zU(Qx^OcpFuDEV^I9ab}o7gmGk_$-whl*`PQ42NVjuY*}=Tsz8_%K>40!mbfMZIhDt za^d0EdZHQ7ZkqpEJzkc<^mUAWwAJs_QFtTiKh@1SnMEz*p}&3fGQDPHqU8Q>m0Q<4 zWv&2^o#o%+-_AFVF_L6@ylfgCTWoCz9u!Jmgml+}#}+=5RYJKzc@^-8cbCB-uu_a( z`aU#-cUjmqJJIlX84rmMgkAKN)YG{4wPoLjEm(;)B5e!Q8B*o42xV*ebx9593AWBM z=*eXpw9A97jUYsCPlAxUi6Hckp`KU}ZepeuaOgTUr7MDNy&!%yj^6Q>I{cth@>>VC zZD9ts5T6)FrCi+vEBI91x-_GKJ4AdUdkyphe7=f06jy*U*XrkN(@*Xu{q&EzpB^W6 z3F9RHDT_DdRR^Np1EVd}#%hHY7che*Vm6gql*DzDa%<`gAkBc*%z?8m{Uozu)j$H* z0XUdHu^gYy*lB75QcO=>sd_+1T({fxx(Itt4l<9#bWV<7ljlNS5OUGS=_zPKBKdwe zLKy4i@q?EMKeh&bY)$y_b>Ii~m`P3{4`zUXWzTqvpmU=*I7?d^)s|38c)Cmv1UmQ` zUQQBKQ(FY4Zmnmm5SKvO0y3H4T)Lj>t(q~_=I=cN)K;qk#1+Xbr%iyk9;{;FhA~5C ztkN!+2BzOA2iB&ejG{GGPwBW&agRRSgh{|3ROcVVig)8S^gS9nUmGi$SmuLOi3#9E zYyy0r8Fw50UQC|#Rbd7*KpO!*5!L1AftP6>mSY}ZK&DfIx5mq%MocktxS$rQ*RkZ$ z)new`;Dszy1N`lyt6l^@-&S7Dzin?6Ki>kZubSpxaO%X*DU|qEx@+;TIX+9}UMN4` z`epNT31-cP2*nPeiG-^;dMO(tyd`I@eA#~FHJ1?Yzy&?HT;7k?#3der z4N_^26sdM;)B2$qyGoj<(kJ!HtLm)m0O8;mWg@cx?-Qap-ex2yx71Vne45M_4@h-L z1KuVbH)Ej!JxB7w;C1`T>TX4N1@|3q>B{c9PZ;t4U-W5r)2BVDPd+`k+=@}TaLr)& zU*S%@dNA5*yqq619>E5Ej{!ys3h?DsVMd|EhQ9eKrMIP^Eqd~S$=3)48LAQDg>AlH z`u0e{JH{rNV8TdD{^dcnL;7xn+RTQojDf2&p0MvfTCRRH@`VoB32v6pyrxE&BvhZa)bb5P%Iy5P;=9RB7D#Y)Ebl)r(U74ZgUi#6y^;F1)=Q9w!t+P zHj{V;XQ5{cw;Rr>9YFNj>PAAJ9Za~b34!b3Z;$$2^JhYBLP{D6f=Mt*HM!rzS-4*%F*MnoQ7ZPz0gFIAVIlp+s2ki-7z7%WA>m{Lx9I}7Wzzg5= zHQ{@fZ%ia8KJ6ZC-Z$>!aHi9Y5MX%dOlpMng=ad5a2~r_#ng>?P4>J>rLaCwjGAS6 zL#C4P5xEsh`SUU%**=H|(75Kpg!T0u))x*Cj~E-xF?T^^2`x1ix?9h!Nhl)Ju+kl# zmK-b^vJf{2SzVy7{#aKKjXE;yZ#NMrFQCXr%&!#I*B+Tyd1GWUrkjyb4q6MITn>EA?UJs<3R6RQt=#b}Z_ z;OX{xJKvv%zCg|pIy-1>~^mjCmMoJ=nVz8C%-++ zogk8Hr4C#>?ciUy8#x1i0G5ZwH`rI|RYe21%U1(d4q{CQ2;aaaXbOs$0xoj70+&Jc zFja30rajvwra0CSWv0>s z9wmtH5k-hJnt);b3R>p-xO#5f{oO7Y}!C#qp#5;q|Q)HC8{+ ziqHOW!6}k7$n+KtzoSv6>u4I$VXhSiR*rVzR@b7*m?cpj* z1;OoThtLzQM{qgoDQRsO(So4Lnxm0OIv0+)|A`sXY1t4I6%iB}Yf!96(Ze{qo()Y} zEKQk55_t#@eQYhXbS}HijMA%DTFYVyb|z-3T?_7xq)GS`FgmRD_NE{c!70i!_b_ho|`D)_99V&YYtXUe=w+?$_`*$4ytFl61b(K ze@7)$Hp{%3b-gt%Z;Q*FzU24P70j1+FkGvQXfCLK3UpbfO*M@5UN5d#FssjDo^ z)9wtGrmeOL4~h}oQ+HBzj^+i8`ErB=+08LbH1#quq8;#hd9ub%>w(s7y_2J=Gby#} z7~uaf#s645g$+pYuYVD%!*KG3E#6nW}cT2 zZNuO10Ti-fZG-DWL=cX_E-0jsK8g69S&EOqjF9xESb_p~6Di;y^+X5?^#hnEP#_4K z!bHpB>mA;QN~{13`WYKTJz+EODr*j?{%Kd7maY|3K7T+y1nKL9tPWcpjH^n(lC`LxL$< zkg$y?hy0IaLEd>;P&`VB*o2~rd_zOX6o^7-?XqWL`0p2K*Auhi2SB74{$`}iy>T4r zu(f>3_8g(ECi$gY%ZlW1_KC$F?-~&EQ3U$7W1%?C9%G3 zf&V*DGQrqY?{DUvB4tL~^#~(7q0c-(6jlqF=dIGB$0n1HhS2LK`mF5>wax}-l*Xbq z`HY8z_bit)mtYQi%s4lFW2^#`HiK0=*a#;cN~wfT=$7ma%Sv{^5$jsx3nkM=IHMC( zL+9y-SGt<=5qTV=V-BsA#O2}j*b2Uzr17rgS%>)CQMO^nbdG1Q?>BzZx963-nLF1tt##UrAusS5J+qiV3Qc>Z=k6>W6kcyWn z%y342gkl8KGw~PjlyN9%0ugw+00?6HQ_U8NnkQg;h$pyM@C1WZUBc5yA7togx1-1) zCTwPc*fMAQ5Dme7KreA0IDj*ZG=Ya567o?=w0MINN<%}Ar~`={Gg@%TVU(1Xg7%`2 zop}XuEbLp%>i87FX(0%3h#o{q1jzP~97v@UkYM?Q9pgFj4PHK9DBmLvUU`@`qyh^IxN}4jYZt`w8pP2nTDdM2HPgF7*Ri-yBMk_f<~%$#kWD zS~IKr=^u4JJx)|AhC3VXz0F$K_Fg*Trs%i>5|*SX0yZgL3tZ67G-gd%sE46}C7eeU z51g+f3L!H-P-VgzzK_}zPlr5Dm8u7H#C21YObwbady@f7dtDsF^t$*AjKEvs0kG^P z;DMTggfJI^1jDDp7%7>ysrI-XkKag!9#RCZRjowH%*F#oFWiT^phAVF3 zIpdjB3~({%Gg=eKF(ARl9YHSEpirF@li%sl)g&ZAJVMTRu>dy_ zn1g&Y%K?Zn2hi2!iJF&b4v2ggW5HwC5H(5W92COV4K1?#zwEtvyj@k5@4MI9`!qQX zSqTvXN$EN}M@`B^QbmNQSe2;=u|!SPrRw^5*Y}?9bN#%JFA<;NM6Z8XCPLIG5ds7Z zgeGVZkN`m%X#y4L68fk?0t5_Q2z_Xj2m#;sH|AVxuic#-K)vsliaBfTxn?uwm}8D^ zjyY#G2IC2e2hxfDM35eDhtY`fIGa|TT36{y_xUMeqOgS1SzDe`pyEDXWKAUCsLQC4 zbsSD;My2s_hEgddvd5T~GB6Pu+z&#b?eTtyaQb@u2=NWg_rqW&qsuck;HM4@4p2!u z{mM>gKA7jNRjI%>73J<#DJTMk(v&H4eN0Rz?m>lO7l9z8*$JHVJZr@IWFLwm|2{5# zQtJb7&|LnTKB+x7(kICj^vUp6r%xg-GyOpNq@=7QwDibEeNsfJef140l;4Kr83cSn zhC^Q~#c5xSPG7D#jq&3o29l2X6DUsX;d`4<(n=kd3J${F)=F{Om${Sfs}lrr#fh8^ ziW9&yB}{S3^EaFzFr4C)5FNumQ=DWAK=Sp9lXQGjoXFLrIFZ&;aq2hIp!^0DC&;&^ zIE^VNPWC>W;<#lYHx@=^7V9s_;8oXb^4b{D3lEXR&23mc+t3 zr-g+ETO#r-O&60(T@Z5!D}TyGQHdsG12vPw7W3$sm1Ipw?c>nZLc=HvHAa84%q%pN zZK1&nE`totTU=-`cQK2}Dv=uk1;;$nR}OR2PiRX17w?moIV})?)e7s0NEI;1Rcj*D zt@v_PKmqI>I-;c?IU3Znu+X5MNkVFw(t1Wcpun1YQ=O8pA@7vz&#=&t_s4K-r~@!^ zt8w!YkhQ*3hUUCe9tFxtk~P8Tz@2Pe0d^Y>4hSm`u)l1f!PIA|Zzw~;!XH6>?k=d$ z)L0V+QlN!oDbF+I@IYMucx+Wnfs=N%#WLm`9S#0s_ch3 zA{J~TXaApoITD)uZsC3y=J@Vb%<)|!x_7btv&bCZ-M}3CS${;C(niTVe|-cZR%M&U zkzA9~cc=WznWJ&>nxlk;8VM}xf}M$?D`}Q^uC}i(jerwEa~Vmp?x7@c!vU^51O|OZx;4mYKlC>ml zTqV3T7xY+QndHgjG*!@)au-FKnR_)kT`$r?-5^DBT0nU@UF@03Y2P!+>8=6oDF7gF z6q>^;K&N02Bj}V33AL$3>QD(GTXGr+X$nWyALD{_3KgqSPLHrtlGD~H~vybTdVPXR0Fl_OeJdfon_a6H_fxapeF$T!)vbFJffeNTv(=6V}(W1SDcm=$h5YcUII{F#F4=Uvlvtk=ixo;ytWxLMD z>qp2V%N91m6%ji zAii>l9+_KdHq~~DfeNR#RBJ5L<{?MI$tfz=rgDMz0c;!dwV>>JBSj9ifgY;vlNW$& zqkPy|A&dr$_=8Q*m|5FVT#65)K|M$?gwf3tZCfl?vBMS95K#@g5%rbPw|$a0T1k9aB>@Nt#fcfuFH{moEE#R9RlqO}hN1Mr1CXS= zun=zym6H75CZkyww&Sy8)7LvXN*rTY?S`+=^KP^Cte0l%NQQ)wN_o zLc_E~4nnU?@e4s^RL7YsVuVETz-~h%j{?a!B&!xw77VcvRA$gyUrNG}*lmt|v4s#7 zMF@^qqJ@2hC@;AIJW7OJU^N+{r(6{P!{VihDKpi`A<(G6&mfI|p=TyTe9uISdC#ba z@e+pLT&Ls^%{wI}v#~#hV?!N)kz0+M=|P6fOf&je)|FY+=36o;TPE)o>p zphdWx$qTb1ddGOXb4}S7#Xsa2i)J{ufwc` zVQ5z~%L@Yo{2S}{Y44M5olkAiG=wVbBj02-^X8=k3ITYVt;xa9fx<A?M~&n$>dOx=6k!t+Jn6JO(DfGH}=fUKS%v2QaM|a~9Ir9}2e10@Cy}UDl~+ z6VIxcC5a+)z6h7n!lLzrP9Mh2ogJ!^KQpSnP8I=)#HOl=^0NypsZ-Q2PAew?Lo7gM zzT`y1qK)1>#DmnXv^oKAtKRPMhdbPfzvRT^Znu=vFi-7M@Ak*WYhZX4wmDDCRzrO&^38<#T!O$%n7L&)edT5eu)<74p7H>{Arl|{(` zAbLGYWK=uHN9?Y6FpkKkszmf)iEJ&m*i0CehAEMgas_j{X!eYv=9+ z=k4AKk@P-|j3oE|tafM_aUkjtal%>ig{#?65lK+RGZ{w9zIJtdCdGvo7TB>#k7hw1)DOt$9gwb< zsjxGT^dVZ9yGV&xx&*uaB~fabP#$N>+y$?GU#G;0GMeDC#-zY>SGnu*6STsHBMmTk z(7%7;#9JyaBk9X(9vv606Cr{T{Y5)nM+M`Lo3Ki|XJb2Ay@tDP`Tp&;F)Ob|XsJX% zDY}cI@w-&av?s+hstwbmO+7RRf^XO>SYFx5)k`L*)pZzQo)%}*%0}n$yxdGTsa3k*JZ16`uAWRK()FwOT3ardB8OF;Y=#z}8*OwJO!*5wn+Vl}r zIH{hqd}J{q?+}(Ra8bx$@fwCsR{p$Dp(ttdLU1OC2I11p1WP0{3+alTh`@IzxL^p` zIB0Rmw1;O?$4d8tHBhGTEcqI3SZ7Z-FdlSEHgo3yewAb<+L^`n6VmO6*Yx*~`)v-u zOzb&BXUd4C8`c1k0m6Q-d*U<}HOBEm3yE4F?9DAXox|xsOfnP5ut%jb>asFaNqJBx zI7(5w68u;K$ooY08u49F9gp`2WOvrePSwt~88Kx-&T%o9aq951o1YZWuxQH*DHZqA z2LRr>LVcAg@vt=0?-zFaYq};MgQ3WIIgEysETaSLU0sF17ERoON^y^#HYj9+96He6 z^yFixkq9}}2#Tym{E70PaY{!XD5qma@s?^&V{K>&MXT-mVK_@5&BETb*@6xR+}qqR z!r(UFjmP4B6CudnN-Yq49xlnFv}H>h67wcpdRIYQ*Qb zgEdh_=i=DBNnh<`yv)-k4hId_AkN^;sFmg@?so>MZN%!BxKyNHBJW@;7V8fm_!95v zqp*)~JoZGOr6aQjDxvR0VECR}ZMd@3hiRo5niTkL3L7M8SWQx2&jR+>my8h!+_0D- zj6uk+KNn_B6T&#qQ^RY=T2Tvf z@yWUojK9kxg^1aeJS8ZKHnL4orF2Trx_N_^)B@}jlIOy9E4#{>>MAMGT-w3AKQ53ENCb>r(J;@@ zIo@iWvmYg6@=JtM=!WKj=4`sYn8 zQKx+9plKcjC6P*Q-&(qAQ({yNjlyY&5wuM`S@WUY#_O^~rHd#>?Yyzk4ish%rJ{gD zZIRzl9kLQqxq-s=8uhE~X-Z!c3Fa_^g4h3ayHbcW&0KkW$hV9%=4v)wVFH1pQzzVT zIuCMP#+07nR(=2NOquCOEC!>IrTT0#Nqa>}N2s9qD0>3gK7;g`V=_9hY7@PSlHnu-V>UVUvRmRpZ1sMdwE4n*V8+4#9@pwDa7UFQ;bJ?>iss_nk{u z97B&8hio4yJWbM|%DvEHD6FZmN_3=MgseT5@_)-W1fvc?))Gde2${j$517i z@tI0z(b7aJs3#6|)9;CR)yaaKQ6ot@c6POA0$I%Who{<{fh<7CX>V?V01vtn7yN9||88Dd1muj|9J^zER1eJ3lXhP*=by35r9_hI}8t6j<62~6n zJD9Is0f=Sca`K>GE9}j1FR!iXjp}B$=rh(Y`mjqHE8{jm2T^#Qt0W&eA0Q94grS}$70-V$MN29^Nw_Y zwbJv)+C^OhptdZ9w&ZLZunwTBqevH}V;9&-2%K{ZMh!z2B5OE;CPuZw@> z`hXu2G|gKJW10#GhxU3NAA_EUTNa!!ZT%7h6Vw9N8C<|PLTgC2QyU%;aRjbE7B)Gw z)azb-DmM4^O|iTAEOTGG`(7_u(vz|K?RYt~pDst8Tp}QZ0FkC_)dWH$67C!@ueK%~ zd@7z+TM1^yS39IXo0f()HDREmObyw8TuQ~4a1}tqtr}I01OF^8OLn8x!rYdEjTao# zi@2;FuX}NHzg>IPV|-Quijo$W#dQjv9aL~w5{WEhLj~;;7ZDoqSQV8*TM(4Gmy^5QH#qj02S9MWga5#RBjvVjok12YJUOLHdQpAig!j z{~GiU4q?_e)<0PF3Ayx`?bGM@$7lTGbJSNsG8{Cjz_o|16~?J3CtN zgRq0WS}}dDe#}T7>PN>Iv>%i08bCXYKI9$m^Rg^K-XwfR42929MtZxbpV9BFlw52- zpr+oHaTG0dYj*5Et)#QYjfs`qx~s5MrIOu#B`=iIkXPJGkMA!HqvUq#1<9g!vAvSp zdUYWq-!@$nYQXK3xZPR7T_Z2Z+Hm4l@7Ujn&Mn>%nqH)r(Dah*>$2=+MfS34$NnlT z0O_2ZU+|Q*ya77oqx8%8MUVJZ)$i1_bwiQy-%4-qKXC3a>zmV2ZwFx_XcHWHe*?Q} z8L%rfj^*TfG-KPXD@-#}Cu$&K<^Y$}KK732Utv!S2wDXXSiMz`>C7)}C*skq2_kZx zT!jFo+KwL5lZ8P&I2=chQuSYk($Pa4Vevnz9rpcTI1wKbgj_O|_WDnDnasrM$Mt1g z^`C~)vQO`_g8fRKTAh{tlV19&pBNfSJM7EeN|;&g;|wca##av?^5w=+Lpp0H-FqnQ zw~TLt`}GZ_nhMS{X_|p{gp?|1y+*WQa0?oZVCD;X|qO zrQdF8ODXQ|q~1d3{Y2a?_mrEm9n-id31 zR|1SE_l}`-AIp>4-vMe;S~`^ejU`m^0={!79q>gb0lTUlKSZKx9)y#)nX|9k+j@M*IDHG{45?-@#`_+Rg*;>knl-}+w%QtcGAVYM8T{;gV^?tjg+ zw2zu4mA+fh{Jj8Bb00|GBWMor89$g#)~6Z%*N4(6d`RE#e;rJfGltRw{jU#8*^koq zDf4zyi9n}3jW1+x`cW|hVEUAA=|AhnfM!AmvF;_-Y52{i3(EOpf?$j5*ySYPW zPru`TRHM1f-X6X6%uWA`R2)=sLLQWHE{Z0Fv;5f6)JD!xL)@+~G?#2BLbRaV{G*X# z_MYMoqO?^K2=o99K#{#RhVV72RYF8UQY=$f!5EbT*wN$>2)@;Fx|IW1q99cR;bEiF zS*n3u$N|{8)<+2i%30=XnYK9I4j+~=%J~$bd=b9-wtPv@U`Nv#7!-&_io;t8{ZMaE1w+p|ikUTP z<#g}4$NZ64suV~n>A1P*Q~W@))+3hmQ(Or>5Q?pyaV!dOO+*=V`%+xcS+|SOHP?f( z9-xcTcLwO1iV0j!^?HNQO=trh`sSN~jsR4{T^s1$^@gDP8$T#aovw7C9XwcZ8FoNG zC4ILthT-WfqP2b~8Cj9aQMfsI_R9{5=O3k(rV7UX7USzHSpDr2zC*ODr|h|iI6tZ) z6&qwuW)lQu&c{)uWmW3QJd{M=If{9mR`exKry0hMN~8J0oYLyr@e~${GIi8Q$5Fnq zGSe^ZP?64bQfRc2H|ohKl&q_!Vvx>F4+!&xqDmp~DV?Hfz)DAskc#0jt0wIPcJAh| zUZw97!n>@eJe5}0P8|eg-x#oagb4)(dsq6mq0!E~(K-~=Rg=N~fq;TQzFhz{L+AwW zz|K?93j`sJOgUx0AW>6A1{iXB82?dCVhq&yY};Cat|L9PC3Kbaqk<09)L2s6dWz6}YvJG^Hy*cRS3=iF>-vD&7MH3AA1O>8^{xk5{;I>4W%|2FUFd`{|pTG=RkpHit zdvGW}Vt(oshMxSGy$r<>WYxHuVq&D64ZA9nOIwZ~UQ6k}ku`L*kqR&edT*=X1;k8W z7G-w&uJhj~wK#T*fAT)r&SBw*JEZ6FbFN!r$ucFd*h^eZ9n0~>9E3&tEZo``dvpI% zsOBS!_}`c1^om_x_oHe=E`Y5OVqnvm_AAC)QJ$XKW3sA{c8?;HJktq;n@X%B;YncK zMH?t0WyWjZ)>}teu$oqSCuV=`UeXEksukQT@P}lrF4E$}LT#CnM=<%XG(7`X2!R4- z_RnJ2qG_d1FjMo}d@H!b2(q9^WkT|QaDb+DIP`HE{*{jTIDN{qScfPJ*8~{L2lY-I zM|P7n<5VWxUdk$LY3}3_*Gp169JPCaTeN65%wF$bb&FmX19juSdX(0cDTMc(7*6ve z)8FLsvDQuXh2E+&1i2LZ(F!tLp5~MLg!g07lUeevL|RWWf6O93yym^p0%RE8rTOsI z#${^h0ACBZo2*(ok_RIY!fJkUnY}EN1G@MBjaV8I0am$~P%lJJF-AguyudDI6hXzd z0-=Fq4GBrf@`x$sBv&mXndAZ{2Xxgty4O{b2rt=XEBx}JTXo|8#3bO8I=2#ahkG%( z3!MU@c%yxd20z$)Gx^AYvRihRTy#3Z6ffP04RLmk*z$cIKbamnJ)_9WWs4 zakU~Ws@F8c5{EL05EU=Q>fb- zlS97jNd@54CfL##V0UR!fHXGZ5lq&dMDF?Tb|#A>x8;=mT`Xd-#9NkkCWpH3rg)`U+m(|tb>r(3sJe^59wA&$vz&N`>APveo z>cXAcuzg>c#ao!0zjPCuK!Di2(+VO~h2|r#>yoXrK*>}%0G4c3JS%S)wjNls9dyH5 zEFy~*!9`YOj@N+-_h|Rh3x-&LqX$W?Td4Tm8Y zY#NSLhF!t`Mzx$M# z8!P?>mcu%w7Cf|!7?a!c6rJJ4&s3US_%yNbiRz3^N<_QmCPVeM-eer*B-HH=1!*=& zZ<|WI*-lW&j^sd-On{Rb@6H%96R*R)0BhG>$lt#kkqRqucR#L4=$70x5e4J@rQYw= z#CvBu@jiIuK>TLKyJxFz+1jFbSK=PUyPZ25OT4r8EfrPxizVJAb>Shoct@BviuZC5 z@39x}pk^N9SrG5B7w_Ot7;X^nSd$S^HCp)c;+<(kMu~Th3e3cN&?JI*7f^)E>2~v! zlX6YG6Za+Y?lT@3r;v(?S}$nr_HHlU$zkHXD`;|gMcrP!xRu(VLUtiWNnIUoj!-6P+)D%tj5CfF6bui05 zBh_5}Wl`6TH#aCHPH5~inbsBgHbKm1XgX-Mv?(<}?J+E(B@n8raLM`_8=$h1svtDT zXWy!cFG1_Uq**V-$tU=%Hikv`Q-efF2wqNV=kHoPh1OlPr2V|?E`DNmVomxCSCN5e z7KJ;_JIAcKl=^lCcMx2?>W*`@kCcv@^4SAtL)KnWQ5GQ=dggmsLYOn}rXvLw#MNDXEY> z()+9%S$ZPZiKQpj%PgG$T;k-Fp9Wc5&(bZ#)zZhS;wf=@5Uj?Um<(>gI*sX$Gagf` zcC01=hVuo}Tv5b@@op{RuoKvTq&@@vz83GL@5m=KyehrHo2& zIXL5!_R6zIthp}m22ot#Efr7~cu&{VA%uv7!1V(P?NL!}OQ$(p5AbR&Q+6moV=8=` zNvL2-sHm)4#8PB^;jP=m^6R zw_G$3(404np*efR(3~QM?DBw|fM_m5&k-IyhZoQzTG=xJbCK!*!c3LO@?ih!uJ zj)3M!K4^ow0#PRex%N}rJ7n68`wsc*_v~~MvkDq}!4ox7NP@IKIZf`WQB%sZHA#6R zidYO#Y?7#Q>Mb)Vm3)N$d?xvn&-6LD|H}B7l=^x7`9k*T%klu)g(FH{pg&(rK4m~H zFg=!ObYT27x`=+O(zV1d(j>57e8q^r)>m+S!A=^k3tKDdD{Sh4eYwdE%celtlUe2?gD zN1BFO0;A|)Wd7pZ)9{^Q+m@bx{WwrtnQ)x5fTz zS&J(;R9HGst{NM*{0Wwhm_44JbqTg=+50tmAlFXm2GFz-otJ-h>65SgGV?;r;G*fn2`Mv7gk&VB1XCOEwV+&!lMM`o8}}fEToy7$!)q-yfTbpFUu*&!~dBAj@2y**J7~ zRsp?uZL``Zgfk9okw%9UUD*Kj8VhF}K3!SpDiR4c=txQ%3Uw|Udl25+%fOZg=$YeM zFJN^s50XLRB3lwTC&oYFtpm|?(B;eX+?COhavI=nbKkyqS+Ci`Xpm|6WI_zq#D5(h zpWwbl7Ff&mYc}$$8q3>f#k4gnrY`n|!PB$_RaP^vAwR&yd|@@Hv$WR)d8;u zG_Y>5I$wQqPcUz@Ql9awi>2D)2qX zJa@-)1-OUUo=6B^1j@3W=Egp(8M}chb02$Fr7%HF8ZE}s=gWE?#@bNn+wBM~?utFx zGfF@yq&7lnb(-Bm5%F};fE2;FRUbf_*tm|Rf*jF_%&ui18E}CZJRg{`!7z;d!muTn zMQ90_i^^f9pe3-eQVEG{KugfEeI%IiX9-$aB_V8V#BgF~Wg1V3-hEK?ZhQ0gpJkdZ z{m9;C$QH6UnLfU19O*7@*qii!|91F+@!`G{50wfzP+sTw9E6`9 z;om+Z9nxUsp}dx3O8nV_;?MdVpFc4Eynp)wmwWlQFCG|w(U;<(QXvQG?U#Ly1qY(t z8eCtKK5H%TP+rS1CI0$B@z;Hh#mutBh!XW@3GYk7`%>PQM!u|`DxBq8#Ss8^(>`rCr1ltbn^Qq`GPb=1Miu3_+>ZsxCnAPnl7w z@0`G!Db@0XGf!$tH4>6M1*KZWjI9@xYGYS&%6WFB?qo_eRhv?c3zZo!rMe?PrcAp~ zn}LA%T~n&d?wo6SGo`xhc6Ru$MWy#1H+ZjjYQ%L?<)`Fvg#_uQ$bRM#_ol+H{n*g_$w4tzdn@+xjh^(ZvctVvUL(f%Z5jC0mO z=#^^pfEpJA(x6m_t!^fu2tQQ~qhMT&v9U9aq}&8SyM_iBM)L`vN^3utD}f1)2URMsGE6 z3f*Ok6gPR<$I&#y;4*57}Ac9qd9f3Xq@gPXgN7e51UJ)vNokz zgPnTK8a=O31@?>|UU6qdDXM5weTD%aq@W_H>gcr^qH5C}Js~%luHW?0u ztXu`Q0W#;EW*n+PhAc=26&Ou(z_2Je35N(OaHpg`OBZcb;LGA%1>Sw!ugvm+HcbWA zrv?@HRkG0fwHwZt8_=u3D&|$-%i?+!nBSQStXB~IfK=eiOor1+vkH7!EESl)sK5`r zc@>xnlAGU*3jE!DqF!6!Q2>iAWdi1Gud*D@WgGpac-Bb%lazp|5l%7@%0w0}(4mnQ zyRn=#D4ickBD(6xi z-J{n-z?`{NEeVk^tu$FuBX-MeJ!M;YuA`OY^U2(g_1jLem&)dSA~FX}5vxUR9##=| z;LxWWZ%>yA!GL7FpT8q``7x*YOjJw3%a0~TPP1051~EV8%z;$l>t$4PC`uU=ESyb_ z|GZFaZid3P%>7xRU|a`a!SaCF0KFtOkHjm(AsETs@R7;!A}ya|uKy!LIXPZxmd28} z+A+_SzoO`?v2e(;E92J_$IywS1TXPm%1UBU2I3Jbw(_6zM8*1+&Q;*{F!A>z59=ST zj9(N{Me@M#UpJA1k`~&U4)N%YTBEPeW=CDcvm7L|fB}bxxsI>mTg06P4D+kKMsPSu z@j;P52)8zyqh`svW%0L@2?6)-h5SXG{V3J;ig z6q~~(a*ME$@VJn^i45oESy$`rlm}26R%KaNlT@NR_kWHz4S}6ZYqabHxlVHuWuGZUa%DO7cx+>3l zGg(*US(oeWwTHmKvMlSeJnIIsF3GcUDp=$;DC?pu>!LjCMzUfc1`NEUw-c0gXNIhu zIkIjc>yA9@qk6l48(FtyS-0g`ZzJoLJnLq?{l~4sYnF9Wp7nOJZp^dZsJCag3a?q# z^?BAi$a-a-^)kKPqpWMQtZVbEzas03JnM43{Yd1pEX%sgXVtj}eA}X$BVLRSFfAhY z%n78eB{Y+`l1NLmfx7M`d1IdSM!juR*7aFd#COPgAIZD&tS{;9;u|s4cV=04=2`D2 z>yA9@qk4OVyA-!&Ik)9GA0X$JJm+S;9d|lxdsCKmlh116Ow-H9~5c#{5kZxm?#IcNqsSziWF-ml1F-ma-7$r)wL0~RN z@kZ}{`V0;Y3%Ym=1OZhT%jJ5zP-MC+L(sAumyePa+cRWctv8$gtFo-C@~qp*x+KrK zSZ_A_7G+r%g{;L6ai3@TD|YORx{p?io1MiN-!%^7kPPVcG9Yx#*1`-cwls@YC9ddM zJtvL_Rv&v-UxEJ)jPl4uccJB}s{5;MH>RgTPd40JIMF7EZ+iNjCp@KXWdVY0qJBD;cpHg*F0sX9Gmm{Ib9;9P$!;hT_MCJJuyR9fmTCDroo$BXz&0y75_c<9K;(14!|U2zFA1Z}kdN2;lO?QdN^iIKihrSW00v_~gMG4d zBi3QHluj{)&+D)t^API^rn8XF-i4eU<8#rqTNEWOr-U$zH(lEiD#?pfp)`HakmZ{W z%K8LMbR+*1b{E9@q<-3WUn*=Pi1bO$9@{nWD?_!)6Qsuyo#po`hChxM*H#AvzMncm zNmr~^$+SSSXoie3rhvxsDLlk~q)ZLUes&7^s#xdL!eQPwAHCn)DXkBB^a=91PO;MH zgYm6X6^p&+(3!hpwzJU}8)zF8OlTAww-8?u!HV`JY?MJs;dDwOG8PEg8aai88A8l? zTuL72e456p7P^wf``XDeoQE;31XUPegGu(X3>E)n6@QtK7$d2CmyR{AI1hP;2@ugR z*pMYGGg4n4_))b8Xs|qE*c=%A z>Ahr3G)h5?5iX1Rqrm`~QJhBv@_6uGShn;dD;I~l5`tqHa>ia~X$m9RN3XPuulfn6 z6**qf`woBHNlosj>>}qaEPM(M4J&9Y2rBxnDyv z=aLdFYaciI^}#N8ZX{@;fv&Ju(RQR&*-wa@k};kxZ!!~k`hbRxm+|Pon%GtsNQgrMa*Jj4^vQq`hSt^V4Xv%bAyAoc-wwK8~E!t?17mGIXhDV1^NtY2&%SwQA7MK*WdYeK! z8;exkmLMZlm^^f+`mp=q(2Bp(N+C0l zL_t835GUgBtAhCKMJV~Apbr!bOM+d>%N)ilpz|#ykg65G_$OEfdc+uE8`dsHKWQ@B zNhQ+JAS1=A+IfwXF8VHrozAW=;lw0%C@03snQMYb2Kgaxn#Zv0meTN9k747>>S z)m?WAn`n}cYHd(wF9g%pgfvP3E?Zt@<(7APL&f2!^}K?il!2RVUlPsZ*R4z|y^8y? z*c?mj6)q8BC{?z@VdE`y_a(`O$j_AKQV=L$QVs{G46ZVIurWkamZ9kbt*OblkHz&! z_#mzN24I47Wo!EzIy_X8? zx6o}qzuXQ0?N+PnCpt$FfX*C%N7u#smr5ThF*a`7x_EM_3yHjmn_-AXox!*fZ`y=%G$?ey^xW|6i4ZacI z(rZTEHq)>;_)J1ic9ciSc=H+Ds}m(3g%zkp7Im7~%$w*q93JMFR;I!+b;LKX;-m6D*g2ah zC7HAiGFwsvj&5>9!Q#gKJOg!H4G%*wXu+@ROg<{c>9fk^LQ(n3sJg&)oCO;CQuN)G zRZ1?e9J#e-;(%Nsp@@`^VJ#b0d^y4o5CcLqDv)>4>arnD6PNv;0j;`-ZgtDIzXO)b zLdHz5IAOl*fZbyRmbXca@SAl-`@KoOIluWX^pDCc2&U{l$k{oYA}pAN_{B)6xNXQa z+tFSYWdsaKd6`;zN=OFy@GuVs!a>dXlhSEXI(4W-9l#S2uKg}1s)pIsh)_mh315r9 z`n%#-c!AYPQ6djf{x1R<+! zMpovh%=#RgGGSPjHXwg)G}kSpu%Sy3hr*jeVFs1L2DACw%bQH(Q~je9nFfZXIo4$I z$23?{3LvKvWAC*Z4SeD@Jf?xi?wiTD)yOR`Z+;lf@V#+|;A6T`9c&R0Ywlf$h$!!$HP>CV{Shb$VwZKN|I!1X9R6kX36 z>I;|z=5C^|H(FnBtM4o1zzPLZ*wzy$Y2_ddf~Drcf!Pf%P0#ATGSt5omph&J1J{vU z(PhS1Ma%j=G5Od1^j#5NLhm(&CT-GJ;|WzM?_?r__NY@%rA=weTJD**SEUq1C5476 zr@lmc6Syg=lLFPh@efH>npSz}Y-Wf;-=qkT$gh z(qhLVFkHYGHCqyxK6Rjne&$3(8vz4R8td#b$1N6C*)=r+U26myDMrZSz2fdNB#Ir_ zluDkbnrV=u=Mw_Oa|3hRY{ZXo9+jq*DUA9-OZRv8SP$scTAc}6xuh9AS0WHW)$+at(+gbjTSFs~@Uyez=HtToIe2bfpZVAgFv zbje^2^@l0HUSDip$k|U1T1-(thRqXH!_bkOQ`X+EsikH<;#qN#F-clOnFXWAvzlG% zpJz2iqsI#u@n#03;&$U&hy-F@KJu25i68)nY1w)p$;OEClH%@Vo|I&@=~9dg=%J@#=p}dE9k`3l zi^m6{IVwp1)IDkZ9+%)u8|qpHI07|@`J^Hx6SSn=saUn-|K|5j2s(BzpEQtc1}DwL z6B~YBiaev)B@B`DhKT{j*hdVc?Ae+)EhXpLU}60kO9YKy^TOfFk_}SVs`4G`A}95@ zgT~WRc7YS%vN*$vwf4a9stqtw7$6m0-}E)lk8`SROD%QuPFsEz324=z4YbwmnUi8s zJn?)vqn!nBigdo5Q_ccL0zTopTgvV6H&yG-8bRW1pk9z&H(aJIFk`8b2q&6M-c71*WQIbiWJ=HE7;OR3C;+#|u#kvn_Q0G0c2o_}T&D~>r%x3Wt_ ztS>$mhchNo-d(A~!-qzw72GeghSW!un&zCS^uI%3u@5i6TQua}`PJUd9V|~$LvdfWzC+DoI0-Bg%AnT*MhU6@+|$7eqD++U%HZO_TthcQzpXJWoTZQ z*Q&CMj>1E$^E=9)=x5kSj29%#Iq6Yw`_%k~X=VQ?Nlu9E?8y{yjMJH~UCH{rLfbYq zrLy3}x0}S!m8FkZaiC6SnAaW4EScdJA{JE6Z%0wii#wB3bTc4K_~5jRUlsjNyxZFS z0C(HV2P{{2)K}8}Y593PC+-OP8=fVtC9y2$&j*Rz-b6XOohv$%MIJ8q?8(`Ck^O1j z8r!3Fa9as%k0F`PJakvw&M+k(GE`FebOx4$sihBjMGftc3PcDej+2teQ5{;ez1Pz-UsBPtltrrX=cj=emh2b_Yo6gyXbWo_ z#%HL-ZX;?Uu)SF{D?(bzAT9OkXjN2Fi!6)XtDsQ6)=L#R%}BcAx5IJkeXZL&qyFH* zE)z>r7L86$%hJeG;TK|+EM*jVU=EAr;=>9nw~z_Mb5NDT7E@jo^XC_3wZt`OJ+N&M z?9AvRV3D$2X3oo)8`NGgurgqpvTuvl`b44q>boxq$JZ9`h@<}zTLZKx*b>3DS6nGe z@TMFIPk79c1A94Ef%pd$F4np-^(S`4DB{*aAR>;3pqlC^C!-%joqGzDz@o-zs$|JR zjaAao@)clOYdq-6IAe1@R`%wIO#bmJ-L_PfkE z$s5YFx>YkPKck$j@yIJUigRKmRJwKHCr#T@BfxYR8*UMuZzeHPU#2Qu9q6O+=lwf469$IT)ZLar1ce-!bIdIUC0bvWrc>~3onLa?( zC4@jG|3oh;5K%|97ne)_05LV@l5WHZJvOmnI2E1%G)3K_=P{y0c<8gSH{!;3mlJo% zh}#0bU?YC98%AR!(FX%CYS*G6gQbfDjlrjIKR;-S-Nr6sB-jDsa z+$yKlD+b5yCeosu9H&Krxk-%kUzR6+|Lmik<$lfN%um?Mdy)!k$pt z{c+nBVz4PV*Z=_Fb2@x{3hP^R+!$L07ZLmZd}CQ^;3js!GqbNF`I`9Z|0*4dnmd&G zu9UK_gmJ5lPD|v7(%eEDDjR#BeIbKs+2veY=ptrX_zI#m^wo+G%@o!6so{#3Cefh^ zh=b47(61IW=tO$tghJilX4NiVg|uO+HSKo^wWK9mUAA~IUGnH6zdzat%9g>6phQ}9 zsXR+<2ZA!m>T|^ zWnh`r`!Ie82BVF9{PI~=9CY7!-UZN7BM5z);a7RXxQoBk5l8bR)<|lnBi+(uH}<1g zkwyAb`V=Y_)ZiHid*DND8j|Fj{4#{*%sOxwi&)5Jy!c)t2whEt%$cM4RAKZqe&T&$ zy3kS`<@_yI?$=4WX5gt*# z$eYNUhH;~%RwVBkMSCzZ%ClbACyPWz(7Yc5vCiK4m9#WJITn?W zOSXx61xw~EvW( z!x>>kGuo`==t(pHQ!NprnP#b3D8jcL=LAS*ii}U4S?#x#K2On{|0_b8L#=Y{sBQ$Y z%pyoW2t>4Cvgv3DvPmcAj2reriKC$vRJ=!H{$UeP^sz`j>&Jxl4>2c+aYJ^?`DN&@ z&(|rq2o{r+oaskos>Gylf_kfK?YSi}=n`3CcdNv{qpJ1A%WPzT3xepm)n0E+VMMy} zeDlb(Yg9~zQrI1Ht9^dgyu3A_*f1gvNLN0aE5QM^xI465+6IYGZ;nLyF#-lL*WVZh zXBY-$9W-N+M2Uj`-(%ABJ7}vFCNoMDt!BzzpvWXAOwp$l5#1MTBjY7{&>U5>=Ww+# z@^d9Qp+{6=FlAT<}~Ha5l}Kl^afRxVHgY1_(IB?$Rp4^_sg zvQe?tzE;I-XUCCDaw45sx*?_>E>IpQQO3L}_%XGy26vbRhy^#RdHcLM5z9d-;}iXg z`Z*{XU%DyLSUvek>ruW(rVDMcD|md#suc^XTK-$Q5j*qwQXL(U&liu09k`BKA(yIL z$uK-zlYyff?2_#CM1E1wML*JTPE2RP%lPNR^1{RZa1SUfsqf&^AjJIJL!D zGaq+2+X!%n2Rm1$gUDPYXxoc;*KS5u5uj?(iWFiiltTNs^CzOOu~q?j@SWe|Z7rpw zNnrkJ-wZ5B1XF?^cbQ27onx7BM3=nxya!JtT>zmigc;XhWiIo{YgIt&B{S76+E=IO`N=(w#aMMG20EdW zsJGHyaa7_0ITlKA^egZl5&!3#ZqZ-xbo=vR8I9mCR&=~Ap9F*(6HCDI&M7^;b*Y>H z=~I6e<bR265kkF2+GU;v@O;yY+Q5~T%by^NRP!&fl^vxfXB5ug>*>g)*% zwG8%z`jK)}vD_B)6tgdz3ffqn=}XU)Vf*yb7$d!uYD6sEER-Va7d2XUq_}aA0r;D* zO*Q<~DK_N74hlKlH|G0Gg_Xj;GKwHJn#Jaz$|`LAFy;pRI7;tSAf*$gOKhCalz-;a zfON%JwpE!2=9yMy=?YtlHK($QBb8yKk5Y9$m{AH9Hx^MVl}n@D*L}ucH$9}K_+ewRA_gUikbKl za;#9$?z;<-AqwNf*0po1ptgCsolx^wLADUJ`^J%4;IYzf1 z9U|AkM><`E`3S*VR9QqHs3`i1o`>p6yG8u3qJylN_|%FfIg0E9I%2WxzCNEwEq{2K zkv*l%B4%w#0blfm6JMN;N1W@r=2tuA3FIUKShP5jUX3eZQQNW;8^(PsI1h0eW-D+8 zUoR)EP^8;UWJhgXDcYo4nxpn+2CBVrR2UI!`kGkaoZfUuiccFai`BkPw1d-N!^Y)O zMF5&bEIbkM*T*AZ%39%M7U|sNC7asMiS5BVPNe zAYS8W{5<}OVj>Al)L?P<(mRub{K!ahCTDf(r23}hGku+Zr5p{$e@el2rDy5?c^=4Me1Q3JHti+0tRMY@9NRkTW9E_Gxr7b|H(rJc**+ zK%!bn)r~yNFv|jB@l7QVoByuK$n;I@;v^`$mpLgyCPWT!NYH4|ZlGT%T@#aoqx?J~ z2Xj$?GNb%qZ_IQn$;<>m!KsjVyL^yb;$8D>v-FU-4TUgNbEmx5ov@)@U&2YA$@A>; zTe`nHr87ashSa|L)XSx!(qgug$=^>9qI6X#X2HW=X9ls>APB59HAYB&uIm%pNeeHF88ZKtYbqPo%8c4$?>y28lh zgD`t}n^v0s!P0b{J7OL@ym&7}Q5O*!o>U-ANTtfal_)~xZ^br{YRkDCUx71f)U!ZuIZAfvqE+-$i_r1KyhJK5NDh)b z>!Mk_n;8HR0N6r6uDCM~OuO^rVz`my^O~J7hp$7j2?u8AGX#EDua79+#;Sy0Qh`9i zD)k)O>k1ksR{KPbwDiH!Y^EP|9pWEwbgef{_Yd3&`jz?z%i8)?TL=paw6Ocvxb`gz zjxwh)0bF4nVz@dzaB4D)rHR1yGk?$9-&IIM^9ETLZ~qY*wg4rC>SWk~q+ z&x5L~JyN(O&wJ+44fb@rK0y#1F<_evN&YnbBmA3CdL!s@8c{05hCv*wX$3x~)H@N+ zy6Wu}VN^NXNM{~Vc3$%2*g}=0s7k`dAaWZE-mE4Vfzh4#$5cwfJSOAyT9nSWi%EF& zK>rb!uc1GbG#kr+B0Ztx{_xKEALG66t7-42bONwdh`Bh~t_>9{g!uq=_ZYS`sHjb5 zGL+nouDN^llsfrexg1AjcD#1Gsq^?^Ctlfc%_#h^KI?=|5z|Mjx8lal^Lwpr7eU1h z7CxoLPjcVQK;b(A?g|3AQ$@tcO(=h~S{15U(o(<&OCs)|tUw50%A-Sk2nEDAkv}h3 z+!Y!?*OI=4P013#d<#}qLhM6@f+^V{WJ?kq1tD;&5j8OwdhbCEq-_x(T3yh_c;j45 z4+|NTnKC|~HcR+?6ZK~KQVBCDesBSHE@mdC=~>oF1XqFPB3tmY=A@d@8G0(t3)`YO zI4IORXP~Q(aa61dv-%00;YxdxSrTF-EvgjJG^S#>Cn^ZeVHuzgrGhWbfGTW*L)ra? zm5#9W6*`&{o4}xy1V%;tI-yqbqEv=Al*(~FEmbD?gV?jpdWz`Rpf5Sm=Nc3fw>l;( zqrFX4CM(H8u3Di;+BqejE;h~Ew9-sX7o#k={Sn^vq3E%WoQ;^Uv{*5U6Q^dQ;?>TD4ClH1;lOCaQ7HfSy`yJ0kcReLzlH?p@T0VP>+6)jZl^ z$C8(}CH?Ay$MEQu875@&jp>4=!y{quizSNA_|4>(UZXDvXC8goeZ(<+FpDU5v+NF% zsTTCcaEacD_|vwxO4`q~wO(=$WLR5_t1q-SQ8X>>wO zNY9KcYfzXA>6yu;34tOj~nFv*3_mZk4_9vU?BWi3lG|i$=O67WwwT6O%%7macmZA&F7iEgik~}Mi{u;H|*~Zf&(^K zw>Ebmf$)OnASqd1Q3Ca%UgZY{$_fBP9cwOg863K6AF7eqhqaSjF_zxA#T)jgDwD?I z%G@s{&1^DXHu*0&R<~@}e@dD8|1WBR9B##LwMrGHrM%u73!?)(X*P22q%9heh< znB&3G*4WwFSGaA%{(7IoI|vt&=YWg#i$5%vd!)~zq_RKY2a1z%rLt*s;lGC}|NS2z zZ#JDPjOL_EOERrAiLcpa@M@Xkx8c(?QPv?Q+J-yHR=TVJBp0Yk zXe}lGhTvw*Y{Z~4!yrlu`y|)iWZ-d~sej4NgFsY=_NSH(5RDi|OMcaX4@*(S5S5X) zTbEU^zODkM2eY|W%e2w~=r}p}6$5{&RF4VC!3}k)GqkA#tW*P?83xQivK0B~TL3ew zMU$fmOtyx%0@J;eljn{N`%7Sz+)k0Eh@Edz1HtfbEf+}V#ggJ#`p<1Pe7P<5(4Z{7 z*(UE2dnn<>4g1?+92~*wXhAbuPI>oqXoTJBN*9uf@N@7;IK)tAO7Zbvu>d>jhLWm< ziXjEYFl4P#FCByA#zPcAk>6wIWjk{mff zu{}R)vWcLe4Nql^h`ophHYFNa+h=&5;Wo_HnUZ!fqKzfB-qR{^d13U86!H^%$#Y}< z33SrLBwS6|>XOGx$3B>TX0lnHl}__pkdCpcKM3MMnGJ*CqwPT^Q`$vIJuA~nNG$&7 zz(*yNu@}%UnY+2+fYrb^kRrQM|9KGb{0N{LBvSvBR-rL(Ew%=PZ)pd>0)vi@Q0o$~ zxa%c+efxAgw2x24w~vu!?fYiU90VQ01A-V-sdYxL*1E}O0|Cee4Hq6VPPf2w<6Bq5 zGQoW7a<9>QY74E$S?fr3-@23)uRJ54%Hj>kNd^nmP55qm@)e9ywl#1h#a%%_!=glfX z1~Flz1fR*kFDY#wN55WdL@$_tlu_Pi3%K z`#iJOoqm={jurOM9cK6miCPu~b>n6NU$$46V<$c-B;)Py7kBW=K@@g}2M40S)bLX> zBa;=ChAREqOg0nkaNtnA-tib@72<<0R;VL-G@~`Fu$ZQL%LZx~#|~eY4Q-d+SvSt= z#UgI5H@`ThsouD@mV`Ow>#{+!Ht;KD^(yM3fB+9~e(TH%ya?!1tQ+9>v{22nYsgPl z_B5fs9#0gn^vKLveq2!1`u z*W+E|UBmhtpwFgy-x~6B`fRHAtsy_BPmbCjhCWaKQ_yEqSKbf{?Tc-_6yUX{A+bbDRPtMy)K>cjS4 zx8kA$+zLA$m&L)27tyc1-PZF-hKX;V*@%fd zt{4F(uD|L>t$;ZD$w_YW$beXKRt<=yXEg$G)5P!=j*+EDq+o~BvjkKA)-b`~q|%P0AzSB-H`x0_#Q2RcI0af`-%DC*&P z>I;!-DwlFBUjN7>_t*&FYwY}~9;Md#6VIrF4~KDJLW?gN4ZKx; z(X$3Jx@QAsuiZWjgD6zqh}o^4JPos(Pp^Z#hS_bG4ujcYDu2S0tX2Nd^L3E-aG7}e-ikqP zQQz}aX@vaY0^|?WQ%eo#-6sH{YWcD{ry)bx%KT(TF+HpC@_QHozcjs z@BMA!u5ZT-YCyE)k>CCOh=KT70f=jwfOu;2FhJDz=7ei(*t`~S4enXNm{ZzquS{}3 zZ-Vc)!Wa$ZTr$Q*1Z>24qUn)EC=J#6^UD1X#+;Rs05I6lWaS!#4XgI$8 zid{Eln%|OF6t7Vnj#qv=$^B!Sda}-J`9;goIQ{p-D1P-Mv3q%qBwk;j(+e!>u>9gyFcyM-0R3N7wMM=$J-4 z+=;l^6AW8h<6+&i!@!V@|TMh3*zlUo9D z`AZ`P;)Vhc8=8Q)?2%!BsHcb^ma>;=a3EYJlHE)fwU3xTm04+~1^pov?fuAnG~)x9>0u(3G$5 z-QmfyrdXT;T1KdREia&D#aWF8>Tg~d>#p5*53GOVIo#N3kkmPp{^JLO?$&lfyuLU0 z6lUxFO|$j*#lxT_Bar*9ZAqoiUO&kl+sFXx#iU(UvJhX-O5b8~(06v*x! z<<++J-T4IN0sY?Z{>r_>S@O+Z-CZ>%BQO_#Xek827+1LRkcLVQ>fv%s|}dH2HMCiH+4( zasP3!q>3Fq)0^Z4;=b|v#BFT{OTBe<-I+Bec>S3ki!~;A@1nuBa4KC=4eYhS!#&5EmAnOA2l-`j0# z2T0Bb?{29&{qXr=+OFq=KPybNYnrCoMJ_8hMx;21kZ5h?%K|HjnFl4UICs9{5wRK$%bFl@i}m{u}kC9`;BFx*tot!`=3tseN^Sa(soajBoh zPd-$0Y(3-O3$yqsD7P)8&>5S>J8rq{$7{~GwACzr{p7vfCBq;?y!Mp!9Y&u8UVGg7 zjw$sL>*k|}(XZ~js9BM?`66>U7kKS;*Nt|U^t2xs!SbzZn_ziuT_Y?f95d+dYBzmu zXaUPLO|b0TINH6ov0WV?R=_;>ZLjJU5cBxAZT+JlDxdr2p!;>ZivHuwX2kr=%f$j> zZn}DOd;d*6wLJZt-Og?L?{ogWKrKHxZm_*3o>9y7cdWeU_S0MP{AW){+@f~Vw;qty z$JC_Zx&FNX$c4*B2*^eE|Fjj^K6g^$zS$0tdSYd_-SiR){pqL1%TH3_X6j?0tB_=oEu;8elE?U%+6T9xyYJcd0yCfNSKaori|)O$)g1fDse8Lu+QCsM|ARa3 zzw9NgrGg@Jz-L;+Ig5v%BXpP8()$>L>UQ-#a-AkNNR? z8x*^r;Y%N(Vs}?TsrqG;V)y*XiTimwhFtGIy#DE0T*r-1H~J4BLUs?g>SGrC_SSJ7 zuWT6O?rEo0)dTVC?KRi>mhFwM^~a&ycHEr7@e4kuwsft3=Y_HE>S1Wr%5FUM(pLV% zjY|jHk4C)|IkO;*e%Rz5`u?+H-I?u1qrReDD{69jckn3Jtkw&T9dsMo@ql_V`(**5 zUpL9eXMYKQZ3j_(MHf9?6G%S|v{HlU?(Yn8l-P*4Idui$7+C_^jM=VbM?0e z-7W0^smJjT3WK$>X|UGZJJvlrGN;FP3J@Lpn4eR%!8-Q)!zkkQI6l4r(TV=OpgpX7 zV61zt9YpmwdgRd>jvjxs5l5@PHDVksDL}Ne2}gI`J$9syp+^c+?D4RGQ^U~`$Y+EE zeQN=tJDPCxlgGxowe7fHJ+kjBK=gorFA(&LO!~GVZW%#ef60%w-+pgPg1-NWvF?&~ zfYj6BEd@aCXhO{sOGb>E>kFv4sR=d5J_J8(2T?t0?k{-p9`x@8)Li-9VF)@y&Gr*6 z-Tw5JmZ&-D+hg4=BLn2lyJ~d&3;$jKWHqSSqusypl4EavcEx3_l)DFiH`Xm_$B(m) zTz|qNr!0Nok{zv-yJwk5x3yz7R3PPUQ4mZ8zq?)Y^(^YPf~9m< zlW%C-ugAD^-`)m@`ss7g*)`$))3Y00&d)3#@$`A9Fnu0vnm*_Jc8q&?4@2~FvygU_qV=K9( zdD*d*22=CiTPL*-nXT{9eHYZC*&guk1zqsrpNwul`1KGy_G*nkKJjWJf86@eB=^mB zsHul&O(8Df;;@EUTh&-|{^<7p=6Z;(_z3V( zK_pvloaENE1Ee0uw-g5Jj;0`zAD%mUq}wGn7a-cQyODg(*f!$9+ERe%{wDJI(Z!?P z{q1m6-?iHd5N&FLXvG5~hGe6|)K`i*}tkk7pvMnXOhz3|d4 zn_H64A3#l8@(JST53e?@!o2)y<0{NO4-yK{j(lzoL?ZPv^FLpAR-<3`#*0R~2ipx( zJ{7J#@v$dP`pIuvsmv$e%&K=g7(!>(g;=nHrh8cvB-<|>-9Biio?tc?IN+8h4tT-( zN$%8k5Y>H@)>+e9#zTrk=_+zvPO6>Tj*^c(+PAeh(hWy@VVh;k%f_2lO7{kkQ= z?1mM$-NsW7$gL;VSn(bHy#UC?*G+P-?h%m7fAXzk?`R3gbw3;JPH$Jf9+00E0J*ve zkgKkq)ZX=xV?==5*%FXTE+6fd?#a@-j`9~QUD=XskH2J+J8M)M4Iq&1?=SE%=LNET z{({B{bk!xJ-OKG1t9q0?RzS&)CX`%z4_sxBUHaB5%b&QtB}$gB8SQqAj9Q;90P=hj zAiFn@1dwaL*A9@^Mh?iY3V{5&36Kq&Cb`S@r1xJ3M!wscS~p!a+PyR~jBG6c@|z|= zPP~02fPj%UfZTuOhyl5>pl)8{-wX5i#N`9-_;&LzpEkcZar3RM6_=m?c(mKr4kLN_ zJ5K!VZ6}@Ea@uTKKFK{e3;=SFTyt*Iw7K-$#%c4Nb4I(XhN;Lj`0EUk^IAgk{E2&p zTrbogF6jQ-FYpm0wNQkI&KTX^ z2F)q=gr7dT;|Hxr>9lJ zl%8oCrTfnu29j@n+uLD9_3!uJs!XX5a60wLs=K8fRti3c#*o}!oa=oK3O~5jPwvd; zPz!l|_L2VfR{DLfd()!`-!ETp)NsG`_?v@o^Vv1{?(kE-8NOdU)bGCEuJhL~ZpPo$ ziyQIx$Ww0)z7v03gYVcM8zX3j?>7$*gTIxpHRJE3*BbG6*N!&_-^r_L@Ey0R4SY9j z8wP)yPj1HF?I$d0?%{SrFbw^jAADY-zaQ57ylV9K%Vm4H+uK!s#`0$PPG0{1 zvG=aQQC(TOU}oyUBY7lXyD03oQ!-Vi{AjyeHC279d!oG^Q?FaMyCdcmGZ7PUCuV-k z4Y-f8+g-O}rX!pf0RjXF5FkK+009C779c=?zzGNtAdD~q5)hDp00F`zNML~k%(wPl zJI_8xIwH@h>L2&UbrsU5ooDZ}zO~j~d+o6GvGgM9ZBH2ugoZKI{XFE+a9Z*f6C z@)h)f9DMOzHyUp`}BU~J3gTk(CfBM^5W$ABAm5ctqc{tSF zzEyqbucDX#eN*_RFaMip_}>#Z{Y{?TkNzI^p})Jm^tWl^o4)+-ilM*rZu&d^ML+Vj z^wB?>d->n<0)P73Z1~@LH~rlz>_@)Uedup#Fa2G9>d*h?82X#;roYLZ{rH~|9GnaG zm#51)x?He7J6(1e9sI4=Nc8N?7bR}fL8Ec!%NVw(87f{P6cig7^V>D7moXe#hjCuq0phg^T3H5Au9TKC!}*yl0gy&RX75v)`Z2CmVkL)J^A= z+x&S;V!b8#DaO5Ye!keB&SQq3ce&|2)t%?7hh8vreui-`$#*sS)A`9l%Ug~Vx_HZz zHU9j(!tnFuZhqd`?N9Q?iI(K`6I~?Vf7hR%uVvq+9=g)a&zpDnlYEQe=j+|#dE$&e zKc8&G^O##azdqlepKmn$e6?FVFJJ0U@X@uXq5&8z+SQVo&d;rPc`n(|&sJJL zDfB^JIiu4$d+aM`)@hwDZVwe_GRV)Jk~cn+rw!yeql0QOt+(XM*ZGsYf!EYX^0<9X z&62$NhCj(`3M`#(RLg9=C7<`DKgp-?Y8y%Z%svuXl5c49C;7~$md>ZB1-RalFWl%) z@@c#dN0LvpuftiAKW)uSa_3a>yD2KmqNL~n<8&v|&pXXu`KH*I!JKH8<8_8dIG*4u z)x`mOY#Ek*a(eOoVd8cMe(sdK>A76!lvBlHjC)CbvDBaBjT}!%@_VAK8NE8NnT`+Etce8F7PM$OpYfc z`BZysu_Uip=TGu=hM!ls`T6}d{v_`(6f+RP+(uFkbjv1ZV%c0ae)74II-6KgYw=gyG3%g7bC+2gsjQnWud zOia(9ai`=5pQ|xcCPnsmZb^Rdpg+m?7`bAtJ)T>VSM?0_CHY3q6-n~d_IPedzVv`U z$-CLN$rT^j{oIoL$$fv4PvKlqCPj8Xw+lW6pB1F~+%K?bbYz$ROm-cI4-`IEK?C_o_Xf;~XJ3zWvrPu`+|kosy?G zhLhyC?eW}_JhjxH-oqwLi(%b37r*SJ`8W zC3&jVpX8f4o{;1l?6Jj?eBly*l5gaALXxks#}-TSrgDFhAK@5Ik{__gb4&6moBT<> z#PIVHH$PvW^e6dB!_Ujy{CsbzKgpLFe!kGn&!^*Sko@$}>4u*dxcT|U4gMr=;TTTd za@roxEpKVP;7{^v9K*?5F52U{QC|&Mm%5Q7SFp^`;&aB5ziO6#q*8J{7Jski050~;`!}bf0EBI{Jg-;&!=AU zC;42%&x_preB~;ClFu^ye5#wD-(2KR@+X{=Q&jA<=jT>boU`4Z#wL_g^2!oR@)hb(UvJ5KQu*Sp56Kts**=QD07hRzG!bbhSUpU!U>l3#L@ynd!X$rJM|ou5<(6?^M^<6VC`Kg8!1N#}d*=M^oT zC%cCF@|GQj&a2&Yesv0-==0$%vkX6<;^ybe=laum%<%KaZaR-Y_owr34V~X`)A`NG z{v^L?NS<`-p|dCX)A?S*&$qkz`J^I$l2;pkzRpeO_q+Y+e3_y11#UWD{#|B%?p)%& z&1bi00qwf|9GA87zh_6j*z03SWFMd1q5*oh{T!FI^53&~xM`DQ*xM3Pt8&lFjbpT3vpOY&kqM?{iOx1TApB)@&opU#U7KcC^|=eM@_ z^YfdA&ab%Xytu@l&Sw~YKE=(?H$V30=eG@=x4P*(b;6&{Tlnl2dCOV*IWEgvzN+x& z=Ue%VB6-V3`*}snTh>4KC;3@EyG4?JV?W1bNj~+CKR@5jXB0{DYWsObOY-Tv{Yk#Z z@bg+XKVQ`B&(BMYcs|Q5p08cx&(CWOKi}%+=T{c{lYF5O&*!+s^Qou(>3o_I&kNk* z`K^Qg{5)y+`FS@#-&W{P=LJSQf9~ezn~VHOe$DXni*9~CzuuqDuNgYOQC}%hM!Mz^Yd*xGn3r8tN4UtI1Lt^_IPfsajmS*7l$&) z6`lK`Cpm`G%KuS&JhxW<4_q25o@bDsJ0*X}F`Oj7XOHKWn5E+#b&j z$?^_XXl6<#4wpfzyZ_D!~ zc{#@ul6;XpwiuEh^(T3`;pdCp{QSa3e}4X*q4Sih&d>Ohe2L-b^WFS>Ri{5ce`4so z!&T?s_>;VyV>o%s4SPJdyk*;Re|~;|V>o$Bojsl#-g3yF2-g8 zeu!f@N&b~Ro*R3qjgf8KJ`i021f<9V|`$-gyp-sYzB=f(acKW@bHL$2|>$)Dt38S#9lTRfjr z=g(Uf7=Aw6)z9nwNxsX7=QVEe{M;A*Bwu9s`CL~&k7p*ib60Vm@eEgyeGl4tZtnC9 zym&E#6xz8TdVRHeBMj|uU9?9Lywo++`00ry*W$r%QO7xd^hjMk3mDI zKgo|8etyu+&o{UD)A>J}*a-SJ}_bS(494_>=rgJ}*a-ueG0@vm}2W^C$Td zJ{L-om)OsUT9RKq?N9Q%d|r+uzivM}XGy-OYnU&cck+2TlKigy?3^X}&Qty*Pw{y< zlDy4+cFvM~`6GXl7a4v&+0D<3Px_Pm5}(B-$wFfMbbiTxF4xle z&9D7QeudBClH}*?=W;E{FW32#{5a?2B>5qGer`#=x6z;E%MCwY=;r5-xB8QOjp66Z z-TZw1QGb%JH2i$Ao1Z`5>?XMgd6a_%|Bx4q<_ryl>66d$g5hX(G%JdkN95#SiuREcgGHBax-;E$ zP&FO&(DVS^^Z;ra&v&6|yzw|Per!O{h!GHY2lC4(sopEUf-Eo;cmrd4NAD`e0a3K< z{g2y@Zk{yY=b?aDxa@tA{fj_A6asWE9*coTlrDQ86<&^fB&tz}b_1dkb?Dn8Lp!TNsZ9Ue7oJ zypl1ISj;#e>LAedLo2#-iNs+|qShkOAW6If5=l)Wp-D9NNdlFLM5{@H8jLTOB%TA} z`v3x>6V2THX6Lc(n@WE{cTeGi!g6^{J0Sj~X4;mKN99SN%VNu+So*MJ`THVBZIuJa zlG5d*V0=`gL6rs-8Z_vOp$(4#?YrPhxIg&GuTP^>|T2BjL5 zX;7{~g$9)xRB2GHL5&8r8q{eJ*Pvd51`QfDXwslrgMCsph<&f z4H6o(Xpq#PRf9GS+BHaN(5XR}20a?YDzttyDAb@xgJKOzG$_@eOoMU_Dm19nph|;k z4Qe!~)u2v;xCZqaG-%MML6Zi}8YDDm(IBZos|IZvv}=&kpi_e`4SF<)t=9U{piqM% z4T?1=(V$d=G7ZW#sL-HNgDMTGHK@^`R)abX;u_Rz(4ax122C0?Ymm^OMT4XUts1mx z(5^vBgH8>)H0aSFwnpnmgF+38G$_`fM1xWd$}}j~phAO64XQM#)}Tg%S`F$nh-*-< zL4yX38Z>FptU*G977dabv}(|%LAwSi4LUXG(x69!*jlY04GJ|V(x6y_5)DcLtH(kL6`oh zLYI_jP@+LxgIW!$HE2BazGylmMZ+&8S^{M)stmtWSu4ugR2hD$vXaA0z34EPRO^yT zT~en@YII41E{Su=o0zIh$PZw~5^LagiZv+IpseA2QQjcs#4mOKN|aTpGW=3yag@o- zxmK4n>XLe0lF%hhT!JYCzWwG^{Mx)-eUUZIFt%-1U&#IvFwdflMYv^-MYy)bYJce! z%>S-3jsTx$OjG}F81o*~>!R%lO{pT|qk+i6;FxIO-9T6beuL>{0F#8sPs3F5YPuwX z5~?C<*V42CHStwDBz5(Jfc!F3lDg(WKz^AiOZ^IpXr9GOhbu|yDb~{A)h8jk8Z#|O z`b5pTMw6tBiNR6E#9%*TW{@vRk9uZ+Dk4_N45BnsJ>JIip05EyGy!S^kTc9CfP2*; zv2|vys63u6wif0@He?GbE z+_{G%{~g(aZ`g*`ZZt01ihtk98zzh!%7P|+KWc#Qm!wANekp*|_r+0rqvdzr|9Hc! z^9^?&KUIwuqkznT|GH$Og(#3Dr~z)Y^bR*#3GmgVkT^d#%M>-C>ono>i6OdugR|YZ zzJ}V+!UDF{WQk)-LuPZu?NX-luWBD1-6v&0vukPC1&i; zmF=?k)Sx&-_OIgRqO?9h7qjVW0XHQ=V*4Rmy=Gmn(X2-obG-!Mm+;i85%PB2)2NiY zLOY-|bqb(iwCGu?^v72g+-2XOkGV=A%1Ulx8ELQ54RfeKajWbiWq05Icp@~CqCOzI z099d$DgkdD&JwdyHlIqM4k?lTi%ZQmSS9Smaic_f1hvHmYXX$sl>|7CPEucObA;k= z-~V_qdF<93t+H+m1?qO_@Tza1c?qZqZnp4SZ8(6t#dxaj8A3CZ8`&tx8+-B2y_=?4YD}V);UkPWat{}^-=-t? z$pIM+J*Xj)$Be*j3X3%`8j2w7_wZ}MG4=h(B zz_|?Bhl4i?aG2j{tu%j^Pl2H~9D9fpa@ zR9a&hx&vy6Sd$^2Xisq#)}ukE24(m8qY@2@G^o{}T7yar8t;5WK4Z!Gh=eib&T0H zUl*}Xua-v*(KvlvI$QaGzI^^5~32O|=Xq5=(Rs99l) z3L!C>`A2c})3Z834T*=0BPhSicp&g~#@zZ?5eK^W21y~Y?M%r zjbr!i)dZ;F&JlAR_=ifxpOmp^2;t$fH1-vrS7Q1%D>Qq!z139^u&Y0#!Y zQiIAzd~vx3r5e<0P^UqS28l=S%OOqnwHB0`#}R4Hv-PlkF*{O~!^+>O9KIAz_dfh> zkC0artGB*5LOz+T+M@{B$(Z}eFcEv=xt~0teIMybO1q|f_5pM8i1Z9@sf4n}8(qDO ze8xERacG880}YFNXDG3$FKuT`U40W{rtq5R@=O6Wu+wEw5IsHY7o9z9-@>O{5_`%e zWg3)dP{hF0fIYvtwabcncXwG+?|yV}dbXv5<7_U{!9m8PgFSXLz9wSNJe%Bs3qJ2XbG+t*6~pIwdhC-qqa;JKets3<0rztg&#fieluEvw2&Yh)qpzHwVS@ zJvuJR7GaI&X=|*?&L|5-4N-i|g;?nhWeVCY9+b}EzK_3(cSyBoQ4$vqSSunmWS&C& zO$o|d{$MYNo7v2<42x-_pSof4F*US!?HQ`F>WB(TvBR}xcWzOlMnE|kfo zuch4q`Ud3yF`Cbq7|mo%j3zT?Mp*iq?wJv)h?=Ip7>UI657f|_#5FYdL3$n{zA2M7 zk@Jt!3cKWk&Ozc*nQ{c;b*4-?0`dBqG4VRYn0dV>+Pw2Z6;X4lFJ53_ABeBFPrk+j zv0)s0MugX*UzIDG$cXS{?N!S-HyIO&%Z!P{S;kD_O;J0;vvE*G6g9h$u#Z(szO&}y z%fGYc;szsoA{!KmCyG%N(l$M@7&R~^Msdc(sFpD^8Y>EmJTpQS(c;F4*Nzd_X^pt& zp*5bx9?3=FAWeM@MwN~ZG;_9!<-}+*V{){ovs5`TddQd<-DS*-#);~go*AKvs5}^k<_bm6na>F(w<$U`#A0F(#JX zYt{8>8?||7i7KMtoD0k5!|MCZO(Qj`EM8ivAAfr|*Wz-QF>$%hn7CYIOk7SgPID=p z?cHLt(SzK$pzDCf$2Tq=xwD{X$<`a}Xam*AWcb?xhrg}ar$X^CNLkL9Bravl62BrE zyi1HKqUOAd_S-wuFllPPwL_}asr|K%-o7lRv`-OvA!E}1Y{sPhsf>vWR&(W$%3R(O zwR1dcA5}!nMHeoeUu4NOP~u`w_1eFXUBt=A8NU`!R6QvQY3DK~M$;J+qc0c}qbD(2 z&l@M&yfZ=-QFO_Lkv$^UKCmKk-Ge?OvNNUWUM|fmQ<{$D%3j3i4r5|;jWIF0z?f~6 zFDmDHwh^j`qAMk#P@7$*1a)buWZK`Kc0&PUGMUE&oWv!lT;p_JdyF4=N@~z!2-xqQ3 zEKo(%T+hfZn~grR&FC`*3ulU4w^rGOY*Dk;N|CD=lPxM3vn^f|Deo*$MHJlVi-o8t z;ncsp5al#bhmx&6BMJJ26=eT792rsB&;@T%cAV#(`t~ z0xM&vV=V2=nD|yPmUd>$eBTva-ua@6C}?NC*dga_B&sp4~Vv;n2I2#Mwyt9L$MGdM)6vg2dn}1&P281=I2u zF7T{!R1qmR`R!xP#sX{hzqvp~Y3d3_Ok3iJ%*#2Z(R`-Vh-t+}Oe?gsVoc`P%b4x)15vur zvprBnG~IV$Vqd9WVuYq;3cqNre$sMlWwd*lVn-}G7!!*-jG4u2qQN^0R1r;`8L_z5 zX$9CD3QHD7XexKuWt(A(jfO2&8@5<#w?$NRd1rwtqT-t_xb*{1j9WSWjnPC*Tf-!km8Dp|d31hNN5o5N^JEF4GvxlLIsOWNGHEF(DL+U-3 z=`NA(;#|R4=;-k!tasXIoN3r&vfUov6AABt%xZpF6fW|tW>gVf-7adjcjT=%tS+!!VP{8nE)*@{1c3r;iIGGU8A(Ke zJ&AY&JAj^9po-{x#w>U^s4BM7zUty$X`i8Q=WsCbzDjXP>L)2H#eKk-bbp&M>;6?d zg63IjR1po&S!%1JPFmR5QhnDR{taoJI__qdC22buQ-^Ff+`857)^CU=@6w`*D2x5b zw$fg_)za}ih0T?ABfL15M(K26Ib&lW38A>|QcV(=|v()SI&kyY;$ z+@AfMT4rTGXP5Pv{WuT7Jm57K-%9SbU2M~ABu3VXujsu>= zT%xjUQtH|zHm9bO2Szt>u1$Scs;;JmkNb?N6^ zb75%@Ym1Hf(y~q~tQqEUt}K4NSm}aT95T{?y+#_a-JS-#CThL2Ko!xR8H;PiXnJ#* z>OPLO1ZO(ttNXNhXMrlBZaUk7b^q-dD;;}qroTg0&e>jBjoLA#+1~sbYoBK(W3tI) z#^hN~x2kK%vmP>L&w2+-D4snFRYcXSzC24buI1I<23&(bXtlQ)FrgrR$#Wp+Ej;uT zt+KRGysE#%zn2HDFg%b?q!Zh{jEU`b`$_fJMAAE3R1rOWvIPr!KRS5WB6H-hWl|$D zIQQwU@Jdw_(w<{X_B+X#7#(3ujP@~R`;8ODm7eW~D%gDO%YI;FA53cstig19L7#)E zb3!(?N7;pjq*#wNuy%DTOe|82nZ>K3!8;37!EtLB7Iiz^)*NbfNHLuIr_MdP^-HBG z@t@zF`CYp8I2XOb)M~lDk47Lg%M9VQ#w77U#w_tGqT0K}s3PK}{Y!kUX;Jr@O&6-$?UQ7qPdKNWojePp>E>O= zr2FfPN%t2S6O+@7naNus>75Cxh>}GvOzdg$$!@EcpYFComchum06(4Qo>55qg~8~F z(aRqgz5KSlm*t04&7+Da zUg0A7rcx!JsrfZ3{dQ{JIY!*)-B{|?w|HTc`oa}s@${UrczV*lcsf?pdgp>FqOit= zi@h(Lxo=G;6ZiX^PCENSI*9wlP@i1Oct5TINcZ8yt68Y8rL!=#?_38aV2BE)4L+R$+Hil zifGy4VmEv5c`z#dw9KPX^3bQ_tm+EKB221MB|F5Y%{T{{G|oXLjB}7pjG0fKsQ%J3 zA5;;wwJv;?URP1r>{IivOLIB<)Fua)I?hUd2rktyB#* zbuVUPK1@qza@S2(aey8bTg8~QI?UeBoTJg+3RRQrw4E{8X%l18&l<+uVpOzwXND@G zH3Memd(es5{lm&O^d`%8#w-WDJ<=GVoUw5!OHHwHp}}mn!ECCX+3TWovuB&3im2Q3 zVw*Y7QMYeV5sqTx^({6JbS$+wcSbI+RA*esW@nA1=o7|L^kMr_^cd0Lof)c#lD#g> z_Ri}aGq%s`GiEr~LylFd87HlW)N^c$0@pDnUNwx#7poYPFIF&SA9zP}dFO>HqHLcF zFC%6+E%x9I3iJUo*qt}b^TdvG@6P#AD@O*JA6;Zj98WVQj>j1j$AgTSBj!h2JbNXo zh_d<@b9DB%Z~5(|)ZcFDH<+|D$Mwv$PUH0?J!;pe|mKIg;B9V-wP0Y2Vy`Zr32#WL6by=5Qw!{3jOX-~Yc@bmM zc>!bA`S(TfHqR_jMO2?~VKHf*S~uw9ywco0$0KJxesPVJkDq3Lr^t1jF)=!5^oc$8 zK9MI<-Wj2asQIQZMxt^zmg{%RrFi_(>+j2Yvs_>dw}{X5V6hROotfUUrBF>9XXadQ-QdfZ%^Zx~y@U#wFRm?VE<(}E3*$(dF$rf#r=F?WO4MeRP%&V(u=dB&w1*bgdRsh@c)tJfQyoO_=q zSt#14Icf;L-w=G4UGO(VbwgV4SY~fDKn+oSmgE-kBgp^P{3XFcz?gzDz=}10iTBm0 z_c#W{kO}xhpnSZjlpj!y0$e7a89_OHEHBE(786}obmW7`)*y&9;IEIVi~pY98%KAk z>Z56tj~CVHrb&YGJ}#3@*Q76t<1!YXYP7F*G9f8if@4J05%xtCh^A%ovKn1hdXzg( z9X=dQ%*v0ZpNV%K7vp7mGHAz!MRks2=7v}PS&UnGG;Q2WU*do&qAB6xm8SG}meh9G zHyI4+ooT?WWjXxxBNkJa<;dKc`qVkb)Td4|PNxA0@6w}+s5sZZ^tUeUn{lY>LUqb6 zy)iI4r=#sV)wll9bo4r(Pm2OyWGts@jEU88#>DC%V`lY^NS^R)6I2luEiSB5bKR1g zw!V`a=TVj~c=?x(vh=LCQh-jz#HgJyF=}PZjD9Fen>;f@6;W}yFGixFiThd;u95Mf zS(mivlB6za(#>8$0V`4XnF|q5mXT(@>_s$MgM3)=8 z(vIHyZN(jZ?zcI!`$=V1cHhmXz=%r+W8!j$F>$%Zm@S3u-a8jm5sf!oEXA|G2)xZX z5Pf-7mWE%Kf((y zJTpcWQSz+|WBYvOdZTqdyiH+eI_g|edc^Y?V)5-dWqo3CgE6tV#F$x(5wWx0S)4@% zlo^Wy#`ENd6n+tl3kHi*28&|`ivvy;#pgV;Ko!w`-^CW3zNF5dK5+Q!mMxCttDnes zufmFaH+e^ZJnS-Kvdvk>WSbL=$u@@>vuzOhyt6_T(cbC8%I;yu=U6l5CWWPK`e9eL z+G1C-T6q|;D`HIS3K$c+9)n${lU~1AGc!N zOnv~3Y&DrN+3M+6R+MT8-cXxE@qgO<+pN}0VGU^ z4?VjSs)#PBSFDgZDcXb5MI$IB`wmLZEb2^&ayI$MBV&@hfib%Vp49LzIjV@pBA3pv z_-%R2)I6>^_ib8rm!~yNyC!V>Wil|MvaB1U5O3dDooNVdeNDa%W zcNj~J`}ZlYCePo+m^^? zdIr|=|I(B-?3XJn=YpKK7~Gx9^n~99cj*pE80Pou$0F2_T?VjaF6;U+foxUfD z_J=#V?yDDbM!@XJeU*n^W|KyNkL}TaUrH|IAI6xZ{_l%8+o5se(W&6g&tD?<23sez>^ITZi zhx+7ZYoX_w!p;SgITRU;iTlPqs&|n7SMO0#g7m+XG3$SXXq)X>|EMAg7r02ynuXgq zzQ+jjpa$jTB*#9+EC+d6Q^4BQ+(&e#;~#&oMEh=32}J%CZJ`QLTI^Y7R1qycWKNEd zqX~(eP|!uU!7)5$~n%Mwez+pp5xg@s3PKvU(DD!pPIHv%>!x3 z|6-Ano8@rKr<}{zSN2-V*XQ_)R-$O-Bx7QHgfTJR$Cw!JWXyN^k%)U|j4F6HsSD$) zWxcnM&#RqC8N-aR(YXjVsYdm9S_FH>D-Oiv5o6-=t+6U`!@er<15r5Fv-MC#q};gJ z<5~H2E1s=V*cs29CwA(WD@zfJI%909F~*iE``ChmyCt4kpbB0&*Ox^^0w1-M{Fvsv z_@$4zuI=uXLoZj4XGtR=UePgEGqxRdM2h+GkT}Yb;$Mq4?=qu`XjtB-%=L>oJFC;6 zMuVgV2@RSw=+U54gLVc)Wn(YG4I8a2hY1@4>{8-u3{5w9eez|P@`|yBdCpkFJZWFU z{0qFP*Rv^6MU<7ZT6nSP>_*G;E-(>VWrEc7#Z!N7scXGUjVdCgrFO0WKuqK{AKy!! z>^@zztk$tlXU?Oyk-j~!!7k>UVjih8>lbJY9q zL|2(-!=Q?YujtEPVFLTA;40%)2)d^^Rt24}LTEiF({TA>jh1s(Ufs-?7&S5`M)i!D zQNF0%?3od&hQTmIuliN0xXB)bym)I+C7+~#;+fM!Cl70 z_&Q@^e33CRKFydIA7{*WdQUX$@yr-iL`kI!W4k?@X3FV;d_(prh2>ag*weY8b9I?w zN88F57!#vYjET`P#>D6VV`hXe1KI1D5vqvx%oxqSZcWMOD(oDcoew$8Hy(1BX&j-M zY(GLX63-!cmK;??{W=$07~bd13Oo4qO_UY3uTUCi4LTlIb>AP#K`5{0CK z%m80odB`&ZR1x)?T^L+_#ig&DeM-z-w}_ME3AX2S5~Nbts{?fu13VCTB{MYQ?1pAYQ|)kO2)*l zoH4O0Wz6i}7NrfIZG$SJwAO`P;r!ln^O&)|Xn32GSJefTpN@l^6&F-~8U-$6OuR}M z6R#r1#H)aDnpcB&UZ^74-FQXZcde&9QtP4=vY*?JdOKEG%4zOl>{5Jb9GzQh9GzQk z9GzQeKROo`b>5-Xqyz(x!&(wDW6fR)-y=*Nwum! zlH}d$E06VzWrV2pE;*`*PB+Q>@yH|XYDbvl*w?OPVhxh5jM(qo#r%SIFK92h+sK1D z?0L{A(dL~Es)&ZYE_UdL&F%ur^R^cB=XuU~;2!>VU782hGL8aQGnQijW3pd4W71nG zW7gYyqP)?w=b;J`d+&^k4aSAN85{O(>=s73OM&`XG~Wcb7a3s9A(LV-A3f-Fe1ktd*sLymB&5X4^>3Z zei!@I9O%7YTXjHoHs|`flgo{AHA5sWm-u7}aXG`7eDQ0>KH(i6Zty@$=e>Q z@Fx9Be{ZxA-<&6gO8FHrbYf^OW76Vu#;nCxM54*F7Ewi19_>?$ohO-By9TWq#J=H= z3cpbfCdzb4i3UX))M`+zL8S)usNV36)FOWA?IB}WbcRy>m@6gJ7be?=#TP746|T`+ zFgW1KiX*q|;%}TJg{By@LccGXzVWP3R6*43OQA5lec52&eQQ0WUSa35f%D0T6n7kY zGUB$;xvm%6^ly^be9J+nX+QSh}3i>s@9Pvp+8wh~7pXgD{I7xMSBjD!5MCt5*c zDq{*7&ts~btn(dXvd%rmY@Hv8F7LchMI_vKO;UULLF%HqTXrwDco|*PX_teBUA{8x zvcs^;mrlDhG<&uSs)(u+E_UI?j~h3(b z7?V|s7?V{B7_(L07O~TwS)q!EHMy|*`mS0jG_7*zt~Ed#R&nl{UfZoaiFQpdF_uFS zW0L=C#w`C|h+6ORql##Dli$(jjb{$(jb{!F7S6*}laHzNkWa?`JUYs1BL#`24&ZgYtzJyxhPLa_5I zM{4;rQ54cvGbTorjEPY>V`5awm>G=|l?l&&hbp4$jEmhCwYf2x(`GR;ywACt)>UHd zrlr((imE*h#>67Ym|2Vw3GXaWMKqpuVZlQp#j8ihT6Va9C#3TUulsxgob-N+F-d%d zF-tsJG@SFScT^GOi3}v(aABAGmq0lCM4ZoRQ=izym^^3;V`8$NF)>-mn3up z<$Zo#22|(jM}=dDqN_%Yj#0>&GPtxET#^Qtgq_P+5pVI#1yw}TWfv~?6^)jc1URL`9OtW-47EkB*r9iw_Rk+V=a+0U0y*I(W7OyEgs>ybv^snAf`c;1{E5VF@PO- zd-Fhzb)N7rKmWn!3F#PsF{C*2`9-r8U&`l87*m%iVocl%7_+&M&tLLtF4PcR*ZT4@ z(Q=)sH*3(SL6-(84cZuh6i)&!t5jYde7eeMJ=q&(r+1VY)O+P}d{&%t=_=zqd4+MF zyv%-{{0&if!z*>v5G6PJq7L!wbAam&tGDtTz{qQy5pQ0RwSql^zw?qJ-X!CDF}wLY zD9L;s_V1(26Af)%IiQ9}xpA;>vDX={7&lzeAmj{tbIR4wMPYARxf;5N&_u@MkB^tD zaw2q}G5h0KQFzNMA=D6!Z7xQ!pZ$Dje96z_$7-;lzGZlpGfz7-OYKw=iM_L|fU=!2 zk=VqTNsJN6lvfg{AyRi-NZ75?X^`mZ`vlN#ri&TS4qw54;6F`3{3V=}=h#$2 zdpdeAyEyy8bE7YG874>>CTL^Ka=$8)p5;ajQTK@D_9JJ<6qP{Ikk&p$P2x$vt&B;( zEsWE0mOoGHH`7c8RYd%8UkVmY_^A20+<(9?wTsh&vZN}*FICp2K?)zr7n*kJk{(@B z9Q#mRT&O`zgDMRwG$_-cR)cu#L)CIU14M1k8fGM{glU$-GE3~8H8@wWDrTy%NG@E) zy^d5|VtjXVk-ay*CK_TN;@Y{G@D0FL=};thG$HIg?`jxN&BS5 zk`|6mPZ}9nnKR8i$lRiE?mfG#tZW-&a{7&oDXy$$%y9)1>p5NtpoS=a&IIh<(t3N_ zBpxaanVoxK6R^$j zplds!j`Jty^?rH1b8Ti3KQ}{bGxLmRYi1bF)=aWLTl2aopX*iesDT*uZr=~&+ueVM z@$KWgjc*?}tl~_hfp9;kI~rPWo%W>+@IqxYvV69Kb4p`|& zm+`bm%K5ZM+mf_#Gt@zC8S4O5@xnW)gSakh(4a|!ga%0l{VT)yAUj?xCm#%<2idC_ zvjH6svO6~*zARM^6h+OojLAKgGbZ;~$e46Jn=!XOP82Rpt0vP3gerKWh>PRfdvfCu zYiMXXVhs((XzX0j+w?%`f+SzVm?U4um?a-AlI3a1Gc;=T3N|XLiq=AD)LLB@*Puaz zCJhn{`Y@_J;HFyV>k;J7!7#PLE5rCo-E~)dC~BvvuB*$M81zBI=%~)KJI^lWq`zA4 zyNl`zB-jRyaOKRa_8(LuCHdp7gH~7F!kDbOo-w!heUV)0m2>qfZPk?@ilXVts=6$$ zL4yWO8YDDGYS6YSlSt-#eflo7RT!Yxr`IrMI`sPVc)&W0x0M#-jYpNIa-vT!iHvb( zJPx>vN2e%oiZN-ijWP9&BxBNIf-&FrCn8pn)?%i;8dXG_)LtL{pg=&U70E)PoetbYK_l8lESjz9P2!3qOX9MEU0liTa5PNxWB9(1V4^#oMiSa;` zuVGBzhk+hz) z*NYMdk4~^wZ%5nK?xa8gO(JXa|_-Mk%)2TAafUD@iV7ltBa8*NKJcz26 z3aA_{{U63P|1+*>#Wgv`HPp@@am_SbUySR2k85JV@t`~;@{uGXrO%E0G@65d+4z@* ze6rQRXQ+TRm90e|CEITt} z*_j#3&diu^`*VCFcse{~ICRI>u>+$jLZWo@LS0s@L8%7i8dNd>(|(dudjvoj->njD z+UVZ6+m=u}j<`7E-2RE`3yUbu?VhOAN2=M%m{hZYF{x%1V^+mGT&l~;HK^2}T7y~!eGo3H3UL9>|p z2=#IOx~}?c*++<4D`Tb>5ltJ?)G{50Q3Y#DM5zxcSq|)ue{4S6MPK4FX}|iOFLJQ% zeX7foOdX6_rV(hB2C$%tjLzxAO`bVLQS&lma^JIzsr3_#r7;*GYKD$O{7tr3>7tS`>7tx5>7tY|-|20U+?duyrq)LlQB&;Q`d=5QxfRKDs6eqNnf5YfnaKKP zz^@}`HuBNRE*1Cwil}v|W z(Dkcp+4WIX)Gv^6tX7xBHE7VFsWy}8iL)~lS}%#6*xyTH7m_a+fvsnivLQWQ`H(Rw z@-Ac6G8^&jLCy9GnPS) zF?sL_#>DtAV`luGNbXEC&eYPow54}`D0(DwQLD@18Z>Coq(Oo~|MAZ`BdzUFrlT3@ z7RD?*%}5P3ITyF5*ISF*U+_RpYI?%XPHK8!bcowVhq!9*5cratU0&5xyPMU7sv=P; zJ49TUHE7VJL1MRShcHG;bHt{R@{)Y3On@wVMnTpM9Xc~~<2(JCbhL-;wkK(Pe2QQ(L2oC|&Ae>wf%s zk&5c%a&v3}p8VOcv~!_#eudHq`Rz=`)W~GUtf|qWFrKz z%3LXPOE6|R9Pc!D9x{B$K1qiRQ-ql`~r}pO{Ot(*W@;=opV0O;JGNb+hexk@qfvZMxW8l*JnVnE~B z__0_@J&Ni_KBTqYGC=y0g7EKy!O!veWvC?56vUU=fBx(2kFv0|3(@fg>+Y<`vcY5I z1tAe26b(j0ujYlYf;`}pyj;}D z7QqQ(z;ClZ8WIfSk3W8rmklPNckwk!_<^|aYY&R1nJVJho<+4#0$;`tS&|nDM?>NNQF;qZlZQt^$Zp^eg2kdC)EEPu5B#V6Alcy)`8PC+ zi^k(0D$|Yt87uS&Iv|S1gP{e{2p-3x6#K_Z;f$)J~DEsr^Kda`m#s)(F3>mhq$cp^C zypVBEiW@^*ZVby{Fg)@h?hM5f;wXb+m~P8}yd3^GFPi{qY#^BeYCr{;kP1Y70NqOJ zHyZfW&>$*HYv&9hwMM25BLzjCLF7DmXyjOM3IqP$9$j=^+ zkW06x2>m?x326RrW5N_Ztxyup0V{dGD9+lTwOmR9hU0!Y(B6B2;n>NcLZTP`-zm=F zOnd;&1Mdq)3Pug5J?xtUxB%Od{}KJ+gYjzr2TqHtaP!u{zn=gP!l{J!$G;y$jvXNV zjYnl_<$O5&WBe9_bSqYUbwwXlsb)YF==g2~dNeo%k5h$zPC+vm`ClQ=(D7=^nfeEG zL3WhC&;+zN1pDKVF*rW*uVBjXaFmiaW6wNDL(UNV9Vr-w(H_IfD^vwne@q=t{`Yxg z`>^m}x~7qOWB7;Zu^^Q75nW0SiP$h9F9bD9!nl9Ij>%XJ1=e@um=@;#<{gI3oLSTZRMWga4QmVid2>;u({{`TG0d*TW zv?|Yo8murMpx8#^5iUeW&XV01IfiO11Vv?2_st99a~b%8;Xx#Ob|g6}{4sQFHHAw^ z!xY)|Kq3VojjK@=aZk6x?Neic$jo7^ThWyGOBvJfv5fZtsd7Bn&czs9Xc!2DQ(1`r zPz?;3ADAGrels)>&LUmGr2haVp{xEK=?XbaelB@`UJxI`yZ=7>BN5D_+2Ql&2LgXL zG)RL@uK4)37=Lobza<~cilW8PZ-zqJ_X5HE91#zGg5C6A4@F2v%^dN!=u0B^GZ7#D z$)`p$(pI_RKc(A%RLBV43xp7xs442o;%-n4b;;nbaIYMZMC0Ws%Nmjs#-I9L*-Ea@ zem4|dodnAM4G>z%QjLW$7O6Jrw({0ks|ZdQmJcX5r|d^qsRXplB(wL^c=?AjX3v<2Q)}V;M0U%Fe;xQWC9f5)5K}`l(YU_A zFOxHjEG1JY50NP?8jEN1vVpz43?*p+A(JH_=!es)!k}znco_>D)?OB}yiAHMy^Q6C zpM|5yF=VKSV!l9`8$3XcuG#owpmZD9{kM68k%HhaUiYP=0 zAc>KmGeHFY4aExhN08*FgcO4)1$neIoFWQe8j_xe&;&nGmr`Dr`v)lVQ#tIa7R?V~ z^qBmRnoBnWjgydB)OHT}qO;8*e}JdCwTT<1n`O-^59yvc@C6bo^g@S-Wn&}_^*6@k$}#3W#1d_9N}Vx4V_4SH zb4*Fc;II8b8ey#v3)(4AfDe-?0YcHAV_JG>qHdxTD(aXUsthS>wZ) z)T#!_N61+xgqw5hxs+{;>0``s8+CHzs3S)bL{pkGs_1|o4}VFok{ilcD%~(-PkWFB>9pq`h7KgZpu9*Wa05uCcu_0=X&*j~ z0SWesA|_MHC5=YoC|2XhE%Pyiy+IvR4ywaxpdWx)KSnDf3xdiAitIlKBsi4UBRb%g zxN_iUpQ7MzK0&$@e-0@zDtt=Trnpbb4;1&&{s3fKpNd#5eTbf~!WXZO(RiV*m2PT{ zaUm7g#EawFlbrMnBg3H%Ig%XgFdtBZUCt1!W>BsZ!h9|r{N!aIsK+-_qa5EbXkmQA zswQ-h9wYi2-)JZ_F7+_J;qG6`G0nQQijcPU{(NH_?ze;P2anC6*@*NSsh1EE!&nzw z9fri*fpx*3V-)~a4vN9ZgK-TItd5LyFr~t=7}kQAwF)^8DKY#PVd z@h_n9^l%;mYdxIH%u9~xIWHX3|DWDd)*)a_^JvU}Bad?OFq#OQzC22coA^JirPJ^H z0Bo#EG5=JU_6gc zXM7J{6Ay+*(ll2l!2@U(gh4DkPA)%)x)U^C4t=B?MlNk*>>eVQy)o6s{P}&lxt#oi z97Mt0G35W#Z?Td|7(}qX1t0>y#^fj*{veQE8Kq{Ua`GzAs+lVhvq$N5h;ThEgW(R9 zQWSZsykOQxvGNzg+3!PYR!fcac&EJ zPv)t#CKslRB!JfxsAK|Zm<$3KPELisd{#Er8= zad1MUD2K{u%Y`oZAP)l}g#TFx4**Dy7#A9=Ymc+n{%Cw;Nyw}`HeGpKy7K6JxzHI! zj{RD?5L0i`GA%>WO(XdvKKXzcJ%N^*vh(FKICj0Lf54kbk}Ry9W8SOe9Fm8b9yCWs zbMe3enIt(NIG9(RMxkr58L~ty`;)wvk?Ms$%X$nrdK*Zf!&N2Z1 zLeU}66MonfL&_vU^S*~b^vd}B?7RV4V2^M&fF?${B94hRK4)@6Mg#*Cf(C$A9;IU8 z=r9rZ*HEc!WO#H~UPRW^ zBfms!4&;p>*>c4Pre4ti2|FAMg|eZ%k*F^3KRnt;W4ImPX%Oy2Z9^{V!j5K#YjZ_N zIQg7SBs!c7hUwbp(QsP5FopC#DhXp|>G(|AD;$Qy$aq@@%a&&gASKUa$d?(L?h!dQ9&jL!s7E6TnUl$ zM$l4UHk&G~lF=;MXsM9sND9-^Qpyxq&iWqqWG=%KUZRg)A|r-RW~B$u!RX;P6_p&Lq|pfWg$*a&Mvu)kZShOSU7}@Y&Av21L z(ZMn-hL86XwEv`NT|5lYdXvv+Jv^*KHU0Jxu3w{YopyHWTErQ>pXN6H!ZmuGYm5Dd z>*3K?C|nOW!?jH_($y#eQn<#BW_I2P8E$i;BPd*tpfzzsoWIA=hS6vsVkB)Ia2^;B ze8RaPMdcCHTPemOgi{>^agN+0C~^>5(c*zbsX* zHjQm{?JH)tM8^RLLQQ8a;;m}Wev ziB1qc^gWftS0iHx<9-;We-^69#&4whmD!<>aA8j05R;SQ5OT?|XbOxc zI1KQk3513MeIUz*07WH=s0m+?WJD*FvqsEBsz%WXAKZZR56F!_eiry+lyYVD0p%aq zr3z9`5tKQF^%*4`(V^yNI-A2{pUf^kgV4Gqm2dpsXj^*o2-Jti2GwLYeYMOt@I67+ zeRVrJ-@pt88OMLA4B)kxVyXiKSd%5aBdliA1TcT381#p{QE-tg{0n9wSET)2^}i@K zvwwxbNqbg3oteaCgY^aU8;0+~v-MeO-WCjGXXOl{`5$)g1|Y$eC-KOyVD2IL&^>0g zG}OSYq%&v@XX7s<#IlU0J-8$ciE-9p<0uSWmns@>!iSXgX2jUpknE^(3W^Cm$Ui}1ol7T-$oYFsSZ$N@SMz9l zTgv7(LG>(~tsyDf5SkvFvdKr+v9$~)wyULVR6+{}hHNgY3rcS;El_gQE23pncyVhD zb3a#kemN8i3%UJ#4sBz(0j?dweX*bMTj}*dtbO2*U(x*Z|3hZ?$)~a*z*tkDCAv}}@Q$!JyPj_JEW z{78D99N~E~m8dGRZCb(04`TlT?L_pAY0UpAN zlh+LpVJWx|Mnl~8ka!?QHs<&||yk+dnc|rJq zauvHHNS}TUGZ^FmYJw8NwbWPT<-evgT25VH_Jr66dkJhRquV2kOFI!VH5u8d1W6)} z13I;26B`TJE(1OtoRkTo*|Z#DumL@oC(&-U;*pWOJa4e11yM0QW@Q%OtQTAoC1Khp zh(t#iAE69qC97qZionZF`tV(9h{7c;X$_G-hsvMB1g);&4=9GV zRqz;ZtsTBiMYVQ4@m&2mB^TZ{&% z0&Rb&2}6@LcSuNhEf~x-j`pLi>^wT;Oj)&T89PDP9mN@HI>V2hq0flt=V6p0!oP}P zKnf&Jcm;5f5L*L3QBTmw+IR>i(izOpMP2%YCh83LH6Giz2v^Q2z{{xg{A`3=pJei8Ts%%Dp$nkS{(*0ppNPxGYe|6&IPN}c*@Rh(oQ02;ms3KAYNKfZ`~_~Cp2ny()6tY3;--9ixJf_L7)T3scDzs_7 z%)(^EupK7;ZrN)VT}J^BV##)b5D^_pPHL=n+94H&Jb0i$6#a}cHUIG7ipX#nj^50O8I z%AdpJ&p&w@Ko7~`(A;~GuSSiLXQt#Ihh7>J&PE^#|A+M60zDBa7XXJNZN?La!|)4l zy&j6fAJFSsb0B)|dx4>dgSiBT$JdCxwnf1~8w4#?+(8IEo_w2+?c~6Kp(& z8pVTRa9aF@zlD6fnigp2@oMR4^2vX}k5?li=Lhh#a6Y~jDIkqT4`!;Tp;4XYnbBPM zQxGROF+9ivXnbsvR+;b#To)}4h22E}mI;r+j1RLrJSs+a$78aUnSu!5LwQ86wJo`~mPwJe~N? zgkf2MU;u;%!-wTt9prHqJ`RSCB9}Ds>D&}?#G}vj3u5CK6~+U!g_kPihR+OUD zs`!BNQXmZOpJGRY{u+$!bvh;EY*wvj2Cx(-n;je-KyQD@;7Xje!+EE?Tnqp>-TZfS z#F_S(>6qe}|DV0LfwJqk>U__~{l2%mkEGUTEBM@l5~Lv6A~AA40O@r6A?M2uF`mpU z-kQ8M%p&=5nkh=Ut&Kmqd*JO{*zCy0lK zD3FfUo;2XE za4xM~kA;~mYIV)naZ!$gmkZ0?Fr?F%Wls8dC~cOe71nOE+9;*1SxuY8PsAHsySJ}s zpwTmby5{X`eq>~=&U4QlHjosj~j zGpw8YiC{{^!}`(D!;U=}rS#!k#8=NRmjML)Ev7r1iXGjxePbbc0q#2_Q{YglIPQXd z`7=9Px3Gl4>*7lQp+hq`T-gu|j20wfqm{{}8T*O6>ce6*!jxIB^rkIbO`C%4zwJ#x z1v;oDpRI6w5qeI(@d76xlhz|b@}YupM6&kyj@7}XDu;q348G6_*kl4O1y&2bz=9Nk zZMq4#jGPylfGwMVOm~}rtz}QZ{&GuAK-39ud)I;}2CWpEfV8=ofUe!?!U_0%vk%KG z5L&(2XKXiMrn;#&P`OPj$Y{aTyLg^~spqiG)DyPd)Eg+->)OE7Yo;wty}ohjn|cnW z^Zc^y3RZx=sb}gElr5j*S~2n9aTl9F4jj`*O>`4Z+aj7Y#^shkvgXai!bu|$$IqCC z&6pxmg{W*XrT0zYC0bxi`+OygWt}|}v1V#5mqW)X%)44@PwP0tLp9k)nH^`?W;xn| zF9i81gdQb5L9nC;TD;8jZ6?YPz&ufz8F@i$jN~wIVT?r{WCmuX2rnc8(vIj+_yVvJ zXsg3h8*YZ^AU}SNy0#~aTaVu%Lz7d7S`1JE)VvLf5if=mM)_& z7OZ3G-q43f&CiRbp2po?{sq{s{dPlf+@Y{cYR3by2671UN5O62CDkXCAY=r zC(krkcnl}n5CVN|Tg*5S@`bPrDfFZrps_S|)5xy|XvmU@$^4_?8^ z00IYLe&VW+a7zFt7qWqYWfXLRUD29M*me0$S9M>JqH*lk{w!jQTEyzCnvw9pTKhvG zP7_gISSg1y_yQ6}fisH+Wm_k6^Z5 zuHn)YT*G5iEJ_3qHr(VWm$$#+>~m@R$*UD7!zex!9(43nfd~&85xR!E*KLS!)qI;) zHwhz|z72^%7Wl3W^h+ZqmJlcJAMVzpVpKFaG#9PqA&?%&L{T9^hzdKUz@aRj3S$N@Cy+OanDRdGG3xBp^cPdHWoFWHwW{x6IB68HL&%Ue6Gk84+P z)RLq?aY$6e~u7CXbW}~4@~ibwKByE4#kp7EB&vuG9LUuWtYu&&G`%NYhPF|Epwg|SK6-@ zdwu5qO|YK&d#1m& z!Tv60&m6!Pdv;o~G4E@KqO!kmG`MrkdUV&@Ss!ZF+4>LY^`RanoFfHa1HNo5_~O2#{^dx8(DfMUiw+1X^glaz+3O^-g~T}{S2 za}=Rzt_6sM3IN6WUXdeHXmXcCK14ZN^8qNCTo1{u8Y{Edu}=gll%@2xz*P6L0m+de z;4Imf zq`LNpmC2%Is5nhw-f&Ehku372&zn`jREV*s!u+9Wp+-?{@eyfb1y@x+^XG_>M9&Se z`Q7h6+@P669^maR@=yxd6DZ1|NMzn(i%HdGF0wKvAj<;1(N}|OmIP~pb=0Q6=;U|6 zZZ&_EBHnm}D>P(&>d|czw4z(f0~#FQ7hT|xZREPtO8v7=SPhuYXgfGUnijbeaBB}k z9p_cz{6xFd-=#YhGW6C^8+iegjhaN>Oqa1Y=0k_UPaIvCnOd00_yfYI&XC#PWlX`S z^uni2KI04Qdh`*N1|*9itfozv=S74YxuVNZ5f<-B8G4{2M@4j$f1Z*g`Ayl@3?atA zk%IAVaMoy&DZEqRu#AutJ(b`Uec3R;1S(x*^WV`pK&+7yQ`${^Q5C3B&p^DGV7^{o zJh39S79;4BQYOoJt6zkHRQ;*u00|2LK{v3Ja z^6U2Sob%6mW^r_4Y3!*WtEI=cq!`JL#E3q1fYrl>5ZX?^4~>`q+v0nY$%IWn)sQ_ zN+!gg{z`>+qe@s({>&#YM=4ic0Yl>?ZfgGc+^aQPI9{VE56H%Zl{b&9G>bI7^G(T5 zMHZtV5|AyC-JPhc8S@S!!)uA{K+D|ug2=<%5v6)_$BqC@$rN<&C9VfOZGY;rXyi~; zN)|y9GHu^9bG;|;$eQ_~9nqUHl(DjGCHXnL0#o<%COQt@?0mNNwdRoi+2Kl?vfI3Q zLxDEwrWN5Jd6rEj_rrLFMgix0hC0jv zeO=sZ%qAgAJ{hsPup$Zz%qz3BThvilc)m&MxNt#o5eOBBS}}AUjEDlgPUaAyj*>vU zurkRz5^fBxi-cufxjKXkqaz?M9dCDOXBYZpq=YAD;5Q1GnNX$nIh5&3=nARG zwgNPXtY9{r|93)fBlN(fF;q8TWkn21A~L{^R8VB1;<-hV)XLramk#H@9ZU|tuF~OO zrPATQSbsYFc7N>YzE&zh1sT9)tYCH}IbtshOqhLIs5%>5OBj19JDB6?JH`^su=Hp6 zN|7PX>5wuo4qBn$AOxafBxpFsNCun?7FSbyt5@vFV}qH8ePo^|-IC+D!qrqO}#AF6g3b&bsk4caO{U*b%-`o}eltB34}9FG3Rtg8jwWu;(*$ zo7Uj)o<)&JTWe#s`r)Rc@#exBC;&{#5QSS?~14y}XieQD!| zHY=M>Y%z0j0-+5Y+}FphgBO~lnm2&KJZKpx=0SupuB)Tzn%|OWhn*F1g|u$<<2wFq zdW$?_Ox)Rs{6x!ptl4;Mg{81{1&k*MI+-7u08ueuHHlr;CI>V2hNBg$2bNS(&a; zBWuUUFNF74LvLoo!C}D;fEpf_gW|F}`M|75*TDEzB9q-;NmsC0a3kH3hU?G@M{S@WYWVbZIlrQjEypllXz)<8CCx^OIHUehIZfqt;G-~k~VqD8exhK zW(QUvZmExtMPQ*KWOm`-@e2|3SuVB(UF${~>6WKD`;hz@n_xw(=f|*_|2GMG2a$%T z1O`TYy&;rLS|YA1_cxAkXo0ZC%Pz`>WLmveRv<}W9KxW@-0l!c>8I@+u7W8dL`x!T zrIO05BIHdV9gA3#+O|-tyXqKM(o3=9oQCV-i|L?2s!~}?f+KC6PZ-b}2m@ltR3(X0SDJjO4ZmmRX+`9y669;XVB#0fa;e^K3%;BDWZ|&Xj!41M zEVo#LK5vdTXI0E1UG5RkuT89fECkj%By;2k{lYIK%15b!2b(L-H#J!?3~|d3755%c z2B@@g6+Mb`j&#I>Z3L8SU98s0*e|~C8zq_wp&t52U*AlJ$R(S<+Mz|y!8*%OGbe3Q zq@WP@Sg;EmUaZ4V0)rU&vnlSLkdN!0koSb8Q*j9L6$nIjd+M_;v-PURE2JxxGKA>Q z<~1${+?FKbLz+B!D1Dn1K~1AXntTjn0t#Rx4h$xuP>$dx#oFh;;AANry$taBZ(zLTJSnFtqmy6QQ7Zv98XG7<_h9^ixTqOCsRT(5C zyIzn#J!gSdxvou=!=Phd(z53$1yYw16esr&ccBznD^U-~BrME}2Oi~|1$P z?Fnu`)bsi=4e|sm&x-hwiQbSv{`l|hz+S6;IUBIS6M8}0~xfz6kB!bAw}TF zMFXIE!3H^v3GOD-+KYii_N!Qjf;i z7`Y*lTtxxJ$x#>wGf@&UW^6rho>*HtPjo;dMGYxX6cT|T z)we_))ez=Yrl2ck)Q9-xV36xRG5LAgYVoCaG9J6Zq`XyjufaMu5Hxm6pcXolnNwM%?*-e>64Oz z{53xPkB2u%7wk_D@+S#0W~F|MuZ&IK*NpA5rovH>N0Y+r)UZ1Cza2dh+FRS<7RCf7 z7Wb&7F_y7Ct8Z9=+JoP)OmWO3ZHe)TFM}qth1)(gf>L9Q`F(@-hlPh0Rvoi>i$q94 zJuu`YdehLx?0`7hs5nZo91Ph;mxCc2bvb0@Fru&=j8;ll@IRnSHHl(dnUBG4nxsWl zqkydFiHA2&Jdws-@}N--WjxhT#zxM{7@1fZBOS|3085qW2&$(QaE(*^P`JUSAY;q9 z!)?JTq-B5jgXUx{HVG&SAs9X*rl%(7VszKjHfvKKN82#X*ygHyER4Be{IP>5KK7Ik_bo)%4)a^mHs*dP_Ac zbOHfRfd~%)Rv=5!lUIe!Nk?f=SQomj68n%9+)*&>84I>Q?V*h+(Wsi89ILfI9WHVS z!W^u7%_1$_ZOnIIc(E@~Tlb_&;K^?r@C9n?p41k)A-YrY!DagbF&vtVP6=T$p^KEh zK)S;cHN{75)`a{5Od*UG6qx^-GN zO(b;M3v(30MosuG_VeMx&{HsTYUyYEG`33L5Fk8D&$;R&-#;mRld)tS=K+_0-IS#D25L=)%Zo* z2D6a?dNcJ?lO0U0Xd`!-rwpKBTnJUF6hYfb)0Rp`yXPU5*Z|Z~=OredVG_zliwwHa zrP_cgkNo=T7G2(k*5|R*A`c-_7PXLWC-cmL$f=$_!s(2KCeqcM>h?P35f395tyi4# z_oFS6vC)o9VOS?>5|vsWH|l?>QU6Of>WfD57nc~xuM#a@_dJMZ#t(_}iV`qjEJ~=5 zqh04u@<`ae4by9QQ0>~>r8Q2l9p@txC!Y%UaH%*Z6MbiuRcGwB;xt;Z7B)8?$Y~G> z8Pp@B(Q9bZq=Sv_I6;67fdl{aZ1Um#;vaE)HuU53X6Q;d-;FehAT5D%w|-YLn`MoR z&~Ms&hB&06n+_f_>tZodxp6qTGgZV^5oJ7qY{}~%! zR81%w4W=heG<0qTgARZCVm+WpkpCAs`L{llnkAlL zQ_waJ?}XK2r!z(ZGd*;>v~jJ1k_iG~Ik+CVuq#yy%Ll8+nCVIkkQ2@wGlWilsUCJb zchFG>nl1s=v@hslH~8T(nTK~~Y~bl9m`2yqnC?Xj+IWlE_((%hXlb5lF>%V9B#??E z5R{XibW)YHN-J6aw*}vUq~cGYX}N7nazQ|S6IStTNWh>-y4^;8RliWL$B6WPLsqqw zH0>z!^;ps*E=czVMl8Kl2d{Z)GKdT#WqnH)F5E^mUWOWIWqpiRvvwdSwM1ZsRV;W# zJ6PUZv_mVpviY4Xzm`j)@)8SgCMSVeQ2`H83v0M?n0#V6OlGkhEaA$b^_v`$YM}un zC0W+IgrvquHef;W5)yB|zSv1f_MoyQBn8U2+Em6`V42r4geD;wEY%C*n(44R^3~Lk zM}tEi4GwuUfan2azVIQ(T3w?0qC>8@YBuCJg18~)MMK^<;P8+Iq}LOS2fiWcdD4?( z2t)2gV??(e>9sxSrMmP?q-Vn~mBQvv+joZrF-TpK$VUdy310|L_%NFl1c$9IZW9J;4FL}qXR-njPJ-?dyOu%eMZnZJAL zpu%(MBr?D5o;qm$)ZvXKYllZ_PUvJvY4<$LMBr-!>krbpjcw$uTL1_1Q`^0dsi;F79hn4SkT<<73PZ z-#FGQZ@+2AMZk{~1M&{?aJhNJOl0lW|D78VQ~po*TW#O*{SUGGH6nVGk#-V061wln zsEcC0C7zGW@u`3WJp+j?LAu_u|64a^bs*I}q`HH|GFqR&Vch{cVYhg1iRVzfrR&a8 zzEz+El3zJKa&H=sf7kTkEE+emoSOTaN8kMqQ00LPLx-F>syRos#;JWvd@MS^OPM|e zG*XX5#;N>?qWqkd9}f=*3BJo@i$TsnS1?`)OAZzI&~1rl!;EMM zpdj3zRnn20j_;?z;mybQmu;O2C&m#eRcZAZjExfo_F-Maxmj+1i>27PYznAt8YHe-_e_n3;12i zp9st8Fn{;&->)7g%G*A;A8B_5`G)zI7|p@Q66#~xilvPz2mL|P7jRZnf`U=nDhlE`v;yCgk@4qTO{?^Qn#$6ZboIe( zEp_P&qN~-ZSSks>)qFlBbhMJLr3182g{l6qau3^(Py;Sb2SH#9VEeO{O7Y`nHJg06 zFHw};P_;UZD5JCrPl#C<;J?7lWvrqyjM-E&y30yX;WwOeGrS_}yyXX;*-C4(`(3bc$`ng$^^GrbvEwH|Ar_)BL z;Z4F7*bEQo=#+FcK^sR8HyHM#>V9ZtgY61=_hihd{aJhyBaeW^c$2X5X5Lr6ZHyn0 zQbZ|2F^eGoNr7<${Ey@H^uG zS2we^K$2W)(_XUvE2E26^4)`<7FQt^3b=bQWts}3O&c9&&<-y(qgt3^gT1gTtjh^C zcnja~vT|9O5)uBh8EdrOL`L=7al&DqOAOY&K7)zWOn#l&AZi)rB8>9?urgZd+=EWx z^RCEJ9MaH{phkYx1ed5a*y6!q){m`p99T#_9WJVX!1y)M9d=pLPFBbCmf?RDTN(Di zkVG-3!Mf^ZyM`J#Hbb#)6L8IKwCCm5@wMrMHR(7w7LgvoESl27L(XlqIeudXu6o+x z98%eUY~34&*gT|s0IRAeKaWFAoeeSYCk57 zE=#mZ#rrTO=2NlE=3?}#K!-LSz@i=LC60>g*(!RMNNygSOr&DHrEt5e-9Tm5i3hgG zU@gd+Njj8I%?I>L&>Q&^tPb~%a(5j&Jw!_3a2RF^fC%j^#2$t+a3RGc1@sW!Rq{V98LP;pE1{Z z)O5xN6AH7;RhMtFRs;ANNobN`_7r;ZK{c#(u<60}jwsR{Q^kSC7<&hlf|!^gF7?t5-KyhpSgt%;U12 z|2CQH!>ik?$pa4R`TxVwk!EKUbRa!+*V80LUx7@@wzw9o7Q+~B1acr4tJcOSuokB8x%9n45B-|NGmv$pubwnS%5@k0<+7eA~Jt!d>1C&C|Mi~%3Y8&EZ& zB)fPeuN0%p(>>gyrWR-GZ-j?I1?)FYW}S5XL&DCPpS96WSM1dW$olb-o0(v2f7cJ;qreM`{q-C^W|S6jkA*p0@aZW!8Z? z2DAf#sg=;OGxn-qzUO$%n<}f8NuW6ucsx-w;fl6ur zD)tx*4eLasjM;)o-$hwzkf&l@7}XzfC*5Rx?l8mD+V8_q%|8};U1-c=3I){La8jd5 zMp|ALI^Ptkdor+fl6Q~7OfbXCqgdUlPwI?`aV2~)=vo_K&aD6kjG^In{=GCEPmbM8 zc54lJ)EcJ0)^@uhnukM$TM>&|`|9inE^u@VB`DH=zEV`I?Rg`KvIa5e+f_|Mef2bf zAnLe&_l;oFS_ZK1q^AjO2d!y!#VZ5G1GdsYK=XL|p5Q9Tqm{0O-at9CmJi$|{bms_ ztG$+It$5TBNNNjMkXLc=mqK-5(^c^{^(tU^Gy~vmbi*++auJx6;?&E@AUnA4(^@wu zC_x_pdf&^*fs=Y$OjX8R>A%PYD|lJ)#xWQm_qsY6h<0cQxHvT(VGoB4AOo60ZisC} zm@aNaf^|zEO5`DtC zHylMSpC0W7wo2!_CfpV;QfZh*`E&J2ts-%uOZ*sSL9cjBo!fc%F#xsA%_|R+A0KUh zTt;^YoTyC~pf6TVy)yZ$dHf@^DZXV=KN-UO#5oHe!N6fLzmspX|Fn%$0YUy}0Sll1 zaZBF5Gq2r7LuO`-Hxdz!$P=z;hO6}*l0vP9IJd)rQBFtF`1VQmmnS4zyN?J{yf*HX z&0HevojU2n2ELAA%$&E18OACCQ)+2H<zE-JIY5n?4 zKG4|J*r=G~rX9bn8aRvv!q~Amj`k~RnTD@{ap56wbzaoACqH)VLlwd8aUXzu51;$AtI5)%717ef29oe)sp#=kR{m-UG8;Y)r@@-D)}FPHwlcIGRf7J`&M*Ao9bf;gqgQ|Yr>~lwJ~+B__UP5&fBxFn zPG9{7y>5N?>l<+ zmmfO!s*w{bmGxc82R3};72EZ?`kph-o&3VT)9cS1{*f>L^()@3*XQz2j{W8Xzr^b- z#A*M}X7OwnV}kgc=rY_l`6={tC{sNrS6Z3<*aNc}y_|g@14Ce8Ov7KMU!FGW@Wd~kF zW6tZjh#nC5=mF&^PjYO#mg5Y*EL@{33t1vG(kNzuR#R6t&R=Ke({-?-lHXxW+YU&+ zos$A|m;G8+c*<#sj$CFl*;ev9-L?h(l^k@($0%oCNaRm8&b@cNOX+et5F=3or1_Rq zdIXczl*Zleh~&d;6h)dhu-HKGj}sjUBi;D+17@jI6El!oc2s(lIvOtMsH;Ogtd0Nj zPrm2RfB$#>?qeZd6|BXs189LBZ_f+PQ~(Lg;ITYU+K(>T*=h%vn^k)(g1A1Fma zJrAQDqiRD-K|A4+ktbNrYNA2ll|*H{M}$RJ1n}Z;ZPyEi&(Yz?$xWtp(mTV@zc zW(1Pp=Qrvaqwx6n`g@B(o!_}%vo7vSlj-j;Bu}wt>k#(_Xh#0o(gi8Yj~@o;pE!eN zgof1}#fKqoc#!kKd-C_P4;W6GxwMVO*U`a7t@*22g=E0HYmXU{W%`SpyGcjKCPz~q z+;|Qy9m7ehwkuh+@%p9XQ8{4c37i){w}|c4fwvQvDc*7Ui+(#+t#WI zyRWWstiVW?gSjZ7G)*Ood4X8t-bt6)Se*o?YuV7~u3dJEp}Os|APIQEIp#0y?5<{J zi|Et6UOgwDT(D&zBl+^{u$}xBx_<2johwuV=@pZ1E9q$04jHxcKMy7mimUl+-N85J zK>gooE=fY)hvh|NIy$~ly9$gF8(PUvR(ZpozMk!pprF2g-kF@k7$eI#M7dpmUZX#0 zwqB3T*=qZ)_e6izA+oMZzK-=<6o@09C~%D`t7<~l`9G4(IZ(^g1z!v11PZY0yCr@{ zAE4dcbsz~t13FR{<#}{G+}|BFy!8*S#a5xqJ<4KGdxOS~gbr95k&18ha}CDA)<3b0 z&_+Mfa;Ph2nWeyti`CIQwb^DNG>DeUGjyf)sZvZjn*0(n;gB5r*M@0}j6IV7 zzj!*Pqat0@U@TMMkV@kTkw=eAFFbZgM5i>5Fi7g|(JmF~3VMCue>DziP3m$yMv9sV zR>xEnnmXV(?~&Ni?MzHdFv9IqiMPu64lPu}br8&qJbYk0We6XFcL&Pw#xd4o!|rN~^_nWD;_iBe3lu{>(L^aGa>y1gpFC1G8qyX{f!K4rQt%8D zaZ7yG{+^251UwyOYm=X{72|x=Wlh-yN;c>{hja>F&_>YcO16A|6pU{gDvbtPE5puaI5T+%$|huD>wwKB)- z?~MID61lS4k*B69OPqE{01z`LiRs!D%R6{gA3aZpGCopQ$nG zh|M}$*T&!3gyTTE3aub0KpRtp`VN}41wk(M0%^rqSNyW3TXJk>svoFvxW7$ZYi9v@ zJoS?yo2@Sh8|rvpH*J%P1q>RlkI9JdlP)=!WKlL~`ReheBHhwEHF!AxHg>B(>hPV~9VT!M{75TBMN&p6-XqUI zmEW#EuhE}We>RJi@MIq8q3a$opB=pQcsh#RxNnkIZ2k2>B~_67o%-{xMT<{Gdlh`a zBMjkU@n?w^R@-h@n_G7VS39T+M&YZ|S_UYXHh)>m26;-wmRP<_+4t#1-x&~BpDng> zfNkdu(enTaW21CoWg%d=hEZ%gZ$c=dR)yx2+XR+Q*v;re+PT0+*kqZ)3^=q~k9>tZ zitEt0!4@a<9T3yA@pU6H>-sZq?LBFK=j`u^&=1FK=vsWteAw{%^v#9i7dYXy59B$I zA{)#j_7}DfQl@QzVf2X0LgVng-&ZKMjzCVilIN@e=k4zq`+GJ_rjSdv#HV~?PFrJS zusy&Ox4?czc8+qH{hs((X^U2BW#uG;$WLn|z|L5!SXl+w{+{+N)Y>R(aen%%W@>cJ z)A~o&dCPjz{<27ta>5lu&WJp ZTYRAG>)o5r6QS|nmwXQe4IK>sDv?T`Gnm5c}4 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�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%0D2^!n+2xhC!)`h;xIQ9 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

            {hmzd?>bmRM+}2m+d^MV4HL zvR2^mprSau83^L=ZKkpOdyScDa)HAGyPBz)oNcDKwCg~%HR*=v{!D2V4nJYT8`D6w zF-x4S)hlz%4}9THF^{UL($mtlqKGS-R2##YN+u4KN35HQq%xMKB5{DRsQVPkSU$qG z=-7l+#}ps@tG`ezhB*}LrbYq(NZKryByB!|3Dsni?ZJeK_G%I~;%$n^Bndl6w{9}U z%YFbayM`a%)9@90@LUp9m(G1{w@!_@$!JP)v)G>8X{$_hmz0I#gYYzlQqlQh(iICH zdwFu*RmmRzw*9K)<^&nL_)jRDPB$ynq+V-`Q4|z;9Pj!^XWKX(jQ8Hm&ri&@IXavF z{P=9U9)8}!-A86wYrm_Xzcs7S3VWE2@w9O5W3wibC{y4x*033r#b>c+*W4WD15$QE zv=1zV5+bc(hM+g%BU`fXPr5)10#ydX@CJfhvQHgp zW|Ii%RviUxYrs5WTFmQFr_hXKd=qGo-sX@6l*#l;7X7UzJ z^*jI8oD%7byb#Y2!CaN{fNzTB3m&tb!Vu`f90P7)0Ao6$Qrl(TY+=dLSxSB*nO5ywq=g{L z@?o`B6}l;#KJEDw&8GiWDdjtQiJSnstTU0CBtf#YzoFY^&#_A~ny@9+a3(TIIgh!` z?vA_Zmr?N+FS~{^?v^%M>6p`5u*I3k*81gs4l>M;C6aE=ImocJxWX3R*5V;ZcJlfupbPJ!AAuYkS{XV_9ki8W zX#KN~jbMV2#}6t&Gz9{G?FP`OrDCvJeC}YY?i@3|h3y?QG!uBZ{z)SZG*94KVwCNa zV4g+p@WeJ;Q<*BtT0F@sma~3T=u~W>Is|aEG_R$t9O6CjbUSwxcdGJ!ZWA*y1!1uO z(aFNOq{$fcFG_Ny5F;D{(C@AK9fSFYM!CRJQgp;la@r_0Ums}s4Q_6aYfq7atS4+- z#(o7*@}*cxCuBkvDZ^74O>DNkZpyB0w(UJACD68aGyAOl)uunirV}g;T>6G@R;O3S z4JVpM`@O)>b1Z;_u`eK;p)FjHRW@sT4e}XM%z{*i1al%FW{^z>46?%ni{@mFsX=>0 z&c5HN1D$etBMo!V+OdyRor(`!V9ER??Teu+$^7zw!eGBqSE7rEzG4YH3%YhHTgtWp2>wunn)xxym-X zA}?J2*p2?!478y)BPi&z^5fN8cbJSu5&@a15gsg(Eo9TscT4~#MA2zooxZ_a<08VT zE~+o6!*KlVBzF_V-*$*N;-=Wq=CkW) zQ{K^LZ*wgB99TA%PB{l^1`#D1zWb2CQ6snGMdI-;EdLh?uX%P6%fDrICQ9J$yQ|fU zWrLSkm4^w)fv+%uRe?Sv#^G*4D*-3p&}$0etNI>=)k-FR|F{cU7=5!7CHFrynoX8P z4ytXVF&LXR+RV{JW9&g%lINB?h!Mt5EN+94C4#};qR5SAX2BVJa~o!e1~{2S5kkVl z4ZUdu0bs~Y%k6$Nz)o2()i8e%6FQ%s1STa5hs9kL5Uo%JxE&X_nYKl$bf}D1d#3B% z;Px^!CA!^-h=EyINq{1f_IR5+H}imA?wfyc_5>kIF9LOlKBYNFtK4tAt0Dg87P$~P zf~3zRL-fdjUm!L|n|+QJgweAk)wH4|IhC;D>-L~0uwvdP)QdBlgNMAa?Hhn%+b78e zV%)sD;2xHp5?u=$5$*efYp|@n$%Fl0q&+%kOWf8H8}&Vv5bGFL7SQUSu^&7wJB@x2 zHX)(e|&?FOQRLl&SpQAOG}!ed#TeVfPeEKCN^ zLO5t2iiV>7*Q3Y4yaU(4u1)!OL^J!q29LwA$zdcYSx%}M5&>d+uqT+bTeO@I7pFMK z5tb92bh0NTxW>)nK~O21Fo6g>ARqH~8rl^GU{S=bYci{%Pl* z^K>c(9k-pu;0F?>wjTYZuEa*%z?5`03 z)FL3bUnH_@BDI|kN&7J=X{SR8Uq|q;)58YCxYNk-Vb#qg2-cQ&nm3Wq9C!wInngAQ zSF~%~>Gu(tgF=gJXrbd*Lx#JTD%D zRXSu zm-$`5W!)W#%d!%)*VXeGmzmy+fXmIav%F-ZPn9r;h2=HAFHM%~mF*UslH z{u}0%^W_&vt<$Kf<0O$-+sP`|O;u_VNm^O$Hp0$UB0c{St_j=|C3?>90zJ38qv&}7 z$45$L;@6VQCjTc&W=!wg(Q`Lo}3+iUlc8D z{^DArw6F=R$0aRnQd-y)Di2@K!jx#FUsy}go4u*1x#&5h%qY5HKSRcvh+5dh0$SKa z(84B4(D1$0!Y)cDb80ZgD$J{erOnQ*a-5d;u_V9g2}`2V-~1IK!tH;wnf>cWiR&qd zaQrTyyxm=?D9`lH9m=;%2kT-~Eg<=5TMH5Is-MP(u$+$}Rg7!PP`ZayF>pnZ4yMN& zDCSBxds(!#(2tbvhf%t*YL+-Vzr&$f>@s%Ow8n_frq06Dt!NG(@OI7vG5LW+)>AZoG%po)z)sT9XEk1FO$H`6OH_c2q&3Z%(ZG3D=e-Ock+=}N-UYwutjN`Sqr42U@$S0T0PiShD>VGAA8XZ z!}$?y^Q3RHT`g=gt(wMd$A@j3>)CrSQe&uQJEO)uso!>{TIQy3*CK&}ZAGbDF>ztZ zL4@OjZ6<#^+dSsBm9b!3nF%y|rnJq0W)p!Ewt1|-&B1au#x{?IZAJtbp>Z1@3}83U zHrpsQy#m!%I0-6!p92kUb9u8$6nknw<6a?X{J~Cki1>(ncPIE+z+vtcQAXKqgloRH zu7RDmDEvX@Rba>?&7w=kVBoiAGCA@~YmX&tON9Qi_K<4f21L(onkRsXX8@qR`@6OOM7%P*1 zJ)MDQTwSTqnrx~vvECy85>UGvufDFxKOt3wU$@gFD4sT6y*~Rc|H*8o&lMIG%n6OEHLgv-w}mtagjPVm9(CX=y6Mh?e{`nMHgNvUhx*c`CoiE99H| z2}UDti-&05Xv<;;@+22u6liH#pi+ENca6xaXel2KRkUvN=ONjN5(Mamb1<8^HPnj9BVjd%BE;uh$+0%@8tOq`6u@#F%+ zv8NOnRFwjuU8;*>G@j3Q`M&FURp z7^pJ=G|Yuzpixa{88S!9+2MTmC)1g}&}_FyyD%10l*MMHD3{sn_tb^K^!loi&ZCWR zU@U3(VX`>d(%teqWvTKL@ar`SF)3~O3Q?5~wX*x=nTwKDlb`)9w|gs9O*+J>xE$Zl znagVBI5H03KbAdkKVoQMbNOA^UAwzdx0mUiyZyz$iNw%KJJ(L>{94OW(Gbs52!Miw z=8-ued~PKo{EKJ~Js%v^FQz$k*>NeI7ttbG3{WTwexod+i^ZkL1JcRq#6P6Cl%juR z9uvwxSt{l9=?*h8p-BIZNQulVh6jSN>i|#L0@X87cXm}^3MfOuB zzGyS$cOj-hcUNps1Jf&*OZ?A&uILj#h_h4 z;}{ZtK7^9~qetT}9%^P^I8=^9;CBIy?d~WvUd*C;J_z4T?;Hx>F`Sz-A)YZ2drRpI z=S_%~euk67be=N^W4^K^49Be(y)~9*;>K{Ag!GAv940xxqy>m%AINr9= zT)av`A}?0<_b=m<7TDcUw7?DzlFIUY)&`i~xugY4$Zg)X!}0C(Vm}-|tpJhUbh_4m zLL#;+DU0$V^Kqw_DKwrE^CDX+APxeC6Y2G2oBk0+qt`6#j3^jCk*)#(b2{B0GqRG8 zp2VWz+>|`}gs9X8@&H*v?N<}9rXZGzjsJv001!7OC zGc?2%L7|n^_@j;Nxv#}6#?OAOpT(G~VMDm84MBK`IOAE2Jyz7BV6+U1Z&D!@8`K>6sE&6qZ{Gqke@Ao_Mb=I0sbzxzhw#Ra$=2F>MV z4BDZHge0BElL$s=C`@H7gA^k~(v zHA`552c95#h6sW!<(|&(YB!uDFX8PxThG~b{z*E&xX}6Ud@noyIXZtyq4VP}xO2em z3U+B3>-Txa@CTK`AdbDzLFlCRlDF^qdm38*vj=};jbLIC>>ZN~fA#>aee~wi!nhQQ z42^2EntkK<*HXkpO9fmO0%kzfAqKLHCHOB;03}O5dkQc>l!{AHz=}kJ-dBeL@Od|B z{zC?uJ)9W0OGm-r`G(Ta0g6BChxiU`4yLBTebo{IiI#t8R-w<53+-y>=&b5%s9+r* z?OyF#yN6$$g!9l7IE=1GilTh;B)V#a0s*2n$O~k!4uaEO89HnaP14t&dS}}(SQP}d zyrwS!rXuzK{v$!i7~F>i-uW(|NF@jbPn(=Tk(Q#qv?5*q+W?AOM84vEp@Ub(q!l8R`pZ`?sOB!);eG&qf5kDH{=^QomFCU3~x@N0>C{1a3f|&4Bm|MD6gglOb4-pJHZ@1P`yV-4_u=G3I{cs z0m^GQv(sVNz{@q798XN6F${f(1hF+AkmZZ~^WRvj3|^ywQfezFJT2Q?BhSH#{R-B;?)-k6g2ns^d*S+e@tUQf7ybGwdh=p;u_Uzz`$&Q3*9oZ5`gsbFt)^>sjb zwM?t&*z2YmroN6N8qxoxC$lZ7ucWrk#!1X}2^wfgeH|BR9I3uea(=}t8(JwMNO6Uu zWG1+`P^iYFP>oA{McGiYDFLLXZJgWH`T1&(Ryn4Y7YaL7C=|xkAj@-Az}4)}+ADjN zX3h2!gSVI2nMNr3|K_d+E?Tf)fw1`}fKk*m!XPL_04}72o9ri)n}lRorK@qK+sq=J zMte5UW!)t%n=-u@1G$mjLQCYPWTdzAfF;q?Yl0^d({?^Mpow0V_ zf-4iUo~sErG~ABpZ`O^F^beDbt&AP&yg>`3ihV<`-56f86&bWm3{7H~)ikotl2&wr ztyRC;5%v2KRv_$Zv-7u9E-@&JyE-(8IQE!+)&?^`lZLyNqONkX@0vyA35jc^epLNR zOe^YQh{H-B#Bx{}8qCdMMRX)v$p&p=(&8r>Dj$HV^y-FpN&uZAe z$6Bs7(8!G$QTDo)Mx!YLL-Tf&7E0IR1&cgi@*PslkbI{jr4oTa@=*NND$y=5$-LAR z@`yy)2MK-nU%~Y#${LcI*1#2+l(;ZpQgVcqNy%Dx24po8gp>a3Stz|oBJy!`o*-v0 zx#Haapl0B2KR;xpUhGuuLQu^_!R0CSTYi_Q)RJ`EiHzI1R@kQahd^(bCI&$NwE z39m4Ak!;&M+eWTv8@Zru?3;>1<-*&=H`GFoi6c08epBnYPsN~HztyNt$cDU)#Nivo zkiuExN_Gtpj4lZbZ)2s{Bpp~LCuEx}$9$k=>wGd-uc6c!M;a?`C}uryh@;C)CMFiw zf^e*N+7cZL^(-aIVGw@m@D-gmONOjxM<3ExWk5XrMMJW`>sLdyatHiYQoaz~Zoxjw z#~w@SOk)5vM6HrFRU8b>k@MnmaGhjr1^B5 z^tE->GYy4d7eq$?I4) z5^i$JR447#9_E)Swjm{M9Rrwvc^1MXo6xR~x@!%1t!vy)3PZ0CPQYOfOe>QdB+Ugo@>eFCEePe|w z*}jq$;U;pl^AYOpwDmoD3#zL1+3f)HkTXgcnm}zeWZJvBtF_vOa5J@Sw0UXgU*5^$+q|pxZxo9Da*)tx+;3Nh8il|y^E%%b?+&=_c^lA zQ;_}+xsds%Wx@QYkB(zLWp}a~dOT}m^(^U%M9vH&1@16VCU^9jd#QHU)H@sWXI&3k zvH4aMp6czd#xT0NbB}q5i#L(%i#@6CdRDQ7&w!*iySIhj*1{k_rU`Xg6SV+}aJtcP zwi&|1nD9k&5K}uxV*Ko`>sh$59k&7DR#fTnd&fH0Wk>J3f_jw@7P~fFXek|kIBh-r z%Jdy~UsXHCst`z}tP&)0J>{*nl zy&&S0Xk7;`!w1|)JK9TZS?<| zeQ)R@Fm@C61oaj^5bE7fgVStGtO77+cip$Gtzy)cgG020l*Xb$2$)(F)pwwnGF|=`t`_u`IgF_-tb)b}3Uic|?c; z2=l@PT7D%ypbE$}+quSGHs3N%VapUXEbrSz>|3#o{=Q)aDs~NVw63AG5u$0BSBuSR z*T^xD@0#N;3uikgf*dzaoYGigs($#zX$LkA8y37>ph#JwT%t(SAPb|HqC^3u_9D5V zZe~5B>}}^WWJdw4jd$#;;@O88y%VC4t5+%=&YGau4T10zEBwDv3XKvfy- z(;Qi1o`&lplrS}FHNHtas@I5Bw4~OwUJXo%Qz?16BIV_>=_hey!4Mkdda=cQi?FCB zEV7NKN)1|QHo;eMvYQ^9)|pr&Bx#Ad~7T+ zYW-l<$@LK|md>#2FNcab$7XKF(Nk0%j(s^!e{7Rz94KfU?!l^fxY7H=#t9%$NV1jaf^S7j;w)cdTJyWch@S3%Y zL*wgwL!$>hO%{+bhA3fNfG5naD1i@PhaGoI@}NFh`oo$5_`<`a`O>s-Fv&0ow(!$H z6*}nP2~t@Uc&NLQH%PJQDm*N2SfyNn-_U{euk@xsLVLH;lfZvBA+(y?Nd#5WP6Oz* zaxSc=r0AM?c{WuZm5qtfGvQ-i*=49IXaqig>Xz{0|CPUYQ@HY@`IQ}9NvzFnJz!^q zbX=qWP;m+C1%04_zMn`s4h3w(01w9j4wk<4zV-tmXVn?3RGmrE*V2HxDpD>v^**h0 zlbGDjb{5ueU~{k=D!OVnfZr7RJtYuREPhJzMV3!pWJ(|~`=jb!CSZanYbEzb2W%yIp}=}NoyF7v#Pm!1{4@0QA4NjBD1l@v)73 zF?BxmdW({U?XkH;qLp@3WEWv8u}$>KWWLd-s}e5cM&1T&Q4Ji(l_Y=+;SQM;!x;OPDg+?28~E?>HNpsLl}LH3^1zTK$EIuF*VgE^2xc49e=6d^=T`l>#_E#;VuC?Z{TQe@usoe) z?>MuT)}Bsw0Wk@?5~rb0y;5$^C68-*s?VUiAr5qJuYN5yDAcZn*Y@{(ZDpkz%MRij zTHpCk_1;CD=aclJ&THrpP5Ur{p*|n1_r_7gZGI+8)lmzSR|tZ34pu;@GkS?&PlkHubCBI%qb`JFvm+m-$6 zKNr6`Nn1hfe6Y_uo6bAOUS4~)=Dd?}JkO})lw^%5eXKR+ZaSKG+FlRv&Q+|LU&ozs zdr$ItBW>lpvzhbGCcLv5IWC5iKJUbGVZ4)Nj6>t=d_yB3*LbI~U+0}bq4Q46K_%V^ z?Tow=hRZ&K`32s|&yl>7_KXf8i+Y2`JJJ3kQ_gv(bs)GgxYfvZ6QZN&)|_`j%#3#e zq{F;(Y*Xc1qUwMY6Moj{9A8cYEV`s}HBS(XC-TSTlf>otlaEPfv*?^{C9*29*~qFH z#+s3=`gE)XkyXQ>$NKHwjX?$a8+!y*tVcLnwhn<+s#DUEW&}R2O17mJF{R$i;Bxd$ zqlbY~VJ|cuq&5wF8$veMj@g}~3^eH9EY&JgwZ#O;9LNWnzx3o&0Zw5UwwVTzU^yhG z-fc?9F?z--3XWnN5+gNzW^%7sKaWqUEjST>;Y|SM#=bUsN$2m4{n8$d4fSc-`KZ?S zwnF1WO?OSRiJDRuNq5=~@xEj(?2% zMo^UxoxG`q98TYDlfM#3;qbPlnKqWpQ&W?flA>w8-? zKG3x03qvVrsH|m8oFoC?C_ z4HsLN4ISc?gMI}3DwBd?8Q>cc%K@KX06wNE&CTp-0r0^C?&W}AcfhwTpW2d~kSsH8 zgwCW4_?ms53ZExMyoOU1_; z$*UkPQkq$wO=Rgxsn*Su00-5c3!a`jHY_1~cidvOKuDAh=&ZYT_}F8uA)`ap1P!)> z6EYD`XbJArpWC&2m>S~lQ5YEi@lhJbG2( zP;N2rLt`5#J5bxz`5_T>D{oAhOf84EW#o%5?ujf+^D^SY+dX=U zwm#Ycni8W0tUMOlp}W8z*F+rnsP`sv;voDP*`IRTDUKUIM5o274*DT#feHw!O7@;Jpm(xzziXP zdbFxrCE93JcT=2O)deDw@TSd5u0LjDH>)&oXRauE7U&PTr^_LY=#X2IGg3g&tPqgK zvNM1U#$*}s8OmI;4;T~g$C!+1W$qpY>#xyE_Co@<;ZA=p9VJQ-*| z_@kweKXR0{))J}bcGpy1DuHQII8IN4XzI5F0lwe~DEPTC6^XJ|0D)`o@$G*0z@cGg-n z&QH~Ijq|v3(@mBC3hV?e^eI<2H&s5{zji8K`&9qhab06Ar03NZJoM?_5KsgrYdQzt zbht2yM{F6?JNtv$7Y8+{8hdAF&bBj=n=Pz&nWJU z#ENy^FLxI87^(91MC{x6#MtGP6A-vC2GQ*eMz=e=L?#=?58VW2P-+192@%oGY$MJIb-`!5N2D*;ZN=Xis6O z8#%{XaP}}O=UPE8pLc0VVcZvO71v`+Bb^RT=@fuv>w6sgOQWK(1*XQ5b8m2Iy2$pf zv|*hNG|~0+w-9<(le^EimrxhY^E%`J?W(`irVlNt0f;H(zTHSI5)6vl4SzF`V{uWQ z;2yTPR5_LFwg__D$l(FV=|-_n$ym$k32nhUqM>3p-3b-~`&Mwk8_@)Yv8Nc6x8o86 zh~*`23;Nm-`Vfc4bM1j(eR<;%+ea+%OM{67+cBzxteo%s3P!O<^zHAy2{AdAm{S5S zh|N=8i7^X&I-&>6$?>4Rnfu~!eDrYX(S!M;_vVith>so!kBVXS%`j{)GcCHFwc^}D%EEXz!;n_9PoHQ`&&!<6RG%}mHm2p^ z_<2^pX+$0Z7@8S^zg^AVZ|3A@@q5d@ubnxtFvWC%UqX6tpz%%Qxe>{8%cnJ$91TXg zW2208je?PGlswZb$NTeI-)_1QcqU{^x-&i=#$JipDnLj z0-^_JAP($K$(Bd?kmxL%%&_IP#DQe6o5WdWA~+%+!6-k1ka+I{SKy84HU)~@wW?)? zO!7YhVo29~D+gej|E$t$Yp**p|M5+G-NBjD=xoW`w15s1Ni>2kqzb)G&o^ZEn+%pj znT#i8NdzV7Qny;1NGe(qqq!MNqRS9sdVT9Q5};i+P;k|K+zh9aibBE)sA-t7W5BK= zgD@m*F|$XnU{|57HEM9su99>?+QD2JI@VB3xqa4siLo94?=TaQQ?ImrFCjhywQM+^+<4GbR|p zAi(+rKn48C+#F#=s+=s%mbt;AFa>{_ji38E`M?#%WKElM4GR>Ly+uI7H^HBdt8v;Z zZ&UDR@l)#bG#rN63IH(xMT7Jx1CVyNXaL&a1|UAn0917Y5LRVbnmKpeVeGm|x_2Q& z#;N1(c+~yNpOPDIcE|E9sMd@b^9hCA;MT$oK6Wtt`X8 z)Q2xwZgBW8;)3O>FzCXJ;8n#TqYb(HM9qOiE}jhzS)J*OUL5je5}o@)Mk*)|IoNC% zGUTC6h#?`;PGR({|aXil-Sd}763 zI4)bB;Dqly+Kcs znZtI*=K&!h)qvR)%dPlc6dS^pHmL@Rt#l!w)P{|+T+MneZjX#E^KVaa61E#eu-oXz zEuN_*6Bs>;r1Aj)5y}W?6;6s8#rw8Zt-V+xZ5=vPTjJ4nNuovNK%(Vx`7Y{HvGG=b zze4*6;Bk}MEhZUFTm4OvmyS^w0BV~goAZf$Von^s=C;$I3tejC+#n=33zoQb6ov~H ztl*5}DWiD|$}L!k)NsiV^N+@0l6%^G9fAkKNJNC(`V8I2h{Z1G575eJ22Dfd0|?0d zm?LBo!dk<+k7Y-eWE$d#C&+B3A}c6K9EWcvII)7`G@POYe+rSdZ*gM++&iIrOyDQOcs%4| z0fSpp#(w~Ga8*Yb+|GzGKAZTeoH| zsR;6*xo>sB+{f+WGr76XtQ>_7mt^h>zqk&3^o$ z14}F%e;_@V=sa}Pj+6uzcbUw6whn{lzS0qpxH2;YS(;97r7(*#&dq(rRl##oSneQP z1+$_kIMTgK2u14`#aEq^hpy&bS`FP0fCVUPT#GG@g4hd71LqyFG%uCLWicA9bhWrt z9+o3>U&G9Ow!J$b;S6%X+@}!8r5fQ}G%A?;XznJpIcV-{nYoV}#Xgr~?h8UvF!v2~ zBXb`twJ##t9+k{}B3VD%l|U$AU#z>;h>5gnMtfr>(A9!5)^vlW|GuP#=6afgEl zEZV-hM}FtGU4JSx?K1mN>*k!bP-tAwyd*#l##el^@FQD)jsx*UN7z_zbnk1Yrd>k{ zxE&NJ0N8XttP-%@wsYHZ&o~-L0{cS+Xk@5vcD$Z zD}~G5s7I=j>^ooKB*_iIq{nGdne^;{JCd~Q&$6$${aN3B`F~)LI2J7}9H=YWpY?#- zpY_e{&+$=CxfC8fm_K@N{^)`D=z-Fs`}0Q;)*?z>-%O;!kP*^UP@A~2tI*V+4UUOmSuW!ex2Nup@RsD;wFV9KI zDw4-t2?H$P5G2OJ3PDqDHM0?7KoD(>v4=TN4>q6G!h2q+@(N0SKlW1eUGX}$6tWS} zIloYZv%9)A?EqF`vpC4386SKtge|U0VZ{(}iW|^p?(?n*s;x8jF5CdMJEv@MF(lQ* z#gG==kG|xW1)

            >tfyg=u7V9D-fg_L?41O(#g(OswKK$P7kpRR`WVM0y%*o|F6!{ ztV&F*vOYpd@4n8>T%N+GWMBan`ccVz@>76%PShhrB9aTkZj#+6p$x<|;11 zO4>Pi^@p)*U*e`U5+ZQ^!fY@b*!bL%1~1WL2NF#CeBOimpkgb>pv(+(NYR^@vy67EJczJUrh!TwRFXuZI-k?nmwMmV-xblYfRBWt~$ZLVdjcE$6Za;!~e`}pt9H+uULlxW`| z_K?MO^7ZP$L6u5!})Kn_-aFA{*8)XyZQW_^PKdf~svzQQs<2F( zDy;4%2pE6pXHx~R*i@$Hpkqx9mPmR189%WG4 z%tWw)Z%q~u5njl=(_ujYV_z3$WxLw>B5Z?v8Z0f#bUZBAi3`iM7t7JUdis)lv5-G) zv6MH>m&)ko2~N)gPT5_CW864}@kS4vPEZk8Zi8&ka|@V9`xsvp4VN$Ni()=9sY(yXld^*dldz+T;`4=1m6)H>1myV@O~q4bV%0{Onne-(iBSw5Q_ zyEdvDUqNWVP3On1aiHr5kUb82lk*P6LQ{|+Q~IV~HB zUB?1;F;@fmBj*mg)U>t+{5I@T7jp?C3)po8Ts&LsvVDm(_h5rnyH0&9$kl z6rwu_7K;+y6$%y(ZxG#ef#^DD0B5#c1*%J$foEqegIad_FY{!3fB6I1v3J(J+6tFr zw!Oc!YJSUBz|X1wQw^-+K(*oso_gR49d0sBi$Wbqc6=5M z1?8ZVb+H6xr)SaHG|)sY(Z|TppeQN2kljp?g^ai%q0Aa)1Y}Y`7~w%Cgq&lajH`Bs zj0p%px}Y{f3rej)UO$v@$vfmzsF6>h&eEKk#a@M)LR<{1z(|fUg`ePM($gKA)j=vI zr$`L;BFVnMsFUo(ESyYJVZ6%hqhZUi@|2kuZ5G)XJ^Aw5soAS)x=RG#W3yY5XEb%@ zso{l*e&0h`^+yzKVT<<~J^2Oha$KX%DL6u@ zz`mJ%m1Lq3N)KqO4)&o`;C-|Nr4KF@N_o(r^oV^Hp!BFNECouB0HxE=f*eW@^r7@X zgi@hs0ZI?e52eH!m!R}WA4(rAK&gf&C}sQ(rBc&{;=@o{x>JBsc^3^zTce;<`4xeR z?=_S@Sb$RY#Go|LHyh8Pvw>1u{RpLp0+dcDYcxj>Hx38%AoH?cfe{J}IM>G^=W& zA;xwbPve_7#vxyx=`_o0L9?h(feTHBpk9My#nO z>a?1up_mp!1q5AyGA+OZ3K5A|7*N0s8ZgcL{(GNu-o5X=DnET#A!{Xy>)v1(GSOc5UsMt$ZHAKpT9XKVfvSt%v-ATj)SJ==Fr zJvf;^ll1>3RQ{(w5MTt4gZ}4n5Fat`qOOcE;@OnVWxo8mm<^9ZHau1~V?8u7W?^t8 z7?D4hvbn;SzxZ50BRme-@L1Wv%ds}{v8ulq#IY~)Ltl#6XyHpQ&(FndcpS3fv9dvM z$82o%a9=iuQ#Olyc{XOlns5V>Ubv+3;A|O!u;x9+J(m zl+97T{L6^ccpS3fv9dvL#M(>^$>w;beJu?GHW;6vNJl}*O!C#)-e2@q|Y9`Ce^G2Ucln=$ui<&D`otBKB3Uslt@YUSkJ zIx9d)Usi-&4mQv`eCw>HIx~G)A(aNRau(b=D}Yj8R+GcB@~DJjJ%^13t{Od$7tu2g`GiXb(esrZ64`Sl^n7Hlh@KDI4mBg7XA&ANS+Z*ZmmJZ9 zQErFMk{=#v5Te2DkM(DRn1mC*Ac_Hs1k zeNE`O#HG^(E@gXh(DPY#<&Wt3ytwqjjuMwXyQ9dZ&#>9{NH!h`jY}`vwZNs%>cJ>n zdYNE@Hk0uQJ)iG!>G@5#^x}?@x%Bdm#HG*d=y9p4CoZM_&ZYd`1U;AD6u5LQa;bWF zfJ@ug%cZlCOHB~Yj>x6Y?C5bReKNqM7kNL7OSdeo#HAN^+%PUJ+ISMqWgG952*1|j zQla8=B`!TXDwmSbxOBs=1ui|O2cvN523*Si+C45k)#K7rkxTn*yfd3~X}^uP(c{vy z1uj+f#HG~VxfGjk6D}>iDRAj6kxPf#c(ygg_1Jh@@(oh@{LW#Xh_eMQrB4QIyffFr zr6n8hOyE+0*{v48G?I4Z5jrSUCyaf3#f%5<0N1~0FAU}@<`JcyC{A|kRGGG2l%!bFoa^SJD8Q4Il zWSqI>Q1lXCyGNG&rh2&Z+C8$Iv9+Z~R$jJi@yIGr&WAD{*{w0skX)!UGjA;^yJ`k z+k4tt)sq~g{w@bOoNg02Sb9^CgL|SJ9EvHgTU&35@-~%&&u#B%Yx>0GpokYevd{8< zn6}=sG^2j>bv?WNdbD+kON*FNVFzVQxh^i?L|!a^r&1)LgUg4b}eY@i+V7M zw!W}kD?199a=pi;>zi=txzV}w!uEtIpDu8zswXa`{?4Uew<(vF-W0g>#gR*gVoEj} zx<1S2+U5 zTuMUY(lxslxb%!3jKZaBaOpPo(@2)jN{>rdHsR8fqjTw6k4sM%xKz~>mr{S{(wA(? zrKL9oF6~4vRSyqXKHBj4y6p4q(ek0z6*h<-ZFcK)flKL=0WLkc372kJT8T?f-Z(DZ z+VWYXi}Ix&mkKHzFLCLyQMr_a#-+=4EpX{^Js5>cm*LWq<+Ir1(#6Q7eU{IW&AGJS z@>%Y2>9GQrs(Rv5>hD}SzbTiN-W0gB8@cp_v3$1Vn@u(Tu>zOUCj*wxk!#`7lI3$G za4DA0-y7ZXS%BWj@>!sVZ?fgnzDmny0Xn^Q`qjzudG#ok&#SR~_CoW!r(QjoAHEbP zf)+2mJpavTvhX;VEIb~;@;Q>SS>ns5V>Ubv+3@)0T0VdO##lc8;45$Wtja-rYFo+j zIm@yHw;3cJ&TJde@*$zg!F9V9_@>$)MET7eF!!4iF+eWs0*0&{0 zd4_qg6pKRjLPK2+e*LC$u=J)N2lqueIMnjFZcMqQEwZT`JhQE5`Oqf=+WIu_ug~&1 zz3nDhK1*~_ezeS`CrVs;d{izap>gSoT?<@#LJvma(iOP0Wce)hxO8a~E;3P>84y-dQ;%iZ-`tv)bhD*Ou3~kvMHAyFK{V+GQg$BHsR7OODkc@ zV>gaVin`p#qnxdg4;*?_Bz_O}Vu6rog59BbN@fe70Y&X0qf(Y8UKtO=ROm`Zv9q$qjMo`7)P2!$Ffh zjepTLSsr2joP@@um+V@QrO)WWD6;eti-5J!U$W0PdR)4(370-SI+tGJkgy6>k*!RB zM~$!QiA$-!bLs7ya%t&JflI$Ja;bWFz&@Y5UM}4cxs;iz3MUzlW}jb#3;7Vz6H7-Y z>N7D}^mRVH372kJT8T@azHwZ-wSB%y7v-mVTq^tgY>7+HjLM}XbX;oJ0+*iEgHgD2 z9WE`|=c_#~U5#AYXP=+moJ;%d^YtE=o+)sts%N+~a_JqLa%t&JflKd8S;=Uej4 zrW*fDflJo|mx_3iOHW@5mzM1F(}7E|&tE>eeZB&{lYPEI58q__eD*5s^A+gy+UY#m z=lLl1d5(SlO-P2jr}D}CL^7;bu%-V~3`XQ}Fsykzf_;86WwR>#JZ8h=kPVM-u6_QB z8)Ki})o-7_cKRQd7K_}tsmX8OY_Z4&TT6R6yn9S$m=o*fxfUYhNxYeI68x~6)ju4jX~zH3uK zSb9?sgx?$m;ZOtpD>OBEakikY>BIqb&HL*!(4U^YVW85cCIgoaPED@TMfs^Rm!2(g z>6uZvl!UIX?ONc{vwAQJm#)L5B?Eo6$EB;AaOvsMxpck9rDqCUs_L1#j$C^8rd(Qj zQ{d8jB9{&|(68H#w57?sxwG}{ZJ-rE+ZdqChRGz+ZTxte-;8I!2t$g|8J=152 zF3OLVx%5PdOOKDrr6e>iU9oF{OHb&*C|tS%mzJg`mwH^fv2vR{hdqi+muU7Zwg%cs>r1;jOnu_-)t&N4;8qSJ~1vWnm*6X z4A=NumR2%-o@1*m;RsBh`$so@E{WyR!aI8SCYwH2J2iO;I=y!KTaxMXEu)w|--7A$ zKbYzBE#P)Lk?54#Z977q)Sc}JxjJKeO=kHjbkN~No^&N8J)V*-$E3?C=?}8tfxWOp zuE%xvh2LWF-?HzGnB{Sw$t-_{mBs8c8IrQkWS0Nx21&y{lY}RP%_Fm1xw6k>NXjb5 zkn2LsHSRO%xjq?FJ`wYLEVSve@1M!z%6*kzS3q<1zRK_D`ttlv->z@>eU*)!Q}@Sq zzk_#1p|^8m1bS=8OS?n%=yNpD=SZT@Ql!sPqR*ePndf3kdMG7bh)EYpNw2W}$BTbf zcUJ!8>DZX*Vg)Xxq!&}t3o+@1QquD&>A942BPQJ_C0$QR&!nVlG3i<<>8X_TWJLQ_|&_bU7tew_hS!*(q>Qcg9Q?>ah#hOv<}J%yd2_J*PWkrj3|%BPCU? z9Pk@*J(F@>i%Hi~Qsv4{Od;vXlCS6WRjqy{`BPrLVm~<&6 z9mb_o+VR1;^ktDtIaVN4@{sO~PZnZ!+5@b>sEPJR6782F?UxemjZst5Ln-M(OuCSg zs_92tu>wbQXWg{a3f;8SiWN}P7gN$hy0dOth)EYxQssJu^K}CI>&|k$+>GqsEarMC zCB3LS%k@G`dLboMuIE$Ib1B!2m~N9 zD=F#ml-=`F^R;ubN%5m8yCb@@&R>ezEv4+#qgOCp13`7?@?ITKQmz{@ z=|)Ow-IS7^Nx81Yq-!aubyG@uGUd7&ldh(u)=eqt@s#UwOuC$sD%Yba>5-J{QcSv( zk}B85l=M)_bs;8QNJ)*Zg1$~y-8o&yB3;=#r6>C?rKA^i=X8xpFQlZySZcP%Qh;4& zsq-njbGkD=*@)R~r0m2e=M$ftOMJ2s`D7#UiIT3Tq-RpnwU~4*B~{Z`QqtqPv!*Y{ zq{}I(2zoRnJ)%2n`ch1~l#(jf#gz0=%5@lKm0X|FrW_3~t-{bZ!Qa=nz2 zUeuk{^+HT~AthC==Tp*iDc6mdbR#8IuInl3nUw2VOuCkmD%Vpf>B*GqYD~JCk`C+q zf;?eo!2tDAcE@#RoxdEjTaMYWaq)xfB|Me?r;ogtRI5(CO#8^meKS4krWY54fzF3b zFD`(740~U(1BVIh(aMghFy$RKz0hVCOo_b9$Dio;E^ zCXMEs9xYQ`)8E@@qyo)xMQLpnS-=Y3>8yRTu4Z@K)EQsaODuuE)>W3kwjdMZSHAJM zcgkYwltZag7GkF?c&Fs2)11($;+znV!<-P0hfXaOcg1JJT+*=JADeT!O2GkQkv=RdU}%k9F%f%dDy@X`68 z@!tpw@$87k8LGn;9&FLzTX@V|`_^d2EMaRjF^et4V@r!nJARF}XU~QP(-O;YZ3nM7 zm{xAcU|Jp=Os8zvYB()Z1hw3Ud&;QG(ObBC_i7(%OaPb8C)GX7c&%Cw5QEpqfBLjA z;;Q<9>xTAX=umaWn6@_0Zm)cSP@mo@W(^j*u^|~DKb=PJ6f zT}&+K*%!9Kn`Ccwm(Pc1|G6hVPPxF|U-_xtv*q~gBRkT!ONuUWF|%>4Vg?eLn9)I9 zXJH5(;I*!+8a~55>72ttbB;pw6&uRKMBgw4G;Aj(jmbB$g%a)FV0We|&hQDKO}%W8 z<(%#uv`qxavO(EBBXB(>J(H5I#iVN~=^ruX7nQ({7dWK5FY18ng_v|9B^AC~Nx2?R zxh}_~%brxD{ptY1vf>gDA2!04V_d?O8#2O10SHlD4eOu5eq`5ni%Yoi03qt6B0yLd zI=3!AqdV*JwTRQ#9H$$_uL>X>6~!Y!I2tK_^8mv3s{jZZ21joU#RpKp_Jjg@knB{V z_{l`^)kyKx0>u>=*B(`iEQ#VS+tDVG;z(x!*X!K*tzSe_5~B%;YkjOb?&Gv72f_XD zYq(71+>IMU@!tx#>kAQg%>{~|x7{p*Ig%)TJW+f(QhYhtq7bX3Qu1R79vuY{rPVh) zc6bzVhpstE1eI#9rPl z(Jg{IyaSSZk4tAt7xLXKwJzY% zycXJat`3JTnwA9O35PC533Al-wz*yjvc$dteP%T1laeGuz`i{kD!?`bhn^F;z@Zx= z%@ro`BM#kg;)uN>4!y#ujl!YtN5u5w(C3&l9F9Xzjfz9zT)6{=;!rXfjzj59$DzWP z0f#1h`F_QlI}W{KdnhrEM!}pKZ~Yh+Y{W=kH0gQ`=57&(KC3BiaOh=S8M2p|YCgsJ zY4pG;sO~s)n7kjvG{biP9KK7aV^exLVAEE_rbi`k45%E@odK1lD8!eN5EqKPA|`Rq zo9-;>=R zO|P&H>hHMo>I%jk=5110FQoHoF-=PxO4AYxaav-*rzMQySA|V4i{cTRUXB#MdDt{s z1H(qi;Aq0{bYmz!fK8({aJhh#u4or#A33`7k<*Ai>qayHAyxq?ouA8}OIs^lDeln3 zuNo!`ML0Jm^MEzYQajAodqh=%ZO z)Xsy34ka|S002r`RPne+$DCI;iGEj&hE}(r-^nfLcPi5F|NVJ$E?p!2t`hNFk|c

            AF2{$3-p>&$38!zTkOVcH(@^^M(=G^SoU$DS4fU=bR#5K|C9}f_OGq zqq*2H#Ip$1Z^h`>+7L%@}q(2L~ zxuQ@GLpRUr&d|-}7}RmO9Mq9=J(6-=in%U%uBL0R3f-(|uR?qUW>c)hy$Y|~kP$YD z=PicCjp}(@vAqg!Ji3XKq(#r$71>#?Yjx+kwib15Ep|D?D(KqFbNPv+YgbUOX~%mW z_jE+mwZ&^r@|&bLu3qm#flc+Ur~?n>Kl}MAcNS%PCk+#`bdzLpg)-D>3 zy_{X+SUa0&v<_L)$rC&-(1=$ziAJ1Cdv!G0*n&pqB8~p)X_H6SN~3d$MjMbN9jn3P z0*!celW1fos$7ldlf&xxH{7dyGScWbe$MdxwbJP6M5FVNC7l_<;{uI%b(3hsf%I3$ zM@w7K=t!i|SsQCh*Gi*{iAEP7OF9sR#|0Yk>L$@>;%aGhnNhSEA3duPCf)xFE{}-k zzZTsuyO6VVN1aPs7HVCN^TiRhuH6vS+V5tjB=<$h6Ml*!Qbfk(;hyk|A{Tby1(8O^ zYxIO)aN-F5L{B(wcfkDZm5%^x`#s@DaLEt%gfk^ka@ONg9v+bavf9)WPA0=W;q<0^ z!sQzYp70PFx1Wk8Pq^83!)KI6i_&mU__87TYp@HAk2R@AM8;w5JdItrs4I5iB0E5@ zSIsV5hw5$@4&u?RJly0QY(Nex4>q6xirav?a~m)k1Q(J)V7};-^h`>+7L%@(lCGqr z$5Ybfm~^?6bTK78l#(vQqzk2_mn6KruDbKOGHvvWd-!z$QC6^5Q_?dj=~_&>R!Yj* zv?15yDd}=dx?D=Sn35h!Nf%<$g_QJTSiz?>Qp^fIsXMcRSL3>$)wD!NbUm*G)~s{7 zvu16?q#G$I2dWipvW1=b)9Ku=^Bnb+4m0I(K?d{cCduGUZHwE9$KyD)T~Fk@-b?%& z^GBKoeiL&~L<#5u1vNjMpWj)Ut=-^wKWtYEJ+%pB@vb=d+|Ks9J+z_l*yf+f@ZoN4 zwR#Yx(8#r2SU0B4hHGI zh;Y?htjX5oV61quf(FV&L1t|&Noa(_2dl+vBu@rM{REza3(?aTJqF~NkV z9_&u!*?S*DWDy6sFT1}xrpvuu4)m=nK=ju3YPIhLF|6fm{S@MXoR#n7Jcn1;Ir`TE zUo8xu@vP9|nn}ior-{a47}lO(bn>RtBJ@Uk6mXzz{?wafH9h?JbY*f%y1X;~5JwL_ zHP5J>pPVA&fg<@xjnPSQV>*+VCOnmzkO)x==O&jvM`rtx$$TwBL^9|o;#hw>JkRPM zYtN_)wTCaP_T)2I`-#c+KdMZ&|0zp$Z>4UN?O&!(=4;ADjpcw9f{`TU>Urf2ij22Y zo@w`Fr^#U8>6;)+a~~@ni7Kt?asI<-)iJJtN1FMk|3ER**8ff85t>o)Jn{>5Sao(X zA8S|h&mL*E-;kg9&>eZb&3VN3?Dxvg+W#;-|Ioi^wU1Qu!z9j>_)ltC>#6EL&mPb} zf!DhJ5KMJ2-}f%Hf^N*eboRrq5bsntLt0evmqb}T(Z#32zvk<9=U*fdkyoGk;@KCy zZg=?T&FcGn-#feP3M3`U$MgE4&a(qz<8ZLEF*KoD@T$-PBSpQ%YMUv4K*YQruwhx- z9}s|}2b@zk=MOaYd9dqlPNB9ucKL%ncV~P20dT9+ygS=V@r?u2BFpz3m~UB=yH#&A zVPY9wSk3ow`ZZOXpHM0tXFYbHI~JmHIuj;W^@|O~bTMJ0W3#h-?x26oZVq$W4sTcc z=oI@Uwr!$c?%}hHam|UDDf1M4=oK#pAkvMhljYg;07T?Zeka3~YPa%_ z|Ix&I^7(gmYWn*g3B9TfMWa;V9{^LyXf9dF;$oly1o-I)N4 ziF2DM%PHO-=rZmQHpVO+0=T$Qf7%@>MNJ;m{XtP+S&E{-vIj+hWeEZ8Y8aazMj_)bf;WMfiP6?IL-uJKd?7xSt`XIbvw{Wn%=@+GZi>(0%WEBgIP0^Msr&>4Zt}2J4X~ zIy2BYoN14yOCr4%L?WnM(vUwc4Kt*v2}C{GD~XIiJHV(zQwY+VKtyOt6bi-6sQ>Go zX|ki;CYOWY#SznpmlARsy|+|1i6YPMJQTjQc6Qb(;CTQ?Qe@btD6ni zQ7b5xbm#$>xwV)IBG)A?GfK-05UJ8#m9Cna8u3pWCgep?ou7w(6B8kjSyu%=jdfhP zAbT2;H8ZAh-z=#VwD1!sORaI4fx%7D)}x}$Qd;3lRBaswx84t>NSW4=pCVSEq55bZ z6)N`7Yonq43J;|`ueJLU4Fh$gnb;$({c96&S6Kx%g@71$2YuL$!{?K(4b}GuYdR0I za%oE`LcK|bzbQxbrQA(Z{4!cLWdXF6W^BI7Lk6o2alass<`6dRgWcJn^pGMZ$cHryE{RTHk4jnMztoo6;El{z;u}+>5#eyyR2-jbSs^yZbp)zBIYv~Kn2cA zwq-hP*#>e;GB&JXZJA`n_SN?@lB_hLLg$-go#e3WR`19=R2M}Uaa1}wiJ^zQq4`>l zg_aPm=vJ&!dk%I?Y*qA1(qqCtWVp5GQ4wPu1RxdC+eYETMqc{R3DgJ!w+BUeZV!s` z+#VF=Ipa?9-0&uH6QSORH=7Y}!g~m$ik6-lA4-&uyC_HMsfy~Mzf68WHpiP#)auu^9<7Pz zu{bM;B!-3$3nUM4kMec0Bt^FmDu0Hdcq|J%=C9zf-m9uIu?o@t_B`ALBG-pieON0n zXRXYf4HSj7q>O#Z84z8@zD;V>B)iEkO;yJN_8kjifFXgr)}Rsj$0fBT7LYA(z|iFK zCLmmc?f~N1IBnQqKzSBEYsSx7ou+@*dc$;m@UzJ8C|3!D8rdS`=%)i18diZ~PTxkY z#1vgtvr82L3uH<1h@w@C{7XMsYyWn&g2rGR@q7=ta#y*%!jc+jZz**d6SF{uD0!MD zd0O%tR3e6N$N=FZt9H<9z@7FoMO)okR?K8~+*q~SqzKyG)GraNW%WfoTb-M!&Too! zZc=BPM#5021#sgJ1;?OdBNRJE*5hkWSrNbZR zIkzlamhy8V@kt>5b&y*voa?q|%PvN#^FJ(ye3aIN<{7-k05NL+j4=cZlrPQMMm;`gK*#@AH5^=trM9p7}llTmXrzFQMEE< zG7c9v{oqqb1p;wi7MBYd5?rfQ1!gRI%o`r&SCw`vA+@~pMnXssSZ(LN;RGX43m z*qEIED`dBfYQ`iJ!&n44>?|@-Vi5?I*t*9e6Ol#OV?H*~ZLQ+6Fx95aBBsG7oJEA< zRqeD*eZ`lNDUvXHg`7V7130Z zk{%aNGdz)ut1OgsZ8N-gvaS4;-)3zH{eO%pLZ9x`0B*cSuCb=<~WBt?H;*l;zU zOGR~H?W1qIjy_j=)IIa`g{o)6mG*+uEw^2vp`F+oV=gpXOK?Q)GO*PF=mVier1psy zN&8fAFXVf`zi=_&U!^o8Jg@*Pxj1{G{UwI3io!KSRb04KU4+o{R!sqV(}L#z5Gof_ zkPT9W&Q8@-_o^PeYk$BxTUPMoTFsp-D9T!NflyP(dq^Lh1!q5?ZNhBe|-PIhZ3KW}-_Qrmm~Qm1oy%_W6dJH+4;A zRp&EvL`Y<1%1U|D=p4&H-jLo9s1MN`26N0ICxT{9&`iRy8tyelY_dZ`g$9X&#>qki z$PyVtqKx!EuW(*OI?D?H%9obJn6petP=VNzwcIIVy94IRDPZ@=R=NFZ+LlwaW=JcY z6oUXP<*TNNULt;u`%FCux=|0F6hd|P1U;xqJppv$@|an=WKlnuPrb`wK2NEdJR|wk zI~jgdMMQ1?-|QGb%}uaZ_E$cH??7{6GP%`5}&?Wg&K; zpo8-nV_QBO8%Z|6qoj2GUi3;a7Ap(_QwA-V2W61*ql(c9NlUB`)Fn^Q0;*4C-fr!w zs2AUn9=@gb@X_?};oieHq=)zR9^!-#dG7B$yfZ!A(|g!S58J(m0AHh#DmAvHzbZ&d zdEwm{=Fa_92y7|BTF+lq3y!s#OKAASCA2%%#1JN=JsE5h1$jv3jkyrh*YBvb&52H25j;^-lf0UW@!k&#FE+R$rA` zV-)k&@I`11ccC?q;_mEGbEVZDp>2#n1e5QevQ^tc+4LJZJz(5xW1L_2cI6l7fx0+) zy`h_r-YO3dI#|E9iz5m^qNb$LR1OOZi7j@+5@Q!3`X@lJjx^IZ3~QG z_BBJ@3KP<&GN&bOecne;>g@**D2$*Y?XvbKk-MTNrJ0{hAGs4591sU(a3cGltj9r# zP-_4DPV%g_e{Ls<|7I9TOmKVGBDX`=a+esjTB^|IjH*@#^>reXViX-1C;UBwTeSXO z^XkEIRsT`RKmLO+#vl-fUZ_Z~{MsGWohBiWOU%EJgIK-G7IaTn#TU>MchaL6w_Lu{ zJc;;uxPQ?_?{hzShoqL}!Q`tZmK7P~)w3#2Dh*kmBFyJK zj4ZPUAi|WwBn+v930X+|bQLQIQyOS(Q`9kA@?0TLPUNcRPqP7$RkVGn28y-t8uHl% zr-Z}0tSqKk-`H()upH)!m@`(|3+t~p1w7J;HI?XjPt2N+r^tF2?tX-6eZGm`6*EL5 zoUkWznxEh*D`ExxJdfoosXK+h0h)$ zS`8QyywUoBTq%}}s5zF9=AUaCyYU|$b-G10+(&)8wS&qRKl=ep%e?w}=I?p2X0Oj^ zhX&y0%!m{8|#P*Xj>QZbi* zuFax};^BGDU?x<$+S$>m-VQ*b*DMGNQg_)Qi+6`0se)rxGldu+W|oZHl07wct~OjJ zDPt&)+U$e=*w8sG(`az&<<-2}ezN`lRl8%%R^L|QS9VPU-V@^-x%+adLLTI-PcG8R(Ra&O9;9}k) zC|nd8Ds?d_FX&X5{c7d^&%gcLzpcI*I-3ua=a{NbbeX2%AG0p`=ky*Mgv;kD%)*Q@ z(#8s3F~-~XXxQ=1lm(&0DmDJdmITTaO@s;$!3>Z^Ey2*0tixagSi*ia z*c41k_OuAAC+Gowx*q836f!fXU(8LTu#qwq|3eMS+sZXh6KLX~1`@(6VIeuNgdkds zk1#8vd0P67hp66<1$a$Ej~epi*+CeIhVbaEmTF)27IP68OFo)D{b29Y#rWy_d(WOU zRjynf(<=WVYJ6~NxD3MSeD}!UsCf&FkF;U5>z{bM-Ng!$;XZ}81v>^$l4R&!O&yOP z(10J;_B}d$W=!sYZtXF4E3E08j{fZFwv3VFG*`^bZ2NVp>>~)4z9bNy7jI$o@}f|z z1p$SUl^_;xh1YMdyd{mX3G>R-7$%6Nho@z_Js(;4v`7}5c0OLJ6VrQI8T%rm7(zZuV}K$38+3Jd>@hhgpr-L8=AOn(k-r{b zpHcWrFNy^|l~)?07xUO;D1}^#Wr&C#&}KY%ND zIW8x7*`2^BRpgr{Nv9?zr*Lu6EU9Jnij*XZ+NIgPOsY3NMj6M)YnWmZdVF{Wu!Uh5 z=B%6fE<~|ZQ;W}~=ZlLmX`B zy|kh501XB_n0g~V=OQK~5D+bf8d7MW;Vz#m0Hly(KTKqFm{^;93?*bIVPzbB9?5(FCZlKrn&{f8pd@_d*LzK0nC2vcNeUG~-p2({HisI3A* z#dF}1F*py(_>{Wz@G13ss5@bJ^n<`e!OQ|6ofra0g=ZQ1CWAHsq~i&YuJi!uY7dYi zVGNM2RKZ-E0aBAz36PEn`Wn6%7a)~izSWsbfOI?o(s730cm$+;)dQsLx7-7yUNHlt z!z(7ZBS1<_gaGM;##aQS;3omni5mk*JvZ@^0I6r{TzDe@>8E-KawVe5VMr4XSpcc# zAsY&1P1jx%^puFlgMCV_szq<3U4&76e+eQC` z*4ngz%UpNjd8jiHsDqiIj^Udk&JCbCnHeim$9-ws&Nxv;CYK8?5)b~vhZ0B_EsYa^ z+fcqt4I&>iOt}Wg)YvNH6i&AieAqI?-dm)F^dnq{xJs8jn!Jz6J-PBum4H z5=@Oi^`4FnD13P1YfgLsGJp_|uZZMiEOvr3(p4K9#z@iF2#hq`*q9M2#@KkoZH?qg z*}~R%M6-;+)L4-x(BR|nR+g=eN3Px27_lI?Hy%;9J)gM&xeaF0g~{M3LL;~ch#_cH zHaH?#gTXPJtk}OJdb?$8^ih3FV?$0K5QK#d%E-`?6|EC6`({gf!u#pQnG>Du0Jr4H zK6rQbpz+dul?R=rU<)~>9=NB5bl?$Tx-1p8sg3(R1wM48xL2n(lR~fQxF_7aeat=O zKmv1n%Ss^?z8S1GP0tbxo4PaqyF!_t%Qb+0Vc%58z<_#$VdRH*^)DsGCC zP-C^LnYY`(tUlLP?3PZ(!~tI9rjA79TQsC1F%9e& z~e@6CB!>U8psX`bL#D39${4rrO_0YUos3e+vGf!IiwgdTNk9Vgm#G{F%Sm1w8 zzS{~BD?UmUaTk22lqPrgRo+I8&(nXjksZ4gH6YN0QPRRouAeQIddp32$tano;bZ@< z+e8GB=XnYDU4agd=?f#S&cI)9mMXn%Gm z6J+Krcstz-@O+16+n+MN5J#9r?2}%ng(;Xa(>y2_0N+E5=%`Ed=5CsXqF9-amCH>G}4GHrw9lN zq3c!?M6V?kpGn#kQhzHUCM->5jTSGIC+{SxxjflznLYYyvD;(!FlInE_Ia>9pD>iB zq>pu3;Nz1XV&pIxB7clOr(oHh3I*!fo~>kirY}eWak?$$=wrvG=L}${Y zanpRq1fAVsylSGVqU8loa$(v-6%2%60+z|W+5;+pfE=F#k@tm}SM$ZplEpS6<|T)A zbav1?PAt`$Gl?#ke zwb;6frjNoZ1MUKK4Yz4YijH|7#%;b0l7e)9I1I6rc`I-VvU>Ej@WOJo!v;&X8!;oHKm)Q@v-)@!3au&zAHo(TI-Z+eLgT z8ar`J#7kCq+H{AEoQlEJmIMH& zhNB_>3s>=Jeu}MF|A}`p@alN;s`DJorl=(I08DMxx|JCPeA2|$f!Yxd@JvrBYR?Y&aMkQ*Vze2ihO zB@5_VuTp2IuE{1Tz)W&WM>wlZF>2U;ux^I<+8EaZY0Q1rG%X`e5DZS$zx#$CM_hWS#MGm>a{MX0{DG z+=2*pX|~OBVXXEg(mn-+qN@?z7E6QLK4O{BnWU$J6R&E{UF$8@hEQQmw%HJ`3CVJ| zKlWDGJjCEITfHnby0>xCMx%4vCnY^Jq%R(5Sn+nN`FKJn&ZLsD>jAv;mtu z!<&}J%7aJ~cHV_14FfX;nq)LcJS;FFJI*3qtO5M0ciM6UGY5wa$Pb^{Mkn%)5a|++ zqkXB>9=T?14$h{E!+^nA>2q+5A)kYj6c&(Bk+3>^CS<4A=oL9+jU1iY8>hL2qg6d& zUd<#M1ST+wnw!aE22Gu==m`{|{H(7dn${8KEK^6gKq2^mLCKH@Gs!2@O-r9~3D+tN=uc=iisR3l#R5@EM3CQ0N)!4((tvq&rwMY2jSf9l`IX-jREv z+#LukTOD&6Q7GbSXMb7uI$1&2^>Af~Pdjh(SEA=P6obkzl)#B{fR9WL@OZ88_)K^# zqDeZ4k5ut09yWz?`&ePJR$~PYPaSls5j%(+8DKz?qJ&~GY9i)j>NBshM1vY( zzFQMB>O%<{@hn*se7F3fH5yW6g}xPMTUZi($h$P8f*{h6qF31U-FwJf;bufkc6Rtc zp=jw`>nP9-TG((Tk5`-By5T$NYttQJH7ya3wwe|h#%HEGU{Mf{B)w+re9sumLhCh5 zL7WU3&kFWMr~&MIQ1%5$K_nmrEo0$=Lr!9GyY3%0lN4WLegZ^tD_4aW6CtYs2r|*p z4+vHvlO2-OWT%Wcw-;=(En<_od_RJV#TuPCg|=Jv2n&r*RhpS@_poMM3zXDCOjx!S zO^zCK!7dj8+M2xOcD6NI{PIQFyhCG3GqQM9MN)DIbKXvxCS}@cElX~$dW$wD8+~KZ z7kJ6+i*G~o6CuJkuOtm%9h{EdCgDpnHk@E(9ZSThAvIQjMesV91#p;&%uLlg=H$wb z5XL-T=Rf&6Xwn{nT)6DACcz66+Wy2GVGIT8h%`MSdT>2zSLP6E@3qJy+^pnUg8<4W zkip~>p_0^k50wWeQ=4(HdNdc{o<8(LDnmbVTf?Lbi30ku<`cCb zS_`0qS|urkg|<^I!$OmMMQy``iTUEO%N^LilyTn$vKosVYf3nXRp3cumY}bivI)gn zgi~-m+;maT*ghqmMwcM+&ATLtk1C7T?Eeg9&m&CKL=v0~83`i@}Jzw22XEI*Z&8@x!dVZYvs*7D$pJ zLlE@r0}=)O)PNCLE_Ng%vYhv3Mx+>^S~4Qd1>bK(wk0y$g52R2q+P~3cB!}?ov$)q z$jV^beobgriT1647B7EY)Sv+7u zd<@pH=P-e!wfjQFwc)w%aH8krLs{{8TWhB+y={my7oYonCrWR@G3?{!`TMpfdagw~ zRK7#xb&Y8{@)3|^@d3^X+BJ2ceF!b!ednzwNSlhsc*V{zhLDd33qaJ+pDFPH=wsd% zN*lUcx0T6S@ouRKG?R*kq()h4D`JU)RQ2yJ1=YWif?C&Hq+tUBS{o$}AO>uO7s8qk zg$vZthd@ECmBYoRLg~{MW^%dk% zGb!*FWTi@*7oqNI%axY+JlPA0BEDy4S;^H^*XAT+D;5`=C6(4f9zcZkjrM2G+ygW3QzemBd9>odv^WN7OG zkq(rD##P>0)@VgsC4jafDH%tX(HFMsn$(uV-^oXa_5tB-p=I7L#Jp;6OM8)j~T*Ndpo#~P@~K(Av&3+L5O~v?HayE z2pf?EWEhIDZ$)(AtKzQ?VmvK zE6Ye*JY$*wof{0(0&;9LM>Q9DwWW79^UWRDg8Rvk0WCN{s5OweZ+F zSVJumn%y`xC&CDXAi5Oc+>-AP1h|sBW5yvIAu?jDNl`$K*5sh4N9b%D&2!3$sV8&L zM@DLD_s`(=wKWxR|@MQZ(V`tJX;fM+PBnbU(Lz17>wwGt5K4_GRYV zuF1J;O)&(w37-8Azf6i+(IjBjU?% zs>fJn4@%dzdg#H(e{xsI3vBMMdgMQ~##a8t00Wz=K!4$usCcMPIrswKeJ{8G&>7ZK zsnD|xafVGtP~|w$IBX_Cz3XYQ1!-oav|@HOJ{(=3kA;zK0nM7Q2kjRgfj&0AHFh+_ z@fGjk-Nd|h3bADBPfUCtQs7)o5>(7XU5VLog(1pWrR~011ch5x?$}CKj(80l8n_0e zr>>LmJWsMnT8(2ptx=LvPUinin~6840fLEEL_3E15SZob4scNFR#==_UVX`(MtQ@( zoD3}sJ*Y|h7&;f*q@7M}FuUJ4BAFk|W) zT{ZSX7b^n>G~w1nv*>sR`o`Y?Va@txeJ2D`RTSq4dDq!RL!zPT8#`A)fWNR)B&85_ zxWpUm77-0@T=S;a49vjWb?s`PyxE~Z$%BcV}o)7} zCGZm~@x@5=u!B`2ZkE$1#^z}6JByg}WDJ8Cn-h|GY)&Jj(GGT0oUYONFY3I&4h}Q$ z?JUX5f>pnZ7hLw3XG&af%H2}BJ zJtXyOeI##$I;h$H6YO_NahT2E7n)HwSzY*AgIFv|^&z<^Rp_>BrI)Xm@657Lk@iRB ze2IoRLtoULMU-BMN3mU~gCu$bPUE#)mts<#$lI&yVoG`_<+>1)E|ij9A^gyZ zW#`vgu9q{5&C7C~VcW~~Qc8MJcTU%s^g=1=`IOX7e6^$-G3kaUo$^WD(-cD3D*~C*5KAP#@4&>Cwak8F?HmO$`0x~UzNxG<&tp=;AnG5q( zEU{l?OJu`_>S&CUYZ9AP7n{`Ke%i#v!VGvC!VHK`a9m*}%~*=g4oT1*7WC3oumJ*? zUYQ~TE(!`@Hs5JA%#dX!3an+bP{q)IGzWDPf(_W#1)cD`o>GQavoF|Sfj$t^T#@G- zPw8bQ^R3OgOtH9vW`tk^VQ+a#S%S|@yl_VJlwz(B!*8JmmJhy@=gbpN678Ud(L*_{ zc{A(eDYYWPw%F2Pql6k*k(4aoEfyR*e{~ez(C;aoK&zKMrL*>hdrD{d=9TPY_Pn76 z;Y0)D)929gHlz+av9d$SQ>vEi@z}pzw$C??O+p*$s-d>K4PMeie5kRvXjimwFVKKI z?>=sT@5_>H;Tp~Sde7DwYjI;Jb*{;00V z5nMesWJ>Y{ym&(I8M7<8G9r$LbiJX~*;ao5#X>R4iydBrw_naW4^?*&&R$l$RX%93 zz}2!cs>GFO`yg2ZaHAk6Y=9si>JF8GD=mltOJ{*m^kcJ_GPy(fU@Ld%-1WIb$(@>x z<_^U`?{kNm;n(SNht648ixHdHkL`jBZNH59r9#Y|>2&@obToQIPbIKLY+}DhbfV-D z)v*d_%j@un-rBiUdE6>Zyi*n!cQS-_Zt4+L4TKYM11P;g#4S9c6KaCttZC?>KI_JVM@%weh=J)#&X z$#x<7${3SQFpp^Tgfd`uF<@+7!Pfm4KCQpkJk)xMeqtmLQGwZBH{ZH4jgZ=B5!{2> zgVc!AOYYqe0v|~3uS&@;)ZMMu^5Bn4xZL{-DSt(9jP0N=*e=9CTxJiq(@5MsLt(pD zIJjQSSz>OW;4I z5$Q~r|7*Uk#SY?II|T<6s#%OlJE{N#*=wThs1rQFkuW4sU=wZ)^FK*m;*YTa)Nrpi zS{`l=8y$@V5^Rsg6-%Svn^h*M1q$6AnF?S+5E_S6A?J1~%@7zt>ongXAzdNBFp zJm+?g<;GlFi^aBn=vT{zy|^MA>ezCRfcp+x@*B{d*2mY#CN?`3G7+<06R+XB6R%Zm zi3*G76dtfG4(a1So`UZIcoBUMM_I%r%aHmX)AUQ4A;iWRF%ti1Zz2x7WcpHGlsn=ra zwUDu`8;yPf`6To;8#|n8AW(F)fi^lZ;~v)|r=RGk6(O=p`^VYhT7WSgyP_cuSAh13 zl+&&exJYn6pK-o~B~r-N~ls>kIPr`DQSW-xac z1WoOdhjT-FC^a?S-(n9Rz){IFeD!+vAj$Bsuu7d@wL4X7n324YT5MsNNl+nlXt!m@ z-v!{8%J|iPV&OFA|KG#E9{b6(%x^5ih)@rmYTvvZ}QFx+AWC7gf<& zk-`e75`{G>BTqf+kE-mvp>x7zd2w@>`e4)!&~S(vsd(s%Pgx*U*fGJi=$Lj4@9O~H zSX6~etD5+^i$pfBEpoA+y^e4R6l6D9|7CmROV~H_{{kCnvGMzVo&6WI*!Z`86;15B z|6k2wV-4x^W=EW35!1okHeRpfj0_9uuhLJXkXfL8MKFP+#pO?zkAwbt2O5OSJGJS% zZI}ys2rKqrFYwKZR#9ocPq|Jqix(l&LNZG|!#i{hyOPt_$n8)U2{tnWu+0Rg!20}^S@joi7UnQ4V3`{n zqs8m8(~8hbY2TkI9|}H9UaGSOv%F8p(P}>>Gv=SfyGA}ctYZ|v;CT^=vXozb9*cyX zb@-Y$X%N+4(C53v~!zG*h$c~yF^*60&BDnr7=e^y0?op|@ECmE{d zU8E-{4ucW{NyU9ioI$t)^r&e6d1D}F8jH5qB5XocA7|T7rk!uEu>ETOd8R)2B!7`6 zN9hkjIkYW~3z^pOkyXn zP-!iP6`ryBAGH}aeh_heclN$8Ut}EdeUXfs--~4QPDo9%mU~CA)3Ehe{@icrZbKab zyWhMDti=j^`nPq*4hAn!1tbTCGjbUyn^R;>jLa}IMqVp0G6S4y?yvl2-RY;DoJ9A0 z#Tc25h_0ggHfH53kuri2uBJmn6@09$OZw7n^!M7bS1<# z4ajkia@st^1h|nl*D#cRs;c4RfIvAV6;}bR{J{o{}!d zq|2qGHpng4Ln-M(Ou7(~M#ceMKWJLNDCJ)e1}=@KAMPJdfBi$OX3*e)W&b>kCylK? zDvzygFG$q}$CjoyB8kdlOHo7F7UPTI#W2$*DK~nUEfN5awP8wrp4NO+_? z65di837F+y;gN9k1s@3y$C2=090?DEkq|c6>Kh1=6%@V!n0V56xV1zvd?O(aNyH!* z(bRYzWpws|58ppkf>Eer5Lp!WKn=)ZNgXYSD`c^hI{Mn7%3_go7E^|sK$Ux)bM7p2 z&RwbtGW5~~saM=CUs(~lcw-nR;2(!6vdOMBTRc_n0M(vAQ3~&aQYMA>a${1s6L>G~ zrD(#M9n3tL<_s;F`&+UYKpMF(ItA4apZfp?d#@9!J*-IoM6AfIrhMg@z8VWAZ<^Jc z3D^G^cr*X2-_P!-aKs}SFH*&^>Urj+J2+|z zar(YaBsesS>qJN zcVFl0TJWM6emP*xF^fafEWJkiC)v#&qrHh6-|nQ8u?xJPH5{#<-HV?|ArIRn)}Hlm zhpk=2wTYm;?At&4Cv*U|q*7*DQVvu)h`F4D`JQ(vE}c-^{Fjga$Y(2>)i;^tuka~8 z(N$zHbEoXH`B^2w(a2>l$J>Q(wEsyx-(x$v%AZ2cnr^|-vWI{qtke(< zv3qDaHliL_WF5aW&kS>Fngs5byNmNE*~nPga=5sK&0^}|4zt-ip6Q_3sxDiWB2RKE z%<5q)=j|@6m3JR0-R`3T7Qi#8-DdIdaWa#+kZbvP@36aCKBpx?@}kyM0epshVAc3HsV3W4ZQjI@iDil!o$oQ{g5EhzvMrx?KeQw|LgZ^W^C)A zozH~(3ik}kS-!-5{&Rok=7Tc&^q(1Ks@=;yDRM63_f=lQg}tNs%P~6nI=f`(tlrn> z_o~?TA7suea0?EYz3%-VF#HC0vMn!fAx1%>5B2t_)^o+tR{Sg)&T!z}89U4hqwnny zC)IwMF~#MLw^0YnL4o^&PQ=0J{jw_@i`?q4zw#QF9prVddW>Dv|51AKu%3u*2hTTl zyEfJnF~^b7RIq`jgDvRR_D7~v$82czGP$n16(4LB^FD~5xKq4El{E!+bZ~=d92W?_ zBw!!;2mKJ11h{@^#JzTJ+yaCDIPRRcAgKrE*%ZluL}rA{whE*o_iRCa zJ4Xd7vl|I9h^k0+o|PUkvcQ-zic9;dcgbr&Vc+BP2REM$nsE!%` zKihja`t>o(iIa;jYRprQhKiv>>y!=Vk5o+(ttd7)Db*v1pqjW2tG1buo9mrF{9EW>T zZAK__GDMDaM*OfheVoQ)EbXEUE_2$UcP506KM|GhB9;a!!@SE{Z z^k@Zl!=o%L%FloF4$1(Uzg9JWiz$7p7)LCKctGrmKh)uhWM}14Pj-D~T;YU?wfR9k_9*4DdvZM}D}t^0?!RUrk|R%W=Uo5{D~ZQXBeWjyrGm0*4l zt3`dzoptwHeI6A4)GO2q^wg;oWBJLCtFF9g|1o^OpP81pud|)z+RSmW8PvIP`xTo~ z1?YUfULBLtWR>vP-bxe_lC=rnu)XPA!Z*MA;ZJ?Bhj09qb~VvB7RUhKoK+Hp?-$R0 z_!Wk4>>I~7bMNdni1-NjM&C5^Imb7U#D=@Z09-F2Y8&}*M+ms~w~4#DDFv8NB2Qs2 zI%%3Q#5$n~vGdmb z%NKd2hsw~ksPnaQplE{BNTD0s&oRqu@3fs`@jU2ZX7Nkpt!XgrnJLF#GwxlbfuTC{ zv4Rp12brOLG3-H-u@%(&Z38D>=;(6z0(Jnv&|sT|=4c#6nREJi)mlwK9A>V-6~3Tj zcFzMb;anAj9fuA|RO*_evcc;Zs=!^m-)OetKLmz7vPe7V}HJ2n} zC3~;!?N`c(y$H0u59WfZK}MzqI<3cyc{Fx>m|3=(r_#K+#Jwi&$J*8W%irH@AFAf( zf9#GtYYVdI;b)ID+i%EEeCUq6u4hojc;REsYF*;yPFNA36xwHg;(9j=ds(U*s1L@I zZ-l;I-KT~D74{!!|JXPoI=ywA130TZu=KR3lVgkr!AnrL zGSr~Ff=!$odYIdBsIOs6Shm0y+S810eNQv{+B<^s#RXBGaW_<+*)me~A2JJWvE8w> z89U9^#8dm%SXotR|CgPSXjQAIO!cQA7P%U^pbYUF=%b;_Fue&yfe;1{P#R$=HsE9n z#yO0@)}P{lI5FRL%6RJ_6vE16w6)F*Q1w}C$C}2Xl9Kzs!?qP>x-XL zC7=PnO->-ipr;QdA0|_XN5yOjc+IqjmRMvSmDnAk%Ok@|Yqw={WAfI-B%4wa}5 zZ7sF~R*^(C0&3tg*lQ5cpsgx9PxUcysFjo6MhoBD1Ym&B|saVBqqLi(V67bQ@$TK;rJ(6*L$5w#Tm<>gkY z${&8B9;yN<+iO(Gg^zLwEoU_LimdH^odxem0jbFb*sKdC|2W7UMf%mmD7|6rT}nT| zaB)~Ons6H=`qk{5+;!ZS?Qe%1I(*9LTK7|@v>BaFonj+dI1+50PMvyG<5H1%P~q4jX_fDh-CM7YB(y;t_nXw zFg@I@@1{Z0T51)6Nq8>=?x1irHqMU?8|*+bR^!N6joX_V_cF@u6dR}T$$ME=57(C) zX$dL%4}O$x(m;@uq6+YYoo`&bz49HrPQy3jJY;M$QHgPr9CCc+h|^IpKV2Nq)|a{T z;w$5LwLU#DHw{n1(Yq>FqoNjlCGCHTD6IuYdCf%NTXVqZqaDeJ4hkM9@UNffo64_6^Md>_y*a*2RfvVtL^SK&_uko z9_FaJ`6?|Z@;a|0m%tn>d_?->^~aG<#H^CIC5CF@@XvqrH-G7O8}Ae&d~c`vp74_| z{P}xGt3{XE-Dr{_z?$#v)YJEx_1)xE7PF35)g9y9a%XqHT3&m- zq^ZV>@?or2HJ??B z@pY?rppuT+sUCd1)BJAgPz6Kd8p4Jiqc(QOI-z*3u$ev1Tjq#TdT6WfwE-X0H*a{o zYdQvoc$^cd6qt%0rk_}KdwXREARDTgrW=>EsO&b>?8E>KVvKZJFeuxmXetCfSJBqa zcs%G6#EO8BF6c+fRb;d+c5iUBn6yv@#YvXLKDFO$Sll?It6+XQzgS80@!)HHvjMv1 zWB5r~9(k4Zbz-MFTd;mdt4$h|HCpAdQwHm;PNy+eZ{l@Dz{%sEu4b=zD*I;)^ff$F zw)ZbIN4GMx{v%!+KFI&uf5o%dz8|@#UmyS1FG1tSpYw>o54n32r8C}Btm7`1#|w%T z1zAw6Z{-&nPbbjhFSp|yxzllubvw?HbFWS7Xqo%C31ptQ)*%IJx!7ODQnp#}WNLJk z72(2ypUGeXLUr%t{ZW+0cz$W|CEROL7A*iuI9gT8+bbWd@-hwoh8>o9Oz#@I)xe?0 zn}__N5E-qSgN$@l|uY8^G-tCnaPuFxRg?)AQCtCTmwYisy zZuFNQ_*rM9koLDpJ4IT4lF4SNzSK)4_WRSneX%#iiu=;W&QM9^!TJWsgAT8@m(7BY zG^^(K%X*h}gYQ(voF&WJAEMs0`rhuXy4>I0qhpvVlA-PV*eAY`0=r+QvkYIHFWWEO zza&4A?mPK$Pc^SM-F(e{&HugpwBPK_Px{T@&sY8CALJ{3^Yzr>I6{Z6$_dq*e-YR7 zT=(T{-NZoG+Eg}?8h2-k6Y#_Iqefy+q-)1gC^6?3j!id}thKRd0bA;q@oHSqhlxaK z%klk{9nP%090A*+TM&_05tJa3K`sV zsXQ5>=5y>;=v#|$dD4CEJM}2WrjXpCVJFDeq==;_+7!7z5tl=3Q~c|n*E%oq;_3pX zhzvM{Ri!3i(DDhJW>{-_hxqXvv)$^zIBt4ZkzTH=v4bxxYr{!{zchUY6YuoRC|KH6XME?8lo`L4SSH4^eMw=-V=HeN#ghqAFpcCKDQH0R~J=@^EI+A zlGs=&R8Gr~0yM*J=*i}6cXu4GZh&U|V%q>@(m3P{&U&HBFQRf1-HubMIIc%?d8U~0Jo&8q#-46`^v zv#|ipn(tu&X@_41&HNYH09+#U()*^sSTjB$X9r_7@tsBvPB})gjUk|!AswJu_T8j( zXvU+CfFf&mIvLOm8EyOfb`9&{C9nAD)=E#ef|L&0Has<3gNhZ<;pm>n8Mlwy7MEIb zs!Hx)iQ{Zwm0QFr)!pVjcRE0E>5>Lg>J~?3P1cux1Y?1LigobQ1_LV7fv@u2 zg9STe2`Fg4nMV-HY8pWqjp2bCDO4~MB;x`k6JDnb`7Valb^BIz-A+kJj*;q0m8dJe zg#NlR5K~tW8#!AaZeZtZK7Q8iI?wo&zj% zdzjl@e!IjiF4Mw@BO$MFc@fEC;w^h1ufPFtidG7Ls(W{*{S7#$@9AWpI`Un+v3giW zmNOQu;~&o}-^xwxb;R*7W%TZD6`s1gbI*@{pnLagDwTyd|C5fcmC9RXA>I9dfMxJz zN=SFI*Y6g~=_na~@ee-I>@~mIe>FBqFrP82@fbb-MnD6jt_HvU+V@kPM&> z=dMG^ad^J^-FX$pR#o$k{vP~a4`Sow+3R)-WMx*an$~2JOC@qRDS;Ay&2|DlaO|6| z&1R5s4W(z_Fo3zeG5x!skSh)#hHj!L4KHf*LJwX!14l+2r2=9S)EsVLdP=ShKTJ< z-dA}a7ZN<_Tw^+xCosz4DqR6W=t*n6M3AU%yVQwzSLN!cA4O^mE!x$-M~-m5 zaeB7A%q+K+lGt*|OCwJf6c?itXy7$cZ)rR*04oRx8Z`{dParJV-PqxQ2M^X2d;yLhpi3rEo?}Hcyu}emhEJ;2C)KKjE*~^0=c!_*#DvLo2wr~@s z#Wb6lFTfv~VP;E*-r#HC1e2>hYi2K>$eO9q;hNy-+F>-ThL5&i0@5M*SNu(sidlw;d8)x~5q(GSuP zLcl6#ifza~0{RAlcWU`6t0+4U?M80%TaFfE%7(wS&;XVgZ>xfWafu7gF{iY$-)zz$>ft=rc1@c67(9J$K0Ul5K{Cp9*GsSR#VEm+Ga^tu#Dj} zV+c!-n4T$vLaoG|`^hDB@=+W1@QG@xW_Apsc%zVC#g7HIX%grkiK2mD?lhxgJ8!(Z zeUK9c+V7ggv#^0@K_2^Yi9yklK4F9Wn#_E-sGf!zZbDij*Ua0BBMpqnoA0EhGRw>E z2--r9+Q+$tO$}DC$vw-(jdJ_|^4-ge(Dd>37D`^Rf%ItxlDTkgBvHnSMhnG%s(&Q$ z?u6d?NWvTYsX#sZNb*I@tZFh}U=f9+d0QGHJpaz(5cwEG#H{2RZkGdj6AHj^GRCfQYDOC<<;N!!_M=J!4m7 zSPWlMUY3Xckb^)k9Hp5~Fc>jSRd&S7nCUzN6O9eEauZS4ND3qE9JX$F7LA-|G=ziTGpx9RzcNn&;+g&Veawn-9;Q>sEnav-7O zm244wtIt2EKIid+4*Hj5PTW)&F?N)&|g58!o@FlOg6<9fE5qy#Z*{_j7VF`Xgz%iz1;`EYz^Nt6Fb zzsx62ec0QKL^jQ?D)(w+Jyh02yjQ(kLHzD7?ab#WSkl9Ihu|@BpXQ%R8L7vd4{CU;OdC#wgBfbcnZb&D=>! zp$Z1Mrx7a2r+y1V6TxlZz=Zc7recA^UJ} z{bnR^hWyQj%PTQ}X*NJ)km_{bEcA+GdXkI`VM>s_zXT{mVh@ikJea zjC3}s%;sS+$f9Ye0;voz5UeQCTeT^CR&YeM;%5L4efCEPSX8+bjp-4#%#jL_-j;ga zZt7XVqPQH6sE^%Od%6DyF?xzB80HfT57R}L@n zX0Uyo+plP>#DoI#pdK@N7O z14r^^y4ZQs#*b_|BVPWMD|dh&7|^BuXyH zPKjk?X9i1#@Hm_!bU_qL1=)!+H*uA-%Ne_JF9 zwv-7Tj^(DK^E!eDqm0Hkyq6VetU$==Ab6(By-e>~FT;?rmm7s%4uYpaFE@&UXGkym zvJ#gaoA$ERHm8|7W*}%twm-V&ex8zs6xjWm954vQEaBJW08k(zDD=`-qa3(`orSGc zk^}rM$N_shOb$%D9GL!UkOMUHM#=%1q}s__)~ES^`0Mz}+`Kxm7zM?|AE4-ia(c(8 zmfcL$@IjVW40@Rp)C^oK54;L;f@A~#v_jzO0$dEs6#`uRcUa88ET{iIlmcA*_b>Va z2PWA4cQ3%jfA<1h{C6+F#eU-vTQdb=`i%B3(te{9a?_~LXVgL;6uXDFh+b#Rk8FNr z;HaF2lk-zHs08ab$5(8KU7w%RzSu(bTn5Zfp6&5<0M}%GP7Bpf4>La}%J_Bud0sHJ7cmuLjww ziOm~`v4)tDCPkBj++A^B!(v~v$xy)2volm)e3jW`U&L38zqlkX_+5|}_I8-O*yi$L z+gF3UpqV#NUU1%b^s6WQjbEv!gI2juSSg9BG@j5C)t)a7C! zM8T2wJjOW9EOb1896+Ebladz@4}Aax&*!c#8RIjm9!@#OiyHXG1OkoIn|ow-lsqzD zS*IK==y%G^2sBOsC%M5XHwV3TB!3M))aL_?Uv*BoxvTLKZvhym`;758ZB_o{@0?Ta z_nF&cey=14_?_fH)87tL04+EXaZDamv}W)z{>}*W|z^K=7+n z4jh|gzP=;{K0H|v0(v)020Wk9c*C&34UhrHSipNj{PHFOh6OeFiWQXVp8|FipZLSS zX3H~b`7iw;Agr)1f0KBOQNw0F_ldelqttk{N88xH-^IXdU_&ODq z=8UyhX0NkiKQh^?*Nd;CUSIx=LcLfedt>V+Vuet+t07h)prtREQ~uS?Bt`*|Z7=nu zbJim%-cG+%)T1zk#Y)TBxK(KM@1mDe?5lr?Yg6A0MBJnpyN|F?L}5DkF5Z@07q*C* z(CCbf6{w~yC9VAb?7e@GUFlihdGERRcHi#XEnP`HBh8Gk&%Fqvu{Dew6iZ`|dpQ?flyrYc^h69iGhR95T`AcGP&Mr4E;5)o7>5l?oTLIG6} zu>vv(N5;L00s^#KN>C9|4B7pBzt4NlJ-5}ZmNa89S&wS^oO{lD-XG8V{C=PJdA&tc zJAK>5e*!VLa5buunzs1OKj2BEWmYZ~1rHX#^qE%wi_OT!8!5?ZAdKDQW4j6*5I5dY zg4wI6uipfH9ev48->u8Bq`o_0je33#>va<&#tLIM#v#RNay{G}u2;-;+fiJs8decx zRE>j}n0Y&gZ`v=8b2#>kFN+|%?aykFS51Nj%do3NmkP)tm_y-&<(qN*xb1ev1G2_H zt1Ym{z7|H6Hnx=b%a(yM%*@{^%uKtf+0-JyX*~eou`fRi8tv=oC4**sivX5XJI>Iq z_I0Es=GfQai2gTX)zle{*>_;E%>mZPz+SkFkh}sWS4;OR!=x7z|G?hP~ zAgrlT5Y~Np?l0e_SePt-tABihe$?8EAS{8g>d6BN!s?bmSlVBlo#VZ(glLl@1{fUNg{r_%{f*@CZqmZhr>r^hPpm)N{DCEaEvM4ehK2upha*;CEM(SmG# z(3T$uAo?lj6+u`lxnHKLAgoa=1p9>)gvF)|A!>wZ)g2v*D+f{8J1?_~%W7uV2HY<~ z)D6{Y3`Z#&QMIjIi$|v%gvIT<*#r(Sq4YsQ)Osugd)DeZ#>@R{D1svoN+7D!bkJ*; zH#dpiYM41{WQv909$FZEoYrGT?w4h=Hs)ZR22-=bL0AN#D+sIQAS`ovqVEa9YUf{P zq!>|Z9+MjPTuH|3PS@SH0RS31C@%a>lMW4?&2&?PptL=`yvVag2B`^kvNv*67 zrpNhW2YlO*@Gb4nNzqqEw~fN7%Grm z_2lT8hC6XHwSRaoGqbVcn#_}uCTJ>*j$Vz5`hvn*Fk*DHhC znpZ|&F$>-VXQm1BEH}fEE~a9dpt)rhaXDq07~`Tjgo4OQ-pDreTE|vpn!)1ly%S6v zpU*Kw++asf$VZ_-DH_K=F$$QiR4A}aG#UjEVkiZ76ZW~fXk3ZoWC}}id{tdEI{GS! z#`LxZPwnxyXsktFePu=CYO@?W1FPt(a{7bgjBj~V^wnqun0ugm3yw2BX=C$j(I`dn zYkc5qd>~@E$MEAXC?6K(CP8`2$QI{2E{e*h=u*VKP($kKc8--FmM*LmxF!0Wt~*w-rXiekUE&ij?+18;)* zuXWxLANZR3k0;6Lcog*WH8+6F+5exr0b-rE&IPp2TQLFFc~|5Ct%&tdaPU_>4`7}5 zO=JNptd+FVTFGdkPY%K=rPdmYR^{SXFTWq>AwCSP4OVNncTmyKvUcl)FpZqGLQb?; zW%>3Fs!S_HqHoW;If{0WN*I)fvv zmbZ%&qt$Ys!J!`P8Eo$5o8|J!H*>N2=tpHg<14%f#ftl$38vdC(lGskN4}gUh!4THe4TjN6!{ zI4*NTpSH)&Y46U~$v~u?r#_+zNFt}CV%v3LxuDF|L`AM3eXbmScyE*~bdnxFl4qo9 zYOz|eT|;0k0Jul1WU4E6;e_594|KYlk9g3!No+rNS}J*F<+H?lNvbXsMaE46DGqng zEy5J9QGpgsxa!OpE^~v{-JUw-o;Hg!m+GfZ>EW8E zPPMgC46qLrolofOsTOljN(Ifd&z{0rEsT``!L%z|+Ka@B3Uf4Y4PwQ!r$~o=CudLj z&?ydG_yp4hfE8Oi051kjH$!p*H&i=$s-v7>TC(CStT=gULMKl}LFG@xt8CXY6M~<= z4Z+39Qs(F zFU2(n>39l=V@A0S|I_Ple$gPqdA$AX&2M2xR7Ta0D&>Vzux5K(K*^BeEDz(Y&a=?XgaAd35&}mA zD4w+iiI$+`)Fp8QgrLL>8%pFM%-}N0F9nk$-h|Ki!+C*T1XCsp_)P*4S#1R(KQMG? zp%1&@L4popF|-9x-O*f0RE2kjC_SWmtwE+Z6p|JlU@E{6wk;|#dHFn2>BDfK(KH8U zjRt-Oo77>K^tA!gHV_CDgNRC8=^6w&KyWJW3KCkk%_jv0Cf!d6$t}m1!0%j}Ik#>-F-XoFq-jDW33PyA6W?(}l z*=7uV$U?+gYezumsd1wH!4mx(v@uSk@eU$|UGb5+#PJ?{r!ILRidw+G+Jp%Iy!A0* zhKO=N1iIQ6f-njWS5Wpeul~2D(PH;TZ7Gm z0?^K-4TOS0jJmc7Hal)1O+UR`+HkVg6 zQGu?<3b`K$mbb)X!1M&T$agwqQhCN^b-Xy!D-?DTJKp}vJy{pTBoXLR95Di^qYYew z$XEI&LB_de@N(!wXFnn^rR<1abys^J_9Cf!u_?0HPR5<#M4Y7ucGb?(Bb0%|4Mj;H z;U$7T+66l_`@fF?6K8Nl9h7n%t#pVXQ^E1u7V~k6A@wY;0j@zlOd$u~UIuB4_VfFF zIG{I9yNZI7B3(DZD3m%&Z>2bJJeRem*7UsAQ(#Sze%_KSH^ znEc#QtN$!4;yT1tTqDKor(V&6$^QHKeUyT%I8EEpnaSdh z)ERa^rOtG#&JdI!@~Cx2RcHe|7)95Z%Ki@{XWX?ZbuGH}-n>WmCe*#IJEQ!DP@ub~ ztg`AJ%pjhKrr;C$Gbb(3Go~0B6yny2bX`c-qn<9EyQt#Mq6#x{7a5mXT!UVHkrN>W zPdf4aMj=fBkvk$S!$Q4Qo_NUSAT9l<;vx?5|BJgb{(U2^NAAbdU=l)slnOVJVJ}_eq<4u9dk<6?(V&46Bld6)MigAYh`+*xP-OlpzWVQI z?)MlSoOz3ZpYa)3MuYyhd9KdUdCkpvavBSf#VkybQVUoAOk8n$rjHL4-4DzX;wB|A z$b_pp!S{*2yZcSz$e#Xx<~xo~XdTUVw-m#s7D{wGBi*k;H?p$9m|>tgH3zK+baPIA z=ZkmA65SR@vqDnFnC=IeV|0IjL%txlN$em5D(;=5-c!&#LA)TwQDO`uqY6D`wsmUD zgRPTQRXSltuU@69b5T_(Ab6IO$VhKNFT`t!UZa7CtUM5Fj}t*Rlq?5Qq8A!xiC%Cz z4s7Q;xI}eG5D&Y~WXlaF9p7wb%_InZ|`0Le^eTfmA&R`rU<36lsbzBCE z$?hH`AX^Bg4i7B#4HUQ+iw4MTeS-?Ey5Md(uNb;gV}WeYSgdad2Sk%XEyvU*oVf&C z5jpxs4B4dC|FYpji=}pwR61jskaZQBH3JvTPUa{#rST?<75pXkQ6EBCPTcQ07!S!` zf|C>i*;UFr_bUm+6bs5xjYE_+RV1lSp4&E2_;3KCM@q6`bjKe6s>i|1QwOu_Z|< z^|f96<6jeMM2*_epz3NKsZ~!xpLydap)dYc-6ti`t?85c^F9e(qs|GBy@Qj`XUJR+ z>U4)IpM>5O;t6ZQabzwQ{wPcW(MWX?dR5W5KZ;_)QWS{#N$AXRR4exoI?UQ0sZ~xw z{|B8o3B8Xpv8@5y3CErtOpimONp-6qJU@28xLl~EnUp(KDESWckkrij7*`}c6@lBB z>~eZ2&r#_al28>2)de$fCcT=8S4tAdE9Zagr&s-W)sI)$YH;K9YA#-B*EV0#xFV3F ztu66NSr&PPr7uTj4p>__o-z4k+NYzxC*-{RKZpo#^nV;i9KdKA7{k({!p0{^Ae{-1 zBSMNae>fF!h5E?Gxii{a`JpqF$sDWw-2EYd=>>JG+y%TS1ZqjkR^PICFS2sM zIH{v&(_w{ZIoI^!S__kSh!K}!7E<PM#T$0|4=3A#Pq04oRk=4oYvP}cB)nJ16v`mOMjM(sguQ7dfLs`X)6FL z|HaSzDkqi?rN7WWoN;+qqOWy@#FuJ;*mV&ka1da4I$2yn)M6(7VTN|_K>yvOBL>O! zyhVD*{&x++$EDJ(;q;2ei4Vi26ST_q5a}c|uI(Dm;orqJo|aBhHUevL+g7S}G=9Am zY6;KIO1@@$$N!0*8$&aL_HYyOS$?dKlZPymcit?PeTl)uFxSr>F zA9mSfK4T!9yf^-f2-B*BLc1Jbo6AC`U)&iBVGJB#m+@Og# z%OO9^J&_U{B>ma|EY1Pjo?Yrd$)&()DaIp=3%nJL!CZHDVjQgx*Xk8k4yp_vDWPW zMAqk&8kKk*jhD&{(Rs9O<0_mav#mve>r#oQhMErmW(x-NZx3fRKhhV;W!K1O^<7sb ztuON3HFEE1)(4^i^=W{wpF8BEv+ojYqN!x=4MVrN0{%W>w ze~hUpJGwCH=#f_0(U&Q(Qb(uDj^g@kK%mPzdZbl#^ktzf@81Yq)@p7AxX|3C+B7W5 z0T#VD&os!zPKgVv%)?skogdA^1FE*Bq=*j;BF4=mfuwI6gGX0#(f$6%0Qap=S72@tg3F#PnOZN?`g`eTncexO}AD z@(S76C-xDnUaUcj{c6_|q{R~E)U70lrbI-bSrUq@M@8=R|LOXeq5|hn|2yg1dO3X% zP-hk%?*BDfle{ue@?fj1d8>}A5Sa+I|3Rbt)fx^WQ3D4Hq-Is`RB`FesZs61o1(W< z#o0Hn*0ZBpFTXjp>P$*Q75(IuHw@2w^1;@L7RMB4`R05hVsMtZV{&jOSw7=B0yc}{ zWn5otnejqpr67bvOF^ij5`-sxtqDTarB5nBcoN6U`r_iJAEqrF4*mD2?pJHmO%_Y#(x(=>w^X3o%8E(Aptwg{wBZ7ue?dl`?!=HJ>BRbnGUaMsBX~gfR{!24t zF^`ih=CKEWd{0X^A%$aLR_(BRO{f4b2i4&-G8-slvl@vdg0PU1sC+{eCV{5fLZIDkZBt34EQqJ|KQQdT&~W?A zc^tTYv6OOSfuYo@Et8kaA>*SP9=uQ zvM0-!Yc?+2dJ|hG#-#rN5;RSg2i!5cI6u;+5+38S*`Lm@6Lo|4_NLhDGV+P+XuQ&{ zRJvmx^*Sdiz_xGicd`Pk{*ImO)S;sQ_i?p@{4s9qAm5v8M2@%AQGiiwPg!hNS!`!2 z#*vJ&BuAEK959$_-BuRQQ}J}bVALvSL-Nk2#=|?W(7#&a$m=L3H;?<+h}vppUMR~v zUzRzTT4VuRxH-+jLWl>g&`j%MZ;$v?*A=ei+>J5&PRvfB0=G5)2WBD;(BBM zpbryThe-^1HU@+xsZtJ<(d9#N*+-?*NFY|(R*e^2r3A5d0sRL<_M1`b2SM z8+W&SI{3`cK^EO%TNy*Pd<4R0aCV3kKmCQzeu0=qxU3I$1t9v83vMDxVV^&T{j)_u z8ZyVZ%s9+gw!1o-9MyQ9X;p4(`HL}^RNUN%z-YAuS97|OeX|VSO;Iitw?~^pRYZ&C z9rkUvhv=wIaPlHwv!I9dGFbJYHUyDCeF^PChu5o6#gm~1ml z6p|_jm4T5QRD6~kRPcW|^=^rSt?_l9AW-^)sKpiN&zxY1=v1(@5rxjR=v@(zh!=juT>T(78!{@6`&E8(V@fEq6 zKwsz)RA(xMo|&AR-)0vosK!$!Ujfr3vuJ(deJVf_W(myg**#p|PL3l&R46T8v zRoBDFUUFpB#&6FLzoH040xD@#3-}0(ZN=a@4lWDb5$Awn=)5vA+;C9NQSxtXP%BXW z_UuV{3uiu}(8K55326cS_vw|^LaZ9?1DE*yM7h>NYif!|kX*Fq))WC&HFmI<+EOv~ zalF9+C5e)fVyTuiJslh`0Ii91nT4*o(b}7|C|=}EDu?Ydp2ug2m*#PoG(Ny4RbT@hU9y1Oznj;wALHPa-jKb;u9OAz#QU#_^~Y zP?~~(h=#67xbu9cRRV5yfn}&h%({43wO%ct+5hOUfKI6}$Qv8qt6t_^gjm)|4ydxB zyn5I#8-m5$O+!SCr-oRVQ#U5GfoLL!+qXcQ9s%i!Mn(ec3PG@EI1__GiC{kZzkSb; zmwoVp3+j>ZTYL^o8gzyDelEbt!Ok=$B({tbsOl(1aS^K*=^ALJsRJP=r z&<+x&+j0y9UdQyAQ9Wre_J0q0*BQWlMPBEbg#Ae7>lceAETFPe3043+UO*0Wd7guE zeY6kD;2c2e3DsQd-4g_n@(~~Q26&G!rW%8ZD1wL{Ag(PNs*m|T3|4)F zzC&M4W4)D#If!zCe37hE9cH25lT_IHvl16o|5lNu;sPurUI@U<$y#ReB?;j)#1C`n z1{i00QeO4oS^1(Vs9?=!wOaR_bW}x*KgR`GcaY0QE!^YcdY1xPOTCkYsu%bLuLZNo z1gciGc&;pS#bs(3UUu4LR#_#p_tE>9_0*C!29 zivFO9y|B}99-!ZfW&$i1Z2bdi1;t$q z)X!%^A?JCDC`r%zG7?-qg_ES`bFv!zJjIfv=Pb-Ckc4_}8A#GrAju){+kqqr+D(tX zMDk#?6{z)YJdh-vY>XV-A(~w)kc19u3IsHI*SM`fk~AnV_RkJzw~ib+M8K5D5OE-k zkrv?519N_tK{j@DDS}SB>hdNuMLDb?Ggc4~sb7J4s~&q1yi z;yIS7ctR=OU=!~BlRPaznMzCVC`KkCYb&X<`6pA)x z@hdx}_Kp}JdUvELhyYLl0@1xn^rE*tF5BTKpUKkqWV^yEF+YJi=Bi}QE8?UfrYx?& z3dbgXp@*?m(;Nim;MsG|z&R^`xDGimc0vj|qr#u$V2e3!VYMvi^M0a=ZP1oa%2Vo* zd_o4kV>0DgAZ~8Qa4Hl^0`K|8F7QVGRqmm`nf|ZwI8;(E&dV>(N4th>Esza2l)jm< z<#6x-m#svals>JmCn{*Ltw?b|-=JS_E8~a0QNOmAfl3eR*V~hiYw(Wb_!{g$+c?i& z?5$jvTKfkNah>P)H*sCy`fw4kM1!401Rf3EnL?Wee~BX3De`q(uW`MX>xs_(!8da~ z37_A^6_5MiFLOOj08jg4gSY4rkumS$dR9B;KSpp&x406wijV2$_lrY=`dXrpXgVvq zkivthkQ?xEgac`&*dYK{d#L56HqZTz^Ife?IPp`6Di-4iXm7PQ4VwUg*aFJ zA_QHMwaZs+A&Nh|bdL&)uC?msJg!?=>VkrKI1?*Ce%g2uMlx+2+Bk-kmy896gScO%2;A zg~Dt1H#=G#U+wOIycqK#qt$KwgVMXjDaY0@tNnjQ)!qZ7zFlnRTXm&UUCz?E!3>{_ zjZH-OXh|*5Q_>R!yRE}n!7d-J3tF0$kM7YJ{|&H2m0puy>rsNtIJ{BQGoed&2q>oI zrc*Cpq~8Id(p9&CZ^)uHWbXYv*Xyc>@rARF+M}ANv={9gk-!+iAGD)+7&YHW?D09=$H*e%&jHO>l zHRF#TuSOcd91_=@S0 zcD}1u;MTBxa4;1(0{T$o0w^~}gzNKpTbnD*8u~vNCuaA^OxIkpYzJbX9+ z!(ZZ3`(K_UO31U!NnA{x*9S!b3q<{kM*@!5W9g_wr}FW&^qBZHxFK#GAtU_-jln6= zO%Di6DSi#M*kJjJ>Lygu{v#^B)@J)|pef|)9Xiu^(q<)IXY+Msu~RJ-n~_rs@(K=` zxQsCDeR2^L6N710B?mkxaBE(7RLX71<%A^vY`y8n6UJVWtAJDkKZOPbUsQsVTD>wm zczLBgn2i^BxAY#B!&CmCUOfuu!6X4@Ff#@ZilEA;C~+6Z3=-+#%4E-sB8h(EvtRgZ z^RLdXLj{3Ec+QBQAFe~ZOy%p|_dvm_#Ai8Ktl;v6#`}~qI(>oRh|6lYjx>@i+@hNp8tqm3`8!_{a#%2g8d`-4YjFy9i3FnJyoi^+%b9dNQmK?Z}tB@ z8N%uSQJMq`m03`?5-0+)OcDN|ZqF#DU7K=^tw)hxSR#@gDpSI*HwHgNyu$gGflvhJ zQ2S*-oE-z=tVU%Z0^FN{*t;2s^6e%df=3C69N!y2tom{@9A^wF6ov#&>mUi7y%9JA zmNp+tSbFT@XutqQ$T#5D|i2(in5dQ3?}}52v*YoUbob^muU@ zJ(A18^f+UBoH>xwjRsola(cWlqDOd{>5+Qj?OHiD`JYQ%fk-~5dRQ3`_z2~%h6@Pu z5y6F85tEyJh%U$MqBA3{P7SOx)m+yKFPd(T)J@qQsPfn+EPCFe;r>Nk9iy_ zfE7+K=Yq(XaXGi~w(Y%3Rg z&ews=!?z+?8UrOvSSM0hpTBkgFz2!kyx05P`-cNfGerGS2&+LsVr--lamj~!f_K(6 zB8d}eMD95n5yL`k*EJ%JszxJ{ys#QjYD2S(lw+f$4f$KH1_cum+7LC@wIQiD;@cX4 zptFWHB+oiv#jpbW`)2#Juhy6ob%jf4Lt-D}+7M~d_##vd_&KV^%-Y%zx$?DkX>I62 zsSRBY&}5f9kkzyy!69iw6g1W>`N|keZAdlUmNvBH6cT|cKPY?JI>AxUT61)SD_ny) z+TA+Ly{QpqOpFq=C_e9*LLDBPDKO4GWQJS=*OygOHB(1hcQ7%_)YJ`BBc*ux#N4c= zGBK5!$|}n3si}6xtFP)a6C|`b9^lB183ao(4uRm3jV0ksY0zlgiC9%sbu5(QE@wt{ zF#^;D`Xj?;0mDYydagC-?l!{AY4b2~StQY61_%T2I+*M}d;=T!Nryh1Pm6;*8TKDw zm6$fQP;;`bP|VBDJjpG6c}f?ErR)l|jP>LxfTZmL{3Renda#y{o2PjuKU@$L!Jn!uAnFbp#EwkPpCuI=jj6&47{Y( zZR9O`tq$ZHB}F#ckS@EP>w7JgPD{o-;X1=gz-j{(q)O^~BeX@q=l~vY#xEUwu$hMZ z7DdMMx5x9>+9~kyKU|0WcdXHER;r#Mjp00Sn?sp&yakop;!5|@gM?u_b!(3f5du`9 zuhKWQGZ;&T6rBek2uDiJ3=~D5db2%xlT#r|kyhz@`6F8E-B>oc5qe|bDlwC9WN(-@ zU!WlXrbq6N&$bD9K+PQ<^>9uDzJf~JNpRYm&jFU117QHQ^Ep_im!g#Kk59kEw^+Ny zzxp)-wRD=&>*o~Q=)j(71@#n7rRf1DHE8f{`0k?lera#8TmAf&`1$VqTa>e-_ntwU zgjU8w=4NgmW8xBAS1aj1;0~YOK@11S>6SX=Ga=9#Rib-&QoD*6P9ekpPoeA~o zU71ui8Cus}=2Db_2T1)OAxj5<`u*#=@*RjU0WD3ylC6UE#yZ{;ldX3glg(2~T^HMf zQY)fzOlvhjr?DntQ;a^O%N}xF(drFCnOns4BmfUW)rD(n}x7#|}zde0s zLrtGS5x6~lrtWsTLq$_?crz7Es6qzG4>ply&5!3ZAB%&tV6ge5$W!9u1`EW}Jg;#r zHP0*DTk|x}Tc&x2c39d7=%(&6+Ky}BdR;YDn&*uS)_uDsfrT$e z-DDClQ+yF7!3Ms01g$5ioi$I;ZAAyEO#<~*eFpXd$04*uv8vY%g4H!ojXUWDDyll> zmusG?ON~=7G|zeKx7e+;MYMST_wT`W^uErDrBg}Cuh`d_SUUSUS7hnh-ebSmw78PD zOOE@+vP!5hDQ4+2c5hjiuG;)ci;-!hLqB=r#CPy!AkgqgF?QB6+Q}1#QixGpdgA1; zRXWq(_96CV;o;?Pc@KA*2X~?W1ZpE)fZSYQbs3AkWk_aLWKfjhFhY{gai_kAq z4?!ResU-Z7-wx#F2@$lYc;aat?Ma^1&n^0+SXR`3{81=3sKQ$H;Xv z>w$(|YE<0NaxJ=$^Xri%X>n-SKWJ!D3HFA}c)ZTx`*RrMG$D+t3JEdZoIPu5am^+U z_N1qd*DoQVj^QOimrqME4lPo$W`Ka2rtG)!UddZX{~f%D?a*en9lR*zP>Uf>lq;(2 zDR{9LAv^wFKIpOr98JoyEB`DtI9DgP>1&x$`norRoZ3W5uNe#e4Z)uUWEN#B=;yN^ zplj_MDB~EDm#ZyON1w8@&$C7Eo2ajjgmj7AM5|_aVF$ppm zswvb?H#S;Cq5jco8v>Mq)&Z7$rTNk#R81Ok#Uhr(i0Wj4T@r+$(cuRXeR#c3J}V<2 zn8kW)M%GfI0^}~kJ0R;N{6$)+XbiO<17Sd+$^Mt`DJ_JXulcO--|7%s@h9}HI+rFK z;tejzj>vFVsQb7pPGmzIONaTTu7|38Dhmof3G=EsF0^Dvg()_krQ%Y298q1cQ8ovP zYbF=d(d-Vy$9mVDuRkzcuL&TsK3~6r_*j3F_+WjFFUs|`^|0&pYm1Mxt`L1r;^R1- z7iJtYDA-wSh3z#!5M3*M1sZqhxJct(D92smhU)Tcmf~Xp+?drqp8mILULJh~O`Q2S z%&exz{rzkK@TwZfFin5}&U^k~W-{+z!rd+tQE3L)?Nn_VTV$Wu7w?ZfV?0fJ#&{~k zfnAh)#*78P(4PkYpEZV$!^!`?n>3Gk>luoNn{hRdBQpHfyl?G2kP7Jd?V*|{T4TaB#X5QW6# z5H){ddA27vo5<42&Qu*+rH_E6%k)&%s}sSrWJ6IMWPy(d_@~6vDXe!)ge$&gZ(L@u#rMUtP5SlA5(7f{C-7Xx{;6S*DnZv)rCyx~`fUq*ygI zX`jt)D5l2^9l&uaz@aoefM9jSw8mLfRC9B(9CtZ4s;f2+Dv>CKIglOw9<}jm&5Wjs zQY~Gml&|B=>dYE1c0p`_P#EX{4@03jaEg(3QMjT{H z&D2CN$X_rrJyasY%K@6~B@g5_$drOcg(D>#N>oryg2I|)dcWogNI6tpV`O@bR%Q#ON$3_ATZv4s)?AWQQIaVc8j_84 zc@>xBT4cI3a!E2JiA>odgbjd-!B*ZRTcr+Y%kz5a0{ajdT%L%tA;QDZDGvV=B?=q# zW)xeIexZ{>{8DGJX&nC2k(H?Z3H)J2;Q&II^`zLIwXXjUn^MH9s>T}=aI5+p-D7?G zMrV12GJj#al?79pE_UsUJ7~oiZ}#ITQrr<4MT`$$Oz-=s9LusumuD^vodQiv%!&j9 zrAGX%EVc5>8gbuOGS}$3Od}pA2*pIm2LwX6F0L0;XC=2THt#@gg|?j|h1N-MZ>Ac; zJ8oLaQ?SNODg|GJM$FBnc&F(Y>Gz%wH5Rq}BDa&jIu**oi1skeC-QNQBQ)TPc>`woMfcmKt z>SqEF*=q(sWuY!(LN%CE&@f*tM_s~PHHl&>m@m@Cx4vTQL$c#Rg-|fn&LntEcg{0- zLiQ$}F8JTu0sa2`FG<@qMqEW`2^X+LX0%aT>y=-p+=mmR+=t!#8||9EH{b5B-|4UO zZ*XJn{B3@?GpZc5=e&kvz4~h|1QkOR55nukcPg$A zzq#h;7pvzNMLben{d}od+DGFxNv|+X0Xc|dUJaruTyc= zTcx^@)=;x{^*6QM$t%KLr-QKE2Wi(UB@feI{M(;a0vjpQPV&ejJIzj`hls|6W=sum z(+GGPbjF1LVoR7HrvoyYx{4beU=6k?EzdMl!Tk+RPg>EjQ1=Y1Wc$+%+5TlSfmf%U zt%+xUh$7)obXbu0tGH96QAJM~f4!HB&~fE4Ig6L%U!){?JWU=Go|>d@=`j)1$aAOc z4BcYUM(=41F0$;*mRWYRVN-ob&gcnwPX&e*+#=ysfj!`map1R|AM0ktt*b0MIuHnU z5Vff0#i)733Rm!?C;(y=XcBaWO-oL@G_RUJ>w@xYqbe3BorMkE1;~ilpnQ=Q%eS6w zk`$^xEoIf=hICifSp}lSQkAuT5p2iye>mTT6IQ57W#b0%B5Pc(f>d1Nn)YUaJQS)s zHHejkZ4HB18AVD(do_DlyNtaUp@~A58Vi?H1=U(aX%1J62AlVr^1nP9bj|PsUQ21v z$hg%9z0C9*nHM(w>XKb1UTI!n=!F*m)1{gdtVf#{^+99hfo(U(Y~TK%vCU%vru6b) zK0cIh9SwTirdmoi6@d_|5Bg4RDx8GO^et_w`k+@cscwJJBa2G8=7M~t`yU9HpR3Wq z`H~JqCnctxS;eGVD^PxMWYV2UCS90vG_8COw_F#LRz!)_;!D;tCs&9s>E>T=g>D-( z01QwU_vbrABi;NRR{utt+m6Pk*%p=9_RCHovEJF2zS)_V_~b#PvLuc*eW9#1{}plb zmR;5NB1o8(jUtijCJp==;*o_W-CpN*CT?$V+s87Myo4)B(n}*i6QF&}M|DKT3@*b6 zuDHhbP}NQ~uk)=o5pp|Ez>zi*a(jr|tx?+{mH;G2UuQEY6}jb=$?cXy;yYR`7d$z6 zD(DS{3j~R|JGQe&VPktur;hth+D0#BSsx%}{Czc9dP zac?S@QiVlzd&=sxr_#;tOvNHq7*8WbSnA!jvRIyql>6MHu{~ z)Dn7fnS{N9vLVeG04sbEt?n(t(QaH2aMUVm$~s;DKS(hFr%L7}RD<_u?lWWbX}H=g zw7gp_AH@m}&LUA1QpElnv{NWprkA!iw)a~b&?Zhgag}KmEhK$|beD+aK@ zG-I3D`<*RYtVs0sR7r17a%1ZKP$Eku>L%n?(7%*9_|8+rlI9Y-vc#4Z@LG=G!YU)U zWr(LL7%|Dw09fbuM0jHES7i77`7pwC@ajwuDVw(4udu`ZpZ1y?6iQDP4-Uw%3Ek9s zFez2E)qR74KpWbpu9FQoPmFEevkoc7i9vENhqDu7EZ+(KS{xf9)+vQ>@MDYqaKN7e zXmo&P2ERb2lF3Y-7H`|iISZ5~IxKT5)jwVZ4$0QOURCdi$dnbV<2+p*89`!O-dr}E zIY_P*r{CD2?L*s#to*KXv<|0q)9e1f^tPf}TV)Wd+7#U&opzf zH8QB=;q7;F>>cuGkQbMMw(Q)WJ}7td4%*;@9s09fbGq##vfLfB)YsuQlX_FHFSeJL z)v&A8wJfVc2#qkQAW9G2chVqoqx2a9WUjM*1-o3Z`ygLT*qyKFA-XCD#jHda%MT&R zd}(0Z3Tyd8+5mR{JIyz~RB&`s+>B%aqD&G9v%8^u$eHqbsA1|Hy0RP0DlRg^4OCO4 zF&9p0lLygo(?JkaOJ%ZeSQ=MI3R~)RY>9U2Q{0(f`T%dZ>3uAuPxpU|#4kd5vb&8% zdsT;@xgOQhi)!kXbn;D5%_ms4K|Zen!1DZzoWt3PEmGeS0N0P!LzeLcCVEoly+GIh zUo*^#88H=hga%XbE>&^`#xHGwgI#REkH@xzNJIzk*cFG*?uqQ;;9=Y6!4px}7&HY% zLz3qpvUmn*MWme5N7_R63z#G^5&k-3A&X3IcgikJouW<2<|mj2MR`oU|AFHFGA*D9Kx9^|__&CUMsok$4LN73B;>cJTJLrYq$L@eK5(LSbyyU%JPGQ3-(x=r|87n>VRS5Ggb=={X(27jJezbkccb z63GaqR<$%hanC2Ub(e%x zR0c4ZCHWJ9hmPn19@>+2KR?j#$f+Y@jdVy1U$`CFEm3OhF;)nkw7T6oj!@Z?xF}f? z@2fBsYSEWIeH&}7ic(Q}mRM!#g_1Ovsv1*aG=f$wVWxjF-f#LcvNzmED{+QBuZf6OB05Z$^2RRf)0^kvmMa+mYD; zpxzXptXK7mL%`L5_!BqKFXmh$pvy?ynYm%ZEzwip+8~CKo;rJ@eIC&bdMe&O#F%y3 zL!qh$W2P|0_l@yg1}&8oj3VhSvWo>q)gEqG^}}yX(v)ISgv+!ImeCDDYBjyQVV9HA z?oiNSw(Qz#AWErV5)z*b()~7?UrLnQ5REUAcvmys;F#xO0~CN#q$mWzh{|9SN;0LR zRT&FZmM~37rfD;#wF1*xfoVcvh9z_kOoN;&Ok+SaL(jGAoeL;MGj&X(4Plx;A7L6` zsxYk)n8w8T{P-Y|glWyQ1b!o{`O2;8!v}G6G8mYj|8VJhD;M2nngG;l<~*^ukax z%e7^CVF*b$@EPk}K_gVH`pN@M16jeV89LK;Pw4;X9OJHfCS*f0BHD$lIv6<6Nz^o8 zHN$;GbL|#kCL0eV#k3O&@C_f|KT2n3YX=5)RMM9 zrURulVbYT|C!cvTdq-rQy2d1v3p@C&d9K^u6m4%7gfqDdNPUzQ7bkRX7*~GZ$5jcF z?&nGlekXfc;!5&lS=J<4%8FOHzJ=>$vM9Zk>lv;&*W+9VTn}*_a(#{OzMkt5^p9;^ z=ed3ZSCXC&-p2JZzrT^|%Oq?fJFYZ-sp;Ff#W|weds}k6qObzLI6ldepKF6YzZ#dJNLt|yK5p2zKI8-RL88GvcVwcggo6usrA4^p$WF_Tgg zXBZxOvqgVMi!ZCgvIv850&N~NI7x00iA|(CiV^H$_>giL88~cUk}5~3^Ap6mFouVe zp!1tvu|4w8D?VBSoOX`lutvTqCFrCA)a7X_%TDL2k>Q)07_yq%q#ItF&1VmC{tWfG z@~k*HVf)10BEEs^sR^v1(n8_)#WC&Ga?7jbL*+F4$nkxr#FSAXGr^0`3K<;2iwru#^6$n}JNPv13|3I-`f&h5)-b z@4^>Z|NMRkhPZH|ukw^4bVf|OG8!i2L{OR+Sjtwm-vli~W_aG=8iOWe&8uztvt5i; zWKEa($=+gRsKyvg`*4J`^rN(GD6AuE2TpGpcRno8EB+jQqH4rIJ~*qz`ZRViqJ_kG zj;8C8bUmD|^Aq9>(dS3W&p|i#4j%-<^mjJ8zMk84be({=#t>y|my{)?@VFJL?DUFX zx*n_&kRmZinunwo74% zI!QLPj9w%}Uv29#VY|2PnGDy`RV&h5;kIxDk)z{7RHNWLknrd>44X+^&#fzEEn4u+)UHium{8bLGW1v`6`8(J{ zuM84Q8ss;vn&9M4l_Co4mRtCl96t3_FDa>~&*W@A)Ih;jS42^Kk9O1~iF(=T*-iod z-z@DXt9@2tB`cSK|ADew(d@Y7!;OKt9VL((qmLCEnCKNh{)a5c_4lZ9<#f-)j?hGZ zyy^7aA*ywv6$8_HYgFG-D3(TrEMpFdd}3gwt>QqV50XRStx{Ls%9xQ6Xal5GkWKnl zz;+9|E#%-RF8;x$=#^9i+EA}}@V8~3EHQ5x@U85~RviRJMDC{^}{#5~kZ{w@*ugDk)U{)G)r z0gFc$$PnIuy^c`17iJ4b@`X3)E0ojp)rAcqVveR$q@1Ms7`lWl1Hq^4s?U&>m8pYG zVr9sF1=>PntHrifhTJq0yN;2p`;G?&1j6>B2@u61US=ei;TD+q_cF}p1MFw&h_80S zw*@zC8iS3$@0Is9OC6Y>$hWJNQKQ8yWWrgOLXjVwXKPqa&bY>>U-&J&uhB3*D17oDRgR%66%BIy_8(CQO<3}hirhCDX;K$8E)X#G;2=|LrR2=?%rtey(^@E4MpzGAT8^5UQMLcX! zbaA$`zxW~DobK%Jzn`mULox}lBHh2M|A9F9I@=rn^!y@TpB2|ntu(^BEQQV36wQ}& zryX(~+#^lJb!CLPrO*m$JMGX4p8fjh*;zj`c+}Yho<%5T3_NGrpuFV3U4V#yxDklh zY-AAqysm)gbGnk7n7>5K6+a9(ijydf07!b6+#VMv5Kr5?57rn5!C@_w#o*URNU^$qiBfsa&3K5S!W(mwsG0y;=_& z8S-((DQZd8VCKa{!F6O0O$RkHMQ!=q(-eIU;41osUY_&<15@-Xqi2hLhB%NmD0%#i zQaACqv5mX`-y~}Ef;|*5iW3P`3)CRa78Vot`VB!0nEa3%N4Sggx6P7kB7?03()C#F zw^c(q`1+A1V=Y;<1TOc)O~BY&(SH*D0YR3~@gnMactYoNHCsRkS{bb4bIcTt0NyLL z1Sngv(1t+COjcgdO8iJBCz>kSZ1Z`zZj*l<@>|N2&#F#%^zr03>1Q+f?xC}O)Jxg@ z*jAhjCZ{e8R8D-nNH~89}-c6a`tmQ)`=Ape%RptyWQeK1BQ0ABV?3EPiFYP!R=~LEKp8-OoqFzHrfHr ztNa#-PRDaX!1&$#md4LF^RH*nXB*0MIV^bAf9C#tP(YNr$$96Sx0W{s9C5wAo=VqO z)Ae||9!uAk)AglvJ;YU-AWMcir~YpW><_j+v|DLe80$;u=>i70Ce8gWPMUhDr8Se_ z@Q5mFh^p@?I6X}~n0cm~j` zrq;8h(047*xfbOzG)$f`522R;%{G(MGmgd-1SqZY6K!(X3BzTFcrt#}7Bd!D7x zCjVIfE&hZuFui~E%RkjBWr)Aid5%pgdoCmjQc@}pzr8ky1)y6*#OHh1WArV=DE;>= z&=n41%a8+ldBDY4D(Qbo2?g;E*liv%$K{WA{9(QD z-P6RHj8U+-+*4A7cA9W82GcQf`tB*wt-phAcgEebdhch?g$RQaK*JIgZ#L}$v{^eB zeSlb`hWHA>OZ;p{v|umka%gCoj3RrY$j)L>i>9#z8!NF}?WEPj5BEA+(3l@pBq?FcP%h!7BLtgFo+@u9s&n^o(diJ!+ zX8HtX7BlM#s$c+@VlI=1gt^p;KVLGJT0Y~;YA(UggJlnPMi0O)^&pRLUNE}p>rV=J zu4f+f*%=kh^FV#zFdWtUXjHK)${h+c)5nLo-4jn=;#T0H_)GD1c1X+AT6LreiR@0X z9h~ z&62U?!C1C^bubpua}Mt0LC<7hYW05#ol?1-ef*at{8y03Xz8&LHSbH*{57WhHKvTV zcQa**$*sYbA?2@Hw%o9p{RY{KwAJ$yIuHK7{2ulmB7Vn}1q`dS)Oneu&X8SN{|PS? z6pg-wp8iZ|+Ry3&8z|E#$OwctO48)=H$K}VX>nE%ZPWiu#l`CCk(6gCCsI4Rz&`XM zbqQrjVZYqzIn#;qJEk7#lMhE!v87xsR?_8fQ$4CHXkTUOk@d?rs3J|3Dw6ZYd5^_i zs7Q|9OiqbaRHR!ralk88lFP_#)1?K{Gjl4csrFa~})hDm$Xn^NN zU1oE5H9-8yF%lcz|4(MXT*t*hm#rEoCqf$Pl}Li1QD4Q6amU6p-(Bfcn%LD*#dzSW z_6S)i+ha93q4R=V^z<55ha2ElfE~9jj!jg}EsW}A<)CWr<-ahQN{q37YwWfvR6vxWV;(*%rSbBR!NS z-L@v5NCxQ?Q16`4pS=HnDTEaJkssSlg8g5c2JgXqp6nVr$bXN|A#CaVLj`-V@QinN z_plKi@r8qbqX&&*8y^1Jn;r3HS6m(?zM9@VmLq2#%(m{v#O6-@0`V1&#h>l?A=x43 zT>yv?x`89I!Kq-nM{boXR1H?A+*6)l{K3N_#8f%mgnv@`FLMNEj72siLwao3mdcN6 zB3h;Gu-T+{`#sJqh4GbEWT&(uEs7Po4WFFB{^sn}%9LzZrep_GvigKVBU6%eKgpDI z!z`J}l!UCYwPi}Oc<18qKLMvSC3$Q=fsoY%r|l|?HRX&~Y+i|8#Emk$3Q}gK4G|3# zex!kB08qxMgJu1G*RY}CFi>_?$;YX6YxcRwJ;@uKo3fdk>R>g{(PkGfk(HlFd{j0w zLERoG$J46eb_|p{adE~vnPv*B+I|fRyIWFrxmY zTL_7jF0Km|+x^pXLWTIJz$i9u-C_Z?&a^!riD^%;#vM#sJRQ!l`tmQ~SBl+WFbuOe z_GyPEAN57M)v{0I%@0spz(x@yj_2p8T1xa)GgVstn-a}WwQ-4gRz<=D9R5(G8UXoHn4Fr`yJ5yqo7%fD z+7bj}Mz}odrX}%Pwv;WTs{IK{2sKF6=pjRTA{?C!yG^`L4Wv$xR04STD5Oqt ztU6c+0(j}u4{L~x;?Sob_EhMmcvX8ljQPB$gRf?6b?^|1GZ)^W*N@y^9OjiCs=`Ql zl06A4OcogTbx zat7;wb^88paF!r~VFo5}c<0ACy{4E{41c$H;iKvJscg^$JOmoTlOJlJa6Hstw2CI> z4@~Hx2B3SW(bON5Pa^j}eyjg!SAlH9)&TWXH;|Ln7FI%%Wg)9fnbcCvvjsMn`w3gYzQnQsD7YA-r@EP(3X3`F@zJEAC81LM&OP9I z|99_MhN@s7XA-NPVTZ69v=DV*GEh~$h^=4{AY2gcNq1Tr0C*3Uvhvw~gvn@u9)m7$ z>XgU|G&FrI8ZyPGQY|5_!t5u?$55AWi8&Sa@`uVC3oY#Bj#`Di{1G=;3w!z4NDDNy zHEpz4i>+R?s>a$?O>|4C`^4RaDTyCT-$UqCh+CnmXJTg1Q4BD^W;%s*S|rxQ_X96H z{|d<_R|yaj6k9h7D#z=f*LiQ-K0>IORL}s0A9DW<`T2Pi;;F2FNL4 ztq^*WzOYyQ<4|RxO~rx%^EGhunGhPTO}txrJOPeP2%-7IGPn?$Kd@0DG=JE=ErjNe zre-aKPIyehkdhsjo3oA3YAma2G7kWuX+j9ia?^Wlae@;<1w0pq6LksP;+|$4$ySH~ zq`5VU2fW#4Bw_8*GuzY^wgs)z=G#hbHE=e(j4%I z$}|W3Y3dK^)|zu5Wf@+=j3b4(nJTTUY0rTg>r^$tO|TiPN@@O{P6|s1(7@TD%X;A7+q6AB*`#u@KW2z89$-sB>&$QMT{p*)3+G zl8N5@z0JOO;sX4(jRH)|HsdAI?{ zb@KJz)cR4`Ac8s2lX4j+yP}#CY>O}w5x{sv1T-5&uwHDG$ndLHG3KLv)ErWC95)qy~MJzDc@* zC;~jTt{`!5YnQy?#BdQr@tmgVOhd!?o#5$wq>!V51 z$@H=4;j@}AWyyi*@~ZlQuBcc@Nsr+8Am`wn$&5sTmm2Cbw24GnhZ=n zHbt`KvaUVVL^2u?FnW#bp)E=IeL}%^j8t>Vd9qq6pgr}W5SPe%IwedJrqFK2fG=@3 zp78mm`4O|Luaqqc!TCXXra%mO;H3Q<li}5ntuJ0Or)7#7y`Gr4eYdcugJ|;^Wm+ z^Sz36w-M|=X&ZOU3z52Rok(3;>Wbg9&l)j{qJWh-A?!&6YAbV6GF8}0o`*p*sQk99 z%xq1ODyEGjZGmRfx|vSIYs8zBm5Dcq7F!Goo`se~SDD(Hm6;MIc$SEOBB_bk6nEfU zcvHei^v*Bw&fsl|_53}|A8mmce|qH}+^tkG-yCrdfNS<4JQnTXU=>5_IXWF)L~b^b zI0q7Ymw4L;0B$pu3%;1gy# zuork2$txkT#Rp{m9wzwK>vq?V5W+UqtI3xy*YBd8M z`-E>f7?O%h=Cx39ZL^{5kyjdw(c?R@*{0US1$rVB5c8VV4f~seI$_APs>ZCSxhC4r zga&~P0LO>EYcmInuQQsgVATON;kQ6Jg}#8<7X7dEEvhQ*mO(RsKeeq<@hZdL$8F3E zZ4co=0C*6D)Kd!-Z)nCgR!%F4A++N-ei7GF>_uTYfDUV-pmcl$Fhk1qIr>CQiT3yL zy7578a%}lL?R9+NsinLGkxW|nzIL)OOQbh*ZQ?q^jA_T1mPS1l8a0pQj^%>13ylCi z%;Z@uVcIbbJna+ZwBt1Rc-|UKJ6jd45~0^a{hD@zO^@Msnu*)es@JVK?dur0S%4B- zaf5wPpLR87>UT|?asU(@0xkL@9xBSt>O_Ouw8wYL(q; z?g9gpvq$*K{A&g?W>8iZIFaU9T@nURmT3*&5O;PjH{&A*b)*u>y-W%4rf*1~mDpXa zR^{%s!`Q}x*O+Nko&s|dsW~u2p*1aOgRfS zLg`xJRVa|n;>DOQGN+L7ANkrw*;UzzSibq;o!O=ro8JQso&;T!=S?eC-papAh&)*w zBLseqnb@dwWgF=y_1i2-t|3T@bDw#*|F;I48G!hrBS=X`lok<{iP8wMML-43aufh7%fWaT3j5){6WHjs73pqwaiCzTB#`(}MBz z;OOb|5~~mlU_jEL0dYf##U@OeD@mX4A+?51jU~Y$Q>|l(xW3*TZqiw@^3=E?!0ZS3 zx9K9ipwF!M%;fhRU=q1#hBr}mqW`}jg!NV(Ll(>NL14Q*<7ixTpYxI#E)}KWLgReO zVX+^H;maGa$-~+N)MywIvpu@DfY6rkIX-tQv2L@G6&pntDkMOhXZ#g}bF0P@ByiXnWP=|P2 z4LmP>a8{0BIG6$D{n*Nepv@%rJtsUS!L~8$RMQDeS&8Rp^~P`=0N{p`0&A%<`nW&@ zTzk=mWC0=pkE&i|0G>=1@PNa5Z~muI;S9K=3gN%Y8!MA#tlbpJGK?1E?F?AJ6h4<8 zCHGh7(B|tfJQy^xN2Uk;)sU5vwIPdSLXMo-DpLlJ(^0-cj`jHXK?vtD_4k>!mDXwy zz3~Y(I8(;xYiZH?noJprbI@?FCD>jUY|%yVOoBQ0GG8T_aR3FFv8A>l@tmY*9L(K= z1D#Aqb>cOi-t`7ECs#XXX~Kd4v*9#eFhD=vmy{}K?dAdfy#n*SD}Z@=49q0&G?*m- z1m8O;pW^&G|Q*v$1J*DaF8 zpz>a{3(nnSU%J1{B?Eb`EH57UZb?O@w zN18c@LMmu>1E4?|R;8~dP#mWb>GLEHD|YR-_8!qXFb3PFlJr0}KtXAP;zWRAq5_4g zb49uIeCP`HomldsrZsk0M!w=%Sm^V(t!A5O(3M(T}2RYDZz z)BE$OgHmcto{3qgCa30bAgF6CddG&NB|k`I^a!z&om{vIG16Da~ZVVoHT9} z!f?Hfsz~s#a$TI35jDv??kOweO%izOaiNo$lvnbl#c2|(#c^{BG-E!8(=a#IgO}s* zuvF`7XijWP;0zbx%$>|?YUd_O(UjI~C-rwQb(=G*bxoyK@ysSQ4kdjBgeUk?o)pqp zPb!kHk35Bzmf`4|0mWsQTS2i#8LW(qQQloZaak*ab#DlYXs;smwV?=aLC%jsQOcoC zGGN}WHDwOzZl{B}Kw!xPsE0({0%yBW4JSZ*PUvO=zSlS_@>6yhxK)yw1 zP(!1E`oN1Bg+Jm*;SCaQItoNqbt^uot9UfE5Y9WtHtw>T%j(R52#L4;J1zM>r+JVb zH7)02sFOLT8AMAQg^NTNrf;MOE9D3BjnXbQO6gKALa*uPszko34H2uCYTt3dbL_ge zk2j2t<))(HT?|k~sqW^6=gNlX)bQMR!>U9LPuCir0$RzVjOQk8pT|ODTfeqc1Us4) zADa`{5$HJ2*o|Q4)*d%MyW}|MN(Vu7a1=npO zgJOGSW}r6G9B;QW#;KdfC@>hf5$afu(W%Mx8HWo~xmHC;1EIG(du-IuzUtwgvY|)s zuAx0uLyuNKFlcrIP< zY-#t{0n@O!66Lf)5%z-!O4I`umQ|u2`;&rPERJqZSGRh3l9df{2Q3!j5!w`- zi6$+{u;gIKm;t10>mSeh(${sOo8vdi0#^(A_vY8tw)-I3>#m+_DgB-CV%@ydBi zr28gnHicIjz0{icXJIj9olYa(AYL_DT$yCaL|1HC+pxsmkcVHq>2O!41mI-hv;ZuL zVhQv1UalwkeILETaopGPsb=fd@SIm>)>^K!M@E=kIp}KY2?AJr~37A5pE{Nh&9|)}B83^A;L$INwslMK_qhg?~m8PV!3V4j@3ZywO;`P~t#*no+3rXjUVoPa>1MqnVA zVoW@ru4mJAk!a)5KYer&rv%15fXMNVh$2+`0S2zuLpKFU?0UlieFoIH&`lGZaxuys_m$1tLLUY=GuP9wSAqk(`Lm_#ILtRZ9f*j z-dfcr&T`rmGFhCM++X|~b@u3_(yFRGox?s805}b;0D^Qrx$e?YQoA@tD1rHWQ2HsappJP2_wT^C>DR?oyBi| zZ`OY|gV5u2*gTH~bj5P6Fc~&PWS)o@pCz!Bild#gRR8yyWPpCzyTU9Bn3S`q_`>o` zj+ELA`(QYjXvk&FFu_kSSR?^ynKa9@IGeho!{)O@G}msYLa;2M40nMttQ;nk`S)50 z43r^Lq1f||#vhEHEyXiw?icY9o|qtS$Gx~P(f=j<&S)N3av%#n!(*+$-ZQiXhgFI7 zg|I`fx3EJmQc;~LwCF3KC|$X#3x6V63_{1Vtc0eDt}vRii?b1N79%uO1!CDY3D^i9a!P}q@8a2=z>lqDC27#d>8J)x z#&Z!G+K8?%cW*Ih71f{@VvM6ftFEy@FL==B7BuL?<)FzHPz{)+s@$ra#Q zrwbjFj#9+VF);_j{PoVL`S}t$On0XQI!P5)Y=0FgUh#%&Y#T^WSNcq&pZHSIfJ1yI z+TApp=Fu*SGYb#*{~EGWEKu`DYf|E-kc)!->z;}ENu`zd&+tn^P;()NWCBy+a{x4v2P*wV zw!?`OE@@jF>D8sP<}4xog6CnW1IgfjY2eIZ*}08!1GrA0Z*E8D9l{)ZKvX&ls+U5a zVN&*}d-Y;(3yDwn96PM&3vX~jRfca5H!7UDiTj#UE^#*Tp)}F%KAhwlkTw^9LCufq zCArL`e9cJt+8D|gy|~mFBx@np9z{*2L!P1!GAVT7 zUFwU|QYo){IDi>D)#)u;Fup^~C@h;E?nVbYPJdAG9I||R)C8}>EQwuI3ADWjc*$_d zKauwyP^+3P-)FsIj_u%V1D8H2_YIg2^=N94$#Ukf<3dIjlc+IjPP%l$Oo>U9;8EDm zH2(}1@@NmUcM~oG@U5wO#Kb+!%xcBJ%1Ai^e8no}t_w|iDy2vhp3)PlrbOQLuAca^ z9sVi0rGu_|D7p;Td!K--6y5S3V5w_NrgWeffCtAT{o+qK69a4^CYwG37}Pi}0nX4% z=mA*47qp~0-JGt>7Iif8ESliC>ZT;Y)9w`0!$6qBYGn2_#>hl9)ySxa*;55~Hz-8> zXi(ye%g19F3!w6R1G+mO6yuCRQ9BA`fGNw@Kdw707G2P4F;>IOV09LvLK|7?2nu(n z?6aC&S>__d)s1^zCgXl4jC&Ru+>s4bffLfF-aron(m%_#MR|XhQiD$xFa12epd)OM z|JPgjrKL@R$)%e)b<7DBagKDYM@I6Pg|aZwmMWZzYGEdd5=N7Xo-B)Mon}<@Y*qA3 zRdlf|x)?skjVy&Faxe}9yLKqZRotZTR~^OwE^=v1&|9s1n)W3 zCEDn(jGisVvjjaEFugxt1Lo-R**XS%Z^wW+ynJGO0>-Tjm=j1>EJtSG_cQ~CH3P-D z%78hG&GM=L(hLKJ$H{=}WibF26MCQ%p9q=uxoFV*`c*My$YaiU~M( z10z`1>sYPNx~ISlm?9I;=#y(xxqSOX}~OTF35XaH``T& z;Sw=aVO>gzR!d#_D%^1;17??kLaq6W zsURah%i3$u-MLlTUtvvUWI(xwssrcBdTY8o+J|-dZc*y;66_jEco%P>%U9rZf&NDQ23-n{AGpbmVbg)#Bv3R`#M7cg5_{(@Sqv zyJGf7eb|e^b0Md}7G4cx!JJ#|Q)Xd1l~`H3OU? z470ybG5hoI_don6tzh;%PRyRix6ACWurZg4qn#^MzXG$r(z<(QkKT5(w~C~cYfFz6 zm^~q~31$AIRiVr^@6rKfeqe+$^9f}*izW0G9Ii+qmL-A>XTbw6wMHy>iK(!E0R5#^ z@<0+_uE>Me@@JfHRXp%QS#NQo))_W_yEF3dq|Urn>&#;L5$aFXnNxS!nUkZ=oJ#eU z65(*GCJ~O+I%s0FR#*pwIsrkQ3qZw>#a!yY@M%m?@rBQ@+Nt9YBhd!cy(Y+ zBd?A;5tt~PyM{we{@ok8#=Oqx{I}ja#fJEhH6#N+FYeVu*g}G`;}^GJX?Sa`q#X9LqJ7jajp|)}X+AY~SxfVG0n8qK$7WUSvsJ+XRM z)uXk$c~~U^INOg;ftw`){oY?(swDBny4l6!B#C(}N!%Q*8^!+TaA%Fyjp*S;@-tQK zT%>v=ackMS(Zy`&9G}b0u7+0zo8e;xgrrC*%`O2HVrtJ$<&B#q@qFucE5u3>R9#s% zJFUt<3f73SN)j&xZtQ6M$>`a&cqX&!Bugl#rBE(r0wuvHm|v(;;x898Jvb@P={>3FvDU~nrfA)N-c zHi6CoP2rkShEjzSr#gJnPl>vfU4zX``*>{~%hD8{3-4`#873Z}NUI@Nnd2{mUa0j9 z^K5#_CmjB-&9}t@!&lz5(dbX{SfeLamYBdTjGW8dEe1|O5By||b2M<(G&b;)9(b(f z94!a_YHi?Danrz$zu|!&F9)t2A!!wd=qAhgX0rTfm}wSTF}b#~Wl{00tv_9@;pm6K zO$j-91DL8)(&1#Rj0i15D!-u`lSEc+VevI<{d0J>f`(S;A4iN(RCovriUVt)6S?<9 z&+2Ouo}A1yZ1tDCS%?I}6hQe_atluYpX#~o`#pj3(DC>Ek{_KX?FuM$ot9QS2z`N>b&64g}Xw z5&EGL-yI^?D7gxKFXtA1mXsRH;X7q3z&ts2fMrb#!ynz6n5K{kVoCz~bou7BV5fIA z#M4RDpyt;q@;l#kOd|8DQ%4mx5`OYSx^q7E`O^74KjtSVBsfYwUlu%={PgT(sQJ^M zEz3PqmU}vtTN*1zxNy|>WLfS*sT@JYwfgpzzO9;g-DQx@A*7TcMMrSnr` zzzPKP5`uyTJ={pXq)i*O+F0F;ViIw+EcKHrqm+>UuG^eYMzbS`>kd(yo&S%$cMrDf zy6^kW-sf>2=iG~p2gxe}ZudQN{{R&*qNglLtMUYULQ&A0)36!M$mw7vnhr}q9Z(`w zPRcQFY>o}b7@Kz3nr`U`lI4&i(+OMC5ff7mT%$4N(kKI{2gzxVpB-|~45UH*Ab^XiYYFI)Y5(R^j4xwauC zQT5|odhcy2gdiFc0tthb!~iA9R)}>^wTDM~{{=$w;B?_e0`p$!iLH`aQ7M~-%G|`c zgy!`xC@}>y|6%VqkZ~Pib?30ahpPWn*>ZYpE4m(c%;Cx;nwN6n+PBq?-b$*Jp%=a{>?wu~P`AObY3`&B&HXrzmvD5R|WSpXp zhhxq)+Tr)}N^_@%xFK=(xNK1voKIe{2g(vP^es*<$H4PkwKc)mHl6l}+%vk6T5yVK z!tVs94PNofVIGvdGdFdl_sRJE2yp!TSDB<)Aw zv=lz5eRlpFqM(y)(HrZ`399C~zoWLnN!nJ4sl?FWzA0&BBwsDbtWz1Cns04x0*>G! zfgO}4ycFT&UOYi}@(g(V!^e~e$T5Ualdrt7HE zE|g>g8X&%H^k{t6Y8%MMPpOFJpNjGA+O8 zXvgKBhlOiuen`LOEBwJGrlJ`j={gj{_|Fqc3qsSvk?Y?qx4;T@FheFA8 z9}{W?_bu^;-&>hYdu||AcQjb!X~uQxFfV|`j``i_eB4z*=9EH&#|d4G8XXqtW55AM zWT4-a-*IdC8Xq-CuDg?Vc##4cI&)T)yKn8k>9U+7LHm#b(U}+DWQFuNXUj(!bLSkP z@9pi!cV0u~|m$Xely^E!E z1;E5j*0Xj$HS6u}=uC6WeZ>VwZ>_6)Qvn%j#yU>9-QMZU2hZip;*ajgf(lx?^Ym7`wA z^hxXr^kWwQ2n1@tjiv9UB=jVzRAj_`dUp#_PuEl^UF;ZUz;sCK73&f)HT_wj4nHOz z#NY$uP%D+h)sl$}TPUI8SB1g^0xy{E`Lg=&gg+*j^BscWz*%$KR(knJpyKTe<1%yt zVrDwIosZDTF+DnTLOZ*nlVhY)VjKwIL?JhAqmcK_D1@t0cc74CGYYwVMj?472@)JC zadOpf8j0LKBavgy2uVsOpcWDu_gHF%H;UwasHXi+Pvh>xQ6nKYY|j3KKagkbtUoNt zd8MEBFll9}V^UJq`pw~!R*V(9<)A>0+e7U&>9O=shDFv4{-`?|>fVh#T(8YDFXedm zr(gQk=BxiY?I7|x{Fan%|1}gbfC!IQAl+f|ufi+mV|qx>sWJ=+XIsz3bfeNN1W4o6 zFMXK1STGfTaS0vO5d%-JW?xZ8rcUs0DhJ?gDp|}-Ku0jV^wr6qbZOv zeA9H7m@YRXwJk|pIZ9w_Q!$qWP3~Pl8yD30q-I7s0wlkyfCWAe@A!5MPN+aa&Ir_rA0pEJ5qZd*z%Z%q+ zy%1mWj*>`wFV+i%5+tJ8suw;#(+gjiwfjt`J3!{{G|9MkkMZEaee2z+g;om%GH!NJ z9H#o&!ic1gLZtOQfHHo`cEV=KLGF1hAb*r0_9#tV+BoQ70R@c(kNMeAd(_gdu;8(T z1)DQ0*xVTl&UCQg%sdu6+G4?DEf#nL9W2mLzu8zo7B$HhAVZYv92V%U9h+|x2>^_d zfNb?##-K=G!-o$4k zmVmQ4vxEzrP1=Dayhi>a$jbwi1G>W!-oSO3~c|tO=JKtU1UH^;7V&aetOi>0@Vb}ki8|=pl_KqoGWzZdd`3F3J?=Bed)5; zz&Y$JASh^TVE15NK&Yi%VZ+M_8_vzJ;atWBsr)km@j?e1UXT-z-!v=n`4$^qZn425 z=wO3}`p#j)h~=|@u%P!TyE(_f&I0144mJR?Shuc#c;OQ0aM|tzrdB`z88_>>PRr^| z@rr+mc2RHhA)PIhC~gh`o&!jhrk6#4j%;{_3Q`fD^|Qkc)Y7gH;Ms%#XJ-g-c4q{5 zs)GPe%_G1wEdo5-B7jHGK>!W4g8*N)WpmXU!ev(kl-wBsp6MU}AnPDNu!E=G_WA>u zSpQh>t_x(7doSww^?n?fXuTi3?0TakY`Ztv9ysj_m)k*fmG*04CO(aB5DJ9g|}p z^n0VDgqQ_{x8%wm(P3t6zRA|n_j8PG2ao7zMTQBt>m~P{gpIBFfs9_8%d+R0s2qf) z?j94*NE~%gqS|ZbIAEte5#wcO!#ut7x4{Q*>BXHDg?4as94Lyd3Qk5FA_QgfW7ghVTmQ%4 zmF=&T;kb^gl-h+RNTJQ~2eGAa-8#c4HzxPn%r?(_u_*V&zQsAhe0052Pt1gjIC|9a zSSyd>QP^R_kj15&jp^{iLOIQut;Gd>kpdGNhxmN4#@PUiuW}*VBXO$vy`TGc;6B=b zCJ=*|f*)lQP{?vb-?ZifIi-{lW|fbapZYi{kAjlEqU0>02pT0JF9T^3r{jAcgUR17 z!t(gNe}ShiV!)tu`7;EG_}V(9%QldHXhS=syb9K{3UYvl$w|lDMB3t8}b$4 z6Q(nQL>LIi!f_?BbJq{TSO~%xWx^OKE4*=G)Dp%*5C$~lO)5=6yI6=|GT)@@ry&Sx zg>wvKf*y!3;)QGlx%*=f<1I%-!4I;H=OdzA@0We=T=qK9R6LReQ8(Mv?GaJ-X=$1g z^(d~Zb4_k{(g<)RYC~-SKc2Hau_;We4BkgXqX$o#3o^9EF#&J=;y2MZHsbO)#M-zK z$%h{E5mB0;D=C6vTmcnr2{Tss0I?6M?5#YoBf1EUO<(~w+GJmhBck1z`G{!DOpecX zW{ibRBX@UIlM*twlakK1bv}l%0IEp=y0<(PGskO`1-Z8|f z?0cr9Rd~{@^bi~OLT%wnU%%k5BBgKI9R>^dQAebC9B^9xj7>&qe)mb+W#GgX@B~|A zY^N@$jwk?6j0wH)-S9ht7!mmBjk#WsQ^dJC4 zZXhbW%7t{Qc!90;!ToHmtp@vu=A<+P0}0`(7Uvj9D_KXn8iy2H3Jf=9%>*obWR1OF z!UDuOIP@lJ(M>y$l9L1zCZpJ4z9Fy~%V~=h8MB5S{BR3PVOTq|lzwI@_VvcvT#2Q~ zDJ+(fZoqWSomdKNW>mO@2(&}5Nub1WtN*fZ+0vZDKIwvr%C?7&hipf1HyQrn58 zXi%4ADVmv3s-4+(mh#png*=>1>XIx)-ELuI+}UfG(WnmSREFHKZY? zVzd@lS&}|+0Qwpc)Z0u_R8J%`kdKNYzcNBmHwDx>13=JQ=k86XNho<={2MVDwG|7s~llx znmH;F2DDWk`tfyc9HS?|jQ=801!P8ziPLvV=A>LfDx8kmx*{}#r7KaZ+hb^xd<#x= zk!q*qU}r;O+sh%%lk^Cx2)f{-W)IOLdLfPIyc#6q;yH~7HWkd52hmc(i`i%h*YRl3 zH(ZJ5^D&w+qoKWVs;@?<-HygeM2v=QE`kA7aa>>XgzsTxAyDIjsT(2D;yz}SLTBT} zR;HdM0X)(hNY^;=IB4li-tcb;hDt#~mi?^;SovNcF(he#)2C%1LjDK}E8JqB93Z2k?nFK>ja1GV2CKF|li`;cMCl;7*f!LPn#WXtty= zNp!a&E(fq78#6qzwJY(*0TmHlUC-})2bxt)^QGu#jou8-QjKy7j0DCs$|JGW6;?xR z6(T;QkI=9>*q})cbf{6MrQr+LXfSX^1q^}J`XbC_MAjf$!%7eHN|reh*XCWD0wo#| zg&Du#3(hFAO>$d&2-X}^_Ry3K1`3R{`cpJIF&+be+@qvR7Pjr7G14<*!ZKj%=&s|c z07IbgT_5SfkIL1Aa9l@5oo}NIGK8^0ULFq=wg#{A5FHG^5kV1x6F>kL#do+sRGh;B z63cb88iQeFVlcK(Y@DeoajpzzgHBaHY9o|DYz;;MiCkkyo`0;C7>qn7eXPX2j!J96 zDUyXO$vP8YJzQ@3Ds_p5O;jMo67-~W8nzmvtcg-duRWmf?KFp+mO6e~>;8mtnXfIB zy&76^P)jS@;HCCH1r4{ap=!TI+JFp79wT`=o-8R=E9nC~4iJ^fqe}X-1lykXv+}gY zRBZZtDxidvR9-V<$WMAHh{TYzsJuQMuW4(|sODd|ZC4t!D*&PkMN}};cr{+b5?)QO zYnA3&5CN2SHhfu0PfTM&-w|`oL%?$jBk$<+*1&`DCchT?eKOz6dFD;CX1rYPU@wKb zK2ub`mvnw#XUMBp$;!;ar%1vPVT#gO(M?%KP9k;J3YP-vuI#6nvsDCu#_aO?z_I#N z1ghrswE9p+4kPeeLk`<>xx>v81og!;_Oz%6QV;92D0t%q9|*Z&1&soNFV_8hlCBFC%s}&C_)Aexgy( zLKIvhWrWs+1;`t%6`eoSJnrxynscE1DY5(@QT@Ukv@QNwjjb17LY|&3^s~ zL_HvEAI*c(2dm%cgWUS4b&Y7sQS-e&yHNcISYr#3QIYX58Z>W`6B1gezJLos<9q;FDnzaO^8D~(lLVxCK4|#M&#-|y#6t?YG6-V1S#)wi zCs*%KbMoPX(z;F{u2HfLoP9 zFtS3RerGJFHZOm0wuGAr*Z>AcdAqV_XRjZD*)d!SuW;PZ0Ah?uB$ovo^skG=EZHPe7_IVK>N^<3MM8F&?8J$gJ)Nd$UWyf8 z7PxMqg>L4>-&m*ukVW{aIe!Nh7*N$+*1|Yka17=J6S_Tk*wN;<|2f*5&cGoUzM&|< za*A_7`xjxouyNQs@8BY+spfu0j|0A(phOGND%XoXs`Df+4_P!SoEn+)tiT2AS%E`_ zdzc5CsbXUAvLw5t^(NT`R$3~cWXty_-l6tfTYsqQN+Gr2ipiFi)RIGmB5P8vHJcY= zHsKoqi zRM_K#0{8}_EOj;z+SNfm7Z`~V_Z7a|lsac7wPzSNxnrKGm}<&vs4XHFL=B<1%})^* zIpdH)u=gy3P`RLOB#=4SCi8fj&s>uQUY*ue&paQ7$Yh)bs#!S~Q%Mqtx2ymTqg4`{ z0)W*lg0!L0il9A71g%O0xe9d7psiQnn7N*b4jGA3W=r;PQLisq8>zT;Q~E&e476G^ zv;mc}rBx zxi)^Y5Z??}QK$QN##Mv^**FfAE)>&hyQ@f%I4BH|r_klHuA)^?x^)#P#jjmND{>KS zgS`FbT|W`XCBI3ao^cr*-Xp3;jW!k@TiIt6yjAzPAu~tv_-n`lCkoU)vNqbi){8o>3LwZ(Xpk3Rr8a_@*F~ah%~9b4+EMTAQO>tm(=TgVMQ2bwQ|<5ZPLTpNdB^qE(*<~NUqwE@%-(UpzMw$>xlAcxF3<(54Qg!iX%GH6!i=-FE+|>N!*QDxl zQuNQAs*B+Gv!&{m*aOI{iLx?4JiY@#jso9;plc3T=&R6CO)|UGQMsX5j*#W7qoPvG zbkx*3S$Adc$X-eC@Q(aj9rb+Iaov|1@~1~f@Cm<+P4UjMTi2$|0jG>ZmsJfb>k^^G>34RBa-n57m6+q0LWv zNIELotTqg_`58K@j81KSqJv3CT{XQY9hH$!@}r&grOVk4ZR1(b&{5eZkd8VI9hLUpvW^Nj5fFLoprf+c-0GZnsTawH+76}&|ib#hr1HM9_IT>P7-qT;JZwUn>5mc}Ws4$2}M$@M54 zu--{|NhTi~MGo^;tiy|VuOL19HhYBs(52tOP8t(>= zLtFQcv>|;3ADn7O-OKynG;RXP6sE8#pCEIX>NYGN@wPTF9sA@z$~v2f@0TXOZa0|j z+SV>9^E8wuxcM;?2rC6LyzJK#KIpdrCOE$wnC>~YqP?g+I*YETyS00&KQ4Hs`e^E^ zO&p{_mumC)5CvS@do6>hTg~rjf}Gxe%&|f_IXrF^)&UOPbKmrQ*nn^S>+RHvU~mPW zj+>idthSWc&|GlD2LZwIk1~_sGyUK*bS6H-ZxvPx50V~ACXk!lm#S(j7cV8vQSOi? zE_TfuG%c|!58Q22(eW&@$*HZt72J)oi0om&hidMsZZWVJ#t|AgTzecxU|C^ZfiyCm zgqjNs1LwWitoOr&pG+U#buaJvs2u~^Y>M%FdjxE_1+L1J9d}OzIGja5cGi67)y8}x z)&=fZv110j>2{Q1nSu-!((AcJ&~KepD6StjTv>pDnwH#v24tEsw-yU>u?PWZass!2 zc66lxtuP?UrQ&OPBM+{HV*={+yyW{D^PL0fI|;!s&$qZot!_x#``#ll0Mf7qA9$yH z74=AVy?NyU#6QD$vEWK0R>T{cI$a_?{ydvM`*@zyCJ;|;2CcG;tAM)Siw9Q&>su8M zd1gsSQYn@%KBka7>}749f^YK6BghY^w|y#n$oHWs)#?OXMeUem*O<|>w1I9zoKS8y zlKcYZXtv=1q6cC#`aymM8E{Q-ZS*fvCg4$Pzr);HSel&Z3P7W3YlF<2OQC{2N=Y6kH)5A+XdOiSl9x9V|tKs7l7A z9e(`Q8kO&Y9@cwF#V8fI&?vxDfGIrXAv_({jB3A{syF~Sl;YN}`EES5chrOc(+o;y zZ6DCUTOZH^K{rGM%UR3M4^FEshi4SCHXY_jcON*}O{6=6qbE5t(|(3)!bjCV{6!l) zad?Kw$59v@y0ESI43Z1Pm~uWm6MQP|?P@Mo8DkvjJjdMO8TzIxdzBag{(ovnMWamu zrqbaVrmQZ?xnO!qYSTx9xD&Wv`_;hC$O6xQKvQliHGmcu}dJAsaYQCgj+ zNin(Zq~=cqCAcvu=IJgZwJ=%p;hCy?c!m&7Gy^-#V)G~>-8aQ_Ckj@TJWZiVk3!O7 zvS&ov4C=Hsl!U~}jSbrBj7Au~48R3>5;t!EBSjvij*&i49>oHl%<+DLhZS_BWk?bY zsuERbsl9JXBl0rvd(dw20dJ`Zx4>;^HlojFR7>zJkcrn2>-)L2R@B-#obo3_`GY@w zl+V42eQ~{(?gy;WpDVhLgRY7UU5Mj=J~a2IobDl=E7Cn2Z?bu+YBvAyTPVt@WBY#J=+L-(-bFq#pIUlQIgoIFkgCY*6vQxJaodQcdlfW_<-_ zE-8ySlXUJ_-ws#Wr)_!9<=M8_h%;F)YQiF0xTWVCV^A zbEFl_5uuqXaJGkm4;h8Hr7P<%kOoNT+VTJ?1{fodQVf#up|ZPZgtB-PIFB@nt>?=w z-M!pTjG}J4rv-J4$Ckh6FV{WZp&o)k=gSUAolo(EosgknIx@y#EG>=#hCzyLAwxsv zmWz5LBA+h9BSlTNWA@^3+#WLIkY+{s=A&hxkgPvLFEAGPZ3!7#HKJKAA%G;8;2D4x zxrAk{)4eHVXhD`XAYQ8J{R$yN?h|0yswdVWx%t@Gv72u`WQZQzmqLd2^1HWV=nHrf z;qC1h-Q|!%hHwVR%EkdI3EES{kRmT6fJ4$zQsl`(fGBoL_9Vm?Iigg`57CJiVz=G` zo@2EtGKujr!4uQHA|e2yc%l9EUU1V#=&`~CAVvJ{HE!-#MfR~&d%vp*GnYunwinFY z3uZ2XnK%qR9;EOZ>2*Cs96EAt`lS9LwP%e$PV2ogMh;E)i@f&M(dscW;@~mPgJHUy z=hv)Nb-{z#pi?S>x~jd@#%wB3K8KE`Q*m^i&MJ@0a6*ips*p!gcZ^c z*LO4vvpr4Ux@eC>LJ$`sPY@~} za#CAvLw_!J)a4vp$-T=dALoT;hK?alzB zPpePF1!}nb)1tR^7#W#gG&^*1UiN8&Hyj)Jgp`Bk_`Pv3gt#+t5GfSRLk;-a{JZy_ z_+0bQXYVzoc!WrLkMIFORrG1GL*o2lA5k4+mJ~P&gcn%C*lN)ZjE?n3G=5qAkWL5U z#fPOSX2VtjOWus^N-aK&pD~X9l$dd!ibn92dN+AD<`W^m*;->a2DT%dS_B1sb_xy! zX_+u^$F|nmcJrwjH5^1eXkDH8$j!^x03s9Vf6j^gi+fv;vEOswX97~Yv$}R1<#Hb7 zvPS8gP&(bwj&i%z1=tr?7kYjDuZO__kS&IUK4~*g2AD;|rUQz>N>c9rgFTjs4@xFl zQ{&xN_Glwe`zB~uP}5}S{|}tpTvwLpKRWDtjj5K88R~dpl~DjB#B+FJI_^LTq^ifC zYl?e;Uq*@H??e7pa1lL~XTmv6x!$zRIa9i9meu=&E{f=+*iu zqC(P&Sa;%xK(iD_v~+@_oJcAO935Vniz8AE#DZ>AM_o(%`*Kz0{e7!m^0VsL(<)L? zg1Cmv^nz~`OvkOzO{^1w<2mSE3O%aO6^>i!d|3)8l6K-&r9J7$1dV#op{80z0T#fZ z6$KY(K9Q?lV&#$c5?c*Od898(F6=EyY0-JBusrO{ouT3^ySGvWST=wS;-0f(uyc|j z9Yx4GGiF?d$(G}b=N!avYEaHsJZYQLHD(G1FGr`Jl?{Opu4Q={y@2 z(}+{{o7wxZzGEfMTB2NYAm53!)znqu;-{Sx33xQIJHcokOdB-H*n%i_WIRYm*oBFP z)=?Bf<>SXlQxHGR1w7A*p9d5wVi)6s;vamDGuj$&`nprpFM3;hwi#Ootz)}<*2GN8 zI2$kxvV4xClWHJVC2V4M)*~(96H?sHmE=sUdwa&dK<+|O40M6qO&A)y9s>2E`u%IP z=Xc0=2=SqwvJ_KELm1FFE5~mD@Zp zMQxcX`4nvyvU6DVLvFL!(q@9Tx+|oR&${cWk=$LiE(=B7VM_@hLjsmJdgGS|#iC|- z6gIZelar)8s+H(P;J7t7g^)82K6{_hJLzThm+(V$_zoPYUjC@P5;Z!r*g09*`u9!8 z_aNWyYUznFNP1f1l{UD>Lw|&Ln+0k&>Nh z8p8QSPg3=TQnql91WNG^`3Pv-(OTOP*Fx*1#O76X#0kOF5mtkSF$pbZS0IwdWh_b0 zsX6f9+B9cpq-)_=1N5P4`7YE_d3T8$0D(T~-`o$B5g{iEjW!+U7N1I5w-llegdMVhw*6?T6C`ORU^_NFv+yB{7DV=hE7 zLV>-5sm-UJQtqvNdddLaMo?_^{W`&Ek( zOYwfeN*1m>?2JdBYUg0)9v%51eUNlOI#))IQZE8qCO1YNfY4M){MQ^uR4?AKQfk#? zM#w7Rk<;h^;xs-FObLhP#^>K-e30iz17mZf9hg4Rw@1|1GT~y=178k%!YAl!aDowv z5f#XuK1&fa(~HDKTAuZy#>UrPyeGpWSP3J&!`r9i);(bsBmOq2eyqf5K(RmJ)bHp zVUei1)@mP5?r`PWD(-g0TwLb)67To$+~j#3&sX^!@1bI@ka*3rye8Rk^E%IKc%D%b z8!4ZTNX26}XkMd+F1)f=;#55Dj>mCE0}X~-5}oU*0`g#3kMsGgkB{=}iDvTY^$87l z-0&c#GifHonmgUbnQ|RtE~fQ*0SBPi8`v;vbRcSd(hX@R0>KnI4j)kN$f?n+pY-;? z!i~KFL|x;(;hI3*80c6u2hgFw)8yB6>>1A5=bF!l>T9Zh1eNOje3uV3z2WXVIyFxH z&`zfpeA`?oct0GM*~>8`E{GryH(_@}-|*$YGmvNn6Cd%BG?I43*$rW>5<$Wo?^qd# z$&vwwFFp^xf&+rzCR47={TMwg9mC-FAvlGit}E{hK*K>WsNaS4QgC^Wmy^FZh^o&Q z48`z}tWI6arQ9w8n-wl0Ewfz&LW3B_TUmsm7lHoK4!w)O-}5vnbikM{?vr?{st?98 z%y)V<%Ro=t`q31(uYnx{k*BF$15igO>8Lde0Wv$_gwYz{7?QuW?rROmhQgVAt$`#{ zUV~Ar0g_HT2?lrd;Ptq1@;?pjNPzXG4piSRYQInI-UebTji1~Jg6V?q?S}QK(Bz*8yTR(0H~8_I>K6rYzFjLdd?iVTnN-f z@E;n1;ArZPw!tNjiCKn`n(sjyG1NX5Lnt&_Q#*mhUzBxf{)##4=fpCKaoMxUCkLW) z{VY4CZJW|_S})?GXcQ2P6nTc6Ew|GU083<(6$f(ISS(?tML`V9d<`9q2Oe#7BiI@| zw12;uhTh6?WL6dzQ)5u(@tWIES4t>~r1er;!OF22EcR1@g?EF6tckW7X$w#H{ik5Z zP6B{vPI-JP;<^bV(Vp?D$E}kA{Df#aT%OdpMI-9iy+-8ejv;MspNbTl@+?~;}cBNH)7ny2VZq@r|+|k4pRnZ$6sPq2(K85D6fMkx7H0Dj_QHK zCg)CFD<+t;v+Hq+Rla|P-TSTM9SX{@-Ybt6 z?Jhx7iT+Mw~sbs3_W+$q7GDbV4{yd4L9Hjk0EC?L?~>-2*JRZ5GBGp zWNM5>=DJSpjIjAD9L**AGMLrA`oU5oqXC7g^O!JiGMu_vb12Sz;Ia{^;#8tQtv|l$ z1RJ4H021<=0@1^FCwpc1QHXF^dp^P>2VZCk!v$MOU0wC`g479#oz2|~ zM|SJ6Wnw=6ot<=E7a`^dc2K|#5qC20^9)3DWmwQaResI|KU>5ZAC zw!ivSf&=tRx5bu!xSg&&+-+p58J3|e)wXChve^Y!wh~ZpQvm^*WInOvA@gtMgJu3r zNtTmjM6!IBi?LUGu^gn*gBUG6dV~;lSLUb0O;{Jgnp=gPlQ3D2m#_x6t;e5^*YDUm zk~%P!QGi*M6~Os@ZGxa83opZ=B4dkNop`UTqzW@by5RtrhSC2nlKj{2B1Qj{Ps8#k zqhsmjtZZUG$>lCC7>*R838hcI>j{}dU5H zRJTPhd=7JAu19nE)G4rq98%ZrcyMFyVH!w%BIS4JH57NC&y6nPFyq9WOh!6moKeeG zNh|Q}7?%0I6z03?COM^mQRD`D3pu>kJ^^t=A!k+@q|->`D&zoPz^pcUgliLzwIW3q zC_kPwy0d^v^#=1^tnDDTQ=y&tbbLx7cTl4NARW{WzueTte36~YcWf~y6Y+d)|qp@qp;=}X_sJew>Z36I2hdGFwb;nUg8#UXWk&) znP;LU>nC^tk&-9l&*sBs*hF|$v#K8ZOOvvq==5b+E^Kr13*z`=dm+2WJ9^J1Pp zkq&o;};4D=LJWqb*m#K6c^45?g`L+kG#-%8WyzH zpz-=c_W}@Ng9p~Acu*g4wg9feA1MTWfy^7|;wmtlsW8@g2~AUUNOmBh6?i@plZ-$Q z4V9}FeYFu}k<8-ez=>#;+T6#*kgMN?8i#Nyu1V8x?RFc`@PrW(%J$~W%pP>Okb1rp zQ)QqNO>I)6lM8y*r`WK7dou@|ipDz?(IQbnw8sgAvid6gK|H?4?7g!uy7xwG+LZgJ zMKRPCKPE|uNmB5$WLEPATOo9+KG=t_M)W4uZP!L2+-9crYe}_zT5+$UPr`1k%Himl zc>|Spt9B~et6zPMSuorKs$c zrE(?qjEKy@&T5dtVsqVpHDJ?~Y^$T;uve7*fuxo;F|EhPe0x)6i3Xs>j81NJagg(3bS$KjKG_xbq`iftG0ZCU2$Vv$3CHxIPe=Vd&<{ z_K9KP$_V7eV0~H5fa*HpuNMS0Fmjw$F(+Pc09z1pL$`wN;z)5fc?*m2CTY$+-P)$o@sm2hX6k2lHND#GB()-xT z5Uo!oTX4d*0-W(%y+pVNqSw1{{Tq9V??yc)dL(8COtH7E1dP&6y`!vk5S#Hk&}V2J zqgLw(s5t7p3)_(CUD(3gTG%c^hsg9DOq}qWW@xr4vmE;XS_PR%Jz$zwr|ls6)blER z;Bi;D2B-s7fv38NgSg2^WUY5~afcL)k)x>UK5Q$%qFb-5jB#mJS2vPZz@}RilTXCO z5V&0(Vx%(Xmx`4Xb>^5XsMo~9<3v+@Zpv{TSQ~ihd*f=s4%ZLJsZf61(`R1DTQb$d zVLm1VqI;OV^j6p#k7~MT0<9OV>4`x7o{K_f?}4OMTK}@f6{4bXVHIx?-#D3+n$&b^ zW@kEr*fxat8}S>=4r-y2T-qQO^=|AP`k=EBL7M$_m{%Zr;0v5sD~Q^n6#Zg=;a;T- z$9DZ9hRD_kL#HUeq^kxA8M6+cA@bJB3aq3bxNl7K^+=3-L+AYR5T)pjtm2xBXcv0o z5thUG9O@Ubwi9oWd$ zEeo>|cpm@>r0*v-LI$o6!4yThL{NbbpGo)tj}x3a_#j~`;ja$i9>NDPW;n^R@PQXZ z+v!1CuGxDU;niaNvPQx#R>)k2w+8kMAIxZ$#cj-Ja0F&xYufx^d=Q`o?HN9lEk59s zhtsP|P=R)g0GuupBjgclZ)t%b(MS*#Y1vnh=CS6y3(l^AZ|Fpjhk>YtB^9b-hBweS zR>bf=n6|uGTW~Y1o`uBl7Ba(I=rX*8mf;!7UPIsF)5V0I1wv>EczqBkXmULW+lCC6 z{h_+SdbVk(h+~#0GrhjTwWK$rMN6NCaYEB6vKJezHSo$Th(gbeR;IL*ww(AROi^aB zVRefrGv-JNugtyD94jkb3z>UGF&)-R+$$9e-E6@eZXqH|f2k}+DCnXf_CUh-gpwq6 zUAmIDc$x#B&e}xi)`RAkfApt+yC>5GwF#@lU;-gEQyw7kfs>eJ7!{@!J>XojEYE%Z zJ-mveLi$bG<$_qJoWCZm3`PcEGNkG{IG_m~1CgqZIswE@~K`&)i8_ zga8>H<)nr20FU)MW23F$K4we={f@TF)HzIObo7oDoF&rN-~*DbYa7L? zCK`Zx?YF9DpKmIlsAGU5$jdK~^-RnTwO#$4nV!k3q<`}Mt1~?_zwapxohv;z(=*eL z(~(-DJ}I;?__Cf!5-&}zcFsJkJ5exLBRvz=JqRzH6(ayEEHJ+sd<@BA6>wzUow+p$ z)w9w^n-)~!PMJ=&D|{?a%c;kpV@Kg5TEk;`s|p{8B|a5uo>jJ_;?)bv5tNiXDRW*M zuAJ`bUeZ;qe+?5m8fJDh?6RX_%Z?Jj!~wfgeW&yk^GC06|oD=2;04!Ly{LnIA^sfH>Qp$xM>?yEAq2z#UiHnt?X`yw2#?rcEp@(m=hazTnupk;FdO$)I*{EvZ zt`S(6i_9SdK`R5T?+`Mbb)v;qCkiV|XdmVkIUvPOq^@L?CnjCokTFRep0jVl?-yKA zF>1;0$0tczazRQHZre!;+Nfo+tjA7VmGEitP6=vogMOFl6}6{%qL7qQNHk-vVG%7d zTtEfa3A@VwJuRFBZvWF zux^D(Y!fnC3lG6Wz=UZTCOv5#648tD`})RX1cc#DtMhCm+6ZaW7L~BhOQWtY*Acu% z*eyhF(fn}6-wi%=?5#}iyp?nEouG!Zi^YrU6^R z^bq<;1^H2p8J0remA)OT`)D|FI!aY}Uw}$fJpsXakZ@261dS`8P4TeO+d{udm2OvE z=fj{eSB;97&W3Tj1RcR_>t#Pvd8+}ok}XKR>q55;l3eIZLF$RZx2c~I5jfME>>zC^ zTp|o0F+2U4R38JW?HB7oYA7&}=50(L?S@H!ppJZ1&RjP~r}&phzsh+6 z^d5jKq(02kynBNW9o+BFWL-jEXZC% zjWmu5wc--p5hj|%rOlZU`lQ6A)xN}Ym(wv0QR7ivNaz2BFiY_l38mM5X=%~15frd|< z1!RNh)8oL@-b7AzWw}d55$G@o)STV|0nTDfOQx;1J0T|I>qj7Mm6mdqawbFo|!ywD`Uhsb5;OGV_+yu@5udg^?K5GR!cM1T(w7W~6SgIYHHSQr89y zmXk=``!F%J9SJ>n%az9a=Xh_f4Bn2Nm@J+YAZ!!ERLM?zA_Mk^(+SO#?HjhAM{pwdk5ls23Wu&QH)-NMHtfW2SDyTdl} z(b1GsEM8Xs?})n|U}aXFN`p*WNlEoDLwp1)^H$P7FWDW7xzP{z3H3BZu8AyM-Wy_yi zrIy+Blq0Zh8Dq66_Gl}$o#!31S>AE4PRFCi$jDLSaJ+Wd!}0f|y=;(2N2deV#e0|$ z2eJUdiRQ?s*URP+he?yp1I4;I^ZECf6E_ck{ylaX=|l6B@(YL@^*e&)DVbQJ&Z2q# z++Wbo-*$a-nxFJi4Jsp^!m-PvsxK@o^t(O~T*Lx4{gdkhCdMYDUY4?}FxmhaC~e=Q z6mZ2@25NZN@>$8^D{5bDNizzn9BNB62UV5|ssttIp;S;Mi_BCxx#<~GpMfZ+4P71i z&zO8~yV4MV79`tOB;!wJ5&$yjZBIggN*q zt6HSxIEO#@zESmX(Y*X$rT7KE+!E;UU1j0h5j+mqBa`svY4eabQv$r+=msI4?|mBW zfK@S|b$zr374z*?|GhUpG@ocEZ8vKLTR>NtBwsXy)pouVqMz zIm0*^@aD?uqWa@&z;c5hWuC&fPYE)WsPZWA_IcbgH+PKwsQcs1CA&fehfDo49_kOL zZ9y#08YJ>$6muF=Vd;#oAdKKhAR!#Fo%_(s&%!SR{HB9blG!Rth()3}!&g{ZRGZg! zTMN`0$=#yv+g8&c+;$qqXWf0O9H_-sHd@a%XoBH@72GzV0nSq3T)jRBkJIr_@hGg2=?Z*eSL8c``k7Xiau zrvsxnsug^t`HhSJ!(WsGn!{y&jShsuN>MB}LTUb2eg^1&?~N~B*B(cYDwJTV)vXwK zV=9dJ;*;`p4(T}v8Y|v~>=x45R6Nw}Z~;dgwH`D_P%Bjs13YT;4M^D(3O_OPK&dm! zo`4{@spW%KV=!Z4VC08pz;~?R0&+`8MxbIJvu+aXtQNJ~F(48;AVW_Kkd+B!US>*9 zNYW^-KuG2cWZnq2R`5V;JWOmWc%| zn@#>#IK)iW0Y;9um~l<>Z;2KCWBw=B^Eyvf*h(Q$imIio3@H4{D2Fw+$S0f{uv5)G z{hyvXiledSPj0PkPlC~D1-pTA_!y0hdMwMa_I(JFa-5Q z4PX}*Pu?Y^O{rD^8K2IHSQ}6+q&)OPO%K)QlCyprXPFsCQOaITXDKzUY4?;@&%@~& z@pdX$fOY9*p?%E@B5F(Ak+$EUCxezfhLnIeMrm z!hFk1uP0q^-7}JuhQqRPq!VZ zQ>{ydoV!*2ET#q*X%J2lO{?;Ub7g~GkxihlYHAd9`Gk^~Y;9GlsmBDK&~{~)o_b=d zNPSHUMQuZq-b}oK0vefyIHhSc4vh`A`UKNqbLolLbJUoke~nx~PotzE(}NmHqf{Fn zWl0;U=wkk{odP!J6Vt+a;r6XxtU4)%|hn#yQ8@QPAx=9^?yao0suXuYUN4_+uU2W}Jl z>Dk{#u92iKVu08pkvk_l+3b@CvUu3Q;t^jnZu0bU1%!<{Gh~7>|IwlHnuuF`k=<2A zV_MmM0UVLp^E^*EoX+8$?*0=#A7P`1$4ygTEhJYuiIjTHn*?zRJTH^HLOX}&BA*3Y zRq3)d4)&JKv!$Ki=+6!573BxlhWGRFaW5Yq>-#OYDK<~W$NhYKv9DwqW%DLaWybI^ zHf$*p*fB!3cbM(r@`XY5bS+2YJ=LT#8Kvf|@v zA@zBg*|a0raY9?B`J>$Q6^*U;n^#`=)*Cr0j7)p^g>P-X_!p}8B7XF?W61K0@VwCe zlXSrpLL=W5(m7z+TBO6_Yn+yQ2&{H+dFO)smZ;Pui^;DmtLLg|*c=9O)#M zP|%EJ8q4wW=igI(`_w$X|9YQ;*+_Pw~xzDPf#?B@Hqj|l5kMd*@ zSjoU{?Sorru)u@d1o~LsP<|bT{WzcHT=+WbaPs?VB_2jm_!2+e&_6vOg-kn_`np^D zPo^pwYV&l9tG{dv{StmK7R97Y!H8x)OqW)RX!&tPu7$JAnxzsz35gfAl&CbpbDT$3 zDIDye(TE;HGZEMs7-P=uKHTXJkomPHnS1+s|0;S@18rvjCOQiQZC*G#Tkz-mBwCqY z@K>QX!SfXxU6)#L9q~>JPC+mD1wT6ru9kMS;1^K0wcyXs7X1007yPBpg17}(X zn+%yCKG)aqDhKZA&5ga+#3albZs=1H$eq&~^1RJq$!w2N?**EyzDK%|Y4c)V1)og? zZ*oD!p{s~>@VmrI#1fw5_BWB}V!dA&CLsecJl3!G#oK-9Esy>qw5R80dcICy`hFoj zPp9{9rtcTi^JRDh%ZuFOFM^Q2r~UU$67{n9{`)dXN`Fsjjmjgv-+?tK42g-o;)9aB z`@`A0*YdmX?YHH=p5Oh*?A;kV|#*_$;5b5_0KDH#jU1KZW`WT+6zOYE^(cyUvT{18O$C`Q~Z(Ht1}slPt4vu zp5J|C_U@_t?th-WJD=bEChru-15J=DUtlB`7KW8}N%7x=F}@)GI@a)cTT4VPNEg7N zZf(1;`v7ZA7ycGXWl-=>9yd7~kc!TdE@wmBo*`!gr4`qu^z~A{;9C*yka|>qc-X*f zyWH_*57;RXx1wR0>7jDVQFC7O1je7kWMIfn>WRs$&34AT%!QtEf0svfRwt;?0s+nY zQ8>ddz(6=djYpQctulVNyj$>ZF7~Wk%Va6~W*gE*q!tJ|Ay^`ts??0b$RzHcK?$m{ z8g29iwF3}^i($@)dmax=TQg-7TuD6?@u$RN=|~JA1+${(ZKLe!t6yK1>@Rnsl6JsQFDp2BGFt^l zO7|;8SP>Uchmz8bjf9Z0)zIqMsK_31*}TxIWapvXkAXuX*@js*=MdXJ$5H~XXt}Q^ zEwh=D?GqYLdk&}2CZ9&BqGGg(vR9o~c8K6a0_~&16~jB(8-WT|46A2fqqy%CC_zze&GY*%@m7+!^;PfS{$Q=29wO6;N>5KNPdO~(0iGSC`By*S{)r=%!+0rLW5%DK96Ebw)%zNrC3C?lsF0m zwC@^~%MX>`*%a%gCY=9ia9a-u0uD_}%xC6mWM?Ffz3>yL5l67%C?DnRu~j^eER7A> zxH}y419(vrAjU~Qxz#2B6St(Lh`cPEF%fj}ak3^z4f&Axtv`^;hQfFZ7l=bA_eP;dviVIl{@{Ic6xcxgx&;ai zF0K>cs^$$3UTC+&FANrZlO<~=Ta|%2H7+dHeqy>6z4dW6Vje<^CjdSI0>`b~T=~7M zLa%_fZx&DZ3&<%1hfQJs>Mk@B3R|I5a4LDAeHu#V@$kFoe3K5k(7fg^zqj7#6jYkH z_xqP-18{72J5SijtZOD?VN)|V$tv&}Q%5J<7?xxelpO&*`1(2FmAq6seXkW$UE_yd z$Va6{#(#V0Y|J3VTvV1k`ikcU?FaGsu{1l;iM)Zs_e(&1;9j=O4kEmioR1H>v6M<$!})#$ zSKb-}2=?zDKbt4Q&hayT$W{yWG$h+Bv;wxlK@$Sdtgww23EOxvS=SQqLfFQDxI9Bn z5@V5*y@E!7jjcm@VcHW{h$?19n8M0-uzBdcI8A2(d0DV|QeYF}Q`jVwIwr6U-p}5O z!8Q=s$i7tbA%TtYvM%iYu`0kFneKG~B(+X)`Y7}c>oNPi9#TnQb9rc1P^%|$(5eCB zWec_$yfUB!CX&YER_!Y*wT>(qeOX?iFJ?GmX*~XKm&)p)ff)0g!xPxSm=AY?i;W9r z%*d67boipRbl6pcOpJL$XJA{#YzE{*f2`w%hL#y~sl*YWg!UjbF9e!+LuSkqB^DMg zu(2R*-8z`>V$e6d{x@&~12HW6hW-WiIHfR>P6>y3Ozinpnqsbug(--sGiX>~Fm*;U zQ`6{4Ie5UKKr;!eA1(@5_t?dJNuBP9;x_s*5z_Y6l3I9Gx{9n!^N{ z3G>#sQGGx|AJzMnC*m!%R2x5!VbT4=$r;=g;KEKE%GOc9SAZ76u0t6qDKOFi~RA)2QNSAh`aJ< zAvl6WPtEc1kU!MdIZqyox-KWyo^J@cw;k`qflpp)iW0QjyWgv5Vg z9uj&m4+f=;8Wcj6(aY74i@svlauIc~PLT0&NlG4Ikhn60-p)!SLqvy;(7?ojZJ6Zq zN8Cqf%xmSSUPz9jL=47%G=gOn-$`p`Q4#AnFH@ImpU#&oMJVt`$8bq_%V=d1AQUW1 zwXIPr(KO&B1V#@;ogl6u^6iNJge(P3`39OMS!%9k1}?5<#IsQ7zh540$qWs-`NV zj>x7J*$@i0C*?)H>AjJ|?-@amjmw*C{2oI>15D*jHh%A+ifmloWaIaT;)ThEB#P1y z;GkOma(?*<3nWxQI>G$%Lws6(r?7FtwaYHQCEFI(CTc3*k7DBGFSY!*0BSy@GMn87SWP#6e8 z2+ZWwf%l^4G===)B3RxMC`cGr>;T){!A>QkYrc-|u27ii62AJThcOb>SUEMvgDVzy zQ4e;9kd%)fEm;S|p-Ur~`WHLbodmwXHE-pff@leQgBA!3!u|LQxR_;C;8N3g$knO` zc2i2)7BggSo>Feoeb6a3)GUS28LKC>dj|LLFA%V-mU$6byMjXgbk+G#oqm5J&)DemP;ic+yJw z5Qt~)`5^FNMHk{cCscMzc~bp=eX~HNi2BFO1Plltsle2x=-oU(EABrt<~>Ggo$Q;U z&lIy7H*qpvc~}Ave+vm2ktUs6?3p;DfC1 zNeb>3#14OYU6~{G7CVWhS+od-5~;T1x^#EW)4Ck@Qf*(t9g2R!xK9Y&^Nunvn}_2A zcUW1%9~WJ8yqDzAq9_o%(8BF+IrVRxfjQ&a@Df6i;U)?{0rogtgj9qf&lctrkXuS> z?6m-W6%3Nr;;-QhB@8czo5@!K06yVE8MF>b3vE&$U7XIaYqK}ykQvvPfGlti6tF;; z35l3HCp4_+(cbZ0w1*(%PD(3q(bn<`XYvF2hA;_nw770hEOWgCo+B2J>4s3Zt9<^_ zF_sx8ITuyQzSIp@@{OZv4DgZlkMUT&wSQ+kIBlqx63arRMc`ANxmKYR4*ErfC(;K} zhgZs3v}oIPL7tS}SPTY^ur8xlJVX==m+{6BKb&&(AFna|xDr6B>sQ9D2EjS_t|$%huZLd%BA$AIz!GP+*6bG|4qn*G^ovQn zu%7G}x|EU<-PDYJ(M`>0x~MhkxLJuMU5zD08Pbw2$C9$>CuHMkW%uYkT3+Tr3TBeJ z)RmCN6N*tRtB7@_$oPC3P#_{+G9H0F(q_3nn+fU?OTHDLgcnl>UV+S6L0c}TJEYSr= zpt^T54ig#0PjulE=e|*Qfq}aVuY&Z-=&5FGun8cX_bnw)rI<_-Z-K1ErTW2($l+H{ zxE#>b(a*dnQ-{1)rVpL4H~ptxc=&|9B9jx8Sqwqh%eTW4wNTcM8UjMJujJ3aq6FuI z6X0B%>r?KCJ!m4!i78>;B&Gy6l3kOS(lXy5KG7v4(Fd9$iR$m^XtC?gvzTZm)fcCO z<1GVpUFbc2wJ<{u0(1M;+KzI%O2Ny(57M*Gki#WLa9O25!TWpd0V^f;Lv;O`oZqI^ zSySF31$~jwQ7Mw2_qH~SnaPB3Z^U^jm=ATl-`xvcT{efA3nN2)bC0nap%0 zScEVCg73WGo6*PUD(=>8dz7PAaS4#2 z3e0zu?6S0%bF%G1*n#1A(rR&7d(qXlj>IUGdl_Vq(wLB;1o}giEl|A_GDrfkbC!@n zTA1BQ&I5hNit36}a}NW)eA;18E$_oceTaCj1=+_`!Oq0A?bZgzT$`lj3%+okdkOln zMXd`2b$6Mp1DzgO33kfpwMwx-w{Xo%=y|+;9@9{-wZKqndl|GZ@>K8B5kD)bMQqMF zgrrnS^8>da9g@M{LKD%hFXhQ7c*6MsfGH=315J4(G<6cdt!NrS?kcMcJM4-GrWy(0 zyjc#sjKd`;J2A>~H>yx}btjaa7-ehxm%86Ze*p#fqpJjuZow8gDq%7#=XzXL#A>5} zOD2#(0k0+>a9>a_+4c1xlHbebNR~7>yP}l(D{}}7o8qDzR;5MQc|1*~vAVcI>p8W4 zOABsV_q5_;@8agd9B%4LoWM@qd?MUh!5zWMGIHY=uRGYOoD_&(?Gk6~+@S?wCyp0v zi&<@9r)qbxlaW>bI|&knl*{$%Zje$7eHpA2l#G=#L4PHzT#{CuF|LD^3>}ZAX7E5T z&lP<>X6AVeUVENH2wX3bnCRZVxUT9Dq6l{G&DeQBX8Sc^w(~&l=~xHGgU$ARCDmsC zfa*Tg-iQ5;lB@DCuLCmSx19monkjQglJKTjUt}2I(CxufkLi@9gs;6h;2;+tv0bSW zcj?caItj-?WbJ|*1@~9~#LTo)KLUr^CP1_ZIO^8d={HRC4xVKMfhU0}VcCOW!V6Hr z1C%htVruVG^E_F>tRP2tTbSquyOaS@8oE|4=o9+%`R3)kR|C>aT~eMsYT;P9Bt~ zs)|}es9`$0@s!%5b6@R^tx7*5VBUGt6G68|_qo{~bP;XN0?LJtEBi~IppG2H7Zfu_>)p_j6r+yfvT&62M+);qiX(e0#TPOm$~aJb6Z!J6jJgoVPJ z(GD_e)+Ib!yUM!@?redP=gyKMVl`xIXHfrYn51T67YcGw(QxiCc)7={En@<}JDROB z0)lmL53NyOY&FyeaHS{Zb|Cd(66yonX~LsWZndeYtXPx%p+2N0;EbHP?ldADM2J_D zI0mYpHNbg2H!z;;HS>P0kY~jgsIt%su8xZuNo8Us6l7#A8LXHWznOW7!Pu^(u{e5U zkVDUgfG}kVA_4C8K&N~cz-aW$G4&WQE>~^DCWYnN&~ZfZ@08{Yfxk9W#SQFO4 zGlcu-`_l!mlH@41f~FF#^P0FbsVX|FEYlip!W(+Z_ygtM^Mnx*n^U{yc=u{-bH%N zT_w*uO!3PlEKIH4mW$oY2SZK8Au!$b~T>?YByExW$lhNsbDRKpKc7x8(PhwX52GKdr-)rpsK zg-2YmE|G|8%eD1~la8(=k;o!Z?b|3sFe)PP5y`rGQ8Karm?~uhoO3GGt7TJEcS+AV z^FLvCRzO6XuZ5SK5pEU{ea2g^Nz_}JAUIt;SQyzAt#8M}s@kdGE;M>y*xt|xzM13= zh{5m`w?O0Qj>n4XQ`LXNfMtWX13KQ0=gvHyyRL3LcedlXE5<`d-=LY()0tv6Csx%V ze&}WLg!udiTCcpjJwQIx&K8l4+SxLKIlH}a3;{p45cvE+BkGv&P;^i`Rn4k^MS~j9 z#N8-bm459v9Qw*P7VVTnYA3hgkB#trMsm88(L_vdmKq97*4N?8F7k<=Et?DN&7{;- z(jXoOWbZ&8)YkaD|IrJ&AzDS`gVYM0(xnhL;G?9HrJB6Jyl0Ei4an0>2|EEJo=;he z{1e%F^iwCKkI?`4iJUI_sT0*ldffPlT?PHbP$EJ}eXYe$9Fx{hMA0bIQC%}?tR|YV zcb9JY-PgAMz_n-#czaR!#Em;}lUXmVmO0qZ7e{UIy({`8Uua!qOEVw}_6X8Mr@#XO zWLO$BjPp*n3z+_~ta{Qolp<6ec7Y8}NMHX`4s+QT8Rkln(1rT2`hjabYaOu`xNTht z9xMspNdvS&<})}v{9e#uUG#b#$2d5F!<+A^4Cy9zkq73BO1}qLf2cePz*!(Nmg+H? zE{n_e6tAHO34WBkj}3gs=dcy!I*48PD|@e6EE0nVEk;VlqvUmS>_bjR7+Jq_k{^#Ccu zn%;YR@7Ci#C=P?6z!-Z>ln8zb@q2>V-5wUB0A`A;F>;|r@DtitbuaJvc*>5EQ}7;2 zdfLcTP_r{*&m`tpOt9-b3*$O-Wfs1@OZgcN)3~096{#eEvr?V{;@_iXXotb-Jt+*x z(m@{rxvXCAk0cO}=Q{Mx*jVXIfTTJs@L&TuwoLTr(6l%a+BhVCkF!MNL9kn|J>Vrf z770s&r(+D-kw_v@)SBjZzSysRz37d9sU$63uu$)*SQH9Q)!(1c+ABnn@a=f@&$x2z zNRJHUl-UCg_^E%(A@xM z;)&`H3Q7%-$tmdg>Vll4kB~MQNLd8Y%|s%|1H?-AZ04|rBk0LIpV=R5|yvt*rU<|b5oBa@wgeVg7@;J9zBs-fQ5r95~}=VPfG(I zytnsJ9{un~Ez20N)*HO( zDI#flt*GhRGy=sn+#P(RE}O?euW|M4K$fjqQusXa#>kqr`(u<7fMI<`}+E0OK%np7 z$IVSJR2p2=UivZQHo5ZD%15SlcHTMNC%L`EU9pIgHW|)ww!0Rk(ejs7<>E%Rh~nzT z*fWaZ%EHIk`}d7v3)N38YVnx$v8nuvt=R8nu^$e`xIB{vnYiM_v<0QW=Lw7H%+v~z zV6MS>E`=)66SUW5n0!ahlFzHW*M(lt!rD{*#5}AcE)F-e*d);!4>e!^35DQ=&!Phg z9CZ3Af#S1X?CN{)wRokBr}W86-R>PkBKI}22jslsM}5v49eGF#ESiUOUylAv+i%dz zNq+HyQh58w@Q%+$W<2kA#};eE3Y^s2>Oa(}OE(7tgZ`cB?qnRr%*}^8dp7szVJxf` zY3?*}aRlRqK#_W?e!h5X%^&MDuN_sx^_bua4qYpZMgunq)r&Xkq+y3oOqXk&Mb=XVwnPATySjgeaDUJXgb3Itye?0>* zvY3-@J+bW-mkz-Q#7WIfs=tb_^b}`nTyNNnb@EjpYEIqDEg6a)BjCoF7asV`Eh2j{ z``dV+&A!hVQV-wT`^(JwHU%!p4lo?$MrQMzH|S?1TNc(RvHkz{UkgwRMbqVU3vW7fgQ6IUP@DE%??)ov5_6MkOrZqTiEc{r{2OXy-&7HBZlNi zj2;k6UZEqs>q2j#-o!#(929;nz<$Ce7N2^byrs9Fccb_AuB#W1^!`fJp~x}S;mu!e z-`vKVz5ta_!QF%iz`|nj)!{*9@Pc1R6OP$d-{;I-yQp>>+(xhz%aKaN0ef3bjE1D^ zJ91<%xG2PnE{?3dqs);<+BlE~1WtV*qN+5rx7il@at8!hm$CNO`|^$nUbMdZRW}Mc*_^c6`L~WQXVFiH6M)*_snB3SB0Wn21cd`~V(5qS&^Pi7 zBU8bm4w=Z4$6B@$#rsaV9pw5k^n@)!ju5S`LZPH7$Dq!lW)vud)o;rMXm(^YNBoHq zSrZ!t4M8jmEh9=&pJGWZw7j%h2qW?rYC~DUi1G`uLX?1m{s~UG&@v&v0rKt<6=g=Z z3uu3Ci$7Gjv4?HhY-n^NG)%KgG0^63J|PnQPsCyre!*hWKO?$ZpUgCl&jgfMFh<}} zdE8^dEnTCQnXXZY%w#7_hXsSlVm+q9LKpE4%C50F#p95US~;}Ml&}oCEb|ru5jfg- z`r~L3T?Hy1ZJ2*+beU-pkiC!t-4o7^{`5-^A8dNnZH!&iS=QIGR}2GD65sVbItoM@ zoaDkv{GEz5>0t`Y$oZ@sU`b@JHru+th zPTy5y9~?V)OZkR(Qjva=GJJm>zvsVx7b~O$dbeQ%T$Jr+^I#vX*dDC+X>n4*Eqdhg z1$DfkLl>CE!eDmGE8Ea|Pl74{> zooK6`9U^pj#(R21ewF6M;XPHHg$V#c7`PEmlaOXdZW&#(Goel}m(vD0pQOJIH5+lu zKCt2QilSBa${HwY9zJ9uYn7pJ$YeEoWIgp88-ujA>Z2xHex@noV8~MrE=}w7n*uX} zW23(0GTxz~r%st1yn(kxa8devwo{Q-n5hECl;Dj87z4khNKf`py8$e{6u{DHAaK8J zf<2>!ZS|%5;I>G*#5yWO|7e2=E3lw8(>uMKB#xQsDF22BeLFZy3=6>!IRJviC}3Hk zr&CEl(K$zgHwsa>cEZ>_h~N!n^`iuC1Gy2{ncuJAjUmAs*1{lY0U)1_;!dF)lM3E< z>kaGu4&IQ68n-iGl{|XIS{L596ACB_7u-_A^JB-;Msb2SKmv_=TfEWyIUoz)h1pVu znKWNUGFgG++t$=unsREHfE-RhrZr6~9>19$#xs~LsRrN1<2aVcxRRDMjXf`E z^~2ZZfSgc`9Z6H{7)cYv7$G@u9!M92NFh188MJd%qTL?O*s-;#h^px}rEt7%Qw!M5 zMAo#!lC|Lrl(#n3Wf3#><)&H|Mi|MKrhH_4Yg1j01oFeX>_+92IN>1cjjPG~7=GvH z5gwtZo!2MtTb}EC<8suTLx4!%iK3)%_T#z-{zcmVS`r|rs1hKuLL%IehAcn|Fc|hJ;o$`+Bs|~|4d1|0 z?r8Rb16E)_oapkH4Qjm6;0BalOD^3Pa_NCM{J2ND&NcO3iKFbVVAOV@P>aq+`sqHn zBC9>lA(_bCXK`>#peuhXk3+E)#3q}lFf^kqf2Af#1T%_jnCG*@EQGUug!FwD>f4>b z-+U_qe{%P6pjdh(Sn*iSTnK^r>X=*^v+{h`PR_=p-SevQr`neRKgwY_>w* zE^KK%p|nKRkPuyEVQ?ZxY+~&aZk4E1^p%9ZG!{t+h^<$zNa*uvtI%J`LjO9URV?RZ zwp4C+eyL(Pi7(2_>FBWeGM89R`5}VeT=jCcO}zc()U{+X756$LHlTGHW^1o#Texq7AL9Ab}<%JD;BCgewWj2_jr zl0_;T$KDWdr7xVfv)`9=${oq%fJ!ypuT9WFydze{b)GXaa}nRX6c&%mD92%1_{(zsfs*tyUrKRjM6Av36?j zgLDC_6?_YQfYi5J)QZVYO?8RnQcXdkTbf$gsi`h&yi`*h?cUPVmGvgeT7t{|IR5p7Zt*9r_`(ZWM$__7NC@l|37IU2eNQALb6f1zyOG*2OC%)jpl+6ffR=skR)rFw#E&8r zvF2$?F@z2)LNSjfTN{Le_6{mSDAC1L)_!*)5rrmbj|y=S4s~lW(7{3 zB&=jqzUFZv=&G*_rw6nJTfeLN{X)|JP<^2KC(=A|-r$QLaK$=pqRYwQ{)SXE3f;}d z?mm`@#bInPz76dCCBL9g%}XQ^sqIg~HYn-&Yo5=apanrfgC%Q0>a zcr#&}`O9=z((LU(bjbamHv<&1s~c`ihYaF%@C|(hJg_H-S?GoG>3W1XvG3JHxs(I* z3&-i3J|S$&9XE@Zx1A9h7-My03O^FxNGojqvjh%3_L}ai2};ZH0C$7Sf)AL%Zu@mG zz5N0VErP|>l=ELVGbj#Gib?Ai{nN29?V0-ZyXDG2WsollcJxuQ6?_sml4ynTzO19w zJYN|)7G5->i47ViM;+XB=hKQkCoLSt`>a-uLW@&CEMTK+^)RcKwaXmAnFhFuL;)=8 z<%l}ztDLrHXu`(mfPsp+#z<>SLCC7Q+3U#!Qtku91$@BbLSucEG4rEW;vz=AJm4`E zw;8hm*SBYV){dXEKKsN)Tzv*U1+?9S!k|3OS5m{Kx=HnqN5Es@#@=Ckn>=oiihE=4 z-8gsr+j1CXTfL&I@|cKwxXNA*z}mwnT&marE1FaKak+Wuv&xnKfqOYvr=1W*5`Ey_ z&k&@JN~|Aoj_UhfFK!WgWeUmDUKux6XsM{9yyMy{ds-_6=05rVbNBv1b|qJx=lfB= zUzPMqKN?{*<5w^ANA;qn<=Dn*nw}V4!YymsZ8y8)m~aGa;6EVNAvGKR)r2E9hAuz> za-e~N(GD`!jtfQ}Ye2BIpf$Bvur*jS2oQs2M`i`q&Iqi*Vl7yKwJ{YN0`KShJ(>63 z_o_;zRyT$v+OB(*FYn3BlPAwPdCtj`dP3IcohpdeXB)prQE`q#77$!=m=V!uhgq}N zP7bqez1a^IM5j7Cl7Q%o-q?P=mQl9fe6j&Gax*N{g6aIH+QlFL2iy7kCpMMzbELYLsh&HP&UFm_+Htde$SpW%nBJHD#uQ4GVFFdF<8&HbBfsK5#m&u zU1UBqRwT2;Nc6Fukc2uzE@3y3V1qvtVRs7A$w2BOv*jyBCMBXB;eA=xS974;>hr@4 zDj0{FVq}`5@D7P>!1)KpV;oy;U{Lg%#_1(rJoKO#XADZ>EkUQKb6D*p^g(FErdV(c z3Lx>&uyvi#QnaQ>&{NVB7g|YETu6$VP_{mxX23YOfo96N94(x&Ct1y~e@8*gd3B3d zD8xW^Y98*}b?{~8H1L>^CMs?F^VlT1YI9f3puD*d{3omV!`^~+g`D;vQuW6@W z$x76UfJhv$gq1`$V_=Og1qSZv&ARekE?)lEkMpm)MEj#F%PTy+%||QD%OsY}K9>?F zE57vW`gke$SmK7!=s7pK$r$N`I<}sX$`ikY@mN45o6*g>-z9#g>Px{3*H1~^Jq60M zWt6wr34s?)$y9Il*~T~W*!FDWX&yk|ugl1J(=wP+&^2Y#`qSA$wFCQJqtKNX z1uBM=WUW| z*U;o(X``%AgMv$V0ZpMq@@cY^_#qlTIcDZ3Au4Amj>tE?U-IkZSPw&`=8HemeF74h zFPy=k1U~^sZ_H1~suI}bgCo`!z)3yNyjxxX- zslGI4P*Ju{>R=a3G+VAujvej(A)8hc{VJ%^2qkqcfqnQ~u!YR;)=h-2wI$P&?4Ak0{JogdY*=4Ed|M)fn2un{e4}z@PUaQm5D{ zIoOI9ZTUnBFua#$NcSXS^%kETGOXmxF|?3MVssKB%d^#HasQNPOeajA(MmBKnL9Ha zPRDKz=Ym!!ddzaO_)mtjY&g<@a-SX=*4YGWsagECVJ&4??vw5gsCuFkd&SyMLyO8{ zsJIo54=9=@Z%stO611^05G!!-O?Kb>n0DXevHK>_soZ^Y&MZ5%XiKLnIpCQsXnL~( zaWyLtSLsY;Y$GTpd_hA`ZCCx{pXe5HRH$5HOIAOJ{mso%eHi;pA^jU{aMualB<)f0*D|j zRcG?CnS6v*f)?9$50VA2E4v;B^^FYUqa7ia5Dx@G-&cxzpQEEea>jE%JmaE>{f~=e z`r@CY8iZLOiokPd-Zt0C-sOIp|9C`LZY)HeHw}*W@C2|Pv30~GqTb+N5)_?l#EELN zkgH(?@fI^xj)6);r^CtQ?~#o#GCE1+fge=KKg^2Nslz@Jq@n1z4kz*{Mze$9Jye?- zt7B7Q3ALU%i_%!}yHL|dAnkwqMMODf+TxeKfFOE*R-%cpW(`bZWmJwHY=Q%qHd)IF zak@|TN4feSl6l!Br@(bKKH8E|dHHk*!m7i2i~r+)dNXb6tN>A9Pc~izsdhA@Tb_gU zbZFEIB{rn-3!im_*Ty7#q?QImN?TKR%B7M9&``I@$w1SQKH zQmo;$`5`h0)I1nsKWi`@?Hz`_7}n&{7J0Ma2pPWy<17HU5C+f(1N7d^o9E;;7=hMo z)Uc7YSu-Mv^>bq=x$eh`>zIOMPFI=igV0466X9t0+h9wg9f|(~Hr`RtN!B_kF)m}- zvfPGsgVA9vop=KD%=SBHb}96bn;Xg|`yam8exlJh*dY67@w@3A>w;+0@ zFn{!iqQ1WUq4b`<#b;jJ<(LTH6*mcb_>v}`E77{|;MhBR@9uZWeljJFFfU^n!D7;R zorHn~2ez2HyJ2Kmzln=|b)2BV*UTo4WQsO}N;8`wZ*c6Zv63+o#Q_8Ds&fn=?7l>q zY~Aje%)87~Pk#uFI3_$l#`5wW3V+}*c2|b6d-3&Sm)ijcv3vd@uzNXScLnVJsjz!) z7`y0X3A=I{uEXx-N5w7^XuX#`e1+X}8M~h~cGV$zCR>{f3T^ReEA3f1Bo?^M=H>*k zuI!i#+!o&SoE0i?aByoNQ+7LTbI>D)wmGagZ*!n`Rh4~g$xkhgSF}ES1u#D#GT8K> zysCyWo^*!&}N^2ozC=Ay98_dLgT(3!$2Bl+j?r%m?|bE|bI&f@+c^9O{$AkDR5}B(>ho z1dZxIt!L&jNV26#5(l#xl@)#fdY@2|5w!aWU4XC;Ngbzy&y8|$JPrkq?}Nd{f8uW= z`UANiE6BqOZ)T+qW($vB(AYlQ*M@>UWX@kbI-H?bCKvKolgtWTMCV*|a)(vo1hL|= zbW+0Ik8n4N>$^a?yhM|>R;vbQ@KnHL+Rm+q3$R|`c2NyZ`Km@ef3*wh`KzH?9pH!i z_`EHvKl13X>|@}>!?sx1t%Cg3?muzkLdZn5L2#zKbPfjuF$Sr)^pvrPUG0j8x(Qo$ zE^8(XQ$CBfMT%-+#h06P6&SwD2Ez$iOq6DrAIn_BP3BijFL^N4^$E`r<&C&5Nt4BL zrDZjb37PDZ>VCgLL*0*pcC}@qlAn+3O^!uXdHRCf8cuD$UamH5nraHA=(m!q@I*~l z8A;I)=ci2*-bg)Tdh|4PQOBZ{rx>{-F2M~U0`$4tPmsI`@)My{89sVr${MF_aha}z zf1tRDnp9ln9T+i#}mIQv*~yr#E{VLoPk%Ob}g>~ZtTHQ@x&bWp2L^XZ@s zRYF?uAWEApj}Qo&JkvE?jl__hd;ujYaHZv0;>w>GS1R5FR|eCI91bX)bzJ#-<4VPw z;EMSPTK|OajYPha$xVJO6aLIV}cwRY?a_qOJ2- zW`sOR>96lY9ca(BSX3-fA|zX2lX&(voJ=ZHfrHgvJz?e*G=7<%<*j`df-S|93XMdm_U?@&tC>9uWkPIfQp981Vi)$sA zt9*I!Pg((n;sl0bfk9WvVB)aEgpO`C66Y*#lwhv&nn(6WmY# zhU1HswUk6d)0~0@_*F(7Zcvh8iCo3mgWZAg{Q1W=3787uzQR59TSF zV}6Ayvz)KW=$hr|S{|JfJb84%RpHL-N5{>-gwk~88fbLr_n}r|!7S+E*1xNjkXhMy!kviCViiqmhH9SjIuXF$CQ5ZjbL z8b=EYP!h~f15sZ~&sTc~)E?D-tRqoKN2Py~szP-Up>8M6k}|OKQKEt{V`>=L z)D!`>4nciXOFrR4m4z~GNe4-bRuh%!60@i7AYIe(SR87+p5N#Fh^{Aui`Y6GQ>Mzsp z^jz!p@VKz6Zr>vIv$StbDzr=tQi?OX1E#UnJ^dJS3c0fXJF-_vLDvsP#%sg3}^9#8ye%;|s%|!@}UZ(1M!bET(3Ww$$KqWjs1TYo~?nW~ll4 zdfKoDG(WsB*(BvWIn!u>DNl|j=FqWVXWp$3U+nc!B_)hS60F~Hf#v^hKZ=Bu11w`=$89ZqFnU_->B6y7*^C)GyZL*op_4{o? zX{D@aS^@W)x4wR>?|HrFNSk9T+pf`z>5v90_1gOr9@?MiqEpHt_4#<)uV@#S9S{~> zmxt=A1}j(G2n|{qF)2hwjTd-bU?y*=pJ6A;$2|U~j)YM^t-)aYvf&O|DEHiqMq)n< zB;IpdOj0#pI;Me%L&~Pd%l55(bA|tNo}fsvSCJ$ByZR!hFVo{C*m(V@*4(+IwxR=D74-CMSgtyeDa45)HnZ*)u0zp#<&$l(Kn-a@`bgfL-zDEnYlw6>rww?LS zEW^tf+nFm1`EgyIryQe32A5LV?MmRxV+_PR#&6~-2KRV?+a++l!Qt)8Msp3QqR{s6 zQm75DR}OEVC{%MKp5)>6Qh&_H+zazDznOEnKl9O_Ugy$8Yc%XgrD{hPm8pYAsgFGb zxglS(e)e1oBG*zy+3Wt~V@lsI*)QgX3q!`CHh9#d7mxXPSZ%N#q2Ic!iSdJNwjQLD zooj|w7Mp~CS3OifmS`5=wv(LTIYCES!Wx%aYn~+r#$U7K5CCRC z0FrEYSUI9E5xe>_$&!baDjFR#ZhwF75E30(# zy1x~qfLlEf$62MDhm)hy@yJZaE&LVq5V-VF-Es?|v?l*5Q#GKbK{H8BLld>m0=?4b zHp11NRqRpUDwXsjcvK^4RYlJ?h&KGAtm2R}J`>$|hO7uxjvHSRVM+fIK_@FwCSl(S zAJ!q11&;3vzMZ>5pk2Zn>R8e3q+>}Xh>j=^JyqZewKMKsCg zSIh#R5O=j`?qB3#%5Cc50B46GQ*ETLyIrs={G@;DA~Ds3=AIwnWvVl0$6G^;0{3c` zAgl_k7)tM*4tIEF*hK}+wX_S@Jz$I$HqcC=u;!B6JJu8b?4x7d_s~aJZnZ%elatQ7d=*86JH*P}`HbAhvLVp=~MT{v5*^CpyakIsq+&qKF)fh+tOzRk;t0Hx=u72-lu+z(I;AU@}kEX=WS zrx$)`@SN}T0?)4KA*koW%#PkZB>xhQfIH8x;CBcZ~hSPMo+bbi)Dy$^Mi0D2_>ebxOnC|)QbX=gvR>7DYcST{I_F{A+8p0y4qkdSYQ}47L$BL^Ji*So2#X}Unp8=+8pds!|yP{ke zR#SJ=D-+z*ruRYfk!H;CCR%v=^=~z#g*S=_d76nUZ~D#@E|Oz%g6`TuciOTg(xz3B z`FgrzP?_$49_Hmix?{CNxbgV|>CP2RcXVGiw6t_ey3;7K!oZ;x8E3$vtjC|>I2>CW zmGGT8%5!3O2q2@JlPLp=5s{HeF=9ItS_@UPVsz+e_r`WK6n~o=3@cE8>BaZ{kc||i zpuGB>e=~xHA~qENg@jFlo}{cC4C01KLbD6s`&Y`T_{ot(tVRBtKvezA=YHmMSW*fe z|AjabZKUsTCh)rFWknO&!NFyAVtCq%F?JsbYH8+>WkKC&2#yw#rNy{G?z0}i6Z{r# zF5Li)mw99X=_^(eY47!og#4I}N8!)~gW8CwZEn<~ghsn^8FHbO_`7caggfYdNNJc} z>dd{=$Ium1KcaIs?Xim0D^Gpu6=Xz&i+Y6*Q@bSkK-ZXj)GVPK2Th`6^-tgH59*6Q z3*n(}bn{;b5B6m40AjuDGH({pO`DxeV~_$X(i+YPeP%OOk_odIx(q$#T3o4EVg=Tr znxN7=OS`|canguHd9cZBL)5cuA%Ql`M7VL9S9J8TX0j&k*Le)S0WfA}@faHHRfT9+ zsgR?3xhAQIQX!{NDAWL(R^>7mtL$pBySeMIbf!Yz$*$%&M}3m)YP3(38NYTej&h4e zjl5NfZP2j-9n4X3Bg_0UJ>QAJGN#$~wTzIePIOO!V zQ4M2JNjE^%IyPrDdlNMbQm?CF;?JcTHd0p(TFkT5121o+Te-ZwkkHHX8j^az8j^az zLK{#I1VB*u+-xDMVXS|;TdHB!MtY%?5L&6lEH%uU-v~)|1Y*Db9FRUVBKG`y{9LhT z24#P3ojrS_tkpCJscIEIkUf)cmuDO1Y143a3eYuKfV2Zo!m?+_Zo1Df+mIVt z$a5_zKhkR0|1!Cl`IG@amzUR9!j4lLyajMCd+pa#9JG+Y;=^qt4s1*)jV)|+`WS>u z*iF;XOFeG%Y)Kb%2`XS7y}YVQbD#S$BUx1rmbcUcn;12`UL#yT@Hkn!EmL4Ry-DH1 zg3OW$J|&{++7BoW+v)uLY-?MXv~TA7XaG)UCs-@KaPJ6;I{8Gn?Lq>B%>Tuo{=^hz zgjqks{0;smj8ohfudUv2WeVJyVNJT88ixJbNqy`O=5$cGI zJ9H#E^x|e6Ix^6q7dP(E_Oe62Fl|ME@P4_iq#5j$F+oYQb!|oJrzjDeVv2jR(VJ^z ztnQ0`_xSf`|Fl*7^nXUFB5lijvGfaXrVIw4an!%n^}~5w5E__E0Y#WTd^0fk@!e7U z!YuNs7+O<@fcQt^Qd2$xG^xx}L|73;!2t($QT?5AH%#<+d@Ha~rwB^z{=eJ>rZY7N z^`iM9j6xAq1deeqvRC;ZNgh)1w8p0SMQ@Vz$Q z{MmnueGQdH6nDC#?Jz@5;%kS55-O|POB$oHj_!LIZkQIMr2~1aQnZ6REYdC4g2C*X`!VbqQ z^{aOe3_-Ranu}@HE(j7)ufUs>KwEbIjT!n53o_RjR7_~(kcG%)6&Hx8LYb{wrUlETU~@r z&aA)~x)yD%)N6E_M$vTV`wia=f`ILQdb%eGF1~zI;h~+2&1T!dB68EgBYJsX#;4u0 zl8h*(=tUuWs4yS(_7Bygx@4=rI3)j5^~KX{;`s2HOz&1&8-0$wxIRBUCzvQen)(LV zVHL{qO@BZ67;xpb=-GcG4TOKC{cNXme_OLFH_QPnesa#2|0Ul{XJ4bZ*I>gw)?Lxr zT>mGPn3au&ygsfk*q6f-F$#+3*d)iB0-r}AAD^tGcR)a@tlI68xL$mQu!aJ~BAA&T zEL%2V1U>nPq~GdK5LMHqhVwteLI;tuTj??$3>4)MeSzq4$y4 zgvZPM*}%Rs`OLM7=fIrzR6r2h*e}*dXZ6k+)1x#9D*&LMa=f7&Lw(R0%)P}KpD_P; zQ-+JaM8bCfZjZ4-AOw!$?t9r(@Ul;T<{1KuiMOZGeRyCyJw{#(8PPSIK9sLQ0zW8p zmH@ui=oAa0dfWL6ALrse*wXfQ?CmQbL;Fy~a&T&isY%DbbbFL~#h;j(mZwJKqLv?b zYKQg263KRbNjOQxMJ!y@!s+H97F~cwqFpPSK&XhN{#hm#WQmOH^yrCJ566NUCYTAr zanYfJQSe0Ty$4(GRoQ%N0Yk__L`Fb5Dj||ZQ~w>%5@f?Wo)%5KKX{@QK%}>;_=x_z z=*rik&d!^EXtl(bbn1GNSUPAY@&?{d2iI8@aj*P z?_gGJReyymPT|A0%RSwfj|Dy?nErx&pT)3*f4*{Nn;fPB@!jlQ2h8Pv#*d73<;;)B`PV8d1D5Jx zFQ)+=7j-*4Y%f=wbF!B+syy}zUFF!*uxyv6JMg@h;i5dq6eVjf!xXW~tT_V1dRg=1 z-`~fQ>T>|*71Z49$6UZpAQuk5p!mPS5|kGc@084EUy<$RezKpnnOpr#R<% z`V@tJ^UCUZWsOTTYxLTYjTirUyLM#b#b^GbcVxW$g_NeK>P0wStWjrAuCt4m-}@8h zAay&X0UVIZ#Se$H57GOWAi;ChGT< zh40S8c+cQ42&AbEgKlU(^Du}_Q4j3H^Pv8!hVkxl81E^2e54x2i)G<6$#G8zQSvF62ZNnC%>&Xm+G}fs~Pb zjihb?Q@a=*6Mg3#V&){-nxzd8xEPbAlEbW-e*)0hK?6ZmR-0?C;Af-gYfHPAOwG7kJtggH;)$I``tk8gD7!UtDbD8nB0GavWJc{ z2Zj-h$PziR)DQSCotUNpZ5IRx#>De*ib+{8PSjUPd zqLjorDrTRNx+c-Hv3mJ;LQ)AlX3&(+%;hybVm=|JXi37Hi(6TZn9i%kBFQnf6EwuH z5SoVMT6!>CmNY<_FDmQx7;{OkZcRCa0|yrYYSE+r^pHa&v5+5}p?++H^LnjA`cH!m zVfNL`USXps{GOgmH4}{^t!)``fo%8`*g)a}+4d>0ox}z5BU2DgS;4@gtb+Ox9>_@> zJgp_ujU#N#?3yvhDQ!hla?tU~3j5~Wd)Ud?L_sr_TKX3o5Isu7J1>R5M#5m`p+DU( zDFIpc_oskFUJ8;~Xwz&6OgBmIve;AKY@gIg2FO%cpl{enf(9ClC!LXTpZG1~Jd37@n)b`!T0NXWGrOXpbNQ462=-iMdn>dy$rc@l*X@%VW zn2g>q2KQ~HEgm9!>E1h+)CcH2JgE-44^*b$i* zVac!@BsHCq*CaXx|L^G)lsoeb7<%mfD<#MxSm$MYL22*`=XP46;yg8SfNxK~9Tt=1A z2;B%ScH$9I@o2up*PJ4(VtJsT_R}ECqb>}by0P-CNwc(pDml|h0mMVG!ly@DZ1==4GkCT{3!7|%`Q}w1~YZLdF&fLQs!r|8AoDGjSuF>LmiPCB+9?MLE za-VPzsSpW>)=Kc!&%lx*ma?H5)Ai3RQKWU)(;3g z$82I)5ItFKY0$D%N#frHQN862aR5`5suUXx%dS{NUQ2{FWX}}??@xV7XM?7`rFY^} z%#FR_q#dI>yOn@s)z{YX$Y$&6B)uQ9zRx4#w+Vj%s24;VboyM zu-;^e*Rc|>jAE>~O|Ad7`!d$wV5sZ=3c&3q5&j!l;3M_Q<|pf$ zsN5J;bK5K!cSrkryn;%h9DShIzjX&5hBdA1HGOoizbsbnUSCFubFVLR>%rgcPe{dX zpP*3JxnQGG2rAB(F{yxODVB&l!`R_AY(aVK>Q6~W#@**jfFvOB)Ur=Pt)rsDYM1=P zBADZ!1<5cH1lijh04=W})-aY4OAR5vgdlKy5ZMsv;J5J^S4*5|akT`&C`>ZpFDl|T znuDziKvn;AGmX@*WvZy(npD18;;U8t1isE-M!LxR;ILZ8<>l5R&WvoaF*C+*%*<`s z1pwSCeoY>n;>yLGF6r{cw-l#8lM)nBoKgZ&%((jOF0ykaq$?o=l(QrmP^Y+7g1O3< z|1KveqBwz}SYRe9Fm=MpU~ZIPuJh%O<=#-7z)&nOlNFdSVh(0qx>bU?$(O&GdqZ&o zL$Sc%!OVk-tAq!@NQTYN&Ez~s*aG4f;&ClVt(D|#s(;$AXB6TF=Wsnt$BlX=Bu#)* zCJlqC4`wq^m}0ApLgNDElu5&&>ge4J6f33<3LR(WFe`F~v_#z5&R;I?AT7~^=tUA^ zxQ(EM&3OZwm?+Tw8wo!sW(Mgz<`I1u|BHY%kK!-94bed%d-3k~WUd6=Hsm=Y@i8Zc zQIq)gE=+|Co8h@Nha>ohk_Fb#eCvL*AK^daO7_h1r{h?5%u8;H9l=}};8;O+bWG<{ zUDApY&mbdKJ}qD%5NoVlz+zW$3wN6$zG$8PPnO3)WE^Ej$n|9WjPv)HEEUNuKCYU! z2hh8_&AD;$Mzpni$Q0l*F7*aR9Y`o7n;E~j#ObuafFodV%?DAoYB`c7 z7(%p+0tjz%LR47Qy{0oW!O9e2 zXk}2k_$Q_!7#pC>?8Fc6qp6CTXz3nOX9$OE>WDAOIP_*brEYy74h8KT20H~&Vziez zy>*00vP3#THX77CW0!<5xhZDMkt{w4#EAG=W0di(KmHPXdxI@n$Fw^WbJskq1EPZR zV_W`&XzYxFfW|25i#SOIDe2Of*b0!vnYAE-(Wqth!35Bp<|39hv0fSq`*|H>(Adxw zP^bqwKrEgXP51Au?||f0kIc+`Y{F7Fm+hNuKHDPrSZ*0Ip^!g^GlNBddBTMlS>udSrW3^ z0TMlUU#|C^x!!wIy_*B|-jnOSJJp;Rw&>?Z#VgoMU#9yGEQ zA$f*MT5wcKf5N9SGWrob*t9jlJTm?tZe|UR-GgVAdGgH4oc%~Mi|7zz51zu>vARv- zDrWL+b7;VrM|ff9!7H&4ZVI1iR4LAr!oM9;h!pJ)AUpU$J!e>*!pM_?M{C zjjrMW2o(@_Rnl8;H+wLG{f!|F5MFXl>X8WNve}~UcP)e^sYo{{7bm%91gZUH%pr6SXf$}0)6kvu!&udU{9etg$LP8?$EO}nguQmG( zp-LkMNF?c&65-PM))lcb5;?+Kpb^4K)A48F*W!T2*#k(7xTeJc%O07=iV@T+Aq|)l znnUY@jcpJS)39yBJ9~D^GC>${$~fDScXAW0k4>O6U?yCZqk&pI8d^ohq~Tb`yw>3u zLOGsN#uQgur9B#yMtGs2y9ERPK`Je{%(SOqLD>^GJsV0VuB?Q_=*c4h^DUoR!gy=Q%&6!=>Y@=T#sW2}12$F!G;e zoX-WHlRpxhVxPoG#Uiu*ZG6~zf^HscFXP!1!f{3v7wK`UIMYE$OG#wdZS@tBlQnro zAu}<8;<9SOoB*I-F`k`;zAkCl)KJG_ko?vxt}IoUxhfCAbwY+~n7K1m$ILD10uP6o zTL2SgZu?oo%pDax3}$W<8Y`q+ohp%Xb?RXIE~iH`Qtm6hxwt`u?nX#iqh?0Ri9pJ2 z03@W`LiatMkfJ^bDeiQ$So&mzlx2P@RtAxBWdJFc9v&%|Ge z$nQ>;s9!P0`1ftF z!N1!#g_T9HzdSKB$!Y+Li&N^ec8Q7snA^eQHhaOHz1^Rhn?=xavQvsNtC&0f0E;cf z2B3h0dQZtYm!F*qy}rkFKuk;z{v#jyl#hixcCbB98IS8U9RG2vLraR!nYOOBZPEof zob;!Ata!7y;%jPi)@_!}tuWRwHWM5nMmU+wu8+yqsym8%k9|sEin_jTpNz0=CunMm zZ~FjIw!W^(eX7O00zE-h*vP&Y4&FGze(}{P#%wH+xL0w@IzFK*c(_rjZwUfD%dQ*> zNe*V4PSIgr1v;$+oq>QH%LkO6Ks_#p%=C9_r?EqoWK8YIZVV<*rx9{4N>#}?@~9&O zS34QVX^)RlcE2~0h=KpxlbC+T6nsGn&}Z2+SwU>bi-TG>-?}-;taG}D{Twn;26V;3 z5kj#;Arm?}LMVyuc_iSw3?-Q?LrHv=A%B7k2#QIeB-*iSA2-k}We%8NHM~HVXaVa2 z*N-zn;868p+CmGm^_HF(0U&zp#oCoUtzOe-1P*^M`pVAGR)UT>_(l08k_BjgDmqqL zG%;wgB*35pIRw6~+r8;P+mtNiGs90d9*1Oke4WJqm1qKGf{m=JJ}TIqV5|=K?K8yj zgHy94ZvKz*(sgMMK+iu%{2>hyv_W2S+>!BCjFI&3X6 zV@Sm%f()7<8P@7MXLbTQP9fw4<+%doB1+~~JR(3nE{3q3NCz)Vawh(X?cOW> zUHX!{!GfG;fn-X?>{6rTc1g+8@Pg@Fn@DKJnJBr_+vP!HD3fO}TFjK(4oU{q5NJ>` z*i!u=N=6NWk~!?kDuI$)5oDuHDuG}ocO7!DNuf3txi~p&AtM9I$mCH;0r+Zhxq4kK zU-cub05KCNkWD7K$BBG6T5v#dA!)DbWA_Kqe`!>f8#a#f2t)<)j);x36T zFYc>eSNmNtR`?ztNDpijzy0N}V+Y55aC}5-NUCVF`*AjeDr<5#94GBW2P>0wuLfPa zXm6+m)X;mpps*{-9Q-ISinbKjLR;P9D|cv1ft}9?+Tv7*IG{p&#d3+0;#~E*RK5yR zV!sjwP?wnqs{15KORye)4+Y|-?JhPNfS;Unpd|y6LLxrz<2wAZFqtyY9iLR}MIY+O z(V*3>PBN3)Wvkss7)o`|Qk;@95a*)MAdkbOv;&TgWgOP~H1gNgC+jcnSD>qCFiXPJ zb&l10uFI0E6BV6SudC&&>2v}Og(DBah5>Mznb3e?6v8=daqQ*P!iuu1q;a2*e5WRY zWo(7U7PoT~VF;S}@GKR2WzLyu7Gy>AEU<`^*;%s?IcNB833oq;7sZ{$6d1Fxai=hj zmo)O%(Ju>Xtk33&p$47~5)C69B0knTqcST#s|bAI7}X%e)UwOZPb#ZZTm`7jYBGV^ z5wND1U=T*cK ziiHBoSyyJ|tOaY{M`qYgFr`-7Ra*<5Nlv?(m(EaMw?5OA;vvAR1mp3U^U*ypaU_ z^^Al&~-GSx;h?~Mv7NcG5V~!hY2qXr)FqPz}wknh6ZNXdANPm^ghK9f=+>Z zDfLgyP1KshAe;E-YAP-+>T+52QdxC1S6z*& z#l_NkyMo2`&;L^jfuJ~0t27Vc3`%k>%d$q!Cd9bFXY}(oWM{lFlZGS zOhgO}_U1+j=DNV#O1PmofuUGn)&*n?g1J?KxyhHmk$XdN0z_VY}-0u+cyFhXx<9g_I1FfHUbt?zZI~lb-)}|FpRSZso4rxEu=iQS{ViwOJplxwV;{=%;}$ofyJ`j3K;j+49%vmH5&#NtYj--wQJ2%&zzlV7+A2k z1Pq0kw3wE`;S1_OV_a$`U(o1b{@@Fea_7Gj{yXWvy4{S+iv4$+|4z$mgl3KobLFQh zWB8&rgnt9QMl$|?^}R;t&sLcE8|XC>Qm%e=y+*}dX&pMsPPA5-+Wt2gH-;@kUbpCg zcc=PhQa&Mc1o?_S`JxoeSBupprR7Gaj$}Vr$>koN(oL4E`KAuzV-lto;FlTYhcGl- zdv#&=zqY9rmmo?CH84d-`fialNB9Sty8g)xo5G4PS@2uc05Pgcq3O~MS_ng`+A2mq zXdAEoOmLFFXm;jo=3JI6NCqO-(gSVBHcQHOyhFQa%z6$-0x3QU82`fR`MlLY<1&Rk z+y63~{4ZR1t%Oq}ZJ}*krgd@^8i$lCI8wdX(vBT{AxiIS=!atT`nX_gR^$M)=DqyA zNn8!RT$dbUam1IM2*LLM6;{9c;bqt*g~db$oo zY;PRIzNHzwHU!(*uX}Vo!rtDy%SaTxILdnJJtl zrFEyuC_KYg&O{`E-Koy`&B9Nc1vKYw_9R_ zRV0E`GbITVnFQ?xaJPZ@3`!Jmy#X~-BsokJfYCa<*DY;8)&eK8HcXK^?e%rR;UZf-Sr-{D>!NIqb&-qL zt&7*(9P1)C$GXUHw_Fz{z90)wP_2uP46KW_YF#K-)e>Vp64ph)d z{_YX`yM6tb-A~!yEyo5q=UNib{FTx7dle**{oNGH-;HxUvDCq%Elb9j|k^+J6(sud>y!Qooh6(QOl*0SQ z(ds2kr7|$m%^hg?u7pTZKxt(k2nU*Tm-@T#mnC+T0#Da_;Si((@?rov!h>8WZ_|UQ zG39IhqTF(%2?$r&GR$24a=b1IUUn61sf{?gR*?+y!C_I91JSMmO{|GcHY6s6a{}WV zxC*Q+RZTalrnh7O!DCa?@Y-+>a=vlYKIPAoz5Qb{y|4zhBA*!}hUv zz+Bo0yRj~z+eZn5P%qWT2ZK}C$421ZNqG&NB(g%L{thdaUiciQG++K73CF*pa4u&~ z;v6RDF45!1QQXuWvUDh)00D}2`Mv ziBs_%^jA4ekl9BGZIo!deExe<$g=!ol z$P;x$g1U-NkLX3_J;$djO40TcnnTouBMgnE0cgM(gnO!uRFo=iQU3t$fS*MHLq2O` zKTG|r4K*zv9j#)&F@Q@|UnsasXrCG5X`^6`o&*Zc4}>u)t zpsGm$97MtSz)6LIb4CG%5>Nm?4ivDrDp7zAIgA407vBIBphSizDtW?8Ct_|wzBt~X zcZ5xA{IWLu3z#T-i>e)@C2c&4Ie&(ZIy7By_pRMxYiVo7eBH0MW|wNsvFFLntx)_t zQDjWfMa1T#w70^gDqun5zR0E&*G;!GJ=@V=PJ)LU=9~f_;^dIt;^fds^4Khm)IByU zWz`F1)#Y4ud7$d$vg)O>>T0gKI#Bg`S@l|3^=htqb)f3)vg)m}>djpB=0Mf8vg*CE z>fK!R?m*QOVh+Z@alIJ>3)vC1FyON~T~<9+R$a_h7YC}IE32L@t1jiLOSvlCq8@s@ zh>R{y1s-JEz&N`Khf%4$oJCV0iz~N7|1_cIw(L zd8cdP`KXc(&nFzWSj3&3!}Gc6mG~I*9wFA@`A@XYa3?E_)Uwe{Y#f@;$J7!@pM|59 zq4|6f!;@<9u>aAxOa+7^b9*rf++QW|J5D@&Mu{rY;RpDNwBiW(Pd_;JUq6g?isR*R zC75%3 z`Pn~BU?@&tC>EG4TzVHuFw18DDADRXM_R!^v({{?#`eeDU77UpavX_n}8za z+YqR&-HV%mBAfdVsI8rgn}8ba4LKL%tp4x-2V9GrfKtAQ0iRnOR~`m6;8@%Q6d}t) zptg1^ZURc-X@kAm+Np>M^;qAz>v@x%a2D?y4n?`{#^k!&(p^WL&fyPAxlza>8iGtC zqeo;|VUMK$^A7K8>1>`gVxEgrtwY)`>44p(aw)7r{r^uoU`J`J1a|L~Yb}h(n4lwY zaUqV5qv2MFlWq#glh3#(T5Ri&OE4y53H;xz#CV5pz-DeJ9lktkL$_SWT9RB@Xr#hTr9K|mE0^Y z*-f@OCLc$y`(H7Z@3+k`DXIE41uZp;8{txWh`J^v?<_J&accFKOk)hhm}2DJx69L0 z;$IXhoJV5LJQdn`M`=%J$t##4Ie;XTc7h% zsPA~&q`#s4uC2D1<(enQPNtV;oV=Z}ge9#n`>eMqO0LgNQuf)2jqI~JV?rh$pST*Z zKtsye0)3Zs5s8SrY)kvBHpVPb8e4;1$ftE(1}}m&nQs}_*V)x)-zB@cZLdZK;|UWi z##djYXub=EVBeiiaj%@(yUb>(15%u(mSRmUl#_X4vTI8jPYkqE+%Lhb@nxy!P@KR} zEHGQBlE;4~pPpX$mA4dUFCZG_P%JQ8sFG(&FsJ#lR3#}+U?>)tEmX;~C730?EOkJN6BvpG=E17u20Gx@kztm7 zir6Wn119;`LH@mV#cdN%GmoISZ31fBBPed0fZF~DirXfj6w5rQZEdZ%Z31d`o#OV8 zF;`}xFgPi0V>(`m;>L`QY4a+v@K6dI+{}VnDd5nsit{B|o~x53#fdB_7FpuQ$P7gC zU{C`~f(Jf|OyiskAB1vpm@~lb?zgE|y?c>I0=XfuUGn*0Hz&FtPr&ml1eierrPDra11#%IlAR zX$H5=a6{M-O+6$b_(V@4gek?!h!8H7<6C7&CGVv;#wX1>MmWX1$2hi0zG@59Z-B0p3Tc07f$I#`sYBBQ9I#)4B$A{eTMk-a4}&LrGNluX2tXxhoP1&L zQ9?Yn9p)f1LY>pZFUnD(SOkRRCILfkaYGURcajW-3?=3jbK}(KJ_4iOMBb*&08?Iu zf5b5%qM~|;?UbU)zQ3zecC~AJa}6`J{4-ZkyyQFzjU9a*gEvj5PzDUU@&Q`i!?0V$ z0El2UNE>#`OBJdETo5ATAaB^{^*gaco?p)Q}Y2r4bxieJIN$+rT zKYVkilUr}J&4`e7pd3Fov=Hbz~ zE=}#`C__vh9c$WX@081Sc*jJFJIBo|9N)8G|6xqq9}WqhCK+3{EhS=>=CW${Kjc8 z9cJ@Wdb8PlFe4{f(`D6DW!1%8b#b8TZI(wM>z3Y(tedTbteb3WDr8+Qt6nOruI8$%165bbs$_{u zP?vL6<@&0io-3=8rZrVv%2k&Js-7;Zo+_&@=BkSWRZo;vNmZDjF662U169}H9En`? z7UU9n?+^iz_l|OtOIh_+S@mYFO18<`u*e~nppu#_LA{!*ULB}Bv8pTH^y1zGy@nmJRIhHRK&}_$W2)!D61^Lb4 zf^ntC=>2_tM1Z}-`dBggiUM}g_r@bs=*{e>SJOR1&Lz`RG|y-;=G%DK{y@47<(D$3KdUf5$drj3PACc?f~OU^=YppxAkE-&;9=}2 zN8j7Jn}@@^UNeD5627$BhltqXx1%iBrXG3hay3(;!_ov)X{h<0N~ntN@4;-Z5r;bZYFN4)Te-B0O@m0S@Jd0RaC4oGIzJJg`iUSKEPhO7BC)Q zB*Lmjxbj*czzFvVcK-que?$o^e-h;j-AD@oQ;M5HGw(fJED?6G# zWYXfZMU`u7nqG85)iJ7Z3Cj=oB2E6S3md(5WQ1VIuv^6toA!L=LQC@vo{F*W(WUfr z5TS@w3zA%AFr()%NWZGvv00{RyGaK7UYwxo@HG7t)qoZ}&d|i? z1dT_`d@7|tr9h}!_JUB$xZZNhZh&U4kmEJ?;`a78X*V)ZrR;;N(z7PC*E*!BhCP=Z zGSQ8C-_9Oh0VJ$W-KoYK{MHw{F}30%uowO03vyFk_^r4Jb>X-03BAE@_eI^uqpo4- zPT2N*)PS$*Qc&u`P@j%BIH~Tkr-cLYRjLa^eJ*M|L)>z_!A{;5b>XgBsD|-W^Uyap zkMu_6{GcXxjQ88!-+=15z=lz>j}wmC_SV2!+nPZk3ChzIm5SDeU5VlHkr#o^9hrlI zGwCrD9*EdK-RR4`2-!q1CT+-(fwD+&CC{Kmf|}-h`d$hiE?|v2!+bpQHi(1uqENS% zlC+5WEL(L#eEyNz;{ux09#T(Zm@FocI#^@i`Vg|{LVeTH5PC*~x(~}iJ)--V_rah$ z|59o|wT?ujUN^p;sa0UU(vszFljis6ay|Xio~#d}A2dJcmbh<4+j!30qBMy6xTU^W z0%uPoLNp8g3AxFcx*jiMVKYiU0h75X2^DN7Lgg(HDsLv#b`WYi6a&7pVjx20EfFej zCREpbyyvRTheM)Gd7+)}~cub==hL!k}&}C!y<`x|s#;@ypa* zPs~helZv{1t1vKqtFTwh<5v9LP_JyL8@r`M*N@OrH|{T{rCqTrO2pdvrYdm&(kp4UYrwc^rui(aUiuws}Yh~#$ndWHYDei zm_Hn($E6ASrawJ1LUDT<+MVX$n1AE>p&0_nr=FkN#?tBNWJs#5)Ncd_y{HvQ?+)qs z+S}*ay_x4pgi4H1x>{>Ge7%+f!_`=|Y7t{OP|56P=;~6R@1+cGdr`kI>_d33dov#d zGJSk|ul+&s21v6v7iSa>Ex)Hh%wQc11t zrTb*)OEU6plXgksAY~;I1=iEBW@f<%ESZ-*2UNO`7 zhtxWjAh&+etv?g3KOMK(Y}h&#-TG=YR<$lj1Ff&RbuNA8_v8r`J8fbkfx6asaV_YwYeV}!ZeP^_OJhgrwQ;e>Xck2%t zI~Cpf!f@+?G|>8jTc0Q{GvtZlg#Kdorxro!?HBqZd!J~7mCNeaRr=NC;MK@pW@RRN zhRrKzLKU$0@fS-PRp#OE+^JC9aM_u%%n37@`VFWh_4%fsb!v%%8nv*12=^+^8TM_u zMQ=qmq&sbueLklyVJhSB-p=SVq-jdx2hAlH3QZJP6ZyMP_D_Aj=(78K8spf!&jKL| zU-h%rXAFFUcwSYX1IyqSjh-di{dAKuk3tt%)XGk%2d<~39QE=zp@Ar4)hg8m4_B2% z3g!Du6J=t8cq1R1Sfn4{@=w^dFC6Fpuj;ZT7zmMG#pr*}k}oI0Yw1ZzRC7HhDu42~3E`p3=k+b^W|^sV>?21v-2CDl4wT-9)8JA4Po znUM69)61RjepmOM{Z6Je88U3(=eKJuk{XQk(;f0tQogW5> z4@G^}P>?aYnNGjPj4#nU=6t;~GB#P0zHf_U4ftB^AmvRe#}s!hIaB?_{>BeO3`aD= z`PPDOUZCvbRoSA;*3r~$rg4C#?r3B8+UW@k?;t&K)x?(cw8n-@^u%RA#lI6hUB_q( zJ&9Hsh#sOY6IQS@FFMrDLKjwu>bk!T=5P}7weF}DpW?yAM4Suc=2!mDB(gg}h?5bt zx+Q_z*+`F2+;0lZ9h?9^%6?kt8!Y`;lYGV?@*O2^50!JaMkL}R%^Bu0`H%toh14i> zcHOtbQ>NQN-o@Nf=KIU^a;~)@Ls%W2yi0uhhzwzQcmlDhZ#jXO?mdCn<%`d00%djA zl+_u+xmJxKz!_!F%nX5>H(onK5P*^);8O7-+qRA&@JnV0cwp8s1l^#bj;IEz`Tz&n-^_hyemNRkvR#mp@vS0{Wgc1z!%+td(g>Si0V+f6! zfN9hOOrtJffP<%dkRhBDoJznnib}xvTM3wR&=ZtjoQ9qV6-I~IkRiyf1J^JMki->3 zI9Fo`G+!|U_UvK^Y>8g&HT3_?5MZ5eEJHZg^yX+i6K^=EC^DhR`c5JX2?yT9#7Ac^ zbtH!HPpbJjk>~86Q`v~ae@qQr!Yd}N)04sXDHy-ba$G67gh*sqjD1Qgr zhxmrvKRpRnahGeY?srghjUxUfDM%{$Ru?e(LU$9r7ldoo=@$YYRr_Al))FDXWz=pz z+gM=Myj^>?@qNt}TM^-&kS+utds55;z!2NMGAeroHcr_tFdC@rx7dRM?8Dx7VtjmS z>mwirVNc=vqEL~nz{p~^GT&$^+kC@n2DAFAt(q3Q`aT#2FkcRSLD{>jhTc;)bR;+Q z;-fWmq-^NLvLRTFw&xxajKpIy7j&sm`Uq`RT#!L!F36}*bjrq1W89c^u+$hj*lWjN zrGwEJnwD8Ejoq&`#{R^O?G%4cjoo{c#sr|m;=QUdVv5U=u@!S;J8F%c@{GSm+7N)U zF#-hg$S&3zTTPA4)*8F;D2)j~*%&bnxv?9y#%`v@?2(g^l1kxv)bNvU_>h$5gFBiARW#??+Hkv~X6@Xsn z$X=b+Ky8~FgU8T>t%K8A_f4g$ri44OwbgDrH`3TUXKclF0v%UtrHs}NvDp=Qih5Mz zXi@7`>>Ud5B_|Q#_n7J$I7YBVqk-_wI)7777FT{q>4|JK=8Q;hgg=L6KyAG6fn)R< zGo20n0$~FL>Ik4mj_j4UVtTxTwm9Jshi7;?cIIhb91C&4!5|Y#>!GNPs5YOg?aS4A zsTy9js@k4hZC9?=P1VSJUsZ$aMx&C-ZWPbKzkZy6O6uskF#SJVGZ?FsYQLB8!BBf+ zFL)Lj)hx^l=leAa?KBIVXOX2a^5uYDTO#H)->%k3vp_-1$);_!1N+u1oKT)>NS~JwnKWKvC zU;FrI_aDxoE(s@%;*33z#p&dcl+Gd#BCK6%h3jS^6Y6#xks%bpx8=_QcMCPv4@r`xjkXSB0ui|gFJTiTli)m zvh2IW^~N5_cFQK3Bz_V!>z+;!XG5WUQv?~(y>IHV0KxDyyI-8>Tm|T_Y{uq{C8|j&dE>*Cyz;$q4 zkYlz#`3_1T=9i#od2KZf)Wh35qq}q(Bv1-7s+dXF1JxTt?va3u#Ue*ZQ%*&1%g}B1 zvF!xHzP{suky!7V!4%gPY&`|LE!NW1fKgO(?^uTF9rhywckkNj9Yp;S?n{0rPKUOD z!aJ^9de|y^C{QX-edI0mu^D}|HJd)-xm4$D?xc^L!YRSoPEBj>aB5CxZ@&1`?e6b4 z;WPAY562?0P57Q6h{is^;u#ETkdLVdW_Tad6V}XL=UJ-z^7@J1bU1$-&`-MgsBQ=Ibn&oYSSG{S_C=a&KRqdo6Ka9kQhVsCE%xlE4KyJ8ZdoYu`T9dRm81$^;1BWmBxAIaEL!rCipmfs z4oG2UlbS*nb1CSf_9#}6cC3APu4xB%tp?H*OA_k>86XoGMk!p}9(K^@&Iv_r z&74uG2>>T8M(@FaA^JGoke1|Hj3TgJ{VYH+79oc&MY}R_BY&AECc@N57stEb2UgMy zt4rbnF+*AeZGP5zYY?RUeG2p7OD|dc;YazM71zD2kTS@wggVJ$-q+~d8I35CE*oy> zm}X6l1({7)38TW!P0=IITc``^grxKf2qUb9bj?NrqN)(mVykL)RAD$x8@@8<_&*~#MwngWNcJRuoI?xO>3I^rK%hp0@mT|#r93DJ%W7yCpY ztXs1jPaY`901!ZgNZ4z@33RRYZoj$L^V}o-m=AsnhQ0uhq)*}(s)MkkKg?8O5$(4V zVWC5GbQ1Qh?q{t@h7N_GFLfw-7CMv*6K9sn zW6Yh*`n;rhMwvGBAg2vlGGe?kCCR*`9)uXMHHhjOrbdP_#X%TjO6znTrka7Nroef< zfC2(9w2r&MotKW~4u z_qLm2O$3WsPNc;hTu`H_{lcF#n_na5yt>=;F2sFx{u65E;dFF(UW0Dp@Wc%5QBJT+ zqr206>_3P;j3A^QEH5iQy_=Q8g3{%8r+53NVr3z4Zfe|;tXO55wvzK=e>@gw!BKq8 z0>LJEX#!?O#RJG4B!dnP)wOt!nwy9H@aG`dTaOJnr7k8R_~%r^m1c@t@Yibn9VpW3galTQ~^ zAQ<`sgfdhYFlDIjIP|r=n-0o!euHor$y{*ZrNCd|;s;sYz0oJyr*+I;KP}MlDSYyxy}akbq{D9`h|qu;DJHy-`gCA#!mRfVC&=r`N>)bCSKko%|_GMs=unp>kk z&kOcR+AwW#@(K_>dS!d&gi4F!yS*!AsJ;vf*6BkBo*a34edwU_^p1h&$YE@grpQ;C z&hZ2|#!|Kis@&iy7 zJjjYNIWwWA%O(qtfWu7|9xZCw%xK|F^k$AJx=IXTlmjgXmFdO{kEa(NHA(^=T6la) z50#INO69_v$P14SMz*-7IfK{U&0S@z6auKYx2w(>?(7os$_W1C)5x4b9TaC^Sx^xM zz==mcYnto4qkiM4qi9ihd#xAtDr{ZR zIitl214#d{rX^7Z8#pMN)lF`<9SE4XwG%3;0w$U@|7f%3AEl29z(H3FI9CPdM-+hb z{rsO`o@;`0>C>$z6uiSgieF9d4c_@y4F4|K_|?IiB$WSW*h-75JLPYOHSg5jjtoPt zc4bY_(C+TEeQdoyvT1+h_MXlYacw95NaxMsP5#JPf=Zh5M~?1qe10bjPfUHjb#Hfx-s-=PJ=ym7%sL;gB{o%Zcn>IfI@Ezj=nEewrhj9fH^70 zl&BX~sbfmO?Z4;V>V(_Nv#}Qf&6giMY4ywm7NPB!wC%W3@}&J@H9_a{q!tkUWe~3w2N|Uz8r2Ul8wcts^WJU6O93s7KNA~u&b-!y4V~vP$ z=~1!74mXkZ4_6pj$XNP#RkpY>mTr@pWMKK<+3`rr|GMDRm;VjH*<$&x?GR<%-f^_} z=fctT9a{W4GARE<&R`OYoBTJF+w>y?mG}wgx6@?O_07Gd@nj?)h+hb0O|Q2Gcc3~wGU z(}Mfjdtldu?X}r8;pko23lo1`L*@){j{CEZ#5ryYPMvey5u7bJ$B7-GIIPVcEq+G4 z<2GXM9Xz#Mz>T&55{!s2KYy5~4G}75AA`*-MA}b`N;HyPE{R60mtHaJL?dpS+72IC zs#cYW(4ufaG*+cqH2!e6T=NTE&GuJo+JXz7fKuUtn<-8{q}gNKl%F1?5&BTk2zFA@2)uD90uRpl2GR%y z*j;@YQ8DP-p)IuAyzRnR+K5V6G$x6Pxr}G#fu)VV+Aj~#Pg0s6emjn-NPB2PIa5e#^y(_i$*zdYM+m95%K_KFzwrBHE zmOPiL_U_c$yPJv~f*0-GdertDg_qmARkeq$Pcs+z+#Tb?b_zb9pZNv`nCxR43bqF# zR6r_(8uIiv$QQTosLi`DuzgtXc+6)Ty7f*J_OSA^D>}WK1w+)Bm_)Mh!z&xOmNSS$ z0pe{B0I?20aq81K9p~bw-%|Y2@1{KS6sMGT6bl84wQ!$izCk`T-9w8RH>X3Ya_u&C?@ZF0F znkFPbAcm}i!S3x$^wwtoTiNW-^?0S(AIM_`za+}| zP+0j=Z)fT- z_Ui?-s^SC+bIoyd24x9tgV88R>i#e86alczf$~}I5kY6g>e3>^@m0xPjPw<>~nD?Wg@=L9CHGF1==5AtY^YHI= ztKkD;c=&g^Z^ZELB*1C)B$r9{O(&jQ^G)Ma$g3wDLN%9(uoa7N$Pt}*TaC3FOfbs; zQ*%UP-<|?lEW>^W+e6=eG#0-n18t*5p>i|ol;!nZW(#Oc)BT+=F(lk>$v3#mp`MmM zkXYoJn+|&uJQ@CSjQctj-G%Zo##!8s?pqt}QE+pYRy_Sp%%Cq_%#`HBW4+z^H+2qk z9_`9u+ldpO@J;P9)piCU*Dj9EcZqgx?2?nNbOGL^ac`*tbwe|7Xf-} zz_1{kN}fG(_)Aa^diExr+CMzA9|~`9h!&#CnR3s-lxD!1sPYVG|GdEr;EYT&fDSng z*PPM}_~ZmK;}EFb&PmTa15*PtpgS4U3@8b-XMh6D0KQsyNwDL-v{TK%R1a~fNlm}0 zb3V)F86ZP#R4Qj6gYXQDKX?Z0XD%lu`(~}{hA;R*u2~(GHOr}v%2q7Lx-PSBUvP5G zVsE5mC^%$DDN55{TREs1gTWzQIowxh<;vkU^-zxWs?ngYH)}`M+nBc?tWdYC6!|8^ zcbD^EZzv;8Qk?CTq;2LG>#22JcN4XSlR~~K%ksb3!67-8#St92s}Bkeu|}7eC$axE z?Ss|3L2$?$7{ZkY2;qkh4!M$r@Wu>C?DusC zhnR;CaUh9uBFe8Ht<2 z>-zeG=Msa=Dh&)$Dk>V;x+vv`8Jw-bmnLhC61~Tcgwl%NWdzGe2N$#gy%nTD#2xlv~x_U zh-UbhD_?Y?Lnph|_d2G1b2Iu5TyKi_V1E}OkK=>U+KTo@wUsnlr;uaB--CtTUScJe z!iq47nO^&6b|MUFqoC2r(z@iJQNc(Mjwt{=f=1cb6Hz!$L}5K>G~{D+5NSMGC}=cw z@G<_mE@<@OI(SFM8KPS88SwJ9VJPVYpa5 z9hSS@&)su7i;E=(U4dzq{GQ^(K`9o)TPH?ld$W`$F%llU?iMU4KIzYj{ps@H>f&G~ zQ7mX1mb~VNK0vZcb~jpwT>B~us~j0KFYIM^y%R6T_TEm)CAP+U-NU`k2V~=MJTY4) zoxkyMUhDki(j~AMzKU+bc?^A~Dwk*R=ou5Kswph0#%2M@8xhH;`6>P(xsiTktM71S z|LA|{C)6lLFdIK9E;#)of=v{2uV53j+1sFhARy_^c2-~&Y%*SpWFD_YGQ%6INM_jy z1g9R5bVG11m66QjwO|u}E9=DCcC45@Z*M1D2)=7JWXPP7@TmS1!#hkh_nF#hTI7v5y51X#7s2cN0dP!s$d2M zoEJ@S;C;Sp|2XGfU0c^`8xlfD`)sYd&-bjo_S$Q&z4k8_!)UcPT6|7BpKP_aoeaR4 zl+1^+FP{IxUSOi_xws_jo3zO0oVF8aVO!fGn~WNkw7p;RDNg^Inq701HoezMyDe7Q zH#BqXfH!S>lUAB#m9}j(r`WklTkWj03wx`yR%fLx_fTo;`&{E+rPAK2N^4!S(qzP( zUE_RZQs3=LTib;uI}DJ! zIt;FM!nm_g-w)qz-1(AGmL=J$U5vFEHwH(Oog$yw$B;YgB!_dIVz9>mwe~qnl*4X(TYHV}V)!5qT zMEZ8s*oxIy&DWS%r^Yr%8?~-ARVcu{F{7*tKfx>WcA9*A`u42%@ErTS-g;(XnXY-o1LPa7tSs{eQQ*`z#@X> zh$}h)6RcY9&Ow0_U>Fow=yq;2Q9&HY9PhIE<$!N8TJvXqxT_XeY2Wv1#)Pcimd{2 zsJHAuC2;t(QTq+m21A}#rhq}U^;5>H7E@xFwB=vRqITQrZxV1@YVxQ|mOO3L!5zH1 zjXHbgH5syvI@?5Mxp8#VCT%BCavf|#pi9o{DYV_hV5`e!Mm5Ew&Br|a>auKmzXDxh zdq28h+xzXwz%j&;PB}t0Uop#a^nHG#&NgS-yjZ-aYwP0>WRb50nHG1`B zRM*^X-!`E-<$>AKZDLrGD`|*GXj#56(+jbCUd?yUkX`qzY21{bWN_n}YUWlrY7EKVfJN0< z9M(lU6IdO64qU}W)%t`MRTKJfeUgT98hs*?CUx1?-Op2?T%XjRbI|&84jR#v%s~TZ zRyg_5=PBW2eNunUL9=(|pe>GQA_EJFg1$$+(k#mJARaLRBz)q1u3uS1k-B#GlAA_C z*j;)t^#jyL0b^(Vz@QU?MK9jLoiyG-o3-t4IB4(BXicN-kj*ylw#nv->MC=EdX>$l zaPqRbB%EDjGwo%wUG=irWQ?52Mpta2^wWEl%~2_c$>tl`$a>TDSPXzO*=!qahiq0m zWpiO~vT1e7X1NF1th0(zdc*aj>3gL&Et5?toqE^ZwI3zeSoA6REb7$v5$EAU(plmT z_Iw9VX&O<*8rzdZRTP3~2HL!#A1#_;r|NOvpQ0K4`Y%K?!dei(XnKS{6wTPM%|S#j z+M*d5HAFMsk;#14e?ti45P;q4w;lyKTwlyG)yQC@4dhbPkaNozKT)uKx2D(=mXq8~+{3R-gu zTEljXu3A$ytcCXmaP&fD!J>ur=PsAbt6Fs2n^w6rI8>Dfr4z%jT^*pln@>o#wRRYg#Hsk__ z9pr3CIp?vIa~?}M@3DZ>5>DQR=;ra94Jqe57JFA7%R2YOYQHY`pr^lOJvE(=T%3`n){CnSGtPeeHi}4w)Lcqe|>$L2+e=NoqGTN%qcIe1Lr;eQ2 zn~uzN>d5IHbY#iv$O1aDC>@!*4jo~;aa!P=e=<6Wx3EBM=I$~b{BGuM)~oU)s{Gqh!Q9a+nX64dh5Mv2 zWv6@X3?Gx$|2P#|$EMf@o9x&WIoG?mNwa%ZXj2JuiN2|&-_Gc54SF}}Etx`3b~k!! zs^PZCy=pjfu6ykmS2{K2d=Hwk$^I*KjBA4v=~L2_l^vQ=O24luK3wD+>P?*=-fiY- zH;4L%qUrmSOjA~ZrhF-*tr=}c_qf=pDQEYlDa}qzneRbUT3%BY(Uh~&lx9v-a5S+b z#T3^Qo1&v#y4e)v$k`MQ+{lJr{;)a5JROJ4VT^9z(2JPUZU-Up!Ejm%Yl%4zO49>_ zH0zFg(u>40oK4Y0g3gP;#)R`eoTjumW4x=TxYNq=r`i#{;7A!a^y(jdE=#vvnCJbO zRy2dAd@Q3a<}@XDqRw=urp$01LC&W1dZNxY-9uaNbA@9sa=lO26Lsd$6jk#yn({$u z%Jx9k`$$tbB*|-v4vOm36i#%ZTP@`^g~@0;c}YL&NvPuo~r}Vg*Zs;P}Eoa~Bc0keL z?0alj*B{qkf5M30XGvvfu7fV@*xJyK{|^DkoP>%R0NPO10iZ0B{n+&9!S}?X#=};eMS) zysa#DE!<_L?25Lnka^2x_E|S$){U5TJ!D;P%eoe`UWi#&L)O){tSd3=a?IKaSzB#c zmtt0PRgBlgkae*w>q5*rA5ohjYqKq@Ek-g4oQhew+ro)!wk_+nrWKs9lybtV_^eyp z#=xa^CfQ3=1D&<21!c8La97{;+4XpR=~v04-2qlpESOJ!UKQnT(bFv$KAS3OP0qZ1 zm#Yu`cUQ~)yQ}4V)|HrbIc9BztlTM|LtTnlxxLY&E{3d&ZCMv$*7=yV8L~EA)~Hf* zG4rXIc{XI8ZNr_8S*K#w$&hujE$gvYUI6|+u;tdnh7-xxq23!I(|VlCtueQn71aLD%>pKrY_->X8t z9}oFn>GQ3&3hRZ1?zV_vE=757~}}Y>Ch2?gLFXVk~c+ z@ZA%iE!SSas7K^1mZt?5MCHgpAD1n;811uNtv6!DMf)*!oSvVpxZsirTX9k8vf^T0 zL!o?_W<%>8vM^1rs|r>-hg27Yv&$Ul)__(4t`AJ4pHR=UY6B`;1;}tC?AdhdD%@7X zY!x8GkQL&YyyZYvc$Zax17X#kw({VstPHr5Bl>?7m=a1 z0+rbaRRGSl1obQt8;fJ=!cNC;<@r#T5A{DbuOySzsgQsnv-@D+oIaIqqwa(4X8QU z{Z*Y%JC{+JW%J9ZhGxFy0hh|AQd38M}oU9k_dJoN7zdKHT zrGFy*L#gW$qv;2E62hEAUV1*M=XyWOwlUnf9)^%6<>M-`U$A>UdE4D?wl4kOB>zAy z)&6Cy?iKMyk8+u(9o1q|B$&XYqq+lk^^a34-BExUS5}$xZF^FZ(5DDXla#)Ol!GNg zQXakqn{Mgz<^C+N1w^pG6J_*voPwf2;7GOg_zj$cG;5qR1}YgeVU zv!=EE=>?krR;b;j7(RQ9a&(8I$ojs4xR6yM; zVGD-Z3YbwtjGR*fsFHE4ZPxIxxYqE@t$&(FrVAssyj>!a<}%v#H%}uXnYoQvAs3O9 zi`crA3yF1;Hfak_MR)N+bQf2HySUosF0RC^%Q0&!WNo!&U5HudW7cNK+HA`@7qgy< zS!YAm*|x0HG3!*!IvKJ~#;l*?Zt}CrV9~k7O8U3Uik>dI4C!F4n7-|&2WqE^>CD^i zPD`~y!LAkm@-6O4@x{`KMgw};@nbGEq#;H*?*y6#m`j@E3(n#;#N9)67JA-cox!SOJ+?@V#FKqEI z1C6k^uw!k)zAWo~{lZ=sPF~m>!r7y+iN2Yzx42pMb7EG3vj=$+=tAUn3es?TFUKGE zbC+`M-9=6usiefKVqs6PA7j4666uPRVixA~dfyXDxds$v2ARge7JqEQTGg>=4$E zU(cW;qELV~VYbJL3w76ID_dB`-li>;g` zaEtvaJDR@^RAvVqZ>Z^i+pf3Dnm$ch&8u(6VjL>t1~z@$8KAj)cK*ag0uWg>BcjYX z9%x&$$Hu#h>a5vk0W4Y=_tUG{>wUKm0!+6LLOac_vg$`4;@7==h}Y~x#K^*joQl5Y znj@I2U!z3{yoNp)HT0O*(0?5%uM~w->uA@Qwv;)dqw=pR=3hOJr$yuLC1Jrh7pbqL zK2qG+hTFnCbl`!Y%vPp~Vqm_`Y;Ib+B_xb+f$m7o` zq{k+Lo1?Cp1~%fZ++%cVUG+W;yQpkPrRnaoZjHnKIDiVG`t;%23+by^xmwW}nSwGz zF5d&CKe`-b9b+{kk3-VkV;XaFR~e$?d`x;Z+A;y2dq`@%TNok(#or3gD(Wh$q3%cM zh)IvcJ&=a};?*}49Pva^k{s7R zM;m1>>3O+In2hKSBn2CW})gx*_`j%1I`I2Gc4CWkKgelN}*dnGErOd1HwqSILxO^ z3VfXs-iK5yY!1`o0)m9VQQId9=0o%QjzTmeE zs;bQ$8gU;QmFip8bYXH;M_W$wFl8er?d9J%sQPd z09Q;3wGRwpO5Blpb$SH&ty|kH5HR4ciu0yX-9o*DvT=`{sb9*FZoHH$AIX2*ep}NI^3k;xl--fTm~F) zOSM>a?Yh(`I0vvS2M`V_jf%c62Qa&ajpmV*OptoNPLEL3?W1E6lNCO^RnjU%S4fX4 zmQK{(!B?{P3#tfvpE8)rH);R<(E3vrKB@|ooE@C-=0VFK zLvk`EMPYGezn)w4AaK-g6LdwZ6f}^N>iqBP{<-F#%plr(EB@Ky78QHH#T-#7dwZkLH?$}SG1pDH{=bLN3J8 zwfow~`P?|OTJ9UmZQqdJ;=ZBHyie~N05Ru~R$i}*cqg4eN}9Uhhb;nT{JN)hpY50D8VRzN-o z@M_21xKdIXxl$7Oj-}jY5}8sG!R8Hg$4ZIrT&0xiJoEq4TayEgp=7_}?3(4R--a3x zTZ9FKGWcPZblH5xqB{PIN^UM9Z2nJxzuTgYx?9`oF$f+)FP`W@#>O-!kb!>%E)cz9K9I<9S0-JPw%A+c9pW!ueImy*G zv6)Kj(9|kVSgYg?soEzs?~A{p17!J;mUZ=Fjb5`@w@80=Qs&Js)>eNk))t`_E0&re z#iAMJi$yremQgHP9(s*n;rAtD$!(ncGlcTf>oK8cwszU#Ph$;RR&mI+HhKx!dupG| zGzIhL$%qZGsX>ML=vCezzuO_nX3AMi1|Y1!p>&%Q=+yZ3>4GFBT*G6Y1P+*r#`*jp zD=esk2YtmR?NnRXPanU_NS zkW7rz7MUSyF8)uh40~V{k3Bs@?|_|2iEG!n5iFhId64HeewEDCoXizZBGhKCxVwyo zpn{_Rl!;Y9{(R@zekAV?pH}aV@XvVRGe3m_U+r*l^wXw`5jq)7_zU*TO&1HvF!awM zHwNf>xcEX)8(BqTEx{$~OE~H?9oLCaI+qyMW;|pwk|B5P)$?V=+R7{XWAe}s7ynp^%|7i)?N8VGCemMJ&04y`a^nXnM|6Z7 zgE|`54wj;FZ6Zk_QdmDNO&#i4Q)OluIic#Vk08E!8kyN}N^q0rZ};C>nyS>FfwzD! zq&i~Cq(6Da{mN?{;Us^Lqa#@lhMs`pAk;6Dk$n!JNs;a>&jRP5n4S?-S&Aj^XQq;< zRgrs&t|J-VSrnDj`nxO`tVTC%MKPXTS!k0?=%_5NRyX^ud9JBjPuJ}RTxwbInto=N zHMDiytynl2+Ltogn$dRX4V%o{^@g?Td(xYQyxuf}-u$`}EQ>e2Va4IO>trB@g>-fj9Cw89vhrBel_-ijc3rC5 zzVeP9JQp@Rt!N8N9{Xf(PqT|K%owy&ZN>mWz9SRltP`#@CR3?dSD7lnq?-~TWlD0r z`fdnO;oFp?wO1vPzB?s(e^!oWP?C>9)3OA4c5S&rx%Xmawg8G& zW>bI2%6wgkX|FBYm5KD-(w0qTF?U#*t-fewu+w(QnYS`m`u1RD1Q3OOMU4t42&2EN zl_77=%1q^~3?{$3l~JG2&B~~cxVctl`spjsH!9J}Y*r*B8poS5rP?;y4!v3J)Ej2r z_oO!~dA(@`z4-$r)^V=YJ28WwJ}JFvIlalO3_8=Zl_3aihGxqQg!a|^6EZaGST-Dv zF2_>X{MOZbqk(8>K9lK5E9l7=pm{^HYP3-eR2e1cagTe9yGP<4WA0IN5BXJUIsJsK zbR4-{12xgp{k8v-dm%`v182^*zxEoJb*u0GGOH~PnSszxSNh0`=ZbN*tkXWL8xNyE zcNLDY`UrhWNTx3+e5B$!=u-nyE>>#E&(^Of7~NOxd>>vdZvCkN#T%XL?tb}<7V_N5K zva++sXPt^!Cj;taTh=#*oR0;}lQuU-bdlL@=Ew2@D3@*zFu4IABR3oHY2c>;p9X#! z@M++u0iOnb8u0BW_K+L!SuaXdI2-V3RE5WtYM9ykfREAPO&IXCxXQy=a|6DEux0~3 zKNjt6z?Wl9W<`Mjb>2Dc6PHp+YJQrF~9hXLQJ{*Wv7c_r8oVO=V_ z9a6Ri(zjyq9;9Gq;mjweS>n9s27K&~kF9@C4N?HnvV{Sk3rKtq4fwXod+cH}U;Yc_ z=!&h{yb!L~S2EhV(RR3EOPzXiZjXAinAe+ypf|s*#ERFOCG_Tl(whaRHx>|Ah^=Gb zXCwEn1HOG6VE9jWz_+qjCCU7-r!s|D2ukuvXxAbc~ z25tFyC7NDa*lV4BMA|ah&C0Y7`0`<;Jq`HU!b)MlhaLak8t^rrz5=}^Q=rM9K<~(C zv)!%CCiU3XJ6&RSaW8>_bty#Xo!I{FdZ+)U#5PM)<%Vyv4)~)Ythsf-JFScx_+87& zXt?JL%|FQj-!}Jf?Pa;(aQbA!(wRppUG$~qwVlR*;>*r3bvN)sfU=&i-L_NP87eSgm#KZ z`r0Y-X%XB`5x>x=u5mN-3(Qivc?LIRlZaTw28~Gu?KNX%t)?Q}^a5KJY~8?)RmoVw z-1Gu5X-y;$H{@Tsl(y-Gj2fpGV8DyewuHI5Ve87ZwjojjY73gb@3_2zHFn-Ahpj8r z^mM43C$qY7TUT7&NE%X8rqI}l(q1?0L@DIdbeFAynVN12H1yu<`a^2^SC*h|BxG$Y z`2*F>Ix!2KsBi1OSP8hZZeW7CfqQ=Qbpx|m-LRTebyHH^6!c%%EW#SQ8(lYSrzmvo zF$)$VEoxOC#~!F|Soo)Pk+ub(#G(P)2dJ?cTIMU=ZKr@1wo_1FZaYOK<*FmfyULpS zD)sZP8im@=AP5yy3-&cTx#WF3+ zMO#e?oI%)fN-g7bRE~})68J=aa|;&`8Y}+c$L3I35er|MWU!nzhidCUZQ%l_=h#1B za}ZiFL3yfL7RZX(+UIX^Wh($x*7yC&OA74HIMmN0-9KLnpSOCmMw5MB0O}SElm$2T zbsQ3#v?LVbqr^mu(ZXZ4T-6#WqE%~68bw>KO0B8pSgs1wq^ielxvG|V7FnTp#E6i8 z%r93Ro?udRK#^wbnJp|;aB)kMpjxC;`<$wnHH7+eYQX+vGH)Q0KZj_T{P}&}lZlgS zYPw4WTvGyu;5-B5x}a`Avp`mMiJO$g%2}V{DpqXUl2%v<)8MnL$>Jr|3`afKeILBH zo@00;WB5X3cx{giUtkHR{~YUA1H-L|%MwFAcP)ll$QKx14h(C3ZB*y<)Zm1QL#OXF zaw`8L%Wsu)Ptu+;g)>=kqH18CHJ@JEmv?2JDfPho<;XlI=N@HQ(Ecn={aSR$wop7w z!lKl#@nPb17bb?R{j;wM`F=d)d!^484t8?+j)#0N3i*!teC!j_!A>sQ^Fp?JLpHZv zq(5vIaoNU0wxc1N+b%+<<+h8sY+7|>g-~?b3gNbku+lxBjgdvzF5 zMzvIRYpWB#v|6?kRNk!Fnp~p1wbC&e`Wk!2c(9v93(*S7h#u&H-O;1w9)oU8y4!3r zT*5xsYe{YwCH8I5Hj&CIm)LH?=TIy71*cq4bY4G?HCWhg3;!Qz^xlHrC zE&>^~q}<@!>?FyST-tsEh;Z_N7PZ%5$gQ(<{MK+u%@9^3A-13tjeXH7$4ASo+$5jv zOfkn9Gker_JFqI5?Gj+IcZMY0Oo`nonwzVOxU(hVAPr;Q?`|nc)L@Ex);hBv zkl$@vi%NF1QF=)Hf?1jDxHhemn&4{K4X?R;@XGu2A^SRGn1aMq|Cku-G!qoqsL zbgXti!X024Bhx2HS-Mei8dph1rE2hDbx+w<9PQ$#q*}DC3aYc&hCL>#Syse7&?vot zb+hP{t)I4PL|P-GMQC<3G!izUP;bg+0@K*0Pr0<@7AkCz$7;52CyUsd?2NECrDiA^ z4jG$m#4ec!*~Ewbxipg1H#o>zzLVcZp{$Vf7X?(mZQN^5iq1qDK`Qv}Je(}8$Q6o8 zyWkDPDomQFwWdLuiRjK@Sss(IX(EM!@9Qs=^xF!h%OSk9APqerfw37?kD;X0sHi_y$LO{v;U;P2KPP9? zON6ePZjsi-5`A@RTy`u?H3Mn30ad()xkEyOSPv`)!jb`gLTY6K%o&pWUb3vFlgdl# zG%!9;G$!FT8T9-DW%^tDEBQSM9a(juTpZ9gB#d?Gs56uJ$oJUh91{0pe{h(o$Z$kl zQFbgHJWySVRy!pyQ~9f-4U4I&1**0@8%tFCp$$vshkN^&iOq$_<};SkI(t$ z(2iyfI~$}VPKbvBhuSoF!#QLOnjMNKbChv-D00aDEYFPF^NM2{51cNUblKWjvaWxO zr|(@$`QEh@dRLc?HWzwVpUw5ICH1a<`Kr=wu4CQu$4R zbXbBvU97#g2w@4^T1d}9X3D=%`{FRwhGk+2NY#HxpI}66Trr@v=emEc`X@sqqqk6S z_doZI28$sc!@lu&W22~^bf414ZI8(D1O-2ljyzi54~HuRDJrk8AJFUQW<~iPOZKOX zAor&ukKjNuw6!r024Yp4Q9&BGYX^0nTh4vyDWji~AVz;lnQ9jAG09wj;Njk~N5M1kcf)kk@)sFthUP?b^!m9nA z$+RO6+X_3;oxmgh$tnl2RjD$3Ff^`SQgy>rNir(2Ej!Lvb3zDo0=K z-?*q2E|m3ZUOBWj7AKV#tGtX4*uqlRQ$Ss9W``@JMf|pSz(SGjEAbRi`6fuojC&_oUVRX4 zP+d|^b&D89mdxUk5|+FZ&vGm+ut3=i%`_D+qcF)c8N0vyM){uJ!)3EA(YSQ%(KAxE-3me%e=9EC-`zQ@bb|T+m98d zE#>RbDHrG_WgEp468*did9NWj_(Hf}x1 zUaMOLaf&s8dd>o+Zh->H-W+4Q>q~ch%B;%uevI}^3}WY(*iA2{>o!6$o*7(FpRt7_ zF^v?_ykWIn20gb^fRg$p-Az-_D6&Yg*v-VL0S}C7$FlkC>Ep*oZ$l9M*#D8+Y*ZB> zuyryc8HffD(%NM7fl)ly4B)T_sE*ufPE)gj0V>t|VFwR~D62C>$m?-)TZ{Pl#w@w? zo0%gG@1#sL5PrsnIziB=P2|!QhIW#BQhYgKS~9D6Rotn|nbZx9y@@q3IC%j-i_?CV6 z5=W_=NRNiTRGbwY`NBu&*#Xi z8Tpc()}$_9ENP&x5C*M{PM1-p9@z3I{1xljD>Qo`k*+=@FOjAa4NT>(!eg>7eO3p< zClv{z80avg4gEt;)n;9Wur3wb5y%H^S1h$Hk%!MHf?%JaFYova9hCDE{8u`@;ZEr| zsiB6p6$O96(CU4$PAG4%0|3xKXRi1$u+LIp+;L0`dW?Ia=@3*)u@O7tRdGUd z-1}&L7{evx;tr@l5;hbfSY)SA=fI@xRgQAXB@O!AuVHq- za{0g!HkLe+jkhQECf%RCDJKQr1Rn&ch+Cn;xCM^f7pxZ07pa!oE2DU2MSCm&VxcCh zd8uHzBX9%+pR$)+?U-{zCG#15&NR%8Zs;-W6CN9>$YzQu7dXn7%mPQQWb!Ct$;=bB z^T762C`?LLD0L#8<$+(cP@Kr2JzY5!TX#i}Hjl(D% zbsjA(<2c32H4KXnBbbNeb2tg8Zx78u2UyU|RGnql4$3;Hj}<{qU1)T6yA;D|*Cv=i zfL(b5Qg-~y?<@QFm0eL%ivuR6>xs@&a4}Oggpq-&4s#l*RY&3>Xyf!l7AZSQ!seme zbX6rxSM_*STIbmFHO?h`6+Jed;wz<~PiN#Q98CYK^`OQ3ap!Ap@UZh1`S0JEVdtx{ zLh_v-af8l>8S<6+ulF(M!-xXA{#rfSMx2kxlJ`2`eC@Tyn+Scp^lCTS)Rd`n%=zMY z>EZ8>HA{F4dmn3BghOM^Lwg)+9+a*EP#rn&of>P>718!~9c#Wajx`@qBx=0$T8);_ z88^^;jT>ja$_+DL-Sa3jXHl*(#tiK#A-qcG%x9ZD4=_g&sSPjX39xI?oHjY&)HFaX zKg?Xt4>M2N=#mkLc`!TBko+8rcvhTSN0$VQnb<@vLm(U{`wTn3rr`9WrjLFP9Z zpzZviAL;D&9XHfGx$`5PBTWjWJKzyg$pR%*uEuvnvduR$XICQ`D+b4@P!hQ}jAV3P zq5{0;9qVL8hhPD^P6Py*3_PHd6SKFGh`n8{j@+X0D+9mtDzY2LS}0+izj1@gYyQbl z)ScHFhO*ib*etuD?8V%el^4TMmL;QcgnJ<)pN~UX6}68c$?PEP=+AZCQ%gKjzgw-1d_1G!UeJDmYLMl2NhE+>NG7kT2p9&y6_i3 z^Ip@(mZ)%IN-SMttZJUgXmw=7QoXQHxS=dmlYWS2|`3h3r6KW(-vX@wDX)1u-NGYoU852qnqxrGEBIXJe7`632!rrax?96(-U+ z!%_2THTNPZBEhs4-e>kr5i|WrypwkZEvPAZ*KI(717T_mY^$54nk#lQRaG-pRRs_- zQ#E3yityfun2ffH5DK;`1beML_HL`XeaP7=g%LZyqC<%(c8tVyF;=wHoyN)v(#2R= zShwW5S~GVtRyz=oB`3q~G*;HnRuxdO15>ZtSShNxXJduo4UDpo zTslHmR5|;)M+qY!)v=%wqC>pX%p)rJO#sc!qiT>zL2%0JrWg#Co%iYb1cCqzeTjQ( zV963GT7f%5SLTnGfWoCeiYX%pgI>jokmy6B2&t$LkF1B@CE7%*>iXG4v$e^9*y8K< zL5;P!I!7<^BlgSa@^UoRrYP7Eec!!lUzUxdTheeF%Vcl5#aL7^T~vat(XuIC!xE}- z8++wyszv0)d~LyzMH7;e8+mj4TZ~2_;ro!Q4b2M)F)RsliceB96DL12k+1KngVl0+ zC++fPo{YhKe8!e6xf-yj9Pu-RYH=P+tT-S@qw$c7 zJYh`3lBJ?Wp5TdCm(@a8vgGWsizrZAdc*h<9||S-H8;$FDS|?cnl)GCNhaMwa<*iN z{1$oA6BQ6MJA+#x4s?~slPj6DxEx9b4pV{lxjhw1VYpZ*X<%o0Ova`oWJ7eZ#>_l#}4)4QzAO@3*<2p0-RdZ%r)P`#sg>s`)lYlel`D!<<*W zlg~t)ET=8uwVsEw#ADCH6s`Y}mewBSwN9y9zehu2K;injvR?(PelT=7^qs!TVbViU zUS~zaj0TRpi}KRW>0ju>#eupO-}As->{)C|#QWh2Ad7Y7m>J5AB+oMBn7CgaPX7;HG|)!o4V*P z6eECWSzXU#lN2^OpQe*?D;e=L<@wxIm@K{c^>i?FJhLoEOLV$!`B?hP&4g2$*+F5x zBmLwdwn4d3BmH2FtP2`#iBD7lG!1N5vq= z+Dddz^`l#UjlaWaTTAYp`w9PkE(i#ixH<$sdWim))On4jT`;j)Y20*@dg)@LfLute zYOFPG|6Cq&Nn>CHS#am!mss^{_Qig>Bma|u2wjjwDAbK>n+{{IFz#;o zPl~);blZ2x%plWqV#CfHCr6DFXS4Rm$)${wt&EfP948wYC#TtJD4B@CCNi-V1?j9- z9m@9*}Wc_uKTqV{TT6BRQ@nCiy`Q{eN zxmnN#o*B!mOz_#2Mz&CnDh*;j%feAFW)?>VF|*(@mf}n-#g=Z4kvsVlapq)@(pWSA zH_Jr>+~VPi77yE1cAq}gUwc`4hMVjvwSuSpSv#%vFACLYq@V?PtI}ruGgkXunpAjg=jZORtoJDEy~=uR2F|ngft)YXKd*Gzuf-GB zTPf#j_0JswMR;&bziX^_uM^x@HS;)6?&~n>Lru*`ra>DiD^cp;7cA zKD^K<*8cZ~?dK`pRe)_2M8BuymumQ!e(;;+v|Rfo9A_zFB^`VPaxbPE?_ycLk;_IN zcI2=8OgSBf%z_KXgO!wX3h=*+>2LkoKsw~;xCWJ!d)MU0r@#C5zI4E$Yea$V`|x2t zt0L5i(tY4=Si%ISOCPv9o%u$=UAPTdV-Iu+vKhf_F>$^jSpR@gDWywQ1c-K}%Mq~! z$X9-~=nx@$M94iME(XN&5pe~OsXs3{M93Zya!-g09zx*w;(&|ioC}B>5pf-mPyTn02-zb-?g?==AYO`yn}B@nuRS7Uj|jOZ#A%P1 ztCJ=bfh|>?%w@@0OG2A=)x(RfR^Z7cD6UH&$yiV2P*0a5$6GM@*-%fAJ;#uH;&?L1 z;7UZ?2ITFbo*;Wf$UPx$5BqjC_1mGPPX6}Y>2HR5g6t6?_k_3=5N9IdG$4N->It$( zgxnM2W^9xsUl$K=!48+*2vmf?Vb!ViS-*`i5^2kUb*g zo)A|9;+crJ0LZ@&JVN$}kb6R035aJS;vyh_5O{>_5h3@4*xFflYg7$GSk>KXmRzwU zw3e$dUUanrPcA`mT>?qQdSYx3G5=?&Tr@d6qMUEl&#PQOwPKt58SHx@q^EY?+ z&MQJf?F#8)lv#JU2&4_f3#P(#EBn&0TQ0dc%%n@73RKoVt~iLN|AA4~_GvnEFuf2N zS>@wT{GIQZA^Ylp+?5mOp=O*cgbKbG5!V2@a>{o`kUb*go)DV>aU&wG1M_)SdvR1K^bixDCitb*CXv zJs{Mc04D?B)Kk&0KXrGyJm<>{*&|Lq)f?jWknbvHBH}b49|;WuvPXp66OUUSF=vJs zXtYDFDL1p^T$Y^8lG9moGD~g`34vz6HDq?0kGMt-|1N=OTmqrH1l8#hXo^dqgf4-8 zD`6&lIGBc0Q3A6Rdg+5+rjWe^AonDJ%^=g$5pfQX?MogJvPXp66XJS6oR5f2K<3Z- z)&toiLhcE1Eg+tWhzo#hKG&%xR1XNXC&1MJcs2qq0`jJJ`$9wZh>&|iTnUKhBH|Jt zOTp)W>=7aNgxCs*%Mq~!$R`6LWRD2BC&ZOCTASKuYBKQGb=dnQ)++cV)1Id&=# z3~@w=yACkgp)X$jBd(+y*Z68t<=}RnQo0^&-eyQ_g~WD9IFGjd^G>|GmP{KO(^ddl z35nH^ShGYsv`V(fKJuN?+r3~WP9`nR#~yWsUNrbzP`$Q6y#d-r3`JT_XvJ0f;$cOb zqXH=Tw5rKULqw*OZiU9R9TI!!&~mIjUCvB_hzSv`2n;TG`Azu!a9|#?XCCqmWj-^J*V90<0qg>_r3l zhKeTBiyZ>lQLi03JasmXdCuOQem(@;AbVaX&-TXaHiz{1q5Dk4oCfASA>;vykOmzM_OTCHY+ovZO{+D06WC)SG?K z2C^>-BKXGm-ZN`2GCtesCChhx(o49WhV8S1R_1@lGisrKiH2jfGjH0G~PH3Io+w z1k{^Wn8@j4d*l6FUoEH(|F&VD?{<3$RAbaK^-%#dT zPqrJPoPMM5UiCYeJRg}{fv&# zA$xWq-%xfJ-V=tr3oz~mzw_1tbL`G{dZA}JUDyt(UyQ|AgY*CLWiNHez8H{iXfe)T zFNYhE!*!VY`d@@_b>tB84dt*I#XB9n`|IZVQsjCQMz=$F7_yfup!B-yb|#i>n&NzE z!`CfjUpB}$sctVs)4i5A*d1kCjZWcpm+e$6+bqTTbg(v%ec2%QRJP4*V0JoU&H?j< zFnWRPF(G%w>>QY_cN>^(`hnT{wFhRIEza6PZ_>;x-qVole3U_xVt*;f6|$EBj?2gFgAq+2$mv{;%;`Ij@3mMPFV8wj~K%rjp$!iv3UgwCN_6zUps{LOcT`Q0c~ z$Tw7|7ot#4$01QB-YW>ijY6~1WlA+`_IWy+AidBz?&~PsMl9Vr1^Qa6&jp7ddzFFw z9W32;tnNjt5CsP=$1ZB8i@MXX+s@Awb+~$&oHBjL+?4B<-K8kIO~mzv07WYal?lvWS{}msz zgY1h7`6d-NtG{bjlI)$uxLq{3qdiZ3C=Mk*gaZ<)3$o{b@j6XkJz+M0#-cHQbYy5U0_dV;wHaiK+IRf%_J%rPsjrO0Mv2Z`F)%KNk;kv4Qq_b|UPDze&L*H?0Uo7P_LB>W?34X0ykn4EE2Yuw$MybD=s~?tJ963452m<~vTvo>#~{@w c(%LXOhjA&Wd2Rw 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 -uxRjkhB~W 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ÏpywP2Ifa0k_ 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 z/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


            *^qwBSN_ph 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

            =l{A)-D0srR)iCfIblXG;i`+FN8ldahRkwI5Q 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 z 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

            6?tu3dJ_gN=x&CaAnUmVy(96$s9A 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

            pR_$-Yl14Ux)W2?@Ya8ns%9 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%0AT+!{@C{J%<7Kq|*|`w=W@*_N8VX*22WXAk=?B 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ɘN!%OxwR) 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%0D1J~5dtFu52p;lwGJtnUs4X_hcKU&3Uf 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%0AFo=HVOt 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

            `5_5DII-4cQ=arG4(+l8yn%C}@+deW+S{r{rvI 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

            bb8{f_}_{zOL%1%<=4_OZJ;I$izr$PC^`s= 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%0D{yt6vm2Wz?!pmmB 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

            ttR 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

            Zhzb41=X&m@Qtlr9z2THy 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

            `W7;0v_ zjDA;Ryc(GjfkuNA?cZt804;p#Flk@2IqW=g4i>p|u3sBB1T6pzR(R zEjaRM11Mw7$Qh_1=-Su0v}Jv@?LVUOA1j zp|)W^SFo>NMH;UV?ZC^tuMcYnt6>N2!OFZH@bMs{Q+Z!P2Owt0gFi|Qch@D4RMb1W z{5j#VaAFkhx`KkG7OEL1kA?R!7PbSg*vCS_tk!~6mzY>_%lxwdR@*ZsjjP@-GZ!CvdM{^O zphj%#;4`{{oq3<(VO4;hWGuZNz1NNDEG}IgOmEDL7eRg4hcr1sY#=^q(H(r=rIqjk zs|DTD`jDk^%AR)0zvl3tY~r3p`qghpUzK79pz3xE!k%mO>=^{~%BR%kgT#(N*SB*c z`5$}Lb)~pUglRLkjzaoj6Z&B%aO#JC*uSCKe&8efX^{rQVD%M!n}}V&Ek)dhr)FoI)$+BpT6Rw6UGG^B zzw22qUqd^s-u)78KSA2r71)kO7UAZ8dsdEXHkPAB-WRnSuuYB`-VcS?>bJ1f-N9rA zY_+RlpHV!g@4=}DIDJEZUSN%GWOn@M{Fpq&u}986DZFOL*_9hFcton^FVCdRWx3e1 z3Q<<6@!W8j`|5OUlNIKB+Ewf|RV*JpL)RPrrZ*UkClON)3m-?0c+A~Mn!_;Gq z7scE4&#>!#z{Fk!EwDb0)vjf)OJB2Zj`oM^`{LXGE84#wm<)xlSsSabDP$hn3ak8s zzD>mbU}kzAYQ*x!4^*?q{DbsuAfBP`MPdnkXNwo;J6F6!-+AI?`py^a>8-&5q7L2X zVTmy{EK!o0Oy3DsFR*Mx5k<{ZSz~$;)S5@%uGYqMN{qI~SnX<56BDh=tx4AL)vJp? zt-q{lsp_egCDp~H)_ChO>rQKBjZ#r=O|xcMv#qeUX%Rh**qsx0!rde(emS=he7B8w0Kf1+d)UV>v}(xm98Lw1y?$tLqDl9con<*OKkoFN1cgC3Aq~ zqMq1O>@RweHC`mfh)cydTGiPrldHuvFO*->p6zb1LXE<;aJv_{J{0#0G8kSSawoa{-LlOqG8Ex{19ODSL~v1 zWV_%9hXUac1z})h1QYhq5SktUO%Dpt^bbBwcTqH5SMkha^J@AqU~HxT$MGh=){N>+ zxTX&W!em9$lOk)HS2zXbt&RY)K5z3^#Jmk}r6LfM!3GV;C*x29sF5ji)hGw4y^ z=#NHL_~xc3mAUC}W!x4wgWg3EQiFmbCza*k0G0>W@J1thrm{Y8A~ANN5gkk3TSo)q zTgB$THf;090HJ?*c2xB(H#@411;QZ;!a&0a#{uDR1z}KR1ipek9tfhYyfZ6BKkYlS zyeF2M*;O9C{F_?OqSms=)5_lay-xtrNlIHzFx-|CwQcd92R6}`lYo>_{Aqb)f66P- zs?+Luh)C0Ss3@iHFmbZBb^Od*lcM^`zJr~6xJrtkDQczfY%!L;bHzCN&Jz>pJ73&J z-v(k1eFunZ$g`A-2PmSVe~VS&ZCDka0+zLC)n7C90OdZ$T6-dXT3Y2h+PG`ik&5qV zL35|$J6_PNUHPd*ziv*|>ZZJIHou&y%j>Ob)%E9-TV`rOf2v*k@2NixSdEmvZxFff zd8NI-eWz>Nr=I)twy$BPUS3=9x6Q6?C`)x!_H(;O-p?&8OMfPioh*GF@E|K1-|N`l#o#?_(P;a#>S7vM$wXbk>!R!P!~{)eJJ=Gw?aUJ5BM&r$qM09N}Cb zq?C~&B99ak{^}O^t6Sl(&I3okzk0*xuP#;mRa3=Zy{Yk6CRh#yzw5zuNC3;Xd@Ls^ zEE_5;-_Faj*yvW~+SDx8P_Xnzw_ALDhGDB64ulI7 zgpr03MgU=)f-u%Ff?W|;mNHxQ$Za~DwWxWz^TE+?EkF6JHrk5)X;-9`1*MZlP-jEf18$At+!s6K8~ zfF2I@>0z*c@Ba8#WLIvST!wBPnFiGi$iH7@O0ubI-+VG~~He3dT&lQACh7l$LVT*#W z*)YQ8K-gPZSL_*iUBRt&5)i&s+VHjEHe3OO9~Fe}4I@kj!mkR#&xR4~>hH4D9!j=g zugKW~K3~gP3Ry*=)=d0Jv6LlBX&-&Is72qoqMW|-L_PX85RYQb^c2=lSAnCymSS_& zJe94b7_ZDz{gjncsisPSTg%nJ_(Re3R>PXM&(@Wt%$_UanhrM;synAs!O=exp6io+qXQ zVYGrUDl!7Mhj4q;cI{(HY8ULBUK?N!|MBgdb|>vR>zZoRCMOd-HSf;pb-<`p^l(9B zJ@CG~9ta~9gyDt}ZUDki1>roy2sZ-Z90lPl!w5G4;S2@gw8#j&s#ZPcbu-W!RON_u z)z!t{_RpcQz99j=El+0gnFc#(dvS??7c;@P)F|n?Jj83o!OnwB94K*7@$> zOdxo72fa6qn%Ggh6-cX<@Z)B{~N{fbr}*9EYh_*nK)SpKN6%%8uw0~j5Y-f9=Q zxA^RIClJ~w2(1hw+y#Vk1))}C1m2f2mj9U|`f~9reH)0a^c^75&if=`hR(#wRWkr@h0)GG) z-4v_c-mul4hN_d?l_~z3lsQ=KJ&Tp!d~o#d@y@O4t!z!ou1aqSrMF(qyXJck7!4FZ zSue7mINqML*Zl^FY{1nM-ysJeRxxgxwT`T?`|<2!z8Ggh7!J zcqCeE?9~U^FtsZ9C2;gdU}sdF70pIqFDVh&(@F%Us|x0QxfB?^6g})0Sq~iHWgwWn z?T8~R1H#YBnEEmDm@3SdH-|58319vSSUg0&{Nhv}^5shm`f{FMl&2i!z4WgFRhP{T zcOyO5>^~v>FGaI|MAj@vcnt{qDbdP4hNG3&fiOmymqr_&mzD!zu+oMj4Y%P9ARMQ( z;h4y6FyXD#n&3CV(eJHJ^?9q86>l|6@m9K;U~VmMNj)fs`#~$f(!VmE;#(O% zrmT!ND=Xvt`$7K(#%YR8onqLg!s$WX9atHlhiiR$SfJ?PLq!i^b_WXSEp>O`odA~8 zd@P43EY~S4^Y0F<0>*htZ=Dmlx44ga7YG+92qO(6tOmj;1)(xB0v~zOKlsn0sTsf7 zbQW#4XiS;e2AUIT?}4M=o1apZ1tZARMxnC46kuN2EslH!rqY)xW$CKA4{$2+z5{Tn$G`J zMSR(s&bdmZ;b6sLbTyrvr9aXssD7yTGdf%yd%pYm|4;XQd&v1HB=bg_3^f1DwhdmTMe52?g|GX2f5?H-u?~4GN zT2sX`>qW*XEc+;ypZ}JLQ%M*k zeve3J%IFReUFbVhbfxbw@r@SSdyh!r$nxD=-dEoO<5#7xevaH%{0x!r&Kh7Lda_gZxIh7K>feM3iXElbVvdn5eFKWLHdn=9;lD{St$ zbg--E<_euoc;EgAyg!t_-5R-XIl@ms5K8^UUxpEW210cOA!WG2;};+_RCcKw8{Vb< z6$o{dNIerdQs@2f8xRI5dnSh%-ZR+>gd-J%!wn<+4unpMwRSLUOMd_%tsqp7jKJsT za5*qF%KsA_{ZW2X-x_nMwHjI^f20-$iEAwlr1eU_tTWs%B|w;=^vg|=`-Qim6bK6ygeMIn)C58c z1)*7F1RgQ(g^0N)BIbP&G1mg7*V?=hbKw@Ci;v=0F&$v|&u-Ht@a-cRuhd zoYwjqr?pyuqyK#1x~lAC_I%(3B|F(m$xgP?oYvxcXbFsNil(hD!1z(o!}pQ(z!5qFVK)U~ zm&gdkTbzINs(ZBC1!#JtPt#{Antn&ov~G`<*Mi9R=(+$&R~=;6g5=KpdvDXX@8tL1 zr@uYquT-?XVjF1NKfYC8*)>4h{tDt#6>aCMAm&!r4H)|XhqX+Dt4Ve!@DCeCMkND7+DWo(>np-Y6W3(WCT7o<%@|s14lnL ziyxW(tl=(@?~R*u_vYkUy?MQWF0ZmHkftjdn-*DPyiaxm!Yl=0reTELfiOowxXmy^ z4|ANB)6ocI3j4}|4PKfGqRA9?}dZ3W@Y z$OwFPF18j_zKo#Wi_se#{k5RK`0l#@MY-$#Z`zA>Dg$-*VsQT;Z^-KdB(rzp750Kl zKiVs4A`Sq)^Nx$T_ggrJpc@GeCJtAM1HoYc?Fy#pW&-`&b2UBh%a?iHpRW=6z4=3l zLxngfCOz;z@1L=##-}d5ZCoz;0@43Us70@Y7JnZi*Z1z!rV+xQA3BWwJ}vqI`3Tat z9SQAGx0)D^SHz-bjd@$;$qU)y{zlu%Z<@THZZGX4j-r;;5Ced7Vm(V-U@b4LR`u5F zYo#qjO{xgXh}!f%dR@^_bPydyXR)2=BD#t0^#1E!VsFt??1Oh;52P1hv#-2zz1~AT zH$>b^-=X3@`VJEh(07D5n$Vkwfk2OYECq2m790*vghP;h9S{3D1RTuU7w?N84kv=c zp^0z^>Wh=n7lRV%i$!$qzp-dfh$Do*+VC)NIJIi5cXY>k)EYzH7iZHb2JH z;&k-I5i#|J&KI3Yh&9BKKs*z^Xs+vv?l$I&?0!#+piyuX(6`kXJexF-7K3Brz~`Bx zfpRWc_;4BlL+Gb`5i>206oZ9)eS3=Nk|}OZtrSx|HQ>i+aXL~QqT;j&9S zPLGXAr@W?S1Yr#k=hJtnxRAcX#Btizx6P29S7~{QXq{g5to)k{l?1^KS}RB@4}5{B>a`;kx3A~$Aj_F^~8)XAv>yWPCM-w9~(v;qXM=rYLf@g{R{9PTL$%1)E0MsBo=D(Y&8*)t zQxiJi5dx0|{Mf^^*lM+(7rSAmZeCqi(!Wsc*^fJ1i(8+3w%w1FB3J8Yd*T3{HuB+* z(BfB%313h@j}ZRXo=1Ykz}nSl7H&*C>nV2~8}*fEo?ky7IFHc_QjTvJhE;_no=7*N zoLw=yfA%V*lKhm~zZXFMQyTeChm_BKa?reRJLxqoE(Chq^Fk1ZJHVlGn{v1d94^|X z9PR;!QQMTmz2Iz$eTd6dR^=L$8_uB1%1>Q{o=U6Uf93ZX_r{{RH871b$m>1TenQz3m;El2vyS|+7WgY@aH^l1^L^Yvs< zzgz>9t(xrADRCfb{vU^!trU zzXj5JDK@j8L7SNg>3_KUo=1KK7q9$2S+R z)3=3~4F=}sKh7Yiy6+7{8E?_|N^u()n5*sMzW8=X-$FH|jz8O6X3n3@f%MN6>6;=+ z=h_SEzki|s{*C^-!*Ks`?cE9KpDOL!7^!_+`dyIzydwR%NYeSpzMS+kLilqocLQ}` zZ9DR7EUs|##ZmL+ylwXYWqO$tn@uZ==C!!=xsYDHrXxL7)1>r!rSu9{dWA{p^C10d zS2L51YUVyjpX5rPXjJ4OyMhZvN;5Yl&Y{pb!x{piz>-p$RrY;QE{vIx@KxYAoil+LX-DCYYQV!r<( z=6ePV%*E{7uAYVT21?J@i`4TxDhq1gVxWFN>#b^HW^DPm=YX<_ZuoS(<)^jGdCMh` zzEP3BA(HgMEaO91#z(M>=fNN@%Xk6O*DLK?7pZ;R?p}oSwTkrj4N89r($^@`R~wYR z6w>FqbNt;#=lGW)eU-v}r9tk?Abo`*{cVHNUxD;D73s?jN`Dp7UsI&NYEb$=A$^%5 zeW^j|uR;0(*JkD$wVBr;{ZUu?!$zeqhx8|1>5m(g{syEka-}acD*a7Jf6kTutWoK2 zLHdiX^yiIAe;d-5xzd*!mHsbCf6bNts!{1HApK2O`f{Vv{|)IYT&-d`C>pzg*L(%YV1~r^} z4gLkSFD>2&gSgh<|Aq8j+?}tTBJOF^bOkn!bW``waj`dS8RmzlL=CW_w3^Cxg_ma2l}=U zKY)R`c%FN@A0d5_>qi$F^`k#Q`T|9J^CM}GbN?CA?H7rip6_GOYJY+BUW)Yn3`+kM z(wivK8yS@T8>GMJ_UiLSdvz^Vwga+|@(q$Z@#P^8~vP4z)a2N~pE57H;N+{YQ^ zULVp&yV6G)mEHi-D_!Xq7?s`-(kCnV_DPZQ?c7H;g7iZa=>rW)Zw%>!+_8Fy(XrYD z()%mi`x@ll6w(h+r1vr?y&0q*<7#HGQOz`m^b=g^#~GF00@6=$rJrO}dP_(@!1`o>2gTmI8MOCyQtz&h9B$M{wukhg zO2l!V!HA75{bv?6_!LFt_#eS#u=oI&Z^LHZ;``b2}$ zyFmIbioNe-(B8L)^r5c3pJ&wGyF$ACR-Ti2+aXfLEsqJhLHhHqpLx!xpXmAO#Q*Gaz{0sfG?=0iD)L7!Tiem2z4&(| z2O5>WKcx3^dv!mfz1j=X4|JvXF)F<`q@ShO`xyr9y$_@hSELU$DE$CPpQuQmU{Lyj zkUrV9nMp=%<{(I)u5h1bkb7T9pQT8jX;6AUNS~)jpKDNhe@LINNWVXl^ulHsi*A@~ zE~?SDg%|(^am{hn=+@~Sgbqu30b5-YO`g z-_@HQYt$?C-Hyd|P#+B531Dz=EDZQebqFvXRr>hhNPWzu9}4MDD$*Y}D18v5w^1_W ztqf+!4}iuCObNwm z5vB9W-=GSl!9cBFFW%ecjt0s+cP5)_bS66n(ob@G{RE@Eek`P)=1M=ssPy9?{VZ4d z8Ahca59t@U(nlJVegdS=aHZd5RQidKKF5`QTSV!61`0YKA@5*lNHbwtoCF4Oo&Pu) z(o5a(o{l))`3!Ulq?fzWYekgKwHM?~8k63di>CB#Ax;GYb1@8W-)WHEz-?c>i0$Lj zPlxm-uJlF`rE^~#WP4`-wK@6XG~ECdm))HSlwNMz_KVmyuDP=y{XkcGpNP`A-34h* zj@p(OwP%BYIqen0pfwnrW0(Qg@VSuwM`<>{y0z5Y*{bs(eT$Oc+nhjtuPyvWd-#nZ zU|`N~6gKvT0=1*@vB%Ma{N^yA|7HA^e{Q=$=$)bcF3|pP!`d&5L02&74hAC(GvK3V zB&4r%ql&c=qY5tld`NHMdcS57y&so;0iUk&kVbhNfr>WiBey|~#hrv}wbQl;lT(@V7S`Fp08 zXrC!|_mA%}j?toYWv`}M^g3&?D20uPXUJlji^cS9A^rg-=0*g!j%#4 z`lXQG-<96isPu7=KG>Chq*3YPA$@U)|4pqWA#VQnzQ&k4irtlbA)U3;vpXN%RVpRI&kX~JhP*ag2RL*^pl&+jbNJTn}z@=XS>D?6R+eeaK zm`73HQko0~<~$0Y?Sd@(N}%qJ=(^0{%9gi32wkoY_rSQi3QXb}S64%Nxni5OBH1Qy zUr_wM7ha@6Fn_v$B_Kn*F`(R+-v`w((YY;cb ziXG%r52bcj6ElFF^n867bbd>$?GEy2M*w@~Ho-m$*tc#I?4yA_Ynxyn3+&n31p9bk z-xe!&&=@HJi}zFyoF zD|V1yI~{g@cdR-O!aft&_iPhvxtBh7n_!=fcHbK-c95-|OW0S6dBBd#w*>X~z}oh> zzt3>Hc`oCANFPFVf!9`@QW;jSg-D57^deums3&@g0pcPtMqDb!iSgoUF-=@YWA6rW zqqs@jEM|zgVxCwh){BqC2Jtbi;Ow(557T>omUtv^wKD?!`GDbeaqOV}JfEn9=oih9nO!Yk`FCvRP&%3tqE{(67Wi+r~2 zudftW!DCM+-|qL-^_Z{jO&)uIIG4Wj#4~Aow{r=7%f*ZIZ7i12x4*cW+SgZnUELC0 zt*5|aA$?0y%^O(aZ_&FvB}Q9gtaRg)7;8f%ysymgs%r?og; zO1O4qR5Q^=Y%jWsLBw92HEfw>sdc3((T-T0UP{&U^zX~*|EMSG6PG5Usr&!#CUzG+ z#6iTWKd~Q3vPOx^XnvYWt>99hhSa51QkRuBQ>2EKxd<{}E|E-MDKR1Q8OU5-CG*XY zG8;0Ds(pJMy@^e?ep64Di)-k+gOGjrEO0BzEwQ(ip>I#C4t@8rKBI3}>m1t0>}*|2 zng1QdPU3p{xwF_sJXI!p{4(nK?W``Ep8qP7?RnlGi-EVes+~(hwlmm<)pp*fwDURO z_Eg%|ufE;3{B60JVkEoucFWav)h|fbwId=7=5=BPtdoEc#6K=#7kgwVM9ywvF>ebiDuR#b*hPP#JA!*@iYBt4{J|rFY6Y1 z!LWz5ueG1m+senISO!lMj|#CAJhmf`UnmcqFFKp_Ft=*98I`ic#Z`08GlbE*$|JoD zq|USky3^X5PV8Q6^`!3v>n-{>>C|s- z4`T2v*~p$T@pu6|UImY1sc+)8k$)CoBiEBYim{Qf_WD`@TzYI{dwmK0^E#N`PNU{P zpPf8Ob|P)`G58YcS4@wam%(E>c*t=xgL*0Xaq|jzya67IiNXIP?mEMyDw=NHyX+8V zS28R?L=31HP!UY1pf93C1q_G*K?PIB8*2faK~r$Sd(S6BB<|6l%iiFUk3J4Rw$a-F}vwa(71OCUFpSJ7Ud z%BrtZhh|l?`iu!Spx=p5bLfq!9Qq@2Xfi0Wa_CK^In=!E@bBQCpdhReZs}Zk!?GeS zxBv40JXg#*Q!Gnqsm5qGSd=|RePd$ptLz=sQs^j>x2WkIwCz%(^d_}x{c%caOm;w3 z=&!Qv{gqo~zePFyOLvQB*Qix`wr5WE%r4QK>1E#^X4WzJ)(>yfmT2wLx@Nj|=}@z* zc5!|9?{&Z9)x9lrYp!cZ-J0wEYu)d9b#D*dx*j)y?(};6U+aF4x(~w+r&UI#KcuEx zlem$yjGXTw=FUb2c^`38B()GRU7fp^2go29jPv0OvE#m;XTf(w?)812a_&JDcY4qk z_1noo59FI(!G|?!A`&a&++rJ4z_n#t)V@1OQ&hdXqS`%34wlw(2+uOyyLvy!khk<- z$@?%v-VLbW^0ChyGkdT7Bu-80d(KgGzwt5VJ92ZSvR%hVv_)rq=hUpvJWYAR+Ecr} z`8cC5XXNRds?OfU?u(unET_%iTRWvssIyY2wfFmlA@;Gi1QTOV1YWSLcO&joO8Pt% zabF@n%8R%OrSX={<`uO0kBVh}UQSJaRB&y+F4pGlt@A6_=FceU>y*vk!e(<)6+chX zb0nM1>gPt5pFgLj-vZa>NwGFRZuvQzw(seoXL+ut``<69?Yxw>IT&3ts&iwty_JWy zRn+zm=0m4~No_ST3(ZMv+LJS5wdLccRz#bjHYQ<|6@9jh&$ zzUjENvHJF%)3?7;eVZDqEuV4I*RL8*=uL`wfMkDMf3sV^9;GoJSRw&DYxdWmfNhp|(p>y-!yLSLD?DY}z(47wKB{ zEA>>u$#t_}0?+cFOiO} zzm@y7j=EZNyt<%1Z5n)(8n4T98n5b3janTwbP>*s&DBf$GpmG~OJ1k5k$) z!4UNEk<__y_f(}l0<-J-AQ6_G>h~x;^T=Q49~nBQAZGK?na}vGx5n=koKiFm@|y$s z_wUb){!Pxaf3D8V5!4FcA4uIdbt>`~b&kPY7!lOL2p$^LMSED#0Ii;2jR|_EMzd@b z?bDHbe7eE%Y0WM0X+F9(QkTwk^Ht`pIoCH?{W^j3FTYsHr(b_t{i?i``}L32uUcDq zyf$09O182t!L`w3sO#GxM0&n++kN^hiA-4$r!D4+V{5dB%P_PnWH{QDB9I?Sh_;GU zKzp6w5E$C)6om3yur7EMf4`TF@^C>V`A&Y24f41A8FUCchMmHE;v%&A)M+cnU;%aM z-1>DZ$6y6Z*X$gxrElq)U1;etU!dHYIU`|>SBI@UUKOo=Rpi{telNh5`mmCv>!Yna zUX?8$9<-HxSjFnsRO;G#K1^D=j`-KQM&bUX`jSBIDUwQPx05Ppx0fQcJIFR@camyo zca|dRHTUC7&=hg9Q*a*cJgXX13kKouHbI?WaNUZM2r31|L4#o1pi!`0kWY>>_d+E@ z%^SJild`38XzsX5>(YCHw%&MEr7m4hZigrHT~G4yp}B`F-LG8lE!t8aR=4`Kc`L8U zH7s2Nx3UjwT0VT5y0%_y)UtFvxs`R*wsal8mDjI2maZ$da-Oei={j`_`sJRDl~CG& zxF&V_e|TDB?~dzP_8zhY_U4lh>RYebq1AY${su3ef? zzSb^Nw(^|b!P52Hzs{|>`*26ghd&^f{MSC*$?DghxPKwv{E^RG-r3T1_7>!-d~`LX zF3lU0w(|Vi#nN>u`?dAXn#}$5>00y1tvp`4S-PIi@qYC!t!vHw`RRTg`mg6#<~<#D zEwH;aUIYGh4W0X3-h+BIA0C(ET+V-e-jiDF_4$vjxIXV?`LfNwUR%l^x8|0vYqs*7 z-kZ8~Z5h0k<8dFWU$eGyzxK6sUAvWande>7bNYxa$W{5r{(jVG$Nul=NmH(m9SU!(auci zJIv~v`F%`qE@pVTZ-X-Wc1LO7Dm!-xWIoHRciXq2e7)oL$%MI5W}ZwgDSf`UW$Kw? z^F(n4M`BxY)~jmn_$*F6mE3{%Mvs>Jh)VMP>?qX?dZ)yCF8h^6l`qB)IQ%g0*&sn`g+pgx#QzS!!qp0gV z`1zus7`k>VeNKBFu9KK2O8oaqRCD4zGau>w85(0pTm5;Kci2qBDsp_#7y8n(bxKCB zW|sCUA6*?RU9G9>9Oz1f3*f=Qse5{=W$3E4MY=j#y0l;4=hZLwoiv#>yzRqI)Ro`U zKKb~qb4Fh-&8si@=<1T8tJ_x7)ipzxd5`VZiM?YobS*~&ZXI36TDoeWNB_uvXvYLk zS#zpgMw}nBMRDHE(zVZ4*45q8wUFM^nYA@?MGs4t?Y-TQi~kYL^8b|&kIT@tik{4M zyxi+PyTigFIi50it69CY%CKt;x5CJ0ex8tF>yvrenvbp%EnWHqzj;5rLL~|DkTds{g)eUdu7Q5cmKScJ7wTGG*e^p% z!%{7-7tW)cLvr$h%Q=Xghiw7pU~;z2i8CLcoKLy8)AO%pWQc+cpKL5$#j<6&BQUdy zrJMB>*#*><+xzbF>BA7p)p`32Ms!Tj4Z71S@evt)=vq3ix%FY4^@Q(*dGx^@`=R7K zx@s;pX+FIlM!ENJ1mDOQ!9R=joUyFl*{0my$5lHQQAYzNLl zX^%E3N26^a9ntP5ozb?H;gnv8Gq~=-z34-?a1(y-7Tkw*aZoS{=U6?0hjCqXl{|v> z++YWM|Fd1tKIjx26S!;0vEW-K-O;`;$D#c|PC)yijG%_asMA`8hv5XaRk#N2eqq;| zA>WqJ8fQ8Oh6ja*;_v?90bx(PXW}FISU$mS!hXwQT-7;}@~0xJ$DW=d_k!Jr zr&hpGl>R&Xb5Wo*ZTY^Bw^^Uqz0;bNqbd8t)U(f-a_uK{-M!ZRJdGVg{s$8#W}~OE zdJ@|i@0OgG)sOZp8%vqFWs3N|YPEHf^#t$5lzR!Dl=q*#+s{77kB?o&T|$X=ZE`Jk zX`8a_GqTyNb$$KTy$)ow6;~6eWnFAs+3yF4_lL?o z-g-WEBIPzp#EoG-a(i3$PNLlNV(qox3=way#zt2w<|b3_%-ERw#CqO7n_P{HDU|pt zvSO}rkxlN6mc3IceMzjnb*#4$xX($Sf{axpr=#s4mr}}UHMdD!@e?mspNoIVn)g>y?r*X4-hK-}yj(kXU!^`p z#hB|n$}L{6rd&I}uKd^eRo}^AkKasc`6PCp+V5b<&F*V5>^?k4yWP6rVb%q+DDBa# zb%AS}UOTrd#D2^w=1%RJaxGAyZhy6cf4P3p-i(Tmgm>_erpam$;!32QsSkt zxz^4B@p9Fl_D+2cjKKP*POLE#%uie>0WV`RU_X{E$_v~g}qmF&oDCc`kC-SLhS5r zo(L?EJE$Wr$J?3R{lb0R&iqcwTbk3Eg}aV5z;3=s?jnD^s%F;e9ZUAL#Pq#NZg1^V z6n#(kjW|OJ#C}ir-IV(nbes{qfOCny!Pz+5=pFRJxb+E6z&V6@8}}l-S9oYJ0`FJJ zU&B2a8eYvqLoOpWm?L&C_561ucAv_t8dpKur%buU!2Oi?VNNmN`Z*Ub451eu$k_|# zOCDukdm0YzwlWIswK5j%b@CwY4NQh(!_#oqx+eHN*boe>S&3gOG4K7XjZ>i&c;|#` zXD$)<5G}MLP7rJH5to~9AEwk@a~du8y_@E(Q*~t$+Qsq+rA)zToVn|7T+JlrS_x{A z^u94Y&)oYH4}u@tN^i8+%Cwa40vQ`VN@->OyVT>q_`GM=7mra=?k8{V>c1^B$QA78 zVnX9NhKipHSxGMEYO5786rcX!ztG)G8lw1>4 zdTu9|`A7BB)L=)oX3&!v+nIUP9U;x}S8;@%p``LhD7UCtNJ%H>-0S#pp9#y-*Fm49 z)ZE5Bex^M~DYLAZmPpMrHx_g2>GPEKPtGUPZtk-)zzdX=&H&fJK9d2))vWBv0&bM# zlA~{c9}8p=b>y;A<<|Sflvh3Had!7~zZ973AZyU>C)$VEwDK0TMKT9%O?e;He)r%- z>iH9Tx&;aDb@xL1yV%u`>yz8S9mssN9mKq?qNCi2wv)U>Nxx#e28Poh@4T=8wa1Ur z8`PnJ(L6c0744MZ6SU)l?dulEgkWMYDe?}GIQcKp8C?Z4Cv)X=Yukr0_I2fTa!#mP-kOwKT)mNJzZ&G}x21W? z->z2LZ@Jn3W}fnEZ^Jgc03J~aL1+8U{E(Ebky`vfe` zu0^zK6=j_Px#jsLH;Hdk;*XSg6V5{ay~GD7@h3{$E{pG68#O*3MSPZsM(Gm#|7}@_ zo)*h$O6-hl(-XqQIJY!W`dmhox)S63_y%qKnG#F#im_kF^Fp~bMQ%1M=G^<0@*c?I zC-=-MbC+yabhk*w3z&Q!@6)?(A7hj+g#}o;^bE{ziFCvv}97+t!ii ziBt}HtZFiHGMGLUbS?j#TuaKe+~xR#9IxiVv7Q{S=fUwOIhK~o;pSBP8vh%(2H!pS zi!$spjWJctX`S9xXue{dTdY0B5!pa##sA4Hf0hzAQsT~8qBl1i-{O4OM2Xe2*yxVt z-{g6xTu-|k|B$2n9ZPOj-$y@ero8vE_`$V7aN?8<%Rgzzf8OI2wUAo=z9F}sy~3V_ zl(#y|c;qJWWlAid#5MoP>h&IDrUE7Ikj4A)bIqK7Cc`4M-JScW$8FJEdxpJCQ08Y@ zY|71V@3WT`DRE7fk#J+I5_vw%V`fw)$H#eaR3XQw<#OcK≪rB;~Ej5+CuSX>w-w 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 XIo}AT%YC4~mm=Bi@{*{$x%U47G4y8c diff --git a/resources/fsm/resources/tree-sitter/tree-sitter.wasm b/resources/fsm/resources/tree-sitter/tree-sitter.wasm deleted file mode 100644 index 747cd1007e7b0a4b91c81ec28bcb2b855aae18bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224972 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�PBi{k}c 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%0Dh{x8>D7iHRh(oaD( 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 diff --git a/resources/fsm/utils/fsm_parser.js b/resources/fsm/utils/fsm_parser.js deleted file mode 100644 index 8c428a9..0000000 --- a/resources/fsm/utils/fsm_parser.js +++ /dev/null @@ -1,1958 +0,0 @@ -const path = require('path'); - -async function get_svg_sm(language, code, comment_symbol) { - if (language === "vhdl") { - let parser = new Paser_fsm_vhdl(comment_symbol); - await parser.init(); - let stm = await parser.get_svg_sm(code); - return stm; - } - else if (language === "verilog" || language === "systemverilog") { - let parser = new Paser_fsm_verilog(comment_symbol); - await parser.init(); - let stm = await parser.get_svg_sm(code); - return stm; - } -} -module.exports = get_svg_sm; - -class Ts_base_parser { - constructor() { - this.command_end_regex = /@end/gm; - } - - search_multiple_in_tree(element, matching_title) { - var arr_match = []; - function recursive_searchTree(element, matching_title) { - let type = element.type; - if (type === matching_title) { - arr_match.push(element); - } else if (element !== null) { - var i; - var result = null; - for (i = 0; result === null && i < element.childCount; i++) { - result = recursive_searchTree(element.child(i), matching_title); - } - return result; - } - return null; - } - recursive_searchTree(element, matching_title); - return arr_match; - } - - search_in_tree(element, matching_title) { - var match = undefined; - function recursive_searchTree(element, matching_title) { - let type = element.type; - if (type === matching_title) { - match = element; - } else if (element !== null) { - var i; - var result = null; - for (i = 0; result === null && i < element.childCount; i++) { - result = recursive_searchTree(element.child(i), matching_title); - if (result !== null) { - break; - } - } - return result; - } - return null; - } - recursive_searchTree(element, matching_title); - return match; - } - - get_item_multiple_from_childs(p, type) { - if (p === undefined) { - return []; - } - let items = []; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === type) { - let item = cursor.currentNode(); - items.push(item); - } - } - while (cursor.gotoNextSibling() === true); - return items; - } - - get_item_from_childs(p, type) { - if (p === undefined) { - return undefined; - } - let item = undefined; - let cursor = p.walk(); - let break_p = false; - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === type) { - item = cursor.currentNode(); - break_p = true; - } - } - while (cursor.gotoNextSibling() === true && break_p === false); - return item; - } - - get_item_from_childs_last(p, type) { - if (p === undefined) { - return undefined; - } - let item = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === type) { - item = cursor.currentNode(); - } - } - while (cursor.gotoNextSibling() === true); - return item; - } - - parse_doxy(dic, file_type) { - if (dic.info === undefined) { - dic.info = {}; - } - // remove any spaces between linefeed and trim the string - let desc_root = dic[file_type]; - // always remove carriage return - desc_root.description = desc_root.description.replace(/\r/gm, ""); - // look for single line commands - const single_line_regex = /^\s*[@\\](file|date|title|custom_section_begin|custom_section_end)\s.+$/gm; - // get all matches for single line attributes - let matches_array = Array.from(desc_root.description.matchAll(single_line_regex)); - // add a new property for the newly found matches - if (matches_array.length > 0) { - dic.info = {}; - // append found matches - for (let index = 0; index < matches_array.length; index++) { - dic.info[matches_array[index][1]] = matches_array[index][0].replace(/^\s*[@\\](file|date|title|custom_section_begin|custom_section_end)/, "").trim(); - } - // clean up the description field - desc_root.description = desc_root.description.replace(single_line_regex, ""); - } - desc_root.description = desc_root.description.replace(/@copyright/gm, "\n@copyright"); - desc_root.description = desc_root.description.replace(/@author/gm, "\n@author"); - desc_root.description = desc_root.description.replace(/@version/gm, "\n@version"); - desc_root.description = desc_root.description.replace(/@project/gm, "\n@project"); - desc_root.description = desc_root.description.replace(/@brief/gm, "\n@brief"); - desc_root.description = desc_root.description.replace(/@details/gm, "\n@details"); - - Doxygen_parser.parse_copyright(dic, desc_root); - Doxygen_parser.parse_author(dic, desc_root); - Doxygen_parser.parse_version(dic, desc_root); - Doxygen_parser.parse_project(dic, desc_root); - Doxygen_parser.parse_brief(dic, desc_root); - Doxygen_parser.parse_details(dic, desc_root); - return dic; - } - - normalize_description(description) { - return description; - let desc_inst = description.replace(/\n\s*\n/g, '
            '); - desc_inst = desc_inst.replace(/\n/g, ''); - return desc_inst; - } - - get_comment(comment) { - if (comment === undefined) { - return ''; - } - let txt_comment = comment.slice(2); - if (this.comment_symbol === '') { - return txt_comment; - } - else if (txt_comment[0] === this.comment_symbol) { - return txt_comment.slice(1); - } - return ''; - } - - get_comment_with_break(comment) { - if (comment === undefined) { - return ''; - } - let txt_comment = comment.slice(2); - if (this.comment_symbol === '') { - return txt_comment + '\n'; - } - else if (txt_comment[0] === this.comment_symbol) { - return txt_comment.slice(1) + '\n'; - } - return ''; - } - - set_symbol(symbol) { - if (symbol === undefined) { - this.comment_symbol = ''; - } - else { - this.comment_symbol = symbol; - } - } - - parse_mermaid(dic, file_type) { - // the command regex - const mermaid_regex = /^\s*[@\\]mermaid\s*.*[@\\]end/gms; - // a variable to hold if a mermaid is found and currently opened - let mermaid_open = false; - // easy access to the entity description - let desc_root = dic[file_type]; - // hold the mermaid data - let mermaid = ""; - // always remove carriage return - desc_root.description = desc_root.description.replace(/\r/gm, ""); - let match = desc_root.description.match(mermaid_regex) - if (match !== undefined && match !== null && match.length > 0) { - desc_root.description = desc_root.description.replace(match[0], ""); - mermaid = match[0].replace(/[@\\]mermaid/gm, "") - mermaid = mermaid.replace(/[@\\]end/gm, "") - desc_root.description = desc_root.description.replace("\n\n", "") - dic[file_type]['description'] = desc_root.description - dic[file_type]['mermaid'] = mermaid; - } - return dic; - } - - parse_ports_group(dic) { - - const group_regex = /^\s*[@\\]portgroup\s.*$/gm; - let ports = dic.ports; - // hold the current group name - let group_name = ""; - // flag to check if a group is open - let group_open = false; - // loop along all ports - for (let i = 0; i < ports.length; i++) { - let group = ports[i].description.match(group_regex); - // look for a new group name - if (group !== null && group.length > 0) { - group_open = true; - ports[i].description = ports[i].description.replace(/^\s*[@\\]portgroup\s/gm, ""); - group_name = ports[i].description.match(/^\s*\w+/)[0]; - ports[i].description = ports[i].description.replace(group_name, ""); - } - - ports[i].group = group_name; - } - dic.ports = ports; - return dic; - } - parse_virtual_bus(dic) { - const virtual_bus_regex_followed = /^\s*[@\\]virtualbus\s.*\n\n/gms; - const virtual_bus_regex_not_followed = /^\s*[@\\]virtualbus\s.*/ - const virtual_bus_dir_regex = /^\s*[@\\]dir\s/gm; - const virtual_bus_keep_regex = /^\s*[@\\]keepports\s/gm - // the base struct is used to reset the virtual_bus_struct when needed - const virtual_bus_base_struct = { - "name": "", - "description": "", - "direction": "in", - "keep_ports": false, - "ports": [] - } - let ports = dic.ports; - // hold the indexes that gets removed from the ports list - let ports_to_remove = []; - // holds the current virtual bus and gets filled when a new one is encountered - let virtual_bus_struct = clone(virtual_bus_base_struct); - // holds all the found virtual buses found so for - let virtual_bus_array = []; - // indicates if a virtual bus is found in a port or not - let virtual_bus_open = false; - // loop along all ports - for (let i = 0; i < ports.length; i++) { - // strip description from \r if present to deal with \n exclusively - ports[i].description = ports[i].description.replace(/\r/gm, ""); - - let virtual_bus = ports[i].description.match(virtual_bus_regex_followed); - - if (virtual_bus === null) { - virtual_bus = ports[i].description.match(virtual_bus_regex_not_followed); - } - - if (virtual_bus !== null) { - if (virtual_bus_open) { - // new virtual bus is found and another one was still open, add the old one to the array and clean it - virtual_bus_array.push(clone(virtual_bus_struct)); - virtual_bus_struct = clone(virtual_bus_base_struct); - } - let virtual_bus_description = virtual_bus[0]; - // clean the port description from the found virtual bus command - dic.ports[i].description = ports[i].description.replace(virtual_bus_regex_not_followed, ""); - dic.ports[i].description = ports[i].description.replace(/\n\n/, ""); - dic.ports[i].description = ports[i].description.replace(this.command_end_regex, ""); - // strip virtual bus description from the command part - virtual_bus_description = virtual_bus_description.replace(/^\s*[@\\]virtualbus\s/, ""); - // construct the name and description of virtual bus - let virtual_bus_name = virtual_bus_description.match(/^\s*\w+/); - if (virtual_bus_name !== null) { - virtual_bus_name = virtual_bus_description.match(/^\s*\w+/)[0]; - } - else { - virtual_bus_name = ""; - } - virtual_bus_description = virtual_bus_description.replace(virtual_bus_name, ""); - let virtual_bus_dir = virtual_bus_description.match(virtual_bus_dir_regex); - // look for optional direction - if (virtual_bus_dir !== null && virtual_bus_dir.length > 0) { - virtual_bus_description = virtual_bus_description.replace(virtual_bus_dir[0], ""); - virtual_bus_description = virtual_bus_description.replace(/\n\n/, ""); - virtual_bus_dir = virtual_bus_description.match(/^\s*(out|in)/gm); - if (virtual_bus_dir !== null) { - virtual_bus_description = virtual_bus_description.replace(virtual_bus_dir[0], ""); - virtual_bus_struct.direction = virtual_bus_dir[0].trim(); - } else { - virtual_bus_struct.direction = "in"; - } - } - // look for optional flag to keep in signals in table - let keep_ports = virtual_bus_description.match(virtual_bus_keep_regex); - // look for optional direction - if (keep_ports !== null && keep_ports.length > 0) { - virtual_bus_description = virtual_bus_description.replace(keep_ports[0], ""); - virtual_bus_struct.keep_ports = true; - } - // update the virtual bus struct with the newly found fields - virtual_bus_struct.name = virtual_bus_name; - virtual_bus_struct.description = virtual_bus_description; - // keep the virtual bus opened to add incoming ports - virtual_bus_open = true; - } - - if (virtual_bus_open) { - // copy the port to the newly created virtualbus - virtual_bus_struct.ports.push(clone(ports[i])); - // append current index to be removed - ports_to_remove.push(clone(i)) - } - // remove any added \n to description - dic.ports[i].description = ports[i].description.replace(/\n/, ""); - - if (ports[i].description.match(this.command_end_regex) !== null) { - if (virtual_bus_open) { - virtual_bus_open = false; - for (let i = 0; i < virtual_bus_struct.ports.length; i++) { - virtual_bus_struct.ports[i].description = virtual_bus_struct.ports[i].description.replace(this.command_end_regex, ""); - } - virtual_bus_array.push(clone(virtual_bus_struct)); - virtual_bus_struct = clone(virtual_bus_base_struct); - } - } - } - if (virtual_bus_array.length > 0) { - // append the vbus to the json - dic.virtual_buses = virtual_bus_array; - // remove ports from the list - for (let index = 0; index < ports_to_remove.length; index++) { - const element = ports_to_remove[index]; - dic.ports.splice(element - index, 1) - } - for (let index = 0; index < virtual_bus_array.length; index++) { - const element = virtual_bus_array[index]; - dic.ports.push({ - "name": element.name, - "type": "virtual_bus", - "line": -1, - "direction": element.direction, - "default_value": "", - "description": element.description, - "group": "" - }); - } - } - return dic; - } - -} - -class Parser_fsm_base extends Ts_base_parser { - constructor() { - super(); - } - - check_empty_states_transitions(states) { - let check = true; - for (let i = 0; i < states.length; ++i) { - if (states[i].transitions.length !== 0) { - check = false; - } - } - return check; - } - - check_stm(stm) { - let check = false; - let states = stm.states; - for (let i = 0; i < states.length; ++i) { - let transitions = states[i].transitions; - if (transitions.length > 0) { - return true; - } - } - return check; - } - - json_to_svg(stm_json) { - let stmcat = this.get_smcat(stm_json); - const smcat = require("./state-machine-cat"); - let svg; - try { - console.error = function () { }; - svg = smcat.render(stmcat, { outputType: "svg" }); - } - // eslint-disable-next-line no-empty - catch (e) { } - return svg; - } - - get_smcat(stm_json) { - let sm_states = ''; - let sm_transitions = ''; - - let states = stm_json.states; - let state_names = []; - for (let i = 0; i < states.length; ++i) { - if (states[i].transitions.length === 0) { - state_names.push(states[i].name); - } - } - let emptys = []; - for (let i = 0; i < state_names.length; ++i) { - let empty = true; - for (let j = 0; j < states.length; ++j) { - for (let m = 0; m < states[j].transitions.length; ++m) { - if (states[j].transitions[m].destination === state_names[i]) { - empty = false; - } - } - } - if (empty === true) { - emptys.push(state_names[i]); - } - } - - let gosth = []; - state_names = []; - for (let i = 0; i < states.length; ++i) { - state_names.push(states[i].name); - } - for (let j = 0; j < states.length; ++j) { - for (let m = 0; m < states[j].transitions.length; ++m) { - if (state_names.includes(states[j].transitions[m].destination) === false) { - let element = { 'name': states[j].transitions[m].destination, 'transitions': [] }; - stm_json.states.push(element); - gosth.push(states[j].transitions[m].destination); - } - } - } - let num_states = stm_json.states.length; - stm_json.states.forEach(function (i_state, i) { - let transitions = i_state.transitions; - let state_name = i_state.name; - if (emptys.includes(state_name) === true || gosth.includes(state_name) === true) { - sm_states += `${state_name} [color="red"]`; - } - else { - sm_states += `${state_name}`; - } - if (i !== num_states - 1) { - sm_states += ','; - } - else { - sm_states += ';\n'; - } - if (gosth.includes(state_name) !== true) { - transitions.forEach(function (i_transition, j) { - if (gosth.includes(i_transition.destination) === true) { - sm_transitions += - `${state_name} => ${i_transition.destination} [color="red"] : ${i_transition.condition};\n`; - } - else { - sm_transitions += `${state_name} => ${i_transition.destination} : ${i_transition.condition};\n`; - } - }); - } - }); - let str_stm = stm_json.state_variable_name + "{\n" + sm_states + sm_transitions + "\n};"; - return str_stm; - } - - only_unique(value, index, self) { - return self.indexOf(value) === index; - } - - get_comment(comment) { - if (comment === undefined) { - return ''; - } - let txt_comment = comment.slice(2); - if (this.comment_symbol === '') { - return txt_comment + '\n'; - } - else if (txt_comment[0] === this.comment_symbol) { - return txt_comment.slice(1).trim() + '\n'; - } - return ''; - } - - set_symbol(symbol) { - if (symbol === undefined) { - this.comment_symbol = ''; - } - else { - this.comment_symbol = symbol; - } - } - -} - -class Paser_fsm_verilog extends Parser_fsm_base { - constructor(comment_symbol, parser) { - super(); - this.set_symbol(comment_symbol); - if (parser !== undefined) { - this.parser = parser; - this.loaded_wasm = true; - } - } - - set_comment_symbol(comment_symbol) { - this.set_symbol(comment_symbol); - } - - async init() { - if (this.loaded_wasm !== true) { - try { - const Parser = require('./tree-sitter'); - await Parser.init(); - this.parser = new Parser(); - let Lang = await Parser.Language.load(path.join( - path.dirname(__dirname), - path.sep + "resources" + - path.sep + "tree-sitter" + - path.sep + "tree-sitter-verilog.wasm")); - this.parser.setLanguage(Lang); - this.loaded_wasm = true; - } - catch (e) { } - } - } - - async get_svg_sm(code, comment_symbol) { - this.set_symbol(comment_symbol); - let process; - try { - const tree = this.parser.parse(code); - process = this.get_process(tree); - } - catch (e) { - return { 'svg': [], 'stm': [] }; - } - let stm = []; - let svg = []; - for (let i = 0; i < process.length; ++i) { - let states; - try { - states = this.get_process_info(process[i]); - } - catch (e) { - states = undefined; - } - if (states !== undefined) { - for (let j = 0; j < states.length; ++j) { - if (this.check_stm(states[j]) === true) { - stm.push(states[j]); - let svg_tmp = this.json_to_svg(states[j]); - let stm_tmp = { - 'svg': svg_tmp, - 'description': states[j].description - }; - svg.push(stm_tmp); - } - } - } - } - return { 'svg': svg, 'stm': stm }; - } - - get_process(tree) { - let process_array = []; - let arch_body = this.get_architecture_body(tree); - let cursor = arch_body.walk(); - let comments = ''; - // Process - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'module_or_generate_item') { - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'always_construct') { - let process = { - 'code': this.get_deep_process(cursor.currentNode()), - 'comments': comments.trim() - }; - process_array.push(process); - comments = ''; - } - else { - comments = ''; - } - } - while (cursor.gotoNextSibling() !== false); - cursor.gotoParent(); - } - else if (cursor.nodeType === 'comment') { - comments += this.get_comment(cursor.nodeText); - } - else { - comments = ''; - } - } - while (cursor.gotoNextSibling() !== false); - return process_array; - } - - get_deep_process(p) { - let statement = this.get_item_from_childs(p, 'statement'); - let statement_item = this.get_item_from_childs(statement, 'statement_item'); - let procedural_timing_control_statement = - this.get_item_from_childs(statement_item, 'procedural_timing_control_statement'); - if (procedural_timing_control_statement === undefined) { - let seq_block = this.get_item_from_childs(statement_item, 'seq_block'); - return seq_block; - } - let statement_or_null = this.get_item_from_childs(procedural_timing_control_statement, 'statement_or_null'); - let statement_2 = this.get_item_from_childs(statement_or_null, 'statement'); - let statement_item_2 = this.get_item_from_childs(statement_2, 'statement_item'); - let seq_block = this.get_item_from_childs(statement_item_2, 'seq_block'); - if (seq_block === undefined) { - let cond_statement = this.get_item_from_childs(statement_item_2, 'conditional_statement'); - return cond_statement; - } - - return seq_block; - } - - get_architecture_body(p) { - let break_p = false; - let arch_body = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'module_declaration') { - arch_body = cursor.currentNode(); - break_p = true; - } - } - while (cursor.gotoNextSibling() === true && break_p === false); - return arch_body; - } - - get_process_info(proc) { - let stms = []; - - let p = proc.code; - let name = this.get_process_label(p); - let case_statements = this.get_case_process(p); - for (let i = 0; i < case_statements.length; ++i) { - let description = proc.comments; - let p_info = { - 'description': description.replace('fsm_extract', ''), - 'name': '', - 'state_variable_name': '', - 'states': [] - }; - p_info.name = name; - if (case_statements !== undefined && case_statements.length !== 0) { - p_info.state_variable_name = this.get_state_variable_name(case_statements[i]); - p_info.states = this.get_states(case_statements[i], p_info.state_variable_name); - let check = this.check_empty_states_transitions(p_info.states); - if (check === true) { - let result = this.force_case_stm(case_statements[i]); - p_info.state_variable_name = result.variable_name; - p_info.states = result.states; - } - stms.push(p_info); - } - } - return stms; - } - - ////////////////////////////////////////////////////////////////////////////// - // Force - ////////////////////////////////////////////////////////////////////////////// - force_case_stm(p) { - let state_names = this.get_state_names_from_case(p); - let state_name_candidate = this.search_state_variable_candidates(p, state_names); - let states = this.get_states(p, state_name_candidate); - return { 'variable_name': state_name_candidate, 'states': states }; - } - - get_state_names_from_case(p) { - let state_names = []; - let state_names_case = this.search_multiple_in_tree(p, 'case_item_expression'); - for (let i = 0; i < state_names_case.length; ++i) { - state_names.push(state_names_case[i].text); - } - return state_names; - } - - search_state_variable_candidates(p, state_names) { - let candidates = []; - let signals = this.search_multiple_in_tree(p, 'blocking_assignment'); - for (let i = 0; i < signals.length; ++i) { - let rigth = this.get_rigth_simple_waveform_assignment(signals[i]); - if (rigth !== undefined) { - let left = this.get_left_simple_waveform_assignment(signals[i]); - if (state_names.includes(rigth) === true) { - candidates.push(left); - } - } - } - - let variables = this.search_multiple_in_tree(p, 'nonblocking_assignment'); - for (let i = 0; i < variables.length; ++i) { - let rigth = this.get_rigth_simple_variable_assignment(variables[i]); - if (rigth !== undefined) { - let left = this.get_rigth_simple_variable_assignment(variables[i]); - if (state_names.includes(rigth) === true) { - candidates.push(left); - } - } - } - let unique = this.mode(candidates); - return unique; - } - - mode(array) { - if (array.length == 0) - return null; - var mode_map = {}; - var max_el = array[0], max_count = 1; - for (var i = 0; i < array.length; i++) { - var el = array[i]; - if (mode_map[el] == null) - mode_map[el] = 1; - else - mode_map[el]++; - if (mode_map[el] > max_count) { - max_el = el; - max_count = mode_map[el]; - } - } - return max_el; - } - ////////////////////////////////////////////////////////////////////////////// - - get_states(p, state_variable_name) { - let case_items = this.get_item_multiple_from_childs(p, 'case_item'); - let case_state = []; - for (let i = 0; i < case_items.length; ++i) { - let state = { - 'name': '', - 'transitions': [], - 'start_position': [], - 'end_position': [] - }; - let result = this.get_item_from_childs(case_items[i], 'case_item_expression'); - if (result !== undefined && result.text !== 'default') { - state.name = result.text; - state.start_position = [result.startPosition.row, result.startPosition.column]; - state.end_position = [result.endPosition.row, result.endPosition.column]; - state.transitions = this.get_transitions(case_items[i], state_variable_name); - - case_state.push(state); - } - } - return case_state; - } - - get_transitions(p, state_variable_name, metacondition) { - let assign_transitions = []; - let if_transitions = []; - let last_transitions = []; - let transitions = []; - let skip = false; - let last = 0; - - let statement_or_null; - if (p.type !== 'statement_or_null') { - statement_or_null = this.get_item_from_childs(p, 'statement_or_null'); - } - else { - statement_or_null = p.walk().currentNode(); - } - let statement = this.get_item_from_childs(statement_or_null, 'statement'); - let statement_item = this.get_item_from_childs(statement, 'statement_item'); - let seq_block = this.get_item_from_childs(statement_item, 'seq_block'); - let itera_item = []; - if (seq_block === undefined) { - itera_item = [statement_item]; - skip = true; - } - else { - itera_item = this.get_item_multiple_from_childs(seq_block, 'statement_or_null'); - } - for (let i = 0; i < itera_item.length; ++i) { - let statement_item_2 = itera_item[i]; - if (skip === false) { - let statement_2 = this.get_item_from_childs(itera_item[i], 'statement'); - statement_item_2 = this.get_item_from_childs(statement_2, 'statement_item'); - } - //Search if - let type; - let block; - let if_statement = this.get_item_from_childs(statement_item_2, 'conditional_statement'); - if (if_statement === undefined) { - //Search assignment - let assign_statement = this.get_item_from_childs(statement_item_2, 'blocking_assignment'); - if (assign_statement !== undefined) { - type = 'simple_waveform_assignment'; - block = assign_statement; - } - else { - let nonassign_statement = this.get_item_from_childs(statement_item_2, 'nonblocking_assignment'); - if (nonassign_statement !== undefined) { - type = 'simple_waveform_assignment'; - block = nonassign_statement; - } - } - } - else { - type = 'if_statement'; - block = if_statement; - } - - if (type === 'if_statement') { - let tmp_transitions = this.get_if_transitions(block, state_variable_name, metacondition); - if_transitions = if_transitions.concat(tmp_transitions); - last = 0; - } - else if (type === 'simple_waveform_assignment') { - let tmp_transitions = this.get_assignament_transitions(block, state_variable_name, metacondition); - if (tmp_transitions.length !== 0 && tmp_transitions !== undefined) { - assign_transitions = tmp_transitions; - last_transitions = tmp_transitions; - last = 1; - } - } - } - - if (last === 1) { - transitions = last_transitions; - } - else { - transitions = if_transitions.concat(assign_transitions); - } - return transitions; - } - - get_if_transitions(p, state_variable_name, metacondition) { - let transitions = []; - let ifs = this.get_if_elsif_else(p); - //Set else condition - let conditions = []; - let else_condition = ''; - for (let i = 0; i < ifs.length; ++i) { - let condition = ifs[i].condition; - if (condition !== '' && conditions.includes(condition) === false) { - else_condition += `not (${condition})\n`; - } - else { - let tmp_condition = else_condition.slice(0, -1); - //Remove duplicate conditions - let current_conditions = tmp_condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - ifs[i].condition = condition; - } - conditions.push(condition); - } - - for (let i = 0; i < ifs.length; ++i) { - let transition = this.get_transition(ifs[i], state_variable_name, metacondition); - if (transition !== undefined) { - transitions = transitions.concat(transition); - } - } - return transitions; - } - - get_if_elsif_else(p) { - let ifs = []; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'else') { - let break_p = false; - while (break_p === false && cursor.gotoNextSibling() !== false) { - if (cursor.nodeType === 'statement_or_null') { - let item = this.get_item_from_childs(cursor.currentNode(), 'statement'); - let statement_item = this.get_item_from_childs(item, 'statement_item'); - - let block_item = this.get_item_from_childs(statement_item, 'seq_block'); - if (block_item !== undefined) { - item = this.get_item_from_childs(block_item, 'statement_or_null'); - item = this.get_item_from_childs(item, 'statement'); - statement_item = this.get_item_from_childs(item, 'statement_item'); - } - item = this.get_item_from_childs(statement_item, 'conditional_statement'); - if (item !== undefined) { - let tmp_ifs = this.get_if_elsif_else(item); - ifs = ifs.concat(tmp_ifs); - } - else { - let if_item_else = { - 'condition': '', - 'code': '', - 'start_position': '', - 'end_position': '' - }; - - let blocking_assignment = this.get_item_from_childs(statement_item, 'blocking_assignment'); - if (blocking_assignment !== undefined) { - if (block_item !== undefined) { - if_item_else.code = block_item; - // if_item_else.start_position = start_position; - // if_item_else.end_position = end_position; - } - else { - if_item_else.code = statement_item; - // if_item_else.start_position = start_position; - // if_item_else.end_position = end_position; - } - ifs.push(if_item_else); - } - else { - let nonblocking_assignment = this.get_item_from_childs(statement_item, 'nonblocking_assignment'); - if (nonblocking_assignment !== undefined) { - if (block_item !== undefined) { - if_item_else.code = block_item; - // if_item_else.start_position = start_position; - // if_item_else.end_position = end_position; - } - else { - if_item_else.code = statement_item; - // if_item_else.start_position = start_position; - // if_item_else.end_position = end_position; - } - ifs.push(if_item_else); - } - } - } - } - } - } - else if (cursor.nodeType === 'if') { - let break_p = false; - let if_item = { - 'condition': '', - 'code': '' - }; - while (break_p === false && cursor.gotoNextSibling() !== false) { - if (cursor.nodeType === 'cond_predicate') { - let item = this.get_item_from_childs(cursor.currentNode(), 'expression_or_cond_pattern'); - if (item !== undefined) { - if_item.condition = item.text; - if_item.start_position = item.startPosition; - if_item.end_position = item.endPosition; - } - } - else if (cursor.nodeType === 'statement_or_null') { - let item = this.get_item_from_childs(cursor.currentNode(), 'statement'); - item = this.get_item_from_childs(item, 'statement_item'); - if (this.get_item_from_childs(item, 'seq_block') !== undefined) { - item = this.get_item_from_childs(item, 'seq_block'); - if_item.start_position = item.startPosition; - if_item.end_position = item.endPosition; - // item = this.get_item_from_childs(item, 'statement_or_null'); - // item = this.get_item_from_childs(item, 'statement'); - // item = this.get_item_from_childs(item, 'statement_item'); - } - if_item.code = item; - break_p = true; - ifs.push(if_item); - } - } - } - } - while (cursor.gotoNextSibling() !== false); - return ifs; - } - - get_assignament_transitions(p, state_variable_name, metacondition) { - let transitions = []; - - let tmp_destination = this.check_get_simple_waveform_assignment(p, state_variable_name); - if (tmp_destination !== undefined) { - let s_position = p.startPosition; - let e_position = p.endPosition; - let start_position = [s_position.row, e_position.column - 1]; - let end_position = [e_position.row, e_position.column]; - - let condition = ''; - if (metacondition !== '' && metacondition !== undefined) { - condition = metacondition; - } - - let destination = tmp_destination; - let transition = { - 'condition': condition, - 'destination': destination, - 'start_position': start_position, - 'end_position': end_position - }; - transitions.push(transition); - } - return transitions; - } - - get_transition(p, state_variable_name, metacondition) { - let condition = p.condition; - let tmp_start_position = p.start_position; - let tmp_end_position = p.end_position; - - let start_position = [tmp_start_position.row, tmp_start_position.column]; - let end_position = [tmp_end_position.row, tmp_end_position.column]; - let transitions = this.get_transitions_in_if(p.code, state_variable_name, - condition, start_position, end_position, metacondition); - return transitions; - } - - get_start_position_array(p) { - let tmp_position = p.code.startPosition; - return tmp_position; - } - - get_end_position_array(p) { - let tmp_position = p.code.endPosition; - return tmp_position; - } - - get_transitions_in_if(p, state_variable_name, condition, start_position, end_position, metacondition) { - let last = 0; - let last_transitions = []; - //if transitions - let if_transitions = []; - //assign transitions - let assign_transitions = []; - let transitions = []; - let destination = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'blocking_assignment' || cursor.nodeType === 'nonblocking_assignment') { - let tmp_destination = this.check_get_simple_waveform_assignment(cursor.currentNode(), state_variable_name); - if (tmp_destination !== undefined) { - destination = tmp_destination; - if (condition !== undefined && destination !== undefined) { - let transition = { - 'condition': '', - 'destination': '', - 'start_position': start_position, - 'end_position': end_position - }; - if (metacondition !== undefined && metacondition !== '') { - condition += `\n${metacondition}`; - let current_conditions = condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - } - - transition.condition = condition; - transition.destination = destination; - last = 1; - assign_transitions = [transition]; - last_transitions = [transition]; - } - } - } - else if (cursor.nodeType === 'simple_variable_assignment') { - let tmp_destination = this.check_get_simple_variable_assignment(cursor.currentNode(), state_variable_name); - if (tmp_destination !== undefined) { - destination = tmp_destination; - if (condition !== undefined && destination !== undefined) { - let transition = { - 'condition': '', - 'destination': '', - 'start_position': start_position, - 'end_position': end_position - }; - if (metacondition !== undefined && metacondition !== '') { - condition += `\n${metacondition}`; - let current_conditions = condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - } - - transition.condition = condition; - transition.destination = destination; - last = 1; - assign_transitions = [transition]; - last_transitions = [transition]; - } - } - } - else if (cursor.nodeType === 'conditional_statement') { - last = 0; - let if_transitions_tmp = this.get_if_transitions(cursor.currentNode(), state_variable_name, condition); - if_transitions = if_transitions.concat(if_transitions_tmp); - } - else if (cursor.nodeType === 'statement_or_null') { - last = 0; - - //check assignement - let item = this.get_item_from_childs(cursor.currentNode(), 'statement'); - item = this.get_item_from_childs(item, 'statement_item'); - let item_0 = this.get_item_from_childs(item, 'blocking_assignment'); - let item_1 = this.get_item_from_childs(item, 'nonblocking_assignment'); - let if_item = true; - if (item_0 !== undefined || item_1 !== undefined) { - if_item = false; - } - if (metacondition !== undefined && metacondition !== '') { - condition += `\n${metacondition}`; - let current_conditions = condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - } - - let if_transitions_tmp = []; - //check block if - let item_block_if = this.get_item_from_childs(item, 'conditional_statement'); - if (item_block_if === undefined) { - if_transitions_tmp = this.get_transitions(cursor.currentNode(), state_variable_name, condition); - } - else { - if_transitions_tmp = this.get_if_transitions(item_block_if, state_variable_name, condition); - } - - if (if_item === false) { - if (if_transitions_tmp.length !== 0) { - assign_transitions = if_transitions_tmp; - last_transitions = if_transitions_tmp; - } - } - else { - if_transitions = if_transitions.concat(if_transitions_tmp); - } - - } - } - while (cursor.gotoNextSibling() !== false); - - - if (last !== 0) { - transitions = last_transitions; - } - else { - transitions = if_transitions.concat(assign_transitions); - } - return transitions; - } - - check_get_simple_waveform_assignment(p, state_variable_name) { - let destination = undefined; - let left = this.get_left_simple_waveform_assignment(p); - if (left === state_variable_name) { - destination = this.get_rigth_simple_waveform_assignment(p); - } - return destination; - } - - check_get_simple_variable_assignment(p, state_variable_name) { - let destination = undefined; - let left = this.get_left_simple_waveform_assignment(p); - if (left === state_variable_name) { - destination = this.get_rigth_simple_variable_assignment(p); - } - return destination; - } - - get_left_simple_waveform_assignment(p) { - let left = ''; - let item = this.get_item_from_childs(p, 'operator_assignment'); - item = this.get_item_from_childs(item, 'variable_lvalue'); - if (item !== undefined) { - left = item.text; - } - if (left === '') { - item = this.get_item_from_childs(p, 'variable_lvalue'); - if (item !== undefined) { - left = item.text; - } - } - return left; - } - - get_rigth_simple_waveform_assignment(p) { - let rigth = undefined; - let item = this.get_item_from_childs(p, 'operator_assignment'); - item = this.get_item_from_childs(item, 'expression'); - if (item !== undefined) { - rigth = item.text; - } - if (rigth === undefined) { - item = this.get_item_from_childs(p, 'expression'); - if (item !== undefined) { - rigth = item.text; - } - } - return rigth; - } - - get_rigth_simple_variable_assignment(p) { - let rigth = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'simple_name') { - rigth = cursor.nodeText; - } - } - while (cursor.gotoNextSibling() !== false); - return rigth; - } - - get_state_variable_name(p) { - let state_variable_name = undefined; - let case_expression = this.get_item_from_childs(p, 'case_expression'); - if (case_expression !== undefined) { - state_variable_name = case_expression.text; - } - return state_variable_name; - } - - get_case_process(p) { - let case_statement = this.search_multiple_in_tree(p, 'case_statement'); - return case_statement; - } - - get_process_label(p) { - let label_txt = ''; - let label = this.get_item_from_childs(p, "block_identifier"); - if (label === undefined) { - label_txt = '' - } - else { - label_txt = label.text; - } - return label_txt; - } -} - -class Paser_fsm_vhdl extends Parser_fsm_base { - constructor(comment_symbol, parser) { - super(); - this.set_symbol(comment_symbol); - if (parser !== undefined) { - this.parser = parser; - this.loaded_wasm = true; - } - } - - async init() { - if (this.loaded_wasm !== true) { - try { - const Parser = require('./tree-sitter'); - await Parser.init(); - this.parser = new Parser(); - let Lang = await - Parser.Language.load(path.join( - path.dirname(__dirname), - path.sep + "resources" + - path.sep + "tree-sitter" + - path.sep + "tree-sitter-vhdl.wasm")); - this.parser.setLanguage(Lang); - this.loaded_wasm = true; - } catch (e) { } - } - } - - set_comment_symbol(comment_symbol) { - this.set_symbol(comment_symbol); - } - - async get_svg_sm(code, comment_symbol) { - this.set_comment_symbol(comment_symbol); - - let process; - let tree; - try { - tree = this.parser.parse(code); - process = this.get_process(tree); - } catch (e) { - return { 'svg': [], 'stm': [] }; - } - let stm = []; - let svg = []; - for (let i = 0; i < process.length; ++i) { - let states; - try { - states = this.get_process_info(process[i]); - } catch (e) { - states = undefined; - } - if (states !== undefined) { - for (let j = 0; j < states.length; ++j) { - if (this.check_stm(states[j]) === true) { - stm.push(states[j]); - let svg_tmp = this.json_to_svg(states[j]); - let stm_tmp = { - 'svg': svg_tmp, - 'description': states[j].description - }; - svg.push(stm_tmp); - } - } - } - } - return { 'svg': svg, 'stm': stm }; - } - - get_process(tree) { - let process_array = []; - let arch_body = this.get_architecture_body(tree); - let cursor = arch_body.walk(); - let comments = ''; - // Process - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'process_statement') { - let process = { - 'code': cursor.currentNode(), - 'comments': comments - }; - process_array.push(process); - comments = ''; - } else if (cursor.nodeType === 'comment') { - comments += this.get_comment(cursor.nodeText); - } else { - comments = ''; - } - } - while (cursor.gotoNextSibling() !== false); - return process_array; - } - - get_architecture_body(p) { - let cursor = p.walk(); - let item = this.get_item_multiple_from_childs(cursor.currentNode(), 'design_unit'); - if (item.length === 2) { - item = this.get_item_from_childs(item[1], 'architecture_body'); - item = this.get_item_from_childs(item, 'concurrent_statement_part'); - return item; - } else { - return undefined; - } - } - - get_process_info(proc) { - let stms = []; - - let p = proc.code; - let name = this.get_process_label(p); - let case_statements = this.get_case_process(p); - for (let i = 0; i < case_statements.length; ++i) { - let description = proc.comments; - let p_info = { - 'description': description.replace('fsm_extract', ''), - 'name': '', - 'state_variable_name': '', - 'states': [] - }; - p_info.name = name; - if (case_statements !== undefined && case_statements.length !== 0) { - p_info.state_variable_name = this.get_state_variable_name(case_statements[i]); - p_info.states = this.get_states(case_statements[i], p_info.state_variable_name); - let check = this.check_empty_states_transitions(p_info.states); - if (check === true) { - let result = this.force_case_stm(case_statements[i]); - p_info.state_variable_name = result.variable_name; - p_info.states = result.states; - } - stms.push(p_info); - } - } - return stms; - } - - force_case_stm(p) { - let state_names = this.get_state_names_from_case(p).map(v => v.toLowerCase()); - let state_name_candidate = this.search_state_variable_candidates(p, state_names); - let states = this.get_states(p, state_name_candidate); - return { 'variable_name': state_name_candidate, 'states': states }; - } - - search_state_variable_candidates(p, state_names) { - let candidates = []; - let signals = this.search_multiple_in_tree(p, 'simple_waveform_assignment'); - for (let i = 0; i < signals.length; ++i) { - let rigth = this.get_item_from_childs(signals[i], 'waveforms'); - if (rigth !== undefined) { - let rigth_text = rigth.text.toLowerCase(); - let left = this.get_left_simple_waveform_assignment(signals[i]); - if (state_names.includes(rigth_text) === true) { - candidates.push(left); - } - } - } - - let variables = this.search_multiple_in_tree(p, 'simple_variable_assignment'); - for (let i = 0; i < variables.length; ++i) { - let rigth = this.get_item_from_childs(variables[i], 'waveforms'); - if (rigth === undefined) { - rigth = this.get_item_from_childs_last(variables[i], 'simple_name'); - } - if (rigth !== undefined) { - let rigth_text = rigth.text.toLowerCase(); - let left = this.get_left_simple_waveform_assignment(variables[i]); - if (state_names.includes(rigth_text) === true) { - candidates.push(left); - } - } - } - let unique = this.mode(candidates); - return unique; - } - - mode(array) { - if (array.length === 0) { - return null; - } - var mode_map = {}; - var max_el = array[0], - max_count = 1; - for (var i = 0; i < array.length; i++) { - var el = array[i]; - if (mode_map[el] == null) { - mode_map[el] = 1; - } else { - mode_map[el]++; - } - if (mode_map[el] > max_count) { - max_el = el; - max_count = mode_map[el]; - } - } - return max_el; - } - - get_state_names_from_case(p) { - let state_names = []; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'case_statement_alternative') { - let result = this.get_state_name(cursor.currentNode()); - let name = result.state_name; - state_names.push(name); - } - } - while (cursor.gotoNextSibling() !== false); - return state_names; - } - - - - get_states(p, state_variable_name) { - let case_state = []; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'case_statement_alternative') { - let state = { - 'name': '', - 'transitions': [], - 'start_position': [], - 'end_position': [] - }; - let result = this.get_state_name(cursor.currentNode()); - let name = result.state_name; - if (name !== undefined && name.toLocaleLowerCase() !== 'others') { - state.name = result.state_name; - state.start_position = result.start_position; - state.end_position = result.end_position; - state.transitions = this.get_transitions(cursor.currentNode(), state_variable_name); - - case_state.push(state); - } - } - } - while (cursor.gotoNextSibling() !== false); - return case_state; - } - - get_transitions(p, state_variable_name) { - let transitions = []; - let cursor = p.walk(); - let last = 0; - let last_transitions = []; - //if transitions - let if_transitions = []; - //assign transitions - let assign_transitions = []; - - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'sequence_of_statements') { - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'if_statement') { - let tmp_transitions = this.get_if_transitions(cursor.currentNode(), state_variable_name); - if_transitions = if_transitions.concat(tmp_transitions); - last = 0; - } else if (cursor.nodeType === 'simple_waveform_assignment') { - let tmp_transitions = this.get_assignament_transitions( - cursor.currentNode(), state_variable_name); - if (tmp_transitions.length !== 0 && tmp_transitions !== undefined) { - assign_transitions = tmp_transitions; - last_transitions = tmp_transitions; - last = 1; - } - } else if (cursor.nodeType === 'simple_variable_assignment') { - let tmp_transitions = this.get_assignament_variable_transitions( - cursor.currentNode(), state_variable_name); - if (tmp_transitions.length !== 0 && tmp_transitions !== undefined) { - assign_transitions = tmp_transitions; - last_transitions = tmp_transitions; - last = 1; - } - } else if (cursor.nodeType === 'case_statement') { - let tmp_transitions = this.get_case_transitions(cursor.currentNode(), state_variable_name); - if_transitions = if_transitions.concat(tmp_transitions); - last = 0; - } - } - while (cursor.gotoNextSibling() !== false); - } - } - while (cursor.gotoNextSibling() !== false); - if (last === 1) { - transitions = last_transitions; - } else { - transitions = if_transitions.concat(assign_transitions); - } - return transitions; - } - - get_if_transitions(p, state_variable_name, metacondition) { - let transitions = []; - let cursor = p.walk(); - let else_conditions = ''; - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'elsif' || cursor.nodeType === 'if') { - let if_condition = this.get_condition(cursor.currentNode()); - if (if_condition !== undefined) { - else_conditions += `not (${if_condition.condition})\n`; - } - let transition = this.get_transition(cursor.currentNode(), state_variable_name, metacondition); - if (transition !== undefined) { - transitions = transitions.concat(transition); - } - } else if (cursor.nodeType === 'else') { - if (metacondition !== undefined) { - else_conditions = metacondition + '\n' + else_conditions; - } - let transition = this.get_transition(cursor.currentNode(), state_variable_name, else_conditions); - if (transition !== undefined) { - transitions = transitions.concat(transition); - } - } - } - while (cursor.gotoNextSibling() !== false); - return transitions; - } - - get_case_transitions(p, state_variable_name, metacondition) { - let transitions = []; - let cursor = p.walk(); - let else_conditions = ''; - let case_switch = this.get_item_from_childs(cursor.currentNode(), 'simple_name').text; - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'case_statement_alternative') { - let choice = this.get_item_from_childs(cursor.currentNode(), 'choices'); - let choice_txt = choice.text; - let if_condition = `${case_switch} = ${choice_txt}`; - if (choice_txt.toLocaleLowerCase() === 'others') { - if_condition = else_conditions; - } else if (if_condition !== undefined) { - else_conditions += `not (${if_condition})\n`; - } - let transition = this.get_transition(cursor.currentNode(), - state_variable_name, metacondition, if_condition); - if (transition !== undefined) { - transitions = transitions.concat(transition); - } - } - } - while (cursor.gotoNextSibling() !== false); - return transitions; - } - - get_assignament_transitions(p, state_variable_name) { - let transitions = []; - - let tmp_destination = this.check_get_simple_waveform_assignment(p, state_variable_name); - if (tmp_destination !== undefined) { - let s_position = p.startPosition; - let e_position = p.endPosition; - let start_position = [s_position.row, e_position.column - 1]; - let end_position = [e_position.row, e_position.column]; - - let destination = tmp_destination; - let transition = { - 'condition': '', - 'destination': destination, - 'start_position': start_position, - 'end_position': end_position - }; - transitions.push(transition); - } - return transitions; - } - - get_assignament_variable_transitions(p, state_variable_name) { - let transitions = []; - - let tmp_destination = this.check_get_simple_variable_assignment(p, state_variable_name); - if (tmp_destination !== undefined) { - let s_position = p.startPosition; - let e_position = p.endPosition; - let start_position = [s_position.row, e_position.column - 1]; - let end_position = [e_position.row, e_position.column]; - - let destination = tmp_destination; - let transition = { - 'condition': '', - 'destination': destination, - 'start_position': start_position, - 'end_position': end_position - }; - transitions.push(transition); - } - return transitions; - } - - get_transition(p, state_variable_name, metacondition, choice) { - let result = this.get_condition(p, choice); - let condition = result.condition; - let start_position = result.start_position; - let end_position = result.end_position; - let transitions = this.get_transitions_in_if(p, state_variable_name, - condition, start_position, end_position, metacondition); - return transitions; - } - - get_transitions_in_if(p, state_variable_name, condition, start_position, end_position, metacondition) { - let last = 0; - let last_transitions = []; - //if transitions - let if_transitions = []; - //assign transitions - let assign_transitions = []; - let transitions = []; - let destination = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'sequence_of_statements') { - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'simple_waveform_assignment') { - let tmp_destination = this.check_get_simple_waveform_assignment( - cursor.currentNode(), state_variable_name); - if (tmp_destination !== undefined) { - destination = tmp_destination; - if (condition !== undefined && destination !== undefined) { - let transition = { - 'condition': '', - 'destination': '', - 'start_position': start_position, - 'end_position': end_position - }; - if (metacondition !== undefined && metacondition !== '') { - condition += `\n${metacondition}`; - let current_conditions = condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - } - transition.condition = condition; - transition.destination = destination; - last = 1; - assign_transitions = [transition]; - last_transitions = [transition]; - } - } - } else if (cursor.nodeType === 'simple_variable_assignment') { - let tmp_destination = this.check_get_simple_variable_assignment( - cursor.currentNode(), state_variable_name); - if (tmp_destination !== undefined) { - destination = tmp_destination; - if (condition !== undefined && destination !== undefined) { - let transition = { - 'condition': '', - 'destination': '', - 'start_position': start_position, - 'end_position': end_position - }; - if (metacondition !== undefined && metacondition !== '') { - condition += `\n${metacondition}`; - let current_conditions = condition.split('\n'); - let unique = current_conditions.filter(this.only_unique); - let condition_tmp = ''; - for (let i = 0; i < unique.length - 1; ++i) { - condition_tmp += unique[i] + '\n'; - } - condition_tmp += unique[unique.length - 1] + '\n'; - condition = condition_tmp; - } - transition.condition = condition; - transition.destination = destination; - last = 1; - assign_transitions = [transition]; - last_transitions = [transition]; - } - } - } else if (cursor.nodeType === 'if_statement') { - if (metacondition !== undefined && metacondition !== '') { - condition += condition + '\n' + metacondition; - } - last = 0; - if_transitions = this.get_if_transitions(cursor.currentNode(), state_variable_name, condition); - } else if (cursor.nodeType === 'case_statement') { - if (metacondition !== undefined && metacondition !== '') { - condition += condition + '\n' + metacondition; - } - last = 0; - if_transitions = this.get_case_transitions(cursor.currentNode(), - state_variable_name, condition); - } - } - while (cursor.gotoNextSibling() !== false); - } - } - while (cursor.gotoNextSibling() !== false); - if (last !== 0) { - transitions = last_transitions; - } else { - transitions = if_transitions.concat(assign_transitions); - } - return transitions; - } - - check_get_simple_waveform_assignment(p, state_variable_name) { - let destination = undefined; - if (state_variable_name === undefined) { - return destination; - } - if (this.get_left_simple_waveform_assignment(p).toLowerCase() === state_variable_name.toLowerCase()) { - destination = this.get_rigth_simple_waveform_assignment(p); - } - return destination; - } - - check_get_simple_variable_assignment(p, state_variable_name) { - let destination = undefined; - if (state_variable_name === undefined) { - return destination; - } - if (this.get_left_simple_waveform_assignment(p).toLowerCase() === state_variable_name.toLowerCase()) { - destination = this.get_rigth_simple_variable_assignment(p); - } - return destination; - } - - get_left_simple_waveform_assignment(p) { - let left = 'undefined'; - let cursor = p.walk(); - let break_p = false; - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'simple_name') { - left = cursor.nodeText; - break_p = true; - } else if (cursor.nodeType === 'selected_name') { - left = cursor.nodeText.split('.'); - left = left[left.length - 1]; - break_p = true; - } - } - while (cursor.gotoNextSibling() !== false && break_p === false); - return left; - } - - get_rigth_simple_waveform_assignment(p) { - let rigth = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'waveforms') { - rigth = cursor.nodeText.split(/(\s)/)[0].trim(); - } - } - while (cursor.gotoNextSibling() !== false); - return rigth; - } - - get_rigth_simple_variable_assignment(p) { - let rigth = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'simple_name') { - rigth = cursor.nodeText.split(/(\s)/)[0].trim(); - } - } - while (cursor.gotoNextSibling() !== false); - return rigth; - } - - get_condition(p, choice) { - let condition = ''; - let cursor = p.walk(); - let start_position = []; - let end_position = []; - let s_position = cursor.startPosition; - let e_position = cursor.endPosition; - start_position = [s_position.row, s_position.column]; - end_position = [e_position.row, e_position.column]; - - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'relation' || cursor.nodeType === 'logical_expression' || - cursor.nodeType === 'parenthesized_expression') { - if (cursor.nodeType === 'parenthesized_expression') { - condition = this.get_relation_of_parenthesized_expression(cursor.currentNode()); - } else { - condition = cursor.nodeText; - } - s_position = cursor.startPosition; - e_position = cursor.endPosition; - start_position = [s_position.row, s_position.column]; - end_position = [e_position.row, e_position.column]; - } else if (cursor.nodeType === 'choices') { - condition = choice; - s_position = cursor.startPosition; - e_position = cursor.endPosition; - start_position = [s_position.row, s_position.column]; - end_position = [e_position.row, e_position.column]; - } - if (cursor.nodeType === 'else') { - s_position = cursor.startPosition; - e_position = cursor.endPosition; - start_position = [s_position.row, s_position.column]; - end_position = [e_position.row, e_position.column]; - } - } - while (cursor.gotoNextSibling() !== false); - return { - 'condition': condition, - 'start_position': start_position, - 'end_position': end_position - }; - } - - get_relation_of_parenthesized_expression(p) { - let relation = undefined; - let cursor = p.walk(); - let break_p = false; - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'relation' || cursor.nodeType === 'logical_expression') { - relation = cursor.nodeText; - break_p = true; - } - } - while (cursor.gotoNextSibling() !== false && break_p === false); - return relation; - } - - get_state_name(p) { - let state_name = undefined; - let start_position = []; - let end_position = []; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'choices') { - let s_position = cursor.startPosition; - let e_position = cursor.endPosition; - start_position = [s_position.row, s_position.column]; - end_position = [e_position.row, e_position.column]; - state_name = cursor.nodeText; - } - } - while (cursor.gotoNextSibling() !== false); - return { 'state_name': state_name, 'start_position': start_position, 'end_position': end_position }; - } - - - get_state_variable_name(p) { - let state_variable_name = undefined; - let cursor = p.walk(); - cursor.gotoFirstChild(); - do { - if (cursor.nodeType === 'simple_name') { - state_variable_name = cursor.nodeText; - } else if (cursor.nodeType === 'parenthesized_expression') { - state_variable_name = cursor.nodeText.replace('(', '').replace(')', ''); - } - } - while (cursor.gotoNextSibling() !== false); - return state_variable_name; - } - - get_case_process(p) { - let case_statement = this.search_multiple_in_tree(p, 'case_statement'); - return case_statement; - } - - - get_process_label(p) { - let label = ''; - let cursor = p.walk(); - //Process label - cursor.gotoFirstChild(); - if (cursor.nodeType === 'label') { - cursor.gotoFirstChild(); - label = cursor.nodeText; - } - return label; - } -} - diff --git a/resources/fsm/utils/state-machine-cat.js b/resources/fsm/utils/state-machine-cat.js deleted file mode 100644 index 69efd4b..0000000 --- a/resources/fsm/utils/state-machine-cat.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see state-machine-cat.js.LICENSE.txt */ -module.exports=(()=>{var e={6447:(e,A,r)=>{"use strict";var i=r(2424),a=r(2877),t=r(7260),n=r(5929),f=r(9741),l=r(8495),s=r(9702),c=r(7473),o=r(7126);e.exports=d,d.prototype.validate=function(e,A){var r;if("string"==typeof e){if(!(r=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var i=this._addSchema(e);r=i.validate||this._compile(i)}var a=r(A);return!0!==r.$async&&(this.errors=r.errors),a},d.prototype.compile=function(e,A){var r=this._addSchema(e,void 0,A);return r.validate||this._compile(r)},d.prototype.addSchema=function(e,A,r,i){if(Array.isArray(e)){for(var t=0;t{"use strict";var A=e.exports=function(){this._cache={}};A.prototype.put=function(e,A){this._cache[e]=A},A.prototype.get=function(e){return this._cache[e]},A.prototype.del=function(e){delete this._cache[e]},A.prototype.clear=function(){this._cache={}}},6583:(e,A,r)=>{"use strict";var i=r(9622).MissingRef;e.exports=function e(A,r,a){var t=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof r&&(a=r,r=void 0);var n=f(A).then((function(){var e=t._addSchema(A,void 0,r);return e.validate||l(e)}));return a&&n.then((function(e){a(null,e)}),a),n;function f(A){var r=A.$schema;return r&&!t.getSchema(r)?e.call(t,{$ref:r},!0):Promise.resolve()}function l(e){try{return t._compile(e)}catch(A){if(A instanceof i)return function(A){var i=A.missingSchema;if(s(i))throw new Error("Schema "+i+" is loaded but "+A.missingRef+" cannot be resolved");var a=t._loadingSchemas[i];return a||(a=t._loadingSchemas[i]=t._opts.loadSchema(i)).then(n,n),a.then((function(e){if(!s(i))return f(e).then((function(){s(i)||t.addSchema(e,i,void 0,r)}))})).then((function(){return l(e)}));function n(){delete t._loadingSchemas[i]}function s(e){return t._refs[e]||t._schemas[e]}}(A);throw A}}}},9622:(e,A,r)=>{"use strict";var i=r(2877);function a(e,A,r){this.message=r||a.message(e,A),this.missingRef=i.url(e,A),this.missingSchema=i.normalizeId(i.fullPath(this.missingRef))}function t(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:t((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:t(a)},a.message=function(e,A){return"can't resolve reference "+A+" from id "+e}},8495:(e,A,r)=>{"use strict";var i=r(7126),a=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,t=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,f=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,s=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,o=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,u=/^(?:\/(?:[^~/]|~0|~1)*)*$/,b=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,h=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function w(e){return e="full"==e?"full":"fast",i.copy(w[e])}function k(e){var A=e.match(a);if(!A)return!1;var r=+A[1],i=+A[2],n=+A[3];return i>=1&&i<=12&&n>=1&&n<=(2==i&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:t[i])}function d(e,A){var r=e.match(n);if(!r)return!1;var i=r[1],a=r[2],t=r[3],f=r[5];return(i<=23&&a<=59&&t<=59||23==i&&59==a&&60==t)&&(!A||f)}e.exports=w,w.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":s,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:f,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:p,uuid:o,"json-pointer":u,"json-pointer-uri-fragment":b,"relative-json-pointer":h},w.full={date:k,time:d,"date-time":function(e){var A=e.split(v);return 2==A.length&&k(A[0])&&d(A[1],!0)},uri:function(e){return g.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":s,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:f,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:p,uuid:o,"json-pointer":u,"json-pointer-uri-fragment":b,"relative-json-pointer":h};var v=/t|\s/i,g=/\/|:/,m=/[^\\]\\Z/;function p(e){if(m.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},2424:(e,A,r)=>{"use strict";var i=r(2877),a=r(7126),t=r(9622),n=r(9741),f=r(7768),l=a.ucs2length,s=r(1183),c=t.Validation;function o(e,A,r){var i=b.call(this,e,A,r);return i>=0?{index:i,compiling:!0}:(i=this._compilations.length,this._compilations[i]={schema:e,root:A,baseId:r},{index:i,compiling:!1})}function u(e,A,r){var i=b.call(this,e,A,r);i>=0&&this._compilations.splice(i,1)}function b(e,A,r){for(var i=0;i{"use strict";var i=r(5980),a=r(1183),t=r(7126),n=r(5929),f=r(9453);function l(e,A,r){var i=this._refs[r];if("string"==typeof i){if(!this._refs[i])return l.call(this,e,A,i);i=this._refs[i]}if((i=i||this._schemas[r])instanceof n)return h(i.schema,this._opts.inlineRefs)?i.schema:i.validate||this._compile(i);var a,t,f,c=s.call(this,A,r);return c&&(a=c.schema,A=c.root,f=c.baseId),a instanceof n?t=a.validate||e.call(this,a.schema,A,void 0,f):void 0!==a&&(t=h(a,this._opts.inlineRefs)?a:e.call(this,a,A,void 0,f)),t}function s(e,A){var r=i.parse(A),a=v(r),t=d(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==t){var f=m(a),l=this._refs[f];if("string"==typeof l)return c.call(this,e,l,r);if(l instanceof n)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[f])instanceof n))return;if(l.validate||this._compile(l),f==m(A))return{schema:l,root:e,baseId:t};e=l}if(!e.schema)return;t=d(this._getId(e.schema))}return u.call(this,r,t,e.schema,e)}function c(e,A,r){var i=s.call(this,e,A);if(i){var a=i.schema,t=i.baseId;e=i.root;var n=this._getId(a);return n&&(t=p(t,n)),u.call(this,r,t,a,e)}}e.exports=l,l.normalizeId=m,l.fullPath=d,l.url=p,l.ids=function(e){var A=m(this._getId(e)),r={"":A},n={"":d(A,!1)},l={},s=this;return f(e,{allKeys:!0},(function(e,A,f,c,o,u,b){if(""!==A){var h=s._getId(e),w=r[c],k=n[c]+"/"+o;if(void 0!==b&&(k+="/"+("number"==typeof b?b:t.escapeFragment(b))),"string"==typeof h){h=w=m(w?i.resolve(w,h):h);var d=s._refs[h];if("string"==typeof d&&(d=s._refs[d]),d&&d.schema){if(!a(e,d.schema))throw new Error('id "'+h+'" resolves to more than one schema')}else if(h!=m(k))if("#"==h[0]){if(l[h]&&!a(e,l[h]))throw new Error('id "'+h+'" resolves to more than one schema');l[h]=e}else s._refs[h]=k}r[A]=w,n[A]=k}})),l},l.inlineRef=h,l.schema=s;var o=t.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function u(e,A,r,i){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var a=e.fragment.split("/"),n=1;n{"use strict";var i=r(557),a=r(7126).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],A=["type","$comment"];return e.all=a(A),e.types=a(["number","integer","string","array","object","boolean","null"]),e.forEach((function(r){r.rules=r.rules.map((function(r){var a;if("object"==typeof r){var t=Object.keys(r)[0];a=r[t],r=t,a.forEach((function(r){A.push(r),e.all[r]=!0}))}return A.push(r),e.all[r]={keyword:r,code:i[r],implements:a}})),e.all.$comment={keyword:"$comment",code:i.$comment},r.type&&(e.types[r.type]=r)})),e.keywords=a(A.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},5929:(e,A,r)=>{"use strict";var i=r(7126);e.exports=function(e){i.copy(e,this)}},8463:e=>{"use strict";e.exports=function(e){for(var A,r=0,i=e.length,a=0;a=55296&&A<=56319&&a{"use strict";function i(e,A,r,i){var a=i?" !== ":" === ",t=i?" || ":" && ",n=i?"!":"",f=i?"":"!";switch(e){case"null":return A+a+"null";case"array":return n+"Array.isArray("+A+")";case"object":return"("+n+A+t+"typeof "+A+a+'"object"'+t+f+"Array.isArray("+A+"))";case"integer":return"(typeof "+A+a+'"number"'+t+f+"("+A+" % 1)"+t+A+a+A+(r?t+n+"isFinite("+A+")":"")+")";case"number":return"(typeof "+A+a+'"'+e+'"'+(r?t+n+"isFinite("+A+")":"")+")";default:return"typeof "+A+a+'"'+e+'"'}}e.exports={copy:function(e,A){for(var r in A=A||{},e)A[r]=e[r];return A},checkDataType:i,checkDataTypes:function(e,A,r){switch(e.length){case 1:return i(e[0],A,r,!0);default:var a="",n=t(e);for(var f in n.array&&n.object&&(a=n.null?"(":"(!"+A+" || ",a+="typeof "+A+' !== "object")',delete n.null,delete n.array,delete n.object),n.number&&delete n.integer,n)a+=(a?" && ":"")+i(f,A,r,!0);return a}},coerceToTypes:function(e,A){if(Array.isArray(A)){for(var r=[],i=0;i=A)throw new Error("Cannot access property/index "+i+" levels up, current level is "+A);return r[A-i]}if(i>A)throw new Error("Cannot access data "+i+" levels up, current level is "+A);if(t="data"+(A-i||""),!a)return t}for(var f=t,s=a.split("/"),c=0;c{"use strict";var A=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,r){for(var i=0;i{"use strict";var i=r(9302);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:i.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:i.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},4485:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f;var b="maximum"==A,h=b?"exclusiveMaximum":"exclusiveMinimum",w=e.schema[h],k=e.opts.$data&&w&&w.$data,d=b?"<":">",v=b?">":"<",g=void 0;if(!u&&"number"!=typeof f&&void 0!==f)throw new Error(A+" must be number");if(!k&&void 0!==w&&"number"!=typeof w&&"boolean"!=typeof w)throw new Error(h+" must be number or boolean");if(k){var m,p=e.util.getData(w.$data,n,e.dataPathArr),E="exclusive"+t,B="exclType"+t,y="exclIsNumber"+t,C="' + "+(Z="op"+t)+" + '";a+=" var schemaExcl"+t+" = "+p+"; ",a+=" var "+E+"; var "+B+" = typeof "+(p="schemaExcl"+t)+"; if ("+B+" != 'boolean' && "+B+" != 'undefined' && "+B+" != 'number') { ",g=h,(m=m||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(g||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(a+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var I=a;a=m.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),a+=" "+B+" == 'number' ? ( ("+E+" = "+i+" === undefined || "+p+" "+d+"= "+i+") ? "+o+" "+v+"= "+p+" : "+o+" "+v+" "+i+" ) : ( ("+E+" = "+p+" === true) ? "+o+" "+v+"= "+i+" : "+o+" "+v+" "+i+" ) || "+o+" !== "+o+") { var op"+t+" = "+E+" ? '"+d+"' : '"+d+"='; ",void 0===f&&(g=h,s=e.errSchemaPath+"/"+h,i=p,u=k)}else if(C=d,(y="number"==typeof w)&&u){var Z="'"+C+"'";a+=" if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),a+=" ( "+i+" === undefined || "+w+" "+d+"= "+i+" ? "+o+" "+v+"= "+w+" : "+o+" "+v+" "+i+" ) || "+o+" !== "+o+") { "}else y&&void 0===f?(E=!0,g=h,s=e.errSchemaPath+"/"+h,i=w,v+="="):(y&&(i=Math[b?"min":"max"](w,f)),w===(!y||i)?(E=!0,g=h,s=e.errSchemaPath+"/"+h,v+="="):(E=!1,C+="=")),Z="'"+C+"'",a+=" if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),a+=" "+o+" "+v+" "+i+" || "+o+" !== "+o+") { ";return g=g||A,(m=m||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(g||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { comparison: "+Z+", limit: "+i+", exclusive: "+E+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be "+C+" ",a+=u?"' + "+i:i+"'"),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ",I=a,a=m.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",c&&(a+=" else { "),a}},184:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;if(u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,!u&&"number"!=typeof f)throw new Error(A+" must be number");a+="if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),a+=" "+o+".length "+("maxItems"==A?">":"<")+" "+i+") { ";var b=A,h=h||[];h.push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(b||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have ",a+="maxItems"==A?"more":"fewer",a+=" than ",a+=u?"' + "+i+" + '":""+f,a+=" items' "),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var w=a;return a=h.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+w+"]); ":a+=" validate.errors = ["+w+"]; return false; ":a+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",c&&(a+=" else { "),a}},4993:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;if(u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,!u&&"number"!=typeof f)throw new Error(A+" must be number");var b="maxLength"==A?">":"<";a+="if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),!1===e.opts.unicode?a+=" "+o+".length ":a+=" ucs2length("+o+") ",a+=" "+b+" "+i+") { ";var h=A,w=w||[];w.push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be ",a+="maxLength"==A?"longer":"shorter",a+=" than ",a+=u?"' + "+i+" + '":""+f,a+=" characters' "),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var k=a;return a=w.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+k+"]); ":a+=" validate.errors = ["+k+"]; return false; ":a+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",c&&(a+=" else { "),a}},6564:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;if(u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,!u&&"number"!=typeof f)throw new Error(A+" must be number");a+="if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'number') || "),a+=" Object.keys("+o+").length "+("maxProperties"==A?">":"<")+" "+i+") { ";var b=A,h=h||[];h.push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(b||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have ",a+="maxProperties"==A?"more":"fewer",a+=" than ",a+=u?"' + "+i+" + '":""+f,a+=" properties' "),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var w=a;return a=h.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+w+"]); ":a+=" validate.errors = ["+w+"]; return false; ":a+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",c&&(a+=" else { "),a}},5109:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.schema[A],t=e.schemaPath+e.util.getProperty(A),n=e.errSchemaPath+"/"+A,f=!e.opts.allErrors,l=e.util.copy(e),s="";l.level++;var c="valid"+l.level,o=l.baseId,u=!0,b=a;if(b)for(var h,w=-1,k=b.length-1;w0||!1===h:e.util.schemaHasRules(h,e.RULES.all))&&(u=!1,l.schema=h,l.schemaPath=t+"["+w+"]",l.errSchemaPath=n+"/"+w,i+=" "+e.validate(l)+" ",l.baseId=o,f&&(i+=" if ("+c+") { ",s+="}"));return f&&(i+=u?" if (true) { ":" "+s.slice(0,-1)+" "),i}},7227:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u="errs__"+a,b=e.util.copy(e),h="";b.level++;var w="valid"+b.level;if(n.every((function(A){return e.opts.strictKeywords?"object"==typeof A&&Object.keys(A).length>0||!1===A:e.util.schemaHasRules(A,e.RULES.all)}))){var k=b.baseId;i+=" var "+u+" = errors; var "+o+" = false; ";var d=e.compositeRule;e.compositeRule=b.compositeRule=!0;var v=n;if(v)for(var g,m=-1,p=v.length-1;m{"use strict";e.exports=function(e,A,r){var i=" ",a=e.schema[A],t=e.errSchemaPath+"/"+A,n=(e.opts.allErrors,e.util.toQuotedString(a));return!0===e.opts.$comment?i+=" console.log("+n+");":"function"==typeof e.opts.$comment&&(i+=" self._opts.$comment("+n+", "+e.util.toQuotedString(t)+", validate.root.schema);"),i}},2532:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u=e.opts.$data&&n&&n.$data;u&&(i+=" var schema"+a+" = "+e.util.getData(n.$data,t,e.dataPathArr)+"; "),u||(i+=" var schema"+a+" = validate.schema"+f+";"),i+="var "+o+" = equal("+c+", schema"+a+"); if (!"+o+") { ";var b=b||[];b.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be equal to constant' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var h=i;return i=b.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" }",s&&(i+=" else { "),i}},1097:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u="errs__"+a,b=e.util.copy(e);b.level++;var h="valid"+b.level,w="i"+a,k=b.dataLevel=e.dataLevel+1,d="data"+k,v=e.baseId,g=e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all);if(i+="var "+u+" = errors;var "+o+";",g){var m=e.compositeRule;e.compositeRule=b.compositeRule=!0,b.schema=n,b.schemaPath=f,b.errSchemaPath=l,i+=" var "+h+" = false; for (var "+w+" = 0; "+w+" < "+c+".length; "+w+"++) { ",b.errorPath=e.util.getPathExpr(e.errorPath,w,e.opts.jsonPointers,!0);var p=c+"["+w+"]";b.dataPathArr[k]=w;var E=e.validate(b);b.baseId=v,e.util.varOccurences(E,d)<2?i+=" "+e.util.varReplace(E,d,p)+" ":i+=" var "+d+" = "+p+"; "+E+" ",i+=" if ("+h+") break; } ",e.compositeRule=b.compositeRule=m,i+=" if (!"+h+") {"}else i+=" if ("+c+".length == 0) {";var B=B||[];B.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should contain a valid item' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var y=i;return i=B.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { ",g&&(i+=" errors = "+u+"; if (vErrors !== null) { if ("+u+") vErrors.length = "+u+"; else vErrors = null; } "),e.opts.allErrors&&(i+=" } "),i}},9679:e=>{"use strict";e.exports=function(e,A,r){var i,a,t=" ",n=e.level,f=e.dataLevel,l=e.schema[A],s=e.schemaPath+e.util.getProperty(A),c=e.errSchemaPath+"/"+A,o=!e.opts.allErrors,u="data"+(f||""),b="valid"+n,h="errs__"+n,w=e.opts.$data&&l&&l.$data;w?(t+=" var schema"+n+" = "+e.util.getData(l.$data,f,e.dataPathArr)+"; ",a="schema"+n):a=l;var k,d,v,g,m,p=this,E="definition"+n,B=p.definition,y="";if(w&&B.$data){m="keywordValidate"+n;var C=B.validateSchema;t+=" var "+E+" = RULES.custom['"+A+"'].definition; var "+m+" = "+E+".validate;"}else{if(!(g=e.useCustomRule(p,l,e.schema,e)))return;a="validate.schema"+s,m=g.code,k=B.compile,d=B.inline,v=B.macro}var I=m+".errors",Z="i"+n,G="ruleErr"+n,L=B.async;if(L&&!e.async)throw new Error("async keyword in sync schema");if(d||v||(t+=I+" = null;"),t+="var "+h+" = errors;var "+b+";",w&&B.$data&&(y+="}",t+=" if ("+a+" === undefined) { "+b+" = true; } else { ",C&&(y+="}",t+=" "+b+" = "+E+".validateSchema("+a+"); if ("+b+") { ")),d)B.statements?t+=" "+g.validate+" ":t+=" "+b+" = "+g.validate+"; ";else if(v){var Q=e.util.copy(e);y="",Q.level++;var D="valid"+Q.level;Q.schema=g.validate,Q.schemaPath="";var z=e.compositeRule;e.compositeRule=Q.compositeRule=!0;var W=e.validate(Q).replace(/validate\.schema/g,m);e.compositeRule=Q.compositeRule=z,t+=" "+W}else{(V=V||[]).push(t),t="",t+=" "+m+".call( ",e.opts.passContext?t+="this":t+="self",k||!1===B.schema?t+=" , "+u+" ":t+=" , "+a+" , "+u+" , validate.schema"+e.schemaPath+" ",t+=" , (dataPath || '')",'""'!=e.errorPath&&(t+=" + "+e.errorPath);var Y=f?"data"+(f-1||""):"parentData",F=f?e.dataPathArr[f]:"parentDataProperty",M=t+=" , "+Y+" , "+F+" , rootData ) ";t=V.pop(),!1===B.errors?(t+=" "+b+" = ",L&&(t+="await "),t+=M+"; "):t+=L?" var "+(I="customErrors"+n)+" = null; try { "+b+" = await "+M+"; } catch (e) { "+b+" = false; if (e instanceof ValidationError) "+I+" = e.errors; else throw e; } ":" "+I+" = null; "+b+" = "+M+"; "}if(B.modifying&&(t+=" if ("+Y+") "+u+" = "+Y+"["+F+"];"),t+=""+y,B.valid)o&&(t+=" if (true) { ");else{var V;t+=" if ( ",void 0===B.valid?(t+=" !",t+=v?""+D:""+b):t+=" "+!B.valid+" ",t+=") { ",i=p.keyword,(V=V||[]).push(t),t="",(V=V||[]).push(t),t="",!1!==e.createErrors?(t+=" { keyword: '"+(i||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+p.keyword+"' } ",!1!==e.opts.messages&&(t+=" , message: 'should pass \""+p.keyword+"\" keyword validation' "),e.opts.verbose&&(t+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),t+=" } "):t+=" {} ";var N=t;t=V.pop(),!e.compositeRule&&o?e.async?t+=" throw new ValidationError(["+N+"]); ":t+=" validate.errors = ["+N+"]; return false; ":t+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var R=t;t=V.pop(),d?B.errors?"full"!=B.errors&&(t+=" for (var "+Z+"="+h+"; "+Z+"{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="errs__"+a,u=e.util.copy(e),b="";u.level++;var h="valid"+u.level,w={},k={},d=e.opts.ownProperties;for(p in n)if("__proto__"!=p){var v=n[p],g=Array.isArray(v)?k:w;g[p]=v}i+="var "+o+" = errors;";var m=e.errorPath;for(var p in i+="var missing"+a+";",k)if((g=k[p]).length){if(i+=" if ( "+c+e.util.getProperty(p)+" !== undefined ",d&&(i+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(p)+"') "),s){i+=" && ( ";var E=g;if(E)for(var B=-1,y=E.length-1;B0||!1===v:e.util.schemaHasRules(v,e.RULES.all))&&(i+=" "+h+" = true; if ( "+c+e.util.getProperty(p)+" !== undefined ",d&&(i+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(p)+"') "),i+=") { ",u.schema=v,u.schemaPath=f+e.util.getProperty(p),u.errSchemaPath=l+"/"+e.util.escapeFragment(p),i+=" "+e.validate(u)+" ",u.baseId=F,i+=" } ",s&&(i+=" if ("+h+") { ",b+="}"));return s&&(i+=" "+b+" if ("+o+" == errors) {"),i}},6107:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u=e.opts.$data&&n&&n.$data;u&&(i+=" var schema"+a+" = "+e.util.getData(n.$data,t,e.dataPathArr)+"; ");var b="i"+a,h="schema"+a;u||(i+=" var "+h+" = validate.schema"+f+";"),i+="var "+o+";",u&&(i+=" if (schema"+a+" === undefined) "+o+" = true; else if (!Array.isArray(schema"+a+")) "+o+" = false; else {"),i+=o+" = false;for (var "+b+"=0; "+b+"<"+h+".length; "+b+"++) if (equal("+c+", "+h+"["+b+"])) { "+o+" = true; break; }",u&&(i+=" } "),i+=" if (!"+o+") { ";var w=w||[];w.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+a+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var k=i;return i=w.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" }",s&&(i+=" else { "),i}},6043:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||"");if(!1===e.opts.format)return s&&(i+=" if (true) { "),i;var o,u=e.opts.$data&&n&&n.$data;u?(i+=" var schema"+a+" = "+e.util.getData(n.$data,t,e.dataPathArr)+"; ",o="schema"+a):o=n;var b=e.opts.unknownFormats,h=Array.isArray(b);if(u)i+=" var "+(w="format"+a)+" = formats["+o+"]; var "+(k="isObject"+a)+" = typeof "+w+" == 'object' && !("+w+" instanceof RegExp) && "+w+".validate; var "+(d="formatType"+a)+" = "+k+" && "+w+".type || 'string'; if ("+k+") { ",e.async&&(i+=" var async"+a+" = "+w+".async; "),i+=" "+w+" = "+w+".validate; } if ( ",u&&(i+=" ("+o+" !== undefined && typeof "+o+" != 'string') || "),i+=" (","ignore"!=b&&(i+=" ("+o+" && !"+w+" ",h&&(i+=" && self._opts.unknownFormats.indexOf("+o+") == -1 "),i+=") || "),i+=" ("+w+" && "+d+" == '"+r+"' && !(typeof "+w+" == 'function' ? ",e.async?i+=" (async"+a+" ? await "+w+"("+c+") : "+w+"("+c+")) ":i+=" "+w+"("+c+") ",i+=" : "+w+".test("+c+"))))) {";else{var w;if(!(w=e.formats[n])){if("ignore"==b)return e.logger.warn('unknown format "'+n+'" ignored in schema at path "'+e.errSchemaPath+'"'),s&&(i+=" if (true) { "),i;if(h&&b.indexOf(n)>=0)return s&&(i+=" if (true) { "),i;throw new Error('unknown format "'+n+'" is used in schema at path "'+e.errSchemaPath+'"')}var k,d=(k="object"==typeof w&&!(w instanceof RegExp)&&w.validate)&&w.type||"string";if(k){var v=!0===w.async;w=w.validate}if(d!=r)return s&&(i+=" if (true) { "),i;if(v){if(!e.async)throw new Error("async format in sync schema");i+=" if (!(await "+(g="formats"+e.util.getProperty(n)+".validate")+"("+c+"))) { "}else{i+=" if (! ";var g="formats"+e.util.getProperty(n);k&&(g+=".validate"),i+="function"==typeof w?" "+g+"("+c+") ":" "+g+".test("+c+") ",i+=") { "}}var m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",i+=u?""+o:""+e.util.toQuotedString(n),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match format \"",i+=u?"' + "+o+" + '":""+e.util.escapeQuotes(n),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=u?"validate.schema"+f:""+e.util.toQuotedString(n),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var p=i;return i=m.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",s&&(i+=" else { "),i}},1108:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u="errs__"+a,b=e.util.copy(e);b.level++;var h="valid"+b.level,w=e.schema.then,k=e.schema.else,d=void 0!==w&&(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0||!1===w:e.util.schemaHasRules(w,e.RULES.all)),v=void 0!==k&&(e.opts.strictKeywords?"object"==typeof k&&Object.keys(k).length>0||!1===k:e.util.schemaHasRules(k,e.RULES.all)),g=b.baseId;if(d||v){var m;b.createErrors=!1,b.schema=n,b.schemaPath=f,b.errSchemaPath=l,i+=" var "+u+" = errors; var "+o+" = true; ";var p=e.compositeRule;e.compositeRule=b.compositeRule=!0,i+=" "+e.validate(b)+" ",b.baseId=g,b.createErrors=!0,i+=" errors = "+u+"; if (vErrors !== null) { if ("+u+") vErrors.length = "+u+"; else vErrors = null; } ",e.compositeRule=b.compositeRule=p,d?(i+=" if ("+h+") { ",b.schema=e.schema.then,b.schemaPath=e.schemaPath+".then",b.errSchemaPath=e.errSchemaPath+"/then",i+=" "+e.validate(b)+" ",b.baseId=g,i+=" "+o+" = "+h+"; ",d&&v?i+=" var "+(m="ifClause"+a)+" = 'then'; ":m="'then'",i+=" } ",v&&(i+=" else { ")):i+=" if (!"+h+") { ",v&&(b.schema=e.schema.else,b.schemaPath=e.schemaPath+".else",b.errSchemaPath=e.errSchemaPath+"/else",i+=" "+e.validate(b)+" ",b.baseId=g,i+=" "+o+" = "+h+"; ",d&&v?i+=" var "+(m="ifClause"+a)+" = 'else'; ":m="'else'",i+=" } "),i+=" if (!"+o+") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+m+" } ",!1!==e.opts.messages&&(i+=" , message: 'should match \"' + "+m+" + '\" schema' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&s&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),i+=" } ",s&&(i+=" else { ")}else s&&(i+=" if (true) { ");return i}},557:(e,A,r)=>{"use strict";e.exports={$ref:r(1357),allOf:r(5109),anyOf:r(7227),$comment:r(6697),const:r(2532),contains:r(1097),dependencies:r(5160),enum:r(6107),format:r(6043),if:r(1108),items:r(3180),maximum:r(4485),minimum:r(4485),maxItems:r(184),minItems:r(184),maxLength:r(4993),minLength:r(4993),maxProperties:r(6564),minProperties:r(6564),multipleOf:r(6427),not:r(6048),oneOf:r(2331),pattern:r(6283),properties:r(2363),propertyNames:r(316),required:r(8687),uniqueItems:r(328),validate:r(7768)}},3180:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u="errs__"+a,b=e.util.copy(e),h="";b.level++;var w="valid"+b.level,k="i"+a,d=b.dataLevel=e.dataLevel+1,v="data"+d,g=e.baseId;if(i+="var "+u+" = errors;var "+o+";",Array.isArray(n)){var m=e.schema.additionalItems;if(!1===m){i+=" "+o+" = "+c+".length <= "+n.length+"; ";var p=l;l=e.errSchemaPath+"/additionalItems",i+=" if (!"+o+") { ";var E=E||[];E.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n.length+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have more than "+n.length+" items' "),e.opts.verbose&&(i+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var B=i;i=E.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+B+"]); ":i+=" validate.errors = ["+B+"]; return false; ":i+=" var err = "+B+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l=p,s&&(h+="}",i+=" else { ")}var y=n;if(y)for(var C,I=-1,Z=y.length-1;I0||!1===C:e.util.schemaHasRules(C,e.RULES.all)){i+=" "+w+" = true; if ("+c+".length > "+I+") { ";var G=c+"["+I+"]";b.schema=C,b.schemaPath=f+"["+I+"]",b.errSchemaPath=l+"/"+I,b.errorPath=e.util.getPathExpr(e.errorPath,I,e.opts.jsonPointers,!0),b.dataPathArr[d]=I;var L=e.validate(b);b.baseId=g,e.util.varOccurences(L,v)<2?i+=" "+e.util.varReplace(L,v,G)+" ":i+=" var "+v+" = "+G+"; "+L+" ",i+=" } ",s&&(i+=" if ("+w+") { ",h+="}")}"object"==typeof m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0||!1===m:e.util.schemaHasRules(m,e.RULES.all))&&(b.schema=m,b.schemaPath=e.schemaPath+".additionalItems",b.errSchemaPath=e.errSchemaPath+"/additionalItems",i+=" "+w+" = true; if ("+c+".length > "+n.length+") { for (var "+k+" = "+n.length+"; "+k+" < "+c+".length; "+k+"++) { ",b.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),G=c+"["+k+"]",b.dataPathArr[d]=k,L=e.validate(b),b.baseId=g,e.util.varOccurences(L,v)<2?i+=" "+e.util.varReplace(L,v,G)+" ":i+=" var "+v+" = "+G+"; "+L+" ",s&&(i+=" if (!"+w+") break; "),i+=" } } ",s&&(i+=" if ("+w+") { ",h+="}"))}else(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all))&&(b.schema=n,b.schemaPath=f,b.errSchemaPath=l,i+=" for (var "+k+" = 0; "+k+" < "+c+".length; "+k+"++) { ",b.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),G=c+"["+k+"]",b.dataPathArr[d]=k,L=e.validate(b),b.baseId=g,e.util.varOccurences(L,v)<2?i+=" "+e.util.varReplace(L,v,G)+" ":i+=" var "+v+" = "+G+"; "+L+" ",s&&(i+=" if (!"+w+") break; "),i+=" }");return s&&(i+=" "+h+" if ("+u+" == errors) {"),i}},6427:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;if(u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,!u&&"number"!=typeof f)throw new Error(A+" must be number");a+="var division"+t+";if (",u&&(a+=" "+i+" !== undefined && ( typeof "+i+" != 'number' || "),a+=" (division"+t+" = "+o+" / "+i+", ",e.opts.multipleOfPrecision?a+=" Math.abs(Math.round(division"+t+") - division"+t+") > 1e-"+e.opts.multipleOfPrecision+" ":a+=" division"+t+" !== parseInt(division"+t+") ",a+=" ) ",u&&(a+=" ) "),a+=" ) { ";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { multipleOf: "+i+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be multiple of ",a+=u?"' + "+i:i+"'"),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var h=a;return a=b.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",c&&(a+=" else { "),a}},6048:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="errs__"+a,u=e.util.copy(e);u.level++;var b="valid"+u.level;if(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){u.schema=n,u.schemaPath=f,u.errSchemaPath=l,i+=" var "+o+" = errors; ";var h,w=e.compositeRule;e.compositeRule=u.compositeRule=!0,u.createErrors=!1,u.opts.allErrors&&(h=u.opts.allErrors,u.opts.allErrors=!1),i+=" "+e.validate(u)+" ",u.createErrors=!0,h&&(u.opts.allErrors=h),e.compositeRule=u.compositeRule=w,i+=" if ("+b+") { ";var k=k||[];k.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be valid' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var d=i;i=k.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { errors = "+o+"; if (vErrors !== null) { if ("+o+") vErrors.length = "+o+"; else vErrors = null; } ",e.opts.allErrors&&(i+=" } ")}else i+=" var err = ",!1!==e.createErrors?(i+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be valid' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s&&(i+=" if (false) { ");return i}},2331:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u="errs__"+a,b=e.util.copy(e),h="";b.level++;var w="valid"+b.level,k=b.baseId,d="prevValid"+a,v="passingSchemas"+a;i+="var "+u+" = errors , "+d+" = false , "+o+" = false , "+v+" = null; ";var g=e.compositeRule;e.compositeRule=b.compositeRule=!0;var m=n;if(m)for(var p,E=-1,B=m.length-1;E0||!1===p:e.util.schemaHasRules(p,e.RULES.all))?(b.schema=p,b.schemaPath=f+"["+E+"]",b.errSchemaPath=l+"/"+E,i+=" "+e.validate(b)+" ",b.baseId=k):i+=" var "+w+" = true; ",E&&(i+=" if ("+w+" && "+d+") { "+o+" = false; "+v+" = ["+v+", "+E+"]; } else { ",h+="}"),i+=" if ("+w+") { "+o+" = "+d+" = true; "+v+" = "+E+"; }";return e.compositeRule=b.compositeRule=g,i+=h+"if (!"+o+") { var err = ",!1!==e.createErrors?(i+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+v+" } ",!1!==e.opts.messages&&(i+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ",i+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&s&&(e.async?i+=" throw new ValidationError(vErrors); ":i+=" validate.errors = vErrors; return false; "),i+="} else { errors = "+u+"; if (vErrors !== null) { if ("+u+") vErrors.length = "+u+"; else vErrors = null; }",e.opts.allErrors&&(i+=" } "),i}},6283:e=>{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u=e.opts.$data&&f&&f.$data;u?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,a+="if ( ",u&&(a+=" ("+i+" !== undefined && typeof "+i+" != 'string') || "),a+=" !"+(u?"(new RegExp("+i+"))":e.usePattern(f))+".test("+o+") ) { ";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { pattern: ",a+=u?""+i:""+e.util.toQuotedString(f),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match pattern \"",a+=u?"' + "+i+" + '":""+e.util.escapeQuotes(f),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=u?"validate.schema"+l:""+e.util.toQuotedString(f),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var h=a;return a=b.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",c&&(a+=" else { "),a}},2363:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="errs__"+a,u=e.util.copy(e),b="";u.level++;var h="valid"+u.level,w="key"+a,k="idx"+a,d=u.dataLevel=e.dataLevel+1,v="data"+d,g="dataProperties"+a,m=Object.keys(n||{}).filter(W),p=e.schema.patternProperties||{},E=Object.keys(p).filter(W),B=e.schema.additionalProperties,y=m.length||E.length,C=!1===B,I="object"==typeof B&&Object.keys(B).length,Z=e.opts.removeAdditional,G=C||I||Z,L=e.opts.ownProperties,Q=e.baseId,D=e.schema.required;if(D&&(!e.opts.$data||!D.$data)&&D.length8)i+=" || validate.schema"+f+".hasOwnProperty("+w+") ";else{var Y=m;if(Y)for(var F=-1,M=Y.length-1;F0||!1===K:e.util.schemaHasRules(K,e.RULES.all)){var $=e.util.getProperty(O),ee=(S=c+$,U&&void 0!==K.default);if(u.schema=K,u.schemaPath=f+$,u.errSchemaPath=l+"/"+e.util.escapeFragment(O),u.errorPath=e.util.getPath(e.errorPath,O,e.opts.jsonPointers),u.dataPathArr[d]=e.util.toQuotedString(O),j=e.validate(u),u.baseId=Q,e.util.varOccurences(j,v)<2){j=e.util.varReplace(j,v,S);var Ae=S}else Ae=v,i+=" var "+v+" = "+S+"; ";if(ee)i+=" "+j+" ";else{if(z&&z[O]){i+=" if ( "+Ae+" === undefined ",L&&(i+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),i+=") { "+h+" = false; ",x=e.errorPath,H=l;var re,ie=e.util.escapeQuotes(O);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(x,O,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(re=re||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+ie+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+ie+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ",P=i,i=re.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+P+"]); ":i+=" validate.errors = ["+P+"]; return false; ":i+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=H,e.errorPath=x,i+=" } else { "}else s?(i+=" if ( "+Ae+" === undefined ",L&&(i+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),i+=") { "+h+" = true; } else { "):(i+=" if ("+Ae+" !== undefined ",L&&(i+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),i+=" ) { ");i+=" "+j+" } "}}s&&(i+=" if ("+h+") { ",b+="}")}}if(E.length){var ae=E;if(ae)for(var te,ne=-1,fe=ae.length-1;ne0||!1===K:e.util.schemaHasRules(K,e.RULES.all))&&(u.schema=K,u.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(te),u.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(te),i+=L?" "+g+" = "+g+" || Object.keys("+c+"); for (var "+k+"=0; "+k+"<"+g+".length; "+k+"++) { var "+w+" = "+g+"["+k+"]; ":" for (var "+w+" in "+c+") { ",i+=" if ("+e.usePattern(te)+".test("+w+")) { ",u.errorPath=e.util.getPathExpr(e.errorPath,w,e.opts.jsonPointers),S=c+"["+w+"]",u.dataPathArr[d]=w,j=e.validate(u),u.baseId=Q,e.util.varOccurences(j,v)<2?i+=" "+e.util.varReplace(j,v,S)+" ":i+=" var "+v+" = "+S+"; "+j+" ",s&&(i+=" if (!"+h+") break; "),i+=" } ",s&&(i+=" else "+h+" = true; "),i+=" } ",s&&(i+=" if ("+h+") { ",b+="}"))}return s&&(i+=" "+b+" if ("+o+" == errors) {"),i}},316:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="errs__"+a,u=e.util.copy(e);u.level++;var b="valid"+u.level;if(i+="var "+o+" = errors;",e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){u.schema=n,u.schemaPath=f,u.errSchemaPath=l;var h="key"+a,w="idx"+a,k="i"+a,d="' + "+h+" + '",v="data"+(u.dataLevel=e.dataLevel+1),g="dataProperties"+a,m=e.opts.ownProperties,p=e.baseId;m&&(i+=" var "+g+" = undefined; "),i+=m?" "+g+" = "+g+" || Object.keys("+c+"); for (var "+w+"=0; "+w+"<"+g+".length; "+w+"++) { var "+h+" = "+g+"["+w+"]; ":" for (var "+h+" in "+c+") { ",i+=" var startErrs"+a+" = errors; ";var E=h,B=e.compositeRule;e.compositeRule=u.compositeRule=!0;var y=e.validate(u);u.baseId=p,e.util.varOccurences(y,v)<2?i+=" "+e.util.varReplace(y,v,E)+" ":i+=" var "+v+" = "+E+"; "+y+" ",e.compositeRule=u.compositeRule=B,i+=" if (!"+b+") { for (var "+k+"=startErrs"+a+"; "+k+"{"use strict";e.exports=function(e,A,r){var i,a,t=" ",n=e.level,f=e.dataLevel,l=e.schema[A],s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(f||""),u="valid"+n;if("#"==l||"#/"==l)e.isRoot?(i=e.async,a="validate"):(i=!0===e.root.schema.$async,a="root.refVal[0]");else{var b=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===b){var h=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(h),(v=v||[]).push(t),t="",!1!==e.createErrors?(t+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(t+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(t+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),t+=" } "):t+=" {} ";var w=t;t=v.pop(),!e.compositeRule&&c?e.async?t+=" throw new ValidationError(["+w+"]); ":t+=" validate.errors = ["+w+"]; return false; ":t+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(t+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,h);e.logger.warn(h),c&&(t+=" if (true) { ")}}else if(b.inline){var k=e.util.copy(e);k.level++;var d="valid"+k.level;k.schema=b.schema,k.schemaPath="",k.errSchemaPath=l,t+=" "+e.validate(k).replace(/validate\.schema/g,b.code)+" ",c&&(t+=" if ("+d+") { ")}else i=!0===b.$async||e.async&&!1!==b.$async,a=b.code}if(a){var v;(v=v||[]).push(t),t="",e.opts.passContext?t+=" "+a+".call(this, ":t+=" "+a+"( ",t+=" "+o+", (dataPath || '')",'""'!=e.errorPath&&(t+=" + "+e.errorPath);var g=t+=" , "+(f?"data"+(f-1||""):"parentData")+" , "+(f?e.dataPathArr[f]:"parentDataProperty")+", rootData) ";if(t=v.pop(),i){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(t+=" var "+u+"; "),t+=" try { await "+g+"; ",c&&(t+=" "+u+" = true; "),t+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(t+=" "+u+" = false; "),t+=" } ",c&&(t+=" if ("+u+") { ")}else t+=" if (!"+g+") { if (vErrors === null) vErrors = "+a+".errors; else vErrors = vErrors.concat("+a+".errors); errors = vErrors.length; } ",c&&(t+=" else { ")}return t}},8687:e=>{"use strict";e.exports=function(e,A,r){var i=" ",a=e.level,t=e.dataLevel,n=e.schema[A],f=e.schemaPath+e.util.getProperty(A),l=e.errSchemaPath+"/"+A,s=!e.opts.allErrors,c="data"+(t||""),o="valid"+a,u=e.opts.$data&&n&&n.$data;u&&(i+=" var schema"+a+" = "+e.util.getData(n.$data,t,e.dataPathArr)+"; ");var b="schema"+a;if(!u)if(n.length0||!1===g:e.util.schemaHasRules(g,e.RULES.all))||(h[h.length]=k)}}else h=n;if(u||h.length){var m=e.errorPath,p=u||h.length>=e.opts.loopRequired,E=e.opts.ownProperties;if(s)if(i+=" var missing"+a+"; ",p){u||(i+=" var "+b+" = validate.schema"+f+"; ");var B="' + "+(L="schema"+a+"["+(Z="i"+a)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(m,L,e.opts.jsonPointers)),i+=" var "+o+" = true; ",u&&(i+=" if (schema"+a+" === undefined) "+o+" = true; else if (!Array.isArray(schema"+a+")) "+o+" = false; else {"),i+=" for (var "+Z+" = 0; "+Z+" < "+b+".length; "+Z+"++) { "+o+" = "+c+"["+b+"["+Z+"]] !== undefined ",E&&(i+=" && Object.prototype.hasOwnProperty.call("+c+", "+b+"["+Z+"]) "),i+="; if (!"+o+") break; } ",u&&(i+=" } "),i+=" if (!"+o+") { ",(C=C||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+B+"' } ",!1!==e.opts.messages&&(i+=" , message: '",e.opts._errorDataPathProperty?i+="is a required property":i+="should have required property \\'"+B+"\\'",i+="' "),e.opts.verbose&&(i+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),i+=" } "):i+=" {} ";var y=i;i=C.pop(),!e.compositeRule&&s?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else { "}else{i+=" if ( ";var C,I=h;if(I)for(var Z=-1,G=I.length-1;Z{"use strict";e.exports=function(e,A,r){var i,a=" ",t=e.level,n=e.dataLevel,f=e.schema[A],l=e.schemaPath+e.util.getProperty(A),s=e.errSchemaPath+"/"+A,c=!e.opts.allErrors,o="data"+(n||""),u="valid"+t,b=e.opts.$data&&f&&f.$data;if(b?(a+=" var schema"+t+" = "+e.util.getData(f.$data,n,e.dataPathArr)+"; ",i="schema"+t):i=f,(f||b)&&!1!==e.opts.uniqueItems){b&&(a+=" var "+u+"; if ("+i+" === false || "+i+" === undefined) "+u+" = true; else if (typeof "+i+" != 'boolean') "+u+" = false; else { "),a+=" var i = "+o+".length , "+u+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,w=Array.isArray(h);if(!h||"object"==h||"array"==h||w&&(h.indexOf("object")>=0||h.indexOf("array")>=0))a+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+o+"[i], "+o+"[j])) { "+u+" = false; break outer; } } } ";else{a+=" var itemIndices = {}, item; for (;i--;) { var item = "+o+"[i]; ";var k="checkDataType"+(w?"s":"");a+=" if ("+e.util[k](h,"item",e.opts.strictNumbers,!0)+") continue; ",w&&(a+=" if (typeof item == 'string') item = '\"' + item; "),a+=" if (typeof itemIndices[item] == 'number') { "+u+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}a+=" } ",b&&(a+=" } "),a+=" if (!"+u+") { ";var d=d||[];d.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(a+=" , schema: ",a+=b?"validate.schema"+l:""+f,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),a+=" } "):a+=" {} ";var v=a;a=d.pop(),!e.compositeRule&&c?e.async?a+=" throw new ValidationError(["+v+"]); ":a+=" validate.errors = ["+v+"]; return false; ":a+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",c&&(a+=" else { ")}else c&&(a+=" if (true) { ");return a}},7768:e=>{"use strict";e.exports=function(e,A,r){var i="",a=!0===e.schema.$async,t=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),n=e.self._getId(e.schema);if(e.opts.strictKeywords){var f=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(f){var l="unknown keyword: "+f;if("log"!==e.opts.strictKeywords)throw new Error(l);e.logger.warn(l)}}if(e.isTop&&(i+=" var validate = ",a&&(e.async=!0,i+="async "),i+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",n&&(e.opts.sourceCode||e.opts.processCode)&&(i+=" /*# sourceURL="+n+" */ ")),"boolean"==typeof e.schema||!t&&!e.schema.$ref){A="false schema";var s=e.level,c=e.dataLevel,o=e.schema[A],u=e.schemaPath+e.util.getProperty(A),b=e.errSchemaPath+"/"+A,h=!e.opts.allErrors,w="data"+(c||""),k="valid"+s;if(!1===e.schema){e.isTop?h=!0:i+=" var "+k+" = false; ",(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(b)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: 'boolean schema is false' "),e.opts.verbose&&(i+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+w+" "),i+=" } "):i+=" {} ";var d=i;i=S.pop(),!e.compositeRule&&h?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?i+=a?" return data; ":" validate.errors = null; return true; ":i+=" var "+k+" = true; ";return e.isTop&&(i+=" }; return validate; "),i}if(e.isTop){var v=e.isTop;if(s=e.level=0,c=e.dataLevel=0,w="data",e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var g="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(g);e.logger.warn(g)}i+=" var vErrors = null; ",i+=" var errors = 0; ",i+=" if (rootData === undefined) rootData = data; "}else{if(s=e.level,w="data"+((c=e.dataLevel)||""),n&&(e.baseId=e.resolve.url(e.baseId,n)),a&&!e.async)throw new Error("async schema in sync schema");i+=" var errs_"+s+" = errors;"}k="valid"+s,h=!e.opts.allErrors;var m="",p="",E=e.schema.type,B=Array.isArray(E);if(E&&e.opts.nullable&&!0===e.schema.nullable&&(B?-1==E.indexOf("null")&&(E=E.concat("null")):"null"!=E&&(E=[E,"null"],B=!0)),B&&1==E.length&&(E=E[0],B=!1),e.schema.$ref&&t){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(t=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(i+=" "+e.RULES.all.$comment.code(e,"$comment")),E){if(e.opts.coerceTypes)var y=e.util.coerceToTypes(e.opts.coerceTypes,E);var C=e.RULES.types[E];if(y||B||!0===C||C&&!q(C)){u=e.schemaPath+".type",b=e.errSchemaPath+"/type",u=e.schemaPath+".type",b=e.errSchemaPath+"/type";var I=B?"checkDataTypes":"checkDataType";if(i+=" if ("+e.util[I](E,w,e.opts.strictNumbers,!0)+") { ",y){var Z="dataType"+s,G="coerced"+s;i+=" var "+Z+" = typeof "+w+"; var "+G+" = undefined; ","array"==e.opts.coerceTypes&&(i+=" if ("+Z+" == 'object' && Array.isArray("+w+") && "+w+".length == 1) { "+w+" = "+w+"[0]; "+Z+" = typeof "+w+"; if ("+e.util.checkDataType(e.schema.type,w,e.opts.strictNumbers)+") "+G+" = "+w+"; } "),i+=" if ("+G+" !== undefined) ; ";var L=y;if(L)for(var Q,D=-1,z=L.length-1;D{"use strict";var i=/^[a-z_$][a-z0-9_$-]*$/i,a=r(9679),t=r(6296);e.exports={add:function(e,A){var r=this.RULES;if(r.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!i.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(A){this.validateKeyword(A,!0);var t=A.type;if(Array.isArray(t))for(var n=0;n{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},9302:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},1183:e=>{"use strict";e.exports=function e(A,r){if(A===r)return!0;if(A&&r&&"object"==typeof A&&"object"==typeof r){if(A.constructor!==r.constructor)return!1;var i,a,t;if(Array.isArray(A)){if((i=A.length)!=r.length)return!1;for(a=i;0!=a--;)if(!e(A[a],r[a]))return!1;return!0}if(A.constructor===RegExp)return A.source===r.source&&A.flags===r.flags;if(A.valueOf!==Object.prototype.valueOf)return A.valueOf()===r.valueOf();if(A.toString!==Object.prototype.toString)return A.toString()===r.toString();if((i=(t=Object.keys(A)).length)!==Object.keys(r).length)return!1;for(a=i;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,t[a]))return!1;for(a=i;0!=a--;){var n=t[a];if(!e(A[n],r[n]))return!1}return!0}return A!=A&&r!=r}},9741:e=>{"use strict";e.exports=function(e,A){A||(A={}),"function"==typeof A&&(A={cmp:A});var r,i="boolean"==typeof A.cycles&&A.cycles,a=A.cmp&&(r=A.cmp,function(e){return function(A,i){var a={key:A,value:e[A]},t={key:i,value:e[i]};return r(a,t)}}),t=[];return function e(A){if(A&&A.toJSON&&"function"==typeof A.toJSON&&(A=A.toJSON()),void 0!==A){if("number"==typeof A)return isFinite(A)?""+A:"null";if("object"!=typeof A)return JSON.stringify(A);var r,n;if(Array.isArray(A)){for(n="[",r=0;r{"use strict";const i=r(5576).buildOptions,a={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:"\\c",format:!1,indentBy:" ",supressEmptyNode:!1,tagValueProcessor:function(e){return e},attrValueProcessor:function(e){return e}},t=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","format","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor"];function n(e){this.options=i(e,a,t),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=h),this.options.cdataTagName?this.isCDATA=w:this.isCDATA=function(){return!1},this.replaceCDATAstr=f,this.replaceCDATAarr=l,this.options.format?(this.indentate=b,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine=""),this.options.supressEmptyNode?(this.buildTextNode=u,this.buildObjNode=c):(this.buildTextNode=o,this.buildObjNode=s),this.buildTextValNode=o,this.buildObjectNode=s}function f(e,A){return e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e?e+"");return e+this.newLine}function s(e,A,r,i){return r&&!e.includes("<")?this.indentate(i)+"<"+A+r+">"+e+""+this.options.tagValueProcessor(e)+"{"use strict";const i=function(e){return String.fromCharCode(e)},a={nilChar:i(176),missingChar:i(201),nilPremitive:i(175),missingPremitive:i(200),emptyChar:i(178),emptyValue:i(177),boundryChar:i(179),objStart:i(198),arrStart:i(204),arrayEnd:i(185)},t=[a.nilChar,a.nilPremitive,a.missingChar,a.missingPremitive,a.boundryChar,a.emptyChar,a.emptyValue,a.arrayEnd,a.objStart,a.arrStart],n=function(e,A,r){if("string"==typeof A)return e&&e[0]&&void 0!==e[0].val?f(e[0].val,A):f(e,A);{const t=void 0===(i=e)?a.missingChar:null===i?a.nilChar:!(i.child&&0===Object.keys(i.child).length&&(!i.attrsMap||0===Object.keys(i.attrsMap).length))||a.emptyChar;if(!0===t){let i="";if(Array.isArray(A)){i+=a.arrStart;const t=A[0],s=e.length;if("string"==typeof t)for(let A=0;A{"use strict";const i=r(5576),a=function(e,A){const r={};if(!(e.child&&!i.isEmptyObject(e.child)||e.attrsMap&&!i.isEmptyObject(e.attrsMap)))return i.isExist(e.val)?e.val:"";i.isExist(e.val)&&("string"!=typeof e.val||""!==e.val&&e.val!==A.cdataPositionChar)&&("strict"===A.arrayMode?r[A.textNodeName]=[e.val]:r[A.textNodeName]=e.val),i.merge(r,e.attrsMap,A.arrayMode);const t=Object.keys(e.child);for(let i=0;i1)for(var f in r[n]=[],e.child[n])r[n].push(a(e.child[n][f],A));else if(!0===A.arrayMode){const i=a(e.child[n][0],A);r[n]="object"==typeof i?[i]:i}else"strict"===A.arrayMode?r[n]=[a(e.child[n][0],A)]:r[n]=a(e.child[n][0],A)}return r};A.convertToJson=a},5269:(e,A,r)=>{"use strict";const i=r(5576),a=r(5576).buildOptions,t=r(268),n=function(e,A,r){let a="{";const t=Object.keys(e.child);for(let r=0;r1){for(var l in a+='"'+f+'" : [ ',e.child[f])a+=n(e.child[f][l],A)+" , ";a=a.substr(0,a.length-1)+" ] "}else a+='"'+f+'" : '+n(e.child[f][0],A)+" ,"}return i.merge(a,e.attrsMap),i.isEmptyObject(a)?i.isExist(e.val)?e.val:"":(i.isExist(e.val)&&("string"!=typeof e.val||""!==e.val&&e.val!==A.cdataPositionChar)&&(a+='"'+A.textNodeName+'" : '+(!0!==(s=e.val)&&!1!==s&&isNaN(s)?'"'+s+'"':s)),","===a[a.length-1]&&(a=a.substr(0,a.length-2)),a+"}");var s};A.convertToJsonString=function(e,A){return(A=a(A,t.defaultOptions,t.props)).indentBy=A.indentBy||"",n(e,A,0)}},1951:(e,A,r)=>{"use strict";const i=r(743),a=r(268),t=r(268),n=r(5576).buildOptions,f=r(3309);A.parse=function(e,A,r){if(r){!0===r&&(r={});const A=f.validate(e,r);if(!0!==A)throw Error(A.err.msg)}A=n(A,t.defaultOptions,t.props);const l=a.getTraversalObj(e,A);return i.convertToJson(l,A)},A.convertTonimn=r(2459).convert2nimn,A.getTraversalObj=a.getTraversalObj,A.convertToJson=i.convertToJson,A.convertToJsonString=r(5269).convertToJsonString,A.validate=f.validate,A.j2xParser=r(6265),A.parseToNimn=function(e,r,i){return A.convertTonimn(A.getTraversalObj(e,i),r,i)}},5576:(e,A)=>{"use strict";const r="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");A.isExist=function(e){return void 0!==e},A.isEmptyObject=function(e){return 0===Object.keys(e).length},A.merge=function(e,A,r){if(A){const i=Object.keys(A),a=i.length;for(let t=0;t{"use strict";const i=r(5576),a={allowBooleanAttributes:!1},t=["allowBooleanAttributes"];function n(e,A){for(var r=A;A5&&"xml"===i)return u("InvalidXml","XML declaration allowed only at the start of the document.",h(e,A));if("?"==e[A]&&">"==e[A+1]){A++;break}}return A}function f(e,A){if(e.length>A+5&&"-"===e[A+1]&&"-"===e[A+2]){for(A+=3;A"===e[A+2]){A+=2;break}}else if(e.length>A+8&&"D"===e[A+1]&&"O"===e[A+2]&&"C"===e[A+3]&&"T"===e[A+4]&&"Y"===e[A+5]&&"P"===e[A+6]&&"E"===e[A+7]){let r=1;for(A+=8;A"===e[A]&&(r--,0===r))break}else if(e.length>A+9&&"["===e[A+1]&&"C"===e[A+2]&&"D"===e[A+3]&&"A"===e[A+4]&&"T"===e[A+5]&&"A"===e[A+6]&&"["===e[A+7])for(A+=8;A"===e[A+2]){A+=2;break}return A}function l(e,A){let r="",i="",a=!1;for(;A"===e[A]&&""===i){a=!0;break}r+=e[A]}return""===i&&{value:r,index:A,tagClosed:a}}A.validate=function(e,A){A=i.buildOptions(A,a,t);const r=[];let s=!1,b=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let a=0;a"!==e[a]&&" "!==e[a]&&"\t"!==e[a]&&"\n"!==e[a]&&"\r"!==e[a];a++)n+=e[a];if(n=n.trim(),"/"===n[n.length-1]&&(n=n.substring(0,n.length-1),a--),w=n,!i.isName(w)){let A;return A=0===n.trim().length?"There is an unnecessary space between tag name and backward slash '0)return u("InvalidTag","Closing tag '"+n+"' can't have attributes or invalid starting.",h(e,a));{const A=r.pop();if(n!==A)return u("InvalidTag","Closing tag '"+A+"' is expected inplace of '"+n+"'.",h(e,a));0==r.length&&(b=!0)}}else{const i=c(d,A);if(!0!==i)return u(i.err.code,i.err.msg,h(e,a-d.length+i.err.line));if(!0===b)return u("InvalidXml","Multiple possible root nodes found.",h(e,a));r.push(n),s=!0}for(a++;a0)||u("InvalidXml","Invalid '"+JSON.stringify(r,null,4).replace(/\r?\n/g,"")+"' found.",1):u("InvalidXml","Start tag expected.",1)};const s=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function c(e,A){const r=i.getAllMatches(e,s),a={};for(let i=0;i{"use strict";e.exports=function(e,A,r){this.tagname=e,this.parent=A,this.child={},this.attrsMap={},this.val=r,this.addChild=function(e){Array.isArray(this.child[e.tagname])?this.child[e.tagname].push(e):this.child[e.tagname]=[e]}}},268:(e,A,r)=>{"use strict";const i=r(5576),a=r(5576).buildOptions,t=r(1457);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp),!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const n={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:"\\c",tagValueProcessor:function(e,A){return e},attrValueProcessor:function(e,A){return e},stopNodes:[]};A.defaultOptions=n;const f=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","arrayMode","trimValues","cdataTagName","cdataPositionChar","tagValueProcessor","attrValueProcessor","parseTrueNumberOnly","stopNodes"];function l(e,A,r){return A&&(r.trimValues&&(A=A.trim()),A=c(A=r.tagValueProcessor(A,e),r.parseNodeValue,r.parseTrueNumberOnly)),A}function s(e,A){if(A.ignoreNameSpace){const A=e.split(":"),r="/"===e.charAt(0)?"/":"";if("xmlns"===A[0])return"";2===A.length&&(e=r+A[1])}return e}function c(e,A,r){if(A&&"string"==typeof e){let A;return""===e.trim()||isNaN(e)?A="true"===e||"false"!==e&&e:(-1!==e.indexOf("0x")?A=Number.parseInt(e,16):-1!==e.indexOf(".")?(A=Number.parseFloat(e),e=e.replace(/\.?0+$/,"")):A=Number.parseInt(e,10),r&&(A=String(A)===e?A:e)),A}return i.isExist(e)?e:""}A.props=f;const o=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])(.*?)\\3)?","g");function u(e,A){if(!A.ignoreAttributes&&"string"==typeof e){e=e.replace(/\r?\n/g," ");const r=i.getAllMatches(e,o),a=r.length,t={};for(let e=0;e"===A)return{data:i,index:a};"\t"===A&&(A=" ")}i+=A}}function h(e,A,r,i){const a=e.indexOf(A,r);if(-1===a)throw new Error(i);return a+A.length-1}A.getTraversalObj=function(e,A){e=e.replace(/(\r\n)|\n/," "),A=a(A,n,f);const r=new t("!xml");let s=r,c="";for(let r=0;r",r,"Closing Tag is not closed.");let t=e.substring(r+2,a).trim();if(A.ignoreNameSpace){const e=t.indexOf(":");-1!==e&&(t=t.substr(e+1))}s&&(s.val?s.val=i.getValue(s.val)+""+l(t,c,A):s.val=l(t,c,A)),A.stopNodes.length&&A.stopNodes.includes(s.tagname)&&(s.child=[],null==s.attrsMap&&(s.attrsMap={}),s.val=e.substr(s.startIndex+1,r-s.startIndex-1)),s=s.parent,c="",r=a}else if("?"===e[r+1])r=h(e,"?>",r,"Pi Tag is not closed.");else if("!--"===e.substr(r+1,3))r=h(e,"--\x3e",r,"Comment is not closed.");else if("!D"===e.substr(r+1,2)){const A=h(e,">",r,"DOCTYPE is not closed.");r=e.substring(r,A).indexOf("[")>=0?e.indexOf("]>",r)+1:A}else if("!["===e.substr(r+1,2)){const a=h(e,"]]>",r,"CDATA is not closed.")-2,n=e.substring(r+9,a);if(c&&(s.val=i.getValue(s.val)+""+l(s.tagname,c,A),c=""),A.cdataTagName){const e=new t(A.cdataTagName,s,n);s.addChild(e),s.val=i.getValue(s.val)+A.cdataPositionChar,n&&(e.val=n)}else s.val=(s.val||"")+(n||"");r=a+2}else{const a=b(e,r+1);let n=a.data;const f=a.index,o=n.indexOf(" ");let h=n;if(-1!==o&&(h=n.substr(0,o).trimRight(),n=n.substr(o+1)),A.ignoreNameSpace){const e=h.indexOf(":");-1!==e&&(h=h.substr(e+1))}if(s&&c&&"!xml"!==s.tagname&&(s.val=i.getValue(s.val)+""+l(s.tagname,c,A)),n.length>0&&n.lastIndexOf("/")===n.length-1){"/"===h[h.length-1]?(h=h.substr(0,h.length-1),n=h):n=n.substr(0,n.length-1);const e=new t(h,s,"");h!==n&&(e.attrsMap=u(n,A)),s.addChild(e)}else{const e=new t(h,s);A.stopNodes.length&&A.stopNodes.includes(e.tagname)&&(e.startIndex=f),h!==n&&(e.attrsMap=u(n,A)),s.addChild(e),s=e}c="",r=f}else c+=e[r];return r}},5631:function(e){var A;A=function(){return function(e){var A={};function r(i){if(A[i])return A[i].exports;var a=A[i]={exports:{},id:i,loaded:!1};return e[i].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.m=e,r.c=A,r.p="",r(0)}([function(e,A,r){"use strict";var i=r(1).default,a=r(2).default;A.__esModule=!0;var t=i(r(3)),n=a(r(36)),f=a(r(5)),l=i(r(4)),s=i(r(37)),c=a(r(43));function o(){var e=new t.HandlebarsEnvironment;return l.extend(e,t),e.SafeString=n.default,e.Exception=f.default,e.Utils=l,e.escapeExpression=l.escapeExpression,e.VM=s,e.template=function(A){return s.template(A,e)},e}var u=o();u.create=o,c.default(u),u.default=u,A.default=u,e.exports=A.default},function(e,A){"use strict";A.default=function(e){if(e&&e.__esModule)return e;var A={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r]);return A.default=e,A},A.__esModule=!0},function(e,A){"use strict";A.default=function(e){return e&&e.__esModule?e:{default:e}},A.__esModule=!0},function(e,A,r){"use strict";var i=r(2).default;A.__esModule=!0,A.HandlebarsEnvironment=o;var a=r(4),t=i(r(5)),n=r(9),f=r(29),l=i(r(31)),s=r(32);A.VERSION="4.7.6",A.COMPILER_REVISION=8,A.LAST_COMPATIBLE_COMPILER_REVISION=7,A.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var c="[object Object]";function o(e,A,r){this.helpers=e||{},this.partials=A||{},this.decorators=r||{},n.registerDefaultHelpers(this),f.registerDefaultDecorators(this)}o.prototype={constructor:o,logger:l.default,log:l.default.log,registerHelper:function(e,A){if(a.toString.call(e)===c){if(A)throw new t.default("Arg not supported with multiple helpers");a.extend(this.helpers,e)}else this.helpers[e]=A},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,A){if(a.toString.call(e)===c)a.extend(this.partials,e);else{if(void 0===A)throw new t.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=A}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,A){if(a.toString.call(e)===c){if(A)throw new t.default("Arg not supported with multiple decorators");a.extend(this.decorators,e)}else this.decorators[e]=A},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){s.resetLoggedProperties()}};var u=l.default.log;A.log=u,A.createFrame=a.createFrame,A.logger=l.default},function(e,A){"use strict";A.__esModule=!0,A.extend=n,A.indexOf=function(e,A){for(var r=0,i=e.length;r":">",'"':""","'":"'","`":"`","=":"="},i=/[&<>"'`=]/g,a=/[&<>"'`=]/;function t(e){return r[e]}function n(e){for(var A=1;A0?(r.ids&&(r.ids=[r.name]),e.helpers.each(A,r)):a(this);if(r.data&&r.ids){var n=i.createFrame(r.data);n.contextPath=i.appendContextPath(r.data.contextPath,r.name),r={data:n}}return t(A,r)}))},e.exports=A.default},function(e,A,r){(function(i){"use strict";var a=r(12).default,t=r(2).default;A.__esModule=!0;var n=r(4),f=t(r(5));A.default=function(e){e.registerHelper("each",(function(e,A){if(!A)throw new f.default("Must pass iterator to #each");var r,t=A.fn,l=A.inverse,s=0,c="",o=void 0,u=void 0;function b(A,r,i){o&&(o.key=A,o.index=r,o.first=0===r,o.last=!!i,u&&(o.contextPath=u+A)),c+=t(e[A],{data:o,blockParams:n.blockParams([e[A],A],[u+A,null])})}if(A.data&&A.ids&&(u=n.appendContextPath(A.data.contextPath,A.ids[0])+"."),n.isFunction(e)&&(e=e.call(this)),A.data&&(o=n.createFrame(A.data)),e&&"object"==typeof e)if(n.isArray(e))for(var h=e.length;s=0?A:parseInt(e,10)}return e},log:function(e){if(e=a.lookupLevel(e),"undefined"!=typeof console&&a.lookupLevel(a.level)<=e){var A=a.methodMap[e];console[A]||(A="log");for(var r=arguments.length,i=Array(r>1?r-1:0),t=1;t=s.LAST_COMPATIBLE_COMPILER_REVISION&&A<=s.COMPILER_REVISION)){if(A\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},o=/["&'<>`]/g,u={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},b=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,w=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,k={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},d={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},g=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],m=String.fromCharCode,p={}.hasOwnProperty,E=function(e,A){return p.call(e,A)},B=function(e,A){if(!e)return A;var r,i={};for(r in A)i[r]=E(e,r)?e[r]:A[r];return i},y=function(e,A){var r="";return e>=55296&&e<=57343||e>1114111?(A&&Z("character reference outside the permissible Unicode range"),"�"):E(v,e)?(A&&Z("disallowed character reference"),v[e]):(A&&function(e,A){for(var r=-1,i=e.length;++r65535&&(r+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=m(e))},C=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},I=function(e){return"&#"+e+";"},Z=function(e){throw Error("Parse error: "+e)},G=function(e,A){(A=B(A,G.options)).strict&&h.test(e)&&Z("forbidden code point");var r=A.encodeEverything,i=A.useNamedReferences,a=A.allowUnsafeSymbols,t=A.decimal?I:C,u=function(e){return t(e.charCodeAt(0))};return r?(e=e.replace(f,(function(e){return i&&E(c,e)?"&"+c[e]+";":u(e)})),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(s,(function(e){return"&"+c[e]+";"})))):i?(a||(e=e.replace(o,(function(e){return"&"+c[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(s,(function(e){return"&"+c[e]+";"}))):a||(e=e.replace(o,u)),e.replace(n,(function(e){var A=e.charCodeAt(0),r=e.charCodeAt(1);return t(1024*(A-55296)+r-56320+65536)})).replace(l,u)};G.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var L=function(e,A){var r=(A=B(A,L.options)).strict;return r&&b.test(e)&&Z("malformed character reference"),e.replace(w,(function(e,i,a,t,n,f,l,s,c){var o,u,b,h,w,v;return i?k[w=i]:a?(w=a,(v=t)&&A.isAttributeValue?(r&&"="==v&&Z("`&` did not start a character reference"),e):(r&&Z("named character reference was not terminated by a semicolon"),d[w]+(v||""))):n?(b=n,u=f,r&&!u&&Z("character reference was not terminated by a semicolon"),o=parseInt(b,10),y(o,r)):l?(h=l,u=s,r&&!u&&Z("character reference was not terminated by a semicolon"),o=parseInt(h,16),y(o,r)):(r&&Z("named character reference was not terminated by a semicolon"),e)}))};L.options={isAttributeValue:!1,strict:!1};var Q={version:"1.2.0",encode:G,decode:L,escape:function(e){return e.replace(o,(function(e){return u[e]}))},unescape:L};void 0===(i=function(){return Q}.call(A,r,A,e))||(e.exports=i)}()},9453:e=>{"use strict";var A=e.exports=function(e,A,i){"function"==typeof A&&(i=A,A={}),r(A,"function"==typeof(i=A.cb||i)?i:i.pre||function(){},i.post||function(){},e,"",e)};function r(e,i,a,t,n,f,l,s,c,o){if(t&&"object"==typeof t&&!Array.isArray(t)){for(var u in i(t,n,f,l,s,c,o),t){var b=t[u];if(Array.isArray(b)){if(u in A.arrayKeywords)for(var h=0;h{var A=Array.isArray;e.exports=function(){if(!arguments.length)return[];var e=arguments[0];return A(e)?e:[e]}},467:(e,A,r)=>{e=r.nmd(e);var i="__lodash_hash_undefined__",a=9007199254740991,t="[object Arguments]",n="[object Boolean]",f="[object Date]",l="[object Function]",s="[object GeneratorFunction]",c="[object Map]",o="[object Number]",u="[object Object]",b="[object Promise]",h="[object RegExp]",w="[object Set]",k="[object String]",d="[object Symbol]",v="[object WeakMap]",g="[object ArrayBuffer]",m="[object DataView]",p="[object Float32Array]",E="[object Float64Array]",B="[object Int8Array]",y="[object Int16Array]",C="[object Int32Array]",I="[object Uint8Array]",Z="[object Uint8ClampedArray]",G="[object Uint16Array]",L="[object Uint32Array]",Q=/\w*$/,D=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,W={};W[t]=W["[object Array]"]=W[g]=W[m]=W[n]=W[f]=W[p]=W[E]=W[B]=W[y]=W[C]=W[c]=W[o]=W[u]=W[h]=W[w]=W[k]=W[d]=W[I]=W[Z]=W[G]=W[L]=!0,W["[object Error]"]=W[l]=W[v]=!1;var Y="object"==typeof global&&global&&global.Object===Object&&global,F="object"==typeof self&&self&&self.Object===Object&&self,M=Y||F||Function("return this")(),V=A&&!A.nodeType&&A,N=V&&e&&!e.nodeType&&e,R=N&&N.exports===V;function x(e,A){return e.set(A[0],A[1]),e}function J(e,A){return e.add(A),e}function H(e,A,r,i){var a=-1,t=e?e.length:0;for(i&&t&&(r=e[++a]);++a-1},Ze.prototype.set=function(e,A){var r=this.__data__,i=De(r,e);return i<0?r.push([e,A]):r[i][1]=A,this},Ge.prototype.clear=function(){this.__data__={hash:new Ie,map:new(he||Ze),string:new Ie}},Ge.prototype.delete=function(e){return Fe(this,e).delete(e)},Ge.prototype.get=function(e){return Fe(this,e).get(e)},Ge.prototype.has=function(e){return Fe(this,e).has(e)},Ge.prototype.set=function(e,A){return Fe(this,e).set(e,A),this},Le.prototype.clear=function(){this.__data__=new Ze},Le.prototype.delete=function(e){return this.__data__.delete(e)},Le.prototype.get=function(e){return this.__data__.get(e)},Le.prototype.has=function(e){return this.__data__.has(e)},Le.prototype.set=function(e,A){var r=this.__data__;if(r instanceof Ze){var i=r.__data__;if(!he||i.length<199)return i.push([e,A]),this;r=this.__data__=new Ge(i)}return r.set(e,A),this};var Ve=ce?S(ce,Object):function(){return[]},Ne=function(e){return Ae.call(e)};function Re(e,A){return!!(A=null==A?a:A)&&("number"==typeof e||z.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=a}(e.length)&&!je(e)}var Se=oe||function(){return!1};function je(e){var A=Ue(e)?Ae.call(e):"";return A==l||A==s}function Ue(e){var A=typeof e;return!!e&&("object"==A||"function"==A)}function Te(e){return Xe(e)?function(e,A){var r=Pe(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&Xe(e)}(e)&&ee.call(e,"callee")&&(!le.call(e,"callee")||Ae.call(e)==t)}(e)?function(e,A){for(var r=-1,i=Array(e);++r{var A,r="__lodash_hash_undefined__",i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/,t=/^\./,n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,l=/^\[object .+?Constructor\]$/,s="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,o=s||c||Function("return this")(),u=Array.prototype,b=Function.prototype,h=Object.prototype,w=o["__core-js_shared__"],k=(A=/[^.]+$/.exec(w&&w.keys&&w.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"",d=b.toString,v=h.hasOwnProperty,g=h.toString,m=RegExp("^"+d.call(v).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),p=o.Symbol,E=u.splice,B=z(o,"Map"),y=z(Object,"create"),C=p?p.prototype:void 0,I=C?C.toString:void 0;function Z(e){var A=-1,r=e?e.length:0;for(this.clear();++A-1},G.prototype.set=function(e,A){var r=this.__data__,i=Q(r,e);return i<0?r.push([e,A]):r[i][1]=A,this},L.prototype.clear=function(){this.__data__={hash:new Z,map:new(B||G),string:new Z}},L.prototype.delete=function(e){return D(this,e).delete(e)},L.prototype.get=function(e){return D(this,e).get(e)},L.prototype.has=function(e){return D(this,e).has(e)},L.prototype.set=function(e,A){return D(this,e).set(e,A),this};var W=F((function(e){var A;e=null==(A=e)?"":function(e){if("string"==typeof e)return e;if(N(e))return I?I.call(e):"";var A=e+"";return"0"==A&&1/e==-1/0?"-0":A}(A);var r=[];return t.test(e)&&r.push(""),e.replace(n,(function(e,A,i,a){r.push(i?a.replace(f,"$1"):A||e)})),r}));function Y(e){if("string"==typeof e||N(e))return e;var A=e+"";return"0"==A&&1/e==-1/0?"-0":A}function F(e,A){if("function"!=typeof e||A&&"function"!=typeof A)throw new TypeError("Expected a function");var r=function(){var i=arguments,a=A?A.apply(this,i):i[0],t=r.cache;if(t.has(a))return t.get(a);var n=e.apply(this,i);return r.cache=t.set(a,n),n};return r.cache=new(F.Cache||L),r}F.Cache=L;var M=Array.isArray;function V(e){var A=typeof e;return!!e&&("object"==A||"function"==A)}function N(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==g.call(e)}e.exports=function(e,A,r){var t=null==e?void 0:function(e,A){for(var r,t=0,n=(A=function(e,A){if(M(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!N(e))||a.test(e)||!i.test(e)||null!=A&&e in Object(A)}(A,e)?[A]:M(r=A)?r:W(r)).length;null!=e&&t{e=r.nmd(e);var i="Expected a function",a="__lodash_hash_undefined__",t=9007199254740991,n="[object Arguments]",f="[object Array]",l="[object Boolean]",s="[object Date]",c="[object Error]",o="[object Function]",u="[object Map]",b="[object Number]",h="[object Object]",w="[object Promise]",k="[object RegExp]",d="[object Set]",v="[object String]",g="[object Symbol]",m="[object WeakMap]",p="[object ArrayBuffer]",E="[object DataView]",B=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y=/^\w*$/,C=/^\./,I=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Z=/\\(\\)?/g,G=/^\[object .+?Constructor\]$/,L=/^(?:0|[1-9]\d*)$/,Q={};Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q[n]=Q[f]=Q[p]=Q[l]=Q[E]=Q[s]=Q[c]=Q[o]=Q[u]=Q[b]=Q[h]=Q[k]=Q[d]=Q[v]=Q[m]=!1;var D="object"==typeof global&&global&&global.Object===Object&&global,z="object"==typeof self&&self&&self.Object===Object&&self,W=D||z||Function("return this")(),Y=A&&!A.nodeType&&A,F=Y&&e&&!e.nodeType&&e,M=F&&F.exports===Y&&D.process,V=function(){try{return M&&M.binding("util")}catch(e){}}(),N=V&&V.isTypedArray;function R(e,A){for(var r=-1,i=e?e.length:0,a=0,t=[];++r-1},Ee.prototype.set=function(e,A){var r=this.__data__,i=Ie(r,e);return i<0?r.push([e,A]):r[i][1]=A,this},Be.prototype.clear=function(){this.__data__={hash:new pe,map:new(le||Ee),string:new pe}},Be.prototype.delete=function(e){return Me(this,e).delete(e)},Be.prototype.get=function(e){return Me(this,e).get(e)},Be.prototype.has=function(e){return Me(this,e).has(e)},Be.prototype.set=function(e,A){return Me(this,e).set(e,A),this},ye.prototype.add=ye.prototype.push=function(e){return this.__data__.set(e,a),this},ye.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.clear=function(){this.__data__=new Ee},Ce.prototype.delete=function(e){return this.__data__.delete(e)},Ce.prototype.get=function(e){return this.__data__.get(e)},Ce.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.set=function(e,A){var r=this.__data__;if(r instanceof Ee){var i=r.__data__;if(!le||i.length<199)return i.push([e,A]),this;r=this.__data__=new Be(i)}return r.set(e,A),this};var Ze,Ge=(Ze=function(e,A){return e&&Qe(e,A,iA)},function(e,A){if(null==e)return e;if(!_e(e))return Ze(e,A);for(var r=e.length,i=-1,a=Object(e);++if))return!1;var s=t.get(e);if(s&&t.get(A))return s==A;var c=-1,o=!0,u=1&a?new ye:void 0;for(t.set(e,A),t.set(A,e);++c-1&&e%1==0&&e-1&&e%1==0&&e<=t}function $e(e){var A=typeof e;return!!e&&("object"==A||"function"==A)}function eA(e){return!!e&&"object"==typeof e}function AA(e){return"symbol"==typeof e||eA(e)&&ee.call(e)==g}var rA=N?function(e){return function(A){return e(A)}}(N):function(e){return eA(e)&&Ke(e.length)&&!!Q[ee.call(e)]};function iA(e){return _e(e)?function(e,A){var r=Oe(e)||Te(e)?function(e,A){for(var r=-1,i=Array(e);++r{"use strict";e.exports=JSON.parse('{"_from":"state-machine-cat@7.0.13","_id":"state-machine-cat@7.0.13","_inBundle":false,"_integrity":"sha512-01va3bekhwSYuIF7DuEanlHJxG4rgahVVcvguSx3FzXuWRfx6AwpxPOs9v2V0RJuzTIojoazAs4KaT/OTKAkjg==","_location":"/jsteros/state-machine-cat","_phantomChildren":{"ansi-styles":"4.3.0","string-width":"4.2.0","strip-ansi":"6.0.0"},"_requested":{"type":"version","registry":true,"raw":"state-machine-cat@7.0.13","name":"state-machine-cat","escapedName":"state-machine-cat","rawSpec":"7.0.13","saveSpec":null,"fetchSpec":"7.0.13"},"_requiredBy":["/jsteros"],"_resolved":"https://registry.npmjs.org/state-machine-cat/-/state-machine-cat-7.0.13.tgz","_shasum":"59ab6c8d0e0c1fd4bc8169383c495f45365a8255","_spec":"state-machine-cat@7.0.13","_where":"/home/carlos/repo/colibri","author":{"name":"Sander Verweij"},"bin":{"smcat":"bin/smcat","sm-cat":"bin/smcat","sm_cat":"bin/smcat","state-machine-cat":"bin/smcat"},"browserslist":["last 1 Chrome version","last 1 Firefox version","last 1 Safari version"],"bugs":{"url":"https://github.com/sverweij/state-machine-cat/issues"},"bundleDependencies":false,"dependencies":{"ajv":"6.12.6","chalk":"4.1.0","commander":"6.1.0","fast-xml-parser":"3.17.4","get-stream":"6.0.0","handlebars":"4.7.6","he":"1.2.0","indent-string":"4.0.0","lodash.castarray":"4.4.0","lodash.clonedeep":"4.5.0","lodash.get":"4.4.2","lodash.reject":"4.6.0","semver":"7.3.2","viz.js":"1.8.2","wrap-ansi":"7.0.0"},"deprecated":false,"description":"write beautiful state charts","devDependencies":{"chai":"4.2.0","chai-as-promised":"7.1.1","chai-json-schema":"1.5.1","chai-xml":"0.4.0","dependency-cruiser":"9.15.1","eslint":"7.12.0","eslint-config-moving-meadow":"2.0.7","eslint-config-prettier":"6.14.0","eslint-plugin-budapestian":"2.3.0","eslint-plugin-import":"2.22.1","eslint-plugin-mocha":"8.0.0","eslint-plugin-node":"11.1.0","eslint-plugin-security":"1.4.0","eslint-plugin-unicorn":"23.0.0","husky":"4.3.0","lint-staged":"10.4.2","mocha":"8.2.0","npm-run-all":"4.1.5","nyc":"15.1.0","pegjs":"0.10.0","prettier":"2.1.2","query-string":"6.13.6","tslint":"6.1.3","tslint-config-prettier":"1.18.0","typescript":"4.0.3","upem":"5.0.0","webpack":"5.2.0","webpack-cli":"4.1.0","xml-name-validator":"3.0.0"},"engines":{"node":">=10"},"eslintIgnore":["coverage","docs","node_modules","public","src/**/*-parser.js","src/**/*.template.js","webpack.config.js"],"files":["bin/","src/**/*.js","src/**/*.json","types/","package.json","README.md","LICENSE"],"homepage":"https://state-machine-cat.js.org","husky":{"hooks":{"pre-commit":"lint-staged"}},"keywords":["state","state chart","state diagram","state machine","finite state machine","fsm","uml","scxml"],"license":"MIT","lint-staged":{"{src,test}/**/*.js":["eslint --cache --cache-location .cache --fix","prettier --loglevel warn --write","depcruise --output-type err-long --config config/dependency-cruiser.js","git add"]},"main":"src/index.js","name":"state-machine-cat","nyc":{"statements":100,"branches":99.1,"functions":100,"lines":100,"exclude":["config/**/*","coverage/**/*","docs/**/*","public/**/*","test/**/*","tmp*","tools/**/*","src/**/*-parser.js","src/**/*.template.js","webpack.*.js"],"reporter":["text-summary","html","lcov"],"all":true},"repository":{"type":"git","url":"git+https://github.com/sverweij/state-machine-cat.git"},"scripts":{"build":"make clean dist pages","build:cli":"make cli-build","build:dev":"make dev-build","check":"run-p --aggregate-output depcruise lint test:cover","depcruise":"depcruise --output-type err-long --config config/dependency-cruiser.js src test bin/smcat","depcruise:graph":"run-s depcruise:graph:*","depcruise:graph:archi-html":"depcruise --output-type archi --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-archi-graph.html","depcruise:graph:archi-svg":"depcruise --output-type archi --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg > docs/dependency-cruiser-archi-graph.svg","depcruise:graph:deps-html":"depcruise --output-type dot --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-graph.html","depcruise:graph:deps-svg":"depcruise --output-type dot --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg > docs/dependency-cruiser-graph.svg","depcruise:graph:dir-html":"depcruise --output-type ddot --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-dir-graph.html","depcruise:graph:dir-svg":"depcruise --output-type ddot --config config/dependency-cruiser-graph.js src bin/smcat | dot -Tsvg > docs/dependency-cruiser-dir-graph.svg","depcruise:html-report":"depcruise --output-type err-html --config config/dependency-cruiser.js src test bin/smcat --output-to dependency-violation-report.html","depcruise:view":"depcruise --output-type dot --config config/dependency-cruiser-graph.js --prefix vscode://file/$(pwd)/ src bin/smcat | dot -Tsvg | depcruise-wrap-stream-in-html | browser","depcruise:view-report":"depcruise --output-type err-html --config config/dependency-cruiser.js --prefix vscode://file/$(pwd)/ src test bin/smcat | browser","lint":"run-p --aggregate-output lint:eslint lint:prettier lint:types","lint:eslint":"eslint --cache --cache-location .cache src test config","lint:fix":"run-s lint:fix:eslint lint:fix:prettier lint:fix:types","lint:fix:eslint":"eslint --cache --cache-location .cache --fix src test config","lint:fix:prettier":"prettier --loglevel warn --write {src,test,config}/\\\\*\\\\*/\\\\*.{js,json} types/*.ts *.{json,yml,md} docs/{smcat-online-interpreter.js,*.md}","lint:fix:types":"tslint --fix types/*.d.ts","lint:prettier":"prettier --check {src,test,config}/\\\\*\\\\*/\\\\*.{js,json} types/*.ts *.{json,yml,md} docs/{smcat-online-interpreter.js,*.md}","lint:types":"run-s lint:types:*","lint:types:tsc":"tsc --noEmit --strict --types --noUnusedLocals --noUnusedParameters types/*.d.ts","lint:types:tslint":"tslint types/*.d.ts","scm:push":"run-p --aggregate-output scm:push:*","scm:push:bitbucket-mirror":"run-p --aggregate-output scm:push:bitbucket-mirror:*","scm:push:bitbucket-mirror:commits":"git push bitbucket-mirror","scm:push:bitbucket-mirror:tags":"git push --tags bitbucket-mirror","scm:push:github":"run-p --aggregate-output scm:push:github:*","scm:push:github:commits":"git push","scm:push:github:tags":"git push --tags","scm:push:gitlab-mirror":"run-p --aggregate-output scm:push:gitlab-mirror:*","scm:push:gitlab-mirror:commits":"git push gitlab-mirror","scm:push:gitlab-mirror:tags":"git push --tags gitlab-mirror","scm:stage":"git add .","test":"mocha --reporter spec --timeout 4000 --recursive test","test:cover":"nyc --check-coverage npm test","test:integration":"mocha --reporter spec --timeout 4000 --recursive test --invert --fgrep integration","test:unit":"mocha --reporter spec --timeout 4000 --recursive test --invert --fgrep integration","update-dependencies":"run-s upem:update upem:install lint:fix check","upem:install":"npm install","upem:update":"npm outdated --json | upem","version":"run-s build depcruise:graph scm:stage"},"types":"types/state-machine-cat.d.ts","upem":{"donotup":[{"package":"viz.js","because":"viz.js >=2 ditched its async interface, which we use. Will need some code reshuffling which is not worth it a.t.m."}]},"version":"7.0.13"}')},8138:(e,A,r)=>{const i=r(306),a=r(7766),t=r(5435),n=r(1514),f=r(6558);function l(e,A){const r=t.getAST(e,A),i=a.getOptionValue(A,"desugar");return f(a.getOptionValue(A,"outputType"))(i?n(r):r,A)}e.exports={render(e,A,r){if(!Boolean(r))return l(e,A);try{r(null,l(e,A))}catch(e){r(e)}},version:i.version,getAllowedValues:a.getAllowedValues}},7766:(e,A,r)=>{const i=r(3278),a=Object.freeze({inputType:{default:"smcat",values:[{name:"smcat"},{name:"json"},{name:"scxml"}]},outputType:{default:"svg",values:[{name:"svg"},{name:"dot"},{name:"smcat"},{name:"json"},{name:"ast"},{name:"scxml"},{name:"scjson"}]},engine:{default:"dot",values:[{name:"dot"},{name:"circo"},{name:"fdp"},{name:"neato"},{name:"osage"},{name:"twopi"}]},direction:{default:"top-down",values:[{name:"top-down"},{name:"bottom-top"},{name:"left-right"},{name:"right-left"}]},desugar:{default:!1,values:[{name:!0},{name:!1}]}});e.exports={getAllowedValues:function(){return a},getOptionValue:function(e,A){return i(e,A,i(a,`${A}.default`))}}},5435:(e,A,r)=>{const i=r(6447),a=r(7766),t=r(855),n=r(1878),f=r(8751),l=new i;e.exports={getAST:function(e,A){let r=e;return"smcat"===a.getOptionValue(A,"inputType")?r=t.parse(e):"scxml"===a.getOptionValue(A,"inputType")?r=n.parse(e):"string"==typeof e&&(r=JSON.parse(e)),function(e,A){if(!l.validate(e,A))throw new Error(`The provided JSON is not a valid state-machine-cat AST: ${l.errorsText()}.\n`)}(f,r),r}}},8038:(e,A,r)=>{const i=r(2375),a=new RegExp("^(entry|activity|exit)\\s*/\\s*([^\\n$]*)(\\n|$)");function t(e,A){return e.some((e=>e===A))}const n=[{re:/initial/,stateType:"initial"},{re:/final/,stateType:"final"},{re:/parallel/,stateType:"parallel"},{re:/(deep.*history)|(history.*deep)/,stateType:"deephistory"},{re:/history/,stateType:"history"},{re:/^\^.*/,stateType:"choice"},{re:/^].*/,stateType:"forkjoin"}];function f(e){return(n.find(function(e){return A=>A.re.test(e)}(e))||{stateType:"regular"}).stateType}function l(e){return{name:e,type:f(e)}}function s(e){return Boolean(e.statemachine)}function c(e){const A=e.states||[];return A.filter(s).reduce(((e,A)=>e.concat(c(A.statemachine))),A.map((e=>e.name)))}function o(e,A,r,i=(e=>e)){i(r)&&(e[A]=r)}function u(e){const A=e.match(a);return A?{type:A[1],body:A[2]}:{type:"activity",body:e}}e.exports={initState:l,extractUndeclaredStates:function e(A,r){r=r||c(A),A.states=A.states||[];const i=A.transitions||[];return A.states.filter(s).forEach((A=>{A.statemachine.states=e(A.statemachine,r)})),i.forEach((e=>{t(r,e.from)||(r.push(e.from),A.states.push(l(e.from))),t(r,e.to)||(r.push(e.to),A.states.push(l(e.to)))})),A.states},classifyForkJoins:function e(A,r=new i(A)){return A.states=A.states.map((A=>{if("forkjoin"===A.type&&!A.typeExplicitlySet){const e=r.findTransitionsByTo(A.name).length,i=r.findTransitionsByFrom(A.name).length;A.type=function(e,A){let r="junction";return e<=1&&A>1&&(r="fork"),e>1&&A<=1&&(r="join"),r}(e,i)}return A.statemachine&&(A.statemachine=e(A.statemachine,r)),A})),A},getStateType:f,stateEqual:function(e,A){return e.name===A.name},uniq:function(e,A){return e.reduce(((e,r)=>{const i=e.findIndex((e=>A(e,r)));return i>-1?(e[i]=r,e):e.concat(r)}),[])},parseTransitionExpression:function(e){const A={},r=e.match(/([^[/]+)?(\[[^\]]+\])?[^/]*(\/.+)?/);return r[1]&&(A.event=r[1].trim()),r[2]&&(A.cond=r[2].slice(1,-1).trim()),r[3]&&(A.action=r[3].slice(1,r[3].length).trim()),A},extractActions:function(e){return e.split(/\n\s*/g).map((e=>e.trim())).map(u)},setIf:o,setIfNotEmpty:function(e,A,r){o(e,A,r,(e=>e&&e.length>0))}}},1878:(e,A,r)=>{const i=r(1951),a=r(6970),t=r(4616),n=r(3278),f=r(4851).formatLabel,l=r(8038),s=r(1696);function c(e,A){return t(e[A]).map((e=>({type:"onexit"===A?"exit":"entry",body:a.decode(e).trim()})))}function o(e,A){return"history"===e&&"deep"===A.type?"deephistory":e}function u(e){return A=>{const r={name:A.id,type:o(e,A)};return l.getStateType(A.id)!==r.type&&(r.typeExplicitlySet=!0),(A.onentry||A.onexit)&&(r.actions=function(e){let A=[];return e.onentry&&(A=A.concat(c(e,"onentry"))),e.onexit&&(A=A.concat(c(e,"onexit"))),A}(A)),Object.keys(A).some((e=>["initial","state","history","parallel","final"].includes(e)))&&(r.statemachine=h(A)),r}}function b(e){return e.filter((e=>Object.prototype.hasOwnProperty.call(e,"transition"))).reduce(((e,A)=>{return e.concat(t(A.transition).reduce((r=A,(e,A)=>{const i=(A.target||r.id).split(/\s+/),t=function(e){const A={};"string"==typeof e?A.action=a.decode(e).trim():Object.assign(A,function(e){const A={};return e.event&&(A.event=e.event.split(/\s+/).join("\n")),e.cond&&(A.cond=e.cond),e["#text"]&&(A.action=a.decode(e["#text"]).trim()),e.type&&(A.type=e.type),A}(e));const r=f(A.event,A.cond,A.action);return r&&(A.label=r),A}(A);return e.concat(i.map((e=>({from:r.id,to:e,...t}))))}),[]));var r}),[])}function h(e){const A=s(e),r={};r.states=A.initial.map(u("initial")).concat(A.state.map(u("regular"))).concat(A.parallel.map(u("parallel"))).concat(A.history.map(u("history"))).concat(A.final.map(u("final")));const i=b(A.initial).concat(b(A.state)).concat(b(A.parallel));return i.length>0&&(r.transitions=i),r}e.exports={parse:function(e){const A=e.trim();if(!0===i.validate(A)){const e=i.parse(A,{attributeNamePrefix:"",ignoreAttributes:!1,tagValueProcessor:e=>a.decode(e),stopNodes:["onentry","onexit","transition"]});return h(n(e,"scxml",{}))}throw new Error("That doesn't look like valid xml ...\n")}}},1696:(e,A,r)=>{const i=r(3278),a=r(4616);function t(e){const A=[];let r={};return e.initial&&(r=e.initial.transition||e.initial.id?function(e){const A={id:e.id?`${e.id}.initial`:"initial"};return e.initial.transition&&Object.assign(A,{transition:[e.initial.transition]}),A}(e):function(e){return{id:"initial",transition:[{target:e.initial}]}}(e),A.push(r)),A}e.exports=function(e){return{...e,initial:t(e),state:a(i(e,"state",[])),parallel:a(i(e,"parallel",[])),history:a(i(e,"history",[])),final:a(i(e,"final",[]))}}},8751:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"state-machine-cat abstract syntax tree schema","$ref":"#/definitions/StateMachineType","$id":"org.js.state-machine-cat/v5.4.0","definitions":{"StateType":{"type":"string","enum":["regular","initial","terminate","final","parallel","history","deephistory","choice","forkjoin","fork","join","junction"]},"TransitionType":{"type":"string","enum":["internal","external"]},"NoteType":{"type":"array","items":{"type":"string"}},"ActionTypeType":{"type":"string","enum":["entry","activity","exit"]},"ActionType":{"type":"object","required":["type","body"],"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/ActionTypeType"},"body":{"type":"string"}}},"StateMachineType":{"type":"object","additionalProperties":false,"required":["states"],"properties":{"states":{"type":"array","items":{"type":"object","required":["name","type"],"additionalProperties":false,"properties":{"name":{"description":"The name and identifier of the state. Unique within the root state machine.","type":"string"},"type":{"description":"What kind of state (or pseudo state) this state is. E.g. \'regular\' for normal states or \'initial\', \'final\', \'choice\' etc for pseudo states. Most UML (pseudo-) states are supported.","$ref":"#/definitions/StateType"},"label":{"description":"The display label of the state. If it\'s not present, most renderers will use the states\' name in stead.","type":"string"},"color":{"description":"Color to use for rendering the state. Accepts all css color names (\\"blue\\") and hex notation - with (\\"#0000FF77\\") or without (\\"#0000FF\\") transparency.","type":"string"},"active":{"description":"If true the state is considered to be active and rendered as such.","type":"boolean"},"typeExplicitlySet":{"description":"The default parser derives the `type` from the `name` with inband signaling. The user can override that behavior by explicitly setting the `type`. This attribute is there to express that (and make sure that on next parses & processing it doesn\'t get accidentily re-derived from the name again).","type":"boolean"},"isComposite":{"description":"convenience, derived attribute - set to true if there\'s a state machine inside the state; false in all other cases. For internal use - @deprecated","type":"boolean"},"actions":{"type":"array","description":"A series of actions and their types. The type describe when the action takes place (on entry, exit, or otherwise (\'activity\'))","items":{"$ref":"#/definitions/ActionType"}},"note":{"description":"Comments related to this state. Some renderers will use the note attribute to render a note (i.e. as a post-it) attached to the state.","$ref":"#/definitions/NoteType"},"statemachine":{"description":"state machine nested within the state.","$ref":"#/definitions/StateMachineType"}}}},"transitions":{"type":"array","items":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"from":{"description":"The name of the state this transition transitions from","type":"string"},"to":{"description":"The name of the state this transition transitions to","type":"string"},"label":{"description":"A display label to represent this transition. Parsers can parse this label into events conditions and actions.","type":"string"},"event":{"description":"Event triggering the transition","type":"string"},"cond":{"description":"Condition for the transition to occur.","type":"string"},"action":{"description":"Action to execute when the transition occurs.","type":"string"},"note":{"description":"Comments related to this transition","$ref":"#/definitions/NoteType"},"color":{"description":"Color to use for rendering the transition. Accepts all css color names (\\"blue\\") and hex notation - with (\\"#0000FF77\\") or without (\\"#0000FF\\") transparency.","type":"string"},"type":{"description":"Whether the transition is external (default) or internal. See https://www.w3.org/TR/scxml/#transition for details.","$ref":"#/definitions/TransitionType"}}}}}}}}')},855:(e,A,r)=>{"use strict";function i(e,A,r,a){this.message=e,this.expected=A,this.found=r,this.location=a,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,i)}!function(e,A){function r(){this.constructor=e}r.prototype=A.prototype,e.prototype=new r}(i,Error),i.buildMessage=function(e,A){var r={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var A,r="";for(A=0;A0){for(A=1,i=1;A",!1),ve=tA("=>>",!1),ge=tA("=>",!1),me=tA(">>",!1),pe=tA(":>",!1),Ee=tA("--",!1),Be=tA("==",!1),ye=fA("right to left arrow"),Ce=tA("<-",!1),Ie=tA("<<=",!1),Ze=tA("<=",!1),Ge=tA("<<",!1),Le=tA("<:",!1),Qe=tA("#",!1),De=fA("double quoted string"),ze='"',We=tA('"',!1),Ye='\\"',Fe=tA('\\"',!1),Me={type:"any"},Ve=function(e){return e.join("").trim()},Ne=fA("identifier"),Re=/^[^;, "\t\n\r=\-><:{[]/,xe=nA([";",","," ",'"',"\t","\n","\r","=","-",">","<",":","{","["],!0,!1),Je=fA("whitespace"),He=/^[ \t]/,Pe=nA([" ","\t"],!1,!1),Xe=fA("line end"),Se=/^[\r\n]/,je=nA(["\r","\n"],!1,!1),Ue=tA("/*",!1),Te="*/",Oe=tA("*/",!1),_e=tA("//",!1),qe=/^[^\r\n]/,Ke=nA(["\r","\n"],!0,!1),$e=fA("comment"),eA=0,AA=[{line:1,column:1}],rA=0,iA=[],aA=0;if("startRule"in A){if(!(A.startRule in n))throw new Error("Can't start parsing from rule \""+A.startRule+'".');f=n[A.startRule]}function tA(e,A){return{type:"literal",text:e,ignoreCase:A}}function nA(e,A,r){return{type:"class",parts:e,inverted:A,ignoreCase:r}}function fA(e){return{type:"other",description:e}}function lA(A){var r,i=AA[A];if(i)return i;for(r=A-1;!AA[r];)r--;for(i={line:(i=AA[r]).line,column:i.column};rrA&&(rA=eA,iA=[]),iA.push(e))}function oA(){var e,A,r;return e=eA,CA()!==t&&(A=uA())!==t&&CA()!==t?((r=A).states=IA.extractUndeclaredStates(r),e=IA.classifyForkJoins(r)):(eA=e,e=t),e}function uA(){var A,r,i,a;if(aA++,A=eA,(r=function(){var A,r,i,a,n,f;for(eA,A=eA,r=[],i=eA,(a=bA())!==t?(44===e.charCodeAt(eA)?(n=s,eA++):(n=t,0===aA&&cA(c)),n!==t?i=a=a:(eA=i,i=t)):(eA=i,i=t);i!==t;)r.push(i),i=eA,(a=bA())!==t?(44===e.charCodeAt(eA)?(n=s,eA++):(n=t,0===aA&&cA(c)),n!==t?i=a=a:(eA=i,i=t)):(eA=i,i=t);return r!==t?(i=eA,(a=bA())!==t?(59===e.charCodeAt(eA)?(n=o,eA++):(n=t,0===aA&&cA(u)),n!==t?i=a=a:(eA=i,i=t)):(eA=i,i=t),i!==t?A=r=[r,i]:(eA=A,A=t)):(eA=A,A=t),A!==t&&(f=A,A=IA.uniq(f[0].concat(f[1]),IA.stateEqual)),A}())===t&&(r=null),r!==t){for(i=[],a=wA();a!==t;)i.push(a),a=wA();i!==t?A=r=function(e,A){let r={};return IA.setIf(r,"states",e),IA.setIfNotEmpty(r,"transitions",A),r}(r,i):(eA=A,A=t)}else eA=A,A=t;return aA--,A===t&&(r=t,0===aA&&cA(l)),A}function bA(){var A,r,i,a,n,f,l,p,E,B,y,C;for(aA++,A=eA,r=[],i=dA();i!==t;)r.push(i),i=dA();return r!==t&&(i=CA())!==t&&(a=gA())!==t&&CA()!==t?(n=eA,91===e.charCodeAt(eA)?(f="[",eA++):(f=t,0===aA&&cA(h)),f!==t&&(l=function(){var e,A;for(aA++,e=[],A=hA();A!==t;)e.push(A),A=hA();return aA--,e===t&&(A=t,0===aA&&cA(m)),e}())!==t?(93===e.charCodeAt(eA)?(p="]",eA++):(p=t,0===aA&&cA(w)),p!==t?n=f=l:(eA=n,n=t)):(eA=n,n=t),n===t&&(n=null),n!==t&&(f=CA())!==t?(l=eA,58===e.charCodeAt(eA)?(p=":",eA++):(p=t,0===aA&&cA(k)),p!==t&&(E=CA())!==t&&(B=function(){var A;return(A=vA())===t&&(A=function(){var A;return eA,(A=function(){var A,r,i,a;for(A=[],r=eA,i=eA,aA++,44===e.charCodeAt(eA)?(a=s,eA++):(a=t,0===aA&&cA(c)),a===t&&(59===e.charCodeAt(eA)?(a=o,eA++):(a=t,0===aA&&cA(u)),a===t&&(123===e.charCodeAt(eA)?(a=d,eA++):(a=t,0===aA&&cA(v)))),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me)),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);r!==t;)A.push(r),r=eA,i=eA,aA++,44===e.charCodeAt(eA)?(a=s,eA++):(a=t,0===aA&&cA(c)),a===t&&(59===e.charCodeAt(eA)?(a=o,eA++):(a=t,0===aA&&cA(u)),a===t&&(123===e.charCodeAt(eA)?(a=d,eA++):(a=t,0===aA&&cA(v)))),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me)),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);return A}())!==t&&(A=Ve(A)),A}()),A}())!==t&&CA()!==t?l=p=B:(eA=l,l=t),l===t&&(l=null),l!==t&&(p=CA())!==t?(E=eA,123===e.charCodeAt(eA)?(B=d,eA++):(B=t,0===aA&&cA(v)),B!==t&&CA()!==t&&(y=uA())!==t&&CA()!==t?(125===e.charCodeAt(eA)?(C="}",eA++):(C=t,0===aA&&cA(g)),C!==t?E=B=y:(eA=E,E=t)):(eA=E,E=t),E===t&&(E=null),E!==t&&(B=CA())!==t?A=r=function(e,A,r,i,a){let t=IA.initState(A);return(r||[]).forEach((e=>IA.setIf(t,e.name,e.value))),IA.setIf(t,"typeExplicitlySet",(r||[]).some((e=>e.typeExplicitlySet))),IA.setIf(t,"statemachine",a),IA.setIfNotEmpty(t,"note",e),Boolean(i)&&IA.setIfNotEmpty(t,"actions",IA.extractActions(i)),t}(r,a,n,l,E):(eA=A,A=t)):(eA=A,A=t)):(eA=A,A=t)):(eA=A,A=t),aA--,A===t&&(r=t,0===aA&&cA(b)),A}function hA(){var A,r,i,a;return aA++,A=eA,CA()!==t&&(r=function(){var A,r;return aA++,A=eA,"label"===e.substr(eA,5).toLowerCase()?(r=e.substr(eA,5),eA+=5):(r=t,0===aA&&cA(I)),r===t&&(e.substr(eA,5).toLowerCase()===Z?(r=e.substr(eA,5),eA+=5):(r=t,0===aA&&cA(G))),r!==t&&(r=L(r)),aA--,(A=r)===t&&(r=t,0===aA&&cA(C)),A}())!==t&&CA()!==t?(61===e.charCodeAt(eA)?(i=E,eA++):(i=t,0===aA&&cA(B)),i!==t&&CA()!==t&&(a=vA())!==t&&CA()!==t?A=y(r,a):(eA=A,A=t)):(eA=A,A=t),A===t&&(A=eA,CA()!==t&&(r=function(){var A,r;return aA++,A=eA,"active"===e.substr(eA,6).toLowerCase()?(r=e.substr(eA,6),eA+=6):(r=t,0===aA&&cA(D)),r!==t&&(r=L(r)),aA--,(A=r)===t&&(r=t,0===aA&&cA(Q)),A}())!==t&&CA()!==t?A={name:r,value:!0}:(eA=A,A=t),A===t&&(A=eA,CA()!==t&&(r=function(){var A,r;return aA++,A=eA,e.substr(eA,4).toLowerCase()===W?(r=e.substr(eA,4),eA+=4):(r=t,0===aA&&cA(Y)),r!==t&&(r=L(r)),aA--,(A=r)===t&&(r=t,0===aA&&cA(z)),A}())!==t&&CA()!==t?(61===e.charCodeAt(eA)?(i=E,eA++):(i=t,0===aA&&cA(B)),i!==t&&CA()!==t&&(a=function(){var A;return aA++,e.substr(eA,7)===M?(A=M,eA+=7):(A=t,0===aA&&cA(V)),A===t&&(e.substr(eA,7)===N?(A=N,eA+=7):(A=t,0===aA&&cA(R)),A===t&&(e.substr(eA,9)===x?(A=x,eA+=9):(A=t,0===aA&&cA(J)),A===t&&(e.substr(eA,5)===H?(A=H,eA+=5):(A=t,0===aA&&cA(P)),A===t&&(e.substr(eA,8)===X?(A=X,eA+=8):(A=t,0===aA&&cA(S)),A===t&&(e.substr(eA,7)===j?(A=j,eA+=7):(A=t,0===aA&&cA(U)),A===t&&(e.substr(eA,11)===T?(A=T,eA+=11):(A=t,0===aA&&cA(O)),A===t&&(e.substr(eA,6)===_?(A=_,eA+=6):(A=t,0===aA&&cA(q)),A===t&&(e.substr(eA,8)===K?(A=K,eA+=8):(A=t,0===aA&&cA($)),A===t&&(e.substr(eA,4)===ee?(A=ee,eA+=4):(A=t,0===aA&&cA(Ae)),A===t&&(e.substr(eA,4)===re?(A=re,eA+=4):(A=t,0===aA&&cA(ie)),A===t&&(e.substr(eA,8)===ae?(A=ae,eA+=8):(A=t,0===aA&&cA(te))))))))))))),aA--,A===t&&0===aA&&cA(F),A}())!==t&&CA()!==t?A={name:r,value:a,typeExplicitlySet:!0}:(eA=A,A=t)):(eA=A,A=t))),aA--,A===t&&0===aA&&cA(p),A}function wA(){var A,r,i,a,n,f,l,s,c,b,g,m;for(aA++,A=eA,r=[],i=dA();i!==t;)r.push(i),i=dA();return r!==t&&(i=function(){var A,r,i;return A=eA,CA()!==t&&(r=gA())!==t&&CA()!==t&&function(){var A;return aA++,"->"===e.substr(eA,2)?(A="->",eA+=2):(A=t,0===aA&&cA(de)),A===t&&("=>>"===e.substr(eA,3)?(A="=>>",eA+=3):(A=t,0===aA&&cA(ve)),A===t&&("=>"===e.substr(eA,2)?(A="=>",eA+=2):(A=t,0===aA&&cA(ge)),A===t&&(">>"===e.substr(eA,2)?(A=">>",eA+=2):(A=t,0===aA&&cA(me)),A===t&&(":>"===e.substr(eA,2)?(A=":>",eA+=2):(A=t,0===aA&&cA(pe)),A===t&&("--"===e.substr(eA,2)?(A="--",eA+=2):(A=t,0===aA&&cA(Ee)),A===t&&("=="===e.substr(eA,2)?(A="==",eA+=2):(A=t,0===aA&&cA(Be)))))))),aA--,A===t&&0===aA&&cA(ke),A}()!==t&&CA()!==t&&(i=gA())!==t&&CA()!==t?A={from:r,to:i}:(eA=A,A=t),A===t&&(A=eA,CA()!==t&&(r=gA())!==t&&CA()!==t&&function(){var A;return aA++,"<-"===e.substr(eA,2)?(A="<-",eA+=2):(A=t,0===aA&&cA(Ce)),A===t&&("<<="===e.substr(eA,3)?(A="<<=",eA+=3):(A=t,0===aA&&cA(Ie)),A===t&&("<="===e.substr(eA,2)?(A="<=",eA+=2):(A=t,0===aA&&cA(Ze)),A===t&&("<<"===e.substr(eA,2)?(A="<<",eA+=2):(A=t,0===aA&&cA(Ge)),A===t&&("<:"===e.substr(eA,2)?(A="<:",eA+=2):(A=t,0===aA&&cA(Le)))))),aA--,A===t&&0===aA&&cA(ye),A}()!==t&&CA()!==t&&(i=gA())!==t&&CA()!==t?A={from:i,to:r}:(eA=A,A=t)),A}())!==t?(a=eA,91===e.charCodeAt(eA)?(n="[",eA++):(n=t,0===aA&&cA(h)),n!==t&&(f=function(){var e,A;for(aA++,e=[],A=kA();A!==t;)e.push(A),A=kA();return aA--,e===t&&(A=t,0===aA&&cA(fe)),e}())!==t?(93===e.charCodeAt(eA)?(l="]",eA++):(l=t,0===aA&&cA(w)),l!==t&&(s=CA())!==t?a=n=f:(eA=a,a=t)):(eA=a,a=t),a===t&&(a=null),a!==t?(n=eA,58===e.charCodeAt(eA)?(f=":",eA++):(f=t,0===aA&&cA(k)),f!==t&&(l=CA())!==t&&(s=function(){var A;return(A=vA())===t&&(A=function(){var A;return eA,(A=function(){var A,r,i,a;for(A=[],r=eA,i=eA,aA++,59===e.charCodeAt(eA)?(a=o,eA++):(a=t,0===aA&&cA(u)),a===t&&(123===e.charCodeAt(eA)?(a=d,eA++):(a=t,0===aA&&cA(v))),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me)),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);r!==t;)A.push(r),r=eA,i=eA,aA++,59===e.charCodeAt(eA)?(a=o,eA++):(a=t,0===aA&&cA(u)),a===t&&(123===e.charCodeAt(eA)?(a=d,eA++):(a=t,0===aA&&cA(v))),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me)),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);return A}())!==t&&(A=Ve(A)),A}()),A}())!==t&&CA()!==t?n=f=s:(eA=n,n=t),n===t&&(n=null),n!==t?(59===e.charCodeAt(eA)?(f=o,eA++):(f=t,0===aA&&cA(u)),f!==t?(c=r,b=i,g=a,(m=n)&&(b.label=m,b=Object.assign(b,IA.parseTransitionExpression(m))),(g||[]).forEach((e=>IA.setIf(b,e.name,e.value))),IA.setIfNotEmpty(b,"note",c),A=r=b):(eA=A,A=t)):(eA=A,A=t)):(eA=A,A=t)):(eA=A,A=t),aA--,A===t&&(r=t,0===aA&&cA(ne)),A}function kA(){var A,r,i,a;return aA++,A=eA,CA()!==t&&(r=function(){var A,r;return aA++,A=eA,e.substr(eA,5).toLowerCase()===Z?(r=e.substr(eA,5),eA+=5):(r=t,0===aA&&cA(G)),r!==t&&(r=L(r)),aA--,(A=r)===t&&(r=t,0===aA&&cA(se)),A}())!==t&&CA()!==t?(61===e.charCodeAt(eA)?(i=E,eA++):(i=t,0===aA&&cA(B)),i!==t&&CA()!==t&&(a=vA())!==t&&CA()!==t?A=y(r,a):(eA=A,A=t)):(eA=A,A=t),A===t&&(A=eA,CA()!==t&&(r=function(){var A,r;return aA++,A=eA,e.substr(eA,4).toLowerCase()===W?(r=e.substr(eA,4),eA+=4):(r=t,0===aA&&cA(Y)),r!==t&&(r=L(r)),aA--,(A=r)===t&&(r=t,0===aA&&cA(ce)),A}())!==t&&CA()!==t?(61===e.charCodeAt(eA)?(i=E,eA++):(i=t,0===aA&&cA(B)),i!==t&&CA()!==t&&(a=function(){var A;return aA++,e.substr(eA,8)===ue?(A=ue,eA+=8):(A=t,0===aA&&cA(be)),A===t&&(e.substr(eA,8)===he?(A=he,eA+=8):(A=t,0===aA&&cA(we))),aA--,A===t&&0===aA&&cA(oe),A}())!==t&&CA()!==t?A=y(r,a):(eA=A,A=t)):(eA=A,A=t)),aA--,A===t&&0===aA&&cA(le),A}function dA(){var A,r,i,a;if(A=eA,CA()!==t)if(35===e.charCodeAt(eA)?(r="#",eA++):(r=t,0===aA&&cA(Qe)),r!==t){for(i=[],a=BA();a!==t;)i.push(a),a=BA();i!==t?A=i.join("").trim():(eA=A,A=t)}else eA=A,A=t;else eA=A,A=t;return A}function vA(){var A,r,i,a;return aA++,A=eA,34===e.charCodeAt(eA)?(r=ze,eA++):(r=t,0===aA&&cA(We)),r!==t&&(i=function(){var A,r,i,a;for(A=[],r=eA,i=eA,aA++,34===e.charCodeAt(eA)?(a=ze,eA++):(a=t,0===aA&&cA(We)),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.substr(eA,2)===Ye?(a=Ye,eA+=2):(a=t,0===aA&&cA(Fe)),a===t&&(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me))),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);r!==t;)A.push(r),r=eA,i=eA,aA++,34===e.charCodeAt(eA)?(a=ze,eA++):(a=t,0===aA&&cA(We)),aA--,a===t?i=void 0:(eA=i,i=t),i!==t?(e.substr(eA,2)===Ye?(a=Ye,eA+=2):(a=t,0===aA&&cA(Fe)),a===t&&(e.length>eA?(a=e.charAt(eA),eA++):(a=t,0===aA&&cA(Me))),a!==t?r=i=a:(eA=r,r=t)):(eA=r,r=t);return A}())!==t?(34===e.charCodeAt(eA)?(a=ze,eA++):(a=t,0===aA&&cA(We)),a!==t?A=r=i.join("").replace(/\\\"/g,'"'):(eA=A,A=t)):(eA=A,A=t),aA--,A===t&&(r=t,0===aA&&cA(De)),A}function gA(){var A,r,i;if(aA++,A=eA,r=[],Re.test(e.charAt(eA))?(i=e.charAt(eA),eA++):(i=t,0===aA&&cA(xe)),i!==t)for(;i!==t;)r.push(i),Re.test(e.charAt(eA))?(i=e.charAt(eA),eA++):(i=t,0===aA&&cA(xe));else r=t;return r!==t&&(r=r.join("")),(A=r)===t&&(A=vA()),aA--,A===t&&(r=t,0===aA&&cA(Ne)),A}function mA(){var A,r;return aA++,A=eA,He.test(e.charAt(eA))?(r=e.charAt(eA),eA++):(r=t,0===aA&&cA(Pe)),r!==t&&(r=r),aA--,(A=r)===t&&(r=t,0===aA&&cA(Je)),A}function pA(){var A,r;return aA++,A=eA,Se.test(e.charAt(eA))?(r=e.charAt(eA),eA++):(r=t,0===aA&&cA(je)),r!==t&&(r=r),aA--,(A=r)===t&&(r=t,0===aA&&cA(Xe)),A}function EA(){var A,r,i;return A=eA,r=eA,aA++,e.substr(eA,2)===Te?(i=Te,eA+=2):(i=t,0===aA&&cA(Oe)),aA--,i===t?r=void 0:(eA=r,r=t),r!==t?(e.length>eA?(i=e.charAt(eA),eA++):(i=t,0===aA&&cA(Me)),i!==t?A=r=i:(eA=A,A=t)):(eA=A,A=t),A}function BA(){var A;return qe.test(e.charAt(eA))?(A=e.charAt(eA),eA++):(A=t,0===aA&&cA(Ke)),A}function yA(){var A;return aA++,(A=function(){var A,r,i,a;if(A=eA,(r=function(){var A;return"//"===e.substr(eA,2)?(A="//",eA+=2):(A=t,0===aA&&cA(_e)),A}())!==t){for(i=[],a=BA();a!==t;)i.push(a),a=BA();i!==t?A=r+=i.join(""):(eA=A,A=t)}else eA=A,A=t;return A}())===t&&(A=function(){var A,r,i,a,n;if(A=eA,(r=function(){var A;return"/*"===e.substr(eA,2)?(A="/*",eA+=2):(A=t,0===aA&&cA(Ue)),A}())!==t){for(i=[],a=EA();a!==t;)i.push(a),a=EA();i!==t&&(a=function(){var A;return e.substr(eA,2)===Te?(A=Te,eA+=2):(A=t,0===aA&&cA(Oe)),A}())!==t?(n=a,A=r=r+i.join("")+n):(eA=A,A=t)}else eA=A,A=t;return A}()),aA--,A===t&&0===aA&&cA($e),A}function CA(){var e,A;for(e=[],(A=mA())===t&&(A=pA())===t&&(A=yA());A!==t;)e.push(A),(A=mA())===t&&(A=pA())===t&&(A=yA());return e}const IA=r(8038);if((a=f())!==t&&eA===e.length)return a;throw a!==t&&eA{const A=[{name:"fontname",value:'"Helvetica"'},{name:"fontsize",value:"12"},{name:"penwidth",value:"2.0"}],r={dot:[{name:"splines",value:"true"},{name:"ordering",value:"out"},{name:"compound",value:"true"},{name:"overlap",value:"scale"},{name:"nodesep",value:"0.3"},{name:"ranksep",value:"0.1"}],fdp:[{name:"K",value:"0.9"}],osage:[{name:"pack",value:"42"}],neato:[{name:"epsilon",value:"0.9"}]},i={"bottom-top":[{name:"rankdir",value:"BT"}],"left-right":[{name:"rankdir",value:"LR"}],"right-left":[{name:"rankdir",value:"RL"}]},a=[{name:"shape",value:"plaintext"},{name:"style",value:"filled"},{name:"fillcolor",value:"transparent"},{name:"fontname",value:"Helvetica"},{name:"fontsize",value:12},{name:"penwidth",value:"2.0"}],t=[{name:"fontname",value:"Helvetica"},{name:"fontsize",value:10}];function n(e){return`${e.name}=${e.value}`}e.exports={buildGraphAttributes:(e,a,t)=>A.concat(r[e]||[]).concat(i[a]||[]).concat(t||[]).map(n).join(" "),buildNodeAttributes:e=>a.concat(e||[]).map(n).join(" "),buildEdgeAttributes:e=>t.concat(e||[]).map(n).join(" ")}},8578:e=>{e.exports=class{constructor(){this.reset()}reset(){this.COUNTER=0}next(){return++this.COUNTER}nextAsString(){return this.next().toString(10)}}},9604:(e,A,r)=>{var i=r(5631),a=i.template;(i.templates=i.templates||{})["dot.states.template.hbs"]=a({1:function(e,A,r,i,a){var t,n,f,l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},s="";return n=null!=(n=l(r,"nestedExternalSelfTransitions")||(null!=A?l(A,"nestedExternalSelfTransitions"):A))?n:e.hooks.helperMissing,f={name:"nestedExternalSelfTransitions",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:2},end:{line:4,column:36}}},t="function"==typeof n?n.call(null!=A?A:e.nullContext||{},f):n,l(r,"nestedExternalSelfTransitions")||(t=e.hooks.blockHelperMissing.call(A,t,f)),null!=t&&(s+=t),s},2:function(e,A,r,i,a){var t;return' "self_'+(null!=(t=e.lambda(A,A))?t:"")+'" [shape=point style=invis width=0 height=0 fixedsize=true]\n'},4:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return' "'+(null!=(t="function"==typeof(n=null!=(n=l(r,"name")||(null!=A?l(A,"name"):A))?n:e.hooks.helperMissing)?n.call(f,{name:"name",hash:{},data:a,loc:{start:{line:7,column:3},end:{line:7,column:13}}}):n)?t:"")+'" [shape=circle style=filled '+(null!=(t=l(r,"if").call(f,null!=A?l(A,"color"):A,{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.program(7,a,0),data:a,loc:{start:{line:7,column:42},end:{line:7,column:130}}}))?t:"")+(null!=(t=l(r,"if").call(f,null!=A?l(A,"active"):A,{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:130},end:{line:7,column:164}}}))?t:"")+'fixedsize=true height=0.15 label=""]\n'},5:function(e,A,r,i,a){var t,n,f=null!=A?A:e.nullContext||{},l=e.hooks.helperMissing,s="function",c=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'color="'+(null!=(t=typeof(n=null!=(n=c(r,"color")||(null!=A?c(A,"color"):A))?n:l)===s?n.call(f,{name:"color",hash:{},data:a,loc:{start:{line:7,column:62},end:{line:7,column:73}}}):n)?t:"")+'" fillcolor="'+(null!=(t=typeof(n=null!=(n=c(r,"color")||(null!=A?c(A,"color"):A))?n:l)===s?n.call(f,{name:"color",hash:{},data:a,loc:{start:{line:7,column:86},end:{line:7,column:97}}}):n)?t:"")+'" '},7:function(e,A,r,i,a){return"fillcolor=black "},9:function(e,A,r,i,a){return"penwidth=3.0 "},11:function(e,A,r,i,a){var t,n,f,l=null!=A?A:e.nullContext||{},s=e.hooks.helperMissing,c="function",o=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]},u=' "'+(null!=(t=typeof(n=null!=(n=o(r,"name")||(null!=A?o(A,"name"):A))?n:s)===c?n.call(l,{name:"name",hash:{},data:a,loc:{start:{line:10,column:3},end:{line:10,column:13}}}):n)?t:"")+'" [margin=0 '+(null!=(t=o(r,"if").call(l,null!=A?o(A,"color"):A,{name:"if",hash:{},fn:e.program(12,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:25},end:{line:10,column:65}}}))?t:"")+(null!=(t=o(r,"if").call(l,null!=A?o(A,"active"):A,{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:65},end:{line:10,column:114}}}))?t:"")+'label= < \n \n \n";return n=null!=(n=o(r,"actions")||(null!=A?o(A,"actions"):A))?n:s,f={name:"actions",hash:{},fn:e.program(24,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:6},end:{line:16,column:18}}},t=typeof n===c?n.call(l,f):n,o(r,"actions")||(t=e.hooks.blockHelperMissing.call(A,t,f)),null!=t&&(u+=t),u+"
            "+(null!=(t=o(r,"if").call(l,null!=A?o(A,"active"):A,{name:"if",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:12,column:87},end:{line:12,column:141}}}))?t:"")+"
            \n >]\n"},12:function(e,A,r,i,a){var t,n,f=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return'color="'+(null!=(t="function"==typeof(n=null!=(n=f(r,"color")||(null!=A?f(A,"color"):A))?n:e.hooks.helperMissing)?n.call(null!=A?A:e.nullContext||{},{name:"color",hash:{},data:a,loc:{start:{line:10,column:45},end:{line:10,column:56}}}):n)?t:"")+'" '},14:function(e,A,r,i,a){return"peripheries=1 style=rounded "},16:function(e,A,r,i,a){return' cellpadding="2"'},18:function(e,A,r,i,a){return' cellpadding="7"'},20:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return""+e.escapeExpression("function"==typeof(t=null!=(t=n(r,"label")||(null!=A?n(A,"label"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"label",hash:{},data:a,loc:{start:{line:12,column:104},end:{line:12,column:113}}}):t)+""},22:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return e.escapeExpression("function"==typeof(t=null!=(t=n(r,"label")||(null!=A?n(A,"label"):A))?t:e.hooks.helperMissing)?t.call(null!=A?A:e.nullContext||{},{name:"label",hash:{},data:a,loc:{start:{line:12,column:125},end:{line:12,column:134}}}):t)},24:function(e,A,r,i,a){var t,n=e.lookupProperty||function(e,A){if(Object.prototype.hasOwnProperty.call(e,A))return e[A]};return" "+(null!=(t=n(r,"if").call(null!=A?A:e.nullContext||{},a&&n(a,"first"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:8},end:{line:14,column:34}}}))?t:"")+'\n '+e.escapeExpression(e.lambda(A,A))+"\n"},25:function(e,A,r,i,a){return"

          *+l04k{Bm1ij6+!@+PyOl)h@C0(>v`N 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%0D-&{$VY!o-mOggqac7^69r}JfIyxJ9AunW0Q2M5 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 KC!o)3{?+3ucK@S;M-Tu3 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�j40hK& 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 z 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%0D*iFz`Q2C@xZ($m~AW0*W5O{ zr=MmvnAZf43u-_B1VEsj2;g}r+h~P<9_r*ePwwD(C>z@_GCU6zhEl$C@H|v<=N_+#dGlq2@OEJk)3r&qF2k?FoJ!>aN*$CGtE}R4Y;SlOh2-`5=((_$TiT z_YLRcI6@R400P}j;F&(}`ZW(tzNa>;X?FdZ?@x|K^^wUxocw6SHp+uKw<1I<)~|WE zPSig(>dX~VROETs=P53I-2K!bXQvb{?%?%neqbEsv^I_Y)LXwsh(_zz+#|Ym{hA|= z)(l@$skeU3{{^fsq1)#-N9&EONIkqmYrnv$yGq%?K0|8#nhR6*l$7~(;`!3^&JjxM z*ZjOh>(?xF#zU`PL+5Mg^Qj5EuebfRv~|8%BUKKb&Fj~wUz?woeqN&ENr>M_ov`cI ze9*PF(YxkSd#qnW6!>$QI8d%G^xu7|j6Dc|KpX-+aT=p72!H?xG$in9yhouSBO%hc zzb5MWnq$QeCx=;Yc#-99me!uHdG3|Lka2%aFq`@{zpg`-TiVaWc&*yCXuaWY8t+WN zdc$6B&6LgiYt{?f`I=j*E2Uz+;YNI~8EvGIr}}#L*IYZWTHH{$snFi*4R3PBL!Ylv z>kVHw;2wt?}uxWd?Q%=26UJXtPH(nAh0IK$abW6Epu+%dT&o zdxF4%)v<9&}peD644WAa5F1V8`;@009ulFM*`~&gEw|k)KHNH?PUl`@APbdV((AH;Au8 z(fu`e?`1raXbl1&00Ma;kj}b%QG0l-Y!GH$KAYXvuFJPmohNs&E}w0@!pQL6%P^Gk zrDLwk_iV|wF5jYRz*v{B(a5#edoM34blZC`)w+D%ah%uWdoK@~AAViFOI=U>ta3_t zkAfbF;P+k%asO!3E=*k&K_U%4g^3TTLQ01a8*7b{;ef5jMjL~ zcAU=3@JdU#o{jad?SDQOZwVXk%knzZc;7kwtNYLBzo36z|C#+u`xo~wk2yA&*MvLb zpalXT00P}Y;EOGpO?3-h^fPS&nAfCD81_K`1VEr!0$)yKh7r|DRQ+aqhjt*41_8`# z(x3{PAOHd&5T5{^hl-o@iI@jtE3lm8+5@eD8Dck(yHd#>;Td!4Zo}Tlr7q6`kab&i2`4p4p z?BaY)bKKAh1V8`;k|c1QxWi-aV@CNlBcEoLp7Xw`Ne8Wc&bwaFcNvvyjeMT6`Hbt{ zhKRz&y~%3l6XFJOi&3*ynAX-AHI%(f)~*$soUITSiff$2O8ji|72*n~Nb{O|#6Dc* z+b;D$7`gRUT;uMGQFzfB*=9 z00@8p2xtQT;hO)`yapc-009sHf&3Bp*6eS&ey^K}Fsg;9`YNVI?Hbi9J9*fvSc$(H z1GQK2eRK9VjargYD{iUUvxaJceO3f8ugQuu{D1%mfIu_?55}I=MDqu25avT@FYt=qXB+*EaMgFI3KjN@# zL{xcU?N;$H{i=veS$g?LXFnnnZ^IF56bt4xjR>J01V8`;(kIYf>(?wQ`iWru8b6cp z5_9F2@U7C;#QHU96HeZK5TWC)4#g^jQ$Jy*Y%&-zqEgG|MHmLF|Wz$NP!;^009t)M&PHje;RvcLl&Y~ zA)it7qxLA8etOzr`WTIbCLPAMzh}|B`P;XviRVmPhB{h(Y211O=dOetF`O$om?mCJ&d|dqHL6+ z6H2Q^Yu4pEy21KLa~rbS6bgu4Yq&VGc#3gyWvwtNtn*l&Ql$D#^50rHhC{`joy1C$ zoj6OylCvk1dlmQbv{%K=C6(*Uy}2&mv!&z260uVLTT<)nBC)8NZ})Zi_OH}Bl~U%^ zk(3OlV)poB#tJK{YcBd7tae0;#Y(BMCQwVadt-}NDp@Bs%0!=aVzC$#o)12`b zuYQBaOV8~g#07Y$3)=!{JTd!!alQtJ2?#_aU`&-FwuCwe zfB*=9Ky(6M9|+rK%j_+&=QU&@*owb~eEOwfBW|P@#c~wgMt=SE>00;uYb;5Vdt>jd z)7Ub5t4zG5y-MDQ!j9OM*_hXO*`W*qAOHgSAn?@er((}*$U+n=iy8;QktYBt^^N{+ejK@}Q0TYmysn}%?I zO>@+fYZY{V%`ao0t4S_KSOS6eA%N>p?K4)06a+w^y9jKXy)E|KhAc#}LO!GDM;nnS zmVXty@AYDf5=lKf$?m4GVzx7DtRLgOZB%nU*koGG6;YG2!KFJ z1pXL%o|aT#U#WASaZ)~_*}1v+h1|sytq09%-(CDt@$@0w9n!ffr`K5PKd#7NS{6!fOzjXpsb2NkWc!O%fE7u;HKA&=J`Dk@5o0 z*Ca74umJ)f00JoxSU9pU);iwQTKx+jURL@ z+qbJ^;mF}K@s{=~dHWNV>cSD6uko@&83aH81oA=P<=HRCK3_u?qF5oHQS=q5dTn%_ z&Z%~-+J}iG8VRz<|CH^Q9F~oUDle?vDjud^6_F`RFaPrFmt^8?IAV=r!MvssA=HBa z2!KF~2$V%Rwr8>s%}NqpgTjs$NsyH!4N{ zm6NwWVX2leukoTo83aH81oA+jH|+0t9)d*-AdnjZnAhZHC=dt;fB*<|IDrYdnXBQx z;k+Db{`-dUJXBuB262D@2!KGc1p3SUvE~8PTKx+jSzNF6JjLrzJ>rSIOI-uvGhT9m)5{fp@C8I|e&0BQ)d2NAtOZB!&z4mh0~6! zMaMYxowl4f?s|5EM~`Z7e@#7hr~?5I009t4j=nb|b^jUt7xb^|KeK;n|Kk4TF}-76ll2h;e;@z?AP|lK{lB%7&eyzQ zB>4Z?ej-tH{jGx~Y&VScFgn40%$hKkaJ~lTYs_N?c@O{r5NK}#Q_3aJxeT*x=F{xw z6d6OazNjsKD5pzG+RR>AnNqeVvPm`d{V6M~-E9Awi9dXsc8$tp8{AvF7LTcJRdRg? zylvynhpbiPLAxgJ{(009sH0T4)oz)rQfPa4*v*u-<*QD~*9i|4%4 zqzl_100JP;Dgwjhojrf^&9a$KGs0mRL$ki9Eq^GdOG?_zURfC~+Y{NOn)T|`#vB37ipNx!cXoXTylvtgR+{X@St^#CJ()aea34>5RopD2 z?&QxUM(3U_9VeEEmGa+`nskv^RL!rd$=WOP$=Ch5vRH=v@%cg=Gvto_$8+7~c%@V2 zn}d(`c!*~)$=2W9$!+a{qsIy>3T~M$(XX-)i^WQ*u_jPU>wjWToo}3*7V}vg5&8|- zT)ME@ZcJLI(4#=K@%BQFG%W|en!lG<~Lx1=%4 zlDH*X*7anIeDRjURJ9~^OOzii4epq-t2LB0FtF6&nZ`o`Nte1F9ek;Xs-!S{i&TD7#uiSySG0zm!MT;CQH=ma|N4O}Q}2!H?x zfB*=900;yTxKLcLg4K~r$$kSZe#-cm0w*wgA%!Ej0XF) zz-Nqb(G&z+1Te30;XnZdKmY_JzAJbDfvzH;zFY0xY1^+b<~8j-rii{Z1Te43iu>`^r#3LJ$%;7q zbPECX-RhS9M(gKmEa!ouS?Emd^AdlbNnB22{cHQ5?~7|CiT2}tlQN_;-gi#_>i#qO zFX&&_e`f#E{>A;vV|vGRs3eX8*Z=_#0D`wBHLHVB;P$>C+aWTnoG#q+=i?+ zh4N(A8ZOQ(o?=Ww)(VrtI*;WkMXKK<|E-l{I8@x(Nvt&4iL+EJIeRj>S8*RtdsWbdl`H^1{=y?a3qb8?d=_VYS_uv`)v`j+VFo8>)g! zU0zo?r6*(ye3-!c!Zt|*^BUXnfO(CLN_H~LYqDdVlqbwL06)_Vf^3R)?dg#APE9E%#xtk*v9D+^yxjE8f!xX1VBI& zpl?rieqLXGeff=;*L3ILqt{In=-MBQrinGz@I?8P_lZNCnzMjbAkeJ@=-bnspEs4? z)IqbFe2pQV^9~*lJm($E1~ni60w4ea;RxXV8XG6vUt^<^oecNaWXC!wPq@D(DU!Iq zCOMMPEycON<|N!-6CHTME%^SL`xCYbb0E;I1aKXyTSp%K27#;yyt`|!BZVh?Wckg; z6{jPOybx4+bNNUosXdo?OB!#sByLHq-%_n5JM>R)IYM1Fqp(F^uU^^J?Y!E$UrLuX zw4T`yGg4D-%WI$Zoc3U^XEIdRSTo2%Qu5YEkW^1vVTX<}p4aH3trc;=CkTK52!KE< z2^=l|8sGy0?N4B$Tz?AZYubMt(E||32Z5t{lZ#_UF5Z)qTz?u_I<9=IF|#<%$O}QG zW6Q@mN$t7BThchzlDH+?;(D?}|MZsQ(q%IWTg>(9m0jJ=tF8N`bXh~|ah$w0BQ@o= zy!L6&X%F^#CPQ_NHG?c9C2xHMN%f=^cIX)6d5u2WS`i0)f&d7BK(`aX{WaZw1fc&( z5y1JHq)5UJ2!Mc{z3N{zo#!>~Z&7+4VHpHK00clF9D(m8^54#XkiYZ6pA+lW2Dd{E2;`SQ zB43>Rb`Oz(Ko=7@73WFXX7o=kzuTB$oNVOfTe@WF-Q|;=r1o6mEor>llDH++Ei!7! z7Wv{W?^SCmF)}4lezY_gskW=FC~dCO{ZjT>lj9*>EoYh9nsQrS`3c&ypL(@QL+w>8 z)JDtP`5=2XxoN{zuVuFW)t9MQwU)M)TrPYMlJgne5*=eauhBIQT-<;%@>izdZ1(z`EwV*KhS=rrvC^ z^g6U{HIOAqVBQ2ZuSv%0gT2Yvaa*~s@4;TO{9y0*dcPz0kMurd_482gf4Ss`ibKVt zE{WT2D@%{~;_^$fi7%Zo%O-Ys$s2+1`i|>x5&GNR7w|L`{Q`8?XXTD@`&<7yR9x$5 z4+8lkfa_5C8xuqX0^LpE{atze?2PUnbo3qs5+lI#ntc+p*UpCixhsE7+j+zgdwURg zn=8z>yGkf10+`n*64--4JOatiYd(OPLA>EWYY^x_0{`v0dh`QVsRO&4w=UuS8aX1k zzb0>oWm@sH$Ne?`GKBkU(mDd@uBG&B!*aI~@ZTpBj)1@2zXbdbsgv)o!TFkSM+>w- zpb>#&&)1w5@N3j43e2k$|%=V513qsC=4n=Hx?0UI;3kR{oHa)SgSc zC5_W8iCa?L=|(NtB451ay=qM*j!8+BA1&1}dvn^ZwxV>nPWMaMXHAZWbhVsiYHP}E zdF3Z)&wlFFDh;()u}~W=bLWHX+2p1TTfLUq`d443V%1vOT5`GYJxI=HbW3!M@w`SK zZPBfu1qgru2!KF31mdsDSN}RxI#I(a2(*#_&eyb(K74}!2>1z{g%#%=D9OC{vi`gV z_t*H3KS&Ew9o>9GH*JO4^ z*(NnL8t0=}h@#urvrQv?4>qrmbr%6XUxQ<}m~VO?lJ(QXW}@i8f{+j%c5h4Tu5a@IQOUvgO^N*!QUI;3kS6=EQ zwdWFVN#i_A;+AY#*OM*s#arg8YDwyrC_h>nJQB*T)=<`zUEMF`ku^9TYNzEaQ(IGR z%WI$Z9Q(1?adb*U?Nuz)M$6p!AbauTw*J+ZsaUmEya?>AO$v66JV@yn<9Urf+VT(= zVgLaU009sXVyrw?oo9ds2!KFX0ytk2mK5|r00clFTLR0=%Q3IX7CF3i00GQvI$#jd z1rPv%jwG$Npda^~nc*~=sYDwyrC_h@tIonp*)pg36@}~QxJhBGIL+!MjWom26 zZF%j}o?}1uI_|a7PGhNUXD=s~N6W2@4$`Z!sY0)!v!3#h1xcdX?&bFQ_;G_kih zu&TMg-0v^b3?nTNln!zdshuJdJ|MsZepXcTntf75vMk3Zh31Q~p7~Di4-*UJ{$O#0 zm{y~4WHonyA*)qJ%&70_es$WNJ#<0O@*LBu6FRCuK&%Kjc3+ggH2QOh&Q^0l?R<&> z0`=VrsP1y{#VO8>x*RRKpHl(>KSVi=7GZ$^2!KHM5Lk~nN%sskdYTvk%xe-u2}2+N z0wB;Nfy>L68grP-jl2+4y0m<`lhmF|yd{lGEs0yQWnE9U$QN%pTvba_w?z5T(%=p% zyIMn8Q{HsHlts3UdO#w8fvd%p*C9P&Ij3xC%5&lzD&ic zwcCOW=<6h%1%Le$8At9CwamvOcynsNb5TI{Q=YP)V{4S!0 zAdm?G%xf~i3@0Ga#RQgi#k?f$0G~T>?SR|HrAB#$k#}n~TMB;8dr1?%J|){+RSRXc z%x$cdDD!cv&HX00l&S^uIqyaCPgJAlysvURf7t4QOM0%>uP_>va~ox;FjX zGo_8yzar0+9xsiFn}_cl-rgCHo2%d8n}?5|E5vqFd!~A$xumzpC#9plck0&Ng(%LX z-+)_(FRW4+6JwH#5EG{^nEIZ|t;4quUnA>pAHKuU^4i`|6&&XBx>QmX;-+e3-Zoj3 zlRWN|hd{#61My{KG{LnvHZPDM{+for2{r2tF=Gt8To@75C8!X00BP%oUc(# zaK1*7NPmy>HR&_X+C#UWuUVep^#Po($@=Kk{&2oVvj~$*^0*Ji~ z8*b)06j`fx9cogO=jW8odg~4Ib*QtZ*n33Ml}26o>rgw?Vpi9owj17V_%GA?oPXNe z-==Y539dtFGCGIrP?|;Bxvw6jJv>`FPF{yvDgQ003DtEdd9AJ{%UfoJXKu2@%I?X$4wc>eq25#dAK`ml|1-2l7$l9;HpnLA(FyPmM$mo3 z(e1Tci}~WL-u%2DDlWa1o^v;6_Qth{_8<_SK%@6V#r4p+?}xg+e0>Lu_2nBeugTSjAeeR_fO$r;;Y)e&3O2?1425Wu{q z320~n0wB;K1Xg?QNo!rVrpq-!-QKr1$`vE;)=IWS&w0;k(wBNBTL}Mp!_7viY&L$* z`|vtz8y;oUg?rAs*?608XRfr{yp^O|&J8>k7M3W*TW@%{IJ0<)F$r<6H@wc%nJGnc zz2Twa&Q4;b$xfW5V#(Q)$-Rm}_YH40js}m5jwoJY^rBs#^ESE=kXpka9zsf=^7Axf{yJ6NFjuz;&{%HD*wb#kjhI!Tcbu#KP zF<#nQI?Wl6@#;5ty!6~2LR?T-=36~^xPO^XO6v_TFFY;Vo;*Uo0h>$adc$-)T~=5< z_u|6l(w5R=vVKeHNk_{YsakLNQkU0NPU#8R0v{%@z7VwD@a_qmtx3X0n30;DK&)Z> zWT`V_`ere(PU-mASB+Pp+T@AXp5PTgf2`HZsH;7vT4SBCa zU1n&Oix-M(oWw%D_Hu=|!YR_1<;9+$>rhJ#JDr&Amg`U#4XsFh_|8k+gWbV8&lM)S zRy1k4*P)`t5=Ps59qJr$@zBLi!*i<5QNTf8+U2h3}-7&rI;0T2KI5D?;vm|@{CNSy%Y zHK`+p0}ucK5NL`3-lo(PHZ&`=KnTVvD+ET|WE! zp*AGCa!0=359K{n*0%8dP~KSLm%Z!qMR`Bee=TV4{ZM=EiT6XrA33%V{C=pUJmkmD zS95a)3il1?<*2}Y!+9AA!~p^z00JNomB80?Gp~snIrQ6y0Iox|&sZT+5C8!XXof(3 zp7YMnyawlMnmLlvXoK@LX;6ht5C8!X0D&wB{0Gk0WP!QMec*gemmdJ=J_vvS2xLa! zo0!*R#=3hQVP4a{V~?JL00`upz#Zi~V$TEOTL{Ofk)KBO;k;y{rD7%iY7Ep~MQ~U7 zE~A#D)QVfG_DUD~YzbgqlPzy}0|5{Kf$k;nt=RLl?q!Fbhb4e{O;}RU0|5{Kfh-9; zh&e!(xZ$f~2w+~*F++)tfB*=zF@cB54}0b@X4%Xq)5(WC-q%Qf=a zs6J?9y-_KGZn?>gYTV4cZI~%WL?#s<~1tM_1J;{2!H?xbP9nxtn-)TdzY1; zHF00@9UD+xSOekAtYG4U;gBhbiCqxx`Ove8np5`Q%YYOf-AwEU=1OHyjZ zEmeD^i+#2PFt5p$H@txW2!KFX0*{oxk9kd4SPAN>c}cW+4F!OCO@hPFv?vtPT~!Ngwajg-m2_s(&N?41r)HrI*zw?^G2Q7(q_ovqf|Y~6+Q_D6%9y~!rK*dw)TZ7Khvyv^{i zR+toiWYmzk$IDc|N&Z_a$MCW8RwuEe|8aE3%j3?T<~6@B@55ETZU0Q4D2IYi4qZLe zTv+!Xt=m0YI!-JRE9Ji>HQ^$$sG46@leJ%F(TET~T99_!lPYO@NYeg)95Gf{Q3$g5 z0ZB}VMI#@YE5w>Wt)SM~%kP@CvHDl!u33vl#>9k~6K8JkjK_rPH+aI#xd#ccbmTmz zXJ&*~?{uD&Ugi1*(NVu-WOSYo6D#x^&_DCSDuppICbSbL8TYUFFHx>xx`!2 zc)^mmCDpxT)RHao#akw=T9ec*QGT>Ecx;qit)Z+bZ@OQ~BWrLx)K1G;rnaWsme)S* zIrd|(<6bKbwO6rF8!dC^gY3nV+xk~uref7v@glIdHYwOO@*t&SjL+BTqb(0{AqEft z0T2KI5NH*FtE;oSR{4kDcm!}ADjq+y1_2NNfg}jrpM(+E009uFp05E25C8!XNQ=Oy zTvxf$@&dbd0&4ACdu?)3tT&t-OIV6W0OxDs@k476009ulGl8t;HCg$|g0TWwJ4Ygo~h&pGNiJykw)LVy(v?^O|hNq8Trk*EB;7Z9o77KmY`y6L>lH zJT1CUwCFYhnAddMh@-zC00P}apdi;4!UqJpi2&v`-89&X`R;w{rqwIp>*lpie(=BMmx4P{Mv)BRE&S%c%D zc3RFdwKe6oy!L6&u^)RK_gZPFy^4j}Xqh`7WG|lF*1!5P6|2^Y7lFOCNx`m>2dVRI zaRSjtTOQ&<3?KjkAOHf%5QuWV=CKy6uKmJx$@CLeKtK_|`5Hw6`_>S6IhXHhX$=c_ zjYR-IX0h<8#(mW@HmZz02(%jk{1mj?h#_7O0D;aUFf=-7%qND7ybx3x9366!+H;Aw zq%mko+>+|H_tla`_Gq>wDYI2lj_#PzbHL5K-#&}+%kG7~b zpbr8d00JNopTMtr?(i7-sc|mzg{J=t`jY{V**e8v_R#yhXBmF$D7&gY+eh!!R-e@} zvr$a0&XGuZtE~T${3qYD9H}SDrhc3E4Cig${`Yy4?V!(Ht_s`xyf2cmt?IkE?{c~S zv=gVG?zwhA@8t)nJ`9j~^;*!2A`##mTBJqeRqECn$#4Rc`-+rA(a+y&s7cUgo zIEjUqIJ+yv72;>|=%wL$u_x$#-b)QTotR}7+_Uz1pZC+l|K_Bv&bINmES4%O8mqAFPtsaa+**U{%jgIei zGU_pLj##kg#ZLL0YD98BpE!jJklyEgzE~r-9~AT(uvE;Et?5JW^QPnJ(~|nY)TLsX zI8~OGiRE&;RIK;>_Nn)IZ+g9~u6>?zn4euM3tu~<%95pV?X1tqm2D*@5xycgvblu}J=j z+Fz!6^O_BP8+=xzapTio^O|cL^v38|EsJ>#p`dxq?UG*S&T9@8hl)#Fv+Pwp?;KHw z!8=FZIr8%bm&hOc|6Ra8+2!Iwu|&M8IH$OK?SCuldgvEkhy%o~HJP&D-5)*IE8+5j zs`$X_em}dKM|yeRDp%}gb-v~`D$e}PYi^WpCBnRhkDP4gHJ|qUk5SEQ*1L}7k2xiC zUgK?N9_`-z<$W}+?vMIzxuxw>!o0>DE6i&!ui@jNx$`xc*W`CzbJLKTFPPtW&SPGq znbbR9gL#dRXKwh@IrEyEhB|d#qmOEp`<`n)sH9Q%B|3qE4+wM-fkeJIUBnAr1%dV< zaEtHEM*GCxZIPyX->~hzQo75OD7)`ARriJ}DefC)M*4VEgtR1FE_^%1KK$N2iqtM# zOwqK`u^KIg#@e`VxG^JWfB*=900@L7uv033QNwzN9taQtoUg%g00JNY0w9nKfnm&R zk^u=TF$iE@69XQaf&d7BKtcqn59uXjt+AO0tt#}KcfC*0^H9`gXJ<}RZ(>8wL-8l< z^HBRs^+wM_ogz+AW;Oy+5dY|k-Qz4r#de7^N60!hl+VqwckKa} z_z+i#3PJ6BiUERle;z8JTM3D$*PCc0Iy%dk!|ZD0g`m=`(OsRS_FUpEY0R=DZb@}zqn2!uFW&NA zwWbnxQAv~^Ee%GX?P@DZo9lGHlzrCZct}^vS*Et8+?H2O%tQl^4~^Lsm_te2ERuE>kShNA?m+Jp_%(@u--6n&2qirWi2@= z)PCy?|C4h^&FY@DlGoZEtjkBoX`@fQb@}ebdczs7%lDNg*Bkb>t3T>AuI^8x`)l}{ z2Hrj|QBtVK!;J_fkC%)tT?TY`^n0 z=C|M;yhp*r5tzsM8bXto_g;G6^OVN>q3#)qe!eE~@X1L9&ui|_Ni+xp1lpZIOD++$ zJ2b=(0wBqy;_FapMYNYOyGY9i?1Dg^2n75GD^DRJ77zdd5CDND3CzX3rb%*W)~*CF zuW8qjL);($0-a9a)tHlX`VgakDG1*c`Qk0_Rck77*h-@OXlZb_v|VjQX>*n*YOi9UHd^M+2idd9O&hj)EwlBnzD&icwY0V5a^ZWBoX_Z%=osU9 zjXv6kUWam85oF*5$)`!_AE<)*Cjtt?c9VYwnh7+l-1u@{+>-GR-j3 z0zv5@CsE4{eH*On;ApFN>8#9^UF!~T)kV_6s=k~1E|>dH`>c&ezG0)+^G*?00C+!C z6-OHL8mu>biI^|`cLA?oQ!XwPOT?>+bBepyj{0>yiyZz3h+S(k_wlJqN6*!HGq<2x zQ2(c_w|pLb(M&;S7t0D;yK zSm|A&H*zQkr}8&0au{d;0+|tre0nXj$lwSBK%hGbeA#ygP3Lnsbo6z`{Nqp~F9eld zH+ra()SgScC5_iv61Swf!;D(8MZS2;d)1ms%vwp5A1w_Y3vE|hQQBOm`=#u&CdWg% zTFx@HHRZOv@)NXYKlN&rhT5xGsEwAn^Fj7(a?^&bUdwF#t1nZrYAtOoxm@@jBs}X_w_y4OO_w( z{a){PisX5oSuhz)Fo*)g5=vh;)}~KN#3i?Vmf1H^8{Jv6Zo$0xDMB6 zf4lp9cW$yJ`UU9J&l#QCG4u-rGA6+1Ym$2J<=49K{Bgzu26rIPb_D+0H5>VXtJHR# zX}^GRzDAB2&eycxf!kcf?Qy>5>q9tS)7Y*xoqWC~ z9INPB3!OV=cx$#^II3#=b*5hU{Nav8vU_;-E}dY@%6oY0@ic=YiDx%_>()mQKGt^D zB+j^RxSdB3v4a2zfIxi$M>ul~-kO?6jH()cov9Z-f0Sd9>>gE}*92Qu-osmurx_ec zJiFmrw?2aKv9_}&amKu+oktL{g8&G0E`h(R&JN=B@R&rb#ESu~K_E*4nAc=U8@@mQ z1VA7k1h&jjap;_qG`lBDTV_yd)J1J|MI143=b5x~5r^zju^U*cLXu_l#2F8rpN&zO}Wt$&@`?9b}zGfaf)*#5xMIV)7yU zI%b6$en23H1n>)x!$EO{^u{Sd6bC7}#5pMZYwjY-0hEpnp`Fgx(68FJUH=bk=V7_M z&NBz~>e{)_h#dst5a{H2&HG2+XZ-K-{YG90D!p&?{Z3MQF7cK$-e*bNk}Z4d$s&6+ zYe>o?q@>D^mIjX?TjZ8XUukol?w7K!Vo;v7oNBn0DGSOgKS6udFMB=v;ySI#zDTNN z?!4WaU258}Yba?@AA{vg%B)wmlH7;yL6Tmh+M;8O=Qa9hi)sVI78i7EI31D8+;sJnr5C8!X2qds_$H1zP74_#eA&o!{ z1louI<~40JSO^sax`IGAUWYns^rOa^le3Jx5LEi;=vhuudoJ;oG(Kuc+>$Npda^~n zc*_TrE~_Y%zVf5=RK4v$RCaZp*5;hB&e~;DY zTq7?8mChbL*GX#6CEk+8*_OmD*|M%DTjYzk>`|9h6iQ$DQF^LgMQZMqT`kkvoYVbM z_E}C_l{0IUMJ)@;X`l8STesJ-Z>6F3Oh`qgTk3i(OEwqO$6&dNRcj<05nD^Y=Sf6O z#~9CR^wE}tUDyBt5C8!X$OnNX@^>B|5a=cXxDM4#qm90T00?v&f%7r1>9!&7`u<{G z)Afe{0Du4pfpTY;^cD6X)iE|;LBB`V^>h&oyHTt}wuEMLN?>AR97Fjf>I^Fb zCLnrcL>v3ch^7^07j`MUvM}PL-BXV-Vu%^4?pLVnShp z!}5Ezbw&^Lu_X=GGPmTsPquz^=pbJUe_-6wFDHp<^-yuB^BtX6P-#NpwN5jN^tIx( z;w`c?Uw&ieJJQ3%Lb*R!93j6|Z*U|+99i8TAZ3j{uM1FEP?aB8-R~#&W}Gbc_lhNb zp@{HrL)C%YdCR&c`CRh8_(-B7f})*J7?6qMRuYmw!0Y~e>F8Luo zl~#A0>U@E)1PHS^c_e$NP|Tu>i_$K z@fWudBGl)c0OmD0A0UJW0w4ea84_5Jc}<42;VKORnAfC16*fTt1VA7ff$7CLMR$ws zjdI1vyS0)n(eqHVn)G#5EtJ(Vx3N}=lTkKcOto<^JWyt$i(vJJok+eM| zY5%38#|kT4PwAM}=~r2Z#bTw@SQDsawrFjBo%|cZe?`{GsK>;3X=~{;XFSHM-{A4m zb9)GJL1CG%H$NO&=94ax-C16ETDCoTgnk1ymoBWf8QIU<-N7niXl46;EJDAtxe~b_z z2!KH66NtAiUvxeXTAR>ysPsO1UA}rgcwIi$XtXXLX@yyrub#iG>OMaDwwdpksl2_j zmLti#TqUK0eRKkEl_Ysy6LcLay3KZLF<-11^smdOdJ$z^KGh~@uhtHub@}r2`PtCA z!L@@N(M8q0j?XXAb;yB$o501s`%=92r@qPc`ZYhx#rY&$hpInH zs0D$r1aQ74EGg)L00=Zk;PG6{8=8wfyH=kxt`%kB)$Y$OO)8$NL-p~Kqm*q5Al#QA%u$_FT4aNlR-tj-Ztq+yfPX>LHiiC8dLXbOLmY@w_J7(H7kU zT7UoufB*=zlEC$$<`S)p5WYbmSpv8Yl`KzK0|5{Kfo2HczF|eJQ|}uV0{0E8F-~uf z`-bU#-rauRun^-zPgL)J@ZTlum!x+*!g9M4xGvz#K%@JHgW84V5%<2~uzu3jo0Q^z zGH(nR8E=msbFDPwt&Lx{JrDKWlzqmJ8W!4(K#E_bc0-YJyeCw@y?J{cD&=lBG=Cy~ z)fzH_LVW`K-8vaZQhiLQ%>{v*L(VaC5p0_Vfq6}v4jjS;0T2Lz5Cm>*+rOhX+fMI< z=yBdvuFp}wZqHFH$&DN4HOaATXG>e~ByNo1d$=z~V>AVUKmxb7?VKdAOQ-;W)Cpi- zlR9EJ009sHfrbQd->^c|srL5vSd=cy zX{&O&A0*=%Eep!IBk`Bmx?ip&%C7RMxyK%1K4$Zlk2UcUvHt z*5;g!Md`AfwkoGQvrKKZ)Sh!k;xDmvzg$U_RqnZxs(qu@N-vpxRBwurVyO4Y#M53@ z=osU9jXv7is|Sb{1V8`;K%gFh&&uCk9wos=2IigDf9gC2>aKLxs}| zXBPgoFyPPCr!q7IC6%w61WMBmbh@E_HI(6jm4b zzTwZv@~GHfYV9x63?nTNln!zd_4*W<8hx&EtOsj-tZ+|ZZQ&NF_2t6ne7ehhl3+{m zYc@sn_Eo8WLE$F3y|CKy-iQ|B$DAJvcgVi;yk?&Sf;zl#xWn=nwR`Z6^08f5ld!Je z?K4AfsoL?^u_UM^)p8wg4;6=sITa!16;wLB@VydiQSN)C7Y?TThW~i*e8=!%Vxin0 zERGP<#GhmheU9XvI6%r8eJawI?X#dNRQER0x_oAwT-urKf+ZaP2KL9 z+OLP(Lj98ZZq?Vyd+h_U&Z|5y>QCI`FL~^eAO7d|NbR|X+9_*a8s((ux!Wiy@7)$i zrnNbzV^O*+r>)8<&n#10Ew$&|k@!n&-7i-XWtDrbq-x)&wbDywAJv;;q!{XbGV!#R z6*|UvUZan;_UZwm1pyEMfzBZC75RJI{O2p9{>0Y4=CMnD_@CP&wdWc$im#1wQZjcN zCFQ-}g4X7ojz#IRoVF^b`$00U(XybNI}(41t^4IlqUN+tV?|^BR4$wPQaJGYEhH2y`NWe;@sK`74bN2!KEo0z9vY(gM0500JNY0$C9F z_t9@)UXulA_~HN?D5Ck$IfO$Pmv0NSAlJUetkfzQ_bX}eGjx<=_l z{Hk@$SU20zM(1lzaE_sq+x$p6Y;aD|P3X186}rQXyjv^T60Kjeut{H6)k0YmomHCcOQZXW#NA&X_mAD4^t zJm>je^Tm56*_TsClC+kzt=l}m)DIjzR#*}EcaVOSg;*?BN{uyvS~|wk|ZE~)jt#-w#Rp1wJJ{l1g;++5mHdQ8@DDLv_Ed86J?70jAx)?6$j5#otzWM)mb z=FgbBEr7;DqYsTfjQeZ4^}s;Cn}X<)GUK$+x>RO7mPDKjjTK(Nx$Ui|1m{pmnt=ikQ za2-nVNpgRQIIK3YD;F2aD^Ra0&MEF*y`s2bzPb)|fY>$gDr1uIBya2apGj&rwjAd=)HkO#cOB~dO8Dzg|2u5**u%O0*~;rs zNgnrR&zjBibtueh6hF*s6p8frnAfDwIBO5xKCk($=Z>2={4uYILoZ%i%xj|YOY*pn z=Gm?te1FaNN57A&NOowDfD2h#3{`L6VT?p z4W4`sXy%CHw5?|sbrkaI6_Qw%CtGMnmfRd z)hZ)q4y@|$7qML&_1`6UoheQnXxrTce(yRC4@n$``fep|xa9_aH2Nc)uW8{ZTsiZT zt~Cl8hw>>$|LTaX8ry|N6aqM36NMIZK>!3mAUgs-8T|?7HQC{Yrw$>2c}<55B)S0t zAkc9HwvKMaye6el-4cTA*3s`wiRPa4zcWR(`hPOV>DwXfJTvmE8GUZ_ccYJwK0P`<`fP}?3AQH$<~8-`pbi8;00de`;76l>i1`cO zy4X9x^T&4SgkE%CA26@!zA;CSK>!5uM)|5BhFXfRnI38-Jm6Ot1nZrYOQz?*jt+v>>7EH(lN&8YxL2U zhqw>}2!H?xbQ^*DyRF0MF9@VW0N0^X0t>Ss00LD4fAX9u1Q-zLL<02QOMLP`0P~tW zi~?c+0TAeN0+pA|zls$X4Ox=46-sK)rRr9Y+@GWkvLow?Mm^agU%X{Ms;%S45!ED) zSI3T&n{BwIx#e23A39%cS?iaw&l(&L+0t^BsjVru<;^&3dG=$gA({5C38+|9y=q(E zlG2K^xAm{SOvS3T;`k40n|{xOJV%ntW2`!_sU2;R+Cv!xKmY_lAQ1v-tv9^Pva0fm z!QM)^^@djtzQal0E}m*w{l{wlUk1;WIdgiZTm7@6<6Up~p9Vi%v-8$!?mdIN-tbwD zt?bqt{z%pTl3GMM`ga<#k%E>-$(?Q3sNe2gp*7jg`BMLc!S~ATNrNK=N*|19p?*B= zRr^udcb?ZIvEJ~BQycgGq!2pV%Afj9n0i8_7P_r1cjDAP&mcKP`sW#cp7HM23o&1u z`1)kl8$NAcn@=GYRK;pdR9bI13@f`eoAkt~e?Q`ud&}-xvlKs)@V-pHjq@i><)h`K zsUI2nNVR|ZXrLpbxTh{Rwg-*$2@Gs!_wj&B>|bx#-R@73SMX5ZEti|NE1c1G5hGv_ z$R`0@hsx);ASw{(90D)m{+bYjImz;4JfSk7(x2hk^v9Y!7ZIX+j>>l|_P=Y9g|!Dg z5U>%je3fi!ki{hM($EQomxd_)Dd7LKF&(sR^Aqu_*0y7pRp2i*m=~Sk9789!`H^() zz_p$?E?#PsR~Y#;xzqYJOPchh)|wGwwY0L)73QR2S21)!*_S-bu}TUWjn=PO)36VlLPcfQI(y)g1Ir8#YlTVSpNtxE^1%VB-z5L7m1B7E!1+#M z_ZuADj}Cm)+0(pc)j-g7s9S5}%56Js`_-d#kDe_ZCzgnn^52r0aFJM4&9AD-@|O9l z=Qn?W>sYw^&~HqAyd=csz5ckb;0tj6il!ueZS|(NsYi?zRs{YXd`c1%;_=c6@_))} z0<|=z7x&cpR^*;3ZLIzkd8YJuX-wQaeCP1?&UoBh{RZDWeEeJ?wwv1HyRLiX{2rf_ zj{4rITXz?tIFo(@ZXLd`N?}ZlNiIT6ocf#H-&47D`1avzWc}^KcQ{(!zHg`smbtEz zepp5##7))6yluL%yu+T`oFmTP_rc0wWhle*HU0>am3#yLkxmvUtXT=*FtcJwTzI+! zeR>b4#Erus2y`?7`u23^C+q7_X;a3$CT+s7PXxO52P5O*r!(n%9jehe^^609I}pe{ zf$sgzY+u>FgU;6E{y;;39YO%}nhqIAbOQuHpyLQ^Uzv<~O~;KYI+Qj6%xlsn4ErDe z0!a|~d>5|Cv14UN%xjW3cwnQe2w+~*Rl|+Wf&d8QlmMQGvJDKLhq6&gPKM{9l4F?{ zOP%mM)Zg$tR1=32o`+J<@H~_v(Yif94~6xHc?7WDFxDH6^IgpQdc$H8)*B8pzF2QK z3?=BKPr$uyu=e+W&dOY)^@hbHmwJdoC#*L-tuocP;xx_33qhr+m1#~=doJ;oG^Sb- zw`9w@o@|jX-ZEZQOH#K)`O(tg0a13fhO(x->3%7Xtikb6J1u9K+M04(Ui-A?*pI!A zd#yCoUd2Lfw9K6kvKLQo>tB7DidAdHi@@I6q+r*`gOrXjz7D02wmigz7(f67K%mi3j!ceB~XZb2BsU)y|Q|y#NBth)UA_j>EZrl?ZFxdWKDqQ zHQ9f6vhFARfdB}AK%NPVSm!l%X`cIm*g&Aw1bAM9?@p`70scV%1iG7m{a1K~b+*&p zq|kd1s80a%n)-ZD3j!d}dIDeR__b?xt;{lJFuNLgA*eK~va6HSo=dzXjain&E!ncJ zCtKu;w>-AGtfEl*%8$}h^|oU|+0}Jgo9lGHlzrBqt;(4-%A%G9<+M+GPDf&^*Zx%; zq{Y5Cr(4yxr1hH51@$plu42_1&3g}SnSRfMeTT21V~poD`e+N^8k!&g0w4eaNf9W^ z-{a;#<%&PCwK`%DterIS!OTMt)K-6v=0HE*R)T(h!g}s00de=;2SM@PUx0dar-(K^P0E_ z(Z0*z`m7vn3Z(RXrrS^5x~4ADUz@Q0wB;G1paSg8vQ&Y4WqCL z0$oS|^O`OkbaWX6G9}Q1b@@W@_P_UXVEE=;Ck}Jd6$2qmSX2&-c)sUYaZqJRlfKkD zDuq}rBiZPRW>U2uE@6m*vN=QOv_Mcg$Vp`4Dw%{hYf7-Wl}6nrQ7#5+s+!9OE+5#T z7V|$>iEKB#-SA(g^*R5PrVxLd#)&2C9o;Jj&XP&%G|sJUtdfF8=e_sx6>`*QUbAXo zp8#IB*2XnJq0Pme@ZQT`dj9XY!1Z0a`_OMpeY_;Z<-Pu)x?;Xx*1V)|X7g>cZ;AI_ zD&`X=^-S%Vs!F_HBzL`2x9%=PaVGr++&X+=fosOZn4sfn;?&>l{+`OM!?zD#BkOM; zzQfV_uTi(14b|eZ5mWx*xm3Ez_-*mFGqv-Vf7a{ROyNYDlrvlWzbXIEs8uzjqcxSrccy&X)mCY{_d85~<@D$K+_Kh` z#{0I0h&QR&#{2rGPn%wxK6U!Y^xo;Om_A|pjv>aTo_CzDsYeHOAOHd&kPU&f-sc?@ z{e#wuW3AF`h10~|LcPm$f9ZOEne^G38P3@n^L$OV(ZO5(3Gloo=zLB7S2&7K{^P2P-!vhF_ z00=Zk;K-P>8X?{s+d^}ZqZJ6WiU8&{ts)P6C1ol&TFoy z9POIj{HrXTQd#Yiv9|X)?~RqecM{irtn!I!o70T8AE@Tfsaz;?#~L+nspS_txgBeL ze2X|y=1;Gj=g8N}?eR|T#LD|B{G9i4Sss;7c-Mc&0<{xS@Ax0XUV+-d- zj^4|pwUa9!s=U3js4`NZG*;KX-(x39?vUfd^O_`{^S))|)2`LGY@}|J8l-irqkD(Z z;?|MVeXVaD`Ma5a=UeTqo)@m;?V;jOag4J9n2O|CWw>gq`BFuB%gKEKrY8$nynyRhGu%E2B#p$cr6En{({Ssx-yT4`R#Tjmy zx9qMpOGo?onzdo_ZeMr!M$v0ykHhvlY@fq+KWy*A<{q}^VK)6wJIBQ_GwEm%;w|M=scx%U%yCw~D~RJ>8xke>0cw-piExpY!&%GquCy1HO7; zn&wF7I&p_5nvWUf+l+jgS(?|}6vDy#ckwH!wSjHx4g0mjNtDfc>(}sl!}aXlWmK*; z^5L^rr9M+=F0SxBXioFqhRwpoy~%3l6XFJOi&3*ynAX-AHI%(f)~*$soUITSiff$2 zN|!jhE5sGfp5`_8h@g4RQf|_*TV}!CTQ80iOTtxhp;v8{-xY!B(oN5Qo5$9HO-wko+ zCjB;?FV@KI2L=5GEUo?8(0apkJPC27BVQ&?mHTC4xl@uG*Jneubh%4Z%*Vb;#Z{pS2?f)xvlt$YgMH@gn4uE3%QFa3odsTzf}Bu@y_Dy#RrP_ z6>ltlws>ny4m7X92LwO>1VA7ffgKW_Yq!_=8XGHhZlx2?*Vy`-tjs)9k*wu7)^NTi z4!zd2#rc}#xTkx*Cb>AnSnA~SHB&mO;beX}3Rp1Zx0*4x{BX#ME+bX$9lVz<}0rHUa-sdR&jE0?I2 zHC1i>{PTZR7l!WFrln=5DIS7CN2!KFq2;5S+1;5QHpDZqkoxP_OeyO1Ys$r;;?7QD?~|Q4OU072 zCzE>>gVwLvY#a??VsAGc^LeOeOP#!a&HkzXukTc6&AhxG0VU5HRGkNrPG}87_WYV$4k%cA;blRWxn1F_b>BF7s;+IFFY;V zo;*Uo0h>z~R@@*)OcOKlLP+(3$ce$hk1>SbC4`}UZYyrXDq5#?d@8a*C;+o?lG@Pj%L2+ zHQs(6e@yGZUNc(6ye9t0u?3#j{Hn*l-tcX;|Bt+2{I51CzcxGV zd%nij8znQ>8x}b|U!!8p*S_(*CQiKG^@iQH{Ob+t`f{<+dc!aF1f8$xruBw9`+Us` zeL$p?Yt{NS(>!NllIWi8e9iErom23XM6^P9=QXt6@GG5Y^?Jkdl_4T5D>`4}UT=7g zY)v0^zUFHAS9W0PQn}J_nDvIgHp^*T-JCR!GVQ+Ju-T)y`I9Sjz9y~D9ksbpS{~Zd z?setmmotecl{JqxX4d z7b`rq4*{On1YL(}pMEqO=`OYNUFQ3|z1G6K&)eGuNB7vE)XT9tR9`R=;+vRCUACu4EeyQ#^!Q z*{vM<{#*52{C+u%t(76Y?7BwL%1Ge59)WWweA~4OO+DSL>#E zhic#Fys>^w8sEFd&w1Ndrt!vN*TVWWUQS7rFENaC_H*9dzAm3J&`uWX*C-;huzrm~ z(Xu_SU-MEIoVVDqWsKptIRZFe(;T;MX@&DO-7?bXXVwJNcPneZ$@)v{d`+|{(>`DG zuhGI0;ny4fOr0wxSZ_EY_L_S7=W9;dq2^5BJqnsd^EvZ;&3b|NC^Sz}h~BokyK!O* z-=h$Rvc0W$T|Rn`!gkJh==Uh>E6emAg}?9BHeMy~Y5kvyx!&+kE5DalbFPpo{2qm3 zCFng0r$=~?!r)ZxQ-~9t$nYKoxt?NmwZrv=OC_MsRPObBhdyJJy>%wh`uQj=KT{!} zQCcY9)K16iE|HFwXf4&Y-d<@_WVXb%l~#}?cfGBDq`~&hekgnH_DWiBZ}Xw`qubMM z?Kz6wUgMT3hAgGhy)Ld?qFUBewe|bs_7T3sK7#bUJu=Jp%D6dkYpzogx+G2cAj^=0 z00@8p2(&MO&*9g-eFqPbH$|WgZ?$WxpJ)UEAOHgGM&N$TNm3g!yhkAz?Rej$I#>0A z+cj4+-iP-nG)E4tKmY_lAkPH+@4ft~@vLC;@4cLETzPEN|6lerdwb^znIh@+*)Zc9 zs#|MnhRuJmG8oF{AA4r@4)?xX?a#L=|I;&}SM+Y_+0yg%%7c|{JyUvr-@_v`-ZS2_ zbMM^Zzg50fDfVuSOdw3;X}tIHXYyM^!Q#D_Gy?7OJk*WFzm_On>+BmJJ&UEvipFX& zHIjYr<&DNKdcDA|E8ZzJuPa_Bx1*D;EnX}4l}Wozx}n;h%3F`xdK7J`meY@qVVl<$ z@2=`mnRNL>zsf=^7AxgbxN8bpPCC~XZ!F$cyxvK-6>oPES?89m*?RAapKq`~4?!kwif&d6KBrqrTn!62Mw6((S4j-Jau?-^5*Vw4|WjJ3$OsV#&|6Pe9Y5n<{J#fB8tdnP%#stpSL^*O>uZ#0FtsetK&`AX7e9fb{H?5O~6nz1K zoDtXy=WFVY$lif`zF)b`^5%iM#!v|YT~7elp}PJM000mGfmj6g37nV2GAkRmVqTNx z`=P#sKR9s@3A7JE0Ebx!NKgR*5D@u&KUAv+=haQmYs~jU*?REF2!H?xG$Qb`>WqT)ern{o^s~xOouu|$ z;w@?X%#yez)jeU<3PHMRtD{m|Mz-~aca!x8I+5gaz2QC?ThGMNi95*s-cFn* zwWQY@o;~q@T{BnHS9AHl3`SXRcv`iGQzz1T!y^;_I{4SYNfTc+abV&;6V3I8_n$bo z_~*f?6K72P+hB8X)o+FMhU@cbuC_g|Lv0#4(@9r5+r~X_$MuFcjWq5TX>6QJ>kV(5 zyKyd+t{%Bsw)?}>t42OmZBONEN3M0YRLkk4qe+|ee_^bIOS=4VuQ#ma>|xW$btBg} z>AI2YokTuV+g9xT>kWTmu5G?rGaUh@`lqRekM zad)4+!o+D}Z*id5Q`U@%Me@Ji`^!}CJqjE8HuP~6LEF1r6=l!5*i@OPdCe|9Ca&h4e4=>vhk#QB=n zs5q0ozb4MS=733<*R*C{^Zf4agIdjN-p^mLYUO*JxuiL-Ib=I`yLzRQcJkM%@0Pzt zNe*cGi6vzr%{|X+?oZPNY=b}-5#Z}kUDRQ86$C&aV*;j$vd8UP+SP2lX*n&ZBA8Cmj>nOTXtyL`}yS z&ujG2mV{l{009sH0T75!;Az+VCcZsb&;+o4jb`D^Vf`8}5tKmy1V8`;q7q2!{+j8% z;Uj5$e@&3Bourp~_YF^$^|PEv@_FCzFXVsmpX%AZ_qTFi@)1k=zTqLChaj$D<(qq= z+&BDk^+L@{J#^o&=-tw@rRO(2{k_|Iru3Tk4e#7LxA=I^OFhNjt<@G`;|ZsS`-a1D zil)_`_YL1z{A-EQwa&hAkK6IS;Ts#?&&2({u1NO{Ust@&(Z9BMt=u0p>8j!l)%H}r zxp=d)rCLt6)N1dp=Exf9^2dGOu$Gg~wZ$8Yw-v8<(rv}tokTuV+g9xT_YL1wwB0w% zlp06a?0v)cdMK#-YwmH$Z*ofJ{WZ6`>Kn(`X&QWgOh6E1AeZzHW|7U@!JNr7+ z!}6@rBhHzld|rq8s*LT+m4_<-A@}Wg9SZMJpzjdgqd*jJ9f~L<^GWtO?>N_?=6kL~ zZ9Qu1Q9^7zN?nDzw)o@fsx{XZle!K?9$NRw`*o;y8><8f;lB>`R7>f#ZrqgTbl0!J z{WU@~UcUzS*Wmsd^?hvjJ?1sZjbMJ}HG6pGHMqYX?h4rYTI5C8!X0D*7>er?QQo-^`7Q0do|=bWVWT;eTh{MwSZCDl=T zl{l}qIyR~&DNB^L@}s4?g*WH6K()%6@}~Qx?6ZdUtmQ0ITT^b!dt>pI*^gJM%G$p- zW^QM;HuI`|vU^+q>dTm~sgqf=dr0wKw(J{vN4eO&Vc`vXC0w4eaAkZoT&sS$E zVg2Jd@35qxmsbLK9xAURgSbE-Uj*=+ck<(b=e(0=3X33sc@2&M5CDO62`s>K-gN=< zbKZY2&a3>+$O}QGKU99_B(>)fZ%N}1mc%Woj@qlld9~GnQ9VgnqO_GCE!8c&IkyF> zRo0X@-7jUIHMD0fXPMfXa$DXTi?_^vyi!%x{=G4CJF~T!SM8JC+xk~u#(YhkBqLHi zR{JDvCvS_6F`n1xqb+$aum}Pm00JP;h`^t#GYZoClac4rpDTZIlG<~Lx1{lBOX8MP zCxou&yxQuhNQ0y-QTob{mg*MXoZAA`Dr?G{?w7L98rrj#vrKJGxh?OF#am`SUa2Z; z|K6Cno!Q#VtMR8bG zq4rPxJ9Fwt)VNxye^Ftqu)$jAi zbhNy5)cc_>b$MOol%9|+I`N~9p(uS@U)UyTykoa_dVYt^vYC%!JF4zGWDL#vqPF~@ zoGvM8Gkay_9lO~R*`%8K{*)EgZl-^xg=YHExJ@%rHMSa8qj6N>$k?@bOm&R!bbSZB zZRi{FPC3@J)rniPE=j3O^BR@sdTc=e1V8`;vL?{k?@_?}yv^e&`E~j5K5ycSb@_-w zd!Dbs`@CuF_+xvY_hDFXSm1r$>Ii9vJ+I4$_g=QcSRuxCAi($6v_qtb5d=V>Jqf%X z&qLK6xHohSpLf-+RMiE7N)U)e0P~ty_|O;xKmY_fia?s{@=co6QK-tdYnmGrw2DLk^O{JwpbP?CO91nlJYQqG4)wxz zdFegk=oA7tU(+cg*{=O~x!A6ecU#=KKVQ>^KW5!`zUCxciR!i=ju!N{4Sxz+KnX5E zfC#*)Yo1$4cDxUt^k$H2i1fY2U;OtNc_FCu-re5gB(>)fZ%O05mc%Wo?jMa>vPHgl ztHV-KmMDA5kCy5d-kjS4)#^TRo$i;i&l(&Lw=ipzMJ)@;d1LXGbtK*z_Nrsmn(Rx} zt9H6xNs`_N^)Xn^qiNPB9TVA0zvoFrO~)9|YxL2Ugk9JG0T2KI5Qs(~t#$bx=nEgm zFME!a%Cnj{hx%FR<*J$^TCsa$twfny|37fpjD*AhIp%<{ zfG)CG2)KwGhKPtLvc^dM$O_9PA&_Hol3_x~C8rn>1?2RWWnFZ4@c;!`*Toyg7$V_R zS<&@a*MC(%Z@pFBZ}t0jzg^vLcfY^4KGR+G)KgDA^{t+Fo~gcg{g)k2UJdonw6r;e zsWg{~bd-~X?VGipMY;NOuS+!DFutp~Z|gd4@7TikpLYDzn~a6>S+s0#*V}vZpQ!4= zs}Z)myklI=9;LnCwM}jBYrmo6obe)E*YT6KJ=;IhG0fAZj*oY2==f~Mt8FwxV{Kz? z4|L2fF73Fke7le*`mC$SnxEO-_fJmROoymhtT} z*3Vmuk9?29r#bbmo@H#9E#lH)wvum`v72TK9rcm#QP_T*k}>wI!~Akh^tr>dLM+)2 z>=}z$OGfFrd`ZVOj~KkKAJ^RE^Y=}}HBWX4lQZ~_UtF^u60G(>)PHqS&rtNlixY{=X0;+U-mznOJCX3i^ubb z=73^9T%qIdf!rf4Houx!=;U&gHwVoUXV=`k9`% z=Hza~HO+}@PVLc;Q^sUmv(a@dU*nYYxTbrSyIrl4_hoX}*PN?S zSfu3{6Qy%!Epn3FQ;D`h<6J|cmZDCymx=Ons~CxTAti~_mi;KHYT?bfEr?oaP4=e7 zCGC@j>RHK2CbzoWl=u4LEmJ>UsVuAhy*^Vry|tc~?d|SOCWf&d7B00`70@TGbRs0RTM2t>g3k5r%*PyzuE0D&+BPD%A@Ntltu zsr$k5N{Q&>JS|V956(KzNpepm+6s*i8WOb>br)#0j0s)2RU?v8l1O{9A0<^Syg9c8 zQLDy8b!uGFK539Y)IzV37M08|=k>)~R-Slks8{8y(xkp*y=CA#gF`8ap6irKJcUu4$?1#$Z7J1X4<1e}2z`+qDT=d8U?kYuPOYz0dnHL&PQT z$u`{&)u@-!X07|7=sxdBH3$uAb=#TgKJP~Tv)69KF?FedtGzygTe`gL$83$9x%GCl z*dsM-^%bWU&(VUA5k?fKvG+djeTt%fJO3HsbGTP=KPQpyM90rkvE=N9$%Bi2_e1T- z`5P9pd7roEfT>#)_jw;Nv#wf1g+-Nn%_15~r1{l_6@^s=>gsgo>W_D5*MPY1^G?K} zNS%1^^BybhDxL4l$5{C{c&v07KLS=4hRb7C-MzhgxJoMS0$f?x&D$=REWQJFl-8Ep z$@{!F7mk{uQ+k@W$kT_8qQ*wFvG5Y7u~hqu zc7>K_Oq7<+y243vPbJz4jirV}Ek&JZFB9eER(UMyg_I;xTlS-*s)aY_wjgSyHQAdQ zm$XkBs%Ir9ncV7fQ{L-~w@m$brLwI0_xeoj^wxS_wzs=Cjjy(h`06?~J(44qdz-fH z+Y-kZg-YsZv)>CWf&d7B00=aT!18jW(yac|+V7RAc`KJBw4!sQ^OX)+YUX~dqdP%5 zV;xI6uj;&{b9Luv=Z89%buR8)8L@Y538BI5Z9z_ zM&J(!fIuq}xTF;ajWL5j3!3a0%vIVnrUKW>k?QuYaP~W>QaIN2)GF# zu5t4~2?RhO&jilQRE)KL)_TM>c|II5wpa)tu89RJjDi3NfPe)8S4WO(qFb;q4443c z1PLInNf0)=0s#;JflLtiw-Tjb&VIe&rz}3~w4`mYzMusHwFsQVE0c(87Djx=POUMt zLfyN%7j!P*48_kmVA%>&p3yPBufe0U(RLZd6vFKdvksXSLLI6g00Nvq5^)Vcg8&GC zKpF^~m8q+17~42&W90KtY2XeYKp;s1h-;FhjlMtt1VA7-flaeEA+8CI3z{I{5I|gm z0|5j;pp^)mov}5WEeS_955@RL;Va`?=}5y^n?)eTL%3N(LcbsY0@eu(?)7M)D`OFX zbqLlCKBm3t{KE;yFXq7rFK&qJiLmnUf#x0>lYV%XN{v}St40V!KNcG4mD)6Z1c|uj zhFQ(@z41|_B?y232;_ypEm|~jvzBK}lx~@IvyfMNiZV zDM_TZ>_S(iJ7dAiu1V8`;!V$oG6vFX>HVF6;zZRb_hF?{g{_$up_wE5j;)N(p)CeQBD%0K8L4zpMQ6(*V6iaS>u_C<`wNH z@Fd#YQIRn=Svz-F%bvIHrua;_o;A53(hqA`clVXQ(%pQ1D6Tow!r)GrI)7?CGbeHlq4gF= z_hhZbTc++))%q<{pP%;pG_TECy-*!(k738K3l7s;pD=anbWuKq_q%oa*6H6op0PRX z8^_Oal#XS*$o__%$a>k?$2lSw@LoeVtr2i(V^t9QUc??m6!EPb`I{(35lI(*VV;G?t6UM!$rv2x|nRZ4#C zsuX<$@^{OpItKBAj9qE;VhjJBi(&dT*-w>x;Kc{dlFatonEREP4_;dTTu|+uPln##dV=Jai|!9+9>9M{dJwag0%1 zqmDKkc3}eqKmY_lARK|;mLm$$>Ni@RO23`;8z;#M1X`%15Cg zq$H90vL7W?Exb9m1yL)l$==ksqS(iJ7dAiu1V8`;!V&nI@w$yi3*R-$gWGE3mt%Qv9Ft`bpzXMYqs+ z-)IQ}%^-ldrWw@HCkTK52)GISp(=u@mbhD>1OgynB7nHYL zzGhF6s^yTh1_8u1VdnY$8N0hP%-Em{0w4eaStHQpiC(()6e(+?fWLMLAg&3{6H!fY zR?q|i5C})$PgUok!nFU>tm;JV|LoXxTNfpvU)_UO_UBoYNK>`Z^<M|7j0{OlqY^#QbX>^J1QxeJ|;g)X1Q*|tRba- zV+Ji6eS~VPGKs|Wg;ErBw_nzo)}wD!|OqKL`oAKKTE}uvlk{0E*|P> zFN-@$GMCT&wc4;=ES<)dvNil?X+^q_EiC8PRb<)AEaomBF*9zz7fr6+!#||z8jCYd zT~S!&dsTz@R%UE5Tf;Th`)bu5Z<4j6{BH>T6&dATuV7=PU8VD#`4}tz29K3q9%O8F zVYq5E=XDQPNf&bGR~B~jwhJbU?|>bpwdHmzxOH(nZ7$3xZYb<1?JPaX>vxu(akRW+ z-c}ZDa`n2-DLu_w;6ns97GB~sOmWR?E2}k#YwE={lWP10MqJbA?;7HoM#(j=9pV~$ z?CZrf_Ik2m>FPqO#WjcV$kr6sjPj^PL_6neapyvgxL#ay)EvY$HjYGLgW?*qwS9Zc z^5D|H%nGgxO%TWf0c{B=55vJ2KmY_lz!HHAv{=uQ$kU#(eAOHd>AuuI!Toc_wN>IQJ5C}*BaZNx_ zPy+!F0D;5_ybf_q;>^)u)(If4$@&b!e-HqHcnBnW9?En-lo}WAhpKl!6z=m@M~l52 z?uW9+GAT>AAIcu-diO(Jn1X9C)o5{_w`76)yd{a|?Q7i+bztQ6n&=jqM+QBEKqCaO zUegFQv;hGS0D&Y3Oh;Uk1ZMP+D*}jXay6Y83#X;7%wS#;nM3jRhPq0RovK zfVd`8(*$!Xf;C`s)O$>U@C;_b3WOU--HVA+~j08TEk~kc3 zO^lNa(>W!8xF)9)i(!EP2t*+8wuH_;)pPN$B41xquLsnFK;8%-uF2bsVmu%K0{J0u zc;vVyx`q7E#7J6$0OFd~m}iU<1VA8*1YVE0CX3SspPNbmaZOY4qjL}dfm9Mm{ybEA z?uRoGOyAm?uW91GqjO8b&rMZfoz(!`ifJF=V(F52piF?jcR$3 z-KQw(xAUJ7Hodr4aX%-K(nRNJpQU2S*$b0L_4_?Wc15i|Y&a7{z62l>ZH(zapb-F8fsKbb(5 zf9|5t6<@ zIu4%y;mIC>Ry;oPdW~ibSrBLm0+|fPT4H7}NDu%45I7-nToc^_W&s4UMF4S4w&n}o zf&d7#5`hyD*R;}fW2{yPAg-~35k^1&1ae8>Jx#vT`?q*5UoMX;3@T0nh->1c3)>(7 z0@)^zTwIf$_d`u<@CqpTE+@Pns*z(}e=|}e?c-@PyY8`Ie)E&p8?#oN?}s|L=y%<4 z^&4Nj-e$Xet>*rVrPJ6_wub*KtwtAdq(g zSg*8fdB+R00dG(U_RoSl*|O&$PNL-HQAXfcnSg_kQ{-e*K6LPMKEvI@{Ebn zJNn=5B)O*&ZH2}=42fEbI?-Mx%FC_dDe8rkBvM=Uqok^ZH|Mq>YNa*Vn;Mt2Pa3Lc zB`2BO>T*-w>x;Kc{dlFatorx*Ozrg6dS14-yEl!mwv71dI(9uGYw?fVhS%a4qqs&L zZ8q$}1_*!v2!KFz0`DwG8PP4l0tmDY0j$@w&Rk=pAOHesC2&^%yR;bQEG^HND7~xy zEGNl5m1rw8-epMCk}RuwVN3KyTjHV0(hI3C`;mIG-o#PbRdq_6a%x=CKFP&a=JXnA zQOW#rs!wx{tefkoZ>b^oL`Zt2TB>>_vzzl9qrY7Gsx<6+MAqUTxec$yF-CEXI@)a5 zg$)n@0T2Lza0Jfg-^Y!A&hD>HWNm?Cm#hmN#`LY~QA$Z7tu5%MB=u@}>9!zRC~eA- zFI1yEAwANN{YqO>OP8DS(m%gFS+7+qHRN8`)n$5K*Rhum+k?>eGO_1P)+~u*jN%$~ zv}J7!@D~I?00i<$U{U}3dCKS5Fe(s;j{wd?#m5$wK>!3mASi+A=M6tHQMH{}_qnf1 zH%e|kZ;a;+M44yYk$48^vde0jUW_Ki^rxN3N!*V{p+BsYpc0CW6IZxSMS=e1-Y{6vl%<-Vl z8@}2zd)vyL)O+5rx1IE@RrdbR8$P%H-f68u0pkP#TLiFPV~Zs0fB*>OpTMXmc8hn! z=k=e5^HA|3hV>j0KwOi26$s>qz=lNEIP$}d zu@Clt5bHHDP3V=KF&S>y?268j&R04bZf>#RSVwn)bjCWCbY9hYN$2X$(asNbF6&&} zxiVt!h-)k!3@`-(AOHfXA~1eZSa-TZw+Pz<^g$p#0w;0Ph->2G3(JiV*ogn_8^M-} zHrF&bca647#h_z#;@ti(OpCPx7zcqI54>^l|8(>T*+F^=Zzj9?bPbM%2~U^s`_~ z-h2;ijiecN#4$#3jXK(z;RpHz0T2KI5NIZWEBIdnd_W-k1jcvCxF-8!!3aPA1e#6Y z0c1wtB(mq4*FBk#DHNiMR3j{zQ2mzaM&6dQk&m1rw8mKqYZB+IH^*b;rwmPVw?(hI3C`;mIG-b6y$Rdq_6a%x=C zKFP&a=JXnAQOW#rs!wx{tefkoZ>b^oL`Zt2TB>>_vzzl9qrY7Gsx<6+MAqUTxec$y zF-GU1)X`?cE^L4R2!H?xgdwo1f0%zC%g-t;&zL9;_pfr2+*66RLSxvFs3loe^}?3u zi?-CGDoZbX9Ri4Ja3FvH2!KEu3G6J`@CxfSHYmbImI%ZZ z*L=A9x)!_cFH5ryUqJu_T7|%Rtk<;4RAZcF0&&GP01N^k00JNooWRwQ;*YEQs}uFT z!DCnSLqF~wMSH5zecsSdNy^-9q?Gp67L+#SlrK`3Zc? z0$cd^JU$@MN(68os+DFNV+8>aXf*=c5ZAQYl(+nN5!bZ*Apig%00OBbVCQ})tk76mLmlnjH%I2-Gs_wBC##dV=eN|e~JTSM`DVR0VAQi_Lt=FidEe(Fb2M_=O5NI_5A1g-`YTO^M zlBl}4a>9$~{Z@}9s=puWS1GD3v=2@o`mqqaFMFCIuK9R>Hhs580hT}j1VA8t1U}J( z$R>Rh;1LLfBY^8`!tsJO2!H?xWQoA-h>fx|UGUWc0mL;HAi@L)fB*=@Lg3D(L?zAX zH5Py{+JXcS*RlicjkKs_emT{r zIY-vbbtIJyzb8KFYs^rF7`T}7<)JWIkfN( ze0vZ(gKyR6&1`@d=9dMR6#lVrQQ<>{DTRHVMB>}K_fQS0a>udLxl9j4J1ROe3L?92 zrF;r|5Bpg6VeIc5$sxRUZ%3nt&0@Xm5OyRxjn~XzNAT?tJWbKkTqe>{P7>ojho^d< z*VI#BZz*dmtY}`*egaRT*yH#{6_d4mMb&ENwd^C^AMbu!``g-&EvL7)Qxg7&bVd7H z%jq5M?`S`ad(>MvsPMYNYYUT|G!ToAAI-!&1ZMHEQ(SXsWmfvSWVWwMP?P>v6IUCH*i_K&)@ne z%q`20EbkBJd)-eGSC6V%QZ`VvJF|zr8&rk2tZMA%+oFa{w95 z-%EAj8DeqZzb^osUcCwF$Gysh^Qz5lOwkKR#7@+rRkk<)HL@9!q78{oHkLI$ThY9}x5$&QGp3EHvr_Nw z!CvY8z5hFDY41#)elv;EoL)-8ACa!_{f|kMj_Ez7_Y2&k7bacS`|jRfPwMOyX>%+- z9vX{Pd)&y5G((`CGFOl9nuLJ*NEdow8%{fqrY_dq6S<(XREt!1|))@!B}|E8hdZmzg;70+E?DMiUhn||vx z!uHKP@yM@+&x2asb~arrMe)sU+Y!6wELodfm(}(_J(;!oic^aRYCViFox-Tc@;*gT zzn%Y#@HyP8xSx|qX`*ALR4h4r5!W1CRO>ZvLpw_DawDam)>^o1#Gu7C*J`#l@^#Op zYz_ZeT9Gbf3(NU+6^?t&8L7mbSq;8wxv0J4;XU`kkd`94#-0ZDqkG{nP|o=h%9hx4?%8 zY%FZ@LGfV!gM6)}@z1|RYTbChXbA$%BtYvm&GZ0$g8&GC00@`}d>Y89jiUfIKmY_lz&3%&orf0>*RDRWZNJ*yll&Z^=rgWfA2E#P z3C~&3YOicdb~~{{Tw`q9+rNsDd^oSv5%3+ujD@pRU;FUlU-3j+Vql(|$24DP4o$X2 z4dNOT8OV|&@SeoK)sh=qo_hLv+oOd~RPHKBLRbI+`vl@%ud(kjEP?S47FvQpRtN--Ywp1R4Oy8~_z40akP8A)%B!S>@O-RE~2LTWO0T75p z;IaP4BCXd%>OAL-AJXowNykucFFueupOPSRU-8SuFBb19-c@|C_}Stoik~mu8Ic3x znk428eSiQ6fIw{mx3arE3fE}mPigr$v*JAppKP!L`OX8zn(-cmT29}qRgP%+G-cE2 z*JtV?3g)-@JqkCn+t?ji54GQ;u-SQo0=-9pv9;_LCsA{HcfeLAo|R754d2iF-lMRL zn&fs%ENFQ7eviVc*yr%d*n3E>1Nk0>waIlEsVDDy6qc~nY=dKQN!jiac11aNXMpp` z;=5rvThF%_F!3F*jDMfdN4`gavFjZ9Fk8g;!)&EfA|17r?@`#IL_Bx3Q@Y$GYwf~j z=Jy_j@AQ8M>ou)?aA5Qe5Wsp(1JKX}1V8`;EE6!j_wqj~QBAV%y=-h~&0ViqP~+SM z-h0{Dj4~GgdoRz?f{@zlHEDY9WurWkXs55&yja3}FQYJDG&xG^q}!fxYTn;_dA>6r z)$hIZlD@0E`n{J6xe~qia=~QtdoMQ^W)wrb_fmWM9K(Ary;Hz87GC0S0X4-n|B1M! zOsoF;yb;$_9at6wh-)lBOxOhC8hgMI*Vtnj){^%;lz5+a(75K>@rY}}^0uun;+pUG z|5qi3VeI=_o=X4K|9vOPJ(XxHH2%wws3lpZdd5UAA}_Zz7FCvBNPDs$sVD1A45VFE zr?e@j#wG2OTx?}duaOp&%rB??RLn}^Q+~*x9UDyTz5CDNR5%^jE&k)z7X+q#j zCJ11?CKJ;HCqV!NT8_Zat;967to*#cR&C1x$AEJ}0C7!DCKAH{0T9R?fuHq1V~%eF-s56nto#K>~oc6TBngG;+k|FBk%?UKmY_Jf#3B1CUTS^EJU{=J&LyfZRF8J>tD1^3ybI@ ziO)h9Mqza0^Vn?}agCb?N+19NAkYi~^Vr>oQVL^nR!>c7L&Zlr3f}*b=syeaX3&V@cUA z-_NPn#pfzle=KC5?_SQ<^9C0%@g1;?jg%X&;MNyc41J+{m@VR^VYbrIs#KIS+sgX~ zDwc)dIsT4E#x55dd>jIsnRxHzJkS7v3=#Nq|DXH+)L;Z0_b?OsCm`-&z&;41kifrm z|4a9$$A2>7{mNg}qJppR{J(bpbN7RqEQJI2xbzVB_RHO$aX8!>k%q@~j*9bgG!_gc z{{#@%9K;Y{<`uGO_`83YEu+MP@pBYc* zp#q?Tid6z_16Iw!7zm`E0OFd|PZ1mh0T5^b0`pp6j2L2m2;lmf{LCdr0s_Ga*tx#u zn|#$resFz_B$2;8;+p);X`V-fxF*lDi?M-#AA!c>nn$%*Mz{V5m*ajYoe1(E5RO0x z&dY@ZX4KxJLNSdzaURMzX%K=ytOOqOiCbdr6vk6c0M`wtdV1hoh6o_8$h?|@ z(buHTqxy59D5_ljR!M0fu1ShC`T+q&;Cr~fM!{&2+40 z2e()0^T_R=sib^XIg?& zb$6cB{?EtrYjiUC$|J7H*L>!EG>B{RKEoIv2$%@iiEF-(xW)uGcQV8^xtr2l4+wEh zuBR7+0|6fbcH){JAg=M@n=diqntaV?-baJDChs$h@qvJefStJJhlp!Ta3KpwV80lz z0}ki{)IcCn0=RBCQQYVZ1V8`;j0CV=W5fbsN(o@SCZ!Vtw?H6P0(RDGevI{+SZ4{w zK>!586DSN62L93?zFiV6uwIh{W%L08VF>(0i)6g*9`61cuYItFhPMUE*&r}48*ai& z5O4@!y#@yY2(%&rJL@$+)nXXj=bhi<=vH>OXK?##SH^tGQx{ipJ~#Zy294ibX?GRR zU0*3h$w-@1m`Zb*NJlwI*uI&k+Mj#1>JcrUrffR>`b=F!!TjECv~wf7joqQuj4<8W zs8%Dgn|bXB+wN=`Tgz^75-DBl?6$J4&R(q7+|LfBs;cd>DoMTs#Dd1Ok)6htvNil? zX=RWL*}`&uT}76?%wq2Hs@UDWGWH&l>p*-fGq#xj=Ggf>-96U5LyJ!ASXEX=`QH%w zD>BNxUcr{I)og=Py`-$Pgk4e2T~qj3T~EY!!*aHsZ!citJ78Jm+hzr~E{-S0u5;wW zY!TlNvz1PXZ(N^k<B==OJtqsIs7dsqIqC$ty3^-q(LfV|kZBmY4D7a~#JE%;#w)PjY;3;JG;i?-_XOz#9h+9eDe|-whl*aMHlx z17{4JP|=aP$?fxg9%@2YaxBqPYZLhD_z7Jijqe)AQ#Fh6U3>8)os|qCyWCGKp@`)-lxSM@7MB-iPHN9-tQ#2rxI<2#`_G3T8cW+UL>)nyxc0Ls$R&X zJ=qWGk&bHP&bcj!IyENBsc}jBBqy(^gc~V_R5~(5gl7XmIGI!q3 zRy4Wa82#naSEUin19NMgf>|RCQgMt?T%(S*H24J{KmY_lpw$TAJd|n1aX*xaN^&xs zhf0pMt)AjO4`s{GXm)TODlETzpND!D=b^$L5Hai1d8m0Y_tLuN|9w*Hj=eQUj`L7) z%=>Qsmt)_qI4r{^2xN~y3BL;sPul4RG~Be@a1mdZ#|H#ji2&l7R+?>$6$Dy^z;kt1 zrP4*>yn%DI_~Se+&zLBkJ8+(p8sMP z>k(Otf8;j27RMOHHR@=yVHY+)00ck)1i}&cQaE*Jg8&Hl5Wsqk4;Y9+00b-%cs^rm zCzgh7#mol>-hE&+Lm%Y-zozB$F#h1AWh!#*2M)7jruQ-aRIbOyQ%a^s^a28TAs~Kx zTJ`f-Z`6@rkfOLI>R8Yo1cDGiToZ&6bU*+EvPxiDS2jGyecq;d!hPN*D#^)kpLcSs zZS{1mW@sZjjV)zs_|MXcbRk<<&abP;vX{Yq-eKn~&-Z!15a65;o;Mu!h>50O>v_W$ zMqX`+ZXw#}^wz&9>LuhsARYo(uZf4N*Xrxry%Ll`00e>%Xzkyfiw7=^7};DLv3-y^ z3aW$aYl4!3UK9d|YogE#-u5C6`l2>U!COHS1VBLi=Cm#aTwfE{+&`4MwWHgM52Vhg zxajM4?<;<}_{HKq#k-0R7C&43MDg>*J0o&v;V%pwEb<@#0y!n{Qh+mW=^grIkyl%y zTd+q5>oxXR!jeA$#5MkGY}P!%@9219JSCfUVG9KEPeAlJ(jTKPXKX^KO37ht$ppI zO_H$HY6Qal?i}2eFFsd9UayI6!5&e>HTGD-l0N~&HU4aD)`a_Rw%Idmfk3tiw94`Vmk*4q*`u`mySAzAeeGMy{cjrhN!y<7+XjYtx_aP-f%O9)8+f&i zW@xN!tnCv6vx`dyHVs@iu*$l}!lN76ZR`%|TGf8kBiXE#rx(|Fe2LdLf5-{rNR7ma_8vnv;6oToCC5XJ3C>viSU(lX~ipOK5DJc@IB| zx6a%;ld+e(Pv|*;w>z@;jlCz9+l%t)r<{I@*os<8g;UA;2|Z_*bD}JC=_8+Cvxa}a zt>>JjTlCZ9HlFyCuzaiH<-Hx)wYz14wuA8~RDK9BI!}oIp zr(nK`r#3BT>-qKqCcXofv3}lKd{*$ZnD0N$sdx1(W5a9_FAcMme7lTY@3Fs)OU37e zx6+=rXF1F-*F^U;m7eBEld=nDzEoliag7N-;u;f`Y8m1h!31%Qpn$kWP_Xm4(vF$3 zl}6&4Um~tyh-<7Kh6x#?xTd?1}AX!ftwBtt}QgTIQknywhGq=wCfQ-TvLw_ z>OlYmKp=hs`M$p9t9&)*-<%blbY3_7dG6b12Ob)DfbX+--SDRyx^DPE?YiMF4t&{o z-SB+_58}Gv_<#K^_JHea?7?jQ^)+-=FJrHCzqv=hZusP$llhguCs(c-KB4CqC)2p? zT{kRxXx=C7*A34vUv*4`s;?XVu;+T?=822B zI^r5XG?3?%0OFdQPArB60w9oi0^c0C6IY;Seiku+qzNFdNt!tN0|5}oHi6%D$Kn4a zaTtY75NJUHh-+GK(lKNZNR+_;#1aQ2I)o;5_RWFueNE~b-GV@72_UY??9{<=5CDND z5cqveQQ8$jrJHLE;zZcYEvqam-Zna{pGu(ZLxc?}zGcFg}wu)!U(_ zIB$olem~S@`}k8>qt$IUz8}ilc1zcmuDvThpI0WbN8cWOf9maUepHLU^im?pMo0I$ zuFH5*I`wlS^;KffSX9Ty^>ykQ+aAa(v)1KZH+2nbJ&Z7&!nsscqi2Un$@3E5?E9zAVU_oH7or>#mV z-VfE@vul8{;#Bb+aA)7zG6nH|C~-WE@A>t>duQI+cURvny#B7fyB)2^XShc%-w!oB zS(jhPJz?yVWzR(3+fK;R`>`L_>^&sj4`uqOxW-fq83=%Yi2&AXOjIBP0T2KIGl3V! zo8{4@PYgWH<4E~=Ld!EIN{R_62?X;I1ia;i^rj;x#OsBftu_e4l~rCO?bC9|9J8>7Em z`l>YSdPLUZAGr;$#W6;4jXK(F*o6%c009sHfp7%A%fF8s|9p3#I+3;SdF+aQ=*Qio zXiqhwowWA70ZP&{cN;0Cz1xD2DQ&7#zDQltP(90j^?F_Amv?(oT~eM@*9nQVOF6Gj zz1Cj+XyvfI5k1;c&tWap_Sdep+I>Z@6~`FGHR@=KZWR_l00ck)1Z)s^a^Oi%RAR#_ zY=A(%3E(_bzULRC0|5}o1_9G`!z!+6^t$1&W1r6(;JRUcMIx>nb`Bj}HyrjisQLPN zxNi7=aounO2NJFume6qBuq4sEz5jK?HhlU4R(xz=gpCXlz0(3j!dJMFO1(MrltD z?8IHySv*MKb5jW*u4yWMbPfU_kTC*rU0?Hyf!&@MW;d6JBmjBqf*cLVB{$$V63TZbwK4~qUeOA5F+4_?)YtfvlR`O^kiMNgT z4cX1-ntm(fR@as7MO-8E$~tl&00JNY0!b3szt~@N_cx*Vd?iwt>8W#THd1=T*hsub zVOoQI-CVJF70+E?DTU4SvP0OB<$a2xemnme;d8iGaX%-K z(nQD4QnBRhg~@}9hkDw};*OHc<#T^6d*hyRWYdesv!(0+{@pTAnaPE0p;P?^c3?#& z^|P~I%w0WVX59WRnjCizHtkQ@$a^R^2ni|>FPrM2aD zE4X!WJZ&xs2NnXFR^o*nB9r?DhV9@p3bC6Sdnzz7*2y868O zjKCivM>RPEg5iKb00M|>0ziTa2!H?xfPe)8e@acHc4eo9;aD}XqI0D4l@6;W8#Ff7 z(VZZjv5qC3S9M;}xw><-^Fy7>Iv01YjMzKkng%Bx%|HMIK)@may!X-~OqgnE0*Gr` zdipVV5J-T)gvwI@6X-01UA!h$eEyu86_pH5C0tGg0mL<_mTR1vUz2v^yM00clF4+Qp}@Ms3!D3LYNk7-PC9x7|I2Y=H_ z0C7!PX9j+OKwb#oJXGzO{JIm}Ag-xR3AG>)lz@n93WGtlp$7sW00LnNAg-xRtk(54 z`dOUXR{UzCTkx|SOy2DNgLw(9JQ2WpO`c{GV*vpW$SQ$(S#{jUZ+gSLPbI`4P?x~; z_PQ!Q3L>sKweL`$+BA#zop5@WP5(~qI?bjz*aCqZ5qMjq-?h_RtxwMp7du0l@9;rf zV}~ZJZ4H$=g0*GtuGgTHTu2E$@_k#oVQX~1cCSPaJ?EV{J zhBnzIfb&q1@p-BkHC)byQHT`^fWJ7QZ1K z{3sGzm8d1@3aKcIxJKrw9$OFq0T2LzRwmF@iBMXZ0>++I0$8uf>de7!5CDO^6Bv*9 zBDN{U`=R{N;{8zmY)}INAOHd&&|CuDh>e;%0q8w(0$8s}9634!0T2LzmL%{R#8@pk z?@13DaZS?1(H{ta00>kQ*uU6cbW0~_<(XREt!1|~pPQRj+&6UmaneM_Zmzg;70;>X z*Br;|-ok(8^B>0E>})Hlbu!ZC6sFQ#Cel$(63uURdfvN+&-1iCx3lR9v8*#RPxXkW zoQ~q`x~#Sba@4HVSDacrQ0rlY=@dpimiH-&`tAH@gwNq##r>Q_N)sI`rDDn1i@4_C zqTlmtc9cAZQ&yZj;gmh2xOA=7cq2QFEoE!?&(ex?AzN6^udB$ims!kRK4NCI-_h84 z?fop}$BNtEy-!_HSf#z2$6YJFl^I*i)^LsWzFO`!%`A=bzajKjWR!cof{m4Sm0ob> zW2`(YW2Kk*xBlwFaN)zA@$5fgm`mN>Z{@|6h26aEk4xe^U`J_fSz`saE{>;L+W!9a z8wxv0J4;XU`kkd`94)sM#vLhx^c5nb@=l$%N2f3vUH2KmY_l00g2E_+{JO9uq&-t~~gC!Ww-+$Wiv(kiT#zOflTDI4Gx6vo6deD1oB)`04T+JS(&EK_6ZSQNp zq1^v<9Y1N?v;89-!#r*3_;|;Lj?Z?y+D0=p);8AmK*#Lj(vIsoKH9O$y2rw!8`*8_ z4(VFe-g|w`W=&&yaV@*WNhG9eO184C?5F&^V^+Vu=EYK0uCLkM z_fJmR@~e1u_5J8nWm)Lb$9;W`l2Z@6`=0Ong_EA|d%;Pf581XEd++r% zOW53@4UQvA%I@&}9Kk7=cMG}Na<-mtFJR(3U>WP@t;I)PU-M~By{l)l2RbeOH= z+hy#g*+NHsKm-y92NyjyhXdcLH z{kY~PpTBP+u6fdV&(#cW%rCClm)Fr>%~RNWcz%7yJyrJBbo8=A*pci$UNeI&cR^zs|m9K()b*SezYb#3pQERTqH zPJZX)pU=IPf7$^E}__vUYAc zb7XmcxU8tT-_o(p<-4w&uDC|}nVz`jbrTTRG$*b(wMRcr)pf%gUB~h@PDzhzx@WoD z)hdbqr@bHfyXBRu^6Mt3eEM>TYxFrmT!XlVj)%t9YY^9@H?EmBLB`UO;Xonh_bwfLP~Lc4KY&RIg*f)1j_|) zC)o$zyJu0f3+7Wet$3`4^P#>ruCJ-j2pS*&0w9nCfiES|3Hktm79ikSAZ~&2Vu&CB z0!b72i}6`C2N+gflJ+d^{T(oPKrH`xr+wT>_=opH`BTRGq5RpP1_VF=1VA7dfiyjD zIGD#?EqU*f>AGRkeK_<#($Z$F>xSuh!wV|cMSA^WY*4Gi^Mx`@x+MQxOV`)5Z}+z(}X-mo3((#oRBHQ7><=KUGDf8Ox<&U{oqZ`eC4 z2O6F?EUuQP=M68IY<}MG=E96(a?cwUzdd>WY%GZTp-i8H1`on|jR}ke8P;q3A!5D8 zpABk200ck)1cDL3dX0$_)@w{ul9OS*COOu&dP;7+W;(x?VEP0~w!9B&2kSM}q_AEi znH-dX^&0Wpljjeu*DTQ9%_v7ZV{iu6Ya|TpK_DQ3oGcg+KmxEp&;(k-2)>J1Y zBCZj6Kg*DV00@8p2sDepMfO&jvLh00JP;ECRD~arW!b z!NVfPC5J|AZ*%^_-{)BnTj`NrE!^009t4nn2d# znoE)fg#JJvrvwn!*qGR%mN@@!gA{DEB7uMGYQ<688S|9BDG~383fuma7~hEUMyws# zIV@Vz%JG4ZOvE)Ud4OQhAOHd>Bk;?%yFDKLSbJOJ?;HNAez3!1wp@I~Abz23K9^3@ z`t>T^hjJzs}%IuHrw}yPDp~>%ZKwFPFXQjN}yd9-d#{aZi=KH66X|5OyTH zkJrp#3%T|YJk@&d<+hG(RaRV`vwJJWzvYqDbi??r<`&j<+}^Q;?>}8-Z7ekX_V!Ab zhRi3bdeD_VRqj6o^J1g@N;fj{4Cy@diM~-oOs5$Q*%TGjFy*$VGF@;v>uZ!_8_Q>Ff#XT)ykoyZiph zNxPh_USrOS>xNgEt1L*RpI2J2rA+J&_&@5=L-+8RIeO^mA<=eM-!9(nkO|N9JzH)s z%Fp#Z=WInSr782Mr(JzNI#u;4bm=3$l^I*i))e?RZ$ZhahuwY8_x-|2&-cCHB+&=8 zY|eI+{|%wPBBR{v6>JHcJG8-ZWl7l~zUPNIQL68wIO>%eaN8?* z5B!^-Q}60o#)jDOiNKfgG#HEp1e!nd;3@{Ebnv4d}NlH5~?wnF1rL!y?V?s%DA6dTME0Yk{uGp5WkqUJof?<4PnzV9&{cAh$*nFo5FKiWbVA5J(FCwVX9X$)A(x3q_0X#S+kc5J_37vhPNb+F^X%{(H7ncT7UoufB*H70-SUteQtC1m3I8u<)8|LbdnCSAQDazQ@QX07XMZq|A>+sxMWHRdtYmg4#v z!AD$Q^HY9~T*Ni`yuPOPQ9!lXd@f(QuCI}t({p{z2lmAEHO;xc=BC;5XrR5kzGnMz zy8PKwMM=ND=5vSX^>O4suxA`rZP|?X`kL@wzBiU@M8o@m79h|Vfoz_KIvgw5jZHUN zfdB|(h`=3v#)n|dy%<;s*6Ci@Ijvao3K%)c@*EC8F?LYto zKp=JlPV~Y1f*<}lBtxEuLP3z7*Mh*hW5I7P~U#JQC>soZH3=6 zI^~ro@p7weo&F{U@g#^&?Y?Af5KFkehOVx`^)>RS!5#!aAWi~r#CfO~@apHG_AmDH zH}>hD30irkme+M`=jU^S(;DnczN6Cg-pfY)ls4|T~^xz^ zjfIzdXq-8CX5{OJMIUyo*qE>Mc=CtTz1{OK9bKL2;B)3+cY;@VpE>wH9UYy&>S*g6 z-}#%4KX?4LBPs$H;8M39dXbC0T2LzqzSxd@I6-Iny^;F z>L<+w{l!Zl+4;BM8{(RHj}KS}0T2LzAOy_U*Zh4su4(l8n*W>_q;I7&pM8Jgw4&@) z$%EwNwJ^=OzUJlE`uk|QzUJ&#+I@*{AX#U@j@o9G!UP4w9Di+nd@tQ=5vKW zI+2}ms{i#hhwhb!>uX+c=0jay^D_VYD6X&BYm$3L#^zLCU$d2~(DgMxF8N(wGl=VJ z+#n;AHWoJdw0_^<`>d?jgtZb@-^YE3GfE)Y`M2L2)@w3);K6MW0D)W)xRu@Q8P7FZ z`BPdxOtz8rnoox5K+|pRdd>T5M1c2dUg~$;XyT@4)9Kfb>#iRK^V_^$b0fQr-Jy}M zeLvJ@=T0cPABwTH>=q|cb6TU=%EbR<^!%Fpncw|T%cx0ix2>~YvnuvEyfXG4lIq}Z zCdl=gwMlguu^;dKP)pcqw!yKvq-=Q!yP}-)uGg5l7T*oa*?PXcfQj#bW&HbuKJtDj z#;$YZ!)y`X53`j{iFDLf-Ve1!iFod6r*yeX*4l;5%x}GhvCkdU3^t2u#0bss2YrG- z7y?+Y2}29IAOHd&P>;ahrtbO5=ORw2nzVG@=iQq3LwWD>F5rHss^b*`5C8!X$Ql9j zb;EKLjb1k_+Xvmp`&_>6{et=-_2jv&`p@NCP~!=5rt5}f4{6!UHPN*ALw?}7eCe8x zAl~Tbp2h(ke7)!L z%_!ozd^)ozdH?6~G4`dVoQFCO>pM{<6m6SK0Oz5aJOSt)1VA8H1dg?M7V3h*3nE7t z!a_JJjrCfq4^^jf&7Slio`fSIEYgp({Xsr|GWm~J_CnhJddbyDkCN%}g24~+MB8A* z>iLDZrXC^Gg8&GCKywIOICx>?xF))V=8Qe=ULUG)-YV|C&Gv6EK9D+}%%0kn-dFr` z@r%WKigy(sEPl55iQ?yrcShuZxW?`b!5RpF00=Zf;Nq$X=F<8nLCf5f*}5x!CD5 zxW3+#%8Rj7k4MxuYWdUiqLFrOwZfPrzKf%I#1bNGT zqq%fY#5HN8>E|)zAOHd&&?*EjAG|zrTocwpSbaGc_1e{|mv+*ym%a-Aat`EP`ghsj zWm>I}idNK8wkHkQ0{f&0V7(?O(&z^SKmY{75x639R1>a0XoEl=2q3P>!z^M9AOHd& z;7{P1h|dG@x18M?Twjxxxx@7}X_*Q50RkWZ0$Cxj6ze`&nJV~cfdJNPEI@<_5C8!X zh=IWH;Be%KL|6!8Mf4d)Uk{3u!lthu*LB zNSDQzA0AxJ6K#VLtLF>intFs#4+0)t< z009t)N?`6@Q7tsD{Z)u-ng<^}M<#%{CNe@8009sHfye|*?}r+x#25K^KU8=~ct2El zW;R>k{ZKY(CSwclhqA{xFYkvEL|WBdGGuD7t`O|Smw;59taR_tZ+dK{GMsPkMtZ)=o6 z00ck)1e#Ca+Q?B&^Tz-WKp<%XI1iOHar6fQAOHf@1Wf0l=I=LuKhnf`s3}aQxlE*^ zoFwSn%oAe^YP?fuP^;U{rfVgln}+R38l0%|0q3ErkfdIK^HBDt28i}Yy}%D?JAu=S(L|0Vk`D9^Z)!;SDkTU>?>V34@HccxAi{{wHfO*u}#aBse4x8 ziq4VFS2|)Fa0tU=9o-4i8S7Zmc~$2novS-XJ3rL9taEYa%80#Vy(YwDLlp!-00d$p zU|O$HU17aOuGUO(R%@_cqmGR@b6Bs5lWsh=v0h`3E7oi5u?%Y|%6iR-xNbNsZtMDf z>or@kT4S9x47LIRtk<-{EMtry00LPgaQ)!*kz*TSA&eE#XBd6SwN@Kdr*g7gv-Uwe z2}eR$q#tSf!w$=OL}f3e-7Fq@ztSUJ7GM7Q!4LC9+hD}%`GUBn9wF3&00@9U`~;32 z*YCNW^^N0htVA^@jEmm`(ZhWHb9{q+$!E>blM?8Puc%&2o9Zl--+8E)_Vw@U*IHfN z*9~v%5`O&6xXZdOb8`M(xoetp-SDD1KKh@BI=&*snSUK3Z{ z!~K2oy5al#{H`1R&|&85hQBk(@4Dfa4&nEhOcvh(J4$QItXA-=lEv}#wZ4xZHgRZ2 zX=mw4Uca;SjHBiCY+G6Iy}5eLkDSueIsb0aM_ey|$?TU}gvK8as>cHLAP}8^7Ai$I z1`8kn0w4eaAmBsbP0n3g(;A@$G%;Yv~$7|J(b>R^Q|~N{hIh>P)r_CaczMQeW;``x_l&U_F9w(!ow_%VxW-EaWe@-X5J;N9U4wUO zYcqFgdB#NP&cVB!B==OJt>APFX9YZi(ziN&U%4yGlb^lf9{N z$sS3A{1NSxoMdvV%T0OJr#VOcnCocNQbX>gFQSc-x$}PZqRCC;t1XkhDy?W9m|N=< z%o=Hsierr88g;a#!7um#0w4eatwrFz!F$RPg&6mJTAoVx4BqD?xu+6sg~mOGL@mj( zs%K2(<(4SRS|N2yWIswuIn!3!Rdv#u>`jeJ_DCA!k7%dlB$HcRZpy1Z%{l7FTt}mp z8gegv5p9&ro%gdBO>P=rZJG2{X+`tE+*+q#)<}a?9AgyMsG}_ne!&M2009sH0YTt- z&$If%Q~9(jMhf2^EkGb^1aKZIYcmFaK>!4F0)O4Emyl04fzKk!O7{fi!aKw@xtK-_ z0t7%H;{8P!I zkHQuu;<>Ax(&a8$YZo@NO&q}I4J#R+A2dnB(F$WBjBYqDNPA!7C>ybaHXz_nfYxi` zKAQdeZ=ITnO8tIJJ!)u%Z} z{g~@$)KWw4r7xn5lDYGK_M*v6|drNJ-w00JNY z0w7?Az=P#T#g4W7Sh>>r`)8xFSY&rS^5h`xHezT{k?vxL0vMCs9um9Y0IOlCu{k4=(y$H@u_d^)6p! z{kq{7OL@L-_=uTt&)lNPara=;{u!sPD6A@9@ld<|ayxn5@aDpd;)cSG z($3P8ynbit8Ar=IetF&SCReZPoYK?01wKSzW8o!E196S%c#yHu6sFQ#Cel$(5^Zkg zi65&q{sJSeF|iFILtGPtQo3{y*Vvm6#5ML0k0Ey)(u3p?UR zZOJ!P*1a(KU8`Q&RqedmYFtv6G?X6sNn71hU2e*&KFvARgSno_h`Rckeim%Wo9}_G zku<}OIL7E7A$7Dh!w>Wc0w4eatxn)etquU=2LVe2T6Tfg5cL!3WJFzkO+O2^7;O5dxk#wB%0L+O#9wADS;<)*yq)0|U1nCpp*sH?B(XTg@d`5xFBNi*z-V~pY& zb+k3Z5A+EFAOHfbP5|ejTKx#X_-zruc_>>XVFv_2z)axXI1gn8_1!*JEOE=W_No-tAS!QhXaB==OJ ztD3MQ6BKuKN<+C@Z>?$i#hw9Y0qodG1ag0%1 zqmH)lR?q?jKmY_lARYp1_Kj+{_IaqN*3ljW(nkR6HR+oZcmx8iP2jR|tv!A@`tMr# zdafPU;QAU#8~gkau=0zO9~>A72;_*sLY)7}{A^;qCi7E>0VGZUaZTdL(IE(cKurSg zM?6-OPsmDV^$YiThooj*9rt-#M`|>fjr+Vm+kyMMjnijEi2J;)V1yBeK=u9F!N63v z`)r4~W$WGN9eus#sq&S;W}=XSK>i3|y(WKiiV=Z8wh1h1!S$LQgJW9!u|vxnb@=l$%NVT%(S*@K(?Q1V8`;Kp?dQ#tF~-&qM9P^M(_dI-G|}1T({VsAM=-_fq|I;c7{B zt2iV$4;2U1R<&7uJ}DT9>UOPo9t!V=3U;(W3k2#Bp!FJC?}z$83$7p6BaC_wXmtX3 zKU7nX0Ib(={CGc9Q;)#}JI}^?&3Sk~RE)<2)@x#f+j6F>*Ij}ksBU+j&wohyy>9rq z!Dq`?wg_g=X?ZF=JNTTF=ZzntvHZ!gDXu2=m_KZG9jMLE^3wk4(K%>{4gH%5QC^i^qi zd$&;zJ^~xPHEKf~W3*nQjhjfVd{BGY7vx00i<+0MD<<{~Tk4wh17vu}u{A zKmY`y5opEtL;Z5_C2i&8ms*}NQF>|cmrjy_>0neM=F;GBH|h->UKg+&km z0T2jB;P->S)8dccYk9^*>34&_caq#wiMB%HcZNhQ$+D^!wnSgFB`;;Ikh&$ZA0_o4 zm$a)iq&3-_8kg*mG{_&(PRU6ox4PVvSACju)Q`E2MlChuUiu>1D49F&XD^!EG``w0 z>8sL;=7G7jPQk2^2B|p4D6UaQTN?a=4wr zwsh@X@%g+mkv;nM==)P|hw~#f8T(5wC6a7(bg%2Wj3=d2KQ~feB?gT}b$nc3r=GFx zfxI$nUEXz5*Ra;Z2-7K?tJR23F6a{V+xgE3pTiAZ%bi5sZ*z1n?Yh+2i@0W8m*0C7 z?ySr!wawf1D<`WFy;wSpEoE!?&(ex;AzN6^udB$?mbt+5Y>>IGW8uDI9`1Rn#MqYh zYQMM6sg^Y^>6qGh+vHpJoVcQ}s^Hh}vz!=XPnFJ^$=G^dE!FyuLn_~l-1DXD%YQ|l zFFjRS!EW!nr*DEYAGeo(gKzIUV>V-Z^tAPO{kv{XTa{EC_3b^o1{f<&72g4O_N^^b zSix3sE{u)u`SrkiXWrR&SKlqX{;s~e9WAfzZDqmmWWDA>?g?X`EPJNcv}%6up_iN^ zu6q1`9Q@m+NtFk6Qw}>+nsd~TxsFCH zHRN9UBHAdKJMU*Nn%p$L+A`^@(u(GRxwTHgtdRz(IL0WhQAb-E{DKc400JNY0wB;V z0$8tU7I{1UV!g%=M_2&?5CDNF1d_fV>Jg)}jouISQGUOIymyJQ>ieN?aNW-!yFPqR znbY^Z>=1TjS+J1*i8_KObvM)$=WeL#`=Ks0_CRJnuGIyN(=hv8dE2;kE7A1{4hv(PCO*nb`d3b)!WuALQ@cfz} z#}S@iBPrqeHIhX0_OxDeN%I^)&mfR10$8uf)pTMoAdo@=i#@S-3SCTrOZi@}F<)O( zAG=%w!u2)vSv8`8^_oVgrMpcY)@!_kFL(V7seOHow{4ViD_>u;WL6Y%(c7l|`WifM zxb__TUtcp}XhP)cYoc4I?Y*q6*H68AX(tVP>8s!`=RoeIe-no$YPCWtT2V{cUg~0> zECH<7B+DDUfdB}AKu`kv46*%#>Ov0$K!6A!uECK20wB=31UBxK=CPNCu6bRW{mZ*= zpr6edMqHE4d4ty=00Q|Z;63-z$cU3VCsMDUdi9NrEv`1wS2_ztCGT9|JXBotquWJX z6P+O}fB*=9KpX@n4NZ!CeN7yG!6pc#nE>LNG|vuv0|5|dWdeOeeTZvX`2fJ!8zO+X zrXg%-1Ogxc0UUYe(KeS=__ts>1)*MYwp_T9-iX%7WTaa5Z8E#ve{B zOFkRe^gi!Ky_7cVKW})7!6Vu0yooZ$Sg`kbEB&N$&3Qjmz0u9Cdn}mW)a|uv*6J%x zEuNzVAtOwuFzPX~Pf^rw=RYHCdU3Dfeoi8#iH@J8V#(PHlLr?M^|Y789VMB|=l)u4 zSTB}NAwd0*wYwwSFcFt(omr2R9>uIEX7M)_>7U}L3SrSqNn7%TqJ~R#(I-tg1>tH@dw_vBAr2GixZEY>-Yc2i<4IRX1 zrsoR;<^2vcV4I+DdcQYicr2Uw*O-wn&zdcM7YiSK}A{QHDHa=nJJ>m2zoTg3OnY^75o9krF~ zHCvR3=dN~2m%C)GUD(Vv`2d(TG)w!7?4wji9Nj{l4$9T_`l(kRte0f8q_2X%oCCR+ z9t;c(XthErT2V{cUg~0>ECH<7B+DDUfdB}AfQdl9-{*ZqgYlVM1FC<0&7n1VI7+Jv zc74s3t}R_}sI)q-i)QS|p(BS585(ka)Epi*M2RFD9o_4?F5^k*)X&NP9qMb^)WG|^ zZPHAKtvtTZd!_6D@e_~T*!~nhcfX~*n)q9et(G+|$=3V4-+xlA>ua8Mu6B5;bQZrR zCCK$PZ#%qkZZ=v*d7t>6OKIQ7mx#_sIXudflu)A*iO4|(s* zJNxeHyM@=^)pxg}<+j3@T(80VyuD=HW&ihi&#C-nb+ose-)^vTa>uTpm`FL>`C6ZvhMv+lD z^Yt~Cciq%AT%pXI>t|G(bF~^Fy`W3KA8JF_awn1gHb?i;u1lT0h-=n$`CVTl{#VQM zCy(njt6l3g*R=bu*IaE_!)biBv$b9``vjZoHA`kS&do;4DC;%Xwl}t3Gq(rpH8$o> z*zjMkIeO^m$SXF{Ed(29y?*M|2kRvnE$OS^FXuq+r3Z6|=4!Pv_Yb5y)#{n)Cdcztf&6?DY=M8} zmS;?qP9HkMNpepm+Wvp`z64&bqDsHI-{ZZPgd_+Zc#wrC;U(}E27}|5Cstt zF$3c`f}<=UkdTD{2?R0fwBW|Tofga{(I;2#ljnSY&o`gGOZ zy6^3-?!Mjq-TJ*-r%s)%zN+p%@2({Ao`}MlY}xdaE%L>C9*gu6*Uu3@h8sV6v1=s6 zns_tg5|1pw@sOV3Gf(z5KZ-U!qbc?i-N&OA38^I((lIf6J;W8Dq7rUlUtcf=>F7e0`91rOkKJ#R6^P_0vGn!&Q(S1B> zk&s$qAsxf>({c7{<429JJWpaZQnf`8t!<+aEs+H-tufAP%xcR*T!;Y(00AHX1X>Y+ zlYALjD~|S^S!MR?Mnp?aliBlp9Yf|5-pn-@ompSW7a72VIixX(zkFX9@WpN_T`&9!YrO9(e^jPZO%%I+6iF6-nY zaOpLzEm~uo*O=9o)&}H(01yBIK%jjP_@`oK(>^1@NIDGx9IxrL8OL~m01(I`0>ACL zBM{aTdBb?E>aXgbjWSj$QNQjwMvF|f{8rMC{?GR+6?~7vN30C#R^9&<{ioC`sYW6; zCo5BCD=PbWg)FYOJX1To-Q{CVix}UfI<|{@Z|=QH*Y|pH+A5n;#Y~#r-L`&^zA@w> zD3P{(LGS3Y9>w0PT~oUIyFXR*e|7KwcJ*{$)4N!gD|@f+UDbPk?<-wALz}ubbv@KO zl3&n!b?;|;mpYG_BKowtLER#uh3b_7&T6YYEq{@^)+@~9cL%IdYt)l^c4@j^@7lwX zx5EO{a^IT7H?m9TIf9rODl`jC~)&YZe>Q#Ke-~rw@ z=$8I1p5AZzpX-`yu zz5^Dj8CsjRMY_;>x>utR@i`5dnU#Kn*eD|%@T-r7q%r)cA zt_YImwY|1e23{&C)#$wDkq8hg=QW>+L7(!P$Gr?{S8bO*K_49q=QZ1DKL2VSrB2fH z^4>c`_LlYTpoY~x>Tcb$tD38SqGsx1vYN?WR%7QiYkSv*tZ3ub)>?VZ#tNgc238`G z*ANtx*W9krYu~))Ky{$H!k1-V-1XjxvJBok@x2p&G5ZSrW&iYS{>q+~KSV81Z_Llg z?^ep@S9Z}iyi#vgZz}P`La?4Q66A1uc9FeLvED0MEWo|0_hMh{c6YY&8i_M|dChA5 z)D+}3ymA_o*W4TUk5TfP%YAG4GOuOlH9SHxc1W9CZKU5NwAOi$|01#*f0zY>0Zzqn|G-K}I zvzZ7u`QS8j0Pqb2fItiaYeH9|#0Y|&0R-CZy5V)|U#+7Cd_NSf8|H;p{(dN2H_Rwi zcRv)a8_w=^!&i@!>v6+hxVUcEU{daWs88a$VY&~>+uG;4;j72dy!yBHxNg`#CU>n* zSlNX;tFQzFvWozY*JO8Y5E&2v0-b}vgPk)}j1&me6#?Wmb%htkfk4M1@Tt;qmB%J@ zEC`7Qe$L=o)^U|{ELtgQoi%ulSES|^?@8jUh{BrGcdpe-w#XOnxfX3|amd0EKZYAW zBxBcD5ozu-;}ZKU$?=e^;WJP6Hb06MKXEntDc36!QcEnPV|ac#&R!JXwh`5Dcv0gk z&y!e0U!VbYDJ*Y*VjbF>-PCI;p=P2C!RN~ zRQc;`qGqNN56|Tzgz&s!LIKaOAr#zf*?WEso;U10XV{zG##~<$d~UEjmk-YyF8>*8 z&U5)5i3qB4UX%QJ!?w6w5>O2LVv!Jg7bMAuLa;`zRI1j}bnJ-R3$Z(QT$@K*L z7?poHC+sqrEwmrGDeU90zd!=v@!zc)#W#?l@USg?T!Gh8*cX*#`u5$ z5NK5d79b~S)u}_=O+)~BO%uU~YajpwfPja<;=v279A>da>-VMW)&+x$y&^TYcux`+ zL=@JfzNJ<#*&<)O=UTL>#S@T6=(nf zAOHk_K&=Qg`hKYL*A1W3%OyCfa@P&>b>q8gl}q&BI<>5rBasa}ZV<)JyESp2x4Rk5-u+Ox&%4q0L*YK}>ON1+$!p3VuZbH; zx#KmDk0LEOUh~nxkKlMs42(El!@$%duW8irnwY7rGrRSU*Vuq;!26+WIAZB?$7@#O zcuj+k*EHfj?+xQxl^>6Kw*Z9ZeuC?6CF5Fp#B_NPp1e$W`OLpNvWIzB20D-0; zfcIWD1$H=XLj;i5wBe*;NI)P12;5jYu7dYoR-TSkgO^&zRaRNFQq;P1aFti2<`(Zs z;?ju1n$&l>)l0U>7w@?iZEA6>!Vy1)8$T9f*H{s0?la>O`z*=vkgVY|PxdxHiWWa{ zHTx;oD-u#mETm(2emc%x6yLTH)o*xF<15dTSdEmi=8j4}0(U;sTcS0_d5u|Z>8(Hm z2mk>f00e49pwahvN5$**eyH&EHRKcbL*afXS$p-kz6SS0;eIGtU$xh`AF6f?tF^FF zKPzONr@T_lQ;YOfHM0j-d2Ri^OQ~lmbwKfd@gg&}nyY&*P|NlH3`O@uE>ttLHf@V^ zq4$m5tM8>8HDRGztWMLd#cGM(FI2c6O2bga#@7v3p_oi%G>QGeyI09p*n0G6ujk6a zzlQp3x#aY#qk6Q(S4QPWzgD#P`&i3=ANAYVzT_U0OTOMvZ&7h|duT`Xfael{z4h}_ zT%Lz|B=GbKH?iI_?vZY?{7CnYyMLhT$GX2C>F4|1|Ka1)b;CdMaooh?!pdWzxWXJ4 zek$9j&zx2E3yF3_;D@1gootk0y<1A>u>2P28=$kcW!u#{-m4O3v$gtxJ`l(X0xt8K ztc(e900AJ-$_Sj(k^kA^y5Uw{vxq%Q2q3S?(rh3WAkdBo+!k~6r5(pw?U=3}Tx%Uy zx!R(YqSo5MtGyyMw|GwyYaLjTMpRJ~J+{ z&ypMu$r?WMWN-7MXz>$Qv!8OkA|bWJLOO=$r{nBJ@ogJX{e~AczVbYY)kqm@?x^G= zaOX38;01yBIK%hPd;5<})aD~-&MgYfa+Ie;{HXzW72;70=J1(cq zJFAE5hFwBhjV)X^Tn%dJbz0-P;rn}W-EjK3O{#(GhLa)%xylHHum7#ALlR-V`}JEC zqqcUwZg@__fIm|_D-_XHGb`%-P)Z$Bv>W$6?{aR>ikUT|6TAreyhx25)Uc9gNYB*D zGj*A4mD!5QeqJHlr|NQ@{h1h`r5C8%|poqXmFUR1$4a&wr=?VAQa>?oIJ&R=b`eI%aZ&|!2w_clM zd?dBmO|ISi2$ILz%94aL@|sqjLBtLOfB+CEkHC#yj=_6d^2R~w3HRA@$?2Oti)8oa zVqOz(S-dB=UYlfmB(>R1uHF0ylE>Q0l7utznpU1c#0~_201zmTz^z`6!FyZs)DxVvWcT)BUK4LwyeGF_n`C?>wb@Os-TVlW$J)x0gfsG*R-Qq`4g`QeyC86# zx+5@@%dGZo7F|!0t{c9oN(bvpdY5R5-|SIhRY{1=a@P&7S0WYXIhl-Jx7d)+X-8>XE% z`~6Utt7FvywM_plC=Ge8qBrHxb}?5ixu^H}EUkOwZr=}8_i)QPpl@ZR--C2fS*h%F zhTji$p<3mIH@_IdHC-aHn_dg!i_aI|rpF+-J)rr|ZQ;Jo1|QgA5OuLI8P9rlteI00AJ-kqA6A_<)svJY>;IQR{)hhrA*+w|Gwy4@4B! zWXr*RvdA9o9^x|m!WBP;8$Ug4ku^nLq`A+GOYBPw;@R-2hqY{894&t0Y8h8_Kl|c7 zBgwvqYj}P-+FCT%wh=8M+_*8u^BF0-Uu?OolaIiq*R-~1jd5OMR$E#dkOu-l00;nq z>>}``Vy2Sa2oV_&aEkzr*SN(K)_?#I00Pw@aAq}1&;bHKAcO$tHLl*H@VNx{T7*IX z0|)?twnpGTyY1oqm#<~_bTa+$;8(2UDi2$#np?aliLXQy)?~}3pKOsY z-ZSQ=Em4TP_z^kjkD4p7Yx;~dQ)XOZpZT;G%I*=1h8IT}pV1UskM3jNA|W*+BvBbn z({Ffgskkx5^Ceaz;Wi?+R{xQ^h?>?I=QU=vxv&cxKmZ5;0U(eDfqxtPy8b?v?cXd~ zDQbOv@ZY>5HMe+A5?_xftjU&5KiMK*yl0Q5Em4TP_z^kjmq_he>>8etX3C69>@%PC zLfJiH(eUCZ<1?CK>(PDeTO_1rgd{4XY5EP%EfqJ$c)rAHB-}>C*6KfU7g5t1CAOHl?An@(MZ|U!2*}iSjN>S@ugWvXw)ZF4dNqj4!uqO3=*Xku(3PGnotgVs?&G<$bCYx1d4;)3Z6!oReXx3u z=8my?dQ0@Kp8xGi?W5F5n%+~r-Qx`F-Zyv>6V!CIgBn)*=;x#=wX2$`_cL{gd)_dO z`cz#iZR5)dyixl;tSB)zLUMu^8+S~!=m=2#=iQQ|oJ zYSuJuo3gDQs1Ec#qkHG1^yK#SgelT})xPQ|-I}F8F|$1GLFy1)@2?KmpQ^Wc9HovZ z)^FClO50mw1ZEfc`xNWFbZy7U?C_|VW6&(BM^rsI{%$Z`!M5pfPr3KSD~VPFMcb1b zr3=R`9OCxmMi(XAj|mp5L*OkjpWpp``~yP9S?^H(G79xpX2@r&vSgMe9;@lPqtADT z3y=0~UMh0EXZ;6*KiBnsTm4e+ySAF?OH%%;dz5bPUgRCub9B$KJty@1s{0PF2y!o$ ziSozY|Dd&RvLt?6q9=HE|5R#E-|A^if3tg{$A637-|F?f-u?CN`?|N@>IdD!n%A?{ zBbxh2_aoh3vdRB&ZtQh1qlEomeF{>im zRBd_916AL3&>ndW?uW|u>PB>}g8=0gJn(DqT=k*f8hk<(2mk>f00jI9;CPK6 z543L)8)C$vt7&``mmuvin?--ykP#{o30C`Ob3J^d5 z2mpbMA@Kid&TGj??wHp>abyS>^u*sq8RBg(BN+XtzXmU5%nzJ9`a{ z8Jb**bZUtrdwcj=)p~%QeuJ4tlJlCOj>UAAT0T1bekfTTY2FVdI&rl;>z&>Ym8I>; ztyhj-F`6T~v{;+?!W`2F3JCZSSQT17+<%#mAAUbnoSxr$d`muC@e<{Gp4_^8f9v<| z)3M+1tv`1dL3#vmye2(n&;SBJ00_87V7~_E9?|}yxvs`KE72JD8=}HKspfX{o}`Sl zt2paphesf`WrW=Jw?qbYdIV^VabA;bwWap}4IlsnfB+C^CISZ}$|af^A$$V?w+P^P zjaxin4F~`MAOHk_KqUkY_T`(ieXUBm=r4}|@|yDapce=L0U*#E1m2F{y5;~6uPu%M z@|qT(K!gtjfIwRyFsH$zcqG!_F_BzX%Wra6eR=Eas*UBksPY ztltmyqqcs&&S5y})AUaU0%$A(I9}6Oyx|Q900AJ-NCa9puemwd;hjc;>BQId85-B^ z8H&XTxSkQ@HSVx%WlKM4>;G8mJu{E?*4qQ@w?6_n4<&Pq^H72W>huWUJd{#64~6IQ zrT^qWBN~BLJr9+Q=kgs<)A^z!hQfts>8OBR^22|AkEG8%q$k#n8sZ`|?$;46*M1Ac zGtx|%SVWfjv=>S|Gf(!08%_Bm3AfmKm@gc$$|D!9)RnYF&P|=xn_wgun%Ye~t!0JQ z7$2`OtF5(0fM|gL5C8)0fxsO7eO&!EXDD3Q+A#sU?n>I;vzi1j&QjS zTQJg0nOH=Y`Lq|xjDvXGV|a0tKay~Zt%v!-5xe43_*_@g_Dk2=O6yH95)4gUYb33x zPiu_x8nfD3aU6&l2mk>f(Ao&RXXse{eJtC1ELtgQ9Xs?MuSm@;-jl?!5rs9W?|7@1 zY>_YCvq#gGD8!!l5jp9XNbOqe8lI76%8X0wGoSWC**#*>@Zu=rGn!)S(S7V&B&249 zBr2n6`VG%56*tCszQk%I+(yLK>OXQ9QPUdZyvD3H7j|I-2mk>f00hz@@K8@WdB5~$ zdcuVz1_M`rouI$>f2e)E&@;)`^Kj4aGTegQ}0iDF87Lf`)QddzudE< z)?RK&{BMc=yGLyp zQES~$)EpfeLG4ksiiMmWJLfg8rNl96goox1%@LpXL>=k1iIVM*630kMAJ>nMJE~~M z&o`|&O_H!9I8Ys^W(+8`cTUQoxgQr;il`qKUfZ9puX%O<@Ov-+q#*D*x=^%-9b@^=hy|!Abw(Ew+s&HWhz7fFt z{W`B%qj}fmzUb>&ox4G|<@q&d=02ADc<$`nCv%IuB51Dj=?ItWD{>F&-t#SqPnYQ1 zJj&dBbCfzsE3M4kHS4T&HGYXa6N)%+Pg!Ko%0$O&#!Tl z*PPgeyoT3=`3?84kwbIHYoankKT2pd0|Aqt_`N63Yfj`ZB)@vaR(s?%2aTSQ_YZYn z>pkd)TC`uvZHw}nL#p((z7)zOnp#(C)k28Pa?j;kuSn`8lQe}K{@&`_pr!?I4vE*q zxO^0;??3vSQRjG6Qe!KU3ObcLtwM|=u~;2aprX`LI17LbGUVWC$F&3HeQ^Ce8H>94Q@L9r#~()u79*&QH?p*DDN$#a#rB0bh-vOHo@_*nWZJpNBzxQ9i=Qe|z3(piD*Zt2F zp7o@HQLimBruv?xx=Kf))KkUCf;yepK6B)y7&JaG^nsxd>fC8FAs2h&}@|wnD4v#}*)WaKW)(e3Tf00i71@UO*8#f`Pj zvhs)RUbF5HuQYZ#Uh`K^{?!y(m8_yaJpwphlO8i@00AHX1Y9G~=<919i5x&w!w+5c&U=Qzbs}Ikwv5~3%`Wmqk{bU;Hl{#7q&#w`DT-H~p zgG!0rwEQ9Z$u)1x&&cmqd=k;xS@QgvH>)?rKAp&AJnn5hHSTu<^8A{h_1_GOyd4A2mPpIzsH5Uvde}2u={Wc!Ed(Ta3=JRV@u6uiA z)zW-@&6(AzLk|c50UrXTpLHJ>4IlsnfPgCmHU+L&cV)M|?2L{0GH&$qYaS0hx6v)e zKZvmZ!w8;Rudvo>2t<68It_w`jQ3~b-k;;A*ZgU#hB#~)Cnw=st!3t_S%Fr1e$D&6 zHFQcFuB1;4eF9gu(@gZ?8whj) z0#D;SRK;no?|t6(eZWl1o&%HngNf_s;687{Lr@9QjFs!X%trE>XVaE<9aCdQ?jma3 z=j{ST*Z=}R00`8M0FKwxjv*`n0YU)BYp@Q001&7z0-JHXrXs-S44q|NNpp@xD@Cod zhR*Sd)ZF4dNt_i?Sd;qBwR*`G`QkkXCfdaHbHtC~#t%j88VRu`-pshfBTH~Rq-Xfd zlfBK4qK(gJiv2|Q@u)>YYKet(49`!;*{h8oHNNsZiPcEe7D2SOjY70U7Pz#=IIl6Q zEemlW1|R?gfB+Cs>b#-zh87evjdsA}Tlh!19i}n!W56|H}@&-k-qt&gGu$)uYbQ#mH2q zR#X@q z>}jnhd)BD4yqfZwi%0FjU7`K0rFji?wFTpAN19>0SU6Tcmv5Q=TTo)kbNMtzC0^Eu zErIX+*}k=K_krJ<@biLFS4BKIZp|#0W9gmZ(ptT3O*ni}ZfWd&!Ov;Ll=^w${R2uZ zkCiepzV1C~&a@j%y--+J{1thj@bkhVb#won{o}m(xViWVzPbPS5v8`8&@~|#+tstW zLfpApsC&Ye-IU5tq3?iO`!6b@ut+V^xF|Jd!tZzc;J~f@xA$MG`)}{R!;=cyURz`= zo@n>{tBypen~IUyJ)KIwVelny#f8Uz!O#Umi*dXr3=B9xpbP>yUQ-4fhg~1nK!3c8 zi$k+81q3<(0s8cG=C*WbX&YrVojHdXb>k7}*e{I6Lk*8W00;nqSOjn$Dhe8$hl)bQ z9S`TB++mp&OYLwT>N%W;s$x0eJd}Wj^H73B^XmBXP|Jpv;do8+CI+5c6agHsY0-&8 z*gyaXv=st#>NJ|g*1N35#nRCi55>RFTcoI7Hu^ZP*gT?7v#kDOk^boD^E9<5mPYL6tjulOjU zdOk3LSIY+`d}87!isLh@fmTL-(6pm0fY)dQM#a4Q>`T5t4)C?8;n(|9Z%Cj5Lq1y- z#4_D|>CkfP$jqe{trWGE4_)dNsky~_l2{&5Sd%TAezHZrc+a3nFLC`G@ng90Fp6Cx zA=bp38JBou366*K44-+jxA{@D@fl6ApXfdwwMa-Uv5=18`RO=&weh3ISDq)a8mZbM zh}O1Ih?d9#m)02PHD6Y6}BymzAAvH(GEyJ_N6lW=# zZ`+8L5N_NU)9}Ss=hd{vIIl6Qt@BX8h=BkQ00LP=VBOH#p-)HT9$AbPF#&<>Ai#M| zcH%)KKmZ5;fovnNRp46v`bB%q&<5l+^@A6d+Y|xhHElYv7#0u!0(C;5r!INTnRSX5 zW`RJbA%MK5(`Fpw1pY21%g1IT@9eGVTbkGL`fB+C^9s)NF-O@67P4iHKXCUB50C|lc z543;)5NJ;XUTndmMz%O6TydpKXcux}dMHJSgKGK)MwCoMC)K6UIh_v`IT%!@B{1&KJtcf=>F0s!N#C6*HAu?LZ$0vzcbszlH8 zDD&RSqtr>-%_q@35dc<<#c6YmYYeKCyHZCZk) zZuMmEurzL+`0LoXz02Oa4CohK z&QiM`GRqUP-+Q^a__E40@4Xxy^YXo@_g>!Ojny8BO>@j)4)eqNTPD8lz0cG11ly)3 zNX-f18bv~-47Z%Xpe(-J81Zzk%I;giju$ATNg)9q1B?)Z49vk*9B(C_)@hjIIE-w}iGdoP1}ek+w*F(19kikXu5 z!q9_0oRqTLHeJuKzo27C;)~>ho8b{f&!|US=P|yvjN6FVTKz}v zB5GP=e7wf2HWzkb0|)>CAOHl?A#k0#BcO1Z)xOQ5>q*jisGAZv_~)I&LhDPcOEk5v z)T)ILo0F9(vlW&7yh66u>r#HZ%j#ZX(aFiL7W2L28fhh~iz}^{wDR{=R7e*0hDbY~ zRyU|ytezFhwzkshA#%0uU7P@UUQF%I}f#xRoZsXSn%*J zSI4RaYMK69P#W)CHMdA#T;jDJF;9oQwC-V_Usn%*aCQ|#k}&C8S*dyYlhYd8O8pzc zzalGj)Qi-7b)j12g+9MHfcfgYBK5=3mB&Qi4Hu~8dVhwZ?|_A+Z<|HhI;|(AuJ-tg z)oHq3td@8!z4L8ri><4C+)KUIxjtU&HC(R9)#}Pv01oSm?Ml({wYvW*rw9h3K%mYD z@bQ{DJArv100e+Qn<4O}p4J%9H;~grPSnHsNOlvMH|HP9TuhCC-d@(<+i%-^2> zQvUw@jrq^#Z>33swV>F=MZ^K zJ+X)FS`m1)q354!jkdG&Ur9VSe@radSqN4h?Kg+MiK8u*VXB)1(61Y`bv2B1Jm1NcOO?E&>0i{hqVMJ2G#d4i-PAj_f#_`No!@s!-1x7S|GT}k2lp|;WeQ@u!DNi`C&Y3_!a?A;Aj{ryl%MV-U=m5%DUu5sOe&~+h% z*rrr56K35Z8#a<#m+iGBlhT{JMkliQYS)zR{_ejQ$Me^&|LyAOR^88ZJ=693uD%Jfgm$K4P0q+Y!g?CV{) zA4;hg3$1cL)Q$PS6{u|VYBSSuR4d*Obz{PB*6Z}uW=dU`zs{52nBS=D*T${S-%!-2 z_Raa5y*>4Exuw*5cab9ONR~IbA8MI?a^>=z;gifpeO=pa`Rl!Mo4(SG3i%M-X4K*P zq3+5D?}yTlpwu`ei;nIB^xqFPLu=C}_e0&QEsdJ6P~Qo4n&!&=Q1=Dw%l%OI`1m(@ zE&G0`TCWoHLTlmODFZJRqQn2r(06deCK?)Wfj}$*bxFcvy`cjL00AHX1d<}~2(p@_ zP(cm|ln_8(Q-T5n5C8%|AX5l5<9N+pzN2fIf&;;HGy?XK^YTC-uPKiYdVv5C00PZI z;QK?5;)qSNz=z+KMF4qC%T65v2LeE#B@p;aqWj##*9~8$%z3EluNzJWQMK0%lNY(h zSE=xI!|9?h(qgmT*9{wwplk$2>U#999@h<1^pw}&x?w`1b*>wxXwz)1c-?UF@$E1+ zxolEN|8>Kx_1AGb)xlHJh|0@_uN%Hl?dU~o-lIU*4JXB_@^!=4=r4}&b;H3Z<+|ao zPqlkKus5~r>xS*#PNd_n8zwX!!x5WKTof2{4G7?PO%32d6$k(UAW&BXepGW-Q@e$_ z4iLtHfO7_zChFM@Yg<=OBQ*rgP>RBLxCLpwS3SNqqKlQhr9@ zT842}d%&XWIfmA~zUGuN2<>k5ZHRm>Up+BRW_v|4u?9<3zP@HdqKKlU`twurr&>wK z3T2}Zd@kR%dFtPw|5oTZ+&aILSJ?eF-V7J=1+ONPL;1Mp@@Qhp26E7ruD8JE~+3FF!DnJ0UjA4Laa3AWi!kSlHD zKNvIX+1fTO`flr}@s;N>zP60Zh-Ac4yR_}z7OgSPYs_kM?*$ft01yBIK%f!=;pf-1 z(|a!;9r*Ww$Go%Q*?jNi*K}-O9r*shH+9{L@4fu;KsE2Z{LX-R@8vfJ9vO&w@8uT< zzB7RLURL__W~sk5udl&-FU=bAz4vlFy_Hg_fw9xa+V8#Ga^#jHmD+Noy!CQp{-;N? zg^hVv@4X}s&D(<4*UVShdhg}QMZ6iI@Ov+xYbtupn>X>y&#!6kyaw;{mf5Bn@AGCf z>hWAYyw4kXjs01xjXu9N^?-IQ@AJ-$$NRjqmDk{X-ht&EXmVcjbny%jbv|X$+&$R4KC?r8#=7_xbFf00b%_@N6-oAh};yG`F4|`h{1d<`(Zs;@OD8n$)M1>1SH@CMuF3E^|a){1~p$ z2vU9v)GOA+n;DnbX9?rk@R=ujn;%67V+pp|Pmn8Z<3AWP>)F~iE&6WjsPUEOF}}8p z%ZOyeQoFS6-WIJf&TGtSbMFNffdCKy0zjY=0w<3#5+_--Qq($m%t>C6np?aliIXD= zYf>NSOJQ2}#wYa?mpLLWehk-W1S!7->J@85{Zjwlm~n}HmN1?TpLw#k`B8K*mSCIx z1i8{S{{1nNCz7$XZCdo*)=}dt&!Y(a#cf1vt^Ol-5jCwb&TGtSb72=YfB+Bx0zja4 z1fCzdZRgspq_gla|0twWN+|u6I@(Sc0>nB10W7l)m}CqQ2sl9Cd%maZIWX8ZCc4L0 zJCsK)OwX*=2=sse5bz;@yv7Fy8bAODI7eWss(<&LhmuKy-}bVb7mHW6P>3&BG`C(H zdciAFbBp&R@nS?_P3lw1^fN7c0|-eFmpLLYehk-W1S!7->J@9^&5TRzvxM<%_{@{N z&5xpku>{-fC&-ny@gIzt^=xgM7JavM)cDHt7++h)WkfP!sa@K3Z;RF#=QU=vx%UE# zKmZ5;0U*#S2>hm)*|bW$h!Y3|5y0`9AR=f30U!VbvVp+whJM%ZECbiqWMl3TMfC_E zuc;n8Xaa#wLIBs-xSwrYU*jHASOfydYp@1@01&7z0=>AtrYyjGeNB5mZy4`Uu$O@Q z=MCdM3WV<(UGThNJa5?ktkp(0|9QiGc#ncwsphFg3hz;vbu=-R0|^rr(Ym-0(hcyw5whCR(+P^HA<)uKDMo zM&UdZ&O^Cd&<(W2=b>J;&N#hd(MnP4)uC6sA~m;oPZF<26xO6Z(wD-t?9DK#pSa8s zY4KyYMk7f1El{sm6K`f*VxJ|9XTxWn>}`G&9gHQ|WA#e0%?J)*EC_5IcARf=R~Zvqo8bHtwb zF{*Dl3)*eHL)5=_9gwIXZnTXx{e!T zJfCON?spv%*{lD^T|`Z5jPn|^+FaO$4IlsnfB+Ckhd{lquX%Iv4c$qi`E}PZT5M{> z^(U3I_taj@RW6rk@pV3x>AHU(FOpYM{WC2#&DAxNy{l_nUtiO!W9u5T>zFs_df1E8 z4u4asm`Ss{+tv@#yNvm}FLMp{r*Hpd^yso4#p0`7Q@Z=RcPNfgk?1=5M3_ zHhS!sH;x%KW{)wibny&r>e|#bbIeHo&!Z=dnLOtIMvDcP^{3Sh>Xul8D+4{Nt@gD1 zMe16wFq5w-!F}F@Mr&SQvti=dUb)8GTT>lF&eQy*F@5gXZm+M|FfmzV>qhR>-@)rf z){T(-H50GVdVid-e&T0~`qbVyaih1VUM?S)!`82v_^YFhACl#bzLk}}V|tl>Z_o0a z;j@Pg6R(?ityiv_c)eH12WvKGzf%8(@UMv6=l$uCRbD9bivj6+7U7gEzPVcL0<~Q4 z&rl2XexaJ7wP{rt*F|)wvdH z?|rOBUC2L9sEb)gM)~@h{IF%tru7f4Qo7eGQgf@g*An@NqV16#-9!3Pn3lcqN&TK5 zk5!T``eiwmF*<(AZ-M&AB5y@aUz>eUzwyjG>0vFK7e^P}#8xJfC=ug77&GhH+BO|! zt9D-87~}aAwZGIJg|Q$bmfG}WlG1Cen1+^CTPEW~P(T0(0D(3~;K4Q@ABG168ihdW z!)uKS41RzB5NHzw#^U;#1T$H$^H7r#ouA+Ut3MC5z4jvKjFbwWhuTK>PxT_n=6R@J z>7T;qy2f??LDz*4Vy@3axqsg9=B_m7q5fX{;s0wForhB0&vZT0_4}^A?w7i@?Y7TD z?bJPz|9RJ6yYk&z>XItpJXC@&hSVZgSQ;-Dj#UfPGX1xp#GR|?h&*i z?hBwG=b`TL@o(~4_IapVef^c=Yc~l#57lEGHSe})eXWLW^$d4=MQU#Go+NrA3Tsjy z=}Tc+_6AGpCoXeDTKpKU(Fjt03)Cyt#G4tH*k=jj+3=Ysdz&9c2V)7g*-wxwZR0-} zGwa#fHZA&Y>!|US=P|yvjLV2*#8SJo?cNrxF;2qFYIE-e7J&c|00KauSqStMGnJ(N z@jmaQNI@>E2-M}^QdS3xxPSlQl<}Gc9`)BS{dKIU+B94A*D`DZd5k z6>H+nj7#jZgz;?n%#*#%kD`OI1l#N<$d$J7AB>sxY;BtseYbVg_{#GbUt7jyL^5Kj zUD|eUi`E$DHDn?z(*m>9 z=^<`kJW@h96fBxs+YcAKA~m;oPZHZl6xO6ZrA$B5vNx!c1aX-o^5VyEjYg32TcBRC zCf>}r#6C+H&xX%D+1vamIv7i^&3=MhX&e8+m|4%(wrSCKTStwrJdg3UWn4xiBbM5w zZTGfljd5OMR-1b-um}Wz01yBI%|f8Rn5iW7kL!k$A_cjuB7oyHS)Ccg1q8B%0InN$ zKOgpW!;`H1V<(GNidvI~ck+tV+~Pe+Oo}M1NqwX*g=yKFF;PEpnIqET$8e2Ckn&rg zUa=HQxNf^F+TYgiSM7{#DvsB5#zZ%Hl*ntE zJOOYI1b_e#h(X{@$OB@K0UHR!BY?an9vk!k0U!VbfPhN`rXf>v2`6ktB7nRm5*9Fl z01yBI89-p5&GLYD8&3w72to)UfV?II2^c^C2mpbMAh3Iz{*Dl3)*eHL)5=_9gwIXZnTXx{e!TJfCON?spv%*{lD^T|`Z5jPn|^ z+FaO$4IlsnfB+Ckhrn;U?g%J6kvELjs{R-BOTETQCF<8*$7qqMmfuPm(*JqwWxX`i zC7N1SY7ud(?*EDx$t$TwA~q*0Q)VkF`+0?IueUr?JG|ZHV@-<~-=#XXi+gYGy-L^j zdU4t+n^MJ0n%&*DevrN~b<}Bl`fv4O?3BzrP*VI$-cly^0SQJYbL{w)Ai5-*Nmu_dMJG zTv30Eu7B14D{oJ|Tqe(9dt3T{cC@ifvb@o^vQqQZGW}eU{sOgJ@6S;59k5W%(Au;u z(uLO3y&CmV6Beq)>NMS2td{8gLiL#uU0K`OBE8{Yi>aRTFhAE~eQr;yQ5W)`d+K7= zkd-S&B?ow`Tz zUmW<(K)!oRT~Y;{hblX%Rd!xs>9x*zs2lTtD^S_!)z%PV$W}ZLbz{UC@TlQkm#6bk z*X6JCU!e%_4yl$`qbWXiU{w(bQ9Fg=hRNWzO@}(|geNzQs63EaZYR+};q)4sfHT`twurr&<})3dJa} za`5_^ZS&N>LI17LbGUVWC$F&VHeQ^Ce8H>9&oMLgmVt8D4ga!*zl9rfyyn1N43@1%z0u2TBlsgtvs0DXvbOL|8`dDz%sx2CJv>lKM(a6 z?L~5ssJ!N7-QP8pd}Z@I)C)SkU+(;yo&TuoKj}aJ=K4I;iy;qwf9YFK@0{j5)K*j3 zLvAXahk9b?U+D7xc7A^6-|hV8o$d2bf7^K^|K!fOsZZ_vtn-K|0-T59d2qYG!ZO!7 z=b`5Aa)eht=d>@}Z(W zwf}LKfAsd$%jH+aeD;I8j624}N3y(0Uc>i889sZMyUVG&oZ^*JcR9@~3Lmj`b-QRh1E1rjXTSTT* zF0bKPJt#t}{Ctbe%ExQk<2+P(G#cNF^H7b)yjG8`nb)KpHO@nY5wp)jQSYwBBQ^u$ zf2xmX`16{ucGft-ye7?gsMFs{=b`Q#WsiyS8k~o+5lKeNDoQ48r1(6PY1`BxsWSmv zTWB{{#9DjQf9}oNIR3A9RNu>)h-y>s*uKW0v#Iw_y}f+R|r)A#>+|JM7*-dv5| zyBZffJOKe900e+Q3<9`rI0~4o9IrXlNq!kMLgC4|UTJ5e#_^hL%tM+eaJ(iBTIFS1 z_qyR3-mw~7H*Dq?$7>80Nhw}MNu~XA<&M`J?&SA0>Gd`KxX=Out%(4R*RsL<$6eK>H$aW=4j#+tiE%f-rzUl?WiO zsS>z`s|`8*Pq5+P!(j&_u;Z8x9(+whf9LQ!am=PB1fkrC2q3TN#97Cffk3AsFx*oA z9~?b=H1e8GU8)#&)d(Q3sTw*c0s$ZZ1nP{yyK2sBYPV45A;LTmaEt)*8pnXb91s8k zK)?|KM-RWd=DfyHC@=#AS_T2+H7zq$2owkaff^Bb|JWK0)KNVv*A3Tkh%gNV8iD}w znufsa$jL}cT^rzN&@j{T2u#Lx!&T1V@x#aCcukeqL9KHUKwi_ibB~b&flfqVkBt6z zaH5sLoM6#PQR~Fv6TBidw|GwyCq@+3q`s4^Ub02LcyCsKaG4|a#E;<`jUeT>K)q&6 z+-Jrm_F01CVGX-SEE--M6^td=HjxB-*sF=vNU|^K7d_K29M^T+7~}aon|8nJn8;rJ zNA4nOT4S8onAPUOE^Gh+AOHk_Ksp3Y_T@6^bRi7{fPg^&$7>80pnw1naEZX4#Umrz zb-T3MuD0gXG_bKMT-e|X)2ZIz?Zw5Hb?f`npZ4*%?-&s&)?b}|lUKO;{PeFCb?&ot zA1%^fnEsTeuCsc+QKEn1QQMWQAEi#x^yjAkm&gBw-rwL+-R}GU6gpXBza!aE*-+|~GFj{+ z)9;!7qv`MJepmNF#q#cME))-y^Sa+zEXQ>p*ZoUv`L^kgP5<}lcTAs{qw-UqulShS zvF8pwKb+U>;b3@&PB~^uB{PR>36eU@lReVXIBd$cA??GayfF2JsX?3Nyl@}y4^#)L zGxoH#51q1R8nutoe%DM}Gwr*FC^buc=a5;R&_PN!)&A;mwS)S=!5&K;!IgTm=2hDE z+&5Zcc9FeLvEED9hk9eRM`F_~80HiWgsMZQd}gYj8EpG|?bfdYns#3@+VAVg&@2Y6 z+;Z@32j6+{%?ICp@Er%=dT^BdG2Xg(aVo7Ar4FC+xv8I4VjKG}FFFytgE@t9O(mc)Vs$^>$BUSoglclbE2U>;EF@c+Ii8$KCOo;-SM* zJYnLnB5Q7`%N(zn;Kjxr)gG@oWopT=I?wgl|xyQrqwAgoa+o4yg&d50D%l5@J}`6F#j|hEyFRmuta+`@HPD&)C=IFR(c=nj$EJgEe8_^QNjT>Vc zzS!!#n${TSHDrr zoZCEH#~+2S)X{bjH?%t!0W7o5oqLQN2&6&ad!aiP(`Z9B3V}x}V0!lO*$vKWqM~e1 z-uZo58`q+~6@4$8TjQG;-lpEM4Mb;C@BF??`p)dTuy1AG*?kN9=JhS9(L3^*CN3Vh z1_D3;2$Vr!-tc_nHD&NY7Z8X-0C`OmD&PSDAOHjm0{c~dteX+8k~%+>!Gt+gnuZz> z=qLn`*L2i$W3WH~2(%Ca3q!e13k8o*fk2ZGKwi@%;Ncbs00AIS5rOS0KEb<^iABhb zDnW$)HbVe;O`A<9h64nEfFlGB_PzhXk7;QUttaF z#lo>_fm){j7L>Si)!ZU|af#P@#5^7H%z=8xecHtG9^Tr3D-_B{VD}z>^rGC-*n3gv zTUn`jYMGW;9xG+rYc9P~|Az3d$VwgcBDJZorEt18ADfDw;7x_!?5@;>xy7N;d}Qq6 z5O=N~&XU~oTKANR^c}Fda8Xfjk+x3jX?1Sb{HomM!ZU@(b^kMkXFaJP3TumuD}7!s z_F7MA4Q!0S<++z)(O80`Em$T%ASD7;s+3X_;y?fh00AK23IQCii9!;`YobtT91q89 z8i%zjPdHxV3Q46Z9j`eM$7|ey9k7JsH32|ctQmj2=0Y5;X|cIPxLH5|$7`}M3y1*- z0D(?NU`{3gpzCXXQ1j2icWbr~1jD|*CfJ8|{Sf#M=QCNqSdC>0dfn)_>uZc$`%@p! zAFBs>Zp>9uas2kj#mxv0%GA-Cq+|L-{;ZhwkkmqZ%6%&3(?H*GsExxpz|@9A(?2~j zz_6MZ;fRfe21p=~1c8=J#*z#SGC%+b0D+cA;EfY%9Rlw2t`$M(w;BS-Yg%o_5HAn_ z0`*7WT@Ag*o5q9dhNET`*9}LZ(l{Qj8*Uudt~}woVOL02zHaz!nK~1N`@Ci5ai6y! z(Y%_k8_rH%v(JqEt2$RGIfzotcz(^kWn#wjYpPw{vu0G%jD9jrP%B!Bo?r7OYu;Qw zzvhzRxa(^=>G?I6D?Gm@xE9m2pN@S3M;a@Ql6~aJB+suoZ|qt5R(*cWuf6#QKfmUa zzGulOwN^j9CiqmFHF_HO`87`zqMl!~(^l7Z?LI5{^K0I{gFUZ!evOR=(chSHWsudx z_6l6l(?s;)+64kQ59I%VM~Ztn3KJa1U$!DU_l<29#R zD+$MIT+E$)9xD2H%`L_MZt=X~N_gMWUr8cM{guu`-H^K}H&352*2vp8% zvWO9m*JN>45L0szxU=-zzw=f%;3Lx9$>?zJD{)q+!&d-?pB@2xX{W~w8bAOD0D(pz za2c|iM!*aoZH55ynl_tI35pw<-(LA^NBep8Z9T3d*~_|))3vupB5eOKX7sLo8+*_95?#-68eeIsf5`8p zOB#)O$(lGGYd}1E<^Mq!-ZKW#C_HM#!gClke(FJ96NLDyi3 z%N?5O{N$7tTuF~wF}K$JP*H0e_d`XYl9ab1sbE9pDqlAo{bZV8kkL}~{F+m(B*f+Y zQ2Wim^J|oPv4H2-1lMAkcBS`uAEtj3&mWt{Vm)Om-48{+Tl;>f(7Wm*`4o) zBCfqv^IX1peXDc3=9AwKb%Af*@%$Paf1($TeJS?oPgmdyn;=|h1Az(%SgBG4Npu4N zAOHk96@kUR+^lgZyo~olH4bceY7+#I*R;t*Vi-UG2slUJgoeK*Dma9zaJ(i63EDuQ z0s_cuDgcCTAOHk_fNIw9nzhJlu=;>NN(7MCqy!A&KmZ5;fjS^Crw%sLn>H@A)B zHG==U#xKq-_8m`AYOd~Fl6zhstvzKT9kbnBxTq+xNFNQFr+aa{M(}e{#~-h`X84*? zX5+#WYyg2yKmf;UI$@SEMj!wLvW`Ibc+Df*n3!?A#@r7zTT$81D}>N`U33m!=7`qr zR^J9S&1xBhn@!<(jho{&PwLsFyavZ>Xhq|AO>LiR9IvSjzgo0wxxVJ~G477noaMc{ z!Hi^Wk*sumO;FER=nSgd@tV)#cui+40*ulj0ytjd5KNc?0zjb65m-64aRa2Uuuo=_RtFi8i~LW+8OeiMj{ShK%kuw zm=w7FIO$lc)k|u>b>(gvz6r-`T6g*od6N)8UehGt;T8x00U%HTft!YJL0(e4T2mpbU2)sK}&zepde1pXA z9KPK;GIOUzD@Co_hwt=?)ZF4dN!%V$Sd+BxF7}cg`ZIeTo@v`rL=C-Mzt}Z;L1{BC zk!1-ZXOF{<)aFOg#%DBTJVf_1GSpXDGR}f4e)A)6HIio7p*6;NjahBYhyy->01yBI zK%kij+^c^LumOSAM_|k-$!l7FEEoY000PZM;K*)w5lrrNXR8$~eSY|UE3^2#MJq+E z`-ea86{)$!dy=?6qOc}gHvMFaeDR*KF>Q%Ls01yBIX%Kj5_yPTWEZajCtrWE$7=FkrQge&MU+s-Q@x|I+S^}*^rnmfkoF&9bg>iOTU)OVCR zNz;3(w|ksn-TMYlVuG5kc2L7=A9bwm*;UQd`cZnwT45YJwLVcTBYC2vG;D9aGxaQ%AHzZkOE7xgB#8y|P=~V@w%h1I4H7v2$Lt zN0nZCbBC(ERd4P{HAnU2dOR#oEG?jYLfDc7OWAvJ-mA6WH-5j6MmR9m4D*R&TRl)6 z=zT`_&PnOX?dz#gr2DFU)ls@NOMhZ!dEA54A-djQ9j-rBZ}T`x(G!_zd$ZtVid#IE=hKG&7B z{nE9z(s~n&1VdBT8c8ea(;DNv#;mqh90y_s0zd!=v^oOc(%;9`Z{HdY7q<58fL-## ze}0do&po6k*1kQ=MI!U-2$yTW1>zZLrc5j%%Y51kC7zild&7;U{E>uPY(2~uj#%Z9 z3s>q&+9KzsPU}rD5)4i4CZ5)^LTilk8nfD3YXpcE2mk>f00hb*@Ll~qj|~WP5(1pp zbkc}1Rv-WbfI#OU@IB-;oio`OsfPga8Y~1L00e+Q^AVU+QwZU!hQ}7|eZzNklTts> zdCnTmyDs-dU(f2?4Z3|yQA@5H{$y^ES0uP~J{{q5eMRm;-Fvn7c{uFDh!@m(qgk5j4}@9eV7X*HnAmupRxOxkEiHPcB{kcVr0LLrNT$we^|) z;P|78cEWwkiPNNB?&CdOH#}oNDY z9?-s`wy5id?KoK{JgP89BoE8I!z)TrO{4yaH!kBn*fu@xsrvXjEO&@56zw6o*9xx{ z$7e7JBj|o)u$UHsBTAodzvj_C{^7nBNgBNmmcBjw7RtBUd6#I$p<57!*)DjEn7@nVwvsW8GYJBB+604D_ErMum8--|zEO2R! z@$nk7+OiNAVgLd_00?v%0uOfDfH7VmP$vX%eNCN!g;^i~1d0fpQq|d|&VuiMh955; zDWP%yk41Cq@!|jRiqzcVJxM$sQCO4uepc*NioB4l>=|X#mMFxY_z^kj=eB<@b`94^ zGiAml_L)z6q3j;9Xn1jy@fl6A_2@q4iiFgRkVIuPO~2u}rQ*gI&zD$@gxiSNTKz}v zB5GP=oY$Du=E5#)00AHX1b{#~1m;-cgBDHC1y$-4HPI`x)Effjblv;0h^GyY)qHve z;;m!erK^9*L_@fqn^M?CJnd^p6n842) zCcn*n-mo1fk0d;*FeiGpq22n~C;>KJh%jQ9ge7dBdbv3x4f!-Eh=m z`1$b9bxu5m?2WNAa1YP(V|_o;h4)m);gEdBkk^D!1_uZL z0U(eC1im`st21heqc-hYJVO@895dUPLiMM7%ENun~Err+?~QgLI9=S!?c!fixst^Ol-5jCwb&TGtSb72=YfB+Bx z0zja41hx!s(cjY8fB+Ckg8+`#q(KX^KmZ5;fyN<#>xS!x^~3r4*{;s=&H0Bi7gKd3 zNvCyp{ww(h@^|KM&wnX@fBwe&=kvGLhy(JPbTa^HAOHk_K%)?NZumJIuW1z6@Y6O3 zAg^hgsl-5l01#+11b&6ArfxHOeiQCAD?gY;eJlE2?kz9VnBGmjV;hLhrr!B|m-L<4 zcVXYkzO(xl_RZ^CQlod|HH}#(@B##Y01!xvz@sxBt?7QKwEiFu1lj=skC z00OO!z?rQ+0K^XjGJ*i|nv6^Y!e~nbPStOGylG5Z4lTu?Zqx`|S42VT6zUx;`s?9e z*L=L@*ZN!*{b6GSfQ8$YkVQO^*SMWySOWq;00=}Qa9Yaun!nUW*~o7r#?nsXi=Odz z@bmj5dB#l@8XI^e)lVx>BnaLTpY}rp#7U_VWta zUaw2}?Jlc(g+*tH%w}BoRfH&6+#4e8d|KV0Zn1h+DBIdftB1(dx_5=z;O&*VNL}j{ z7P`W#)~GdJO?k~dY7g!T?H7hP?Zsd$cube8W7Pt+O#dw?4RWrUTcj^8@mi0Vr$b&^ z_pr~eyNAX(pl@ZR=IKvPYiuj^ZwUX2tkh92QuEb?YLyrI{Ne!StMiJ~Zrx0Lc>Ij+ z9d#+PeHDE-T%eZg{TYhB0~VIPZ5C|z&bO^CwyyGVFZEjI z`gon)Sgo$q08Gly2t1AK_tv?afk0oq5Tm^250>9FeoS`JjJ#(1G6?N%^=(kotX7)w z)mPU3MX#@?G}cEdVildS1bswH_2;ML-(-0xpVw@gH+jvp{MPxMyuzNg@vIc`1+S*O zW+)$**K95Xqie5r=j1gr2kJd@Pq)-sxiq&Zw=@@riR3lQw8ZjQsW|P%^Et11VC(~9 zIj`AN*itxQ2a01;aaJ}J_S7rj!rbEAWw}dyBU-6>i#6wp+(*a%%Xp4`jr#o9CAsId z?h^(24%l3{sHh`(&Fb8W+^XDrcX+1oxbA2pDv(((YX5TU~BdIF{ztLjyCYbC9G_K-tFos0nTnogd5j2#F7fh;5N+VJa6@|xFDSec)n zpLgRm%g8DNK9r@evUYR(Gv{$~7ap;*CQF`pOr;u{lVgS;jRKk$G65C8(rM&SE- zSI2956J|$`>wDGc7cEU5lm?|oB7T{ESiILRjUC7~3W3KWW~@=ZgMJ=O91HTAAa-as z7J-xSt=3q;tMvAR-1lfg( z8b2Or0ReXie0A(s$KE^UrZMg;vZb@fyS7+gdk>FQ>MLXK^KiJ%IU4niz1h~M;&@H7 zrvUz24gusfEjMKd7zhA?jzQo}$ZI-gt}#$o2q3R40w0zd!= zxI|zGd5udrVXGq$Kwi@k(~Lm^0U*$l2#g@FX~}s*(9J{uc}+9Xhi@PN1b{&O5%>pW zNA(A}Y7ebAJK2sIc}>-e5sE+n2mk?R2!!wR-V51?Gjw67lMp~&(@C?9u{IKc#roRd z>-Ad$+`mVmk)v?o>qd=&ygxx|7j|I-2mpcRAh36)b8h4{%~=)j3Iu=v5C8&=M<9#O zTWLHBwR(I@DX+;Qp2%xzonPn!f%FJmi2JrM4`jXxy znp#(C)k28P$;y=3ipqXoA=~S9DZkxib+54KERora>%NK*C5wAQq@7Qz8`LdU&kAK* zTWR$Wxmx$GP#e6xQWvRfy~09Qc-0!U#;Yl>xkv56U7`KL5U0Huj0KPBa&@d)pqA;s z1*JjGRdb8<#U)P2e4x=^k1 zLZ4q8zDy+JwodCwsjEHyVs)CX z7po;+OYeN!+G6V}ANNwPb*_)s*^SleN)15xy5ap>@c;PEo=J>88wlWdO*ZBMQM4xl z%k^;?TsMsChLf!Ba9)!{3o<|e2m}#8UK2zFZ6M$ZffYKdxmVu{)al#jGzRyLxerKG zu@G>5O%GlY|H}h5+)Kj7w1bIyf3lKmc83M>_lHmj? zAOHk_K;scO6nRbKL5If{M*w+Ei%%fJ2LeE#O%XV}jdGeJBgWEB<7?9;7#P;!BT}S; z=J3c8S9-Y?na0=1YZ{L^JOTkA00fdD@Xm;QAeknlfIz1rfV`$tXCC7Q0ze@92po;P zCi|0w2s4HN@|uiI2*LpZKmZ7o5O^2zni3WufIuv|q|?>lkfrYL&jsTeX|ssu%)g7sbRrH&> zgHc3F_2;ML-)&{?<=^MMZQi`kds=?${7znBPuqBL7V-tJro3h-zeg~LVtaETrlU>R zo%25LnFIBnvX^$Pw+EN@FU>8=EzQMQl=pcr(-O;LrQ)=s_-n^+9vj7X!wbI8dsAUc z;WyrVY$|?&Hx>5OE8xQ1;@oAqPx_vcw^H*K>oHzojg#Kzy(IU%*8TOa^c}Fda8a>W z-sinKx6?kWa+?d!6du?8&lH~Zq=KW7_jzCMTN?-LOL9+X4Q!0S<+&^C2*q*M??xTn zz%&rZ3<5Y_lbNYNAV2^J00HL+ycc>{wv zcWqN+;`|`;n#KSPFPT9Ac}-@f0)YSlAOHk>2z+SdL&!>eh@b%kDkFfrrZPs500KY& z2s8tMe;hdtc}+8bhtHNq0C`PIPalE@0zjaR5%}=PhmqH`@%&RVFL&N0U!VbTp%!Ce@oZ4)o!6S|5??3xZ<0t z8y)%0`G+zWQzJ0AJO7pZ1Nl4ix97i>lGHd!mHM(HC|15%{^)l z?h5S}hB)oTU@Uk{m#bsd0<}#4Ehr6gu9{n-JURw9C&#$|O#yOyGWqk}^ ze{x!5Td99T_*Z15j(U-ruP#)pywK+t2QXiqSEN3Z;7R`U-Ee_guJ>ms`VLrF`nFl5 ztS~X_Se>Tp#cGMy(mUU_w%EGL$Gy~Ro$KRuc4M`=G8TYGcZlsu*l~W%M|=`G zf*26U2m&}>laYx)7(f6B)CGa5qv~STxzU9+BMG-mB;h{dh+U?FGL^K0^0l?odSmo> z&z{p-C?Bs|Yvp~_-b-tY^BS|-YPSjtKmZ5;0U(eTfhB?bBc1+|k#J!P7Y6K-AO7=u zBz^87J+XG-2p5UQuOnQp{T7I4q`A+;BC;%DJd0nu-{!^9{z$?t6G^y_IAWKnpiCw0 zpnPrZwB8s!-m~Yl7Rtx#)>?UAwfE8*&YU2#hgXCrMbAs`N8XJHWjuM zPWR?xQ}GkLsqmZKmAWvuI5e97n7uf}ovVkiB=@}5J!K+&2W&1}RMeB}YgXq52Uq1b z7oI6RuKS-UJnKmXM=sabT2e$LrQwd0(~n(i-Eu z#;ms5t-=Bj00KY&2&6?|Wg!1Zr@wL}T-d^80lVaf|NI_FpLzZL?lZB7EK3;A;@9rCd2zHql5opJ67D08*kvjxQ%O50Ut2q^H%5>5>^ZH4^6|R0 zR^C_by|l*uKYQN-Cr44|Uo*R8cLO17n8?b)5>42I0Q(?#$SVO4BM$-Lggam4BAn+5 ziaf$2VM7QZA(2OTL_rJ+gzyy66VKz+J3SQ@@$`S3o(gM(2qNI?5IG;`zkdCj-&A!^ zbx-$9&rHwEcj~iURlj$At9JIc-PPTk*O=8-yH!{K0zd!=0D+_kTouSalIdSHQeN1? zH37TihkyJYNuN2SC)TbR;Udxab%e^b-vZH$H1kX>BFhrSv-q|7HZ82}kEFb3A}Qw) zMeK4bC{sy0C|_GYsW(QCkL)?Ah3I(GwHEEGb}p?k&TGtStKBLr00AHX1b{$N1g;I_ zAIbEu9Vstt;rf7G^20xVkEG8W(i3afk8qJ_{5nGA+HZkqMw)ph7LjEM<5~RLe47^5 z_D53QGm(_@h$42m6_lx@9h9%FpVS+p$4B;@)IxN;=~|2SRXdl~80R%+wbgDF7JvW{ z00KZDD+p`~hfB*tO00;nqcnEwv)h9ni`TX$6jssDA z@PGgiC`SP2YsxVJ1qc8EAP|PYb32A{(x>A(RQj00V*4Y2yr%u<7$XD%Kp;&7ZmrAt znzPdk5w?Ip2P1&Irh_LRLk9v4LEyH!oaoHhgv1b{%3 z5V*a8S=#22&A3auN%IW1t&0Hin%12=L=FUiK>Hx@v6?cNkByWU#^%<5UGl>}evhQj z9MThOw~lZToc%gN<=St7XhxcOCKi!p3FBG(+I*W9*7iqI-ZPPu^N1pLxfPVDq#cy6 zt)J8zqsK?~oYX>eyy;qt_EkHV))?nCX0_FB6&8R15C8%|ASnXaUy~Fu$O8d40ytme z#syR$00h!PU`qq9+@uwAHtgI!a(m!xOE%&{6hI)$2q3S?^6VfsAOHk_KrIN|nK&=H zBe6y;@j({|q>I4O+8pwlbTNfBAkeu8?4GM`?A7X3=dIJU?na){X;a?u<3(Q6@k;;z z00AJ7Q3P%uxffYUM&|}$WfuYDHQAjTLRg%gT(0-Vq9B+ zuhiyPQMskg@4K;YrR8CrvQc=q#UUqW_7Q)x{#mEza6{k4USapwd9vs9o#WM%*R1Iq zWmeg7Yn#8D)CY(C0vVCIww^6) zD*hFDw(xjiLTwqiXJBVOlh3KMEV-Bsl!_b?i#pR^Y0qC+mi~~zOG1EIcRg<@BOX5y%?Fz>D2Zs z_Ici0arGJh1Et)kKK5Z12xJWboUh5+j36E$00e*lBk*aw&l^ht2qZ=Tc}-%-pa2Ab zKu04`pX*RANI!$T#sv##Kp+wU#c=4WJ zQ*FG}>)B6ksoqN3nj;o+ZrkoB(*$MRQUm#+{ApGa;(vb4`hbxcdHeY_JLPxt3Jdjn zaTf9guO^fG=EEMpv8|3zRS1OKl8_l(wEGDzP6+Y0vcYiK=PliMr5A-ApYWZ^N*f3onDClwrp zJiq2@pVu{B?+LAe4TjoB-ez2mk>f00bNe zd`0IpU#>Z?sojDjG?0Kmh7mwsli|rhXg~l6bT|TEt2wVpYT@%K|5330-`d;Z(~03X z1c8*7a6@8-6CeNt8jZkbrhnacHL215+tc487N%#n=MXU}Akc6Gkk>REaySG69frVz z4SU{8YXbWfFS|ir)0(q~sI!Lv@|x_;2_gal?S%mHn&|obY((B?U&V>G62`6FLYU=v z^k(~y7bT?H2?69a?KGPh3lIPTK%h1RzFzZ=p4$9F8wk{j0P>nz5rjSv00KZDy9j&} zc}jLC2a(kU0pvAxffYu901yBIDIoBznzNGHEz~xQX8W%#dT6&I0?2Dxan=ws5C8(5 zfxx$s*L222W0WZ(fV?I}FkuP^0D*=eFmvaIxM>R~->o?_Y6}=Jhz>#kc})jRHiilW zfIwyuaJ?VO1l!2>LmfBU_>J2-x?d@Ims9ZlP)BIqf9mY&zq}0V4Z0WqBQ`6)AL=h7 z>>g+F@P4TH=qrWyLnT2g9oZ>69XsWpBkqx`Hd^1iQQ_(54Dm93H<{qV>1r1kv~ zD#SHXMd8Rwq*=fG$QH#*m?^Qs(v8A0EE+exRim=8b&rfuck#@sV6K1V1ufHW$Pe@? zqN6FS$+ASHKAo?THuG@=0zd!=0D(p$&>7F=`%x+PX*9m@*EtB_I#lP(HAY%10{>FO zxxrd}x3d1?X>Xj?%JDZQ_9sSu9Qd1W_w9DFcxEShC({!nvwMGB7D;7~Pw3d`hd-vr zt=YX#j8Gx2ktzyDRwB*%J09oN6=&gzkyrQ5?yW2r&tGj) zCXUMM&c-&}t6Pfalf3cRe=_nD4+Wl^pbq_p{8+CdI-0^hS(d2Or@Thm%*PQ300AHX z1R9M%cJ|lI%5N`aC~;A!w7=$!dWXvi-YysHuW@6#&P{GI75i%%KLKBuUfUiK?5|00 z&al5GJuH)2TCX`i_AH0N^9<~`9d3= zJLCN|JRia1VHN++4{8Ma-<%PoRO;{Ddr-|@{XWha@b|OO`(xtVt(K_29%B}MHuBQQ zuX}3ol9ujd&$N_RKvZOtJ-;7$apV^x&yT!3@~e@jM}9N%^BU&{*P){D1`i0d0s@cV z*En<2^v%R`@?hr1fPjENYa)>Nm#;O4iKu}95NH|#e=eRi@(1w6Hag?tA6Zqs(f_mm zM;-Oq&^^r^r6M)=ibqBC@}g~!9nH&Ie6mHp_{g>BdVW0DC5q?Ov!m&v*hGd zcZH5^P0yB|jk>rU*2;=&qsS!r5-Uw^kH?Yx3d>GAHd}Ll%`*f47qXMe>U(l??_xO zdmP8!wh#RG@y0L7^5=4|TBcU(-6(5whRz;OAZ;AEMigI=H{)0<~zL z4PGD@6vNT=A%s)B=$2}+i`80vJX6tkzzQ`_Ytv^!7g|sEYt;K@u23u0>AJU4U80XG z)Q$ET2Ti$7|Ilai5nS`}X%F-BEz+mPtxjE!bnui_3sGQf_ z81nax@|wr`$mCx7hkk>2#}`rP!+Fgvy2XDrk5zBi?X^Akl-XO|v#Z)q9jNZpoW0ai z{U>UHE>U^Sbv@UWSs|b1(^`4WEfq#%#${T_YX}Ry15Ye6icY*~)7q&g|qhUz(1*ra5`d@iXmpYVw*ZeQWuHUeC^Jrp@*1 zMfK?a>EK6xw}N!j|I&2R&R)yQYv>A-`S}0U)IH6u;X0J-It5*`AcyAK1@$Egp|V$f z^gg1)z2K3#tSRy$Q`9Vti=~QG&#OBcj>$-ewZuN(&q50cxYi_D- z!!04yurY?y{j*4NVk^zMK33C=(6go2Sn&&|wAxbl0fRsQ2mk>fP!$4GMyKGrxhmu; zD_zvUJANuhLlP6c>v}u$ey9t2FYi6O_tM_=z329>=v~%(NsV*k`$sAs_>ckuKmZ5; zfd(MZJKBr9rcO8`uL%dX(f4^HuL++EaDV_100OOwK$f1%R~?43$Je#LhAnB@ufC=36|x_cF=s;<f+MqvC}@!1;h3B+FH-$ zJNbCL_mWq{m#0_vT)w^XjeGAU{r0r;ho8%byv8-h$ZK4vG>(S6rg2!O<*9Lb%~z%? z^_A&d(uzK=9pp9TNFlEgO#ZzE@*4W>Y3C2;HB(1-3S4uVYW0J>_;`eA+SbL|)KQ|6 z2DP{+Jg!|@#34HKq~+IUDqCiGrmzm%=A(Evd_yU38C$lEVB2`1mJ1Q_#&x)UkQ3H- z`7p939z!#&Xs(g7TYj`{j=wDkGL?Ee6=#|`+#{~tFJGH}tJU_{N0@dH2fM$Mj++Z> zGfyb=j}W!PEQ1aNfB+Bx0?k6;BQ-xkU}t>0H*50Xw@C=J`3c@8p$fM^00=Z2fq|Wx z9YHexop2p086qT&>rlxtOH%{aq0&UNF}50a9jY2IVjtw|K00;nqW+CwK^k#X^mfu2#&evoM8AQ{r2;h88yUr}e1q6UV z>mV>N`bsPR7_iz(QSX(b174Audwe8`S2_x75^pz)OSZ@tAGsE7>M>?Q5kH0+j;XP0 ztcW!8%(%opOL9CUYv@dqqfK|U#ZOqxexkS{A+^LpI)>(NhuL${Z5uAWp}EEvO_NxS zl(CjxEB*-5^O@WdtufAP%xX(+1sXsA2mk>fP%8qBe($9#-pcR2bZHT-Ro>^lyZ)<( z_j%)e-eK#w9q6sOZ#Y};y_9uuku*}N@jmY)FyejQmC(Zbyvq@KxSXUa=QXYVKJQk@ zYw$jAUYhFzEA$$xKPP{gy4fpCHdDU zdfxlIRin?>Ag{4k!4>*F@oRdv^w9g_@7F*6&t&2a8{OT03;y11Wgcuk@)|}1d5yg) zxV=y{-IJ0xU26@c|ZJgJ9%aNfRXnr|D zTG`KQ>bt+jwf}M4-rX_lfula9coJf)( zK^FN(Y+vtTSqV|`!qVyBQGTX|Deg$cx35VNdu+qMDo9xyX))EJ$=2|z-Qj*v<9A8n>YHqo}S)c_H^~`*!w>{ zf9m;dPpv56d`%j^tFQqCfB+Dv2Lkg`$!n5E)*P=%ql7#Va3g@c#*GW8KmZ5;fo3DH z@94g%D0*#&j^t~akNq0TK8V~>iKp;H?MpDUZlE#DcHAxYJe3lSE zUX!KSKrBE22(&%|hwhx-7#1`ouNiNO*Yr?>rOrkGc}-`}KSmD(fI#{PJT^VK&E50! z@_wzIt^Tmp_DiMPJ3*V9Ri&?+N}*h?TboL~S{h<=4`s?CMdcu`knNjvQEEv<)blOg zW;Ms^)e>8}y6e(4my)%Sidb!q<;g8IkRQsQW+fr(l#RmrfaMu^;&0YJ>+~G%l;6!O zEY$DCS;!Z>noRDS4@=IsIp0?oaMr@ztE||cE1am7tJV5vd5OAIEiJa!lxVHjSf)c> zFkJ7rPamwehcxYpo^sTJaGPPPutPPb)GoIRPt=E4;_^-%%9rc8oENm~F z;myZn@i%y~@PfVv_0rtRveEq4^p$1Qr8=BTa?fbpC4=-Gu&r=eQEx(9r}cDAZm;}? z+_u7#g~v4i$-+~fRB#m66$w}Sysq(jPiPH%7=bHu&xfM%+ORL@MBpX0l2krXFc1a; zbwq=-R2O9&vZ$s-#zmFLts}ORR*y%z@Mr-@&5?TU?@&7Hf(=ONa*QMj?Q_rcp@4 z4-fzXKp-3e?5}ZQgZ(uwR2oOa{+h;Not7u;uSp9@rLeyyJuH)2s%3x8_prYvDcq^c zhwraBeDv^|&)1NJBv#005_y3mO2_a_OZ1vm$B85v5@eBo#P&iD%Swof7nW`o9=2bJ z$fnh=efa1?UHBLeu}ZPvd`%^Uzy|_A00=Y(f!B||zUI89Ig!IF5NI9($ZML1Jv;*e zAOHlS5I7Q9O%yye@h)oM8<64!I?=nX_t%+tYt>{=Bi|1-*>gef<-KS3UfR39_uSqU zy~}zpsc~+Q*Th?KkOBfg00=Z1fyJYXYtC%QLJ}+FGl_gMOzLMjSsd{&Nrr?$y1G#& z^OkhH*_B^BdXz4Fq*_Wa;<%_T9z|Xg#14HR00e+QHV`;w^q89S8nTeY3i(VTpA4z` zSxy#5JWP@yVUVtFl*zm$9dCB!j~RWFE_|d~N-*NMs2+p7CI}t+KmZ5;fs7zFmN3zd{S^7DjXYdfB+Bx0ze=h0=UoHg%j@ccA?TZ8t(IM9M)-h!hPOpA&L9E z(?c@3rCRRu{sHduP7Zj=8sYbOzj^c|oUut6ZJ29+1hBuR{pT1X1Oh-H9Dz5b_6BZDG01yBIO-JAqoUdv693X(!LjZYA>&+P=1_D4JJp>+~ zo}R6=E&a{t+i>>LaUljE z00e*l5FiBJHTt*3Orw!_ysHU58#zAsYHtK^zNWqB7o!6LK%kWoXikRF9IuU?r_bjb z>#wr6E&0!8E~d&+*Di5i{-OM5^7rKL%6~5ZK>oJ;r}JBD!~uCt?Xv<4KmZ5;f!Yvw z_vq=?Ig)oN8Nxb*6@e>yCNbkLT z|LB?4nVI)nZKbGp=IHyqA~pB;ND^l{3Tv`0=93-zF-H!?^zA4DVS3#tzSuQ-L1{BC zk!1-Z$8qw}j?|{R+Qz55Wjwg~j12KAONLoUi{AVQ(i%xK?9dwH{WWH_H6srA1Oh++ z2y{9E4|X~L7(Wn52?5*>l@gFJ0|bCT2m(({4`F~@Lg1Xy59t3h<#UeJR*HHb7(K@; zQge@wB=G@9VNJHhe6mA7=ExpR-;P3}vFj+l*fsJ&X)`X7WeFq4aq`iQ)TX=I#;3bw zJh=Ic4Dl*UhFM69-uwvC8c8$k&>G{s#;mqx!~vf`00;m9AmBn^^)4=I654sb94Uz= zWPw0yB7pNXtvPRq8VIy60zaMJzGDj;*@dI$TlvR@R$D3Roj-b^SES}1A4%eTM`2Ck zEw{L2i+u5sYtg12M<^8WW2j*x5R0rS@*>UN%(%op`{Q^>*3eCiHZ80ze!^-Qmz!_= z8w4a4(y+Ddw%eMU8ecDLjNx>N)kwHwsErzb1hx68O`Fyj=QU=v)n*aeKmZ5;0U(em z1g26nzv&CcwA0k79_QlGKbG-=vhn&a^-a+hU+l|IeYt4ySD}{wukRP3ym;P{N&UW| z-dwSDduY2jprwhx0aGNeNyqBL-RaozTX~@8;cl}0aQAn*zp3j-yT9S|^NsFr`REJP zLiHa$ir;QCdykgIRZeM4eD#^L#>5UUSwrC4W$QX#gynh<^td(Y8=zf3XSeIXFfJg_ zUrrI{#5<(3dV>q3WviV{w%{u-F()60t7OgQpUt?BVQX7y5 z0zd!=0D;;O!1HTr#}F2P03m?;p|B2s01&7z0zaQ#U;D5gg+TOu-m8n}XQC{C2LxIR z0pvBUHD8Dp2mpajLIBUN>7?1lSkplOc}+Sv!U_-o0%;*|9`1-u3rez6Vc+l?+~=Jp z+M%{^pLZxUsWMt)-|!3AH=OFM`;B4WupbZfYC)iU|8G2N<$5oKT)ArBeZyf$)qcKa zEv__$feU(@B7pNXZ91_S77%Dz1UmD44fYMU?1Dw$8AAYhO~xh!;Q)cQL*SPoXJ6WG zpfwC=!{`;(d6f-TTPf;YF}lGkQge@wByokKuqN@Yw76u8eDRTM(WV{`LMY>4W~%{((MvConm56K!j)8uH=U2X9bR#4!>hBLc9Qx2>(_6_6xP$^Hl&m8s*``|#QCIrg&|Hd;{uGe|* zhuS!Lb@2)iVYbm~bMNZWjb4$Odwe8`s~v?k*>aGt6j8{R&7mIA3|0IXDz{umw#fEG zUgVf(#$~*c1bKBw!yF?W))GHqwT#QnH~u9Kl4D=oGJ4ULj9jo4UoUKo;dF`BNCds7 z(T_iZG`v-7gVq?IuQ98wT3gTq0zd!=0DGpcI;W_nd> zPyzx#pp6m0doPGO}^YOBA>YWt zVsj5=$|6POAg_?2n{-j?ycyv}S6jTzYEC{}QaBs?Huk-u6!UwEi0m-1!@wVQ?eTs@ zQmH@h%7rOcda^h4ou`YDsoYvuS)>jUr&ow^Z3Vtkn`1@gmO8)h#=e!7hjq$E;oTO8 zoSfN5{LT7jou0!DeHVL$-CyU)p3`@ZS5scIrZ4PYf~}=_W!-i=e&HB1qUQ=Hs^x06 z{#jlkE>%m5?KLG@)*Ama-5=2+-&(kD;g@GVUeNmoyZutsyY`TBTJ@Bkq3U%TuQ~Im ziQKAOnBS*0VoE(;c-yd2YeS`s_V4#G?Pj!|Eo>_O6?wMscws_q8MtR)XKy~X6n}%a z44gco)DAPdW(MQC;gGH}Dy{nNncMePDnCTu0b2(yE21!=CNwTe?KtySd!IVIb>Oan zn>GKgfxA7apzZ65gq4Ff=lwborEV`qW^+2V{fd2_*O(%&am_#S8W$?*(U8}qhhBJ!FlmJ{+C0S$SLAkn;<^BR}`4~>3k^v1A%J6#GHr+pb02r@oH?GYZ9S!3q$ zEDiKoU0fRD5ng~myC6WnJ?;Ma=;%kR{Nx7d%H$Df&}am< zj&2>jtBo=n+z-|071Wvjkk>S3-v6M_#Q$MBm&SO67a-6s2+(g2KGh;{PlNKJ7p-UC zRU2zo^aQhC%=k^{s9u`!(v0W5l9i|thaiBwMvy=a1b_e#$QAEKAKx&EL{?Yp_E>TH~HAP=!Q8yL=m2GR;rx7?NqQSJI;&SC43hR}_g^iQcD2-Gy!Yy_cI7D=ZyneC$muiM}0! z@MvtdG|SR##_?mUB$GCJwY4gFt;CNzvx1;MS{paw_%RFWFs6JYNiJ-WWksLz8fh~h zM<4(MfB+E40s_Hv1l7dUsB;IE{8ZvsGq!r^NUVIehI_%e!1}#0dn#5y1JHaBRQ<0zjaB5%{z3KY-?sbNBqb zyg!Pat^Tmp_DiMPJ3*V96~ot_j(6D0xfP`@*H$*A5}4TBLz%KjQ8~yfs4_d9HAxTCP^>pXDX$ zQnj?$UQ?oFzmc$;Xh-Gc!HfB+Bx0v&@u zcJi9fXYOy_mi%Wk7gHk^=6(5x@}J4ylfNtfx%>n9+wz~zZ>z6B>iTO$ee!b&MVqY-({OG@hM*X$XuZ@1uD@iOvwh;&*uW1Cz@BsvX z01${qpq}?bMSHfnC+JQ+?uYtNpY0`nJO2Kf_eXg6xW$XNzh-0K#=eh~wB&xM)qSh` z-rIMD_hZKJfj%xw!TnGM8Pjs_uQ|W(#=ey$l$E!0#^}7;;t=)BK6`)7hQ5ov!t&R7 zvgh=jd z&@=>)*E9`!I0gbh00=}P@a@rW*PPjqh1#t|hUqaY`KZLN?4fZI5-Z^^b0D=u@vYHs zSzMx$7XOI8NJw9FQP&p%t(U+w=J~L2SdGUlWw8t>0SDuQ|Eno?r9AeE0KfcIdC} z`89jxTl@JnwXODawWFS2^PQT{*Hja0bG%j)DRh89IRZFeQ;rEJKmZ5;fkq?n^qgPK z@%#L5tN#nD?UzcocY-$e^D2E+K3_9!x1`aEP4l$jJ-nw4mp^ZKTSU~qv3NLNlVlEF zvXFD@x$kre%DSbVob$6e&s!e+&l~=p#UXo-&#~`^dTh>iudt^dda{#qCcT>SniuDU z{Y%h0#5!3&PVwCX6hGPrk2A9E^Sog*CT=a&ccXl7QIMK;f12Zo#%cRV&)%1gin<@_ zAH4f_mJYs8-?>3HNCf>}r#3M^^JfvsnOp~KcceRaAcZ>bFc|2;7kXm9P z9YgcC!|c^Yca1NaCb1f++9Ggk+bFmtvOuLZ#(9ldZCQv5F#rJ|00e-*cT)Mc^S_Ik z3h)F1oq|9rzc`%&7RCt#S_*-_wmPHHQqU(3_VLjlTKUK0R$K2Y(7hjyKJFE%xyMJ6 z_@Se)CR+~j$s&8SIYi~qg(`jwHGF7nku^nLq?u>NCH5r-@oebCVJ({$))qfuwT#Qn zXJ5=SlI)A9hURa(t+}bT4Y!0)!^Rj+XQXVt*h;gGKY}#9CbdOtjPn|^+LGFUJP-f^ zKmZ5;0Y+f5m=^&LAkaJnaK5H_*uygr00Kauy%5-jyr#V-v?WJ_yrw0m4M76|AkbC_ z)b~2nlVw+_c0tf(s&PL!DU3Uin_<{BG|Cg)& zs{Zf3fZ2%d&$~|0+*y|22w@-V(>+SbGxX#=3eQ*>(pJrXNdM^Pr6n4P*sT0qK3_P2 z&b_|=9LM;s(6O!Q+0wI7*Y|sI+A5QYVkXV*Zd*UtzOBqdP$Fsn;-0CI9>v~ET|?ai z-5)CYzoF-cT~oS0(z8;Rt9w4)v!UmKo)^1#h9Mf72H ztGYu%E34NBDA!p1Ir+=f&0b+5zdPVsb*=i5o?V)*-*;Kd&(hS-@$&WBuhW|EQFvzH zpS-f&J64_*dXK`Y%3?K2TvVgJU;UW@e?P2u*gp5@Reab!hj~vg+di<}(|cjy>4E#Y zuhPGX)c@JQ&%7gXx$IGV9^>|b|32PWW?kxE?h%)%)j4`DpP`ez?E}vYJUj4HuRJ^O zbFYvOW2f=0^-7-0w_Yt%6Y2uBXrB#U7#9?S(e)vOQ@q&dxqKI^wfcCb_Z_f8&C}ZS znb3vS)BPItzL_i3N_D#KtyGuj;|g_U;JZ(r%eVOm%`SbO_Ao!c)K_JC7R%A3d2O%H zl3{u-AMzU4tRk;*p;AsmUPG85uOSqW*ANQne6p9(oY&NA zOn81xy^w|7tRj&3^jcO2g1CSH5C8%#i@&pHZg z67L0zOSZ@tAGsE7>M?{u5kH0+4zaOotcW!8%(%opOL9CUYv@dqqfK|U#ZOqxexkS{ zA+^LpI)>(NhuL${Z5uAWp}EEvO_NxSl(CjxEB*-5^O@WdtufAP%xX(+1sXsA2mk>f zP%8rMcOB}N#T7#wzTt-*W-9L+zA}g}DSy0(w?xj#AE}nBSLf&D_b%<0U*APLD3yAx zdQFKY7J~J0`rXg2kGx3xz#?;hmrxmPW6v62?6yF*_6`Ga21-Zvc7vsZhty|IVp)&G&-EkCt&dd=B4{ICNcheBS{=<_wf{G=Xv%`W}znb*{Je~oMZ1?|P4-z2jqgZi?E zLa5kZ!x)+G96`uX;#PCq8^-<`UZc_b zhH)K=QNneo@^7@(-e0pTu0xeise=-A9qN_XU(<&BYj*9YdG&wVV}Ff*OzHLh$I33! zvkFTT5(qrdZt)ZF7EN&MDPSd)1FYjMdI`QjtjqD?)HRVd=eP{YS!>>4W~ z%{((MvConm56K!j)8uH=U2X9bRYys>YX zS4ebTgMGt{67~(3f1kAWzF|Cm3 z0z~Wl&sLjze;WO>SES}1A4%d*j>4M6%Z(YnQq-0s*TSV9|DFj&{1_^?Tt{QqSP?nq znQ@7ImgIOy*3g+IN1N_yi=VKX{X}s^LTZVHbPUbk4zuT?+csQ$LvxKUnkKOtDPt|Y zR{Rm9=QFt_T4Q`2%B;5JR-gd{fB+Bx0<|L0e%GP8#tbHSKa{}&*P#RpydO%CNVCRu zsPxdpb*S{POloPp+N2A8)~jV|Lf_rJXrB#U{{rvmoww1i3ps3`Vz)v?Zx6Xxt<}df z)e3!Fq2}?+Mzrk-?Ln#g^?OD7X0A{x)#rjkCJ@Oj7Mi=9m1s3ZY_u4P!({{s=cP8a@_d*H{s0=9zJceU{{SNY>DqCP$m@YKxz+ zn*Bs^MM7$cg>($f-ww0qqT4oHd_!}MFPbK?8YyEfy;l4Yq~|laC0b*g*O=9o+zK>+ z01yBIKp?XSOr^+v(-(|yr>Rpt&W>Y$EaL@bv$2C>pjrp)}(I$d=esn zyha0tye8qQX<6~s$ZKZzBd@975<^~7KWsbCa(R9d4})^O+5K+K_RVXik4-CH0iuyl zx7ysBHa6WWQge@wBr(lVSd%RW`AQLmeAyi85zSD=kD+qQb!3ZdPvk|8d1hS3D@l-7 zcQni~(qS#}6IRQ(+>IYxKpO}Ef%FlW)1SW0PO-R}9%Wb4 z=M}{>Ff|#0G7xAX1d!LX&}1Q0AkYyAoQEBjDbDjQ$ZJwW6Q)`L0pvBUFiVIL2mpaj zL|`Uzl1`jzW{6qQA z9dBbmORq?msiz2@^s(lUH5P!9niP3((kRlEK({v%<}g`U8**C;hFb& zUsw!x@BYeh(|3daectkIBk%K8>IN+ne4lsF@^wYRMjzt}uXnzW*4dqF)YWwa;8ouF z8a~=?UNt71a-J<0zdh(#B)fyfb41~m#e00~wMm9YQk&iQ+Rcw3eypu5NjT$tO)JkJ zVg~|100=}Qu!omp@X?msV@x>ZJXt@>Bu}K**wl2+pBo(hVuw(V773{tA&JUp8or^W+X@?FI9*~j66r?7*6KgWj1j}&;d_Wj19#8QXkOfNQO3|ei6 zXbPlPCA2ZFBic1LJGW=|OU56NcD8@ws~JoY#ci=Upk7p4?(}fa=K|qmENk za#K7kdrF8NSZawKl3*$ONZcN+y}0Y3G7Zr*HEWu_-LkDNR13Y|(F1Z)rsQ7d2~(u6 zQ?FCU>fRyxH|7wJdbm1L*9WVk^l#PcJ&ICC7wgw*TBXmSAp(nv^aG3a{<^l~WODha zm}1Z@synJFIsR@itYF`8(r=~ji&qk@2#R(}u1^<^TPQ@GlABtTNPkSQSRDd?5%T+c zu#bLNnQ_)z%wI-j+{y&`-Ks1JiOLA<=Q~$aSsoHVAZrLz{Z*2+fgm0r00e+Q3nOrL z3&)Pofk2iJKwguj*+48npdAr-w)izO+TV_&OKVKXYtljzb~+sa!B^*R<29FqWhU9Mo@X9NK@duW$3v1_DtC98%@Vsa7v4 zmSnucs*F6DmuTtZ#-jOYbKU;j)U?dH;1NrEnc8{h7pdsPr+7XYt5PWeSG}qIpB0 zPhA-4xp-rRROcXYgk$Bz8GW^Sacn1(d3}{5NaiK3^vPp!B_Rg{fPg^&=W7fW zXaNBr00f$az+X2wi*fsNQ`5rat+B@V*JD)JC)M0{A4$qcrxj;??C=Q0wv3Sb{+`I7 zPL2SrG0tn^t+wPIpaBGc01yBIaS(WWtiSnjEX9*?`*Ty{S*$Ge&RAo7`xq6rMm6`{ zN0Ktql_O}T1dl)>kP&j<-xC?s$q}G6#(7P=)t1}?G=KmQ00KZD4gyPJ{ml=vv}CNj zu0k@!TjvL%u9*YWkj#+Zce_uWZ7T4S8onAO%vso9jYi-!eO>{d`XGS3rarjBDi8nyKp+VM zf7jr@b8dfbYLan8$^Lz;G5*~c6}Ce)_uWU5GSX4Lo6qABNE|Xk?)!TpgE~0^w8l8E ziMQI4dw>QI00KY&2*g1E*P-H|1Q{Su83CNHsf#dvzI{4qsMdk;y}22 zeqP=$x3kqBw%UHFbbBXgbF-@SbyF#n%XMp0saH!wZ0?~9)NPDZ#AMMDWZ{MRN?n>;SvHzu`&X7xm+B#0l6yw$E*YfnfNh1#ih2{;I<2Q`a_1hf zA-ApYWZ^N*f3onDClws|bw$F}KCf%M-V<5_A4cHH-18cZ;~a4OL#*pI4#gOxhn+H% z*U;y@9xmLAcRZ)3lH4uI{9me-_%%}OgDOUGh*Rt`}UU59w)4p&F&`e1dG+O=f<=wj=&7Olig*pT1T{Uh{_ z>%X+?k_@925jt2vK&=W{yTAAS&v#fEQek>!f*}O?-3noMIQa~n8@z)?bPg?uW8)4ji(>& zw0`QksocM!SQ~CR#qiJq0)7NGl&v4;f6zxSKVK83=eHi-tMz=%k20}?40(;rF!CBf z0(Ei(kk=@MyyngQ$ZL}S?m)wZKv;f~^}OcI{jSlp3+-&{8dSTC3F80)Q3&8VR1`Yk z0RbQY1R8_DgN<H}5kOwk_EU@j0)ZwYa8g^J4@n2yWn<@B=T(+jZGC5+?wvcf z%qvoJkB=mAuA{If@h-5qWQ%<9k)t<#i9+m&ACVKjYt&-b@QgIK%(%op)9ENJnM|G)a~vRCRN{k?y!rhP2;Pd?5yxm$H#?(;r7_rBa&xpQ;Z z=O(-&W7*`>5h~YL-%KJH;ONrtw_ojeAN?p_k0g!WTdO*OTf00b%`aQM{V^M+q%-AA_AYF9K>g8-ecIkHM$@@!zGn(@5h=grBWvhn}Q z;??_k!&ml^`-7*R*LR-RDhnorur7pNU-Ib{Vhn%Y@R0>7N8R(;;^mZ|@I7(E~ML;9rD$^HKIw_zWDzqVespErDG;G6n$sXlLb zhq+0x+qE}|bR5}F49N3_KQR#Yyy0`l-On4|IyLNh!_V&*{=DITANcrq|2}b_H$2Pt zY>o{&5~c9GVKcL5kI?gmk=GbROiOa5sOJsydlZn@7}Vmokk`b=s#PSfvI1?-_bAwT z%_+!hO7o4pMxa1mBSdAOHlM2+(g&XMQdnyR?n6n$Da&M#MZWmR;fOX-{S@(Is38N;WU*@`#G3HTxWpq% za6F`E=uDHNO?S18Pj`#`xOqHkk&s$qAss{Wx5Mn!Mt6-bnkKOtsoElNYuhNeC9*)J zHO6_3S#4Q}3o!rzAOHk94FNotuhV86x<{Q z+JB^3A0hIZtj`eQ0|Gz*2vm>22l3aoYVdxu%gfds;+4!$Uh_v!{-p$3m8^oF90BAt z$uWZl5C8%|pb-dMHFnk5HEooa;C`q^tQz=0UelO0@Xmgv-r3KkF&^Os2($|V^xM^CKg4 z00;nqS`oN@>{{!*%=K1VDe7H2cD+}m<{lqO;#x;xO}1?KWQ%<9k>eIFQT-J0W2oUH z6}v`4tcf=>F7e0`91rOkI@9E6(_L-j)7@e}ZXSWMLNw00Bne z)P5jQ8G#G?ZV9}r=W46J%4%1(RlNkgA8L7(zT}+;uJ=Pt8>lWOv03>&3g^uT_psXH z#d|;0#=ebxuPDX*o+2VU4D2xQhh2NTALH%MyK-R)zaQ!b{dTB!ct6zIifh6B<|l&= zx7A~ux5XhVXZ8_)v;JA9=Hxf@UF;RMf1M|LPTx6RO?l0lzOeU0 zZ7t0!>$cnR3&)rdwd#8mmIVH0Eb^^|`xbtA=HvR^GaI|jNTqcxzsOv=HP$`8cL3FB ztnTVFkDAD>DtoWAxP97tfB55tx9NAZuML$FX{COj>YKKV-MFo13-W%bXA6%PCe)UJ zdj@v)=3`6oH+ajy$s zi&utR{8po3-*BtVSZl_M^EHi`H@ruoF*w6ZJ0j4z?@_pE?4~x#YT9vaVoX^?0C`Oo zX9Y0<0U*$62;e%DYsPUM%7sdLv`X*u#&xLlux^y4cDN3;6xX4uST48@C7|ItlpxW( zI{Z4+&0{y?d` zn;nHUiFd2TC0pc+j|`z`6V*= zar1c8A|bWJLOO=#Z-?2djqVy>G)-bPQnf|k*0xb_OJspcYmD<6v)Zx{7h(VcKmZ7I z8Un8CP`4Me45eEAeyEk!9Z5-Mwwc$VR+VCw`=OT4SU%&N85es$W)$bo;KCH#4`q-s zE!+=fu&8&d9j-&&J>8GeNr&3~>kqlIJM4a_dl%Z0wYEF?eyD@PZYZo3)R_9U+z)kn zKkkQ$33J`V!mdNzHFn3?J*CX1Zth_i2(%djxDM536N=#g0U%Ik1U?z~Um_iM$E9N? zwv~sSk|#K+jV11?_EQHIT`th|0$rk>U(?v=;4S+Ia9-2oe>a;5)4Th{`QhqF-8@(w zrFIokseY}4R$`(71b{#!0>97O?8EF1+K~u+V(gB6BL%<&0zjY)0i3TXg9HR100i0) zfxj>P57UN&ix|=;aV0AP9kALF0pvC9II9>F5C8(LhCrjQL%H#x>rmgU`Om`FYPJxJ z&b|&68*UigNTAhz2z(%aPRM#_ zzp*A6(LW?S^YMnow)OLXsSSs2f8Tqb%RgG@RX%04m7?B1j(y52Qge@wB=L`q!kWY* zeJR|QqX~uhL}iLdiyuQZ8o`#|0&&Hfcr)V?`z&ER8#>eEXwzNoU@XBt`w3E|Z~O;i zW<6WmZi{}pwQGFQG{)DKNjD<4R{xQw5jCwbPR7h?OT#W~00AHX1b{#q2s~KKGpe`s zxtc9h?;Dyxpcx3XjwAeP!gI)*sD zNG|v>G-{b%P%cSdtUNU4E@X>1(Kc;nu4V`InwCS#P zFqUAS{RFAfH~xb$v!1POw?#kQ+BLpt8slrrq#F@itN+N;h?>?IpRX~iEe*S{0R(^m z5C8(n5cuKP{}poz(R;$`|G{btzaI5d+RxK5e07bNdw-;)_if$kb4ZlyRHBH@=f_O> z@)(t8y+ZnrjEPj3wJBCCUoAx$ChelFRs@-q2g_#w{9WU;$J5irL{@t;c zEzVcRY-`&r4n_G(&Hd`w*S(`skBxobD;)oCJlWrl{no1~ui0sQMo8={Sfy=`S6L&w zQk|%ltJV5vd5OAIEiJa!lxVHjSf)c>Rrjzjs;h_Jq;|GHPMDW_Ld(=;afCA;gVd?%uv3g~FH*6>9heVsm@?6uxL{CC6rT)s4!^nk&E1C=%Sqi_C>|;ocE71u-qQV+ z?rXHQCByF<{;T1o!-F|06Os1IJ+>3&ZaqJIz9x)@M)-ZT`n8Rdm}d|ap&s^dp&?K=h!m`(kAwBG|}A256PNTm)@dmVX*CuBdD zZ`&f)JDMvM=ec}S3}@O=*-J$&!O_d9&#@O=(<$=~m-i{poAwJ3Gx;4VYE=qTUY zKYh2mO1RxMc-P>i1X>pX&TCpXenbugfI!v}IHN!75oS5Q5AT@e=vpzhIUVq%fe-KKF0D9Uu9&0e z5P6LYGtgQIf%oCBW>co?OyFL3+y_E-2-Mv%8~}k9MgVzD3r`+G2LeC<2vk5|H{?bY z5CXg15I|njZZnGU00AJ-iU zDpN#S{1~dy2)6tdh%45_n;DnbX9?rk(3vJjo9=1{V+r=zPmn5o<3AWP>)G0NTlCYd zUE_VC58$*x~@^>#nsHKY5*E}o&uuF0<5x<~Slcm1&|-@QFC z0&yb$u)0;<5h}Poz`4fi&&gk=ZuSZj`QGMh)wSwJdi7GUzwZjWA8LhVryZO2ecsO% zTID|P+wy-ZP`SmcE6+}Y=zbSufQJ?x-@>{$k zak<=4;@($m5sDs$XcPVu6nryKb1^PZ=*=_B`f->)t8%?#e>{mFoRxzGC(KKkum&%V!ltB=o~I_bD% z`1yiT<$28qEfA{DYb+x%n$_ktWLk0%rONY~7_OZnVzb_Pjng@ZYNW2eoAtyXT z++Q;zPyEgLXPutIo$|YRh5ht(FYi6O z_tM_=z329>=v~%(NsZpER4EH^A_gD;1b{$WA+RjwRVdfKVRIb{`-aWV;d>I8Hy)fO*IbX9X41(0?7o}z?nW4CQVUt*Oov%5+f44g9P)-t6xNPuz z4ZZgg`-a2u${L6F4bQXA%nVy?rKmS=eAp{ebB~WCG0#z0lX#>rh1+s8SP-A6Oc81E zW2iUqW?W*QC5&f7XPO*sx~m;_L8|nP|6t6lXKUMS(NDK_jW3$U z_}VgQMkFJaI!)W@+oCnb=WEPrOWzAD0s$ZZ1b{##1okav6eKs_YIASj@%dhnntOaC ziG3Y~HHoKp8{%Qw%r!}bZgi6qG^n;Et6(MGGeLIw4J^!T4S8onAMiP7gz)WKmZ5; zfl3IJUx&hT`OGtM%vGp8yr=TvxqSZhgy-@R9(XPvq0pMwq3~Qjnmhiup38Rup3A53 zTs~PLtx$(Om#>}jnn#BJefUxD?uBeVZ}H+nj7#jZgz;?X zOp~KcceR7D1pDkKNR__vAB>sxY;C(O`svoL@kP@ZUt1>4h-Ac4r)fKVTeQYFuQ97F zeJ`*G1b_e#00NZ|cwI50Ai2M=+T45H_+NNMYVProBwptztVukj44>O_G*OWRQJEt0 z;>S>pMzH0#KwPmV-pshfK1&$ShR!rO+H_Yt7)!9veu7l#8~?$WSEg*Az%l;Lw*jwULSASzQtUi=uU(FnHu7Kkg>#G4tH*k=jj+0dCLN1N_y2V)8L z*-wxved9kEGwa#fc3bq*tzF}brZK*@OqvnNh^0=`cKWtxjd5OMR$KaBU=aua0U!Vb zDk1P-B?0h(01$|U0QT3!f(b%E00>l#z(nZ2*s4voq2l4iGbJ>%g;tw;hmSAxiqzcW zBS{?YD6C1m*IQhrNLG#pNTD)C?1>*kH5$Q|-vV*Xn3!kACH7f@<6#Y(BNh!UtQCwU z*f)^`IqcQMY9!g0@I}w?g_3q1HpXx|&!){!J0`MM|BMb5W(koJPkB=m=*il%Mc%(0d+j2B95}&9{5oz&bs752$@>?LT zSQBq%TwH+nj7#jZgz;?XOp~KcceR7D1pDkKNR__vAB>sx zY;C(O`svoL@kP@ZUt1>4h-Ac4r)fKVTeQYFuQ97FeJ`*G1b_e#00NZ|z;-=t%x))(pWhgzm5)M{$6@}_ZjA)CaB_9s?Yy4vwo6MuZ2R*lNWHhi>h zDV|fKb-eF)AgDvXA;;^vrlTpW&9X$LKAo?THuG@=0zd!=0D(p$a8fBNQ0mQAn|mjX zzu7BNbB~WCagw93Ch?Rqd~VCpjFKdX$`p|oKZa^Ff-S!V;)*r#X2vDzWHw)DNg zA`k!qKmZ7|3Ig?fkHTAuSyQWEfjCD`1b{%}5WssB(#P6e&%F0YUe)@;skz5W}*e?`{os3+6~P1;|xHGsl(ML0g;qu=iJ&bOcn z>RGIgX!8CV*HBNv`3)B=paFqM1QMmrk(R&&0zd!=0D)=|INPcCH*J>LwA*-`lLlgw z5kOwks;b9@K>F@=B;R696Pn{g<+ngw zu_oTkxWqn77|({zG&$OIS34L>u+M&iROuW4!I)Xk*0$TCpKk3MUo?&JwPn(bNJcDm znzqxoMQe=n8nfEc_X3MR00;m9AW#Vby!WyaLf`{|cnIKpO+1_+1q6UVwFq1m<7`E> zw%bSVUBxpcG@`$?+T45B_}_X(YVProB;MsHtVz7nEv`}|D@TK$P?;k3#E+pGjbO`f zfw*Q&%roN>`z*onu!hYMi-s1~3dR!bn@EBj_G)4^lI%q2>)8?lg z6WOc($kT|L))?nCX0@eZ7dC(Z5C8%|AQ=Mhv2vMrTWzJN_nz^0dqryQ@sT9n<0!02 zJkpoKZ8@44iBD9fh_v`IRHG4W`7IDvtcf=>F0s!N#er?%| zOYF0R@oeZ!lcP;{wS%z)`|Kx3mA>)skC{A?jIC|AML*rzHNI#XMd&Z-M#R?YKk_u9 zrZvWSjahAJ*o6%s00e*l5J-l=vpw^C&-qd68`kx^;Q%kL?eAJP;^;iu|6l$85ku!t z$9-Dz3_aI#`QrF?$%xI$&*eMV5s_H@zBQtCLd;m5&A5JGA?F4xUfi3V$^-eK{C`>= z)+yWC`hd=iJn=W{AClTBznfQBsNehjDC7%XO?k~H)M!9oy4woUYR~$pnW%S*(iYH6|k(-uZznI6Nc(wOSiSU9_0mg{eKt@WFwpNcwNp38Sx{avTxVZHiw z;n&^@rRVbfq%c|7UO3X5kICY?oh*zGv#UE6S9bYJt#z?ls|639P2U0A3i569lfq95 zw4RjOco@;2EIg+9PZpl?q&$XokmvH9IcO2p-;7Z239ZpyAO9*!GPY~ffqHg!&j<6G zovmD^+Po%793&g}dBd-FWD$~sgy%JfJG7!B6q}XvnpawA1#Ql^c$?K6s~41PUSEF4 zniqk~^GHRk+!;&ImRpMQn$su=DSqPTHFNTn@|u0~otoENC2;Ecxk6N4v&NEawI=-? zT2TC}R=?O!_xhUV7B<1FFUQ@64L;ZPArOt`@SGoH4L;XQ}ksQR8*Zf-ZyJpe&v-y6gXLWo( z-SdS#f2-@?=^y`R(mJQ$=Y;jTy?0@Sai1&m5GEOy{^LETMtT%GFLe!d4|MM^i~G4* zKkS;){ewM!qRap6`OKcb-1C3;e6fpXXtHav>rZ=*SgHP=`&bMlv|o4vwB{#%asLlGLSnb$0xeY96j^^Vq5hcp{=9qOVG@70l)dRI{@ z>n=F(9(|s4!GQ}7B-vAEpQ`mX^uKfV-xl?$|E}5Z@{Yvi^0VXE@~N|Trqk}l56SY! zpVt^VdssUAwAo9%a@y?Ey+S@jw;6Tte9Z;wwFhqS0=b|Vj;;?OoZ>}Cc@1BOI#aFC z?GBPa#Zn8vhsi zeg}d&^c!-ao@+Xq!rClLRO-`pC}}evM<4(MfB+C^Gy?TJU$fkig}BCt^EEhMgYz}6 z-;7qG;e1Vcvz49mHP_&L4bIo3x3C*viO<)x)_vZc_WYVo-Cu*}*EHY@AY~V=nb#x* z0ne`~M=bdKnvHmVjRg|!^R~c9(3Dk_K*bZ~`@EBCC6SMNz9xxH$O3_^B7pm$vN|(} z3kU##PC{U%b*<=PtF7<3*S(eF7kfo&?(vZ%Ryqo65|8wya9fTBVd4{&DIzU?4Ap1^ zTYd|~6>H+nj7#jZgz;?XOp~KcceR7D1pDkKNR__vAB>sxY;C(O`svoL@kP@ZUt1>4 zh-Ac4r)fKVTeQYFuQ97FeJ`*G1b_e#00NZ|_}uuT#hgMU*IWH>T5aLiqyD1y^Q9QR zKJJjYuSB~{x3-pgwZthluNybz!Eq|9yh66`8z-sF5&pho@jf~Ju+@tj+s#$z#I?dZ_z%WE?G@ta zC!l+>H;&)v)s)x#=lJabeNRvy+Wq}dxDF*VU3-n^4cCrgwHAWUpR4+@&YwCq;W9&xluQ_VJG-7x>NK|DYJ2(&5! z*IU_f(lNNs*G!i3k*vMX+ci2lx6+*RHA^DiJdO8xyXGqn4d-j(pp-2coUci5K3eO1 z&B@36-{Z-A53T>NzWr^stk zLlcHN1p(wWoifuHClCMvt%kr)$Dcu7(`u83c$)sMBqckyMsPEvzbw}itpoU3Urz(FKqDHxm0iVj^g5vnYmvm>U`4DeWcj_$GK1F*2gT)zn0qH^;)}>tRJi1uG^oQ z`=1{DC;E7+*ZS(*d*|+|_EQI{AL#yGYJrwopi9{EYiQJ`=~C(QCC_@4)PEHvo+?RR z*u7X6(z&BVQ))05WhI>VBg=+TKaV&M_wd|L%>9qKZ|;6`_u<8IQa2ZhhsuTBZz`6z zbibwhr`qzJb03}i?{n{-JD8*LeV?!JnA(wZx1Jx)YerKT-r}JXhANpkN=uN`8$H=$ zER8n~%_!4;Bb7Qtef7vg zJQs&6-BkyxqtveI9Y=U1bu?G%wVGDxGyXca#G)ekz+%0>t`~b_wMSyNS+JZ^G*DJ8 z9=dUspBU`>xpwd80Zp41ukH7BOxY|3t=w_Mok!er#FiuOI^ymlwjSYn{g<+ngwGbZMlafyAF;CNWW=7>c@3u^^q3HD7SK@NL0u^LJCC4A8{e4(UWhmA3u z&a-Lr(~gPk)qmt^L``dq^BS|-(y$8~KmZ5;0U(eJfqI^=`OP@a*HoGfoUf^bP;2mU zz6R%OaK5HBepg!~%CPe;IA0TI{$8@q(Y$E2m7?BD<1czeYVProBwlh9)+8S3OX0R0 zO=QF;DpN#S{1~dy2)6tdh%45_n;DnbX9?rk(3vJjo9=1{V+r=zPmn5o<3AWP>)G0N zTlCYdUE_LVWbocgbEo$rMdcu`5JETUq7>eHX;w>m zExh+KJuDk#3Gcm359vzpy}Y>&cg9v9J>GjM*u7^O-g_xnG^-AO@8$oEU$9@ZqJm!_ z(5eXFd`+v)9O4E7K%h|wY;HtWPLH6fjtBdO1*wnsW8bh~(X2Xr->_0s9M_7P6({@xf!06( z=WAMHo)9Gv00NzeKyS@?P3;ys5qFHal@UN*)5^1l*nt2LXlDeb)|}O}GddU>5O5=a zyvB_Ss6YS+0D(p#fc-Ttw6VX&g-YXS*k98)tkd#@{WWPJsZ`Ydn%gt9vxY~E{WUW4 zTd==IplDhhwZCR3oUv)zyufj*B7pNXtvYjv8wdb_c0%C6b{Y)E0tA|f0P>n9f)Cd~ zpd%32nz{3J*@FGf2z+*~`Fu_77P5sFq5%Sx5I|m22_f)-01yBI%|PIp{@Z)U3XS%B zdvESmpP#FcDLl-{8L0;oR z1~ec51pElBoAUMCluUf*`r~Tt-Xpn6@u!p5Jep|c9&JK4RSAdm`N=Rz-+#HqM|-mu zQ+br>Qy%U84_)|3br=ru(Lr95{w%>F5C8%|APofiYrYDVMij6C1X>FLjWLeH*5a0@U@yP1i`T1qY&hwUq1xCmHJH9FIHojg5ETB)DSwhbyogF zJ@)hSZUDmQZfQ{62wXJHP0uRz1Nn18)J5wSxXuHnHXOSB{bPub zo#)paI4=-j%&t6ZMyboS#-^BB(PCoL&TAHVZ-_cbQK8RGx+t|IVqML*c$?K6tLGWW z#9>_~q6h|YNX50VIjG|7yQK#5L;2IJ%xRsnQCJ_aG$T*^&H87Zp2MB;yLp9$`n@?V zP}LS(_~W22U1Vn6K2Oxs_$3dC#=u?}u8}drfYy{D$1N z!jpx^w1+1PPw8X%x5ahE0bT6NXV-W!JkjRgElK8b#kA)&8rjKfW>xujUvd!SHA!Y) zWbMD`LTi4F=khgw4w6QIye27P;qp;=%{>wKv4&f$CnsKBvs(WJZuh(f&*iJbZO~u)`)Eh>!vTB?PQfKqVR)KmZ5;0U*#=1aQ8_g}0mo!gVMYI`yaFd`{ z*QAGN)cKnGaK0uzpdFTKxekT%H4Z=RQ^5I}2G0iEwLStkU(@zpbu68h%V4wX2snR$8gE6z7t!=kOKi%3jzGxcbYs;h?5nHSO$kT|L z))?nCX0@eZ7dC(Z5C8%|pmqdy+kdxWo>99kSO5Z@f&k9fbjnO)oIn5wv>F1tBde*~ zlwFkYX$5r)q-1!acU|wVdrI9VHYR(fH4vT2o(p;}?>)Qs(%$vG=k~7XUDkU^joy*h zG;#63H4p#-K%j_#Yv1rtDX$r>^4{yD@X~YnaG!Tl)Y6d0ecsA@GL6Bqw&&OEo5%BO zlzOgkqFSz2>!0N%V3(?;#rB#Kt@RqqbjS;a>m7I0zTtZNPHrFfc?)I_^e2CQjZ(>; zUvstZsX2IljbJY|?Hhj0{P60;nIHQ5&Pb@WKHV+j!Odr6h*w!M%tBi9=0}j$NSa}X))?nCX0>8Sp=9U?k*k?K&rDb!(qM?Pgj8Auqt-E>bTO_1rgd{4XY50bgZYykz;dF`BNTeGP zTdV)b(}#{{QTK3%ndf zm3PhDOYXgaKoaIISMne(c|jn^eejA9Q3QkqL>|7$mxX=8>H>y9LT(;}gc|}$fT)oT zh=lMG@r4gWU3J~avaI@vAIk#Q00E2vm0f(SuIpE)&z!01p6;3M>F$}HnSa;sc2%7^ zuliTb%(>Oo-CW}{am@8eEXkTpJLw`@d}fQLE?x+~*bzQy7f<)qQ!9f6z&ibB)i$;dihkwH;+OlPkbLn`yIz-p$K5sfM&HY{O!@0|IQ*!$|iK$BMB?X`SM0Jj) z?rpW0hq26X?C)P{J6*kBmyc9$b0~-F)(H+rubQO}P=~9d)!Djbh8oc40iA;04@JGc zP^W6geia$ssBNE8ENr1t25+`+kna&O2@a?&BG`xw#1 zI@&4?Y3Y+YjxCcA zNt3grsoN!6>j~-v=QBE(lQbrGjKfTx9;1#?r|a50{fU|9P~W0X()n@fRQ;)Xt3y%h z9mRY|)2bbB4q%vHq#s?(buj6|fXU^(Vv0etDDIPu$?OehY=DV{&7Q9Le_y8f!z~sDRJ!aW4AtWy)FZWd1TLYpqU@&sKHLEOR{G8OOWN zca|sC_f{tq`J|)$xc+B!e(YW^>T}0l1Fj(DN1Z*oerS<)?wB*joIU2Jrqw~SeefIj7&ciir z%w9V*bw}rp&aYVMsZL7&&q>tl=XDbQg7ViYb7)&r9Z!^cb1}CyecF=#C#!7pBv<}J zL<{q^#}9Sxx7X{PU+erQC%w_956StLZB2c;@BCFVu|^b^e<1%$MOB;iIvUw=p{S+=e9`l+(L4qZGJx|am+0vRL<%4JbK9v|G6!aJh#|hyse*;(A+XY z<-A;j;pUR@MR=J`XDOL}5RF?5EvV%7q`b!3%jrT9y<$`7oL7@}bH}YkwI&z|h9-~e zNi)jR9OJmg%(iCi2YdzsKmZ6dHv*^hzg>SH%W;ZT);m9R?d|=iI7xD@@tHW@?vq%O z+TLNck}k5vXSQhS;)UoFJHjXJ;;EgBUPCk7Tr&L<{YH2&B-?XjWVrWh?Y)u=gNZY*e z%P&Q=He369>zH3@sXL02W6OFF->YWPkkftVxaPMJarEoq$+?rA-GO{2j?-Mb1&MM} ziDI~jZjP^vKfS2O(A=dUN#e3Spnb!$XX-m0OZ$dT&i$akTvYl&;kU=pzTsaVSH5rf zH@bz6DEo$IYFmDX-@aknPnId~RXIgCPszRANjgT?IraL7PQQ$GZ{4&cUrNW;DY=t$ zB5zO1{kHJiV*d;#zaRM?oNHarYQMfL=8#zppp9S)qUr>6hqdI-R9tw}?hV3o03#{w3D#-^Nto zkeqQ6uZ*N=H?(9+L46FSi?4f00g2TfcIWT z!wcL%AP9k){yhp(209P`0zjY)fv?tdb*W5EOB2rTKUe>sDaZL%St+WW+kd{3B5AKh(56+e9|tS+PUa8G{em$(=XA_bUI7PZV`=!7F04e z{Y$Lfzm2KFAvxnDUKvT#ZfMDtg8CRt7herWvL3Ov^n0F!*EGjCt}(MM3BAw(1b_e# z00Qw5cwhhf^tUt)AOHlSAb|CnC}@Ef2mk>fP(K7d(EowhaSdsRucdx{PTLZ&NEYEN z;)%E>*)fJTAOHk_KvD>Np#K8IHA#V4)RV>E;e@+bS9Mv$6LC#lrvQur0U*$}2wYV8 z<%>SJEbLzxJFX!O@wNCkR|6>veq_Oi8lcOpNEY!#T$9=90>^*=5C8%#hQNifsi0mL;afC`mB00;nqhzLy1&(6C=etEd5&-ApJmSjuxT)zLb>_*YPrNn%#E^RK= z;uJ*Z6lKzUMd?^4k?t)zDfK565IWRq+p4BpwK%>dE4wyXbqQ&kTNSIVp)C1x_2sAL z|J1UuR@o?wcr;JUQ~Or^w^ongKKTQk#7yHIEroo+$tkWmEFbh-zMY=u*m}$~ef0*b z2kX_@YKdB<|CW@f3)RA6d3A}_e1%2Y<$-{wAt%?HpEPK$Y^fqVjTUwl-hBXR9W9Q^XyHgb16JmSbJy$V zx!U$dG;LT@Zpi)Zet%QEPO?dTe%$ih%UbrS0(}SUEX?MIa%c$aiECaxl;fJebHx}s_9(_R zN?lTFDUWO9`Ro$c+}d&Iymh%Rj6+;g+x&A&aa`l3aqTZ~)y5AN(11Wi1Zw(cx1vTg z0s$ZZ1b{#i2>ew-an0W(q$i0!K?e{>8v(>MX(J5%KmZ5;fm#rl)ZL%&&rj*DMb<6z zrV7_+Y|bb2HA1r4AClje4O8CXqxauj*G0o`dGVnZ%PpPm%IE^IPc61 zc-&{i!s!Ul)t`TpPJE^kmHnh2v#30Veq7XoxW*3|(CUZ4`|JL#R=>WrlBIv@_+IYO zOpn!qOnc`)7aptX^WQaOrRCy=SoOyUR3H!)0mL;?5d%LE00Kaub_D)0(%Z65Nno`m zs;?jJe_I2rM)fi-|0C9a|8aFCBfl;GrOf%1OwTH7`E>r_{1@~0L1N)b{k#+ zfz%NA&iJuCV|&Wge`owYJ^T33%Q-;-0$D@g^8U+lZ7OSnl5u}7?Z34Dlsu>Ux{A1_ zzIekL5J(1r9pk?@{-3czlMI-d(6YGy22bR$%&K2+mD6*N&I+}wWzH-foK)P=ff%G6&SrPSwV(09Q0Y4-DLXg+;&+R;-l7~DSX?rBFItkm7p{y|$S z|F*cPXy}vEiv=g^*PbYK=QO8+lSW|j(XZ&I6kZA}fB+Ck1OcqqBmyIp00AHnh`_&L zT`3S7(_sCRWr!#Nfs7*XhuMFa{rlP3bPjP%Hpc~CwE_ZP8~3$wpV|A)y`%T#`vH-_ z4*eA2Z;t!wxUV=*6OOL8F%pkxZyz4_po7EhHK5TLud`uwt7k1f8(zVS)<)pgCZBbP zYg&7LqIW<52s8%*Sg&c0ae|kO0M=_T6M#TFB2fE!%@46&({>Z4{Jod^T2Jw)=li^; zS$3lgLu2<1FR0)(-g_Bk9Btn8-+OtXwYcKmH;ngr+anRae1pZ>y8DLf^FHs3CRt!+ zzIfi5&G_ES{~HkP@cX<8bn`y%i=FW(fA6JtXnr)F-{)=9Y2Prv&wIfnexJ9!Zi>N5ZBZdZWwDL1cvuh>XUkxY%TkSTMMR7X%u9?u;i`PL-Ym+ zv=;(*W_m>jaZP*8M)Vd40D){Gfc2VejtjhMJ_HcgG~bxPW@c!i->FDV+ajE00;nqxCr1r@3;s;zMcr+KJR*>4O>7UD+ttnpZAji zcRt~{d|4UWvR%Ytq9Ont?!e5vV<`vHSGzR*duYad_UajZG_+vA?F3 zMiYH$Bm%e&)kySVyOj}mO2;F(ABsj8`)g{Q=XYc0MXk_5u8k2uT+_ybkFEm&AdndZ z%GYb|MO2fS(Sak)gaG22W*RN{+Dr&MgY}x?aACcswt0)VrZ(Il)$Rx&u4(rffc^sk zAOHk_01$|R!2OwCOGI1~Wh}u91b_e#s22hcWcs(GUMRp05QvHZ;+m+4fgcC}0U!Vb zfIw0RJc#%;DJYA25Z5FODAWM~AOHk_KmY=t!*6&1G9V|10OFeDu!JTc00e+Qtq7Fg z4^^us$N_=&MgVb5dyhYQpDqH=>3gE^ekj}zRqHJK0#-L_g${CUi~!=AHXeL*9S8t{ zj3e+6BAbLq2#6*Ds6o+`lF*xs4#YLd;0P^100;nqzedA| z{WZ1ErH5N;y(SC2$$}5=`H(%2-2VC1jL)Xz$JZDd;+n?b4y!-_2mk>afivt1%0M9F z2>fC8A7=l4b~c?vT$9alfmf}7z}LooZQN(}uH}BHU3#6z@7OU;sc(+^>bS4yym^jC zw6_nBdvI^^_;%;qJigb@Q^Ym(!y1<2BY?OjK8DZ$1eyk=-CJ~0YC#3B54GC1s_9lOj&I4zu1!{5 zLfYn5#cFFPOa5Ga`KkE}txdjbm5suPNAtuywQtpbYxNlJlRwZ&%rxHdvyd-1IjKA> ze}qR~syho(YR&uxt6O^tXR9S@mHt~&qApYmi{;fNTJseaX_p6PrtSAdlhU@3r2g~H zT$Wpr3(`p6%1SL#t2D=&K&~L^^ys?-qMZ@_8^XULBiid_YP7JcaIrHUqs33~XyMgE zm0Fn_F6+&Y#t)ZK7wRr7&%LZ=7fhn>fSrYFigL@ecA8Hcax?Playtvp7oO1V&lg^B zxV$~TsYtldWp%Yvdsa)}UQkbOi|11p&l0b%7a1 zfB+Bx0u>RsUES+xzuv0fZI#n3(*Bw|YcwExVU%jb{+dco-)}YAJ2)(I!;9JU>%pqH zg!9{ff6d3#9qKO2LgoE68=RdryuU`NYt*eyVsYM6vPo@nsub5epn~?-EVV4QV$t4T zvtG6G{+bo358qX(Td1D_*c#*7zSaMM*y}al!nLdbbU|)a1h8Jysw0bj0RbS8H3VLb9Nm5=c2p8yL)K7)KR}=| z0*GrWrlIJ9jcCF6UJ2Vbtt928+*MbzJ@S; zXg;1tsy>;e-hJAZ|5E0Bss{$2&Oe<0V*bATJ^8QXKb!wl{`2|mF>%0pO+Cg9Hh=&S z00Pkw*bzIbiEa}TK%m(XKwQ)8BMAS201#*e1n|6JzflZ-9qMfr*2d4U+VH$#Kb(VT zc;0XjGTEiu*P+_)dBd++pY`}-)LhRSUVBC}K5sZ^l)TrWqC9W-U+35Myx}=>@Vw!m z@rX+2=M6s^Yi;Jy{_@0rJm%3$cKFY2k>t6BtN&&PX)Eer1F4gaOpLN+exvES#tuIFkevGtoA-phI}b8?DnR`&!wZ+Lqj z%e3nG>!+EXHS7MG*FC#r-t}hFC#7zlx4!ck{jT7Roi>%r_n%NstDVv{wRYM1OZJ{x zX@AX2&by|cDZEd=1wG9BypId|0M)5uy9@F@@7;xG3d_{CzWe(2b;e^`@e{nQ?>zn7 z+P!)^dc7{)GOweIO7HXT?A>*UQu(R$9k9L6exEnZr@ecBdB_DbxA)!CcdKr{r|({e z%d7jQB4OC|uJ;c)Ptd)y=$Tih9qSY3(EGg8I)2=rmS*S$0@*|W>owUN7kC8(fB+D9 zvVZ%Z0tFxd1fn5;xF#B2;06LfpxqJ3?^`bfoF14Yg%nY(H|fH1ky#|cb+|M=~;WKe{bwVN)KLWZczjf*R<%s zqFX=!2&96*p1o61>!b9!{-5aN(*P0>00I>dKwMJ+95ev|AOHmFgutbBvI8?fpw$sT zT+`|!jQ#vBD~CDEQ?*c-KGVV-JX=! zj3?!7L=nAQ^72%Z_VUN8N43W2@tG}0)lk{rWVKbc6~C3{7{@hcw#C;94L|@000AJ7 z1OmHpKU5MhLPwh+fc2U-8*p?N2mpbY2>fr|uB+|wthK~+9O6KrEf7Fl(-y;wP67cS zkZ}ZFjTOVZ+Fzcy!@uz8B|H4*wn*~aLUN+*7yX>h6P1?&JuO8JJqsM2q992VQf0NZ#*;f2knqwT-nAsLz zD>MKBAOHk_KvocV%@fyT#V_~)1kyqP>osX13%x)92mpb`Bk*5{YZ^ZY@Sv^;Ag-w^ z+%N_NfB+EiMc~Sw+j`s$H}?Fh6qBs*w7EHxtDU7)EveDgmXaIS>eA*?jS9mPUDePP z(K$t#G+$9V)=8vji%v>?q=JQ2R@+uJJzw4Y#-5EmD@sy-T|{Kb#3d6in|QVJXLMXK zkrPwaJG{5_d_*V1Q@ymdI!g*17gh0bO_g?~wubV`pX-XAkM|5)7S<{og}<~~$jBu< z)V@{!t<__=uIFkevH6=E-phI}b8?DnR`(piO=aipE&dGeub*bRyr*!sTB26zza=H& zLbb41UR|PPtIkhZ7P@VKcSpfJEd!C?XvZk>^*f^ZbdH0 z?n@dmrJgCgZ>Caf0=bOzaX}v-!;)%gcVTn!S7dkLnZh!)t?$0ReVy^xR{R8S>pO3* zQhW7w^m-k+WnM=am1ccs@2*3X%1@>5fbD(P6j4~FmT6p++Pn9chg>jod*3~Mx9awL z`tEhOyt;2H5{4()Eg#aJD0OGiGrOf-%M<3j;>@^o`v05$bo4?i5XdS5Sg*Btg5C8%hN1)5ID=x_0+(1wZ=y4IasynWR zq~(`&ukC)VD`~B@=o{@CS4VV4yB2p}+kI*G%I=Zw%e$9$FX~<%(>mgsT1Fi*KmZ5; zfn*VwoS*HvPiJ4NKGP~EYuBxf?uVLIqb<32NvZPtq1;x&*F>ke8)}MkH&prkPzx$} zeW=wI?tZB79wxt$-Ru&Z#fGajSGPw;5r z)kBq9nHw&KGO+I~FmA>E7!SfNrgx(}a$01yBI zEsQ|?s359_M-u)~uY=#AOZfP;Uf!2KFw+1#H`{+vPMp>(M^!UFJ!3izG*Xe3+V)dIrV~aJ%6W z?n=3E_h@OqM6yJ;t(WT)EzDgnEX)0YNXsV&nrWpkiGR-)7d1J zW?rIFo#GlPb34vJ00;m9Adm$F_A5mSS?~rv0DXnVHf6o|ozcw=~xYa%Lyqf6~(yM0?olRm% z<|QiCDXx(+x8n>1fB+Bx0`*4VoPmo=aRJ+&X4U`NDyQk$d$pYp416fEwFO$@q>|Ku zx-_p;J3^PJE%_+}HVOw@Eu`Zx-8yC96zBXG16L26<|JxSYNo^6 zKhW>w6xUonaEwRZVbrIrKX3T!`<*^Ue61yK@8=E2!_JF$b3Jc(?HPF9FpuCFV`_We z@SHh~ectfb_w&xc=B?B7hF1BmJbVw5v>H_x%`v_XWoBDc9pDE7KmZ5;f%phK6ki22 z00AJN5y1W$OamYQ1ky#|kG}7M8jq*-S+J+OUUQALnq#kmkOS`j^5uVWp<=y;F)~9X z2pLMaQg}JRK78&TMUo5WQ#7u0v_|uxIycs9s$&EWAOHk_Ks^xndB?pTGf!FXQvPkt z|AKy{%cHhJ^=BQmzR&yf+KRk;+wXne+jaZHjwi22>WS#A{yy&t-BS0L8n4yA_|q+1 zrQtg5+v=`uT^n`&8OKj)p?oxw&m_^=N#~&BQ)L!{IK$Gf?iyRsqUiZ`$JEZg&W{%D z-_rFT9b-B_(KW2oja{GYTG#d2uGc$wgho3?JHFI4H@~Fomac#3T9LTNOH+n)v&rq*M`+{eO{_QK38Yf zA@B3vdZI;CFFBZBVUa#}q*Y0!_*b#^;ick|rF6l}p!a#N9ax*nf8Lhywk=+jxp#0b z>t5UaS}O5F)IlEY8dpbjM!ObwU)z0Y_sZ^(?#sKEb}#B)9@Bc{Ff=Ma;0FRg00;nq znh+Qn7(rZ96LQss5Z44_gt#Uc8?*ocAOHk_KsW>@=VyDakL+vJXIkZO`fB5<^*R(; zlWRtP*P+;(Z%6(|T69*w4z-{HLWf#yTYaxX)rMA*Qfre`mYA-&7IOYdxB8PkRDZ6% z{M7t~)|^ad|-KmZ6-L7;D+DhwHG-Y~Gq6M<~7>fW~S&Id`_+C|%j0iu!wmAEEtocl>p3(>hv zN^WVUvS#LI3d^u=K8t13ZYbp?qs!LeEgLIT@>Z&+qVE9T9)Zy3)T zHggfr8zwC9ykRpV{7cR7yy1GsH9LHus{S5@j|V&tm)@iBL=UN)q5tTK-J7XWI`};b z`|CPCrT=vGeqCPEbzhmjRb2jFFj3f{>wvD}|R6?8E2o zQ6#x=K1Jh7M{6`6s&nHyRCSEN0R(^m5NH$vw+`GI`xlBdMA1Svqwq(=COys3{0N6h zG$ahtwe>QZwW$5gF8{3qTXo_y<&wM}heh?)0oOlLUNxu#0U!VbfIyoeaDmU7SerqB z?lv_7%^BCcA=9hMO+6vtJP-f^nL*(8*sC>}=?WYH0(C>6IpdnT!2?4;00;nqh9Pjr z0Ht{5Ymu)-CZ3n|ly>*dU8|=bY1-nMQ+`ge1g0R8^Ff73cV{MI zx~emjdqQzBRZp9i@UGwzO;K~_el5U-AlU{buW);9dS*=CNT^H z0U!VbsvvN0L*jtOSgis@!p(?lf&oQb6O0X7fB+Bx0zja41nwWWzaeo=?H)rC2s9o6 ztk*Pt4B!C}00Kb34}k{;9*7;+kcKE)$YvCNKfi-%>1htO>E9B@lW0hgM%Efecez*5 ztd+|*E9HTK2X*2z<&wPp35)6jc;2uVI@Eyx5C8%hLEv+-qneC#B!h0?I#lqW;5t+= zHfR9?KmZ5;f#yQs3y7tfYrx=b83MQtRR#$NKmZ5;fx07r=hxI7au{q;1Q6G>=)j^| zKp-;+yb*Uj*Ekjr4SX4^CpBURvGzp(aZUS<1KV1Rh2tWy67T6C!}P zrU?fPE&~A|&=v?hGVl#V8ErAr=wy-zAg)OgP3QswK%n^%7|qNI&bJ2M*O2!pH2)Z) z2kndi;+l3Iee@j&0D*D@vJ=;QXW(6kYsv=*6d+I$0mL;G;Xxx100J$JKvwqG+^+8R zAbq`6zuPLOSv*TCzq3XITS{`*>eA*?ElxpnPEjV!SCo!*66xNeQ|04+t9h+e&QdX( zemz(fqHun1_0{t+b%(mkYFVpnZ6j6-6*uVCwQ8$#R_YpctCN`N1}EF3HaR)PH4mtu ze+ibdNXwoX3+~=}b+%ffR_VVbrT#8d3ybB|C0g?p7HOAPr0(`rsavR@0s2-}YLWir zG{-Tbe?$0JWJG(tOf6O`)jG%Z#l;RRR#z5F2Zy*fiM|`IR%`V65=GwuOH1E2%d~cy zPfFe5(1+DUIv-Zcoti$mj+=_LjV|hSPVEX8t-UK7)QtfEe0Six*k2QXOfq=){@nSC>L z+Y3LxE47PWBj@Ed{Ssd0FnsJMpKVWVx?kDY^e-6;{_TtmwN>W~(vTFr@g5}AlSb&F zImXwa%xr6fAFv4ofB+Bx0x2Odmh}E-k5~IXW5+rzj}81!S(}$PT>aNQW3?!wnK5BUCu!c% z`Gd}X(fQ+@kNVnqwDVtG^b^zx>iaH=TW=$4kC*vXPN|Q7>5N%@e20~+A@FZy^E#Y| z<#ICuu9nd^Kzkjl_K(}&$MyfOIDkMqA;9Z3?bKuR6$k)nO?pGE&K{?y0)G8d3 zi!UT&Xzp^5K0msx!>`@Y{Q6g!CcYXjqb<2o_#Px@GrA_4V;t9**%n<3B!B=A00KZD z9RzS4Dji&*wUrUTdQB^jF8T%pnh}9Ru)dSzusK)tux~g?NNdrBeZ#e&7G0(}_6>iw z3;Twnk8M~9>>Cb?6!@wmP`>}Sx(soY%YC-XU$S-g4L>>XiLsanQK2Dc+yFd zbB)i$@nfIFlC0U=t`t$omfb=%q8X~#F;p)3omnI66Mo_2Hq$R-l{m<%zc<`sxPwY! zCn%SG`L`SU;s^1uEiM_k%9;$Hw-jD3sE@&P@zrp6ttU|r--9Hq)vAN$7_Zlu*;cDA z$N>Q$00e+Q?Fd|2yC@`q01&Vc;J7B}dBYZCsN$hmKMsWxn1Db#A@F})cW3{|Rcj|4 zD)sg0fv1WqCB*f#Rp#1L15Z0ia<1{2IG*xJEJQL$|b+E z(QC8_AGeu)iGJo}e~8!6nI>nO?pGE&K{?y0)G8d3i!UT&Xzp^5K0msx!>`@Y{Q6g! zCcYXjqb<2o_#Px@GrA_4V;t9**%n<3B!B=A00KZDvj|k#U-J_@m#;2Ehy68mfmvaH zO?_}Kw^IHTzH&;rR2mfQuSo;dcGX$FPbM4^<#O$}za|_~HE|)X(Xiop!!^yFCKPIp zxaM#?Z#c!dg}5d~aNACGd3+KMf^xaT1FmSd?!Ms{2A;F7J-uL+m7>~n11~s9a<1{2 zIG*!KEXkU^?WB<{+AT!oF%zoTG1TBOWsNK;{KCy`reC68d=SfqPAx2D(}K!kCn%SG z`M0wzZZn*0i>QX?F8gcqr`kIFIfNS2$6z`mWw(p2B=hh+NYZLlT{Oq|I+U4hQFVYH z2mk>f00iPAfaeXz#}FET03pC}4X^+LKmZ7&g}~f^)t9vFwUXXd`^W9gi^Ua~xOyND z1eyf_#5K(_Qt%T9v(M4S2j|-?kAQ%C}HNn`R1qc9vMj-GetnU0D&k7T-kG5 zkDLEStG>c2ySb9Bou$<+snOP!k}KEh(&kc)3gh}*)zB5uIYpT?Ur{>NNu+3tPD*`b zVzAOxR@+uJJs->|EgO3__Dm@G{MSW9_UhZK@An6EIe)^b)E^Jv#FX_8?=3wa(aG>s zFRiW4k^;v?ReW4irCq75p}g|vx}xXfJ;RoTwaP}}FRd0ba!C)hZ`FTm^%$<}x!Or= z{w9a_vYyMFoZ_0*JweYK-d-A4mTk53*H1G&+EX}NEm5oV-;xq>p;}lhuP)KDRyfkL zWCE1s*sYz-}TUYO?%W^AnK~`SUh$;0<;e9ieS`)}+ zq<=TZlp9gnUD#aw71>>Qrm#$H>$|USUuQhF6+gk-`p%oH)Ly+EyA(MV0+&+MHH5)Wf~Wy_U`@VAs5Wt-gi&mt-Af5zIz=mukM?QgyBhc%ZIcl zO5IuX%x-Dd@`O3BXiRZGRJ)Ep`kgcaSg%PMQRo8#K){VazbE!~x1vS}ygIPQy5jVz zRi-wj_6)r0B+0qPXO`ZhHMkQ?lICAnEu@QV@tM&VIik8LV#iRq0e?y{%zcA;gDQ> zAsIt+mxJ`hqxi+w zS2oHE*sT=-T!*R^ImiJ4AOHlCLje1R{jkKoVLw!oqha50a#&_XQ!DHn9`fv6z`o%y zvkUu%1tsho79<*%^S)s}`@b3Z&A@-R(AvSb@sG6MFoTvb0+?nA0~(<2!y4!hcW??| z0T~DY0bc~@)6@D#Yp>S~TX$MV8Ouhl*Q_Y{EcbaYnYd))WfQM<{!A~fn8=AKxX;@l zV@kNs+hCD)sTJ01yciwrTEDq@-ulj<`@HWz!7Cf5-p==V9~bnXggAgkki~u85x~kI zYw&ta63+gme24;_6-9GAOHk_01#*-0+aKz zJ)C5j zrR&W<`OHes<)d$9r534G`e}4wp37Hn@4fa$^i%ox>8>N%>t$-Ru&Z#fGajSGPw;5r zNIe5q=7!6jGI-93!(~)@F5mLp%UX89B>E26S+JkWNAqbz?$D#x<#raHFFc{!pD(=N zaC!Zb=knd?vbx%-J*y>fFaqmy^jtpw<4Zwb&i?EH)IZc|%_hJ+$Uva32w0&~UG2gc z5C8%|ppgj7OEj)erzd|L_+#vdB)*1leXC}tT6;Jv_2Cjcx0U(er0`msnIq0^qk5xazD!aLot(~atoD{;=!9F}klxSmg>5x(_j)$VN zchIC`1}SwoiF6+^NLmNMLs)hA!Y7H`Bbu(X2>K3B;!`$z!>Q#SL4$|b$ zb=cqugQr;XJ%ct1`&lidqffW?4E8(c(*{20el8GL49ct;mwp83Qu0zE|uy%P|hl-A!_fryGLvj*)9jdkO zhx(}Ny>;QS3%|eSLlrE1(rOF0zlPp>`H7O0+z+*?XI0PN_FU)unLhk|4=1MJekg;C zDf#cO!Fw+aLdlg{@qVZ`yH?k)?+m^l>N=lyVb+dqbKMU$_vA|ZYofmQa`CL%aZ5rn z&izm~bk_FX%lW-{?`0BWM>^8IA8J9sf2~P*FM3`t-4!jA=FJ7OpHKYHz+U}&;;$#Z z;-u#7XRCUS>rkyavgj8O00PZ~0M={#MhojTeyAiz!}Erd!!j$HT5-MRc&yiim|j?~ z5sOGupMd z``YeHyH|FPbYI@Rw0lwa@|f1KUX#YGfKDI)1b{#i2wd2ZxTY~ylfVl)fB>G$hdBTQ zfB+E4E&_jnxF)-U1J5#w0M=_VIxuhx2mpbK2y}Vw`>V*@1dTuMxYy(5Q`WOye_Qic z^}mhY-ess5~^*5?g>USB_vy)g2;;lH+GvhBM4Vdoml>ydgQI;%f#*rz)s(*30p z6{cIbO2c*9x7A(Sx;ErMFLlk$FX_6a>mRySBHERWaq=;xG5P>p`{S=iH}f@$qwxcb=iXt8bSh_iEoueV^`}uXh?z z{il6Db5bVld%2&Ztq(bEmCR%`V65=GwuOVw;GO~*2wXg+;Lqu$fIR1K?(bZuBI z*XN~bz3016o;SSpMBQ9EUUD$MqEuI9a#oX1k;b*Pjs-J=pEn%8r+;fj7xA@00}#kQ z0+GYe>~{$s0s$ZZ1ey$i4-H;o#UCHC%1Tk~lEDu-Npi07nK&--Ni4~lz3rrtE!r(a zW#EJ=b__KbSk}mr!Y|z1X8I-i#Rsu$=+weeHZ7?^`5427>>3e0*Gr`a8S`DAOHk_ zKtm9?3~^0EaEDPF0mL;n8Ylw+AOHj!fk3+ZYd%u8`$qPzxOZll-6OJB1N&=eHrP8$ z>~fTu5?)TQ51+e7k>sLy7M3?1tzoT)<-`7(utfkS+qa&)W}Q+~@6wN;wVp zc@rkM&zn%decpsZGDr6A^S(jfb&UJGd30OpK5rV=);jn;?}u8eQ|Jv4Xcz*x4%IN| zVHgOsGy-og?OJ}kx1~FpNawB`yu!M6aHUmNifUI3Ug;#sxyEPWxWXr~B(*KET1gk# z;xp$WO*QV0P{fX*26xx!HClw5+f2ViKXbA_#B1nGle10tD~p|=ob6O<6%NV87m_hF zcR5I(AKljB*KTNj{i{q9Uk#VhmRu=(50bMPT@%eQj%&?I{KmZ5;0U!_;f!4bY zb#*aDB4qHqVS9eydBcnbo;PgIiloZ84wV#=O5r+Ga#%*y)LzdUZq@5h^^R+H_)N3v z?@{=8z*RtckHQnq8yjY5z4XNH&8j@E*Wh`8Vi?%l~9PKO%m5{v@?Ty)i#Ke@N-=AtN31M0ur#)Ss4U zqQRS=G1p7s`urmK=wjaQ&*q_S>{{*e-EPj-dlbaa?8P;w;yntgzVA`^jOPtC@*ait zuDN`@Q?uWr;FYsyySKcti^kP`$Y;wsRg!C~vSXoXeQ zZ+FwR;lUM7lALRNCXQjB#FEsu%4#KDWQ)(7i!{}^uR;+!h8m28(QC8_H@BI7iGJo} ze~8!6nI>nO?pGE&K{?y0)G8d3i!UT&Xzp^5K0msx!>`@Y{Q6g!CcYXjqb<2o_#Px@ zGrA_4WBiYlnQhUvKmrH=0U!Vb;v!J*>rj6FR=*DACq*>B_j#`_#z@qT{WXMw9N1sO zNML`B%!nj&?5{}<&Fo!=!hPPV&ex&p^FD9vuZi}l{dZ^AOS#OBa+0bZ*F@Q0Qy$k~ ze+`3PIj+I}8b)cvGeb96_38O*)U8fpBL9|Se+~B6Sd%11F}wR~PRIV5I>$BMeKP6n zuc2{uAFZ&zMyYzQ*C4L3XVGfUnKE0#+_&LYVA=<7!dJdmbulBvv_vuc=HT7Pv zsYhJ%XA@d8u1R-)joavGIsMue_7}1#zK}hOh^YC(lefZoxiX<1- zt0;WwXpQ1Q7+&nJ34;=NfB+Bx0_h`w=MATiF)XwP0+E;3+5;B!5(of+munoJA>oM-_A5ZAQ8AfgLEAcF{; zh4q>UqjLS=h_y~~y;W9=}?pS|9-gfB+Bx0&x+j_x(_Q{#L)w+fRyUe$TJj zP>hkN9nY^J6y&IUKa_Aq$?+ZqLW}P6ep=s2LUB!NzDFUy+@%H@AEE?Yw-LUo>i6O8a%&-QNr_U%D;o~ekj3YkuI!|O5(ZPkDk4_ z=3RJxO-nw%hQ`%>w8Hai(!CDlcb$T+SrCrq+6C3+T7yt=9f~nBGfogPlyIf+a)N#M z+&zjU7tW_>Twz+Cv;zXzH{1@Rj6MQ^Mj~)d z*$PV|y~(ESn+G>p|6|{5m6f8}roo$?BstgkOdOkh5=&CsW~-HSku5%RF49zEe1sx) z3^f=(qt|E=Zf-OE68+4{{t&OBGfmDm-LEWmf^xP~sZ}^67hg!m(A?!9eSUOXhhMv) z`Sq_dO?)+6Mq6^F@I6S*W^_$7$2hJrvn{$7NB{vK00e+QW)T=mp8aRpTcY+EJJxCW z*x>(^wbj;_U-yjB8ei|pkNs^?<1Yg>|8LLF1KVn|URmmQb+zW_OQ(ajUkhkSA}}~c z;+kZ%?x^@ij9P7cwrfWxY2MNKgU)}^`Qx3B`r3K4^Iu(b+F$d17o}DYl9zkD%&&4v z@>cycrZZ-KmOyKL1pcjTUWe;*x!h;V-q6FE=o_Flk6Q<~6jw^9f45p?u5B5-)k%_b zjnBlf#V4^OYxcG)MHI4Sw@{5}hAMUpl}mnS*2wyVU--Dq^vhT!4zlX+4YwHXppw`L z%B5fa?Z&?NL40hBOGd7;Cd20~g_jHJV=!HOH5^{+Nz}vlAPH-=>YzEs>osP!)v60} zKmZ5;0U(e;1h8JC2L1%}VI{MJEfDQ~m+!k2G%G?L!ii>p4tn#Fo}?eRE+J&C6`ymaF| z2=8k%a}v(jH{8r42;YGK5C8&|5xAomV^rosD-dWM1Q6G>&RC)+KmZ5;0WSh~I&lr3 z?Y27yrKP;h<_llG%h5=B?<&Sp!J5T-cGjkHoh-;d81mQan z00KauG6HvFy~Y=yNA&advvq9Ce<^c5)dQhV=O500F@InFp8QwxpUrAh(<#TDjA#pCD!iW#>oFqBd_)HuR`XrX5wl7$%q>F6vnJt>Scp>`4j_^slcxvaO*U$_% zmrTDzKhxRZ!F2J}a3t#yYfHc9 zNq9|jjN=+J+mg@=9Y6pG00AHn4S`Fev4a~30D%AmuwD}Y49GwL2qc8S2e4jK5y=k* z;`5OH-xEjU5CHy-!#<8>#5HlygDemL0ze==1RC+X`sEa3sfU~F2d5GEr#GA0M{|=+ zv-TMn^b`nW41w?EGUiYVxbv8WDXv4cz<{C)nLq$>O(uo`P5^-xMqqdGYi2><^_CXy ze5|g0HN~})SdO)cFz|2Afks@@oZ|+sfdCL_Ed(a#XM3Kqy02BAX_eFL_gPx`v>I(~ zDLHnnE^RK=;uJ*Z6lKzUMd?^4k?t)zDYc-2*N0kdTh(-{7RR?_W!EOFE+K7mt75e^ zlqG+zzWmhug;o%1tX4-yVG%0NhN$NlE%w@S1)-?dP zZu(YMYLQx{Io1Snxn&wz8_~ZZ{3|k|yS!1~-P8jai4y&gcWx9WFWF*W6j70f|ABYD8R9$?5y8M*El3A~(F4 zO}`$jic2`Z{o|UCsXNqNmW9f3%?2l;;kZVrYt*eyVsZX0-=sDSsXWnrrH3GL|K8T(elMRO=j#i;H>}t1FA8g(0p5(Rahu zYK=Z$qUbwdss29UL*g2xZgJ?t>LQ&FtL09OdCXbjnvI5}OV>HID_pepu53^@Y5=fa z<2MT=Rx+zKQ=HWrtk?LVl{^jWHOXU|wnjUy!Fo+Rw6R_j55G9l-nb^pdd;6>y(SLy ziOBML&DRDKQ3fSIpzRT$^%@*N00;m9AkbI@zFz0J#^0VlH7R7i8LE$8AEd-KDd)QX znYavhQhuhRhkGEprH5R1*MtXobOdOQaap zI0#_9CJuV7DSKgv9T=_IbMy)bv>pQA3bjVkdi_R^+7|)DHSIh0=s6Go0@*>}((Jeb zPk=yEBY?Q3sfQ2F1A)vTa8cQM-(QqbGUqfLav|^?tns+;NUCzmn@+c`I=#cW3We)X zNukSn-lh>oT$3!O&8Y3z@wV4*9)FyxZnvQf1S%o0b$X@N;I>-jf;C2M`KuO=yuOPV zCF*nlf0HACxTeVm5bgs3AOHjsMgZ$I2?JVGhxM9taP?|MT;oNg{pwh+X}>W?kKG9T zO=j0?9*w=)vLmvF=n{lxZBp)WKn(~afdJx~Bv6D7AOHlKAAyS-8r?h=IsS-;xW7Gr zYCKCu`teYGd~A>sOHs~s|1)tJZeuBnCGLTECOzc3yCyuyqa#3bjN_Vcvn{#>NB{vK z00e+QBN6z1s92(r9>O*dNEQLC*CdN4v;hGi00e*l5b#65y}w2&JeSW8rFb;l4;2r; zR*}BMv-i-5$X+AW#_rT!*TR4_bi$5C8(rjKGf(*EI9+!S@;vKwMJ;Xb=GcKmZ6N zjKHM{>w`KV(5?s|u4&hiN56qUItcuI*|i+JMowtk0$0l*fVie*h7uhC z0zjaN5ty8xop-yxuT`IEmEBy)*3Q!ErqyU`OUadMb!l^{7N;OOrzn%=D@w;YiF9w# zNvQ=Dygt-w+p4BpwK%>dE4wyXbqQ&kTNSIVp)C1x_2sALFSLS?waP|e#G`p)p4zwS zzqNV{_sJjVBxV}#_*uvooSal1mOsKHFV&p|DYa&PgVn7)g|pQXwMzdjDNz@yg~jsf z60P|Pi?quFGt>6_qDg66NK*fKXD-XF$OUPnZ)K$xsa2X|O(0j0bp7cg`Zt7sMMkvO z%hYILSK(r3JVuM3;L*aXhbpx)H(b`6%O(t$Q5WhiEYH2HWfx4M?|_|!Yl?Eqw04?L z8*(%9>vB5_&ljH1?avopaJalZzo|&L(PeeDQ+rlR;9vyS=U&lhJT({xkEaI96YG20 z(QC9*iT{{Ja>lYzY@yBw^oyd}JxU;m=g%I&uch2|KCN@ljTOW)B?AOHk_K$Z}|dX3*` zgkP_@afY8f(>7XdSg#4jsk{a2HRYIOor3k68C0rgyy#TythAP^S;#5Hjdggg)c z0ze=g1YST)k`A!Y+R_Lhu4(DvMdyG35NHwv@Lawo87R1!c?1yGWPXU?AP{JB1g^r> z%?6I(i+auHWozAs>U6v~C?&2ZaZX-i5?+yx#(UOy50b(%`+5-9WPgm{ArJrpt&hMN zb?)L0UwiaizVwd$L#aMM9j=Zpat`QxKqvE5zA4UA`RwQNU8pV$rMJ;cy9eJj_1vlA z#rdTYQQqUK2@mq<2)t7x$#G54bNQm{Y&MB`YR%Yrj?-^ZC+Yk+b*eg`)QNW#OG6f| z)EKcKpVR(`a%r_EZ~fuQ&#>v7H18MsdN z>fj#hTG6XkSt+XR8GO}Al5>sE#IeUGu_S9Y?WBur@tMcb)Wr+o7dyfy?SA7gdQF?* z=91}`=w~{erDV5=MnelK8Jqqk*6!cNwuM7-Mo7FelBV6zk}U=GF_V0i^12NBstgkOdP-PNi0ci|7Eq3F0#dEwrJ|&h3FGI!YA$G zshx{nLo?i5GW`<$OsBJy>=w~zXh9`o)4#;p{oB~Ka7fMwiC0F_v>RHorJz0r)5TZA zk*r6oE&ZM+;Wf=Mj%&Td8Zcmd%McCORwK=e<2wAIa6h=InC+4YrtNvT7rswy`ALt}z8t;5| z3i*PQlgiV^2HoeqQ+wUYN9(`Od)wHr9=}Kr;Yan&?8`m79M;8rx0rioWcz*IcYD66 zzmn+ty!V>r#-eiVfW+S@_dws~;;+a9eT&pGHCotJxOftIF;hfjE z?PG__s0%gI^4u$jE45$}eFy9;TvL==rnS?2`cB^`j~qW|XW{w66T1ER!V3jIo4@U^xL0{o_S^3v3}{?S2P;fH{6b6k3Oe?fE6mGp&mMc01#+<1Xg$=>b3{O z2Y}xX{`a6E|K2JqMYaDP{JoPT=Ng}hBcpGu%aIR4U{vZEWd~5S6e8EYX~9x z7u_zWGe-sc@HvmB&7X#6>GwPduMyWIfg*GO0U!VbfB+EqV{xquNHiJ&T!(7(2*5rN z00KZjDeN2en+4c6?1xHnH0&Er4$G`)YOj66*LZe0VBc`iJfyohl-?h^O7E6kQ?}E# zTnhV!v2VD1R)nYUzF|N9+)!?)W5}sE#Icu8VoBC)+DRAL;xpqatweQG#Ezi` zkA&zo9HLFEnSO~y=3swF&d`}AXPfR#NOc(OLbud>@$@Y+;qv z7Vf!x8+$hPOep#M*F{A3>f5XD_Xl)2f5zG$58%WUelFiF`l)=a@Law%Rp)~L6ZZ@{ zT=M6-qUYm1!mpM7bHLH7qp3AqrG_EY$ zYUi(?W_q-zaJE{aR_VVbCE`LwPbi~fHD?(-U+dX5Gv75AK7GQsd!H#NwXw6@^-cO& zeaRhNu4k_$r#BroBn;C9@&F>O@!eR6t?=Easn;o&;g=Y%O z)V99+`u26kV_WePyshuNxq7X-x1-mq{g!zhWmKB=oxQsbQ7S)`z5}-R+0W&p`LuWM zFAuq3=JvjO`fkt)+8gUN ze!zeR1S%ka^_mLcpa}>70U%H(1RkoB9hd(SM z>_4!-dAx&sM9n5Rc&$j(?f>J(sL-yYmT?-!S>LE;p?)wb8C!A^c6sx6!Wd$p=i% zPwt&OX>#Y}{U(o@ynl$Xsbn2-O(k^D1_Xcr5U39Ve*1>Um*Sdc-#0v5294a8LX_?VPN9u(D;+lFP4Ld*p2s9FbzpC4=m|A-IhM@zj2<8n| zSt+U=F!Tl|NzOGs6UPBQi6vRHX(wG|i_h$0$8tU1nRH}1b_e#a3e5f=pauF zW7qAnTQ1q!6zxM8Tg2x*42?>r=H-i07cEnU{1fS-mdZNq_AtFG*Jf)dZ%u+yn_o#- zuB4;7SJgR4zdwFFrpEq3uFrs1hCU$&>9J-mI&;bBmpa8YQa0LA0s=q)2mpabBk;y5 zzt@fS5B7mT77@UDO%_K5J^=wB00fje7;z1z0T76c0OFd+kU;9I;xcxIvlsUMh8sy46X{bc2&^Qk$Hd;+h9k(Bn6jvPjFG84K>-dexlo zy{tYsi!{rM>TEGNu8Jw2CGl$=XBO#CPIDY1`mL9n9al%xBDG8{Rx8yyr@pw@fyL^| zV(Euti-o{!WCDFRT&>pV^CgPD1D5LV6F!z{?KGd1x<&sjRm18coe!(!PEDU&$4$lB zMi=!ur*?&l*4~v3>P8K~8L>bZr^*v6TsV#LkGkG``!||$usV+#JO{-!_Aw>5zmu4@ zZQNeP#`C5bu6Gy9C#rKaac|S0x=Q64&Rb^pFV#<1@7Luc)!Q7(;ktE#!_li|sRPvE z>S+CatkeuOpw9z31;sVg>kDa(_n8={?4A@V(mZG3pp~x~|RBpO|?L^)2coogb%8)t{=jIuxbeQOt)l zt=i#w9G=BIzgRxHnD^`a90w`8Cw7?`%PB<#W!X8s{M}$0ymiy!E&aL-UoS_sy4%*f ztImP<&U^p73+BCN-UsG=aNhgo`SE|ynHRt5quHX=dA&Wk9z8eKO_;g&`6b-W?>)bF zY>w;IJVblF5IC1UQr0oO_!BqF{;5;PTO3^U%9SxxA;@Q|3R}jTXAKz#XIN$Z>#l3F zhGsZPa<1{2IA-}ImZUb4m&9c`8=KTlRHg{G*fCTi;Vro}P^)MYYo=eKpE-x;L}cDz)n8~a|LS zGy(x200e+QEeISkbVxDIs6`qwK%hMl;JBte`;J}%0U!VbvW&nXLvs+G`02!%yqcC1-!vafD%a zmD*|F@SZ}m>>K`6{tpF8w>i0Mz$i| zT{T`ZAq;^jm34X@Jsde-C&op^4`e=2`>{*z9+ zJAaRp$cD%^A}`-Je1G1%ZXard>|mv*o09_hZkdujKg?&UG9rxJuUa6Did2mk>fkR=4xPYCDDrQz7X z1q6UV6$B91Q~?OhKmZ8DMBs*yzw9y1w50f(Vz1Z4*U*x{qEju50OFb!9$a({2mpbG zBXDDksIEVDRMYV8!vP>rcLWgE)E#md1Oh++2$Ugkloi7aT4klEcGS?IlO*RFpNZor zpTv^XM)H!lEN9~ewG)*o!Yy_T)kt_tZVl8b+Qgdam*{5>W7*J|CTE-OSN8hit+O33 zRqDpR*JqZqrR}oFC!72AuQHACwRw{CNO~-JlDd=EMRSbf8Z+CHw*rko00;m9AW#i~ zZ|S@l z@ALlZ%v$dA{_ae3pZ7Os?wIL!pZAw%es?DB^RD*k%~HGlekk1M9dBeBf1mfp33L~> zQZvWR8fV|yI&d2n3Qq;Cp3nrcFX?d+T`2!W7T1Y45p!-Y16u;+o{J zgeD*W1pE-VDaM`7e)?LC_D@c9^HytR<}FrPDXP77=q*l?oNIh0j<@I?X^gMUlcYz|W66`$oxCoZV;t9**_ON&XaoX400;nqY6v`3jREaI00@La z0P8iOU;+~m00K25a5L6xLST1taixS*7OQ%^&)fT6ZoJPs+~+I!K5wN? zEv}!0)0BO#R_jmp5pPEiaUH51M;(0z0zjZS5I7BSO>+zsyvz^+h-)%57;ps$0D+c7 zVAc5Q-8##PV9v10N>S~sp);H$IoJ419B26?mZUb4m&9c`8^5TXs7w)Vv16!4!dr4{ zpjOc))=a-dKXVw%hR!rO+jPIO*B5V{?RcqDH}<_gvz#q$mqk9=+^>I?X^gMUlcYz| zW66`$oxCoZV;t9**_ON&XaoX400;nqY6v`3jREaI00@La0P8iOU;+~m00K25a0~8- z3V~f(`-UfXhA>`a!MS6LA42BMhnH*HQX*ZeOPfozI0ex; zMVT~TQ99O1quW(;} zYW_!-g|*7oHsX<)n5Xuw`j5Ew$sgz>W*YB&J_`AQlhb<51L_Emyi|73Fe;k)Yq971W7Tj}s0~Reh?;*IS<~rKasi-^xn=eqWQS z)#Q|qsMiXwIWu%bd;MHtw6Lpik~1Eo#d$kgIMR8SvQl@QT;1+3v=qlR#~n=H0Xqxw zZS!2=xdP26r8XW<^ydpt==SFeFF0IY%@WsKGRbav&s?fKt0h|NaL=MBecPap)}u2y z?~QBrwPKlCA;lwnTr)jiEv`8%->z}Z4Fadm zo9BJrmeZk%^gA?A{8bAjP!rQduHUYjRMb)Ey4AC!zxxu`tkN87 zEUr2_7|E3Peclw;TsCM4aIZl$CYkVe- z^L!FZQX9!j;GqCkWa)M5|8rwGs3bb8uh#@=Ao~5TM!)r% z-P*qw4|?^WU+Mfe`pozee5aBqs72#U`~$J*`)mXt;jY5wu>j)Y8+6#pYbES$Oa}oOFS6u0Ae{G|P(W zY%w{miYf0FUwE*)9#k7R`aV622aX;%nm8^v_yR5Wu?ZhM`2Q5;ss85&|G9IfR!%=X zgY{i-@V>O{UOb4G5BGYFp|gdB2VZ#b0w-N~@I_7{8zS3?+`C@0SPdQRx4(u_s_r4J z*VMAV<|t}HSZpJZ*i?eAh7FpS=z(oQRUt} zRPKkLop*bDB_2bglBxO0hoy-Y^2;x=-D>tk3vow9ggv!2FeT}8ZGI)~g;!s7uc~v9 zPJjG(M2*e&x;_J58Jd~zb>=78q_W{>Ua5Czl~Oj^Q33)$00;nqdLqzV`)mA=k+l`S z^%_6^Ff`FweZ3~#{WW2HjmIN<*y3qPS{nOnl14Orea*RE6BU<5S^)cN+^Bi?*SK5V z>oxASEY`g1HBt80e0&1!uW|Q^)@!i8#*ImuHQrxy^U(dCHIR#}`dwBziZ8cEl-n|N z&(J@FkXh=(v$jOLK$ljQYEk_4@`}#C8#3vJAxiIe67jDcBCabd*!zstw$Lhjtp(Sw zs7WeVUwKPyewFJl)7knc*sAIE^4W4PqZ+1 znErWvv^99!lBw6?RWg<XOmc(d5KDOifg3I z?KlGgAOHk_K)n&bzF|Ma!(WH;lNK8G4GR+3H%w33YVD&ruR~$qu$h&9`-Zn*-!S$K zn<>%+CEhpujiG<^tby2dyPRg1zM*{xV~hB_hoMo))C^x3&4!ywqU9Sy{)u^l?1?VX z!rallFn)-}oee$p-;#^>UltClUSO0iAr@^ zuaPph;|v6V01yBI^+wy`Or+OUrBU6Ib_oBhA4g8NhI^y5OFQTQLqQt#=!pWZ< zde+G)uIW4KryhCff2;4WY0mW;8J)2CBF%_>!)~;^`-bI-YIrUm;e>s|?%5KyCbK9k zzwq(CVX3+EH(KBN?v^OEWVA%F2wou2I0PuJ!2tw-01yBIjYR77*K&gAOcvg34{g> zKmZ5;fk+74T;m&}f{e^OYGxvFO^|-jfj}!FfVid=M-_bn0zjY@5SWdqCbeO_syj8+ zH7Z`#y|(+ct{R0C6&vjuS4VV4yB2p}+kI*G%I=Zw%e$9$FX~<%(>mgsM5hCk0RbQY z1ZqOyFe`>R)G8}QwZo1&)Jc+ajnBk!m``F!Y9o0`T$ZzOmD-8Q6yX*-hH50dCAS7@ z6>Vb8^h@+Jhp}wvOp~)s_bYpS@z&XnmnwB*-|I8W+0u4d}=P^g;&^00KY&2t-4`{?%}QBU4S{8ObHypuBoqGq)7gkQMsw6M#5WiYoJ!sCvG$S68+4<{;-7IA{q@XsO0sGwPduW61Uu1Nw(=l}vh00_iG;EY(}<5YQKg}Y}_zSTL4 ziLdI~qqBbEqH&w`f_sPXwOMyMiCbTu_4T66gO==L#qt+sJ*!K%TP@!#m4E1z_7?}# z>FWKu{JB{_a_G4T|947tEAIzd)m^W)SL9LZ_u%0)&sM?KkJ>H@9ca_F}RD5( zsX0}15Z5UV?`f9ADN`qwNuM%x_q5&9ygDmc;Wj>>piWSi9BE6RJayA_s-LdyZkoPn z`ahqf)I9awljb>0Z&A9cj#HJMo?q?>%w* ziGKWNIrC!AG@30+ojUb%(>^ziN_%?WQNryVQ{OT5U4vYwHXK<%;2-Atd$E8&V#UVe z%b0@X$`}I(^4SV#PJz6qH+iKGC9e`1fk0a#z;R7mb{(At0ze>D1a6za>c5mi6p*Up z4N?BV!y952Mu9-fA%M81<%Sd;0sZsUpO@L~U zfk4Y5fVie*hZY?J0ze=k1hyvp9O1BT9edPb?79gH7WjZb5dp+Cm?B+_gM$hG&R->&gC0DN1rOl;UoPy{KdM+R7-lCII3o3YhsMWSr zO}A=sd`nh#ZL;bT(l)m$R$D_^^5^QyPt9LwEv~FpHVPvi%@gy~zE%IN)nm9%{y--& z(|E_vLcZYSr1G$Q&~y2A7Ceeuta^jhpFM@M)e^Nz|1Bv|7pjHD^6C<;`3j4)%L6mh z_WPnq)hv9fc-L<=zIwEucjmI(iooZF(zmiwi_|L3u_lnK9)5BRTc)+seAPn@PfnT_4cMB;YOF$)lThMErEj(Sf6_(5RLh<*K6Wyz&HVc=0d;< zm72?Ocnbu801#+#1Wt?{)wDQ3=pGR8K>%@$4=5l30U!VbGJwF_5Z9zO3fNy03@!H8 z1Y?61AOHk_01ya=0QT4T;e`D)eyG%shW$15!#XKT*k6+rl1f$DU$ZSkJ8QVd*k2z%l#An8!Ito07en?OYu0#1D0~!zj0&WDZ@A+PC$5=NFwYUg8X6>kcD6TTd z0|6l5Ab_|A69EVSfpihLD|730>Gn6O_J6XX8?Wr!WACtuufgjR>Odgd2q3P>_V~a% zAOHl~7lBh^M>Xw>9eUor2q3O$-?2x}fdCN5HUjTJT$Akqf_Irj0C7zwhXqan0U*$3 z2;hDwzX8YnP=2V?kB0l9>W6hwmT*5*Qb<<5AL^dW?XST7P%`qkA4-sDTpn~klv1Z- zy{2))0?SQ{!2f6OOyK1zs{CKC-!pG9Xb7F*NtTHM378RvW!?fpL=go3kwL|A8!^JT z47jj_Kte(YAt8}9f*3LEJEFKCiu(6I<6jXKbzH^`pBacCvWWf}WEe;Pb?)iYRrhw? z?tA;z?Y`ap>-xM~Ri{p!bLw07^{ZF+_HFFfbnMh2a1a22E+T;a8rNiEzs5zSbu#SN zw2rkePuQ>VMY8^W&28AP@dw&rDa-dmVZX)!w8f(M{hB3XOR!_p;@N<^&L@EVn$Dj? zi~s~cpgRd1J$5wKHQhP27*&o0u&&7wE=+>}2!KEa0>@xglYw6SuK0eacs}@ksCYJL z0Ra#I0T4(+;MlR(TWgqOt+G;7d;Qq4L6V$nd?bz6I}-O~Tii}|=*Jv6HdD8waK&A( zUF@2EQEf9W(Pa&z$8qw}j?|XB%EqU=WIVXrnGCfx){L{@OWytne2t_XcIX`A{Tg$& zwIdGr1OX5LfnFzo?@{RWGXUfFMF7{Ke36755C8!;fln0fzHxV)?UiC((_a4Y-aQ1c zuIZk+#7ID(m;~;?x~Ad8ym{;&tZPqiw#rIT?H|V893;uP#z)fl2S?(b)b>`Zm28nO zK5}5DE>Va*@gsWD?i!HTHEl+lOJ-bRpXGFvlHDQ}jV!KYe7Z|)-QC8%MMH8XBvF~3 zrrpT=mg2@3FPB)2hTn+TTK*&V5jCA-ysj~4n-9CN0RkWZ0w9o%z>;+85$zpRZDN)E zf^XG)VQ~D%u{Ues-hJ=Y$6eL2Aseq&d+Pep71_ys@9XH3b`*sSFs6I~$j{Fey zdM$mv)iPKu?;iNysaiiuy;Ya@QLhRlFVn3%1{$-}LbbDcnHpEe=$75pe)_ndPIIla zSW%h`5{>$Jof^GfSXbf2+V|lVjinCFSwU>vFxx6SR6U4Zl+wmNI-;HXcJ2G?z8Ce) z4$_{v$Cxt27OF4QW9N0v-c5QP>^n^DuLk>$R7=#fzG(r=!79=5YDvtK25Z?zY8}+Q z59^<-=^;H$&OJ@tF4aqx<(sn$|ZFC{v^pYC;{QYX|Dzm;(dpE7YMnKR~@k z|5m*+kSKLTCI34uYxH_~jKboIe7utHt8+U}7T1o7C5C3DyCa*{$L|fMDOxuz{!9LS z@tH(t1VuZoZ&)XeTO=f%);Cho@INM4Y>vQK%f_3wbYz~tiy*{2>>G`RY7JQGOo%U|kW9M~Ev)7^Q=nv~VEMUn; zYB{oo?V(kP(Xwsm``r4Es@Mt3O)ah`Y1k3ab*McSC?!{+_Sbg5UuG>TeZTzd0dyVe znFDICL;X>=&@0V#s0G@W>*cx*Wyi^VYDZNo5zWK9E+Uv|iiYIONun}6O}ml#Eyay7UM{g34Zjhwwfsl! zBWgOw_-(|TZ9eS61_*!v2!KF30=T~>9WQ8uKpcUl{ymB_1~~|T00`6&_$==QV_M?GyjUSG%0s17{RkGdaI`UhX2d*Ya(b|+EP_H zPnRyQ*0L1DX58~@$o3YU>c4KU-;CB+0-uU)@zHRFx>ns7YiMJn<>FBNTyc1hEtIzH5xg9p@s8^}w>Kt{~4rFq9#jeiz_V_w}K3Bb3 zv{Zd&hqKgrt$UK9_kfjZL#5v;ZJo|1etmX_)#?OYT&>R5$J%#`%@w`R2eDKt>Nmk% z;HOI!xw=?A9=Y>hpnPEL177xP(ppKYFYzJ=fg%uS(LVu27%E}_0T2Lz!Vy>=Ly+Y&ZmgfB^Pua3X*J2!KHA2;5y=KZbo?UHAT)o5RYv)sEJd zyZincxu%*M!X^zDGp@$_HOb=M>ZB6Azh*=AiZ`j(-d{uQTlEk5#Qil+q*`e2*Ib~# zXASq)#F1(&$9_#?MtNzt_G{j@3wbm9HD^?u-!&~Rij!U_Ete*^zveQn{MKEP?bp01 z*gF#I=LZGcUn4w}zQ5)oQz=C0RP5IjVjd7ga|Ezo(;PSS0s#;JfleT>3~Q85m?p&N zkpR{;9$~^12!H?xcqOpB%T^`bHXg5&4P%}NU|r)0B+P&S2!Mch0%vyFx~AL4<9))r z%;1@0oLW09tZQ1!8{R+w1VEtk2&^1i*<~xN&YJ^7oRk38HAzW94+M%u;EOSzt0`8L zh$b6>Rb954IJ?WnlWlgB6}Gdtol7xInP)>t^ItiNnh7h`>oTZk5_A1;uV{hjG1)H z7^QQ9M7FORBdy~~@qYe~70Xt&TOG}K8+o@Rdk#$AQAF*3!y*@LDMjm=uZ?Yq^k+?_w#9sF ziL`fmZa=@KyT2c5zXf^E)d{on_Tbb0v9Dd#w??1;?w5Q&)LN~vK32=!w;fV`ehqo% z?}wTyZ!e!1%*RyaH+ZW2#7mVrr*C!5Xuh)J>Kf@%ZRza3M|9ugX48AXw(_}^e)9cL z7x(R6+SIqL{9ySbnl1aD8zlC0PM~|gyV>+LgZd zl3uUcbzt5qb;JBy=YK1hj~nI(VlBCGQmJ|K=FIz0-+7@`#{b@Nj+QEQk;U;+-D&Q; z|J3g{_wG*b0XNOx<3P4U>l!+r?w;` zLAI}sM5*iN2NfJNfjQ&x&*l5R^{x+CAOHeM2;e$Y5=zhk0T2Lzb`W?N>zbUfKc&h3 z``Eu1i0_Zaelzy_!JLMh%IwtOuo}AkcmSSl6_F4iEtdfB*=%2|V3Z>zeKwjeEwr zLE7o_gmq0foP`(z2!KF$68K|Rt!uh-jxegC5x}~pXfuL%KmY`KkwER|p;lR+2f^o| z<|;{x6{X1_(V4PEC;hGH7Om*{gU>@ni6pJ(|9Pm5*1X~KP)X;do}T@AsP6rocWXWm z^|>~E9;)8_#}$NOivKM(c!n9oB+nS5ske;&$~FVz+PJk)0@pNFzP=S}C+ zSLct`|zs3y)QV@tGfc=_SG-v<;5CDO;68P`2|G~PZtup}U zok#%dnogWG#0&x;&B_O>$U;)#UqYPA+VG2n+-|ivad(I%~cVZRZepK;O}O&GYp) z2I!yOeqE;tTwS3cd2bVOjUMY77Zu1rAUy%BYtl1A4-iO7;32)X!MXIAkaGma2=|5<{Bf-mjKo^`SOMJ-X`!}eJu*lufcVw z=6(xyz&(3H+PBK7|(uBq6X9)+9+VK?ek? z1hB5DqCf!zKmY^^MPL@zG=-WE1k)J=u&(Khc|w#R00O;8U}vmsdU4t@=1c^zuE~TC zok0KuKp;l~FT%PeN4hZGodmG1>CSn@s6YS&x`DuKtZTYq8Zm~J62Q8qrMTe?1V8`; zQV^JnbxjIdPz3=ZfOQSd0}ucK5GX2vzs9zd+E6Cx}a z0jz5ZHX#TH1VEr`2|O_)-O&Cf^QtDDKWKwMHxR(OrWB-S_y*lsaxUy$5V7pIhm-N?WJ%>1(6c z>@#E0w(^7JAL;f7%MS%w(Xnr?2apRh;j&n?tXtnEL}Nk$g#BT~-8 z7D#5axy{5Px~yS5i(k9lmc^CBk<`{qB(-fM5xZQ9>NM&d)z4N>>y7F0kv*riP(NP3 z*6RDp-b&{fuWQWNmfb2WfB*=900{UXFgAYEOMKXY4G`!h0@$zVrP;<!4@6PVgD zyNzTPCL((+$$CKx1bUkQ)-}C7{}??8fIu+_9FS=ZbHI3Q;&Ht^Vwe2zPuL^%=N9TG z)?Pl&Nf?Fuh?MiN1(F$UZZolnE^8Ri;@57sWpU+jB(*gYNo^ZR#4eYjI*ocq^|RH} zdSiNgWY1|W)Q{J%wferYx6(Pr>l$;mWw#0oAOHd&00KoJaByT@Q?ZUDN(aKm;u%fOSnval;u1fB**$J zAf)HltZ34gJZna&+UM7-p4nV*V$(dmW^VBGn%d{roL0xfTB|MD^J^{{zGQe!wby$p zL{`jPG4qs}X9YiIJg3j(#1ejf&1L%OHQn(1n)MCO1^1I_3>_}HwN4-Y=9`go!0c6^_qImuX#9ln#cp?w=78Z z{F(#eet}vu81-mbo?r85`GN8(b;Iawqb~^NZcVwZ&v@TXh@eG*k2>1 z=hqC(+PS0IrqNqQuhi|gjNTe(MQv}c2v&!lZS?-& zxk=YoB8&Fv#rlqm;+|jQgT|rNwUG~NumJ+aCxHE$;?EHx1OX7}O#+AEbKbo<@fdX` z0$A5%!iUZv00KQnp!9+~hU~fy^_uEl3$8<%D^c$6QNVSmX3ok+-=l!*P|Z+nZ=Y_s z4)qAGLp5;{;X0H+!*wVj(Y`$HI@JFfKT@am#RbnG(3u3VU(=cMhNwXR1VA7Of!AVX zlmruWx`+VQHC;5B7zzl0Kvxm?d)!~sRr86#w1xoIHLc+cFCYK{-9jLr`)gcuu&!}Y zfeZxd6TrHrJ|DD#00@9Un80I^d)mUS&DLI*>3Y%Y#%mKt@`i|A^20x2kJO)AsGnGS z!#F1yRk)8xIS*SPnbGDp6N~7whVd+Z?RHxhR}M!~TQiZ=wvj~aaw)3QsCQI9TRp8e zrpHJ2oYq49c>P+d?<;#NonySNF=tzLtFQn9AOHd&ke0w3BkPZJ{ogoVo7lpeB6i6S z|AakKe{P|EV(m@ioFtlXACYn%wm>qY&21(Y(Pa(eS^V1Vwk)n3j-<9`BB^a7iP+^* zRHsqzsD8G3T5n8`kL)?Eh5GUOwN~F(_EtK_cwJ-8w(M460R%t*1VF$Cfw$oP8Xp*8 zqsIu~I#iEMIED)XAdr#36S-W6as~Ca$X<&}2Qm-yX1#|!XBwVw@^Q^_KtB*LL}Trq@0H>kj!Xvn~6nqS;Kf1zjnJViz|mC zsjZnvYTHO6cDWSQY1BKapRJzO8`I+>droVie!PCI)%TUXmCi9<*O;>{yH!{K0T2KI z5GV?PcShDVMTrY>fIwaZuwRoGS=a>u5CDPBBX9!NL7g{gh&V(5>zWV_R6qa(K%g)L z-ZlQ0eG3x|0s(;zA%JyFhfEa01OX7}8Unvhc;_+JHC;317)T2VU|rKf*l+~`AOHfI zz#kH>YuIA@ zuL{yy__F6e3by}iGyWgm8*`3PW+mYH6wVqB`hx%n6q3NxJASjTkb!k{P~Wzgp4`zR zLGU0@90FL^6lX3F2?%s2f&WZ+H%WJnzVWF3Z?L+VQ`(~x)_s9hUtpEPT7GLsYjaC> zO>gsv8A@%bb~{g(F0a-O(QSw8pQH7UQm+n<)y4(|u{l?nv{+G^3=(zU5_o=99lJ}c zwykQn7O`wFv`F)YNWB=3C}qvO(DtHbyMZEK&Pb{j)*O;q=lj zL1LvDL7e4MImpT6-<0-_^q1#_1NYK2;>e^ykbOV!d! zd0kc3d4**<i$12d%PFRD1vU2ZJOz*Z4>p?{_5b$(Ez- zWRX4EEhJ?`A{9SI8jp}Ia!=70ZEiE;68jQ^cs6os;a;{Zt}K4yav7Jqoqche(PUpF zHL`HoZOtvUZMZc=8aKvxIg_&6#g@-J`3QV^O>2wJF<#f0vn{O+=z{Zu&#+`gBB0~0T2Lz zBm`EBpJAbd2wJF}}aXoNZ}sKpzA^00clFI|1A`oSh*ofB+G|eZx2pKmY{tCE&hq z_`h-Au!TL}{hG6^-5h%tgaQcvmoNX5ixm4c%*afY5HgZvrR4pDeeyg!i_|Y!OzE`p zv6?Q1#@g7gY0L;3AOHd&&_wUwqg1D4efj zTQ_*a;3Yc$WDsYyi!My1ikW&24A}jnrw1I(?4%ubl@Wu|CbH^ zynouj#|BsHbkX27gPR8L9DKT;XK1Q_s{iwYdzDrUUN-pg!8P6^riiXk*Qy&Ow31n7mr_@d0j&m(pVv%Y4p=E&(CtYIFd0*N5YV9Zj|Y~r5$f^^)DX3R3|=CE-4yu zQmPl@^H5QAsDl6qfIu4voZJSVa0vq4NC5ja-8icl69^QFz|2BL(=ow(IP+dj#|#yL zf`CT?Sl4)j2~!{d0wB;N0qoZ_2@c&rAVL7^ng|e7K>!3i6DVQ7rfH&=w`I?!JzkrJ z)KteWH}P!|O*u;3>4wth3l~%3;4>(GqI6H`bEVr#x0Jq6y0dg$=`*F9GIGGWCc|`~ zD+qu92zVi|W&8?j1+&E}>+fCCwJXNA1W9tP@sTvHa3t;xi``GiKZRForCudkmY*^zCZ9So!>ujpVQBM1K$bB4^{`O?}a33J?E!?e@$Gq zlKi~emh+i2+XKqIL*TnL=XJ8N*Y>+J<{OIW9RRPC1hB5rz_6}KdDe8SdS|R_o;MTg zn*2^NtZVXP+k2L4*C)vs)b@K`%pE!1yRNx*{OZaTAYyi{Rp#2&&O<_p6H7nx0!JnucSd<-O+H1(T*#LpSWDcRU2;(Ngk$abt{^ORPpC>fJ{@`3QV?Yt{yxW4vEu&bDT4p&tl<00@9U z^91f{zAJiy00>wFd|rpL%%TVaAOHdt0@Gr4UjV2vfwem|)~T;?ePsuxz7|?RpnC{l zUDG{tiIIRncMv!YcUV>@66=~O3KT#fApxvw5`uyn2!KF~2n_Y){tm7~wdnMMo31B- zbxqe#F$M?%Z6+|>lk1dp&~F~U(YjuAvsG4#YB!GG93;uP#z)e)(UG_(wcTp9k}dMZ zN6w`;)i`dEh#w=3AD6LftcW(ZnQ@7I*5r6d*T`8WM_cYHi=Vih{nTp}4ap@I>SJW# za-2Pv+_vFrH!|1w>dPcnqh+l5D(K*KJ8gsU#w}KuZ00JNY0)-{e;B(%$ zbd9DUy&cyM<~bGg9$mq+D_x*&^E$ebM7KGcMzmG{~zv z8g4P#aV7B+m&>@^?Z&^vL3-?qOQv6aOGYnRO5QJSjPY`b)o4V$`=}=$fe&xZ+Msic z_iN1A)~qe`0|5{K0T3u40qoc4Nx^gZ3V3Gb5>jXE*G$KA`Er?kHj4e49O3qy>Dqml zWC&{eO^>-Fr+c5v7e^}l=b=7b*@21k067SB8v)!m+-)<8@qj?56Ts)ZWd=Vx{#mR_ z1O{>tNJs$dnuMUB1_B@e0=W^md;BhI1#`DmR*GtOjo%$4$+^Zy(zwf!xF=gS?PQC5 z@sS54tt1Ug#E+52BM`erL#&B6GcNJS8XOPxGjf*6(U!Z)#;3c)e%x(5YSEBfVxc}p z7B0ux%O-b?uf9xTHCovsaQC(;xHXC(rE`qeHRfz9LR^Re1V8`;dW`^{U(;(dj`8M2 z0Q)t0k%e6l00AcOf|$Eyz{e2y()brEJ0&Fhl2zu~7stO8B+0qPN7DGBBXLh^`-;`7 z6zR&5Baq%C4NJt2k#fm(6uYKPtcf=>F7e1391ry~a+b-_mb=Qvr@O>{+-*E+(U4qX zp*}_yF2~u+CU=dmzD!~@TG=9S_qHjxHHsjmbBxzD=4>lMT!;Y#KmY_lK&h{ee>Jqi z0TU1afyM-|U(=WoG(Z3ZKp<}dXAEC89QJXMRbOM3!&-i8M{9E{n)J1$8p?UPba}N# zg&jsi)x;ICIaisqSW%h`5*gZ}lTxSE*%e%CwQW_ql^VOhWcZTd9jh_Fr$Xd;qt6@t z@0|yOA7kS$J9A>m1%d8m!>8$FbQ+g7G*-z$)@O~YpeiQR7wbWa&RCCF)Avu=2AZmK!nRGrtFrmhft6>iSy2@(RZA=7byZo>3Nx(VSc+|N=v?^3!T&nzfwEGU4AjPb>4CMf<|Tvk zn(y2Cp0i%Fs&7qSoZp8vF{K_Tzh!|^>tnS{@8=eoayv?omM^dT6?wG$KzWtAVf41q z7X;QR?}# zp4#*63vL>{W%Nqje#_{sfmYP^=89nTY`f+CIufO>uS90I^lEv>MUMw(Tt4Ifmlo~# z>^di(_}gi9?ws9YN40Ry!Z|MvQadArZx;dV*SM%a1_B@e0<9(RwehboWF6SB7 z*K`a?e34%CWn@$`wWwa2x>)(zxI2+8YN_u}tgv>H@kL{_EkxV=)SHRQkLP+;8b_6k zj9ZK6)cF5;=yxF6hkir8uIHMLCUI}pB`MWuT_a^~#}NcT00cmw7zFNhtRK=x=Eq8U zzvux1?I3{tns!i!PY?hB5C{|K?)z(2N3NHL#~xp6=lwNnsxiy`H7jPWn0d;~vw|NJ z^XW4=u>|+m7&4}W`)dq~yi471e@&Fp%l$;mrL_Tl5C8!X0DUx8I|G zlzKYVNW`XjD&O4TseHB1RNT9gjSPpj7ToF>bsTBRaXXyg%<|drRq}k3w`#| zbUoJ}ciZDi%T6~InFWumbDqoh$mrcc+8!Jm&&x8cvZk?GMvXHw_78V|B;ixr4q9}Z zK8p`pbWreQyzQgggMLqpK0Nw~feZC-BGrF0`kUZLt(@jAVQ&swQgs}po>wK`iLSE>sl z?|qxKlwMm8;hc{T2h2~mMA3d$lcPxU+Fh^X7SMC~u&!~i_%YJ>NnnfIQ}jif+swGczQiD&jhtGzmo1Aci=Vh$#^r8jU)*Li z*%wKTEL?V5b4zU-ZVi#fjWJ%%r0jOFjAdm-v7geu<-9IZ2``u+T-~F0x)^3iy3qlOT|K-d7 z4Kp%ln-DURWToW&gnjZnJd4yXSxo7)^0AsOhQ`|1uW8H(8Xy1yAkYc|-S_;O2d%%Z zcrKrP4&k|cOass5v(E}&Wjw#e7fGdx_xu_>mrv;@^zlpQcrKs6lijl=etr$ELwUvu zb3ID{*P(iL>M?K-$d$kxT!%`*_u=vF*6zl`R#_>kZ6AL)NRo4nkEF5Pk+>(d{l;n~ zTjYz6oJ()2anK?WKSmlqC}Y=H5p8ZW;}ZL<$?=e`k+V#Ww%k<~KXEzxsn;qRl1nVq z$H>CvID0O+ZNt@WWUlemmr1Nf%UJVQNrlU~tdWQeu0z@92d+ag4P1w^&kA2S64#;pkxXw1-w&0ZS&@3Q=lh}Vbs%W` zy_X-2`F1Y)-pd~a->|v6w#(mpS-Y;;Nw@L0DjucYs>|yKZ>zDlc5r9)GBvI~p<8xW zOZC6r`{`8gdoMQ+ZmzKs9$aUA@8wkuMiU+z*YN#N#DTsa>K09p_G`NHdoK@G2dfK1 zm)X|!zi~F714_Md_8Vva$Knh1O$WbP%wOrZTj@}>LcO@OM`_RMx7lv&r*8mM>hIJ` zsxq+<&6n&Im2iD=MJ)fi?CVyGNG};&7mD3(F4p&6N}R>Jzvi#?br5_%6rVZETXKKR zCnMh|yt#7PUJyE$KNQsL@4bxnv(NTu`I14J*YHbzx5CoSsnNP7-|JAW>lAd&f*6@= z7gU#P4I;&LC}w2NCLv@b$x6xl3H#)EcowN&vY66opPdXC! zWXsWZvdA9o7LxMdMJj%bG#(CHMk2jkU2~)0h!7KmY_lpcMqV?{nTyTYp{g zIdA(M!soo120rI)pB28!_?)*dlK7mrKa%M!;d9>UnH8xAeIDxB@n@`6z_V6aDXKj) z{%nvW=NcbL;~7Wdo@_bVP8Qjt-9l0(BU15Wr19j~BKH)1(dITYF0n5$h-V|G7Vc%s z;>zMDE|+n++u0Yl8BO*@QX>nO-PYVv+lE_1q;X@6moq85U2OTxlaIis*R;0i9OLUy z=4?xA1NtBU0w4ea*$LqOn(Pc=0R)Hu?ytdl00JP8FM-{vciQCZr<1M!Y5cj$P6>_T zPga?0&yD{nNRo4nkEHROBXLh^`?J-mpID}Aa^zfkQ;jK#MEn>jmt03<*H{rfZZqQ& z`>e_Fkgk!lOpdnPRTe*SIs2*CDjJeYEY!!y!sR%7F1c;P)ox_2@zs|}tVYXN^H)kf z0)IZ!TcUG}*EQyBOK$}|KmY_l00at4V1y$3L+~tMJI3iFBSDLr_)|@rt(Uy~%rTPsLjP^YD|gZOJ_**L<#}-du4FFl|>8WF86ZKTXy(evIB5dD^HSt9K6G zJ3yB29r*shw{(90znlO=?Ii2NS}{(&(egn)VA4r$;$(QMY1~(_;h&{YvNt%dFQ^y z*nFJrkD&S3JEmfAL3FL`+=ut;`?D(jkf z%i=w`^=z8)kz})*ym$K}NFHk^YZ7OyYdU!b5jzNg00=Z7fa_2i5UxWtI7_;wxihXq zEu4w#Q2Cv5xDJ&c+upNWdp#)`gW7%zW9~HW-s@1)Cq^oJ9K>w8Rp#2r#PlFZ&NV)g z#)u z0H5`(@fN9B(eq9P(z$lc7~Z8-{)#^F&HdE)trV8r-3UbfyNE51lu3 z^3XX$8;4FES~;|A=qU03={>86Yvu&!yvyuk+ufB*=jCs4*-OL}MtdtkpN9u)R#;@O}D z1V8`;Kp+_b+&7$z6SP2}5drMiG$Mp{5CDNR1YTBickn;$n5I8;!vsdVXwT-ax@aun zSwgKy1hB3t(rh3W5C8!XFa&nd>j3)cmRC28rCa8t8^?ilO*hUe#smT&&}jtbw0QmE z_UD%RVmU9-80Sn-VxN?A-F+l2qwOoseC+TD#I}r(>*1Q{AWu(#&M{usBs<&Edq58m z009sHflebZKhgT5(?-?)cn|;EqyE-Jam3#q5+ox*$qxbS*ZASs$yO$3*wMdy#sQ(a z-G(v_{sFF7J9e;efwt}``=nS1j%fr??HB(>y<1bXn{Z)0$A6i zp#@zK0Djeu0M<3VG0zw!2!KGb3GCnE^@rP^Tk4D4SfVlR zKS7CoQqFbvk+h7quQ>Cu!y^#eGD5D0YodcZJpnq$cwLk1Y)kI}JwN~iKmY_fjljW) z)*rQ_dPS4{YAtoAzZc!`I)`qTRC_lOo-}XN%6-} z^azP3u0s`lmJlBZfIu%3I3n~PelL^2*g+r}0jz71ae@{IfB*<|B7vi@F6zW-L(CZn zU|o{|9=d`62!KG21eRb;k{jJKhjKIBq~TRV8-{*A*kos~-KGY2Xd#`c!R15e4V^r6 z&d|o8Q-@X#EgL#Jqj#)pyq*p)1_B@e0)-;*t3_$Uc_?)c@^EyAt-*fR)F{)kOr!tf zMUO7(&2`Naiym3@vqisH^w^^RSoFh1zh3l{jB|r^O`7wr`*p{<@(CW@KW`XeHxf9e z!&VC2I0qP0ClbKArW0okF@pdIbQ^)!w|Euf_UD%RVts6)F}{9+68of_>+U0I8Es#2 z=3|FPAhuu_e(A=gIrUjWLZp?7Nq0bdK@5#++@vG=7W~1V8`; zibCMzq6C6CK%m13V85orClKL-K;a2Y;^_fxoTKCQ|F8d~f8<4VdL2I@C9eB8`nTvK zDzef3$l4!)FP6o(gLO^u=Livk00?wHfh8>-;=N9PM?0myggYfNw6l7d8n0;Xr}O=E znro%Siqd3|NbPu?I^p&1iPz10!#s)fjnxuK-V~~d4)XK_{$7*hbNS; zK$yU$n)8R-KNON56z-&Jas6r(V+8WM71P{M{EO)gRdQE2apJw!p2~?kT(@wU?7aw_GrY=#4zW5P6X?Fn;yQa-(bIFWL?6aJXQnFjbqLIaw zj8Auot-IUUw`fStgd{4{)3h6z-%{Kd z(TiQ9A=bp38JBou4UUKU89B@3Xv|a+!{rY(mBTK8gsT4AuhxK0w4eay+#1np?Yn`G2XlgV813WvakyRAix9; z!gZ*Ir$WB_HK$s;IsCu9962!gKi}*|hy?pJM9AK$u*(gnwJ8N*pFHQ;wDp^E+@Mqb zBX1BuqGs&ZB*FwG5C8!XXbXX56U!>sh1%jCPC=j}31GjbBc}~Pg8&G08G%=f>`@92 zX~Oz^{9#r(tmU^x&#yVONncy4p`52nmse|93SzU~^J}&!(t5nk!*QOn+P13QBAm0t zSKIf3VUis%a@z1|L8(^5E!p4}=PW&;L5zFFvO2U(NvW-gB6MpVJo3tsJ8`W}A+>n_m}NgL|xej9Q`A>Yo)= z=~A_{QeIb;byneqkuM&!Oo#jt{g9r;k*fil7Wo{@3A24#^KI+q$UF5HmaOVq(--H3 z-j$VFrq*hW^|4x}_wyE-a^up@LydLPY1}b-dF8Lj9iz+CDm7K!UOq9HkEzOU@KpKK zeUv(u#BVDT9pWXNP%k($o%%=B%ZRK+-{Z?t~bUuA;^qPHUEZSCnu>2$4 z{$Tl`Kr0&c=89l`=$T`ibRsPYH}U69H?fl*tY{ zg8&GC00=ZoVCBS_)(U2&RaS~>XHKjPlH^?DBWaxJNZgYxn|88AzWB)TN-Igj67gfC z@go$wMnkNLH#08r$Qm3E^)qso$<$3tNdm0^R38r?ku)i(RXA{V=v#D$%!S%x_q&(n2~$Q#8Ic z^P8c*q8-k6ob#eNzaI?C+Ebev+@2s_U$IRM4$awlPHE1pIkV>s%z5FQX>)c;FgNwQ zV_j2^4%$Ef1VEsD1lDxWx~6@U;28wM1hB3N^FR#*KmY{VL13M=hFNQsm7?0ZiM2tJ zoNIg}jdhO1J*kcQOX9K|%}A-8q%09_@nfW>N3;~SK&@g;yqR%{ebz9Zjhtn2wB@dH zG?r+c{Y0fwH~ynBb3ePcU6%fSbJzIl%b2gN<2NF-XGUjXR_>4$K zEV)nH{%z4Y#_Jk$w)yu0iy#03AOHf*5!h5&XEfKFdS$oJyl?abfp!qUb*Oewhffdy zfnFhSQO3KBFUY*I=@rr#CkQYBtZQ&4fB*=9Kv4-?lzCNiX=V#WWrMgtz)b+_8aEe6 zK>!3mzz2b(`!!GY-x_iEGwT`l&o=#5J!c?dwodi8{q#Kw^DV!1ltWE_rM<{^9w=4& zJqj~)`}`o1r&EnYY&QNLg-|$=%I%@L>w6S_qoaDb{{;ho(0RFr*i@>R$=N`S4LgMC zbz5!Cq~&e>BZ+K2(?4%ubl}gG@%*X(=l#`+0_@`ltGL z8Q81zK>wfmO9R_e6G#&I73x}bW2|EIdlW9VG)MRU+A-!f_<(( z?t2tgT6Vgz*qPs>a9!zt%9O4O^2YN*&%IyMSS_Q*nHl?syI+^^o%QO{ZCdl{($#_f zRi&$Re#p!%rE4qwseVK0hTur8oNlbPexgz$@1)DG@b@SfIq6(gx~_C{>6#$jT)HJl zgH>v|y1le12xNIB9G&ZL(qKxBBc$(9I7_Y9$CDJj2dq?k z=-%{_?@{=q9`Eq1m1?y*K}%Pwv-NSM`c#C%X6m9}cZB5E2es3=DLCE~YPTACqXlB3W>kG_&%~u!PyTG+ybN7O;FTj3Hqu<^lwPU}=-)yvhzvh)QX*Wfw1v@O< z!QQXge&qHemD+x!?ABaW`pIi~+*g%+?bncp_PvU}U-OR@-b|==zvkh#(re$miD%xg zk(!-fF>ys@|HPK&TmEt`R~$Izdvdg$FBMqtBmy|iI%&2LD+siYz&C5Y3%q@?bc^S2 zTTHLCRxn$vvc7Lc*RGt{5+upF#z)e)(vi3)wNZabT$ZCDN$n(MiD-)-BQ-surLYBR z6>H+nj7#jZhVg9VER&-xca@{DMC}r#6D{n&qmHNIofhpIT}l}&VHg&sT=>% zn7NwJBxVxhzK$6={%^ zC895WjMVgqmckaORji3OGcK{u8pgAcvrLY*+*OXo60NhJs8s64e>7(9XZNnn1ak%{48i|#3jEqXA=IWnRCRQjeS7N`7{D~FPPD_L%wJos3_p!OSd`A(r*Ep)i z8f4SWk7v~Qygl?g5bZ-}=Iz1xNj|A;^jTNxw62k|v5pc5fB*=9K(`RM!?6nKma#QE zj{h2Lwr5`b{xUc`^!q|YH8r@yP+p^~wL3NV$HBp&-wpN;J%8x`4gSyIe-8F#^v?S= zwVogW0T2KI5NI8NPfdI}vih*=b~(?OKBZ$w;*0d6FC(LpsTsW_mW?)*#LA~8+=+GK z{E02G!rJMhFmZ@Q|9LY}`Hv!Mv2j#3+h}i7cWd#S8m&)se_WRWdSeEuK^3|E|#QK(r72hTNs+nvN!M zZ`LI#)oEQLWp2k21V8`;K%fW&?w+{Yv3@8*WQYL-ic0|3p^7^t65n~;7~|zUn|8bJn8;rKBli(ConySNF=v|(yRZQQAOHd&kdA=; zS0nt6Of^~0NG|IQ${Vk1?7w?lmZOQ0{wk7`CGs~?{1~a}5iNx+P^(xIZ)RL#pEZnU zBWIZ$ZMmx)jU`%VKT)aFjsIxO+|TZ9m!-eo+%>-XGUjXR_>G9I=O8K)3f2m7XTPkDsRxU+hh8dpEl z_1)EeT5CU@=2~g7qBI#K8ujryHG2I^V7;E!k1HAvRW;8TI7}z%b7NJe)NJcJz3SPE zw*A7gq10C^>&K`T)$d(+$HMO|{QH5wA9zJ2y>5UL#Y5?gf&W!WZy0#Pz^}FCn-|`{ z@M{ZiT{yds(oaIZTt2#2cB`HrUf1mHVUUN-J9=ItGq2Gaq;+_pd!*Il@Od+9dLKUT z(fNXeusT?sw2$5Uuz8p6M)jk#-%EG9bhmFDs?>q%>xUi~D7`}IsyaZu zM(wQLc1R#nM{uV8PRkm-_K7)97gsutSMq&zepoP8dn9(56>B9G12x%U^FBI1ER5E} zt#<9Vk)C#2vU1qhku|dzwQ}PjHy?7_AvYXy%OSTOa?>F${iB2P;<5R3wkY+Qd7qyD z>G@PTeC82VZb!^JV&3ca=Q_3FRRjVb-^(4var`S*X*{S#DXw3QVvIn3w_=)e5FcK- z!j^;Sh{=D6d0&aB)v0E;P{%l$K%jsGcwJM#zz`A$fB*>e5P>zQC$4u*zXA zzct#gnct+ZE!9xY)1}L+wJZg(8Mj|Uwzue{)Nys9eyP>ARqbZgvc%@M?*_l-JXzbT zA*-#4Jh`<-OY=&{TZ@nl%BHX}VtHnX+PCVT4SEizmv#vfE6oVvESJhbPA31R6t`cq ztsF7jWz`F<@jO;OMy*h5_0Ni`bg5ceDX*)_Ic1iUS7f7(dX<_gZ!e!1%*RyaH+ZW2#7mVr zr*C!5XkIgOb&YhX4*u-EM|9ugX48AXw(_}^eyg-~I-f4?+r6}@Z(I4n@{e@;gXM<; zt>~CHR|FS@ysissztlbOVgeWRJswNrYnk_JKp6yjjexaO>b0R`ydVGqAW(1uU(dX* z$!?+Gh!7qKL+82yYvY*QWn3pdGK0nx zcn)2orWUMgTx1{v0T2iiSUCNgeZxD1WvFE(@a@o@M=opkW!|yLZow57WFSyn0$A4+ zcWw|F2!KGZ6Zm%Kbxn2)y*>vRf2R?^x~9`+4Do^h2=oep`!la=v?1iOTde?MCLe6gS3rxx{KT{6@sq@*la6sOcQzb&WaOeAtBz z5C8!X0D*J_?nyBDoB!ZjgO@9OGo0K)b<}%E7>And}NQNE>Va*@gsWDE|J=~*flbv%_TD~vCnck zO37{!i$)e#GCtiUw(f3Y-=ZNo6OyP*Pt$H>eoJvTn@eU~VxQ%7l#<;d7L6>fWPG|yY~9_)zC}ZFCL~dro~GT% z{FdUz7%!JtjfUTd*joN0_YpOnW4x|0XPXbZumJ)f00JP8jsUJhrQ-!{5Qrmy>rioI zAO`^u@I&D5aUH55$VVq0(f?=4>rtz$6xAM?cr-|obB&Lr@rWaFPilM2Y9(9bi;wKl z)FleBCw@dv+9gsu7rRDgw7F!)CH7fPM=9AYV$sOrO2((V#Ma$y>{~P>XF?K{>1o=H z%x@`fjPY`b)oA#Qh^^&6avxFCImYW6bGG@g3mYH+0w4eaX$bso;tBnJEU({LWu>V0 z#KiA{BstgkNE%N#68B`w+)j4r#~j(CsY?`MPyC3Uv`eIRE_RK~XmiPoOYF0pj#9E) z#G;YKm5fh!iLJZaSSlKlGbf44^fc{8=C>3##(25JYBc;t#Mbg3xsRyn9OHG3Ioo{L zg$)n@0T2Lz;t=?~ey_(11bT%4u0!?8OkzX3X24VpL5C8$2z#qM=Yix^2%Gj?-LJ2xW zC4hBJQD+8mfdB|}BZ0ejOg^gTCZ6-Mu1RYpt$y+mK@$Y>CxCTL{*2)P1V8`;nj`Qh zFYB7-eCN@t+s2azBiPJJ0PC8p1koP^KmY`~oxrL4p1NvPu}m+j0nM*+P+AUgr9YqB$h1rPuM5XgtX zsM>@Xv5I& z2b=EhvE$U>4lSfJHMo4}yrGka&KcS`bn4K`p=Cp7XY`JBjmMJ#ra%A$K)@q`0Z*%% z=Vkmm;c-ZXG4+(*3H$f4e=pE}*pJ43Ggg#!&Ewv=Y#-YmV{>Zo$*~8=em?fV*l)+C z#(priZS1Epnn_O{tZR~zf*uHf00^{}z@VpfO>3iuHxOtq0jz7<%OBoB00cmw_ymS0 zpN}U6U7C*ad;s5O`CnJ2qMq6TGA+FsHOfDctJ?R(*k04r}?X z9j(pHZ_?M6YAEOF(&g1!mV(%vt4vy~C`|^5Y;Vy?spINI{ZgxKtJ=+~Wr@vi-wl4v zd9t=wLsnZ8d2(xwmgbd?w-zBAlucn{#PZA%wQtow8}uAbFYOW}R+oJ{^r zY41pXsctJvsXOxvtzkV@K1QujYxU2Hs&uJZS}Cuq$~v#GOozPRg1qBCVRqggeA++u zwX6Ep^u<}EcV(rPskK^TeXLeo@BHL%j#Kf@%J%qFS9?^Y|n@#Tl+sfxw`mNH|>3q7lZ}-xszHQ|P%RkcX z50)Paw4x*5ToGIp^13dl{ZjY9iwRuN_joLg9k5G+(*y)k60nv^DSJX41V8`;K)@FP z?AN$RV!y^krFAmw*R+ncFHhL7@kLT8?AQ2X8E5G&*sqC0)6w#J`!(4I_CoCVWQPa~ z9Yp~9H61lw2o?lDpi2py>=@UMSd%!YKm-Ey31D4QpAT9=puGg%9o!@8z*tbKXHy2ckttZV#{jJNa- ztZU-obZ`sSHSv>&bxk~*RON&xE`gLiOGQ${H}fga&t|`n^AP^7$fgUE{dVWn02H0`JCksE(gQ-vhvYjc=l`*Q*4uuIbg8$GBTT;5~Z%g8dro*CaXD@cbGV zC4A1?MWuBze9pUdtbKXH=e&K9#Pe&Cl6-FtJ2m*6cT)Pr)XV>K-nb4`%$Y}2`4GT< zO+H*<6$C&41bh&fjeBE!V1$hxB7k*G4^1|P3IZTdSOT~X<(e8?hjLMAoebBZTF2U# zCtQc}MH1Jc{E>{e^v^NZu(Di-`r!;bZ#bTKYg+I<3h|tiuWSCQ6mR9FR@+v!n^lYN z)9RKDt#+8mAJ#RAFcnG(>l%O4(OKW4aDLyazBPSuqdzZbSfYTpSHKW<6Wh6bxvcFW@JiG6avQo#*-lmV+%I8-4tx~JhGTnM{-{gUt z`nHuHEdNNiKUjV!(4tuE*XBy)qL9~hLG72i2VP77>zep8A^E!IxH_v9tZU*4*KfhP zraqq{wqjl5Z&o^MU32VfJ8fM@Dp?lhp+ zI?g)sNcTgm$vyHjbNA3X2XcSSxvg`Vz|#j~RyDQv*DP1(s7-;zU z2=v}?mRhfmCnyBQ@gIg{WUIrS!LL-$x5*G{q1$lW94pM*X*b78qN2G{hECF zlJ!$!)+D&UCV%#Mdf@#Uw}-itZh3NPb_>aUK@$XuKmgCLDZ(ru1`q%N5U3^a*O^x} zwKgG1PT>5PT=bIU+N60&pnpNiUg>;5yAc7bYZ?(kI|zUP2;@)T6(f5@KB+u0V!R$^ zm5tPYiSDmCv`Jrb&8R*1*F3&cJdLNUw!EKTbHOmhalpuF!>0wM_^84y$?j7L_sL#6 zp+SuKUWYn(UD3_2 z?!OLo+RWcAp!;h+a$xN|{$#IOS@V+4x(@Y)B|bmreZ`{Yx%udM$LQsiyEN|@U8bKf zGgaPRK5;f#o~rx?PnA#I$Nf3)dk%_wF5lxXi+_I2*G8||XU3wW&##$3&mQF_9f?wS zevM&r@?MYU_)hy`?D-hfDD?yZYpK)|@F{6YH8*k%pgcB7k*GH_ax-0sNM&d)z4N>>y7F0kv*riP(NP3*6RDp-b&{fuWQWNmfb2WfB*=900^WduxDib zk*@!qleLL0EQ;7AKl~H+Nd38m`iZqglbj@)a37I!9=1R-qs?t57SUx5<5~RL?Y1ng z9FC;6W+JI=BZ=7MQdFl=@2GyZdRlKxkB{s*t%dsW`n6WySN2vq$9P?1&bI7UVF3g{ z00cn52Z5L2{u&<`VWYa|`toYx_-d5+dO~BIP`6fn-LT+e|E? z%NoYB__f<@SzI|BNo~zUQrkunvCE~XPNUvY{cQEL-k2UA*>hS8_2czxt-i19t#pp@ zy2hMs*{#9?2!H?xfIv|Q{9R;SQ(eQ!Qb1#_hsPlB`@@kC=tDC&nT5Qf$CM{N!CWAz_x9FtQX>~lTwc3(>Kh!0| zmkh6|_Igi+$cmXOW}Y(htl)<{^Xv4PoVdo{4|SRTcBpRneyH^g&xNgmp>FQhI(_(~ z!>cV1;qQlfm(@bXPa3wrA8OO^SwUjAn*-fbhEEA{TGy-_j{AP7n?|`$w;sQ8q#4;` z=rIqr!s;p>*==;U%UT#PD;R7!ictC&m%q0W1l*_jtTq|o{G8p;} zpyutgrsu5J)cby@hl6kHd7%831xl^&YaG!5alb%~yL!=hv@G8b^=SEl@+x)1=xw7f z2-&T6CA+>7nMiv%-*FLrKh#0hHB2)s z4w|e@Y-e%AF8Se~ut(}|q7Z9~Cpk$>;XWeeJZynvMw{DAETYRA#B(uwpg{lxnkLY? z@4aj~M62Vgv0r1+K(QAHU|rJ-vy3r<00?vzX!C0NjHB2y_^M z*6r6|UDIKw2Er`_0jz5ZF%1X;1VEr;2%KB}{IAcDkH~br=!nVM#L*oUu}gmVC+v~> za|`toYe!9Tl97h{h?MiN1(F$UZZolnE^8Ri;@57sWpU+jB(*gYNo^ZR#4eYjI*ocq z^|RH}dSiNgWY1|W)Q{J%wferYx6(Pr>l$;mWw#0oAOHd&00L|+ZNL|O}-_vH)GfBa-KNeq+@tXO(cyy zQa}3Pm#InVO_P+U)o4|e>t>?O{cDeGQM|;N5-Y6TDwc84xaFN1mCe>YGN$foGiL?2 zhR?jHW%>(swXP4jB%doDAu0`xwlbOT1ruAngJc0lSfIxEu=9Km*g?qlhsxPq0VJ*M4qqVsu zyQa5!#0;gjRJ)z0OP5z`hv>G$_0Q4zN2yl_$7*APg4mp^Oj@icO$Ld&ZwWlVs*c?y zR@+v!TZ>pW7+R!xL!@4e>Rt_5ZA}!YTWhp5uXMb1(P)FRDQt{bo>`*yt@>w!p2O*- zU4q0)GlDqFrE-vy$-gP>9qBLCZDlDHGoLp7sA=mnJR9ReYgmt!k5MbsTK%)4DqX6U zR?6$Dvd$|k(;@G-pf>KKrq#-tmz*%W`M$01xnaqwzBSf0fN%u#uB_BDwN`7akJSqI zX=iPt{u{!7MKl;XggVCk9G@5IRcT2A0y?G>&O!3m00goVxGTE}SO5VK&;+b4An*VI5CDN3 z2>ivlH?twbPHPT9w%O!6C*M)oDWO2#X_dM5j>&fhNpi07ku=`nNZgYxN86Pm3Hh>H zs75j)6+cGGCD)NHvOUokJ#I7OGG0l8yt<>|7NZ?k5&fjW6ri_ZJ{3sfB*=9K=TB!U(-B0^aKH$ z0QPHa8YqJR2>2)9-mf_y`!yEoeD`Zkuy%9!e|tHG|I?=$2POacW50%Y2$g7=StUE# zHtP2f_Q~_`EK-$7*x2#P`B}O*|X4fB*=9K)VUNYw}&0|3Z<4G*-xG8vS&P z^0S;Sj$};Ikuap28)Z6gX~$b!{dY~iM<+f~E-4yuQmXHo#C}bb9qJ$e0wBcG<&v{>h}|V$>+S4x-5{dRww9uwK_Yf zv5q;)=e#d5B3(K^sGS~?^>*cAb&(UmKkJ zsKPDsze8A>ckP4*F~&ca@6a+OrJs|Ri_%2C zv-j`*yJJ+I%Xi0U+;jO(-N*f0zN4qdJ(utCm&HGq?`xyi>@#Cg(&zI1V6n~Tr$G(R zSp%k(;`)Yph5sx0!K?eb(f7NY}_&CP!QDDvO`Eoc+{m6%ENH7V2YU;c}ck zm)y4DYBw_1`0C3fR-l$;mrMH3}AOHd&00M<25Zo>Ehno8+ zrjLvSEvHZZsiv*Du{<+8O-=W~AcBNV()XvPHHh`l82eW?aTAX^>ZUG~8me z<4WQuE|+n++l_yTgY?)JmrTF#h_fbzi0w3O*wL#|?uWQWN z)~qe`0|5{K0T3u40qoc4Nx^J9La25mBmk7F5_~yvoCHln(T|DMiwr+t+}PP4Y!6!HLt#_Jk$wxzWJeGmWv5CDPf1n@cU>!XW$_c2v!8mcq9M7&LVb)ZT#mEnlG`?1?MCJrUwxUx zYP5_sf2HIj@aHqVB|67=U1QF+^j6RV1V8`;K%lS$8r(O0K0fE&lBvVzyjy}vXXXGrCqb+xpjZb%p{kYqB)S@A| z#6o?HEL@JWmrd>(UwxUxYP7ON;O=cxaBCDnO6M3~hcahd5#mA&AOHd&&}#&6-*B(Z zIL4b70o*s77g^W^0T5sUTVi%!z^4&`izY9s?4LB!L^}w8fDpjCMo1tB0T2Lz_7S*b za&u%2W7q9+o-tmcV@TqQ^r9~#qmrpb_0rVE$|aNTM7F4se_WRWdSeEuK^3e{<+}Aliq1LpJNVrlU#Rn{`P_bz0X*ncHy$0T2KI5a<>H zmpN7-d5mq>IeA!Zug$r0c8?v^!Z{1)yf{ehjS=2!31GjbmI)*v00JNY0?iQkNQ+ic z&BTU2y+Q!%nqHY{j1vSvptuA+Hu+I&Mes4JtQ6HgI{C36NzOGslEz0JiF;Dp$7@>2 zB73xZl9U;VRQwoeJVUm~Jw;!%xy_7A>`M&d*~qDdd)czMviOP1WnAud_Qh>RlYNoY z$iii}HMi8Z;nomo+!*8KOv-K-TR!vTBk<`ptt~pocwJ-8wzM{&4+0giM?5u0BKiFR|0?|dEGy1^R;FVXoYgE;LjQ>kL6o&y7R z|7iKT8V^y8wDq$FN9uYMd(ZUG8yFqYwWW{NP@t6@!-zetd9^_lPN?E7Y~>MhUGZ-x!fxY}I!wovW@45(_U3vP;#a>KA%; zX}X^4-`mo+i!1F)7nYd?5A3n>F=~ZctAAEhN4iukt(4bQW$iCKGJ1EAwg<jrwoM z<$>>wI_gzwxmvtvQ&3-CiAd)M5~pMV(pi6&TCa~MDS8iBsrJyl>9tBHI-fqNsSnRu zsaC5KbZxadTOU`d3nK4*o3)f)TMyx!j}HgTPq#$TepZvCNb}lVuj3XxURDb08rQ61 zUE`usE5o{mm|$H)6tJ!#3VvS2Ti0BrKV6J<4bN^jt!rpryX(d4n!Ltz&17DdVHX67 zNg(z1S}})#s6YS&K%j#OXO>;4P68-sv_@5+#SC`5|;YnYKawSUm5J9La0D(LRTvNRd=KfiE*zYcz`R>=;WbNkIyCB3c{9nHO zPcBmI*Dxbu=F*R#_>k-7F#gCE3vtWzdQ}jif+swGc zzQiD&jhtGzmo1Aci=Vh$#^r8jU)*Li*%wKTEL?V5b4zU-ZVi#fjWJ%%r0jOF!3m00goVz;&qX3}FEThybob;XD8V5XghTb+`_d0&Bke zHJ`9{bL?FZ3NZX%zWh%vQta0-BQupk$VifvlJ^t#$@B0mQom#|rPIpCYPuL2Yh%Br zF(YVz00@9UD+qMobNN1L{dL9jhV63*&l_eMc;2vmR`@F8xqQAzDs`qmQ`!=qH=G71 zo;RF^R`GP>p3C=rFWc#OE?@Cx91-P9z{@XAz9GUo2!KFS1a7Qe32Lf4I<=6%XD08o zb~ip_m6f8}os*vllH^?DBWc{}NZgYxN88CFd$e0f%7YfE_%YIWC~T2?ioR%bn;Dnb zml(veky8uzvSo2)@e`NJxZLgRi`$GQ`y#24h0AVhZmDgC9s1V8`;Kp;B-+&7$^AuNCZ5x{;8&I1qtfjkJ@RNXDY^J^OO z&3C`%bJlK-y$eEdh5yT!|H(y){TgOuW>5$jNwQM%e!@O^9-c+&mn^1qTKQN_7eixh z?AJ7A1Pu@X0T9Taz!xSzZ~ZO$f>lbdXUoJra3V#{Zqd;~tdrnN=q81L7Zvn{O+=z{v=) z(v>6U(wk~bQ6%EWNV()X8oS1d=y97Fm)K`bj)!!OoMm#f<*u^$iObnfy;jkXTwlNl8?JUEbB(XQOky=!#+tuU@)7v+ncfneW4x|0XIpwJ=m7#C00JOTSOOyy z*&l|Z@l78Y30nTodh6~ zKtS8o0+~+&`%jZ~jUTJ`4*0PXwsPm-y#r+V-huBAd`su|58UVUbKk&sLh^&v!RmV< zN!V^XYxmd0RV(@b?41j|Tvc`d_sqR;ZxE0s6TKxQq~-xhFeq3h_d&pF6jUf}scn6v zSJH=qZ7B_rgqwtr2RDX5kcbhZfS>|`_y84rR{c{-(OR*JG?zd^BacY=%R}&Q{qJ?w ztl9gV*=OdQIgfe$W`FM4d#}CrT5EszxpUV&b7m%=__Eovd}4=}RwMBJs`ENpgw^wI z>vPYfXMoOpe0R}5Ti0m5Yqgc4-ajw;u2-by9v?~LpB;r~vSl+)w#XMBnWpJW6rwMF zL{G+DyC8PWn9=5zS(n&nIUS{CkBCJh3u_sl?iO2jkFjsjkeUfeRA#0bH?nkFVQUPR zORPpC-H6y)_A5^#YC6aGdW|{T(y$8~AOHd&00Qv{oEuLa+8_V|Ap~%LO$Zo>K>!3& zBJf!GY363!XA_g?|Iz<@=Kc7W41M0&W`A&+!9VZ)?nHlWcA9nK7GO;v&=v&#rO*~( zwpEb#)?tdjtIgd`@NX{vM!h4iX_Or1fdB}AK^+Y|?vpaPe@j zu+m{(oTXyPtI6as#bX2WrMtT%tR9IcLnlDUVT_qjWL98k4({qjW51#-*y{7T-s|nsGw@&nTMAFM9gTmFnV(>R<0s=4nzl9tg<5LymXc?IG~R>*yS zPjpbnCqU;I=QYvJw)h?}0|Y<-1VEs10{TR$bVzAYDJDQ5NM15uGcii z4YNQ11VA8r0zXAwlRad3=r97vYdUO0u^bQpfd&a2SGilPK?8}V9Z~$B*?t2LSvk$4 zR@<+YZjbI8ez-wjJ1U`s-#1)QiP#XE=C0xC-d)4h_YFT*BkCutu~xlrcvm^beO9ay zA!VrcT;QCncICb!IH>2=dTP;wi}qOS_1`!Ap8?fio0v!2eqZ+KMSLHdo?o0T@+`tszj`kwjkn*5bY|Aje?+s%LG z+fS`^-|&0Adu~Uky?K2QH|R(tX1#r_DG)spsd=b3p$L`@Ug1pWZX~ocYsU*FR&@jH_oVHEG5w?XCLR zLhc*BvvQWuPR|>n;{hH1+(K)N`dBcO<$c4?$Nn^$XJgNZx>D$YKpq5ey(SOJ?e61i zzQ0TDz8b_20_{QIY3o1P_J|l!f=E?-(C^Rt7`K9?^&mT@g5`CPtl;B)!n;!a(k zKbH@AjSDRD8W)xPWXNmsW1W^K$Vjc`e&5~HqjQX3hcahdH?1FQ1pyEM zfmR`KZmR@>I6$Dy3E;lrHs3&m4+1Su;9GbECP@f*ZUL-Bn*R=i~Awm!Uflen-82qi3dldAi4Vee^e!HkJNJVPy@lh#~ zR~M4=7|oZ$Z8@?R@=fD(6bb8#A0st!1zUa#G%D7lW!5Fpu!iw$||< zCn%M^@h_3m2>aodXxigOmTt?nzS=U0)o7&~5nHRxFbj{3*raoe^BQxuHDU*IKmY_l z00fc{IAE~H%4O(N6wQNrJ%a~$MQZNxQGd#zo?Tr?&SNxR3b*CRUhFZyMEn@3i7VJ5 zD`eNmO`FHey2K-En0ZFdGCA6ESKIh>x7d$+jAIrJshJS>jLg5jFnh`5uJzTHNvuXI zSp@FcHU+mvD@eWH7B3KUwzWcBhyesZ00g>?!0p|(V5}DeG9rN2p)vvsvmgKhWdi?< z`)e9J7y1VKtg9al8o@LW=rRJxYr1U1v0M-UftDnI&#!T9%Z{=TpUdZ>lf4X|Uz0uK zv_0VSYtkc%&#y_3Wn4>1KELKW`23o zSQBq%U1Fa#jAtWfnH+7os~wCb*k?aMsq~HiV9Y$vo^7{fe!8`5eYIuG*VaihB3ZH2 zY1&TT7M)|9*O;>{eJ`*G0w4eaAW)CMFM4has60?Kf?qX!%fN4sG*;@h9`89_tIV|g z)|(;Yzt&#lH6x`qXz_L#^6IDcc+X5~J`-ytVzd71P@bER!_7YVY{&W@)A2oezd3SY@xdbtGj|=iC-sOaf~(ZE>IM$QaU2iGF0=Zx zix;b_y~09%?PZ(VrXJM0OWXBg&#{)i-CSjNIjsR_Kx+pWw};aTVE}q z#svxI`=^i2^7q4f$G`3-eHI`8y5nC*8tzl> zd+(lgC_RmrAEe6Ev3gpZ{V7bhj`4-w?t>2V0F5%xpeN6C8eg6uappg-?7@0o(jI2xHwj2#^8aGjhw)kN^)-iMZEx!dCGi%~8vo5jE8pgAcvrLY*+|~9+Qr%-e z)pC{?|G}7fo;}-chuKRecdf6sjCa%4Nfv>7cJ?cG`;8~1bF9akV$QaB7N89RAOHd& zkOl#~&pQo@umJ*+*MI~FfB*=jP2hXw_jlhhHEqkCXwUv{*#Dm<_2fE@)N&n#>iXAf zrdF=jkQe&DUXF&ONLeEP`->kVH8X-OzXcjKYvM7pF0s!V91qX1N5rC$g|&jQ1p6kE z;0Sv)u^LVGCF3&BjEf}gI&6*Ma^6jQJnfjsUiK?bBWgOwaJ?oClCS{+AOHf%2$WwO zZP3Ues=BbL$Bv?Ur*{*YD0v*zAgZh!Hp zUApxNYvh}i_7A<*6bV4RMZH6}KY!GZJo&@=c&*p^-cdIn^>Xz}^*Z%{?$1%jYpvsT z3A?|BR(+N(^&a2$tk=@|aam(eMe_r_OLU<*H&kRwP1CPVH}ZJUvZ2(=^^-Sm{-~D=#Y5!-y>Bg-Kk5CG-bc0NPak#PQQtZ0#-pYcsQkp|E6h)4 z%5T*B!+A~E{WWpcy=2DeGwSKTS!^i9tr>5cF}Z5?n`S&V^Rbyho3*^~7#~km zC#rK^ZO>jZW7}-%zeW4qHhbIb|D#{^A5!0Y1K&DulA@ac2GyI@%hfwi=6R=ZrG8(_ z>OEc^a*x2`@ zV$jMBCx80nn@+y|x3dx`U! zO8EGvVVW3~0Wopo>4;2f_=%{@Mn#w7j3a?#*8+%%(}!r%jqaBdqgZ6Sy;>Xbhp^LdyIXHhSW?* zqB1khxRIsX3R`2iTw*mE=|;rXvR`=`QPVlbd5t;S(y$8~AOHd&00Qv{;PZy#@q#u8 zgb~2?nlLhug8&GmL*QRqAEW9Ehg_&OYNc}&JqN5(@|j^{+B$t65p1%m(xG>yQSl~?YPliO2#PBq)=C5bKFxtr28 zmy)%Gby@9<taO+cXQ^27YBG6D z@z}t8>FzE`t266Mtz|t?Izz2g>-5jcigZ+smfPzqvi55%*C8K2H|w~UP0QLtn)c5; zZLF}i5N45{m6ckq)@hB6p;}?HYs-Hc^ZT4@TjSAj{WpaFij3>1$J9h=Z|Q7rKPJk* z!4swZ^Od@&u)1nB@0q;1N;;~|t|{!(bC*t|=YZX%i_7!Iv~@b4E-TC_ZZ7ODJyN<~ zk3Uk{<7owBy`n7G>hrqZ>+RAr@L&R43QuNC<45wKFFE?PB~3IZSi0^LIZ zd5ziYzImpNR&oNZ$P;-@@_mH`5Qt0QXBk|zi5mm-TZ;f*hjQ%)UWal~$xnvYq4Hy$ zmM6Rpl@>{*@H$j9mJeo-(cpEcXzW{6EBn`>{tT}}wd&?0t_%p^dQApUVG;yD00dfy z0P-5M8LjxbiHWZLTCK z1rPuM5NHa4cMiTAnN3s3!)ZGcKwi_%yNB3800cUlz+WP->Ff>0>M|gJye0#vFbM)6 z00OBHcn|WLR5-#&HxWQy(@ndLwSoW$v=@P8$ZOhb!w_u?5I|nj0-JykKmY_lz)9e* zk=Ho6KnMci1d!K+v%v@mfB*%!21TzL0;1p zJB>xANdS3Gnlxbx1V8`;(j)M9gMWv-COw=!OJA$|P1Qd296Hw*?`XN0a#*(dZ1K+G zmx?zPKU4fl@wVc1#V-^;m5>ASnmqOmK0p8jKp;MWe;E8n>rA3X|j`e*($9CJiug$wd*Iz97)OBYf zR?IZJw>N0R?tjE1VM~&>Z=H8gO^;&#xt zeSF?CJ-kB`Jrh0G&0ARf?7XkcyK>&z)FY;du2R>k8zi)OsA`v|TUu9Bb*@%~f`%1KaKSy_csdLvBy)agkgVFU6 zaf%k(s8+jBZPdqe6g>y5Qb+6A^cd4+xvp>3)F(|{rB}evdStM`)f{`@kRNV)b~ zAeqtTF%ygEvWD?2e(iBv7S{GhQr$C=RF9EF>~brpQ*U-qKUqJnH>Sr&_8iwj?Re9* zR@+zdQ98#suQ6v^a;vZa0w4eaAkZoVRtEB#R*4I7fIwCRaJ?ogvakyRAOHf%2wXV$ zDZHYQ3?XKBApztyUAXC3G6;Y`0s_TD6HLy1>S|oC$(=bIHkSbMn&$F{cMt#p5C|i% z7T0US&_E6Xp#+fEgrdO!2!H?xI0)o-y#{%W13yF{P=^5WnmT|m3<4kk0zLvyP4;zD z>a0ujdeOSU>cWAo57;F?{NwjX^Ld2kiM92ETx5~{IU?oSZ-Hb+o5xHnqRSe_v-q{g zZCO~`A4zr3L{dFQ60yszpiaHnLH%U?xZao^AK7zU3$^1-*II2~$w%oN8A+Q-)O&vlQ27zh<$ZM*ZKmr0F00Mav*peuR*)mvNcm-PncF7O__&w5m z9-(<+ZR;Qxq2Zq+Qm*|LNM^Ko%)}zPtYJKhUwhn^g|+>WRQF6I)ngu5CDPb1g=Pwe_SzGUD)@P0lVaffBYV4K9A5mv3BJk7g>jYj!3!oTOgUy z<}nkC=(2|KEPm~ATNc*#M^fE0kyMY7MC@`as8ertP(N8et~aK~NA?`oLhX3dwN~3# z@=-d+IIl5hTXL(g00JNY0wB;T1U?+dYg#2P!~p_X5y17DtjNMH2!H?xBqQ(#_*mlHCb@-V zgqrO?S@f9Qjs%d`wBxQJW)J{@P9yN~!D|9JjNP}}S+4x!I)-biBB}3@=Fty7Oix-L zAEZK~Mysq`vl4BdUwveY;w8+KSYhqFScXO8mbYtEHe2_~n7V7soE1FkKl6f?={MvW zeHPKt6rRbtB&9y(HPYsB96mfAMl8X^r_W4N42+2dj>%{uxD()1eF7M){!y~dnvacw{!1V8`; zKp-iB&kTO5oKcXa&sc5leQNMCUXhx6d?bxeISS8Y%fWG_NJ75s5$ci5NX3tla?5pO zi)>HyMUThKx{O!SAg}Idc*JOjwZu9H?vnR&G>8NFaD`n<3;hRY>Z zqY?C;MnC!r((u-(4LZj-uQ6v^qqZ;)1V8`;K%j8~w>Lf&GeH0ZECRT{#)5$+2!KEa z1b$m`8GUxLOA48vz)j`rCw^(xz2_A9R+L zgltkah4Fyp$weC9sed-6VJ~I5&+~qpt4-YA|HSquOPZp-RmSxk@w3fE5@4w7% z@hfi|E37T}Wu`~Z%1SL)>$JwkP%Wc>)dJJ5-+Fm}eVuq3w+w7A{}s7qV7VGo6Q#YS zv%US8DE|gel+Js#QWq6gSFPs0m#wanj%xR73QxXLsio8CIbe6`;_|#PZJo}i?+je? z>cbZ7EjqrRdn_>aZ*$WOiAu5x7dNVm4nUHD`OjavtAtzODzvh>x#FIRFHrM_ylx%cJ4uX;sl?(vZ{ zzU(MGlPw3wl_CknV2@Cb;}WU(F;Z^1j%<-UJi^q&6`y#24`P*)5ZmDg!3m00fc~xIMWESO5VK&;;;06ix#W0D)`?{JL$f<7LaCmi4a>-c`O*LRw$9+T6Qq z@atZYntOaCjk_F$XVTa=tx=^&SB_lEZ0d28A`w4E$}QK?*fmx}kH^fq#6D|sJfv&n zER&-xceTY&Sj~QFjf#fU5(~{SGJiYFo=a}qaE%+8Ykjq4606ZN*3xT5UqO04<6EM0 zjPn|Ew#B!C86W@xAOHd_OThayn*Uq%IVA@lbdWdl?ZN+7HP+Z#o||-_w)o7X;z7SE zTl}9;%l|v+7olT~d9OX|#az9)V(Im0yG9^OlfY{Zl)NS#t9SRNW5;jhw!XW2$@1O3 z|K9try1uXX9;cssdjHKQKT(~ie&Cb%?KZP_UsYVyl6>OJX3z489bQ_E!1t@p>u3>H z&%3S9J(HdR@Q6tOd5s2!ye8&Z)3)mEk=Ok1WaKs3onpvqvSZtQmaFrVXbh_7{cp%C zSDl;Jd~fhO)@x7Sv)W2g?>mFv^NQ5m<0EN&$5D7DTMmwsMfPZqkd*gKq~ga&!}pXe z@=VbeZ5}i068jQ^cs6nx;aRpUtSx@RYFU?ioPF__(PUpFH8OwOZOtvUZMZc=8n(u8 zIg_%-#a5bi^cAG(HLfi>$M|(9bGF5`0euhv0T2Lzgh6rM?A_gbU+HGSQaBiAyU zddy8E;>Sq2#)|0im|2(DXHAZWbd8*4aGT_kDjmer zQ(hx&9>);`KmY_lAYTFx4F1H*6dthJN>T48gAaH`YVProG=AbJJd-U4$H^jlv`0wF z>lUf_G171@Y>{V*zG(B9S(n(C7{s%Y(+JP9Wnpdc6IRQ*+~e$v$BZWXBB_!2+iq)a zscplpA=0olhRd0hJubG=tfQ|WO|Nln(K*J~Ys}de*9P=K00ck)1VDfZJXp?)zyk!D zM}YI1=J|(b5C8!X0D)|;*X*jgnj_aj{Qv2js}b_QKd#r%xoKaiu-kFY+vxLzee~MD zi!?7zWKngqu^QETR6Sg;iAoB3AOHd&kS&2<^xPP5@IcWBe%0{5pg)cA4FZq%oUUEY zwEUU~YPY_iKOuTYMP-9-ZC4Lje_cPN$M5t$Mf#aoD-oO1l_`rAl|^15mpd%al@NT5 zn|;06j`dxlV_V;Mec$D}zSWDcJ8%dGzF;>GG}udwh^uiB=zsR#A$(ssSrbF8IrH&@x64s0_EUf2_*Gt^48 zPXDZ|taMb3mfPzqvgSAT4Sd-vd%a`*c$RCGwe{5!YFv7aqJeT_PtgO^>wXUGl z#)6TvhkXN&4Ls_V#|9qv3i$J7e7c)@0`zoHzGu7`+Iv;gU> zzff(|$8!`t2dq*@>)G@e(}m8bTQ&7bQ&*|gYMJh>R%`TemD&<`?z=)u>9O-~qcGhF*+$T#)A+K@mD)Jf^m1-IC8e)RHhA1GfAqwd{S}(6TU<&e@ zPRwg)UpwnTdCi`|hpnp{d#tun)O&bvk5{DT9v?~LVMpPaY&kei7TKdcLQ-ZcQt@M? z;q2KW&lG*p<}tG_u`e-*XCtQ(o@L9z+TtgymUX$u*%yx)P4-1nBlEZ2*4$FthFe3V zVQUPRGbwvqY^7O8UqPB)wxZ7qTVuFfVl^5;?`ia-uOJO?joP4djPn|Ewl!)C^FROuKmY_9CxGiUjkCi{ z5U>g0dW}s3Z4dx~v$4V_8=*K0a; zXR$620D<-)@YLXbEB|=PYAZ#({ew?=MQZNxku>%@3eRNA!Ev(49_mfAMl8X^r_ zW4N42+2dj>%{uxD()1eF7M)|9*O;>{t_|pe00@8p2qY(f`)iUjgar^F0=Qm-^8f@u zAPWKq;r^N!SbsVAboojNP5PzP=HAnTzx0aK+~Xr@JnbkvlPw3wl_ClGvPY;#G9wi~ zM#?SMku9=4(HA`)GwU*5NrSw)qu~*w9o7;*VYRHwJ#PF<9Hhs-xMk+mwq*2zt?2W@ z))+3ASdB)|dm8=dD@emzqc-Rq4yl@eOf^H!UC&kjEC6{)$$N78uKQFtbeyk|8{$?=e`k+V#Ww%pYgKVdcdsWmDZQcEl}$H@Hc zFncb!ZNoKgWUlqqmPxEe%UDaV6@3Ni`HXLg&N0qw%-I&-3TA)+2!H?xWI^E9zWgQ& z53pH_0QlFU)4F50UemgJgUCPt1iFX7x!to=tP}(?C4jspQ@k(^0wACsD?iN~g4d&J zoDILp`Pz)zpIcfZ>{vs;jkLz!3{qjkRCC{bBrT&IE12Asc?IHDR>*ySPjpbnCqU;I zKjB0>+v0n`3=jYT5CDNF1db>kUG(c6YW3$@ZNFB!z0_%b8 z?$vLL&FRXN#fr)zuaJcux+t}@M%44Iv7KtR)vF&tUK*S7aumzY!n&+>MzZJD8Ys>v zo@HHJ*`#a=;{nT)i!{Dd|7_BGcyRG>udvc#UYw<3$*alaF~ws8^QF7HB(2V@FSVBS zMClB*QmxZJD=X4bHCk@3ugKc3v0R6I{M>Bfere@D@MY7o@sN$xGfx{UtSyAure|fP zmaBDIV`HdR*zEk}E?r!nH>R!A`E*%fPH}T#cj=MR{d)Y7(jHGMxbiE?f~`KU>%HDC zJp&IWu%+;%rcs^O^jJASo_WmymftvgBsqvu;dxCQd!#EiO;$7A%WA6gn!XxQUp~k9 zMP6fA)NdiLsn4j@G?3T0cVu!UTXBz*ly#<5G}|k$nTx!pytUt&*H~V2-fN=gHKoc~ zLQav_l+jlz&TA^&Kx0ykzt;g(bU^?FGy&@p5O{z92!H?xfIx->UVyPzs>VLW~YcEmkPxKv4u#mX}UcOly}Qrkzp@!GTV z9o@GmUw^f|HF_@8wko5%r_u}7!CmwBpVPlDRCpGTiG=bRGZwUqJ_z^;4EXK<^^c(k z0wB;hfg_3w0#^!t*Xqx++Kv0DKa<|)eN=x~)A8J=QpJ}bU z=G7KC_u1oq2X|1{tu<@t!9}mI-bwC%pZCiHzNZh_@AIBIG{-CKX_}{dneTW_d%Vy4)Hlidyia}8bu-7*$gJ1TdfeNOk@9cw$gIE6 zpH}s?nRm|oU}1yrf7`>S+^MBX{iDTkn_m50GiT}N*#}DW9I$xS(dB0tdY?C)PoJAR zHf`|qE1ZI%(GJ`hB$3&ld7N?{Cl31}l%VPNe2=IkJkliyO;M-0EEY@n!1H zK?p$r1VRY(gvcQV0T2KI5NLk_ugfVr8cE&HQ0f+2dp8#i{eG9NIII0YUXvAB*aZO) z0D)u#7N_ucE)5$|R*}A+^eskNNAq+R4^e5J|IYD@yry&Z5-R}#5a=udC#UdNE)5$| zsHX2HeTz}n(L9}#hq`UWS+Pc5lNDLm1pyEMfg}XpICPwKPi3Q);@G%f-+L8D-;OED zygzW{Y2WwV?-kdgtsk|$&-;v+DDg(Mn2z47ipS}aj;&-?OdR*+5YKVNSLwn>X5gl9 zuN4dLp=*^ig1p8>2D1DJyd(5kEx#DxsXl>oX8cRxo|fLLr7azuoAA9k#GKbPfb{*O zZ_&LAts`%HYF zcX?NTZ%Sj|=RKzw{rkMP`d)3p_jw0@p~An<`)!e~Zv^e3AB6zEA1a&@z8@-_4Mso! z1V8`;8Ygf%@|wos)tQOBCL9p*ns7E40Ra#I0T75r;EY5$%o#(~h5i1qXV+M#7XPq} z=9viXHc9_@hzn~NU0YAuJj!v1KG)=tv^W-$8C~viOe|*$q;IrD7FLU&uv%ga8yEkk zmRKY{nOWbGX!`5u^TO5`NACCCO+7lt`2HGmwsq6`u~rZO0T5^v0_V0$AczA5+MEF1 z57p)yi10z6>3TRCf>}t#3O5PJT%Y9StdtY?rIyK?iTxTkMXKSLu!eI<`|j3 z9cC|?+_k>iGKtk_C5ym4+os^wXay;qW1QERv#k~4LJS}P0w4eaMBvZMc}C+jl3Qrp zcPr1t{WamcgZpd3*ruq5qcV{xS&MbKXTsOoEwO*cQ@QRDMnzTbi1 z96B@K<(;48liEg~b)`?&You+gqXhyW00JP8CxKBbQ&?)Xm7?D0&{D5R%{@Mn#;Bw4 zOd6y4Qn)QgvqBmtDN96K{1~a35p4M_(5P4wZ)RO$pEZnUBWIZ$ZMmx*j3wA-KS8PV zjsIZGJkOqOw`G31wQGH~Wz5&sNjD<4mi@}ph?>qZejUo3ZE4tr4G;hU5CDOA1a6O~ z4s8$sfe-??Z#V=D#2^3y2?@+8-!FW})P#n*V!Hj`u>U_z>dAE)spUEf)%CB}oK?A6 zLtg0rdN~@jB4vsE?=OCg)XWIB{1#}`tcl0Wy2L(fa6CN29ubR17S;;J66~8uf+OtJ z#A-CzmyF9iGcJ;}>##M3%Xv5L@w8(id)co%ji~7y!}XdpNWumPfB*<&LEx|SvvjgY zatq1)V>SrnO#s(x@+J;{AOHd&5RJg!B+hE0`GFP)bP@sNHJ!AZSPKY%KzkB6d+5DZ z4s*8ER*HJ>9Xi`9Qge@wr14%y;hAjNjFT<$#Yd)P`VxiciyzUGaTjH=YsQQ=x6Hc4 zKFjGSEqg>P8d+G&_;k0}x_gX$i-y!pNTM<`&A5@J+X`D_xLjg28tF#F*0NuD8d1|Z z#(9l7+tRQL8z2AzAOHe!2>kuf`}Om&JpSHlD@DEc5Bj87Euh zi;wKl^d$<>7eAsW;}WS|i(Ml#+T1eh68kKtqqOW1v1nvrE#uSOV(acP_AMGxGa-q} z%rxUhmToI-jp1^M)o7#}5nIcC00clFF9H`iGK#!>!w(2Fg8=fHW>AMu5C8!X$cMni$ZPTe4KFQ2 z0C`QzYy|=V0TAe70w3*Na*}*E0p2=-0P>oS*hVa(V+s5|uGe(z-qv5(2a(s* zhXf4}2oOMC699rP2!H?xvx+t}@M%44Iv7KtR)k_jv zx^p+BYc3^g3+uAl8Of7dYoIuzc$SrfY*IFb@qp#YMH=6!e>UkoJh*tcS6JyVFV0f2 zWEZ6VAeJu54d@8$-3iX4jUVkiqLpb(M5fFJVn#pPsvP8a)T>E?r!nH>R!A`E*%fPH}T#cj=MR z{d)Y7(jHGMxbiE?f~`KU>%HDCJp&IWu%+;1#xyR&bswB;T|~f2mAYuvSSkpB00^`` zfo;e~T7Q!eVapLfUej`0f`C8(1iFv_UWamRI$nozQOQq+*P-%bot7uO4wV*3rSLjb zG?qhn9SW~Q1x}UhUx)e-uKNU-qua>@aJ{CJcNc2|0T5_s0^5;~wDa~M_9hWPUehG- za0>z;00KD>xC*&Z4wT`dl?WiOX{FsjEFb^^-AcgqdBZ!9lXUCpfORJzfV?IFJWK_F z%n6*7!TmUy2OV(muE_xbx())kZ`c9F`(zrDn@_Kq?tOYq_2<{Tti~s;;PY!-Y@^6< z-*6O4t)+wehSS@R_PTHQl0vgSza|dxlOyIdQ9i%s)%p{RT%TVvu0OqoKGo*+makDA zWWCR?Su}*tuZgplwRHKuVdOO~MtDDzi%NbnG5o@>ov{$yx}Co-+;U( z3BHz{i@YX$YmnE3v&mxwc}*Ua)AfP8COw|WYtmyGX6cQ{Yr@d9wLII;ueloc9=G+` zf#Bm4zw3+#$Vmc}&;^0|1d!L%X9NupXdZ#L;CfB- z;OFZ3lZkSePYzWV4*!OLUGl>}evdStM`)f{yJ3inpzzNTDc61rBs1DPW?~Ut)-ayM zuRU(d!rJ~ws(U7q>M@dtU2X++>dg-7C+o-c#`O5ep5t1m9dEkUYWqq)O6M5oHRfzf zZWR_l00ck)1mY6-MbC|aDGykmH2159{{_8%UchXP?&CeD>(QB(-x|ukp=-1kdGC@^ z8}!(A-}pE5__w@Bo{6;*v049f`F!pIotu6A*^c#nLC1F6ysyo>L)TyQzM0jYG7&3g zn%UcH&kwdg;*khSlk{($cTi1_V*9zC8NCC&mzVv2W!}$v4(z>R-fCUGH1E!N8|Qs| z-ZMSCLlZp{J=e`!Sp4j~ugtr0-rCe7riiXm*Qy&Nw5obMAi2!y&n{l9uJ#HG`8`0} z)Hd~?-d)u<|)t+KYhT0)Hr63+KeKV_=F zAJ*G8_a=Q7Z=1VKf9jl4OQtT-^WHk;jZ@!To=^Q#r=IE^X_U*Or?R~zQ{Q=-u}r%B zpl4;JmaBF8`E8@-%u+hi{8OgBW$K%}@|LM@^$PhgI{CMPpI@^=T{(BN7siTmFuK9Sncw`%H>rmj+})iT{%t=8z{Dz)9)1>Gz^ zt|-^1muGYLFFfYwi;}KC6qsiXbwzXO+$T#)ecDGU?!rGkR9)D{jRCvlhkyJYX}*a< ztlc=oMdI<#5h>Sx3nVkzJZ54MUDhz3#jibX%fj0JNUD1#lIk&%h+S?4b?VIy>L=^R z^~Uu0$e!a`s2y**)@u7oK1$~pr=jL-OKuewKmY_l00dfvz|DcYrd8rX93YStf!LSV zvI+!tK>!3mpo)?(IXj<7!JBV9*5tO#pcfP6H4C0T5_DfiEY@ zV7@$5U3g7j4cH|={NwjX^Ld2kiM6i|aS=ZLIU?oSZ-Hb+o5xHnqRSe_v-q{gZCO~` zA4zr3L{dFQ60yszpiaHnLH%U?xZao^AK7zU3$^1-*II2~$w%oN$J# zF=tzHtFQn9AOHd&&?*GJ8OUo|B`(AP0$CBj>rh#dgdq_oG=3KEjf8{X>ky58&U(lhX20$U1CmcBRiok|X))c345_r5dq zJ+Da3JwB4gcN~RhvgP2oQY0b&_6YSjCXtFCBjuLs$QF5~=!+hYnRSVMi9tLYIgRiv zTNc(9KVh}3%RSD%c+6mfAMl8X^r_W4N42+2dj>%{uxD()1eF7M)|9 zDw(q_t_|pe00@8p2xLRx?xDNOc}6z&VHE^Ak$`mxs1uimHGu#KfI!<4xM%1di#+^-00@9UZ36cW-HW`YHX@9IKotSxHC0F;009sHftDa}-_U)?Yg%F_ z5JWo>Kwi^MyM;zz>ksWVYQG^k-(eLBnJHoBE&bYjAR^(y)IZ*TUjM58<^5|CdPiQ9>gfPuAOHd&&;WrS4gJu{VSZ$_m7?AchkoQ0skz5T z()gjH@JzNG94CwH(H~XP`W*vP6X?l%oi_S65Ys}de*9P=K z00ck)1d3009ut1aQ3urvV6nK(++_cuKbRJHh%-hJIYWQbMcwiPh%bkB5HZ z6{)$$N7DGQqwq``d%zl1ige}3walg-(-evLF;Z^1j>fLBB6>V#)+P2?lj9*>BWIZ$ zZMmy0e!^<@Q)^T-q?TA{j*VfI{d+lFi0$Xx5IEt6P{ma&#zEBXr3^BLa~onxHW zn6oXu70dtu5C8!XXjuXWQDpyjQZT-Q4?4&jd2s0eRgDF8qxGMgbfC8Q%%tK$zbae& zpHR#HJLwmpW6`|D(|R#iZ?4#SJ=(4j$kHV6ngb=TNyqBlz3JHTTe+?8?q0HdckjRV z{;RI<>%GV6=bqkw^T|(CC#oO#B!0Wi?A=!tSG6Rc__Eovd}4=}RwMBJs`ENpgw^wI z3%Preo&h@Z@zBsN>l)2NR$D3R?HYQ>D^hchkEF57QFta>4vv#W_Gpigl=+HO{1|CC zf40aoMPIae%&bf7OAO-K$Z3RU*|M;<_zA0JUG8!A#bZX3eUa42{B5^2x74=b)(~mf z8pGvG${rV6Y1YwKkfztTw&)z=>ow+Vi)#b=AOHd&00PMg;QpHA3}FEThyd=d!Fd1z zAdoGAKgInubph`gdboV0gjDxfZSFlhw8tw_bB~Xt@vx)tOd5OC8dZvP<;bm65u^KI7ExlIs6{P1gz9l-xIIl5hTYM{+0RkWZ0w9o#z+*%EtX$?XtF09E z_6vE5?FCH_R?2DvE=5M>Lxuv!Zw}wc=))+2lQuesmO0$l>f;7FxwMFL` z=QZYRi)#b=AOHd&00JPu1fD48Mc@Gf%_D%&b0iR2x_;!px?o^qoT4wx3;UNtiP_G(&Kk} z?{a%4)=I?YbY;q7MP-p!$mI^pb0q{{<7QuPwqt#l=-AfxUEg=Pu5b0?w5LqOikW8i z)_mvQbyXg0Z;iAs>^rEYN3r=_&y3!I-Vc}kU)lGwo&$S7+P7Mlt$o+@ZSK3R@0lLn zp^2V}o;&&$7FYIN+4r%&wW&u;5nZLORX0dzRrPp4a+%eiUA$Ob?G+YY>Q&p+Hua$1 zUD~b}dycjA?dB@G(}8Vf!3%q$bcR}~*6E*>m6eXF(QH{kDw^+p!lq|f4!1tSYcWADITZ{Gfa{~q{k@1^=Tk@`O$__=qa zQ7+Tp#`g9O{PZ+qndefUo|TnauGSTl+E_4h_ONf@v4Kau^4P%RULhaelqMa<_1}=~ zp6_uT^_W_r7BATB^;eW5(zX5@!<6a=NoW0qYNI}$qv$zcl{&io7ivsfr}ODnO?}eT zRcf_brhBW^8c%CW;JNP#Ev3iKley;Oe|yZ&w?x5t){vt~``THLrE{Mw{c`B(GGkiX zFReEBo*w$8SES}1A4%hBN8y=lIXJEqNywKyLOqfhsrWHcZn=(Zk?o1T=<%3Ym+?v( zXFPy#gCD4%XMUnY)|w>kH^fqj91biukL7g#At`L#7|f)>vE49{}Ko3u`h0! zd9^JWy$J#F=tz&wlEI_KmY_lpm75D{F=tu zVI~OJ1Y*BzXir8P1V8`;LI}L0@~JiVO$||j*dl=YYb+R*Cho7Pps3lv{WXLK_ty{w z++RZ!(s{Jr{Wb5@e^+sT4exFz-Csld+F1{}zvkCNFO**aqP6|nYIE;}p&O<_p6H7nkC}BDucSd<-O=!f(GF{gpRiii zkJ7q-T5 zxx{KTg5J~UM_)l2-Ws(*=NRWT=4@-!7UqEf2!H?xG)@5b*EG%!GeN*6fctA~8fb$6 z2&7NoT^;wzQTmMB77N2}Ii&dz0RMbAr|kuKP1;0Z4+KB}1kxkWgWM)Pn6T6p1d!Ks z#WrJ+AOHd&&;kSwK$g}5yU^(&Ag}549me`V00i2BK;Q7ufzS6p)aoxeD4#XZ_b43F zVD2IB$>vY&-tGwaC9y4wP4g`Z)4gv|sQw;>m)5X7-y*qFxxPoi5p2$)O*#9E=5C=y z&OKwNTO5$OwWbVD8vcd#D)lC1QwV;K!sH^2@6@Ed@>#(lRCf}p*zG?J53KONhrCr{BOq73vCrY0l zRO+I_>cR&L8+_}&aA38T>d!o|q}%l3))YRvNU5LAq33|zrQr7{e6;7p6OLcByYxuu zem(w3X^*EBWFp_Au*P?8+^Fp;wW}Oia85V&PdZ_%UiJ~iT6xXfx_@8NAxC-5%;I1} z-XsTUPF{0DjhKxf8A zUh_~}{hhk|)K1E4g5M8CdClYAewe&w|9sACK4j%Dw2OZ`h4UKOQK~tw*{3Z$P~yDi z;_@u{eyFQ^<_~QyM9piq`h2eUddO=G@ht_)YqEO0yvB8mG<{CZ$xoUw!&YY!Xy~8a z&P0J#fdB}AK*tgI-JJ4`y!>?B24O*|6F^>*I#L(}0T2Lz6bMY~Pr-;f&brQD&))s| zT3Q@^+g_A;cROPFzVB+DZE;#g8QDJX8{wnGYe$oP`&Gr`bjjXNeGev%`*MiqxZVgVok0v$=<_mI(a zDlii`Y*$~PyZXcVS8n!w-VoQbf% zM-=~OwqNZb?;9sr_NdkNYo*(x?@@TTL0|R1ML;wRR{egcUF8_} zS+U0FmG+G10_SA4efKv%1@+uoPc3?I(H?8P{_j!v&w%g$nr(kS)cv#fdWAjx%+sBi zJ>k`q*X&;u_B{&yGlJ1|R{!?5ne{wT>eTOt8l9%pH(qa6+IZ{SDPNsz&%SH&S1SD% zeBS|NYqetg?KQtg;k}xeQlrz}zfh@-ZSV;rFJB_x5B2gTqtnLJfiqq*<3(>j4lMr$ zA2{Ox{rym@rd{Bz%-)gFfeWgnqgr9*v>7KT_52)q4(Oj@e~$v4Pw$y~&irYw>z^@c z#?>>GnlxjT_E!CDA>R*mXXPv*&+~@pctD3gx6m4+J{Al;slT%Vd5w$Ljt_|GfTH{mc8;B=nB!H4Sb&rhxzmfIu4%cz!|LAfJsrBd!PNgFu!9kk@2M zw^M9?pmJ5FQ&xm^fIznpcqn$3vM2V8ZefXawg&;^HSMuac|~~vGMKzj!w(4f2>fxP z*PQ-%xVo_UGd;V;I<@$RWi-zOVz)_p<}er5FuJy$w0V@{5Ph!6BWZCgBs03)?BeZKTPf=O`S9DlA~pB;NE(0cC_IzKXucF~%h9Z!#!1Q&(H1{OYGwpm zehV}z*2J4xm)K_wf-6|C|^Hm96@pmjr+z-5NHMgH@?)dmQGq< zek7ae>0QH8BnsNYr4^}+axFUf*T`$~XAX}b00JP87lBbnMv<3q_yK`t5I|nj4C?R+ z0w4eaegdCRH~IzYgX*l|zba=XpAL*=)ur$A{$zv3rho6+KSf1meN>RNS!W!C?F-s9E?H80bQHmRN7 zQK^g7)m~wxOTB8F+UC`i*W9AQzR!CVPwChrv*6`zQJwmI-plm@*Ji$l7i8`sKL_-z ztUpUx|K>FNu{zTG?#K1t5dJGNuA?4PE7V15vlse`@&Z<<50qPLB3Pv7h6~k3eLP3e zbHJ*~bMBb7PUn+SS9*~LjasL{5QDT z62b;z5C|iH>os9yAO`^u0D)!_cy9;gG-o^3(n;%U=6RBz@AnQ%5udb&XIG>$%C+d^ zUn8%{pE*2&00@9UUIgCn$SCsi4L=~z3!3mpgw`WM@~{75;Q;{Kmd77 z00_Du00JP;5(LiepseOR$67jReJydqWFEx1!&1Z*?csS9sf=SG0#~DpDEcT6FTSk=NwU93DXc1VA7!0v9n$Q2{}zSZadbTkO1EFx$xlkk@qb?qY2q00Qko z;E3YUMSrY^TK&0J+pm>w?{sZ$W`n+VR6^OHTl@|46;Xo?u{m9tvRF}Bo% z)`)t(HMUdDwt5YQmBF-48Q4s2a$#LoJ0m%9YYh}<6wk7fkWI>_Fdncxxk%$X_0J}~ zhX)rA_X;Z==EYemmb{uw9#cFvFkia6OVaAh`ci9IPn6D3E7dyvv$7%`Riowh`iiXm z8q0Oa$Is0=?q$=m_K>FiGfx{UtSy9Dq-SNNmaBDIV`HdR*zDT!@hP>(8yOwfe?$1M z$heMrOih&bmd^I}W1{>UJW<*|U#W`DaBs!ax87+K2#NhjMKeUWal~$xnvY zq4Hy$mM6Rpl@>{*@H$j9mRs;T6kdl4oGRh3Ly_WTxMmaJg)RuxCV=ZTwfSHa1V8`; znnPe)2W2!La;&A3*4LafByX?VhNXyS+QSc3q%z92=;U7`ugRY|Jc0lSfIwaZwmUM4 zynMqC2sDEL@|tE)hffdy0T8H9;40)K^&vq61Ofz**93r|3j!bj0xd#d$MDt2Y+7V5 z5JvkDKwi^6dxc0r00g>=z|P^F$ZNW5%dy%N2q3RX0U}I*00@9U1_VAad@b^t47kE% zXA?kP)7krr)qwyAv@d~A4&Q*hrhT^$kvE9|@|q@rhg%Q;0T8G|;M2o5BCn~#2*V%{ zB!IjoNCbTl009ta1p+sBP)>7;V=bMuzE(J2vX9~BVJYH^_VAX9R7SZLo&0O$HTg4# zM-Tu35Xg(b=NuVDUcTW61e!qrc}+8@!zT!U00`74@Ok7U^&vq61Ofz**93r|3j!bj z0xdz{iyf5J-0oOQC#|m~PMFMt_~Nh>aYcK0dqpavT#HWrHS(JLnZqLpfB*>OMc~Vh zj3O`J@B;$PAb`B48Pwqu1V8`;>J#`Xa+3OxpaB8_0?2CuK+pvN5CDND5V$K*4s+LV zb>T&PJz$so@Q>dk&F2xCC)U0`%te6s=ZKVRzXg&RZ5}hRh%Rdw&*Ik}w`E~%ecSSj7qCly_{Z;&=JN>66Kmfa<|5Jf=ZKVRzXg&R zZ5}hRh%Rdw&*Ik}w`E~%eCAM%xLqNiA8i-!*~|I_P8wzYx^Uq z?wLrc$4DY}xfRr@H#?}GtRL4K)8iw1j%%TIyy;r2?JM~xonxHWn6oXpRagK45C8!X zNQ1zA!}kTUk~FNs1_*RE0bH-??ES^+KmY{Vm%tB@)nvAL7xZUlx!3m00fc~xIMWESO5VK&;)S32B!fCfIzkcc23FGekWM}$?%WM zS4wC#Ke5`}`|*y;;(`#H?bdGUeW6rj?HlPmzAOHd& zkemQshf2;67C?Xq;B_dR2Ot0f*%J5!UWcj+_~GG)%2!HA^oQ(RgS@(<;Sr-9))GHqwXDlM zZv0Ceq{qIvW#-kkWb}fq=<~wX7%rDsjYiOW8vW=iNW)vBHs~DVyvCeujoQLI5C8!X z0D*2Nu&10Cbvp;FznKJZy{4J;;Tr@%00f9Yw%2POt-6}S|KXEo^FO}-ss+n&y@nal zkspm-wTM2?-jQf+|1Q!Ti8jqT8>?wXNVagjCT*gy2Ld1f0*w%OY{t_|pe00@8p2qY))i=G<;Mjj{{!LJ&=wEojc#!9``<2|Qqm6?{`dNXAF3;J_% zcSuKV(5>z2iE@ra;!o-EJH5}+eJ0jQ#O8Em%3?)jkyps}4$Cw3s~8K|-sl#{-hf ztp4oc#p-IWu<%l^+NQRt2lejKcD>khtfg-^SJ|BoY%>d9*b}8Q)JnBZ|E#R6bX1L& z+v_W`<~Q~YeAz2|y<`1&mTQ%@_0wS8)Z0J&lvkwY9v?|#zoYO>wj3NMi|o-JAt|#JsrWI{ zaQ1AGXNtaP^O#we*q0c@vysyX&$4Au9G zur-FunUp;)w$iMluOLmYac$8##%ZWI+v3`QJ_vvS2!KFx0!I{&4qQj*DQA;pdv0JX zxj(lBx?b~iIk$0ZgiGbx3jb%onRd8#v=OmsuGUQVuGUmvuj#XB1#MqG$4GW6*Yz4R z-mKQ9W;w3ucVXT0ZfDK;GU(PCD9$LJWnBx~q-+Yo>ot>$G`>^+Y|?vpaPe@ju!qCE zI7`KnSCh$OiecAlc9$fo&aB(>dQIHDp#QIrpBrb^^%35e%Q{mkn#-oe@z8ADxu=a4 z*6OPY~Exsx^OW-s&nTU9VYF*r(?% zokq_AyGs|B=gIY&%L?bcW^-Y8>5i#2!H?xG@U^8^_oMi|CRH+Uen0^HH1&Dtu*I)&C4uW z!Ofg+jp2GtkWQ^WuGiF})0$(rUXyfRK3(}wyuGg1TvF(^>ou>|SL|HZYsN-AwdMZfAx0ph2eS{2}0<~smN=(a@(fIwFf_|5Qdo08Xb732&T`x|ff_!#cyH^cQb!slYd zMF4q?iwa~Q00P}f;HJtQW390M!bmGbffzuby$B$$X|Mf4v>*Ti-9z92i`N^0tkQr2(%i3Ly_0C z+Lj=mwjhAKrY*J!L4p7XfIve8Cg+qL9hQ@yh9F>4R}ny7(^cDz#ex6`fItcaO2}eT zpa>J$5I|m&4OdtN0T2LzI0W#$mo8fJU7FLCDT@`AMP8vfJG^h)Txxx{WzZ77_cBN% zY9HTw8I@G)=;3=W)7y*o`rgYkPwTetz1%yC47pAdrke8h_`~un}by>HA6FVw80>PY3tcq{SY2O z1R5uR_d~hZ;r&o9D*4IqeyIFdr{xLnhia7M?d9(Xyrc46fp|Yuqb!rp8&}(Pp~tvd zuEx|vX>aN5Y1E%6(UI!V_d`v_`=OXo^N##}DC9M+9Y9{=qLQBsc};$-)AEG8CM}Xm zA+Je~Wn4>1@|rK>eco|#r>-CVKJOVR+&7$tjVMb_-%t7$qpYKOIx|MPZN*u!#_Ld7 zk%e6l009t4Mj(wlOwzCsWfkfBN#A0Wbu>>0_t&Jw9(he#Bw+^xKmY_NTm z_Kdh5pbr9B5TA_jqWCNMLF*PP<4-|f#Wjbpc#?kgg#apnjW zwnH`d-AB?g+O>Q)e~eckamWg}@9&8Y>i7ic9OJwu+SwN017?5#2!H?xL?JLc(%<|j zmZIsn{kf&lEY{bW8)=QRN2sths=4nzl9th~A3-xUcm)!HtdRTup6H;CPk_!b&TFEb zZSg%|1_*!v2!KEo0`slE`A1uArKmT5qZ&TGusmWEx}009sH0T4(^;FxlbkF?kx}I38-75b83d5mG=n;Pf&d7B zfSS>zQ` z+@VYD$IaI8Cac{_&DMl|_!K(Q_e8?8OQVV`A-wJh++U!|eQMS86eW2X>VBu?ZtSRrg z;X<`h&p1cXbHJ*~v(1?PG-EoSl)BQBuU5-+y;`mDdivmdTv6^_?vq~P_0IRny1R3k z+8P4jxRKXXGMf+;h(Q1Z0t9fqCIAFo5C8!XXb}Rh9eFMCnvC}1YsHKVH*EI$;vFp) zQ^SjiG4Zp-JBwc`-cBe~-YE1--^cpo@ zhcdg6bt~+3s1rKqTFsziEuFN!tk03wuz$jc6p4rSaIhkkQLaTN{~Fh8@@Ec@AOHd& zkQaerM@EsCZ}I_8>SA z0D&$ha2oQOF5Z1Cy-@8$0SJHq2(%)BKkcBb=Fc2! z>7@0w;`x()On*8eMQqa^{#ivTqg;zl{x$NN{F%ce2!H?x}4NihY1kOQbl!zZDw;uuIHSM=&h!_Mwpz{d0 zuGjqC$Uh(}>AbDRiZUjEye4D7Fb@KW2>ck=YZCEm=gI%rK{?GoIo8ri>ucxpEPCw! zI3h*n&>sF%MJl6Qi%$ME@|yga!y^cQ00`to;Cx3$k(Y1y0fA-^Kwi@f>hK8yAOHgO z2z;P}GLn^!wRF<@>g{D`jDKK6imZqBaAid*qg;zl{x$NN{F%ce2!H?x>LV%@b>DN4Q9={y8G$ z+HZkmMw`b>ETYRA#qjmfAMl8X^r_W4N42+2dj> z%{uxD()1eF7M)|9*O;>{t_|pe00@8p2qY(PdvX)700JPO3E+ASP6H4CfouuvE49|Av4t;Hb>J+Lnx7uoZn?_$tFj zBvvyX^qxjP`U=wU)~F3S$2hMsXIrDTFb@Pk00cmwQ36{>wv;mpvar=^b8pMYRKzQMYrz`kP4ruR}GHK74}!2!H?)$o6{86;)Sr_&o= zx5jp=*;X%F6nSWE%EL))9}DZU+8N2FTWg>=qxcHT!zN`@7!O#UT%_@x`e&2g!-I>5 zdxez_^Q@GLC9kIIHOCZ>4a}GB?vk`Rv%b_?))sY!TB+9QpOqEqs2VM|*H>ii*I2GY zK7MX`aX&c4yl#0`<&MyY+Ui`n`_!?*+Cmr;dRA6yxmu?+Hil}2&CXvwuK$McUy*Sg z^_ZF{?JYg-?Z-rUS0+mP=PPwlVRhj{f%W|Dl+{}5k9nK!t|{!(a~~+tbHMJ>#bu2# zZJo}it9#}TZ7%FCJyN<~k3Uk{<7xS=D0M|yu+?XOz1Q2NXW+pEwiLEzh~mSU{O?{J z@Rd3FsrC#B2>1!$btpd%^gsXvK%g}UOzTf0j^nKVhwIt9U+0{0^lf`l=H2ax<@>&@ z*S7ePj54KtedHxdymmC%w_jB}PM7Tc)c0WGxG#rzjw`-O7d|orH-&qxSa=UzE1?nO zH7+ucFC^q@3mrXo!6m0+F(8*uNf&7_BxcC zLM^G-G_OKU_g;mnejTcBDBRBFbIcfChcYbcx3Yg7>MSb>!Rt`$m2f*6FW9o$c*M_3Kc>er!0wGzJ$wRD>Mb*Re< z=e;KS>rlHZX9;=7>rlZx*iv{h<5%TA)?lU*j1+wkXa@pTs?-kQB1RAZ0TAd&0g?B{zV!y{R88F6Tghh3`=Qz^ zuNmy9*P-4wP2LanzG?D)sNm~R$DZiUYn}?tYd*S2sqojK7QgBEMN!`mwZ^);L8%+H zU8V4TDD!K0(g|U&LtQiS+XizCV;!yL5xB<7wfGnw#Wf@KG{Wa%#6+C&y_MDkH^E`8YXMgVO zz1LoQt+l^rmyNwPBBV9V*OZlqAuwLw&5IYb~Qht9h}`!!GB%skmN~GfD7inBy?akM?hlpZd-zD%qAOHgS61X^DbFc;iV@m*e&Dd@|77hZ15cppIwMjAm)@Mo!bvgpSo5S^*JZvP1 zI)6X;TTHT!Y&yS}VaI;=v{77fHeSWdMqX14S6BrB5CDO!1U{AFuVhx=m=6M@N&tDy zsO}u%1_2OgI)Oh#Ueoj~#`+2%fV`#vs4xivAOHe65co9mnj9#)P2hdQZZ0In`-Y?0 zU<3p}00clF8G%13Ifrrkb4!!0AYSXw60Px1PNTxssOG-=NLpGuK7uMWcm)!HtdRS` zp6H-XPk_!bzFw2;Y)kI}Ge7_YKmY`WBk-9-S-^0%%bxXF$6A`SzOs2%nuiYQK>79ex@F6A|Ms1tc8 zblez{G)rLK_wqV*uG*lsdOsWbi(ISd&c^h(imQ=4uJfY4vhc_+FWf_U4(M4~sde6O zPCXv~FZ2z*!MN=EUanVL)HS}!`kvx?by=@bHK*_v(1c} z@wm|AeZG8?y1=V9sm*@RI|Lp#_ImFLNU!#Lmj-0x-PxtCj{xx3r+pDuY$Dh|3<6OE zaJ?pq4CEjH0w7Q&fiE{Gr}!3mAfCWi9l1dKta@tP<5)|R)>lvJc}Mlt)1-)H+QWPLQW@o1bjq)h*Obp39zg&E zKp>vL*BrS({H%Iv{9ngfnzX)pQqMc8ubn1EEYlwT-@a5vxfY%BYveWMGlxeI009t4 zO5i?6Mv!za^gv)72_UZ-$6d#oK>!3sfxzD*rx}H9LX0&dfV`$=8-j2^00cn5An*^! zZ44S{fVqw3hX))1=4%?crQsDx+MBPWd(Rn(~>$BM5*12*eZE=g0-(XVp_ z=N;9))1-)H+Qa>Qsf=Yq>hmtIzKn>AKc_Z-jg%|jaB)1SB9Ywhm$vNXizGNsFuqO#gAWP6WS20uP&4DU4B zb!yf#t~+B9C5wBn)6V9wLxyu{fsrLFurM9V?{K87__NyDz4Sr2| z%^m7Q9ts^dh9u1rFbiJOb?RKTL2dPZHuM*{R;}%|ujzPxY`5d=U01j-`t?~aV3EZ^`00#y(|UQ-2i_yhqE0D&NZBiqNegOWqq|9RSf z_p*`|)>u$8zaG86=BOck>36wQ@&1};4TyTBF}7D7WAySPm(`N_&XTOQ@|%A`EUUeV zoVm4@w3oNfH0gBOnXuL2*0rVL;X0r?XF*w$>ZBm@2}a{O%(FTDw*%E zd7|6o_t%`VqUcS!U}@1F^0a?-Yo>K&E6Sq0zh{kF?f2Krbsy3qY(T5k!PTaS5?HB0F^U|)AzZ=SrrW>;(Vsn@jj zb@zAg^TzjgANIBEmCO5Ut`B&<%I`hs&A@{RT-SOsg2sQI_CL7Vg3|;9QW7vyrIa(F z4gw$m0w7Qzfyn}Gmu$N2T8m3oa$Iniiom3jBGbG*^!C9t4or)MFnI1qgt^coT5FzvjTnPA@CL`)lI9zXtEGDdP7B@2@F>YOyx) z{+j&w;{7%Gu?$;U5b^#C*2Md3!o)^N68-*~11Ar{)s|7(O2k?V0=QmNi)}y{jx5QEQBrORQSM_MS&S`3myzHmnUg$2hOiXWOv0Fb@Pk00cl_+zA}n%ZtXH z1J++90lW@XC4Kk?0T2Lz`Vm-;?4*91f`}3mKwgs=6%;`L1VErf0!JacD3LZ?HHQH5 zn&#{!RssSb&?EvsfxMk?}xsh_fsqR ze%|j5+*@0zUp<`f=WTkp!Rzq-yzlS2@8^Bfyp_10w}~uM`?}WkndT3kyrQJ5KF5^g zXYgt<3Ig(ZD3AaF5C8!Xs272yojl@MW&A%JXYW2Q>rJC?+DkI;OO9CXu`+FK^Voti zrN<`7N0NATEM>G#YOnH28J^;N=s4~!A)Zz3lf1%5X5gl9mk|r^p=%v9g4dy3WFRY# zz#Ai<)yj(jp5h67e%_Z`U#az8t*Lc%Zo+pNG1uvJD0j4RQhCitsqLQX?l|>C<6<-Z zb*MGQUp?D2UWc-YB<&afI@I|_5`x#ElJ3hOJ@a*_C%SkYY7i^;*kS!wpGNDxm#;m$ z>90dwxRiD*{5q7qkDod${5sTHPl;cLTC>#sI@GS#bKBRn_I3An@AJ-p{oRMXBWVU7 zH}<;M8-Kl(y2|f87}5^T9j9LOeJ}H(u(F^lAL-*ezBZAhj~z2cg@BPNjY`Of69hm2 z1VCUU37mkuW+eA*w1P%nGg|wFXh8r3#)rU3lP6V@2UO#=dHc#7<7ig3%gy60D?(l) zBv69@2!KGn2%I#zs*=2>UKB<*8ss(A>>cu&YPiEI2!KEx2|U{W=7Q>@djWEq>Nf!q zj35EzH6yrb2pI%GU`zoqmsAcO}3 zATYKBPDf5MwtJ6-4^IGj&G76n69hm21e!(87#bMloX?N+@>WQ`7aO;&=K4+0Ev-nF{-_1c}g%ChqQwUZV z1pyEMfs6#sZcs+@YR6idw7!g6JtEW3o|Ga1(;mLMFO^ZQMW_54c}@Au;SmHt00hb+ z@biw0qAcI=0|HeLKweV?b@&7U5CDOA0>6NqBpwnpK)@n^yv728E(m}C2vk7eL+W$OVfHMdz~MRm{d4BtGYarq8CrM7z(_#2gmG}WIbHkT<~rWBRcej&v@UK#xOq%pkH zXxFJ(&$#Z4MU*V=y-qvtS07Qg8Y4TEX>HaRq2?}cbf?=j)@Nex??}%LSEwD{@ghaf z0UP_zHZ$J0{?YlQ)cbt-CUt>VZ&I86o_7d5ZtV5m6Odl*_bv^{#=EmiT|WT8dAMdX zfDVR0AWQ()Yr;$*0Ra#Ifw~ZQ9rBvGYz5*N5dz3-Mr5N9CJ2DQm=SnGgEE>oIo8so z^^M1=`G!d;vR>N5H}$15%C+c}Un8$6pE*2&00@9USp6cYZ8wOGo2#-Zqj(^`k%M{kF+p?PoTPS~3;`0tFJl^_l|V z!ZZkg00<-`;J#iXc@3`D;CuNJo=CZ>;d)K3I7=~x>oxgd#`T)~SZYhpjk!|8nrXh5 zZ*%Oo@+tp2JMq1IdKZdrMP0A?wFX_QxyZ4WCatgNbEF>je{E8V#6x>{QC}*fT#HWm zHLll`&m0~>00cmwECT<>kx`W88-75b3IfP$s-O;^AOHd&5F~J9``C6+a!C7~lke(f zB`d74pk{tOdf)I-L;BKpX{zG>P|q3=^-5!GuR6x)8{gl3*w?aGF87DJKH&8#zxSXw0}m!}UF*pR8tKsgibPE z85(RmkJq7!{5;etftBdbL!BIu4_;%FN26YcQfkxWR$Ogq^44Q*g%H5?nnJL`C)TxD>FNcw)Y)MUhk^O9e$CTdwe8~s~m-AvSoXmEV4&)grvM`k%}KJji$mD zd8X)#Hjn9biG7JdJZm|P@GMgn)fPWdwXDlM&c1j|YqBqrYFV)Dw&s?aHryH_jap;0 zoJpDEVk^%&`3my%n${MbV|=|vpKWPvKpzA^00cmwz67rBWhzBScwO#(uF2hE(F|a} z9t7|@R6X_qQGfslj5h(->rk2qUWbZ%9cs;hZ~Vu76!e*tu7%g3(($T;HeQFyZx=@E zb*R^#UEljCq~DVyuR}ex(tRI=7kBwS3Z~a2-(U0GHtwTfGRxBD_YEVjaWRy8PU);> znVRy;YDI+}d%WV^^8BGeW@){vgew`(+`P5;^ zYs%lTpvUOXLk0E9>s^mmfXagnPq`Do>rlBPg+UMi0T9T6znkZUVSZTAf9 zb{JWh+OpV;|D5*+PjfiziSYe3(QF2f6nnkq@Ru%l>G?(yvQzCe!kIPN)I6+B<9ofI zo$8qOqV^GfVWmU;Px*J-UB4!i&wS~LJQO;E?%8ft`Ke6H90<>~1*Y^wXV!`Jpd z!yTOamcuXTkDT9cjn?&=mo)18YkqC%?%rRKUt79P&8WHVBi##^(yq<*euL+_Cwl++ zZ)t661@}^^@0}L)Iqwgw_P!HjDLn`5>u&4KoAIo#^Gxh&P5sO%tM_&HcklDY_je!m zwQSor_5_=sYmVIR*;VSnUS#ITxVEQX{A47J4`jY#^IMrMB-@v={3MG8TH{Q>NR`GJ z1J(`#ATZVho)wu{l!XQFuW^x1e!T|Y%je>kRaWfvnkDV!?V_&N9N)(E8l|4-o~t&f zt=`Xu{;9B5(KoNs<0`I3@<{(*pRyv~(5HKU1@OIm`Eni38s1+s9Jjj6ihh4h9ubyx zf2cfSg$)qMg8;7AOiRMP8EdrR_DPs)g@P6UwG)M+;m3kZM!2xtNy zL9U=-D=Q6#025yuT*n3Fw@T_t!YF)LJ+`pNGox{WUM|Uf=&j<*0rh z3itDtUrgNhQb<%+%l*9n<(Oa$|6ueV^*==x9513rpY#6qkiO(SzR{oaP9L$@jQ^bX z;{&38!Wi4@eMUHa9L3KtKjB=wx1=8a%{T|$bN0H$mej5Fz10t_e%RQX;OD&m-tzse zW6aNa-*?O-eql%d=RaQSTe>EVqJdSoe>9PA{mr?;Bq0ed71CFVic{ zt982f-r;rq&w2kx;Iq7W`6$ZHFTQf7b!F%?&*JUv{%54uE`7%dO6`c$67A~iXP+UT z^M3XjYnRTb1D7vc{-6GS9N7B}K5+Q~FHvga(#!ponGvt_WVV#vEx%#u@)s-h!{^d- zKxeu6Id3|j-m>DNl}lgLS-xQTO-CuUVEIPRTlm>RKIgqQ@UHdaP9^^bH2k@R)|mA1 zQ>VH==Y8{JQVaFhyVbFlCatgjJCH|&H&03tYqW>A_N6k)wdj;z<8`R=nZqLpfB*=T zMc_6^Mp2e;_yK_`2q3Sif;xPH00@9UJb~Mhlf*-U1_)RLkk?p1&;00clFp1_@sTp)f{JvDyc zv6d#Sub$NNj_S@yDPo!S@b~*t8Rc4Z%CC{vl+PR!3mpezD^;K(S-@(n*APz3?x zHC0fDPY?hB5Qr!6N61OyAwdHKECR@DEFkED00@9U1q42%ZnwN%t8`v-n>AKcm%hK| z<{^#Ccgv%&ALnKeeJxyxg; zQ|%1gyt42;yu5G^$R?JeWw4NLs6@v=Y}iP4)1u8qUV5( z{pZ{nHKXW0s!F}jmv2%Rc=aZ=+3$IWz(c;j<~;%F)qd~NfNZ=wyVUg&0RCw5k8#B& zf(^tV5JdpjYof?N4gw$m0#y?D(+1@x@B;!>5I|m21$FoY0T2LzAb~Z92K&_e+~i*&D+yzP z1Ox^WKwdKt4+cS?G6LtsysM_Nz*0LtJ7Og#N61qFv%(q+YUbCY z&v_p;q_1i}=l!e!QLi+{_NrryUVh}VT1xhL>8xJT&OafRmHQLiwja0FlJ@fU`9=~l z_;cQewe{z`k7+MzAK@4Fbf_O^x83z?GI@ME>T}-v8h)MF{G9g_-6ns|`;-;-d6swo zf~9#|EYjZ9t(n%9ttb!jIq$8W#*Rp>sM%TN=cfLxvp?rO*L|dWp}!w@tYrQ3GZawBn)-0vxfPLL$<-f@t%tcg30JI z>T}-bHD-kw0Yy$nUK5E110WDd0C`O$8VrB{2!KFo1YGyM{Kn)rde>`iD=7~8Jk-rY z`l|NxP=kWTeJ=;m88mk1ph15u+2^?2pNGPIFJtizpkC{m#>e#N`m`dmb-z`_r1J#^6&6ERJof0Zw(-T>opD7L@WUWKw#tv+&}qED~EYt za#ed(@B2gSv2@ElDfU}P*xr4u`#qn-`nta#KecpE$ND8l9QOpi1wiX^ORU^K=`N&2 zBlf&t-yFYx^05gT6|zCi>U#H2p5*Oz(w! zvFF_7otfYC_L`25P0*1FTVq`wQHt^!J*NGk1p?&|c;molwQ^#Bmv{o7pZDd~S8Bai zYib>xoA6ym%qJck{$9R&C%@f$-p2RxEmKma6qVI}A+CG8q7=TD&wY+%lj3{%vhk~8 zw)r{~zLziC4&ZzFvhmZi-_(1ZDEa$_?bo5|_Pu!5C zlfY9Y)A zuW@`gj__M)jO|s&7(LObzE1YNy=BLV&v};G8OZNj~TO)Jmncv^IrSb3u1gNV?Wr%;wf(-lwzIEZyfF_jR}R z=FO-Xway#e)p~CGn%2JV{_cI=`2Oz0zLw44#-8B%fLHxFZ(Dy{`}{d?ylGkFY@fxJkgdTH@qgmB1H-WHw4R{^O%>_~r009sHfxHR)ze@77yjKBx^(KJ4 zrr!I5=s*Aj#+Sekkp+zJ=40hU6F^=wG&)QK0T2LzLJ9l_@|r^V!gwiRYplhzlvm(3WTn35vvp*>vC zm&z#DqEmj2yrz8S@CX7R00LzZSm?+o%JL0AAW#JXR`cu3Fy z0gC|g8Vd-zAOHd&PyvAtsoO2D*D9UY+-8jx)jh{EeDjdT<=)#$ZTBqf9@0v1n%IoL zpLcLxu=h!$yVGdbsaems?uRh!!ZS{UO^cT5St?jk1>dQv2vCa$m z%EH6Gyl@ZYIiP1{rPg`BIrVtFqj&f8sA%l_d9PPn)HS~H`refF>at$z+SX_K_h65* zN6!scs2$$%B1O*u8~e{TGit`;LXY?P@=fXjuim6K`#tXvc-+|Qy(b{O+V5Q&kd1d| zm%82w;290NTJucDTAH*z=LR-T_>3tjvNYPmXZEEs%C+c}U*mdB`OM)F1V8`;$|7*M zBcmwGH~fG=6$FsiR6!j+K>!3mAV^@%p}{`&79%GKLxBVYVhA9wi2;OR5U7N}#WAlv zRT9*YPS1{5%R3|FL%JF9Y4=Zl)B1MdZ+a4uNnP|J@AqOD))&p?2eouhq{Gx=<^D-` zA)7QZ*tR)7?CJ)4$Ua)nxZawhRG-00=aYfcteQ0?2C$ z1`P8cFeHIX8uKbm)ay_uH)e%HZgK3i#Zy0q>ou{Ipa23v0?2EEJkSFH5CDNH2priy zwjK0)NL%MME3C1gW_~^T{+gqP^d;XlQ_c6+JZnJID~++e>KLP!AGxfS%x`YVYAe6_ zC&aRHe>068fm>@ydwKhOBMBM&{WXWR_4n5t(_Yj*!Y}OUP(RLYyX)6v^7wYt_t)%e z`2SPp_t!kpZSwcmoU+0`&+_hHurzOrMcTW%HPgDX73D#`zhV`WbX{v(%KYS&8#OQ=}N=vT5k!PTaS5?HB0F^U|)AzZ=QUA z&92t!Q?F_5>+bK~=Z)|0KJ07RE0^!Dxjx|aD!=!jHvmEyv6d#S zZ#>TBrBhO5y|jnR`cfI?T6D^PcVrZWI)rf$sF(oqnu<37 z?m++qK)@s5df)JKkdxrt0D;s5kk_O}h6x~00)fk%uS}HSxBwSX?;FPV*O;(f_lG)q z>KnapX1UE&EwD}Rueo_h`_;a`W>C<$Khz*PgU0S0H0X~ddtZ?I{WZ8hR4m>h6wLS6 z;QmlU05qoH{!j*tlAHGXYX;vR>hjo(3HOI8cLSsD52e&|rdHsJO}U!^Zw(-T>opD7 zL@WUWK%kKX@H$i@w-t*jm;mycf&s%k2!H?x3`yYFsbg`yW=M9JHogRq*NpGpW91+K z0`(!_e%~-&hpNvGA(BxcfV^f@b_#Kh8-b0n?}Hf?B2n)f#`g`IJBYl-q=7aF3{L=g z&G76n69kGQa9OwcdChr^$=r%M51uo%60buQ1s8T3O8|LIW49Iy0|5{iAp$2J9KMgj zbEb~(N$u7uw)GUQr77Q7GbM$9)uvpjxa=^K;&~k3u%qxQ{|MetPz% z-c^j`*K6$0dDrbe3a13F%jo+k;B_e8b-s^+>;6#stUz8PSY$ChX4qZW-1|%Q>BGgsXyrApJ-fd5hZ3U6>m+&2Q!Cx~hx*iEe19m@ zTax=jJ-3bfLz&F7w2{|D)06M|(^(DjnrK@2k07tfpJ~w+k=Nu$7 zMP8GZci#F@_r1)=&k1;kPCg)EWn>88{WT-ARR|OWKmY_%6IfMJUUO1Oeo_O#gs~%l zyk_jS918{k5Euyp&qt;(68nT8>qY>1P2F|`@qhpbfB+GAA@UlW2p}*70pvA9K*JOe z009svfxwHA*%U_k@=jr@Y2kgO?C^(n3d%x zSv1fZX9CD;#(DR#b`Su8rV}XZbKaAgGq9%b1lCs;0pvAhk%k`-009t)CV=l7cCo?t z^0}y#C&TyhmB%_SPxxNGyhtjA@8!#nWm-#FzL#$&zLzg8?%egGzn5=1hif2t*hsSE z{Qcx_G08fr)0v(cw-pz~8rN%zA`81900JP8g}}>l$ZE3q&vWkSjQ=l$v<>Q-Z9r!uY08Y9%)<&ExCd;OzQ+tf{dVI}^~mK)R!ewXr^JJg9h6gqAU zNtz`vzrW@>b*|c=wt7Ds`ioqv*7n+0^<|^iSm%X&W#M68Ubu(y9MH3}QtQ0moY8pL z-(Ry{ZBf_wp|9^PV7rV^mv~y-=r?^ z>P>31-}4TE$Bn(-djis{{obVk*?4z$sp}&EoY&85A`~D70T2ig!1bCC5(q#51VEs4 z0&5NpyF^|SW&#Na#1TMV6GsT+AW#K?cgJ2;sUoW3e4ZV#mUl+Thx5|JS?5i?4p(fN zxUpDMp#+fE6p9zdK>!3mAQ1ug^%~?giQqvA1PlVmYYZ4@f}t%_jHv51CpTt= zMV&V1O}zovYl?ykyNxA)yr!{Ri-myz2#hp=H#I1y`6b6%nzX)=KG6~f|E4J^GKKc= zm-00cmwECRpm$SBJ44L=}I1p(wWRZxdd5C8!Xh$rwC=_5xvy4gusfqqA3t6a+w^xddFFhr;!m=I%FE zRvZE3HN~-oWe^yizI0#q-kk?p1&;wm4Mg~jC9u0OS8SrL*WmkW%##;+jY$J-5Ez~S@|xkO6SM)Z6hoR8eqYx3L6}*EDu(u`mz-fe|NgA+nkg-$8_51p(wW zRZxdd5C8!Xh$rw4Nd%DBG-)@n77ze|Q6+F>``C6c z_Ct*R3Zos=%C~opXYQyWeeLOovfXR#?)S1Z#O5-k%ao$B+Am~#k5`mhGa%}f#@JqU zjM2*yTfTF5=4&n|YbV6A+MCFeTWd*sdHZ}L3E8Pk3bU5w!`d{y*ZbM&?ct*K5q@E% zL;X0r?XF*w$>ZB6TJxp5ui@|Od$%mqtDoqet2U^u-p_`erq<)4H-16)8O{E45B-^)z-wYDLX1Uq0*o4dK5cvtHCQ zYOec8_dvTTt zYCX4oO>19wfA>Cbe1G?0U&~(kjXlBj0k2p2y$8J+crbzMT2Fd3kk`1*2jn#_D&@(L z*ObRPFHgv8@*=4e@|yfurnQtMueqsLcq8LG$t#? zGC=?YKwx|btSc$6xuhgN97Ql*9=Pz^FROuK%hth>yarGi5IpTO8|LIW49Iy z0|5{iaRQekvngx`@j35kwD_ENG#iY700@8p2nyN|Vl00=alz)s{wP2Xay&mw@l#sY#a2!H?x)P%q+a*~?t1i~040?2DdX}1t7 z2!KFS39LCZyfWl9VJ47(KpX+&HF1P64gysW_-KRfpLBM_THYBUuYz|yea=o@iz_zu z+!{nxV*lJ4Fo`7YzVlo*C4MMn-c&F&5Z!^n%q#r5D4T-;FiW*&4{{Qb8=%= znCr&(jlH`;*J^e-*3zW)^*622jdxE;k!8{z?&?crlxxu`zeZkDK67{k0T2LzvIyMZ z$SBJ44L=}I1p(wWRZxdd5C8!Xh$rw~isqNJXGAN``)SDxMC9r3F9DO5kOvJ0YMi8KmY_P zAmF}UgS@7Kt$@oBCxE%> z*Npc5A$kx10T38Opsc)RPz)FYfiejouPKu@e1QN6fPkC8k?mvK!I49Z{tBZV)XKMa zj%V(uA${%XhqB#k?e6!oG{ojIrOT9}vf3|XdyiL?S~DQ(mB!d!b&S!=5?j7=cjjv@ zCu=9fvf7)-lUr*^dwKhOBMI55ObWA><-^)EzSsNN>Fwd7_7Q$zr9=HVyX~%DlgZ=T zCtCBRyRR`-`4Lb)Q

          YrC?5MG{!Zt_~q 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 z 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�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

      YrC?5MG{!Zt_~q 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 z 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�L4(+A#*PI)*Z%4(4-r{^)slBn*T%kWZl@hvn_Q7aju7;&%QUaVEK7bj ze*an#W@T4}@Uo%BAM}W>_CufrIc?4N2ax$%Ks8v(m8fbPDNlk+1nx5+!5s5oDx;-! zsr3HmSgHq6Qv~QK<*F>p{2G}|C-wPo>@=U|Qc(360&Xgx(dOpN8k1WDa43T;wWZH9 zM|FAoe`Wl%8Lctb?hgW?8m;AyJgy)>=%O~ ztd`ojb_WK(qBj*@Y_fb+oF8&XsoBL#5p0f|f4W>?i0g>U_<-6-(V=F?tx4V@je1u5 z4Q1$;(a)>F+!qxA2~KM&>Ub^le!-I@2P#~6YSI`77z5j`WqCBTuw#5D9ORoPLbi+A zn|0_&%n;XArhh37@laFYzG{|bc_!x5r0)-`uSk$a<#_}1%lt{^g*~7lq;;5%H-4c- z;izSi@6bt2TQ+m~qKG|J3|*p53RX|4sl~}fV5#LiQG{Cc9vG|CBYCp2tVM|=ahe5< zlT>%aB$V@bqPje7I}5mEkS9+P(RG*XhkVlt6jTpuMDlvq%_A&dYtg`-!< zA5zSnR8SWdC5(fs#bo89IgZZPMP-e}%sUwNT#JHQ8t^m=(8_}eEu@|q_L6XMFs~rrimcq=D4;034ES69 zWj5-|R;r?LNugGj>rbpS27Gtt-9g^JV2Qq@=>Bl%r2vvXct`X@uD^IBs0@WghaRo^ zsh`f_fDAN;;V0w}_)!?lMYyAIC8InBGMYxPEHHK)22vE1PhMhvaSH^>0|yRxjiPUh z5J^gHC_)|G1&9PknE?UCe6#0lZVoa!L@1)=c63ahL)(2W70UUQdJx#kOm^g@A_w-} z`9rrR_amum9Qd*yU|F4`BuC|hMcd!zRmuH(044t`# zLe6E7)1)NV@0wZr5^^>Rmf~6CbP^l_G73lKn?=O;5PSU;696^x34qq7nmc~Q3_b;d zBug--`AJHT%EF<@PH5r1|sFgYZNut8sGHM#Tti~qE?JdKk zxMU-ylPnV5?d>4Ct2zxyU4Wmr5}REO?G;dp2K|RTvvsL(X7vnf5}Kp}{g_vm%&f*0 zd1c9mS0(Sri#t~1fs`tJt0gxw*vCQ1!l<|)l+<3mlc#EJlaOKs^_3%+oXZY^@>fPK z7MxGE_~H9mLk0Q9OZLgAqciV{0GTY)HhmHb7M}a2N7}zRE(wQH+(V688NXGq1at~KTJhocdGL$c1VTkP4r>Z`}cwHUXA%oTk(6&6`0qZ~{#7&}}ywjhmXo=pyIiiFpl* z?wxS5r_LN5*fB4DZbc%62k>o=y(Do)9^%W%#K9N@+I!IXs{2YWOVW5YfW6_l_kt)S zyH~V5uuEDUI|y zTGg?LDps2X@Wn(LUaniS00#h!ucfGsg4vQO*fW3P zMKd&xL+5KRmG_0{b%+MgRXfFM&Z>`gWS1{eZwe4RLg#FBax|p{*~A{zT(g(qiUe^* zBCS^&yRV5Vo|iy)7a{yQh|a^ikW+GFcUx++IczUeVrQ@&sQ1~@4q!`;g6J5C>3kAn zrJ3X#LwtB?dKYrbwEW5HA~lY+bsIcwr*x-<=T)|Fn!H)tkZ>U7cExb?UQZ9<2h_W| zPQ~6=>Qa=4`qklJX0H?urV0q9!b{*8lCS(4%KbWS>VR<^GZ-`z7VUlFjavlqYhR zM{1W7Ki=wSS{(5;{hT6z(v^Pi-rc?C{X2&A_JIo&;WwBdi4iQo9Xh(>Hz$GC$FLQi z_@@!+2xL9y#0z<$;Jh$-(}NK0cgRwgJ2{A#tC#V9n}xT@Arywl6Z$;Dw)oLWolHG( zuIi4-71UZ^2!CWV=u>LFv44BEQahiHJmJQ=zLibn;^Lam19FK&5{L)@jb4UzVWUk^ zCrf8c?alLhWM&2D5Yy--m`0BdA^^|<8Yl<)Kb!2s&MAdoH)82%;C7uQu)VSU7*35v2N$@ndTQQ`%o~nGGO^@&8%xcV`b}P{twD?f z@NMs=b0gYHd+HFVS4uxUghP*=DY`i9x2sO(^|YJ=_~CZ>iG6y%r2K5jKHe)SKLyUC zS56!vpIRc98v@?OHV$Vq@|n<`)W{9K3}r=X-WA=a6(F+7fIQj zqvCMH3b^bRpB{hz_{;Si<1BP&Uh#9eOFUB4n1sA3O#2Rc0p94&+b} ziIPLlW2(@;5BtvwF~+_O>3g_Cc|amNCPX4P9S21i(Sqm*7!W|VslC7oK+T@RhV@-I zsT@iL97xTUJ;Z@2G{Je%Wr&xq%3k7HaKe#-;sOk>9-11WA{tjFGYRcRFTCXnIZSVB zD?|>Z+Jga21H{=O3VBpZEvl|?pG&f|&M-A8Q?q>6 zWM}!?z~T@PBN+G+W)a+f=prcrl>pt!TBx`^kxu{SQe7%)u+_;MQK6w;4$!fg@?6NI zhaO4~6O79PKzemLE1y5DPkNNrCAw9MGhoHTyQ*W9|>WM4t!mKiTI=ll&0Y6*Kz69V--Gluf9qy> z3_(j3ocBw>n4=Ry8qwoquUZty4Y6;#b&7u5?Cfv9Ci~%)5^Ng#!4(>@o+=K9h~N}> z4hNPKhUw>c4j*|AUy~>41XSV;q$4v*74MY?hY12v4Mnt-^#GEk-1?=uj&lsWp|R}C zl_PU;ST|u!D5)|1DFU*C)zW&iyISaRX(q|q$-d=7=aj!fn*3#CdVpklAjtG~d%Kbt z04}AJydHK+%Ht)AgQ{JHd7qo@irpplFN?K(COzr6&{!^(PF?!AW{yyGl1tw~Y?U+v z_F9XZ-qrLz<<(o=^776S7HfBR?=?60lgH(R&&Ru0At>?;c;;0~nH_Zg8y>cr`&>at zYC#@-iATc2AG<7`gW}1jIi6e^mSv|#C@jddiIVZ~T`P*wp_}oHJB9LQjxiXEoX-Wv zdX+RDF?m`HV@|k{z9C;EU>U?kvm#-dkGYjK#YCQE*WfxIkEuoUCmS<(Rc$fh!l&-E zm>0+i!zkrh31e^SIjM3()sP8=doz&Im*h^!y3*gfRF@y4CSJP9xy&t5il;e@JZ zc_8&?s5zvDB1b;#VYtShB~!`ayUIXIFn@GG1|pO{B1;8}{GoU&*ON-*(Eh)9aIny_u9CuPLqoCQ{zSzs+IoUd^|zvlV6(+d|n14pDx+)X*px$zbt2Hf`{b{O>kCH{>hS^mosY1weW)5 z7!cb5U|$3g?8unuSc! z;4SA{&Bm4>g1JiiGk7w$G1#&XV|rdMK7X#LKWB~G^-3y--qh086Bz%gK5aO1Qz=j3 z<}m{RVJNbm1pz9dfU(Fm;Fv9CbHOpZ7ey!bh(klRBGLx-0+tU=1B=>+k!~lE!n9K- zh6w<)n4seb(&xHbB?KsX=pVz3Mv~l}%VCjcx|m$P@SYR94+2}j$`2#gL-RcbIA;|P zOmsZZY^W5Nz-{z^SLE8K^ma~g>uDGPKO7KoAELiIa5{0CeCns;S}xCsLKt2z%eslf z(ik1&$nd?M4M#$8n#xA>tC<(iIh7H`cY>g1Sf#0lOgrVz<$) zYN?rO>1$k)nOAtW=LUpzWmg)i%<_1&(*kmdcVK(W~nNScxm`r$eR70=5~) zATz>-ThN5>24wqLn%zH(rj!qYiFhBdURN%jskLB!Z&d`;p(L{Z)0smkD zOSpS9Uf6@&$`5em2PzujkZdn7I_cYIOO3VnRph)Cn-TyYDlSg143d;{i6$4aWUS`q=1@7D3}j>~1SXO? za*?1Z7`M782DlblIA0~tr#l3)p_q@vnXofwsgA3sM_xat!p^h>0KQOBAo^;;A?@WU zN8ag+OdHQrvvoJFFT7>%MV`KsP&+P&8(6qfMD(_<)m+bQ6V-Q1*_tW~sT2m^i?sE% zn@X4#6?uj&LkK2%E01i4MH%s97bFKG0{3QKd=OnKsVE7ZMUn~;Ig67uh;F*hTM=7u zaQ*oS1^`>qf=is9hw5Vv&XW~zu4yIokNJFmh4kpZCtaze+UZ6&A@PJ% zoQt$#CXF!yX^fF@V~l}jj4@ld`Fd)uBO9W_JS!JAvk2ZpbiBvzmUZ4x9|j_wHfnnr*xUZrEasQgQp2O zr67)BIole5LAjyjvhZpQe3&;4@Oi5NhH;IMsz9SA4C#yKP5!PpDPwqGd>|Fa%0n9# zy@%GVnZa{m=g|g=Ne&lfhG*VU-0#IU2FkyIO6BOlt;O{w!_Op@=Vlkm@+C~S{*KiX zQ>jF;U+S}$)B*;;ioVWPnEN{B%@zyMNkOwE`Tx&~&+;oCm#?@FumaaSHhY2Ay52mf z1-4rYwhC*_#3*T7r)IaZmUk5J6$Z|x=3lzRLLHiqaw=!IGIBzjpESt>rb-^Ge*yrP zo;7i%gbqCz7N!-sDWFztH*mZ~V~qHgPjW5?wo2X@!#VP~F$QeR%oxM3$1BDduuHal zG{$h?d)^KY;5FUY_LfR}ykwZBs0ulyZ)UH6)(IF;x2pU5VY%5`@M$?W9ll@AO@H;Y zoGX9XDaDB;W@8yn*m!1rOIWl7He0y>+`!=d89{i zBV1^QZ!7*qE~08z7_TucfL=k#uWx;5j+t2U`yT+zusZZD#ifd_BJzrJ5Xb4mB1hFE zqJs;Lqfamox`QsLA`dzvA`BNl7IXli;YosifnnYk$2GjqH}j>exFn^=`~c%EOKoD19HeIgHq>vI!gOJrz|4%=^GCWc-pr= ztYZ-<8{N^@?R?s@o10i~SP?N>#f8oXg&r4!T~BJ4dDhIo^FfV@gF3Am)RJL%$SQhZ zT!OBn<YTAdEONmasI&D+JZ;;q!g4_{qlL^a|yHIA`H zHuea{?!ee%ZRD{Qyu-U`V;9~n+iJA;TYCrI&1TEmZ*{5DX>tRl%?=)!GbaICXOHSN2Z~r0={}r^#F~M>-%rL$MzfbNG3MC+r)zp@9L8V z3ew~1pV#UT8qWeJexvS0HUR2Sb#$6wmgzd#5Zt8-SMPA>2XY;c11CIDoeEt1T0PO1 zC=QROY^aaXf%dLaq+Pv#j^XQ3SeX6md}h9kuRmA)GZbd~7W#Ulk&Q%8xXc(z=Cym` z-T2`!S~;t4vf;9B-{>H$jBfAEM~8yDItk0`JYWxW*~XA`S89zRMK~{3p91+!rrxj6 zT-x~&&x9?n-c%;IR)gNTa#JC(QK5WrJ!LnJ7KD@2r0>xavZl)z8{mBJMU&|a2=+sK zMNPd{UWl-lh*v#il;r?O&4r`L^yaULu%V~rs_sgAZ zzI=C`s}xcJo&AoGAfil^e%kW;2_Ks~Xxt=H>XB40A3(z}N+OaNWM3)M1so|)CSFov z$ekzw--`UCD}8>-)xlctx`wp70Me;~XVis>6{!x3FBQJ>05}tL#4sqB2+fm61g9A* z)gIn7pgPdZydif)hZ52PlEo?)9N{oIWay&GdC9W8k8+i`_(a|bePWZXhTZqHFhVHR z(G1;rjm=F@#+A=U$OpPMQ?-yyh73Zl-PtlAmL~$~^4|>~_KFh@Fb5>%g)obO=Xk9D zP*|zju+>*OrRy!jGPd}$B?DOSsalF`^U~n6HKN=Fxs;mnAZe2<%Vf!&b1yC~tH*ti z7aAXaSqowJC<*(curI9X@zPE)sQ7ZJvQW~2!o5MCl>^akt3g}$t`k4u*rMB1B@a_? z^4N*tymea)@Ctvqtk>FRbD?@}EL9F~5d|U~&Col^c!_c5@^O_>{=O1ZSu50Ge77y5 zP(Q}-SVj^VObgxIJu=SVpkab!57C?-rrroM4(0noJB6%1;8;jPJ(2`>Ap*nZ}+tUoabfbw>v6#v(n251B*sN;TdT z|L8D{Vpu`^#P}I7fGBt71jrfB6(j%t;YS}@#BFOEArvMSq1?(cNYBh3@X*{d?clh0 zaGrWY1YA~hhRK~0sE~~ZC9#>s8kzkEuP(5jFx3jZ@zk9o_ zX147OXNunKv~D-QbWWXQ5c|{AC>jEi(7=WRvk0x^#Gj&D&PRkFGEo5<)7=fC`vt{{y1oF${Kb|RBGvfu(}(wD1|5vADIpSi;M>rtHHbX` z)I16lz64)})2to6@S$Ct9@3J*9Ir2erD4A4GoF+sqQLP1${F_>?bkH^eL5<4B6B}0 zS3izFFLy?ZpOvaHGxZ~@isQ#4$`*oG$P`B0!iJ*K?zM#%8QI#bq~F=!UI|OW;b_ihmId?q|t_mBu8;amwJ#H@wu`=#cS-r!!m1p za-J`A6WJ^N^E~8bhLbI$uo4lP))p5mjwh0cB;pJ!(|-lOxT~pvhvJ4qOL0>KP@-7i1%8tUMKTDth;!})LBVqVByWqS zRIsoei7q9Z4Q_X*%=9(Lpg?1+FVYoCoK%9L6*iD(prpq1-fV=#`AK#HGbkh;C(lIcMeN z*Oy?XzP{C4TtkPZ*<0zJ^J<0eIe=dO{RsDwy$@1xoVls+VQX2$vO^0x)ObYf2if-z|5-d08HorqtVdr?oF! zZ?>BlgDSvaZM#h_R^YM%v})crbAe~Fa5H6oy@b_-Lk(cs-imSjl-rbDbG4;i6JA5p z+Nl(56ikDBaXhugZbcH9)Glmx6{9s&PCG)J4+V4qYn78UCQ{Pq`mSfNv>4$sbWZ(| z1C_05;H0oGCq01az;#b+W|p&;46vz99q4lY1snD$Bo(es=-xxP0%t%3d_-$J#}B<2y$;Fni5%mE3mo@F zift7EU6Fm_2`0t>RxF6Jj*v=xa7vIcNj)g28E0e93q*<$3Nb2QPj7)iUXM*p-MQMq z3D28vh#XN>T@>PmB{DaTXC4$IE;xlOIEiE!SDsb5-k~{vl>~RPMuNNQ9iVW|LOR`K zlCP=v4!Xs%G#ZTp?+M&%0&fxTnYSrIJbK7GFhevZWiY*G5p^M>6Y|H(m7DR!QU*_J zZ8~{f>J{6puPj!US6a~q8H#YA+&j8++d>9kJN4>O7|e~O$eJvtjmfU@USA*@6unqR znAKHX=H){TD~1{thngQs*t^ou^Fvj8azPCJx}jy;H~(HTGtL+B4OAp6E-{)fEUaJ| zmRI;{jVpe&{M3bw^;;PFm4?{6+(?;1;$AY5^}UEWl}r~sq5x@DM(X~eJP^m-2j%tz z_bc3ZA9&@iPY?IX?GJu9FSlcO)+%@V{j?%>|M5vV#o?ZpM-C67QXt7rx2xj8WV(%3 zbEj1VqD7Nfl9jKd1+gp(38g~Hj}(nXSK_02yf%FD&@39RmPw-xLngHFEZjFDtA$8z z-4&H6dhEoTMDe^1ME=y^i7k#jK->9B$FVaw@qmivHQ+#;|=xkgM3Lcn@)py+OmBXk{$;xe{jq7Ph}6TH?2Ey9GzinD8Ky!$wn=*DNFzN*UfBt$5SF?8B>ZDYZAMu18s~{kfelqY zM#^E_xfOHr^vLN`N+czTj*jB~EgNHR*l{Lej_Xc|!??2*qr*4`0JxnV#J1OUY#GGT zw`sRP|M*4dx79bZ>?gdItCG+tsgO0}7%ek-Vj9w795b;D z2T21diA|}&XAY^d#yib&2H=C^^7uh72UT%@ijf3) zc*nePl8pM3C55;&$>>6eBoGj-1bNEmidlUwBo!6vtVHQQn3uOKC@3IaFPhrhjQcK? zIU?qYzz}g&uqsi3JGTFDjvnA~5uNG6imRA6#8n}-suwsP1yzRFx@^?Kr`jjUddioB zi`juXm?;fao?O)9TXVfkh~dbj&pcX8WwFLWK$B8IVUk85%7Q!~O^BY`ek}`AhG~?z zskRDSrW|+u8Xh<1Sc5Mr!h#70`;@{w@ajeBT-DargCEYW`la+R$my*x3p%M23^YZQ zQLScjkSuW7CqP@ge3qxExF(eDX_1jc@-fCmL{pSkd}BtDil>;CB{!g4XsW9%kz5{` z&nWwzxG=>LlCF9y%iosOKS*%^^8Gia`ul67>@_VPs1b_9cX5$RG@o9k_7q8uQZ1IG zIrqK5-B`6Bq6kVDhpVE(I;A9UQWB28B494&N6Vp`?C=R|7IlAQJOft8%8m!>@` z3$7PIgL#=a@ckwGtPIPJJnPOS!H4obLt@PZUo691h|qYB3XK;_-IvdOV*;j!0zv;S zj}15rBiv}%49I-{#^6S?muCLqDVv!pqHo=)^9u54WWMVubAji+O=du;o$yF{!e-FZ zBkFldIj63K+Xl_u2WCVXMgfCE@RLthsrMq~gyG0Z#%z9=dQ+GsO*Y9-cEG~fbj!fp4y*NIi|4!MWJL9i5sl_=xocpsfIqveX;f)=1ORxq+*y~ z{s;}+#U-*2^09g|kC;f~M5bbaf->PTm5N+9%|>gR@dM4T#i?}8yG^gn)EVvK8AT7u zyG|^+Xj;H2v*Rc&7Aczo1#~d@CWkhiZ8pC@OXpo{hh-2Bs>024tv24u26!#o}g zGtZ>8Ju)mhqoO(Hz6A1Rx3z1sb1FKKi+?CVMtDOa$Sp+#&`TcKhobJ&JaxG?>9ag6 zdK{aZQ9Y&1&wTWE?5B#iy77rFkj@=K2}vT%(U7WR$+ z`1Ea0nrbFwK{ zUkc%m`Th0||D0dg55zus$IkReES8k94+k{BsN4xHXeRAP@)RD{TjB}U0!lSeX1=K3 zfO2$CfFFAiO}mK|O_`HS-~#@#cn^=mRp6itgH?oukE9){KSojh#h%F#0K-+84k{id zq*44BjS#v1kWBSq6TDM%U}piQh5vh8EHtRsh4K9c=7Uo1O*7{93nPq7&DSZj%0F`Z z_as{ujZ@? z9g6cw&`qW=Ap;6xkFc%5=3Q+L4xDmmi<(=#aUJM?U~`z#YIqnT4)&aoVl;P5pnKdy zGUIHvn6Y7){nC!2DSAsAXuKIsvo`yp3H&X8e=>nKvwk0OyMS2gc&j;!ucFNdcbI3T z$Wf?oA$m1L`4Pqqc7P3jR)QjUj1RWRKmdYLg(m=p0YB|C3fbDlY<(!-iF%2hpwe1O8ICwj zFtZy1x)FBJ1mR^^BLb{Ju5{e;yP@L0Yfa;5a7E?ClZP1NPZ{ufefm$Xv#kWK95hC}I6 z5O9!5MSy=W9Yk>3ZXVRe2ZI72!eDD%V-^RsAAFA%ev_8{2c{vmopyMD4-mV30(((= z07T`yTb}^D>0aLdFTc?X*bKH~ceZ6?m`WGuz1i(fqhV&&d0bynz1)7b+6d#SGJ)W5W!u@5k0)9$_sU;mlCIO{IPfFgo! zv(Z?x81I^RyWLr`2=Cf$xZ8odIo<&c8+1ERb3`>;Sala34(N8jA)X%NZL5iucj5Mw zZujVENAO!u?9ap~?pBfn5*cbty_AIdN?sAv!StL2Y`}>|3t=;_*gfjn7!1I;FJ$?6Yz2L366dn#y!S4z~E`bc$VRi!1}DVaB05VSbe-vY_eJ%mS+OB z8}u5uz@Kg2!*;&$QcA$TwC}QaW!eO>lphi&DMhf?ln9nvX)QDrxuj>gEFbV38Umxt zVVj$<{-bDk0vq({j$9y@Mvfc*KWP-vRz;6Nsd~AOxdV3FcnClG_r0wuX zI`O-)GfNWR3GW88n1HN%-#hhr;I20F!>(}{&EkP~2aT=_ zkuIcbILBC@<~BqttjLAN2AZ3>a!LZKhZL@rSJq^-jXk3 z81E51@VbT{;+iaxLsTXJ&sWVmD?Olz1eZocS`dKD&)onnp=F_r;P^<2D^l>Q~-5mpeyR&n=wZZr#f0e)a5hj2+&Nc`KT+ze@{w=)dh z#xSV9AxSCCisHssIqO^@1y$%}uGGnrtjG})L7tc>>RmZ)QS)-D0*3ibGjj8|)I@gG zFydG@j8Htw_1f{O@xx5H#mUIA78S=UK~F*$j8{1r6+g(e zYf(jb*Lu5wIXb35g$4BlI42^b2A&_(rZ1U!7&I33^@^We~`aAqPA=YM?qCsp}}qV)HR(ahG4kv70^TR+ibu z$-Yel?HvHXLk7%t-;ORWjzn;q27`Vl)bG&D1)}k#v=4*Q(5`VY0pR3zDy5+mh^^+{ z8bIl-f#zY~xPZEY1GhUs77^|yx6*@2H>L0nb?(=3doKfm`kHuKAsh-yX92`@K$8C0 z>d~Sc0p``bV*7~3G;7Zw7X~0)$dOP~}KnDbpNYj#gmK%lW7b-$5Sbi9K z@q5o6Kaz}>^zWqC|BxL1JIWi`^N@%>YOp42v2FN&hyLGew!#U{W* zZKUHH>CMoDU0fU1r{+!6Tk4EzgU>36M$JZTVxltB^J!DoQ zL%DQBv{GIkU8s%~yR~F%24`i7zV<&vcl{IQm{)5GkY`XYY24SsFtF6SR1&cyp(dg! z^yliu0{LNTUepQUd$rw+XDAljVC2~MmdW6}_;j(%j>j;y2P zHQSMt&dne+R4BEco95GlVop^nGb6E;)tP30hBgRa zzMI`{!Mm?D_-e+U?Rc8iw5La*%vLiqsXM>NZML+tn%T<)nk7x5Ic>p9Zzl%{oO-yr z6&wV3l{5O|R&Y|=&y-zUnpwm-^_o+UOgOU`N&*c5aRN}sm)ju$&cE4hHg4{-7XIwA zHva6e?QV;8x-AO@Y*fc;v;mrRttQm40Qhw+fPP(kKBMOd<+|Gqc)Hhsr_G%PJZ`rd zXdaK|QOTfdd>%!U4Id^)$72{`U^+_2D1}5)}rVMjPqa+n72@D&L?e)4@u=D$;ZRh7h4Bk1cIfe0ywRw7Mma z(^~b~;S3skZ~4V_{^HqGzBS=*olWJ7Vr>n@L8#BfJ68f&)B0gFl0tVpKuKkXTWdSy z=WPsMh4+R4Y(SI038A|~R0a)G#*3cP!VN`SO;Pyq6ia4PaeE(!HAKvR7BWJcP{H;1 zB|V(N365YTV4OI-Yrw>@ktaj^U{sU+Dx2ri(l`W5vsV(}M!}4z;F#-JgES64@aAy1 z4O`ID-u$2z9T{T4M&BBSl)ov9_~%%{7yUjrHN==LMqM>0MYy46dBq+m;r7@crZ60t zfR4Hoj{A4e2Nu7C(WTzyhq+q!THZR|6MaCfD}MiaeSJLDI=bqTt@J``mGyJ=rMo0A zpz~io`hR{OJzn|f6EAiC%SZo5{n2II1wWHtlwboCW8|_be(HyY$_?Pywt}!SZ@&HaKmGQnfB1KQ{VSCJr`>6`tI*-YPb=c)oR#MDVV`_b?jCzQE06Cpx?djO zXXKZsFdqlyadx8P@_0aBU9X70Q`Y}1AAe_eduNw&4D7aB_`BcPrTd-MUW1> z;8i{8{xSyia6O<5YsMt;J;OW*MXk^7KY2*u;G+?eXZ*H?1})k1o4Lnkw>T0Y&OOdE zZf+Kz5yL8;)x6afH&^Nb_eNDUIRNJG^w2M3nOi-ni zVK93Pe?_N_9fn@+cn3qH3gV5;ecmF-2v!^ih=1zxou;+e0pQaSMtOgHt z^jI5>{!N}i6=M+ahypf79iYqD#y|rq7^_efFJHI6d`DJG$x*Vf8K|tLI0o$&1@*3B z%tDbMMMmqF9Pnyo+5t`NUp@B+ts(8Ex6NjDhq>sLwk?8btoGt!8<%gb+)W>)Y|ymD z#-&Y%tUly_8u&;4ieh{|6y1#MCh+4E_}gZu<$c|lK(ia8?4rSc>R8a=KkA-87uEYH z!b6{)4x5+ueaz~|{7(b_$X`*6&yV>ym$)G-@y4AJ@cQUY!0W2BC!#Gl@F=L;i1}8- zh}Kce<;cfbvSm&_TWf0?W3c7Ld9Ieiv~JbU)*zS zGW7%5Hq4x7$Y+NaKasIlP#SC9`{?nLhmRh7aro@cvyTt6>^&D3x>U>f`Zs?6>!1GQ z+rRkf*Z=mP|Lm`RvSDngVQm>3fXcu9gCGC=pZy;OtXx(AtO!sZ$RQWIoj>_Hq`%a-rV^54}bFQ z|M=stf9-$$+28!u*T4U_U;oN)fBWx#`ip=1+kf}hzX=Qfv!DF>H$VP&KmXOgfm;~- z#@E07zx?d4|LE&q`;%|})n9(|ul{!^{l&le@z4KfB(A>xgMazWAN|vx|K%S-`M1CG z7eD{=Kl%E{fBnsG|I45K?e7;xLI~@S4`*Kt2S)Pk@BHb{e)2EA`M3Y%7eD@^Z-4S1 zzW%en!Cq-RKMH>o60*fivNdyK@uLtMW%Jsw<^06gu+DJ-RHd^7YUuBk)#h3?v3^if ztfQ>-QdRmw*1+mDUWosrV(WZkOaD67IV;wf7i!E`YP>Aec)3#Jj2D6<--~P@Y;uiR|KmGbIehk|aTK&I2{uMsepa0q4 ze)~6n#HT2Q*Glmn4#7BbuK>~%l!J?VqO9a_%BMJU)plucWHwOde8uQx7>P)j zDOr}~p=ncye^MrI=_=~y;(G|OM9lmwVoP8jc`Ul&Sf6|XNZV&|A01hsYOZKtAEkvN z7mIQYmCa-gJ$wet)go|B^Lku|h&-asVi_yc;WCJgMmM$>a|%^L0e@Ocjf>xC@~84) zJNK~FrJr`8hwWUYZCaI5ksN-$i```w)D7)toQn&zZE@a~y;Pa86ulW3pO|0S zqQq3T)^Q=0J4=i4SjjTeno}f{xs(Jn_*l-V^jwziDD$2yc%ataD{b!;+b>ArevX-P ztaG#gn3IPcZ&<&F}BY$1+PX&#NU0X#mU6p zg>GLSDU^jI&vFzNQ_^%GNn<+cZvVabm!*X8HTX_WVb!&3(`*M1 zvx}HIAaf^ujX5C&GuPEsUrAXUt$-U5jA4>v5ba<_KkKCAt^pBGnVZLYs8wSqYE|Y7 zuJReDQ=jQ{oPUySz>sSDP3DShW^20^_#}y_EkY8XW1o(cP4+m9Cqk%`QPzRF`y{>B ze9Vu8M2FPO@TeduJ8=8kXibOd)?e0Oy3LPl^YoHWqeJfm3tz`c1#VEz!VAU?dU9-o zq(q|rWbvC8d{=b7>*M)gvgyl)5wP%CM)PIk2$<+BCx4e70dt*Y*yD|#UZgv>=FAq#r9kW z9;d1o8^tEE*_vD#CRcvB2`1NOd=GZWNJN7jad}-j@&7jA9&X2X8vHTem2%a1hhxvE z)YSo7YM@i}PvV;jGazjlJcGeAXb~ASNFw*~GWsj=A#cxhbkyTx?2k5>44h#RW z42qe-Ff)Mu4*#(Xx|yNOGX!iU#krMABaVQl&Uk|1#AbNN%i!e2LM8hU89B1|D%i=A zvBB{K8^|mB`|aL1qHl_d?aO{sq@Wd$PZs_{@B4Fp#*Mr+Z+%fu)<(szxTRb?kLOYA z((k_yFW6?+lk#At1Zw_9oqbjVlD|#Mnc_yR&z8{2Yhpup#n8>caUJ&EMEFCMIO_3!dC7Df6z!^m>?(T%8%D zOwGMgekrcP{#+-G46~xDt!Q1^{ERWP9^Dy^vhqvnI%C9fqph3wh7k=+6eThI*5%cEKc9=^=2F22@CDbNA8uhEu|?I92)yCtDn+ zwZZAD+d~NwcCLqpw1Gl8E7LeaJ|cG62N;Jj&^}O2ZkuOX8CN{4PcdmV1C}`J_3FC= zc6}Eks!PaNQKcO~l@|3~gX+5qiG;$G;Q=P$xW23B;xekb8vZkcC?+2Ag;C;fjkzbO zzT0c6dQ{}XBl>Boz_1)f%UXQ-3JM~?i>#Na?>!f@h%j;(OytjNn*G5c{ z=j_%X=)0h2TII`7e$XsG=+bxFbG)#)9d(eM-slqTHnv1&Ay4()USv%M{&DHM+h43g zyM2`u+Mv;y3T@t_(Ds5tn`a6w<}?-Byq`i#a`-B=JHr)PHl=iKm!{C-?WBAxPJI@- zp$2wC4v@jyoicdmh~wVqUxTF>&iu+##w)EqvnyL<{ccBCze?X<*2=kjfw^G6S=5Z;j9eiInK1WAv~QA z26|h!NjIPiD`JsvwKSL~qWwj^`$ePsMKgX}42$_n--e)C>;1}z9VM|Z@I^hTHCu$? z2G`pdS#LU^-kNJnN7mR#YV_TE-Ojx?M86xsIBm^Mt){5$D%vx+;!PqDtAex?d5WBwUT2lNLp7;qE9UDp~0SLh`wCe zjD;)V9>4&R_~lG&Kiq=Tly4LG2YV3-I~-F*Z9GC`}FRRDlQ8H-;_pZadgb$dwDR< z+HjT4DI&}0s32Do&E~gAhQu!>lT@XT^zP4+TEGZg?DhkDH+}rTJc(Q*})9q=zNqT5^=vwchpC$_OPs}jqaH#&rFah?O^zj~$se4LCPO~U z=MCMw4R+(dM-aAJUt=1ayYxq#<5i{UlWq2V_ttmK!~ZQsI{ z5e3*O7x6B=WO+b+oy6j0-$8P5D65aOI31Q!`)OZ7V&I7EHuV|W{*a4rPR@ zh3FzlL`!oegC?8AGjZEC@7}U=<2!f-E$Nk1Hk)DVM^=th25s5jnI+iR-Gpq~luPP& zDZJmBx8G#Gmeg-nBB0+R7(jCsiBpV{F-s>mDU{r}F(CXwGQSqdSjNzBm{w}|X{AA= zlSr6$7AHo-3T)^@jA&E=`&X0f^kYM@Kh9t|U6f#kFvKcL%aAl`$w1n+cWh~CJU3z) zE+X3Ti4l4||7+XHAuFej;?ozLTj-1H#z~tqrQs!wem8+m?Id1lN3Uh-s=}5bvB?S| zeOi~sXL2bYf0MyCcpD#oQI9W(C5^)%J>3B-W^XRe+N1uswxza&cb41c)o{)$nE^90 zJ&&uF7?v>>F$;>%Vjdcook- z$9?l!wy+J=;Bv>gfC?gcB@7ei(W`V{DJJH9#TUkKw4*E{i8J)>Yvj7~O_GKeE$ooA zZbh|YD~Qh7!IicGjfjv73Q@E!piU@!0b$CAvUADT4R4Cv@o6wFuJj1$JWiVz%VJz?<4$fTgXb<8b_CQAZ;W;9p z-N5tcbwEA9k=S)WMOJ5Du0EA&!<)7olS|`RI4^f0*V*(ag@UZcT!5j%vmgrSw#jiT|C*qi)YOCs)aKvj}7RvZZ?7o)4sVs6n( zcgVINQJl#IjTjpzUJ?spH8J9KGn&5CdR%-t!Ttq)!GFPT8UGdOvkFg!-2q_Za_D|5 zSivLUHw}(}{!S~6MZ+lYPyq-io2maWQ-^qJzb%!-{4gnTz?OnE%xRe}NpCLmlCi!= z9L)8=PeN&F!RWtv4*$b~7v)KRLtRq*xF%IXnm&y}iT}1Wjfw zs(~%amfMV;o!M^PBxvjSc4lr+XFYdpS+}^*(05h5Q-LUJ%=S4UgAi-S4%& z=cVqtH1NKtP;5hxxA;=Lude?kxvr8}mv*gxnbDaz#C?s#bBi-zB-XC&^4BT`%q(JW zF3*1s=Gx=*kmcYjw(BXA^;VnpMSirF2ZO=?^Cb+-MZV=CHK)lbRrHD_6uXL|C2c4o z$lC5LNW6{=4jo4EsBTqDK@^zf z%~zDr=wQrt3>2OSS=(r!oETPLc}1#At83F}0IGGljQY|`5;Y6ZNod|~L#e(FWw7!7 z`(^%pa?Wty%%$X1Alq17EE|h)PX{TrLCI$5-*s9R{sS|c-fNzzGZG`@jv2g!%GD?% zIhm1MCadJE!$hTAEEU5c%aRdS>U7pCaxQ9}ZvVWjC9BwiUYa$muU|?f>85~M8fvV? z8K;I$4xdupn$it=md==#)z;~3meM#&F5+>0K;xk2WXk zFa-vR52P`N)G#*0L28uUQUi}ca*|cStg%1%FfK+?t~P~VnQMvaA6#VhxyXpvoNo3; z>h#858xb4aAw3hrrgCi9zY?-;VWf-7(S3GUu^^WW>F-%hBtQOv7m6}35DV^Tp-p&0 zk{RPKtGvRWXcW4bTCT*}(Ai1@(5+o-1l>sN6OhhC8f_8%+zp%I`*_<{5WdxFJw*c) zlP{NSpP#zhceK3$Q}YaFfGMve1rkMXzsCP(~3xCRmlUM2W@AQ8_JX@8K&ib+KJ zgOB_{BvC{{Q50=Ou|mtaR}5Z_Z|qN3tWbl;3e`v;iilXD29HF_axWoPsG8iE(?BYx znj4l9_^rndr#05MG++R?zqG&kMv|x%@&6f)^_2_N65bWOgZ$9(>Mw$)!7B=^kyo;$ z<$LO^6!I+443J)u)b6U(E!XL?ftQ3smhJ2nr1qGB)$4Q`D!xuba1(M_G1mnaMPAqr zOI!*mRfloWHH83uP{XbsS(60`{}YTdR#YwujY2o{P$W^`5xA5!@{_)Nxl3FBiYuj0 z>Q8hrz4 zQUxp}4P7<1qZmDs8c@h}wWn1O69g;4UWVToYGvkc#2CHC5O$eu<=*7)Af26a zvJ$Dw1yaoOjr7iW&GX*H2j1fE$+lF0hv1P{!FpGeU{3?9?y4Fz-N1C%)bgOANkX3t zb2CJFfv~M843(>zfB``<+_BIj>9)B`r-auwk?ACbL}36M!UK5F8kQ8O=Lu*}OD{N#v%DI>K)2sNRz_6oYK9m+=~Wf#7zz z|3m&4Q$T?!g0v9uM;#GBECq(UPKYc~t<)joGs{GEB`@)XL5HNBcREY5dRI7t$m~`J ztx>O!9yQUkmo!gH>{s}-x+cdpr%sXUEICMnEY>`osF6fbL9SRC;Q<+%njdoKCUcsk=Phvh$PfRSrdi#S z7?M@)s}LpXjWW%p6LpYz@=HU4)GsL|WVimst2kpOC6FhJ28?pK1mZv0hi9ph^o%uV zR^5t0nDZ9)%bl?#6)49C0w&rD`60x&llKX4eo!5Ka>HADUaFq)^?rjcv@4OGgav(? z{I!y)iv?D|kh?)FcLGWAHMBC2)pM~J7JKnY5CGdX%9#OpKu*$U-q7h#QC$PXdj)ZofkVn@}J zM!Bv_?p9Qy)dJr&%EBgmRw@7S%MY8tmV2vO2*`(bU)E7pf*NlbbH4%agw2$_Y%O%l z0YwqEa2Ev~s9yob990}OqdNYC)(2&iZ^#3}TS|Y~@GC=3^g0UR3t=O$DpE#|E(H6A z6FBToRFm|oMrMfQGud8+)F*84uwY3A%cPDlZt6X;7(LzWj8O^-uz(V|%$$TXmtY?e zWggu=o~^Bx>*)R5l!ff1zx_8>l2uy=E6@W!pa^dWhC$v$7li(loCV37fP(aaNp!W8(VWvV4fEvCFA zPo}u^$qp(F!ZEbpM8iR?m=D9J04fh=c6%+NZzr>hJE+Q!?6`bx}_(#MG z?qw=;(ZIz6_mKAJ-q-UNjy*ZOcmAup3!m?MbnBWYr=;`D^GAMw%#UVn2Ia?|nwc-% zp5OC*P)?}|G>p|l&L{iM%^x^JdxGPj+pvzs{d$nTJ=HFh%j=mauG_k0Bg+KaO6!&lUS@X} ztXeO7c!g)*wq@(f>!nwOidKFXlr6!KrM{%_j$DE|MXeRS{S{E_QEQ0c-)#~)w)&P?_}N}pW1@Z`*BI8M57=G^>8A3wf* zcHy(TPe;F=x$wm`jD|mY`0|mL5cZOrvov}$2X_Fy^Mx1YwzQunFEhz z4%XO54-QGmCKQL9KXh|`|6V9RKXqh&@0T7Jl2(DFdi#hMhoq@b4o%E|bu|iyoIi4I z{->jlPu+aH|C&YmZv1iK@=2JNg%9q|@1J^f>(-+?N3Biaz#`4pP8ia)sVoGN<_E$w zb9fQRr=xg@Ll6Ktf9mrmr^f@qN4h*u?wol#_9@=i@Z&K`4q@oyqr0b{+`X}I;s~7? z=;OlJrJ9gOyzS)To!X$sg%3vOfBJ@wd;X)tE)4SNtz%Cvo}#^f`rYv-A6yOwAm#)X;73*Ua~ z0vexwH|c%v+O1}u`Ki5+?%bQd`vrZZ8-C%dtMm7M#5+sw>|Ho^>Cx?f&mTSkR7CIV znBThx1SMrRKa4MYb9`a^4Br0p+4Pgik7*+8y+=1cOs9YqyoOw0|HqGRou9vT^U1}F zka_<0==?{Q=0?Z;QAL`}x_98rs|&|ITppb04+MF@t|0VhN!TIf zcX++Zfiug%4VTwdJ67n26Z&I>ekj;#PgNiuNM)DbJcR;*z98VQF%S>hXV*m>IN$t% z6Ho5kc{Fn&0_j`$dFYAQ&XdYnLk55m9<9jqGy=^Q4;A53uyhDXkFu?cd z?$=MIKgYX=uH1^i_U4a#zHn{7|Ma@BJvtL%Svj^hf9KQr4-QjxVE)J@;9;mdh7@$7 zdLS+4KfVK#XBLS7_7;v#&0qK;64wJMx^VE@|GmBc>9K1I-(C9O+aE+gduD-!1IHfU zyyq<7#P`gl4nX+kM{h^td-OiENQ7_x@Ys`kU(N5oRs+VjFn#gy_zjq#5S$NI>GAm= zC`|`LeG6Zl2+GB z2LMtQ`()o0l(eU=hQfbl-p98H!?QfTW2~w89INbHi^T*FDTwuJ0$`d~T5J~dZr=XeD4gf;kk8d3T1BKGWqnmqc z#{kW;ltx0z+F?Lu|C2!kz<{PqqRS8p1G3vGznYo9bc0=cc;{*a4oI22w@f4uNV{Z8 z)MzA-ZXzi{|FinKhMx%v3w=%YKI!lEpE zzR#<;Kizj2H1j|xkdnR~38WKjA%P1=J_3{QcZ~(o4f*(k{R_v>yMRD=^W@GYs2o$j zo|wP$i4Av)MEh(=pNaB$5x%DeDk9SA^}&j~-n3^dN(y$d5p5@64AAx9&c< zeU3J{@a6atuszaOC_aDi=rXarsE%6L-oc{`H~Vt@>F1w5xi!Oav+GgV-po(lUM>aO zi|V6=?bXo7Wnp`VM=fmc(vQo+_8woFoIieesn{MReJ{56i5J^ro5GFl(bryV&$g)? z*dF9(*dEETENpKy3fsGNXbITf{Mgl};|CVbPc94FyL5gD*xq?MZhvg=++l|8ojekb z?R|ccHe4gN=bJGI+uL)n7HrR!Yc;UF6CXumdpytl)V@e;Z{hgFqdT7=ws-O{Vtac| z`(b-ezq<8g&kr;a_TIwhx6>(L1q|DpAN?3rgbP!sB7A;u{^+-X*d9%0-8*>n@zEax zu)TBVerMR;!J~g*d$nMD?s@vXV0$)Q#DneK{-9=TZ+dCi-gJ%F9_NEW*xos6M^On> z1Gab0!uG~yD7NQQ)`RUq9t3>O{1l1pLC&Wqzo`k^!%8omuLaw?a`ovK#~h)RF>G%-0^56h^cunTK5=7v(@V$prfb6XW@^RuK0S}v-oHPr8QUWT5Zk-{?GhZ$X+pDFR z6WjalW+1kA=F9mnK3p2MM_C5raCU5OIt1H8lAQi%$=KetPr*Q;G_hoCkCde}vYOZ) zlSyc4yY?w!dq=*aNXz5#n~$eXKK=1CJGSRg-1i*@%{&;}Bc#7#Z10E9=Z}A0Ben-! z4$AMq_NG2WY%d_E8{5N$3dHv4h782^ZhgzJz4HeaF3h|DZ12P##P+6b*xrSctBUQF zg0Q{0iSOpdXXYlppPRTnH}PYvmIHh=VQ&1Bg;NZ+@x%Gfi~<41qR#Lwe0~Ge>$$Ou z3kOevfw@$)uW@ed6c)ZX4QkHZ*rBbE9MC8?f2u#wO>+Zq1FIh4*&kZ*Jn7 zx$z(7#&66`d^IC>$)8t3NQ1x$%Q!_D-~?`riIZgSpF<&fZU2+Yx6GV`w^`|9htjFnHa)uaJ*n;D{E4gcAMHoh zc>II;12?cIl(UV&u04Z%Z|uPQ!P9f&V^-5akgU(Z#-YuFr19Hx{{^Nr(-h<2fm@go^UDHc}q z2ZymLST0*_(TFjs3ZP5C%#(qJF8zOQ=fh)GB7(-;*U;69u=i0Kp)+LoqaeQQ6?Gb^3@0`o9b7@ zvC(5TXgR!$b$E32unk}iDC7q-&+pm)^uz_bNC<|R7moipKXo@MuM=ioIDZn=oKqhl zG(3JIs;~!OuDP%qTDDj_Dz3-reArogG|X)0psreoEecHFyQKinwbV!Y{KMS%IMGNC zvmu}X2W1Z~5tcr3cmDVpi~WyXBDI_*ir=R`qU)m{k%NsNB3+y`?Pp)~nn2ec@{a(p z&Gt>Q^J^yp$u=u7=`per2c&%}64G`pjwv2Ov2Akt6t>`Lics50EeziF7W0a-NT}P< z;jxQL1HA2pYk(EQ1{!*SZWggVgJ zbb;@j?cBj`;NAjGcbag$i%&lO0{6?Av%scSACV`f{{^BoohH0?|J=kF8S@FGotY_w zXl$#$VxV3?GyB4)Pwsu_AS%S}_0RyNF;93>AH<$TEYz#{9$EFr>)R`u1gWtagOkca zdoQHPT2<}VyJbD!GoYxTa`wuKQ9FFURTsLIE<xQgiDn@aDpQyRL2c3b%(Pcq}KLXx|rwdh#ohIjdNbH)B zsHDANbOJqr zMjRD0NFHm&t)+XxcueY&p$2;#RDUe~jjATxzYUqY<+4^#K|j!Gm{37dVW8dihAlk) zb?Bqaf(K)O*J2gpka^&DtlZq=PVgO*octgtUa2q4z7dI|PbQ&!{R5U(bzP>+BOqKU zl7wqz^-5KXMTacaC?pBXu29-&2a1qYSU4TS$yxIj4YzMnj4lmJ*M_xY5HciP*OIAp zrgRtN4!l||NLpdQ9AHt>x4I6Yh@p47Gzm7K0gR_m1_tq7Rlk4Ac(0_OFcaDu^aH@s{ZmS{lkmeoJd@?f<54L{lJKXJbk?A#W-U8mX})gDdse7i)& zR2XLdhFq0}*R(1~6#?{rgK(Tss2tcPY*Jtf21*=gffolY!q8;Hr%5MV{wlI%;r=Pk zg8cDvCKgNgujx!Jj>OABOoBkFg2Fp+|5Q&2HwG8lLDe|1a+*6j$SKVS4-qgq&1Z_d zV5EFwR}aibH&y(+y>x-)WWK3#FGyWoNXkKF%;{un6f_S`bet+Yj1PCAIA&|C)&hm2 zAXBLzqorc29_n_9R9Lr? z!3#7sxC{89+W)Nf2^*myVjpmR9Sm$^_N~BNA~HLXZ7ihTKLv&kvW@$b$ehq{t$>1N zMAYPjxv{4HvId$A>cvZ`$_;uWZ&qRCy|PBj+8J~-;7!<}Rob!nYeu=-@sfsi1p`f^ zawehzsFN2`Q1wFJ{cFUCTS}1CEudF|mR7~#F|I9ufgupX&LH<~fIW+mI6XYY4rC+e z61IY^(4{)|V+4}DiM1keLaQCWwiQL9s|B+r7BWoNscO*(hOKSuZd~?Yq1Fc=f>>?!+tG0T{t*vOFdJ}Ge5>@uC@-=|fTv?YQ3b|nFcJk<3C=i}T3h$9n z%O)@ih2KEAC<>cl6=mS|!1m((xcGzx8VTTORHp&Mg_tX*@v^N)MP$YXUkj>SMPr8C zy~L#|L#H=^W(5`$GpbFYztOfTRsh%F2(BAd+_8qBGqXw!!J<8RiCLiq!OuKR|ZnP;Ewx8uc&2TwddHsgaA(*)s{%cG0raH*ce(pDcboxw!w>vy)%jk99vgy?^oFQ;P>q3D1w8;Eg}KF}ZmB%;MKqNwK4oi>E(+ zc5wf*gQr3OV%B}A>G|0CXD3hjjv)9{^HRIN_}wAsH<_?Qhn^ohDl8s6{>#+l;((;;mEm(fC8bi<2_}W2xbM_L4_3F^0Wd=}0`luSt)=$STB-V)!fPjNh zU7%MW4Auu$C>Yj-bzMC5vEb;qUm*{;`^%LRi{DH>|Lpd&!^a3S^Omuo-NmDaI62{# z!VNfa+$!RS>@I%u@!}VI{9xT@Ck{P3{Mob9V=h=1SMUT3+%MV1GTd1gzaF(781KQI zKq+VO^eAqf#cQ7tc5?PJT&y3?ldS?3{rl|mqi5+Bq3q?>)#sm{c|JL1WyNxMP#V`4 z2EX_<3a>lBPJ#a)U!45u`InzDZu86K36uhh-yJmfT>#8$>+jJMnDgvsSo@x1R-JCF zm-bdzoILgH+@8hBRh zz;YKS_6xsUpLzD58^B_|hCL99;{sb*q(0Q%L|)C#(i1YRj{7*%1QV@~p>CP|h0$-m<)=FbhU+ z7r)yBJkw{sUAQe@o9kyl>P6tSJg@KgooFp%Ye+x`zQ-wKONxBdslP-*w{#A3k zjUy7yT|9VU@$}@g%SUSfbWsyM@}+?4&i-SICq4>6bs;MuQc&i{BemNPS z3#ugQa6leMCK1!6%1#KXiz<{=pgt2=z=U<5O-;M823M8gG5 zAkM*q@!e-*UoWAI6Xr#I@9RUzzCb^SEb9bzQN2K|sfMy{Bo{d|(Wt++ICC_B%UB^V zczP5>9FXQx;9Ex(#Ht~+pv8Cj1Z54s+&Hupp!WH($;EHZGyY7>LYRe1g#FrO2@tQ1 z@%TZtzg(XB<;ra@@kT(kyg3K$e6z>XR0M3xsf{BnRNPeAze$4@GW4 zrV?AOA9a0UiXzGcI4nO-ePD=bu~jn6x9Y#LNMvaPT-Isc=KYf@wif z13Si!(3+Fa;MwPg#)81vXV<6D`~y25%^=1SGvxJ)U!8$@N4SC1_VF**4xv@K z>hLVI2Gg*3;%l_mpC20K%!a{UD@JLN9-e=BZ1LEbY1LBTwi*Q7&K{q=JA3uP#O$pH zhwSj}?8(`g*(R2d+3V2Sod@IC#Dhc7)Ll#wW^d0_^&>De2i@L(VOy)DdMesJ)?{@H0OeH!|6NF<{gjdtuT8JM=FqcyaqYPq2P?bU}vlnW_KFq8i!39nh8Odmok$#Xw!FR zZ$21>;f+JdnHpi}Rhqb;aBvR}(R}-%Ygf$KaQ6&m_bw6~Ry>NOu|D!hCg{$CgZL9> z3SS5`0qdB;=Rg44J6+IEXcO1qX7p4=qul?k6Gex)hfUNSqz^xA+}iD-`1tI9U@$W< z&VxwTWW1#9D_9mDM?Gly>^}RQz2Pwj zlXb%Ij-2kExL|pEN041OnYtIE$LW0V0kWnbn11#X91RfJ9Xb=2;m_4T)PD98pkClj z$XEmzJK0OHus0nP7XjkW9)nDiq%5+^y_79preuGU>OoO zX1|6qD2i};#z=qeB1ape{1^T`Ldb5~*(*Os15D37^X@k-<9Q@6X!;TQo?UpANM%h`hIa zGqYcy4v9J=)I?ROFb@rA8FwM$Ri;C+lJ{UTCqjKSgeT4rsWHu@8QJ{MOOO_5K?1Y- zfXRZ($hgST-LSPlIv(cP0ZDzGE4fs|+e@WypqFR%KSXZb;`yDrSftO#RUG;~MhFeq z{7;0q?huwg?Wp*{!Ek2~*EifIb%;|4)Wn(Dd$kqu)re{;NnJ&RUM`cRM3zmZ^-P4{ zX!aY(WM3KEs&eAI>7^i-N69_iA++c8FQKx*#3V5uun;T^vQ)EAHxvPgt$$# z6Q=4|Lz#;9G=V}m^I(z<8C2OwhtupwY+0!CcA2OUadQ}GVeBKD5#C36q5SK@38j`O zRZxOmQLihw$ zaJhC@A4n|H9|!SI*Y4x9l_!)B3e9va-aQ9c7vSA1ibU*2a%!C=hUjx@H8b3{Franb}UPp_`Qb<6O}GM?wNq6w##&f(qLS z8zTt15P;0vRbtL#QM!c>+1-?Gda)dqgfPjf6L#k7xx_pV_AvFF>HU)guf1h4@G&x0 zYB6$8QjmMor^29msAp(u_GXa#(_xJ*t8;emDCm2ai7+3t_0ZDIyv|Y^Z)GSRvga|@ zhTU~)Rz1q-VOlT^>M7=tAWZox=_c`JaSsJHG0vSSHeS5yzE+WUgpvd^EeU}BOxuVG_s=pyHv$J10AWC$zvzHl{-`RF?rt5&@qhkD8iXN(m08y05_?s~ z?{@E>5V|GujihYgLqRLUAV>q9WUj2z!jol;*9L`;*=(YfuX(JD-gH{=$vLqQW+$ z@~)@kkp7ysD~6KLiWqQa}C!dmdv@s0AcL z#?A8ht+*E8p4v!LNk%jLQh{~d?SDPb1qiM_iv#@9KG)@)a`<#cv zPvGHy_?CiwOYXUoY;qnRsGR>@`jh_YQ5G#9(dHiHSxgXxd51Q`zNcy|c_W9qgm%jK zSkPoEzaS4P7&y*|@bqjZj~Y=8DDMt*@w5Xw(Ud;SEL+NTq-)12W|WC?q|?Hn-s-43 z<#F0Txa#4~9437H+jTl|cEKOyGog7sf-s_P>a#(r1@47%Lyz#(Yy^2xqLW3J#BbGI zei_FU`!BrHA4An7w&W*Lj3+& z*wv*{jS-q?nG!kyLZUP|y6bYCye%;*jtG2342#QywFHV_SJeo0SXlX~xl&YW3)zJ6jYu06tqd;};Nv8T?YU?dgjs=A zj*b_!#DF^7ZU&2GgU&?ELrt!rx>l2CVQaBS#%(f5R#;z(GvWRLFna5Vwx-{|MYMZ( zD3vh;O;G(y@fd99Ocj(-4AVl4R9Mz`(K1IylDDxfKW_l#S1?idEE%=q|66DyepD2J z{IimN^c0Bto8~nd;~*C`JsACW@N8?vLt%f5R1go)NX(^T1h#L=6AB_&g(C5L(K%I|{8zxsf67c|!o5?&tkb z+v$hr9v%{Yo`4?hd3ahN-9Gp8*uxv76*J=p59twEE8}IzdI@W~@$k~mlb$Y~fn+H9 z@FL9Q>7Vy-v>S4thm2==?WbX~uY^F{?kU*w@TZ6=2t3p2N5B9^RfObl?wrhmQXSDSnB}Ks5UO>yO{;Uu`qsLB*|o6$*<(hAT*I&@k)A z1@iA%4=xT(U1KA2*UQ0Kn4{~EKJJ^z9}|c5`RU;`HZaOMXz8CG{s4WV{X$ZBc-;>g z$2kxn4@@4Lwue8`nYsZ<9|%B32P~EX>*c}CEq-G)IUOOr8z|cABir*#Ics-UGH%g@-o@+aTiP zCn!BeO8bHHCTE$X+{+K4x9GtI)7uEeWN&AF9uL9n14`hAy$t`M1jH3|uxY*&kbUCk zy+7~6%*aOf;S1s66mns*(_qtG!?niQBkUDkKq|0fLayf=c~6t-_8<|%{GH=W_99He zG)yJd{2!FRWE!DQ>68Gn_5hMTN@L_O$m#b&;c46>XDFYC+9rSA7XbNNSvV zaSqn+Cus95VddtGI~)P19henRd4fs-;UNFz{s1b|=okf*=Zquc%EH4HSh&eQd;-Bf z0oVMI9ZOj~*&9d}d*Hvlze~43xK3`l2+02Xi3=r|4Kn7*2!FxD?_vL=Kt72)@jPLf zguk3eeTs4TU=IQlB6~r6>>=tm)JG`SUKi!VsG)glbGa3u-@u^Ffl|2@=vjajpZa-> z4%luAMfw(aLG0rJuBh2GAI?Ki#QAjE>0z+RA)G%v{m&vjw4#B)SJo#ZT$ zsl1nnhIBU6n-Nw8>Up76I2|0Jy>T*I+;b=^Yw~+6rCuaLs{BU!LTus)bs!WeZebMd z5+Tap1s8YcwNXA;vu6Z#Y1DW3a<+u3?IejK{>akJYUIo6U|z8sWMWEWis^5($0k3F0b2(~aLI6#CTM-D4u zH~S}O`5<48WdejZWOwIKR%5kvj?6vE_yfK^9mc7qakF!7f5DU@cJ~g{I*ziPul`jk z?e`E`W`_M3?p%aC_7G(RHRRQH?+^-r8MyH93_=;BtK{Qp!=sdjP|U?sVmaCKw?urn zBzH^sq3oKph(e_#XJha6#KZwfQ~zxAm3GLw4z!NRee|cE9hTLsB)->^)!?6916f6U zSIU;ef}GXG-f}iCYSnC2ENa<;C~4Ws$Vj5CU($r0TyaE9H>8@f#i~jUMa5-N6^+EO zk(A(PT+)ZsykJj+ByDII3zu_7yfIy$N{ABtYECsZCq#|>YHmn~3jC^XYDy=>QZ8=9 z8`3Q;2~m!BNS%p9o0N-#J<}tr8{*P{q!>ae5l>`GiH=mKNTy+HF%g%N8xzP#;u`;< z;195pRU;nze}G@a5~3PUjDXzD_r&$YunPac&=Mme_NL}Bm8~)1NE$M!790umI@6SP z_F8lFTEkvz*lV_kN)9^RrY1M$6tQgfOi2uv;UC(wbW2mlr)Pz@Dh_Y75)#9jY*aN> zc#p3YPIpstQwyE$hD?2ila7`fCQv~(CUupoM%{phyi|*gz#{Mz8{9PlE8=}!rvS@^ zG@a7n_TEH1R#5t5qFODL#188vLK88OSKxzS#6}WgZP^);0R=k6x-?!+6Wp)ruh=gO z#xlEB2w$n2T?4&)Zr39(vxy21%BhK#CbC8Hw9-fuRn?%Z&%Jd{m|frIN? z(UQ@F9KYG{`swh}!NcqN?I=?I7vV9E;_H_%HHuo*&5;g;(C5H!NS~6Xl?Py5mOoBf zgJW5HLk2ten-3Ow;!20>WU1}8F?DHdNaP<(-EK?m@ucnyExXY@Tf9>Yx~o$PavkMw{Lm8I41^1}qwTNFEbR<++7 zlR!EK;*m*mv7`PDSR?V+4k;f?Y={T1e7D%qw;BUXWJ4P17dyIEr4e@}Lt@9k3#PDM zv14#GR|;Ba7q^Q$#Q-)%#V{))metKACEuG>!OnR9{W$)~$+=fHCcDc52h%+QDWsTHN>RHa(&4sUpvtRY!mu zZ-I`bGYx5Oo9)8FTflCOzaw^Zu;U9cadT%Uwd&r>?HUnVQjIOkwN@K5^=W3UwzQ;D zt8A?{XIkr*Vy$+CSgQmaNH;KSfFcJa_|@8o(14D}K}!p<0-uvq}O0L?A}eu$$@?{f&v;M1YOyY zh%>6Q0i7efb1JU6mVA9@B94@s5DhB)x8k;nCvvaEhr6VFZ#NO)n-Q4J>dAkWlLVuM zX-5ObQ=qH?;bdc(${=2W-6I!-*g99KzJOBOf!}3gjZjiAmlS6~k!IOdt_0;ERrh#i}hIuUoqzfmEPf02HW_z*%a>;;glLNM1QeZ*;{{H)Nau8^6a5Gtv zoI&Ss*iiap!vC{nk)>s&k(`Q@o)Y!s#zG=4CE7@>Y;ku%k(?&do_k-Fq%OIHh4Z)@ zHP}a@*?n4PdlS4*n41IMRg?e9lXprH_XSOnb2}uXCnyr(sj(9X;BAH#YA(gr*uz6WfRQ$Ly zFPDn~^2x0<#zSJbP|jEJS5hhzw)Vr1?f9KPa8sxm4NahAIVN`TfywrzpeF?0f1j~N z!i3+!S8ZMKVYWnBd3|Pt@BC}u%Av7YDTkw76}o(5){kt@z3RfUNF z+67FjpH`Ld)>H`=Fl@gg8P!n_xVu`ztkx8DWZUjcC&)@BD8(ei#)KH$3g;r!!tpfH zXEs7)Sc8vp;h7FR2H>fv+g%Z@rmLKYd)3PShDiYpsMaYF8`B^iIy#i3^qRQFY_E`1 z5@b7ptn4)N0U-jTa|&6)o%(QFccYNqy_=kR-G)(23KHzC{<>mAI^9$(w8XgF?aK9! zh^-BcOTuEe`b#$=(==12DW=q7$afl&nGB?Ij!L{drZ#0-QC1Uj}Wm_ zB_Lpppin(bS_GKPqy!=y)EIX{2F%rJS?38m9%L0IM_>>RT1jKX%j#&VH@K<6RUcP- zU}J>bwp(h6P2UhJS{XF|VIrlo!+1O_+iqx}wTK0|C{;@!^r3XTuC5POgnEDzi2maa zcI1a4vFA6ceOJ>c z)f|JrW6f$B zD;1=p*(-h9UqLgHgP@}H89v(Co50udsHDg^kiWr_Q4M8HYQ)U5jpw0S4eCz5T1|f$ zI>b`l)uowzMG!D4`FanKi8ZU}#gwTglV!D(!R}L3RNbIl5S9bxMCO0x7`vRgLd_Dn=eq+0mn1M*B`?RzXjtcy?bRe~v$%>qipzA1tVu)t_7ORo^3$%l zUJd=wE$t6GTxOGM)41i4Tp0u#Rh2={HWE+;Cg&tkwe;vJ3S0>!3NaPUWqOsb8>K9Cgrnn-$9lO zsj$q0B9wu@Lv6*f7H1P9z`QBRom-N<@{k@+B*{RZ0Fs zOC)ZDRH|JR=d+~xs-_IVyw)9qxEiFxdrF!pvWv_lkI^b#MTzO0SlL+3zu>&-0nD8Hyv07 zE*k4leUqm@eZSc}`WStIv)D3}ljsOCmhB$bI{O)0&j@w|l5KzBbX&^2Wfqxm zzTT0h>zpQA*v2}B`f<*QD8lBtJU-STYi-P8Dx~_JRSocI)Y!)i?PG@Y5##}OXu#8< z-r723KMfn+EmGa)hD5x>zk}!}rRt;EUXjBEBb^D`0P5)g>d63h(E$v42GCy90PII{ zY5&Cxr{s$5AeVd?E`qz4BD29?4Y^t3uXoDCF zJ5kfx9sq5a);@G@xBu+y^GY?9Pwx7o6e5SgYrz&_L!OyN~dzWTc9 z1cO?(*=7!vEZp1f3jAfC3_AeT4$-wsalgMUGV|6}_n(Xevtda|@)HbL@-Rp(SMrk{REc z+cqNBr;F5eP{#Q66=hpU9RPYTx3Bcak0BpfRsE6nWp zH@n`I^M=cgm+bUlmACmeWa`e4JhmpN&!qbI-$zY%Bmt&p$=~!W!z>`8&Qw3ktW!M7 zCNx$`{DE?RGHGETH#8zPWm;R8BBqN`CmM((Hl4h&b@qy1XeX_}P8S1!1|~As^eng8WKq z?OOR|Fh8R`=ZFVc`(A@O8KxBm0x2u@k{1H))6yzCgw@q>j8|97F>d%f#;t1f-)#7S zF7T>98q(=&5f)rZV1;_ofbmrW7+-5kYimQX$#QlVbCnUXF`Y^;_mEi{L@GaImPW*B zRS%gpWm;O6!jcOz@?_>&uko}Q@uWLXn}Mp_L`|sr#&kWO-fG|hZ>Jl#M=n)tPF&Ir zo9Ttg#QSSw&Ey2PlR0bhzp9ER7qV+WW{@bveV#lf182wQZ4B9DxK2fby_e`vx-&2o z(7^BmXhW&Q5^erR!BN&r;;>vSf?1daV$ynJBJZ`DWWQ{^RFmd!F{ViawnOS6P+XPc zAj}k}MZ}m{7w8TnrkJnf3Y>(+9@7Hu=GLyM81hA8Uj*Au;rDyebQ=GioKSG5mDzDr zb{wBDd9Xw>DHIqZ;!us$p`=?>`-cSsW<#`rIvP1>1dkawn@XoxQ-e9{s|Ea;xvp3) z6OVJ`hZ6x~LU1Xd7aK!se7nY3s&8Rkf78DmcXmF~ZK17iU25yQm)82Lp{;LTYU?|e z*7`f4pSf%aq1|1<>-=6#eMmR5KD-_}1Ah;0=dGo+vnjNlcZ1t`t+safoW9}NQ+)gW z>Up%SfX>!bZo8BH#6_l-b2UhYsK$!2|fy(gyIazybVoWdrz2D7F1HgxX{|cyy{9 z#8(VCbjHddl}dq?YT=bCA(fT_E7fJsoHMc|;wLX#q8$`|{4^`jDk2{u@Hmh5^H2P1 ze)>g$!oDbADrT;feEn53kOh^<1Dlx85!ZlAk@m4@yqFo18U{2_sh*=ekMjb#qJU@PIpL^Y)3|H6dS~J zr^w8NH_33e;o>7KgZW@=aXdKQ1(cXfCiBUzYEmbscUnX|swxJgW>R9NAvihRglE|T zlN-bqbRcOm9(qU&gDxyqYn=C}C@;QC5FXyecP*k~y5L-gPHVUIfkKaosEOUMW$4>Z z*jLUi0!`4u3D+5VGob^2c^d7chY0oLpTM@WpW#}AXSnROuz3xt#-QiwyJZ8z!0aT) zO9+Sy`7OHYkm*=D!BXiMCafe|7Pam!DXWfjwq)o}LhmWVHfTp8VQ& zQX%T=^u-QI??od5O)6BqD8SR`GVEcFst zT}WrGMRcZQveufKDco=%PtNf$W>pBI_m~XY8TxDS3WM&FqW8p18YO{LXxih8qmS-< z`e^3D!sq)O8FmerS#FFy{qZwTmUktdVd0DK7mlBQa_$>jYHyjRK0kW=m+1?OpI^15 z;>C+Jb&Fgz^t`=qMUAJu3VY`MX^EUk=BZkhr_P=rS244joNZYovjQ_*&lwW^YNXSC zkg_7jZC{Px8H*$leJC{E(lDN}F%*y0)%nGfX5q0#B7#^3dYR>)NeV&MT%Ve_wnUqp z)YwlZHi|Ocf~9gIUcrOBDI0>OSah0q8njHTC-^yH{+@;EG(V%_@4KpoLGo8*X95cs z1r@mxDAi+4?u3$p-|;2HK39UGR;oswN}y9n?sp~Ud*pm?S9#FtOIJ`18qqBw4!JYn zUI9Lu?5E-9e2Vu1}NTg=jL1*nvYb2&EoCPtY|b7BxMQ1wP7~n835QKSY@0x)M+Qz_hE5(m zgv6CjIpJ9xwvR=k)Mp(;LE@_=xM9?oN+EqyL?wc}2W^DX&7D+u`;w#$Stq3wdYVgN zr@0E`pi$@sa(ra%=xd$@jx)b_XQzhnXXKW29xL#vJtAhFqfz%N;xQStm)Ixlu9@2I z{iu9rKqow5+--Z5>_{hpm}QC8!ogkfyTbnMh4kRc1v;!qHncBg@0}_t2P!xc5ZqV+~`Tw)o zNIPv~CpHnd3=MP{8vK^Qzbagf7&^%7@U$xiMg)eds9=@!NrTzOkfqt?UYf1mrP;ld zrLo;~vr6j{aQV&ZEy_-4Abdp{>54RluZUUC@|WXP_i}9ZF2|0@ zm*Q38RjO9u3X z&asc}5je}ube5a_X4$76oM&rZ)2WoDl$nK#HOdR@6D>}@YwroWz>JlZVf+hO( zh25O=LOa9SaI1SEiu5Ko6}{`FqSpeb$hzCfcMreew2N$H2CYV#*`Mi@xgKHlSdvC6ReB^k`I-z9t*ADBq9+T3e5;o*fN~%c zGz-%a{@G1+|M1f9pCas+fDq@tME$QoqOLB9sMFlYqgGz^zniS9|6OGL&p@({LZ5@z zgCPUyjJY0R^}JxRhB5xdO?iJ^f|}*JThf=3W!Wckn;c%D=Q_$I8QWO8-6|Zs7R=gC z`aDl$k6ejocU;ionR@lG`n z%~Lry<$Saj4k|9IJ6q)!)SWPf-kETG(`cR9tD?J<9*9KG;)vMTTEFc0hM7#dksm#+ zZ){!Vqo*xRP0KzM+mdc-;`anJH`iknCvr{~Pn^kb0W z^EP(Lt<6oX^b1cMPRTZ$5)P-thSSi{xa{FHHni|FzKs}Ca&_ZKrdnE;+p*Txdb49K zjZH6Zo>Q=*tu1nE4fEWT$}InSiDn+Kv!NAl%2?Hj&NMbJyJt;}saDpr)^w(Mm3!9O z+?-nW`SXTUGwWG%Lw)MSkw9~OOKZMZ?20A<$mqk<*eP^=2AzK$#JW2oHnlW0Eaj+s ze?-JN>my;?3HK%pDd+r1n0^{uOFUKcE;M`iRM!b)_GPJgB949UU=|HN8|TjH2@j^2 z;lYUh;yI4iLyn#G{v}zG)o!CltYSPLase9@s^aIB)`KmWOcjH~@D#&5&L$SD=rbdJ zCk_e$N9f&03qW(?2Lb}l9Q6AiIf(SpS8Uo?A?S2|+#a(a_=3TN?eKoAs|-Esi!I^g zzDrRwPre&+pDV^4X-*}6a?3&Lc7aPw5&Y-t3G|jGe7_5@gYL^8K3#l$PD&*?A3iUUb zHPVA1GDSh3@S#SBE8CRpsU^%;zXRhiBF-W?e2K;q<xa2Ba(QwI7%<P7$~`ro zMbf+hkXG?5l27e5UZq>}nIyb{q1*MnEK$h1QSI*uQu<}NzOm5IWDgnv%`|74mZGXx zYQFk_s^ulFw6lI%u>kPc(klT*bmIj*vBYv`^@XdEab zJdBh3GAi$P*N$%`2?-z<7 zjjavK25*|_wV;-jz6w`pHm8@}pT-x_pZaA(E-g*el3&g4G&U~(?$f4pbB1GW&6(A{ z`?R^fVcGCxrm?w!!)7fA3BNeBHPcvMY?h-Tpyt+=`epBnOmmaDV_RP!sF_I>im8Uy z8W62aL;doHlS*;AsZXU|;OaDG8XH>VVq*;eT~qzCiLEJ>u4h8KzNHBV0Rv07G_=?T zR>Fa4&eEwsGh<4)ZGG`o^YZW6g~X=H*bS)M{_% z)~1yZjOjdSY)P;7wN=37mn}-08yo9Qe7>oEwek6;bcZ*skmP>qd2#(~ zX=-U*S^v-n`~v%zsc%_X|Iics;`*0PHKkWbe+?}!aD5vZTUOXV^zgp8{$wvZ(OHv5xx!{J_#AaN|5OGYWg;De;}kU;me28NA9q#NHmm*YEH%0> z)!eX+C=9%xkM1?Kqul9;P9-JGEh!IH%9^2*ZK08zxncG$J3KOChOvf(WL_$j@E#?a z46AGXHWJpuh>`5e$)aulVdZiz#^2zD4d{R_7lrnrzOHg<1N{?^4ai*;Dc>vnt14HK zB(t&IyV<+l^xf{=ut%0s73-9?|E zki=lcjkRlIWpZnaZICpF(IIzodLS1m8iWngRnu}EooyNnASKe*&fX~}-&1mubl(G}~o)d-`&bu^pK^@xgd>B!D)%jYz_Lz7OPSD@ux zOD>ZI#l4y^dbIKY*|ydeRy#?nrGR0=ASHVvDhgU)zFICtdSE!$3#bYPyrx3#DwGp2 z*%iF)5XTI}zXqrtUP(x}K-(lJorJ{O=I%5!tHMmeI7bq;2>8I8v<;=K68BJ+yrB^9 zA=H(~R^vqw;^^_f3$oX))nU)2$c6eqvcMIA3w!twP_&VJ(;AE_mPJX_$lR@AOjF6F z*QdzUm{k~k^<|lz8g8quTL&sgPVT67qGlq|U+GR%Wbjv}la!)Fye0+0Kh>tcT;|1f zC>~#vUaP(TzVb>=gIS|@DbX7@p<9Wh+%IcG&P6qM_?tLUOdZ5 z<0U+pti7z@J*H4O2}xK&9>VffNj|y{a#GxOg=`**sJXm(0gRxIXgTO)${Y>QzBvcv zPJ@nWT^h&xiq;18CUEpQ`m&Au?jW<;>0SdPsXFKg>sE7wUGCm3>r|F*@Y1^6VSeM* zIpU+-$tJ^K8XygOsCwHkSR>ZQbP*~p?49Z7f_?zZnPSQ;-!?k<(Pq|&Y)MduvZdeesLH6J28zyCgN<5zi& zFgVZ0sGCnZ-#9#Vooz(92Plj#J5Ak{{$h0@D?F7C`L zU&AT~c1nm>Lc%Q(!Yzpsa$?X0z^KZVh-C$}=?S`pb>y;GL|wa91qHD!|FXh&bskug zmQy;3nEL6=PtswTUDIEfx3VrbhkktI3%Yx;`5C?}AFxs?a~V^@QBG^QFl z#kiMmkWYk~h~S|G%J4g$X#4*GP)i30m-R1`(Z~P*h5P~lP)h>@6aWYS2mtDKR#^Z5 z00000006jD0stcbAOK`(WMwUOX=Qh1axZpiWp^)Xb1z|Va4t77Vqs=wH#RP6b5&Fg z00&u27iTPf7-w2c7iV>N3jhHG000001ONa40PMZ{m*ZA?Aoj0RV|r?cu1hpQ7VAMa zs!prBCAHKo^>npbj~ZHyB0v%<5TF2%RTPUp<9O}$X6^MR@y1zuy>@c!tWT0-$5|)w znX$d+<#{rFz@d(;NgsGkLKR5KUGH1#*q zED8FV(Ve-;hVLx4cXoF>Dv!@1mYIvpa^bP&rt_%3p?!?uQ!-y%-IT_O5NRDLm~p_Tb6GeC?fGlMUc$ zd#BMf*#y(<27Db+zBZJd;n%%J%Va}*YHvf$W2~C_r5 zu+n`f(uK#wI(y5k)oP}55L)lQZ8CaXgmK>ukFq#%hrR{1Jk0!Y&47n2h=vAx@94u1 zEL?$T7!2k$DrqiFw(xv^(z(%Cnq6vfBg5ug>-~{gTV(O%aqLY)KkXd%*vt*5^aObm z=w=d8Z_?+`8(J{x2d~9vk zB%VfI$4G`JF4Vgr{$)-82pQIBL(D#A)`}Pg596ZQ&+~JAZ3B82CviX1wmFah!Du ztzpWN9mhRr(sDiT!OV}cM?sqT5j1R!d2I%(MQXKTC$c;@b6MiV7WC+0G>G9;#a0>& zBR70b3*Q~YNlmQoMm*SneHbKuYMsR1+{~LG0?>&bn~AH&+g++=PY7kqB8Xc~qlD~v1jqhU5WXqak~>z|JsJr+4W z&4)Dz!VG4+<~s+z6$a5M>@lq&Sa82S3;Z)^$J8b^#);J{HTgJ7a~qpW&w~2LK?IWl zW1t=R6!u-AEc2~?7^je7iD%tpVxL^LDWJm(sBLV0YQhp?Aq35EuxoVKr=OU-xx~8n z01kll_WLwb?3mI{-ZpClKAzfU&9m;BB5xsmv?hH}OrKbHnGS*Up)Gl%d+gZA6OEqP zV>{b0)Fq2y%zZcOk7{S;B8ERpoC3DnXf|FJ=Uj$s>{f&0nr5@H!*R{-9^w_mH9O7y z2FEq~JFR_=Yanf(;~I{W5ZCNB_gfs-?C#(b;+mGd(-gR7r@75>O|!APBaqDy5X{i2 zRpAtq_MwhfVA1_^4YSB0ZXjlc=}xWLwpi8Bn%+e;Q#$G+>*;;#)Sss{)1+sp3nu7> z4ZX0=GbSb)H4@=c#22JK~uu6;2`Yaatuzh&xPm=_8=QH=zkDdgx zICExk;B7SWa`R$2dr6yS@)%GSAM)4@A~?t}@WfD!Z#(XIvT#C>-n#!eENQ_O1fD3B?Ofo#Su-WC=P1l`W!wY5xTM)Y8c!*C} z{VZ`O6PP#_c-84~^cXt{pd{)b*t@u>;g18|g)L>u@6!o|Kggg&uZQ{clx@X?RMIO!+|6CxF5Q6dZ7 z6F)3}qC|GSlI#yM4dhS-1~Vu({GJ2kVaLaT<-Ws8C2@oHdKy%l0+7q!0?U7k>3eqI zdcLtls%+p+!>mI&Pj|%TtQaOjN$ME=Y1_@Jo_rSbo@{R3D5ZKpB|V7TlhB7=_F!&5 z@7PPNgEQ!EkF~cig{pfyd;8xBRNZd2njEUOc3J|eHtoHA4pr?vgprdy!%PPloC5vlA@8uvkxLm8YZEHrFc3)s z^lo@a62Z36o8?f?@+BU4i0I349RF}7v2J%((tH8;vdiJ#Xl1HrRZv7bE^u!3xrnYo zj>x0ffbMH#j&ByaoWqC8miyRp^%1vUr{3xMdYf0(D{IbYZ^(|vY|io-ztO0q6Z!sl zSRnhL{?w<_lR^cTkek;%M+^{TCt_lYBd#co29p6)%uUuoNNPV1N^;**?XqgU`;sP_-~J$0fIM~-P|)xg4+e)JVM|+lEAsy z+Iw?i77me%P?`WY0cl9%K$;V+2&7xB?N$*;qpSn~bKikE)uHkLq4EI9R{_2vgT5Py_CYwLq$nO@mX%J)(p|KZ9woyUCr<`tqh= z1G`&WNzMr3hvTHjGUr7u%&2qnV}nE*Hy1t(ZOQQ07QapL+v+XN7tnKJ?iNI^cM_In z^U&{POH(JGq4&U6Ppv^)?#3gal=_)3pdXNyK#+@19|M4veT;}ngD;ZgkvYzQG~-#U#E0z9{Uk#fPb9u`iV-&CQVJMo${&0z2pJMB zb&SRY_!1$T-LD4^N{daiN9XrhV%B0#EYg|0oRd`$Dk4<0 z1|jpt1hOZ10|yqDpz6?<`r=!Z07qrDu6htfoW|y`D?+MSRILEY>ywUJ??#oRV=8dO zplw!eG{DEaQ;KeEE}7kcW8VX?#3q<%5;xvsW#Vyy@M$98lik>{U!Qo);SxckRKXxl zJOVHyxWt9S1ebPq_Yf`tG)h^>rbsIC2gfUbB@e-pCqTjgc@RE>KMZh7xS3m@)!Qfj zKJe~M16Vr8m)q)#40o81JThu~#mEEPd#qNrejo6wef z${$a%d7TT~h!}mT2B>tQfg)V>&w*bR-B>5G?&~6J4cO{si&E#y07O~=AT&7ww9dgr z1^5LBYf*D3*5usZ@x$58LMefyXwOU~(>%P4a-*%) zSQdykt&(dIZJZ<%y{CTHgUlbV0&18VQwM)IZ!nS>uhEAcVr=}!AOBYyhE9X>%`D-! zYt244YaZ2PbAU9;38u~^-6S&h@@m!CBeQb5@Uz2PChBYj{tXcR4Fvq#ZtvOOIrF>< z|2TB?IHNq}jPg~mZ&6r1edquxav%pMx1RVz&ION3rRXdL(PWwxIBZ!ZBEppLOq>vp ztwYK2rA+O-RGH$)LpUi=*O_xY*w;r{U$_Ee+37XQd(i#NUnyS%pcPYi1sr8%5IIF* zt3b`~V0F&}|Lm|bwG94{Ie{~lSGYjop#-5DuU0c3m_f1t97Sb*0F&3L#~~SJw+N%J zH8g<19Kx%zCpA%Y1=RL)dG9%&i(wNM7g;dcpaltWCAb)@fv|eYNF&+++N~XqJ$LtarRaHgw;_~A zw%azp(BrrjFZ6616-8#6eu$!nPhVFMtktDUg4rtNpHuMn2w6qetOC%pv6~Eo=&d-*;&CUm zzIew<1J8fUO;F+EF?}Rfft|#O=O;YlQ23 zCJML5d_~+?X88$xGM5^O`WnKTm3`(lX zrhT|XEOu?Gr93q?|7wQU7aCNwS}1NU@5(`GORJk}g0sHbtcATctF6>a`zr;`3vZo@ zTXx+x4N1i5b491(_SEP;uB4=xFnY=>Hw1f|(>(kJxlA(ZD^1s8DT*0ytOa(xDz%>3xv$XvR1pQ9QT!XP0aK6dB8KjergjL;b`}E|boUd_<(3 z7dL^m0$hR`c1NhG_b#O`C+9ELpt=d5g&-QLk^&1o;mNAt*{VD+aieq)C*#fwdJJJN zeOkM@s8cob4+jGnCX_c{F!~-4l$l!Zzb$Sf?n=;eXut-j)$0lt)my0vuwxoQ4ID+E zuEC$>Zs*8T_Pnd{oygX#$DV3#$AByWN@b7mIwlz4;T{Ep47jz;O|JQL0~ii2qxAEF zvAmw*ugOL{fKJb?ullf(9P1L7+yR!?G?8hEE-r|7IRs2fS4|00kv9Ne`E6K`p7&S=cqn1J0dsUrmCTz*Dj+PumrGGF5V9*Ui>BQd~xn!d+Pc~ z97vw8Ck(tGorLbZF7SgY`qC6esUqZG+#sr`>TG>gYsIw$b+?PUkrF8q0@pCLhTA_p zGWC1Cl;6yubYu-ptrn#)+_T_buyY~+ixnFNKUqU&dv`=t`F4-)n zk~pm-8Y=bMMpsb@Cq#t43Z0Ox&J>;4EYhPRS6+QEjxuVKqUAi#l=h+0>%)hCC<7f{KG2idbqD(Ce&s;RN-?KMJ)TPH zac_6~JFq?CWTZ|#)+DJY$jGvK3@0AR3TeM3bQt$`c7z~_Us8|M70#?+XjCvVxML_tF^Im z4Ro}=iAS&2#20Z;(azKL?L2?AcF6d}=a+1HOLy0|^x>s9ZV$Q6K|_k$Puw)<0~{E{ zQ1o+ED<()1;qBGbdKP3MHuj*h#JvDgK&`(^N<6MC@$n@ko>i83|B@2-onwP^a!~ib ztSzfif%!e2kd!VN+WL^?oM6D%0#ktd$~m#@3QlabdTtEI4fKwU@4fwY1O5kC?R)m! z`+Kczd}_5G?6g|=^!D4^_jm8%(_paO=J^JLy}o?%cKOqO!}s^;snO{Bo=x>Z%3y#` z{aw4g*T$#4hCSeEyM4FaY63*A)WXQ+%*Iv?RURJhkvUOOu&AloosH1G&NqFbOyOH7 zV&2@0q%j$ayRC_fR9TlRYZ!)7&O`e(uElFUD(`m;8Kdq^P6 z{&7QG?aWsMlxG|h7w&bk^1V*+Mu)vx=WO0NyWF|(Z0)_%$@M!|cf(L99=v8ho4lW; zYrBzkCa>+zSNeH$oqqNc-&JY_uhvD)?k3{*cv1NtZ(==p%*m-0OPuIwC3*)m$eO+_6!F@bT{iuS*}l&$O8C+KVGAlU*p0>tKV7(uv3K|O z{@&CuIM1vrG0OWBWIB$xukM^rc3lo3X`5InA8gQIOy#|Vwxk>-cdiEpfy83oO*s* zGvrZU)w#T0dCsO7`~u8}9ayYH@g;cO0CRG2u~?d#p!VV-*4~uD`Eo@uLynPrL?9Yy z-qYmPWDqXUL${JG>k~JmU)(&(S-1^;^@LK^iwiDnMd)>C7#;ppx3`Q=!^jIi6~;+< zK~pqqbYHrw8_{7T_&udrs#cvIfaRNoM9wQ2euvf#p3%>roma zGjfIhSQ<4&tl5wZ9(1Z;r6j8A7qv+Rt9K23(i~yBLJ_fWkfa`BEx%3~n{+M5chZWq zp9#ZSX_Q#YuQ?F@2k8+^EuS<|g$WF9F%#0Jq~};BriPbTPnNpR6}x9JfoMgxFjC)5 z`lHouO{}llCYqE1ZHf1fM}BtM@XFmPQysh)Gl2X2dZlPb$*$y^SCuu-*m^^%5|HGZ zS3>ogRN{G>_lA+Zq#%dIEnu&Al@^dFo-6;9uTb*do?f{^iy}yOxjkD)wt04Q;- z|Btl(x6n6$M$$)W482Mc>_lT_Y4HSFV7PQaaZgWT69OT{)`fSSmAMl6EJs_;x$wm3GxGPZN-S^SU zu(P8R-AlDs${2qTguarAR^xlAS}8O>L*bI<(AeK61y9oREE=0;*Sp`%8!zAG zMpx<(oMcfhG0M2u4S%>YK3&0bem@nu)dC7TH&)ZM`&?*ow#K)}o4UAL1^#r93qDQA zufRBeN4HLF&UA@D4mOJBrfO70DZut+_U${Z=Jt2Odf4rDv&?#M7l2boIv4bmdf0$l zlJ>bBX}{-G8MiCL_B9(rnQN-!vU)bloVF${Fz#hZxbeQheSj1X6FS=y9>>fv8k{5^qamZpMF4`Ntb!4^~3i}?kg?^f+dKA!#%T$ZkC8rO`ak1%jg*$ot6Be znYyzxjmpx%MLq-2wioxOh*2sWFr9KM8AEO#bVmYp!_<;SmT_tjF?@li2MBb zpq*At`Cf`Ihb4R|C)cyQh&h~yg?K*WvcJnog_>@vh!BfJ2KhvAiNR>qgGA9nd%y9Y zxRY&1J^*Q)ta-DPVI)~sN$;N+~UEkQ-ePed&wXD|K+b6ZC z-PX2k^8LTNzt`gXf4jZk6vE!^me~KT?VUYNad8)$1H~5+!xJz#4&0JmK3>o58%k$T zC5mglb+7L_)6+dr7IyQ%T5;@9+JK@_+ef$i_T(3FIQCv zfYDFtZsdmXuvpXVC2N9RTUAfxfF$U~_y8AJ#J4U~&Dav8J`-f89-89HnA%axWKYh}#fLgmMNsFB(AH#gJE zJZxp=GSxk7@jJrAhgrcQDdEhe)ISQjamKUwNigwAs(=D|O?aNJ2+#EnDmi%s7%!TR zPXOeg0m*!V&Tu13>-?cKV{i(|O!_0ZVVfP5rJ*Nt`;v-J4S_#{T(F+55v-%8t^Oea zE;O#6OtUPG3_P+GUyBZX)0vmr%9~DBHaT$}U~#pz)!bt-0yum+K;dtXuWyq%t#+}1_G*E2ufQGl^HU|>-bB;BC7{9j zF1WG_d@>4M;GvS_H_ePqMhutzFfM7whis*!JIx&0Dpuo)lk7 zy}W@!(-Z0SfK>I+L(=3Ls(Q*IoKPuOC@Fg7rw@2B#g*`c56ii5lv+aLg=*I0?_z6Z z#64Z*Iqhbn$_)akn8~A9;dp1nL$i2R2xT+{tuySDXMNQ!Danwt9ic8kpLrLbQYL{3 zX#`wvgkjDOFTi+TIGW%wsJJ4n*v0GhtEhNS_fLIV2=8)I6MZdoh8yZQ4OTG>;TE7P z@epMZG^mv&!MG5cCgLs+CTmVQRb#mH66at%J;+}u1PKc)()uy(>pG4GOD zPtO8^8rGLjg$~1_57gpDqXX;OJxP4`v`Yzg=R_t*58p?ea1CR0a@cI>vXw_LwDnb& zH4{lrMCMd=bo^_`7B9&Mh_Wj|zUY*ul=zB`lj7WUTBi$wa{C2!60s3qT}HvCujZa| zwj$vz#p>#pT}sHvU0*&m*ANK0zKXO;3HC*q!+ee%pbIF38dr~57+e#F1~x@+4z|@q z<(oGt@wi$gUuT{9A>q9>3L0RqB9nNfwsV7$E7|MbCH7t%E77i~aBUJ)x;7zIopsBP zT9^XLtlb7S-v%Xvyh2%r+^vyI)4cX0Q*%X{aeF!Z;r`U5E7H-mT#;husCwbbp*%su zOVl;1O;*;dooC&TgfnSf;js|dg-$@PS{+kwvQ!A?s{&phUgi#Ue8u*P;yMTMd~>aH zdCe=ESC029?)YD#wk;b?m2Pvz@yg5u@{@(+`QgeT%~8s`}jz|Z_BuWWmYz@^sMMTZV0;0*r{CY(_*#TyxQ$@wL~bE z0>xaWwYs<4e&zdIPRk=3u)l-Xv&aYRwvdD;K7g2nkR)v^U@2b7@&_PobgDi?sy^f{ z%fz*49v8D8k0)^i%b0c+GUifX-DR8vO*<((KZERe^M6E3)^V-7%ZjK~6t8NzP8}f; z>IfW{E_iXk+wi$Cd3~I`zMQ;9`|r#9T&3Mpd#^3*o=Esf%7-4zvv-Z4I?861riZ&| zFSv0aA6wHCT8rFTXtttEA`m-gAB-l(YFKJ2CBTUlbJ&f>_aR4-?;49>S#sU@`zv{v zl~tA8%SIOe&?UM$h=3O4v^C!!K;~->)nF=DysB+vJjN{%xX*wDOU%Q8^p@74)cc=d zs_sNh5ujs=Raq7JH8z<}>htb6SuxC|pz6^D+(1C1&CRJbBC`nKQ2Kdj%YX-M_Rj%~ zcraUYyhNs#XYP;!NfEG=)u1I$t{9xTLpXC37YnxQC`c_?k8`8&%Ct9GFFHk7O?3+8 z4h{Z9EtMKJSurb)4>_dF?BJttHpkUJJuWcBdBkaaKxL%pP}AeqByX`sJ*)kOGW4tH z=T&F!i!}}j#x>=2yp~(P;7O7l6(&42sf+`Rf#cNjI2xMUF}@QHi^WqR+r`_P%g~V+ zAkq822#`kUMFsP#>`Bf_dq6`-mti_y_=V<$qn3NV zLnAe9+RWvPGWJwHbcs4CX+348<|h|{r55u<5o+uAz(|E2DUy{{B`PF|gWPGHq`G4! zp`6bH)fH*mX~-pmJb02IpA`LcrcMdaO{+G#%k^r!+q|f6(EAP!oe14f%)LJr#JQ9?K!lEOeW_=c9b2uP< z&0zQm83cY9g>&KVC|ZdqkB*Ec@uY@*$8I1+LGk1z<`=I(pgeHlfY-?Tws4W8t__8& zqqhJe!BJ)z1L_-)-R5RLr$fX=wA_w~$zy1HpUMm6;!HgV9i=8a^fM6y`>pvyuO{~< zXE@c7G+DU@pc0BnxFekHy+*y9(~8NP@5e|tQtbM^j1ybxHr)!w6~b;`yG1?a(}AMN z0T)eH+3Z$}*rX?Yb^q2+fN(+0%~zowMn%~R>1mAO(DRd`a)+2vK3M2PAsEc%a+#2$ z_)vv|xl9yuifM0Ss1qn>^K!N*S3WwJ^{sH4K+Y!5*{sfK>#`bchz46Lxw*F0+RNLi zElMF{R2YCFm@jQ!3VmMvNtd4uSdMKPfNsQ9im}t6z;#tklvH*@E+z{+afL2Vq z<`XF7{C_C;|CRjqB{#2e^)<$29&}zRtWUB2mktV7TZy^bU-8AuqfH2g&b)*|E<}*i zq$D@rGV}5kyD3!ug@yCf z@$0xaxa<66gFHBF7+ZalK=JhIHh6|kIlYEB*7jRv)Bk~76Xn#20+GO*=qxnV&yffp zdtluK7B&SIbChM1&h6V_+;>9^>di4v zMtb4`#MVS9g%91N(o`0Z&^2d}dirK2aU^_%RZL)X%?Z>zS(LlO=O+^L!+!xw_v4wL zyqCt2N>g(tPW+k~D&=OYHC{f0T34?-eJd$yI>qmDS$3n1hd)v>!NpQ~EK`6DKxcw- zD0iC0N3f_O5HG)7vj7VKl&@uY9|bc+%3#leu^&%SJ&r{V5U%pQ(ah15I%Gp;180FXfM=ON0mdS@DHcA^KTyOMX`13`jRCfm5rx&quV!68+vhQTOI( zxm|(rX_fAJ70c9LvZI~K?o8GNR59RiV6$wDBY_qLh zfQWSn3Nmzx^!dGeZ|&Ll?;6rj1|CrQ-C%;6#PbAiXd{lRMY5oeU=g1LvzWx|GM{_u zM?6t5Eg1LcL4>L=q~yx&14QGhFb)I}Z(=Mk304M#VzR1;@N?wb5=SE~yT zt}F(1$_rzx-0~b3GIR5SAR=kyU z)ge$#N)tDPAdlS%S_ka6)}73oSvB$e!|m!5`}BTA`stE=v{#Wn2BO`rCfYwus!zUG zMa-W-`n;McIDM}gQiNYso_sdWDwzWIWxpc*Y{}-ciu4(7dtDS3OR-m?Tv)gYxC9Eg zpir#U+~1YZg^poN2V5+c&=oGFO^azqeuh*%X|(VUPl5B3K|QnsIT2VU6wGZI$J~eg zXGQ3qUV6hl+94DH1TWzRx#>74LT3=ftwDzXvJIRCW&l#>95!s=!Aa#%D&;_Gy6lE% zXa+?FCK^7XPCh<*D)5JA!3jswgY*9WoygQEAR;Jb9FWLqbfY_-5Mgw;wjyL!yyK{+ zVb6`IL_a~68|y|t5?*2z`vVjbbZ8PHwvA9eqDpEGX@%ukm`6m0p-FL+6?i5)Exx7} zhk$7OA4r%*aQ~r)GBn5p1e?r-cb+HGUfx`)M@2?8+eQ5&)Nv~SIyO~G|GD7JN5NZ& zE^X3U#c)=ZKdTSB6cHu9!^s2=thlH2iwnVol0==~xrEwahG(QGR|IIz3^ zand`84uM4NWKN<2wvajf0m-+o0Qk6%f!X|fr97vSnq*075RPJwJsU^=0j zL4igMkVXwO(Tq+&rG8)90HZ+eUbSD9FcjHPy16zVK(dT0j;zn)o&Zy2EPHb1NYfhT zO(^0?YE1u%fb4KJwQhG-6MZfSBr!FqhJ4`8coR}vE@!n;WVKR3rng$#Yl#8iFDl9F zLAxT|U9u!xx2rH@vfWyuHvmDCeO+qzzH|f8uCd3mO(t&YhsNB7?xO*>34MoTZiksKc?mkpVYIUsoG-9 zB|V)%Ii!voMRCRh`X&CvcQa+d#Vy~@+$2JvfG#?M2w6Xzv3tl+G*Ap51)t z!hTZ^kU%$wk!H&oiSY8Uhv6B2mQ2M}?n;Wy7|WMu;(N8eMrQ%axawYwVVBKfmJny4$EYN6(k+ zK^3N(FWJMiBK^^lJ^o}3gR)=E5PVhzBcCqW$*h_&3cjjlXu^lp3{7}ek$!i{&Z`-< z<)!d~U(XY~0I<*D1wo0vvd|`Y5dyRbuk@NS(9x-&3%FKHtI+@^puy(37zB5Z6l`dF zt0GBZ#zM#fb?JTMhK~KPz~*K-MFNb~@XAZ!|1!{ZDM?x~u+GUin`JTZoYuV3Qd?}v zGew(2DQM+<%WiB5BADOiega?S4*Dq$piiIH%ilj$)L(Lm#qvrNgzmu7<`WqIfj(?F zasw$(;hH6V0AVQWorWRa=Ky0-D8MmW#?A!C@NOKRIx`Lp*@`R}*bA6G)T%3s`e(X| zK?cLl+yn*y&|-)-7f7G$R~8XK(WBr5Ml_Vb{iUX&UWa-C2HmVgubSQ-3 zck_Ui*e#9GA&U@-}R`dre&`1cN}WerPn)l_xJQ zGO^p}RdP84&Z7Z==nKwa{)X^5*OD%s|I(>ft64hd+JchlFvnjw-CS*v((*k?@6h6D z_0c`kkM3FJ(LKQp;adt#S`sNbH>y%~V|{HWwXV03E-tXYmu#s#eh@WX@54-7Yd;;S zOCVsIu@5qsYP1DK_-;V9pJn;`vv@)gRrwp&OjeP1>hc140z}RyT-?aALh7d?b#dN_ zU~P3i{*eTT671LttSK0fIOlNsaRw44*6jFHk#mIRQ)dW5w-S9X12~1lKPSjk2^S=g zJF|)#2Mt<^DL{hsrzy&NOEBwcP3v|60s@r8J`F0tI(7>{d%azP=daW$Q;&0$L&yS* zM#oFFP*ZXu3Da1;$)F~KRsXbiYdVolGN0r!7gG5~Pc99m6qR}u6?=rkQk_{t>9yLe zomZsv9#u-BD+wPSN?rHy$_-WZOTIn{%}Q=IUF*a%3m!M|ZcpfbQ4LO&8VFl+pNai= zRl4@9njU@U!)ihI2SGKR>V8p82cLM=bZ7tbO1_j$Ce;G-vo9(I{+IHxoP90mh!Qm# zss-!w1xs1TEsOEN=@(|ck2Bv_j{J_*y`1NIeZOI_X)2=5sV}>Ix8dzqeeqj++q+)X zmx1T)?6fLtJ2~<929;$7dnf&qsxSTao;#@Q!EUSH_o{2_yWXxg9u)U4mI@=C0ya3+ z1>&djIG;G)@oCSZdb)$-lb&#jwQ&FUFbW`l2RS$E2fk+3u0`Oia@|Pq ztn^-^e%92c?)`+bHhL`p&VrLQp07u-BwlIZH2w6P5Sbz&GL`OlcPaz?5T)^UweA#q z_E|NB@Y(y-DgoY3HN_Hsy5I1hTCT@-E#o7y1duoLQcE5us(0Aad`3D(2 zX7HF77!<(MnCv+a$FPEK4Zxs6*9r=E8Ur5{RRaQEih}6JNL8Rx6MDnN^Co{+?0eC( zE`E>~$I7@FCcTTQq>EevSloHEfn1Wq#kt~{f9&?Uu7f`2Z{ekKeCXBOy3KHz)k@dx!&>TiwREdA*G%-1wsmH9*5>k$Q$EAM+0=q7r&wHv79E7j5w7%{(B^ZS zj7QeVWA!BfaOqoPcS7jUhi+j+j@trixlRN7TUN$!?*t_0N?@xLl`)dzfGcCb#>|y5 zg1Wn+i~+l3D?nw81lIE)I)r9AuH!G&?eUUfgr9ZDDSJJA1=LPJU$pD0zaLery@elF zbJNj#)!g)#Ppi4|uiBM3u|jPu$7vjs74B~keG8OE2#@Y>C$)!_# z9g&w?fH+AH^}^SahzU+O_CCZA;t5Mt2ysS47*4(`=m0{);}lKmqM})gXNvO$w15O+ z$LPf&={eJ5uLo<7U@SQ_&W%oAqVJd-jle0>tBRS+un6uKy65q4sAKBY>q~55a}#sG ziAQ8AtT9CjdB0r+s1a9d9lPh;Kahmxf=Zx~g`Z;lHK05=Ov_eaS|*Hl210dh-G*~R z=&d)eXK{T54@Lo;{Uh83NE1$_v_|ZMJA>EV1__|Asy(o^wS?N$7C3m>Ef7S1zgr-4 zgHYcBLz2>tSG-0~bjOvjGbUAz4^W*E?V=;|`*anP-N37vMWHNUKn^*jKj&gi$62qN zR5^1Vzjnufr+xF?nhPJ(Xvuxq&ZjNAxrzBEYn)9hm&!$d%A>NM=waDs zr^f3#wPfg7aUDG{szBHAa+&LF3e>e^=&fK~Et9KiS>$%-;(`?VwX?mmN~fqfjD;F= z@m~6SfThK~pf6-403BLfXG+REBX~h|=Bx%FDyIRreABd0j|r1=Eue{;r2fN*v=FGm z2HGUsJE#u4@~w#uDezme`fZ!-&^PIJGwEb(*ooOm2MD;8k)XYjVd{dUF^Ms5j$=|}`W5d|sNJ%n0KySZ}<>e;p1&07)Fx7%#qQdj5k zfz@7$gZ^%#@}x8Gy*2h}%{A-{LZ$7s61w*))owK=Xoupas!O)6HhJbkX`PT;G4hp! zHW*Kmc;YA7yk^wve#kF6>JtFAZZfCvCFo9W>;@74WExr&-Rsv>4^b((zW>H+Y`s>E zq+-LXO?_B+PaiZ;kUqcud8G=W@HBLj*Q!o9(x(blMY9wGG}lRo;4R8<{R#&`DChAc zbfZ&MsldgrR1>X4xqCd?L4AZKuy3i0wCmT;F?>CaN~3?3W#-fP>SNWHp)}ezP}ghq zY$$5NX+|$BuUr$aCWr>{%2|D#4VPE@S_fgJcYCkjI~3g2NmyRzzHXq(7J75LR%!Ik z!FjRz1juhv^?r%sQqPZgCMh#XFiwcR2@`8i&DXU2||CO93eV4wFHeJrx z0Oxxz9#5t~upeO)HPx(q5FR5DulmR+%MQ>r7xp5*S4UQv(}OOc`*6u6ckedn7LcC3 z_skl4wG7R}099;i1w4K&tTv;NnQ4~9r@jIv-}AhJj3IrUx>~K4f$^#l>#jrI@4sDr z{q^BdHI4A(ezlR!7w=qVDuq-)d%rCth$s`KpO#!dVPkU_m77E~I+E%Yy;T@Sg}Vxa z^ed&O{bOax#8WC1xl<+JTall1q|HzDb+A^uenZ+>0O_=bXVis>YoY{}8x^+l060@L z#4yNn2aS_E)20!tt37;aKz5*+c|mT74k>gCNE)kLaD?6DkfDQD&P$euOq8?4#V7Jj z+$Y*>)nk3hErhP<&U0*T`qCwP(YZX(wfR*G>10U%?b@3oeM$Mk2QB~I2w<_J;a8OqdXJK@KaP4rn;svX4E=F0mnwiG9Vpxzw5%M6cA5>^x^KD3 z6OJu9wn}-J`QyiK0_UyMWPn$A<1$}!o6W`5b7QH(Ukfh~(Qt~^Nyb;`qOItX80GIP z?ufNS9maQB(t-11^fYCpvB5O2$DL#23=SH`7WNU%1ySY?F<4KrF4R-V^CMpCv3CKG zd=*ET8{%xhc%Gu!6YTZ;!_znnWh##*D$^251CH^XB=9~~rX`ca7v~GLeCX+}^mmO( zy7L=Shv-(`c$2fCqbyEf262gT8PNA8H|7M$namX<|K8DuA6Ud~Ya1aFDi)F4%F?^d z)ai4t)>G}^czAH0`U3=9R(ytWky6Nz_Xj1hxyBl){X&X^ay_=!Sno|`xZdh=dk1~o zWVPM)&JOnI6~-qQ7dIL>@*BFAd*}9T0}iH^B$TId39t#_H%L=~msfehQM`}yOy0M7LSiAO zMMw;x`bSS6!B=aP_yZ~8x{X#7!o#+_>wdu>J`cu|ILVG^wCRSkQF!nEC=%HQ!TCe_ zf_ZAwBs4digALgpyt9oT+*|}gcm@q_!Jp+1ct4<;A4TPcP>2rYQmUxf4f%-#b6V4; z2{pZ-YlP5wLB6GKF5)G7vE@fd_C;XN5Yrgcm-i@M}l0m%Al(7?9;TIO1Uq1-|n14kPb(FZP1PsZLc0<3OGL8pu?4NSCSV&X$ zHvA+(y;`6VRxLEfx|ayvqapGIdiCU{@R0kYsBr4WP%p!`07VG-tOe-RFiC^RS90w- z`Vm-Dg%1=Ack3p5P@U0SF^UsTF5DGgX;QOHjfxMnOJPX0%aW^Hg84)=QQ+?xf4sPm zPmXd55v>q&=o(Mm^X2#{K>QTx$~2_Ni+0pJLUOlSbqAh#n~DIF@0`$zq|P@Q2GWM_ zW)*$Py_Cc1%y>pw0QDj1bT~f$)y$0eLFvX7RmR0Cc}^$J^+bHDbg;TfMKwvWnoJ#!E`mLvSp>z#Nt0h;gT*QFh zRX%y@DDaFBN+f2kl6ZskBr&2N>>p7j3w_-R!E^r9&rq}RP zpV-9`&7UtW;8$)pY{7s{$?f2?iwjDi{fw|#5DB>x$*dUIk$}+(Myf_uYo$LNv|_ga z>YvMZKxQL2NpvNF7TJ3E{g`pGsT09TD#F@`2|gfO5+apDqH!2zA@o8CWn6+;^YeLx zBtTq=O3H|XjI*!8jA|Vdlr^rwbybM-@Vr*Qn5II7op{9`orVqlihfqu<@gHGt;{dy zto-8q63o=+S3`Q;l`1$tR;q#n;mg;E@Ea*6A*JR^bhg@pVDd^$l;HQ}Z2^i>EojhX zwXHG>S!%R^5cDR?m}#}tYdzY5D(9cGNsoMI;p{}-J%k-_283ryR2y`I$WPEbk~Fl)f=}4$aigik zQ9jNUX(zs5@C#tK!Z@!8DZvLbf_7=nA*MUY6Yh} zHohU^K&`8y>;+!Nzwyn(vTKN>6zL|EOySD6bvA-%cd$;>JibKKylTdv@XA732j$YO ziT^g*@3Jf&4nzM5ylawq;h372DMLK^$SW`-)Ouwwyk{|0A>AnQ&&uYU@ySw}S(hrG z^1M_lmbpB$m|31_<=VwYpyHs@jtaV%jh3TE2aY?UFupF^O-WGU;%Ic7JJN1zWJZ z#;P^0xoX9s3uW*((DiF|v3s>PHTmwnVj!2-BF0oPTr}MRq`B6m_~+FgL*9B&t@v<% zjlJ;$zuHFY;a;_(#1H4y3K!3s)%M9BuL&}6a#~Gsc<0qF&cnD8NV3`XI>$Bn{YBH> zX_kR#S$CJ@;VXeZEXzVdsT9;BL#@^oM{YjP4ND%GWewXZiL+tIa2LLX`$ojP5CN<^ zA``i}9sA=rnb(1kpBSWrZ=Cpmwu_lg61RWq0~O74z=1d|W}p=DQS`2qL8kIdnVXhs zpcMYmN0eLqI!SmU&meEJ3t40$&jM@?kk(l_Q=ZJT0ayu(IVdInh*Gd(20DT1ms8-Q zRK8)kjv*2ZvXOK;nS}GkRn_op_Ep)g(<7iEuaO0~ifiPGlWSyJnS#n(jceq&a{Oo4 z=r-v-T$ShQfpJ>Am`kLsHJK5r>SztdUCr^hhx{1IyD`rAk!&33Z}cCK#gF1MKe^|k zM2O@?g%tERpk&Ij9^Z*{`HA!_M!5uG{$r?O=Qg@RiKEu+Ge((dyMlJFHu$`ERko^&0Hp$7N|3OVx zu;8A+I0-U?oOL%*Vo7#-7>M2P^VIAR(hiLdPZxGRMQ;?+Gai`@X6!VGyiU9XN~IuG zLjmZ;MMIN=Qd_p3kk(?B0i%d^BlO$snVl&nBCs!AQLaWl;Tmk(O&?vA#+uNH;=HJh zQgrojTbiqpBcf_IC*=^L@jAgAy18_@OO$RRpPZ1c36_OGDts~IjYU*8Z|A{Ffels0 zP|C7Bx#M#3^f*Dw_AHk+$H#8(j)QCLxVaeFttS z&~AbHaYg92*)#JnEj*W}0?r=`gvmHsWH|z465%qA?|P_>kQd_^E!WLr8q#7MGqD^8 zNlh+^OqjwK%n%t6>N5%0nSk9)f@j7dFyla$aX8APn%Eg-6~L`m4nZPmE8)DIU|C7F zAjzBREHeoe<*Ezoqd^$M=4!Uvw|r%9l&3`qQ%Y${f8hlM%0ke>ZZ2H>6X2hCX}(zF zR#w?|{nE>trro@qtB@VSP%+?}X76R*M&qVo;`>pjVD!a5oM3GDg5eiWcf-lZcfL>2%vxsNsoh1Vk&|sER>tR=*2L#hNRtRNZkfzo